:root{color-scheme:dark;--bg:#101b20;--panel:#17272d;--ink:#ece7d9;--muted:#aebbb9;--gold:#d4b77e;--line:#365057}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.8 'Microsoft YaHei',sans-serif}header{display:flex;align-items:center;gap:12px;padding:14px 4vw;border-bottom:1px solid var(--line);flex-wrap:wrap}.brand{color:var(--gold);text-decoration:none;font-weight:bold;margin-right:auto}.brand small{font-size:12px;margin-left:15px;letter-spacing:2px}button,.file-button,select{font:inherit;color:var(--ink);background:#20363d;border:1px solid var(--line);border-radius:5px;padding:9px 15px;cursor:pointer}button:hover,.file-button:hover{border-color:var(--gold);background:#2c454c}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.5;cursor:default}button[aria-current=true]{border-color:var(--gold);color:var(--gold)}.file-button input{width:100px;font-size:12px}.layout{display:grid;grid-template-columns:270px minmax(0,1fr);max-width:1460px;margin:auto;min-height:85vh}aside{padding:35px 26px;border-right:1px solid var(--line)}aside button,nav button{display:block;width:100%;text-align:left;margin:9px 0}main{padding:40px 5vw;min-width:0}h1,h2,h3{font-family:Georgia,'Songti SC','SimSun',serif;line-height:1.4}h1{font-size:36px}h2{font-size:30px;margin-top:0}.eyebrow{letter-spacing:3px;color:var(--gold);font-size:12px}.muted,small{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:15px}.card,.speech{background:var(--panel);border:1px solid var(--line);padding:22px;border-radius:7px;margin:14px 0}.speech{border-left:3px solid var(--gold)}.portrait{width:min(100%,330px);aspect-ratio:1;background-size:300% 300%;border-radius:6px;border:1px solid var(--line);margin:18px 0}.intro{display:grid;grid-template-columns:minmax(160px,300px) 1fr;gap:30px;align-items:center}.scene{width:100%;max-height:430px;object-fit:contain;background:#e9e3d4;border-radius:6px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.actions button{max-width:100%;text-align:left}.checks{display:grid;gap:8px;margin:20px 0}.checks label{padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:5px}.checks input{width:20px;height:20px;vertical-align:middle;margin-right:12px}dialog{background:var(--bg);color:var(--ink);border:1px solid var(--gold);border-radius:8px;width:min(900px,94vw);max-height:90vh;padding:25px}dialog::backdrop{background:#000b}#close{position:sticky;top:0;float:right;z-index:1}#modal-body{clear:both;padding-top:20px}#status{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);background:#29454c;padding:8px 20px;border-radius:5px;max-width:94vw;z-index:5}#status:empty{display:none}table{border-collapse:collapse;width:100%}td,th{padding:8px;border-bottom:1px solid var(--line);text-align:left}.feedback{color:var(--gold)}hr{border:0;border-top:1px solid var(--line);margin:25px 0}summary{cursor:pointer;color:var(--gold)}@media(max-width:700px){header{gap:7px;padding:12px}header>span{display:none}header button,.file-button{font-size:14px;padding:6px}.layout{display:block}aside{padding:18px;border-right:0;border-bottom:1px solid var(--line)}aside h1{margin:8px 0;font-size:28px}nav{display:flex;gap:7px;overflow:auto}nav button{width:auto;white-space:nowrap}aside>button{display:inline-block;width:auto;margin-right:5px}main{padding:24px 18px}.intro{display:block}.portrait{max-width:260px}.cards{grid-template-columns:1fr}dialog{padding:16px}h2{font-size:26px}}
