/* Label League — THE TRADING FLOOR (screen 07 · 05.1), 9/25/2026. The phone artboard (design/…/Label League - 07 Moves.dc.html, artboard 2)
   transcribed 1:1; SCREENS §7.7; desktop = the three columns the prompt names (Claims · Trades · Drops) with the log beneath.
   The one private surface in the league: a proposed trade is visible to its two labels only. Sealed bids never leave the Worker.
   Every hard block is dashed red; every "fits · max N" is in your tint. Tokens from site.css; the shell from shell.css. */
@keyframes llrise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
body.moves{background:var(--paper);color:var(--ink);font-family:var(--disp);-webkit-font-smoothing:antialiased;margin:0}
.moves [hidden]{display:none !important}
.moves .num{font-variant-numeric:tabular-nums}
.moves .eyebrow9{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.moves .rulebrow{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;gap:10px}
.moves .rulebrow::before{content:"";width:22px;height:1px;background:var(--mute);display:block;flex:none}
.moves .card{background:var(--card);border:1px solid var(--rule);border-radius:14px}
.moves .danger{color:#C8271E}
.moves .subnav{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.moves .subnav a{padding:5px 10px;border-radius:7px;border:1px solid var(--rule);text-decoration:none;color:inherit;white-space:nowrap}
.moves .subnav a.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.moves .mbody{padding:32px 40px 48px;max-width:1440px;margin:0 auto}
.moves .mseg{display:none}
.moves .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.moves .mcol{display:flex;flex-direction:column;gap:14px;min-width:0}
.moves .mcol > .rulebrow{margin-bottom:2px}
/* ── claim cards ── */
.moves .ccard{padding:16px}
.moves .ccard .top{display:flex;justify-content:space-between;align-items:flex-end;margin-top:8px;gap:12px}
.moves .ccard .art{font-weight:700;font-size:30px;letter-spacing:-.04em;line-height:1;cursor:pointer}
.moves .ccard .art:hover{text-decoration:underline}
.moves .ccard .sub{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-top:5px}
.moves .ccard .closes{text-align:right;flex:none}
.moves .ccard .closes .v{font-weight:700;font-size:30px;letter-spacing:-.05em;line-height:1;margin-top:4px}
.moves .bidbox{margin-top:14px;padding:12px;border-radius:10px;background:var(--sunk);display:grid;gap:8px}
.moves .bidbox .hd{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);gap:8px}
.moves .bidbox .row{display:flex;gap:8px;align-items:center}
.moves .bidbox .row span{font-family:var(--mono);font-size:11px;color:var(--mute);white-space:nowrap}
.moves .bidbox input{flex:1;min-width:0;height:44px;padding:0 12px;border-radius:10px;border:1px solid var(--ink);background:var(--card);color:var(--ink);font-weight:700;font-size:20px;letter-spacing:-.03em;outline:none;text-align:right;font-family:var(--disp)}
.moves .bidbox .ft{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;color:var(--mute);gap:8px}
.moves .bidbox .ft b{color:var(--ink);font-weight:500}
.moves .fits{color:var(--tint)}
.moves .block{padding:8px 10px;border-radius:8px;border:1px dashed #C8271E;color:#C8271E;font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;line-height:1.5}
.moves .mcta{margin-top:12px;width:100%;height:48px;border-radius:12px;background:var(--ink);color:var(--paper);border:0;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;font-family:var(--disp)}
.moves .mcta[disabled]{background:var(--sunk);color:var(--mute);cursor:not-allowed}
.moves .mcta.alt{background:transparent;color:var(--ink);border:1px solid var(--rule-strong)}
.moves .mcta.alt[data-withdraw]{color:#C8271E;border-color:#C8271E}
.moves .fn{font-family:var(--mono);font-size:9px;line-height:1.5;color:var(--mute);margin-top:8px}
.moves .mempty{padding:22px 16px;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);line-height:1.7}
.moves .mempty a{color:var(--ink)}
/* ── the trade builder ── */
.moves .tcard{padding:16px;display:grid;gap:12px}
.moves .tcard select{height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--rule-strong);background:var(--sunk);color:var(--ink);font-family:var(--mono);font-size:11px;outline:none}
.moves .sides{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.moves .side{display:grid;gap:6px;min-width:0}
.moves .side .hd{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);display:flex;justify-content:space-between;gap:6px}
.moves .mpick{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:8px;border:1px solid var(--rule);cursor:pointer;font-size:12.5px;min-width:0;background:var(--card)}
.moves .mpick:hover{border-color:var(--ink)}
.moves .mpick.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.moves .mpick input{margin:0;accent-color:var(--ink)}
.moves .mpick b{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.moves .mpick small{font-family:var(--mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-left:auto;white-space:nowrap}
.moves .mpick.on small{color:var(--rule-strong)}
.moves .pts{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:9.5px;color:var(--mute)}
.moves .pts input{width:76px;height:32px;padding:0 8px;border-radius:8px;border:1px solid var(--rule-strong);background:var(--card);color:var(--ink);font-family:var(--mono);font-size:11px;text-align:right;outline:none}
.moves .after{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px;border-radius:10px;background:var(--sunk);font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;color:var(--mute);line-height:1.6}
.moves .after b{color:var(--ink);font-weight:500}
/* sleeves in an offer (the two sides as sleeves) */
.moves .offer{padding:14px 16px;display:grid;gap:10px}
.moves .offer .hd{display:flex;justify-content:space-between;gap:8px;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.moves .swap{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}
.moves .swap .arrow{font-family:var(--mono);font-size:14px;color:var(--mute)}
.moves .mshelf{display:grid;gap:6px}
.moves .slv{position:relative;padding-top:14px}
.moves .slv .dv{position:absolute;left:0;right:0;top:14px;bottom:0;background:var(--ink);border-radius:3px}
.moves .slv .tab{position:absolute;left:0;top:0;height:15px;padding:0 6px;border-radius:5px 5px 0 0;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:6.5px;letter-spacing:.08em;text-transform:uppercase;line-height:15px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}
.moves .slv .sl{position:relative;margin:7px 4px 4px;background:#FFFFFF;color:#111;border-radius:2px;padding:7px 8px;display:flex;justify-content:space-between;align-items:baseline;gap:6px;min-height:34px}
.moves .slv .nm{font-weight:700;font-size:11px;letter-spacing:-.01em;text-transform:uppercase;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.moves .slv .bk{font-family:var(--mono);font-size:7.5px;letter-spacing:.1em;text-transform:uppercase;color:#6B6A66;white-space:nowrap}
.moves .offer .who{font-size:12.5px;line-height:1.4}
.moves .offer .acts{display:flex;gap:6px;flex-wrap:wrap}
.moves .offer .acts button{height:36px;padding:0 12px;border-radius:9px;background:transparent;color:var(--ink);border:1px solid var(--rule-strong);font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.moves .offer .acts button.solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.moves .offer .acts button:hover{border-color:var(--ink)}
.moves .closed{padding:14px 16px;border:1px dashed var(--rule-strong);border-radius:12px;font-family:var(--mono);font-size:9.5px;line-height:1.6;color:var(--mute);letter-spacing:.06em}
/* ── drops · LABEL STYLES · LS-1 (10/3): the C4 card (seat.css .llc4card · .llc4 · .llgo · .llblock) — r12 as drawn ── */
.moves .llc4card{border-radius:12px}
.moves #drops{display:grid;gap:10px}
/* ── the viewer's block (A7) in place of a claim's Seal + Withdraw · an offer's answers ── */
.moves .ccard .llblock,.moves .offer .llblock,.moves .tcard .llblock{margin-top:12px}.moves .offer .llblock,.moves .tcard .llblock{margin-top:0}
/* ── the Log · LS-1 (D9): the label's own moves (seat.css .llrows · .llrow) — the card r12 · padding 4 16 ── */
.moves .log{margin-top:28px}
.moves .lrows{margin-top:10px;padding:4px 16px;border-radius:12px}
.moves .lrows .mempty{padding:18px 0}
.moves .toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);z-index:60;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:10px 14px;border-radius:10px;box-shadow:0 20px 40px -20px rgba(0,0,0,.6);animation:llrise .18s ease both;max-width:calc(100vw - 32px);text-align:center}
@media (min-width:900px){.moves .toast{bottom:32px}}
/* ── phone: the segmented control, one column ── */
@media (max-width:899px){
  .moves .mbody{padding:18px 18px 120px}
  .moves .mseg{display:inline-flex;background:var(--sunk);border-radius:10px;padding:3px;gap:2px;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase}
  .moves .mseg button{padding:7px 11px;border-radius:7px;background:transparent;color:var(--ink2);border:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit}
  .moves .mseg button.on{background:var(--ink);color:var(--paper)}
  .moves .cols{grid-template-columns:minmax(0,1fr);gap:0;margin-top:16px}
  .moves .mcol{display:none}.moves .mcol.on{display:flex}.moves .mcol > .rulebrow{display:none}
  .moves .log{display:none;margin-top:16px}.moves .log.on{display:block}.moves .lrows{padding:2px 14px}
  .moves .subnav{display:none}
}

/* 9/27 (Lake's render review): the sealed-bid card's FAILING state is the one red — the box, the amount, the line under it */
.moves .bidbox.busted{box-shadow:inset 0 0 0 1px #C8271E}.moves .bidbox.busted input{border-color:#C8271E;color:#C8271E}.moves .bidbox.busted .ft .after{color:#C8271E}
