:root{font-family:system-ui,Segoe UI,sans-serif;color-scheme:dark;--ink:#e9f3fd;--muted:#a9bed3;--line:#2b4a68;--cyan:#71d9ff;background:#08192b;color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 12% 8%,#17497680,transparent 55%),radial-gradient(ellipse at 95% 90%,#12607235,transparent 50%),#08192b}main{width:min(1020px,calc(100% - 32px));margin:0 auto;padding:50px 0 70px}.login-card{max-width:650px;margin:auto;background:linear-gradient(150deg,#143451ed,#0e233bef);border:1px solid var(--line);border-radius:22px;padding:36px;box-shadow:0 24px 80px #0004}.logo{width:min(280px,80%);height:auto;margin:0 0 26px}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:700;color:var(--cyan)}h1{font-size:clamp(32px,5vw,44px);margin:8px 0 14px}h2{font-size:24px}p{line-height:1.6}.intro{color:var(--muted);font-size:17px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.button,button{font:inherit;border:1px solid #476d91;padding:11px 16px;border-radius:10px;display:inline-block;color:var(--ink);background:#173c5e;cursor:pointer;text-decoration:none}.primary{background:linear-gradient(140deg,#1473b2,#12578b);border-color:#3aa6dd}.button:hover,button:hover{filter:brightness(1.2)}button:disabled{opacity:.5;cursor:wait}a{color:var(--cyan)}a:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}.note{font-size:13px;color:var(--muted)}#status{overflow-wrap:anywhere;padding:12px 15px;background:#071a2a8f;border-left:3px solid #53cfff;border-radius:5px}#status[data-error=true]{border-left-color:#ff9fa9;color:#ffd0d5}#signed-in{font-size:14px;color:#d4eafa}.overview{margin:36px auto 0}.apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.app{border:1px solid var(--line);border-radius:16px;padding:24px;background:#112b45}.app h3{margin-top:0;font-size:20px}.app .meta{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.rights{font-size:13px;color:#c3d9eb;overflow-wrap:anywhere}.app .button{margin-top:10px}[hidden]{display:none!important}@media(max-width:600px){main{padding-top:22px}.login-card{padding:24px}.apps{grid-template-columns:1fr}}

/* Signed-in application header: logo without card, account buttons top right. */
body[data-authenticated=true] main{width:calc(100% - 48px);padding-top:24px}
body[data-authenticated=true] .login-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;max-width:none;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;align-items:start}
body[data-authenticated=true] .login-card .logo{grid-column:1;grid-row:1;margin:0}
body[data-authenticated=true] .login-intro,body[data-authenticated=true] .login-note{display:none}
body[data-authenticated=true] #account-actions{grid-column:2;grid-row:1;justify-content:flex-end;margin:0}
body[data-authenticated=true] #signed-in{grid-column:1 / -1;grid-row:2;margin:18px 0 0}
body[data-authenticated=true] #status{grid-column:1 / -1;grid-row:3}
body[data-authenticated=true] .overview{max-width:1020px}
@media(max-width:600px){
  body[data-authenticated=true] main{width:calc(100% - 32px);padding-top:16px}
  body[data-authenticated=true] .login-card{grid-template-columns:minmax(0,1fr)}
  body[data-authenticated=true] #account-actions{grid-column:1;grid-row:2;margin-top:16px}
  body[data-authenticated=true] #signed-in{grid-row:3}
  body[data-authenticated=true] #status{grid-row:4}
}
/* Letter-hopping welcome ball, adapted from SSE. */
.login-intro{position:relative;isolation:isolate}
.login-bounce-word{white-space:nowrap}
.login-ball{position:absolute;top:0;left:0;width:14px;height:14px;border-radius:50%;pointer-events:none;opacity:0;background:radial-gradient(circle at 32% 26%,#fff 0%,#a5efff 28%,#55cbed 65%,#2583b8 100%);box-shadow:0 0 15px rgba(102,217,245,.5);will-change:transform;z-index:1}
.login-ball-trail{box-shadow:0 0 9px rgba(102,217,245,.22);z-index:0}
@media(prefers-reduced-motion:reduce){.login-ball{display:none}}
