/* ─────────────────────────────────────────────────────────────────────────
   btq-live.css — the live book (LIVE mode: your paper account vs Kurus).
   THE STANDARD (1.18, PR 8): on the site's tokens. Gold is yours, pearl is
   Kurus and the index, up and down are signed; the faces are the tokens', no
   text under 12px, the presses machined (quant-palette-test, station-style-test).
   THE DUEL, STAGED (1.23): the desk is a match. The stage (your book, Kurus
   alive across the table, his index), the race as the centrepiece with your
   positions beside it, and the board as a heat grid tinted by each name's
   real move today. Linked by src/btq-css.js from the page's versioned hint.
   ───────────────────────────────────────────────────────────────────────── */
.btq-live{position:fixed;inset:0;z-index:9000;display:flex;flex-direction:column;color:var(--ink);
  font-family:var(--sans);overflow:auto;overflow-x:hidden;
  background:radial-gradient(60% 38% at 50% 14%,rgba(var(--pearl-rgb),.07),transparent 72%),var(--void)}
.lv-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px 10px;position:sticky;top:0;z-index:5;
  background:linear-gradient(180deg,var(--void) 82%,rgba(var(--void-rgb),0));border-bottom:1px solid var(--hair)}
.lv-ttl{display:inline-flex;align-items:center;gap:8px;min-width:0;white-space:nowrap;font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;font-size:12px}
.lv-day{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--ink-mute)}
.lv-dot{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--ink-mute)}
.lv-dot i{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold)}
.lv-dot.live i{background:var(--up);box-shadow:0 0 8px var(--up);animation:lvpulse 2s ease-in-out infinite}
@keyframes lvpulse{0%,100%{opacity:.6}50%{opacity:1}}
.lv-x{cursor:pointer;font-size:24px;line-height:1;color:var(--ink-mute);background:none;border:0;padding:2px 6px}.lv-x:hover{color:var(--ink)}
.lv-snd{cursor:pointer;font-size:15px;line-height:1;color:var(--ink-mute);background:none;border:0;padding:2px 4px}.lv-snd:hover{color:var(--ink)}

/* ── the stage: your book · Kurus · his index ───────────────────────────────
   On a phone he sits at the head of the table and the two books face each
   other below him; from 720px it is one row. His footprint is twice his face
   (the arena's bloom and menace ring keep their geometry), centred on his
   cell and laid under the numbers. */
.lv-stage{--lv-k:clamp(96px,28vw,120px);position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:"k k" "you kur" "tug tug" "note note" "say say";column-gap:22px;align-items:end;
  width:calc(100% - 32px);max-width:1200px;margin:16px auto 0;overflow-x:clip}
