/* Cases and battles — warm brass panels with a honeycomb-inspired reveal floor. */
.case-layout,
.case-battle-layout { grid-template-columns: 330px minmax(0, 1fr); align-items: start; }
.case-layout { grid-template-columns: minmax(0, 1fr); }
.case-controls,
.case-battle-controls {
  align-content: start;
  gap: 16px;
  border-color: rgba(230,190,91,.19);
  background:
    radial-gradient(ellipse at 100% 0%, rgba(221,173,69,.09), transparent 32%),
    linear-gradient(155deg,#1b241d,#151c17 72%);
  box-shadow: inset 0 1px rgba(255,239,189,.045),0 12px 32px rgba(0,0,0,.2);
}
.case-controls { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px 16px; }
.case-controls > .case-control-section,
.case-controls > .case-legal-note,
.case-controls > #caseOpenButton { grid-column: 1 / -1; }
.case-control-section { min-width: 0; }
.case-control-row { display: grid; gap: 2px; }
.case-control-row .field-label { margin-bottom: 6px; }
.case-choice-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.case-loading-note { margin: 7px 0 0; }
.case-choice {
  position: relative; display: grid; grid-template-rows: minmax(145px,1fr) auto; align-content: stretch; gap: 10px;
  width: 100%; min-height: 255px; padding: 12px; border: 1px solid rgba(230,190,91,.16); border-radius: 15px;
  background: linear-gradient(115deg,rgba(255,255,255,.025),transparent 58%),#141c17; color: var(--text);
  text-align: left; cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.case-choice:hover { transform: translateY(-1px); border-color: rgba(245,217,143,.55); }
.case-choice[aria-pressed="true"],
.case-choice.selected { border-color: rgba(240,203,108,.72); background: linear-gradient(115deg,rgba(220,174,70,.12),transparent 72%),#202a21; box-shadow: inset 0 -3px #e4bc59,0 5px 16px rgba(0,0,0,.14); }
.case-choice-art {
  display: grid; place-items: center; width: 100%; min-width: 0; min-height: 0; overflow: hidden;
  border: 1px solid rgba(234,194,101,.13); border-radius: 12px;
  background: radial-gradient(ellipse at 50% 60%,rgba(224,176,67,.14),transparent 66%),rgba(6,11,8,.24);
}
.case-choice-image { display: block; width: min(100%,250px); height: 100%; object-fit: contain; filter: drop-shadow(0 10px 12px rgba(0,0,0,.22)); transition: transform .22s ease; }
.case-choice.selected .case-choice-image { transform: translateY(-3px) scale(1.04); }
.case-choice-copy { display: grid; gap: 7px; min-width: 0; }
.case-choice-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 7px; min-width: 0; }
.case-choice-copy strong { color: var(--text); font: 600 16px/1.2 var(--display); }
.case-choice-price { flex: 0 0 auto; color: var(--honey2); font: 700 13px var(--display); white-space: nowrap; }
.case-choice-tier-strip { display: flex; align-items: center; gap: 1px; min-width: 0; }
.case-choice-tier { display: grid; place-items: center; flex: 0 0 20px; width: 20px; height: 20px; filter: saturate(.82); }
.case-choice-tier .case-art-svg { display: block; width: 20px; height: 20px; }
.case-choice-odds,
.case-odds-toggle summary {
  border: 1px solid rgba(231,194,120,.22); border-radius: 9px; padding: 6px 9px;
  background: rgba(0,0,0,.2); color: var(--muted); font-size: 11px; font-weight: 700; cursor: pointer; list-style: none;
}
.case-odds-toggle summary::-webkit-details-marker { display: none; }
.case-odds-toggle summary::after { content: "+"; margin-left: 9px; color: var(--honey2); }
.case-odds-toggle[open] summary::after { content: "−"; }
.case-choice-odds:hover,
.case-odds-toggle summary:hover { color: var(--honey2); border-color: var(--honey); }
.case-odds-area { border: 1px solid rgba(231,194,120,.14); border-radius: 13px; padding: 12px; background: rgba(0,0,0,.14); }
.case-odds-area .field-label { margin-bottom: 9px; }
.case-odds-toggle { display: flex; gap: 7px; }
.case-odds-content { min-height: 18px; margin-top: 8px; color: var(--dim); font-size: 12px; }
.case-skip-toggle { padding: 2px 0; }
.case-status { min-height: 2.8em; margin: -7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.case-legal-note { margin: -5px 0 0; padding: 10px 11px; border-left: 2px solid rgba(232,185,83,.62); background: rgba(232,185,83,.045); }
.case-main-column { display: grid; gap: 15px; min-width: 0; }
.case-summary {
  position: relative; min-height: 70px; display: flex; align-items: center; gap: 14px; padding: 15px 18px;
  overflow: hidden; border-color: rgba(230,190,91,.19); color: var(--muted);
  background: radial-gradient(ellipse at 0% 50%,rgba(221,173,69,.09),transparent 35%),linear-gradient(100deg,#1b241d,#171e19);
}
.case-summary:not(:empty) { border-left: 3px solid #d9ad49; }
.case-summary:empty::before { content: "Honey spent and won will show here."; color: var(--dim); font-size: 13px; }
.case-stage-heading { position: absolute; top: 17px; left: 20px; right: 20px; z-index: 2; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.case-stage-heading > span { color: var(--honey2); font: 600 17px var(--display); }
.case-stage-heading small { color: var(--dim); font-size: 11px; text-align: right; }
.case-stage {
  position: relative; isolation: isolate; min-height: 410px; display: flex; flex-direction: column; justify-content: center;
  padding: 70px 22px 24px; border-color: rgba(231,194,120,.2);
  background: radial-gradient(ellipse at 50% 112%,rgba(214,167,59,.11),transparent 54%),linear-gradient(145deg,#1c271f,#141b16 74%);
}
.case-stage::before {
  position: absolute; inset: 0; z-index: -1;
  background-image:
    linear-gradient(30deg,rgba(231,194,120,.025) 12%,transparent 12.5%,transparent 87%,rgba(231,194,120,.025) 87.5%,rgba(231,194,120,.025)),
    linear-gradient(150deg,rgba(231,194,120,.025) 12%,transparent 12.5%,transparent 87%,rgba(231,194,120,.025) 87.5%,rgba(231,194,120,.025));
  background-size: 34px 58px; content: ""; pointer-events: none;
}
.case-reel-stack,
.case-battle-reels { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 12px; width: 100%; }
.case-reel { min-height: 230px; display: grid; align-content: center; justify-items: center; gap: 12px; padding: 16px; border: 1px solid rgba(231,194,120,.24); border-radius: 17px; background: #111815; box-shadow: 0 3px 0 rgba(0,0,0,.28); }
.case-reel-label { color: var(--dim); font-size: 11px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.case-reel-track { position: relative; width: 100%; min-height: 105px; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(232,185,83,.17); border-radius: 12px; background: rgba(0,0,0,.25); }
.case-reel-track::after { content: ""; position: absolute; inset: 0; pointer-events: none; border-block: 1px solid rgba(245,217,143,.32); background: linear-gradient(180deg,rgba(0,0,0,.26),transparent 36%,transparent 64%,rgba(0,0,0,.26)); }
.case-reel-prize { color: var(--honey2); font: 600 22px/1.15 var(--display); text-align: center; }
.case-empty-stage { position: absolute; inset: 0; display: grid; align-content: center; justify-items: center; gap: 13px; color: var(--dim); pointer-events: none; }
.case-empty-stage p { margin: 0; font-size: 13px; }
.case-stage-mark { display: grid; place-items: center; width: 142px; height: 132px; border: 0; background: none; animation: case-art-bob 3.2s ease-in-out infinite; }
.case-stage-mark .case-art-svg { display: block; width: 142px; height: 142px; }
.case-stage:has(#caseReelStack:not(:empty)) .case-empty-stage,
.case-battle-stage:has(#caseBattleReelStack:not(:empty)) .case-empty-stage { display: none; }
.case-history-panel { padding: 17px 19px; }
.case-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.case-section-heading h2 { margin: 0; color: var(--text); font: 600 18px var(--display); }
.case-section-heading > span { color: var(--dim); font-size: 11px; }
.case-history { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.case-history-pill { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 5px 10px 5px 6px; overflow: hidden; border: 1px solid rgba(232,185,83,.2); border-radius: 999px; background: rgba(0,0,0,.22); color: var(--honey2); font-size: 11px; white-space: nowrap; }
.case-history-icon { display: grid; place-items: center; flex: 0 0 20px; width: 20px; height: 20px; }
.case-history-icon .case-art-svg { display: block; width: 20px; height: 20px; }
.case-history-label { overflow: hidden; text-overflow: ellipsis; }
.case-history-empty { margin: 13px 0 0; color: var(--dim); font-size: 12px; }
.case-history:not(:empty) + .case-history-empty { display: none; }

/* Battle setup and server-fed arena placeholders. */
.case-battle-case-rows { display: grid; gap: 8px; }
.case-battle-case-row { display: grid; grid-template-columns: minmax(0,1fr) 36px; align-items: center; gap: 7px; }
.case-battle-case-row select { min-width: 0; }
.case-battle-case-row button { width: 36px; height: 40px; border: 1px solid rgba(231,194,120,.2); border-radius: 10px; background: rgba(0,0,0,.2); color: var(--muted); cursor: pointer; }
.case-battle-case-row button:hover { border-color: var(--lose); color: #ff9b8d; }
.case-add-button { width: 100%; justify-content: center; padding: 10px 14px; }
.case-mode-segment button { min-height: 38px; }
.case-entry-cost { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 13px; border: 1px solid rgba(231,194,120,.18); border-radius: 12px; background: rgba(0,0,0,.18); color: var(--muted); font-size: 13px; }
.case-entry-cost b { color: var(--honey2); font: 600 18px var(--display); }
.case-battle-banner { min-height: 0; color: var(--honey2); font-family: var(--display); font-size: clamp(20px,3vw,30px); text-align: center; }
.case-battle-banner:empty { display: none; }
.case-battle-participants,
.case-battle-progress,
.case-battle-results { display: grid; gap: 13px; min-height: 66px; padding: 16px 19px; }
.case-battle-participant-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(125px,1fr)); gap: 8px; }
.case-battle-participant { padding: 10px 12px; border: 1px solid rgba(231,194,120,.16); border-radius: 11px; background: rgba(0,0,0,.17); color: var(--muted); font-size: 12px; }
.case-battle-progress-track { height: 8px; overflow: hidden; border-radius: 99px; background: rgba(0,0,0,.35); }
.case-battle-progress-track > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#b98535,var(--honey2)); }
.case-battle-stage { min-height: 330px; display: flex; flex-direction: column; justify-content: center; padding: 66px 20px 20px; background: #17211c; }
.case-battle-stage .case-reel { min-height: 190px; }
.case-battle-results [data-result],
.case-battle-result { padding: 10px 12px; border: 1px solid rgba(231,194,120,.16); border-radius: 10px; background: rgba(0,0,0,.17); color: var(--muted); }

.case-card-art { position: relative; z-index: 1; flex: 0 0 auto; width: 58%; max-width: 164px; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; gap: 0; margin: 0 auto 10px; }
.case-card-art.case-case-card-art,
.case-card-art.battle-card-art { width: 76%; max-width: 195px; }
.case-card-box-art { display: block; flex: 0 0 33%; width: 33%; }
.case-card-box-art .case-art-svg { display: block; width: 100%; height: auto; overflow: visible; }
.game-card .case-card-art { border: 1px solid color-mix(in srgb, var(--card-accent) 42%, #26312b); border-radius: 16px; background: color-mix(in srgb, var(--card-accent) 14%, #111714); box-shadow: 0 3px 0 rgba(0,0,0,.28); }
.case-card-box-art.is-left { transform: rotate(-10deg) translateY(5px); }
.case-card-box-art.is-center { z-index: 1; transform: translateY(-4px); }
.case-card-box-art.is-right { transform: rotate(10deg) translateY(5px); }
.battle-card-art .case-card-box-art { flex-basis: 39%; width: 39%; }
.battle-card-art .case-card-versus { z-index: 2; display: grid; place-items: center; flex: 0 0 20%; width: 20%; min-height: 22px; border: 1px solid rgba(255,236,177,.58); border-radius: 99px; background: #dcae42; color: #35250e; font: 700 10px/1 var(--display); box-shadow: 0 2px 0 rgba(0,0,0,.3); }
.case-lobby-card .case-card-art { flex: 0 0 auto; }
.battle-lobby-card .case-card-art { margin-bottom: 10px; }
.case-battle-unavailable { cursor: default; }
.case-battle-maintenance {
  width: min(100%, 760px);
  margin: clamp(24px, 8vh, 80px) auto;
  padding: clamp(22px, 5vw, 42px);
  border: 1px solid rgba(231,194,120,.28);
  border-left: 4px solid var(--honey2);
  background: #18211b;
  text-align: center;
}
.case-battle-maintenance h1 {
  margin: 0;
  color: var(--text);
  font: 700 clamp(24px, 4vw, 36px)/1.15 var(--display);
}
.case-battle-maintenance p {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}
@media (max-width: 900px) {
  .case-layout,
  .case-battle-layout { grid-template-columns: minmax(0,1fr); }
  .case-layout .case-controls { order: 0; }
  .case-layout .case-main-column { order: 1; }
  .case-controls { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .case-controls > .case-control-section,
  .case-controls > .case-status,
  .case-controls > .case-legal-note { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .case-controls { gap: 12px; padding: 14px; }
  .case-choice-list { gap: 7px; }
  .case-choice { min-height: 220px; grid-template-rows: minmax(112px,1fr) auto; gap: 8px; padding: 8px; }
  .case-choice-copy { gap: 5px; }
  .case-choice-heading { flex-wrap: wrap; align-items: flex-start; gap: 3px 6px; }
  .case-choice-copy strong { font-size: 13px; }
  .case-choice-price { font-size: 11px; }
  .case-choice-tier-strip { gap: 1px; }
  .case-choice-tier,
  .case-choice-tier .case-art-svg { flex: 0 0 15px; width: 15px; height: 15px; }
  .case-stage { min-height: 330px; padding: 62px 13px 17px; }
  .case-battle-stage { min-height: 300px; padding-inline: 12px; }
  .case-stage-heading { top: 13px; left: 14px; right: 14px; }
  .case-stage-heading > span { font-size: 15px; }
  .case-stage-heading small { max-width: 52%; }
  .case-reel-stack,
  .case-battle-reels { grid-template-columns: repeat(auto-fit,minmax(125px,1fr)); gap: 8px; }
  .case-reel { min-height: 185px; padding: 10px; }
  .case-reel-track { min-height: 85px; }
  .case-reel-prize { font-size: 18px; }
  .case-summary { padding: 13px; }
  .case-battle-participants,
  .case-battle-progress,
  .case-battle-results { padding: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .case-choice,
  .case-choice-image { transition: none; }
}

.case-choice-wrap { display: grid; gap: 7px; min-width: 0; }
.case-choice-copy { pointer-events: none; }
.case-choice-details { min-width: 0; margin-left: 7px; }
.case-choice-details > summary { width: max-content; max-width: 100%; }
.case-odds-table { width: 100%; border-collapse: collapse; margin-top: 7px; }
.case-odds-table th,
.case-odds-table td { padding: 6px 7px; border-bottom: 1px solid rgba(231,194,120,.1); text-align: left; font-size: 11px; }
.case-odds-table th { font-weight: 700; }
.case-odds-table td:last-child { text-align: right; white-space: nowrap; color: var(--muted); }
.case-odds-table tr:last-child th,
.case-odds-table tr:last-child td { border-bottom: 0; }
.case-choice-details[open] { padding: 7px 9px; border: 1px solid rgba(231,194,120,.12); border-radius: 10px; background: rgba(0,0,0,.12); }

.case-reel-label { letter-spacing: 0; text-transform: none; }
.case-reel-track { display: block; min-height: 184px; }
.case-reel-strip { position: relative; z-index: 1; display: flex; align-items: center; gap: 8px; width: max-content; min-height: 180px; padding: 12px 10px; will-change: transform; }
.case-reel-track::after { z-index: 0; }
.case-reel-tile {
  --rarity-ink: #f0eee0;
  --rarity-pale: rgba(255,255,255,.035);
  --rarity-bar: #aeb8b1;
  --rarity-ring: #9ba8a1;
  position: relative; isolation: isolate; flex: 0 0 116px; display: grid; grid-template-rows: 68px auto auto auto;
  align-content: center; justify-items: center; gap: 3px; min-height: 156px; padding: 7px 7px 12px;
  overflow: hidden; border: 2px solid color-mix(in srgb,var(--rarity-ring) 70%,#333b32); border-radius: 11px;
  background: linear-gradient(155deg,#29332b,#1a231d 66%); color: var(--rarity-ink);
  box-shadow: 0 5px 16px rgba(0,0,0,.26); text-align: center; transition: transform .32s cubic-bezier(.2,.8,.2,1), box-shadow .24s ease;
}
.case-reel-tile::before { position: absolute; z-index: -1; right: 0; bottom: 0; left: 0; height: 40%; background: var(--rarity-pale); content: ""; }
.case-reel-tile::after { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; height: 5px; background: var(--rarity-bar); content: ""; }
.case-reel-tile > * { position: relative; z-index: 1; }
.case-reel-tile .case-prize-art { display: grid; place-items: center; width: 68px; height: 68px; }
.case-reel-tile .case-prize-art .case-art-svg { display: block; width: 68px; height: 68px; }
.case-reel-tile.is-compact { flex-basis: 106px; min-height: 150px; grid-template-rows: 62px auto auto auto; }
.case-reel-tile.is-compact .case-prize-art,
.case-reel-tile.is-compact .case-prize-art .case-art-svg { width: 60px; height: 60px; }
.case-reel-marker { position: absolute; z-index: 3; inset: 0 auto 0 50%; width: 2px; background: var(--honey2); pointer-events: none; }
.case-reel-marker::before,
.case-reel-marker::after { content: ""; position: absolute; left: 50%; width: 0; height: 0; border-inline: 6px solid transparent; transform: translateX(-50%); }
.case-reel-marker::before { top: 0; border-top: 8px solid var(--honey2); }
.case-reel-marker::after { bottom: 0; border-bottom: 8px solid var(--honey2); }
.case-rarity { color: var(--rarity-ink); font-size: 11px; font-weight: 700; }
.case-prize-amount { color: #fff1c2; font: 700 19px/1 var(--display); }
.case-prize-unit { color: #d4cfb8; font-size: 10px; }
.case-reel-tile.rarity-common { --rarity-ink:#e2e6e2; --rarity-pale:rgba(164,180,169,.11); --rarity-bar:#9ba8a1; --rarity-ring:#87958d; }
.case-reel-tile.rarity-uncommon { --rarity-ink:#b8e9bf; --rarity-pale:rgba(66,169,93,.12); --rarity-bar:#42a95d; --rarity-ring:#36934f; }
.case-reel-tile.rarity-rare { --rarity-ink:#b9dcff; --rarity-pale:rgba(57,139,212,.13); --rarity-bar:#398bd4; --rarity-ring:#2878bd; }
.case-reel-tile.rarity-epic { --rarity-ink:#e0c8ff; --rarity-pale:rgba(145,98,200,.14); --rarity-bar:#9162c8; --rarity-ring:#7d50b3; }
.case-reel-tile.rarity-legendary { --rarity-ink:#ffe7a2; --rarity-pale:rgba(195,147,41,.16); --rarity-bar:#c39329; --rarity-ring:#aa7c1e; }
.case-reel-tile.rarity-mythic { --rarity-ink:#ffc1da; --rarity-pale:rgba(207,95,145,.14); --rarity-bar:#cf5f91; --rarity-ring:#b8497b; }
.case-reel-tile.rarity-gifted { --rarity-ink:#fff0bd; --rarity-pale:rgba(185,162,233,.16); --rarity-ring:#bca2e9; background:linear-gradient(145deg,#403b34,#292b28 72%); }
.case-reel-tile.is-winner { z-index: 2; transform: scale(1.045) rotate(3deg); outline: 2px solid #172019; box-shadow: 0 0 0 4px var(--rarity-ring),0 8px 22px rgba(0,0,0,.32); }
.case-reel-tile.is-winner .case-prize-art .case-art-svg { animation: case-prize-pop .62s cubic-bezier(.18,.9,.25,1.35) both; }
.case-reel.has-premium-win { border: 2px solid #f4d16a; box-shadow: 0 4px 0 rgba(0,0,0,.35); }
@keyframes case-prize-pop { 0% { transform: scale(.76) translateY(7px); } 58% { transform: scale(1.18) translateY(-4px); } 78% { transform: scale(.96); } 100% { transform: scale(1); } }
.rarity-common { color: #b8c0bc !important; }
.rarity-uncommon { color: #78ce8b !important; }
.rarity-rare { color: #77b8ff !important; }
.rarity-epic { color: #c195ff !important; }
.rarity-legendary { color: #f0c55c !important; }
.rarity-mythic { color: #f08bc1 !important; }
.rarity-gifted { color: #f4dc6f !important; }
.case-summary { display: grid; align-content: center; gap: 9px; }
.case-summary > strong { color: var(--honey2); font: 600 17px var(--display); }
.case-summary-values { display: flex; flex-wrap: wrap; gap: 12px 22px; }
.case-summary-item { display: grid; gap: 3px; }
.case-summary-item small { color: var(--dim); font-size: 10px; }
.case-summary-item b { color: var(--text); font-size: 12px; }
.case-history-pill.rarity-common { border-color: #9ba8a1; color: #d2d9d5; }
.case-history-pill.rarity-uncommon { border-color: #42a95d; }
.case-history-pill.rarity-rare { border-color: #398bd4; }
.case-history-pill.rarity-epic { border-color: #9162c8; }
.case-history-pill.rarity-legendary { border-color: #c39329; }
.case-history-pill.rarity-mythic { border-color: #cf5f91; }
.case-history-pill.rarity-gifted { border-color: #bca2e9; }
.case-odds-rarity-content { display: flex; align-items: center; gap: 6px; }
.case-odds-prize-art { display: grid; place-items: center; flex: 0 0 22px; width: 22px; height: 22px; }
.case-odds-prize-art .case-art-svg { display: block; width: 22px; height: 22px; }
.case-odds-rarity-name { font-weight: 700; }
.case-battle-participant-list,
.case-battle-result-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 8px; }
.case-battle-participant { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 5px 8px; min-width: 0; }
.case-battle-participant strong { overflow-wrap: anywhere; color: var(--text); font: 600 14px var(--display); }
.case-participant-badge { justify-self: end; padding: 3px 7px; border-radius: 999px; background: rgba(232,185,83,.1); color: var(--honey2); font-size: 10px; font-weight: 700; }
.case-battle-participant small { grid-column: 1 / -1; color: var(--dim); font-size: 10px; }
.case-participant-total { grid-column: 1 / -1; color: var(--text); font-size: 12px; }
.case-battle-progress-content { display: grid; gap: 9px; }
.case-battle-progress-content p { margin: 0; color: var(--muted); font-size: 12px; }
.case-battle-result-list { grid-template-columns: 1fr; }
.case-battle-result { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 10px; font-size: 12px; }
.case-battle-result.is-winner { border-color: rgba(232,185,83,.45); background: rgba(232,185,83,.07); }
.case-battle-result b { color: var(--text); white-space: nowrap; }
.case-battle-result small { color: var(--dim); white-space: nowrap; }
.case-battle-pot { grid-column: 1 / -1; margin: 0; color: var(--honey2); font-size: 12px; font-weight: 700; }
.case-entry-cost b.is-over-limit { color: var(--lose); }
.case-battle-remove-case:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 480px) {
  .case-choice { grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(100px,1fr) auto; gap: 7px; padding: 7px; }
  .case-choice-art { width: 100%; }
  .case-choice-image { width: min(100%,140px); }
  .case-choice-copy strong { font-size: 14px; }
  .case-choice-price { font-size: 11px; }
  .case-choice-tier-strip { gap: 0; }
  .case-choice-tier,
  .case-choice-tier .case-art-svg { flex-basis: 15px; width: 15px; height: 15px; }
  .case-battle-result { grid-template-columns: minmax(0,1fr) auto; }
  .case-battle-result small { grid-column: 1 / -1; }
  .case-summary-values { gap: 10px 14px; }
  .case-reel-tile { flex-basis: 100px; min-height: 148px; grid-template-rows: 58px auto auto auto; padding: 6px 6px 11px; }
  .case-reel-tile.is-compact { flex-basis: 96px; min-height: 142px; grid-template-rows: 54px auto auto auto; }
  .case-reel-tile .case-prize-art,
  .case-reel-tile .case-prize-art .case-art-svg { width: 56px; height: 56px; }
  .case-reel-tile.is-compact .case-prize-art,
  .case-reel-tile.is-compact .case-prize-art .case-art-svg { width: 52px; height: 52px; }
  .case-reel-track { min-height: 172px; }
  .case-reel-strip { min-height: 168px; padding-block: 10px; }
  .case-stage-mark { width: 118px; height: 114px; }
  .case-stage-mark .case-art-svg { width: 118px; height: 118px; }
  .case-card-art { width: 62%; }
  .case-card-art.case-case-card-art,
  .case-card-art.battle-card-art { width: 76%; }
  .battle-card-art .case-card-versus { min-height: 20px; font-size: 9px; }
}
@keyframes case-art-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@media (prefers-reduced-motion: reduce) {
  .case-choice,
  .case-choice-art .case-art-svg { transition: none; }
  .case-stage-mark { animation: none; }
  .case-reel-tile { transition: none; }
  .case-reel-tile.is-winner .case-prize-art .case-art-svg { animation: none; }
}

/* Case Battles — a compact honey-brass lobby opening into a four-seat arena. */
.case-battle-layout { gap: 18px; }
.case-battle-controls {
  position: sticky;
  top: 18px;
  gap: 17px;
  padding: 20px;
  border: 1px solid rgba(236,196,105,.22);
  background:
    radial-gradient(ellipse at 8% 0%, rgba(218,166,57,.11), transparent 38%),
    #171d19;
  box-shadow: 0 15px 38px rgba(0,0,0,.2), inset 0 1px rgba(255,239,189,.035);
}
.case-battle-setup-intro { display: grid; gap: 4px; padding-bottom: 12px; border-bottom: 1px solid rgba(231,194,120,.15); }
.case-battle-kicker { color: var(--honey2); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.case-battle-setup-intro p { margin: 0; color: var(--muted); font: 500 16px/1.35 var(--display); }
.case-battle-controls .case-section-heading { align-items: center; margin-bottom: 9px; }
.case-battle-controls .case-section-heading .field-label { margin: 0; }
.case-battle-order-note { color: var(--dim); font-size: 10px; }
.case-battle-case-picker { display: grid; gap: 9px; }
.case-battle-case-rows { counter-reset: battle-case; gap: 7px; }
.case-battle-case-row {
  position: relative;
  grid-template-columns: 25px minmax(0,1fr) 34px;
  gap: 5px;
  counter-increment: battle-case;
}
.case-battle-case-row::before {
  display: grid;
  place-items: center;
  color: var(--honey2);
  font: 700 10px var(--display);
  content: counter(battle-case, decimal-leading-zero);
}
.case-battle-case-row select { grid-column: 2; min-height: 41px; padding-inline: 10px 26px; font-size: 12px; }
.case-battle-case-row button { grid-column: 3; width: 34px; height: 41px; color: #d4b66e; }
.case-battle-case-row button:hover { background: rgba(213,88,69,.12); }
.case-battle-controls .case-add-button { min-height: 40px; border-style: dashed; border-color: rgba(234,194,100,.33); background: rgba(224,174,66,.055); color: var(--honey2); }
.case-battle-controls .case-add-button:hover { border-color: var(--honey); background: rgba(224,174,66,.11); }
.case-battle-controls .field-label { color: #d6d6c9; }
.case-battle-format { min-height: 42px; border-color: rgba(231,194,120,.24); background-color: #111713; }
.case-mode-segment { padding: 4px; border: 1px solid rgba(231,194,120,.17); border-radius: 12px; background: rgba(0,0,0,.18); }
.case-battle-controls .case-mode-segment button { flex: 1; min-height: 38px; border-radius: 9px; color: var(--muted); font-weight: 700; }
.case-battle-controls .case-mode-segment button.on { border: 1px solid rgba(255,224,145,.25); background: linear-gradient(180deg,#d4a843,#a97527); color: #271d0d; box-shadow: 0 2px 7px rgba(0,0,0,.25); }
.case-battle-controls .case-mode-segment button:not(.on):hover { color: var(--honey2); }
.case-entry-cost { border-color: rgba(235,195,103,.25); background: rgba(0,0,0,.24); }
.case-entry-cost > span { color: #c7c5b7; }
.case-entry-cost b { font-size: 19px; }
.case-battle-toggles { display: grid; gap: 8px; }
.case-battle-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 51px;
  padding: 8px 10px;
  border: 1px solid rgba(231,194,120,.13);
  border-radius: 11px;
  background: rgba(0,0,0,.13);
  cursor: pointer;
}
.case-battle-toggle input { accent-color: #d5a641; }
.case-battle-toggle span { display: grid; gap: 2px; }
.case-battle-toggle b { color: var(--text); font-size: 12px; font-weight: 700; }
.case-battle-toggle small { color: var(--dim); font-size: 10px; }
.case-battle-controls .case-skip-toggle { padding: 8px 10px; }
.case-battle-controls .btn-primary.big { min-height: 48px; border: 1px solid rgba(255,232,160,.25); background: linear-gradient(180deg,#e0b64f,#ae7929); color: #2a1f0b; box-shadow: 0 4px 0 #75501f, 0 8px 16px rgba(0,0,0,.18); font-weight: 800; letter-spacing: .015em; }
.case-battle-controls .btn-primary.big:hover:not(:disabled) { transform: translateY(-1px); filter: brightness(1.06); }
.case-battle-controls .btn-primary.big:active:not(:disabled) { transform: translateY(2px); box-shadow: 0 2px 0 #75501f; }
.case-battle-controls .case-status { margin: -5px 0 0; }
.case-battle-controls .case-legal-note { border-left-color: rgba(235,194,99,.75); background: rgba(232,185,83,.055); }

.case-main-column { gap: 12px; }
.case-battle-banner {
  padding: 0 10px;
  color: #f0ce79;
  font-size: clamp(20px,2.8vw,29px);
  font-weight: 700;
  text-shadow: 0 2px 18px rgba(214,164,49,.16);
}
.case-battle-arena-intro {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 64px minmax(120px,.8fr) minmax(245px,1.2fr);
  align-items: center;
  gap: 14px;
  min-height: 112px;
  padding: 16px 19px;
  overflow: hidden;
  border: 1px solid rgba(231,194,120,.2);
  border-radius: 16px;
  background:
    radial-gradient(ellipse at 5% 50%, rgba(213,166,57,.12), transparent 40%),
    linear-gradient(115deg,#1b241e,#151b17 70%);
  box-shadow: inset 0 1px rgba(255,239,189,.035), 0 8px 22px rgba(0,0,0,.13);
  animation: case-battle-arrive 1s cubic-bezier(.2,.8,.2,1) both;
}
.case-battle-arena-intro::after {
  position: absolute;
  z-index: -1;
  top: -36px;
  right: 9%;
  width: 105px;
  aspect-ratio: 1;
  border: 1px solid rgba(234,190,91,.075);
  border-radius: 30%;
  transform: rotate(30deg);
  box-shadow: 0 0 0 16px rgba(234,190,91,.018), 0 0 0 32px rgba(234,190,91,.012);
  content: "";
}
.case-battle-round-art {
  position: relative;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 1px solid rgba(244,211,131,.25);
  border-radius: 17px;
  background: linear-gradient(145deg,rgba(224,177,72,.16),rgba(15,22,18,.8));
}
.case-battle-round-art::before {
  width: 24px;
  height: 27px;
  border: 1px solid rgba(244,211,131,.68);
  border-radius: 7px 7px 9px 9px;
  background: linear-gradient(145deg,rgba(243,204,103,.35),rgba(154,102,32,.22));
  box-shadow: inset 0 0 0 4px rgba(15,22,18,.34), 0 4px 12px rgba(0,0,0,.22);
  clip-path: polygon(50% 0,100% 20%,92% 78%,50% 100%,8% 78%,0 20%);
  content: "";
}
.case-battle-round-copy { display: grid; align-content: center; gap: 4px; min-width: 0; }
.case-battle-round-copy h2 { margin: 0; color: var(--text); font: 600 18px/1.15 var(--display); }
.case-battle-round-cases:empty { display: none; }
.case-battle-arena-intro .case-battle-progress {
  position: relative;
  z-index: 1;
  min-height: auto;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid rgba(231,194,120,.14);
  border-radius: 12px;
  background: rgba(5,10,7,.28);
}
.case-battle-arena-intro .case-section-heading h2 { font-size: 12px; }
.case-battle-arena-intro .case-section-heading > span { font-size: 9px; }
.case-battle-progress-content { gap: 7px; }
.case-battle-progress-content p { color: #c8c6b8; font-size: 10px; }
.case-battle-progress-track { height: 6px; background: rgba(0,0,0,.42); }
.case-battle-progress-track > span { background: linear-gradient(90deg,#a6752b,#e7c25f); }

.case-battle-participants,
.case-battle-results { border-color: rgba(231,194,120,.2); background: linear-gradient(155deg,rgba(30,38,32,.94),rgba(19,25,21,.96)); }
.case-battle-participant-list {
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 9px;
}
.case-battle-layout:has(#caseBattleFormat option[value="1v1"]:checked) .case-battle-participant-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
.case-battle-participant {
  position: relative;
  min-height: 85px;
  padding: 12px;
  border-color: rgba(231,194,120,.17);
  background: linear-gradient(145deg,rgba(5,11,7,.34),rgba(25,32,27,.65));
}
.case-battle-participant.is-player { border-color: rgba(235,197,108,.37); background: linear-gradient(145deg,rgba(221,170,55,.12),rgba(25,32,27,.7)); }
.case-battle-participant strong { font-size: 14px; }
.case-participant-badge { background: rgba(232,185,83,.13); }
.case-battle-layout:has(#caseBattleFormat option[value="2v2"]:checked) .case-battle-participant:nth-child(2) { border-right: 2px solid rgba(232,185,83,.42); }
.case-battle-layout:has(#caseBattleFormat option[value="2v2"]:checked) .case-battle-participant:nth-child(3) { border-left: 2px solid rgba(232,185,83,.42); }
.case-battle-stage {
  min-height: 346px;
  border: 1px solid rgba(231,194,120,.19);
  background:
    radial-gradient(ellipse at 50% 100%,rgba(213,166,57,.065),transparent 53%),
    linear-gradient(160deg,#19231d,#141a16 72%);
  box-shadow: inset 0 1px rgba(255,239,189,.025);
  animation: case-battle-arrive 1s .08s cubic-bezier(.2,.8,.2,1) both;
}
.case-battle-stage .case-stage-heading > span { font-size: 16px; }
.case-battle-reels { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.case-battle-layout:has(#caseBattleFormat option[value="1v1"]:checked) .case-battle-reels { grid-template-columns: repeat(2,minmax(0,1fr)); }
.case-battle-stage .case-reel { min-width: 0; min-height: 205px; padding: 10px; border-color: rgba(231,194,120,.21); background: #111713; }
.case-battle-stage .case-reel-label { max-width: 100%; overflow: hidden; color: #c0bdad; text-overflow: ellipsis; white-space: nowrap; }
.case-battle-stage .case-reel-track { min-width: 0; border-color: rgba(232,185,83,.2); background: rgba(0,0,0,.29); }
.case-battle-results { gap: 13px; }
.case-battle-result-list { gap: 8px; }
.case-battle-result { border-color: rgba(231,194,120,.14); }
.case-battle-result.is-winner { position: relative; border-color: rgba(240,205,115,.55); background: linear-gradient(105deg,rgba(214,166,57,.17),rgba(0,0,0,.18)); box-shadow: inset 3px 0 #d8ad4c; }
.case-battle-result.is-winner > span { color: #f3d47e; font-weight: 700; }
.case-battle-result-actions { display: flex; flex-wrap: wrap; gap: 9px; padding-top: 3px; }
.case-battle-result-actions button { min-height: 40px; }
.case-battle-results:not(:has(#caseBattleResultList)) .case-battle-result-actions { display: none; }

@keyframes case-battle-arrive {
  from { opacity: 0; transform: translateY(9px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 900px) {
  .case-battle-controls { position: static; }
  .case-battle-layout .case-battle-controls { order: 0; }
  .case-battle-layout .case-main-column { order: 1; }
  .case-battle-controls { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .case-battle-setup-intro,
  .case-battle-controls > .case-control-section,
  .case-battle-toggles,
  .case-battle-controls .case-status,
  .case-battle-controls .case-legal-note { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .case-battle-layout { gap: 14px; }
  .case-battle-controls { gap: 14px; padding: 15px; }
  .case-battle-arena-intro { grid-template-columns: 48px minmax(0,1fr); gap: 10px; padding: 13px; }
  .case-battle-round-art { width: 46px; height: 46px; border-radius: 14px; }
  .case-battle-round-art::before { transform: scale(.84); }
  .case-battle-arena-intro .case-battle-progress { grid-column: 1 / -1; }
  .case-battle-participants,
  .case-battle-progress,
  .case-battle-results { padding: 13px; }
  .case-battle-participant-list,
  .case-battle-layout:has(#caseBattleFormat option[value="1v1"]:checked) .case-battle-participant-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .case-battle-reels,
  .case-battle-layout:has(#caseBattleFormat option[value="1v1"]:checked) .case-battle-reels { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .case-battle-stage { min-height: 310px; padding-inline: 11px; }
  .case-battle-stage .case-reel { min-height: 180px; padding: 8px; }
}
@media (max-width: 420px) {
  .case-battle-controls { grid-template-columns: minmax(0,1fr); }
  .case-battle-controls > * { grid-column: 1; }
  .case-battle-case-row { grid-template-columns: 22px minmax(0,1fr) 32px; }
  .case-battle-participant { padding: 9px; }
  .case-battle-participant strong { font-size: 12px; }
  .case-battle-stage .case-reel-label { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .case-battle-arena-intro,
  .case-battle-stage { animation: none; }
  .case-battle-controls .btn-primary.big { transition: none; }
}

/* Server-fed seat arena and lineup controls. */
.case-battle-format {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  clip-path: inset(50%) !important;
}
.case-battle-format-picker { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin-top: 8px; }
.case-battle-format-button {
  display: grid; justify-items: center; gap: 4px; min-width: 0; padding: 9px 5px;
  border: 1px solid rgba(231,194,120,.18); border-radius: 11px; background: #121914; color: var(--muted);
  cursor: pointer; transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.case-battle-format-button:hover:not(:disabled) { border-color: rgba(237,199,111,.62); transform: translateY(-1px); }
.case-battle-format-button.is-selected { border-color: var(--honey); background: rgba(220,174,70,.12); color: var(--text); box-shadow: inset 0 -2px var(--honey); }
.case-battle-format-button:disabled { opacity: .6; cursor: not-allowed; }
.case-battle-format-button strong { color: var(--honey2); font: 700 13px/1.1 var(--display); }
.case-battle-format-button small { color: var(--dim); font-size: 9px; line-height: 1.2; }
.case-battle-format-icon { display: flex; justify-content: center; gap: 3px; min-height: 12px; }
.case-battle-format-icon i { width: 8px; height: 8px; border: 1px solid #d9b45d; border-radius: 3px; background: #40351f; }
.case-battle-case-picker { gap: 10px; }
.case-battle-available-cases { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.case-battle-case-card {
  display: grid; justify-items: center; align-content: start; gap: 5px; min-width: 0; min-height: 116px; padding: 8px 5px;
  border: 1px solid rgba(231,194,120,.16); border-radius: 12px;
  background: linear-gradient(155deg,rgba(255,255,255,.025),transparent 70%),#141c17; color: var(--text);
  cursor: pointer; transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.case-battle-case-card:hover:not(:disabled) { border-color: rgba(234,195,103,.65); background: #20281f; transform: translateY(-2px); }
.case-battle-case-card:disabled { opacity: .5; cursor: not-allowed; }
.case-battle-case-art {
  display: grid; place-items: center; width: 100%; height: 69px; overflow: hidden;
  border: 1px solid rgba(234,194,101,.12); border-radius: 8px;
  background: radial-gradient(ellipse at 50% 60%,rgba(224,176,67,.12),transparent 72%),rgba(0,0,0,.13);
}
.case-battle-case-image { display: block; width: min(100%,120px); height: 100%; object-fit: contain; filter: drop-shadow(0 6px 8px rgba(0,0,0,.25)); }
.case-battle-case-art .case-art-svg { display: block; width: 50px; height: 50px; }
.case-battle-case-card strong { max-width: 100%; overflow: hidden; color: #f3e8c5; font: 600 11px/1.15 var(--display); text-overflow: ellipsis; white-space: nowrap; }
.case-battle-case-card small { color: var(--honey2); font-size: 10px; font-weight: 700; }
.case-battle-case-rows { display: flex; flex-wrap: wrap; gap: 6px; min-height: 35px; }
.case-battle-case-row {
  display: grid; grid-template-columns: 18px 28px minmax(0,1fr) 25px; align-items: center; gap: 4px;
  max-width: 100%; min-width: 0; padding: 4px 6px 4px 4px; border: 1px solid rgba(231,194,120,.19);
  border-radius: 9px; background: rgba(0,0,0,.2);
}
.case-battle-case-row::before { display: none; }
.case-battle-case-order { color: var(--dim); font-size: 9px; font-weight: 800; text-align: center; }
.case-battle-lineup-art { display: grid; place-items: center; width: 28px; height: 27px; }
.case-battle-lineup-art .case-art-svg { width: 29px; height: 29px; }
.case-battle-lineup-info { display: grid; min-width: 0; gap: 1px; }
.case-battle-lineup-info strong { overflow: hidden; color: var(--text); font: 600 10px/1.1 var(--display); text-overflow: ellipsis; white-space: nowrap; }
.case-battle-lineup-info small { color: var(--honey2); font-size: 9px; }
.case-battle-case-row button.case-battle-case-remove { grid-column: 4; width: 24px; height: 25px; padding: 0; border-radius: 7px; font-size: 15px; line-height: 1; }
.case-battle-case-row select { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
#caseBattleParticipants[hidden],
#caseBattleResults [hidden],
.case-battle-mode-banner[hidden] { display: none !important; }

.case-controls :is(button,select,summary):focus-visible,
.case-battle-controls :is(button,select,summary):focus-visible,
.case-main-column :is(button,a):focus-visible { outline: 2px solid #f2d278; outline-offset: 3px; }

.case-battle-arena-intro { grid-template-columns: 64px minmax(0,1fr); }
.case-battle-round-art { overflow: visible; }
.case-battle-round-art::before { display: none; }
.case-battle-round-art .case-art-svg { width: 56px; height: 56px; }
.case-battle-round-copy { grid-template-columns: 1fr; }
.case-battle-round-copy > .case-battle-kicker { display: none; }
.case-battle-round-copy h2 { font-size: clamp(16px,2.2vw,20px); font-variant-numeric: tabular-nums; }
.case-battle-round-cases { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; margin-top: 5px; }
.case-battle-round-icon { display: grid; place-items: center; width: 28px; height: 28px; padding: 2px; border: 1px solid rgba(231,194,120,.13); border-radius: 8px; background: rgba(0,0,0,.2); opacity: .45; }
.case-battle-round-icon .case-art-svg { width: 24px; height: 24px; }
.case-battle-round-icon.is-done { opacity: .74; border-color: rgba(132,183,112,.42); }
.case-battle-round-icon.is-current { opacity: 1; border-color: var(--honey); box-shadow: 0 0 0 2px rgba(232,185,83,.17); }
.case-battle-participants.is-team-scoreboard { padding: 10px 14px; }
.case-battle-participants.is-team-scoreboard > .case-section-heading { display: none; }
.case-battle-team-scores { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.case-battle-team-score { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-width: 0; padding: 8px 11px; border-left: 3px solid var(--team-accent); background: rgba(0,0,0,.18); color: var(--muted); font-size: 11px; }
.case-battle-team-score b { color: var(--text); font-size: 13px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.case-battle-team-score.team-hive { --team-accent: #e5b84e; }
.case-battle-team-score.team-rivals { --team-accent: #a78bf0; }
.case-battle-mode-banner { width: fit-content; max-width: 100%; margin: -2px auto 12px; padding: 7px 13px; border: 1px solid rgba(177,139,238,.48); border-radius: 999px; background: #2a203b; color: #dec9ff; font-size: 12px; font-weight: 800; text-align: center; }
.case-battle-stage.is-entering #caseBattleReelStack { animation: case-battle-seat-enter .76s cubic-bezier(.16,.82,.22,1) both; }
.case-battle-stage.is-entering::before { position: absolute; z-index: 4; left: 50%; top: 48%; color: #f1d16f; font: 900 clamp(38px,8vw,76px)/1 var(--display); text-shadow: 0 4px 0 #7d5622, 0 0 25px rgba(238,192,75,.45); content: "VS"; transform: translate(-50%,-50%) scale(.4) rotate(-10deg); animation: case-battle-vs-stamp .82s cubic-bezier(.15,.9,.2,1.3) both; pointer-events: none; }
.case-battle-stage.is-entering .case-stage-heading { opacity: .35; }
.case-battle-reels { align-items: stretch; }
.case-battle-reels.is-team-format { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
.case-battle-team { min-width: 0; padding: 8px; border: 1px solid color-mix(in srgb,var(--team-accent) 42%,transparent); border-radius: 13px; background: rgba(0,0,0,.14); }
.case-battle-team.team-hive { --team-accent: #e8bd57; }
.case-battle-team.team-rivals { --team-accent: #a48ae8; }
.case-battle-team-head { display: flex; justify-content: space-between; gap: 5px; margin: 0 0 7px; padding: 0 2px 6px; border-bottom: 2px solid var(--team-accent); color: var(--team-accent); font-size: 10px; font-weight: 800; }
.case-battle-team-total { color: var(--text); font-size: 10px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.case-battle-team-seats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.case-battle-seat {
  position: relative; display: grid; align-content: start; min-width: 0; padding: 8px 7px;
  border: 1px solid rgba(231,194,120,.16); border-radius: 12px; background: #131a16;
  transition: border-color .2s ease, opacity .25s ease, transform .25s ease;
}
.case-battle-seat.is-player { border-color: rgba(232,185,83,.43); background: linear-gradient(155deg,rgba(220,173,63,.11),#131a16 54%); }
.case-battle-seat-head { position: relative; display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 6px; min-width: 0; }
.case-battle-avatar { display: grid; place-items: center; width: 32px; height: 32px; overflow: hidden; border: 1px solid rgba(231,194,120,.4); border-radius: 50%; background: #25271e; }
.case-battle-avatar img { width: 100%; height: 100%; object-fit: cover; }
.case-battle-avatar > svg { width: 26px; height: 26px; }
.case-battle-avatar.is-bot { border-color: rgba(177,139,238,.47); background: #282139; }
.case-battle-seat-identity { display: grid; min-width: 0; gap: 2px; }
.case-battle-seat-identity strong { overflow: hidden; color: var(--text); font: 600 11px/1.15 var(--display); text-overflow: ellipsis; white-space: nowrap; }
.case-battle-bot-badge,
.case-battle-you-badge { width: fit-content; padding: 1px 5px; border-radius: 99px; background: rgba(173,136,229,.15); color: #d1b9ff; font-size: 8px; font-weight: 800; }
.case-battle-you-badge { background: rgba(232,185,83,.13); color: var(--honey2); }
.case-battle-seat-total { grid-column: 1 / -1; color: var(--honey2); font: 700 clamp(16px,2vw,22px)/1.1 var(--display); font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.case-battle-seat-unit { position: absolute; top: 47px; right: 8px; color: var(--dim); font-size: 9px; }
.case-battle-live-reel { position: relative; display: grid; place-items: center; height: 158px; margin-top: 8px; overflow: hidden; border: 1px solid rgba(231,194,120,.14); border-radius: 9px; background: #0d130f; }
.case-battle-live-reel::before,
.case-battle-live-reel::after { position: absolute; z-index: 2; top: 50%; width: 0; height: 0; border-block: 7px solid transparent; content: ""; transform: translateY(-50%); pointer-events: none; }
.case-battle-live-reel::before { left: 2px; border-left: 8px solid #efcf71; }
.case-battle-live-reel::after { right: 2px; border-right: 8px solid #efcf71; }
.case-battle-vertical-track { position: absolute; inset: 0; overflow: hidden; }
.case-battle-vertical-strip { position: absolute; top: 0; left: 0; display: flex; flex-direction: column; align-items: center; gap: 7px; width: 100%; padding: 8px 0; transform: translate3d(0,0,0); will-change: transform; }
.case-battle-vertical-strip .case-reel-tile { flex: 0 0 138px; width: min(100%,112px); min-height: 138px; grid-template-rows: 53px auto auto auto; padding: 6px 5px 10px; }
.case-battle-vertical-strip .case-reel-tile .case-prize-art,
.case-battle-vertical-strip .case-reel-tile .case-prize-art .case-art-svg { width: 49px; height: 49px; }
.case-battle-vertical-strip .case-reel-tile .case-rarity { font-size: 10px; }
.case-battle-vertical-strip .case-reel-tile .case-prize-amount { font-size: 16px; }
.case-battle-live-reel[data-rarity="legendary"],
.case-battle-live-reel[data-rarity="mythic"],
.case-battle-live-reel[data-rarity="gifted"] { border-color: #e4bc57; box-shadow: 0 0 0 2px rgba(224,185,82,.2), 0 0 16px rgba(224,185,82,.14); }
.case-battle-seat-history { display: grid; gap: 4px; max-height: 80px; margin-top: 6px; overflow: auto; scrollbar-width: thin; }
.case-battle-history-prize { display: grid; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; gap: 4px; width: 100%; min-height: 30px; flex-basis: auto; grid-template-rows: none; padding: 3px 5px; border-width: 1px; border-radius: 8px; background: #f3f1e9; text-align: left; }
.case-battle-history-prize::before,
.case-battle-history-prize::after { display: none; }
.case-battle-history-prize .case-prize-art,
.case-battle-history-prize .case-prize-art .case-art-svg { width: 22px; height: 22px; }
.case-battle-history-prize .case-rarity { font-size: 8px; }
.case-battle-history-prize .case-prize-amount { font-size: 11px; }
.case-battle-history-prize .case-prize-unit { display: none; }
.case-battle-seat.is-round-best { border-color: #f1d271; box-shadow: 0 0 0 2px rgba(241,210,113,.3), 0 0 14px rgba(241,210,113,.18); }
.case-battle-seat.is-final-loser { opacity: .48; filter: saturate(.6); }
.case-battle-seat.is-final-winner { border-color: #f1d271; box-shadow: 0 0 0 2px rgba(241,210,113,.36), 0 0 18px rgba(241,210,113,.2); transform: translateY(-2px); }
.case-battle-winner-crown { position: absolute; top: -10px; right: -5px; z-index: 3; display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid #f4da85; border-radius: 50%; background: #4a3717; color: #f5d36d; }
.case-battle-winner-crown svg { width: 15px; height: 15px; }
.case-battle-winner-card { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; padding: 14px 16px; border: 1px solid rgba(236,197,103,.45); border-radius: 13px; background: linear-gradient(110deg,rgba(207,158,51,.16),rgba(0,0,0,.13)); color: var(--muted); }
.case-battle-winner-card strong { color: #f3d784; font: 700 20px var(--display); }
.case-battle-winner-card b { color: var(--text); font-size: 14px; }
.case-battle-results.is-player-winner .case-battle-winner-card { box-shadow: 0 0 22px rgba(231,190,79,.15); }
.case-battle-confetti { position: absolute; inset: 22% 25%; z-index: 5; overflow: visible; pointer-events: none; }
.case-battle-confetti i { --angle: calc(var(--piece-index) * 20deg); position: absolute; left: 50%; top: 50%; width: 6px; height: 10px; border-radius: 2px; background: hsl(calc(var(--piece-index) * 21),72%,64%); animation: case-battle-confetti 1.25s ease-out both; animation-delay: calc(var(--piece-index) * 12ms); }
@keyframes case-battle-confetti { to { transform: rotate(var(--angle)) translateY(calc(-45px - var(--piece-index) * 2px)); opacity: 0; } }
@keyframes case-battle-seat-enter { from { opacity: 0; transform: translateY(18px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes case-battle-vs-stamp { 0% { opacity: 0; transform: translate(-50%,-50%) scale(.35) rotate(-12deg); } 55% { opacity: 1; transform: translate(-50%,-50%) scale(1.08) rotate(3deg); } 100% { opacity: 0; transform: translate(-50%,-50%) scale(1.28) rotate(0); } }
@media (max-width: 600px) {
  .case-battle-arena-intro { grid-template-columns: 48px minmax(0,1fr); }
  .case-battle-round-art .case-art-svg { width: 45px; height: 45px; }
  .case-battle-round-cases { gap: 4px; }
  .case-battle-round-icon { width: 24px; height: 24px; }
  .case-battle-round-icon .case-art-svg { width: 21px; height: 21px; }
  .case-battle-reels.is-team-format { grid-template-columns: minmax(0,1fr); }
  .case-battle-team-seats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .case-battle-seat { padding: 7px 5px; }
  .case-battle-seat-head { grid-template-columns: 29px minmax(0,1fr); gap: 4px; }
  .case-battle-avatar { width: 27px; height: 27px; }
  .case-battle-avatar > svg { width: 22px; height: 22px; }
  .case-battle-seat-identity strong { font-size: 10px; }
  .case-battle-seat-total { font-size: clamp(14px,4vw,18px); }
  .case-battle-live-reel { height: 148px; }
  .case-battle-vertical-strip .case-reel-tile { flex-basis: 130px; min-height: 130px; grid-template-rows: 47px auto auto auto; }
  .case-battle-vertical-strip .case-reel-tile .case-prize-art,
  .case-battle-vertical-strip .case-reel-tile .case-prize-art .case-art-svg { width: 44px; height: 44px; }
  .case-battle-team-score { padding: 7px 8px; font-size: 10px; }
  .case-battle-team-score b { font-size: 11px; }
}
@media (max-width: 390px) {
  .case-battle-controls { padding: 12px; }
  .case-battle-case-card { min-height: 91px; }
  .case-battle-case-art { height: 52px; }
  .case-battle-case-art .case-art-svg { width: 43px; height: 43px; }
  .case-battle-format-button { padding-inline: 3px; }
  .case-battle-format-button small { font-size: 8px; }
  .case-battle-stage { padding-inline: 8px; }
  .case-battle-reels { gap: 6px; }
  .case-battle-seat { padding-inline: 4px; }
  .case-battle-live-reel { height: 138px; }
  .case-battle-vertical-strip .case-reel-tile { flex-basis: 122px; min-height: 122px; }
  .case-battle-seat-total { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .case-battle-format-button,
  .case-battle-case-card,
  .case-battle-seat { transition: none; }
  .case-battle-stage.is-entering #caseBattleReelStack,
  .case-battle-stage.is-entering::before,
  .case-battle-confetti i { animation: none !important; }
}

.battle-lobby-mark {
  display: grid;
  place-items: center;
  width: 76px;
  height: 58px;
  margin-bottom: 14px;
  border: 2px solid rgba(199, 165, 255, .55);
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(224, 185, 86, .2), rgba(159, 120, 216, .25));
  box-shadow: 3px 4px 0 rgba(14, 16, 14, .5);
}
.battle-lobby-mark span {
  padding: 5px 9px;
  border: 1px solid #e8c65e;
  border-radius: 999px;
  color: #f4d77a;
  font-weight: 900;
}
.case-battle-lobbies { margin-bottom: 16px; }
.case-battle-lobby-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 10px;
}
.case-battle-lobby-card {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 13px;
  border: 1px solid rgba(218, 188, 113, .24);
  border-radius: 14px;
  background: #151b17;
}
.case-battle-lobby-heading {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}
.case-battle-lobby-heading strong { color: #f0d889; }
.case-battle-lobby-heading span,
.case-battle-lobby-lineup,
.case-battle-lobby-players { color: #b8c0b9; font-size: 12px; }
.case-battle-lobby-lineup,
.case-battle-lobby-players { margin: 0; overflow-wrap: anywhere; }
.case-battle-lobby-cost { color: #e6c365; font-size: 12px; }
.case-battle-lobby-join { width: 100%; min-height: 40px; }
.case-battle-lobby-empty { grid-column: 1 / -1; margin: 4px 0; color: #aeb7ae; }
.case-battle-room-status { margin-bottom: 16px; padding: 14px; }
.case-battle-room-status > p { color: #b8c0b9; font-size: 12px; line-height: 1.5; }
.case-battle-room-seats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.case-battle-room-seat {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(232, 185, 83, .28);
  border-radius: 12px;
  background: #131914;
}
.case-battle-room-seat.is-empty { border-style: dashed; color: #8d9a8f; }
.case-battle-room-avatar,
.case-battle-empty-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
  background: #28332a;
}
.case-battle-room-identity { display: grid; min-width: 0; }
.case-battle-room-identity strong { overflow: hidden; color: #f2f0e5; text-overflow: ellipsis; white-space: nowrap; }
.case-battle-room-identity small { color: #adbaad; font-size: 10px; }
.case-battle-room-status .btn-secondary { width: 100%; }

@media (max-width: 520px) {
  .case-battle-lobbies { padding: 12px; }
  .case-battle-lobby-list { grid-template-columns: 1fr; }
  .case-battle-room-seats { gap: 6px; }
  .case-battle-room-seat { padding: 7px; }
  .case-battle-room-avatar,
  .case-battle-empty-avatar { flex-basis: 29px; width: 29px; height: 29px; }
}
