.beta-access { box-sizing: border-box; width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 28px; border: 1px solid #d9dce2; border-radius: 28px; color: #172747; background: #f5f3ec; box-shadow: 0 20px 90px #17274726; font: inherit; }
.beta-access::backdrop { background: #f5f3ecd9; backdrop-filter: blur(6px); }
.beta-access-mascot { position: relative; width: 92px; height: 122px; overflow: hidden; margin: 0 auto 18px; }
/* The original sprite stays intact; its white lettering sits above this viewport. */
.beta-access-mascot img { position: absolute; display: block; width: 122px; height: auto; max-width: none; left: -23px; top: -53px; }
.beta-access h1 { font-size: 25px; line-height: 1.2; letter-spacing: -.03em; margin: 0 0 10px; }
.beta-access p { font-size: 14px; line-height: 1.55; }
.beta-access-tabs { display: flex; gap: 8px; margin: 22px 0; }
.beta-access-tabs button { flex: 1; padding: 10px; border: 1px solid #d4d9e4; border-radius: 12px; background: transparent; color: inherit; font: inherit; font-size: 12px; cursor: pointer; }
.beta-access-tabs button[aria-pressed=true] { color: var(--blue, #214be4); border-color: #8da7ec; background: #e8edfc; }
.beta-access label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.beta-access input { box-sizing: border-box; width: 100%; padding: 14px; border: 1px solid #c4cbd6; border-radius: 14px; font: inherit; font-size: 16px; background: #fff; color: #172747; }
.beta-access input:focus-visible { outline: 2px solid var(--blue, #214be4); outline-offset: 2px; }
.beta-access button:focus-visible, .beta-access summary:focus-visible { outline: 2px solid var(--blue, #214be4); outline-offset: 3px; }
.beta-access .beta-access-help { margin: 9px 0 16px; font-size: 12px; color: #6c7281; }
.beta-access-enter { width: 100%; padding: 14px; border: 0; border-radius: 14px; color: white; background: var(--blue, #214be4); font: inherit; font-weight: 600; cursor: pointer; }
.beta-access button:disabled { opacity: .6; cursor: wait; }
.beta-access .beta-access-status { min-height: 22px; margin-bottom: 8px; font-size: 13px; }
.beta-access details { border-top: 1px solid #d9dce2; padding-top: 15px; margin-top: 4px; }
.beta-access summary { font-size: 12px; color: #6c7281; cursor: pointer; }
.beta-access details p { font-size: 12px; }
@media (max-width: 400px) { .beta-access { padding: 22px; } }
