:root{color-scheme:dark;--bg:#000;--bg2:#0d1013;--bg3:#181c21;--line:#ffffff1f;--text:#e8eaed;--muted:#9aa3ad;--faint:#5f6873;--accent:#2f6fa8;--accent2:#4d8fd0;--ok:#3fb27f;--warn:#e0b04a;--bad:#e5645a}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 Arial,Helvetica,sans-serif}
a{color:var(--accent2)}button{font:inherit}
.top{display:flex;align-items:baseline;gap:14px;padding:10px 18px;border-bottom:1px solid var(--line);background:var(--bg2)}
.brand{color:var(--text);text-decoration:none;font-weight:700;font-size:18px;letter-spacing:.01em}.sub{color:var(--muted);font-size:13px}.grow{flex:1}
#who{color:var(--muted);font-size:13px}#who button{margin-left:10px}
main{max-width:1500px;margin:0 auto;padding:16px 18px 30px}.pad{padding:20px}
.foot{color:var(--faint);font-size:11px;text-align:center;padding:12px 0 18px}
.muted{color:var(--muted)}.small{font-size:12.5px}
.btn{background:var(--accent);color:#fff;border:0;border-radius:6px;padding:8px 16px;cursor:pointer;text-decoration:none;display:inline-block}
.btn:hover{background:var(--accent2)}.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}.btn.ghost:hover{background:var(--bg3)}
.btn.flag{background:#5a3b12;border:1px solid #a8742a}.btn.flag.on{background:#a8742a}
.card{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:16px}
.signin{max-width:440px;margin:40px auto}.signin label{display:block;margin:10px 0 4px;color:var(--muted);font-size:13px}
.signin input[type=text],.signin input[type=email]{width:100%;padding:8px 10px;border-radius:6px;border:1px solid var(--line);background:var(--bg3);color:var(--text)}
.chk{display:flex;gap:8px;align-items:flex-start;margin:10px 0;font-size:13px;color:var(--muted)}
.msg{margin-top:12px;padding:8px 10px;border-radius:6px;background:#10261b;border:1px solid #1f5c3d}.msg.err{background:#2a1212;border-color:#6b2a2a}
.stats{display:flex;gap:14px;margin:4px 0 16px;flex-wrap:wrap}.stat{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:10px 16px;min-width:150px}
.stat b{display:block;font-size:24px}.stat span{color:var(--muted);font-size:12.5px}
.bar{height:4px;background:var(--bg3);border-radius:2px;overflow:hidden;margin-top:6px}.bar i{display:block;height:100%;background:var(--accent)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.tile{display:block;text-decoration:none;color:var(--text);background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.tile:hover{border-color:var(--accent)}.tile h3{margin:0 0 2px;font-size:15px}.tile p{margin:0;color:var(--muted);font-size:12.5px}
.tile .tags{margin-top:6px;display:flex;gap:6px}.tag{font-size:11px;padding:1px 6px;border-radius:9px;border:1px solid var(--line);color:var(--muted)}
.tag.done{border-color:#1f5c3d;color:#7fd6a8}.tag.flg{border-color:#a8742a;color:#f0c27a}
.steps{display:flex;gap:6px;margin:0 0 12px;font-size:13px}.steps span{padding:3px 10px;border-radius:12px;border:1px solid var(--line);color:var(--faint)}.steps span.on{color:#fff;border-color:var(--accent);background:#2f6fa833}
.casehead{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:10px}.casehead h2{margin:0;font-size:20px}
.stem{font-size:16px}.stem b{color:#fff}
.read-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}
@media (max-width:1000px){.read-layout{grid-template-columns:1fr}}
.viewer-wrap{background:#000;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.viewer-wrap iframe{display:block;width:100%;height:min(78vh,820px);border:0;background:#000}
.phase{display:flex;gap:6px;align-items:center;padding:6px 8px;border-bottom:1px solid var(--line);background:var(--bg2);font-size:13px;flex-wrap:wrap}
.phase button{background:var(--bg3);border:1px solid var(--line);color:var(--text);border-radius:5px;padding:3px 10px;cursor:pointer}.phase button.on{background:var(--accent);border-color:var(--accent)}
.phase .detail{color:var(--faint);font-size:12px}
.form h3{margin:0 0 8px;font-size:16px}.vrow{margin:0 0 12px}.vrow .vn{font-weight:700;margin-bottom:4px}
.opts{display:flex;flex-wrap:wrap;gap:5px}.opts label{cursor:pointer}.opts input{position:absolute;opacity:0;pointer-events:none}
.opts span{display:inline-block;padding:4px 9px;border-radius:5px;border:1px solid var(--line);background:var(--bg3);font-size:13px}
.opts input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}.opts input:focus-visible+span{outline:2px solid var(--accent2)}
.legend{font-size:12px;color:var(--faint);margin:6px 0 12px}
.slides{display:flex;flex-direction:column;gap:16px}
.slide{position:relative;width:100%;max-width:1100px;margin:0 auto;background:#000;border:1px solid var(--line);border-radius:6px;overflow:hidden;container-type:inline-size}
.slide>*{position:absolute}.slide img,.slide video{object-fit:contain;width:100%;height:100%}
.slide .tx{white-space:pre-wrap;color:#fff;font-size:2.15cqw;line-height:1.18;overflow:visible}
.slide .tx.lbl{font-weight:700;color:#ff0;text-shadow:0 0 3px #000}
table.corr{border-collapse:collapse;width:100%;height:100%;table-layout:fixed;font-size:2.3cqw}
table.corr td{border:1px solid #fff;padding:.3em .4em;text-align:center;vertical-align:middle;white-space:pre-wrap;background:#1d3557;color:#fff}
table.corr tr:first-child td{background:#14213d}table.corr td:first-child{background:#14213d}
.cmp{border-collapse:collapse;width:100%;max-width:900px;font-size:15px}.cmp th,.cmp td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.cmp th{background:var(--bg3);font-size:13px;color:var(--muted)}.cmp td.v{font-weight:700;width:80px}
.g{display:inline-block;min-width:92px;padding:2px 8px;border-radius:5px;font-weight:700;font-size:13.5px}
.g-none{background:#1b3d2a;color:#8fe3b4}.g-nonob{background:#1b3d2a;color:#8fe3b4}.g-mild{background:#2b3d1b;color:#c8e38f}.g-moderate{background:#4a3a12;color:#f3cf72}
.g-severe{background:#4a1d17;color:#ff9c8f}.g-occluded{background:#3a0f2e;color:#f39bd8}.g-nondx{background:#2a2d33;color:#c3c8cf}.g-na{background:#2a2d33;color:#c3c8cf}
.orig{display:block;color:var(--faint);font-size:12px;margin-top:3px}.agree{font-size:12px;margin-top:3px;display:block}.agree.y{color:var(--ok)}.agree.n{color:var(--bad)}.agree.p{color:var(--warn)}
.note{background:#1a1d22;border:1px solid var(--line);border-radius:6px;padding:8px 10px;color:var(--muted);font-size:13px;max-width:900px;margin-top:10px}
.flagbox{margin-top:18px;max-width:900px}.flagbox textarea{width:100%;min-height:60px;margin:8px 0;background:var(--bg3);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:8px}
.nav{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
/* round 1 */
.brand .home-tag{font-weight:400;font-size:13px;color:var(--muted)}.brand:hover .home-tag{color:var(--text);text-decoration:underline}
.chrow{display:flex;align-items:center;gap:12px}.btn.slim{padding:4px 10px;font-size:13px}
.btn.danger{background:#8a2a2a}.btn.danger:hover{background:#a83232}
.confirm{margin-top:8px;padding:10px 12px;border-color:#a83232;flex-basis:100%}
.vrow.ramus{border-top:1px dashed var(--line);padding-top:10px}
tr.ramus.unscored td{opacity:.8}tr.ramus td.v .orig{font-weight:400}
/* publish: title slide */
.titleslide{max-width:1100px;margin:22px auto 0;padding:0 18px}.titleslide[hidden]{display:none}
.ts-in{position:relative;min-height:clamp(230px,34vw,410px);display:flex;flex-direction:column;justify-content:center;padding:28px 6%;background:radial-gradient(120% 140% at 0% 0%,#14213d 0%,#0d1013 55%,#000 100%);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.ts-in::after{content:"";position:absolute;right:-8%;top:-30%;width:46%;aspect-ratio:1;border-radius:50%;border:1px solid #2f6fa82b;box-shadow:0 0 0 38px #2f6fa80a,0 0 0 80px #2f6fa806}
.ts-kicker{margin:0 0 8px;color:var(--accent2);font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.ts-h{margin:0;font-size:clamp(34px,6vw,64px);line-height:1.05;letter-spacing:.005em;color:#fff}
.ts-sub{margin:10px 0 0;color:var(--muted);font-size:clamp(15px,1.9vw,20px)}
.ts-rule{width:64px;height:3px;background:var(--accent);border-radius:2px;margin:20px 0 16px}
.ts-auth{margin:0;color:var(--text);font-size:clamp(14px,1.6vw,17px)}.ts-lbl{display:block;color:var(--faint);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px}
.titleslide+main .signin{margin-top:22px}
