:root{--paper: #ebf0f3;--ink: #13242f;--muted: #55697a;--line: #c9d4db;--bid: #0e7a68;--bid-bg: #cfe9e3;--ask: #b23c2b;--ask-bg: #f2d6d0;--code-bg: #dde6ec;--head: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;--body: "Source Serif 4", Georgia, serif;--mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace}:root[data-theme=dark]{--paper: #0e1a22;--ink: #e3ecf1;--muted: #93a8b6;--line: #263946;--bid: #5fd3bc;--bid-bg: #123a34;--ask: #ff8d7a;--ask-bg: #44211c;--code-bg: #162833;color-scheme:dark}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink)}body{margin:0;font-family:var(--body);font-size:1.125rem;line-height:1.65}a{color:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.top,main,.foot{max-width:64rem;margin:0 auto;padding-left:1.25rem;padding-right:1.25rem}.top{display:flex;justify-content:space-between;align-items:baseline;padding-top:1.5rem;padding-bottom:1rem}.brand{font-family:var(--head);font-weight:700;font-size:1.5rem;text-decoration:none;letter-spacing:-.02em}.top nav{display:flex;gap:1.25rem;font-family:var(--head);font-size:.95rem}.top nav a{text-decoration:none;color:var(--muted)}.top nav a:hover{color:var(--ink)}main{padding-top:2rem;padding-bottom:4rem}.foot{color:var(--muted);font-size:.85rem;padding-bottom:2rem}h1,h2,h3{font-family:var(--head);line-height:1.15;letter-spacing:-.02em}h1{font-size:clamp(2rem,6vw,3.1rem);margin:0 0 1rem}h2{font-size:1.3rem}.lede{font-size:1.25rem;color:var(--muted);max-width:34rem;margin:0}code,pre{font-family:var(--mono);font-size:.9rem}:not(pre)>code{background:var(--code-bg);padding:.1em .35em;border-radius:3px}pre{background:var(--code-bg);padding:1rem;overflow-x:auto;border-radius:4px;line-height:1.5}.katex-display{overflow-x:auto;overflow-y:hidden}.tracks{list-style:none;padding:0;margin:2.5rem 0 0;border-top:1px solid var(--line)}.tracks li{border-bottom:1px solid var(--line)}.track{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem .25rem;text-decoration:none}.track:hover{background:var(--code-bg)}.track .name{display:block;font-family:var(--head);font-weight:700;font-size:1.2rem}.track .blurb{display:block;color:var(--muted);font-size:.98rem;line-height:1.4}.track .prog{font-family:var(--head);font-size:.95rem;color:var(--muted);white-space:nowrap}.plist{list-style:none;padding:0;margin:2rem 0 0;border-top:1px solid var(--line)}.plist li{border-bottom:1px solid var(--line)}.plist a{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;text-decoration:none}.plist a:hover span:first-child{text-decoration:underline}.tag{font-family:var(--head);font-size:.85rem;white-space:nowrap}.d1{color:var(--bid)}.d2{color:var(--muted)}.d3{color:var(--ask)}.crumb{font-family:var(--head);font-size:.9rem;color:var(--muted);margin-bottom:.5rem}.prose details{border-top:1px solid var(--line);padding:.75rem 0}.prose details:last-of-type{border-bottom:1px solid var(--line)}.prose summary{cursor:pointer;font-family:var(--head);font-weight:700}.prose details>:not(summary){margin-top:.75rem}.drill-q{font-family:var(--mono);font-size:clamp(2.2rem,10vw,4rem);margin:2rem 0 1rem}.drill-in{font-family:var(--mono);font-size:1.5rem;width:8rem;padding:.4rem .6rem;background:transparent;color:inherit;border:1px solid var(--ink);border-radius:4px}.btn{font-family:var(--head);font-weight:700;font-size:1rem;padding:.55rem 1.1rem;cursor:pointer;background:var(--ink);color:var(--paper);border:0;border-radius:4px}.stat{font-family:var(--mono);color:var(--muted)}.prose{max-width:46rem}.top nav{align-items:center}.icon-btn{font-family:var(--head);font-size:.85rem;color:var(--ink);background:none;border:1px solid var(--line);border-radius:6px;padding:.3rem .65rem;cursor:pointer}.icon-btn:hover{border-color:var(--ink)}a.btn{display:inline-block;text-decoration:none}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}.btn:disabled{opacity:.5;cursor:default}.cta{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.field{font-family:var(--body);font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:.5rem .7rem}.field:hover{border-color:var(--muted)}.filters{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.5rem;align-items:center}.filters .field:last-of-type{flex:1;min-width:10rem}.tbl{width:100%;border-collapse:collapse;margin-top:1rem;font-family:var(--head)}.tbl th{text-align:left;font-size:.85rem;color:var(--muted);font-weight:500;padding:.5rem .75rem;border-bottom:1px solid var(--line)}.tbl td{padding:.75rem;border-bottom:1px solid var(--line)}.tbl tbody tr:hover td{background:var(--code-bg)}.tbl a{text-decoration:none;font-weight:500}.tbl .st{width:2rem;color:var(--bid);font-weight:700}.muted{color:var(--muted)}.split{display:grid;gap:2rem}.panel{border:1px solid var(--line);border-radius:8px;padding:1.1rem;display:grid;gap:1rem}.panel label{font-family:var(--head);font-weight:700;display:block;margin-bottom:.4rem}.panel details{border-top:1px solid var(--line);padding:.6rem 0}.panel summary{cursor:pointer;font-family:var(--head);font-weight:700}.panel details>:not(summary){margin-top:.6rem}.row{display:flex;gap:.5rem}.row .field{flex:1;min-width:0}textarea.field{width:100%;font-family:var(--mono);font-size:.9rem;resize:vertical}.fb{margin:.5rem 0 0;font-family:var(--head);min-height:1.4em}.fb.ok{color:var(--bid)}.fb.no{color:var(--ask)}@media(min-width:56rem){.split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}.panel{position:sticky;top:1rem}}.setup{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-top:1.5rem}.result{font-family:var(--head);font-size:1.1rem}.overall{margin:1.5rem 0 0;font-family:var(--head)}h2.group{font-size:1rem;font-weight:500;color:var(--muted);margin:2.25rem 0 0;letter-spacing:0}h2.group+.tracks{margin-top:.6rem}.track .right{display:flex;align-items:center;gap:.75rem}.track .chev{font-size:1.6rem;line-height:1;color:var(--muted)}.track:hover .chev{color:var(--ink)}.brand{display:inline-flex;align-items:center;gap:.55rem}.logo{width:1.7rem;height:auto;flex:none}.logo .b{fill:var(--bid)}.logo .a{fill:var(--ask)}
