:root { color-scheme: dark; }
.orbunity-gate { min-height:100dvh; box-sizing:border-box; background:#000; color:#eff4ef; display:grid; place-items:center; padding: max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom)); font-family:system-ui,sans-serif; }
.orbunity-gate[hidden], #orbunity-content[hidden] { display:none!important; }
.orbunity-login { width:min(100%,420px); text-align:center; }
.orbunity-login h1 { color:#e2c86c; font-size:clamp(28px,7vw,38px); margin:0 0 16px; }
.orbunity-login p { line-height:1.55; color:#c5cec7; }
.orbunity-login button, .orbunity-login input { box-sizing:border-box; width:100%; min-height:48px; border-radius:14px; padding:12px 16px; font:inherit; }
.orbunity-login button { border:1px solid #637569; background:#2c3e32; color:#fff; margin-top:12px; cursor:pointer; }
.orbunity-login button:disabled { opacity:.55; cursor:wait; }
.orbunity-login button:focus-visible,.orbunity-login input:focus-visible { outline:3px solid #e2c86c; outline-offset:3px; }
.orbunity-login input { color:#fff; background:#1e2821; border:1px solid #637569; margin-top:10px; }
.orbunity-login label { display:block; text-align:left; }
.orbunity-login form label:not(:first-child) { margin-top:18px; }
.orbunity-login .orbunity-field-hint { font-size:13px; text-align:left; margin:8px 0 0; }
.orbunity-login .orbunity-text-button { border-color:transparent; background:transparent; margin-top:4px; color:#e2c86c; }
.orbunity-login small { display:block; line-height:1.5; color:#aebdb2; margin-top:22px; }
.orbunity-google { display:inline-block; margin-right:12px; font-weight:700; font-size:20px; }
.orbunity-login [role=alert] { color:#ffc4bd; }
/* Also hide dialogs and other app surfaces mounted outside the main content. */
.orbunity-session-locked body > :not(#orbunity-gate) { display: none !important; }
.orbunity-gate { align-content:center; gap:28px; }
.orbunity-gate a,.orbunity-app-links a { color:#e2c86c; text-underline-offset:4px; }
.orbunity-gate a:focus-visible { outline:3px solid #e2c86c; outline-offset:4px; }
.orbunity-about { display:none; width:min(100%,580px); text-align:center; color:#bdc8bf; }
.orbunity-gate-welcome .orbunity-about { display:block; }
.orbunity-about h2 { font-size:20px; color:#eef3ef; margin:0; }
.orbunity-about p { line-height:1.6; }
.orbunity-gate footer,.orbunity-app-links { display:flex; justify-content:center; flex-wrap:wrap; gap:4px 18px; font-size:13px; max-width:600px; margin:0 auto; }
.orbunity-gate footer a,.orbunity-app-links a { padding:10px 0; }
.orbunity-app-links { margin-top:28px; }
