:root{
  --bg:#07111f;--panel:#0d1a2bdf;--panel2:#14263cdf;--line:#315375;--text:#ecf5ff;--muted:#90a6bc;
  --gold:#ffc84a;--cyan:#46c7ff;--red:#ef5a67;--green:#62e2a8;--zone:#17324d88;--zone2:#0d233888;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at 50% 20%,#17375b 0,#081421 36%,#030910 100%);color:var(--text)}
button,input,select{font:inherit}button{border:1px solid #416482;background:#152940;color:var(--text);padding:.7rem 1rem;border-radius:10px;cursor:pointer;transition:.18s transform,.18s filter,.18s border-color}button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.16);border-color:#6ba3d0}button:disabled{opacity:.35;cursor:not-allowed}.primary{background:linear-gradient(135deg,#1375b9,#2ba6dd);border-color:#62caf6;font-weight:800}.danger{background:#5b1d29;border-color:#b54859}.wide{width:100%}.hidden{display:none!important}.glass{background:linear-gradient(160deg,#0d1b2de8,#0a1422e8);border:1px solid #315574b0;box-shadow:0 18px 55px #0009,inset 0 1px #ffffff10;backdrop-filter:blur(10px)}
.screen{min-height:100vh;display:grid;place-items:center;padding:24px}.lobby-card{width:min(510px,94vw);padding:38px;border-radius:24px}.brand-mark{width:72px;height:72px;border:2px solid var(--cyan);display:grid;place-items:center;border-radius:18px;color:var(--cyan);font-weight:900;letter-spacing:2px;box-shadow:0 0 24px #29b9ff44}.lobby-card h1{font-size:2.35rem;margin:.9rem 0 .3rem}.lobby-card p{color:var(--muted)}label{display:grid;gap:7px;color:var(--muted);font-size:.9rem;margin:22px 0}input,select{width:100%;border:1px solid #315474;background:#081521;color:white;border-radius:10px;padding:12px}.lobby-actions{display:grid;gap:10px}.join-row{display:grid;grid-template-columns:1fr auto;gap:8px}.msg{min-height:24px;color:#ff9fa8;margin-top:10px}
.waiting-screen{align-items:start;padding-top:5vh}.waiting-shell{width:min(1180px,96vw);display:grid;grid-template-columns:330px 1fr;gap:18px}.room-panel,.character-panel{border-radius:22px;padding:24px}.room-code{font-size:3.5rem;font-weight:950;letter-spacing:.15em;color:var(--gold);text-shadow:0 0 24px #ffc84a55;margin:.2rem 0}.waiting-player{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #ffffff12}.ready-dot{color:var(--green)}.eyebrow{font-size:.72rem;letter-spacing:.16em;color:#7eabc9;font-weight:800;text-transform:uppercase}.select-title{display:flex;align-items:end;justify-content:space-between;border-bottom:3px solid #66552a;padding:4px 4px 13px;margin-bottom:16px;position:relative}.select-title:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:5px;background:repeating-linear-gradient(135deg,#e9b52e 0 10px,#1a1710 10px 20px)}.select-title span{font-size:2rem;font-weight:950}.select-title strong{color:var(--muted)}.character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:18px 0}.character-card{padding:0;overflow:hidden;text-align:left;border-radius:12px;background:#090e14;border:2px solid #34404a;min-height:320px}.character-card.selected{border-color:var(--gold);box-shadow:0 0 0 3px #ffc84a25,0 0 32px #ffc84a25}.character-art{height:235px;position:relative;overflow:hidden;background:#000}.character-art img{width:100%;height:100%;object-fit:cover;object-position:center 25%;transition:.25s transform}.character-card:hover .character-art img{transform:scale(1.035)}.player-chip{position:absolute;right:9px;top:9px;background:#15120b;border:2px solid #f2c34e;color:#ffd96e;font-weight:900;padding:4px 8px;border-radius:6px}.character-name{font-size:1.35rem;font-weight:950;padding:12px 14px 2px}.character-sub{color:var(--muted);padding:0 14px 14px}.deck-picker{display:grid;grid-template-columns:1fr 1.4fr;gap:16px;align-items:end;background:#08131f;border:1px solid #29455e;border-radius:12px;padding:14px;margin:10px 0}.deck-description{color:var(--muted);font-size:.9rem}.ready-button{width:100%;margin-top:10px;font-size:1.05rem;font-weight:800}
.game{min-height:100vh;padding:10px}.topbar{height:66px;border-radius:14px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px;position:relative;z-index:20}.top-actions{justify-self:end}.turn-banner{display:flex;flex-direction:column;align-items:center;gap:2px}.turn-banner span{font-size:.8rem;color:var(--muted)}.turn-banner strong{color:var(--gold);letter-spacing:.1em}.layout{display:grid;grid-template-columns:250px minmax(660px,1fr) 250px;gap:10px;margin-top:10px;align-items:start}.left-panel,.right-panel{height:calc(100vh - 96px);border-radius:14px;padding:14px;overflow:auto}.right-panel h3{margin:.25rem 0 1rem}.duel-wrap{min-width:0}.player-head{height:64px;border:1px solid #2c4f6f;background:#0b1928dd;border-radius:12px;display:flex;align-items:center;justify-content:space-between;padding:8px 14px}.player-identity{display:flex;align-items:center;gap:10px}.avatar{width:44px;height:44px;object-fit:cover;border-radius:9px;border:1px solid #51789a}.player-name{font-size:1.08rem;font-weight:850}.lp{font-weight:950;font-size:1.25rem;color:#fff4bb;text-shadow:0 0 12px #ffc83c55}.lp.hit{animation:lpHit .42s ease}.opponent-hand,.my-hand{height:86px;display:flex;align-items:center;justify-content:center;gap:-8px;padding:6px}.hand-card{width:51px;height:73px;border-radius:5px;overflow:hidden;border:1px solid #72889b;box-shadow:0 3px 10px #0008;cursor:pointer;transition:.17s transform,.17s box-shadow}.hand-card img{width:100%;height:100%;object-fit:cover}.my-hand .hand-card:hover{transform:translateY(-12px) scale(1.18);z-index:4}.opponent-hand .hand-card{margin-left:-6px}.my-hand .hand-card{margin-left:-4px}.card-back,.pile-stack{background:radial-gradient(circle at 50% 45%,#9e5029 0 7%,#46210e 9% 16%,#120906 18% 32%,#5b2d14 35%,#1a0c06 53%,#86431e 63%,#160905 75%);position:relative}.card-back:after,.pile-stack:after{content:"";position:absolute;inset:4px;border:2px solid #251109;border-radius:4px;box-shadow:inset 0 0 0 2px #8f512d}
.board{height:600px;border-radius:16px;position:relative;overflow:hidden;border:2px solid #315575;background:linear-gradient(90deg,#0e2236aa 1px,transparent 1px),linear-gradient(#0e2236aa 1px,transparent 1px),radial-gradient(circle at 50% 50%,#173653,#0b1b2c 62%,#071421);background-size:42px 42px,42px 42px,auto;box-shadow:inset 0 0 80px #000b,0 14px 36px #0007}.field-half{height:274px;position:relative;padding-right:115px;display:flex;flex-direction:column;justify-content:center;gap:16px}.opponent-half{transform:rotate(180deg)}.opponent-half .card-face,.opponent-half .pile,.opponent-half .side-rail{transform:rotate(180deg)}.field-divider{height:52px;border-top:1px solid #4e7894;border-bottom:1px solid #4e7894;display:grid;place-items:center;position:relative;background:#07131eaa}.board-logo{font-weight:950;letter-spacing:.35em;color:#6f91a73b;font-size:1.3rem}.chain-badge{position:absolute;left:20px;background:#7d2341;border:1px solid #e46e92;padding:5px 9px;border-radius:7px;color:white;font-weight:900}.zone-row{height:105px;display:flex;justify-content:center;align-items:center;gap:14px}.zone{width:67px;height:96px;border:1px solid #41657c;border-radius:7px;background:linear-gradient(145deg,var(--zone),var(--zone2));position:relative;display:grid;place-items:center;box-shadow:inset 0 0 0 2px #06132199}.zone:before{content:attr(data-label);position:absolute;bottom:3px;right:5px;color:#84a4b654;font-size:.6rem}.card-face{width:61px;height:88px;border-radius:5px;overflow:hidden;position:relative;cursor:pointer;box-shadow:0 5px 12px #0009;transition:.18s transform,.18s box-shadow,.18s filter}.card-face img{width:100%;height:100%;object-fit:cover}.card-face.defense{transform:rotate(90deg) scale(.86)}.card-face.selected{outline:3px solid var(--cyan);box-shadow:0 0 24px #42c9ff}.atk-badge{position:absolute;bottom:2px;left:2px;right:2px;background:#03101adf;border-radius:4px;font-size:.57rem;font-weight:900;text-align:center;padding:2px}.counter-badge{position:absolute;top:2px;right:2px;background:#c931d2;border-radius:999px;width:20px;height:20px;display:grid;place-items:center;font-size:.65rem;font-weight:950}.side-rail{position:absolute;right:13px;display:flex;align-items:center;gap:8px}.opponent-rail{top:44px}.my-rail{bottom:44px}.pile{width:58px;height:83px;border:1px solid #526d82;border-radius:5px;position:relative;background:#0c1822;cursor:pointer;box-shadow:0 5px 12px #0008;overflow:hidden}.pile:before{content:attr(data-label);position:absolute;z-index:3;left:3px;top:3px;background:#06101bd9;padding:2px 4px;border-radius:3px;font-size:.52rem;color:#b2c8d8;font-weight:800}.pile img{width:100%;height:100%;object-fit:cover}.pile-count{position:absolute;z-index:4;bottom:3px;right:3px;min-width:21px;height:21px;padding:0 4px;border-radius:999px;background:#06111de8;border:1px solid #52718b;display:grid;place-items:center;font-size:.67rem;font-weight:900}.deck-pile{width:67px;height:96px}.deck-pile.draw-ready{animation:deckReady 1s ease-in-out infinite;border-color:var(--gold);box-shadow:0 0 24px #ffc84a77}.empty-pile{height:100%;background:linear-gradient(135deg,#122234,#07111d)}
.inspector{text-align:center}.inspector>img{width:100%;max-height:340px;object-fit:contain;border-radius:7px;box-shadow:0 8px 24px #0008}.inspector h2{font-size:1rem;margin:10px 0 6px}.stats{color:#f6d778;font-weight:800;font-size:.84rem}.desc{font-size:.78rem;line-height:1.42;color:#b8c7d5;text-align:left;margin-top:8px}.empty-inspector{height:260px;display:grid;place-items:center;color:var(--muted)}.inspector-back{width:175px!important;height:255px!important;margin:auto}.action-buttons{display:grid;gap:7px;margin-top:10px}.target-hint{margin-top:10px;padding:10px;border-radius:9px;background:#3b2e0a;border:1px solid #b18d30;color:#ffe69a;font-size:.8rem}.log{font-size:.76rem;color:#b9c8d5;display:grid;gap:7px;max-height:calc(100vh - 145px);overflow:auto}.log div{border-left:2px solid #32536f;padding-left:8px}
.response-prompt{position:fixed;z-index:45;top:80px;left:50%;transform:translateX(-50%);width:min(560px,90vw);background:linear-gradient(135deg,#533310,#251705);border:2px solid var(--gold);box-shadow:0 8px 34px #000c,0 0 26px #ffc84a40;border-radius:13px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:16px;animation:responseIn .25s ease}.response-prompt div{display:grid;gap:2px}.response-prompt span{font-size:.78rem;color:#f1d99a}.response-ready{outline:3px solid var(--gold)!important;box-shadow:0 0 22px #ffc84a!important;animation:responsePulse 1s ease-in-out infinite}.targetable{outline:3px solid #63f0bb!important;box-shadow:0 0 28px #4deab7!important;cursor:crosshair}.direct-target{outline:3px solid #ff6b6b!important;box-shadow:0 0 28px #ff4a4a88!important;cursor:crosshair}
.modal{position:fixed;inset:0;background:#02060bd9;z-index:90;display:grid;place-items:center;padding:20px}.modal-card{width:min(760px,95vw);max-height:88vh;overflow:auto;border-radius:18px;padding:20px}.modal-head{display:flex;align-items:start;justify-content:space-between}.modal-head h2{margin:.3rem 0}.decision-options,.zone-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:16px 0}.decision-option,.zone-card-item{border:1px solid #355574;border-radius:9px;background:#0a1724;color:white;padding:7px;text-align:center;cursor:pointer}.decision-option img,.zone-card-item img{width:100%;height:145px;object-fit:contain}.decision-option.selected{border-color:var(--gold);box-shadow:0 0 0 2px #ffc84a55}.decision-option small{display:block;color:#7796af;margin-top:3px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.zone-browser{width:min(920px,96vw)}.zone-card-item span{display:block;font-size:.75rem;margin-top:4px}.icon-button{font-size:1.5rem;padding:2px 10px}.empty-zone-message{color:var(--muted);padding:30px;grid-column:1/-1;text-align:center}
.phase-splash{position:fixed;inset:0;z-index:75;pointer-events:none;display:grid;place-items:center;background:linear-gradient(90deg,transparent,#031326aa 30%,#031326aa 70%,transparent)}.phase-splash>div:last-child{font-size:clamp(2.1rem,6vw,5.8rem);font-weight:1000;font-style:italic;letter-spacing:.08em;color:#e9f8ff;text-shadow:0 0 8px #64cfff,0 0 38px #1b83d1;transform:skew(-8deg)}.phase-splash.play{animation:phaseSplash 1.1s ease both}.phase-lines{position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#58caff,white,#58caff,transparent);box-shadow:0 0 22px #4ecaff}
.reveal{position:fixed;z-index:80;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;pointer-events:none}.reveal img{height:min(55vh,480px);filter:drop-shadow(0 0 25px #5ecfff);animation:revealCard .8s ease}.reveal-flare{position:absolute;width:430px;height:430px;background:radial-gradient(circle,#8ae6ff55,transparent 65%);animation:spin 4s linear infinite}.reveal #revealName{position:absolute;bottom:-35px;font-size:1.1rem;font-weight:900;text-shadow:0 3px 5px #000}
.cinematic{position:fixed;inset:0;z-index:100;pointer-events:none;overflow:hidden;background:#000}.cinematic-shade{position:absolute;inset:0;background:radial-gradient(circle at center,transparent 15%,#0008 70%,#000 100%);z-index:2}.cinematic-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.cinematic-title{position:absolute;z-index:4;left:50%;bottom:7%;transform:translateX(-50%);font-size:clamp(1.4rem,3vw,3rem);font-weight:1000;letter-spacing:.06em;text-shadow:0 3px 12px #000,0 0 20px #000;text-align:center;white-space:nowrap}.cinematic-card{position:absolute;z-index:5;right:7%;top:-45%;height:48vh;max-height:520px;filter:drop-shadow(0 20px 30px #000c)}.cinematic.play .cinematic-art{animation:artZoom 1.45s ease both}.cinematic.play .cinematic-card{animation:cardDrop 1.35s cubic-bezier(.18,.85,.28,1.08) both}.cinematic.play .cinematic-title{animation:titleIn 1.35s ease both}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:150;background:#101d2a;border:1px solid #50708b;border-radius:10px;padding:10px 16px;box-shadow:0 10px 28px #000b}.win-overlay{position:fixed;inset:0;z-index:130;background:#02060de8;display:grid;place-items:center}.win-card{text-align:center;border-radius:20px;padding:38px;min-width:min(450px,90vw)}.win-card h1{font-size:3rem;margin:.5rem}.win-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}.attack-line{position:fixed;height:6px;z-index:110;transform-origin:left center;background:linear-gradient(90deg,#fff45e,#ff663e);box-shadow:0 0 18px #ffb83e;border-radius:999px;pointer-events:none;animation:attackBeam .65s ease both}
@keyframes deckReady{50%{transform:translateY(-4px);box-shadow:0 0 36px #ffc84a}}
@keyframes responsePulse{50%{filter:brightness(1.25)}}@keyframes responseIn{from{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes lpHit{50%{color:#ff6574;transform:scale(1.16)}}@keyframes phaseSplash{0%{opacity:0;transform:scale(1.1)}18%{opacity:1;transform:scale(1)}72%{opacity:1}100%{opacity:0;transform:scale(.96)}}
@keyframes revealCard{0%{opacity:0;transform:scale(.45) rotateY(90deg)}55%{opacity:1;transform:scale(1.08) rotateY(0)}100%{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}
@keyframes artZoom{0%{opacity:0;transform:scale(1.15)}18%{opacity:1}100%{opacity:1;transform:scale(1.02)}}@keyframes cardDrop{0%{transform:translateY(-20%) rotate(12deg);opacity:0}35%{opacity:1}72%{transform:translateY(82vh) rotate(-4deg)}100%{transform:translateY(76vh) rotate(0);opacity:0}}@keyframes titleIn{0%,20%{opacity:0;transform:translate(-50%,18px)}40%,80%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}
@keyframes attackBeam{0%{opacity:0;transform:scaleX(0)}15%{opacity:1}100%{opacity:0}}
@media(max-width:1180px){.layout{grid-template-columns:210px minmax(600px,1fr)}.right-panel{display:none}.waiting-shell{grid-template-columns:1fr}.room-panel{max-width:100%}}
@media(max-width:880px){.layout{display:block}.left-panel{height:auto;margin-bottom:8px}.board{height:520px}.field-half{height:234px}.zone-row{gap:7px}.zone{width:56px;height:82px}.card-face{width:52px;height:75px}.side-rail{right:5px}.pile{width:46px;height:68px}.deck-pile{width:52px;height:76px}.topbar{grid-template-columns:1fr auto}.top-actions{display:none}.character-grid{grid-template-columns:1fr 1fr}}

/* V4 visual polish + mobile-first duel controls */
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 15% 15%,#1d4f8e33,transparent 25%),radial-gradient(circle at 85% 20%,#6939b633,transparent 26%),linear-gradient(135deg,transparent 46%,#4cc9ff10 47%,transparent 48%);}
.character-panel{background:linear-gradient(155deg,#0b1828f2,#11152bf0 58%,#1b1027ec);}
.character-card{box-shadow:inset 0 0 35px #0009,0 12px 30px #0008}.character-art{height:270px}.character-art img{object-position:center 12%}.character-name{text-transform:uppercase;letter-spacing:.04em}.select-title span{text-shadow:0 0 18px #55bfff55}.room-panel{background:linear-gradient(165deg,#0a1726ee,#0b1020ee)}
.top-actions{display:flex;gap:7px}.ghost{background:#111b28aa}.field-pile{width:54px;height:78px}.field-pile img{width:100%;height:100%;object-fit:cover}
.lp-float{position:fixed;z-index:220;transform:translate(-50%,-50%);font-weight:1000;font-size:2rem;pointer-events:none;text-shadow:0 3px 10px #000;animation:lpFloat .9s ease-out both}.lp-float.loss{color:#ff5366}.lp-float.gain{color:#6fffb0}@keyframes lpFloat{0%{opacity:0;transform:translate(-50%,-20%) scale(.7)}20%{opacity:1;transform:translate(-50%,-70%) scale(1.15)}100%{opacity:0;transform:translate(-50%,-150%) scale(.9)}}
.decision-group-title{grid-column:1/-1;margin:6px 0 0;color:#f6d46c;text-align:left;border-bottom:1px solid #574b2c;padding-bottom:5px}

@media(max-width:700px){
  html,body{min-height:100%;overflow-x:hidden}.game{padding:4px 4px 74px}.topbar{height:auto;min-height:58px;padding:7px 8px;grid-template-columns:1fr auto;border-radius:10px}.topbar>div:first-child{display:none}.turn-banner{align-items:flex-start}.turn-banner strong{font-size:.82rem}.top-actions{position:fixed;z-index:70;left:6px;right:6px;bottom:6px;background:#06111ef0;border:1px solid #294c6a;border-radius:13px;padding:6px;display:grid!important;grid-template-columns:.8fr .9fr 1.5fr;box-shadow:0 -8px 25px #0009}.top-actions button{padding:.72rem .35rem;font-size:.78rem}
  .layout{display:flex!important;flex-direction:column;margin-top:5px}.duel-wrap{order:1;width:100%;overflow:hidden}.left-panel{order:2;height:auto!important;max-height:340px;margin-top:6px;padding:9px}.right-panel{display:none!important}.inspector{display:grid;grid-template-columns:90px 1fr;gap:8px;text-align:left}.inspector>img{width:90px;height:130px;grid-row:1/5}.inspector h2{margin:2px 0}.desc{font-size:.72rem;max-height:86px;overflow:auto}.empty-inspector{height:80px}.action-buttons{grid-template-columns:repeat(2,1fr)}
  .player-head{height:50px;padding:5px 8px}.avatar{width:35px;height:35px}.player-name{font-size:.9rem}.lp{font-size:1rem}.opponent-hand,.my-hand{height:62px;gap:0;overflow:hidden}.hand-card{width:38px;height:55px;margin-left:-3px!important}.my-hand .hand-card:hover{transform:none}
  .board{height:430px;border-radius:10px}.field-half{height:195px;padding-right:70px;gap:6px}.field-divider{height:40px}.board-logo{font-size:.72rem}.zone-row{height:78px;gap:4px}.zone{width:46px;height:67px}.zone:before{font-size:.45rem}.card-face{width:42px;height:61px}.card-face.defense{transform:rotate(90deg) scale(.82)}.side-rail{right:3px;gap:3px;display:grid;grid-template-columns:repeat(2,30px)}.opponent-rail{top:20px}.my-rail{bottom:20px}.pile,.field-pile{width:30px;height:44px}.deck-pile{width:34px;height:49px}.pile:before{font-size:.38rem;padding:1px}.pile-count{min-width:16px;height:16px;font-size:.5rem}
  .response-prompt{top:62px;width:96vw;padding:8px}.response-prompt span{font-size:.7rem}.response-prompt button{padding:.5rem .7rem}.phase-splash>div:last-child{font-size:2rem}.cinematic-card{right:4%;height:38vh}.cinematic-title{bottom:11%;font-size:1.2rem}.modal{padding:6px}.modal-card{width:98vw;max-height:92vh;padding:10px}.decision-options,.zone-cards{grid-template-columns:repeat(3,1fr);gap:6px}.decision-option img,.zone-card-item img{height:110px}.waiting-screen{padding:8px}.waiting-shell{width:100%;gap:8px}.room-panel,.character-panel{padding:12px}.room-code{font-size:2.2rem}.character-grid{grid-template-columns:1fr 1fr;gap:7px}.character-card{min-height:210px}.character-art{height:150px}.character-art img{object-position:center 10%}.character-name{font-size:1rem;padding:8px 8px 2px}.character-sub{padding:0 8px 8px;font-size:.75rem}.deck-picker{grid-template-columns:1fr;padding:9px;gap:6px}.select-title span{font-size:1.3rem}.select-title strong{font-size:.7rem}
}
@media(max-width:420px){.zone{width:43px;height:63px}.card-face{width:39px;height:57px}.field-half{padding-right:66px}.zone-row{gap:2px}.board{height:414px}.field-half{height:187px}.side-rail{grid-template-columns:repeat(2,28px)}.pile,.field-pile{width:28px;height:41px}.deck-pile{width:31px;height:45px}.character-grid{grid-template-columns:1fr 1fr}.character-art{height:138px}}


/* V6 — SICHAOS, fixes de motor, monster effect cinematics */
.waiting-shell{width:min(1380px,97vw);grid-template-columns:300px minmax(0,1fr)}
.character-grid{grid-template-columns:repeat(auto-fit,minmax(165px,220px));justify-content:center;align-items:stretch;gap:12px}
.character-card{min-height:242px;max-width:220px;width:100%;position:relative}
.character-art{height:172px;background:radial-gradient(circle at 50% 18%,#244c78,#03070d 72%)}
.character-art:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 52%,#05080dd9 100%);box-shadow:inset 0 0 28px #0008}
.character-art img{object-position:center 16%;filter:saturate(.95) contrast(1.03)}
.character-card.selected .character-art img{filter:saturate(1.08) contrast(1.07)}
.character-name{position:relative;z-index:2;font-size:1.08rem;padding:9px 11px 2px}
.character-sub{position:relative;z-index:2;padding:0 11px 10px;font-size:.78rem}
.avatar{object-position:center 15%}
.deck-picker select option{background:#071522;color:#f3f8ff}
.deck-description:before{content:"◆ ";color:var(--gold)}

@media(max-width:1180px){.waiting-shell{grid-template-columns:1fr}.room-panel{display:grid;grid-template-columns:auto 1fr;column-gap:20px;align-items:center}.room-panel>p,.room-panel>#waitingPlayers{grid-column:2}.room-code{grid-row:1/3}.character-grid{grid-template-columns:repeat(3,minmax(145px,210px))}}
@media(max-width:700px){
  .waiting-shell{display:block}.room-panel{display:block;margin-bottom:8px}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.character-card{max-width:none;min-height:205px}.character-art{height:142px}.character-art img{object-position:center 12%}.character-name{font-size:.92rem;padding:7px 8px 1px}.character-sub{font-size:.68rem;padding:0 8px 7px}.player-chip{font-size:.65rem;padding:3px 6px}.character-panel{max-height:none}.select-title{position:sticky;top:0;z-index:5;background:#0b1828f5;padding-top:6px}.deck-picker{position:sticky;bottom:0;z-index:5;background:#08131ff5}
}
@media(max-width:390px){.character-art{height:128px}.character-card{min-height:188px}.character-grid{gap:6px}}
