*{box-sizing:border-box} :root{color-scheme:light dark;--ink:#202435;--muted:#737b8e;--accent:#3478f6;--card:rgba(255,255,255,.66);--line:rgba(97,119,159,.15);--input:rgba(255,255,255,.54)}
html{height:100%;overflow:hidden;background:#eef2fb}body{margin:0;height:100vh;height:100dvh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC",sans-serif;background:radial-gradient(ellipse at 12% 30%,#c3d5fa 0,transparent 52%),radial-gradient(ellipse at 55% 95%,#e4d5f7 0,transparent 50%),radial-gradient(ellipse at 85% 20%,#e2f1f7 0,transparent 45%),#f3f5fa;overflow:hidden}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.5}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}input:focus,select:focus{outline:3px solid #3478f62b;border-color:var(--accent)}
.site-header{padding:20px clamp(24px,4vw,72px);display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:13px;align-items:center;color:var(--ink);font-size:14px;letter-spacing:1.8px;font-weight:650;line-height:1.3}.brand:hover{text-decoration:none}.brand small{display:block;font-weight:450;letter-spacing:2px;font-size:12px;margin-top:5px;color:var(--muted)}.header-link{font-size:14px}
.auth-layout{width:min(1440px,92%);min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,460px);gap:clamp(28px,5vw,88px);align-items:center;margin:0 auto;padding:8px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.3px;color:var(--muted);margin:0 0 20px}
.glass-panel{grid-column:2;width:100%;max-height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;padding:28px 32px;border:1px solid #fffc;background:var(--card);border-radius:30px;box-shadow:0 25px 90px #5271aa19,inset 0 1px 0 #fff;backdrop-filter:blur(36px) saturate(135%);-webkit-backdrop-filter:blur(36px) saturate(135%);overflow-wrap:anywhere}h2,.glass-panel h1{font-size:29px;line-height:1.35;letter-spacing:-.6px;margin:0 0 12px;font-weight:650}.glass-panel .eyebrow{margin-bottom:14px;font-size:10px}.subtitle{color:var(--muted);font-size:14px;margin:0 0 18px}.glass-panel form{margin-top:16px}label{display:block;font-size:13px;font-weight:550;margin-bottom:8px;color:var(--muted)}input:not([type=hidden]):not([type=checkbox]),select{width:100%;min-height:50px;border:1px solid var(--line);background:var(--input);border-radius:13px;color:var(--ink);padding:12px 14px;font-size:16px}input::placeholder{color:#949cad}input[type=checkbox]{margin-right:8px}button,.button{min-height:48px;padding:12px 18px;border-radius:14px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;gap:12px;color:var(--ink);background:var(--input);font-weight:550;text-decoration:none;font-size:14px}button:hover,.button:hover{text-decoration:none;filter:brightness(1.04)}.primary{width:100%;margin-top:16px;background:var(--accent);color:#fff;border:1px solid #ffffff26;box-shadow:0 6px 18px #3478f624}.primary span{margin-left:auto}.secondary{width:100%;background:var(--input)}.divider{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:12px;margin:18px 0 14px}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--line)}.help{font-size:12px;color:var(--muted);margin:14px 0 0;text-align:center}.signup-link{font-size:13px;text-align:center;margin:18px 0 0;color:var(--muted)}.service-note{padding:12px 14px;background:#dba64d12;border:1px solid #dba64d3b;border-radius:12px;font-size:13px;color:#82612e;margin:14px 0}.errorlist{color:#cf3c4f;font-size:13px;list-style:none;padding:0;margin:8px 0}.messages{font-size:13px;background:var(--input);border-radius:14px;padding:14px 14px 14px 28px;list-style:disc}.site-footer{text-align:center;color:var(--muted);font-size:11px;letter-spacing:.8px;padding:12px 16px max(14px,env(safe-area-inset-bottom))}.glass-panel hr{border:0;border-top:1px solid var(--line);margin:24px 0}.glass-panel table{font-size:12px;width:100%;border-collapse:collapse}.glass-panel th,.glass-panel td{text-align:left;border-bottom:1px solid var(--line);padding:10px 5px}.glass-panel table button,.glass-panel table a{font-size:12px;min-height:36px}.glass-panel [type=submit]{margin-right:6px}.glass-panel ul:not(.errorlist):not(.messages){padding-left:20px}.account-email{color:var(--muted);font-size:14px}.badges{display:flex;gap:8px}.badges span{border:1px solid var(--line);border-radius:100px;font-size:11px;padding:3px 10px;color:var(--muted)}.account-options{margin:28px 0}.account-options>a{display:flex;justify-content:space-between;align-items:center;color:var(--ink);padding:14px 2px;border-bottom:1px solid var(--line);font-size:14px}.account-options small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.footer-actions{display:flex;justify-content:space-between;font-size:12px;margin-top:24px}.danger{color:#d1495b}.danger-button{background:#be354b}.member-list form{border-bottom:1px solid var(--line);padding-bottom:20px}.member-list button{margin-top:10px}
@media(prefers-color-scheme:dark){:root{--ink:#edf0fa;--muted:#a2aabd;--accent:#7da9ff;--card:rgba(30,37,56,.68);--line:rgba(180,195,230,.15);--input:rgba(255,255,255,.045)}html{background:#101522}body{background:radial-gradient(ellipse at 12% 30%,#1f3357 0,transparent 52%),radial-gradient(ellipse at 55% 95%,#302443 0,transparent 50%),#101522}.glass-panel{border-color:#c2d5ff24;box-shadow:0 25px 90px #0004,inset 0 1px 0 #ffffff20}.primary{background:#356ad7;color:#fff}.service-note{color:#e7c78f}.glass-orbit{border-color:#fff3;background:linear-gradient(135deg,#ffffff22,#e6eafe08);box-shadow:inset 0 2px 2px #fff3,0 24px 80px #0003}.glass-orbit span{text-shadow:none;color:#9fb2ffa8}.glass-orbit i{border-color:#fff2}.danger{color:#ff99a8}.danger-button{background:#be354b}}

/* Desktop-only, locally hosted CC0 day/night landscapes. */
@media(min-width:761px){body{background-image:none}body::before{content:"";position:fixed;--landscape-shift:4vw;inset:-16px calc(-16px - var(--landscape-shift));z-index:0;pointer-events:none;background:url("snow-day.jpg") center/cover no-repeat;transform:translateX(var(--landscape-shift))}.site-header,.auth-layout,.site-footer{position:relative;z-index:1}.site-footer{color:#4b5364;text-shadow:0 1px 2px #ffffff80}}
/* Center both scenes, then offset visually right; extra horizontal overscan prevents gaps. */
@media(min-width:761px) and (prefers-color-scheme:dark){body::before{background-image:url("snow-night.jpg");background-position:center;transform:translateX(var(--landscape-shift)) scaleX(-1)}}
.login-panel{padding:34px}.login-panel h2{font-size:30px;margin-bottom:24px}.login-panel form{margin-top:22px}.login-panel label{margin-bottom:10px}.login-panel input:not([type=hidden]){min-height:54px}.login-panel button{min-height:52px}.login-panel .primary{margin-top:20px}.login-panel .divider{margin:22px 0}.login-panel .signup-link{margin-top:22px}
@media(max-width:760px),(max-width:1024px) and (hover:none) and (pointer:coarse){.site-header{padding:16px 20px}.brand{font-size:12px}.brand img{width:34px;height:34px}.brand small{font-size:11px}.header-link{font-size:12px}.auth-layout{display:flex;align-items:center;width:min(100% - 32px,450px);padding:6px 0}.glass-panel{padding:26px 24px;border-radius:26px}.glass-panel h1,h2{font-size:27px}.glass-panel th,.glass-panel td{overflow-wrap:anywhere}.site-footer{padding-top:8px}}
@media(max-height:700px){.site-header{padding-top:12px;padding-bottom:12px}.glass-panel{padding:20px 24px}.glass-panel .eyebrow{margin-bottom:8px}.glass-panel h1,h2{font-size:25px;margin-bottom:8px}.subtitle{margin-bottom:12px}.glass-panel form{margin-top:12px}.service-note{margin:10px 0;padding:9px 12px}.divider{margin:12px 0}.help{margin-top:10px}.signup-link{margin-top:12px}.site-footer{padding-top:8px;padding-bottom:max(10px,env(safe-area-inset-bottom))}}
@media(max-height:580px){.site-header{padding-top:8px;padding-bottom:8px}.glass-panel{padding:16px 20px}.glass-panel .eyebrow{margin-bottom:4px}.glass-panel form{margin-top:8px}input:not([type=hidden]):not([type=checkbox]),select{min-height:44px;padding:9px 12px}button,.button{min-height:44px;padding:9px 14px}.primary{margin-top:12px}.service-note{font-size:12px;margin:8px 0;padding:8px 10px}.help{font-size:11px;margin-top:8px}.signup-link{margin-top:10px}.site-footer{font-size:10px;padding-top:6px;padding-bottom:max(8px,env(safe-area-inset-bottom))}}

@media(max-width:760px),(max-width:1024px) and (hover:none) and (pointer:coarse){body{background-image:none}.login-panel{padding:30px 26px}.login-panel h2{font-size:28px}}
@media(max-height:700px){.login-panel{padding:26px}.login-panel h2{margin-bottom:18px}.login-panel form{margin-top:16px}.login-panel .divider{margin:18px 0}.login-panel .signup-link{margin-top:18px}}
@media(max-height:580px){.login-panel{padding:20px}.login-panel h2{font-size:25px;margin-bottom:14px}.login-panel input:not([type=hidden]){min-height:46px}.login-panel button{min-height:46px}.login-panel .primary{margin-top:14px}.login-panel .divider{margin:14px 0}.login-panel .signup-link{margin-top:14px}}

/* Reserve header space while the brand is being designed. */
.brand{visibility:hidden;pointer-events:none}
@media(max-width:760px),(max-width:1024px) and (hover:none) and (pointer:coarse){body::before{display:none}}
