:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;--fb-bg:#fff;--fb-text:#000;--fb-hint:#707579;--fb-link:#2481cc;--fb-button:#2481cc;--fb-button-text:#fff;--fb-secondary-bg:#f1f1f4;--danger-bg:#fdecea;--danger-border:#d93025;--danger-text:#8c1d18;--caution-bg:#fff4d6;--caution-border:#c98a00;--caution-text:#5c3d00;--success:#2e9d4f;--c-bg:var(--tg-theme-bg-color,var(--fb-bg));--c-text:var(--tg-theme-text-color,var(--fb-text));--c-hint:var(--tg-theme-hint-color,var(--fb-hint));--c-link:var(--tg-theme-link-color,var(--fb-link));--c-button:var(--tg-theme-button-color,var(--fb-button));--c-button-text:var(--tg-theme-button-text-color,var(--fb-button-text));--c-field-bg:var(--tg-theme-secondary-bg-color,var(--fb-secondary-bg));font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-scheme=light]){--fb-bg:#17212b;--fb-text:#f5f5f5;--fb-hint:#708499;--fb-link:#6ab3f3;--fb-button:#5288c1;--fb-button-text:#fff;--fb-secondary-bg:#232e3c;--danger-bg:#ff5c5029;--danger-border:#ff6b5e;--danger-text:#ffb4ab;--caution-bg:#ffb80024;--caution-border:#f0b429;--caution-text:#ffd982;--success:#5fcf80}}:root[data-scheme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--fb-bg:#17212b;--fb-text:#f5f5f5;--fb-hint:#708499;--fb-link:#6ab3f3;--fb-button:#5288c1;--fb-button-text:#fff;--fb-secondary-bg:#232e3c;--danger-bg:#ff5c5029;--danger-border:#ff6b5e;--danger-text:#ffb4ab;--caution-bg:#ffb80024;--caution-border:#f0b429;--caution-text:#ffd982;--success:#5fcf80}:root[data-scheme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--c-bg);color:var(--c-text);overflow-wrap:break-word}.app{padding:16px;padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom))}.app h1{margin:0 0 16px;font-size:1.5rem}.app dl{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;display:grid}.app dt{color:var(--c-hint)}.app dd{margin:0}.page{width:100%;max-width:480px;padding:calc(20px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));margin:0 auto}.page--center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:60vh;display:flex}.page--center .button{max-width:320px}.status-title{margin:0;font-size:1.375rem;font-weight:700;line-height:1.3}.status-text{color:var(--c-hint);margin:0}.status-icon{border-radius:50%;place-items:center;width:56px;height:56px;font-size:1.75rem;font-weight:700;display:grid}.status-icon--success{background:var(--success);color:#fff}.spinner{border:3px solid var(--c-field-bg);border-top-color:var(--c-button);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.login-header{margin-bottom:16px}.login-eyebrow{color:var(--c-hint);margin:0;font-size:.875rem}.login-site{letter-spacing:-.01em;overflow-wrap:anywhere;margin:2px 0 8px;font-size:clamp(1.75rem,8vw,2.25rem);font-weight:800;line-height:1.15}.login-reason{margin:0 0 8px}.login-origin{color:var(--c-hint);margin:0;font-size:.875rem}.login-origin__value{color:var(--c-text);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9375rem;display:block}.login-origin__value--mismatch{color:var(--danger-text);font-weight:600}.warning{border:1px solid;border-left-width:4px;border-radius:10px;margin:0 0 12px;padding:12px 14px;font-weight:600;line-height:1.4}.warning--danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.warning--caution{background:var(--caution-bg);border-color:var(--caution-border);color:var(--caution-text)}.login-form{gap:16px;margin-top:8px;display:grid}.login-fieldset{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.field{gap:6px;display:grid}.field__label{font-size:.9375rem;font-weight:600}.field__input{border:1px solid var(--c-hint);background:var(--c-field-bg);width:100%;min-height:48px;color:var(--c-text);font:inherit;appearance:none;border-radius:10px;padding:12px 14px;font-size:16px;line-height:1.25}.field__input:focus{outline:2px solid var(--c-button);outline-offset:1px;border-color:var(--c-button)}.field__input:disabled{opacity:.6}.field__input:-webkit-autofill{-webkit-text-fill-color:var(--c-text);-webkit-box-shadow:0 0 0 1000px var(--c-field-bg) inset;box-shadow:0 0 0 1000px var(--c-field-bg) inset;caret-color:var(--c-text)}.field__input:-webkit-autofill:hover{-webkit-text-fill-color:var(--c-text);-webkit-box-shadow:0 0 0 1000px var(--c-field-bg) inset;box-shadow:0 0 0 1000px var(--c-field-bg) inset;caret-color:var(--c-text)}.field__input:-webkit-autofill:focus{-webkit-text-fill-color:var(--c-text);-webkit-box-shadow:0 0 0 1000px var(--c-field-bg) inset;box-shadow:0 0 0 1000px var(--c-field-bg) inset;caret-color:var(--c-text)}.notice{background:var(--danger-bg);color:var(--danger-text);border-radius:10px;margin:0;padding:10px 14px;font-weight:500}.login-actions{gap:10px;display:grid}.login-privacy{color:var(--c-hint);margin:20px 0 0;font-size:.8125rem}.button{width:100%;min-height:48px;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;border-radius:12px;padding:12px 16px;font-size:1rem;font-weight:600}.button--primary{background:var(--c-button);color:var(--c-button-text)}.button--secondary{background:var(--c-field-bg);color:var(--c-text)}.button:disabled{opacity:.55;cursor:default}.button:focus-visible{outline:2px solid var(--c-link);outline-offset:2px}@media (hover:hover){.button:not(:disabled):hover{filter:brightness(.95)}}.button:not(:disabled):active{filter:brightness(.9)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
