:root{--paper: #fbfaf7;--paper-2: #f4f2ec;--ink: #1b1d1f;--ink-2: #4a4d51;--ink-3: #80848a;--rule: #e2ddd2;--rule-2: #d2ccbe;--accent: #1f4a5c;--accent-soft: #2f6b80;--pos: #2f6b4f;--neg: #9b3a36;--gold: #b08433;--serif: "Source Serif 4", Georgia, "Times New Roman", serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--maxw: 1120px}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.15;letter-spacing:-.01em;margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.label{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}.site-header{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:20}.site-header .wrap{display:flex;align-items:baseline;justify-content:space-between;height:64px}.brand{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.brand span{color:var(--ink-3);font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;margin-left:12px;padding-left:12px;border-left:1px solid var(--rule-2);white-space:nowrap}@media (max-width: 560px){.brand span{display:none}}.nav{display:flex;gap:26px}.nav a{color:var(--ink-2);font-size:14px;font-weight:500}.nav a.active{color:var(--ink)}.nav a:hover{text-decoration:none;color:var(--accent)}.site-footer{border-top:1px solid var(--rule);margin-top:80px;padding:40px 0;color:var(--ink-3);font-size:13px}.site-footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.hero{padding:60px 0 44px;border-bottom:1px solid var(--rule)}.hero .eyebrow{margin-bottom:16px}.hero h1{font-size:44px;max-width:18ch;margin-bottom:18px}.hero p{font-size:19px;color:var(--ink-2);max-width:60ch;margin:0}.hero .meta{margin-top:32px;display:flex;gap:28px;flex-wrap:wrap;font-size:14px;color:var(--ink-2)}.hero .meta a{font-weight:500}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:40px 0 4px}.section-head h2{font-size:15px;font-weight:600;letter-spacing:.04em;font-family:var(--sans);text-transform:uppercase;color:var(--ink-3)}.tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:14px}.tool-card{position:relative;background:var(--paper);display:flex;flex-direction:column;padding:16px 18px 14px;min-height:132px;overflow:hidden;opacity:0;transition:background .18s ease}.tools.is-visible .tool-card{animation-name:cardIn;animation-duration:.5s;animation-timing-function:cubic-bezier(.2,.7,.2,1);animation-fill-mode:forwards}.tool-card:after{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .28s ease}.tool-card:hover{background:#fff;text-decoration:none}.tool-card:hover:after{transform:scaleX(1)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.tool-card .idx{font-family:var(--mono);font-size:11px;color:var(--accent)}.tool-card h3{font-size:17px;line-height:1.2;margin-bottom:7px;color:var(--ink)}.tool-card .takeaway{margin:0;font-size:13px;color:var(--ink-3);font-style:italic;font-family:var(--serif);line-height:1.4}.tool-card .open{margin-top:auto;padding-top:12px;font-size:12px;font-weight:600;color:var(--accent);white-space:nowrap;opacity:0;transform:translate(-4px);transition:opacity .2s ease,transform .2s ease}.tool-card:hover .open{opacity:1;transform:none}.tool-page{padding:56px 0 0}.tool-page-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.tool-page .back{font-size:13px;color:var(--ink-3);display:inline-block}.tool-actions{display:flex;gap:8px;flex-wrap:wrap}.tool-page h1{font-size:38px;max-width:20ch;margin-bottom:16px}.tool-page .lede{font-size:18px;color:var(--ink-2);max-width:64ch;margin:0 0 8px}.panel{display:grid;grid-template-columns:320px 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:40px}.controls,.output{background:var(--paper);padding:26px}.controls{background:var(--paper-2)}.controls h4,.output h4{font-family:var(--sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:18px}@media (max-width: 860px){.panel{grid-template-columns:1fr}.hero h1{font-size:38px}}.controls-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.controls-head h4{margin-bottom:0}.control{margin-bottom:20px}.control.dense{margin-bottom:8px}.control .row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}.control .name{font-size:13px;color:var(--ink-2);font-weight:500}.control .val{font-family:var(--mono);font-size:13px;color:var(--ink)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:2px;background:var(--rule-2);outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--paper);box-shadow:0 0 0 1px var(--accent)}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--paper)}.btn-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}button.preset{font-family:var(--sans);font-size:12px;font-weight:500;padding:6px 12px;background:var(--paper);border:1px solid var(--rule-2);color:var(--ink-2);cursor:pointer;border-radius:2px}button.preset:hover{border-color:var(--accent);color:var(--accent)}button.preset.active{background:var(--accent);color:#fff;border-color:var(--accent)}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data th,table.data td{padding:9px 10px;text-align:right;border-bottom:1px solid var(--rule)}table.data th{font-family:var(--sans);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:600}table.data th:first-child,table.data td:first-child{text-align:left}table.data td.num,table.data th.num{font-family:var(--mono);font-variant-numeric:tabular-nums}table.data tr.total td{border-top:2px solid var(--rule-2);border-bottom:none;font-weight:600;color:var(--ink)}.pos{color:var(--pos)}.neg{color:var(--neg)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin:22px 0}.stat{background:var(--paper);padding:16px 18px}.stat .k{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:6px}.stat .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:24px;color:var(--ink)}.prose{max-width:68ch;margin:48px 0 0}.prose h3{font-size:22px;margin:36px 0 12px}.prose p{color:var(--ink-2);margin:0 0 16px}.prose code{font-family:var(--mono);font-size:13px;background:var(--paper-2);padding:1px 5px;border-radius:2px;color:var(--accent)}.prose .formula{font-family:var(--mono);font-size:14px;background:var(--paper-2);border-left:2px solid var(--accent);padding:14px 18px;margin:18px 0;color:var(--ink);overflow-x:auto}.callout{border-left:2px solid var(--gold);background:#fbf6ea;padding:16px 20px;margin:24px 0;font-size:15px;color:var(--ink-2)}.callout strong{color:var(--ink)}.chart-wrap{margin-top:8px}.note{font-size:12px;color:var(--ink-3);margin-top:10px}.route-loading{padding:96px 0;color:var(--ink-3);font-size:14px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes cardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes barGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes drawLine{to{stroke-dashoffset:0}}@keyframes fadeIn{to{opacity:1}}.hero{animation:fadeUp .6s ease both}.tool-page{animation:fadeUp .5s ease both}.mp-bar{transform:scaleY(0);transform-box:fill-box;transform-origin:bottom}.tools.is-visible .mp-bar{animation-name:barGrow;animation-duration:.55s;animation-timing-function:cubic-bezier(.2,.7,.2,1);animation-fill-mode:forwards}.mp-line{stroke-dasharray:1;stroke-dashoffset:1}.tools.is-visible .mp-line{animation:drawLine .9s ease forwards .1s}.mp-dot{opacity:0}.tools.is-visible .mp-dot{animation-name:fadeIn;animation-duration:.4s;animation-fill-mode:forwards}.section-head .hr{flex:1;height:1px;background:var(--rule);margin:0 16px;align-self:center}.section-head .count{font-size:13px;color:var(--ink-3)}.filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.filter-pill{display:inline-flex;align-items:center;gap:7px;font-family:var(--sans);font-size:12px;font-weight:500;padding:6px 13px;background:var(--paper);border:1px solid var(--rule-2);color:var(--ink-2);border-radius:999px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.filter-pill:hover{border-color:var(--accent);color:var(--accent)}.filter-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.filter-pill .n{font-family:var(--mono);font-size:11px;opacity:.65}.filter-pill.active .n{opacity:.85}.domain-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin:28px 0 0}.domain-head h3{font-size:19px;color:var(--ink)}.domain-desc{flex:1;min-width:180px;font-family:var(--serif);font-style:italic;font-size:13.5px;color:var(--ink-3)}.domain-count{font-size:13px;color:var(--ink-3)}.status-pill{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:3px 9px;border-radius:999px;line-height:1}.status-pill.live{color:var(--pos);background:#eaf3ee;border:1px solid #cfe3d7}.status-pill.planned{color:var(--gold);background:#fbf6ea;border:1px solid #ecdcbb}.tool-card.is-planned:after{background:var(--gold)}.tool-card.is-planned .open{color:var(--gold)}.cs-callout{margin-top:8px}.cs-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}a.preset{display:inline-block;font-family:var(--sans);font-size:12px;font-weight:500;padding:6px 12px;background:var(--paper);border:1px solid var(--rule-2);color:var(--ink-2);border-radius:2px}a.preset:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.nav a:hover:after,.nav a.active:after{transform:scaleX(1)}button.preset:active{transform:translateY(1px)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 8px}.chip{font-family:var(--sans);font-size:12px;font-weight:500;color:var(--ink-2);background:var(--paper-2);border:1px solid var(--rule-2);padding:5px 11px;border-radius:999px}a:focus-visible,button:focus-visible,input[type=range]:focus-visible,.tool-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.tool-card{opacity:1!important}.mp-bar{transform:none!important}.mp-line{stroke-dashoffset:0!important}.mp-dot{opacity:1!important}}
