:root{--bg:#fbfaf7;--panel:#fff;--ink:#1d2433;--muted:#5d6577;--line:#e3e1da;--accent:#1f6f6b;--accent-ink:#fff;--accent-soft:#e3f0ee;--d:#8a5a00;--t:#1f6f6b;--x:#6b4aa0;--warn:#a1471b;--good:#2d7a3e;--chip:#f1efe8;--hero:#eef5f3;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#12151b;--panel:#191d25;--ink:#e6e8ee;--muted:#9aa2b2;--line:#2a303b;--accent:#5cc0b8;--accent-ink:#0f1a19;--accent-soft:#1d3533;--d:#e0a64a;--t:#5cc0b8;--x:#b597e8;--warn:#f08a5d;--good:#6fcf83;--chip:#232833;--hero:#16252a}}
*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:15px/1.55 var(--sans)}
a{color:var(--accent)}code,.mono{font-family:var(--mono);font-size:.88em}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:9;background:var(--panel);padding:6px 10px;border-radius:6px}
.top{position:sticky;top:0;z-index:6}
.bar{display:flex;gap:16px;align-items:center;padding:10px 20px;background:var(--panel);border-bottom:1px solid var(--line)}
.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);min-width:0}.mark{font-weight:700;font-size:21px;letter-spacing:-.02em}.sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.search{position:relative;flex:1;max-width:620px}.search input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit}
.hits{position:absolute;left:0;right:0;top:42px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.08);max-height:65vh;overflow:auto}
.hits a{display:flex;gap:10px;align-items:baseline;padding:8px 12px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}.hits a:hover,.hits a:focus{background:var(--accent-soft)}
.hits .k{font:600 10.5px var(--mono);text-transform:uppercase;color:var(--muted);min-width:42px}
.menu{display:none;margin-left:auto}
.tabs{display:flex;gap:2px;padding:0 14px;background:var(--panel);border-bottom:1px solid var(--line);overflow-x:auto}
.tabs a{padding:10px 12px;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap;font-weight:500}.tabs a:hover{color:var(--ink)}.tabs a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}
.shell{display:grid;grid-template-columns:1fr;min-height:calc(100vh - 160px)}.shell.with-tree{grid-template-columns:300px 1fr}
.tree{display:none;border-right:1px solid var(--line);padding:12px 8px 40px;overflow:auto;max-height:calc(100vh - 120px);position:sticky;top:120px;font-size:13.5px}.with-tree .tree{display:block}
.tree details{margin:2px 0}.tree summary{cursor:pointer;padding:4px 8px;border-radius:6px;font-weight:600}.tree summary:hover{background:var(--chip)}
.tree a{display:block;padding:3px 8px 3px 22px;color:var(--ink);text-decoration:none;border-radius:6px}.tree a:hover,.tree a.on{background:var(--accent-soft)}
.ax{display:inline-block;width:20px;text-align:center;font:600 11px var(--mono);border-radius:4px;color:#fff;margin-right:6px}.ax.D{background:var(--d)}.ax.T{background:var(--t)}.ax.X{background:var(--x)}
main{padding:28px 36px 60px;max-width:1120px;width:100%;margin:0 auto}.with-tree main{margin:0}main:focus{outline:none}
h1{font-size:28px;letter-spacing:-.015em;line-height:1.2;margin:.1em 0 .3em}h2{font-size:19px;margin:1.7em 0 .5em}h3{font-size:15px;margin:1.2em 0 .4em}
.lead{font-size:17px;color:var(--muted);max-width:780px}.muted{color:var(--muted)}.small{font-size:13px}
.hero{background:var(--hero);border:1px solid var(--line);border-radius:16px;padding:36px 36px 30px;margin-bottom:8px}.hero h1{font-size:36px;max-width:780px}.hero .lead{color:var(--ink);opacity:.85}
.ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.btn{display:inline-block;padding:10px 18px;border-radius:8px;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:600;border:1px solid var(--accent)}.btn.ghost{background:transparent;color:var(--accent)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:16px 0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.card h3{margin:.1em 0 .4em;font-size:16px}.card p{margin:.3em 0 .6em}
.from{font-size:11.5px;color:var(--muted)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:18px 0}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px;text-decoration:none;color:var(--ink)}a.tile:hover{border-color:var(--accent)}.tile b{display:block;font-size:24px}.tile span{color:var(--muted);font-size:13px}
.axes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.axcard{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--t);border-radius:10px;padding:14px}.axcard.D{border-left-color:var(--d)}.axcard.X{border-left-color:var(--x)}
.turns{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0}.turn{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px;font-size:13px}.turn b{display:block}
.turn.run{border-color:var(--accent)}.turn.ok{border-color:var(--good)}.turn.bad{border-color:var(--warn)}
.tablewrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px;background:var(--panel)}th,td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}th{background:var(--chip);font-weight:600}
.kv{display:grid;grid-template-columns:200px 1fr;gap:8px 16px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}
.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--chip);font:13px var(--mono);color:var(--ink);text-decoration:none;border:1px solid transparent}a.chip:hover,.chip.on{background:var(--accent-soft);border-color:var(--accent)}
button.chip{cursor:pointer;font:12.5px var(--sans)}
.badge{display:inline-block;padding:1px 8px;border-radius:999px;font:600 11.5px var(--sans);border:1px solid var(--line);color:var(--muted);white-space:nowrap}.badge.high{color:var(--warn);border-color:var(--warn)}.badge.medium{color:var(--d);border-color:var(--d)}.badge.low{color:var(--good);border-color:var(--good)}.badge.ok{color:var(--good);border-color:var(--good)}.badge.bad{color:var(--warn);border-color:var(--warn)}
.tier{margin:6px 0}.tier>span{display:inline-block;width:60px;color:var(--muted);font-size:13px}
.prose{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 16px}
.bars{display:grid;grid-template-columns:150px 1fr 60px;gap:4px 10px;align-items:center;font-size:13px}.bars .b{height:12px;border-radius:3px;background:var(--accent);opacity:.85}.bars .cls{color:var(--muted);font-size:12px}
.callout{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--panel);border-radius:8px;padding:12px 16px;margin:14px 0}.callout.warn{border-left-color:var(--warn)}
button{font:inherit;padding:9px 16px;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer}button.ghost{background:transparent;color:var(--accent)}button:disabled{opacity:.5;cursor:default}
input.text,textarea,select{width:100%;font:inherit;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}textarea{min-height:140px;font:13px var(--mono)}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row>input.text{flex:1;min-width:200px;width:auto}
.dtabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 14px}.dtabs a{padding:7px 12px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--ink);background:var(--panel)}.dtabs a.on{border-color:var(--accent);background:var(--accent-soft);font-weight:600}
.list{background:var(--panel);border:1px solid var(--line);border-radius:10px}.list a.item{display:grid;grid-template-columns:190px 1fr auto;gap:12px;padding:9px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.list a.item:hover{background:var(--accent-soft)}.list a.item:last-child{border-bottom:0}
.list .id{font:12.5px var(--mono);color:var(--muted);overflow-wrap:anywhere}.list .def{color:var(--muted);font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pager{display:flex;gap:10px;align-items:center;margin:12px 0}
.fields dd p{margin:0}.fields dd{white-space:pre-line}
.node .mono{overflow-wrap:anywhere}.node .tools code{display:inline-block;margin:2px 2px 0 0}.node h3 .badge{vertical-align:2px;margin-left:4px}
.batch{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:14px 0}.batch .md{white-space:pre-wrap;font-size:14px}.pass{color:var(--good);font-weight:600}.fail{color:var(--warn);font-weight:600}
.answer{white-space:pre-wrap}
.foot{border-top:1px solid var(--line);padding:14px 20px;color:var(--muted);font-size:12px}.foot p{margin:.3em 0;max-width:1120px}
@media (max-width:860px){.shell.with-tree{grid-template-columns:1fr}.tree{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--line)}.with-tree .tree{display:none}
  main{padding:20px 16px}.hero{padding:24px 18px}.hero h1{font-size:28px}.turns{grid-template-columns:1fr 1fr}.bars{grid-template-columns:110px 1fr 50px}.kv{grid-template-columns:1fr}
  .bar{flex-wrap:wrap;gap:8px 12px;padding:10px 16px}.search{order:3;flex-basis:100%;max-width:none}.menu{display:inline-block}.top{position:static}.tabs{display:none;flex-direction:column;padding:0 8px}.tabs.open{display:flex}
  .list a.item{grid-template-columns:1fr}.sub{max-width:180px}}
