:root{color-scheme:light;--login-bg:#fff;--login-header:#f5f8f7;--login-ink:#101d25;--login-muted:#748291;--login-border:#d6dee2;--login-field:#fff;--login-accent:#168365;--login-button:#13382c}
html[data-theme=dark]{color-scheme:dark;--login-bg:#171e21;--login-header:#141b1e;--login-ink:#edf5f2;--login-muted:#a8b5bd;--login-border:#40504e;--login-field:#1d282a;--login-accent:#70d9b5;--login-button:#236b52}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{background:var(--login-bg);color:var(--login-ink);-webkit-text-size-adjust:100%}[hidden]{display:none!important}button,input{font:inherit}a{color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--login-accent);outline-offset:4px}.login-header{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 12px;background:var(--login-header);border-bottom:1px solid var(--login-border)}.login-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-size:clamp(24px,1.8vw,32px);font-weight:750;letter-spacing:-.8px;white-space:nowrap}.login-brand svg{width:44px;height:44px;flex:none}.login-brand em{font-style:normal;color:var(--login-accent)}.login-nav{display:flex;align-items:center;gap:28px;padding-right:4vw;font-size:16px}.login-nav a{min-height:44px;display:flex;align-items:center;text-decoration:none}.login-nav a:hover{text-decoration:underline;text-underline-offset:5px}.login-nav i{width:6px;height:6px;border-radius:50%;background:#299b79}.login-layout{display:grid;grid-template-columns:53.3% 46.7%;min-height:calc(100svh - 76px)}.login-scene{position:relative;isolation:isolate;overflow:hidden;min-height:680px;background:#10291f}.login-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.login-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,29,21,.23),transparent 80%);z-index:-1}.login-copy{padding:clamp(56px,6vw,120px) clamp(32px,5vw,96px)}.login-copy h1{color:#fff;font-size:clamp(40px,4.45vw,84px);line-height:1.12;letter-spacing:-2px;font-weight:750;margin:0;max-width:650px}.login-copy h1 span{color:#6dd8b5}.login-copy p{font-size:clamp(18px,1.6vw,30px);line-height:1.5;color:#bdc8c2;margin-top:24px}.login-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:64px clamp(24px,5vw,96px) 28px;min-width:0}.login-content{width:100%;max-width:600px}.login-heading{text-align:center;margin-bottom:40px}.login-heading h2{font-size:clamp(26px,2.2vw,42px);line-height:1.2;letter-spacing:-1px;margin:0;font-weight:750}.login-heading p{font-size:clamp(16px,1.2vw,22px);color:var(--login-muted);margin:16px 0 0}.login-label{display:block;font-size:16px;font-weight:500;margin:16px 0 10px}.login-input-wrap{position:relative}.login-input-wrap svg{position:absolute;width:24px;height:24px;left:22px;top:50%;transform:translateY(-50%);pointer-events:none}.login-input{display:block;width:100%;min-width:0;height:60px;border:1px solid var(--login-border);border-radius:10px;background:var(--login-field);color:var(--login-ink);padding:14px 18px;font-size:16px}.login-input::placeholder{color:var(--login-muted)}.login-input-wrap .login-input{padding-left:62px}.login-button{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;min-height:62px;padding:14px 20px;border:1px solid var(--login-button);border-radius:12px;text-decoration:none;cursor:pointer;font-size:18px;font-weight:600;background:var(--login-button);color:white;margin-top:22px}.login-button:hover{filter:brightness(1.09)}.login-button svg{width:24px;height:24px;flex:none}.login-button:disabled{opacity:.6;cursor:wait}.login-divider{display:flex;align-items:center;gap:20px;margin:26px 0;color:var(--login-muted);font-size:16px}.login-divider:before,.login-divider:after{content:"";height:1px;flex:1;background:var(--login-border)}.login-guest{background:transparent;color:var(--login-accent);border-color:var(--login-accent);margin-top:0}.login-guest-note{text-align:center;font-size:15px;color:var(--login-muted);margin:22px 0 0}.login-footer{display:flex;justify-content:center;gap:18px;color:var(--login-muted);font-size:14px;min-height:44px;align-items:center;margin-top:56px}.login-footer a{text-decoration:none;padding:12px 0}.login-footer a:hover{text-decoration:underline}.login-status{font-size:15px;line-height:1.5;overflow-wrap:anywhere;margin:20px 0 0}.login-status:empty{display:none}.login-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;background:transparent;border:0;padding:8px 0;color:var(--login-muted);cursor:pointer}.account-tabs{display:flex;gap:8px;margin:14px 0 20px}.account-tabs button{flex:1;min-height:44px;border:1px solid var(--login-border);border-radius:9px;background:transparent;color:var(--login-ink);cursor:pointer}.account-tabs [aria-pressed=true]{border-color:var(--login-accent);background:color-mix(in srgb,var(--login-accent) 10%,transparent)}#accountFormTitle{font-size:24px;margin:0 0 24px}.password-field{display:flex;gap:8px}.password-field input{flex:1}.password-field button{min-width:65px;border:1px solid var(--login-border);border-radius:10px;background:transparent;color:var(--login-ink);cursor:pointer}.account-help{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin-top:18px}.account-help button{border:0;background:transparent;min-height:44px;padding:6px 0;color:var(--login-accent);font-size:14px;cursor:pointer}.account-help button:hover{text-decoration:underline}#accountPasswordHint{font-size:14px;line-height:1.5;color:var(--login-muted)}#accountSignedIn{text-align:center}#accountSignedIn h3{font-size:24px}#accountIdentity{overflow-wrap:anywhere;color:var(--login-muted)}#accountSignout{min-height:44px;border:0;background:transparent;color:var(--login-accent);margin-top:16px;cursor:pointer}
@media(min-width:1700px){.login-panel{padding-top:90px}.login-footer{margin-top:64px}.login-input{height:64px}.login-button{min-height:70px;font-size:22px}.login-label{font-size:18px}.login-guest-note{font-size:18px}}
@media(max-width:1000px){.login-layout{grid-template-columns:46% 54%}.login-scene{min-height:620px}.login-copy{padding:64px 32px}.login-copy h1{font-size:44px;letter-spacing:-1.5px}.login-panel{padding:48px 28px 24px}.login-heading h2{font-size:28px}.login-brand{font-size:25px}.login-brand svg{width:36px;height:36px}.login-nav{gap:18px}}
@media(max-width:700px){.login-header{height:68px;padding:0 10px;gap:12px}.login-brand{font-size:23px;gap:8px}.login-brand svg{width:32px;height:32px}.login-nav{gap:12px;padding:0;font-size:13px}.login-nav i{display:none}.login-layout{display:block;min-height:calc(100svh - 68px)}.login-scene{display:none}.login-panel{padding:56px 24px 24px;min-height:calc(100svh - 68px)}.login-content{max-width:460px}.login-heading{margin-bottom:36px}.login-heading h2{font-size:28px;letter-spacing:-.7px}.login-footer{margin-top:40px}.login-button{font-size:17px}.login-input{font-size:16px}}
@media(max-width:360px){.login-nav{gap:9px;font-size:12px}.login-brand{font-size:20px;gap:6px}.login-brand svg{width:28px;height:28px}.login-panel{padding-inline:18px}.login-heading h2{font-size:25px}}

/* Login polish: readable secondary text, calm controls, and compact small screens. */
:root{--login-muted:#61717e}
html[data-theme=dark]{--login-muted:#afbec5}
.login-panel{padding-top:clamp(36px,5vh,64px)}
.login-content{max-width:540px}
.login-scene{min-height:calc(100svh - 76px)}
.login-input{transition:border-color .16s ease,box-shadow .16s ease}
.login-input:hover{border-color:#9aaea7}
.login-input:focus{border-color:var(--login-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--login-accent) 12%,transparent);outline-offset:2px}
.login-button{transition:background-color .16s ease,border-color .16s ease,transform .16s ease}
.login-button:active{transform:translateY(1px)}
.login-guest:hover{background:color-mix(in srgb,var(--login-accent) 5%,transparent);filter:none}
.login-nav a{padding:0 4px;border-radius:6px}
.login-status{padding:12px 14px;border-radius:9px;background:color-mix(in srgb,var(--login-accent) 7%,var(--login-bg))}
.login-content.credentials-open .login-heading{margin-bottom:20px}
.login-content.credentials-open .login-heading h2{font-size:clamp(26px,2.1vw,36px)}
.login-content.credentials-open #accountFormTitle{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.login-content.credentials-open .login-footer{margin-top:28px}
@media(min-width:701px) and (max-height:800px){.login-panel{padding-block:36px 24px}.login-heading{margin-bottom:30px}.login-footer{margin-top:32px}.login-copy{padding-top:72px}}
@media(min-width:701px) and (max-width:1000px){.login-scene{min-height:calc(100svh - 76px)}.login-copy h1{font-size:clamp(34px,4.3vw,44px)}.login-copy{padding-inline:28px}.login-panel{padding-inline:28px}.login-heading h2{font-size:26px}}
@media(max-width:700px){.login-panel{padding:40px 24px max(24px,env(safe-area-inset-bottom));justify-content:center}.login-header{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.login-heading{margin-bottom:30px}.login-heading h2{font-size:clamp(25px,6.5vw,28px);line-height:1.25}.login-heading p{line-height:1.5;margin-top:12px}.login-footer{margin-top:32px}.login-content.credentials-open .login-heading{margin-bottom:14px}.login-content.credentials-open .login-heading h2{font-size:26px}.account-help{gap:0 14px}.login-button{min-height:56px}.login-input{height:56px}.login-guest-note{font-size:14px;line-height:1.5;margin-top:18px}}
@media(max-width:700px) and (max-height:700px){.login-panel{padding-top:24px;justify-content:flex-start}.login-heading{margin-bottom:24px}.login-footer{margin-top:22px}.login-divider{margin-block:22px}}
@media(max-width:360px){.login-panel{padding-inline:18px}.login-nav{gap:5px}.login-nav a{padding-inline:3px}.login-heading h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.login-input,.login-button{transition:none}.login-button:active{transform:none}}
