:root{color-scheme:light dark;--bg:#f6f8fb;--card:#fff;--fg:#172634;--muted:#536577;--line:#cfdae4;--accent:#136bb0;--soft:#e7f1fb}
@media(prefers-color-scheme:dark){:root{--bg:#0d131a;--card:#131e29;--fg:#e6edf3;--muted:#b3c3d0;--line:#344555;--accent:#78caff;--soft:#192f42}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.75 system-ui,-apple-system,'Noto Sans JP',sans-serif}main{max-width:1180px;padding:2rem 1.2rem 4rem;margin:auto}a{color:var(--accent);text-underline-offset:3px}h1{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.4;margin:.6rem 0}h2{margin-top:2.5rem;border-bottom:1px solid var(--line);padding-bottom:.35rem}h3{margin-top:1.5rem}p{max-width:100ch}nav{display:flex;flex-wrap:wrap;gap:.35rem 1.2rem;margin-bottom:1rem}.lead,.card{background:var(--card);padding:1.25rem;border:1px solid var(--line);border-radius:12px}.lead{border-left:5px solid var(--accent)}.eyebrow,.muted,figcaption{color:var(--muted)}.eyebrow{font-size:.85rem;letter-spacing:.07em}.audio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.player{background:var(--soft);padding:1rem;border-radius:8px}.player strong{display:block}.player audio{width:100%;margin-top:.5rem}.badge{display:inline-block;padding:.1rem .5rem;background:var(--soft);border-radius:6px;font-size:.85rem}details{margin:1rem 0;padding:.8rem 1rem;border:1px solid var(--line);border-radius:9px;background:var(--card)}summary{cursor:pointer;font-weight:600}figure{margin:1.25rem 0}.plot-scroll{overflow:auto;border:1px solid var(--line);border-radius:9px;background:var(--card)}.plot-scroll object{display:block;width:100%;min-width:900px;aspect-ratio:1280/1160;border:0}figcaption{font-size:.9rem;margin-top:.4rem}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:.88rem}th,td{border-bottom:1px solid var(--line);padding:.5rem;text-align:right;white-space:nowrap}th:first-child,td:first-child{text-align:left}thead th{background:var(--soft)}code{font-size:.9em;overflow-wrap:anywhere}.hash{font-size:.8rem;word-break:break-all}footer{margin-top:3rem;border-top:1px solid var(--line);padding-top:1rem}li{margin:.35rem 0}.note{font-size:.93rem;color:var(--muted)}@media print{body{background:#fff;color:#000}.plot-scroll object{min-width:0}.audio-grid{display:none}details{break-inside:avoid}}
