:root{color-scheme:dark;--bg:#101514;--paper:#f0eee3;--muted:#a7b4ac;--line:#33403a;--accent:#d9fa78;--other:#a5c8ff;font:15px/1.45 system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--paper);height:100dvh;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button,select{background:#1d2823;border:1px solid #526258;border-radius:5px;padding:8px 12px;cursor:pointer}button:hover{border-color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.45;cursor:wait}a{color:inherit;text-underline-offset:4px}button.primary{background:var(--accent);color:#152012;border-color:var(--accent);font-weight:750}button.active,[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}header{height:59px;display:flex;align-items:center;gap:20px;padding:0 22px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-weight:800;letter-spacing:.12em;font-size:12px}header h1{font-size:18px;margin:0;letter-spacing:.08em}header .tag{color:var(--muted);font-size:12px}header nav{margin-left:auto;display:flex;gap:13px;font-size:12px}main{height:calc(100dvh - 59px);display:grid;grid-template-columns:350px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 146px}.work{padding:20px;overflow:auto;border-right:1px solid var(--line)}.eyebrow{font:11px monospace;letter-spacing:.12em;color:var(--accent);margin:0 0 9px}h2{font-size:24px;line-height:1.12;margin:0 0 12px}p{margin:7px 0 14px}label{display:block;color:var(--muted);font-size:12px;margin:13px 0 5px}textarea{resize:vertical;width:100%;min-height:105px;max-height:200px;padding:12px;background:#080e0b;border:1px solid #647266;border-radius:5px;line-height:1.5}select{width:100%}.row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.row>*{flex:1}.row button{white-space:nowrap}.row.compact{margin:10px 0}.row.compact label{margin:0}.row.compact input{width:100%}input[type=range]{accent-color:var(--accent)}.subtle{font-size:12px;color:var(--muted)}.stage{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;background:#050807}.screen{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.screen video{width:100%;height:100%;object-fit:contain}.screen .hud{position:absolute;top:15px;left:18px;right:18px;display:flex;justify-content:space-between;font:11px monospace;pointer-events:none;text-shadow:0 1px 3px black}.hud span{background:#0a100dcc;padding:5px 8px;border-radius:3px}.caption{position:absolute;bottom:20px;left:5%;right:5%;text-align:center;font-size:clamp(17px,2vw,28px);line-height:1.3;text-shadow:0 2px 4px black;pointer-events:none}.caption span{background:#080c0bc9;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:2px 8px}.center{position:absolute;text-align:center;max-width:80%;padding:20px;background:#101514ed;border:1px solid var(--line);border-radius:7px}.center h2{font-size:22px}.center[hidden]{display:none}.transport{display:flex;gap:10px;align-items:center;padding:10px 16px;border-top:1px solid var(--line)}.transport input{flex:1;min-width:40px}.transport time{font:12px monospace;white-space:nowrap}.reading{padding:12px 18px;min-height:87px;border-top:1px solid var(--line);font-size:13px}.reading strong{color:var(--accent)}.reading p{margin:3px 0}.strip{grid-column:1/-1;border-top:1px solid var(--line);padding:10px 18px;min-width:0}.striphead{display:flex;align-items:center;justify-content:space-between;gap:10px;font:11px monospace;color:var(--muted);margin-bottom:7px}.timeline{display:flex;gap:7px;overflow:auto;height:101px}.node{padding:0;display:flex;min-width:155px;max-width:230px;text-align:left;flex:1;background:#17221c;overflow:hidden}.node img{width:70px;object-fit:cover}.node .info{padding:8px;font-size:11px}.node b{display:block;font:12px monospace;color:var(--accent)}.node small{display:block;color:var(--muted);margin-top:5px}.panelnav{display:flex;margin:14px 0 10px;gap:6px}.panelnav button{font-size:12px;padding:6px 9px}.panel[hidden]{display:none}.palette{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.palette button{padding:6px 1px;font:12px monospace}.palette .selected{background:var(--accent);color:#14200c}.candidate{display:flex;gap:8px;border-bottom:1px solid var(--line);padding:8px 0}.candidate img{width:65px;height:48px;object-fit:cover}.candidate button{padding:3px 7px;font-size:11px}.candidate p{font-size:12px;margin:0 0 4px}.notice{border-left:2px solid var(--accent);padding-left:10px;font-size:12px}.error{color:#ffb5a0}dialog{background:#15201a;color:var(--paper);border:1px solid var(--line);border-radius:9px;max-width:680px;max-height:85dvh;padding:25px}dialog::backdrop{background:#000a}dialog .close{float:right}.compare{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compare>div{padding:12px;border:1px solid var(--line)}.compare p{overflow-wrap:anywhere;font-size:13px}.hidden{display:none!important}#status{font-size:11px;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toggles{display:flex;gap:15px;margin-top:9px}.toggles label{margin:0;display:flex;align-items:center;gap:6px}.empty{font-size:13px;color:var(--muted)}
@media(max-width:760px){header{height:45px;padding:0 12px;gap:12px}header h1{font-size:14px}header .tag{display:none}header nav{gap:9px}main{height:calc(100dvh - 45px);grid-template-columns:1fr;grid-template-rows:220px minmax(0,1fr) 112px}.work{padding:10px 12px;border-right:0;border-bottom:1px solid var(--line)}.work>h2,.work>.eyebrow{display:none}.work textarea{min-height:55px;height:55px;max-height:85px;font-size:16px}.work>label{margin-top:0}.panelnav{margin:8px 0}.panelnav button{padding:4px 9px}.work .panel label{margin-top:6px}.work .panel .row.compact{margin:5px 0}.stage{grid-template-rows:minmax(0,1fr) 47px 60px}.transport{padding:6px 10px;gap:6px}.transport button{padding:6px 9px}.reading{padding:5px 12px;min-height:0;overflow:auto;font-size:11px}.screen .hud{top:5px;left:6px;right:6px;font-size:9px}.caption{bottom:9px;font-size:17px}.strip{padding:7px 10px}.timeline{height:78px}.node{min-width:145px}.node img{width:48px}.node .info{padding:5px}.striphead{margin-bottom:4px}.compare{grid-template-columns:1fr}.palette{grid-template-columns:repeat(9,1fr)}}
@media(max-height:620px) and (min-width:761px){main{grid-template-rows:minmax(0,1fr) 110px}.timeline{height:76px}.work{padding:10px 16px}.reading{min-height:65px}textarea{min-height:65px}}
