/* ======================================================
   Arena — faithful recreation of FactionSurgeDashboard
   Class names mirror the CSS modules in the codebase
   ====================================================== */

:root{
  --font-terminal: 'VT323', monospace;
  --font-pixel: 'Press Start 2P', monospace;
  --font-mono: 'Space Mono', monospace;
  --font-sans: 'Space Grotesk', sans-serif;
  --neon-blue: #00eeff;
  --neon-yellow: #f0ff00;
  --text-bright: #fff5da;
}

/* Arena V2 — body/a selectors scoped to body.arena-v2-active so Arena doesn't
   leak into other routes. ArenaV2.tsx toggles this class on mount/unmount. */
body.arena-v2-active{
  background:#020208;
  color:#fff5da;
  font-family: var(--font-terminal);
  overflow:hidden;
  margin:0;
  height:100%;
}
body.arena-v2-active a{color:inherit;text-decoration:none}
body.arena-v2-active *{box-sizing:border-box}

/* ====================== ROOT ====================== */
.fs-root{
  display:flex;
  flex-direction:column;
  /* ArenaV2 renders inside Layout's <main> (which sizes itself to the
     remaining viewport below the site TopBar). Use 100% to fill that
     container instead of 100vh — 100vh would overflow the header. */
  height:100%;
  min-height:0;
  width:100%;
  background:
    radial-gradient(circle at top left, rgba(0, 238, 255, 0.08), transparent 30%),
    radial-gradient(circle at top right, rgba(255, 193, 7, 0.08), transparent 24%),
    linear-gradient(180deg, #020208 0%, #040814 100%);
  color:#fff5da;
  font-family: var(--font-terminal);
  overflow:hidden;
}

/* Top shell header — thin */
.fs-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:8px 14px 10px;
  border-bottom:1px solid rgba(0,238,255,0.08);
  background: rgba(6,10,20,.85);
  backdrop-filter: blur(6px);
  flex-shrink:0;
  position:relative;
  z-index:80;
  overflow:visible;
}
.fs-topbar-left{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
  flex:1 1 auto;
}
.fs-brand{
  display:inline-flex;
  align-items:center;
  gap:0;
  text-decoration:none;
  line-height:0;
  position:relative;
  margin-right:2px;
}
.fs-nav{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  flex-wrap:nowrap;
}
.fs-nav a{
  padding:6px 12px;border-radius:3px;border:1px solid transparent;
  font-family:"Space Grotesk",sans-serif;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.55);
}
.fs-nav a.active{
  background:rgba(244,183,40,.08);border-color:rgba(244,183,40,.3);color:#ffd866;
  text-shadow:0 0 6px rgba(244,183,40,.3);
}
.fs-nav a:hover:not(.active){background:rgba(255,255,255,.04);color:#d8fbff}
.fs-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 10px;border-radius:3px;
  border:1px solid rgba(0,238,255,.18);background:rgba(0,238,255,.05);
  font-family:"VT323",monospace;font-size:.92rem;color:#d8fbff;
}
.fs-chip.yellow{border-color:rgba(244,183,40,.3);background:rgba(244,183,40,.08);color:#ffd866}
.fs-chip .d{width:6px;height:6px;border-radius:999px;background:#39ff14;box-shadow:0 0 8px #39ff14}

/* ── TopBar v2 — logo-only brand, TRADE dropdown, BUY DOGES, chip wallet controls ── */

.fs-brand-img{
  width:64px;height:64px;display:block;
  transform:translateY(8px);
  filter:
    drop-shadow(0 0 12px rgba(244,183,40,.42))
    drop-shadow(0 10px 18px rgba(0,0,0,.35));
  image-rendering:pixelated;
}

/* Separator between route nav and action nav */
.fs-nav-sep{
  width:1px;height:18px;align-self:center;margin:0 6px;
  background:rgba(255,255,255,.1);
}

.fs-link-rail{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-left:10px;
}

.fs-link-btn{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  border:1px solid rgba(0,238,255,.18);
  background:
    linear-gradient(180deg, rgba(22, 30, 49, 0.96), rgba(8, 13, 24, 0.98)),
    radial-gradient(circle at top, rgba(255, 214, 64, 0.12), transparent 48%);
  color:rgba(255,245,218,.88);
  box-shadow:
    0 12px 24px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 16px rgba(0,238,255,.06);
  transition:
    transform .18s ease,
    border-color .18s ease,
    color .18s ease,
    box-shadow .18s ease;
}

.fs-link-btn:hover{
  color:#fff8de;
  transform:translateY(-1px);
  border-color:rgba(244,183,40,.34);
  box-shadow:
    0 16px 28px rgba(0,0,0,.34),
    0 0 18px rgba(244,183,40,.18);
}

/* Plain <button> styled to match the original .fs-nav a exactly */
.fs-nav-btn{
  position:relative;
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;border-radius:3px;border:1px solid transparent;
  font-family:"Space Grotesk",sans-serif;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.55);background:transparent;cursor:pointer;
  line-height:1;
}
.fs-nav-btn:hover{background:rgba(255,255,255,.04);color:#d8fbff}
.fs-nav-btn-special{
  border-color:rgba(244,183,40,.3);color:#ffd866;
  background:linear-gradient(180deg, rgba(244,183,40,.1), rgba(244,183,40,.04));
}
.fs-nav-btn-special:hover{background:rgba(244,183,40,.16);color:#ffe08a}

/* TRADE dropdown */
.fs-trade-wrap{position:relative}
.fs-trade-arr{
  margin-left:3px;font-size:.72em;opacity:.6;
  transition:transform .15s, opacity .15s;
  display:inline-block;
}
.fs-trade-arr.open{transform:rotate(180deg);opacity:1}
.fs-trade-menu{
  position:absolute;top:calc(100% + 6px);right:0;
  min-width:230px;padding:5px;
  background:rgba(6,10,20,.98);
  border:1px solid rgba(0,238,255,.25);border-radius:4px;
  box-shadow:0 12px 32px rgba(0,0,0,.7);
  z-index:500;
  display:flex;flex-direction:column;gap:1px;
}
.fs-trade-item{
  display:block;padding:8px 10px;border-radius:3px;
  font-family:"Space Grotesk",sans-serif;font-size:.76rem;
  color:rgba(255,245,218,.85);
  text-align:left;background:transparent;border:none;
  cursor:pointer;text-decoration:none;
  letter-spacing:.02em;
}
.fs-trade-item:hover{background:rgba(0,238,255,.08);color:#d8fbff}

.fs-topbar-right{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}

.fs-net-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0;
  border:none;
  background:transparent;
  font-family:"VT323",monospace;
  font-size:.92rem;
  color:#d8fbff;
  letter-spacing:.08em;
  text-transform:uppercase;
  flex-shrink:0;
}

.fs-net-dot{
  width:9px;
  height:9px;
  border-radius:999px;
  display:inline-block;
  flex-shrink:0;
}

.fs-net-dot.devnet{
  background:#9b5cff;
  box-shadow:0 0 14px rgba(155,92,255,.95), 0 0 26px rgba(155,92,255,.45);
}

.fs-net-dot.mainnet{
  background:#39ff14;
  box-shadow:0 0 14px rgba(57,255,20,.95), 0 0 26px rgba(57,255,20,.45);
}

.fs-net-status-text{
  display:inline-flex;
}

.fs-chip-balance{
  min-height:38px;
  padding:5px 12px 5px 8px;
  gap:8px;
}

.fs-chip-icon{
  width:18px;
  height:18px;
  display:block;
  flex-shrink:0;
  object-fit:contain;
}

.fs-chip-balance-dbtc .fs-chip-icon{
  width:26px;
  height:26px;
  margin-top:-3px;
  margin-bottom:-3px;
}

.fs-chip-icon-dbtc{
  filter:
    drop-shadow(0 0 8px rgba(244,183,40,.22))
    drop-shadow(0 6px 10px rgba(0,0,0,.24));
}

.fs-wallet{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.fs-balance-copy{
  display:flex;
  align-items:baseline;
  gap:6px;
}

.fs-balance-label{
  font-family:"Space Mono",monospace;
  font-size:.55rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,245,218,.52);
}

.fs-balance-value{
  font-family:"VT323",monospace;
  font-size:1.02rem;
  line-height:1;
  color:inherit;
  white-space:nowrap;
}

.fs-wallet-anchor{
  position:relative;
}

.fs-chip-ghost{
  background:transparent;
}

.fs-wallet-chip,
.fs-chip-connect{
  appearance:none;
  cursor:pointer;
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}

.fs-wallet-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
}

.fs-wallet-chip-text{
  white-space:nowrap;
}

.fs-wallet-chip-caret{
  opacity:.6;
  transition:transform .15s ease, opacity .15s ease;
}

.fs-wallet-chip-caret.open{
  transform:rotate(180deg);
  opacity:1;
}

.fs-wallet-chip:hover,
.fs-wallet-chip-open{
  border-color:rgba(0,238,255,.32);
  background:rgba(0,238,255,.08);
}

.fs-wallet-chip-hot{
  border-color:rgba(244,183,40,.3);
  color:#ffd866;
}

.fs-wallet-chip-hot:hover,
.fs-wallet-chip-hot.fs-wallet-chip-open{
  border-color:rgba(244,183,40,.45);
  background:rgba(244,183,40,.08);
  color:#ffe08a;
}

.fs-wal-menu{
  position:absolute;top:calc(100% + 6px);right:0;
  min-width:270px;padding:6px;
  background:rgba(6,10,20,.98);
  border:1px solid rgba(0,238,255,.25);border-radius:4px;
  box-shadow:0 12px 32px rgba(0,0,0,.7);
  z-index:500;
  display:flex;flex-direction:column;gap:2px;
}
.fs-wal-addr{
  padding:6px 10px;
  font-family:"Space Mono",monospace;font-size:.72rem;
  color:rgba(255,245,218,.55);letter-spacing:.05em;
  border-bottom:1px dashed rgba(0,238,255,.12);
  margin-bottom:2px;
}
.fs-wal-item{
  display:flex;align-items:center;gap:10px;
  padding:8px 10px;border-radius:3px;
  background:transparent;border:none;cursor:pointer;
  font-family:"Space Grotesk",sans-serif;font-size:.76rem;
  color:rgba(255,245,218,.85);
  text-align:left;
}
.fs-wal-item:hover{background:rgba(0,238,255,.08);color:#d8fbff}
.fs-wal-item-ico{
  width:26px;height:26px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:4px;
  background:rgba(0,238,255,.08);color:#00eeff;
}
.fs-wal-item-hot .fs-wal-item-ico{background:rgba(244,183,40,.18);color:#ffd866}
.fs-wal-item-copy{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.fs-wal-item-title{font-size:.78rem;color:inherit;font-weight:600;letter-spacing:.01em}
.fs-wal-item-meta{font-size:.68rem;color:rgba(255,245,218,.5);font-family:"Space Mono",monospace}
.fs-wal-item-badge{
  font-family:"VT323",monospace;font-size:.84rem;color:#ffd866;
  padding:3px 6px;border-radius:3px;
  background:rgba(244,183,40,.14);border:1px solid rgba(244,183,40,.3);
  flex-shrink:0;
}
.fs-wal-item-hot{color:#ffd866}

/* Connect-wallet fallback — wireframe chip shape, functional button */
.fs-chip-connect{
  padding:6px 14px;border-radius:3px;
  border:1px solid rgba(244,183,40,.3);
  background:linear-gradient(180deg, rgba(244,183,40,.1), rgba(244,183,40,.04));
  color:#ffd866;
  font-family:"Space Grotesk",sans-serif;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
}
.fs-chip-connect:hover{background:rgba(244,183,40,.16);color:#ffe08a}

@media (max-width: 1320px){
  .fs-topbar{padding:8px 10px;gap:10px}
  .fs-topbar-left{gap:12px}
  .fs-nav{gap:2px}
  .fs-nav a,
  .fs-nav-btn{
    padding:6px 10px;
    font-size:.62rem;
    letter-spacing:.08em;
  }
  .fs-link-rail{gap:6px;margin-left:4px}
  .fs-link-btn{width:34px;height:34px}
  .fs-topbar-right{gap:8px}
  .fs-chip-balance{padding:4px 8px 4px 6px}
  .fs-balance-label{font-size:.5rem}
  .fs-balance-value{font-size:.94rem}
  .fs-chip-connect,
  .fs-wallet-chip{padding:6px 10px}
}

@media (max-width: 1160px){
  .fs-net-status-text{display:none}
  .fs-topbar-left{gap:10px}
  .fs-nav-sep{margin:0 4px}
  .fs-chip-icon{width:14px;height:14px}
  .fs-chip-balance-dbtc .fs-chip-icon{width:22px;height:22px}
  .fs-balance-copy{gap:4px}
}

@media (max-width: 940px){
  .fs-link-rail{display:none}
  .fs-nav a,
  .fs-nav-btn{
    padding:6px 8px;
    font-size:.6rem;
  }
  .fs-balance-label{display:none}
}

/* ====================== GRID ====================== */
.dashboardGrid{
  display:grid;
  grid-template-columns: 264px 1fr 356px;
  grid-template-rows: 1fr;
  flex-grow:1;
  gap:10px;padding:10px;
  overflow:hidden;
  min-height:0;
}
/* When chat is collapsed, CommsPanel renders null — drop to a 2-column
   template so the center grabs 1fr and Ops stays right. (A 0-width
   "dead" column would still consume DOM children from later columns
   because CommsPanel is gone, pulling centerColumn into the 0-slot.) */
.dashboardGrid.chatCollapsed{grid-template-columns:1fr 356px}
.centerColumn{display:flex;flex-direction:column;overflow:hidden;min-height:0}
.centerColumn::-webkit-scrollbar{width:4px}
.centerColumn::-webkit-scrollbar-thumb{background:rgba(0,238,255,.2);border-radius:2px}
.gameAreaWrapper{flex:1 1 auto;min-height:0;position:relative;display:flex;flex-direction:column;overflow:hidden}
.liveArenaStack{display:flex;flex-direction:column;gap:14px;min-height:0;flex:1 1 auto;overflow:hidden}

/* ====================== COMMS PANEL (redesigned) ====================== */
.comms-root{
  position:relative;
  display:flex;flex-direction:column;gap:0;min-height:0;overflow:hidden;
  background: linear-gradient(180deg, #0a0e18 0%, #070b14 100%);
  border:none;
  border-right:1px solid rgba(255,255,255,.08);
  border-radius:0;
  box-shadow:none;
}
@keyframes live{50%{opacity:.4;transform:scale(.8)}}

/* ── Header: channel selector + collapse ── */
.comms-head{
  position:relative;
  display:flex;align-items:center;gap:8px;
  padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.01);
}
.ch-selector{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 10px 6px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  color:#e6edf7;
  cursor:pointer;
  font-family:"Space Grotesk",sans-serif;
  font-size:.78rem;font-weight:600;letter-spacing:.01em;
  transition: background .15s, border-color .15s;
}
.ch-selector:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
.ch-selector.open{background:rgba(0,238,255,.06);border-color:rgba(0,238,255,.28)}
.ch-selector-ico{
  width:22px;height:22px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(0,238,255,.15);
  color:#00eeff;font-size:12px;
  overflow:hidden;flex-shrink:0;
}
.ch-selector-ico img{width:100%;height:100%;object-fit:cover}
.ch-selector-caret{opacity:.5;font-size:10px;margin-left:2px}
.ch-selector-name{line-height:1}
.ch-count{
  font-family:"Space Mono",monospace;
  font-size:.6rem;color:rgba(255,255,255,.38);
  letter-spacing:.06em;margin-left:auto;
}
.ch-count b{color:#7eff7d;font-weight:600}
.comms-close{
  background:transparent;border:1px solid rgba(255,255,255,.08);
  width:24px;height:24px;border-radius:6px;color:rgba(255,255,255,.45);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;font-size:11px;
  transition:all .15s;
}
.comms-close:hover{background:rgba(255,68,102,.1);border-color:rgba(255,68,102,.3);color:#ff4466}

/* ── Channel dropdown ── */
.ch-dropdown{
  position:absolute;top:calc(100% - 4px);left:10px;right:10px;
  z-index:20;
  background: linear-gradient(180deg, #0f1522, #0a0e18);
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;
  box-shadow:0 24px 48px rgba(0,0,0,.6), 0 0 0 1px rgba(0,238,255,.06);
  padding:4px;
  max-height:360px;overflow-y:auto;
  animation:ch-dd-in .14s ease-out;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent;
}
.ch-dropdown::-webkit-scrollbar{width:4px}
.ch-dropdown::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:2px}
@keyframes ch-dd-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.ch-dd-group{
  padding:6px 8px 4px;
  font-family:"Space Mono",monospace;font-size:.52rem;
  color:rgba(255,255,255,.35);letter-spacing:.14em;text-transform:uppercase;
}
.ch-dd-item{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:8px 10px;border-radius:6px;
  background:transparent;border:none;cursor:pointer;
  font-family:"Space Grotesk",sans-serif;font-size:.8rem;
  color:#d8e3f0;text-align:left;
  transition: background .12s;
}
.ch-dd-item:hover{background:rgba(255,255,255,.04)}
.ch-dd-item.active{background:rgba(0,238,255,.08);color:#00eeff}
.ch-dd-item-locked{opacity:.55;cursor:not-allowed}
.ch-dd-item-locked:hover{background:transparent}

/* Empty-feed hint */
.ch-empty{
  padding:18px 14px;text-align:center;
  font-family:"Space Grotesk",sans-serif;font-size:.8rem;
  color:rgba(255,255,255,.38);letter-spacing:.01em;
}
.ch-dd-flag{
  width:20px;height:14px;object-fit:cover;border-radius:2px;
  box-shadow:0 0 0 1px rgba(0,0,0,.4);flex-shrink:0;
}
.ch-dd-globe{
  width:20px;height:14px;border-radius:2px;flex-shrink:0;
  background:linear-gradient(135deg, #0ea5e9, #6366f1);
  color:#fff;font-size:10px;
  display:inline-flex;align-items:center;justify-content:center;
}
.ch-dd-name{flex:1;line-height:1}
.ch-dd-tag{
  font-family:"Space Mono",monospace;font-size:.5rem;letter-spacing:.1em;
  padding:2px 6px;border-radius:4px;text-transform:uppercase;
}
.ch-dd-tag.you{background:rgba(126,255,125,.12);color:#7eff7d;border:1px solid rgba(126,255,125,.22)}
.ch-dd-tag.ro{background:rgba(255,255,255,.04);color:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.08)}
.ch-dd-meta{
  font-family:"Space Mono",monospace;font-size:.54rem;color:rgba(255,255,255,.35);
  letter-spacing:.04em;
}

/* ── Messages list ── */
.comms-messages{
  flex:1;overflow-y:auto;
  padding:10px 4px 12px 10px;
  display:flex;flex-direction:column;gap:2px;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent;
}
.comms-messages::-webkit-scrollbar{width:4px}
.comms-messages::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:2px}

/* ── System line ── */
.ch-sys{
  display:flex;align-items:center;gap:8px;
  padding:4px 8px;margin:4px 2px;
  font-family:"Space Mono",monospace;font-size:.6rem;letter-spacing:.04em;
  color:rgba(255,255,255,.42);
  border-left:2px solid rgba(0,238,255,.2);
}
.ch-sys-mark{color:rgba(0,238,255,.5);font-size:.7rem;line-height:1}
.ch-sys-body{flex:1;text-transform:uppercase;letter-spacing:.08em}
.ch-sys-time{font-size:.52rem;color:rgba(255,255,255,.2);letter-spacing:.08em}
.ch-sys-pin{color:#ffd866;border-left-color:rgba(244,183,40,.4)}
.ch-sys-pin .ch-sys-mark{color:#ffd866}
.ch-sys-pin .ch-sys-body{color:#ffd866}

/* ── Chat row (discord-like) ── */
.ch-row{
  position:relative;display:flex;gap:10px;align-items:flex-start;
  padding:5px 10px 5px 6px;border-radius:6px;
  transition: background .1s;
}
.ch-row:hover{background:rgba(255,255,255,.02)}
.ch-row.is-reply-target{background:rgba(0,238,255,.04);box-shadow:inset 2px 0 0 rgba(0,238,255,.5)}

/* reply quote preview above a message */
.ch-quote{
  display:flex;align-items:center;gap:6px;
  padding:2px 0 3px 44px;margin-bottom:-2px;
  font-family:"Space Grotesk",sans-serif;font-size:.66rem;
  color:rgba(255,255,255,.4);line-height:1.3;
  cursor:pointer;
}
.ch-quote::before{
  content:"";width:24px;height:10px;margin-right:-2px;
  border-left:2px solid rgba(255,255,255,.14);
  border-top:2px solid rgba(255,255,255,.14);
  border-top-left-radius:6px;
  margin-left:-32px;margin-top:6px;align-self:flex-start;
}
.ch-quote-hand{color:#ffd866;font-weight:600}
.ch-quote-body{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  max-width:220px;color:rgba(255,255,255,.55);
}

/* avatar */
.ch-avatar{
  width:34px;height:34px;border-radius:50%;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  background: linear-gradient(135deg, var(--ch-accent, #6366f1), color-mix(in oklab, var(--ch-accent, #6366f1) 50%, #000));
  color:#fff;font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:.75rem;
  box-shadow: 0 0 0 2px rgba(255,255,255,.02) inset;
  position:relative;text-transform:uppercase;letter-spacing:.02em;
  overflow:hidden;
}
.ch-avatar-flag{
  position:absolute;bottom:-2px;right:-3px;
  width:14px;height:10px;border-radius:2px;object-fit:cover;
  box-shadow:0 0 0 2px #0a0e18;
}

.ch-col{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}

/* name/time line */
.ch-meta{
  display:flex;align-items:baseline;gap:8px;line-height:1.2;
}
.ch-handle{
  font-family:"Space Grotesk",sans-serif;font-weight:600;
  font-size:.82rem;color:var(--ch-accent, #e6edf7);
  letter-spacing:-.005em;
}
.ch-row-self .ch-handle{color:#7eff7d}
.ch-time{
  font-family:"Space Mono",monospace;font-size:.55rem;
  color:rgba(255,255,255,.3);letter-spacing:.06em;
}
.ch-ro-tag{
  font-family:"Space Mono",monospace;font-size:.48rem;letter-spacing:.1em;
  padding:1px 5px;border-radius:3px;
  background:rgba(255,255,255,.05);color:rgba(255,255,255,.45);text-transform:uppercase;
}

/* body */
.ch-body{
  font-family:"Space Grotesk",sans-serif;
  font-size:.86rem;line-height:1.45;letter-spacing:0;
  color:#d8e3f0;
  word-wrap:break-word;
}
.ch-row-self .ch-body{color:#eaf6ee}

/* reactions */
.ch-react{display:flex;gap:4px;flex-wrap:wrap;align-items:center;margin-top:3px}
.ch-react-chip{
  display:inline-flex;align-items:center;gap:4px;
  padding:1px 7px;border-radius:10px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);
  font-family:"Space Mono",monospace;font-size:.62rem;color:rgba(255,255,255,.65);
  cursor:pointer;line-height:1.4;
  transition:all .12s;
}
.ch-react-chip:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}
.ch-react-chip.mine{background:rgba(0,238,255,.08);border-color:rgba(0,238,255,.3);color:#8de6ff}

/* hover action toolbar (reactions + reply) */
.ch-actions{
  position:absolute;top:-10px;right:10px;
  display:none;align-items:center;gap:1px;
  padding:3px;border-radius:6px;
  background:#0f1522;border:1px solid rgba(255,255,255,.08);
  box-shadow:0 6px 16px rgba(0,0,0,.5);
  z-index:5;
}
.ch-row:hover .ch-actions{display:inline-flex}
.ch-actions button{
  width:24px;height:24px;padding:0;border-radius:4px;
  background:transparent;border:none;cursor:pointer;
  color:rgba(255,255,255,.55);font-size:14px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .1s;
}
.ch-actions button:hover{background:rgba(255,255,255,.06);color:#fff}
.ch-actions-sep{width:1px;height:14px;background:rgba(255,255,255,.08);margin:0 2px}

/* emoji flyout */
.ch-emoji-pop{
  position:absolute;top:20px;right:0;
  padding:5px;border-radius:8px;
  background:#0f1522;border:1px solid rgba(255,255,255,.1);
  box-shadow:0 10px 24px rgba(0,0,0,.6);
  display:flex;gap:2px;z-index:10;
}
.ch-emoji-pop button{
  width:28px;height:28px;padding:0;border-radius:5px;
  background:transparent;border:none;cursor:pointer;font-size:16px;
  transition:background .1s;
}
.ch-emoji-pop button:hover{background:rgba(255,255,255,.06);transform:scale(1.15)}

/* media (gif / image) */
.ch-media{
  position:relative;border-radius:4px;overflow:hidden;
  background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.06);
  cursor:zoom-in;max-width:100%;
}
.ch-media img{width:100%;height:100%;object-fit:cover;display:block}
.ch-media-chip{
  position:absolute;top:5px;left:5px;
  display:inline-flex;align-items:center;gap:4px;
  padding:2px 6px;border-radius:2px;
  background:rgba(0,0,0,.7);backdrop-filter:blur(4px);
  font-family:"Press Start 2P",monospace;font-size:.4rem;letter-spacing:.1em;color:#fff;
}
.ch-media-gif .ch-media-chip{color:#ffd866;border:1px solid rgba(244,183,40,.3)}
.ch-media-image .ch-media-chip{color:#00eeff;border:1px solid rgba(0,238,255,.3)}
.ch-media-dot{
  width:5px;height:5px;border-radius:50%;background:#ffd866;
  box-shadow:0 0 6px #ffd866;animation:live 1.2s ease-in-out infinite;
}
.ch-media-expand{
  position:absolute;top:5px;right:5px;
  width:18px;height:18px;border-radius:2px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.6);color:rgba(255,255,255,.7);
  font-size:10px;opacity:0;transition:opacity .15s;
}
.ch-media:hover .ch-media-expand{opacity:1}

/* ── GIF picker floating above compose ── */
.ch-gifpick{
  position:absolute;bottom:56px;left:8px;right:8px;
  background:linear-gradient(180deg, rgba(12,18,32,.98), rgba(6,10,18,.98));
  border:1px solid rgba(244,183,40,.3);border-radius:5px;
  box-shadow:0 20px 48px rgba(0,0,0,.6), 0 0 24px rgba(244,183,40,.12);
  z-index:12;overflow:hidden;
  animation:ch-gif-in .18s ease-out;
}
@keyframes ch-gif-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.ch-gifpick-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:7px 10px;
  border-bottom:1px solid rgba(244,183,40,.12);
  font-family:"Press Start 2P",monospace;font-size:.5rem;letter-spacing:.14em;color:#ffd866;
}
.ch-gifpick-x{
  background:transparent;border:none;color:rgba(255,255,255,.45);cursor:pointer;
  font-size:11px;padding:2px 4px;
}
.ch-gifpick-x:hover{color:#ff4466}
.ch-gifpick-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:5px;
  padding:6px;max-height:240px;overflow-y:auto;
  scrollbar-width:thin;scrollbar-color:rgba(244,183,40,.2) transparent;
}
.ch-gifpick-grid::-webkit-scrollbar{width:3px}
.ch-gifpick-grid::-webkit-scrollbar-thumb{background:rgba(244,183,40,.2);border-radius:2px}
.ch-gifpick-cell{
  position:relative;aspect-ratio:1.2;
  background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.06);
  border-radius:3px;overflow:hidden;cursor:pointer;padding:0;
}
.ch-gifpick-cell img{width:100%;height:100%;object-fit:cover;display:block}
.ch-gifpick-cell:hover{border-color:#ffd866;box-shadow:0 0 12px rgba(244,183,40,.3)}
.ch-gifpick-cell span{
  position:absolute;bottom:3px;left:3px;
  padding:1px 4px;background:rgba(0,0,0,.75);border-radius:1px;
  font-family:"Press Start 2P",monospace;font-size:.36rem;letter-spacing:.1em;color:#ffd866;
}

/* ── Typing indicator ── */
.ch-typing{
  display:flex;align-items:center;gap:6px;
  padding:4px 12px 2px;height:18px;
  font-family:"Space Grotesk",sans-serif;font-size:.68rem;
  color:rgba(255,255,255,.38);font-style:italic;
}
.ch-typing-dots{display:inline-flex;gap:2px}
.ch-typing-dots span{
  width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.45);
  animation:typing-bounce 1.2s ease-in-out infinite;
}
.ch-typing-dots span:nth-child(2){animation-delay:.15s}
.ch-typing-dots span:nth-child(3){animation-delay:.3s}
@keyframes typing-bounce{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}

/* ── Reply-to banner above composer ── */
.ch-replyto{
  display:flex;align-items:center;gap:8px;
  padding:6px 12px;
  background:rgba(0,238,255,.05);
  border-top:1px solid rgba(0,238,255,.15);
  border-left:2px solid #00eeff;
  font-family:"Space Grotesk",sans-serif;font-size:.68rem;
  color:rgba(255,255,255,.55);
}
.ch-replyto b{color:#00eeff;font-weight:600;margin-right:4px}
.ch-replyto-body{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(255,255,255,.42)}
.ch-replyto-x{
  background:transparent;border:none;color:rgba(255,255,255,.4);cursor:pointer;
  font-size:14px;line-height:1;padding:2px 4px;border-radius:3px;
}
.ch-replyto-x:hover{color:#ff4466;background:rgba(255,68,102,.08)}

/* ── Compose ── */
.comms-compose{
  position:relative;
  display:flex;gap:6px;align-items:center;
  padding:10px 12px 12px;
  border-top:1px solid rgba(255,255,255,.05);
}
.comms-compose-wrap{
  position:relative;flex:1;min-width:0;
  display:flex;align-items:center;gap:4px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  padding:2px 4px 2px 12px;
  transition:border-color .15s, background .15s;
}
.comms-compose-wrap:focus-within{border-color:rgba(0,238,255,.35);background:rgba(0,238,255,.03)}
.comms-compose input{
  flex:1;min-width:0;height:32px;
  background:transparent;border:none;outline:none;
  color:#e6edf7;
  font-family:"Space Grotesk",sans-serif;font-size:.82rem;
}
.comms-compose input::placeholder{color:rgba(255,255,255,.3)}
.ch-icon-btn{
  width:28px;height:28px;flex-shrink:0;padding:0;border-radius:6px;
  display:inline-flex;align-items:center;justify-content:center;
  background:transparent;border:none;color:rgba(255,255,255,.45);cursor:pointer;
  transition:color .12s, background .12s;
}
.ch-icon-btn:hover{color:#e6edf7;background:rgba(255,255,255,.06)}
.ch-icon-btn.on{color:#ffd866;background:rgba(244,183,40,.1)}
.comms-send{
  width:32px;height:32px;flex-shrink:0;
  border:none;border-radius:8px;cursor:pointer;
  background:#00eeff;color:#06222a;
  display:inline-flex;align-items:center;justify-content:center;
  transition:all .12s;
}
.comms-send:hover:not(:disabled){background:#7af3ff;box-shadow:0 0 14px rgba(0,238,255,.35)}
.comms-send:disabled{background:rgba(255,255,255,.06);color:rgba(255,255,255,.25);cursor:not-allowed}

/* read-only hint */
.ch-readonly{
  display:flex;align-items:center;gap:8px;
  padding:10px 14px;margin:6px 10px 10px;
  background:rgba(255,255,255,.02);
  border:1px dashed rgba(255,255,255,.1);
  border-radius:8px;
  font-family:"Space Grotesk",sans-serif;font-size:.72rem;
  color:rgba(255,255,255,.5);
}
.ch-readonly-ico{color:rgba(255,255,255,.35);font-size:13px}

/* ── Lightbox ── */
.ch-lightbox{
  position:fixed;inset:0;z-index:100;
  background:rgba(2,5,12,.88);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;
  animation:ch-lb-in .18s ease-out;cursor:zoom-out;
}
@keyframes ch-lb-in{from{opacity:0}to{opacity:1}}
.ch-lightbox img{
  max-width:min(90vw, 900px);max-height:80vh;
  object-fit:contain;border-radius:6px;
  box-shadow:0 30px 60px rgba(0,0,0,.7), 0 0 40px rgba(0,238,255,.15);
  cursor:default;
}
.ch-lightbox-x{
  padding:8px 16px;border-radius:3px;
  background:rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.15);color:#fff;
  font-family:"Press Start 2P",monospace;font-size:.56rem;letter-spacing:.14em;cursor:pointer;
}
.ch-lightbox-x:hover{background:rgba(255,68,102,.2);border-color:rgba(255,68,102,.5);color:#ff4466}

/* ── Reopen tab (when comms collapsed) ── */
.comms-reopen{
  position:fixed;top:50%;left:0;transform:translateY(-50%);z-index:40;
  display:inline-flex;flex-direction:column;align-items:center;gap:4px;
  padding:14px 6px 14px 4px;border-radius:0 4px 4px 0;
  background:linear-gradient(90deg, rgba(0,238,255,.18), rgba(0,238,255,.08));
  border:1px solid rgba(0,238,255,.3);border-left:none;
  color:#00eeff;cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.5);
  writing-mode:vertical-rl;
  font-family:"Press Start 2P",monospace;font-size:.52rem;letter-spacing:.14em;
  animation:ch-reopen-pulse 2.2s ease-in-out infinite;
}
.comms-reopen span:first-child{transform:rotate(180deg);writing-mode:horizontal-tb;font-size:11px}
.comms-reopen:hover{background:linear-gradient(90deg, rgba(0,238,255,.3), rgba(0,238,255,.14))}
@keyframes ch-reopen-pulse{
  0%,100%{box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 0 rgba(0,238,255,0)}
  50%    {box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 18px rgba(0,238,255,.3)}
}

/* ====================== FACTION GRID CONTAINER ====================== */
.gridContainer{
  display:flex;flex-direction:column;gap:10px;
  background:transparent;
  min-height:0;flex:1 1 auto;
  border:none;box-shadow:none;border-radius:0;
  position:relative;
}
.gridContainer::before{display:none}
.signalBoard,.leaderboardTable,.roundProgressTrack,.jumbo,.bd{position:relative;z-index:1}

/* Jumbo now standalone component */
.gridContainer > .jumbo{
  border-radius:4px;
  border:1px solid rgba(244,183,40,.18);
  background:
    radial-gradient(circle at 50% -20%, rgba(244,183,40,.1), transparent 60%),
    linear-gradient(180deg, #0a0e1a, #070a13);
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  overflow:hidden;
}

/* ── BATTLE DECK — compact chip rail (idle / armed / live) ── */
.bd{
  position:relative;
  padding:8px 14px 8px 20px;
  border:1px solid rgba(186,120,255,.22);
  background:
    linear-gradient(90deg, rgba(186,120,255,.05) 0, transparent 30%),
    linear-gradient(180deg, #0d0a18, #0a0713);
  border-radius:4px;
  box-shadow: 0 8px 22px rgba(0,0,0,.35), inset 3px 0 0 rgba(186,120,255,.35);
  display:flex;align-items:center;gap:12px;min-height:46px;
  overflow:visible;
  align-self:stretch;
  font-family:"Space Mono",monospace;
}
.bd.bd-idle{
  border-color:rgba(186,120,255,.22);
  box-shadow: 0 8px 22px rgba(0,0,0,.35), inset 3px 0 0 rgba(186,120,255,.35);
}
.bd.bd-armed{
  border-color:rgba(244,183,40,.35);
  background:
    linear-gradient(90deg, rgba(244,183,40,.06) 0, transparent 30%),
    linear-gradient(180deg, #120d08, #0c0805);
  box-shadow: 0 8px 22px rgba(0,0,0,.35), inset 3px 0 0 rgba(244,183,40,.45), 0 0 14px rgba(244,183,40,.06);
}
.bd.bd-live{
  border-color:rgba(57,255,20,.32);
  background:
    linear-gradient(90deg, rgba(57,255,20,.05) 0, transparent 30%),
    linear-gradient(180deg, #060f07, #050a06);
  box-shadow: 0 8px 22px rgba(0,0,0,.35), inset 3px 0 0 rgba(57,255,20,.45), 0 0 18px rgba(57,255,20,.1);
  animation:bdLiveWinPulse 1.7s ease-in-out infinite;
}
.bd.bd-live.bd-losing{
  border-color:rgba(255,68,102,.4);
  background:
    linear-gradient(90deg, rgba(255,68,102,.05) 0, transparent 30%),
    linear-gradient(180deg, #110607, #0c0405);
  box-shadow: 0 8px 22px rgba(0,0,0,.35), inset 3px 0 0 rgba(255,68,102,.5), 0 0 18px rgba(255,68,102,.12);
  animation:bdLiveLossPulse 1.2s ease-in-out infinite;
}
@keyframes bdLiveWinPulse{0%,100%{box-shadow:0 8px 22px rgba(0,0,0,.35), inset 3px 0 0 rgba(57,255,20,.45), 0 0 18px rgba(57,255,20,.1)}50%{box-shadow:0 8px 22px rgba(0,0,0,.35), inset 3px 0 0 rgba(57,255,20,.6), 0 0 28px rgba(57,255,20,.2)}}
@keyframes bdLiveLossPulse{0%,100%{box-shadow:0 8px 22px rgba(0,0,0,.35), inset 3px 0 0 rgba(255,68,102,.5), 0 0 16px rgba(255,68,102,.1)}50%{box-shadow:0 8px 22px rgba(0,0,0,.35), inset 3px 0 0 rgba(255,68,102,.7), 0 0 30px rgba(255,68,102,.25)}}

/* pinned tab label */
.bd-tab{
  position:absolute;top:-8px;left:12px;padding:2px 8px;
  font-family:"Press Start 2P",monospace;font-size:.44rem;letter-spacing:.18em;
  background:#05060c;border:1px solid currentColor;border-radius:2px;
  color:#ba78ff;text-shadow:0 0 6px rgba(186,120,255,.45);line-height:1.2;
}
.bd-armed .bd-tab{color:#ffd866;text-shadow:0 0 6px rgba(244,183,40,.55)}
.bd-live .bd-tab{color:#39ff14;text-shadow:0 0 6px rgba(57,255,20,.55)}
.bd-live.bd-losing .bd-tab{color:#ff4466;text-shadow:0 0 6px rgba(255,68,102,.55)}
/* (removed legacy bd state styles — now unified above) */

/* shared chip (flag + arrow only) */
.bd-chip{
  position:relative;display:inline-flex;align-items:center;gap:5px;
  flex-shrink:0;padding:3px 7px 3px 4px;border-radius:3px;line-height:1;
  background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.08);
  transition:transform .15s ease;
}
.bd-chip:hover{transform:translateY(-1px)}
.bd-chip-flag{width:18px;height:12px;object-fit:cover;border-radius:1.5px;box-shadow:0 0 0 1px rgba(0,0,0,.5)}
.bd-chip-dir{
  display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;
  font-family:"VT323",monospace;font-size:.95rem;font-weight:700;line-height:1;
  text-shadow:0 0 6px currentColor;
}
.bd-chip-up   {border-color:rgba(0,255,136,.35);background:rgba(0,255,136,.06)}
.bd-chip-flat {border-color:rgba(244,183,40,.35);background:rgba(244,183,40,.06)}
.bd-chip-down {border-color:rgba(255,68,102,.4);background:rgba(255,68,102,.08)}
.bd-dir-up  {color:#00ff88}
.bd-dir-flat{color:#ffd866}
.bd-dir-down{color:#ff4466}
.bd-tok{width:12px;height:12px;object-fit:contain;vertical-align:-2px;margin:0 2px;filter:drop-shadow(0 0 3px rgba(244,183,40,.5))}

/* ── IDLE — one-liner ── */
.bd-idle-row{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.bd-idle-dot{width:8px;height:8px;border-radius:50%;background:#00eeff;box-shadow:0 0 10px #00eeff;animation:signalLivePulse 1.3s ease-in-out infinite;flex-shrink:0}
.bd-idle-msg{
  font-family:"Space Mono",monospace;font-size:.76rem;color:rgba(255,255,255,.7);
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;
}
.bd-idle-verb{font-family:"Press Start 2P",monospace;font-size:.5rem;letter-spacing:.12em;color:#00eeff;text-shadow:0 0 6px rgba(0,238,255,.5)}
.bd-idle-verb-win{color:#ffd866;text-shadow:0 0 6px rgba(244,183,40,.5)}
.bd-idle-sep{color:rgba(0,238,255,.3)}
.bd-idle-up{color:#00ff88;font-family:"VT323",monospace;font-size:1rem;line-height:1;text-shadow:0 0 6px rgba(0,255,136,.5)}
.bd-idle-flat{color:#ffd866;font-family:"VT323",monospace;font-size:1rem;line-height:1;text-shadow:0 0 6px rgba(244,183,40,.5)}
.bd-idle-down{color:#ff4466;font-family:"VT323",monospace;font-size:1rem;line-height:1;text-shadow:0 0 6px rgba(255,68,102,.5)}
.bd-idle-hint{
  font-family:"Press Start 2P",monospace;font-size:.42rem;letter-spacing:.14em;
  color:rgba(0,238,255,.55);flex-shrink:0;
  animation:bdIdleBlink 2s ease-in-out infinite;
}
@keyframes bdIdleBlink{0%,100%{opacity:.55}50%{opacity:1}}

/* ── ARMED — count + chip rail + clear ── */
.bd-armed{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.bd-armed-count{
  display:flex;align-items:baseline;gap:5px;flex-shrink:0;padding-right:9px;border-right:1px dashed rgba(244,183,40,.18);
}
.bd-armed-count-n{font-family:"VT323",monospace;font-size:1.5rem;line-height:1;color:#ffd866;text-shadow:0 0 10px rgba(244,183,40,.5)}
.bd-armed-count-k{font-family:"Press Start 2P",monospace;font-size:.46rem;letter-spacing:.14em;color:rgba(244,183,40,.6)}
.bd-armed-rail{
  display:flex;gap:5px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;align-items:center;
}
.bd-armed-rail::-webkit-scrollbar{display:none}
.bd-clear-only{
  flex-shrink:0;padding:5px 11px;border-radius:3px;cursor:pointer;
  background:rgba(255,68,102,.08);border:1px solid rgba(255,68,102,.3);
  color:#ff7b8e;font-family:"Press Start 2P",monospace;font-size:.46rem;letter-spacing:.14em;
  transition:all .15s ease;
}
.bd-clear-only:hover{background:rgba(255,68,102,.18);color:#ff4466;border-color:rgba(255,68,102,.5);box-shadow:0 0 10px rgba(255,68,102,.3)}

/* ── LIVE — chips with pulse + settle animation ── */
.bd-live{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.bd-live-count{
  display:flex;align-items:baseline;gap:5px;flex-shrink:0;padding-right:9px;border-right:1px dashed rgba(57,255,20,.18);
}
.bd-live-dot{width:7px;height:7px;border-radius:50%;background:#39ff14;box-shadow:0 0 8px #39ff14;animation:signalLivePulse 1s ease-in-out infinite;align-self:center}
.bd-losing .bd-live-dot{background:#ff4466;box-shadow:0 0 8px #ff4466}
.bd-live-count-n{font-family:"VT323",monospace;font-size:1.5rem;line-height:1;color:#39ff14;text-shadow:0 0 10px rgba(57,255,20,.5)}
.bd-losing .bd-live-count-n{color:#ff4466;text-shadow:0 0 10px rgba(255,68,102,.5)}
.bd-live-count-k{font-family:"Press Start 2P",monospace;font-size:.46rem;letter-spacing:.14em;color:rgba(57,255,20,.6)}
.bd-losing .bd-live-count-k{color:rgba(255,123,142,.65)}
.bd-live-timer{font-family:"VT323",monospace;font-size:1rem;color:rgba(255,255,255,.5);letter-spacing:.04em}
.bd-live-rail{display:flex;gap:5px;flex:1;min-width:0;overflow-x:auto;overflow-y:visible;scrollbar-width:none;align-items:center;padding-top:14px;margin-top:-14px}
.bd-live-rail::-webkit-scrollbar{display:none}

/* LIVE chips — ongoing: show SOL staked inline */
.bd-chip-live{padding-right:9px}
.bd-chip-stake{
  font-family:"VT323",monospace;font-size:1.15rem;line-height:1;color:#ffeb8f;
  display:inline-flex;align-items:baseline;gap:2px;margin-left:4px;letter-spacing:.02em;
  text-shadow:0 0 6px rgba(255,235,143,.35);
}
.bd-chip-stake small{display:none}

/* LIVE chips — settle outcome */
.bd-chip-won{
  font-family:"VT323",monospace;font-size:1.2rem;line-height:1;color:#7eff7d;
  text-shadow:0 0 8px rgba(57,255,20,.7);font-weight:700;
  display:inline-flex;align-items:baseline;gap:2px;margin-left:4px;letter-spacing:.02em;
}
.bd-chip-won small{display:none}
.bd-chip-lost{
  font-family:"VT323",monospace;font-size:1.15rem;line-height:1;color:#ff7b8e;
  text-decoration:line-through;text-decoration-color:rgba(255,68,102,.7);
  display:inline-flex;align-items:baseline;gap:2px;opacity:.7;margin-left:4px;
}
.bd-chip-lost small{display:none}

/* Ongoing: chip pulses subtly */
.bd-chip-live.is-live{animation:bdChipLivePulse 2s ease-in-out infinite}
@keyframes bdChipLivePulse{
  0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}
  50%{box-shadow:0 0 0 1px rgba(255,255,255,.08), 0 0 8px rgba(255,255,255,.08)}
}

/* Settle: dramatic flash */
.bd-chip-live.is-win{
  animation:bdChipWinFlash .7s cubic-bezier(.2,.7,.3,1), bdChipWinPulse 1.4s ease-in-out .7s infinite;
  border-color:rgba(57,255,20,.55) !important;
  background:linear-gradient(180deg, rgba(57,255,20,.14), rgba(0,0,0,.4)) !important;
}
.bd-chip-live.is-loss{
  animation:bdChipLossFlash .7s cubic-bezier(.2,.7,.3,1) both, bdChipLossDim 1.4s ease-in-out .7s infinite;
  border-color:rgba(255,68,102,.55) !important;
  background:linear-gradient(180deg, rgba(255,68,102,.1), rgba(0,0,0,.5)) !important;
}
@keyframes bdChipWinFlash{
  0%{transform:scale(1);box-shadow:0 0 0 0 rgba(57,255,20,0)}
  35%{transform:scale(1.12);box-shadow:0 0 0 3px rgba(57,255,20,.45), 0 0 18px rgba(57,255,20,.55)}
  100%{transform:scale(1);box-shadow:0 0 0 0 rgba(57,255,20,0)}
}
@keyframes bdChipWinPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(57,255,20,0)}
  50%{box-shadow:0 0 0 2px rgba(57,255,20,.3), 0 0 12px rgba(57,255,20,.4)}
}
@keyframes bdChipLossFlash{
  0%{transform:scale(1);filter:saturate(1)}
  35%{transform:scale(.92);filter:saturate(.4) brightness(.7);box-shadow:0 0 0 3px rgba(255,68,102,.35)}
  100%{transform:scale(1);filter:saturate(.55) brightness(.85)}
}
@keyframes bdChipLossDim{0%,100%{opacity:.7}50%{opacity:.55}}

/* Floating reward readout above chip */
.bd-chip-reward{
  position:absolute;top:-16px;left:50%;transform:translateX(-50%);
  font-family:"VT323",monospace;font-size:.85rem;line-height:1;font-weight:700;
  padding:2px 5px;border-radius:2px;background:rgba(0,0,0,.92);
  white-space:nowrap;pointer-events:none;z-index:5;
  display:inline-flex;align-items:center;gap:3px;
}
.bd-chip-reward.is-win{
  color:#39ff14;text-shadow:0 0 8px rgba(57,255,20,.8);
  border:1px solid rgba(57,255,20,.45);
  animation:bdRewardRiseWin 1.6s ease-out both;
}
.bd-chip-reward.is-loss{
  color:#ff7b8e;border:1px solid rgba(255,68,102,.45);
  animation:bdRewardRiseLoss 1.6s ease-out both;
}
.bd-chip-reward-tok{width:11px;height:11px;object-fit:contain;filter:drop-shadow(0 0 3px rgba(244,183,40,.5))}
@keyframes bdRewardRiseWin{
  0%{opacity:0;transform:translate(-50%,8px) scale(.8)}
  25%{opacity:1;transform:translate(-50%,-4px) scale(1.1)}
  70%{opacity:1;transform:translate(-50%,-6px) scale(1)}
  100%{opacity:.95;transform:translate(-50%,-6px) scale(1)}
}
@keyframes bdRewardRiseLoss{
  0%{opacity:0;transform:translate(-50%,0) scale(1)}
  25%{opacity:1;transform:translate(-50%,-2px)}
  100%{opacity:.75;transform:translate(-50%,-4px)}
}

/* Right-side aggregate */
.bd-live-agg{
  display:inline-flex;align-items:baseline;gap:6px;flex-shrink:0;
  padding:5px 11px;border-radius:3px;background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.08);line-height:1;
}
.bd-live-agg.ongoing{border-color:rgba(244,183,40,.3);background:rgba(244,183,40,.06)}
.bd-live-agg.won{
  border-color:rgba(57,255,20,.45);background:rgba(57,255,20,.08);
  animation:bdAggWonPulse .8s ease-out both;
  box-shadow:0 0 18px rgba(57,255,20,.3);
}
.bd-live-agg.lost{border-color:rgba(255,68,102,.45);background:rgba(255,68,102,.07);animation:bdAggLossShake .5s ease-out both}
@keyframes bdAggWonPulse{
  0%{transform:scale(.85);opacity:0}
  50%{transform:scale(1.08);opacity:1;box-shadow:0 0 28px rgba(57,255,20,.55)}
  100%{transform:scale(1);opacity:1}
}
@keyframes bdAggLossShake{
  0%,100%{transform:translateX(0)}
  20%{transform:translateX(-3px)}
  40%{transform:translateX(3px)}
  60%{transform:translateX(-2px)}
  80%{transform:translateX(2px)}
}
.bd-live-agg-k{font-family:"Press Start 2P",monospace;font-size:.42rem;letter-spacing:.14em;color:rgba(255,255,255,.55);align-self:center}
.bd-live-agg.won .bd-live-agg-k{color:rgba(57,255,20,.75)}
.bd-live-agg.lost .bd-live-agg-k{color:rgba(255,123,142,.8)}
.bd-live-agg-v{font-family:"VT323",monospace;font-size:1.55rem;line-height:1;font-weight:700;color:#ffeb8f;text-shadow:0 0 8px rgba(255,235,143,.5);letter-spacing:.02em}
.bd-live-agg-v small{display:none}
.bd-live-agg.won .bd-live-agg-v{color:#7eff7d;text-shadow:0 0 10px rgba(57,255,20,.7)}
.bd-live-agg.lost .bd-live-agg-v{color:#ff4466;text-shadow:0 0 10px rgba(255,68,102,.6)}
.bd-live-agg-v.bd-live-agg-dbtc{color:#ffd866;text-shadow:0 0 10px rgba(244,183,40,.6)}
.bd-live-agg.won .bd-live-agg-v.bd-live-agg-dbtc{color:#ffd866}
.bd-live-agg-plus{font-family:"VT323",monospace;color:rgba(255,255,255,.35);font-size:1rem;align-self:center}
.bd-live-pnl-tok{width:13px;height:13px;object-fit:contain;filter:drop-shadow(0 0 4px rgba(244,183,40,.6));align-self:center}

/* ── Signal Board ── */
.signalBoard{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 18px;
  background: linear-gradient(180deg, rgba(244,183,40,.04), transparent 70%), #080c16;
  border-bottom:1px solid rgba(244,183,40,.16);
}
.signalBoardLeft{display:flex;align-items:center;gap:10px;flex-shrink:0}
.signalTitle{
  display:inline-flex;align-items:center;gap:8px;
  font-family:"Press Start 2P",monospace;font-size:.54rem;color:#ffd866;
  letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;
  text-shadow:0 0 8px rgba(244,183,40,.25);
}
.signalTitle::before{
  content:"";width:8px;height:8px;border-radius:999px;background:#39ff14;
  box-shadow:0 0 10px #39ff14;animation: signalLivePulse 1.5s ease-in-out infinite;
}
@keyframes signalLivePulse{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}
.roundBadge{
  padding:4px 10px;border-radius:3px;background:rgba(244,183,40,.08);
  border:1px solid rgba(244,183,40,.3);font-family:"VT323",monospace;font-size:.95rem;
  letter-spacing:.08em;color:#ffd866;text-shadow:0 0 6px rgba(244,183,40,.3);
}
.signalBoardCenter{
  display:flex;align-items:center;gap:8px;flex:1;min-width:0;justify-content:center;flex-wrap:wrap;
}
.emptySlipHint{font-family:"Space Grotesk",sans-serif;font-size:.72rem;color:rgba(255,255,255,.3);white-space:nowrap}
.signalBoardRight{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}
.countdownTimer{
  font-family:"VT323",monospace;font-size:1.9rem;line-height:1;color:#39ff14;
  letter-spacing:.08em;text-shadow:0 0 12px rgba(57,255,20,.45);
}
.epochLine{
  font-family:"Press Start 2P",monospace;font-size:.4rem;letter-spacing:.18em;
  color:rgba(244,183,40,.68);white-space:nowrap;margin-top:4px;
}

/* progress bar */
.roundProgressTrack{
  position:relative;width:100%;height:3px;background:rgba(57,255,20,.05);
  border-bottom:1px solid rgba(244,183,40,.1);overflow:hidden;
}
.roundProgressFill{
  position:absolute;top:0;left:0;height:100%;
  background: linear-gradient(90deg, rgba(57,255,20,.6), #39ff14);
  box-shadow: 0 0 10px rgba(57,255,20,.45);transition: width 1s linear;
}
.roundProgressCritical{
  background: linear-gradient(90deg, rgba(255,74,46,.6), #ff4a2e) !important;
  box-shadow: 0 0 14px rgba(255,74,46,.55) !important;
  animation: criticalFlash .8s ease-in-out infinite;
}
@keyframes criticalFlash{0%,100%{opacity:.72}50%{opacity:1}}

/* ══════════════════════════════════════════════════════════════════
   LEADERBOARD v3 — ultra-decluttered
   3 columns: Identity · Live Round (60s triad) · Faction War (score+projected)
   ══════════════════════════════════════════════════════════════════ */
.lbScrollWrap{
  flex:1 1 auto;min-height:0;max-height:100%;overflow-y:auto;overflow-x:hidden;
  border:1px solid rgba(255,255,255,.04);border-radius:4px;
  background:rgba(8,10,16,.35);
  scrollbar-width:thin;scrollbar-color:rgba(0,238,255,.22) transparent;
}
.lbScrollWrap::-webkit-scrollbar{width:5px}
.lbScrollWrap::-webkit-scrollbar-thumb{background:rgba(0,238,255,.22);border-radius:3px}
.lbTable{
  width:100%;border-collapse:separate;border-spacing:0;
  table-layout:fixed;
  background:linear-gradient(180deg, rgba(12,14,20,.6), rgba(8,10,16,.72));
  border:1px solid rgba(255,255,255,.05);border-radius:6px;overflow:hidden;
  font-family:"Space Mono",monospace;
}

/* head */
.lbHeadRow{border-bottom:1px solid rgba(255,255,255,.08);background:#0a0c14}
.lbTable thead{position:sticky;top:0;z-index:5;background:#0a0c14}
.lbTh{
  padding:7px 12px 8px;text-align:left;vertical-align:middle;
  font-family:"Press Start 2P",monospace;font-size:.44rem;letter-spacing:.16em;
  color:rgba(255,245,218,.55);text-transform:uppercase;font-weight:400;
  border-right:1px solid rgba(255,255,255,.04);
}
.lbTh:last-child{border-right:none}
.lbTh-stack{display:flex;flex-direction:column;gap:5px}
.lbTh-t{color:rgba(255,245,218,.6);line-height:1}

/* sub-column labels under the big column title */
.lbTh-sub{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:5px;width:100%;
  font-family:"Space Mono",monospace;font-size:.54rem;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.4);
}
.lbTh-sub > span{text-align:center}
.lbTh-sub .sub-up{color:#7eff7d}
.lbTh-sub .sub-flat{color:rgba(255,245,218,.55)}
.lbTh-sub .sub-down{color:#ff7b8e}
.lbTh-sub-war{grid-template-columns:82px 1fr;gap:10px}
.lbTh-sub-war > span:first-child{text-align:left;color:#ffd866}
.lbTh-sub-war > span:last-child{text-align:left;color:rgba(255,245,218,.55)}

/* column widths — give FACTION WAR all remaining space for the story reel */
.lbTh-id,  .lbTd-id  { width: 84px }
.lbTh-lanes, .lbTd-lanes { width: 230px }
.lbTh-war, .lbTd-war { width: 100% }
.lbTh-sub-war{grid-template-columns:62px 1fr 78px !important;gap:10px}
.lbTh-sub-war > span:nth-child(1){text-align:left;color:#ffd866}
.lbTh-sub-war > span:nth-child(2){text-align:left;color:rgba(255,245,218,.55)}
.lbTh-sub-war > span:nth-child(3){text-align:right;color:rgba(255,245,218,.55)}

/* row */
.lbRow{
  border-bottom:1px solid rgba(255,255,255,.035);
  transition:background 140ms ease-out;
}
.lbRow:hover{background:rgba(255,255,255,.022)}
.lbRow-winning{
  background:linear-gradient(90deg, rgba(255,215,0,.07) 0, rgba(255,215,0,.02) 40%, transparent 100%);
  box-shadow:inset 3px 0 0 #ffd700;
}
.lbRow-selected{
  background:linear-gradient(90deg, rgba(0,238,255,.06), rgba(0,238,255,.015) 40%, transparent 100%);
  box-shadow:inset 3px 0 0 #00eeff;
}
.lbRow-winning.lbRow-selected{box-shadow:inset 3px 0 0 #ffd700, inset 6px 0 0 rgba(0,238,255,.6)}
.lbRow-userLive{position:relative}
.lbRow-userLive::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg, rgba(57,255,20,.04), transparent 30%)}

.lbTd{
  padding:4px 10px;vertical-align:middle;
  border-right:1px solid rgba(255,255,255,.03);
}
.lbTd:last-child{border-right:none}

/* ── Identity cell (rank + flag + MY tag only) ── */
.id-cell{display:flex;align-items:center;gap:7px;min-width:0}
.id-rank{
  font-family:"VT323",monospace;font-size:.95rem;line-height:1;
  color:rgba(255,255,255,.45);min-width:18px;text-align:right;
  font-variant-numeric:tabular-nums;flex-shrink:0;
}
.id-flagwrap{
  position:relative;flex-shrink:0;width:28px;height:19px;border-radius:3px;
  overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 2px 6px rgba(0,0,0,.4);
}
.id-flag{display:block;width:100%;height:100%;object-fit:cover}
.id-selDot{
  position:absolute;top:-3px;right:-3px;width:8px;height:8px;border-radius:999px;
  background:#00eeff;box-shadow:0 0 0 2px #0a0e1a, 0 0 8px rgba(0,238,255,.7);
}
.id-badge{
  font-family:"Press Start 2P",monospace;font-size:.36rem;letter-spacing:.14em;
  padding:2px 5px;border-radius:2px;line-height:1.2;
  border:1px solid currentColor;background:rgba(0,0,0,.3);
  flex-shrink:0;
}
.id-badge-me{color:#00eeff;background:rgba(0,238,255,.08)}

/* ── Live Round — BORDERLESS lane ticks · reward-focused ── */
/* Each lane is just arrow + value + a thin conviction bar below.
   Rewards fly up as coin chips when epochs pay out. */
.lr-triad{
  display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0; position:relative;
  padding:2px 0;
}
/* subtle vertical separators between lanes — dotted, quiet */
.lr-triad::before,
.lr-triad::after{
  content:"";position:absolute;top:4px;bottom:4px;width:1px;
  background:repeating-linear-gradient(180deg, rgba(255,255,255,.08) 0 2px, transparent 2px 5px);
  pointer-events:none;
}
.lr-triad::before{left:calc(33.333% - .5px)}
.lr-triad::after{left:calc(66.666% - .5px)}

.lr-cell{
  position:relative;display:flex;flex-direction:column;align-items:center;
  justify-content:flex-start;gap:2px;
  padding:3px 4px 5px;border-radius:0;cursor:pointer;
  border:none;background:transparent;
  min-height:30px;transition:all 120ms ease-out;overflow:visible;
  font-family:"Space Mono",monospace;
}
.lr-cell:hover{background:rgba(255,255,255,.025);transform:none}
.lr-cell::after{
  /* tiny conviction bar at the bottom */
  content:"";position:absolute;left:18%;right:18%;bottom:1px;height:1.5px;
  border-radius:1px;background:currentColor;opacity:0;transition:opacity 240ms;
}
.lr-cell.lr-has::after{opacity:.22}
.lr-cell.lr-sel::after{opacity:.9;box-shadow:0 0 6px currentColor}
.lr-row{display:flex;align-items:baseline;gap:4px;line-height:1}
.lr-arrow{font-family:"VT323",monospace;font-size:1.05rem;line-height:.9;opacity:.25;flex-shrink:0;transition:all 180ms}
.lr-val{
  font-family:"VT323",monospace;font-size:.95rem;line-height:1;
  color:rgba(255,255,255,.55);font-variant-numeric:tabular-nums;letter-spacing:.02em;transition:color 180ms;
}
.lr-has .lr-arrow{opacity:.85}
.lr-has .lr-val{color:#fff5da}

.lr-up{color:#39ff14}
.lr-up .lr-arrow{color:#39ff14}
.lr-up:hover .lr-arrow{opacity:1;filter:drop-shadow(0 0 4px #39ff14)}

.lr-flat{color:rgba(255,245,218,.8)}
.lr-flat .lr-arrow{color:rgba(255,245,218,.65)}
.lr-flat:hover .lr-arrow{opacity:1}

.lr-down{color:#ff4466}
.lr-down .lr-arrow{color:#ff4466}
.lr-down:hover .lr-arrow{opacity:1;filter:drop-shadow(0 0 4px #ff4466)}

.lr-sel .lr-val{color:#fff;text-shadow:0 0 6px currentColor}
.lr-sel .lr-arrow{opacity:1;filter:drop-shadow(0 0 6px currentColor)}

/* arrow flash on ping — amount increases briefly */
.lr-flash .lr-arrow{animation:lrArrowFlash .7s ease}
.lr-flash .lr-val{animation:lrValFlash .7s ease}
@keyframes lrArrowFlash{0%{transform:scale(1)}35%{transform:scale(1.35);filter:drop-shadow(0 0 10px currentColor)}100%{transform:scale(1)}}
@keyframes lrValFlash{0%{transform:scale(1);color:inherit}30%{transform:scale(1.14);color:#fff;text-shadow:0 0 8px currentColor}100%{transform:scale(1)}}

/* floating +SOL pop */
.lr-pop{
  position:absolute;left:50%;top:-2px;transform:translate(-50%,0);
  font-family:"VT323",monospace;font-size:.9rem;line-height:1;
  padding:0 3px;color:currentColor;
  background:transparent;
  pointer-events:none;z-index:5;white-space:nowrap;
  text-shadow:0 0 6px currentColor, 0 0 2px #000;
  animation:lrPop 1.05s cubic-bezier(.15,.7,.2,1) forwards;
  font-weight:700;
}
.lr-pop-up{color:#39ff14}
.lr-pop-flat{color:#ffd866}
.lr-pop-down{color:#ff4466}
@keyframes lrPop{
  0%{opacity:0;transform:translate(-50%, 8px) scale(.7)}
  20%{opacity:1;transform:translate(-50%, -2px) scale(1)}
  100%{opacity:0;transform:translate(-50%, -32px) scale(.9)}
}

/* loot chips — fly diagonally when round ends / rewards land */
.lr-loot{
  position:absolute;left:50%;top:30%;
  font-family:"VT323",monospace;font-size:.86rem;line-height:1;
  color:#ffd866;text-shadow:0 0 8px rgba(244,183,40,.8), 0 0 2px #000;
  pointer-events:none;z-index:6;white-space:nowrap;font-weight:700;
  animation:lrLoot 1.6s cubic-bezier(.2,.6,.3,1) forwards;
}
.lr-loot-up{--dx:14px}
.lr-loot-flat{--dx:0px}
.lr-loot-down{--dx:-14px}
@keyframes lrLoot{
  0%{opacity:0;transform:translate(-50%, 0) scale(.5) rotate(0deg)}
  15%{opacity:1;transform:translate(-50%, -6px) scale(1.1) rotate(-6deg)}
  100%{opacity:0;transform:translate(calc(-50% + var(--dx,0)), -36px) scale(.9) rotate(10deg)}
}

/* ── Faction War — NARRATIVE REEL · story-focused ── */
/* Layout: [ score big ] [ narrative reel — mutation/event thumbnails ] [ projected badge ] */
.fw-cell{
  display:grid;grid-template-columns:56px 1fr 78px;gap:10px;align-items:center;min-width:0;
  padding:2px 0;
}

/* BIG ongoing score — no box, just warm gold number */
.fw-score{
  display:flex;flex-direction:column;gap:0;align-items:flex-start;
  padding:0;border:none;background:transparent;min-width:0;
  transition:transform 240ms;
}
.fw-score-v{
  font-family:"VT323",monospace;font-size:1.28rem;line-height:1;color:#ffd866;
  text-shadow:0 0 10px rgba(244,183,40,.35);
  font-variant-numeric:tabular-nums;letter-spacing:.01em;
  transition:color 240ms, text-shadow 240ms;
}
.fw-delta{font-family:"Space Mono",monospace;font-size:.56rem;letter-spacing:.06em;line-height:1.3;margin-top:1px;opacity:.85}
.fw-d-up{color:#7eff7d}
.fw-d-down{color:#ff7b8e}
.fw-d-flat{color:rgba(255,255,255,.3)}

.fw-score-up .fw-score-v{animation:fwScoreVUp .7s ease-out}
.fw-score-down .fw-score-v{animation:fwScoreVDown .7s ease-out}
@keyframes fwScoreVUp{
  0%{color:#ffd866;transform:translateY(0)}
  25%{color:#39ff14;text-shadow:0 0 16px rgba(57,255,20,.8);transform:translateY(-2px) scale(1.12)}
  100%{color:#ffd866;text-shadow:0 0 10px rgba(244,183,40,.35);transform:translateY(0) scale(1)}
}
@keyframes fwScoreVDown{
  0%{color:#ffd866;transform:translateY(0)}
  25%{color:#ff4466;text-shadow:0 0 16px rgba(255,68,102,.7);transform:translateY(2px) scale(.94)}
  100%{color:#ffd866;text-shadow:0 0 10px rgba(244,183,40,.35);transform:translateY(0) scale(1)}
}

/* NARRATIVE REEL — horizontal strip of event thumbnails that appear as events fire.
   Each tile is a tiny 24×24 "asset" (gradient/pattern) with a label + timestamp. */
.fw-reel{
  position:relative;display:flex;align-items:center;gap:4px;min-width:0;height:30px;overflow:hidden;
  padding-left:2px;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 10px, #000 calc(100% - 14px), transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0, #000 10px, #000 calc(100% - 14px), transparent 100%);
}
.fw-reel-empty{
  font-family:"Space Mono",monospace;font-size:.52rem;letter-spacing:.1em;
  color:rgba(255,245,218,.25);text-transform:uppercase;
  white-space:nowrap;
}
.fw-tile{
  position:relative;flex-shrink:0;display:flex;align-items:center;gap:4px;
  padding:2px 4px 2px 2px;border-radius:2px;
  background:rgba(10,10,14,.5);border:1px solid rgba(255,255,255,.06);
  animation:fwTileIn .55s cubic-bezier(.2,.7,.2,1);
  transition:all 240ms;
}
.fw-tile:hover{border-color:rgba(244,183,40,.35);background:rgba(20,18,10,.7)}
@keyframes fwTileIn{
  0%{opacity:0;transform:translateX(28px) scale(.6)}
  60%{opacity:1;transform:translateX(-2px) scale(1.04)}
  100%{opacity:1;transform:translateX(0) scale(1)}
}
.fw-tile-art{
  width:22px;height:22px;border-radius:2px;flex-shrink:0;
  background:linear-gradient(135deg, #2a1e10, #4a2f18);
  border:1px solid rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
  font-family:"VT323",monospace;font-size:.88rem;line-height:1;
  color:rgba(255,245,218,.7);
  position:relative;overflow:hidden;
}
/* tile variants — each event type gets a unique mini "generated" look */
.fw-tile-mut .fw-tile-art{
  background:radial-gradient(circle at 30% 30%, #ff2ad4, #4a0f5a 70%);
  color:#fff;box-shadow:inset 0 0 6px rgba(255,42,212,.6);
  animation:fwTileMut 2.4s ease-in-out infinite;
}
@keyframes fwTileMut{0%,100%{box-shadow:inset 0 0 6px rgba(255,42,212,.6)}50%{box-shadow:inset 0 0 12px rgba(255,42,212,1), 0 0 6px rgba(255,42,212,.4)}}
.fw-tile-evo .fw-tile-art{background:radial-gradient(circle at 40% 30%, #ffe066, #8a5a0e 80%);color:#fff;box-shadow:inset 0 0 6px rgba(255,224,102,.7)}
.fw-tile-raid .fw-tile-art{background:linear-gradient(135deg, #ff4466, #8a0f20);color:#fff;box-shadow:inset 0 0 6px rgba(255,68,102,.6)}
.fw-tile-boss .fw-tile-art{background:conic-gradient(from 45deg, #ff2ad4, #00eeff, #39ff14, #ffd866, #ff2ad4);color:#0a0e1a}
.fw-tile-hero .fw-tile-art{background:linear-gradient(135deg, #39ff14, #0c5c18);color:#0a0e1a;box-shadow:inset 0 0 6px rgba(57,255,20,.5)}
.fw-tile-drop .fw-tile-art{background:radial-gradient(circle at 50% 40%, #00eeff, #0a3a4a 80%);color:#fff}

.fw-tile-meta{display:flex;flex-direction:column;gap:0;line-height:1.1;min-width:0}
.fw-tile-lbl{
  font-family:"Space Mono",monospace;font-size:.5rem;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,245,218,.85);white-space:nowrap;
}
.fw-tile-time{
  font-family:"Space Mono",monospace;font-size:.44rem;letter-spacing:.05em;
  color:rgba(255,255,255,.35);white-space:nowrap;
}

/* NEW badge pulse on brand-new tile */
.fw-tile-new::after{
  content:"NEW";position:absolute;top:-4px;right:-4px;
  font-family:"Press Start 2P",monospace;font-size:.32rem;letter-spacing:.08em;
  padding:1px 3px;border-radius:2px;background:#ff2ad4;color:#fff;
  box-shadow:0 0 6px rgba(255,42,212,.7);
  animation:fwNew 1.4s ease-in-out;
}
@keyframes fwNew{0%{opacity:0;transform:scale(.4)}30%{opacity:1;transform:scale(1.15)}100%{opacity:0;transform:scale(1)}}

/* compact projected badge — no borders, just glyph + thin conviction bar */
.fw-proj{
  display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:0;
  padding:0;border:none;background:transparent;
}
.fw-proj-row{display:flex;align-items:baseline;gap:4px;line-height:1}
.fw-p-up{color:#39ff14}
.fw-p-flat{color:rgba(255,245,218,.55)}
.fw-p-down{color:#ff4466}
.fw-proj-arr{font-family:"VT323",monospace;font-size:1.1rem;line-height:1;flex-shrink:0;filter:drop-shadow(0 0 4px currentColor)}
.fw-proj-lbl{font-family:"Press Start 2P",monospace;font-size:.4rem;letter-spacing:.12em;line-height:1;flex-shrink:0}
.fw-conv{
  width:100%;min-width:60px;height:2.5px;border-radius:2px;overflow:hidden;
  background:rgba(255,255,255,.07);
}
.fw-conv-fill{display:block;height:100%;background:currentColor;box-shadow:0 0 6px currentColor;transition:width 400ms ease-out}



/* ====================== OPERATIONS (right rail) ====================== */
.ops-root{
  display:flex;flex-direction:column;gap:10px;min-height:0;
  overflow-y:auto;overflow-x:hidden;padding:0 2px;
  scrollbar-width:thin;scrollbar-color:rgba(0,238,255,.1) transparent;
  position:relative;
}
.ops-root::-webkit-scrollbar{width:3px}
.ops-root::-webkit-scrollbar-thumb{background:rgba(0,238,255,.1)}

/* Transient "AUTO-RUN STOPPED · refunded X SOL" banner.
   Fades in, shows for 5s, fades out. Parent's useState clears after
   the timer. */
.ops-refund-toast{
  display:flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:5px;
  border:1px solid rgba(126,255,125,.35);
  background:linear-gradient(180deg, rgba(126,255,125,.14), rgba(126,255,125,.04));
  color:#c6ffcd;
  font-family:"Space Mono",monospace;font-size:.7rem;letter-spacing:.06em;
  text-transform:uppercase;
  animation:ops-refund-in 260ms ease-out;
}
.ops-refund-toast b{
  font-family:"VT323",monospace;font-size:1rem;color:#d8ffdf;
  letter-spacing:0;margin:0 3px;
}
.ops-refund-tick{
  display:inline-flex;align-items:center;justify-content:center;
  width:16px;height:16px;border-radius:999px;
  background:rgba(126,255,125,.2);border:1px solid rgba(126,255,125,.45);
  font-size:.7rem;color:#7eff7d;
}
@keyframes ops-refund-in{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}
.ops-card{
  display:flex;flex-direction:column;gap:10px;padding:14px;
  border-radius:16px;
  border:1px solid rgba(0,238,255,.12);
  background:
    radial-gradient(circle at top right, rgba(0,238,255,.08), transparent 34%),
    linear-gradient(180deg, rgba(11,18,31,.96), rgba(6,10,18,.94));
  box-shadow: 0 14px 28px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.03);
}
.ops-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.ops-eyebrow{
  font-family:"Space Mono",monospace;font-size:.56rem;color:rgba(0,238,255,.82);
  letter-spacing:.18em;text-transform:uppercase;
}
.ops-title{
  font-family:"Space Grotesk",sans-serif;font-size:1.02rem;font-weight:700;line-height:1.1;
  color:#fff5d6;letter-spacing:-.02em;margin:2px 0 0;
}
.ops-state{
  padding:4px 9px;border-radius:999px;border:1px solid rgba(255,193,7,.2);background:rgba(255,193,7,.08);
  font-family:"Space Mono",monospace;font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:#fff3c2;
  white-space:nowrap;
}
.ops-state.live{border-color:rgba(57,255,20,.3);background:rgba(57,255,20,.08);color:#7eff7d}

/* PnL snapshot */
.pnl-grid{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:8px}
.pnl-cell{
  padding:10px;border-radius:10px;background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.05);
}
.pnl-label{
  font-family:"Space Mono",monospace;font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.45);
}
.pnl-value{
  font-family:"Space Grotesk",sans-serif;font-size:1.2rem;font-weight:700;color:#fff5d6;
  line-height:1.1;margin-top:3px;letter-spacing:-.02em;
}
.pnl-value.up{color:#7eff7d}
.pnl-value.down{color:#ff7b8e}
.pnl-sub{font-family:"Space Mono",monospace;font-size:.55rem;color:rgba(255,255,255,.5);margin-top:2px}

/* Wager deck */
.wager-row{display:flex;justify-content:space-between;gap:8px;align-items:center;font-family:"Space Mono",monospace;font-size:.65rem;color:rgba(255,255,255,.72)}
.wager-row .k{color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.08em;font-size:.55rem}
.wager-row .v{color:#fff5d6;font-family:"Space Grotesk",sans-serif;font-weight:600;font-size:.78rem}
.wager-amount{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.wager-chip{
  padding:4px 9px;border-radius:999px;border:1px solid rgba(0,238,255,.16);background:rgba(0,238,255,.05);
  font-family:"Space Mono",monospace;font-size:.58rem;letter-spacing:.05em;color:#d8fbff;cursor:pointer;
}
.wager-chip.active{background:rgba(0,238,255,.16);border-color:rgba(0,238,255,.4);color:#00eeff}
.wager-input{
  display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;
  background:rgba(0,0,0,.35);border:1px solid rgba(0,238,255,.14);
}
.wager-input input{
  flex:1;background:transparent;border:none;color:#fff5d6;font-family:"Space Grotesk",sans-serif;
  font-size:1rem;font-weight:700;outline:none;
}
.wager-input .sym{font-family:"Space Mono",monospace;font-size:.62rem;color:rgba(0,238,255,.75);letter-spacing:.1em}
.ops-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:44px;padding:10px 14px;border-radius:12px;border:none;
  font-family:"Space Grotesk",sans-serif;font-size:.92rem;font-weight:700;color:#08111d;
  background: linear-gradient(135deg, #7eff7d 0%, #afff8f 100%);
  box-shadow: 0 14px 28px rgba(57,255,20,.18);cursor:pointer;
  letter-spacing:-.01em;width:100%;
}
.ops-cta:hover{transform:translateY(-1px)}
.ops-cta:disabled{opacity:.45;cursor:not-allowed}
.ops-cta.ghost{
  background:transparent;color:#d8fbff;border:1px solid rgba(0,238,255,.2);box-shadow:none;
}
.ops-cta.warn{
  background: linear-gradient(135deg, #ff7b8e 0%, #ffa0b4 100%);
  color:#2b0411;
  box-shadow: 0 14px 28px rgba(255,123,142,.22);
}

/* Rewards */
.rew-total{
  display:flex;align-items:baseline;gap:6px;
  font-family:"Space Grotesk",sans-serif;font-size:1.6rem;font-weight:700;color:#ffd866;
  letter-spacing:-.02em;text-shadow:0 0 12px rgba(244,183,40,.2);
}
.rew-total .sym{font-size:.65rem;color:rgba(244,183,40,.65);letter-spacing:.1em;text-transform:uppercase;font-family:"Space Mono",monospace}
.rew-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.rew-line{
  display:flex;justify-content:space-between;align-items:center;gap:6px;
  padding:6px 9px;border-radius:8px;background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.04);
  font-family:"Space Mono",monospace;font-size:.58rem;
}
.rew-line .k{color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.08em}
.rew-line .v{color:#fff5d6;font-family:"Space Grotesk",sans-serif;font-weight:600;font-size:.72rem}

/* Doges teaser — real vision section */
.visionSection{
  background:
    radial-gradient(circle at top right, rgba(255, 193, 7, 0.1), transparent 28%),
    radial-gradient(circle at bottom left, rgba(0, 238, 255, 0.08), transparent 32%),
    linear-gradient(180deg, rgba(12, 16, 30, 0.98), rgba(7, 10, 22, 0.96));
  border: 1px solid rgba(255, 193, 7, 0.12);
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.03);
  border-radius: 22px;overflow:hidden;
}
.visionBody{
  display:grid;grid-template-columns: minmax(0, 1.15fr) 220px;
  align-items:stretch;gap:18px;padding:18px;
}
.visionLeft{display:flex;flex-direction:column;gap:12px;min-width:0}
.visionHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.visionHeaderText{display:flex;flex-direction:column;gap:6px;min-width:0;max-width:28rem}
.visionEyebrow{
  font-family:"Space Mono",monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(0,238,255,.76);
}
.visionTitle{
  font-family:"Space Grotesk",sans-serif;font-size:1.42rem;font-weight:700;color:#fff5d6;
  margin:0;line-height:1.02;letter-spacing:-.03em;max-width:16ch;
}
.visionSubtitle{
  font-family:"Space Grotesk",sans-serif;font-size:.82rem;line-height:1.45;
  color:rgba(255,255,255,.72);margin:0;max-width:36ch;
}
.visionBadge{
  font-family:"Space Mono",monospace;font-size:.64rem;color:#062031;
  background: linear-gradient(135deg, #7eff7d, #39ffb4);
  padding:5px 10px;border-radius:999px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;
}
.operatorHighlight{
  display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:18px;
  background:
    radial-gradient(circle at top right, rgba(0,238,255,.08), transparent 36%),
    linear-gradient(180deg, rgba(14,28,43,.98), rgba(12,18,31,.96));
  border:1px solid rgba(0,238,255,.1);
}
.operatorHighlightTop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.operatorFactionChip{
  display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:6px 10px;border-radius:999px;
  border:1px solid rgba(255,193,7,.14);background:rgba(255,193,7,.07);
  font-family:"Space Mono",monospace;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:#fff1c5;
}
.operatorFactionChip img{width:18px;height:12px;object-fit:cover;border-radius:1px}
.operatorAccentText{
  font-family:"Space Mono",monospace;font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(0,238,255,.72);
}
.operatorHighlightTitle{
  font-family:"Space Grotesk",sans-serif;font-size:.92rem;line-height:1.26;color:#fff6db;
  letter-spacing:-.02em;max-width:34ch;
}
.operatorStatGrid{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:10px}
.operatorStatCard{
  display:flex;flex-direction:column;gap:6px;min-width:0;padding:12px;border-radius:16px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
}
.operatorStatLabel{font-family:"Space Mono",monospace;font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.44)}
.operatorStatValue{font-family:"Space Grotesk",sans-serif;font-size:.92rem;font-weight:700;line-height:1.1;color:#fff6d6;letter-spacing:-.02em}
.operatorOutcomesIntro{font-family:"Space Mono",monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(0,238,255,.7)}
.operatorOutcomes{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:10px}
.outcomeCard{
  display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:16px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
}
.outcomeLabel{font-family:"Space Mono",monospace;font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.44)}
.outcomeValue{font-family:"Space Grotesk",sans-serif;font-size:.92rem;font-weight:700;color:#fff6d6}
.visionActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%}
.visionRight{
  display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0;
  padding:14px;border-radius:20px;align-self:stretch;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at top center, rgba(57,255,20,.08), transparent 36%),
    linear-gradient(180deg, rgba(17,27,34,.98), rgba(9,13,23,.98));
  border:1px solid rgba(126,255,125,.14);
}
.visionMonitorTopline{
  align-self:flex-start;font-family:"Space Mono",monospace;font-size:.56rem;
  color:rgba(126,255,125,.82);letter-spacing:.16em;text-transform:uppercase;
}
.dogeShowcaseBig{
  position:relative;width:100%;aspect-ratio:1 / 1.08;border-radius:16px;
  border:1px solid rgba(57,255,20,.2);overflow:hidden;background:rgba(0,0,0,.4);
  box-shadow: 0 0 30px rgba(57,255,20,.08), inset 0 0 0 1px rgba(255,255,255,.04);
  display:flex;align-items:center;justify-content:center;
}
.dogeShowcaseBig::after{
  content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 22%),
    repeating-linear-gradient(to bottom, rgba(255,255,255,.04) 0, rgba(255,255,255,.04) 1px, rgba(0,0,0,0) 1px, rgba(0,0,0,0) 4px);
}
.dogeShowcaseBig img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}
.dogeShowcaseInfo{display:flex;align-items:center;gap:8px;font-family:"Space Mono",monospace;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,241,198,.74)}
.monitorTag{padding:4px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04)}
.mintBtnBig{
  font-family:"Space Grotesk",sans-serif;min-height:42px;font-size:.86rem;font-weight:700;color:#08111d;
  background: linear-gradient(135deg, #7eff7d 0%, #afff8f 100%);border:none;border-radius:12px;padding:10px 16px;
  cursor:pointer;box-shadow: 0 14px 28px rgba(57,255,20,.18);white-space:nowrap;
}
.signalLink{
  display:inline-flex;align-items:center;justify-content:center;min-height:42px;
  font-family:"Space Grotesk",sans-serif;font-size:.82rem;font-weight:600;color:#d9f8ff;
  padding:10px 14px;border-radius:12px;border:1px solid rgba(0,238,255,.14);background:rgba(0,238,255,.05);
}

/* ====================== AUTOMINER DECK ====================== */
.miner-lanes{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:6px}
.miner-lane{
  display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px;border-radius:10px;
  background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);cursor:pointer;
}
.miner-lane.on{border-color:rgba(0,238,255,.4);background:rgba(0,238,255,.08)}
.miner-lane .arr{font-family:"VT323",monospace;font-size:1.2rem;line-height:1}
.miner-lane.up .arr{color:#00ff88}.miner-lane.flat .arr{color:rgba(255,255,255,.5)}.miner-lane.down .arr{color:#ff4466}
.miner-lane .lbl{font-family:"Space Mono",monospace;font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}

/* Loading states */
.bootCard{
  display:flex;flex-direction:column;gap:6px;min-height:88px;padding:12px;border-radius:16px;
  border:1px solid rgba(0,238,255,.14);
  background:
    radial-gradient(circle at top right, rgba(0,238,255,.08), transparent 34%),
    linear-gradient(180deg, rgba(11,18,31,.96), rgba(6,10,18,.94));
  box-shadow: 0 14px 28px rgba(0,0,0,.2);
}
.bootEyebrow{font-family:"Space Mono",monospace;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(0,238,255,.72)}
.bootCardTitle{font-family:"Space Grotesk",sans-serif;font-size:.9rem;font-weight:700;color:#fff5dc;line-height:1.15}
.bootCardNote{font-family:"Space Mono",monospace;font-size:.62rem;color:rgba(255,255,255,.58)}

/* ====================== ZERO-STATES ====================== */
.zeroStateContainer{
  display:flex;flex-direction:column;align-items:stretch;height:100%;
  padding:1.25rem 1.1rem 1.35rem;text-align:left;gap:.8rem;
  border-radius:16px;
  border:1px solid rgba(0,238,255,.14);
  background:
    radial-gradient(circle at top right, rgba(0,238,255,.08), transparent 34%),
    linear-gradient(180deg, rgba(11,18,31,.96), rgba(6,10,18,.94));
  box-shadow: 0 14px 28px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.03);
}
.zeroStateEyebrow{font-family:"Space Mono",monospace;font-size:.62rem;color:rgba(0,238,255,.82);text-transform:uppercase;letter-spacing:.18em}
.zeroStateTitle{font-family:"Space Grotesk",sans-serif;font-size:1.62rem;color:#fff6d7;font-weight:700;text-shadow:0 0 18px rgba(255,193,7,.12);line-height:1.04;letter-spacing:-.03em;max-width:11ch}
.zeroStateImage{width:148px;height:148px;object-fit:contain;filter:drop-shadow(0 0 15px rgba(0,0,0,.8));margin:.15rem auto 0}
.signalFactGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:100%}
.signalFactCard{
  border:1px solid rgba(0,238,255,.12);border-radius:14px;padding:9px 8px;
  background: linear-gradient(180deg, rgba(0,238,255,.08), rgba(6,12,24,.76)), rgba(4,9,18,.92);
  display:flex;flex-direction:column;gap:4px;min-height:64px;justify-content:center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}
.signalFactValue{font-family:"Space Grotesk",sans-serif;font-size:.94rem;font-weight:700;color:#fff5d1}
.signalFactLabel{font-family:"Space Mono",monospace;font-size:.54rem;color:rgba(255,255,255,.66);text-transform:uppercase;letter-spacing:.08em}
.actionCard{
  width:100%;border:1px solid rgba(0,238,255,.18);border-radius:18px;padding:.9rem;
  background:
    radial-gradient(circle at top right, rgba(0,238,255,.08), transparent 32%),
    linear-gradient(180deg, rgba(10,24,42,.96), rgba(5,11,21,.94));
  box-shadow: 0 18px 34px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.03);
  display:flex;flex-direction:column;gap:.75rem;position:relative;overflow:hidden;
}
.actionCard::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#00eeff,transparent)}
.actionCardHeader{font-family:"Space Grotesk",sans-serif;font-size:.96rem;font-weight:700;color:#fff3c2;line-height:1.15;letter-spacing:-.02em}
.actionStepCard{
  display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;
  border:1px solid rgba(0,238,255,.12);
  background: radial-gradient(circle at top right, rgba(0,238,255,.08), transparent 32%), rgba(255,255,255,.03);
}
.actionStepNumber{font-family:"Space Mono",monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(0,238,255,.76)}
.actionStepLabel{font-family:"Space Grotesk",sans-serif;font-size:.82rem;font-weight:700;color:rgba(255,255,255,.88);line-height:1.25}
.actionStepDots{display:flex;justify-content:center;gap:7px}
.actionStepDot{width:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.14)}
.actionStepDotActive{background:#00eeff;box-shadow:0 0 10px rgba(0,238,255,.4)}
.actionCardFootnote{font-family:"Space Mono",monospace;font-size:.62rem;color:rgba(255,255,255,.56);letter-spacing:.05em;line-height:1.5}
.actionButton{
  width:100%;background:linear-gradient(135deg,#f4c74e 0%, #ffe381 100%);color:#08111d;
  border:none;border-radius:14px;padding:.82rem .95rem;font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:.92rem;
  cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;
  box-shadow:0 14px 28px rgba(244,183,40,.2);
}
.blinkingCursor{display:inline-block;width:8px;height:1.1rem;background:#000;animation:blinkCursor 1s infinite}
@keyframes blinkCursor{0%,49%{opacity:1}50%,100%{opacity:0}}
.registrationWrapper{display:flex;flex-direction:column;gap:6px}

/* ====================== PNL DASHBOARD ====================== */
.tok-icon{width:22px;height:22px;object-fit:contain;vertical-align:middle}
.tok-icon-sm{width:14px;height:14px;object-fit:contain;vertical-align:middle;margin-right:4px}
.pnl-dashboard{
  display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;
  border:1px solid rgba(244,183,40,.2);
  background:
    radial-gradient(circle at top right, rgba(244,183,40,.1), transparent 34%),
    linear-gradient(180deg, rgba(22,20,14,.98), rgba(12,10,8,.96));
  box-shadow: 0 14px 28px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.03);
}
.pnl-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.pnl-title{font-family:"Space Grotesk",sans-serif;font-size:1.02rem;font-weight:700;color:#fff5d6;margin:2px 0 0;letter-spacing:-.02em}
.pnl-dashboard-body{display:flex;flex-direction:column;gap:10px}
.pnl-big{
  display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:14px;
  border:1px solid rgba(244,183,40,.18);background:rgba(244,183,40,.04);
}
.pnl-big-label{font-family:"Space Mono",monospace;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,183,40,.7)}
.pnl-big-value{display:flex;align-items:center;gap:8px;font-family:"Space Grotesk",sans-serif;font-size:1.8rem;font-weight:700;color:#ffd866;letter-spacing:-.02em;text-shadow:0 0 12px rgba(244,183,40,.2);line-height:1}
.pnl-big-sym{font-size:.72rem;color:rgba(244,183,40,.7);letter-spacing:.08em;text-transform:uppercase;font-family:"Space Mono",monospace}
.pnl-big-sub{font-family:"Space Mono",monospace;font-size:.62rem;color:rgba(255,255,255,.6);margin-top:4px}
.pnl-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.pnl-mini{
  display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:10px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);
}
.pnl-mini .k{font-family:"Space Mono",monospace;font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.pnl-mini .v{font-family:"Space Grotesk",sans-serif;font-size:.92rem;font-weight:700;color:#fff5d6}

/* ══════════════════════════════════════════════════════════════════
   PnL — "on-the-page" flat variant
   No outer card/border. Activity + rewards only. Half the original height.
   ══════════════════════════════════════════════════════════════════ */
.pnl-flat{
  display:flex;flex-direction:column;gap:8px;
  padding:4px 2px 8px;
  border:none;background:transparent;box-shadow:none;
  position:relative;
  transition:filter 220ms;
}
.pnl-flat-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.pnl-flat-top-l{display:inline-flex;align-items:baseline;gap:6px;min-width:0}
.pnl-flat-eyebrow{
  font-family:"Space Mono",monospace;font-size:.52rem;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,245,218,.42);
  white-space:nowrap;
}
.pnl-flat-sep{color:rgba(255,255,255,.2);font-size:.55rem}
.pnl-flat-title{
  font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:.92rem;
  color:#fff5d6;letter-spacing:-.01em;line-height:1;
}
.pnl-flat-phase{
  font-family:"Space Mono",monospace;font-size:.5rem;letter-spacing:.14em;
  padding:1px 6px;border-radius:2px;white-space:nowrap;
}
.pnl-flat-phase-betting{color:#39ff14;background:transparent}
.pnl-flat-phase-settling{color:#ffd866;animation:pnlPhaseBlink 700ms linear infinite alternate}
.pnl-flat-phase-paid{color:rgba(255,245,218,.7)}
@keyframes pnlPhaseBlink{0%{opacity:.5}100%{opacity:1}}

/* ── Rectangular round timer ── */
.pnl-round{display:flex;flex-direction:column;gap:3px;position:relative}
.pnl-round-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;line-height:1}
.pnl-round-lbl{
  font-family:"Space Mono",monospace;font-size:.56rem;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(255,245,218,.55);
}
.pnl-round-secs{
  font-family:"VT323",monospace;font-size:.95rem;color:#39ff14;letter-spacing:.02em;
  text-shadow:0 0 6px rgba(57,255,20,.35);
}
.pnl-round-bet{
  font-family:"Space Mono",monospace;font-size:.58rem;letter-spacing:.08em;
  color:rgba(255,245,218,.75);
}
.pnl-round-bet .tok-icon-sm{vertical-align:-2px}
.pnl-round-barwrap{
  position:relative;height:6px;border-radius:2px;overflow:hidden;
  background:rgba(255,255,255,.06);
}
.pnl-round-bar{
  position:absolute;left:0;top:0;bottom:0;
  background:linear-gradient(90deg, #39ff14 0%, #7eff7d 100%);
  box-shadow:0 0 10px rgba(57,255,20,.35);
  transition:width 950ms linear, background 240ms;
}
.pnl-round-bar-settling{background:linear-gradient(90deg,#ffd866,#ffe89b);box-shadow:0 0 10px rgba(244,183,40,.4)}
.pnl-round-bar-paid{background:linear-gradient(90deg,rgba(255,255,255,.2),rgba(255,255,255,.35));box-shadow:none}
.pnl-round-ticks{
  position:absolute;inset:0;display:grid;grid-template-columns:repeat(12,1fr);pointer-events:none;
}
.pnl-round-tick{border-right:1px solid rgba(0,0,0,.45)}
.pnl-round-tick:last-child{border-right:none}
.pnl-round-last{
  font-family:"Space Mono",monospace;font-size:.56rem;letter-spacing:.1em;
  animation:pnlLastIn .5s ease;
}
.pnl-round-last-win{color:#7eff7d;text-shadow:0 0 6px rgba(57,255,20,.3)}
.pnl-round-last-loss{color:#ff7b8e;opacity:.85}
@keyframes pnlLastIn{0%{opacity:0;transform:translateY(-3px)}100%{opacity:1;transform:translateY(0)}}

/* ── Rewards — typed on the page ── */
.pnl-rewards{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;padding:2px 0;border-top:1px dashed rgba(255,255,255,.05)}
.pnl-reward{display:flex;align-items:center;gap:8px;min-width:0;padding-top:6px}
.pnl-reward-icn{width:20px;height:20px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 0 6px rgba(244,183,40,.35))}
.pnl-reward-sol .pnl-reward-icn{filter:drop-shadow(0 0 6px rgba(0,238,255,.45))}
.pnl-reward-txt{display:flex;flex-direction:column;gap:0;line-height:1;min-width:0}
.pnl-reward-val{
  font-family:"VT323",monospace;font-size:1.35rem;color:#ffd866;line-height:1;
  text-shadow:0 0 8px rgba(244,183,40,.3);font-variant-numeric:tabular-nums;
  transition:color 240ms, text-shadow 240ms, transform 240ms;
}
.pnl-reward-sol .pnl-reward-val{color:#aaf0ff;text-shadow:0 0 8px rgba(0,238,255,.35)}
.pnl-reward-sym{
  font-family:"Space Mono",monospace;font-size:.5rem;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:2px;
}
.pnl-reward-bump .pnl-reward-val{animation:pnlBump .9s cubic-bezier(.2,.7,.3,1)}
@keyframes pnlBump{
  0%{transform:scale(1);color:#ffd866}
  30%{transform:scale(1.2);color:#7eff7d;text-shadow:0 0 12px rgba(57,255,20,.7)}
  100%{transform:scale(1);color:#ffd866}
}
.pnl-reward-sol.pnl-reward-bump .pnl-reward-val{animation:pnlBumpSol .9s cubic-bezier(.2,.7,.3,1)}
@keyframes pnlBumpSol{
  0%{transform:scale(1);color:#aaf0ff}
  30%{transform:scale(1.2);color:#7eff7d;text-shadow:0 0 12px rgba(57,255,20,.7)}
  100%{transform:scale(1);color:#aaf0ff}
}

/* ── Win / loss flash on the whole component ── */
.pnl-flash-win{animation:pnlFlashWin 1.3s ease}
.pnl-flash-loss{animation:pnlFlashLoss 1s ease}
@keyframes pnlFlashWin{0%{filter:brightness(1)}15%{filter:brightness(1.35) drop-shadow(0 0 12px rgba(57,255,20,.3))}100%{filter:brightness(1)}}
@keyframes pnlFlashLoss{0%{filter:brightness(1)}15%{filter:brightness(.85) drop-shadow(0 0 8px rgba(255,68,102,.3))}100%{filter:brightness(1)}}

/* ── Flat claim button — subtle, text-first ── */
.pnl-flat-claim{
  align-self:flex-start;padding:5px 10px;border-radius:2px;
  font-family:"Press Start 2P",monospace;font-size:.52rem;letter-spacing:.16em;
  background:transparent;border:1px solid rgba(244,183,40,.45);color:#ffd866;
  cursor:pointer;transition:all 160ms;
}
.pnl-flat-claim:hover{background:rgba(244,183,40,.1);border-color:#ffd866;box-shadow:0 0 10px rgba(244,183,40,.25)}

/* ====================== RAFFLE (idle) ====================== */
.raffle-card{
  display:flex;flex-direction:column;gap:0;border-radius:16px;overflow:hidden;
  border:1px solid rgba(0,238,255,.14);
  background: linear-gradient(180deg, rgba(11,18,31,.96), rgba(6,10,18,.94));
  box-shadow: 0 14px 28px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.03);
}
.raffle-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid rgba(0,238,255,.1)}
.raffle-tab{
  padding:10px 8px;background:transparent;border:none;
  font-family:"Space Mono",monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.42);cursor:pointer;border-bottom:2px solid transparent;
}
.raffle-tab.active{color:#00eeff;border-bottom-color:#00eeff;background:rgba(0,238,255,.04)}
.raffle-body{display:flex;flex-direction:column;gap:10px;padding:14px}
.raffle-summary{display:flex;gap:10px;align-items:center;padding:8px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05)}
.raffle-doge{width:48px;height:48px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 0 6px rgba(244,183,40,.2))}
.raffle-summary-label{font-family:"Space Grotesk",sans-serif;font-size:.86rem;font-weight:700;color:#fff5d6}
.raffle-summary-hint{font-family:"Space Mono",monospace;font-size:.56rem;color:rgba(255,255,255,.55);margin-top:2px}
.toggle{
  display:inline-block;width:34px;height:18px;border-radius:999px;position:relative;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);transition:.2s;
}
.toggle-dot{position:absolute;top:1px;left:1px;width:14px;height:14px;border-radius:999px;background:rgba(255,255,255,.4);transition:.2s}
.toggle[data-on="true"]{background:rgba(0,238,255,.2);border-color:rgba(0,238,255,.5)}
.toggle[data-on="true"] .toggle-dot{left:17px;background:#00eeff;box-shadow:0 0 6px rgba(0,238,255,.5)}

/* ====================== AUTOMINER LIVE ====================== */
.autominerLiveCard{
  display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:16px;
  border:1px solid rgba(57,255,20,.25);
  background:
    radial-gradient(circle at top right, rgba(57,255,20,.1), transparent 34%),
    linear-gradient(180deg, rgba(10,22,14,.98), rgba(6,12,10,.96));
  box-shadow: 0 14px 32px rgba(0,0,0,.3), inset 0 1px 0 rgba(126,255,125,.06), 0 0 24px rgba(57,255,20,.08);
  position:relative;
}
.autominerWinEffect{border-color:rgba(255,215,0,.55);box-shadow:0 0 36px rgba(255,215,0,.25), inset 0 0 18px rgba(255,215,0,.1)}
.autominerLoseEffect{border-color:rgba(255,68,102,.4);box-shadow:0 0 32px rgba(255,68,102,.2), inset 0 0 18px rgba(255,68,102,.08)}
.liveHeader{display:flex;justify-content:space-between;align-items:center}
.liveIndicator{display:inline-flex;align-items:center;gap:8px}
.liveDot{width:8px;height:8px;border-radius:999px;background:#39ff14;box-shadow:0 0 10px #39ff14;animation:livePulse 1.2s ease-in-out infinite}
@keyframes livePulse{50%{opacity:.4;transform:scale(.7)}}
.liveText{font-family:"Press Start 2P",monospace;font-size:.52rem;letter-spacing:.14em;color:#7eff7d;text-shadow:0 0 8px rgba(57,255,20,.4)}
.liveIcon{font-family:"VT323",monospace;font-size:1.2rem;color:rgba(126,255,125,.7)}
.liveStats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.liveStat{
  display:flex;flex-direction:column;gap:2px;padding:10px;border-radius:10px;
  background:rgba(0,0,0,.3);border:1px solid rgba(126,255,125,.12);
}
.liveStatLabel{font-family:"Space Mono",monospace;font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(126,255,125,.65)}
.liveStatValue{font-family:"VT323",monospace;font-size:1.6rem;color:#fff5d6;line-height:1;text-shadow:0 0 10px rgba(126,255,125,.15)}
.liveMainContent{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.liveLeftContent{display:flex;flex-direction:column;gap:6px;align-items:center}
.miningSimContainer{
  width:100%;aspect-ratio:1/.85;border-radius:12px;overflow:hidden;
  background:#000;border:1px solid rgba(126,255,125,.2);
  display:flex;align-items:center;justify-content:center;position:relative;
}
.miningSimContainer::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background: repeating-linear-gradient(to bottom, rgba(255,255,255,.03) 0, rgba(255,255,255,.03) 1px, transparent 1px, transparent 3px);
  mix-blend-mode:screen;
}
.miningSimGif{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}
.miningSim-win{border-color:#ffd700;box-shadow:0 0 20px rgba(255,215,0,.4)}
.miningSim-lose{border-color:#ff4466;box-shadow:0 0 20px rgba(255,68,102,.4)}
.liveStatusRow{width:100%;padding:6px 8px;border-radius:8px;background:rgba(0,0,0,.3);text-align:center}
.liveStatusText{font-family:"Space Mono",monospace;font-size:.58rem;color:rgba(126,255,125,.85);letter-spacing:.06em}
.liveRightContent{display:flex;flex-direction:column;gap:8px}
.live-lanes-locked{padding:10px;border-radius:12px;background:rgba(0,0,0,.3);border:1px solid rgba(126,255,125,.12)}
.live-lanes-label{font-family:"Space Mono",monospace;font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(126,255,125,.65);margin-bottom:6px}
.live-lanes-grid{display:flex;gap:6px}
.live-lane{
  display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;
  border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);
  font-family:"Space Mono",monospace;font-size:.6rem;color:#fff5d6;
}
.live-lane img{width:14px;height:10px;object-fit:cover;border-radius:1px}
.live-lane.up{border-color:rgba(0,255,136,.3);background:rgba(0,255,136,.08);color:#7eff7d}
.live-lane.flat{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.9)}
.live-lane.down{border-color:rgba(255,68,102,.3);background:rgba(255,68,102,.08);color:#ff7b8e}
.live-mini-stats{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:10px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.05)}
.live-mini-stats>div{display:flex;justify-content:space-between;font-family:"Space Mono",monospace;font-size:.58rem}
.live-mini-stats .k{color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.08em}
.live-mini-stats .v{color:#fff5d6;font-weight:600}
.live-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}

/* doge strip in NFT card */
.doge-strip{display:flex;gap:6px}
.doge-strip img{
  width:calc(33.333% - 4px);aspect-ratio:1;object-fit:cover;border-radius:8px;
  border:1px solid rgba(244,183,40,.2);background:rgba(0,0,0,.4);image-rendering:pixelated;
}

/* ====================== STATE TOGGLE (dev) ====================== */
.state-toggle{
  position:fixed;bottom:14px;right:14px;z-index:50;
  display:flex;gap:4px;padding:6px;border-radius:10px;
  background:rgba(6,10,20,.95);border:1px solid rgba(0,238,255,.3);
  backdrop-filter: blur(8px);
  box-shadow:0 14px 28px rgba(0,0,0,.5);
}
.state-toggle-btn{
  padding:6px 10px;border-radius:6px;border:1px solid transparent;background:transparent;
  font-family:"Space Mono",monospace;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.55);cursor:pointer;
}
.state-toggle-btn.on{background:rgba(0,238,255,.15);border-color:rgba(0,238,255,.4);color:#00eeff}
.state-toggle-deck{bottom:60px}
.state-toggle-deck .state-toggle-btn.on{background:rgba(244,183,40,.18);border-color:rgba(244,183,40,.45);color:#ffd866}
.state-toggle-deck .state-toggle-title{color:rgba(0,238,255,.7)}
.state-toggle-title{
  padding:6px 8px;font-family:"Press Start 2P",monospace;font-size:.42rem;letter-spacing:.14em;
  color:rgba(244,183,40,.7);align-self:center;
}

/* ====================== MACRO BAR + BLOOMBERG TAPE ====================== */
.jumbo{
  position:relative;flex-shrink:0;overflow:hidden;
  background:
    linear-gradient(180deg, rgba(10,14,26,.98), rgba(4,8,16,.96)),
    repeating-linear-gradient(90deg, rgba(0,238,255,.03) 0 1px, transparent 1px 3px);
  border-bottom:1px solid rgba(244,183,40,.18);
  box-shadow: inset 0 1px 0 rgba(244,183,40,.05), inset 0 -1px 0 rgba(0,0,0,.5);
  font-family:var(--font-mono);color:rgba(255,245,218,.55);
}

/* ─── MACRO BAR ─── */
.macroBar{
  display:grid;grid-template-columns: 1fr 1.35fr 1fr;
  min-height:58px;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.mb-cell{
  position:relative;
  display:flex;flex-direction:column;justify-content:center;gap:3px;
  padding:6px 14px;min-width:0;
  cursor:default;
}
.mb-cell + .mb-cell{border-left:1px solid rgba(255,255,255,.06)}
.mb-head{display:flex;align-items:center;gap:10px}
.mb-titleCol{display:flex;flex-direction:column;gap:1px;line-height:1}
.mb-eyebrow{
  font-family:"Press Start 2P",monospace;font-size:.46rem;letter-spacing:.16em;
  color:#ffd866;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:6px;
}
.mb-eyebrow-g{color:#7eff7d}
.mb-eyebrow-live{color:#39ff14}
.mb-sub{
  font-family:"Space Mono",monospace;font-size:.5rem;letter-spacing:.18em;
  color:rgba(255,255,255,.35);text-transform:uppercase;margin-top:3px;
}

/* LEFT — FACTION WAR */
.mb-war{background:linear-gradient(90deg, rgba(244,183,40,.06), transparent 85%)}
.mb-sigil{
  font-size:1.1rem;color:#ffd866;line-height:1;
  text-shadow:0 0 10px rgba(244,183,40,.55);
  animation:mbBreathe 2.4s ease-in-out infinite;
}
@keyframes mbBreathe{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}
.mb-warClock{display:flex;align-items:baseline;gap:3px;margin-top:1px}
.mb-clockSeg{
  font-family:"VT323",monospace;font-size:1.55rem;line-height:1;letter-spacing:.04em;
  color:#ffd866;text-shadow:0 0 10px rgba(244,183,40,.45);
  display:inline-flex;align-items:baseline;gap:2px;
}
.mb-clockSeg small{
  font-family:"Press Start 2P",monospace;font-size:.4rem;letter-spacing:.1em;
  color:rgba(244,183,40,.5);text-shadow:none;
}
.mb-clockSep{
  font-family:"VT323",monospace;font-size:1.3rem;color:rgba(244,183,40,.35);
  line-height:1;animation:mbSepBlink 1.1s step-end infinite;
}
@keyframes mbSepBlink{50%{opacity:.25}}

/* CENTER — EMISSIONS */
.mb-emit{gap:3px;flex-direction:row !important;align-items:center}
.mb-emitTop{display:flex;flex-direction:column;gap:3px;flex-shrink:0;min-width:0}
.mb-emitRow{display:flex;align-items:baseline;gap:6px;line-height:1}
.mb-emitV{
  font-family:"VT323",monospace;font-size:1.55rem;line-height:1;
  color:#7eff7d;text-shadow:0 0 12px rgba(126,255,125,.3);letter-spacing:.02em;
}
.mb-emitV small{font-size:.95rem;opacity:.75;margin-left:1px;color:inherit}
.mb-emitU{
  font-family:"Press Start 2P",monospace;font-size:.42rem;letter-spacing:.14em;
  color:rgba(126,255,125,.6);
}
.mb-emitDot{font-family:"VT323",monospace;color:rgba(255,255,255,.2);font-size:.9rem}
.mb-emitUsd{
  font-family:"VT323",monospace;font-size:1.05rem;color:#00eeff;
  text-shadow:0 0 8px rgba(0,238,255,.28);letter-spacing:.02em;
}

/* sparkline — bars with delta % chips */
.mb-sparkBars{
  display:flex;align-items:flex-end;gap:6px;height:44px;
  margin-left:auto;padding:0 2px;flex:1;justify-content:flex-end;
  max-width:320px;
}
.mb-sparkCol{
  display:flex;flex-direction:column;align-items:center;gap:3px;
  min-width:0;
}
.mb-sparkBar{
  width:14px;min-height:4px;
  background:linear-gradient(180deg, rgba(126,255,125,.85), rgba(126,255,125,.35));
  box-shadow:0 0 6px rgba(126,255,125,.25);border-radius:1px 1px 0 0;
  transition:height .3s ease;
}
.mb-sparkBar.mb-spark-dn{background:linear-gradient(180deg, rgba(255,123,142,.85), rgba(255,123,142,.35));box-shadow:0 0 6px rgba(255,123,142,.22)}
.mb-sparkBar.mb-spark-flat{background:linear-gradient(180deg, rgba(255,245,218,.5), rgba(255,245,218,.2));box-shadow:none}
.mb-sparkBar.live{
  background:linear-gradient(180deg,#7eff7d,#39ff14);
  box-shadow:0 0 10px rgba(57,255,20,.55);
  animation:mbBarPulse 1.4s ease-in-out infinite;
}
.mb-sparkBar.mb-spark-dn.live{background:linear-gradient(180deg,#ff7b8e,#ff4466);box-shadow:0 0 10px rgba(255,68,102,.55)}
@keyframes mbBarPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.35)}}
.mb-sparkDelta{
  font-family:"Space Mono",monospace;font-size:.44rem;letter-spacing:.04em;
  line-height:1;
}
.mb-sparkDelta.mb-spark-up{color:#7eff7d}
.mb-sparkDelta.mb-spark-dn{color:#ff7b8e}
.mb-sparkDelta.mb-spark-flat{color:rgba(255,245,218,.4)}
.mb-sparkCol.is-live .mb-sparkDelta{color:inherit;font-weight:700;text-shadow:0 0 6px currentColor}

/* RIGHT — ROUND */
.mb-round{
  background:linear-gradient(270deg, rgba(57,255,20,.06), transparent 85%);
  align-items:flex-end;justify-content:center;
}
.mb-round .mb-eyebrow{align-self:flex-end}
.mb-livedot{width:6px;height:6px;border-radius:50%;background:#39ff14;box-shadow:0 0 8px #39ff14;animation:signalLivePulse 1.2s ease-in-out infinite}
.mb-roundV{
  font-family:"VT323",monospace;font-size:2.3rem;line-height:1;letter-spacing:.08em;
  color:#39ff14;text-shadow:0 0 14px rgba(57,255,20,.55);
  margin-top:-1px;
}
.mb-roundV.hot{color:#ff4a2e;text-shadow:0 0 14px rgba(255,74,46,.9);animation:jbRoundBlink .5s step-end infinite}
@keyframes jbRoundBlink{50%{opacity:.35}}
.mb-roundProg{
  position:relative;width:100%;height:3px;margin-top:2px;
  background:rgba(0,0,0,.5);border-radius:2px;overflow:hidden;
}
.mb-roundProgFill{
  position:absolute;left:0;top:0;bottom:0;
  background:linear-gradient(90deg,#39ff14,#7eff7d);
  box-shadow:0 0 8px rgba(57,255,20,.5);transition:width .5s linear;
}
.mb-round.urgent .mb-roundProgFill{background:linear-gradient(90deg,#ff4a2e,#ff7b8e);box-shadow:0 0 10px rgba(255,74,46,.7)}

/* ─── BLOOMBERG TAPE ─── */
.tapeBar{
  display:flex;align-items:center;height:18px;
  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.5));
  border-top:1px solid rgba(255,255,255,.04);
  overflow:hidden;
}
.tape-track{flex:1;overflow:hidden;position:relative;min-width:0;height:100%;display:flex;align-items:center}
.tape-track::before,.tape-track::after{
  content:"";position:absolute;top:0;bottom:0;width:24px;z-index:2;pointer-events:none;
}
.tape-track::before{left:0;background:linear-gradient(90deg, rgba(0,0,0,.6), transparent)}
.tape-track::after{right:0;background:linear-gradient(270deg, rgba(0,0,0,.6), transparent)}
.tape-scroll{
  display:inline-flex;align-items:center;gap:0;
  white-space:nowrap;
  animation:tapeScroll 60s linear infinite;
  will-change:transform;
}
.tapeBar:hover .tape-scroll{animation-play-state:paused}
@keyframes tapeScroll{
  0%  {transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
.tape-beat{display:inline-flex;align-items:baseline;gap:6px;padding:0 10px;line-height:1}
.tape-k{
  font-family:"Press Start 2P",monospace;font-size:.4rem;letter-spacing:.12em;
  color:rgba(255,245,218,.42);text-transform:uppercase;
}
.tape-v{font-family:"VT323",monospace;font-size:.9rem;line-height:1;color:#ffd866;text-shadow:0 0 5px rgba(244,183,40,.3);letter-spacing:.02em}
.tape-d{font-family:"VT323",monospace;font-size:.78rem;color:rgba(255,245,218,.52);line-height:1}
.tape-sep{color:rgba(244,183,40,.2);font-family:"VT323",monospace;font-size:.85rem;margin-left:6px}

.tape-up   .tape-v,.tape-up   .tape-d{color:#7eff7d;text-shadow:0 0 6px rgba(126,255,125,.3)}
.tape-red  .tape-v,.tape-red  .tape-d{color:#ff7b8e;text-shadow:0 0 6px rgba(255,123,142,.3)}
.tape-gold .tape-v{color:#ffd866}
.tape-alert .tape-v{color:#ff4a2e;text-shadow:0 0 8px rgba(255,74,46,.5)}
.tape-alert .tape-k{color:#ff8a7a}
.tape-ink  .tape-v{color:#fff5da}

/* YOUR BATTLE DECK — labeled tab */
.bd-tab{
  position:absolute;top:-9px;left:14px;z-index:3;
  padding:2px 9px;
  font-family:"Press Start 2P",monospace;font-size:.42rem;letter-spacing:.18em;
  color:rgba(255,255,255,.7);
  background:linear-gradient(180deg,#0a0e18,#070b14);
  border:1px solid rgba(255,255,255,.14);border-bottom:none;border-radius:2px;
  text-transform:uppercase;
}
.bd-idle  .bd-tab{color:#00eeff;border-color:rgba(0,238,255,.3);text-shadow:0 0 6px rgba(0,238,255,.4)}
.bd-armed .bd-tab{color:#ffd866;border-color:rgba(244,183,40,.35);text-shadow:0 0 6px rgba(244,183,40,.5)}
.bd-live  .bd-tab{color:#39ff14;border-color:rgba(57,255,20,.35);text-shadow:0 0 6px rgba(57,255,20,.5)}
.bd-live.bd-losing .bd-tab{color:#ff4466;border-color:rgba(255,68,102,.4);text-shadow:0 0 6px rgba(255,68,102,.5)}

/* ═══════════════════════════════════════════════════════════════
   DOGE AGENT PANEL — fixed under leaderboard, always visible
   States: none | hatching | live | evolving
   ═══════════════════════════════════════════════════════════════ */
.dgPanel{
  position:relative;flex-shrink:0;
  border:1px solid rgba(244,183,40,.22);
  border-radius:4px;
  background:linear-gradient(180deg, rgba(16,14,8,.85), rgba(10,10,14,.9));
  padding:12px 14px 10px;
  overflow:hidden;
  transition:padding 180ms ease-out;
}
.dgPanel-min{padding:0;min-height:28px;height:28px !important}
.dgPanel-min .dg-state{display:none}

/* drag-resize handle between leaderboard and doge */
.dgSplit{
  position:relative;flex-shrink:0;
  height:8px;margin:-2px 0;cursor:ns-resize;
  display:flex;align-items:center;justify-content:center;
  z-index:4;
}
.dgSplit::before{
  content:"";position:absolute;left:0;right:0;top:3px;height:2px;
  background:rgba(255,255,255,.05);border-radius:1px;transition:background 140ms;
}
.dgSplit:hover::before,.dgSplit-dragging::before{background:rgba(244,183,40,.5);box-shadow:0 0 8px rgba(244,183,40,.4)}
.dgSplit-grip{
  position:relative;z-index:1;display:flex;gap:3px;
  padding:1px 6px;border-radius:2px;background:#0a0e1a;
  border:1px solid rgba(255,255,255,.1);
  transition:border-color 140ms;
}
.dgSplit:hover .dgSplit-grip,.dgSplit-dragging .dgSplit-grip{border-color:rgba(244,183,40,.5)}
.dgSplit-grip span{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.3)}
.dgSplit:hover .dgSplit-grip span,.dgSplit-dragging .dgSplit-grip span{background:#ffd866}

/* minimize toggle button inside the tab */
.dg-tab-min{
  margin-left:6px;padding:1px 5px;border-radius:2px;
  border:1px solid rgba(255,255,255,.18);background:transparent;
  color:rgba(255,255,255,.55);cursor:pointer;
  font-family:"VT323",monospace;font-size:.78rem;line-height:1;
  transition:all 120ms;
}
.dg-tab-min:hover{color:#ffd866;border-color:rgba(244,183,40,.45);background:rgba(244,183,40,.08)}
.dgPanel-none{border-color:rgba(255,255,255,.12);background:linear-gradient(180deg, rgba(12,12,18,.85), rgba(10,10,14,.9))}
.dgPanel-hatching{border-color:rgba(244,183,40,.45);box-shadow:inset 0 0 40px rgba(244,183,40,.08), 0 0 20px rgba(244,183,40,.15)}
.dgPanel-live{border-color:rgba(57,255,20,.28);box-shadow:inset 0 0 30px rgba(57,255,20,.04)}
.dgPanel-evolving{
  border-color:rgba(255,75,255,.55);
  background:linear-gradient(180deg, rgba(24,8,28,.9), rgba(10,6,14,.9));
  box-shadow:inset 0 0 50px rgba(255,75,255,.1), 0 0 30px rgba(255,75,255,.2);
  animation:dgEvoPulse 2.4s ease-in-out infinite;
}
@keyframes dgEvoPulse{
  0%,100%{box-shadow:inset 0 0 50px rgba(255,75,255,.1), 0 0 30px rgba(255,75,255,.2)}
  50%{box-shadow:inset 0 0 70px rgba(255,75,255,.18), 0 0 45px rgba(255,75,255,.32)}
}

.dg-tab{
  position:absolute;top:-1px;left:14px;transform:translateY(-50%);
  display:inline-flex;align-items:center;gap:7px;
  padding:3px 9px;border-radius:2px;
  background:#0a0e1a;border:1px solid rgba(244,183,40,.35);
  font-family:"Press Start 2P",monospace;font-size:.42rem;letter-spacing:.16em;
  color:#ffd866;text-transform:uppercase;z-index:3;
}
.dg-tab-icn{font-size:.5rem}
.dg-tab-mode{color:rgba(255,255,255,.45);padding-left:7px;border-left:1px solid rgba(255,255,255,.1);margin-left:3px}
.dgPanel-live .dg-tab{color:#39ff14;border-color:rgba(57,255,20,.4)}
.dgPanel-none .dg-tab{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.2)}
.dgPanel-evolving .dg-tab{color:#ff4bff;border-color:rgba(255,75,255,.55);text-shadow:0 0 6px rgba(255,75,255,.5)}

.dg-state{display:grid;gap:12px;height:100%}
.dg-state-tag{
  font-family:"Press Start 2P",monospace;font-size:.42rem;letter-spacing:.16em;
  color:#ffd866;line-height:1;margin-bottom:4px;
}
.dg-tag-amber{color:#ffd866}
.dg-tag-magenta{color:#ff4bff;text-shadow:0 0 6px rgba(255,75,255,.5)}
.dg-state-title{
  font-family:"Press Start 2P",monospace;font-size:.8rem;letter-spacing:.1em;
  color:#fff5da;line-height:1.2;margin-bottom:6px;
}

/* ── 0 — NONE ── */
.dg-state-none{grid-template-columns:96px 1fr 220px;align-items:center;gap:20px}
.dg-none-art{display:flex;align-items:center;justify-content:center}
.dg-egg{
  position:relative;width:64px;height:78px;
  background:linear-gradient(180deg, #f4e4a8 0%, #c8a04e 100%);
  border-radius:50% 50% 45% 45% / 58% 58% 42% 42%;
  box-shadow:inset -6px -10px 20px rgba(0,0,0,.35), inset 4px 4px 10px rgba(255,255,255,.3), 0 4px 14px rgba(0,0,0,.5);
}
.dg-egg-crack{
  position:absolute;top:18%;left:30%;right:30%;height:2px;
  background:linear-gradient(90deg, transparent, #1a0f08 30%, transparent 50%, #1a0f08 70%, transparent);
  opacity:.5;
}
.dg-egg-shimmer{
  position:absolute;top:20%;left:18%;width:18%;height:20%;
  background:radial-gradient(circle, rgba(255,255,255,.6), transparent 70%);
  border-radius:50%;
}
.dg-egg-active{animation:dgEggWobble 2s ease-in-out infinite}
.dg-egg-breaking{animation:dgEggWobble .5s ease-in-out infinite}
@keyframes dgEggWobble{
  0%,100%{transform:rotate(-3deg)}
  50%{transform:rotate(3deg)}
}

.dg-none-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.dg-none-tag{
  font-family:"Press Start 2P",monospace;font-size:.4rem;letter-spacing:.16em;
  color:rgba(255,255,255,.5);
}
.dg-none-title{
  font-family:"Press Start 2P",monospace;font-size:.95rem;letter-spacing:.08em;
  color:#ffd866;text-shadow:0 0 10px rgba(244,183,40,.4);line-height:1.1;margin:2px 0 6px;
}
.dg-none-sub{
  font-family:"Space Mono",monospace;font-size:.78rem;line-height:1.4;
  color:rgba(255,245,218,.7);max-width:380px;
}
.dg-none-actions{display:flex;gap:8px;margin-top:8px}

.dg-btn{
  font-family:"Press Start 2P",monospace;font-size:.48rem;letter-spacing:.14em;
  padding:8px 12px;border-radius:3px;cursor:pointer;
  border:1px solid currentColor;background:rgba(0,0,0,.3);
  color:rgba(255,255,255,.65);transition:all 140ms;
  display:inline-flex;align-items:center;gap:7px;
}
.dg-btn:hover{background:rgba(255,255,255,.04);transform:translateY(-1px)}
.dg-btn-primary{
  color:#0a0e1a;background:#ffd866;border-color:#ffd866;
  box-shadow:0 0 14px rgba(244,183,40,.4);
}
.dg-btn-primary:hover{background:#ffe48a;box-shadow:0 0 20px rgba(244,183,40,.6)}
.dg-btn-magenta{background:#ff4bff;border-color:#ff4bff;color:#0a0e1a;box-shadow:0 0 18px rgba(255,75,255,.5)}
.dg-btn-ghost{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.2)}
.dg-btn-arr{font-size:.6rem}

.dg-none-side{
  display:flex;flex-direction:column;gap:5px;
  padding:10px 12px;border-left:1px solid rgba(255,255,255,.08);
}
.dg-kv{
  display:flex;justify-content:space-between;gap:10px;
  font-family:"Space Mono",monospace;font-size:.72rem;
  padding:3px 0;border-bottom:1px dashed rgba(255,255,255,.05);
}
.dg-kv:last-child{border-bottom:none}
.dg-kv span{color:rgba(255,255,255,.45);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}
.dg-kv b{color:#fff5da;font-weight:400;font-variant-numeric:tabular-nums}
.dg-pos{color:#39ff14 !important}
.dg-neg{color:#ff4466 !important}

/* ── 1 — HATCHING ── */
.dg-state-hatching{grid-template-columns:110px 1fr;align-items:center;gap:18px}
.dg-hatch-art{display:flex;align-items:center;justify-content:center}
.dg-hatch-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.dg-hatch-log{
  display:flex;flex-direction:column;gap:2px;margin-top:4px;
  font-family:"Space Mono",monospace;font-size:.7rem;
}
.dg-hatch-line{display:flex;align-items:center;gap:8px;color:rgba(255,245,218,.7)}
.dg-hatch-ok{color:#39ff14}
.dg-hatch-spin{color:#ffd866;animation:dgSpin 1s linear infinite;display:inline-block}
@keyframes dgSpin{to{transform:rotate(360deg)}}
.dg-hatch-v{color:#fff5da;margin-left:auto;font-variant-numeric:tabular-nums}
.dg-hatch-rolling{color:#ffd866;animation:dgBlink 1s steps(2) infinite}
@keyframes dgBlink{50%{opacity:.3}}
.dg-hatch-rare{
  margin-left:6px;padding:1px 5px;border-radius:2px;
  background:#ba78ff;color:#0a0e1a;
  font-family:"Press Start 2P",monospace;font-size:.36rem;letter-spacing:.12em;
}
.dg-hatch-progress{display:flex;align-items:center;gap:10px;margin-top:8px}
.dg-hatch-bar{flex:1;height:6px;border-radius:3px;background:rgba(0,0,0,.6);overflow:hidden;border:1px solid rgba(244,183,40,.2)}
.dg-hatch-fill{display:block;height:100%;background:linear-gradient(90deg, #ffd866, #ff9a3c);box-shadow:0 0 10px rgba(244,183,40,.6);transition:width .15s linear}
.dg-hatch-pct{
  font-family:"VT323",monospace;font-size:1rem;color:#ffd866;
  min-width:42px;text-align:right;font-variant-numeric:tabular-nums;
}

/* ── 2 — LIVE ── */
.dg-state-live{grid-template-columns:150px 200px 1fr 1fr;gap:16px;align-items:stretch}
.dg-live-portrait{display:flex;flex-direction:column;align-items:center;gap:8px;padding-right:14px;border-right:1px solid rgba(255,255,255,.08)}
.dg-portrait-frame{
  position:relative;width:88px;height:88px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(244,183,40,.3);border-radius:4px;
  background:radial-gradient(circle at center, rgba(244,183,40,.08), transparent 70%);
}
.dg-portrait-pulse{
  position:absolute;inset:-2px;border-radius:4px;border:1px solid #ffd866;
  opacity:0;animation:dgPulse 2.4s ease-out infinite;
}
@keyframes dgPulse{
  0%{opacity:.7;transform:scale(1)}
  100%{opacity:0;transform:scale(1.15)}
}
.dg-portrait-meta{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%}
.dg-portrait-name{font-family:"Press Start 2P",monospace;font-size:.58rem;color:#ffd866;letter-spacing:.08em}
.dg-portrait-tier{font-family:"Space Mono",monospace;font-size:.62rem;color:#ba78ff;display:flex;align-items:center;gap:5px;letter-spacing:.08em}
.dg-tier-dot{width:6px;height:6px;background:#ba78ff;border-radius:1px;box-shadow:0 0 6px rgba(186,120,255,.8)}
.dg-portrait-status{font-family:"Press Start 2P",monospace;font-size:.38rem;letter-spacing:.14em;color:#39ff14;display:flex;align-items:center;gap:5px;text-transform:uppercase}
.dg-status-dot{width:6px;height:6px;background:#39ff14;border-radius:999px;box-shadow:0 0 8px #39ff14;animation:dgBlink 1.4s steps(2) infinite}

.dg-live-stats{display:flex;flex-direction:column;justify-content:center;gap:8px;padding-right:14px;border-right:1px solid rgba(255,255,255,.08)}
.dg-stat{display:flex;flex-direction:column;gap:3px}
.dg-stat-row{display:flex;justify-content:space-between;align-items:baseline;font-family:"Press Start 2P",monospace;font-size:.4rem;letter-spacing:.12em}
.dg-stat-lbl{color:rgba(255,255,255,.5)}
.dg-stat-v{font-family:"VT323",monospace;font-size:.92rem;letter-spacing:.02em}
.dg-stat-bar{height:4px;border-radius:2px;background:rgba(0,0,0,.6);overflow:hidden}
.dg-stat-fill{display:block;height:100%;transition:width .4s ease-out}

.dg-live-earnings{display:flex;flex-direction:column;gap:7px;padding-right:14px;border-right:1px solid rgba(255,255,255,.08)}
.dg-earn-title{font-family:"Press Start 2P",monospace;font-size:.4rem;letter-spacing:.14em;color:rgba(255,255,255,.5)}
.dg-earn-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px}
.dg-earn-cell{display:flex;flex-direction:column;gap:1px}
.dg-earn-l{font-family:"Press Start 2P",monospace;font-size:.34rem;letter-spacing:.14em;color:rgba(255,255,255,.42)}
.dg-earn-cell b{font-family:"VT323",monospace;font-size:1.1rem;color:#fff5da;font-weight:400;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.dg-earn-cell b i{font-style:normal;font-size:.68rem;color:rgba(255,255,255,.45);margin-left:3px}

.dg-live-log{display:flex;flex-direction:column;gap:6px;min-width:0}
.dg-log-head{font-family:"Press Start 2P",monospace;font-size:.4rem;letter-spacing:.14em;color:#39ff14;text-shadow:0 0 5px rgba(57,255,20,.5)}
.dg-log-list{display:flex;flex-direction:column;gap:3px;overflow:hidden}
.dg-log-line{
  display:grid;grid-template-columns:52px 1fr auto;gap:8px;align-items:baseline;
  font-family:"Space Mono",monospace;font-size:.68rem;
  padding:2px 0;border-bottom:1px dotted rgba(255,255,255,.05);
}
.dg-log-t{color:rgba(255,255,255,.35);font-size:.6rem;letter-spacing:.05em}
.dg-log-m{color:rgba(255,245,218,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dg-log-a{font-family:"VT323",monospace;font-size:.92rem;font-variant-numeric:tabular-nums}
.dg-log-a.dg-log-pos{color:#39ff14}
.dg-log-a.dg-log-neg{color:#ff4466}

/* ── 3 — EVOLVING ── */
.dg-state-evolving{grid-template-columns:280px 1fr;gap:18px;align-items:center}
.dg-evo-portrait{display:flex;align-items:center;gap:6px;justify-content:center}
.dg-evo-before,.dg-evo-after{display:flex;flex-direction:column;align-items:center;gap:4px}
.dg-evo-before{opacity:.45}
.dg-evo-arrow{display:flex;flex-direction:column;align-items:center;gap:3px;color:#ff4bff}
.dg-evo-arr-sym{font-size:1rem;letter-spacing:.1em;text-shadow:0 0 8px rgba(255,75,255,.8);animation:dgEvoArrow 1s ease-in-out infinite}
@keyframes dgEvoArrow{0%,100%{opacity:.5;transform:translateX(-3px)}50%{opacity:1;transform:translateX(3px)}}
.dg-evo-arr-lbl{font-family:"Press Start 2P",monospace;font-size:.36rem;letter-spacing:.14em}
.dg-evo-lbl{font-family:"Press Start 2P",monospace;font-size:.44rem;letter-spacing:.12em;color:rgba(255,255,255,.5)}
.dg-evo-lbl-new{color:#ff4bff;text-shadow:0 0 6px rgba(255,75,255,.7)}
.dg-evo-sparkle{position:relative}
.dg-evo-sparkle::before,.dg-evo-sparkle::after{
  content:"✦";position:absolute;color:#ff4bff;font-size:.9rem;
  text-shadow:0 0 6px rgba(255,75,255,.9);animation:dgSparkle 1.4s ease-in-out infinite;
}
.dg-evo-sparkle::before{top:-6px;left:-6px;animation-delay:.2s}
.dg-evo-sparkle::after{bottom:-4px;right:-6px;animation-delay:.7s}
@keyframes dgSparkle{0%,100%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.2)}}

.dg-evo-body{display:flex;flex-direction:column;gap:6px}
.dg-evo-title{color:#ff4bff;text-shadow:0 0 12px rgba(255,75,255,.6)}
.dg-evo-buffs{display:flex;gap:10px;margin-top:4px}
.dg-evo-buff{
  flex:1;padding:6px 10px;border-radius:3px;
  border:1px solid rgba(255,75,255,.3);background:rgba(255,75,255,.06);
  display:flex;flex-direction:column;gap:2px;
}
.dg-evo-buff-l{font-family:"Press Start 2P",monospace;font-size:.36rem;letter-spacing:.14em;color:rgba(255,255,255,.55)}
.dg-evo-buff b{font-family:"VT323",monospace;font-size:1.3rem;color:#39ff14;font-weight:400;letter-spacing:.02em}
.dg-evo-cta{display:flex;align-items:center;gap:12px;margin-top:10px}
.dg-evo-timer{font-family:"Space Mono",monospace;font-size:.72rem;color:rgba(255,255,255,.45)}

/* state-toggle-doge used to sit left of the RIGHT RAIL / BATTLE DECK
   panels. Both are retired now — doge row sits on its own at the
   default bottom-right anchor. */


/* ====================== RESPONSIVE ====================== */
@media (max-width:1600px){
  .dashboardGrid{grid-template-columns:252px 1fr 340px}
  .dashboardGrid.chatCollapsed{grid-template-columns:1fr 340px}
}
@media (max-width:1400px){
  .dashboardGrid{grid-template-columns:238px 1fr 320px}
  .dashboardGrid.chatCollapsed{grid-template-columns:1fr 320px}
}
@media (max-width:1200px){
  .dashboardGrid{grid-template-columns:226px 1fr 300px}
  .dashboardGrid.chatCollapsed{grid-template-columns:1fr 300px}
  .visionBody{grid-template-columns:1fr}
}

/* ══════════════════════════════════════════════════════════════════
   DOGE AGENT — "on-the-page" futuristic v2
   No boxed container. Typography-first. Portrait slot with HUD frame.
   Cool ice-blue + silver + soft gold palette — ready for future reels.
   ══════════════════════════════════════════════════════════════════ */
.dg2Panel{
  position:relative;
  display:flex;flex-direction:column;
  min-height:0;
  padding:0 18px 12px;
  background:transparent;
  color:#e6f4ff;
  overflow:hidden;
  container-type:inline-size;
  /* Subtle top separator — a thin hairline, not a full border */
  border-top:1px solid rgba(143,232,255,.08);
}
/* Soft cool-blue wash at the top edge to anchor the section */
.dg2Panel::before{
  content:"";position:absolute;left:0;right:0;top:0;height:80px;pointer-events:none;
  background:radial-gradient(ellipse at 12% 0%, rgba(143,232,255,.09), transparent 55%),
             linear-gradient(180deg, rgba(143,232,255,.04), transparent 70%);
}
.dg2Panel-min{padding:0 22px;border-top:1px solid rgba(143,232,255,.08)}

/* ── Tab / section label — sits flat on the page, typewriter style */
.dg2-tab{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:center;
  min-height:44px;
  padding:8px 0 10px;
  border-bottom:1px solid rgba(143,232,255,.08);
}
.dg2-tab-center{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.dg2-tab-icn{
  width:28px;
  height:28px;
  border-radius:8px;
  border:1px solid rgba(143,232,255,.24);
  background:
    radial-gradient(circle at 50% 42%, rgba(143,232,255,.26), transparent 58%),
    linear-gradient(180deg, rgba(15,31,46,.96), rgba(6,13,22,.98));
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 0 16px rgba(143,232,255,.12), inset 0 0 14px rgba(143,232,255,.08);
}
.dg2-tab-icn-core{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#7eff7d;
  box-shadow:0 0 12px rgba(57,255,20,.85);
}
.dg2-tab-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  min-width:0;
}
.dg2-tab-kicker{
  font-family:"Space Mono",monospace;
  font-size:.48rem;
  letter-spacing:.20em;
  color:rgba(143,232,255,.64);
  text-transform:uppercase;
  text-align:center;
}
.dg2-tab-lbl{
  font-family:"Press Start 2P",monospace;
  font-size:.6rem;
  letter-spacing:.12em;
  color:#fff5d6;
  text-shadow:0 0 14px rgba(143,232,255,.2);
  text-align:center;
  white-space:nowrap;
}
.dg2-tab-min{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  background:transparent;border:1px solid rgba(143,232,255,.25);
  color:rgba(143,232,255,.8);font-size:.62rem;width:24px;height:24px;border-radius:6px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;padding:0;
}
.dg2-tab-min:hover{border-color:#8fe8ff;color:#8fe8ff;box-shadow:0 0 8px rgba(143,232,255,.3)}

/* ── Scroll container — content breathes */
.dg2-scroll{
  flex:1;min-height:0;overflow:hidden;
  position:relative;z-index:1;
  padding:4px 0 8px;
}

/* ── Main layout: portrait slot | body text ── */
.dg2{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:flex-start;padding:8px 0 4px}
.dg2-none{grid-template-columns:auto 1fr}
.dg2-evolving{grid-template-columns:1fr;gap:18px}

/* ── PORTRAIT SLOT — HUD-framed character viewport ── */
.dg2-portrait{flex-shrink:0}
.dg2-portrait-frame{
  position:relative;width:164px;
  background:
    radial-gradient(ellipse at 50% 30%, rgba(143,232,255,.08), transparent 70%),
    linear-gradient(180deg, #0a1420 0%, #060c16 100%);
  border:1px solid rgba(143,232,255,.18);
  border-radius:3px;
  box-shadow:
    inset 0 0 28px rgba(143,232,255,.05),
    0 0 18px rgba(143,232,255,.06),
    0 2px 0 rgba(0,0,0,.4);
}
.dg2-portrait-stage{
  width:100%;aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center;
  position:relative;
  background:
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,.4) 100%),
    repeating-linear-gradient(0deg, transparent 0, transparent 3px, rgba(143,232,255,.02) 3px, rgba(143,232,255,.02) 4px);
}
.dg2-portrait-art{
  position:relative;
  z-index:1;
  width:78%;
  height:78%;
  object-fit:contain;
  filter:drop-shadow(0 0 18px rgba(143,232,255,.22));
}
.dg2-portrait-stage::before{
  content:"";position:absolute;inset:8px;border:1px dashed rgba(143,232,255,.12);border-radius:2px;pointer-events:none;
}
.dg2-pscan{
  position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg, transparent, rgba(143,232,255,.35), transparent);
  animation:dg2Scan 3.6s linear infinite;pointer-events:none;z-index:3;
}
@keyframes dg2Scan{0%{transform:translateY(0)}100%{transform:translateY(132px)}}

/* Corner HUD ticks */
.dg2-pcorner{
  position:absolute;width:10px;height:10px;pointer-events:none;
  border-color:#8fe8ff;
}
.dg2-pcorner-tl{top:-1px;left:-1px;border-top:1px solid;border-left:1px solid}
.dg2-pcorner-tr{top:-1px;right:-1px;border-top:1px solid;border-right:1px solid}
.dg2-pcorner-bl{bottom:-1px;left:-1px;border-bottom:1px solid;border-left:1px solid}
.dg2-pcorner-br{bottom:-1px;right:-1px;border-bottom:1px solid;border-right:1px solid}

.dg2-portrait-bar{
  display:flex;align-items:center;gap:6px;padding:6px 9px;
  border-top:1px solid rgba(143,232,255,.15);
  background:rgba(0,0,0,.35);
  font-family:"Space Mono",monospace;font-size:.5rem;letter-spacing:.1em;
}
.dg2-pdot{width:6px;height:6px;border-radius:999px;background:#7eff7d;box-shadow:0 0 6px #7eff7d;flex-shrink:0}
.dg2-plbl{color:#fff5d6;font-weight:700;letter-spacing:.12em}
.dg2-ptier{margin-left:auto;color:rgba(143,232,255,.7)}

/* Empty slot variant */
.dg2-portrait-empty .dg2-portrait-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.dg2-empty-egg{
  width:48px;height:62px;border-radius:50% 50% 45% 45%;
  background:linear-gradient(180deg, #1a2434 0%, #0a1018 100%);
  border:1px dashed rgba(143,232,255,.25);
  box-shadow:inset 0 0 12px rgba(143,232,255,.08);
}
.dg2-empty-label{
  font-family:"Space Mono",monospace;font-size:.48rem;letter-spacing:.16em;
  color:rgba(143,232,255,.45);
}

/* ── BODY text column ── */
.dg2-body{display:flex;flex-direction:column;gap:12px;min-width:0;padding-top:2px}

.dg2-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:"Space Mono",monospace;font-size:.56rem;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(143,232,255,.7);
  width:fit-content;
}
.dg2-eyebrow-amber{color:#f4b728}
.dg2-eyebrow-magenta{color:#ff8fff}
.dg2-live-dot{
  width:7px;height:7px;border-radius:999px;background:#7eff7d;
  box-shadow:0 0 10px #7eff7d;animation:dg2Pulse 1.2s ease-in-out infinite;
}
@keyframes dg2Pulse{50%{opacity:.35;transform:scale(.75)}}

.dg2-headline{
  font-family:"Space Grotesk",sans-serif;font-weight:700;
  font-size:1.6rem;line-height:1.05;letter-spacing:-.02em;
  color:#fff5d6;margin:0;
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  text-shadow:0 0 18px rgba(143,232,255,.12);
}
.dg2-hname{color:#fff5d6}
.dg2-hnum{
  font-family:"VT323",monospace;font-size:1.3rem;letter-spacing:.02em;
  color:#8fe8ff;text-shadow:0 0 10px rgba(143,232,255,.4);
  padding:0 4px;border-left:1px solid rgba(143,232,255,.25);border-right:1px solid rgba(143,232,255,.25);
}
.dg2-hbreath{
  display:inline-block;width:18px;height:10px;
  background:linear-gradient(90deg,transparent,rgba(143,232,255,.4),transparent);
  animation:dg2Breath 2s ease-in-out infinite;
}
@keyframes dg2Breath{50%{opacity:.3;transform:translateX(6px)}}
.dg2-hcursor{
  display:inline-block;color:#8fe8ff;font-weight:400;
  animation:dg2Cursor 1s steps(1) infinite;
  text-shadow:0 0 8px rgba(143,232,255,.5);
}
@keyframes dg2Cursor{50%{opacity:0}}

.dg2-sub{
  margin:0;font-family:"Space Grotesk",sans-serif;font-size:.82rem;line-height:1.55;
  color:rgba(230,244,255,.7);max-width:56ch;
}

/* ── Stats line — traits rendered as inline typography ── */
.dg2-traitline{
  display:flex;flex-wrap:wrap;gap:18px 24px;align-items:center;
  padding:4px 0;
}
.dg2-tl-item{
  display:inline-flex;align-items:center;gap:8px;
  font-family:"Space Mono",monospace;font-size:.6rem;letter-spacing:.1em;
}
.dg2-tl-item u{text-decoration:none;color:rgba(230,244,255,.45);text-transform:uppercase}
.dg2-tl-item b{
  font-family:"VT323",monospace;font-size:1.25rem;font-weight:400;line-height:1;
  letter-spacing:0;text-shadow:0 0 8px currentColor;
}
.dg2-tl-item b i{font-style:normal;font-size:.7rem;opacity:.6;margin-left:1px}
.dg2-tl-bar{
  display:inline-block;position:relative;width:60px;height:2px;
  background:rgba(255,255,255,.06);border-radius:1px;overflow:hidden;
}
.dg2-tl-bar span{position:absolute;left:0;top:0;bottom:0;border-radius:1px;box-shadow:0 0 6px currentColor}

/* ── 24h perf — sentence style ── */
.dg2-perf{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;
  font-family:"Space Grotesk",sans-serif;font-size:.78rem;
  color:rgba(230,244,255,.75);
  padding-top:2px;
}
.dg2-perf-k{
  font-family:"Space Mono",monospace;font-size:.55rem;letter-spacing:.18em;
  color:rgba(143,232,255,.55);padding:2px 6px;border:1px solid rgba(143,232,255,.2);border-radius:2px;
}
.dg2-perf-item b{
  font-family:"VT323",monospace;font-size:1.05rem;font-weight:400;
  color:#fff5d6;letter-spacing:.02em;margin-left:3px;
}
.dg2-perf-item b i{font-style:normal;font-size:.7rem;opacity:.5;margin-left:1px}
.dg2-perf-sep{color:rgba(143,232,255,.25)}
.dg2-pos{color:#7eff7d !important;text-shadow:0 0 8px rgba(57,255,20,.3)}
.dg2-neg{color:#ff7b8e !important}

/* ── Agent feed — typed lines, no boxes ── */
.dg2-feed{
  display:flex;flex-direction:column;gap:4px;
  padding-top:6px;
  border-top:1px dashed rgba(143,232,255,.1);
  margin-top:4px;
}
.dg2-feed-head{
  font-family:"Space Mono",monospace;font-size:.5rem;letter-spacing:.18em;
  color:rgba(143,232,255,.5);padding:4px 0 2px;
}
.dg2-feed-line{
  display:flex;align-items:baseline;gap:8px;
  font-family:"Space Mono",monospace;font-size:.65rem;line-height:1.4;
  color:rgba(230,244,255,.8);
  opacity:0;animation:dg2FeedIn .4s ease forwards;
}
.dg2-feed-line:nth-child(1){animation-delay:0s}
.dg2-feed-line:nth-child(2){animation-delay:.05s}
.dg2-feed-line:nth-child(3){animation-delay:.1s}
.dg2-feed-line:nth-child(4){animation-delay:.15s}
.dg2-feed-line:nth-child(5){animation-delay:.2s}
@keyframes dg2FeedIn{to{opacity:1}}
.dg2-feed-t{width:32px;flex-shrink:0;color:rgba(143,232,255,.5);text-align:right;font-size:.55rem}
.dg2-feed-arrow{color:rgba(143,232,255,.35)}
.dg2-feed-msg{flex:1;min-width:0;color:rgba(230,244,255,.9)}
.dg2-feed-a{margin-left:auto;font-weight:700;text-shadow:0 0 6px currentColor}
.dg2-feed-pos{color:#7eff7d}
.dg2-feed-neg{color:#ff7b8e}

/* ── Stats line (none state) ── */
.dg2-stats-line{
  display:flex;flex-wrap:wrap;gap:12px 22px;
  font-family:"Space Mono",monospace;font-size:.6rem;
  padding-top:2px;
}
.dg2-stats-line span{display:inline-flex;align-items:baseline;gap:4px}
.dg2-stats-line b{font-family:"VT323",monospace;font-size:1.15rem;font-weight:400;color:#fff5d6;line-height:1}
.dg2-stats-line i{font-style:normal;font-size:.55rem;color:rgba(230,244,255,.45)}
.dg2-stats-line u{text-decoration:none;color:rgba(230,244,255,.45);text-transform:uppercase;letter-spacing:.12em;font-size:.5rem;margin-left:4px}

/* ── Actions ── */
.dg2-actions{display:flex;gap:10px;align-items:center;padding-top:4px;flex-wrap:wrap}
.dg2-btn{
  padding:8px 14px;border-radius:2px;cursor:pointer;
  font-family:"Press Start 2P",monospace;font-size:.56rem;letter-spacing:.14em;
  transition:all 160ms;display:inline-flex;align-items:center;gap:8px;
}
.dg2-btn-primary{
  background:linear-gradient(180deg,#8fe8ff,#5ec4e0);color:#051220;border:1px solid #8fe8ff;
  box-shadow:0 0 18px rgba(143,232,255,.35), inset 0 1px 0 rgba(255,255,255,.4);
}
.dg2-btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 26px rgba(143,232,255,.55), inset 0 1px 0 rgba(255,255,255,.4)}
.dg2-btn-primary span{font-size:.7rem}
.dg2-btn-ghost{
  background:transparent;color:rgba(230,244,255,.85);border:1px solid rgba(143,232,255,.25);
  font-size:.6rem;letter-spacing:.08em;text-transform:none;font-family:"Space Grotesk",sans-serif;font-weight:600;
}
.dg2-btn-ghost:hover{border-color:#8fe8ff;color:#8fe8ff}
.dg2-btn-magenta{background:linear-gradient(180deg,#ff8fff,#c05ec0);border-color:#ff8fff;color:#1a0a1a;box-shadow:0 0 18px rgba(255,143,255,.4), inset 0 1px 0 rgba(255,255,255,.4)}
.dg2-btn:disabled{
  cursor:not-allowed;
  opacity:.48;
  transform:none !important;
  box-shadow:none !important;
}
.dg2-note{max-width:64ch}

/* ── Mint preview (empty state) ── */
.dg2-mint{
  grid-template-columns:180px minmax(0,1fr);
  gap:16px;
  align-items:flex-start;
}
.dg2-mint-gallery{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.dg2-mint-gallery-stage{
  position:relative;
  min-height:154px;
  border:1px solid rgba(143,232,255,.12);
  border-radius:6px;
  background:
    radial-gradient(circle at 50% 24%, rgba(143,232,255,.12), transparent 58%),
    linear-gradient(180deg, rgba(10,20,32,.92), rgba(6,12,22,.98));
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:inset 0 0 18px rgba(143,232,255,.05);
}
.dg2-mint-gallery-stage::before{display:none}
.dg2-mint-gallery-art{
  position:relative;
  z-index:1;
  width:108%;
  max-height:148px;
  object-fit:contain;
  filter:drop-shadow(0 0 20px rgba(143,232,255,.18));
}
.dg2-mint-gallery-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:22px;
  height:22px;
  border:1px solid rgba(143,232,255,.24);
  background:rgba(2,10,18,.88);
  color:#8fe8ff;
  font-size:.75rem;
  cursor:pointer;
}
.dg2-mint-gallery-prev{left:6px}
.dg2-mint-gallery-next{right:6px}
.dg2-mint-gallery-nav:hover{
  border-color:#8fe8ff;
  box-shadow:0 0 10px rgba(143,232,255,.22);
}
.dg2-mint-gallery-meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-family:"Space Mono",monospace;
}
.dg2-mint-gallery-meta strong{
  font-family:"Space Grotesk",sans-serif;
  font-size:.96rem;
  color:#fff5d6;
}
.dg2-mint-gallery-meta span:last-child{
  color:rgba(230,244,255,.56);
  font-size:.54rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.dg2-mint-faction{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:fit-content;
  padding:3px 8px;
  border:1px solid rgba(143,232,255,.18);
  border-radius:999px;
  background:rgba(143,232,255,.05);
  color:#8fe8ff;
  font-size:.56rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.dg2-mint-faction img{
  width:16px;
  height:11px;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.18);
}
.dg2-mint-body{
  gap:8px;
}
.dg2-mint .dg2-headline{
  font-size:1.24rem;
  line-height:1.02;
  gap:0;
}
.dg2-mint .dg2-sub{
  font-size:.72rem;
  line-height:1.36;
  max-width:34ch;
}
.dg2-mint-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px, 430px);
  gap:14px;
  align-items:start;
}
.dg2-mint-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:7px;
  min-width:0;
}
.dg2-mint-hero-side{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 176px;
  gap:10px;
  align-items:stretch;
}
.dg2-mint-buybox{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(143,232,255,.12);
  border-radius:6px;
  background:
    linear-gradient(180deg, rgba(10,20,32,.9), rgba(7,13,23,.96));
  box-shadow:inset 0 0 16px rgba(143,232,255,.04);
}
.dg2-mint-buybox-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.dg2-mint-curve{
  border:1px solid rgba(143,232,255,.12);
  background:rgba(7,14,25,.62);
  padding:8px 8px 6px;
  min-width:0;
  border-radius:5px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.dg2-mint-chart{
  width:100%;
  height:86px;
}
.dg2-mint-controls{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.dg2-mint-tier-row{
  display:grid;
  grid-template-columns:auto repeat(3, minmax(0, 1fr));
  gap:8px;
  align-items:stretch;
}
.dg2-mint-tier-row-label{
  display:flex;
  align-items:center;
  font-family:"Space Mono",monospace;
  font-size:.54rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(230,244,255,.52);
  white-space:nowrap;
}
.dg2-mint-tier-btn{
  min-width:0;
  padding:8px 10px;
  border:1px solid rgba(143,232,255,.16);
  background:rgba(7,14,25,.62);
  color:rgba(230,244,255,.86);
  border-radius:5px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  cursor:pointer;
  font-family:"Space Mono",monospace;
  font-size:.5rem;
  min-height:52px;
}
.dg2-mint-tier-btn span{
  font-family:"VT323",monospace;
  font-size:.98rem;
  color:#fff5d6;
  line-height:1;
}
.dg2-mint-tier-btn u{
  text-decoration:none;
  color:#8fe8ff;
  font-size:.58rem;
}
.dg2-mint-tier-btn-active{
  border-color:#8fe8ff;
  box-shadow:0 0 14px rgba(143,232,255,.18);
  background:linear-gradient(180deg, rgba(143,232,255,.12), rgba(7,14,25,.82));
}
.dg2-mint-qty-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.dg2-mint-qty-label{
  font-family:"Space Mono",monospace;
  font-size:.48rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(230,244,255,.5);
}
.dg2-mint-stepper{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(143,232,255,.18);
  background:rgba(7,14,25,.62);
  border-radius:4px;
}
.dg2-mint-stepper button{
  width:28px;
  height:28px;
  border:0;
  background:transparent;
  color:#8fe8ff;
  font-size:.9rem;
  cursor:pointer;
}
.dg2-mint-stepper span{
  width:34px;
  text-align:center;
  font-family:"VT323",monospace;
  font-size:1.06rem;
  color:#fff5d6;
}
.dg2-mint-total{
  display:flex;
  align-items:baseline;
  gap:6px;
  font-family:"Space Mono",monospace;
  font-size:.48rem;
}
.dg2-mint-total u{
  text-decoration:none;
  color:rgba(230,244,255,.46);
  text-transform:uppercase;
  letter-spacing:.12em;
}
.dg2-mint-total b{
  font-family:"VT323",monospace;
  font-size:1.08rem;
  color:#fff5d6;
}
.dg2-mint-total i{
  font-style:normal;
  margin-left:3px;
  font-size:.5rem;
  color:rgba(230,244,255,.55);
}
.dg2-mint-actions{
  padding-top:0;
  gap:0;
}
.dg2-mint-actions .dg2-btn{
  width:100%;
  justify-content:center;
  padding:10px 12px;
  font-size:.5rem;
}
.dg2-mint-summary{
  padding:6px 10px 0 0;
  border:0;
  background:transparent;
  border-radius:0;
}
.dg2-mint-summary-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  font-family:"Space Mono",monospace;
  font-size:.5rem;
  color:rgba(207,232,211,.82);
}
.dg2-mint-summary-row b{
  margin-left:auto;
  font-family:"VT323",monospace;
  font-size:.95rem;
  color:#7eff7d;
}

@container (max-width: 980px){
  .dg2-mint{
    grid-template-columns:1fr;
  }
  .dg2-mint-left{
    max-width:180px;
    justify-self:center;
  }
  .dg2-mint-top{
    grid-template-columns:1fr;
  }
}

@container (max-width: 760px){
  .dg2Panel{
    padding:0 14px 10px;
  }
  .dg2-tab{
    min-height:40px;
    padding:8px 28px 10px;
  }
  .dg2-tab-center{
    gap:10px;
  }
  .dg2-tab-kicker{
    font-size:.44rem;
  }
  .dg2-tab-lbl{
    font-size:.54rem;
  }
  .dg2{
    gap:12px;
    padding:6px 0 2px;
  }
  .dg2-mint-hero-side{
    grid-template-columns:1fr;
  }
  .dg2-mint-tier-row{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .dg2-mint-tier-row-label{
    grid-column:1 / -1;
    margin-bottom:2px;
  }
}

@container (max-width: 560px){
  .dg2-mint{
    gap:12px;
  }
  .dg2-mint-gallery-stage{
    min-height:140px;
  }
  .dg2-mint .dg2-headline{
    font-size:1.06rem;
  }
  .dg2-mint .dg2-sub{
    font-size:.66rem;
    max-width:none;
  }
  .dg2-mint-buybox{
    padding:9px 10px;
  }
  .dg2-mint-buybox-top{
    justify-content:flex-start;
  }
  .dg2-mint-tier-row{
    grid-template-columns:1fr;
  }
  .dg2-mint-tier-row-label{
    grid-column:auto;
  }
  .dg2-mint-tier-btn{
    min-height:46px;
    padding:8px 9px;
  }
  .dg2-mint-tier-btn u{
    font-size:.54rem;
  }
  .dg2-mint-tier-btn span{
    font-size:.9rem;
  }
  .dg2-mint-summary-row b{
    margin-left:0;
  }
}

/* ── Hatching traits ── */
.dg2-trait-stream{display:flex;flex-direction:column;gap:5px;font-family:"Space Mono",monospace;font-size:.65rem;padding-top:2px}
.dg2-trait{display:flex;align-items:center;gap:10px;color:rgba(230,244,255,.85)}
.dg2-trait-ok{color:#7eff7d;text-shadow:0 0 6px rgba(57,255,20,.4)}
.dg2-trait-spin{color:#f4b728;animation:dg2Spin 1.2s linear infinite;display:inline-block}
@keyframes dg2Spin{to{transform:rotate(360deg)}}
.dg2-trait-k{color:rgba(230,244,255,.55);letter-spacing:.08em;text-transform:uppercase;font-size:.58rem}
.dg2-trait-v{color:#fff5d6;font-family:"VT323",monospace;font-size:1rem;line-height:1}
.dg2-trait-tag{
  font-style:normal;font-size:.5rem;letter-spacing:.14em;color:#f4b728;
  padding:1px 6px;border:1px solid rgba(244,183,40,.4);border-radius:2px;background:rgba(244,183,40,.08);
}
.dg2-trait-roll{color:rgba(244,183,40,.75);animation:dg2Pulse 1s ease-in-out infinite}
.dg2-progress{display:flex;align-items:center;gap:10px;padding-top:4px}
.dg2-pbar{flex:1;height:4px;background:rgba(143,232,255,.1);border-radius:2px;overflow:hidden;position:relative}
.dg2-pfill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#f4b728,#ffd866);box-shadow:0 0 10px rgba(244,183,40,.5);transition:width 160ms linear}
.dg2-ppct{font-family:"VT323",monospace;font-size:1rem;color:#f4b728;min-width:44px;text-align:right}

/* ── Evolving state ── */
.dg2-evo-duo{
  display:flex;align-items:center;justify-content:center;gap:28px;
  padding:14px 0;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,143,255,.08), transparent 60%);
}
.dg2-evo-before,.dg2-evo-after{display:flex;flex-direction:column;align-items:center;gap:6px}
.dg2-evo-lbl{font-family:"Press Start 2P",monospace;font-size:.55rem;letter-spacing:.14em;color:rgba(230,244,255,.7)}
.dg2-evo-lbl-new{color:#ff8fff;text-shadow:0 0 10px rgba(255,143,255,.6);animation:dg2EvoPulse 1.6s ease-in-out infinite}
@keyframes dg2EvoPulse{50%{text-shadow:0 0 20px rgba(255,143,255,.9)}}
.dg2-evo-sparkle{
  position:relative;
  filter:drop-shadow(0 0 20px rgba(255,143,255,.5));
  animation:dg2EvoFloat 2.6s ease-in-out infinite;
}
@keyframes dg2EvoFloat{50%{transform:translateY(-4px)}}
.dg2-evo-arr{display:flex;flex-direction:column;align-items:center;gap:2px}
.dg2-evo-arrsym{font-family:"VT323",monospace;font-size:2rem;color:#ff8fff;text-shadow:0 0 10px rgba(255,143,255,.6);letter-spacing:-2px}
.dg2-evo-arrlbl{font-family:"Space Mono",monospace;font-size:.5rem;letter-spacing:.18em;color:rgba(255,143,255,.8)}
.dg2-evo-buffs{display:flex;gap:24px;flex-wrap:wrap;padding-top:4px}
.dg2-evo-buff{display:inline-flex;align-items:baseline;gap:6px;font-family:"Space Mono",monospace;font-size:.6rem}
.dg2-evo-buff u{text-decoration:none;color:rgba(230,244,255,.55);text-transform:uppercase;letter-spacing:.12em}
.dg2-evo-buff b{font-family:"VT323",monospace;font-size:1.2rem;font-weight:400;line-height:1}
.dg2-evo-timer{font-family:"Space Mono",monospace;font-size:.58rem;color:rgba(255,143,255,.7);letter-spacing:.1em}

/* ── Splitter ── */
.dg2Split{
  height:10px;cursor:ns-resize;position:relative;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border-top:1px solid rgba(143,232,255,.06);border-bottom:1px solid rgba(143,232,255,.06);
  transition:background 160ms;
}
.dg2Split:hover,.dg2Split-dragging{background:rgba(143,232,255,.05)}
.dg2Split-grip{display:flex;gap:3px}
.dg2Split-grip span{width:3px;height:3px;border-radius:999px;background:rgba(143,232,255,.4);display:block}
.dg2Split:hover .dg2Split-grip span{background:#8fe8ff;box-shadow:0 0 4px #8fe8ff}

/* ══════════════════════════════════════════════════════════════════
   AUTOMINER LIVE v2 — minimal. hero reel + numbers + controls.
   Bets live in Battle Deck; no extra cards here.
   ══════════════════════════════════════════════════════════════════ */
.amv2{
  display:flex;flex-direction:column;gap:12px;
  padding:14px;border-radius:12px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(57,255,20,.08), transparent 60%),
    linear-gradient(180deg, rgba(10,22,14,.94), rgba(6,12,10,.94));
  border:1px solid rgba(57,255,20,.22);
  box-shadow:0 10px 24px rgba(0,0,0,.3), inset 0 1px 0 rgba(126,255,125,.06);
  transition:border-color 240ms, box-shadow 240ms;
  position:relative;overflow:hidden;
}
.amv2-win{border-color:rgba(255,215,0,.55);box-shadow:0 0 32px rgba(255,215,0,.22), inset 0 0 16px rgba(255,215,0,.08)}
.amv2-lose{border-color:rgba(255,68,102,.4);box-shadow:0 0 28px rgba(255,68,102,.18), inset 0 0 16px rgba(255,68,102,.06)}

/* Header row */
.amv2-head{
  display:flex;align-items:center;gap:10px;
  font-family:"Space Mono",monospace;
}
.amv2-dot{
  width:8px;height:8px;border-radius:999px;background:#39ff14;
  box-shadow:0 0 10px #39ff14;animation:amv2Pulse 1.2s ease-in-out infinite;
}
@keyframes amv2Pulse{50%{opacity:.4;transform:scale(.7)}}
.amv2-lbl{
  font-family:"Press Start 2P",monospace;font-size:.52rem;letter-spacing:.14em;
  color:#7eff7d;text-shadow:0 0 8px rgba(57,255,20,.4);
}
.amv2-status{
  margin-left:auto;
  font-size:.55rem;letter-spacing:.1em;color:rgba(126,255,125,.7);
  text-transform:uppercase;
}
.amv2-win .amv2-status{color:#ffd866;text-shadow:0 0 6px rgba(244,183,40,.4)}
.amv2-lose .amv2-status{color:#ff7b8e}

/* ∞ LOOP badge — shown when auto-reload is enabled on the session */
.amv2-reload-badge{
  font-family:"Press Start 2P",monospace;font-size:.42rem;letter-spacing:.1em;
  color:#00eeff;
  padding:3px 6px;border-radius:3px;
  background:rgba(0,238,255,.08);border:1px solid rgba(0,238,255,.3);
  text-transform:uppercase;
  margin-left:8px;
}

/* UPDATE AUTO-RUN expanded form */
.amv2-update{
  display:flex;flex-direction:column;gap:10px;
  margin-top:10px;padding:12px;border-radius:6px;
  background:rgba(6,12,20,.75);
  border:1px solid rgba(0,238,255,.2);
}
.amv2-update-row{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-family:"Space Mono",monospace;
}
.amv2-update-k{
  font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(230,244,255,.55);
}
.amv2-update-stepper{display:inline-flex;align-items:center;gap:4px}
.amv2-update-stepper button{
  padding:3px 7px;border-radius:3px;border:1px solid rgba(0,238,255,.25);
  background:rgba(0,238,255,.05);color:#d8fbff;cursor:pointer;
  font-family:"Space Mono",monospace;font-size:.6rem;letter-spacing:.05em;
}
.amv2-update-stepper button:hover:not(:disabled){
  background:rgba(0,238,255,.12);border-color:rgba(0,238,255,.4);
}
.amv2-update-stepper button:disabled{opacity:.45;cursor:not-allowed}
.amv2-update-stepper input,
.amv2-update-sol{
  width:72px;padding:4px 8px;border-radius:3px;
  border:1px solid rgba(0,238,255,.25);
  background:rgba(6,12,20,.9);color:#fff5da;
  font-family:"VT323",monospace;font-size:1rem;text-align:center;
  outline:none;
}
.amv2-update-sol{width:96px}
.amv2-update-reload{
  display:flex;align-items:center;gap:8px;cursor:pointer;
  font-family:"Space Mono",monospace;font-size:.6rem;letter-spacing:.06em;
  color:rgba(230,244,255,.6);text-transform:uppercase;
}
.amv2-update-reload input{
  appearance:none;width:14px;height:14px;border-radius:3px;
  border:1px solid rgba(0,238,255,.35);background:rgba(6,12,20,.85);
  cursor:pointer;flex-shrink:0;margin:0;
  display:inline-flex;align-items:center;justify-content:center;
}
.amv2-update-reload input:checked{
  background:rgba(0,238,255,.2);border-color:#00eeff;
}
.amv2-update-reload input:checked::after{
  content:"✓";font-size:10px;color:#00eeff;line-height:1;
}
.amv2-update-submit{margin-top:2px;align-self:stretch}

/* Hero reel — placeholder for future story-generated reels */
.amv2-reel{
  position:relative;width:100%;aspect-ratio:1/1;
  max-height:260px;min-height:180px;
  border-radius:10px;overflow:hidden;
  background:#000;
  border:1px solid rgba(126,255,125,.22);
  display:flex;align-items:center;justify-content:center;
  transition:border-color 240ms, box-shadow 240ms;
}
.amv2-reel-win{border-color:#ffd700;box-shadow:0 0 22px rgba(255,215,0,.4)}
.amv2-reel-lose{border-color:#ff4466;box-shadow:0 0 22px rgba(255,68,102,.35)}
.amv2-gif{
  max-width:100%;max-height:100%;width:auto;height:auto;
  object-fit:contain;image-rendering:pixelated;
  display:block;
}
/* Scanline overlay */
.amv2-scan{
  position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(to bottom, rgba(255,255,255,.03) 0, rgba(255,255,255,.03) 1px, transparent 1px, transparent 3px);
  mix-blend-mode:screen;
}
/* Corner HUD ticks */
.amv2-corner{position:absolute;width:10px;height:10px;pointer-events:none;border-color:rgba(126,255,125,.6)}
.amv2-win .amv2-corner{border-color:#ffd866}
.amv2-lose .amv2-corner{border-color:#ff7b8e}
.amv2-corner-tl{top:4px;left:4px;border-top:1px solid;border-left:1px solid}
.amv2-corner-tr{top:4px;right:4px;border-top:1px solid;border-right:1px solid}
.amv2-corner-bl{bottom:4px;left:4px;border-bottom:1px solid;border-left:1px solid}
.amv2-corner-br{bottom:4px;right:4px;border-bottom:1px solid;border-right:1px solid}

/* Numbers row — inline typography, no boxes */
.amv2-nums{
  display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
  padding:4px 2px 2px;
  font-family:"Space Mono",monospace;
}
.amv2-num{display:inline-flex;align-items:baseline;gap:6px}
.amv2-num u{
  text-decoration:none;font-size:.5rem;letter-spacing:.14em;
  color:rgba(126,255,125,.55);text-transform:uppercase;
}
.amv2-num b{
  font-family:"VT323",monospace;font-size:1.2rem;font-weight:400;line-height:1;
  color:#fff5da;letter-spacing:.02em;
  text-shadow:0 0 8px rgba(126,255,125,.2);
}
.amv2-num b i{font-style:normal;font-size:.55rem;opacity:.55;margin-left:2px}
.amv2-num-big{font-size:1.55rem !important;color:#7eff7d !important;text-shadow:0 0 10px rgba(57,255,20,.4) !important}
.amv2-num-pop{animation:amv2Pop .45s cubic-bezier(.2,.7,.3,1)}
@keyframes amv2Pop{0%{transform:scale(1)}35%{transform:scale(1.18)}100%{transform:scale(1)}}
.amv2-num-sep{color:rgba(126,255,125,.2);font-size:.9rem}

/* Controls */
.amv2-actions{
  display:flex;gap:8px;padding-top:2px;
}
.amv2-btn{
  flex:1;padding:9px 12px;border-radius:4px;cursor:pointer;
  font-family:"Press Start 2P",monospace;font-size:.52rem;letter-spacing:.14em;
  transition:all 160ms;
}
.amv2-btn-ghost{
  background:transparent;color:rgba(126,255,125,.85);
  border:1px solid rgba(126,255,125,.3);
}
.amv2-btn-ghost:hover{border-color:#7eff7d;color:#7eff7d;box-shadow:0 0 10px rgba(57,255,20,.25)}
.amv2-btn-stop{
  background:transparent;color:#ff7b8e;
  border:1px solid rgba(255,68,102,.4);
}
.amv2-btn-stop:hover{background:rgba(255,68,102,.1);border-color:#ff4466;color:#ff4466;box-shadow:0 0 10px rgba(255,68,102,.3)}

/* ══════════════════════════════════════════════════════════════════
   ZERO STATES v2 — "written on the page" to match Autominer / PnL
   NoWallet + Registered. Hero reel + typography-forward body + inline steps.
   ══════════════════════════════════════════════════════════════════ */
.zs2{
  display:flex;flex-direction:column;gap:16px;
  padding:4px 2px 8px;
  color:#e6f4ff;
}
.zs2-reel{
  position:relative;width:100%;aspect-ratio:1/1;
  max-height:240px;min-height:160px;
  border-radius:10px;overflow:hidden;
  background:#000;
  border:1px solid rgba(143,232,255,.2);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 24px rgba(0,0,0,.3), inset 0 0 22px rgba(143,232,255,.06);
}
.zs2-gif{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;image-rendering:pixelated;display:block}
/* Reel below CTA: secondary placement — shorter, letterbox aspect, softer glow.
   The Register Operator CTA above is primary; this is atmospheric brand art. */
.zs2-reel-below{
  aspect-ratio:16/7;
  max-height:140px;min-height:96px;
  margin-top:4px;
  border-color:rgba(244,183,40,.18);
  box-shadow:0 6px 18px rgba(0,0,0,.35), inset 0 0 18px rgba(244,183,40,.05);
  opacity:.92;
}
.zs2-reel-below .zs2-corner{border-color:rgba(244,183,40,.7)}
.zs2-scan{
  position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(to bottom, rgba(255,255,255,.03) 0, rgba(255,255,255,.03) 1px, transparent 1px, transparent 3px);
  mix-blend-mode:screen;
}
.zs2-corner{position:absolute;width:10px;height:10px;pointer-events:none;border-color:#8fe8ff}
.zs2-corner-tl{top:4px;left:4px;border-top:1px solid;border-left:1px solid}
.zs2-corner-tr{top:4px;right:4px;border-top:1px solid;border-right:1px solid}
.zs2-corner-bl{bottom:4px;left:4px;border-bottom:1px solid;border-left:1px solid}
.zs2-corner-br{bottom:4px;right:4px;border-bottom:1px solid;border-right:1px solid}

.zs2-body{display:flex;flex-direction:column;gap:12px;padding:0 2px}

.zs2-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:"Space Mono",monospace;font-size:.56rem;letter-spacing:.2em;
  text-transform:uppercase;color:#8fe8ff;
  width:fit-content;
}
.zs2-eyebrow-amber{color:#f4b728}
.zs2-eye-dot{width:7px;height:7px;border-radius:999px;background:#8fe8ff;box-shadow:0 0 10px #8fe8ff;animation:dg2Pulse 1.2s ease-in-out infinite}
.zs2-eye-dot-amber{background:#f4b728;box-shadow:0 0 10px #f4b728}

.zs2-headline{
  margin:0;font-family:"Space Grotesk",sans-serif;font-weight:700;
  font-size:1.45rem;line-height:1.05;letter-spacing:-.02em;
  color:#fff5da;
  text-shadow:0 0 18px rgba(143,232,255,.1);
}
.zs2-hcursor{display:inline-block;color:#8fe8ff;margin-left:4px;animation:dg2Cursor 1s steps(1) infinite;font-weight:400}

/* Facts — sentence style */
.zs2-facts{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 10px;
  font-family:"Space Mono",monospace;
  padding:2px 0 2px;
  border-top:1px dashed rgba(143,232,255,.1);
  border-bottom:1px dashed rgba(143,232,255,.1);
  padding:8px 0;
}
.zs2-fact{display:inline-flex;align-items:baseline;gap:5px}
.zs2-fact b{font-family:"VT323",monospace;font-size:1.2rem;font-weight:400;color:#fff5da;line-height:1;text-shadow:0 0 8px rgba(143,232,255,.2)}
.zs2-fact u{text-decoration:none;font-size:.52rem;letter-spacing:.14em;color:rgba(230,244,255,.5);text-transform:uppercase}
.zs2-facts-sep{color:rgba(143,232,255,.25);font-size:.9rem}

/* Steps — three inline pills (not modal cards) */
.zs2-steps{
  display:flex;gap:8px;
  font-family:"Space Mono",monospace;
}
.zs2-step{
  flex:1;display:flex;align-items:center;gap:7px;
  padding:7px 9px;border-radius:3px;
  background:rgba(143,232,255,.04);
  border:1px solid rgba(143,232,255,.12);
  transition:all 240ms;opacity:.55;
}
.zs2-step-on{
  opacity:1;background:rgba(143,232,255,.12);
  border-color:#8fe8ff;
  box-shadow:0 0 14px rgba(143,232,255,.25), inset 0 0 10px rgba(143,232,255,.08);
}
.zs2-step-done{opacity:.9;border-color:rgba(126,255,125,.35);background:rgba(126,255,125,.06)}
.zs2-step-done .zs2-step-n{color:#7eff7d}
.zs2-step-n{
  font-family:"VT323",monospace;font-size:1rem;line-height:1;
  color:rgba(143,232,255,.6);letter-spacing:.05em;
}
.zs2-step-on .zs2-step-n{color:#8fe8ff;text-shadow:0 0 8px rgba(143,232,255,.6)}
.zs2-step-l{font-size:.56rem;letter-spacing:.08em;color:rgba(230,244,255,.8);text-transform:uppercase;line-height:1.1}

/* Referral — inline input, not boxed */
.zs2-referral{
  display:flex;align-items:center;gap:8px;
  padding:8px 10px;
  background:rgba(244,183,40,.04);
  border:1px dashed rgba(244,183,40,.25);
  border-radius:3px;
}
.zs2-ref-k{
  font-family:"Space Mono",monospace;font-size:.5rem;letter-spacing:.14em;
  color:rgba(244,183,40,.75);text-transform:uppercase;flex-shrink:0;
}
.zs2-ref-in{
  flex:1;background:transparent;border:none;outline:none;
  font-family:"Space Mono",monospace;font-size:.68rem;
  color:#fff5da;letter-spacing:.02em;padding:2px 0;
}
.zs2-ref-in::placeholder{color:rgba(244,183,40,.4)}

/* Actions */
.zs2-actions{
  display:flex;align-items:center;gap:12px;padding-top:2px;
}
.zs2-btn{
  padding:11px 16px;border-radius:3px;cursor:pointer;
  font-family:"Press Start 2P",monospace;font-size:.56rem;letter-spacing:.14em;
  transition:all 160ms;display:inline-flex;align-items:center;gap:10px;
}
.zs2-btn-primary{
  background:linear-gradient(180deg,#8fe8ff,#5ec4e0);color:#051220;border:1px solid #8fe8ff;
  box-shadow:0 0 18px rgba(143,232,255,.4), inset 0 1px 0 rgba(255,255,255,.4);
}
.zs2-btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 26px rgba(143,232,255,.6), inset 0 1px 0 rgba(255,255,255,.4)}
.zs2-btn-amber{background:linear-gradient(180deg,#ffd866,#f4b728);border-color:#ffd866;color:#1a0f00;box-shadow:0 0 18px rgba(244,183,40,.45), inset 0 1px 0 rgba(255,255,255,.4)}
.zs2-btn-amber:hover{box-shadow:0 0 26px rgba(244,183,40,.65), inset 0 1px 0 rgba(255,255,255,.4)}
.zs2-btn-arr{font-size:.7rem}
.zs2-hint{
  font-family:"Space Mono",monospace;font-size:.55rem;letter-spacing:.08em;
  color:rgba(230,244,255,.5);font-style:italic;
}

/* ══════════════════════════════════════════════════════════════════
   FACTION WAR — MY P/L (user's own faction only)
   Compact inline badge matching other rows' height.
   Hover reveals bet breakdown popover.
   ══════════════════════════════════════════════════════════════════ */
.fw-mypl{
  position:relative;
  display:flex;align-items:center;gap:5px;flex-wrap:nowrap;
  padding:3px 6px;border-radius:3px;
  font-family:"Space Mono",monospace;
  border:1px solid rgba(143,232,255,.2);
  background:rgba(143,232,255,.04);
  cursor:help;
}
.fw-mypl-winning{
  background:rgba(126,255,125,.08);
  border-color:rgba(126,255,125,.35);
}
.fw-mypl-partial{
  background:rgba(244,183,40,.06);
  border-color:rgba(244,183,40,.3);
}
.fw-mypl-losing{
  background:rgba(255,68,102,.06);
  border-color:rgba(255,68,102,.3);
}
.fw-mypl-tag{
  font-size:.42rem;letter-spacing:.14em;color:rgba(255,245,218,.55);
  text-transform:uppercase;
}
.fw-mypl-win{
  font-family:"VT323",monospace;font-size:.92rem;line-height:1;
  color:#7eff7d;text-shadow:0 0 5px rgba(57,255,20,.4);
}
.fw-mypl-win i{font-style:normal;font-size:.46rem;opacity:.65;margin-left:2px;letter-spacing:.08em}
.fw-mypl-hedge{
  font-family:"VT323",monospace;font-size:.75rem;line-height:1;
  color:#ff7b8e;margin-left:auto;
}
.fw-mypl-hedge i{font-style:normal;font-size:.42rem;opacity:.65;margin-left:2px;letter-spacing:.08em}
.fw-mypl-loss{
  font-family:"VT323",monospace;font-size:.88rem;line-height:1;
  color:#ff7b8e;text-shadow:0 0 5px rgba(255,68,102,.3);
}
.fw-mypl-loss i{font-style:normal;font-size:.44rem;opacity:.65;margin-left:2px;letter-spacing:.08em}

/* Hover popover — positioned above the badge */
.fw-mypl-pop{
  position:absolute;bottom:calc(100% + 6px);right:0;
  width:200px;
  display:none;flex-direction:column;gap:4px;
  padding:7px 9px 8px;border-radius:4px;
  background:rgba(6,12,20,.98);
  border:1px solid rgba(143,232,255,.3);
  box-shadow:0 8px 24px rgba(0,0,0,.7), 0 0 16px rgba(143,232,255,.1);
  z-index:30;
  font-family:"Space Mono",monospace;
}
.fw-mypl:hover .fw-mypl-pop{display:flex}
.fw-mypl-pop::after{
  content:"";position:absolute;top:100%;right:14px;
  border:5px solid transparent;border-top-color:rgba(6,12,20,.98);
}
.fw-mypl-pop-head{
  display:flex;align-items:center;justify-content:space-between;gap:6px;
  padding-bottom:4px;border-bottom:1px dashed rgba(255,255,255,.1);
}
.fw-mypl-pop-tag{
  font-size:.48rem;letter-spacing:.14em;color:rgba(255,245,218,.65);
  text-transform:uppercase;
}
.fw-mypl-pop-verdict{
  font-size:.5rem;letter-spacing:.14em;padding:1px 5px;border-radius:2px;
  text-transform:uppercase;font-weight:700;
}
.fw-mypl-pop-verdict-winning{color:#7eff7d;background:rgba(57,255,20,.12);border:1px solid rgba(57,255,20,.4)}
.fw-mypl-pop-verdict-partial{color:#f4b728;background:rgba(244,183,40,.12);border:1px solid rgba(244,183,40,.4)}
.fw-mypl-pop-verdict-losing{color:#ff7b8e;background:rgba(255,68,102,.12);border:1px solid rgba(255,68,102,.4)}

.fw-mypl-pop-lane{
  position:relative;
  display:grid;grid-template-columns:14px 60px 1fr;align-items:center;gap:6px;
  padding:2px 0;
}
.fw-mypl-pop-sym{
  font-family:"VT323",monospace;font-size:.85rem;line-height:1;text-align:center;
}
.fw-mypl-pop-lane-up .fw-mypl-pop-sym{color:#7eff7d}
.fw-mypl-pop-lane-down .fw-mypl-pop-sym{color:#ff7b8e}
.fw-mypl-pop-lane-flat .fw-mypl-pop-sym{color:rgba(255,255,255,.75)}
.fw-mypl-pop-v{
  font-family:"VT323",monospace;font-size:.85rem;line-height:1;color:#fff5da;
}
.fw-mypl-pop-v i{font-style:normal;font-size:.46rem;opacity:.55;margin-left:2px;letter-spacing:.08em}
.fw-mypl-pop-bar{
  position:relative;height:3px;border-radius:2px;
  background:rgba(255,255,255,.08);overflow:hidden;
}
.fw-mypl-pop-bar > span{
  position:absolute;inset:0 auto 0 0;
  background:rgba(255,255,255,.35);
  transition:width 280ms ease;
}
.fw-mypl-pop-lane-up .fw-mypl-pop-bar > span{background:#7eff7d}
.fw-mypl-pop-lane-down .fw-mypl-pop-bar > span{background:#ff7b8e}
.fw-mypl-pop-lane-flat .fw-mypl-pop-bar > span{background:rgba(255,255,255,.6)}
.fw-mypl-pop-lane-win .fw-mypl-pop-v{color:#7eff7d;text-shadow:0 0 4px rgba(57,255,20,.3)}
.fw-mypl-pop-wintag{
  position:absolute;right:0;top:-7px;
  font-size:.38rem;letter-spacing:.12em;color:#7eff7d;
  background:rgba(6,12,10,.9);padding:0 3px;border-radius:1px;
}
.fw-mypl-pop-foot{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:4px;margin-top:2px;
  border-top:1px dashed rgba(255,255,255,.1);
  font-size:.5rem;
}
.fw-mypl-pop-k{
  letter-spacing:.12em;color:rgba(255,245,218,.55);text-transform:uppercase;
}
.fw-mypl-pop-total{
  font-family:"VT323",monospace;font-size:.88rem;line-height:1;color:#f4b728;
  text-shadow:0 0 5px rgba(244,183,40,.3);
}


/* ══════════════════════════════════════════════════════════════════
   AUTO-RUN BUILDER (ar2) — right rail idle state.
   Minimal: lanes armed → SOL/lane → duration → budget → launch.
   Replaces old MANUAL/AUTO tabs and payout-estimate noise.
   ══════════════════════════════════════════════════════════════════ */
.raffle-card.ar2{
  display:flex;flex-direction:column;gap:10px;
  padding:12px;
  background:linear-gradient(180deg, rgba(143,232,255,.03), rgba(143,232,255,0));
  border:1px solid rgba(143,232,255,.15);
  border-radius:8px;
}
.ar2-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:8px;
  padding-bottom:8px;border-bottom:1px dashed rgba(255,255,255,.08);
}
.ar2-title{
  font-family:"Press Start 2P",monospace;
  font-size:.66rem;letter-spacing:.16em;color:#8fe8ff;
  text-shadow:0 0 8px rgba(143,232,255,.35);
}
.ar2-sub{
  font-family:"Space Mono",monospace;font-size:.52rem;letter-spacing:.08em;
  color:rgba(230,244,255,.45);text-transform:lowercase;
}
.ar2-empty{
  padding:8px 10px;border-radius:4px;
  background:rgba(143,232,255,.04);border:1px dashed rgba(143,232,255,.2);
  font-family:"Space Mono",monospace;font-size:.64rem;line-height:1.35;
  color:rgba(230,244,255,.65);
}
.ar2-block{display:flex;flex-direction:column;gap:6px}
.ar2-block-row{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-family:"Space Mono",monospace;
}
.ar2-k{
  font-size:.56rem;letter-spacing:.14em;
  color:rgba(230,244,255,.55);text-transform:uppercase;
}
.ar2-v{
  font-family:"VT323",monospace;font-size:.98rem;line-height:1;color:#fff5da;
}
.ar2-v-accent{color:#f4b728;text-shadow:0 0 6px rgba(244,183,40,.3)}
.ar2-v-mute{
  font-family:"VT323",monospace;font-size:.82rem;line-height:1;
  color:rgba(230,244,255,.55);letter-spacing:.02em;
}

.ar2-input-inline{
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 8px;border-radius:4px;
  background:rgba(6,12,20,.7);
  border:1px solid rgba(143,232,255,.18);
}
.ar2-input-inline input{
  all:unset;width:50px;text-align:right;
  font-family:"VT323",monospace;font-size:1rem;color:#fff5da;
}
.ar2-input-inline input::-webkit-outer-spin-button,
.ar2-input-inline input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.ar2-pills{display:flex;gap:4px;flex-wrap:wrap}
.ar2-pill{
  all:unset;cursor:pointer;
  padding:4px 8px;border-radius:3px;
  font-family:"Space Mono",monospace;font-size:.6rem;letter-spacing:.06em;
  color:rgba(230,244,255,.7);
  background:rgba(143,232,255,.05);
  border:1px solid rgba(143,232,255,.15);
  transition:background 160ms, border-color 160ms, color 160ms, transform 120ms;
}
.ar2-pill:hover{background:rgba(143,232,255,.1);color:#fff5da}
.ar2-pill:active{transform:scale(.96)}
.ar2-pill-on{
  background:rgba(143,232,255,.18);
  border-color:#8fe8ff;
  color:#8fe8ff;
  box-shadow:0 0 8px rgba(143,232,255,.25);
}

.ar2-custom{
  display:flex;align-items:center;gap:6px;padding-top:4px;
  font-family:"Space Mono",monospace;
}
.ar2-custom-n{
  font-family:"VT323",monospace;font-size:.88rem;color:#fff5da;
  flex:1;text-align:center;
}

/* Budget math: three-number group. Total is emphasized. */
.ar2-budget{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:6px;align-items:center;
  padding:8px 10px;border-radius:4px;
  background:rgba(6,12,20,.55);
  border:1px solid rgba(143,232,255,.15);
}
.ar2-budget-cell{display:flex;flex-direction:column;gap:3px;text-align:center;min-width:0}
.ar2-budget-cell u{
  text-decoration:none;
  font-family:"Space Mono",monospace;font-size:.44rem;letter-spacing:.12em;
  color:rgba(230,244,255,.5);text-transform:uppercase;
}
.ar2-budget-cell b{
  font-family:"VT323",monospace;font-weight:400;
  font-size:1rem;line-height:1;color:#fff5da;
}
.ar2-budget-sep{
  font-family:"Space Mono",monospace;font-size:.7rem;
  color:rgba(255,255,255,.25);align-self:end;padding-bottom:2px;
}
.ar2-budget-total b{
  color:#f4b728;text-shadow:0 0 8px rgba(244,183,40,.4);
  font-size:1.25rem;
}
.ar2-budget-total b i{
  font-style:normal;font-size:.44rem;opacity:.65;
  margin-left:3px;letter-spacing:.08em;
}

/* Unlock chips — shown only when home-country armed / Doge active */
.ar2-unlocks{display:flex;gap:5px;flex-wrap:wrap}
.ar2-unlock{
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 8px;border-radius:3px;
  font-family:"Space Mono",monospace;font-size:.55rem;letter-spacing:.08em;
  text-transform:uppercase;font-weight:700;
}
.ar2-unlock i{font-style:normal;font-size:.7rem;line-height:1}
.ar2-unlock-cycle{
  color:#7eff7d;
  background:rgba(57,255,20,.1);
  border:1px solid rgba(57,255,20,.35);
  text-shadow:0 0 4px rgba(57,255,20,.4);
}
.ar2-unlock-doge{
  color:#ba78ff;
  background:rgba(186,120,255,.1);
  border:1px solid rgba(186,120,255,.35);
  text-shadow:0 0 4px rgba(186,120,255,.4);
}

/* CTA */
.ar2-cta{
  all:unset;cursor:pointer;text-align:center;
  padding:12px 14px;border-radius:4px;margin-top:2px;
  font-family:"Press Start 2P",monospace;
  font-size:.68rem;letter-spacing:.14em;
  color:rgba(255,255,255,.4);
  background:rgba(143,232,255,.05);
  border:1px solid rgba(143,232,255,.15);
  transition:background 180ms, box-shadow 220ms, color 180ms;
}
.ar2-cta-ready{
  color:#060c14;
  background:linear-gradient(180deg, #f4b728, #d99a15);
  border-color:#f4b728;
  box-shadow:0 0 12px rgba(244,183,40,.35), inset 0 1px 0 rgba(255,255,255,.25);
  animation:ar2CtaPulse 2.4s ease-in-out infinite;
}
.ar2-cta-ready:hover{
  box-shadow:0 0 18px rgba(244,183,40,.55), inset 0 1px 0 rgba(255,255,255,.3);
}
.ar2-cta-arr{margin-left:6px}
@keyframes ar2CtaPulse{
  0%,100%{box-shadow:0 0 12px rgba(244,183,40,.35), inset 0 1px 0 rgba(255,255,255,.25)}
  50%{box-shadow:0 0 18px rgba(244,183,40,.55), inset 0 1px 0 rgba(255,255,255,.3)}
}

.ar2-foot{
  font-family:"Space Mono",monospace;font-size:.56rem;letter-spacing:.04em;
  color:rgba(230,244,255,.45);text-align:center;line-height:1.3;
  padding:2px 4px;
}

/* Auto-reload toggle row */
.ar2-reload{
  display:flex;align-items:center;gap:8px;cursor:pointer;
  font-family:"Space Mono",monospace;font-size:.64rem;letter-spacing:.05em;
  color:rgba(230,244,255,.6);
  padding:4px 2px 2px;text-transform:uppercase;
}
.ar2-reload input{
  appearance:none;width:14px;height:14px;border-radius:3px;
  border:1px solid rgba(0,238,255,.35);background:rgba(6,12,20,.85);
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;flex-shrink:0;margin:0;
}
.ar2-reload input:checked{
  background:rgba(0,238,255,.2);border-color:#00eeff;
}
.ar2-reload input:checked::after{
  content:"✓";font-size:10px;color:#00eeff;line-height:1;
}
.ar2-reload input:disabled{opacity:.5;cursor:not-allowed}
.ar2-reload:has(input:disabled){color:rgba(230,244,255,.3);cursor:not-allowed}

/* Inline tx-error message */
.ar2-error{
  padding:4px 8px;border-radius:4px;
  background:rgba(255,68,102,.1);border:1px solid rgba(255,68,102,.3);
  font-family:"Space Mono",monospace;font-size:.66rem;color:#ff4466;
  text-align:center;letter-spacing:.02em;
}

/* Battle-Deck chip — home-country accent */
.bd-chip-home{
  box-shadow:0 0 0 1px rgba(244,183,40,.55), 0 0 8px rgba(244,183,40,.25);
  background:linear-gradient(180deg, rgba(244,183,40,.08), rgba(244,183,40,.02));
}
.bd-chip-home-tick{
  font-family:"Press Start 2P",monospace;font-size:.4rem;letter-spacing:.1em;
  color:#f4b728;margin-left:3px;
  text-shadow:0 0 4px rgba(244,183,40,.5);
}


/* ═══════════════════════════════════════════════════════════
   Doge LIVE v2 — AI companion: XP, multiplier, chat, feed.
   Replaces old stats(+luck/stam/conv) + perf + feed boxes.
   Layout: portrait (auto) | body (1fr). Body fills height.
   ═══════════════════════════════════════════════════════════ */
.dg2-live{
  grid-template-columns: auto 1fr;
  align-items: stretch;
  height: 100%;
  gap: 20px;
}
.dg2-live .dg2-body{
  display:flex; flex-direction:column; gap:10px;
  height:100%; min-height:0;
  padding-top:0;
}
.dg2-live-head{
  display:flex; flex-direction:column; gap:8px;
  padding-bottom:8px;
  border-bottom:1px dashed rgba(143,232,255,.12);
  flex-shrink:0;
}
.dg2-live-stats{
  display:grid;
  grid-template-columns: auto 1fr;
  gap:18px; align-items:center;
  font-family:"Space Mono",monospace;
}
.dg2-mult, .dg2-xp{
  display:flex; flex-direction:column; gap:3px;
  min-width:0;
}
.dg2-mult u, .dg2-xp u{
  text-decoration:none;
  font-size:.5rem; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(230,244,255,.45);
}
.dg2-mult b{
  font-family:"VT323",monospace; font-weight:400;
  font-size:2.4rem; line-height:1;
  color:#f4b728;
  text-shadow:0 0 12px rgba(244,183,40,.55);
  letter-spacing:-.02em;
}
.dg2-mult b i{
  font-style:normal; font-size:1.2rem;
  margin-left:3px; opacity:.8;
}
.dg2-mult-pulse b{
  animation:dg2MultPulse 1.2s ease-out;
}
@keyframes dg2MultPulse{
  0%{ transform:scale(1); color:#f4b728; text-shadow:0 0 12px rgba(244,183,40,.55); }
  35%{ transform:scale(1.15); color:#fff5d6; text-shadow:0 0 24px rgba(244,183,40,.9); }
  100%{ transform:scale(1); color:#f4b728; text-shadow:0 0 12px rgba(244,183,40,.55); }
}
.dg2-xp{ min-width:0; }
.dg2-xp b{
  font-family:"VT323",monospace; font-weight:400;
  font-size:1.3rem; line-height:1; color:#fff5d6;
}
.dg2-xp b i{
  font-style:normal; font-size:.75rem;
  opacity:.5; margin-left:2px;
}
.dg2-xp-bar{
  display:block; height:3px;
  background:rgba(186,120,255,.12);
  border-radius:2px; overflow:hidden; position:relative;
  margin-top:3px;
}
.dg2-xp-bar span{
  position:absolute; left:0; top:0; bottom:0;
  background:linear-gradient(90deg,#ba78ff,#d4c4ff);
  box-shadow:0 0 8px rgba(186,120,255,.6);
  transition:width 600ms ease-out;
}

/* Chat/feed unified — scrollable, grows to fill. */
.dg2-chat{
  flex:1; min-height:0;
  display:flex; flex-direction:column; gap:6px;
  overflow-y:auto; padding:4px 4px 4px 2px;
  font-family:"Space Mono",monospace; font-size:.68rem;
  scrollbar-width:thin;
  scrollbar-color:rgba(143,232,255,.2) transparent;
}
.dg2-chat::-webkit-scrollbar{width:4px}
.dg2-chat::-webkit-scrollbar-thumb{background:rgba(143,232,255,.2); border-radius:2px}
.dg2-chat-line{
  display:flex; align-items:baseline; gap:8px;
  padding:4px 0;
  line-height:1.4;
  animation:dg2ChatIn 320ms cubic-bezier(.2,.8,.3,1);
}
@keyframes dg2ChatIn{
  from{ opacity:0; transform:translateY(-4px); }
  to{ opacity:1; transform:translateY(0); }
}
.dg2-chat-t{
  flex-shrink:0; width:30px;
  font-size:.56rem; color:rgba(143,232,255,.4);
  text-align:right;
}
.dg2-chat-who{
  flex-shrink:0;
  font-size:.58rem; font-weight:700;
  letter-spacing:.06em; color:#f4b728;
  text-shadow:0 0 6px rgba(244,183,40,.35);
}
.dg2-chat-who-you{ color:#8fe8ff; text-shadow:0 0 6px rgba(143,232,255,.4); }
.dg2-chat-tag{
  flex-shrink:0;
  padding:1px 5px; border-radius:2px;
  font-size:.5rem; font-weight:700; letter-spacing:.1em;
}
.dg2-chat-tag-mut{ background:rgba(255,143,255,.15); color:#ff8fff; border:1px solid rgba(255,143,255,.35); }
.dg2-chat-tag-bet{ background:rgba(143,232,255,.12); color:#8fe8ff; border:1px solid rgba(143,232,255,.3); }
.dg2-chat-tag-win{ background:rgba(57,255,20,.12); color:#7eff7d; border:1px solid rgba(57,255,20,.3); }
.dg2-chat-msg{
  flex:1; min-width:0;
  color:rgba(230,244,255,.9);
  word-break:break-word;
}
.dg2-chat-mut .dg2-chat-msg{ color:#ff8fff; text-shadow:0 0 6px rgba(255,143,255,.25); }
.dg2-chat-win .dg2-chat-msg{ color:#7eff7d; }
.dg2-chat-user .dg2-chat-msg{ color:#c9e8ff; }

/* Input row */
.dg2-input{
  display:flex; align-items:center; gap:8px;
  padding:8px 10px; flex-shrink:0;
  background:rgba(6,12,20,.65);
  border:1px solid rgba(143,232,255,.18);
  border-radius:6px;
  transition:border-color 160ms, box-shadow 160ms;
}
.dg2-input:focus-within{
  border-color:#8fe8ff;
  box-shadow:0 0 12px rgba(143,232,255,.25);
}
.dg2-input-caret{
  color:#8fe8ff; font-family:"VT323",monospace; font-size:1.1rem;
  line-height:1; text-shadow:0 0 6px rgba(143,232,255,.5);
}
.dg2-input input{
  all:unset; flex:1; min-width:0;
  font-family:"Space Mono",monospace; font-size:.72rem;
  color:#fff5d6;
}
.dg2-input input::placeholder{
  color:rgba(230,244,255,.35);
}
.dg2-input-send{
  all:unset; cursor:pointer;
  padding:5px 10px; border-radius:3px;
  font-family:"Press Start 2P",monospace; font-size:.52rem;
  letter-spacing:.12em; color:#060c14;
  background:linear-gradient(180deg,#8fe8ff,#5fb8d8);
  box-shadow:0 0 8px rgba(143,232,255,.35);
  transition:transform 120ms, box-shadow 160ms;
}
.dg2-input-send:hover{
  transform:translateY(-1px);
  box-shadow:0 0 14px rgba(143,232,255,.55);
}
.dg2-input-send:active{ transform:translateY(0); }


/* ═══════════════════════════════════════════════════════════
   Doge Agent COMPACT mode — fixed 88px bar, never shrinks further
   Portrait (44px) | body (name/lvl + xp) | multiplier | CTA
   Clicking the row expands (onToggleMin on wrap).
   ═══════════════════════════════════════════════════════════ */
.dg2Panel-min{
  padding:0 !important;
  border-top:1px solid rgba(143,232,255,.1);
  height:88px !important;
  overflow:hidden;
}
.dg2Panel-min .dg2-tab{
  display:none;
}
.dg2-compact-wrap{
  height:100%; width:100%;
  cursor:pointer;
  transition:background 160ms;
}
.dg2-compact-wrap:hover{
  background:rgba(143,232,255,.03);
}

.dg2Compact{
  display:flex; align-items:center; gap:14px;
  height:100%; width:100%;
  padding:12px 18px;
  font-family:"Space Mono",monospace;
}

/* Portrait — small square HUD frame */
.dg2Compact-portrait{
  flex-shrink:0;
  width:56px; height:56px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, rgba(244,183,40,.08), rgba(6,12,20,.5));
  border:1px solid rgba(244,183,40,.35);
  border-radius:4px;
  box-shadow:inset 0 0 12px rgba(244,183,40,.15),
             0 0 8px rgba(244,183,40,.15);
  position:relative;
}
.dg2Compact-portrait::before{
  content:"";
  position:absolute; inset:2px;
  border:1px solid rgba(244,183,40,.15);
  border-radius:2px;
  pointer-events:none;
}
.dg2Compact-portrait-amber{ border-color:rgba(244,183,40,.35); }
.dg2Compact-portrait-magenta{
  border-color:rgba(255,143,255,.45);
  box-shadow:inset 0 0 14px rgba(255,143,255,.2), 0 0 12px rgba(255,143,255,.2);
  animation:dg2EvoPulse 1.6s ease-in-out infinite alternate;
}

.dg2Compact-egg{
  flex-shrink:0;
  width:40px; height:50px;
  border-radius:50%/60% 60% 40% 40%;
  background:radial-gradient(ellipse at 30% 30%, #3a3a45 0%, #1a1a22 80%);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:inset 0 -6px 12px rgba(0,0,0,.4);
}
.dg2Compact-art{
  display:block;
  width:40px;
  height:40px;
  object-fit:contain;
  filter:drop-shadow(0 0 10px rgba(143,232,255,.22));
}

/* Body — 2 rows of info */
.dg2Compact-body{
  flex:1; min-width:0;
  display:flex; flex-direction:column; gap:4px;
}
.dg2Compact-row1{
  display:flex; align-items:center; gap:8px;
  font-size:.62rem;
}
.dg2Compact-name{
  font-family:"Press Start 2P",monospace;
  font-size:.62rem; letter-spacing:.1em;
  color:#fff5d6;
  text-shadow:0 0 6px rgba(244,183,40,.3);
}
.dg2Compact-tier{
  padding:1px 6px; border-radius:2px;
  font-size:.5rem; letter-spacing:.1em; font-weight:700;
  color:#f4b728;
  background:rgba(244,183,40,.12);
  border:1px solid rgba(244,183,40,.3);
}
.dg2Compact-dot{
  width:6px; height:6px; border-radius:999px;
  background:#7eff7d;
  box-shadow:0 0 6px #7eff7d;
  animation:dg2LiveBlink 1.4s ease-in-out infinite;
}
.dg2Compact-active{
  font-size:.52rem; letter-spacing:.12em;
  color:#7eff7d;
  text-shadow:0 0 6px rgba(57,255,20,.35);
}
@keyframes dg2LiveBlink{
  0%,100%{ opacity:1; }
  50%{ opacity:.5; }
}

.dg2Compact-row2{
  display:flex; align-items:center; gap:10px;
}
.dg2Compact-xp{
  display:flex; align-items:center; gap:8px;
  flex:1; min-width:0;
  font-family:"Space Mono",monospace; font-size:.58rem;
}
.dg2Compact-xp u{
  text-decoration:none;
  font-size:.5rem; letter-spacing:.14em;
  color:rgba(230,244,255,.4);
  text-transform:uppercase;
}
.dg2Compact-xp-bar{
  flex:1; min-width:80px;
  height:4px;
  background:rgba(186,120,255,.12);
  border-radius:2px; overflow:hidden; position:relative;
}
.dg2Compact-xp-bar span{
  position:absolute; left:0; top:0; bottom:0;
  background:linear-gradient(90deg,#ba78ff,#d4c4ff);
  box-shadow:0 0 6px rgba(186,120,255,.5);
  transition:width 600ms ease-out;
}
.dg2Compact-xp b{
  font-family:"VT323",monospace; font-size:.85rem; font-weight:400;
  color:#fff5d6; line-height:1; white-space:nowrap;
}
.dg2Compact-xp b i{
  font-style:normal; font-size:.55rem; opacity:.5; margin-left:1px;
}

/* Multiplier big — the key live stat always visible in compact mode */
.dg2Compact-mult{
  flex-shrink:0;
  display:flex; flex-direction:column;
  align-items:flex-end; gap:2px;
  padding:4px 14px 4px 14px;
  border-left:1px solid rgba(255,255,255,.08);
  border-right:1px solid rgba(255,255,255,.08);
}
.dg2Compact-mult u{
  text-decoration:none;
  font-size:.46rem; letter-spacing:.16em;
  color:rgba(230,244,255,.45);
  text-transform:uppercase;
}
.dg2Compact-mult b{
  font-family:"VT323",monospace; font-weight:400;
  font-size:1.75rem; line-height:1;
  color:#f4b728;
  text-shadow:0 0 10px rgba(244,183,40,.55);
}
.dg2Compact-mult b i{
  font-style:normal; font-size:.9rem; opacity:.75; margin-left:2px;
}

/* Right CTA */
.dg2Compact-cta{
  all:unset; cursor:pointer;
  padding:8px 14px; border-radius:4px;
  font-family:"Press Start 2P",monospace;
  font-size:.56rem; letter-spacing:.12em;
  color:#8fe8ff;
  background:rgba(143,232,255,.08);
  border:1px solid rgba(143,232,255,.3);
  transition:background 160ms, box-shadow 160ms, transform 120ms;
  flex-shrink:0;
}
.dg2Compact-cta:hover{
  background:rgba(143,232,255,.16);
  box-shadow:0 0 12px rgba(143,232,255,.35);
}
.dg2Compact-cta:active{ transform:translateY(1px); }
.dg2Compact-cta-primary{
  color:#060c14;
  background:linear-gradient(180deg,#8fe8ff,#5fb8d8);
  border-color:#8fe8ff;
  box-shadow:0 0 10px rgba(143,232,255,.35);
}
.dg2Compact-cta-primary:hover{
  box-shadow:0 0 16px rgba(143,232,255,.55);
}
.dg2Compact-cta-magenta{
  color:#1a0a1a;
  background:linear-gradient(180deg,#ff8fff,#c05ec0);
  border-color:#ff8fff;
  box-shadow:0 0 10px rgba(255,143,255,.4);
}
.dg2Compact-cta-magenta:hover{
  box-shadow:0 0 18px rgba(255,143,255,.6);
}

/* Labels for other modes */
.dg2Compact-lbl{
  font-family:"Press Start 2P",monospace;
  font-size:.56rem; letter-spacing:.1em;
  color:#fff5d6;
}
.dg2Compact-lbl-amber{ color:#f4b728; text-shadow:0 0 6px rgba(244,183,40,.4); }
.dg2Compact-lbl-magenta{ color:#ff8fff; text-shadow:0 0 6px rgba(255,143,255,.5); }
.dg2Compact-sub{
  font-family:"Space Mono",monospace; font-size:.6rem;
  color:rgba(230,244,255,.6);
  min-width:0;
}
.dg2Compact-sub b{
  color:#f4b728; font-weight:700;
  font-family:"VT323",monospace; font-size:.85rem;
  margin-left:3px;
}

.dg2Compact-progress{
  flex-shrink:0; width:120px;
}
.dg2Compact-progress-bar{
  display:block; height:4px;
  background:rgba(244,183,40,.12);
  border-radius:2px; overflow:hidden; position:relative;
}
.dg2Compact-progress-bar span{
  position:absolute; left:0; top:0; bottom:0;
  background:linear-gradient(90deg,#f4b728,#ffd866);
  box-shadow:0 0 6px rgba(244,183,40,.5);
}


/* ═══════════════════════════════════════════════════════════════
   CLAIM DOCK — the "sell your bag" degen moment.
   Header has APR stat, two rows (SOL/dBTC) each expand to a tray.
   ═══════════════════════════════════════════════════════════════ */
.cdock{
  display:flex;flex-direction:column;gap:8px;
  padding:10px 12px 12px;
  background:
    linear-gradient(180deg, rgba(244,183,40,.04), rgba(244,183,40,0) 50%),
    rgba(6,12,20,.4);
  border:1px solid rgba(244,183,40,.18);
  border-radius:8px;
}
.cdock-head{
  display:flex; align-items:center; justify-content:space-between;
  padding-bottom:6px;
  border-bottom:1px dashed rgba(255,255,255,.08);
}
.cdock-head-lbl{
  font-family:"Press Start 2P",monospace;
  font-size:.6rem; letter-spacing:.16em;
  color:#f4b728;
  text-shadow:0 0 8px rgba(244,183,40,.4);
}
.cdock-apr{
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 7px;border-radius:3px;
  background:rgba(57,255,20,.08);
  border:1px solid rgba(57,255,20,.28);
  font-family:"Space Mono",monospace;
  font-size:.52rem;letter-spacing:.1em;color:#7eff7d;
  cursor:help;
}
.cdock-apr-dot{
  width:5px;height:5px;border-radius:999px;background:#7eff7d;
  box-shadow:0 0 4px #7eff7d;
  animation:cdockAprBlink 2s ease-in-out infinite;
}
@keyframes cdockAprBlink{
  0%,100%{ opacity:1 }
  50%{ opacity:.45 }
}
.cdock-apr b{
  font-family:"VT323",monospace;font-weight:400;font-size:.86rem;line-height:1;
  color:#7eff7d;margin-left:2px;
  text-shadow:0 0 6px rgba(57,255,20,.45);
}
.cdock-apr b i{font-style:normal;font-size:.6rem;opacity:.7;margin-left:1px}

/* Two claim-able tokens side-by-side. auto-fit collapses empty tracks so
   when only SOL (or only dBTC) is claimable the remaining column spans
   the full width. */
.cdock-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(0, 1fr));
  gap:8px;
  align-items:start;
}
.cdock-col{display:flex; flex-direction:column; gap:6px; min-width:0}
.cdock-empty{
  padding:14px 10px; text-align:center;
  font-family:"Space Mono", monospace; font-size:.76rem;
  color:rgba(255,245,218,.42); letter-spacing:.04em;
  border:1px dashed rgba(255,255,255,.08); border-radius:5px;
  background:rgba(6,12,20,.4);
}

/* Row (collapsed) */
.cdock-row{
  all:unset; cursor:pointer; display:flex; align-items:center;
  justify-content:space-between; gap:10px;
  padding:8px 10px; border-radius:5px;
  background:rgba(6,12,20,.65);
  border:1px solid rgba(255,255,255,.08);
  transition:background 160ms, border-color 160ms, box-shadow 180ms;
}
.cdock-row:hover{ background:rgba(6,12,20,.9); border-color:rgba(255,255,255,.15) }
.cdock-row-open{
  border-color:rgba(244,183,40,.45);
  background:rgba(244,183,40,.04);
}
.cdock-row-open .cdock-row-arr{ transform:rotate(180deg) }
.cdock-row-sol.cdock-row-open{ border-color:rgba(143,232,255,.45); background:rgba(143,232,255,.04) }
.cdock-row-bump{ animation:cdockBump 800ms ease-out }
@keyframes cdockBump{
  0%{ transform:scale(1) }
  30%{ transform:scale(1.02); box-shadow:0 0 22px rgba(244,183,40,.5) }
  100%{ transform:scale(1) }
}

.cdock-row-l{ display:flex; align-items:center; gap:8px; min-width:0 }
.cdock-row-icn{ width:22px; height:22px; flex-shrink:0 }
.cdock-row-txt{
  display:flex; align-items:baseline; gap:4px;
  font-family:"Space Mono",monospace;
}
.cdock-row-val{
  font-family:"VT323",monospace; font-weight:400; font-size:1.35rem; line-height:1;
  color:#fff5d6;
}
.cdock-row-sol .cdock-row-val{ color:#c9e8ff; text-shadow:0 0 6px rgba(143,232,255,.2) }
.cdock-row-dbtc .cdock-row-val{ color:#f4b728; text-shadow:0 0 8px rgba(244,183,40,.35) }
.cdock-row-unit{
  font-size:.52rem; letter-spacing:.12em; color:rgba(230,244,255,.5);
  text-transform:uppercase;
}
.cdock-row-r{ display:flex; align-items:center; gap:8px; flex-shrink:0 }
.cdock-row-tag{
  padding:2px 6px; border-radius:2px;
  font-family:"Space Mono",monospace; font-size:.5rem; letter-spacing:.1em;
  font-weight:700;
}
.cdock-row-tag-clean{
  color:#7eff7d; background:rgba(57,255,20,.1);
  border:1px solid rgba(57,255,20,.3);
}
.cdock-row-tag-tax{
  color:#ff8f5e; background:rgba(255,143,94,.1);
  border:1px solid rgba(255,143,94,.35);
  text-shadow:0 0 6px rgba(255,143,94,.35);
}
.cdock-row-arr{
  font-family:"VT323",monospace; color:rgba(230,244,255,.55);
  transition:transform 200ms;
}

/* Tray (expanded) */
.cdock-tray{
  display:flex; flex-direction:column; gap:4px;
  padding:10px 12px;
  margin-top:-2px;
  background:rgba(6,12,20,.85);
  border:1px solid rgba(143,232,255,.2);
  border-top:none;
  border-radius:0 0 5px 5px;
  animation:cdockTrayIn 240ms cubic-bezier(.2,.8,.3,1);
}
.cdock-tray-dbtc{ border-color:rgba(244,183,40,.3) }
@keyframes cdockTrayIn{
  from{ opacity:0; transform:translateY(-4px); }
  to{ opacity:1; transform:translateY(0); }
}
.cdock-tray-row{
  display:flex; align-items:baseline; justify-content:space-between;
  font-family:"Space Mono",monospace; font-size:.62rem;
  color:rgba(230,244,255,.65);
  padding:3px 0;
}
.cdock-tray-row b{
  font-family:"VT323",monospace; font-weight:400; font-size:.9rem; color:#fff5d6;
}
.cdock-tray-total{
  padding-top:6px; margin-top:4px;
  border-top:1px dashed rgba(255,255,255,.1);
  color:rgba(230,244,255,.85);
}
.cdock-tray-total b{ font-size:1.05rem }
.cdock-tray-dbtc .cdock-tray-total b{ color:#f4b728; text-shadow:0 0 8px rgba(244,183,40,.4) }

.cdock-pos{ color:#7eff7d !important }
.cdock-neg{ color:#ff8f5e !important; text-shadow:0 0 6px rgba(255,143,94,.3) }

.cdock-tray-hint{
  font-family:"Space Mono",monospace; font-size:.56rem; line-height:1.4;
  color:rgba(230,244,255,.55);
  padding:6px 0 8px;
  border-bottom:1px dashed rgba(255,255,255,.08);
  margin-bottom:6px;
}
.cdock-tray-hint em{
  font-style:italic; color:#f4b728;
  text-shadow:0 0 6px rgba(244,183,40,.3);
}
.cdock-tray-hint-icn{
  display:inline-block; margin-right:4px;
  color:#ff8f5e; text-shadow:0 0 6px rgba(255,143,94,.45);
  animation:cdockFlame 1.5s ease-in-out infinite alternate;
}
@keyframes cdockFlame{
  from{ transform:translateY(0) scale(1); opacity:.8 }
  to{ transform:translateY(-1px) scale(1.1); opacity:1 }
}

.cdock-tray-cta-row{ display:flex; gap:6px }
.cdock-tray-cta{
  all:unset; cursor:pointer; text-align:center; flex:1;
  padding:10px 12px; border-radius:4px;
  font-family:"Press Start 2P",monospace;
  font-size:.6rem; letter-spacing:.12em;
  transition:transform 120ms, box-shadow 200ms, filter 160ms;
}
.cdock-tray-cta span{ margin-left:4px }
.cdock-tray-cta-sol{
  color:#060c14;
  background:linear-gradient(180deg,#8fe8ff,#5fb8d8);
  border:1px solid #8fe8ff;
  box-shadow:0 0 12px rgba(143,232,255,.35);
}
.cdock-tray-cta-sol:hover{ box-shadow:0 0 20px rgba(143,232,255,.6); transform:translateY(-1px) }
.cdock-tray-cta-dbtc{
  color:#1a0e00;
  background:linear-gradient(180deg,#ffd866,#f4b728 60%,#d99a15);
  border:1px solid #f4b728;
  box-shadow:0 0 14px rgba(244,183,40,.5), inset 0 1px 0 rgba(255,255,255,.25);
  animation:cdockBagPulse 2.4s ease-in-out infinite;
}
.cdock-tray-cta-dbtc:hover{
  box-shadow:0 0 22px rgba(244,183,40,.8), inset 0 1px 0 rgba(255,255,255,.35);
  transform:translateY(-1px);
  filter:brightness(1.05);
}
@keyframes cdockBagPulse{
  0%,100%{ box-shadow:0 0 14px rgba(244,183,40,.5), inset 0 1px 0 rgba(255,255,255,.25) }
  50%{ box-shadow:0 0 22px rgba(244,183,40,.75), inset 0 1px 0 rgba(255,255,255,.35) }
}
.cdock-tray-cta-ghost{
  all:unset; cursor:pointer; text-align:center; flex:0 0 auto;
  padding:10px 12px; border-radius:4px;
  font-family:"Press Start 2P",monospace; font-size:.54rem; letter-spacing:.12em;
  color:rgba(230,244,255,.7);
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.12);
  transition:color 160ms, border-color 160ms, background 160ms;
}
.cdock-tray-cta-ghost:hover{
  color:#7eff7d; border-color:rgba(57,255,20,.35); background:rgba(57,255,20,.05);
}

/* ═══════════════ CLAIM DOCK · live pulse + hyper-farm states ═══════════════ */

/* Delta chip that jumps out of the number on round settle */
.cdock-delta{
  margin-left:4px; padding:0 4px;
  font-family:"VT323",monospace; font-size:.95rem; line-height:1;
  border-radius:2px;
  animation:cdockDeltaIn 1200ms ease-out forwards;
}
.cdock-delta-pos{
  color:#7eff7d; background:rgba(57,255,20,.12);
  text-shadow:0 0 6px rgba(57,255,20,.55);
}
.cdock-delta-neg{
  color:#ff4466; background:rgba(255,68,102,.12);
  text-shadow:0 0 6px rgba(255,68,102,.55);
}
@keyframes cdockDeltaIn{
  0%   { transform:translateY(6px); opacity:0 }
  20%  { transform:translateY(-1px); opacity:1 }
  80%  { transform:translateY(-1px); opacity:1 }
  100% { transform:translateY(-8px); opacity:0 }
}

/* Row pulse on settlement */
.cdock-row-pulse-pos{
  animation:cdockPulsePos 1200ms ease-out;
}
.cdock-row-pulse-neg{
  animation:cdockPulseNeg 1100ms ease-out;
}
@keyframes cdockPulsePos{
  0%   { box-shadow:0 0 0 0 rgba(57,255,20,0); border-color:rgba(255,255,255,.08) }
  15%  { box-shadow:0 0 18px 2px rgba(57,255,20,.45); border-color:rgba(57,255,20,.55) }
  100% { box-shadow:0 0 0 0 rgba(57,255,20,0); border-color:rgba(255,255,255,.08) }
}
@keyframes cdockPulseNeg{
  0%   { box-shadow:0 0 0 0 rgba(255,68,102,0); border-color:rgba(255,255,255,.08) }
  15%  { box-shadow:0 0 18px 2px rgba(255,68,102,.45); border-color:rgba(255,68,102,.55) }
  100% { box-shadow:0 0 0 0 rgba(255,68,102,0); border-color:rgba(255,255,255,.08) }
}

/* ── HYPER FARMING state (autominer active) ──────────────────────── */
.cdock-hyper{
  position:relative;
}
.cdock-hyper::before{
  content:""; position:absolute; inset:-1px;
  border-radius:inherit; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(244,183,40,.22), rgba(57,255,20,.18) 50%, rgba(244,183,40,.22)) border-box;
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  padding:1px;
  background-size:200% 100%;
  animation:cdockHyperBorder 3.2s linear infinite;
  z-index:0;
}
@keyframes cdockHyperBorder{
  0%{ background-position:0% 0% }
  100%{ background-position:200% 0% }
}
.cdock-hyper .cdock-head-lbl{
  color:#f4b728; text-shadow:0 0 10px rgba(244,183,40,.5);
  animation:cdockHyperLbl 1.8s ease-in-out infinite;
}
@keyframes cdockHyperLbl{
  0%,100% { opacity:.85 }
  50%     { opacity:1 }
}
.cdock-hyper-icn{
  display:inline-block; margin-left:3px;
  animation:cdockHyperIcn 1.1s ease-in-out infinite;
}
@keyframes cdockHyperIcn{
  0%,100% { transform:rotate(-5deg) scale(1) }
  50%     { transform:rotate(5deg)  scale(1.15) }
}

/* Re-staking tag (SOL row during hyper-farming) */
.cdock-row-tag-restake{
  display:inline-flex; align-items:center; gap:4px;
  color:#c9e8ff; background:rgba(143,232,255,.12);
  border:1px solid rgba(143,232,255,.4);
  text-shadow:0 0 6px rgba(143,232,255,.45);
}
.cdock-restake-spin{
  display:inline-block; font-size:.7rem; line-height:1;
  animation:cdockSpin 1.5s linear infinite;
}
@keyframes cdockSpin{
  0%  { transform:rotate(0deg) }
  100%{ transform:rotate(360deg) }
}

/* Re-stake particle stream — tiny dots flowing L→R across the SOL row */
.cdock-row-restake{ overflow:hidden }
.cdock-restake-stream{
  position:absolute; inset:0; pointer-events:none; overflow:hidden;
  border-radius:inherit;
}
.cdock-restake-stream > span{
  position:absolute; top:50%; left:-6px;
  width:4px; height:4px; border-radius:50%;
  background:#c9e8ff; box-shadow:0 0 6px rgba(143,232,255,.8);
  transform:translateY(-50%);
  animation:cdockStream 2.4s linear infinite;
  opacity:.0;
}
.cdock-restake-stream > span:nth-child(1){ animation-delay:0s;     top:35% }
.cdock-restake-stream > span:nth-child(2){ animation-delay:.6s;   top:62% }
.cdock-restake-stream > span:nth-child(3){ animation-delay:1.2s;  top:48% }
.cdock-restake-stream > span:nth-child(4){ animation-delay:1.8s;  top:55% }
@keyframes cdockStream{
  0%   { left:-6px;  opacity:0 }
  15%  { opacity:.9 }
  85%  { opacity:.9 }
  100% { left:calc(100% + 6px); opacity:0 }
}

/* Farming tag (dBTC row during hyper-farming) */
.cdock-row-tag-farming{
  color:#f4b728; background:rgba(244,183,40,.14);
  border:1px solid rgba(244,183,40,.5);
  text-shadow:0 0 6px rgba(244,183,40,.55);
  animation:cdockFarmTag 1.6s ease-in-out infinite;
}
@keyframes cdockFarmTag{
  0%,100% { box-shadow:0 0 0 rgba(244,183,40,0) }
  50%     { box-shadow:0 0 10px rgba(244,183,40,.5) }
}

/* Thin yield bar under dBTC row — continuously fills */
.cdock-row-farming{ position:relative; overflow:hidden }
.cdock-farm-bar{
  position:absolute; left:0; right:0; bottom:0; height:2px;
  background:rgba(244,183,40,.12); overflow:hidden;
}
.cdock-farm-bar > span{
  display:block; width:30%; height:100%;
  background:linear-gradient(90deg, transparent, #f4b728, transparent);
  animation:cdockFarmBar 2.2s linear infinite;
}
@keyframes cdockFarmBar{
  0%   { transform:translateX(-100%) }
  100% { transform:translateX(400%) }
}

/* Ambient hyper-root glow behind the whole ops column */
.ops-root-hyper{
  position:relative;
}
.ops-root-hyper::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(60% 28% at 50% 8%, rgba(244,183,40,.08), transparent 70%),
    radial-gradient(40% 22% at 50% 92%, rgba(57,255,20,.06), transparent 70%);
  mix-blend-mode:screen; z-index:0;
}
.ops-root-hyper > *{ position:relative; z-index:1 }
