/* ============================================================
   TickerStrike theme · v0.2 — token packs + swappable skins
   Framework-agnostic: pure CSS custom properties + component classes.
   No Tailwind dependency (coexists fine). No build step required.
   Scope: everything lives under .ts-app to avoid collisions.

   THEMES (set data-ts-theme on the .ts-app element; JS: TickerStrikeTheme.setTheme):
     (none) / "bigboard"  → DEFAULT: blue command deck, GREEN reserved for
                            the machine (Simulations/CRT). "The mix."
     "bigboard-blue"      → Big Board, all-blue: machine room in blue phosphor.
     "sim-green"          → all-green terminal skin (WarGames), whole app.
     "sim-blue"           → same terminal aesthetic, blue phosphor foundation.
     "printout"           → light/paper hook (tokens only, unfinished).

   Doctrine (theme-invariant): amber = warnings/annotations · red reserved for
   abort/fire, never P&L decoration · truth-layer semantics identical in every
   skin — reskin the war room, never the math (BRAND_DIRECTION.md).

   COMPONENT RULES CONSUME TOKENS ONLY. A new skin = one token pack below
   (§15) + optional chrome overrides (§16). Never edit components per theme.
   ============================================================ */

/* ---------- 1 · TOKENS (default pack = "bigboard", the mix) ---------- */
.ts-app{
  /* base */
  --ts-bg:#04070f;
  --ts-panel:#081120;
  --ts-panel-2:#0b1729;
  --ts-line:#14294a;
  --ts-line-bright:#2b5a96;
  --ts-text:#cfe2f8;
  --ts-dim:#4f6f9e;
  --ts-dimmer:#31496b;
  --ts-sidebar-bg:#030509;
  /* command (the foundation color — human decides) */
  --ts-cmd:#409cff;
  --ts-cmd-bright:#9fc9ff;
  --ts-cmd-glow:rgba(64,156,255,.45);
  --ts-on-accent:#02060d;             /* text sitting ON a filled accent */
  --ts-accent-soft:rgba(64,156,255,.08);
  --ts-hot-glow:rgba(64,156,255,.06);
  --ts-guard-face:#12233f;
  /* machine (the engine speaks — green in the default mix) */
  --ts-machine:#69f0a0;
  --ts-machine-mid:#5f8a6b;
  --ts-machine-dim:#2a6b40;
  --ts-machine-deep:#12331f;
  --ts-machine-glow:rgba(105,240,160,.35);
  --ts-machine-bg:#020503;
  --ts-crt-glow:rgba(105,240,160,.05);
  /* radar — inherits the command palette by default; §8 remaps it INSIDE
     the machine room, so the instrument renders per theme AND location */
  --ts-radar-accent:var(--ts-cmd);
  --ts-radar-bright:var(--ts-cmd-bright);
  --ts-radar-glow:var(--ts-cmd-glow);
  --ts-radar-ring:var(--ts-line);
  --ts-radar-wash:var(--ts-accent-soft);
  /* semantic — INVARIANT across skins */
  --ts-warn:#e8c268;
  --ts-warn-line:#6b5b2a;
  --ts-danger:#ff4a3d;
  --ts-danger-line:#6b241e;
  /* type */
  --ts-font-mono:"IBM Plex Mono",ui-monospace,monospace;
  --ts-font-proj:"Michroma",sans-serif;
  --ts-font-voice:"VT323",monospace;
  --ts-font-prose:"Inter",system-ui,sans-serif;

  background:var(--ts-bg);
  color:var(--ts-text);
  font-family:var(--ts-font-mono);
  font-size:13.5px;
  line-height:1.55;
}

/* chrome overlay: faint command grid (sim skins swap this for scanlines, §16) */
.ts-app{position:relative}
.ts-app::before{content:"";position:fixed;inset:0;opacity:.045;pointer-events:none;z-index:0;
  background-image:repeating-linear-gradient(0deg,var(--ts-cmd) 0 1px,transparent 1px 46px),
                   repeating-linear-gradient(90deg,var(--ts-cmd) 0 1px,transparent 1px 46px)}
.ts-app>*{position:relative;z-index:1}

