/* Footer typography, spacing, icons and theme control mirror ROLR's public site. */
:root{--footer-muted:#fff9;--footer-line:#ffffff14;--footer-link:#a17bff;--fg-rgb:255 255 255}
.rolr-footer{width:100%;padding:48px 0;border-top:1px solid var(--footer-line);margin-top:48px;font-family:Inter,system-ui,sans-serif}
.rolr-footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:32px}
.rolr-footer-brand{display:flex;flex-direction:column;gap:16px}
.rolr-footer .footer-logo{display:block;width:100px;height:auto;color:var(--text)}
.rolr-footer-brand p{font:12px/1.5 'JetBrains Mono',monospace;text-transform:uppercase;max-width:200px;margin:0;color:var(--footer-muted)}
.rolr-legal{padding-top:24px;border-top:1px solid var(--footer-line);font:11px/1.5 Inter,system-ui,sans-serif;color:var(--footer-muted)}
.rolr-legal nav{display:flex;flex-wrap:wrap;align-items:initial;gap:6px 16px;height:auto;margin:0 0 16px;font:inherit;color:inherit}
.rolr-legal nav a{display:inline;height:auto;position:static;font:13px/1.5 Inter,system-ui,sans-serif;color:inherit;transition:color 150ms}
.rolr-legal nav a:hover{color:var(--text)}
.rolr-legal p{font:inherit;line-height:1.5;color:inherit;max-width:none;margin:0}
.rolr-legal p+p{margin-top:8px}
.rolr-legal p a{color:var(--footer-link)}
.rolr-legal p a:hover{text-decoration:underline}
.rolr-legal a:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
.theme-toggle{position:relative;display:inline-flex;align-items:center;flex-shrink:0;width:72px;height:32px;padding:4px;border:0;border-radius:999px;color:var(--text);backdrop-filter:blur(12px);background-image:linear-gradient(180deg,rgb(var(--fg-rgb)/.06),rgb(var(--fg-rgb)/.02));box-shadow:inset 0 1px #ffffff14,inset 0 -1px 2px #0000001a}
.theme-toggle:focus-visible{outline:2px solid rgb(var(--fg-rgb)/.25);outline-offset:2px}
.theme-idle{position:absolute;top:50%;left:4px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:rgb(var(--fg-rgb)/.2)}
.theme-thumb{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:50%;border:1px solid #ffffff14;background-image:linear-gradient(180deg,rgb(var(--fg-rgb)/.14),rgb(var(--fg-rgb)/.07));box-shadow:inset 0 1px #ffffff1f,0 3px 8px #00000059;transform:translateX(40px);transition:transform 240ms cubic-bezier(.2,0,0,1)}
.theme-rim{position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(180deg,transparent 40%,rgb(var(--fg-rgb)/.12));mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-clip:content-box,border-box;mask-composite:exclude}
.theme-toggle svg{width:14px;height:14px;flex:none}
.theme-idle .theme-moon,.theme-thumb .theme-sun{display:none}
:root[data-theme=light]{--bg:#fff;--surface:#f5f4f8;--surface2:#eeedf2;--line:#1413181c;--text:#141318;--muted:#1413189e;--subtle:#14131899;--blue:#2678c7;--red:#ca354e;--lime:#6b31fd;--footer-muted:#1413189e;--footer-line:#1413181c;--footer-link:#6b31fd;--fg-rgb:20 19 24;color-scheme:light}
[data-theme=light] .theme-idle{left:auto;right:4px}
[data-theme=light] .theme-thumb{transform:translateX(0);border-color:#ffffff99;background-image:linear-gradient(180deg,#fff,#ffffffbf);box-shadow:0 1px 2px #00000014}
[data-theme=light] .theme-idle .theme-sun,[data-theme=light] .theme-thumb .theme-moon{display:none}
[data-theme=light] .theme-idle .theme-moon,[data-theme=light] .theme-thumb .theme-sun{display:block}
[data-theme=light] header{background:#fffffff7}
[data-theme=light] .brand img{filter:brightness(0)}
[data-theme=light] .brand-divider{border-color:var(--line)}
[data-theme=light] nav>a.active,[data-theme=light] .filter-tabs button.selected{color:var(--text)}
[data-theme=light] a:hover,[data-theme=light] button:hover{color:var(--purple)}
[data-theme=light] .open-rolr,[data-theme=light] .panel-action,[data-theme=light] .primary-button{color:#fff}
[data-theme=light] .chamber-card,[data-theme=light] .focus-card{background:var(--surface);border-color:var(--line)}
[data-theme=light] .chamber-footer,[data-theme=light] #state-panel{background:#f0eef5;border-color:var(--line)}
[data-theme=light] .map-layout,[data-theme=light] .map-canvas{background:#faf9fc;border-color:var(--line)}
[data-theme=light] #us-map .state{stroke:#faf9fc}
[data-theme=light] #us-map .state[fill="#2c2e35"]{fill:#d7d5de}
[data-theme=light] #us-map .state.selected{stroke:#665480;filter:drop-shadow(0 0 2px #6b31fd30)}
[data-theme=light] #us-map .state:hover,[data-theme=light] #us-map .state:focus-visible{stroke:#6b31fd}
[data-theme=light] .tab-group,[data-theme=light] .mode-switch,[data-theme=light] .search{background:var(--surface);border-color:var(--line)}
[data-theme=light] .tab-group button.selected,[data-theme=light] .mode-switch button.selected{background:#dfdce8;color:var(--text)}
[data-theme=light] .tab-group button,[data-theme=light] .search input,[data-theme=light] select{color:var(--text)}
[data-theme=light] .state-picker select,[data-theme=light] .state-race-selector{background:#fff;border-color:#1413182e;color:var(--text)}
[data-theme=light] .search kbd,[data-theme=light] #watch-count,[data-theme=light] .load-more{border-color:#1413182e}
[data-theme=light] .text-link,[data-theme=light] .focus-bottom,[data-theme=light] .focus-top,[data-theme=light] .sort-label select{color:var(--muted)}
[data-theme=light] .chamber-footer>a,[data-theme=light] .table-trade,[data-theme=light] .detail-quote a,[data-theme=light] .purple{color:var(--purple)}
[data-theme=light] td{border-color:var(--line)}
[data-theme=light] tr:hover td{background:#f7f5fb}
[data-theme=light] .party-bar{background:#14131812}
[data-theme=light] .closing{background:linear-gradient(110deg,#ede6ff,#f7f3ff);border-color:#6b31fd26;color:var(--text)}
[data-theme=light] .closing .eyebrow,[data-theme=light] .closing p{color:#625375}
[data-theme=light] dialog{background:#fff;border-color:#d6d0df}
[data-theme=light] dialog p{color:var(--muted)}
[data-theme=light] dialog code{background:#f0e9ff;color:#5722c4}
[data-theme=light] .gauge .needle-group path{fill:#292330}
[data-theme=light] .gauge .needle-group line{stroke:#292330}
[data-theme=light] .gauge>circle:first-of-type{fill:#292330}
[data-theme=light] .gauge>circle:last-of-type{fill:#f5f4f8}
[data-theme=light] .gauge text{fill:#655d70}
[data-theme=light] .neutral{color:#615a6d}
[data-theme=light] .hour-move{background:#1413180a}
@media(max-width:620px){[data-theme=light] #market-rows tr{background:var(--surface);border-color:var(--line)}.rolr-footer{padding:40px 0}.rolr-legal nav{gap:6px 16px}}
[data-theme=light] .chamber-trade{color:var(--purple)}
[data-theme=light] .dialog-header{background:#fff}
[data-theme=light] .dial-dem{color:#2e66a8}
[data-theme=light] .dial-rep{color:#a5445b}
[data-theme=light] .gauge-track{stroke:none}
[data-theme=light] #map-tooltip{background:#fff;color:var(--text);border-color:var(--line);box-shadow:0 4px 16px #14131814}

/* Subtle alternating bands keep wide market rows easy to follow. */
:root{--table-stripe:#151316;--table-hover:#1c191f}
:root[data-theme=light]{--table-stripe:#f7f6f9;--table-hover:#eeecf3}
@media(min-width:621px){#market-rows tr:nth-child(even){background:var(--table-stripe)}#market-rows tr:hover td{background:var(--table-hover)}}
