/* ── Light Theme Override ─────────────────────────────────────────────── */
/* Applied via html[data-theme="light"]                                   */
/* Dark theme is the default — all pages already define dark :root vars   */

html[data-theme="light"] {
  --bg:      #ffffff;
  --black:   #ffffff;
  --deep:    #f5f5f5;
  --navy:    #ffffff;
  --navy2:   #f5f5f5;
  --navy3:   #eeeeee;
  --surface: #f5f5f5;
  --card:    #ffffff;
  --panel:   #ffffff;
  --border:  #e0e0e0;
  --border2: #cccccc;
  --gold:    #9a7a3a;
  --gold2:   #886828;
  --gold3:   #705818;
  --silver:  #5a6878;
  --text:    #2a3040;
  --bright:  #141820;
  /* --muted contrast on --surface (#f5f5f5) clears AAA (≥7:1). */
  --muted:   #4a5868;
  --muted2:  #888888;
  --white:   #141820;
  --red:     #b83030;
  --green:   #2a7848;
  --cyan:    #1a6080;
  --amber:   #9a7a3a;
  --amber2:  #886828;
  --orange:  #b06030;
  --flip-bg: #ffffff;
  --accent:  #9a7a3a;
  --accent-dim: rgba(154,122,58,0.12);
  color-scheme: light;
}

/* ── Body & background radials ───────────────────────────────────────── */
html[data-theme="light"] body {
  background-color: #ffffff !important;
  background-image: none !important;
}

/* ── Nav — all variants ──────────────────────────────────────────────── */
html[data-theme="light"] nav,
html[data-theme="light"] nav#main-nav,
html[data-theme="light"] .top-nav {
  background: linear-gradient(180deg, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0) 100%) !important;
  border-bottom: none !important;
}
html[data-theme="light"] nav.scrolled,
html[data-theme="light"] nav#main-nav.scrolled,
html[data-theme="light"] .top-nav.scrolled {
  background: rgba(255,255,255,0.97) !important;
  border-bottom: 1px solid rgba(154,122,58,0.2) !important;
  backdrop-filter: blur(20px) !important;
}
/* Home-page hero nav — transparent over a daylight ocean (matches the
   stats-strip). The frosted white gradient stays on non-hero light pages;
   the solid .scrolled background above still takes over once the page
   scrolls, so nav text never floats over page content unbacked. */
html[data-theme="light"] body[data-scene^="DAY"] nav#main-nav:not(.scrolled),
html[data-theme="light"] body[data-scene="DAWN"] nav#main-nav:not(.scrolled),
html[data-theme="light"] body[data-scene="DUSK"] nav#main-nav:not(.scrolled) {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: none !important;
}
/* Hero dropdowns — frosted glass over the ocean. Fully transparent was
   unreadable against the moving sea, so back the menu with a translucent
   white + blur: the ocean shows through softly but the labels stay crisp.
   Non-hero light pages keep the solid white dropdown. */
html[data-theme="light"] body[data-scene^="DAY"] nav#main-nav .nav-dropdown,
html[data-theme="light"] body[data-scene="DAWN"] nav#main-nav .nav-dropdown,
html[data-theme="light"] body[data-scene="DUSK"] nav#main-nav .nav-dropdown {
  background: rgba(255,255,255,0.55) !important;
  border: 1px solid rgba(154,122,58,0.2) !important;
  border-top: 2px solid var(--gold) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.10) !important;
  backdrop-filter: blur(16px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
}
html[data-theme="light"] body[data-scene^="DAY"] nav#main-nav .nav-dropdown li a,
html[data-theme="light"] body[data-scene="DAWN"] nav#main-nav .nav-dropdown li a,
html[data-theme="light"] body[data-scene="DUSK"] nav#main-nav .nav-dropdown li a {
  color: var(--text) !important;
}
html[data-theme="light"] .nav-dropdown {
  background: rgba(255,255,255,0.98) !important;
  border-color: rgba(154,122,58,0.2) !important;
  border-top-color: var(--gold) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.08) !important;
}
html[data-theme="light"] .nav-dropdown li a:hover {
  background: rgba(154,122,58,0.06) !important;
}
html[data-theme="light"] .mobile-menu {
  background: rgba(255,255,255,0.97) !important;
}

/* ── Cards, panels, surfaces ─────────────────────────────────────────── */
html[data-theme="light"] .card,
html[data-theme="light"] .stat-box,
html[data-theme="light"] .chart-card,
html[data-theme="light"] .gauge-card,
html[data-theme="light"] .summary-card,
html[data-theme="light"] .info-card,
html[data-theme="light"] .detail-card,
html[data-theme="light"] .section-card,
html[data-theme="light"] .metric-card,
html[data-theme="light"] .kpi-card {
  background: var(--card) !important;
  border-color: var(--border) !important;
}

/* ── Tables ──────────────────────────────────────────────────────────── */
html[data-theme="light"] table.data-table thead,
html[data-theme="light"] .table-wrap thead {
  background: var(--surface) !important;
}
html[data-theme="light"] table.data-table th {
  border-bottom-color: var(--border) !important;
}
html[data-theme="light"] table.data-table td {
  border-bottom-color: var(--border) !important;
}
html[data-theme="light"] table.data-table tr:hover td {
  background: rgba(154,122,58,0.04) !important;
}

/* ── Forms & inputs ──────────────────────────────────────────────────── */
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea {
  background: var(--card) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
html[data-theme="light"] input:focus,
html[data-theme="light"] select:focus,
html[data-theme="light"] textarea:focus {
  border-color: var(--gold) !important;
}
html[data-theme="light"] input[type="date"] { color-scheme: light !important; }

/* ── Toggles & switches ─────────────────────────────────────────────── */
html[data-theme="light"] .alarm-slider,
html[data-theme="light"] .bridge-switch,
html[data-theme="light"] .bridge-toggle-switch {
  background: var(--border) !important;
  border-color: var(--border2) !important;
}

/* ── Modal / overlay backgrounds ─────────────────────────────────────── */
html[data-theme="light"] .overlay,
html[data-theme="light"] .modal,
html[data-theme="light"] .modal-content,
html[data-theme="light"] .popup,
html[data-theme="light"] .dialog {
  background: rgba(255,255,255,0.98) !important;
  border-color: var(--border) !important;
}

/* ── Page-level dark backgrounds used with rgba ──────────────────────── */
html[data-theme="light"] .page-header {
  border-bottom-color: rgba(154,122,58,0.12) !important;
}
html[data-theme="light"] .section-header {
  border-bottom-color: var(--border) !important;
}
/* Stats-strip — transparent in every scene, matching the dark-theme look.
   The hero text stays legible via the --white/--text/--muted overrides
   below; no filled "box" is drawn over the ocean. */
html[data-theme="light"] body[data-scene^="DAY"] .stats-strip,
html[data-theme="light"] body[data-scene="DAWN"] .stats-strip,
html[data-theme="light"] body[data-scene="DUSK"] .stats-strip {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Hero scene follows the ocean canvas, not the chrome theme. When the canvas
   is in a night/storm state, restore the dark-theme palette inside .hero so
   the title and stats stay bright against the dark sea. */
html[data-theme="light"] body[data-scene^="NIGHT"] .hero,
html[data-theme="light"] body[data-scene="SQUALL"] .hero {
  --white:  #e8eef8;
  --bright: #ffffff;
  --text:   #c8d0dc;
  --muted:  #8898a8;
  --border: rgba(184,150,90,0.15);
}

/* ── Period selector ─────────────────────────────────────────────────── */
html[data-theme="light"] .period-selector {
  background: var(--card) !important;
  border-color: var(--border) !important;
}
html[data-theme="light"] .period-btn.active {
  background: rgba(154,122,58,0.15) !important;
}

/* ── Scrollbar ───────────────────────────────────────────────────────── */
html[data-theme="light"] ::-webkit-scrollbar-track { background: var(--bg); }
html[data-theme="light"] ::-webkit-scrollbar-thumb { background: var(--border); }

/* ── Tooltips (Chart.js) ─────────────────────────────────────────────── */
html[data-theme="light"] .chartjs-tooltip {
  background: rgba(255,255,255,0.95) !important;
}

/* ── Orders page specifics ───────────────────────────────────────────── */
html[data-theme="light"] .so-block,
html[data-theme="light"] .card-body,
html[data-theme="light"] .so-header,
html[data-theme="light"] .orders-card,
html[data-theme="light"] .night-orders-card {
  background: var(--card) !important;
}
html[data-theme="light"] .so-section {
  background: var(--surface) !important;
}

/* ── Travel page specifics ───────────────────────────────────────────── */
html[data-theme="light"] .crew-card,
html[data-theme="light"] .flight-card,
html[data-theme="light"] .booking-card,
html[data-theme="light"] .trip-card,
html[data-theme="light"] .admin-card,
html[data-theme="light"] .admin-body,
html[data-theme="light"] .trip-header,
html[data-theme="light"] .segment-card,
html[data-theme="light"] .timeline-card {
  background: var(--card) !important;
  border-color: var(--border) !important;
}
html[data-theme="light"] .status-badge {
  border-color: var(--border) !important;
}

/* ── Stars page specifics ────────────────────────────────────────────── */
html[data-theme="light"] .star-card,
html[data-theme="light"] .constellation-card,
html[data-theme="light"] .planet-card,
html[data-theme="light"] .rise-set-card,
html[data-theme="light"] .guide-card,
html[data-theme="light"] .body-card,
html[data-theme="light"] .overlay-content {
  background: var(--card) !important;
  border-color: var(--border) !important;
}

/* ── Index / dashboard specifics ─────────────────────────────────────── */
html[data-theme="light"] .hero {
  background: transparent !important;
}
html[data-theme="light"] .tile,
html[data-theme="light"] .widget,
html[data-theme="light"] .dash-card,
html[data-theme="light"] .dash-widget {
  background: var(--card) !important;
  border-color: var(--border) !important;
}
/* Command-center cards: the default dark fill (rgba(6,12,20,0.65)) reads as
   grey over the white day-mode section, and the dark hover border is too
   heavy on white. Lift both so the cards look native in daylight. */
html[data-theme="light"] .dash-widget:hover {
  border-color: var(--gold) !important;
}

/* Status banner — keep transparent, no filled background */
html[data-theme="light"] .status-banner-wrap {
  background: transparent !important;
  border-top-color: rgba(154,122,58,0.15) !important;
  border-bottom-color: rgba(154,122,58,0.15) !important;
  backdrop-filter: none !important;
}
html[data-theme="light"] .status-banner-wrap .banner-item {
  border-right-color: var(--border) !important;
}

/* ── Analytics page specifics ────────────────────────────────────────── */
html[data-theme="light"] .summary-grid .summary-card {
  background: var(--card) !important;
}
html[data-theme="light"] .voyage-row:hover {
  background: rgba(154,122,58,0.04) !important;
}
html[data-theme="light"] #port-map {
  border-color: var(--border) !important;
}

/* ── Bridge mode — keep dark regardless of theme ─────────────────────── */
body.bridge-mode {
  background: #000 !important;
}

/* ── Theme Toggle Button ─────────────────────────────────────────────── */
.theme-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: none;
  border: 1px solid var(--border);
  border-radius: 6px;
  cursor: pointer;
  color: var(--silver);
  transition: color 0.2s, border-color 0.2s, background 0.2s;
  flex-shrink: 0;
}
.theme-toggle:hover {
  color: var(--gold);
  border-color: var(--gold);
  background: var(--accent-dim, rgba(184,150,90,0.08));
}
.theme-toggle svg { width: 16px; height: 16px; fill: currentColor; }
.theme-toggle .icon-sun  { display: none; }
.theme-toggle .icon-moon { display: block; }
html[data-theme="light"] .theme-toggle .icon-sun  { display: block; }
html[data-theme="light"] .theme-toggle .icon-moon { display: none; }

/* ── Responsive Breakpoints (shared across all pages) ───────────────── */
/* Tablet: 768px – 1024px */
@media (max-width: 1024px) {
  .page { padding-left: 20px; padding-right: 20px; }
}

/* Phone landscape: 480px – 768px */
@media (max-width: 768px) {
  .page { padding: 72px 16px 40px !important; }
  .page-title-bar { flex-wrap: wrap; gap: 8px; }
}

/* Phone portrait: up to 480px */
@media (max-width: 480px) {
  .page { padding: 72px 12px 32px !important; }
}

/* ── Nav-right icon row (shared across all pages) ────────────────────── */
.nav-right { display: flex; align-items: center; gap: 16px; flex-shrink: 0; position: absolute; right: 12px; }
.nav-home { position: absolute; left: 12px; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid var(--border2); color: var(--muted); border-radius: 3px; text-decoration: none; transition: 0.3s; }
.nav-home:hover { border-color: var(--gold); color: var(--gold); }

/* Per-vessel logo image — replaces the .nav-vessel text wordmark when
   brand_logo_url is set on vessel_particulars. Matches wordmark height. */
.nav-vessel-img { height: 32px; width: auto; display: block; }
@media (max-width: 600px) { .nav-vessel-img { height: 26px; } }

/* Force-center the nav categories on every page. Many legacy per-page
   styles use justify-content:space-between which pins the nav-links to
   the left edge — that collides with the home icon. !important because
   several page modules define nav#main-nav with the same specificity
   directly in a page-level <style> block. */
nav#main-nav { justify-content: center !important; }

/* Page modules also set .nav-links { flex:1 }, which makes nav-links
   stretch across the whole nav; the parent's justify-content: center
   then has no visual effect because there's only one flex-flow child
   and it fills the space. Center the items *inside* nav-links too. */
nav#main-nav .nav-links { justify-content: center !important; }

/* Hide the nav until nav.js replaces the legacy content — otherwise every
   non-dashboard page flashes "ARCTURUS · Dashboard · Bridge…" for a
   beat on first paint before nav.js swaps it out. nav.js sets
   navEl.style.visibility = 'visible' after buildNav, and a DOM-level
   style wins over this stylesheet rule. */
nav#main-nav { visibility: hidden; }

