:root{--orange: #ff4f00;--space: #0d0d14;--lunar: #f5f2ec;--ink: #1a1a1a;--yellow: #ffa300;--blue: #4997d0;--indigo: #263d6b;--gray: #8c8c8c;--newsprint: #ede8dc;--panel: #13131c;--rule: rgba(140, 140, 140, .35);--mono: "IBM Plex Mono", "Courier Prime", monospace;--serif-display: "Playfair Display", Georgia, serif;--serif-body: "Lora", Georgia, serif}*{box-sizing:border-box}body{margin:0;font-family:var(--serif-body);color:var(--lunar);background:var(--space)}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:center;gap:22px;padding:14px 22px 12px;border-bottom:1px solid var(--orange);background:var(--space)}.masthead{display:flex;flex-direction:column;gap:2px;white-space:nowrap;text-decoration:none;cursor:pointer}.masthead:hover h1{color:var(--orange)}.masthead:focus-visible{outline:1px solid var(--orange);outline-offset:4px}.masthead .kicker{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}.app-header h1{font-family:var(--serif-display);font-weight:900;font-size:21px;letter-spacing:-.02em;margin:0;color:var(--lunar)}.controls{display:flex;gap:16px;white-space:nowrap}.controls label{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);display:flex;align-items:center;gap:6px}select{font-family:var(--mono);font-size:12px;color:var(--lunar);background:var(--panel);border:1px solid var(--rule);border-radius:3px;padding:3px 6px}.tour-trigger{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);background:none;border:none;cursor:pointer;padding:0;white-space:nowrap}.tour-trigger:hover,.tour-trigger.active{color:var(--orange)}.searchbox{position:relative;flex:1;max-width:560px}.searchbox input{width:100%;padding:9px 13px;font-family:var(--mono);font-size:13px;color:var(--lunar);background:var(--panel);border:1px solid var(--rule);border-radius:4px}.searchbox input::placeholder{color:var(--gray)}.searchbox input:focus{outline:none;border-color:var(--orange)}.search-results{position:absolute;z-index:30;left:0;right:0;top:42px;background:#171724;border:1px solid var(--indigo);border-radius:4px;box-shadow:0 10px 30px #0000008c;list-style:none;margin:0;padding:4px;max-height:420px;overflow-y:auto}.search-results li{display:flex;gap:10px;align-items:baseline;padding:8px 10px;border-radius:3px;cursor:pointer;font-family:var(--serif-body);font-size:13.5px}.search-results li:hover{background:var(--indigo)}.search-no-results{cursor:default;color:var(--gray);font-style:italic}.search-no-results:hover{background:none}.badge{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:2px 7px;border-radius:2px;color:var(--space);white-space:nowrap}.badge-registrant{background:#4997d0}.badge-client{background:#ff4f00}.badge-lobbyist{background:#54a272}.badge-gov_entity{background:#c97b2f}.hit-label{font-weight:500;color:var(--lunar)}.hit-meta{margin-left:auto;font-family:var(--mono);color:var(--gray);font-size:10.5px}.hit-meta em{color:var(--yellow);font-style:normal}.empty-state{padding:64px 24px;text-align:center;max-width:720px;margin:0 auto;color:var(--lunar)}.empty-state:before{content:"◈";display:block;color:var(--orange);font-size:22px;margin-bottom:26px}.empty-state p{font-family:var(--serif-body);font-size:19px;line-height:1.7}.empty-state-tour-btn{margin-top:22px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);background:#ff4f001f;border:1px solid var(--orange);border-radius:3px;padding:10px 18px;cursor:pointer}.empty-state-tour-btn:hover{background:#ff4f0038}.trending-panel{margin-top:34px;text-align:left;background:var(--panel);border:1px solid var(--rule);border-radius:4px;padding:14px 16px}.trending-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.trending-title{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}.trending-status{font-family:var(--mono);font-size:12px;color:var(--gray);padding:10px 0}.trending-list{list-style:none;margin:0;padding:0}.trending-list li+li{margin-top:4px}.trending-list button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;font-family:var(--serif-body);font-size:13.5px;color:var(--lunar);background:none;border:none;border-radius:3px;cursor:pointer;text-align:left}.trending-list button:hover:not(:disabled){background:var(--indigo)}.trending-list button:disabled{opacity:.5;cursor:default}.trending-label{flex:1}.trending-value{font-family:var(--mono);font-size:11.5px;color:var(--yellow);font-variant-numeric:tabular-nums;white-space:nowrap}.status-row{padding:10px 22px 8px;font-size:15px}.status-row strong{font-family:var(--serif-display);font-weight:700;letter-spacing:.01em}.status-row .note,.status-row .loading{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}.status-row .note{color:var(--gray)}.status-row .loading{color:var(--yellow)}.banner{display:flex;align-items:center;justify-content:space-between;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;padding:8px 22px}.banner-warn{color:var(--yellow);background:#ffa30014;border-top:1px solid rgba(255,163,0,.35);border-bottom:1px solid rgba(255,163,0,.35)}.banner-warn button{flex-shrink:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--yellow);background:#ffa30026;border:1px solid rgba(255,163,0,.5);border-radius:3px;padding:4px 10px;cursor:pointer;white-space:nowrap}.banner-warn button:hover{background:var(--yellow);color:var(--ink)}.main-row{display:flex;flex:1;min-height:480px;position:relative}.graph-wrap{flex:1;position:relative;min-height:480px}.graph-container{position:absolute;inset:0;background:var(--space)}.camera-controls{position:absolute;right:14px;bottom:14px;display:flex;flex-direction:column;gap:5px;z-index:10}.camera-controls button{font-family:var(--mono);font-size:14px;width:30px;height:30px;border:1px solid var(--rule);background:#13131ce6;color:var(--lunar);border-radius:3px;cursor:pointer}.camera-controls button:hover{border-color:var(--orange);color:var(--orange)}.legend .hint{margin-left:auto;color:var(--gray);opacity:.8;text-transform:none;letter-spacing:.04em}.debug-panel{width:330px;background:var(--newsprint);color:var(--ink);border-left:1px solid var(--orange);padding:14px 16px;font-family:var(--serif-body);font-size:13.5px;overflow-y:auto;animation:panel-slide .22s ease-out}@keyframes panel-slide{0%{transform:translate(36px);opacity:0}to{transform:none;opacity:1}}.node-panel .node-title{font-family:var(--serif-display);font-weight:800;font-size:16px;line-height:1.25;margin:10px 0 2px}.issue-group summary{cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-top:9px;color:var(--ink)}.issue-group summary em{text-transform:none;letter-spacing:0;font-style:normal;color:#6d6152}.node-panel .desc{display:block;line-height:1.45}.node-panel .act-meta{font-family:var(--mono);font-size:10.5px;margin-top:1px}.expand-btn{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:none;border:1px solid var(--ink);border-radius:2px;padding:5px 9px;margin:4px 0 6px;cursor:pointer}.expand-btn:hover:not(:disabled){border-color:var(--orange);color:#b23a02}.expand-btn:disabled{opacity:.45;cursor:default}.expand-row{font-family:var(--mono);font-size:10.5px;margin:4px 0 6px;display:flex;align-items:center;gap:10px}.expand-row em{font-style:normal;color:#205c37}.expand-row button,.expansions-chip button{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:none;border:none;cursor:pointer;text-decoration:underline;padding:0}.expand-row button{color:#8c3a1f}.expansions-chip button{color:var(--orange);margin-left:8px}.expansions-chip em{font-style:normal;color:var(--yellow)}.debug-panel header{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:7px}.debug-panel header button{border:none;background:none;font-size:18px;cursor:pointer;color:var(--ink)}.debug-panel .money{font-size:17px;font-weight:500}.debug-panel .money em,.debug-panel li em{font-family:var(--mono);color:#5b564b;font-style:normal;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}.debug-panel .note{color:#7a5a20;font-size:12px;font-style:italic}.debug-panel .money-delta{font-size:13px;font-weight:500;margin:2px 0 0}.debug-panel .money-delta.up{color:#205c37}.debug-panel .money-delta.down{color:#8c3a1f}.debug-panel .money-delta em{font-family:var(--mono);color:#6d6152;font-style:normal;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}.debug-panel .issues{font-family:var(--mono);font-size:11px;letter-spacing:.06em}.debug-panel h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;margin:16px 0 6px}.debug-panel ul{padding-left:16px;margin:4px 0}.debug-panel li{margin-bottom:7px;line-height:1.5}.debug-panel a{color:var(--indigo)}.debug-panel b{color:#205c37;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em}.debug-panel s{color:#8c6a4f}.legend,.strip-legend{display:flex;gap:18px;padding:7px 22px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);align-items:center;border-top:1px solid var(--rule)}.legend .sep{flex:0 0 12px}.color-mode-toggle button{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);background:none;border:1px solid transparent;border-radius:2px;padding:2px 6px;margin-left:2px;cursor:pointer}.color-mode-toggle button.on{color:var(--orange);border-color:#ff4f0066}.color-mode-toggle button:hover{color:var(--lunar)}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.sw{display:inline-block;width:14px;height:5px;margin-right:5px;border-radius:1px}.quarter-slider{display:flex;align-items:center;gap:14px;padding:10px 22px}.quarter-slider input{flex:1;accent-color:var(--orange)}.quarter-slider button{font-family:var(--mono);border:1px solid var(--rule);background:var(--panel);color:var(--lunar);border-radius:3px;padding:3px 12px;cursor:pointer}.quarter-slider button:hover{border-color:var(--orange)}.quarter-label{font-family:var(--mono);font-size:13px;letter-spacing:.08em;color:var(--orange);font-variant-numeric:tabular-nums;min-width:84px}.timeline-strip{padding:0 22px 10px}.timeline-strip svg{width:100%;height:110px;display:block}.strip-col{cursor:pointer}.strip-year{font-size:8.5px;fill:var(--gray);font-family:var(--mono);letter-spacing:.08em}.app-footer{margin-top:auto;padding:12px 22px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:10px;letter-spacing:.05em;line-height:1.7;color:var(--gray);background:var(--space)}.guided-tour{position:fixed;bottom:24px;left:50%;transform:translate(-50%);width:min(560px,calc(100vw - 32px));background:#0d0d14f7;border:1px solid rgba(255,79,0,.4);border-radius:4px;padding:18px 22px 16px;font-family:var(--mono);color:var(--newsprint);z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 40px #0009,0 0 24px #ff4f0014}.guided-tour.with-side-panel{left:calc((100vw - 330px)/2);width:min(560px,calc(100vw - 362px))}.guided-tour.dock-top{top:116px;bottom:auto}.guided-tour-dots{display:flex;gap:6px;margin-bottom:12px}.guided-tour-dots span{display:inline-block;width:6px;height:6px;border-radius:3px;background:#ff4f0040;transition:width .2s,background .2s}.guided-tour-dots span.on{width:16px;background:var(--orange)}.guided-tour-subtitle{font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);margin-bottom:6px}.guided-tour-title{font-family:var(--serif-display);font-weight:800;font-size:15px;color:var(--lunar);letter-spacing:.01em;margin-bottom:10px}.guided-tour-body{font-family:var(--serif-body);font-size:13px;line-height:1.7;margin-bottom:16px}.guided-tour-controls{display:flex;justify-content:space-between;align-items:center;gap:10px}.guided-tour-controls.end{justify-content:flex-end}.guided-tour-controls-right{display:flex;gap:8px}.guided-tour-btn{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;border-radius:3px;cursor:pointer;background:transparent;color:var(--gray);border:1px solid var(--rule)}.guided-tour-btn:hover{color:var(--lunar)}.guided-tour-btn.primary{background:#ff4f0026;color:var(--orange);border-color:#ff4f0080}.guided-tour-btn.primary:hover{background:var(--orange);color:var(--lunar)}.guided-tour-btn:disabled{opacity:.4;cursor:default}.guided-tour-suggestions .guided-tour-title{margin-bottom:14px}.guided-tour-suggestion-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.guided-tour-suggestion{display:flex;gap:12px;padding:9px 12px;background:#ff4f000d;border:1px solid rgba(255,79,0,.15);border-radius:3px}.guided-tour-suggestion-label{font-size:9.5px;font-weight:700;letter-spacing:.1em;color:var(--orange);min-width:150px;flex-shrink:0;padding-top:1px}.guided-tour-suggestion-body{font-family:var(--serif-body);font-size:12.5px;line-height:1.6;color:var(--gray)}.tour-highlight{outline:2px solid var(--orange);outline-offset:-2px;animation:tour-pulse 1.6s ease-in-out infinite}@keyframes tour-pulse{0%,to{box-shadow:0 0 0 3px #ff4f0033,0 0 20px #ff4f004d}50%{box-shadow:0 0 0 3px #ff4f0066,0 0 30px #ff4f0080}}@media(max-width:760px){.app-header{flex-wrap:wrap;row-gap:10px}.masthead{order:1}.searchbox{order:2;flex:1 1 100%;max-width:none}.controls{order:3;flex-wrap:wrap;row-gap:8px}.main-row{flex-direction:column;min-height:0}.graph-wrap{min-height:340px}.debug-panel{width:auto;max-height:50vh;border-left:none;border-top:1px solid var(--orange)}.legend,.strip-legend{flex-wrap:wrap;row-gap:8px}.legend .hint{margin-left:0;flex:1 1 100%}.empty-state{padding:40px 16px}.trending-list button{flex-wrap:wrap;row-gap:4px}.trending-value{margin-left:auto}.guided-tour,.guided-tour.with-side-panel{left:12px;right:12px;width:auto;transform:none}.guided-tour.dock-top{top:auto;bottom:24px}}
