/* Bridge: the real site's colour and font variables, as used by the real modules' markup and component
   stylesheets (lib/rotation-finder.css, lib/rest-days.css, lib/ticker-metrics.css, inline styles in the
   fixture editor), pointed at KFTtrial's instrument tokens. Because they resolve through the tokens, the
   real components follow dark and light automatically. */
:root{
  --text-ink:var(--ink); --text-muted:var(--muted); --border:var(--hair-2);
  --bg-white:var(--ground-2); --bg-neutral:var(--raised); --bg-paper:var(--ground);
  --kft-accent:var(--accent); --primary-profile:var(--accent); --primary-orange:var(--accent); --signal-red:var(--accent); --signal-amber:var(--warn); --primary-plan:var(--accent);
  --kft-night:var(--ground); --kft-stand:var(--ground-2); --kft-panel:var(--raised);
  --kft-floodlight:var(--ink); --kft-muted:var(--muted); --kft-muted-strong:var(--ink-2);
  --kft-match-line:var(--hair); --kft-match-line-strong:var(--hair-2);
  --kft-body:Manrope,system-ui,sans-serif; --kft-display:Sora,Manrope,sans-serif; --kft-data:Manrope,system-ui,sans-serif;
}
/* every range slider in the workspace is a silver fader */
.wview input[type=range],body>div input[type=range]{-webkit-appearance:none;appearance:none;height:30px;background:transparent;accent-color:auto}
.wview input[type=range]::-webkit-slider-runnable-track,body>div input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:var(--track);border:1px solid var(--track-edge);box-shadow:inset 0 1px 2px #0009}
.wview input[type=range]::-webkit-slider-thumb,body>div input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-10px;border-radius:5px;border:1px solid var(--metal-rim);background:repeating-linear-gradient(0deg,var(--metal-4) 0 2px,var(--metal-1) 2px 3px,var(--metal-3) 3px 5px);box-shadow:0 3px 0 #141c24,0 4px 6px #0007}
.wview input[type=range]::-moz-range-thumb,body>div input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:5px;border:1px solid var(--metal-rim);background:repeating-linear-gradient(0deg,var(--metal-4) 0 2px,var(--metal-1) 2px 3px,var(--metal-3) 3px 5px)}
/* the real modules' buttons and toolbars, as keys and trays */
:is(.wview,#tickerFdrEditor) :is(.kft-btn,.kft-dock-item):not(.kft-cell){position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 12px;border-radius:7px;cursor:pointer;font:700 12px Manrope;color:var(--key-ink);background:linear-gradient(var(--key-top),var(--key-mid) 48%,var(--key-bot));border:1px solid var(--key-edge);border-top-color:var(--key-lip);box-shadow:inset 0 1px #ffffff12,inset 0 -1px #0004,0 3px 0 var(--key-skirt);text-decoration:none;white-space:nowrap}
:is(.wview,#tickerFdrEditor) :is(.kft-btn,.kft-dock-item):not(.kft-cell):active{transform:translateY(2px);box-shadow:inset 0 1px 2px #0005,0 1px 0 var(--key-skirt)}
:is(.wview,#tickerFdrEditor) :is(.kft-btn,.kft-dock-item):disabled{opacity:.45;cursor:default;transform:none}
:is(.wview,#tickerFdrEditor) :is(.kft-btn-primary,.kft-btn.active,.kft-dock-item[aria-pressed=true],.kft-btn[aria-pressed=true]){color:var(--accent-ink);background:linear-gradient(var(--acc-top),var(--acc-mid) 48%,var(--acc-bot));border-color:var(--acc-edge);border-top-color:var(--acc-lip);box-shadow:inset 0 1px #fff4,0 3px 0 var(--acc-skirt)}
:is(.wview,#tickerFdrEditor) :is(.kft-dock-item,.kft-btn)[aria-pressed=true]{transform:translateY(1px);box-shadow:inset 0 1px 3px #0004,0 1px 0 var(--acc-skirt)}
.wview .kft-dock-bar:not(.ctl){display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:10px 12px;margin:0 0 14px;border-radius:12px;background:var(--tray);border:1px solid var(--tray-edge);box-shadow:inset 0 2px 5px #0005,inset 0 -1px #ffffff0c}
[data-theme=light] .wview .kft-dock-bar:not(.ctl){box-shadow:inset 0 2px 4px #0002,inset 0 -1px #fff}
.wview .kft-dock-sep{width:1px;align-self:stretch;background:var(--hair-2)}
.wview .kft-ticker-metric-switch{display:inline-flex;gap:4px;padding:3px;border-radius:10px;background:#0002;border:1px solid var(--tray-edge)}
.wview select,.wview .kft-dock-price-input,.wview .kft-rot-search{min-height:32px;padding:0 8px;border-radius:8px;background:var(--well);border:1px solid var(--well-edge);box-shadow:inset 0 2px 4px #0004;color:var(--ink);font:600 13px Manrope}
.kft-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* the real download buttons: arrow icon plus label */
.wview :is(.kft-dl-btn,[data-rest-download],[data-rot-dl],.kft-rot-dl) svg{width:14px;height:14px;flex:none;fill:currentColor}
.wview :is(.kft-dl-btn,[data-rest-download],[data-rot-dl],.kft-rot-dl){display:inline-flex;align-items:center;gap:6px}
.wview .kft-dl-tray{display:none}.wview .kft-dl-tip{position:static;display:inline;opacity:1;transform:none;background:none;padding:0;font:inherit;color:inherit;box-shadow:none}
/* the real download buttons as keys */
.wview :is(.kft-dl-btn,[data-rest-download],[data-ticker-download]){min-height:32px;padding:0 12px;border-radius:7px;cursor:pointer;font:700 12px Manrope;color:var(--key-ink);background:linear-gradient(var(--key-top),var(--key-mid) 48%,var(--key-bot))!important;border:1px solid var(--key-edge)!important;border-top-color:var(--key-lip)!important;box-shadow:inset 0 1px #ffffff12,0 3px 0 var(--key-skirt)!important}
.wview :is(.kft-dl-btn,[data-rest-download],[data-ticker-download]):active{transform:translateY(2px);box-shadow:inset 0 1px 2px #0005,0 1px 0 var(--key-skirt)!important}

/* the real modules' segmented switches (ticker measure, Rotation Finder subject / measure / size) as
   selector banks: keys sized to their label in a recessed tray; the chosen one latches down with its LED lit */
.wview .kft-ticker-metric-switch{display:inline-flex!important;flex:0 0 auto!important;width:auto!important;max-width:100%;overflow-x:auto;scrollbar-width:none;gap:4px!important;padding:4px!important;border-radius:10px!important;background:var(--tray)!important;border:1px solid var(--tray-edge)!important;box-shadow:inset 0 2px 4px #0005,inset 0 -1px #ffffff0c!important}
html[data-theme=light] .wview .kft-ticker-metric-switch{box-shadow:inset 0 2px 4px #0002,inset 0 -1px #fff!important}
.wview .kft-ticker-metric-switch>:is(.kft-btn,.kft-dock-item){flex:0 0 auto!important;flex-direction:column;gap:3px!important;min-height:36px!important;padding:5px 14px!important;border-radius:6px!important;color:var(--ink-2)!important;
  background:linear-gradient(var(--key-top),var(--key-bot))!important;border:1px solid var(--key-edge)!important;border-top-color:var(--key-lip)!important;box-shadow:inset 0 1px #ffffff0c,0 2px 0 var(--key-skirt)!important;transform:none!important}
.wview .kft-ticker-metric-switch>:is(.kft-btn,.kft-dock-item)::before{content:"";display:block;width:4px;height:4px;border-radius:50%;background:var(--led);box-shadow:inset 0 1px 1px #0008}
.wview .kft-ticker-metric-switch>:is(.kft-btn,.kft-dock-item)[aria-pressed=true]{color:var(--ink)!important;background:linear-gradient(var(--key-mid),var(--key-bot))!important;box-shadow:inset 0 1px 3px #0006,0 1px 0 var(--key-skirt)!important;transform:translateY(1px)!important}
.wview .kft-ticker-metric-switch>:is(.kft-btn,.kft-dock-item)[aria-pressed=true]::before{background:var(--led-on);box-shadow:0 0 6px var(--led-on)}
.wview .kft-ticker-metric-switch>:is(.kft-btn,.kft-dock-item):active{transform:translateY(2px)!important}
.wview .kft-rot-pro{margin-left:4px;padding:0 5px;border-radius:4px;background:linear-gradient(var(--acc-top),var(--acc-bot));color:var(--accent-ink);font:800 8.5px/1.6 Manrope;letter-spacing:.06em;text-transform:uppercase}
.wview .kft-ticker-metric-switch>.kft-btn:has(.kft-rot-pro){display:inline-grid!important;grid-template-columns:auto auto;align-items:center;justify-content:center;column-gap:0!important}
.wview .kft-ticker-metric-switch>.kft-btn:has(.kft-rot-pro)::before{grid-column:1/-1;justify-self:center}