/* ── Notification panel (injected by nav.js on every page) ──────────── */
.notif-panel { position: fixed; top: 68px; right: 12px; width: 360px; max-height: 480px; background: var(--card); border: 1px solid var(--border2); border-radius: 6px; box-shadow: 0 12px 40px rgba(0,0,0,0.6); z-index: 10000; display: none; flex-direction: column; overflow: hidden; }
.notif-panel.open { display: flex; }
.notif-panel-header { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--border2); }
.notif-panel-title { font-family: 'Bebas Neue', sans-serif; font-size: 16px; letter-spacing: 3px; color: var(--gold2); }
.notif-mark-all { font-size: 11px; letter-spacing: 1px; color: var(--muted); background: none; border: none; cursor: pointer; text-transform: uppercase; transition: color 0.2s; }
.notif-mark-all:hover { color: var(--gold); }
.notif-list { overflow-y: auto; flex: 1; }
.notif-item { display: flex; gap: 10px; padding: 12px 16px; border-bottom: 1px solid rgba(255,255,255,0.04); cursor: pointer; transition: background 0.15s; text-decoration: none; color: inherit; }
.notif-item:hover { background: rgba(184,150,90,0.06); }
.notif-item.unread { background: rgba(184,150,90,0.04); }
.notif-item-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); margin-top: 5px; flex-shrink: 0; }
.notif-item.read .notif-item-dot { background: transparent; }
.notif-item-body { flex: 1; min-width: 0; }
.notif-item-title { font-size: 13px; font-weight: 500; color: var(--text); margin-bottom: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.notif-item-text  { font-size: 12px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.notif-item-time  { font-size: 10px; color: var(--muted); margin-top: 3px; letter-spacing: 0.5px; }
.notif-empty { padding: 32px 16px; text-align: center; color: var(--muted); font-size: 13px; }

/* Hide the pre-refactor standalone icons so they don't flash between
   server render and nav.js replacing the nav content. These classes only
   appear in hand-coded nav HTML that nav.js is about to rebuild anyway. */
nav#main-nav .bridge-toggle,
nav#main-nav .nav-settings-icon,
nav#main-nav .nav-theme-toggle { display: none !important; }

.nav-auth-slot { font-family: 'Bebas Neue', sans-serif; font-size: 14px; letter-spacing: 2px; color: var(--gold); text-transform: uppercase; }
.nav-settings-icon { display: flex; align-items: center; justify-content: center; background: none; border: 1px solid var(--border2); color: var(--muted); padding: 4px 8px; border-radius: 3px; text-decoration: none; transition: 0.3s; }
.nav-settings-icon:hover { border-color: var(--gold); color: var(--gold); }
.nav-logout-link { font-family: 'Bebas Neue', sans-serif; font-size: 14px; letter-spacing: 2px; color: #8a9eb8; text-decoration: none; border: 1px solid #1e3048; padding: 4px 10px; border-radius: 3px; transition: 0.2s; }
.nav-logout-link:hover { border-color: #b8965a; color: #b8965a; }
/* Site-login badge — the floating "logged in as" pill (oauth_server inject) */
.site-login-username { font-size: 10px; letter-spacing: 1px; font-family: 'JetBrains Mono', monospace; color: #8a9eb8; white-space: nowrap; }
.site-login-badge-float { position: fixed; bottom: 16px; right: 16px; z-index: 8888; background: rgba(10,21,32,0.92); border: 1px solid #1e3048; border-radius: 20px; padding: 5px 12px; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 1px; color: #8a9eb8; }
/* Generic error-page shell (404/500/400/feature-disabled) */
.error-page-body { background: #03060a; color: #c8d8e8; font-family: sans-serif; display: flex; align-items: center; justify-content: center; height: 100vh; text-align: center; }
.nav-bell { position: relative; display: flex; align-items: center; justify-content: center; background: none; border: 1px solid var(--border2); color: var(--muted); padding: 4px 8px; border-radius: 3px; cursor: pointer; transition: 0.3s; }
.nav-bell:hover { border-color: var(--gold); color: var(--gold); }
.nav-bell-badge { position: absolute; top: -5px; right: -5px; background: var(--red); color: #fff; font-size: 10px; font-weight: 600; line-height: 1; padding: 2px 4px; border-radius: 8px; min-width: 14px; text-align: center; display: none; }
.nav-bell-badge.visible { display: block; }
.nav-right .bridge-toggle { display: flex; align-items: center; justify-content: center; background: none; border: 1px solid var(--border2); color: var(--muted); padding: 4px 8px; border-radius: 3px; cursor: pointer; transition: 0.3s; margin-left: 0; gap: 0; font-size: inherit; letter-spacing: inherit; text-transform: none; }
.nav-right .bridge-toggle:hover { border-color: var(--gold); color: var(--gold); }
.nav-right .bridge-toggle .bridge-switch { display: none; }
.nav-right .bridge-toggle.active { border-color: var(--gold); color: var(--gold); }

/* Desktop tap-to-open dropdown (touch devices at desktop widths) */
.nav-links > li.mob-open > .nav-dropdown { opacity: 1 !important; visibility: visible !important; transform: translateY(0) !important; }

/* ── Mobile Nav — universal (all pages via theme.css injection) ──────────── */
/* All rules use !important so they win over per-page inline <style> blocks.   */
/* Default: pages without the username dropdown stay full-nav until ~300px.
 * The dashboard (which has the username dropdown) overrides this to 600px in
 * static/index.html — its per-page block triggers earlier.                    */
@media (max-width: 300px) {
  nav#main-nav { padding: 0 20px !important; }
  .hamburger { display: flex !important; }
  /* Closed state: full-screen overlay, hidden */
  .nav-links {
    display: none !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 64px !important;
    left: 0 !important;
    right: 0 !important;
    height: calc(100vh - 64px) !important;
    height: calc(100dvh - 64px) !important;
    background: rgba(3,6,10,0.98) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    padding: 20px 24px !important;
    gap: 0 !important;
    z-index: 9999 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    text-align: center !important;
    align-items: center !important;
  }
  /* Open state */
  .nav-links.open { display: flex !important; }
  /* Center items, hide underline animation */
  .nav-links > li > a,
  .nav-links > li > .nav-cat { justify-content: center !important; }
  .nav-links > li > a::after,
  .nav-links > li > .nav-cat::after { display: none !important; }
  /* Dropdowns: static/inline, hidden by default */
  .nav-dropdown {
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 0 8px 0 !important;
    min-width: auto !important;
    display: none !important;
  }
  /* Expanded section */
  .nav-links > li.mob-open > .nav-dropdown { display: block !important; }
  .nav-dropdown li a { padding: 6px 0 !important; font-size: 13px !important; letter-spacing: 2px !important; color: var(--muted) !important; }
  /* Arrow rotation */
  .nav-cat-arrow { transition: transform 0.2s !important; }
  .nav-links > li.mob-open .nav-cat-arrow { transform: rotate(180deg) !important; }
  /* Light theme mobile overlay */
  html[data-theme="light"] .nav-links { background: rgba(255,255,255,0.98) !important; }
}

/* Force the horizontal nav on every page that lacks the user-menu (everything
 * except the dashboard). Many per-page Python templates ship their own
 * @media(max-width:900px|1100px) blocks that flip to a burger overlay far
 * earlier than we want; this override neutralises them above 300px so the
 * single source of truth for the burger threshold is the @media block above.
 * nav.js tags the nav with `.nav-has-user-menu` on the dashboard — the
 * absence of that class is how we identify "non-dashboard" pages.
 * We also restore the nav-dropdown to its desktop hover-popup behaviour, which
 * those per-page blocks otherwise force into an inline static layout. */
@media (min-width: 301px) {
  nav#main-nav:not(.nav-has-user-menu) .hamburger { display: none !important; }
  nav#main-nav:not(.nav-has-user-menu) .nav-links {
    display: flex !important;
    flex-direction: row !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    height: auto !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 !important;
    z-index: auto !important;
    border-bottom: none !important;
    overflow-y: visible !important;
  }
  nav#main-nav:not(.nav-has-user-menu) .nav-dropdown {
    position: fixed !important;
    top: 64px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(8px) !important;
    display: block !important;
    background: rgba(6,12,20,0.98) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(184,150,90,0.15) !important;
    border-top: 2px solid var(--gold) !important;
    border-radius: 0 0 4px 4px !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.5) !important;
    padding: 8px 0 !important;
    min-width: 200px !important;
    z-index: 9999 !important;
  }
  nav#main-nav:not(.nav-has-user-menu) .nav-links > li:hover > .nav-dropdown,
  nav#main-nav:not(.nav-has-user-menu) .nav-links > li.mob-open > .nav-dropdown {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
  }
  /* Light theme: the dark dropdown rule above (needed to override per-page
     inline styles) is more specific than the html[data-theme="light"]
     .nav-dropdown rule earlier in this file, so on non-dashboard pages the
     menu stayed dark in daylight. Re-light it here with matching specificity. */
  html[data-theme="light"] nav#main-nav:not(.nav-has-user-menu) .nav-dropdown {
    background: rgba(255,255,255,0.98) !important;
    border-color: rgba(154,122,58,0.2) !important;
    border-top-color: var(--gold) !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.08) !important;
  }
  html[data-theme="light"] nav#main-nav:not(.nav-has-user-menu) .nav-dropdown li a {
    color: var(--silver) !important;
  }
  html[data-theme="light"] nav#main-nav:not(.nav-has-user-menu) .nav-dropdown li a:hover {
    color: var(--gold) !important;
    background: rgba(154,122,58,0.06) !important;
  }
}

/* ── CSP Phase 5 utility classes ─────────────────────────────────────
 * These replace the most-common inline style="…" attributes so CSP can
 * eventually drop 'unsafe-inline' from style-src. Single-property utility
 * classes where possible (.hidden, .mb-12, .text-muted). A handful of
 * compound classes (.flex-center, .flex-between) cover the next tier.
 * New inline style attributes are discouraged — extend this block or the
 * page's local <style> block instead.
 */
