/* CASE//LAB 9.6 — case battles. Dedicated responsive, accessible lobby workspace. */
.battle-view{--battle-border:rgba(134,174,205,.23);--battle-gold:#e6c484;color:#eaf4fb}
.battle-quickstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 18px}
.battle-quickstats>div{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:12px;border:1px solid var(--battle-border);background:linear-gradient(150deg,#243f4edb,#152939e8)}
.battle-quickstats strong{font:800 27px var(--head);color:var(--battle-gold)}.battle-quickstats span{font-size:10px;letter-spacing:.09em;line-height:1.45;color:#afc3d0}
.battle-status,.battle-room-notice{border:1px solid #567e985c;background:#193344b7;border-radius:10px;padding:13px 16px;font-size:12px;color:#c9dfec;line-height:1.55;margin:0 0 17px}
.battle-status[data-error="true"]{border-color:#aa665d;color:#f4c6bd;background:#382b2fa8}
.battle-layout{display:grid;grid-template-columns:minmax(300px,.93fr) minmax(0,1.07fr);gap:16px;align-items:start}
.battle-panel{min-width:0;background:linear-gradient(150deg,#203746f2,#142330ef);border:1px solid var(--battle-border);border-radius:16px;padding:22px;box-shadow:0 18px 55px #0c1b254c}
.battle-panel-title{margin:0 0 18px;border-bottom:1px solid #5b7b9140;padding-bottom:16px}.battle-panel-title h2{font:800 clamp(24px,2.5vw,32px)/1.1 var(--head);margin:7px 0;color:#f4f8ff}.battle-panel-title p,.battle-hint,.battle-legal{font-size:11px;color:#aabfce;line-height:1.65;margin:7px 0 0}
.battle-kicker{font-size:10px;font-weight:850;color:var(--battle-gold);letter-spacing:.14em}.battle-field{display:grid;gap:8px;margin-bottom:13px}.battle-field span{font-size:10px;font-weight:850;letter-spacing:.1em;color:#b6cbd8}.battle-field select{width:100%;background:#0d1e2c;color:#ebf4fd;border:1px solid #557084;border-radius:9px;min-height:45px;padding:11px 13px;font:600 12px var(--body)}
.battle-full{width:100%;justify-content:center}.battle-lineup-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:22px 0 9px}.battle-lineup-top strong{font-size:11px;letter-spacing:.09em}.battle-lineup-top span{font-size:10px;color:var(--battle-gold);font-weight:800}
.battle-lineup,.battle-rooms-list{display:grid;gap:8px;max-height:410px;overflow-y:auto}.battle-lineup{max-height:320px}.battle-empty{font-size:12px;line-height:1.6;color:#aabfcc;padding:24px 12px;text-align:center;border:1px dashed #67859a55;border-radius:9px;margin:0}
.battle-lineup-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;gap:10px;align-items:center;background:#152b39;border:1px solid #6b8da44b;border-radius:11px;padding:10px}
.battle-lineup-num{font:900 18px var(--head);color:#c9ac75}.battle-lineup-name{display:grid;gap:4px;min-width:0}.battle-lineup-name strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.battle-lineup-name small{font-size:10px;color:#a8c2d1}.battle-lineup-price{font-size:12px;color:#f1d9a2;font-weight:850}.battle-lineup-remove{border:1px solid #8b565659;background:#392a2c;color:#f0b0a4;border-radius:7px;width:28px;height:28px;cursor:pointer}
.battle-cost{margin:17px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.battle-cost>div{display:grid;gap:8px;padding:12px;border-radius:10px;background:#102432;border:1px solid #58778f47}.battle-cost small{font-size:9px;letter-spacing:.08em;color:#aec4d2}.battle-cost strong{color:#f4ddab;font:800 21px var(--head)}
.battle-room-card{border:1px solid #6b8da34b;background:linear-gradient(110deg,#20394a,#172d3c);border-radius:13px;padding:14px;display:grid;gap:12px}
.battle-room-card-head,.battle-room-card-bottom{display:flex;justify-content:space-between;gap:10px;align-items:center}.battle-room-card strong{font-size:14px}.battle-room-card small{font-size:10px;color:#b5cad5}.battle-room-status{padding:5px 9px;border-radius:999px;background:#255543;color:#b2eed6;font-size:9px;font-weight:850;letter-spacing:.08em}.battle-room-status.finished{background:#62502d;color:#f4dc9e}
.battle-room-cases{display:flex;flex-wrap:wrap;gap:5px}.battle-room-cases span{padding:6px 8px;background:#0d2433;border-radius:6px;color:#bcd2e3;border:1px solid #59799144;font-size:10px}.battle-room-card-bottom .btn{font-size:10px}.battle-room-detail{margin-top:20px}.battle-room-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid #7291a14a;padding-bottom:18px;margin-bottom:16px}.battle-room-head h2{margin:6px 0;font:800 clamp(25px,3vw,34px) var(--head)}.battle-room-head p{font-size:12px;color:#bbcfdb}.battle-head-actions,.battle-room-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.battle-room-actions{margin-top:20px}.battle-room-actions .btn{min-width:145px;justify-content:center}
.battle-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px}.battle-player{display:flex;align-items:center;gap:10px;min-width:0;padding:12px;background:#102535;border-radius:11px;border:1px solid #54799352}.battle-player.win{border-color:#e6ba5c;background:linear-gradient(120deg,#5245288a,#172b37)}.battle-player .player-avatar{flex:none;width:42px;height:42px;border-radius:11px}.battle-player-name{display:grid;gap:4px;min-width:0}.battle-player-name strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.battle-player-name span{font-size:10px;color:#b6cdd9}
.battle-detail-cases{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.battle-detail-cases span{font-size:11px;border:1px solid #58748a65;border-radius:7px;background:#102939;padding:7px 10px;color:#cfdfec}
.battle-result{margin-top:24px;border-top:1px solid #688fa854;padding-top:20px}.battle-winner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center;background:linear-gradient(115deg,#594528b6,#163344);border:1px solid #d6b7718c;border-radius:13px;padding:19px}.battle-winner div{display:grid;gap:8px}.battle-winner small{font-size:10px;letter-spacing:.1em;color:#e3ce98}.battle-winner strong{font:800 clamp(24px,3vw,38px) var(--head)}.battle-winner .battle-prize{color:#ffdfa1;font:800 22px var(--head)}
.battle-scoreboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:15px}.battle-score{padding:12px;border-radius:9px;background:#102b3b;border:1px solid #607f964a;display:grid;gap:6px}.battle-score strong{font-size:12px}.battle-score span{color:#f3d598;font-size:17px;font-weight:850}.battle-rounds{display:grid;gap:14px;margin-top:23px}.battle-round h3{font:800 18px var(--head);margin:0 0 10px}.battle-round-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:9px}.battle-drop{padding:11px;background:#102533;border:1px solid #61849a4b;border-radius:11px;display:grid;gap:7px;min-width:0}.battle-drop[data-tier="gold"]{border-color:#d5b66e}.battle-drop[data-tier="red"]{border-color:#cd6464}.battle-drop .drop-art{height:91px;display:grid;place-items:center;color:#cfb179;background:radial-gradient(circle,#385168,#132535);border-radius:8px;font-size:28px;overflow:hidden}.battle-drop .drop-art img{width:100%;height:100%;object-fit:contain}.battle-drop small{font-size:10px;color:#b7cedc}.battle-drop strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battle-drop .drop-money{font-size:13px;color:#ead195;font-weight:850}.battle-legal{margin-top:20px;text-align:center}
@media(max-width:1000px){.battle-layout{grid-template-columns:1fr}}
@media(max-width:650px){.battle-quickstats{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-quickstats>div{padding:12px}.battle-panel{padding:14px}.battle-roster{grid-template-columns:1fr 1fr}.battle-round-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-winner{align-items:flex-start}}
@media(max-width:400px){.battle-roster{grid-template-columns:1fr}.battle-lineup-row{grid-template-columns:30px minmax(0,1fr) auto auto;gap:5px}.battle-round-grid{grid-template-columns:1fr 1fr}}

.battle-replay{margin-top:14px;margin-bottom:4px}.battle-replay-progress{padding:12px 14px;margin-bottom:12px;border:1px solid #e0bb716c;color:#f3d89a;letter-spacing:.08em;font-size:11px;border-radius:9px;background:#45382575}.battle-round{animation:battle-reveal-in .36s ease-out both}@keyframes battle-reveal-in{from{opacity:.1;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* 10.5 CS2-inspired industrial finish: tactical surfaces, restrained gold and orange. */
.battle-view{--battle-border:rgba(167,181,191,.22);--battle-gold:#e9b75f}
.battle-panel{background:linear-gradient(155deg,#202b34 0%,#111b23 74%);border-radius:5px;border-top:2px solid #dca34e;box-shadow:0 20px 42px #050a0d6b}
.battle-panel-title h2,.battle-room-head h2{letter-spacing:.025em;text-transform:uppercase}
.battle-kicker{color:#edba6c;letter-spacing:.18em}
.battle-room-card{background:linear-gradient(115deg,#26333b,#151f27);border-radius:5px;border-left:3px solid #b78544;transition:border-color .2s,transform .2s}
.battle-room-card:hover{border-left-color:#f0c47b;transform:translateY(-2px)}
.battle-room-status{border-radius:3px;text-transform:uppercase}
.battle-drop,.battle-player,.battle-score,.battle-lineup-row{border-radius:4px}
.battle-drop[data-tier="gold"]{box-shadow:inset 0 2px #dcb46255}.battle-drop[data-tier="red"]{box-shadow:inset 0 2px #cb555555}
.battle-status[data-error="true"]{border-left:3px solid #d27a65}
.battle-view button:focus-visible,.battle-view select:focus-visible{outline:2px solid #efbb6c;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.battle-room-card,.battle-round{animation:none;transition:none}.battle-room-card:hover{transform:none}}
