:root{--fg:#1d2330;--muted:#5d6676;--border:#d9dde4;--control-border:#8a93a3;--surface:#f5f6f8;--page:#fff;--accent:#2856c7;--warning-bg:#fff6dd;--warning-border:#e8c766;--error-bg:#fdecec;--error-border:#e4a0a0;--radius:6px;--gap:16px;color:var(--fg);background:var(--page);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45}*{box-sizing:border-box}body{margin:0}a{color:var(--accent)}button{font:inherit;cursor:pointer;border:1px solid var(--control-border);border-radius:var(--radius);background:var(--page);color:var(--fg);padding:4px 10px}button:hover{border-color:var(--accent)}button:disabled{cursor:default;opacity:.5;border-color:var(--border)}button.link{color:var(--accent);text-align:left;background:0 0;border:none;padding:0;text-decoration:underline}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}input,select,textarea{font:inherit;border:1px solid var(--control-border);border-radius:var(--radius);background:var(--page);color:var(--fg);padding:4px 8px}pre{white-space:pre-wrap;word-break:break-word;background:var(--surface);border-radius:var(--radius);margin:0;padding:8px}.layout{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);height:100vh;padding:var(--gap);align-self:start;gap:var(--gap);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}@supports (height:100dvh){.sidebar{height:100dvh}}.sidebar h1{margin:0;font-size:16px}.nav{flex-direction:column;gap:2px;display:flex}.nav a{color:var(--fg);border-radius:var(--radius);padding:4px 8px;text-decoration:none}.nav a.active{background:var(--page);color:var(--accent);font-weight:600}.nav-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:8px;font-size:12px}.session{color:var(--muted);flex-direction:column;gap:6px;margin-top:auto;font-size:12px;display:flex}.content{gap:var(--gap);flex-direction:column;min-width:0;padding:24px;display:flex}.content h2{margin:0;font-size:20px}.content h3{margin:0;font-size:15px}.muted{color:var(--muted)}.definition{color:var(--muted);margin:0}.panel{border:1px solid var(--border);border-radius:var(--radius);padding:var(--gap);flex-direction:column;gap:12px;min-width:0;display:flex}.panel-grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));display:grid}.small-multiples{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.small-multiples figure{flex-direction:column;gap:4px;margin:0;display:flex}.chart{width:100%;height:280px}.chart-small{width:100%;height:120px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar .active{border-color:var(--accent);color:var(--accent);font-weight:600}.notes{color:var(--muted);margin:0;padding-left:18px}.notable-list{margin:0;padding-left:18px}.chart-figure{flex-direction:column;gap:8px;margin:0;display:flex}.chart-figure figcaption{color:var(--muted)}.banner{border:1px solid var(--warning-border);background:var(--warning-bg);border-radius:var(--radius);padding:8px 12px}.problem{border:1px solid var(--error-border);background:var(--error-bg);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:8px;padding:12px;display:flex}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);max-height:560px;overflow:auto}.problem-list td:first-child{min-width:18rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:6px 10px}th{background:var(--surface);white-space:nowrap;position:sticky;top:0}th button{background:0 0;border:none;padding:0;font-weight:600}td.number{text-align:right;font-variant-numeric:tabular-nums}td.text{white-space:pre-wrap;word-break:break-word;max-width:480px}.badge{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:0 6px;font-size:12px;display:inline-block}.center-card{max-width:520px;margin:15vh auto;padding:24px}.themes-editor textarea{width:100%;min-height:120px;font-family:ui-monospace,Menlo,monospace}.connect-dialog{border:1px solid var(--border);border-radius:var(--radius);width:calc(100% - 48px);max-width:760px;color:var(--fg);background:var(--page);padding:24px}.connect-dialog::backdrop{background:#1d233066}.connect-dialog>*+*{margin-top:12px}.connect-header{justify-content:space-between;align-items:center;gap:var(--gap);display:flex}.connect-header h2{margin:0;font-size:18px}.connect-dialog .panel p{margin:0}.copy-block{align-items:flex-start;gap:8px;display:flex}.copy-block pre{-webkit-user-select:all;user-select:all;flex:1;font-family:ui-monospace,Menlo,monospace}.skip-link{z-index:10;border-radius:var(--radius);background:var(--page);border:1px solid var(--accent);padding:8px 12px;position:absolute;top:-48px;left:8px}.skip-link:focus{top:8px}.screen-title:focus,.content:focus{outline:none}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav-list a{display:block}.shade-legend{color:var(--muted);flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none;display:flex}.shade-legend li{align-items:center;gap:6px;display:flex}.swatch{border-radius:2px;width:12px;height:12px;display:inline-block}@media (width<=800px){.layout{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border);height:auto;position:static}.nav{flex-flow:wrap;gap:4px 8px}.nav-group{width:100%}.nav-list{flex-flow:wrap;gap:4px 8px}.session{flex-flow:wrap;align-items:center;margin-top:0}.content{padding:16px}}
