:root{--ink:#1f2328;--muted:#5b6168;--card:#ffffffeb;--line:#d9dcdf;--blue:#3d7fe0;--warn:#b3261e;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{background:#e8ecef;height:100%;margin:0;overflow:hidden}.scene,.label-layer{position:fixed;inset:0}.label-layer{pointer-events:none;overflow:hidden}button{font:inherit;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;padding:6px 12px}button[aria-pressed=true]{border-color:var(--blue);color:var(--blue)}.message{padding:2rem}.label{pointer-events:none;white-space:nowrap;text-align:center;color:var(--ink);border:1px solid #00000014;border-left:4px solid var(--accent,var(--blue));background:#fffffff5;border-radius:8px;padding:6px 12px 7px;font-size:13px;line-height:1.3;box-shadow:0 3px 12px #141e282e}.label-title{font-size:13.5px;font-weight:650}.label-value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:21px;font-weight:800}.label-asof,.label-note{color:var(--muted);font-size:12px}.label{transition:opacity .25s}.label.occluded{opacity:0}.label.far .label-asof,.label.far .label-note{display:none}.label.far .label-value{font-size:18px}.label-tag{color:#1d2329;background:#fffffff2;border:none;border-radius:999px;padding:4px 12px;font-size:13.5px;font-weight:650;position:relative;box-shadow:0 2px 8px #141e2833}.label-pin:after{content:"";border:6px solid #0000;border-top-color:#fffffff2;border-bottom:0;margin-left:-6px;position:absolute;bottom:-6px;left:50%}.label-tag .label-title{font-size:inherit}.label-district{box-shadow:none;color:#fff;letter-spacing:.18em;background:#1f2328b8;border:none;border-radius:6px;padding:3px 10px;font-size:14px;font-weight:700}.badge-stale{background:var(--warn);color:#fff;text-transform:uppercase;vertical-align:middle;border-radius:4px;margin-left:6px;padding:0 5px;font-size:10px;font-weight:600}.hud-top,.hud-bottom,.panel,.table-overlay{z-index:50}.hud-top{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:fixed;inset:12px 12px auto}.hud-top>*{pointer-events:auto}.hud-top h1{margin:0;font-size:18px}.hud-top p{color:var(--muted);margin:2px 0 0;font-size:13px}.buttons{gap:8px;display:flex}.hud-bottom{color:var(--muted);gap:16px;font-size:12px;display:flex;position:fixed;bottom:10px;left:12px}.hud-bottom .warn{color:var(--warn);font-weight:600}.panel{background:var(--card);border:1px solid var(--line);border-radius:10px;width:min(clamp(500px,36vw,620px),100vw - 24px);max-height:calc(100vh - 110px);padding:14px 16px;font-size:13px;position:fixed;top:70px;right:12px;overflow:auto;box-shadow:0 4px 16px #00000014}.panel.in-tour{z-index:60;width:min(clamp(460px,32vw,560px),100vw - 24px);max-height:max(320px,100vh - 398px);top:128px;left:12px;right:auto}.panel table caption{text-align:left;padding:6px 0 4px;font-weight:650}.panel-cards{gap:12px;margin-top:12px;display:grid}.panel-cards .desk-card{box-shadow:none}.panel h2{margin:0 24px 6px 0;font-size:16px}.panel .sized{color:var(--muted)}.close{background:0 0;border:none;padding:2px 6px;font-size:20px;line-height:1;position:absolute;top:8px;right:8px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:4px 6px}th[scope=row]{font-weight:500}td.num,td.date,td.tnum,.viz-table td:first-child{white-space:nowrap}.viz-table td.wrap{white-space:normal}td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.auction{margin:10px 0 0}.table-overlay{background:#e8ecefb3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.table-card{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;max-width:1000px;max-height:100%;padding:16px 20px;font-size:13px;position:relative;overflow:auto}caption{text-align:left;padding-bottom:8px;padding-right:30px;font-weight:600}.checks{padding-left:1rem}button.primary{color:#fff;background:#1f6f43;border-color:#1f6f43;font-weight:600}.chyron{pointer-events:none;color:#fff;text-shadow:0 2px #0000008c,0 0 14px #00000059;position:fixed;top:14px;left:16px;right:16px}.chyron-step{letter-spacing:.04em;align-items:center;gap:10px;font-size:15px;font-weight:800;display:flex}.chyron-dashes{gap:4px;display:inline-flex}.chyron-dashes i{background:#ffffff8c;border-radius:2px;width:16px;height:4px;box-shadow:0 1px 2px #0006}.chyron-dashes i.on{background:#34d06b}.chyron-title{text-transform:uppercase;letter-spacing:.01em;-webkit-text-stroke:1px #00000059;margin:2px 0 0;font-size:clamp(22px,3.6vw,44px);font-weight:900;line-height:1.05}.chyron-sub{margin:4px 0 0;font-size:clamp(13px,1.4vw,16px);font-weight:600}.caption{border:1px solid var(--line);background:#fffffff0;border-radius:12px;width:min(760px,100vw - 24px);padding:14px 16px 10px;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000024}.caption-text{margin:0;font-size:16px;line-height:1.45}.caption-note{color:var(--muted);margin:8px 0 0;font-size:12px}.reality{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.reality p{margin:6px 0 0;font-size:14px;line-height:1.4}.reality-tabs{gap:6px;display:flex}.reality-tabs button{border-radius:999px;padding:3px 10px;font-size:12px}.reality-tabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}.views-schools{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.views-schools button{background:0 0;border-radius:999px;padding:2px 9px;font-size:12px}.views-schools button[aria-selected=true]{border-color:var(--ink);font-weight:700}.views-lens{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-left:5px;font-size:10px;font-weight:600}.views p{margin:6px 0 0;font-size:14px;line-height:1.4}.views .views-note{color:var(--muted);margin:4px 0 0;font-size:12px}.caption-controls{align-items:center;gap:6px;margin-top:10px;display:flex}.caption-controls button{min-width:38px;padding:5px 10px}.caption-controls .exit{margin-left:auto}.beat-dots{gap:5px;margin-left:6px;display:inline-flex}.beat-dots i{background:var(--line);border-radius:50%;width:7px;height:7px}.beat-dots i.on{background:var(--blue)}.beat-id{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.journal{border:1px solid var(--line);background:#ffffffed;border-radius:10px;width:300px;max-height:calc(100vh - 340px);font-size:12px;position:fixed;top:120px;right:14px;overflow:auto;box-shadow:0 4px 16px #0000001a}.journal.closed{width:auto}.journal-toggle{text-align:left;background:0 0;border:0;width:100%;padding:8px 12px;font-weight:700}.journal-body{padding:0 12px 10px}.journal-lede{color:var(--muted);margin:0 0 8px}.taccount{border-top:1px solid var(--line);padding:6px 0}.taccount h4{margin:0 0 4px;font-size:12px}.tcols{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tcols>div+div{border-left:1px solid var(--line);padding-left:8px}.tcols h5{text-transform:uppercase;color:var(--muted);letter-spacing:.05em;margin:0 0 2px;font-size:10px}.tcols ul{margin:0;padding:0;list-style:none}.tcols li{justify-content:space-between;gap:6px;display:flex}.up .num,.networth.up{color:#1f7a45}.down .num,.networth.down{color:var(--warn)}.networth{margin:4px 0 0;font-weight:600}@media (width<=720px){.chyron{top:10px;left:12px}.caption{padding:10px 12px 8px;bottom:8px}.caption-text{font-size:14px}.journal{top:auto;bottom:calc(8px + var(--caption-h,210px));width:auto;max-height:30vh;left:8px;right:8px}}.badge{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;margin:0 0 6px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.badge-video{color:#8a4b08;background:#fdecd2}.badge-now{color:#1f6f43;background:#dff3e5}.widget{background:#fbf3dc;border:1px solid #efd99a;border-radius:10px;margin-top:10px;padding:10px 12px}.widget label{justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.widget-input{align-items:center;gap:4px;display:inline-flex}.widget input{width:120px;font:inherit;text-align:right;border:1px solid #d9c27e;border-radius:6px;padding:4px 8px}.widget p{margin:6px 0 0;font-size:14px}.finale{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.finale-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 6px;font-size:11px;font-weight:700}.finale-steps{flex-wrap:wrap;gap:6px;display:flex}.finale-steps button{border-radius:999px;padding:4px 9px;font-size:12px}.finale-steps b{color:var(--blue);margin-right:2px}.finale-explore{width:100%;margin-top:10px;padding:9px 12px}.finale-desk{width:100%;margin-top:6px}.desk{z-index:50;color:#0b0b0b;background:#f9f9f7;position:fixed;inset:0;overflow:auto}.desk-inner{max-width:1320px;margin:0 auto;padding:20px 20px 40px}.desk-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.desk-head h2{margin:0;font-size:26px}.desk-head p{color:#52514e;margin:4px 0 0;font-size:14px}.desk-head button{flex:none}.desk-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,400px),1fr));gap:16px;display:grid}.desk-card{background:#fcfcfb;border:1px solid #0b0b0b1a;border-radius:12px;flex-direction:column;gap:10px;min-width:0;padding:16px 16px 12px;display:flex}.desk-card h3{margin:0;font-size:17px}.desk-why{color:#52514e;margin:4px 0 0;font-size:13px;line-height:1.4}.desk-card footer{border-top:1px solid #e1e0d9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:8px;display:flex}.desk-source{color:#898781;font-size:11px}.show-me{color:#1c5cab;border-color:#2a78d6;font-size:13px;font-weight:600}.show-me span{color:#52514e;font-weight:400}.desk-loading{color:#52514e}.stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 14px;display:grid}.stat-label{color:#52514e;font-size:12px}.stat-value{font-size:20px;font-weight:600;line-height:1.2}.stat-delta,.stat-note{color:#52514e;font-size:12px}.stat-note{color:#898781}.viz{width:100%;position:relative}.viz svg{display:block;overflow:visible}.viz svg:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #2a78d6}.tnum{font-variant-numeric:tabular-nums}.viz-tooltip{pointer-events:none;z-index:2;background:#fcfcfb;border:1px solid #0b0b0b1a;border-radius:8px;min-width:150px;max-width:220px;padding:6px 9px;font-size:12px;position:absolute;box-shadow:0 4px 14px #0000001f}.viz-tooltip-title{color:#52514e;margin-bottom:3px}.viz-tooltip-row{align-items:center;gap:6px;display:flex}.viz-tooltip-row strong{color:#0b0b0b;font-variant-numeric:tabular-nums}.viz-tooltip-row span{color:#52514e}.viz-legend{color:#52514e;flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.viz-legend li{align-items:center;gap:6px;display:inline-flex}.viz-table summary{color:#52514e;cursor:pointer;font-size:12px}.viz-table table{border-collapse:collapse;width:100%;margin-top:6px;font-size:12px}.viz-table caption{text-align:left;color:#898781;padding-bottom:4px}.viz-table th,.viz-table td{text-align:left;border-bottom:1px solid #e1e0d9;padding:3px 6px}@media (width<=720px){.desk-inner{padding:14px 10px 30px}.desk-head{flex-direction:column}.desk-head h2{font-size:22px}.stat-value{font-size:18px}}.quality{pointer-events:auto;align-items:center;gap:6px;display:inline-flex}.quality select{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:5px;padding:1px 4px;font-size:12px}@media (width<=720px){.hud-top{flex-direction:column;gap:6px;inset:8px 8px auto}.hud-top h1{font-size:17px}.hud-top p{display:none}.hud-top .buttons{scrollbar-width:none;gap:6px;max-width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.hud-top .buttons button{white-space:nowrap;flex:none;padding:5px 9px;font-size:13px}.hud-bottom{flex-wrap:wrap;gap:4px 10px;font-size:11px;bottom:6px;left:8px;right:8px}.hud-bottom>span:nth-child(2),.hud-bottom>span:nth-child(3){display:none}.panel,.panel.in-tour{z-index:70;border-radius:14px 14px 0 0;width:100%;max-height:62vh;inset:auto 0 0}}.timebar{border:1px solid var(--line);background:#fffffff2;border-radius:12px;width:min(900px,100vw - 24px);padding:10px 14px 8px;position:fixed;bottom:34px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000024}.timebar-row{align-items:center;gap:10px;display:flex}.timebar-play{width:38px;height:34px;padding:0;font-size:15px}.timebar-speed{gap:2px;display:flex}.timebar-speed button{padding:3px 8px;font-size:12px}.timebar-speed button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.timebar-date{flex-direction:column;flex:1;min-width:0;display:flex}.timebar-date strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:18px}.timebar-date span{color:var(--muted);white-space:nowrap;font-size:12px}.timebar-today{font-size:13px}.timebar-close{position:static}.timebar-track{margin-top:26px;position:relative}.timebar-track input[type=range]{width:100%;accent-color:var(--ink);margin:0}.timebar-markers{height:24px;position:absolute;bottom:100%;left:8px;right:8px}.timebar-marker{background:var(--muted);cursor:pointer;border:0;border-radius:1px;width:2px;height:10px;padding:0;position:absolute;bottom:0;transform:translate(-1px)}.timebar-marker span{white-space:nowrap;color:var(--ink);visibility:hidden;background:#fffffff2;border-radius:4px;padding:0 4px;font-size:11px;font-weight:600;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.timebar-marker:hover span,.timebar-marker.on span{visibility:visible}.timebar-marker.on{background:var(--warn);height:14px}.timebar-ends{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.timebar-moves{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 12px;margin:6px 0 0;font-size:12px;display:flex}.timebar-moves span{white-space:nowrap}.timebar-moves .up{color:#1e7d45}.timebar-moves .down{color:var(--warn)}.timebar-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.timebar-event{min-height:2.8em;margin:6px 0 0;font-size:14px;line-height:1.4}.timebar-quiet{color:var(--muted)}@media (width<=720px){.timebar{padding:8px 10px 6px;bottom:40px}.timebar-date strong{font-size:15px}.timebar-moves{display:none}}.desk-section{grid-column:1/-1;margin:18px 0 0}.desk-section h3{margin:0;font-size:18px}.desk-section p{color:var(--muted);margin:4px 0 0;font-size:14px}.desk-card .views{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}