.hidden { display: none; }
.flex { display: flex; }
.flex-center { display: flex; align-items: center; }
.flex-col { display: flex; flex-direction: column; }
.flex-between { display: flex; justify-content: space-between; align-items: center; }
.flex-wrap { flex-wrap: wrap; }
.gap-4 { gap: 4px; }
.gap-6 { gap: 6px; }
.gap-8 { gap: 8px; }
.gap-10 { gap: 10px; }
.gap-12 { gap: 12px; }
.gap-16 { gap: 16px; }
.svg-16 { width: 16px; height: 16px; }
.svg-18 { width: 18px; height: 18px; }
.svg-20 { width: 20px; height: 20px; }
.svg-24 { width: 24px; height: 24px; }
.text-muted { color: var(--muted); }
.text-silver { color: var(--silver); }
.text-gold { color: var(--gold); }
.text-text { color: var(--text); }
.text-green { color: var(--green); }
.text-red { color: var(--red); }
.text-bright { color: var(--bright); }
.text-8899aa { color: #8899aa; }
.text-b8965a { color: #b8965a; }
.font-mono { font-family: 'JetBrains Mono', monospace; }
.mono-sm-muted { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--muted); }
.mono-xs-muted { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--muted); }
.fs-10 { font-size: 10px; }
.fs-11 { font-size: 11px; }
.fs-12 { font-size: 12px; }
.mb-0 { margin-bottom: 0; }
.mb-4 { margin-bottom: 4px; }
.mb-6 { margin-bottom: 6px; }
.mb-8 { margin-bottom: 8px; }
.mb-12 { margin-bottom: 12px; }
.mb-16 { margin-bottom: 16px; }
.mb-20 { margin-bottom: 20px; }
.mt-4 { margin-top: 4px; }
.mt-6 { margin-top: 6px; }
.mt-8 { margin-top: 8px; }
.mt-12 { margin-top: 12px; }
.mt-16 { margin-top: 16px; }
.mt-20 { margin-top: 20px; }
.ml-6 { margin-left: 6px; }
.ml-8 { margin-left: 8px; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.overflow-x-auto { overflow-x: auto; }
.w-full { width: 100%; }
.w-0 { width: 0%; }
.progress-muted-sm { font-size: 11px; color: var(--muted); margin-top: 4px; }
.progress-muted-xs { font-size: 10px; color: var(--muted); margin-left: 6px; }
.transition-dasharray { transition: stroke-dasharray 1s ease; }
.flex-1 { flex: 1; }
.py-xs { padding: 3px 0; }
.font-medium { font-weight: 500; }
.text-4ca0d4 { color: #4ca0d4; }
.text-FFD700 { color: #FFD700; }
.mono-xs-muted-rev { color: var(--muted); font-family: 'JetBrains Mono', monospace; font-size: 10px; }
.heading-bebas-muted-14 { font-family: 'Bebas Neue', sans-serif; font-size: 14px; letter-spacing: 2px; color: var(--muted); margin-bottom: 8px; }
.heading-bebas-muted-13 { font-family: 'Bebas Neue', sans-serif; font-size: 13px; letter-spacing: 2px; color: var(--muted); margin-bottom: 8px; }
.heading-bebas-bright-16 { font-family: 'Bebas Neue', sans-serif; font-size: 16px; color: var(--bright); font-weight: 400; letter-spacing: 0.04em; margin-bottom: 8px; }
.heading-bebas-orange-22 { font-family: 'Bebas Neue', sans-serif; font-size: 22px; color: var(--orange); }
.mt-12-text-sm { margin-top: 12px; font-size: 13px; }
.mt-6-text-sm { margin-top: 6px; font-size: 13px; }
.progress-bar-200 { margin-top: 12px; width: 200px; }
.font-sm-muted-mb-8 { font-size: 12px; color: var(--muted); margin-bottom: 8px; }
.stars-mb-8 { font-size: 10px; color: var(--muted); }
.cockpit-link { color: #FFD700; font-size: 10px; text-decoration: none; border: 1px solid rgba(255,215,0,0.4); border-radius: 4px; padding: 2px 8px; display: inline-block; }
.bridge-link { color: #4ca0d4; font-size: 10px; text-decoration: none; border: 1px solid rgba(76,160,212,0.4); border-radius: 4px; padding: 2px 8px; display: inline-block; }
.dpa-label { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.1em; }
.fs-13 { font-size: 13px; }
.fs-14 { font-size: 14px; }
.fs-16 { font-size: 16px; }
.fs-20 { font-size: 20px; }
.fs-24 { font-size: 24px; }
.fs-32 { font-size: 32px; }
.fs-32-mb-8 { font-size: 32px; margin-bottom: 8px; }
.p-14-16 { padding: 14px 16px; }
.p-24 { padding: 24px; }
.ml-auto { margin-left: auto; }
.mx-auto { margin-left: auto; margin-right: auto; }
.col-span-all { grid-column: 1 / -1; }
.h-2 { height: 2px; }
.h-160 { height: 160px; }
.w-35 { width: 35%; }
.opacity-50 { opacity: 0.5; }
.no-underline { text-decoration: none; }
.text-f0a500 { color: #f0a500; }
.text-6a8098 { color: #6a8098; }
.text-muted-italic { color: var(--muted); font-style: italic; }
.text-muted-sm-s { color: var(--muted); font-size: 12px; }
.mono-sm { font-family: 'JetBrains Mono', monospace; font-size: 12px; }
.mono-xs { font-family: 'JetBrains Mono', monospace; font-size: 10px; }
.mono-sm-text { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--text); }
.flex-col-gap-8 { display: flex; gap: 8px; }
.flex-between-start { display: flex; justify-content: space-between; }
.flex-between-mb-10 { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.flex-between-mb-16-wrap { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; flex-wrap: wrap; }
.flex-center-gap-10-wrap { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.empty-state-center { text-align: center; padding: 40px; color: var(--muted); }
.table-cell { padding: 6px 8px; border-bottom: 1px solid var(--border2); }
.label-uc-muted-sm { font-size: 11px; letter-spacing: 2px; color: var(--muted); text-transform: uppercase; margin-bottom: 8px; }
.label-uc-muted-sm-1px { font-size: 11px; letter-spacing: 1px; color: var(--muted); margin-bottom: 6px; text-transform: uppercase; }
.text-16-bright { font-size: 16px; color: var(--bright); }
/* ── Phase 5c batch ─────────────────────────────────────────────── */
.input-card { width: 100%; padding: 10px 14px; background: var(--card); border: 1px solid var(--border); border-radius: 6px; color: var(--text); font-family: 'Barlow', sans-serif; font-size: 14px; }
.input-surface-200 { width: 200px; padding: 8px 12px; background: var(--surface); border: 1px solid var(--border2); color: var(--text); font-family: 'Barlow', sans-serif; font-size: 14px; border-radius: 6px; }
.flex-between-mb-16-wrap-gap-8 { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; flex-wrap: wrap; gap: 8px; }
.mono-sm-silver { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--silver); line-height: 1.8; white-space: nowrap; }
.heading-bebas-bright-20 { font-family: 'Bebas Neue', sans-serif; font-size: 20px; color: var(--bright); font-weight: 400; letter-spacing: 0.06em; }
.heading-bebas-bright-18 { font-family: 'Bebas Neue', sans-serif; font-size: 18px; letter-spacing: 0.06em; color: var(--bright); }
.mono-sm-gold-uc { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .08em; color: var(--gold); }
.label-uc-muted-mb-4 { font-size: 11px; letter-spacing: 2px; color: var(--muted); text-transform: uppercase; margin-bottom: 4px; }
.input-dark { background: #0d1b2a; border: 1px solid var(--border); border-radius: 6px; color: var(--text); font-family: 'JetBrains Mono', monospace; font-size: 13px; padding: 4px 8px; text-align: center; }
.flex-col-center { display: flex; flex-direction: column; align-items: center; pointer-events: none; }
.heading-bebas-bright-20-mb-8 { font-family: 'Bebas Neue', sans-serif; font-size: 20px; color: var(--bright); font-weight: 400; margin-bottom: 8px; }
.empty-card { padding: 24px; color: var(--muted); text-align: center; }
.text-bright-color { color: #e8f0f8; }
.flex-center-gap-6 { display: flex; gap: 6px; align-items: center; }
.mono-xs-muted-w28 { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--muted); width: 28px; }
.mono-sm-muted-block-mb-8 { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--muted); display: block; margin-bottom: 8px; }
.flex-center-only { display: flex; align-items: center; }
.modal-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 16px; }
.text-e8d8a0 { color: #e8d8a0; }
.text-c84040 { color: #c84040; }
.text-e07070 { color: #e07070; }
.text-gold2 { color: var(--gold2); }
.bottom-no-radius { border-radius: 0 0 8px 8px; border-top: 0; }
.fs-10-muted-mt-2 { font-size: 10px; color: var(--muted); margin-top: 2px; }
.text-bright-medium { color: var(--bright); font-weight: 500; }
.p-20 { padding: 20px; }
.heading-bebas-white-22 { font-family: 'Bebas Neue', sans-serif; font-size: 22px; letter-spacing: 2px; color: var(--white); }
.text-muted-13 { color: var(--muted); font-size: 13px; }
.mono-md-bright { font-family: 'JetBrains Mono', monospace; font-size: 14px; color: var(--bright); }
.mt-36 { margin-top: 36px; }
.empty-center-20 { text-align: center; color: var(--muted); padding: 20px; }
.fs-14-muted { font-size: 14px; color: var(--muted); }
.text-silver-sm { font-size: 11px; color: var(--silver); }
.fs-38 { font-size: 38px; }
.fs-18 { font-size: 18px; }
.mono-sm-muted-letter { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--muted); letter-spacing: 0.1em; }
.table-mono { width: 100%; border-collapse: collapse; font-family: 'JetBrains Mono', monospace; font-size: 12px; }
.label-xs-uc-muted { color: var(--muted); font-size: 10px; letter-spacing: 1px; text-transform: uppercase; }
.cell-w60 { padding: 6px 8px; border-bottom: 1px solid var(--border2); width: 60px; }
.cell-borderlight { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.j-between { justify-content: space-between; }
.label-mono-xs-muted-ml-8 { margin-left: 8px; font-size: 10px; font-family: 'JetBrains Mono', monospace; color: var(--muted); }
.card-row { background: var(--card); border: 1px solid var(--border); border-radius: 8px; padding: 12px 16px; }
.mono-xs-muted-mt-6 { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--muted); margin-top: 6px; }
.flex-baseline-between-1 { display: flex; align-items: baseline; gap: 8px; flex: 1; justify-content: space-between; }
.m-0 { margin: 0; }
.svg-block { display: block; overflow: visible; }
.flex-between-mt-20 { display: flex; justify-content: space-between; margin-top: 20px; }
/* ── Phase 5d batch ─────────────────────────────────────────────── */
.select-card { width: 100%; padding: 10px 14px; background: var(--card); border: 1px solid var(--border); border-radius: 6px; color: var(--text); font-size: 14px; min-height: 44px; }
.select-surface-200 { width: 200px; padding: 8px 12px; background: var(--surface); border: 1px solid var(--border2); color: var(--text); font-size: 14px; border-radius: 6px; min-height: 36px; }
.accent-green { accent-color: var(--green); }
.ml-6-sm { margin-left: 6px; font-size: 11px; }
.p-2-4 { padding: 2px 4px; }
.text-muted-xs { color: var(--muted); font-size: 10px; }
.fs-18-mt-2 { font-size: 18px; margin-top: 2px; }
.fs-28-mt-2 { font-size: 28px; margin-top: 2px; }
.label-gold-icon { font-size: 16px; color: var(--gold); margin-left: 4px; }
.flex-between-mt-10 { margin-top: 10px; display: flex; align-items: center; justify-content: space-between; }
.flex-center-gap-8-fs9 { display: flex; align-items: center; gap: 8px; font-size: 9px; color: var(--muted); }
.color-sm-line { font-family: 'JetBrains Mono', monospace; font-size: 11px; line-height: 1.9; min-width: 170px; }
.text-10-667788 { font-size: 10px; color: #667788; }
.text-10-8899aa { font-size: 10px; color: #8899aa; }
.flex-center-gap-16 { display: flex; align-items: center; gap: 16px; }
.flex-center-gap-16-wrap { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.text-muted-sm-2 { color: var(--muted); font-size: 11px; }
.flex-baseline-between-mb-20-wrap { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 20px; flex-wrap: wrap; }
.checkbox-square { width: 10px; height: 10px; margin: 0; }
.flex-gap-12-mb-12 { display: flex; gap: 12px; margin-bottom: 12px; }
.flex-center-gap-4-fs11 { display: flex; align-items: center; gap: 4px; font-size: 11px; }
.flex-gap-10-wrap { display: flex; gap: 10px; flex-wrap: wrap; }
.flex-gap-6-wrap { display: flex; gap: 6px; flex-wrap: wrap; }
.heading-bebas-silver-16 { font-family: 'Bebas Neue', sans-serif; font-size: 16px; letter-spacing: 2px; color: var(--silver); }
.heading-bebas-mb-6 { font-family: 'Bebas Neue', sans-serif; font-size: 18px; letter-spacing: 2px; margin-bottom: 6px; }
.fs-32-muted-bebas { font-size: 32px; color: var(--muted); font-family: 'Bebas Neue', sans-serif; font-weight: 400; letter-spacing: 0.06em; }
.text-muted-mono-sm { color: var(--muted); font-family: 'JetBrains Mono', monospace; font-size: 12px; }
.fs-12-muted { font-size: 12px; color: var(--muted); }
.fs-12-silver { font-size: 12px; color: var(--silver); }
.fs-12-888 { font-size: 12px; color: #888; }
.fs-28 { font-size: 28px; }
.label-9-uc-muted { color: var(--muted); letter-spacing: 0.1em; text-transform: uppercase; font-size: 9px; }
.mt-2 { margin-top: 2px; }
.mt-10 { margin-top: 10px; }
.mt-14 { margin-top: 14px; }
.mono-xs-muted-mt-2 { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--muted); margin-top: 2px; }
.p-28 { padding: 28px; }
.p-40 { padding: 40px; }
.padding-l-16 { padding-left: 16px; }
.flex-gap-8-end-mt-8 { display: flex; gap: 8px; justify-content: flex-end; margin-top: 8px; }
.text-white-medium { font-weight: 500; color: var(--white); }
.text-white-medium-nowrap { font-weight: 500; color: var(--white); white-space: nowrap; }
.fs-13-muted-mb-16-line { font-size: 13px; color: var(--muted); margin-bottom: 16px; line-height: 1.6; }
.input-barlow-140 { font-family: 'Barlow', sans-serif; min-width: 140px; }
.bold-mb-4 { font-weight: 600; margin-bottom: 4px; }
.mono-bold { font-family: 'JetBrains Mono', monospace; font-weight: 600; }
.fs-8-faded { font-size: 8px; opacity: .6; }
.min-h-50 { min-height: 50px; }
.min-h-80 { min-height: 80px; }
.bg-green { background: var(--green); }
.text-center-muted { text-align: center; color: var(--muted); }
.w-30 { width: 30%; }
.label-mono-sm-letter { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--muted); letter-spacing: 1px; }
.label-mono-xs-letter { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 1px; color: var(--muted); }
.text-10-color-8899aa { font-size: 10px; color: #8899aa; }
/* ── Phase 5e batch ─────────────────────────────────────────────── */
.flex-col-gap-6 { display: flex; flex-direction: column; gap: 6px; }
.svg-14 { width: 14px; height: 14px; }
.grid-1col { grid-template-columns: 1fr; }
.empty-mono-48 { text-align: center; padding: 48px 0; color: var(--muted); font-family: 'JetBrains Mono', monospace; }
.section-divider { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--border); }
.label-mono-xs-letter-cap { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--muted); letter-spacing: 0.1em; }
.silver-mb-4 { font-size: 11px; color: var(--silver); margin-bottom: 4px; }
.flex-center-gap-8-wrap { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.label-xs-spaced { font-size: 10px; color: var(--muted); letter-spacing: 1px; }
.row-flex-mb-8 { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.label-50-muted { min-width: 50px; font-size: 11px; color: var(--muted); }
.cell-center-2 { padding: 6px 8px; border-bottom: 1px solid var(--border2); text-align: center; }
.cell-muted-xs { padding: 6px 8px; border-bottom: 1px solid var(--border); color: var(--muted); font-size: 10px; }
.cell-center-light { padding: 6px 8px; border-bottom: 1px solid var(--border); text-align: center; }
.j-end { justify-content: flex-end; }
.mt-16-center { margin-top: 16px; text-align: center; }
.flex-center-gap-6-mono { display: flex; align-items: center; gap: 6px; font-family: 'JetBrains Mono', monospace; font-size: 11px; }
.grid-gap-6 { display: grid; gap: 6px; }
.mono-sm-cyan-uc { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .08em; color: var(--cyan); }
.card-row-1416 { background: var(--card); border: 1px solid var(--border); border-radius: 8px; padding: 14px 16px; }
.mono-xs-muted-letter-06 { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--muted); letter-spacing: .06em; }
.input-surface-9-12 { width: 100%; padding: 9px 12px; background: var(--surface); border: 1px solid var(--border2); border-radius: 6px; }
.input-narrow-60 { width: 60px; background: #0d1b2a; border: 1px solid var(--border); border-radius: 6px; color: var(--text); font-family: 'JetBrains Mono', monospace; font-size: 13px; padding: 4px 8px; text-align: center; }
.input-narrow-55-red { width: 55px; background: #0d1b2a; border: 1px solid var(--border); border-radius: 6px; color: #e05050; font-family: 'JetBrains Mono', monospace; font-size: 13px; padding: 3px 6px; text-align: center; }
.cursor-grab { cursor: grab; }
.section-divider-2 { border-top: 1px solid var(--border); padding-top: 12px; margin-top: 2px; }
.mono-md-divider-row { margin-top: 18px; margin-bottom: 6px; }
.divider-1 { width: 36vw; height: 1px; background: rgba(255,255,255,0.05); }
.flex-col-center-vh { display: flex; flex-direction: column; align-items: center; gap: 1.2vh; padding: 0 4vw; }
.mono-vw-dark { font-family: 'JetBrains Mono', monospace; font-size: 2vw; color: #0c1a14; letter-spacing: 0.18em; }
.row-thin { display: flex; align-items: center; gap: 8px; padding: 8px 14px; border-bottom: 1px solid #0d1a26; }
.flex-1-min-0 { flex: 1; min-width: 0; }
.text-13-ellipsis { font-size: 13px; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.text-10-muted-ellipsis { font-size: 10px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.flex-center-gap-6-cursor { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.accent-cyan { accent-color: var(--cyan); }
.btn-modal-half { flex: 1; padding: 10px; border-radius: 6px; font-family: 'JetBrains Mono', monospace; font-size: 12px; }
.text-10-8899aa-em { font-size: 10px; color: #8899aa; }
.label-mono-xs-letter-cap-esc { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--muted); letter-spacing: 0.1em; }
/* ── Phase 5f batch ─────────────────────────────────────────────── */
.input-vp-mono { width: 200px; padding: 8px 12px; background: var(--surface); border: 1px solid var(--border2); color: var(--white); font-family: 'JetBrains Mono', monospace; font-size: 13px; border-radius: 6px; outline: none; }
.input-vp-mono-200 { width: 200px; padding: 8px 12px; background: var(--surface); border: 1px solid var(--border2); color: var(--white); font-family: 'JetBrains Mono', monospace; font-size: 13px; border-radius: 6px; outline: none; }
.flex-center-gap-6-mt-cur { display: flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 12px; color: var(--muted); cursor: pointer; }
.flex-center-gap-4-fs11-2 { display: flex; align-items: center; gap: 4px; font-size: 11px; }
.alert-error-collapsed { display: none; padding: 12px; background: rgba(200,64,64,0.1); border: 1px solid rgba(200,64,64,0.3); border-radius: 6px; }
.alert-info-collapsed { display: none; margin-top: 12px; background: var(--surface); border: 1px solid var(--border); border-radius: 6px; padding: 12px; }
.label-mono-xs-letter-cap-uc { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 1px; color: var(--muted); text-transform: uppercase; }
.label-mono-sm-letter-cap-uc { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--muted); letter-spacing: 1px; text-transform: uppercase; }
.flex-baseline-between-mb-20-wrap-2 { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 20px; flex-wrap: wrap; }
.svg-12 { width: 12px; height: 12px; }
.svg-32 { width: 32px; height: 32px; }
.svg-40 { width: 40px; height: 40px; }
.dot-12-radius-2 { display: inline-block; width: 12px; height: 12px; border-radius: 2px; }
.h-22 { height: 22px; }
.h-32 { height: 32px; }
.btn-flex-1 { flex: 1; padding: 10px; border-radius: 6px; font-family: 'JetBrains Mono', monospace; font-size: 12px; cursor: pointer; }
.bold-text { font-weight: 600; color: var(--text); }
.bold-bright { font-weight: 600; color: var(--bright); }
.fs-14-bright { font-size: 14px; color: var(--bright); }
.fs-15-bright { font-size: 15px; color: var(--bright); }
.fs-9-uc-muted { font-size: 9px; letter-spacing: 1px; color: var(--muted); text-transform: uppercase; }
.fs-9-muted { font-size: 9px; color: var(--muted); }
.fs-9-uc-spaced { font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; }
.text-cyan { color: var(--cyan); }
.text-orange { color: var(--orange); }
.text-yellow { color: var(--yellow); }
.bg-card { background: var(--card); }
.bg-surface { background: var(--surface); }
.b-radius-4 { border-radius: 4px; }
.b-radius-6 { border-radius: 6px; }
.b-radius-8 { border-radius: 8px; }
.text-uppercase { text-transform: uppercase; }
.flex-shrink-0 { flex-shrink: 0; }
.pos-rel { position: relative; }
.gap-2 { gap: 2px; }
.gap-14 { gap: 14px; }
.gap-20 { gap: 20px; }
.mb-2 { margin-bottom: 2px; }
.mb-10 { margin-bottom: 10px; }
.mb-24 { margin-bottom: 24px; }
.mt-24 { margin-top: 24px; }
.p-12 { padding: 12px; }
.p-16 { padding: 16px; }
.pl-8 { padding-left: 8px; }
.pr-8 { padding-right: 8px; }
.py-4 { padding: 4px 0; }
.py-6 { padding: 6px 0; }
.py-8 { padding: 8px 0; }
.px-4 { padding: 0 4px; }
.px-8 { padding: 0 8px; }
.px-12 { padding: 0 12px; }
.color-text { color: var(--text); }
.line-1 { line-height: 1; }
.line-1-2 { line-height: 1.2; }
.line-1-4 { line-height: 1.4; }
.line-1-5 { line-height: 1.5; }
.line-1-6 { line-height: 1.6; }
.flex-end { justify-content: flex-end; }

/* ── Phase 5g auto-generated singleton classes ── ────────────────────────────
 * One class per remaining unique inline style attr. Hash-based names
 * (s-XXXXXXXX) — they're ugly but deterministic and let the bulk
 * migration script run mechanically. Human-curated utility classes
 * (.flex-center, .text-muted, etc.) live above this block.
 */
.s-99f7ab61{accent-color:#fbbf24;width:14px;height:14px;cursor:pointer;}
.s-4d8228f9{background:#03060a;color:#c8d8e8;font-family:sans-serif;
    display:flex;align-items:center;justify-content:center;height:100vh;text-align:center;}
.s-ba5e031b{background:#050d18;border:1px solid #1a3558;border-radius:6px;margin-bottom:28px;overflow:hidden;}
.s-f0404a61{background:#060c14;border:1px solid #1e3048;border-top:2px solid var(--gold);border-radius:8px;width:min(520px,95vw);max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,0.7);}
.s-22c3647a{background:#060e1a;border:1px solid var(--gold);border-radius:6px;padding:16px;margin-bottom:16px;}
.s-c37f302e{background:#0d1b2a;border:1px solid var(--border);border-radius:12px;padding:24px;width:300px;max-width:90vw;box-shadow:0 8px 32px rgba(0,0,0,0.6);}
.s-99ec2001{background:#0d1b2a;border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:'JetBrains Mono',monospace;font-size:12px;padding:4px 8px;}
.s-8812fd64{background:#2a5090;}
.s-4c02a958{background:#2a7090;}
.s-b05ea426{background:#4a9a6a;}
.s-0ded5670{background:#4aaa6a;}
.s-332bc05c{background:#4cc9f0;}
.s-991a130c{background:#60a5fa}
.s-8d9a53a0{background:#6a40b0;}
.s-a37f21d2{background:#a78bfa}
.s-a60029cd{background:#a855f7;width:6px;height:6px;border-radius:50;flex-shrink:0;}
.s-bb4f6c6c{background:#c84040;}
.s-1fe43f6c{background:#c87040;}
.s-47fb4521{background:#d4af72;}
.s-593161a1{background:#f0a500;}
.s-fd0372fd{background:rgba(0,0,0,0.3);border-radius:6px;padding:8px;margin-bottom:6px;}
.s-bab0ceea{background:rgba(255,255,255,0.05);}
.s-8b8bd8f3{background:transparent;border-bottom:1px solid var(--border);}
.s-22398398{background:transparent;border:1px solid var(--red);color:var(--red);border-radius:4px;
      padding:2px 7px;font-size:11px;cursor:pointer;flex-shrink:0;}
.s-ffc5d69e{background:transparent;border:2px solid #5aba7a;}
.s-e307bb58{background:transparent;border:2px solid #d07070;}
.s-6fcc8747{background:transparent;border:2px solid #d4af72;}
.s-52396b1c{background:var(--bg);border:1px solid var(--border);color:var(--text);
              padding:3px 6px;border-radius:6px;font-family:'JetBrains Mono',monospace;font-size:11px;}
.s-18000788{background:var(--bg);border:1px solid var(--border);color:var(--text);padding:3px 6px;border-radius:6px;font-family:'JetBrains Mono',monospace;font-size:11px;}
.s-b6295f76{background:var(--bg);border:1px solid var(--cyan);color:var(--cyan);border-radius:6px;
            padding:4px 12px;font-family:'JetBrains Mono',monospace;font-size:11px;cursor:pointer;
            transition:all .2s;letter-spacing:.05em;}
.s-affa9459{background:var(--bg);border:1px solid var(--gold);color:var(--gold);border-radius:6px;
            padding:4px 12px;font-family:'JetBrains Mono',monospace;font-size:11px;cursor:pointer;
            transition:all .2s;letter-spacing:.05em;}
.s-19f1a72a{background:var(--bg);border:1px solid var(--green);color:var(--green);border-radius:6px;
            padding:4px 12px;font-family:'JetBrains Mono',monospace;font-size:11px;cursor:pointer;
            transition:all .2s;letter-spacing:.05em;}
.s-78475c95{background:var(--card);border:1px solid var(--border);border-radius:5px;padding:7px 10px;display:flex;align-items:center;justify-content:space-between;}
.s-50668ad6{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.s-ac037dd4{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:10px;}
.s-600ce99e{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin-bottom:24px;}
.s-35ca1b61{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:14px 18px;margin-bottom:16px;font-size:12px;color:var(--muted)}
.s-b5f83908{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:20px}
.s-34ef9c6b{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:16px;margin:16px 0}
.s-ee4cd3ee{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:24px;}
.s-cb54a77f{background:var(--card);border:1px solid var(--border2);border-radius:12px;padding:24px;width:min(380px,90vw);max-height:90vh;overflow-y:auto;}
.s-ac405b93{background:var(--card);border:1px solid var(--gold);border-radius:12px;padding:24px;max-width:440px;width:92%;max-height:85vh;overflow-y:auto;}
.s-909fc216{background:var(--gold);}
.s-8d2709a4{background:var(--gold);border-radius:2px}
.s-cdfd61fe{background:var(--green);box-shadow:0 0 0 2px var(--white)}
.s-60f43c92{background:var(--muted);}
.s-bc54933b{background:var(--red);opacity:0.25}
.s-a101a21c{background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden;}
.s-e668b173{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:10px 14px;margin-bottom:6px;}
.s-526002bd{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px;}
.s-f5538f95{border-bottom:1px solid var(--border);}
.s-9d3074e5{border-collapse:collapse;width:100%;}
.s-2bf28c5d{border-color:var(--gold);}
.s-8e309fd0{border-color:var(--green);color:var(--green);}
.s-25f755c8{border-color:var(--green);color:var(--green);background:rgba(58,138,90,0.08);}
.s-f048497f{border-color:var(--muted);color:var(--muted);}
.s-a58d6bf7{border-radius:6px;border-top:1px solid var(--border);}
.s-8147863d{border-radius:6px;border:1px solid var(--border);}
.s-e0ab2f8e{border-right:1px solid var(--border2);}
.s-ace2914e{border-top:1px solid var(--border);margin-top:4px;padding-top:12px;}
.s-bd7b2512{border-top:1px solid var(--border);margin:6px 0;}
.s-a59c276e{border-top:1px solid var(--border);padding-top:12px;}
.s-239455da{border-top:1px solid var(--border);padding-top:8px;margin-top:4px;display:flex;gap:8px;}
.s-416b3e9f{border:1px solid var(--border);border-radius:6px;padding:14px 16px;margin-bottom:10px;background:var(--surface);}
.s-6cc60ea2{border:1px solid var(--border);border-radius:6px;padding:16px;margin-bottom:12px;background:var(--surface);}
.s-a60f215f{color:#1a1a2e}
.s-a7e76e06{color:#3a8a5a}
.s-a2a71621{color:#4ab8d8}
.s-0d3c1b46{color:#4ab8d8;}
.s-7ea70f58{color:#4ab8d8;font-size:8px;margin-left:5px;}
.s-8454ca8f{color:#4ab8d8;font-weight:700;font-size:11px;margin-bottom:3px;}
.s-77c27e66{color:#4ade80}
.s-f4cfc521{color:#4ade80;}
.s-263633df{color:#4cc9f0;margin-top:3px;}
.s-0f9152e7{color:#556677; font-size:12px; margin-bottom:16px;}
.s-a2855544{color:#5ab87a}
.s-21e3fa7f{color:#5ac87a;}
.s-93e6231c{color:#64748b;}
.s-5db4a70b{color:#666}
.s-32eaf664{color:#667}
.s-d1fc22cb{color:#667;font-size:9px;margin-top:2px;}
.s-94967549{color:#6a8a9a;}
.s-c354d349{color:#6a8a9a;font-size:8px;}
.s-5d036d21{color:#6a8aaa;}
.s-1c22ef42{color:#6a8aaa;margin-top:4px;}
.s-cd649e44{color:#6aaa7a;font-size:9px;}
.s-e620887e{color:#8899aa;}
.s-2141f3b2{color:#8a9aaa;font-weight:400;}
.s-ad0f226d{color:#8a9eb8;font-size:11px}
.s-1afd91e0{color:#8aaa7a;font-size:8px;}
.s-508c1e5e{color:#a78bfa;min-width:130px;display:inline-block;}
.s-4331422d{color:#c87040}
.s-9029ee2e{color:#cc3333;}
.s-edd5e6fa{color:#e05060; font-size:15px; margin-bottom:8px;}
.s-416946cb{color:#e0b040;font-size:11px;margin-top:4px;font-weight:600;}
.s-1f05c6b7{color:#e0e0e0;font-weight:600;}
.s-ff09b507{color:#e84040;}
.s-5f8f7fc4{color:#e86060;}
.s-a30c6257{color:#e8a854;}
.s-b04189c1{color:#e8d8a0;font-weight:600;}
.s-9dd1207e{color:#ef4444;}
.s-b2fe4c95{color:#f0d090;margin-left:10px;}
.s-e85027a3{color:#f87171}
.s-9c5c7557{color:#f87171;}
.s-cf423240{color:' + (v.current_effect_kt > 0 ? 'var(--green)' : 'var(--red)') + ';font-size:9px}
.s-22e50145{color:var(--amber);}
.s-ac6c2dce{color:var(--border2)}
.s-fdf764e9{color:var(--cyan);font-size:10px;letter-spacing:1px;}
.s-d4dc3cd9{color:var(--cyan);font-weight:500;}
.s-17f2c944{color:var(--cyan);text-decoration:none;}
.s-e39ebac6{color:var(--gold)}
.s-531448bc{color:var(--gold);font-family:'JetBrains Mono',monospace;}
.s-d9fe5405{color:var(--gold);font-size:11px;letter-spacing:1px;}
.s-3d8a8eed{color:var(--gold);margin-bottom:16px;font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:2px}
.s-f8ce13e2{color:var(--gold);text-decoration:none}
.s-5bcb49f4{color:var(--gold2);font-size:10px;}
.s-06a9a951{color:var(--gold2);text-decoration:none;}
.s-f8987c81{color:var(--gold3,#f0d090);margin-left:8px;}
.s-1575d4bc{color:var(--green);font-size:10px;letter-spacing:1px;}
.s-d49f90f4{color:var(--green);font-size:12px}
.s-a6127f47{color:var(--green);font-weight:600;}
.s-a85a52ba{color:var(--muted);font-family:'JetBrains Mono',monospace;font-size:13px;}
.s-42958f87{color:var(--muted);font-family:'JetBrains Mono',monospace;font-size:11px;}
.s-c18637c7{color:var(--muted);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1px;}
.s-82975996{color:var(--muted);font-family:'JetBrains Mono',monospace;font-size:11px;padding:20px 0;}
.s-0869d99d{color:var(--muted);font-family:'JetBrains Mono',monospace;font-size:12px;padding:12px 0}
.s-e31d729c{color:var(--muted);font-size:10px;margin-top:4px;}
.s-1321b4e1{color:var(--muted);font-size:11px;margin-left:10px;}
.s-e794a214{color:var(--muted);font-size:11px;padding:8px 12px;}
.s-e34c4f0a{color:var(--muted);font-size:12px;}
.s-17afa735{color:var(--muted);font-size:12px;font-family:'JetBrains Mono',monospace;}
.s-f2fd0b18{color:var(--muted);font-size:12px;grid-column:1/-1;}
.s-0b775755{color:var(--muted);font-size:12px;padding:20px;}
.s-d249570f{color:var(--muted);font-size:12px;padding:8px 0;}
.s-3ae6ce4b{color:var(--muted);font-size:13px;font-family:'JetBrains Mono',monospace;padding:20px 0}
.s-abdd148e{color:var(--muted);font-size:13px;text-align:center;padding:16px;}
.s-0c9cac24{color:var(--muted);font-size:16px;}
.s-8d481520{color:var(--muted);font-size:9px;margin-top:2px;}
.s-ea7129fa{color:var(--muted);margin-bottom:16px}
.s-f720900a{color:var(--muted);margin-bottom:6px}
.s-262059fc{color:var(--muted);margin-left:6px;}
.s-393da115{color:var(--muted);margin:0 6px;}
.s-0bf1f684{color:var(--muted);margin:0 8px;}
.s-bec286ea{color:var(--muted);padding:12px 0;}
.s-b628f50f{color:var(--muted);padding:20px;}
.s-d1ced991{color:var(--muted);padding:20px;font-size:13px;}
.s-cffe9541{color:var(--muted);width:160px}
.s-c7d81730{color:var(--orange);font-weight:600;}
.s-cf198ed0{color:var(--red);font-size:10px;letter-spacing:1px;}
.s-72bac689{color:var(--red);font-size:13px;}
.s-99d50692{color:var(--red);font-size:13px;padding:8px 0;}
.s-b5ae4654{color:var(--red);font-size:14px;}
.s-2421d25e{color:var(--red);font-weight:600;}
.s-2472a237{color:var(--red);font-weight:600;font-size:10px;letter-spacing:0.5px;}
.s-b1522e8e{color:var(--silver);letter-spacing:0.5px;text-transform:uppercase;}
.s-e537bae6{color:var(--silver);padding:12px 0;font-size:14px;}
.s-433ffbf6{color:var(--text);font-size:10px;letter-spacing:1px;}
.s-59239332{color:var(--text);font-size:14px;line-height:1.6;margin-bottom:16px;}
.s-f9089c98{color:var(--text);font-weight:600;}
.s-e20266a5{color:var(--text);text-decoration:none;}
.s-ff2f5ac2{color:var(--white);}
.s-6bbe4aa1{cursor:grab; transition: transform 0.15s ease-out;}
.s-3b6a3a65{cursor:pointer}
.s-4ed89603{cursor:pointer;display:flex;align-items:center;gap:6px;}
.s-3c950ead{cursor:pointer;user-select:none;touch-action:none;}
.s-21d91b70{display:block;}
.s-2930510e{display:block;text-align:center;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:1px;color:var(--cyan);text-decoration:none;padding:4px 0;border-top:1px solid var(--border);}
.s-2b3889a9{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.s-c823479a{display:flex;align-items:baseline;gap:8px;margin-bottom:2px;}
.s-74e763f4{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px;}
.s-0a749445{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px;}
.s-518ea6a9{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px;}
.s-15101c1f{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.s-067696dc{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid rgba(20,32,48,0.5);}
.s-b748ee08{display:flex;align-items:center;gap:14px;padding:8px 0;}
.s-913e36d1{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap;}
.s-873fb203{display:flex;align-items:center;gap:16px;padding-top:8px}
.s-4099fd6a{display:flex;align-items:center;gap:2.5vw;}
.s-f94294cd{display:flex;align-items:center;gap:4px;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--silver);}
.s-bf5df34f{display:flex;align-items:center;gap:4px;font-size:11px;}
.s-5b96861c{display:flex;align-items:center;gap:6px;cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--cyan);}
.s-5bd0cb63{display:flex;align-items:center;gap:6px;cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--green);}
.s-8e6e79be{display:flex;align-items:center;gap:6px;cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text);}
.s-51d1d27f{display:flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);}
.s-16c6e7a5{display:flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);}
.s-ff0f06b6{display:flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);white-space:nowrap;cursor:pointer;}
.s-50960b10{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.s-88348d43{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.s-fc6d4f25{display:flex;align-items:center;justify-content:center;min-height:80px;}
.s-ae7439a7{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.s-e079e1c3{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px;}
.s-747b7f79{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.s-3522d716{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.s-c68d2402{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #1e3048;flex-shrink:0;}
.s-43dc6b22{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--border);}
.s-342a2d1e{display:flex;align-items:flex-end;gap:8px}
.s-772b525d{display:flex;align-items:flex-end;padding-bottom:2px;}
.s-5795423d{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.s-e8083595{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px;}
.s-a7643763{display:flex;flex-direction:column;align-items:center;}
.s-63be8875{display:flex;flex-direction:column;align-items:center;gap:0.8vh;}
.s-54530aee{display:flex;flex-direction:column;align-items:center;gap:2px;}
.s-87b8f282{display:flex;flex-direction:column;align-items:center;gap:3vh;width:100%;padding:0 6vw;box-sizing:border-box;}
.s-3ecc5e32{display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.s-91d834fe{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;}
.s-20a5d4c5{display:flex;flex-direction:column;justify-content:flex-end;}
.s-3a4622de{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px;}
.s-6b00e753{display:flex;gap:10px;}
.s-11ad0014{display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--text);}
.s-e719c609{display:flex;gap:10px;margin-bottom:14px;}
.s-5a1d1867{display:flex;gap:12px;margin-bottom:32px;}
.s-afd72c85{display:flex;gap:16px;align-items:flex-start;}
.s-1513ecfe{display:flex;gap:16px;font-size:11px;color:var(--muted);margin-top:12px;flex-wrap:wrap}
.s-12bbc948{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.s-60e779f3{display:flex;gap:16px;margin-bottom:8px;}
.s-a947035b{display:flex;gap:20px;flex-wrap:wrap;margin-top:6px;}
.s-5a24096e{display:flex;gap:24px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--border);}
.s-58365d7e{display:flex;gap:24px;margin-bottom:20px;flex-wrap:wrap;}
.s-a521e2ab{display:flex;gap:4px;align-items:center;}
.s-1d8943fa{display:flex;gap:6px;}
.s-3d775e0b{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap;}
.s-78cead65{display:flex;gap:8px;align-items:center;}
.s-ad7e277f{display:flex;gap:8px;margin-top:12px;justify-content:flex-end;}
.s-1c5c3cf0{display:flex;gap:8px;margin-top:4px;}
.s-ecd721ef{display:flex;gap:8px;margin-top:8px;}
.s-665745da{display:flex;justify-content:center;gap:12px;}
.s-eeca404e{display:flex;justify-content:flex-end;margin-top:8px;}
.s-ffc5aab0{display:flex;justify-content:space-between;align-items:baseline;}
.s-f327f2f1{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.s-40eee6f1{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.s-e5806e84{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}
.s-5f0e1804{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;}
.s-5a9738ff{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.s-cc55fd54{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);}
.s-5736eea7{display:flex;justify-content:space-between;align-items:start;margin-bottom:8px;}
.s-452df36d{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px;}
.s-fba5c3d6{display:grid;gap:12px;margin-bottom:18px;}
.s-2713c447{display:grid;gap:4px;margin-bottom:8px;}
.s-517a6250{display:grid;gap:6px;margin-bottom:12px;}
.s-d0cf71cc{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
.s-adf555b3{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.s-df9c7b56{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.s-1db9f50c{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;}
.s-a8bae4cd{display:grid;grid-template-columns:1fr 1px 1fr;width:88vw;}
.s-45823a83{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:start;margin-bottom:10px;}
.s-bb5a173d{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;}
.s-c437fd59{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;}
.s-74f6f9b9{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.s-ad61601e{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;}
.s-03901e32{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;font-size:12px}
.s-cccfa456{display:inline}
.s-a21bedd7{display:inline-block;margin-top:12px;font-size:12px;padding:6px 14px;}
.s-d9cdd92d{display:inline-block;padding:9px 20px;background:linear-gradient(135deg,#b8965a,#d4af72);color:#0a1520;font-family:'Barlow',sans-serif;font-weight:600;font-size:13px;border-radius:6px;text-decoration:none}
.s-91ea3f65{display:inline-block;width:12px;height:12px;background:rgba(184,150,90,0.1);border-radius:2px;vertical-align:middle;margin-right:4px}
.s-68b3ea7f{display:inline-block;width:12px;height:12px;background:rgba(200,64,64,0.15);border-radius:2px;vertical-align:middle;margin-right:4px}
.s-e1d5bceb{display:inline-block;width:12px;height:12px;background:rgba(42,112,144,0.15);border-radius:2px;vertical-align:middle;margin-right:4px}
.s-e7dfd231{display:inline-block;width:12px;height:12px;background:rgba(58,138,90,0.15);border-radius:2px;vertical-align:middle;margin-right:4px}
.s-89d268d4{display:inline-block;width:12px;height:12px;border-radius:2px;background:var(--cyan);}
.s-6d998e34{display:inline-block;width:8px;height:8px;border-radius:50%;background:#4caf50;margin-left:6px;vertical-align:middle}
.s-e66e713f{display:inline-flex;align-items:center;gap:8px;cursor:pointer;}
.s-287a5cfe{display:none; text-align:center;}
.s-5b8947c7{display:none;background:#060e14;border:1px solid rgba(139,92,246,0.4);border-radius:6px;padding:16px;margin-bottom:16px;}
.s-efff6f29{display:none;background:#0e0c06;border:1px solid rgba(245,158,11,0.3);border-radius:6px;padding:16px;margin-bottom:16px;}
.s-ab061887{display:none;background:rgba(184,150,90,0.06);border-left:3px solid var(--gold);padding:8px 12px;margin:12px 0;font-size:11px;color:var(--text);border-radius:0 4px 4px 0;}
.s-fcbfb6f4{display:none;background:rgba(184,150,90,0.08);border:1px solid rgba(184,150,90,0.25);border-radius:6px;padding:10px 14px;margin-bottom:12px;font-size:11px;color:var(--gold2);display:none;align-items:center;justify-content:space-between;}
.s-52729793{display:none;background:rgba(184,150,90,0.12);border:1px solid rgba(184,150,90,0.25);border-radius:4px;padding:4px 10px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:2px;color:var(--gold2);white-space:nowrap;}
.s-510724f3{display:none;background:rgba(245,158,11,0.12);border:1px solid rgba(245,158,11,0.3);border-radius:8px;padding:8px 14px;margin-top:8px;color:#f59e0b;font-size:11px;font-family:'JetBrains Mono',monospace;line-height:1.4;}
.s-2193639f{display:none;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:20px;margin-top:16px;}
.s-813a9a90{display:none;color:#f59e0b;font-size:10px;font-family:'JetBrains Mono',monospace;margin-top:4px;line-height:1.3;max-width:160px;}
.s-77551e50{display:none;color:var(--muted);font-size:13px;padding:16px 0;}
.s-58d28a0d{display:none;margin-bottom:20px;padding:16px 20px;background:var(--card);border:1px solid var(--border);border-radius:10px;}
.s-169b3399{display:none;margin-top:12px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:16px;}
.s-c344ce9f{display:none;margin-top:12px;gap:12px;align-items:center}
.s-e95d0de0{display:none;margin-top:14px;}
.s-cf2148d7{display:none;margin-top:16px;padding:12px 16px;background:rgba(200,64,64,0.1);border:1px solid rgba(200,64,64,0.3);border-radius:6px;color:var(--red);font-size:13px;}
.s-7429ca8f{display:none;margin-top:20px;padding-top:16px;border-top:1px solid var(--border);display:none;gap:8px;}
.s-b91d0642{display:none;margin-top:8px;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--green);line-height:1.6;}
.s-cfaaeb00{display:none;margin:12px 0;padding:8px 12px;background:rgba(42,112,144,0.12);border:1px solid rgba(42,112,144,0.3);border-radius:6px;font-size:11px;color:var(--cyan);}
.s-c00972f5{display:none;padding-left:4px;display:grid;gap:4px;
        font-family:'JetBrains Mono',monospace;font-size:11px;margin-bottom:12px;}
.s-8bf7a581{display:none;padding-top:12px;border-top:1px solid var(--border);}
.s-22cc27e5{display:none;padding:12px;background:rgba(200,64,64,0.1);border:1px solid rgba(200,64,64,0.3);border-radius:6px;color:#e07070;font-size:13px;text-align:center;}
.s-e507e03b{display:none;padding:20px;}
.s-4a5d20f7{display:none;padding:32px;text-align:center;}
.s-d4b83ece{display:none;position:absolute;bottom:10px;left:50%;transform:translateX(-50%);z-index:1000;background:rgba(16,24,36,0.95);border:1px solid rgba(201,162,39,0.4);border-radius:8px;padding:8px 14px;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:12px;color:#e8f0f8;white-space:nowrap;}
.s-98bd5141{display:none;position:absolute;top:100%;left:0;right:0;
      z-index:1200;background:var(--card);border:1px solid var(--border);border-radius:6px;
      max-height:220px;overflow-y:auto;margin-top:3px;box-shadow:0 8px 24px rgba(0,0,0,0.4);}
.s-b377af0d{display:none;position:absolute;top:100%;left:0;right:0;
    z-index:1200;background:rgba(10,20,35,0.97);border:1px solid rgba(100,180,255,0.15);
    border-radius:5px;max-height:220px;overflow-y:auto;margin-top:3px;
    box-shadow:0 8px 24px rgba(0,0,0,0.5);}
.s-c591c29e{display:none;position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,0.7);align-items:center;justify-content:center;}
.s-6d334f67{display:none;position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,0.75);justify-content:center;align-items:center;}
.s-a9b6fe5b{display:none;position:fixed;top:64px;left:0;right:0;z-index:9995;background:rgba(140,80,0,0.93);color:#fff;font-family:'JetBrains Mono',monospace;font-size:13px;padding:9px 16px;text-align:center;backdrop-filter:blur(2px);}
.s-eb10434c{display:none;text-align:center;margin-bottom:24px;padding:20px 0;border-bottom:2px solid #333;}
.s-636bb4c8{display:none;text-align:center;padding:24px;color:var(--muted);font-size:13px;}
.s-6eb27628{flex-direction:row;gap:8px;align-items:center;}
.s-6095bbf9{flex-shrink:0;transform:rotate(0deg);transition:transform 0.8s ease;}
.s-ccb83234{flex-wrap:wrap;gap:12px}
.s-44781e10{flex:1;background:#0d1b2a;border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:'JetBrains Mono',monospace;font-size:11px;padding:3px 6px;}
.s-d835fc63{flex:1;background:#0d1b2a;border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:'JetBrains Mono',monospace;font-size:11px;padding:4px 8px;}
.s-96e55de0{flex:1;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:7px 10px;
      border-radius:6px;font-family:'JetBrains Mono',monospace;font-size:12px;min-width:0;}
.s-6c007fe2{flex:1;display:flex;flex-direction:column;gap:8px;padding-top:4px;}
.s-2bff178c{flex:1;min-width:200px;padding:8px 12px;background:var(--bg);border:1px solid var(--border2);color:var(--bright);font-family:'JetBrains Mono',monospace;font-size:12px;border-radius:4px;outline:none;}
.s-7976ae84{flex:1;padding:10px;border-radius:6px;font-family:'JetBrains Mono',monospace;font-size:12px;
          cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--muted);}
.s-9ac323f2{flex:1;padding:10px;border-radius:6px;font-family:'JetBrains Mono',monospace;font-size:12px;
          cursor:pointer;border:1px solid var(--gold);background:var(--gold);color:var(--bg);font-weight:600;}
.s-f459c656{flex:1;padding:9px 10px;background:rgba(0,0,0,0.4);border:1px solid var(--border2);border-radius:6px;color:var(--gold2);font-family:'JetBrains Mono',monospace;font-size:11px;outline:none;min-width:0;}
.s-5f9d4e28{font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:2px;color:var(--gold);text-decoration:none;border:1px solid rgba(184,150,90,0.3);padding:6px 14px;border-radius:4px;}
.s-1664b799{font-family:'Bebas Neue',sans-serif;font-size:16px;
        letter-spacing:2px;color:var(--gold)}
.s-9a789c1f{font-family:'Bebas Neue',sans-serif;font-size:16px;color:var(--bright);font-weight:400;letter-spacing:0.04em;margin-bottom:12px}
.s-e0e511f7{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:2px;color:var(--silver);}
.s-9d1c031c{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:2px;color:var(--silver);margin-bottom:16px;}
.s-98ceb0a3{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:3px;color:var(--gold);margin-bottom:16px;}
.s-388e952d{font-family:'Bebas Neue',sans-serif;font-size:18px;color:var(--accent);}
.s-4894019b{font-family:'Bebas Neue',sans-serif;font-size:18px;color:var(--white);}
.s-85a1a6e9{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:0.06em;color:var(--bright);font-weight:400;margin:24px 0 12px}
.s-21e39883{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:2px;color:var(--white);margin-bottom:16px;}
.s-5c595d63{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:2px;color:var(--white);text-align:center;margin-bottom:4px;}
.s-a802072d{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:3px;color:var(--gold);}
.s-d4f9a64c{font-family:'Bebas Neue',sans-serif;font-size:20px;color:var(--bright);font-weight:400;letter-spacing:0.04em}
.s-c4264da7{font-family:'Bebas Neue',sans-serif;font-size:20px;color:var(--bright);font-weight:400;margin-bottom:16px;letter-spacing:0.04em}
.s-cf897e2f{font-family:'Bebas Neue',sans-serif;font-size:20px;color:var(--muted);letter-spacing:2px;}
.s-863c8391{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:0.06em;color:var(--bright);font-weight:400}
.s-cb66b58f{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:3px;color:var(--gold);}
.s-9469a0cc{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:0.06em;color:var(--bright)}
.s-91a083eb{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:3px;color:var(--gold);margin-bottom:4px;}
.s-9f47a636{font-family:'Bebas Neue',sans-serif;font-size:22vw;font-weight:400;color:#1a3a5a;line-height:1;letter-spacing:0.04em;}
.s-01a85d04{font-family:'Bebas Neue',sans-serif;font-size:28px;color:var(--accent);}
.s-d05ae9d7{font-family:'Bebas Neue',sans-serif;font-size:28px;color:var(--gold2);}
.s-a3103d07{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:4px;color:#000;}
.s-5420e357{font-family:'Bebas Neue',sans-serif;font-size:34px;font-weight:400;color:var(--white);letter-spacing:3px;}
.s-a28ee09f{font-family:'Bebas Neue',sans-serif;font-size:60px;font-weight:400;color:white;letter-spacing:.05em;text-align:center;}
.s-f4982ede{font-family:'JetBrains Mono',monospace;font-size:10px;}
.s-b722cd9f{font-family:'JetBrains Mono',monospace;font-size:10px;color:#ff6060;text-align:center;min-height:16px;margin-bottom:8px;}
.s-1f121174{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.06em;display:block;margin-bottom:5px;}
.s-72f5f71d{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.06em;margin-bottom:6px;}
.s-8ce27618{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.06em;margin-bottom:8px;}
.s-5b518257{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:6px;}
.s-c2814e97{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:8px;}
.s-28668cb7{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:1px;}
.s-bb0c6d1b{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);margin-bottom:10px;display:none;}
.s-3db5ff37{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);margin-bottom:12px;text-align:center;}
.s-08717f54{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);margin-bottom:14px;line-height:1.5;}
.s-5f958ff6{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);margin-bottom:3px;}
.s-a1d21c1a{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);margin-bottom:4px;}
.s-45581e28{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);margin-left:4px;}
.s-4e1fb056{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);margin-left:6px;display:none;}
.s-6eca9c8a{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);margin-top:8px;}
.s-b0b0764b{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);text-align:right;letter-spacing:.1em;}
.s-61efbb0f{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);width:18px;text-align:right;flex-shrink:0;}
.s-e9928dba{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text);text-align:right;}
.s-cb8998be{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:1px;color:var(--muted);text-transform:uppercase;margin-bottom:16px;}
.s-7f37a542{font-family:'JetBrains Mono',monospace;font-size:11px;
          color:var(--muted);margin-bottom:4px;letter-spacing:0.5px}
.s-7c6f839d{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gold2);}
.s-8d152329{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);display:block;margin-bottom:4px;}
.s-aab131aa{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);letter-spacing:0.1em;}
.s-8ab1d093{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:12px}
.s-bda90a27{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);letter-spacing:1px}
.s-cacd9009{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);margin-top:12px}
.s-a3b91d81{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);white-space:nowrap;}
.s-397ecc11{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--red-bright);
          letter-spacing:1px;text-transform:uppercase;margin-bottom:10px}
.s-6270d781{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--silver);line-height:1.8;white-space:pre-wrap;}
.s-18f1b09a{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--silver);line-height:2;}
.s-b2642f9a{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--silver);margin-bottom:8px;}
.s-c06a2ece{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;color:var(--gold);}
.s-68802d0f{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;color:var(--green);}
.s-7cee02ed{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;color:var(--red);}
.s-0b0e1053{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.s-2ea2d791{font-family:'JetBrains Mono',monospace;font-size:11px;line-height:1.6;}
.s-35514b3f{font-family:'JetBrains Mono',monospace;font-size:11px;line-height:1.8;}
.s-685d23d1{font-family:'JetBrains Mono',monospace;font-size:11px;line-height:1.8;min-width:170px;}
.s-770d9bb0{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted);}
.s-f339c8dc{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--text);padding:4px 0;}
.s-86e4db9e{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--bright)}
.s-01a3e54e{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:600;color:#e0e6ed;margin-bottom:16px;text-align:center;}
.s-8cb3e33e{font-family:'JetBrains Mono',monospace;font-size:16px;color:#4caf82;font-weight:600;}
.s-147758ed{font-family:'JetBrains Mono',monospace;font-size:16px;color:rgba(255,255,255,0.9);text-align:center;padding:0 30px;}
.s-46310267{font-family:'JetBrains Mono',monospace;font-size:2.6vw;color:#0d1f1a;letter-spacing:0.16em;white-space:nowrap;}
.s-25ef44fc{font-family:'JetBrains Mono',monospace;font-size:2vw;color:#091015;letter-spacing:0.18em;}
.s-186674dc{font-family:'JetBrains Mono',monospace;font-size:4.8vw;color:#0e2018;letter-spacing:0.08em;white-space:nowrap;}
.s-29e52db3{font-family:'JetBrains Mono',monospace;font-size:5.8vw;color:#1a4a2a;letter-spacing:0.06em;white-space:nowrap;}
.s-af4672f8{font-family:'JetBrains Mono',monospace;font-size:5.8vw;font-weight:700;color:#1a4a2a;letter-spacing:0.06em;white-space:nowrap;}
.s-92cd5e02{font-family:'JetBrains Mono',monospace;font-size:6.5vw;color:#1a4a2a;letter-spacing:0.08em;white-space:nowrap;}
.s-5697f56d{font-family:'JetBrains Mono',monospace;font-size:8px;color:rgba(200,112,64,.6);margin-right:3px;font-style:italic;}
.s-0e3f6595{font-family:'JetBrains Mono',monospace;font-size:8px;color:var(--accent);margin-top:6px;letter-spacing:0.1em;}
.s-871054e2{font-family:'JetBrains Mono',monospace;font-size:8px;color:var(--muted);}
.s-3bbb7d46{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:0.5px;color:rgba(184,150,90,0.45);opacity:0.7;padding-left:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;display:block;}
.s-429e575e{font-family:'JetBrains Mono',monospace;font-size:9px;color:#7eb8ff;}
.s-f1988d01{font-family:'JetBrains Mono',monospace;font-size:9px;color:#c84040;white-space:nowrap;text-shadow:0 0 3px #03060a,0 0 6px #03060a;margin-top:2px;letter-spacing:0.5px;}
.s-a72839c4{font-family:'JetBrains Mono',monospace;font-size:9px;color:#d4af72;white-space:nowrap;text-shadow:0 0 3px #03060a,0 0 6px #03060a;margin-top:2px;letter-spacing:0.5px;}
.s-e50d54fa{font-family:'JetBrains Mono',monospace;font-size:9px;color:#ff4444;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;}
.s-4268f7d2{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--accent);}
.s-576f22d6{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;}
.s-22403ec9{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);}
.s-3cf558a9{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);letter-spacing:.07em;margin-bottom:6px;}
.s-92d84628{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);letter-spacing:0.15em;}
.s-2dd6aea7{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:10px;}
.s-cb1dd27e{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);margin-bottom:8px;}
.s-b1fb8cbb{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);margin-bottom:8px;letter-spacing:1px;}
.s-27c1cf15{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);margin-bottom:8px;line-height:1.4;}
.s-800d19c1{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);margin-left:6px;}
.s-53271a53{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);margin-top:2px;}
.s-41cbe628{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);margin-top:4px;letter-spacing:.05em;}
.s-7006815b{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);margin-top:5px;letter-spacing:.04em;}
.s-5d310d6a{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);margin-top:8px;}
.s-abfa68af{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--orange);}
.s-fad4967d{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--silver)}
.s-550abb84{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.2em;color:var(--muted);text-transform:uppercase;margin-bottom:10px;}
.s-90f01338{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:1px;color:rgba(184,150,90,0.55);opacity:0.7;padding-left:2px;}
.s-aca7ffdb{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:2px;color:var(--muted);text-decoration:none;text-transform:uppercase;transition:color .2s;}
.s-4edd627a{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-bottom:12px;}
.s-215b253b{font-family:Bebas Neue,sans-serif;font-size:16px;letter-spacing:2px;color:#e8f0f8;}
.s-3f52dc6a{font-family:JetBrains Mono,monospace;font-size:11px;color:#0a1520;}
.s-95e881df{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:2px;color:var(--white);text-transform:uppercase;}
.s-73be4be3{font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:2px;color:var(--white);min-width:100px;}
.s-59652d67{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:2px;margin-bottom:6px;}
.s-365f24f9{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:6px;}
.s-b268f123{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);padding-top:2px;min-width:18px;}
.s-1852fd4f{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);padding:0 2px;}
.s-5b7f764b{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--accent);}
.s-2cda4c84{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gold);letter-spacing:1px;}
.s-1068d7d3{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gold2);letter-spacing:1px;}
.s-147257db{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);padding:12px;}
.s-46417e9d{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);padding:12px;text-align:center;}
.s-a32b1f55{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--silver);}
.s-601d7006{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--silver);line-height:1.6;}
.s-d538d5b3{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--silver);white-space:nowrap}
.s-896ec92f{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;color:#fff;background:rgba(0,0,0,0.72);padding:1px 4px;border-radius:3px;white-space:nowrap;pointer-events:none;letter-spacing:0.5px;}
.s-477949ff{font-family:'JetBrains Mono',monospace;font-size:11px;line-height:1.6;}
.s-28c64b9b{font-family:'JetBrains Mono',monospace;font-size:11px;line-height:1.7;}
.s-d19ba8bd{font-family:'JetBrains Mono',monospace;font-size:11px;line-height:1.7;min-width:200px;}
.s-e48a9d37{font-family:'JetBrains Mono',monospace;font-size:11px;line-height:1.8;min-width:170px;}
.s-cdddeb26{font-family:'JetBrains Mono',monospace;font-size:16px;letter-spacing:4px;color:var(--bright);}
.s-85d6e552{font-family:'JetBrains Mono',monospace;font-size:9px;color:#ff6b6b;text-shadow:0 0 4px #03060a,0 0 8px #03060a;white-space:nowrap;margin-top:1px;}
.s-a7a7163b{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);letter-spacing:1px;}
.s-88fee0e4{font-family:sans-serif;text-align:center;padding:60px}
.s-892da86f{font-family:sans-serif;text-align:center;padding:60px;background:#03060a;color:#c8d8e8}
.s-77998d72{font-family:sans-serif;text-align:center;padding:60px;background:#f0f7ff}
.s-7157aa3e{font-size:10px;color:#e07070;}
.s-c47ae179{font-size:10px;color:var(--cyan);letter-spacing:1px;}
.s-708ee6bb{font-size:10px;color:var(--gold);letter-spacing:1px;text-transform:uppercase;}
.s-3d543eec{font-size:10px;color:var(--gold);white-space:nowrap;}
.s-ee0f6d33{font-size:10px;color:var(--muted);font-style:italic;}
.s-7dfc002f{font-size:10px;color:var(--muted);letter-spacing:0.5px;}
.s-cb18f980{font-size:10px;color:var(--muted);letter-spacing:2px;padding:4px 0;}
.s-cc31d2fd{font-size:10px;color:var(--muted);margin-left:6px;transition:transform .2s;}
.s-28f03eec{font-size:10px;color:var(--muted);margin-top:2px;text-align:right;}
.s-b41fd6cc{font-size:10px;color:var(--muted);margin-top:8px;}
.s-e251afde{font-size:10px;color:var(--silver);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.s-dc0c4f5d{font-size:10px;letter-spacing:1px;color:var(--muted);font-family:'JetBrains Mono',monospace;}
.s-5930a14d{font-size:11px;color:var(--amber);letter-spacing:4px;}
.s-78361895{font-size:11px;color:var(--cyan);font-family:'JetBrains Mono',monospace;white-space:pre-line;line-height:1.6;}
.s-1fd8c813{font-size:11px;color:var(--muted)}
.s-222ad635{font-size:11px;color:var(--muted);font-family:'JetBrains Mono',monospace;}
.s-990f3cc8{font-size:11px;color:var(--muted);font-family:'JetBrains Mono',monospace;letter-spacing:1px}
.s-15a861a3{font-size:11px;color:var(--muted);font-family:'JetBrains Mono',monospace;flex-shrink:0;}
.s-ce258f3b{font-size:11px;color:var(--muted);margin-bottom:10px;font-family:'Barlow',sans-serif;font-weight:300;}
.s-bc021dcd{font-size:11px;color:var(--muted);margin-top:4px}
.s-5c3809df{font-size:11px;color:var(--muted);margin-top:6px}
.s-69a65b06{font-size:11px;color:var(--muted);margin-top:6px;}
.s-ea04831d{font-size:11px;color:var(--muted);margin-top:8px}
.s-4809c2fa{font-size:11px;color:var(--muted);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.s-dd900d0c{font-size:11px;color:var(--text);line-height:1.8;}
.s-99d7b707{font-size:11px;color:var(--text);line-height:1.9;}
.s-6f4bb9d5{font-size:11px;color:var(--text);line-height:2.2;}
.s-fb6aa2a0{font-size:11px;font-weight:500;color:var(--bright);letter-spacing:1px;margin-bottom:6px;}
.s-470fb085{font-size:11px;letter-spacing:1px;color:var(--muted);font-family:'JetBrains Mono',monospace;}
.s-03b74711{font-size:11px;margin-top:2px;display:flex;align-items:center;gap:4px;}
.s-b7970c71{font-size:11px;padding:6px 10px;}
.s-9cedbd49{font-size:12px;color:#666;margin-top:4px;}
.s-0ffce5d4{font-size:12px;color:var(--bright);margin-bottom:10px;}
.s-1fa24cb6{font-size:12px;color:var(--cyan);margin-top:2px;}
.s-3e5083d3{font-size:12px;color:var(--muted);margin-bottom:12px;}
.s-c2bb16fa{font-size:12px;color:var(--muted);margin-bottom:16px;}
.s-ee073f4d{font-size:12px;color:var(--muted);margin-top:6px;}
.s-3fefbdcd{font-size:12px;color:var(--muted);margin-top:8px;}
.s-86ef82db{font-size:12px;color:var(--muted);margin-top:8px;font-family:'JetBrains Mono',monospace}
.s-11d36cc3{font-size:12px;color:var(--muted);margin:8px 0 0 16px;line-height:1.8}
.s-c739cbfc{font-size:12px;color:var(--muted);min-width:24px;text-align:right}
.s-5f3f7844{font-size:12px;padding:5px 12px;}
.s-9e6595fb{font-size:13px;}
.s-3bc467cc{font-size:13px;color:#999}
.s-b9a5d4bb{font-size:13px;color:var(--bright)}
.s-e8857cd7{font-size:13px;color:var(--cyan);margin-top:4px;}
.s-e94bd886{font-size:13px;color:var(--gold,#b8965a)}
.s-17d902bf{font-size:13px;color:var(--muted)}
.s-56e6baf1{font-size:13px;color:var(--muted);}
.s-db46188d{font-size:13px;color:var(--muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.1em}
.s-9860a6ec{font-size:13px;color:var(--muted);margin-top:4px;}
.s-d3d7e198{font-size:13px;color:var(--silver);}
.s-ec2c015c{font-size:13px;color:var(--text);line-height:1.6}
.s-508fda8f{font-size:13px;color:var(--text);margin-top:8px}
.s-98a629e6{font-size:13px;color:var(--text);white-space:pre-wrap;}
.s-a683f89c{font-size:13px;color:var(--white);font-weight:500;}
.s-8c06c4b7{font-size:13px;font-weight:700;color:#c8d8e8;margin-bottom:4px;}
.s-1a92b5f6{font-size:13px;font-weight:700;color:#ffe680;margin-bottom:4px;}
.s-128f1a8a{font-size:13px;line-height:1.6;color:var(--silver);white-space:pre-wrap;}
.s-9aa70e95{font-size:13px;padding:6px 14px;}
.s-45e8f025{font-size:14px;color:#333;margin-top:4px;}
.s-07ad2930{font-size:14px;color:var(--gold);opacity:0.7;line-height:1;}
.s-b094a7d6{font-size:14px;color:var(--muted)}
.s-57de9386{font-size:14px;color:var(--text);}
.s-b307e5ea{font-size:14px;color:var(--text);margin-top:4px}
.s-47b3c769{font-size:14px;display:flex;gap:8px;flex-wrap:wrap;padding-top:6px}
.s-c1827f21{font-size:16px;flex-shrink:0}
.s-2c6e7de2{font-size:16px;margin-top:20px}
.s-65ae5d99{font-size:16px;margin-top:24px}
.s-0eb6ec71{font-size:18px;font-weight:700;color:var(--bright);letter-spacing:1px;}
.s-856b8c01{font-size:18px;letter-spacing:0}
.s-cd01f0e2{font-size:20px;font-weight:700;color:var(--bright);letter-spacing:2px;}
.s-14b8f0d6{font-size:20px;margin-bottom:4px;}
.s-9f717900{font-size:20px;margin-top:2px;}
.s-7ecfeb52{font-size:20px;margin:4px 0;}
.s-e57545fb{font-size:28px;margin-bottom:10px;opacity:0.5;}
.s-2407b2e6{font-size:32px;color:var(--muted);font-family:'Bebas Neue',sans-serif;font-weight:400;letter-spacing:.02em}
.s-d500fb63{font-size:32px;line-height:1;cursor:' + (_isLocked ? 'not-allowed' : 'move') + ';filter:brightness(0) saturate(100%) invert(25%) sepia(98%) saturate(7471%) hue-rotate(359deg) brightness(103%) contrast(110%)}
.s-971cf256{font-size:32px;line-height:1;cursor:' + (_isLocked ? 'not-allowed' : 'move') + ';filter:brightness(0) saturate(100%) invert(55%) sepia(78%) saturate(508%) hue-rotate(93deg) brightness(95%) contrast(88%)}
.s-e58b8101{font-size:48px}
.s-79b982d7{font-size:80px;}
.s-a89fad3f{font-size:80px;animation:alarmPulse 0.8s infinite;}
.s-20ac6871{font-size:8px;}
.s-41eaacfd{font-size:8px;color:var(--cyan)}
.s-8746044b{font-size:8px;letter-spacing:2px;color:var(--muted);margin-bottom:4px;}
.s-c6e46297{font-size:8px;letter-spacing:2px;color:var(--muted);margin-bottom:8px;}
.s-b8d12574{font-size:8px;padding:1px 4px;border-radius:3px;background:rgba(100,180,255,0.15);color:#64b4ff;margin-left:6px;}
.s-957f3a47{font-size:8px;padding:1px 4px;border-radius:3px;background:rgba(76,175,130,0.15);color:#4caf82;margin-left:6px;}
.s-b30998fc{font-size:9px;color:#4a8a9a;margin-top:2px;}
.s-4df2f290{font-size:9px;color:#6a8098;}
.s-4e1157b9{font-size:9px;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:4px;font-weight:400;}
.s-5198ce61{font-size:9px;color:var(--muted);font-family:'JetBrains Mono',monospace;}
.s-0a2ef1fd{font-size:9px;color:var(--muted);margin-top:-2px;}
.s-5c262d92{font-size:9px;color:var(--muted);margin-top:2px;letter-spacing:0.5px;}
.s-d1749c71{font-size:9px;font-family:'JetBrains Mono',monospace;color:var(--muted);}
.s-dbc1feba{font-size:9px;letter-spacing:2px;color:#fbbf24;margin-bottom:8px;}
.s-7090a98c{font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:12px;}
.s-5e28fabd{font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:8px;}
.s-836f9318{font-size:9px;letter-spacing:3px;color:#a78bfa;margin-bottom:10px;}
.s-b640d630{font-size:9px;letter-spacing:3px;color:var(--amber);margin-bottom:12px;}
.s-03c6f833{font-size:9px;letter-spacing:3px;color:var(--gold);font-weight:500;text-transform:uppercase;}
.s-e149ddfc{font-size:9px;letter-spacing:3px;color:var(--gold);margin-bottom:12px;}
.s-b31bcc4c{font-size:9px;opacity:.6;margin-left:2px;}
.s-c52e4090{font-size:9px;opacity:0.6;}
.s-b069a8eb{font-size:9px;opacity:0.7;}
.s-ef3494ed{font-weight:700;margin-bottom:4px;}
.s-33204794{font:9px JetBrains Mono,monospace;color:var(--muted);white-space:nowrap;}
.s-584d43fc{grid-column:1/-1;text-align:center;color:var(--muted);padding:40px;}
.s-94a5b462{grid-column:span 2}
.s-a4fc239f{grid-template-columns:1fr;margin-top:0;}
.s-56082f92{height:250px;max-width:400px;margin:0 auto;}
.s-3d5b3d90{height:350px}
.s-8db40309{margin-bottom:10px;font-style:italic;color:var(--silver);}
.s-2b583d73{margin-bottom:14px}
.s-a82d7062{margin-bottom:14px;}
.s-766c504a{margin-bottom:14px;font-size:13px;color:var(--text-muted,#8a9eb8)}
.s-b6218e34{margin-bottom:16px;font-size:14px}
.s-c071b4ab{margin-bottom:28px}
.s-946b94bf{margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid rgba(184,150,90,0.15);display:flex;align-items:baseline;justify-content:space-between;}
.s-c17af62b{margin-bottom:32px}
.s-4c991b32{margin-bottom:8px;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;}
.s-4018f4a8{margin-left:12px;}
.s-d354836b{margin-left:4px;font-size:10px;color:var(--muted);letter-spacing:.05em;}
.s-04c4bb99{margin-left:auto;background:#1a0d0d;border:1px solid #662020;color:#ff6060;border-radius:6px;padding:4px 10px;font-family:'JetBrains Mono',monospace;font-size:11px;cursor:pointer;}
.s-973ea2f9{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted)}
.s-f5ae962a{margin-left:auto;font-size:9px;letter-spacing:1px;color:var(--muted);text-transform:uppercase;}
.s-539fa9a0{margin-right:8px}
.s-01674848{margin-top:' + (c.missing && c.missing.length > 0 ? '10px' : '0') + '}
.s-291b7bbb{margin-top:0;}
.s-d8a81eac{margin-top:10px;}
.s-8314a564{margin-top:10px;font-size:13px}
.s-cd1b383b{margin-top:10px;padding:8px 12px;background:rgba(184,150,90,0.06);border-left:3px solid var(--gold);border-radius:0 4px 4px 0;font-size:11px;color:var(--text);}
.s-4a99f25b{margin-top:12px;display:flex;justify-content:center;gap:6px;}
.s-1ee7163a{margin-top:12px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--silver);}
.s-40642a40{margin-top:12px;font-size:12px;color:var(--muted);border-top:1px solid var(--border);padding-top:10px;}
.s-16c129a6{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);}
.s-e7e57e0f{margin-top:12px;padding:8px 12px;background:var(--surface);border-radius:6px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--gold2);}
.s-c800ad02{margin-top:12px;width:200px}
.s-f9229803{margin-top:14px;display:flex;gap:12px;flex-wrap:wrap}
.s-16eb0a16{margin-top:14px;display:flex;gap:8px;}
.s-633d7ef1{margin-top:16px;color:var(--silver);}
.s-cc22b19d{margin-top:16px;display:flex;gap:8px;}
.s-2b3c22ad{margin-top:16px;display:none;}
.s-ae9bc2a9{margin-top:16px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);letter-spacing:0.5px}
.s-5392456f{margin-top:16px;font-size:11px;color:var(--silver);line-height:1.7;}
.s-cb825917{margin-top:16px;font-size:12px;color:var(--gold);font-family:'JetBrains Mono',monospace;}
.s-f00d229d{margin-top:16px;margin-bottom:16px;font-size:14px}
.s-a1d497d0{margin-top:20px;display:flex;flex-direction:column;gap:6px;}
.s-38e9c906{margin-top:20px;font-size:12px;color:var(--muted);text-align:center;}
.s-583f758b{margin-top:28px}
.s-f0778f9d{margin-top:28px;}
.s-816342cc{margin-top:2px;letter-spacing:2px;}
.s-8d74c20d{margin-top:32px;}
.s-25f46276{margin-top:4px;font-size:10px;color:var(--muted);}
.s-49e184fa{margin-top:4px;padding:2px 10px;background:#c0392b;color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:11px;}
.s-e708ec9c{margin-top:6px;font-size:10px;color:var(--muted);}
.s-b2a9e0c1{margin-top:6px;font-size:12px}
.s-c84162bd{margin-top:6px;padding-top:5px;border-top:1px solid #2a3a4a;color:#6a8aaa;}
.s-273e1716{margin-top:6px;padding-top:5px;border-top:1px solid #2a3a4a;color:#c8d8e8;}
.s-a849d4db{margin-top:8px;color:rgba(232,80,80,0.6)}
.s-2482b9e6{margin-top:8px;display:block}
.s-092a07b8{margin-top:8px;display:flex;align-items:center;justify-content:space-between;}
.s-2fef089f{margin-top:8px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);}
.s-abcbb52d{margin-top:8px;font-size:13px;color:var(--text)}
.s-62def6c3{margin:0;align-self:center;}
.s-0291ad36{margin:12px 0 4px;}
.s-01a7a6e3{margin:12px 0 4px;color:var(--gold);font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:2px;border-bottom:1px solid var(--border);padding-bottom:4px;}
.s-120affbf{margin:8px 0 16px;display:flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.06em;}
.s-daf0bb53{max-height:300px;overflow-y:auto;}
.s-f0e7ba85{max-height:60vh;overflow-y:auto;padding-right:8px;}
.s-bbc1fe6d{max-width:120px}
.s-8e939e4a{max-width:200px;white-space:normal;font-size:11px;color:var(--silver)}
.s-de32bcad{max-width:300px;text-align:right;font-size:10px;color:var(--silver);white-space:normal;}
.s-6d09221a{max-width:400px;}
.s-87fdc0bd{max-width:400px;margin:auto;background:white;padding:40px;border-radius:12px;box-shadow:0 2px 20px rgba(0,0,0,0.1)}
.s-5c0843b7{max-width:500px;}
.s-bdcaca75{max-width:700px;}
.s-f4004370{max-width:800px;}
.s-921debfc{min-width:120px;font-size:13px}
.s-d47f14b8{min-width:28px;width:28px;padding:4px 0}
.s-5dcdea59{min-width:72px;width:72px}
.s-0943052a{min-width:72px;width:72px;padding:4px 2px}
.s-5a405991{min-width:auto;cursor:pointer;}
.s-6d88e93f{opacity:.65;font-size:9px;}
.s-d95b59ac{opacity:0.6}
.s-44847ce7{overflow-x:auto;margin-top:16px}
.s-6100b830{overflow-x:auto;margin-top:8px}
.s-f5537b58{overflow-y:auto;flex:1;padding:0 4px 4px;}
.s-93fed312{padding-top:0;}
.s-b86ae23a{padding-top:12px;border-top:2px solid var(--border2);}
.s-69c746fc{padding:10px 0;color:var(--text);font-size:13px;}
.s-e19bce33{padding:10px 0;text-align:right;}
.s-2fefc045{padding:10px 16px 4px;font-family:'JetBrains Mono',monospace;font-size:9px;color:#4aba6a;letter-spacing:.07em;}
.s-7c7d33d2{padding:10px 16px 4px;font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);letter-spacing:.07em;}
.s-adb42f27{padding:10px;color:#667;font-size:10px;text-align:center;}
.s-8e8bd284{padding:10px;color:var(--muted);font-size:10px;text-align:center;}
.s-f3974579{padding:12px 16px;border-top:1px solid #1e3048;flex-shrink:0;background:#08101a;}
.s-02e4a56a{padding:12px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);text-align:center;}
.s-55368b76{padding:12px;text-align:center;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);}
.s-67ae1400{padding:14px;}
.s-5df1449c{padding:16px 18px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);}
.s-0e9a2061{padding:16px 20px;border-bottom:1px solid #0d1e30;}
.s-39ff7125{padding:20px;color:var(--muted)}
.s-5f672748{padding:20px;text-align:center;}
.s-495bbe02{padding:24px 16px;text-align:center;color:var(--muted);font-size:11px;letter-spacing:1px;}
.s-09ad69b1{padding:28px;text-align:center;border-bottom:1px solid #0d1e30;cursor:pointer;transition:background .2s;}
.s-ac81acd1{padding:2px 0;}
.s-1e0d5a69{padding:2px 0;display:flex;align-items:center;gap:8px;}
.s-6b517637{padding:30px;text-align:center;color:var(--muted);font-family:'JetBrains Mono',monospace;font-size:11px;}
.s-2f9c050b{padding:32px;text-align:center;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted);}
.s-5193a249{padding:3px 0;color:var(--amber);}
.s-ac99056c{padding:3px 10px 5px;}
.s-aeb97c02{padding:6px 8px;border-bottom:1px solid var(--border);color:' + (t.color || '#FFD700') + ';font-weight:600;}
.s-d30d5c2e{padding:7px 10px;cursor:pointer;border-bottom:1px solid rgba(100,180,255,0.08);font-family:JetBrains Mono,monospace;font-size:10px;}
.s-9b949613{padding:7px 10px;cursor:pointer;border-bottom:1px solid rgba(20,32,48,0.3);font-family:JetBrains Mono,monospace;font-size:10px;}
.s-85682246{padding:8px 0 12px;font-size:13px;color:var(--silver);}
.s-7baa2074{padding:8px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
.s-a68e3c1e{padding:8px 10px;color:var(--muted);font-size:12px}
.s-05cd3c08{padding:8px 12px;background:var(--surface);border:1px solid var(--border2);color:var(--white);font-family:'JetBrains Mono',monospace;font-size:13px;border-radius:6px;outline:none;}
.s-44cd1236{padding:8px;}
.s-bb563d93{pointer-events:none;}
.s-d57e9fa7{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:12px;pointer-events:none;}
.s-39a89df5{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:#667;font-size:12px;pointer-events:none;}
.s-19c1f770{position:absolute;top:8px;left:0;width:100%;height:8px;border-radius:4px;pointer-events:none;}
.s-aab3e1be{position:fixed;bottom:12px;left:12px;z-index:9999;display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
.s-fa35343c{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;}
.s-edf34038{position:relative;margin-bottom:10px;}
.s-7065c320{position:relative;margin:8px 10px 4px 10px;}
.s-d78c7700{resize:vertical;}
.s-7a4b2f74{text-align:center;color:var(--muted);font-size:11px;}
.s-eca65a30{text-align:center;color:var(--muted);font-size:18px;}
.s-a1e30450{text-align:center;color:var(--muted);padding:24px}
.s-fdbcf371{text-align:center;color:var(--muted);padding:40px;}
.s-072b9dd2{text-align:center;margin-bottom:14px;}
.s-387bc3c0{text-align:center;margin-top:6px;font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);letter-spacing:1px}
.s-6b15b575{text-align:center;padding-top:4px;}
.s-1ed15db1{text-align:center;padding:20px;color:var(--muted)}
.s-efa4ec14{text-align:center;padding:32px;color:var(--muted);font-family:'JetBrains Mono',monospace;font-size:11px;}
.s-60e9ddc0{text-align:center;padding:32px;color:var(--muted);font-family:'JetBrains Mono',monospace;font-size:11px;display:none;}
.s-67729524{text-align:center;padding:40px;color:var(--muted);}
.s-733f4564{text-align:center;padding:60px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted)}
.s-81302477{text-align:left;padding-left:16px}
.s-80d654f9{text-decoration:none}
.s-4edeb9e7{text-decoration:none;}
.s-4a0fa55c{transition: transform 0.8s cubic-bezier(0.25,0.1,0.25,1);}
.s-f6f076f9{transition:transform 0.15s ease;}
.s-cfe1a297{transition:transform 0.15s ease;transform-origin:150px 150px;filter:drop-shadow(0 1px 2px rgba(0,0,0,0.5));}
.s-f880ba60{transition:transform 0.25s linear;}
.s-c430bdba{transition:transform 0.25s linear;transform-origin:150px 150px;
                          filter:drop-shadow(0 1px 2px rgba(0,0,0,0.5));}
.s-86abdab9{white-space:nowrap}
.s-a9efa544{white-space:nowrap;}
.s-46a548d4{width:0;}
.s-66d6dcc9{width:0;background:var(--cyan);}
.s-828403fc{width:0;background:var(--gold);}
.s-d8e9e13a{width:0;background:var(--green);}
.s-67a7b850{width:0;background:var(--orange);}
.s-13a43895{width:0;background:var(--red);}
.s-5a937fd6{width:0;background:var(--silver);}
.s-2186d412{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:8px 12px;
        border-radius:6px;font-family:'JetBrains Mono',monospace;font-size:12px;margin-bottom:12px;}
.s-38787c04{width:100%;box-sizing:border-box;background:#1a2a3a;border:1px solid var(--border);border-radius:6px;padding:10px 14px;font-family:'JetBrains Mono',monospace;font-size:18px;color:#e0e6ed;text-align:center;letter-spacing:0.3em;margin-bottom:6px;}
.s-68e8a0ec{width:100%;box-sizing:border-box;padding:6px 10px 6px 28px;
    background:rgba(10,20,35,0.9);border:1px solid rgba(100,180,255,0.15);border-radius:5px;
    color:#e0e0e0;font-family:'JetBrains Mono',monospace;font-size:10px;outline:none;}
.s-618d63af{width:100%;box-sizing:border-box;padding:7px 10px 7px 30px;
      background:var(--card);border:1px solid var(--border);border-radius:6px;
      color:var(--text);font-family:'JetBrains Mono',monospace;font-size:10px;outline:none;}
.s-44c9cff9{width:100%;font-family:'JetBrains Mono',monospace;font-size:12px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:4px 6px;}
.s-794b5104{width:100%;padding:7px;border-radius:6px;font-family:'JetBrains Mono',monospace;font-size:11px;
        cursor:pointer;border:1px dashed var(--gold);background:transparent;color:var(--gold);margin-bottom:14px;}
.s-dc561c77{width:100%;padding:9px 12px;background:var(--surface);border:1px solid var(--border2);border-radius:6px;color:var(--bright);font-family:'Barlow',sans-serif;font-size:14px;outline:none;}
.s-db4cf10b{width:100px}
.s-f22e2a31{width:10px;height:10px}
.s-d2db6e17{width:10px;height:10px;margin:0;}
.s-b1da86b1{width:10px;height:10px;margin:0;background:#c8903a;}
.s-9fd0793c{width:110px;padding:8px 12px;background:var(--surface);border:1px solid var(--border2);color:var(--white);font-family:'JetBrains Mono',monospace;font-size:13px;border-radius:4px;outline:none;}
.s-66bb535d{width:120px;padding:8px 12px;background:var(--surface);border:1px solid var(--border2);color:var(--bright);font-family:'JetBrains Mono',monospace;font-size:14px;border-radius:4px;outline:none;text-transform:lowercase;}
.s-c6fffdfe{width:130px}
.s-fa74b89f{width:160px;height:160px;border-radius:8px;border:1px solid var(--border);}
.s-23f9f175{width:160px;padding:8px 12px;background:var(--surface);border:1px solid var(--border2);color:var(--bright);font-family:'JetBrains Mono',monospace;font-size:14px;border-radius:4px;outline:none;}
.s-b339228b{width:16px;height:16px;border:1px dashed rgba(184,150,90,0.4);background:rgba(42,112,144,0.15);}
.s-16a162db{width:16px;height:16px;cursor:pointer;}
.s-71c623c7{width:16px;height:16px;cursor:pointer;accent-color:#4caf82;}
.s-c275228d{width:16px;height:2px;background:#4aaa6a;display:inline-block;border-radius:1px;}
.s-0cec9e1e{width:16px;height:2px;background:var(--amber2,#d4af72);display:inline-block;border-radius:1px;}
.s-c01b4ee6{width:16px;height:2px;background:var(--gold);display:inline-block;border-radius:1px;}
.s-d52ddd08{width:170px}
.s-8fcc561a{width:20px;text-align:center}
.s-933aed1b{width:220px;padding:8px 12px;background:var(--surface);border:1px solid var(--border2);color:var(--white);font-family:'JetBrains Mono',monospace;font-size:13px;border-radius:4px;outline:none;}
.s-9d48e0f2{width:240px;padding:8px 12px;background:var(--surface);border:1px solid var(--border2);color:var(--white);font-family:'JetBrains Mono',monospace;font-size:13px;border-radius:6px;outline:none;}
.s-1a53e9a9{width:280px;padding:8px 12px;background:var(--surface);border:1px solid var(--border2);color:var(--white);font-family:'JetBrains Mono',monospace;font-size:13px;border-radius:6px;outline:none;}
.s-795b961e{width:28px;height:28px;border-radius:50%;border:2px solid #b8965a;background:rgba(10,21,32,0.9);color:#d4af72;font-family:Bebas Neue,sans-serif;font-size:14px;display:flex;align-items:center;justify-content:center;}
.s-57f02dc3{width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:ew-resize;}
.s-6f7ea4d9{width:32px;height:24px;padding:1px;cursor:pointer;border:1px solid var(--border2);background:transparent;border-radius:3px;}
.s-e4f37138{width:32px;height:28px;border:1px solid var(--border);border-radius:6px;background:none;cursor:pointer;padding:2px;display:none;}
.s-3d7d7015{width:5%}
.s-379b9560{width:52px;background:var(--card);border:1px solid var(--border2);border-radius:5px;color:var(--text);padding:4px 6px;font-family:'JetBrains Mono',monospace;font-size:12px;text-align:center;}
.s-ee7e719b{width:55px;background:#0d1b2a;border:1px solid var(--border);border-radius:6px;color:#e05050;font-family:'JetBrains Mono',monospace;font-size:13px;padding:3px 6px;text-align:center;}
.s-32af4aa2{width:55px;background:#0d1b2a;border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:'JetBrains Mono',monospace;font-size:13px;padding:3px 6px;text-align:center;}
.s-25ba1ec9{width:5px;height:5px;animation:none;background:var(--muted);}
.s-18ab84f4{width:60px;background:#0d1b2a;border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:'JetBrains Mono',monospace;font-size:13px;padding:4px 8px;text-align:center;}
.s-2c6fdf2d{width:65px;background:#0d1b2a;border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:'JetBrains Mono',monospace;font-size:13px;padding:4px 8px;text-align:center;}
.s-70abd1c3{width:6px;height:6px;border-radius:50%;background:var(--amber);animation:dotPulse 1.2s ease-in-out 0.2s infinite;}
.s-cf3706d4{width:6px;height:6px;border-radius:50%;background:var(--amber);animation:dotPulse 1.2s ease-in-out 0.4s infinite;}
.s-055c8be3{width:6px;height:6px;border-radius:50%;background:var(--amber);animation:dotPulse 1.2s ease-in-out infinite;}
.s-b28a909b{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.s-f2925848{width:70px;background:#0d1b2a;border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:'JetBrains Mono',monospace;font-size:13px;padding:4px 8px;text-align:center;}
.s-ccadcf25{width:70px;font-size:12px;padding:4px 6px;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--bright);font-family:'JetBrains Mono',monospace;text-align:center;}
.s-0504a12f{width:7px;height:7px;border-radius:50%;background:#f59e0b;display:inline-block;flex-shrink:0;}
.s-c407d5f4{width:8px;height:8px;border-radius:50%;background:#3a5068;flex-shrink:0;}
.s-38a10bdc{width:8px;height:8px;border-radius:50%;background:#4aba6a;flex-shrink:0;}
.s-d046d707{width:90px;padding:8px 12px;background:var(--surface);border:1px solid var(--border2);color:var(--white);font-family:'JetBrains Mono',monospace;font-size:13px;border-radius:4px;outline:none;margin-left:8px;}
.s-63331f7f{width:auto;margin-right:6px;accent-color:var(--gold);}
.s-8fb76009{writing-mode:vertical-rl;transform:rotate(180deg);font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);letter-spacing:0.15em;text-transform:uppercase;text-align:center;padding-bottom:20px}

/* ----------------------------------------------------------------------
 * Accessibility baselines — appended last so the cascade wins over the
 * auto-generated `.s-*` utility classes that set `outline:none`.
 * ---------------------------------------------------------------------- */

/* Keyboard focus must be visible. `:focus-visible` only fires for
 * keyboard / programmatic focus, so mouse clicks don't get a ring. */
:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
  border-radius: 2px;
}

/* Respect the user's reduced-motion preference. Durations collapse
 * to ~instant rather than `animation:none` so animation-name state
 * (e.g. status pulses) still resolves correctly. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