/* ---------- 2 · LAYOUT ---------- */
.ts-shell{display:flex;min-height:100vh}
.ts-sidebar{width:192px;background:var(--ts-sidebar-bg);border-right:1px solid var(--ts-line);padding:16px 12px;flex-shrink:0}
.ts-main{flex:1;padding:0 30px 60px;max-width:1120px}
.ts-statusbar{display:flex;gap:16px;align-items:center;border-bottom:1px solid var(--ts-line);padding:8px 0;font:500 10.5px var(--ts-font-mono);color:var(--ts-dim);flex-wrap:wrap}

/* ---------- 3 · BRAND / NAV (two logo variants; skins pick, §16) ---------- */
.ts-brand{display:flex;align-items:center;gap:8px;font:700 13px var(--ts-font-mono);padding:4px 6px 16px;color:var(--ts-text)}
.ts-brand svg{color:var(--ts-cmd);filter:drop-shadow(0 0 7px var(--ts-cmd-glow))}
.ts-brand .ts-brand-accent{color:var(--ts-cmd)}
.ts-logo--board{display:inline-flex;align-items:center;gap:8px}
.ts-logo--sim{display:none;font-family:var(--ts-font-voice);font-size:21px;color:var(--ts-cmd);letter-spacing:.03em;text-shadow:0 0 14px var(--ts-cmd-glow)}
.ts-nav a{display:flex;align-items:center;gap:10px;padding:7px 10px;color:var(--ts-dim);text-decoration:none;font-size:12px;border-left:2px solid transparent}
.ts-nav a:hover{color:var(--ts-text)}
.ts-nav a.is-active{color:var(--ts-cmd-bright);border-left-color:var(--ts-cmd);background:linear-gradient(90deg,var(--ts-accent-soft),transparent)}
.ts-nav-sec{font:600 9px var(--ts-font-mono);color:var(--ts-dimmer);letter-spacing:.14em;padding:14px 10px 5px;text-transform:uppercase}

/* ---------- 4 · TYPO COMPONENTS ---------- */
.ts-proj-head{font-family:var(--ts-font-proj);font-size:19px;letter-spacing:.18em;color:var(--ts-cmd-bright);text-shadow:0 0 22px var(--ts-cmd-glow);margin:24px 0 2px;text-transform:uppercase}
.ts-proj-sub{font:500 10.5px var(--ts-font-mono);color:var(--ts-dim);letter-spacing:.14em;margin-bottom:18px;text-transform:uppercase}
.ts-eyebrow{font:600 10px var(--ts-font-mono);letter-spacing:.14em;color:var(--ts-dimmer);text-transform:uppercase;margin:22px 0 8px}
.ts-prose{font-family:var(--ts-font-prose);font-size:13px;color:var(--ts-dim)}
.ts-prose b,.ts-prose strong{color:var(--ts-text)}
.ts-dim{color:var(--ts-dim)}.ts-dimmer{color:var(--ts-dimmer)}
.ts-up{color:var(--ts-cmd-bright)}.ts-warn{color:var(--ts-warn)}.ts-danger{color:var(--ts-danger)}.ts-mach{color:var(--ts-machine)}

/* ---------- 5 · PANELS / ROWS ---------- */
.ts-panel{background:var(--ts-panel);border:1px solid var(--ts-line);padding:20px 22px;margin-bottom:10px}
.ts-panel--hot{border-color:var(--ts-line-bright);box-shadow:0 0 44px var(--ts-hot-glow)}
.ts-row{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--ts-line);font-size:12.5px;color:var(--ts-dim)}
.ts-row:last-child{border-bottom:none}
.ts-row b{color:var(--ts-text)}
.ts-row-action{margin-left:auto;flex-shrink:0}
.ts-statgrid{display:flex;text-align:center;border-bottom:1px solid var(--ts-line);padding:14px 0}
.ts-statgrid>div{flex:1}
.ts-statgrid>div+div{border-left:1px solid var(--ts-line)}
.ts-statgrid b{font:600 16px var(--ts-font-mono)}
.ts-statgrid .ts-statlabel{font:600 9px var(--ts-font-mono);color:var(--ts-dimmer);letter-spacing:.1em;text-transform:uppercase}
.ts-kv{display:flex;justify-content:space-between;padding:4px 0;font-size:12.5px}

