:root{--bg: #f7f7f5;--surface: #ffffff;--text: #1a1a1a;--muted: #6b6b6b;--line: #e2e2df;--accent: #2b6cb0;--block: #4a5568;--long: #c05621;--certain: #1a1a1a;--uncertain: #8a6d00;--outside: #b0b0b0;--warn: #b45309;--radius: 10px}@media (prefers-color-scheme: dark){:root{--bg: #16171a;--surface: #1f2024;--text: #ececec;--muted: #9a9a9a;--line: #33343a;--accent: #63b3ed;--block: #7d8aa0;--long: #ed8936;--certain: #ececec;--uncertain: #d8b846;--outside: #5a5a5a;--warn: #f0b060}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 system-ui,-apple-system,Hiragino Kaku Gothic ProN,sans-serif}#app{max-width:720px;margin:0 auto;padding:16px}.topbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px}button{font:inherit;cursor:pointer;border-radius:var(--radius);border:1px solid var(--line);padding:8px 14px;background:var(--surface);color:var(--text)}button.primary{background:var(--accent);color:#fff;border-color:transparent}button.ghost{background:transparent}button:focus-visible,.tl-block:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pickrow{margin:12px 0}.pickrow input[type=file]{display:none}.picker{display:inline-block;padding:10px 16px;border:1px dashed var(--line);border-radius:var(--radius);cursor:pointer;background:var(--surface)}.timeline{width:100%;height:48px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--line)}.tl-grid{stroke:var(--line);stroke-width:1}.tl-block{fill:var(--block)}.tl-long{fill:var(--long)}.tlaxis{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:4px 2px 12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0 16px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px;text-align:center}.mv{font-size:18px;font-weight:700}.ml{font-size:12px;color:var(--muted)}.threshold{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.threshold .slider{flex:1;min-width:140px}.muted{color:var(--muted)}.warn{color:var(--warn);font-size:13px}.hint{color:var(--muted);font-size:13px}.blocks{display:flex;flex-direction:column;gap:2px;margin:8px 0 16px}.block{display:grid;grid-template-columns:48px 52px 64px 1fr;gap:8px;padding:6px 8px;border-radius:6px;align-items:baseline}.block:hover,.block.sel{background:var(--surface)}.block .t{color:var(--muted);font-variant-numeric:tabular-nums}.block .d{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.block .code{font-size:12px;font-weight:700;letter-spacing:.02em}.block .code .auto{font-weight:600;color:var(--muted);font-size:11px}.fulltext{margin:12px 0}.fulltext summary{cursor:pointer;font-weight:600}.seg{display:grid;grid-template-columns:48px 1fr 64px;gap:8px;padding:3px 0;font-size:14px}.seg .t{color:var(--muted);font-variant-numeric:tabular-nums}.seg .cf{color:var(--muted);font-size:12px;text-align:right}.seg-certain .txt{color:var(--certain)}.seg-uncertain .txt{color:var(--uncertain)}.seg-outside .txt{color:var(--outside)}.profile{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.profile h3,.profile h4{margin:12px 0 6px}table.codes{width:100%;border-collapse:collapse;font-size:14px}table.codes th,table.codes td{text-align:left;padding:4px 6px;border-bottom:1px solid var(--line)}table.codes td:nth-child(2),table.codes td:nth-child(3),table.codes td:nth-child(4){font-variant-numeric:tabular-nums}.ref{color:var(--muted);font-size:13px}.disclaimer{color:var(--muted);font-size:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px}.actions{display:flex;gap:8px;margin:16px 0}.banner{background:var(--accent);color:#fff;padding:8px 12px;border-radius:var(--radius);margin-bottom:10px;font-size:14px}.hlist{display:flex;flex-direction:column;gap:6px}.hrow{display:grid;grid-template-columns:1fr auto auto 20px;gap:10px;text-align:left;padding:10px 12px}.hrow .hr,.hrow .hb{font-variant-numeric:tabular-nums;color:var(--muted)}.flag{color:var(--warn)}@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important}}