.lv-stage-k{grid-area:k;position:relative;height:calc(var(--lv-k) * 1.12);z-index:0}
.lv-kurus-orb{position:absolute;left:50%;top:50%;width:calc(var(--lv-k) * 2);height:calc(var(--lv-k) * 2);transform:translate(-50%,-50%);pointer-events:none}
.lv-kurus-orb .kurus-face{--k:var(--lv-k)}
.lv-side{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px;min-width:0;container-type:inline-size}
.lv-side--you{grid-area:you;align-items:flex-end;text-align:right}
.lv-side--kur{grid-area:kur;align-items:flex-start;text-align:left}
.lv-side-k{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.lv-side--you .lv-side-k{color:var(--gold)}.lv-side--kur .lv-side-k{color:var(--pearl)}
.lv-side-v{position:relative;font-family:var(--num);font-weight:700;font-size:min(56px,20cqi);line-height:1;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.lv-vpct{font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums}.lv-vpct.up{color:var(--up)}.lv-vpct.down{color:var(--down)}.lv-vpct.flat{color:var(--ink-mute)}
/* the tug: your share of the bar, from the gap; the tick marks level */
.lv-tug{grid-area:tug;position:relative;margin-top:16px}
.lv-vs-bar{height:6px;border-radius:999px;background:var(--panel2);overflow:hidden;display:flex}
.lv-vs-fill-you{background:linear-gradient(90deg,rgba(var(--gold-rgb),.55),var(--gold));transition:flex-basis .9s var(--ease-out)}
.lv-vs-fill-kur{flex:1;background:linear-gradient(90deg,var(--pearl),rgba(var(--pearl-rgb),.55))}
.lv-tug-mid{position:absolute;left:50%;top:-4px;width:1px;height:14px;background:var(--ink-mute)}
.lv-vs-note{grid-area:note;margin:10px 0 0;text-align:center;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink-mute)}
.lv-gap{font-family:var(--num);font-weight:700;font-size:16px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.lv-gap.up{color:var(--up)}.lv-gap.down{color:var(--down)}.lv-gap.flat{color:var(--ink)}
/* his line: under him, two lines held so a new one never shoves the page */
.lv-kurus-line.voice{grid-area:say;margin:10px auto 0;max-width:34em;min-height:2.9em;text-align:center;font-family:var(--disp);font-style:italic;font-size:15px;line-height:1.45;color:var(--ink);opacity:0;transition:opacity .4s}
.lv-kurus-line.show{opacity:1}
/* a trade's toll rises off your book */
.lv-float{position:absolute;right:0;bottom:0;font-family:var(--mono);font-size:12px;line-height:1.4;color:var(--down);white-space:nowrap;pointer-events:none}
.lv-side .lv-vpct{transition:opacity .2s}.lv-side.is-fee .lv-vpct{opacity:0}
@media (min-width:720px){
  .lv-stage{--lv-k:clamp(120px,14vw,168px);grid-template-columns:minmax(0,1fr) calc(var(--lv-k) * 1.3) minmax(0,1fr);
    grid-template-areas:"you k kur" "tug tug tug" "note note note" "say say say";align-items:center;margin-top:20px}
}

/* the book as its own sum, and what playing has cost */
.lv-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:calc(100% - 32px);max-width:1200px;margin:14px auto 0;flex-wrap:wrap}
.lv-bag{font-family:var(--mono);font-size:12px;color:var(--ink-mute)}.lv-bag b{color:var(--ink);font-weight:600}
.lv-cost{font-family:var(--mono);font-size:12px;color:var(--down)}

/* ── the race (and the candles), with your positions beside it ──────────── */
.lv-main{display:grid;gap:14px;width:calc(100% - 32px);max-width:1200px;margin:12px auto 0}
.lv-chart{background:var(--panel);border:1px solid var(--hair);border-radius:16px;overflow:hidden;box-shadow:inset 0 1px 0 var(--rim)}
.lv-chart-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--hair)}
.lv-tabs{display:flex;gap:4px}
.lv-tab{position:relative;white-space:nowrap;font-family:var(--mono);font-size:12px;letter-spacing:.08em;padding:4px 10px;border-radius:8px;color:var(--ink-mute);background:none;border:1px solid transparent;cursor:pointer}
.lv-tab.on{color:var(--gold-lt);background:var(--panel2);border-color:rgba(var(--gold-rgb),.4)}
.lv-tab::after{content:'';position:absolute;inset:-12px -4px}
.lv-chart-sym{font-family:var(--mono);font-size:12px;color:var(--ink-mute);font-variant-numeric:tabular-nums;text-align:right}
.lv-chart-body{position:relative;height:230px;overflow:hidden}
.lv-race{position:absolute;inset:8px 6px 6px 8px}
.lv-chart-holo{position:absolute;inset:6px 6px 2px}
.lv-chart-wait{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:var(--ink-mute);font-size:12px;text-align:center;padding:0 24px}
/* your positions */
.lv-book{min-width:0}
.lv-book-hd{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);margin:2px 2px 8px}
.lv-book-hd span:first-child{color:var(--gold);white-space:nowrap}
.lv-alloc{letter-spacing:.04em;text-transform:none;color:var(--ink-mute);text-align:right}
.lv-book-rows{display:flex;flex-direction:column;gap:4px}
.lv-book-empty{font-size:13px;line-height:1.5;color:var(--ink-mute);padding:12px 14px;border:1px dashed var(--hair-strong);border-radius:12px}
.lv-pos{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 12px;background:var(--panel);border:1px solid var(--hair);border-radius:12px;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.lv-pos:active{background:var(--panel2)}
.lv-pos .lv-logo{width:22px;height:22px;flex:0 0 22px}
.lv-pos-nm{flex:1;font-size:13px;font-weight:600}
.lv-pos-nm i,.lv-pos-val i{display:block;font-style:normal;font-family:var(--mono);font-size:12px;color:var(--ink-mute);margin-top:2px}
.lv-pos-val{font-family:var(--mono);font-size:13px;text-align:right;font-variant-numeric:tabular-nums}
.lv-pos-val i.up{color:var(--up)}.lv-pos-val i.down{color:var(--down)}.lv-pos-val i.flat{color:var(--ink-mute)}
.lv-mix{margin-top:8px}
.lv-mix-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;gap:1px}
.lv-mix-bar i{display:block;min-width:3px}
.lv-mix-cap{margin-top:4px;font-family:var(--mono);font-size:12px;color:var(--ink-mute)}
.lv-logo{width:24px;height:24px;object-fit:contain;flex:0 0 24px}