/* ---------- 6 · CHIPS / BUTTONS / LAMPS ---------- */
.ts-chip{display:inline-block;font:600 9.5px var(--ts-font-mono);letter-spacing:.08em;padding:2px 8px;border:1px solid var(--ts-line);color:var(--ts-dim);text-transform:uppercase}
.ts-chip--cmd{border-color:var(--ts-line-bright);color:var(--ts-cmd-bright)}
.ts-chip--machine{border-color:var(--ts-machine-dim);color:var(--ts-machine)}
.ts-chip--warn{border-color:var(--ts-warn-line);color:var(--ts-warn)}
.ts-chip--danger{border-color:var(--ts-danger-line);color:var(--ts-danger)}
.ts-btn{display:inline-block;padding:9px 16px;border:1px solid var(--ts-line-bright);background:transparent;color:var(--ts-cmd-bright);font:600 12px var(--ts-font-mono);cursor:pointer;letter-spacing:.04em;text-transform:uppercase}
.ts-btn:hover{background:var(--ts-accent-soft)}
.ts-btn--primary{background:var(--ts-cmd);border-color:var(--ts-cmd);color:var(--ts-on-accent);font-weight:700}
.ts-btn--primary:hover{filter:brightness(1.1);background:var(--ts-cmd)}
.ts-btn--ghost{border-color:var(--ts-line);color:var(--ts-dim)}
.ts-btn--sm{padding:5px 10px;font-size:11px}
.ts-lamp{display:inline-flex;align-items:center;gap:7px;font:600 9.5px var(--ts-font-mono);color:var(--ts-dim);letter-spacing:.08em;text-transform:uppercase}
.ts-lamp i{width:11px;height:11px;border-radius:50%;box-shadow:inset 0 -2px 3px rgba(0,0,0,.5);flex-shrink:0}
.ts-lamp--ok i{background:radial-gradient(circle at 35% 30%,#b8ffcf,#2e9e5b 60%,#14522c);box-shadow:0 0 9px rgba(70,220,130,.5)}
.ts-lamp--cmd i{background:radial-gradient(circle at 35% 30%,#d5e8ff,#3b82d6 60%,#173a66);box-shadow:0 0 9px rgba(64,156,255,.5)}
.ts-lamp--warn i{background:radial-gradient(circle at 35% 30%,#ffe9b0,#d9a33a 60%,#7a5210);box-shadow:0 0 9px rgba(230,180,70,.5)}
.ts-lamp--off i{background:#1a2436}

/* ---------- 7 · STRIKECON ---------- */
.ts-strikecon{display:flex;gap:5px;align-items:center}
.ts-strikecon .ts-strikecon-label{border:none;padding:0;color:var(--ts-dimmer);font:600 10px var(--ts-font-mono);letter-spacing:.1em}
.ts-strikecon span{padding:2px 8px;border:1px solid var(--ts-line);color:var(--ts-dim);font-weight:600;font-size:10px}
.ts-strikecon .is-on{background:var(--ts-cmd);color:var(--ts-on-accent);border-color:var(--ts-cmd);font-weight:700}

/* ---------- 8 · RADAR (location-aware instrument) ----------
   Consumes --ts-radar-* tokens, which default to the COMMAND palette.
   Inside the machine room (.ts-crt) they remap to the MACHINE palette,
   so the same markup renders blue on the command deck and phosphor
   in the machine's room — and follows whatever the active skin says
   those palettes are. */
.ts-radar{width:140px;height:140px;border-radius:50%;border:1px solid var(--ts-radar-ring);position:relative;flex-shrink:0;
  background:radial-gradient(circle,var(--ts-radar-wash),transparent 72%);box-shadow:inset 0 0 24px var(--ts-radar-wash)}
.ts-radar::before{content:"";position:absolute;inset:24%;border:1px solid var(--ts-radar-ring);border-radius:50%}
.ts-radar::after{content:"";position:absolute;left:50%;top:8%;bottom:8%;width:1px;background:var(--ts-radar-ring)}
.ts-radar .ts-radar-sweep{position:absolute;left:50%;top:50%;width:50%;height:1.5px;
  background:linear-gradient(90deg,var(--ts-radar-bright),transparent);transform-origin:0 0;
  animation:ts-sweep 3.4s linear infinite;box-shadow:0 0 8px var(--ts-radar-glow)}
.ts-radar .ts-blip{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--ts-radar-bright);box-shadow:0 0 8px var(--ts-radar-glow)}
.ts-radar .ts-blip--far{opacity:.4;box-shadow:none}
@keyframes ts-sweep{to{transform:rotate(360deg)}}
.ts-crt .ts-radar{
  --ts-radar-accent:var(--ts-machine);
  --ts-radar-bright:var(--ts-machine);
  --ts-radar-glow:var(--ts-machine-glow);
  --ts-radar-ring:var(--ts-machine-deep);
  --ts-radar-wash:rgba(0,0,0,.25);
}
.ts-radar--sm{width:96px;height:96px}

/* ---------- 9 · THE MACHINE'S ROOM (CRT session) ---------- */
.ts-crt{background:var(--ts-machine-bg);border:1px solid var(--ts-machine-dim);position:relative;overflow:hidden;
  padding:26px 30px 20px;box-shadow:inset 0 0 120px rgba(0,0,0,.75),0 0 44px var(--ts-crt-glow);
  animation:ts-crackle 7s infinite;color:var(--ts-text)}
.ts-crt::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;
  background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.22) 2px 4px)}
.ts-crt::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;
  background:radial-gradient(ellipse 90% 80% at 50% 45%,transparent 55%,rgba(0,0,0,.5))}
.ts-crt>*{position:relative;z-index:2}
.ts-crt[data-ts-scanlines="off"]::before{display:none}
@keyframes ts-crackle{0%,96%,100%{opacity:1}97%{opacity:.93}98%{opacity:1}99%{opacity:.96}}
.ts-sessbar{display:flex;gap:14px;font:600 10px var(--ts-font-mono);color:var(--ts-machine-dim);letter-spacing:.12em;
  border-bottom:1px dashed var(--ts-machine-deep);padding-bottom:8px;margin-bottom:16px;text-transform:uppercase}
.ts-sessbar .is-live{color:var(--ts-machine)}
.ts-voice{font-family:var(--ts-font-voice);font-size:20px;color:var(--ts-machine);letter-spacing:.02em}
.ts-voice--sm{font-size:16px;color:var(--ts-machine-mid)}
.ts-voice--xl{font-size:26px}
.ts-cursor{animation:ts-blink 1.1s steps(2) infinite}
@keyframes ts-blink{50%{opacity:.2}}
[data-ts-boot]{opacity:0;transform:translateY(2px);transition:opacity .25s ease,transform .25s ease}
[data-ts-boot].is-booted{opacity:1;transform:none}
.ts-verdict-num{font:700 42px var(--ts-font-voice);color:var(--ts-machine);text-shadow:0 0 18px var(--ts-machine-glow)}
.ts-bars .ts-bar{transform:scaleY(0);transform-origin:bottom;transform-box:fill-box;transition:transform .5s ease}
.ts-bars.is-booted .ts-bar{transform:scaleY(1)}
.ts-cmdrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.ts-cmdtoken{font:600 12px var(--ts-font-mono);color:var(--ts-machine);background:transparent;border:none;cursor:pointer;padding:6px 4px;letter-spacing:.04em;text-transform:uppercase}
.ts-cmdtoken::before{content:"["}.ts-cmdtoken::after{content:"]"}
.ts-cmdtoken:hover{background:var(--ts-accent-soft)}
.ts-promptline{display:flex;gap:8px;align-items:center;border-top:1px dashed var(--ts-machine-deep);margin-top:16px;padding-top:10px;
  font-family:var(--ts-font-voice);font-size:18px;color:var(--ts-machine-mid)}
.ts-promptline .is-live{color:var(--ts-machine)}

/* ---------- 10 · TWO-STEP STRIKE CONTROL ---------- */
.ts-strikectl{background:var(--ts-panel-2);border:1px solid var(--ts-line-bright);padding:16px;text-align:center}
.ts-strikectl .ts-engrave{font:600 9.5px var(--ts-font-mono);letter-spacing:.18em;color:var(--ts-dim);margin-bottom:10px;text-transform:uppercase}
.ts-guardwrap{position:relative;width:150px;height:64px;margin:0 auto 10px;perspective:400px}
.ts-fire{position:absolute;inset:0;background:#1a0b08;border:1px solid var(--ts-danger);color:var(--ts-danger);
  font:700 13px var(--ts-font-mono);letter-spacing:.12em;cursor:pointer}
.ts-fire:disabled{opacity:.9;cursor:not-allowed}
.ts-fire.is-live{background:var(--ts-danger);color:#160404;box-shadow:0 0 24px rgba(255,74,61,.4);animation:ts-firepulse 1.2s ease-in-out infinite}
@keyframes ts-firepulse{50%{box-shadow:0 0 40px rgba(255,74,61,.65)}}
.ts-guard{position:absolute;inset:0;background:linear-gradient(180deg,var(--ts-guard-face),var(--ts-panel-2));border:1px solid var(--ts-line-bright);
  display:flex;align-items:center;justify-content:center;font:700 10.5px var(--ts-font-mono);letter-spacing:.16em;
  color:var(--ts-cmd-bright);cursor:pointer;transform-origin:top;transition:transform .45s ease;z-index:2;text-transform:uppercase}
.ts-guard::after{content:"";position:absolute;inset:6px;border:1px dashed var(--ts-accent-soft)}
.ts-guard.is-open{transform:rotateX(112deg);pointer-events:none}

/* ---------- 11 · TOAST (machine voice) ---------- */
.ts-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(200%);
  background:var(--ts-sidebar-bg);border:1px solid var(--ts-machine-dim);color:var(--ts-machine);
  font-family:var(--ts-font-voice);font-size:19px;padding:12px 22px;z-index:200;transition:transform .25s ease;max-width:88vw}
.ts-toast.is-shown{transform:translateX(-50%) translateY(0)}

/* ---------- 12 · DISCLOSURE ---------- */
.ts-app details{margin:8px 0}
.ts-app summary{cursor:pointer;font:600 10px var(--ts-font-mono);color:var(--ts-dimmer);letter-spacing:.08em;text-transform:uppercase;list-style:none}
.ts-app summary::before{content:"▸ "}
.ts-app details[open] summary::before{content:"▾ "}
.ts-app details .ts-details-body{padding:10px 0 0;color:var(--ts-dim);font-size:12.5px}

/* ---------- 13 · THEME TOGGLE WIDGET ----------
   Put <span class="ts-theme-toggle" data-ts-theme-toggle></span> anywhere;
   JS renders the buttons and keeps every instance in sync. */
.ts-theme-toggle{display:inline-flex;border:1px solid var(--ts-line);overflow:hidden}
.ts-theme-toggle button{font:600 9px var(--ts-font-mono);letter-spacing:.08em;padding:4px 9px;background:transparent;
  color:var(--ts-dim);border:none;border-right:1px solid var(--ts-line);cursor:pointer;text-transform:uppercase;white-space:nowrap}
.ts-theme-toggle button:last-child{border-right:none}
.ts-theme-toggle button:hover{color:var(--ts-text)}
.ts-theme-toggle button.is-active{background:var(--ts-cmd);color:var(--ts-on-accent)}

/* ---------- 14 · ACCESSIBILITY ---------- */
@media (prefers-reduced-motion: reduce){
  .ts-radar .ts-radar-sweep{animation:none}
  .ts-crt{animation:none}
  .ts-fire.is-live{animation:none}
  .ts-cursor{animation:none}
  [data-ts-boot]{transition:none}
}

/* ============================================================
   15 · TOKEN PACKS (the skins)
   ============================================================ */

/* --- "bigboard-blue" — Big Board, all-blue: only the machine remaps --- */
.ts-app[data-ts-theme="bigboard-blue"]{
  --ts-machine:#8ec4ff;
  --ts-machine-mid:#4f6f9e;
  --ts-machine-dim:#2b5a96;
  --ts-machine-deep:#14294a;
  --ts-machine-glow:rgba(64,156,255,.35);
  --ts-machine-bg:#020510;
  --ts-crt-glow:rgba(64,156,255,.05);
}

/* --- "sim-green" — the all-green terminal (WarGames) --- */
.ts-app[data-ts-theme="sim-green"]{
  --ts-bg:#050807;
  --ts-panel:#081209;
  --ts-panel-2:#0c1810;
  --ts-line:#12331f;
  --ts-line-bright:#2a6b40;
  --ts-text:#c9e8cf;
  --ts-dim:#5f8a6b;
  --ts-dimmer:#3d5c47;
  --ts-sidebar-bg:#030503;
  --ts-cmd:#69f0a0;
  --ts-cmd-bright:#a5ffc8;
  --ts-cmd-glow:rgba(105,240,160,.35);
  --ts-on-accent:#03140a;
  --ts-accent-soft:rgba(105,240,160,.08);
  --ts-hot-glow:rgba(105,240,160,.06);
  --ts-guard-face:#123322;
  /* machine == foundation in a monochrome terminal */
  --ts-machine:#69f0a0;
  --ts-machine-mid:#5f8a6b;
  --ts-machine-dim:#2a6b40;
  --ts-machine-deep:#12331f;
  --ts-machine-glow:rgba(105,240,160,.35);
  --ts-machine-bg:#020503;
  --ts-crt-glow:rgba(105,240,160,.05);
}

/* --- "sim-blue" — same terminal aesthetic, blue phosphor --- */
.ts-app[data-ts-theme="sim-blue"]{
  --ts-bg:#03060e;
  --ts-panel:#060d1a;
  --ts-panel-2:#0a1524;
  --ts-line:#14294a;
  --ts-line-bright:#2b5a96;
  --ts-text:#cfe2f8;
  --ts-dim:#4f6f9e;
  --ts-dimmer:#31496b;
  --ts-sidebar-bg:#020409;
  --ts-cmd:#409cff;
  --ts-cmd-bright:#9fc9ff;
  --ts-cmd-glow:rgba(64,156,255,.45);
  --ts-on-accent:#02060d;
  --ts-accent-soft:rgba(64,156,255,.08);
  --ts-hot-glow:rgba(64,156,255,.06);
  --ts-guard-face:#12233f;
  --ts-machine:#8ec4ff;
  --ts-machine-mid:#4f6f9e;
  --ts-machine-dim:#2b5a96;
  --ts-machine-deep:#14294a;
  --ts-machine-glow:rgba(64,156,255,.35);
  --ts-machine-bg:#020510;
  --ts-crt-glow:rgba(64,156,255,.05);
}

/* --- "printout" — light/paper hook (tokens only, fill in later) --- */
.ts-app[data-ts-theme="printout"]{
  --ts-bg:#f3efe2; --ts-panel:#faf7ec; --ts-panel-2:#ece7d5;
  --ts-line:#d5cdb4; --ts-line-bright:#b8ae90;
  --ts-text:#33352c; --ts-dim:#6b6347; --ts-dimmer:#8a8266;
  --ts-sidebar-bg:#ece7d5;
  --ts-cmd:#2b5a96; --ts-cmd-bright:#1c4478; --ts-cmd-glow:rgba(43,90,150,.2);
  --ts-on-accent:#faf7ec; --ts-accent-soft:rgba(43,90,150,.08);
  --ts-hot-glow:rgba(43,90,150,.08); --ts-guard-face:#d5cdb4;
  --ts-machine:#2e6b45; --ts-machine-mid:#6b8a72; --ts-machine-dim:#a8b088; --ts-machine-deep:#c5cba8;
  --ts-machine-bg:#eef0e2; --ts-machine-glow:rgba(46,107,69,.15); --ts-crt-glow:rgba(46,107,69,.06);
}
.ts-app[data-ts-theme="printout"]::before{display:none}

/* ============================================================
   16 · PER-THEME CHROME (overlay, headers, logo) — sim skins
   ============================================================ */

/* terminal skins: scanlines instead of the command grid */
.ts-app[data-ts-theme^="sim-"]::before{opacity:1;
  background-image:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.13) 2px 4px)}

/* terminal skins: headers speak in the machine's voice */
.ts-app[data-ts-theme^="sim-"] .ts-proj-head{font-family:var(--ts-font-voice);font-size:27px;letter-spacing:.06em;text-transform:uppercase}

/* logo swap: crosshair wordmark on the board, teletype wordmark in the terminal */
.ts-app[data-ts-theme^="sim-"] .ts-logo--board{display:none}
.ts-app[data-ts-theme^="sim-"] .ts-logo--sim{display:inline}
