:root{--bg: #fbfbfa;--panel: #ffffff;--border: #e3e2df;--text: #1a1a18;--muted: #6b6a66;--accent: #2f5d8a;--warn-bg: #fdf5e6;--warn-border: #d9b166;--warn-text: #7a5a16;--error-bg: #fdeeec;--error-border: #d98d82;--error-text: #8a2f22;--ok-bg: #eef6ef;--ok-border: #8fb995;--ok-text: #2f5d3a;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme: dark){:root{--bg: #17181a;--panel: #1e2023;--border: #32353a;--text: #e8e8e6;--muted: #9a9a96;--accent: #7fb0e0;--warn-bg: #2d2615;--warn-border: #7a6228;--warn-text: #e8c87a;--error-bg: #2d1a18;--error-border: #7a3a30;--error-text: #e8a398;--ok-bg: #1a2a1d;--ok-border: #3a6342;--ok-text: #9ccfa6}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}code,.mono,td.num,th.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.app{display:flex;min-height:100vh}.sidebar{width:230px;flex:0 0 230px;border-right:1px solid var(--border);background:var(--panel);padding:18px 0;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar h1{font-size:14px;margin:0 16px 4px;letter-spacing:.02em}.sidebar .sub{font-size:12px;color:var(--muted);margin:0 16px 18px}.sidebar nav a{display:block;padding:7px 16px;color:var(--text);text-decoration:none;font-size:14px;border-left:3px solid transparent}.sidebar nav a:hover{background:var(--bg)}.sidebar nav a.active{border-left-color:var(--accent);color:var(--accent);font-weight:600}.sidebar nav .section{font-size:11px;text-transform:uppercase;color:var(--muted);margin:18px 16px 6px;letter-spacing:.06em}.main{flex:1;padding:26px 32px 70px;max-width:1180px;min-width:0}.whoami{margin:20px 16px 0;font-size:12px;color:var(--muted);border-top:1px solid var(--border);padding-top:14px}h2{font-size:20px;margin:0 0 4px}h3{font-size:15px;margin:26px 0 8px}h4{font-size:13px;margin:18px 0 6px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.lede{color:var(--muted);margin:0 0 20px;max-width:70ch}.cite{font-size:12px;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:16px 18px;margin-bottom:18px}.panel>h3:first-child{margin-top:0}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}@media (max-width: 900px){.app{flex-direction:column}.sidebar{width:auto;flex:none;height:auto;position:static}.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.main{padding:18px 16px 60px}}.stat{border:1px solid var(--border);border-radius:6px;padding:10px 12px;background:var(--panel)}.stat .label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.stat .value{font-size:22px;font-family:var(--mono);font-variant-numeric:tabular-nums}.stat .note{font-size:12px;color:var(--muted)}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:6px 9px;border-bottom:1px solid var(--border)}th{font-weight:600;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}td.num,th.num{text-align:right}tbody tr:hover{background:var(--bg)}.scroll{overflow-x:auto}tr.excluded td{opacity:.5;text-decoration:line-through}tr.holdout td:first-child:after{content:" holdout";font-size:10px;color:var(--accent);text-decoration:none}.msg{border-radius:5px;padding:9px 12px;margin:8px 0;font-size:13px;border:1px solid}.msg.warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.msg.error{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.msg.ok{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-text)}.msg.info{background:var(--bg);border-color:var(--border);color:var(--muted)}.msg ul{margin:6px 0 0;padding-left:20px}.pill{display:inline-block;font-size:11px;padding:1px 7px;border-radius:10px;border:1px solid var(--border);color:var(--muted)}.pill.warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.pill.error{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.pill.ok{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-text)}label{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}input,select,textarea,button{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:6px 8px;width:100%}input[readonly]{background:var(--bg);color:var(--muted)}textarea{min-height:60px;resize:vertical}button{width:auto;cursor:pointer;background:var(--accent);color:#fff;border-color:transparent;padding:7px 14px;font-weight:600}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:var(--panel);color:var(--text);border-color:var(--border);font-weight:400}button.link{background:none;border:none;color:var(--accent);padding:0;font-weight:400;text-decoration:underline}.row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.row>*{flex:0 0 auto}.field{min-width:150px;flex:1 1 150px}.checkrow{display:flex;gap:8px;align-items:flex-start;margin:10px 0}.checkrow input{width:auto;margin-top:3px}.checkrow label{margin:0;color:var(--text);font-size:13px}.steps{display:flex;gap:0;margin-bottom:20px;font-size:12px;flex-wrap:wrap}.steps .step{padding:6px 14px;border:1px solid var(--border);border-right:none;color:var(--muted);background:var(--panel)}.steps .step:last-child{border-right:1px solid var(--border);border-radius:0 4px 4px 0}.steps .step:first-child{border-radius:4px 0 0 4px}.steps .step.current{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.steps .step.done{color:var(--text)}.chart{width:100%;height:auto;overflow:visible}.chart text{font-size:10px;fill:var(--muted);font-family:var(--mono)}.chart .axis{stroke:var(--border)}.chart .zero{stroke:var(--muted);stroke-dasharray:2 3}.chart .band{fill:var(--accent);opacity:.14}.chart .line{fill:none;stroke:var(--accent);stroke-width:1.6}.chart .dot{fill:var(--accent)}.gate{text-align:center;padding:28px 20px}.signin{max-width:420px;margin:70px auto}