/* ── the heat board: each tile tinted by its real move today ─────────────── */
.lv-heat{width:calc(100% - 32px);max-width:1200px;margin:20px auto 0}
.lv-heat-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 10px}
.lv-chips-hd{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}
.lv-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.lv-chip{--heat:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"logo nm held" "logo px d";column-gap:10px;row-gap:3px;align-items:baseline;
  padding:10px 12px;border-radius:12px;cursor:pointer;text-align:left;color:var(--ink);font-family:var(--mono);font-size:12px;
  background-color:var(--panel);border:1px solid var(--hair);box-shadow:inset 0 0 0 999px rgba(var(--up-rgb),0);
  transition:box-shadow .6s var(--ease),border-color var(--d-ui) var(--ease)}
.lv-chip[data-dir="up"]{box-shadow:inset 0 0 0 999px rgba(var(--up-rgb),var(--heat))}
.lv-chip[data-dir="down"]{box-shadow:inset 0 0 0 999px rgba(var(--down-rgb),var(--heat))}
.lv-chip .lv-logo{grid-area:logo;align-self:center}
.lv-chip .nm{grid-area:nm;font-family:var(--sans);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lv-chip .px{grid-area:px;color:var(--ink2);font-variant-numeric:tabular-nums;transition:color .6s var(--ease)}
.lv-chip .px.up{color:var(--up)}.lv-chip .px.down{color:var(--down)}
.lv-chip .d{grid-area:d;display:inline-flex;align-items:center;gap:3px;justify-self:end;color:var(--ink2);font-variant-numeric:tabular-nums;white-space:nowrap}
.lv-chip[data-dir="up"] .d .ico{color:var(--up)}.lv-chip[data-dir="down"] .d .ico{color:var(--down)}
.lv-win{font-size:12px;color:var(--ink-mute);margin-left:3px}
.lv-chip .held-n{grid-area:held;justify-self:end;color:var(--gold-lt)}
.lv-chip:hover{border-color:var(--hair-strong)}
.lv-chip.held{border-color:rgba(var(--gold-rgb),.55)}
.lv-chip.on{outline:2px solid var(--gold-lt);outline-offset:-1px}
.lv-chip.is-traded{animation:lv-ring .9s var(--ease-out)}
@keyframes lv-ring{from{outline:2px solid rgba(var(--gold-rgb),.95);outline-offset:-1px}to{outline:2px solid rgba(var(--gold-rgb),0);outline-offset:8px}}
@media (min-width:720px){.lv-chips{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:980px){
  .lv-main{grid-template-columns:minmax(0,2fr) minmax(300px,1fr);align-items:start}
  .lv-chart-body{height:300px}
  .lv-chips{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lv-heat-hd{position:sticky;top:64px;z-index:4;padding:8px 0;background:linear-gradient(180deg,var(--void) 75%,rgba(var(--void-rgb),0))}
}

/* the trade button names what it trades */
.lv-trade{display:inline-flex;align-items:center;gap:6px;margin:0;font-family:var(--num);font-weight:700;font-size:16px;letter-spacing:.01em;color:var(--void);
  background:linear-gradient(180deg,var(--gold-lt),var(--gold));border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:11px 26px;cursor:pointer}

/* ── trade ticket (bottom sheet) ─────────────────────────────────────────── */
.lv-ticket{position:fixed;left:0;right:0;bottom:0;z-index:30;transform:translateY(110%);transition:transform .26s cubic-bezier(.2,.9,.3,1);
  background:linear-gradient(180deg,rgba(16,22,33,.98),rgba(9,13,20,.99));border-top:1px solid rgba(var(--gold-rgb),.3);
  box-shadow:0 -16px 50px rgba(0,0,0,.6);padding:18px 20px 24px}
.lv-ticket.show{transform:translateY(0)}
.lv-tk-in{max-width:520px;margin:0 auto}
.lv-tk-h{display:flex;align-items:baseline;justify-content:space-between;font-family:var(--num);font-weight:600;font-size:20px;color:var(--ink);margin-bottom:14px;padding-right:34px}
.lv-tk-id{display:inline-flex;align-items:center;gap:9px}
.lv-tk-h .lv-logo{width:24px;height:24px}
.lv-tk-h small{font-family:var(--mono);font-size:12px;color:var(--pearl);font-weight:400}
.lv-tk-side{display:flex;gap:6px;margin-bottom:12px}
.lv-tk-side button{flex:1;font-family:var(--mono);font-size:13px;padding:9px;border-radius:10px;cursor:pointer;color:var(--ink2);background:var(--panel);border:1px solid var(--hair-strong)}
.lv-tk-side button.on{color:var(--gold-lt);background:var(--panel2);border-color:rgba(var(--gold-rgb),.5)}
.lv-tk-q{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.lv-tk-step{width:44px;height:44px;border-radius:10px;cursor:pointer;font-size:20px;color:var(--ink);background:var(--panel);border:1px solid var(--hair-strong)}
.lv-tk-qty{flex:1;height:44px;text-align:center;font-family:var(--mono);font-size:16px;color:var(--ink);background:var(--void);border:1px solid var(--hair-strong);border-radius:10px}
.lv-tk-est{font-family:var(--mono);font-size:12px;color:var(--gold);margin-bottom:14px;min-height:16px}
.lv-tk-go{width:100%;font-family:var(--sans);font-weight:600;font-size:16px;color:var(--void);background:linear-gradient(180deg,var(--gold-lt),var(--gold));border:1px solid rgba(255,255,255,.22);border-radius:13px;padding:13px;cursor:pointer;text-transform:capitalize}
.lv-tk-x{position:absolute;top:6px;right:8px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:var(--ink-mute);font-size:22px;cursor:pointer}
.lv-note{text-align:center;font-size:12px;color:var(--ink-mute);padding:10px 16px 2px}
.lv-verdict-btn{display:block;margin:14px auto 0;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--pearl);background:none;border:1px solid var(--hair-strong);border-radius:999px;padding:8px 18px;cursor:pointer}
.lv-compete{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--gold-lt);background:none;border:1px solid rgba(var(--gold-rgb),.45);border-radius:999px;padding:6px 12px;cursor:pointer;font-weight:700}
.lv-compete.joined{color:var(--ink-mute);border-color:var(--hair);cursor:default}
.lv-acts{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:22px auto 0}
.lv-acts .lv-verdict-btn{margin:0}
#lvSubmit{color:var(--void);background:linear-gradient(180deg,var(--gold-lt),var(--gold));border:1px solid rgba(255,255,255,.22);font-family:var(--num);font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 1px 2px rgba(0,0,0,.5),0 14px 34px -14px rgba(var(--gold-rgb),.55)}
#lvSubmit:active{transform:translateY(1px);filter:brightness(.94);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 0 1px rgba(0,0,0,.5),0 8px 22px -14px rgba(var(--gold-rgb),.45)}

/* ── join, the leaderboard and the cash-out (modal cards) ────────────────── */
.lv-join{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s;background:radial-gradient(120% 90% at 50% 40%,rgba(12,18,28,.7),rgba(6,9,14,.92))}
.lv-join.show{opacity:1;pointer-events:auto}
.lv-join-card{position:relative;max-width:380px;width:100%;padding:24px 24px 22px;border-radius:16px;background:linear-gradient(180deg,rgba(16,22,33,.98),rgba(9,13,20,.99));border:1px solid rgba(var(--gold-rgb),.34);box-shadow:0 24px 70px rgba(0,0,0,.6);text-align:center}
.lv-join-h{font-family:var(--num);font-weight:600;font-size:22px;color:var(--ink);margin-bottom:8px}
.lv-join-p{font-size:13px;color:var(--ink-mute);line-height:1.5;margin:0 0 16px}
.lv-join-handle{width:100%;height:44px;text-align:center;font-family:var(--mono);font-size:15px;color:var(--ink);background:var(--void);border:1px solid var(--hair-strong);border-radius:11px;margin-bottom:14px}
.lv-ts{display:flex;justify-content:center;margin-bottom:10px}
.lv-join-err{font-family:var(--mono);font-size:12px;color:var(--down);min-height:14px;margin-top:8px}
.lv-board{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s;background:radial-gradient(120% 90% at 50% 40%,rgba(12,18,28,.7),rgba(6,9,14,.92))}
.lv-board.show{opacity:1;pointer-events:auto}
.lv-board-card{position:relative;max-width:460px;width:100%;max-height:80vh;display:flex;flex-direction:column;padding:24px 20px 18px;border-radius:16px;background:linear-gradient(180deg,rgba(16,22,33,.98),rgba(9,13,20,.99));border:1px solid rgba(var(--pearl-rgb),.3);box-shadow:0 24px 70px rgba(0,0,0,.6);text-align:center}
.lv-board-sub{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--ink-mute);margin:2px 0 14px}
.lv-board-list{overflow-y:auto;display:flex;flex-direction:column;gap:5px;text-align:left}
.lv-board-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:var(--panel);border:1px solid var(--hair)}
.lv-board-row.me{border-color:rgba(var(--gold-rgb),.55);background:var(--panel2)}
.lv-bd-rank{font-family:var(--mono);font-size:12px;color:var(--pearl);width:24px;text-align:right;flex:0 0 24px}
.lv-bd-h{flex:1;min-width:0;font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lv-bd-vs{font-family:var(--mono);font-size:12px;width:74px;text-align:right;flex:0 0 74px}.lv-bd-vs.up{color:var(--up)}.lv-bd-vs.down{color:var(--down)}
.lv-bd-v{font-family:var(--mono);font-size:12px;color:var(--ink);width:64px;text-align:right;flex:0 0 64px}
.lv-board-empty{padding:24px 8px;color:var(--ink-mute);font-size:13px}
.lv-co-card{max-width:420px;text-align:center;overflow-y:auto}
/* the cash-out, staged (1.23): his still face over the verdict, the run's race under the books */
.lv-co-face{display:flex;justify-content:center;height:104px;margin:0 0 6px;pointer-events:none}
.lv-co-race{aspect-ratio:380/96;margin:0 0 14px;border-radius:10px;overflow:hidden;background:var(--panel);border:1px solid var(--hair)}
.lv-co-race svg{display:block}
@media (max-height:740px){.lv-co-face{height:72px}.lv-co-face .kurus-face{--k:72px!important}}
.lv-co-banner{font-family:var(--num);font-weight:600;font-size:26px;margin:2px 0 14px}
.lv-co-banner.win{color:var(--up)}.lv-co-banner.lose{color:var(--down)}.lv-co-banner.tie{color:var(--ink)}
.lv-co-grid{display:flex;gap:10px;margin-bottom:14px}
.lv-co-cell{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:12px;border-radius:12px;background:var(--panel2);border:1px solid var(--hair)}
.lv-co-cell .k{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:4px}
.lv-co-cell .v{font-family:var(--num);font-size:22px;color:var(--ink);font-variant-numeric:tabular-nums}
.lv-co-cell .s{font-family:var(--mono);font-size:12px}.lv-co-cell .s.up{color:var(--up)}.lv-co-cell .s.down{color:var(--down)}.lv-co-cell .s.flat{color:var(--ink-mute)}
.lv-co-verdict.voice{font-family:var(--disp);font-style:italic;font-size:14px;max-width:none;color:var(--ink);line-height:1.55;margin-bottom:16px}
.lv-co-acts{display:flex;flex-direction:column;gap:8px}
.lv-co-fresh{font-family:var(--mono);font-size:12px;padding:10px;border-radius:11px;cursor:pointer;background:var(--panel);border:1px solid var(--hair-strong);color:var(--ink)}
.lv-co-keep{font-family:var(--mono);font-size:12px;padding:8px;border:0;color:var(--ink-mute);background:none;cursor:pointer}

/* the machined press (site.css .btn-gold / .btn-ghost): light from above, a 1px settle, no ledge */
.lv-tk-go,.lv-trade{box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 1px 2px rgba(0,0,0,.5),0 14px 34px -14px rgba(var(--gold-rgb),.55);transition:transform var(--d-ui) var(--ease),filter var(--d-ui) var(--ease),box-shadow var(--d-ui) var(--ease)}
.lv-tk-go:active,.lv-trade:active{transform:translateY(1px);filter:brightness(.94);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 0 1px rgba(0,0,0,.5),0 8px 22px -14px rgba(var(--gold-rgb),.45)}
.lv-compete,.lv-verdict-btn,.lv-co-fresh{box-shadow:inset 0 1px 0 var(--rim),0 1px 2px rgba(0,0,0,.4);transition:transform var(--d-ui) var(--ease),filter var(--d-ui) var(--ease)}
.lv-compete:active,.lv-verdict-btn:active,.lv-co-fresh:active{transform:translateY(1px);filter:brightness(.94)}
/* First Orbit · hover/tap explainers: Kurus names a HUD landmark on point/tap */
.lv-explain{cursor:help}

/* small screens: the top bar keeps one line (venue text yields to its dot) */
@media (max-width:480px){
  .lv-ttl{letter-spacing:.14em}
  .lv-ttl-sub{display:none} /* at the 12px floor the full title pushed the close button off a phone */
  .lv-day{white-space:nowrap}
  .lv-dot #lvDotT{display:none}
  .lv-chip{column-gap:8px;padding:10px}
}
/* the trade button follows the thumb on phones: pinned to the bottom, naming
   what it will trade; nothing hides behind it */
@media (max-width:979px){
  .lv-trade{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);
    width:min(420px,calc(100% - 28px));justify-content:center;z-index:20;padding:14px 18px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 1px 2px rgba(0,0,0,.5),0 10px 30px rgba(0,0,0,.55),0 14px 34px -14px rgba(var(--gold-rgb),.55)}
  .lv-trade:active{transform:translateX(-50%) translateY(1px);filter:brightness(.94);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.5),0 6px 18px rgba(0,0,0,.5)}
  .btq-live{padding-bottom:84px}
}
/* touch targets: the close and sound controls reach 44px */
.lv-x,.lv-snd{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0}
/* reduced motion: the finished frame (the numbers still change) */
@media (prefers-reduced-motion:reduce){
  .lv-chip,.lv-chip .px,.lv-vs-fill-you,.lv-kurus-line.voice{transition:none}
  .lv-chip.is-traded{animation:none}
  .lv-dot.live i{animation:none}
}
