:root{--font-ui:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--color-red-cross:#d8001b;--color-red-dark:#9f0014;--color-red-pressed:#79000f;--color-red-soft:#fff0f2;--color-ink:#20242b;--color-ink-strong:#111318;--color-navy:#24384f;--color-muted:#69717d;--color-subtle:#8b95a1;--color-line:#dfe3e8;--color-canvas:#f5f6f7;--color-surface:#fff;--color-surface-raised:#f9fafb;--color-map-blue:#eaf4fb;--color-info:#1d4ed8;--color-success:#2d7a3e;--color-warning:#b7791f;--color-danger:#9f0014;--radius-control:6px;--radius-panel:8px;--shadow-panel:0 10px 30px #1f293714;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px}html,body{font-family:var(--font-ui);color:var(--color-ink);background:var(--color-canvas)}button,input,select,textarea{font:inherit}.app-shell{background:var(--color-canvas);min-height:100vh}.app-header{align-items:center;gap:var(--space-3);min-height:56px;padding:0 var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-line);display:flex}.app-logo{flex:none;width:auto;height:36px}.app-title{letter-spacing:0;margin:0;font-size:18px;font-weight:700;line-height:1.2}.btn{border-radius:var(--radius-control);min-height:36px;font-family:var(--font-ui);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:650;line-height:1;display:inline-flex}.btn-primary{background:var(--color-red-cross);color:#fff;border:1px solid var(--color-red-cross)}.btn-primary:hover{background:var(--color-red-dark);border-color:var(--color-red-dark)}.btn-secondary{background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-line)}.btn-ghost{color:var(--color-ink);background:0 0;border:1px solid #0000}.command-search{gap:var(--space-2);min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-muted);grid-template-columns:20px minmax(0,1fr) auto;align-items:center;display:grid}.command-search:focus-within{border-color:var(--color-info);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-info) 16%, transparent)}.command-search svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:20px;height:20px}.command-search input{min-width:0;color:var(--color-ink-strong);font-family:var(--font-ui);background:0 0;border:0;outline:0;font-size:15px;font-weight:650}.command-search input::placeholder{color:var(--color-subtle)}.command-search kbd{border:1px solid var(--color-line);background:var(--color-surface-raised);min-width:24px;color:var(--color-muted);font-family:var(--font-mono);text-align:center;border-radius:5px;padding:3px 6px;font-size:11px}.segment-control{border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-surface);scrollbar-width:none;gap:3px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.segment-control::-webkit-scrollbar{display:none}.segment-control button{min-height:30px;color:var(--color-muted);font-family:var(--font-ui);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:0 11px;font-size:13px;font-weight:750}.segment-control button:hover{background:var(--color-surface-raised);color:var(--color-ink-strong)}.segment-control button[aria-pressed=true]{background:var(--color-red-cross);color:#fff}.action-tile{--action-color:var(--color-red-cross);--action-dark:var(--color-red-dark);gap:var(--space-2);border-radius:var(--radius-control);background:linear-gradient(135deg, var(--action-color), var(--action-dark));color:#fff;width:100%;min-height:42px;font-family:var(--font-ui);text-align:left;cursor:pointer;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:8px 12px;font-size:14px;font-weight:800;line-height:1.15;text-decoration:none;transition:transform .15s,box-shadow .15s;display:grid;position:relative;overflow:hidden;box-shadow:0 1px 3px #1420302e}.action-tile:hover{transform:translateY(-1px);box-shadow:0 3px 7px #1420303d}.action-tile:focus-visible{outline:3px solid var(--color-ink-strong);outline-offset:2px}.action-tile small{color:#ffffffe6;white-space:nowrap;font-size:11px;font-weight:650}.action-tile[aria-disabled=true],.action-tile:disabled{background:linear-gradient(135deg, var(--color-subtle), var(--color-muted));color:#ffffffdb;cursor:not-allowed;transform:none}.search-chip{border:1px solid color-mix(in srgb, var(--color-info) 30%, var(--color-line));background:color-mix(in srgb, var(--color-info) 7%, var(--color-surface));min-height:32px;color:var(--color-info);font-family:var(--font-ui);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:750}.search-chip:hover{background:color-mix(in srgb, var(--color-info) 13%, var(--color-surface))}.panel{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel)}.field-label{color:var(--color-muted);letter-spacing:.02em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.metric-value{font-family:var(--font-mono);color:var(--color-red-dark);font-size:24px;font-weight:700}
html,body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--color-canvas);height:100%;margin:0}#__next,body>*{height:100%}.shell{grid-template-rows:56px minmax(0,1fr);height:100%;display:grid}.shell__stage{grid-template-columns:var(--left,52px) minmax(0, 1fr) var(--right,52px);min-height:0;display:grid;overflow:hidden}.shell[data-left-open=true]{--left:clamp(280px, 22vw, 360px)}.shell[data-right-open=true]{--right:clamp(320px, 26vw, 420px)}.panel{background:var(--color-surface);border-right:1px solid var(--color-line);flex-direction:column;min-height:0;display:flex;position:relative}.panel--right{border-right:0;border-left:1px solid var(--color-line)}.rail{flex-direction:column;align-items:center;gap:16px;height:100%;padding:12px 0;display:flex}.rail-btn{border:1px solid var(--color-line);color:#4a4a4a;cursor:pointer;background:#fff;border-radius:8px;place-items:center;width:34px;height:34px;display:inline-grid}.rail-btn:hover{border-color:var(--color-red-cross);color:var(--color-red-cross)}.rail-label{writing-mode:vertical-rl;letter-spacing:.12em;text-transform:uppercase;color:#59616e;font-size:12px;font-weight:800}.panel-head{border-bottom:1px solid var(--color-line);align-items:center;gap:10px;padding:14px 16px 12px;display:flex}.panel-head h2{margin:0;font-size:16px}.panel-head p{color:var(--color-muted);margin:4px 0 0;font-size:13px}.panel-body{flex:1;min-height:0;padding:16px;overflow:auto}.center-stage{min-width:0;min-height:0;position:relative}.app-header-menu{margin-left:auto}.engine-switch button{min-height:36px;padding:0 16px;font-size:14px}.filter-lead{color:var(--color-muted);margin:0 0 12px;font-size:13px}.human-story{color:var(--color-ink);margin:0 0 16px;font-size:14px;line-height:1.45}.rail-subhead{margin:4px 0 8px;font-size:14px}.map-wrap,.map-root,.map-root .esri-view{position:absolute;inset:0}.map-caption{z-index:1;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-control);max-width:480px;box-shadow:var(--shadow-panel);pointer-events:none;padding:10px 12px;position:absolute;inset:12px 12px auto 58px}.map-caption__engine{color:var(--color-ink);margin:0 0 4px;font-size:12px;font-weight:700}.map-caption__text{color:var(--color-ink);margin:0;font-size:13px;line-height:1.4}.bin-legend{z-index:1;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-control);width:168px;box-shadow:var(--shadow-panel);pointer-events:none;padding:8px 10px;position:absolute;bottom:44px;left:12px;right:auto}.bin-legend__title{color:var(--color-ink);margin:0 0 6px;font-size:12px;font-weight:700}.bin-legend__ramp{background:linear-gradient(90deg,#fff0f2 0%,#f8b0b6 35%,#d8001b 70%,#79000f 100%);border-radius:2px;height:8px}.bin-legend__ends{color:var(--color-muted);justify-content:space-between;margin:4px 0 0;font-size:11px;display:flex}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.kpi{border:1px solid var(--color-line);background:var(--color-surface-raised);border-radius:8px;padding:10px 12px}.kpi span{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);font-size:11px;display:block}.kpi strong{font-family:var(--font-mono);margin-top:4px;font-size:20px;font-weight:600;display:block}.filter-stack label{margin:12px 0 6px;font-size:13px;font-weight:600;display:block}.filter-stack select,.filter-stack input{border:1px solid var(--color-line);color:#2d2d2d;background:#fff;border-radius:6px;width:100%;min-height:36px;padding:0 10px}.bar-row{grid-template-columns:92px 1fr 48px;align-items:center;gap:8px;margin:6px 0;font-size:12px;display:grid}.bar-row b{background:var(--color-navy);border-radius:4px;height:8px}.explain,.compare{border:1px solid var(--color-line);background:#fff;border-radius:8px;margin-top:16px;padding:12px;font-size:13px;line-height:1.45}.compare{font-family:var(--font-mono);white-space:pre-wrap;font-size:12px}.hub{max-width:880px;margin:0 auto;padding:32px 24px 64px}.hub h1{margin:0 0 8px;font-size:28px}.hub .lede{color:var(--color-muted);max-width:62ch;font-size:16px}.demo-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;display:grid}.demo-card{border:1px solid var(--color-line);color:inherit;background:#fff;border-radius:8px;padding:16px;text-decoration:none;display:block}.demo-card:hover{border-color:var(--color-red-cross)}.demo-card strong{margin-bottom:6px;display:block}.demo-card span{color:var(--color-muted);font-size:14px}.selected-feature{border-top:1px solid var(--color-line);margin-top:16px;padding-top:12px;font-size:13px}.selected-feature dt{color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.selected-feature dd{font-family:var(--font-mono);margin:0 0 8px}.toggle{align-items:center;gap:8px;margin:12px 0;font-size:13px;display:flex}@media (max-width:800px){.shell__stage{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.panel--left{display:none}.panel--right{border-left:0;border-top:1px solid var(--color-line);max-height:42vh}.demo-grid{grid-template-columns:1fr}}
