:root{--ink:#233e4b;--muted:#647a85;--blue:#286479;--line:#d5e0e6;--bg:#edf3f6}*{box-sizing:border-box}html,body{margin:0;height:100%;font:14px/1.55 "Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink);background:#fff}body{display:flex;flex-direction:column}header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px;border-bottom:1px solid var(--line);flex:none}.eyebrow{font-size:11px;color:var(--blue);letter-spacing:.1em;margin:0 0 3px}h1{font:600 23px/1.4 "Noto Serif SC","SimSun",serif;margin:0}button{font:inherit;color:var(--blue);background:#fff;border:1px solid #b5c9d3;border-radius:5px;padding:7px 11px;cursor:pointer}button:hover:not(:disabled){background:#e6f0f4}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #bf741b;outline-offset:3px}button[aria-pressed=true]{background:#d0e7ed;border-color:var(--blue)}nav{display:flex;align-items:center;gap:7px;padding:9px 20px;border-bottom:1px solid var(--line);flex:none}nav button{font-size:13px;padding:7px 14px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 246px;flex:1;min-height:0}main{position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--bg)}canvas{width:100%;height:100%;display:block;touch-action:none}aside{overflow:auto;padding:18px 16px;border-left:1px solid var(--line)}h2{font-size:18px;margin:0 0 8px}#view-note{font-size:13px;color:var(--muted);margin:0 0 15px}.concrete{font-size:13px;display:flex;gap:8px;align-items:center;padding:10px 0;border-block:1px solid var(--line)}input[type=checkbox]{accent-color:var(--blue);width:16px;height:16px;margin:0}.small{font-size:11px}.muted{color:var(--muted)}.legend-row{display:grid;grid-template-columns:18px minmax(0,1fr) 36px;align-items:center;gap:6px;margin:10px 0}.legend-row label{font-size:12px;display:flex;align-items:center;gap:7px;cursor:pointer}.swatch{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--kind);flex:none}.legend-row button{font-size:10px;padding:4px 3px}.legend-row input{accent-color:var(--kind)}#detail{font-size:12px;color:var(--muted);min-height:40px;border-top:1px solid var(--line);padding-top:12px;margin-top:15px;white-space:pre-line}#focus{font-size:12px;width:100%}details{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}summary{color:var(--blue);cursor:pointer;font-weight:600}#cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#edf3f6;padding:20px;z-index:4}#cover p{font-size:20px;font-family:"SimSun",serif;line-height:1.7}#cover small{font-size:11px;color:var(--muted);margin-top:12px}#cover.hidden{display:none}#load{font-size:17px;padding:11px 25px}#status{position:absolute;top:10px;left:12px;background:#ffffffe6;border-radius:4px;padding:4px 8px;font-size:11px;pointer-events:none;margin:0;z-index:5}.hint{position:absolute;bottom:8px;left:8px;right:8px;text-align:center;font-size:11px;color:var(--muted);pointer-events:none;margin:0}#leaders,#labels{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}#labels .scene-label{position:absolute;padding:4px 7px;font-size:11px;font-weight:500;white-space:nowrap;background:#fffffff0;border:1px solid var(--kind);border-radius:3px;color:var(--kind);box-shadow:0 1px 4px #1837440d}.scene-label[hidden]{display:none}#leaders line{stroke-width:1.25}#leaders circle{stroke:#fff;stroke-width:1}
.case-links{display:flex;gap:13px;margin-top:6px;font-size:11px}.case-links a{color:var(--blue);text-decoration:none}.case-links a:hover{text-decoration:underline}.case-links span{color:var(--muted)}.view-tools{margin:0 0 14px;padding:11px 0;font-size:12px}.explode-label{display:flex;justify-content:space-between;margin:14px 0 6px;color:var(--ink)}#explode{width:100%;accent-color:var(--blue);margin:4px 0}#explode-note{line-height:1.6}.view-buttons,.selection-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px}.view-buttons button,.selection-tools button{padding:6px 3px;font-size:11px}#focus{width:auto}.view-buttons{margin-top:10px}
@media(max-width:760px){html,body{height:auto;min-height:100%}header{padding:11px 12px;gap:8px}h1{font-size:18px}.eyebrow{font-size:10px}header button{font-size:10px;padding:7px}nav{padding:8px 12px;gap:6px}nav button{padding:7px 11px;font-size:12px}.layout{display:flex;flex-direction:column}.layout main{height:62svh;min-height:410px;flex:none}aside{padding:14px 17px;border-left:0;border-top:1px solid var(--line);overflow:visible}#legend{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.legend-row{grid-template-columns:18px minmax(0,1fr);gap:5px}.legend-row button{grid-column:2;width:max-content;margin-left:17px}.legend-row label{font-size:11px}.hint{font-size:9px}#labels .scene-label{font-size:9px;padding:3px 5px}#cover p{font-size:17px}#cover small{max-width:250px}#status{font-size:10px}.case-links{gap:10px;font-size:10px}.view-buttons{grid-template-columns:repeat(4,1fr)}.selection-tools{grid-template-columns:1fr 1fr}}
