:root{color-scheme:dark;--bg:#10221c;--surface:#193329;--active:#527e66;--text:#e8eee9;--muted:#a6b8ad;--border:#345245}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;background:#0c1914;color:var(--text);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
main{width:min(100% - 64px,1200px);margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0}
.brand{display:block;line-height:0}.brand img{display:block;width:156px;height:auto}.tag{font-size:12px;color:var(--muted);padding:7px 12px;border:1px solid var(--border);border-radius:6px}
.entry-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:32px;align-items:start}.scene{position:relative;min-height:570px;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--bg)}
.scene-art{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:44% center}.intro{position:absolute;bottom:0;left:0;right:0;background:var(--bg);padding:28px 30px}.intro p:last-child{margin-bottom:0;color:var(--muted);font-size:15px;max-width:410px}
.eyebrow{font-size:11px;font-weight:750;letter-spacing:.13em;color:var(--muted);margin:0 0 10px}h1{font-size:clamp(30px,3vw,40px);line-height:1.12;letter-spacing:-.035em;margin:0;font-weight:720}h2{font-size:25px;line-height:1.2;letter-spacing:-.025em;margin:25px 0 7px}h3{font-size:14px;margin:0 0 6px}
.panel{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:0 8px 24px #0002}.panel>p.muted{margin:0 0 20px}.entry-content{min-width:0}
fieldset{border:0;padding:0;margin:0;min-width:0}label{display:block;font-size:14px;font-weight:600;margin-top:17px}input{display:block;width:100%;margin:7px 0 0;padding:11px 13px;border:1px solid var(--border);border-radius:7px;background:#0b1b14;color:var(--text);font:inherit;min-height:46px}
input:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #91baa1;outline-offset:3px}input[type=range]{padding:0;accent-color:#80a58d;min-height:30px}small,.muted{color:var(--muted);font-size:13px}small{display:block;margin-top:5px;line-height:1.45}input[aria-invalid=true]{border-color:#c58c75}
button,.link{font:inherit;font-size:14px;font-weight:650;border-radius:7px;min-height:46px;padding:11px 16px;cursor:pointer;transition:background-color .15s,transform .1s,border-color .15s;border:1px solid var(--border);text-decoration:none}
button:active,.link:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--active);border-color:#739880;color:var(--text);box-shadow:0 3px 0 #07150d}.primary:hover{background:#608b73}.secondary{background:var(--surface);color:var(--text)}.secondary:hover{background:#254638;border-color:#638772}
#auth-submit{width:100%;margin-top:24px;min-height:50px;font-size:16px}.tabs{display:flex;gap:4px;background:#0a1a12;padding:4px;border-radius:9px}.tabs button{flex:1;padding:9px 6px;background:transparent;color:var(--muted);border:1px solid transparent;min-height:42px}.tabs [aria-pressed=true]{background:var(--surface);color:var(--text);border-color:#527e66;box-shadow:0 2px 4px #0003}
.password-field{position:relative}.password-field input{padding-right:100px}.password-toggle{position:absolute;right:3px;top:3px;bottom:3px;min-height:40px;padding:6px 10px;background:var(--surface);color:var(--text);font-size:12px;border:0}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.section-head h2{margin:0;overflow-wrap:anywhere}.section-head p{margin:6px 0 0}.section-head button{flex-shrink:0}.ready-note{margin:26px 0 10px;color:var(--muted);font-size:14px}.play{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:56px;font-size:20px;padding:12px 20px}.play span{font-size:25px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:24px 0 14px}.stats div{padding:12px 9px;background:var(--surface);border:1px solid var(--border);border-radius:8px}dt{font-size:11px;color:var(--muted)}dd{margin:4px 0 0;font-size:20px;font-weight:650;font-variant-numeric:tabular-nums}
.profile-settings{margin-top:20px;border-top:1px solid var(--border)}summary{padding:18px 0 4px;font-size:14px;font-weight:650;cursor:pointer}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}output{font-size:12px;color:var(--muted)}#saved{margin-bottom:0}
#notice{border:1px solid #729482;border-radius:8px;padding:12px 16px;background:var(--surface);font-size:14px;margin:0 0 14px}#notice[data-error=true]{border-color:#987862;background:#2e281f;color:#eee2d7}#boot-state{color:var(--muted);font-size:14px;margin:0 0 12px}aside{padding:22px 4px 0;color:var(--muted);font-size:13px}aside h3{color:var(--text)}aside p{margin:0;max-width:450px}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #233b30;margin-top:28px;padding:19px 0 24px;font-size:11px;color:var(--muted)}
@media(min-width:821px){.scene{position:sticky;top:20px}}
@media(max-width:1000px){main{width:calc(100% - 40px)}.entry-grid{gap:22px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.intro{padding:22px}.panel{padding:20px}.stats{grid-template-columns:1fr 1fr}}
@media(max-width:820px){main{max-width:520px}.entry-grid{grid-template-columns:1fr;gap:20px}.scene{min-height:0;border:0;background:none}.scene-art{display:none}.intro{position:static;padding:8px 0 0;background:none}.intro p:last-child{font-size:14px;margin-top:10px}.intro .eyebrow{display:none}h1{font-size:30px}header{padding:18px 0}.brand img{width:130px}.tag{font-size:11px}.panel{padding:20px}.entry-content{padding:0}footer{flex-wrap:wrap;gap:5px;margin-top:20px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:400px){main{width:calc(100% - 28px)}.stats{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}.actions button{width:100%}.tabs button{font-size:13px}.panel{padding:16px}}
@media(prefers-reduced-motion:reduce){button,.link{transition:none}}
