/* Centered sign-in glass panel over the generated standing R artwork. */
#startPage {
 min-height:100svh;
 padding:40px 24px;
 display:grid;
 place-items:center;
 isolation:isolate;
 position:relative;
 background:#030705 url('assets/ruslt-standing-r.png') center / cover no-repeat;
}
#startPage::before {
 content:"";
 position:absolute;
 inset:0;
 z-index:-1;
 background:linear-gradient(90deg,rgba(0,5,3,.2),rgba(0,5,3,.08) 55%,rgba(0,5,3,.25));
}
#startPage .start-center {
 width:100%;
 max-width:430px;
 margin:0;
 padding:56px 36px 32px;
 border:1px solid rgba(166,226,189,.24);
 border-radius:18px;
 background:linear-gradient(140deg,rgba(14,31,22,.76),rgba(3,10,6,.84));
 box-shadow:0 24px 90px rgba(0,0,0,.35),inset 0 1px 0 rgba(203,255,225,.04);
 -webkit-backdrop-filter:blur(18px);
 backdrop-filter:blur(18px);
 text-align:center;
}
#startPage .start-logo {display:block;width:64px;height:72px;object-fit:contain;margin:0 auto 17px;transform:none;filter:none}
#startPage h1 {font-family:'DM Sans',sans-serif;font-size:23px;font-weight:500;line-height:1.4;letter-spacing:.28em;text-indent:.28em;color:#ecf9f0;margin:0 0 44px}
#startPage .login-option {min-height:60px;padding:16px 20px;gap:16px;border:1px solid #adf4d0;border-radius:11px;background:linear-gradient(115deg,#baf9db,#a2edc8);color:#062117;font-size:14px;font-weight:500;box-shadow:0 2px 18px rgba(116,241,179,.09);transition:background .15s,box-shadow .15s,transform .15s}
#startPage .login-option:hover:not(:disabled) {background:#ceffe6;box-shadow:0 4px 25px rgba(116,241,179,.2);transform:translateY(-1px)}
#startPage .login-option:focus-visible {outline:2px solid #edfff5;outline-offset:5px}
#startPage .login-option:disabled {opacity:.65;cursor:wait}
#startPage .login-icon,#startPage .login-arrow {width:22px;height:22px;flex-shrink:0;opacity:1}
#startPage .login-arrow {margin-left:auto}
#startPage .auth-status {font-size:12px;line-height:1.5;color:#adc7b8;min-height:18px;margin:16px 0 0}
@media(max-width:600px) {
 #startPage {padding:24px 20px;background-position:center}
 #startPage .start-center {max-width:390px;padding:44px 24px 24px;border-radius:16px}
 #startPage h1 {margin-bottom:36px}
 #startPage .login-option {padding:16px;gap:12px}
}
@media(prefers-reduced-motion:reduce) {#startPage .login-option {transition:none}}
/* Sign-in palette: preserve the artwork, soften it under an ivory light surface. */
#startPage {
 --start-overlay:linear-gradient(90deg,rgba(0,5,3,.2),rgba(0,5,3,.08) 55%,rgba(0,5,3,.25));
 --start-panel:linear-gradient(140deg,rgba(14,31,22,.76),rgba(3,10,6,.84));
 --start-border:rgba(166,226,189,.24);
 --start-title:#ecf9f0;
 --start-muted:#adc7b8;
 --start-shadow:0 24px 90px rgba(0,0,0,.35),inset 0 1px 0 rgba(203,255,225,.04);
}
:root[data-theme=light] #startPage {
 --start-overlay:linear-gradient(115deg,rgba(242,248,241,.93),rgba(223,239,226,.72) 50%,rgba(246,249,242,.93));
 --start-panel:linear-gradient(140deg,rgba(255,255,252,.88),rgba(235,246,237,.94));
 --start-border:rgba(47,91,64,.25);
 --start-title:#183b29;
 --start-muted:#506a59;
 --start-shadow:0 24px 90px rgba(27,65,42,.16),inset 0 1px 0 rgba(255,255,255,.7);
}
#startPage::before{background:var(--start-overlay)}
#startPage .start-center{background:var(--start-panel);border-color:var(--start-border);box-shadow:var(--start-shadow)}
#startPage h1{color:var(--start-title)}
#startPage .auth-status{color:var(--start-muted)}
#startPage .login-option:focus-visible{outline-color:var(--start-title)}
#startPage .start-theme-control{position:absolute;top:max(24px,env(safe-area-inset-top));right:max(28px,env(safe-area-inset-right));z-index:1}
#startPage .start-theme-control .theme-orb{width:40px;height:40px}
:root[data-theme=light] #startPage .start-logo{background:#123622;border:1px solid rgba(30,79,48,.2);border-radius:12px;padding:9px;width:64px;height:72px}
@media(max-width:600px){#startPage{padding-top:84px;padding-bottom:64px}#startPage .start-theme-control{top:20px;right:20px}}
