:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#f3f5ff;background:#0c1020;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 90% 0%,#232550 0%,transparent 38%),radial-gradient(circle at 5% 45%,#15284b 0%,transparent 35%),#0c1020;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.shell{max-width:790px;margin:auto;padding:20px 18px 32px}header{display:flex;justify-content:space-between;align-items:center;padding:9px 0 34px}.logo{font-weight:950;font-size:20px;letter-spacing:-1px}.logo span{color:#a4a9ff}.top-pill,.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.8px;color:#aeb5ff}.top-pill{border:1px solid #414673;border-radius:50px;padding:9px 12px}.hero{padding:14px 0 28px}.hero h1{font-size:clamp(44px,9vw,80px);letter-spacing:-3px;line-height:.99;margin:16px 0 20px;font-weight:1000}.hero h1 em{color:#a5a8ff;font-style:normal}.hero p{color:#abb3d1;font-size:16px;max-width:420px;line-height:1.5}.panel{border:1px solid #303957;border-radius:22px;background:#171d32e8;padding:22px;margin-bottom:18px;box-shadow:0 14px 44px #0002}label{display:block;font-size:11px;letter-spacing:1.4px;font-weight:800;color:#b3bddb;margin:8px 0 10px}input{border:1px solid #424c6e;background:#0f162a;color:white;padding:15px;border-radius:12px;outline:none;width:100%;margin-bottom:18px}input:focus{border-color:#9ba4ff}.worlds{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:22px}.worlds button{border:1px solid #39405f;background:#1c243d;color:#d7dcef;border-radius:12px;padding:13px 8px;font-weight:700}.worlds button:first-child{grid-column:span 2}.worlds button.selected{border-color:#9da4ff;background:#323768;color:white}.primary{width:100%;border:0;border-radius:13px;background:linear-gradient(105deg,#858bff,#bba5ff);color:#10142a;font-weight:950;letter-spacing:.6px;padding:17px}.or{text-align:center;font-size:11px;font-weight:800;letter-spacing:1.3px;color:#8792b3;margin:24px 0 14px}.join{display:flex;gap:10px}.join input{margin:0;min-width:0;text-transform:uppercase}.join button,.outline{border:1px solid #636f9a;color:#e3e7ff;background:#27304b;border-radius:12px;padding:12px 18px;font-weight:850;white-space:nowrap}.hint,footer{font-size:12px;color:#8894b3;line-height:1.5}footer{text-align:center;margin-top:26px}#game[hidden],#home[hidden]{display:none}.gamehead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.gamehead h2{margin:4px 0;font-size:30px;letter-spacing:2px}.scoreboard{display:grid;grid-template-columns:1fr 35px 1fr;gap:8px;align-items:center;margin-bottom:18px}.player{background:#171d32;border:1px solid #303957;border-radius:16px;padding:14px;min-height:135px}.player.me{border-color:#9da4ff}.player .name{font-size:13px;font-weight:900;overflow-wrap:anywhere}.player .credit{font-size:31px;font-weight:1000;margin:8px 0 3px}.player small{font-size:11px;color:#9aa8c7}.versus{text-align:center;font-weight:950;color:#9da4ff}.center{text-align:center}.card-art{width:190px;height:190px;margin:10px auto;display:grid;place-items:center;border-radius:22px;background:radial-gradient(circle,#394471,#202741 70%);font-size:78px}.card-art img{width:90%;height:90%;object-fit:contain;filter:drop-shadow(0 10px 9px #0005)}.card-name{font-size:38px;letter-spacing:-1px;font-weight:1000;margin:8px 0}.tag{display:inline-block;border:1px solid #536082;border-radius:50px;padding:7px 12px;font-size:11px;color:#c0c9e7;font-weight:850}.status{color:#abb7d4;font-size:14px;margin:16px 0;line-height:1.6}.big-bid{font-size:36px;font-weight:950;color:#c3b1ff;margin:10px}.range{width:100%;accent-color:#a4a8ff;margin:14px 0 22px}.controls{display:grid;gap:10px}.danger{border:1px solid #715667;color:#f4bdce;background:#362536;padding:14px;border-radius:12px;font-weight:850}.teams{font-size:12px;color:#c7cee4;margin-top:9px;line-height:1.6}.result{font-size:58px;font-weight:1000;color:#b4a7ff;margin:5px}.winner{font-size:22px;font-weight:1000;color:#e7d2a4}.results{display:grid;grid-template-columns:1fr 1fr;gap:12px}.results>div{border:1px solid #444d6e;border-radius:14px;padding:12px}.results strong{display:block;font-size:34px;margin:10px}h3{font-size:12px;letter-spacing:1.5px;color:#aab4d5}.event{padding:9px 0;border-bottom:1px solid #2b3550;color:#bec7e0;font-size:13px}.event:last-child{border:0}.full{width:100%;margin-top:6px}#toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#f3e7d5;color:#201a25;padding:12px 18px;border-radius:12px;font-weight:700;display:none;max-width:90%;z-index:5}@media(min-width:650px){.worlds{grid-template-columns:repeat(5,1fr)}.worlds button:first-child{grid-column:auto}.panel{padding:28px}.card-art{width:240px;height:240px}}@media(max-width:400px){.gamehead .outline{font-size:10px;padding:10px}.player{padding:10px}.card-name{font-size:30px}}

.final-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:22px;text-align:left}.final-team{background:#10182b;border:1px solid #394366;border-radius:16px;padding:16px}.final-team h3{margin:0 0 14px}.final-hero{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #323b56;padding:10px 0;font-size:14px}.final-hero b{white-space:nowrap;color:#c4b5fd}.final-hero.total{font-weight:800;font-size:16px}.hero-art-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:60px}.hero-art-placeholder small{font-size:12px;color:#b6bed3}.art-credit{position:absolute;bottom:5px;right:8px;font-size:10px;color:#ddd;background:#121a2bcc;padding:2px 6px;border-radius:4px}.card-art{position:relative}

/* Yatay teklif seçici: eksi | kredi | artı */
.bid-stepper{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px auto 4px;max-width:370px}
.bid-stepper button{flex:0 0 58px;height:58px;border:1px solid #6875a8;border-radius:14px;background:#293657;color:#f1efff;font-size:32px;font-weight:800;line-height:1}
.bid-stepper button:hover{background:#384877}
.bid-stepper .big-bid{flex:1;min-width:0;text-align:center;font-size:clamp(23px,6vw,36px);margin:0}
.hero-description{max-width:560px;margin:16px auto 20px}
@media(max-width:400px){.bid-stepper{gap:8px}.bid-stepper button{flex-basis:52px;height:52px}}


/* Hero Auction — arena visual refresh */
:root{--arena-bg:#080d1b;--arena-panel:#141c32;--arena-border:#344363;--arena-gold:#f1c879;--arena-purple:#a7a2ff}
html{scroll-behavior:smooth}body{background:radial-gradient(ellipse 70% 32% at 50% -4%,#35305c 0%,transparent 80%),radial-gradient(circle at 3% 42%,#142c48 0%,transparent 34%),linear-gradient(180deg,#0a0f20,#0a1122 65%,#080c18);color:#f6f5ff}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.13;background-image:linear-gradient(#8894c414 1px,transparent 1px),linear-gradient(90deg,#8894c414 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(#000,transparent 75%)}
.shell{position:relative;max-width:940px;padding:22px 22px 46px}
header{border-bottom:1px solid #4a54702f;margin-bottom:24px;padding:10px 0 24px}
.logo{font-size:clamp(20px,3vw,28px);letter-spacing:-1.3px}.logo span{background:linear-gradient(110deg,#a8a8ff,#f2ca81);background-clip:text;color:transparent}
.top-pill{display:flex;align-items:center;gap:9px;background:#1b2540aa;border-color:#5c618c;color:#e4e6ff}.live-dot{width:8px;height:8px;border-radius:50%;background:#72e8b2;box-shadow:0 0 12px #72e8b2}
.hero{text-align:center;padding:42px 12px 38px}.hero .eyebrow{color:var(--arena-gold)}.hero h1{font-size:clamp(50px,9.4vw,100px);letter-spacing:-.065em;line-height:.95;text-shadow:0 12px 35px #0005}.hero h1 em{background:linear-gradient(110deg,#b6b3ff 15%,#f3d49b 95%);background-clip:text;color:transparent}.hero p{max-width:540px;margin:0 auto 25px;font-size:clamp(14px,2vw,18px)}.hero-features{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.hero-features span{border:1px solid #59617c70;background:#1b233ab8;padding:9px 13px;border-radius:100px;color:#c9d0e8;font-size:11px;font-weight:850;letter-spacing:.6px}
.panel{background:linear-gradient(150deg,#1a2440f5,#121a2ef7);border-color:#46527399;box-shadow:0 22px 65px #0004,inset 0 1px #ffffff0a;border-radius:24px}.home-panel{max-width:760px;margin:0 auto 20px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 22px;padding-bottom:16px;border-bottom:1px solid #66708b35}.panel-heading h2{font-size:clamp(19px,4vw,26px);margin:7px 0 0;letter-spacing:-.6px}.panel-symbol{font-size:35px;color:var(--arena-gold);text-shadow:0 0 30px #d7aa6280}
input{transition:border-color .2s,box-shadow .2s;background:#0c1428;border-color:#3c4b6b}input:focus{box-shadow:0 0 0 3px #a4a8ff22}button{transition:transform .16s,filter .16s,border-color .16s,background .16s}button:not(:disabled):active{transform:scale(.975)}button:not(:disabled):hover{filter:brightness(1.1)}
.worlds button{min-height:66px;border-color:#4b5877;background:linear-gradient(160deg,#24304b,#192239);font-size:13px}.worlds button.selected{background:linear-gradient(145deg,#42477e,#34345b);border-color:#c2b5ff;box-shadow:inset 0 0 0 1px #c2b5ff44,0 0 25px #8b7bff20}.primary{background:linear-gradient(105deg,#c4b2ff,#e5b97c);box-shadow:0 9px 26px #a49aff24;font-size:14px;min-height:55px}.outline{border-color:#56658b}.join button{background:#343d66;border-color:#7a82b8}.or{display:flex;align-items:center;gap:12px}.or:before,.or:after{content:"";height:1px;flex:1;background:#54607c80}
.gamehead{margin:12px 0 22px}.gamehead h2{color:var(--arena-gold);font-size:clamp(24px,5vw,34px)}.scoreboard{gap:12px;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr)}.player{min-height:150px;background:linear-gradient(145deg,#1b2946,#111a2d);border-color:#465573}.player.me{border-color:#b5a6ff;box-shadow:0 0 25px #9d8aff18}.player .credit{color:#f1d39c}.versus{font-size:16px;color:#e6c58d;text-shadow:0 0 16px #e6c58d70}
.arena-stage{padding:clamp(20px,4vw,38px);overflow:hidden}.card-art{width:min(100%,280px);height:320px;border-radius:20px;background:radial-gradient(ellipse at 50% 20%,#485a86,#18243e 68%);border:1px solid #6a759866;box-shadow:0 18px 35px #0006,inset 0 0 0 5px #ffffff08;overflow:hidden}.card-art img{width:100%;height:100%;object-fit:contain;padding:9px;filter:drop-shadow(0 10px 13px #0006)}.card-name{font-size:clamp(29px,5vw,46px);margin-top:19px;line-height:1.1}.tag{background:#272d4b;color:#e2d6ff;border-color:#646493}.art-credit{z-index:1;bottom:8px;right:8px}.bid-stepper button{background:#2d3b60;border-color:#7183ae}.bid-stepper .big-bid{color:var(--arena-gold)}.range{accent-color:#d6b58d}.final-team{background:#111c33;border-color:#49597a}.final-hero.total{color:#f3cf8c}
:focus-visible{outline:3px solid #d2b8ff;outline-offset:3px}
@media(min-width:650px){.worlds{grid-template-columns:repeat(5,minmax(0,1fr))}.worlds button:first-child{grid-column:auto}}
@media(max-width:520px){.shell{padding:12px 13px 28px}header{margin-bottom:5px;padding-bottom:17px}.top-pill{font-size:9px;letter-spacing:.5px;padding:8px}.hero{padding:35px 0 30px}.hero h1{margin:15px 0}.hero-features{gap:6px}.hero-features span{font-size:9px;padding:7px 8px}.panel{padding:17px;border-radius:19px}.worlds{grid-template-columns:repeat(2,minmax(0,1fr))}.worlds button:first-child{grid-column:span 2}.worlds button{min-height:55px;font-size:12px}.scoreboard{gap:5px;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)}.player{min-height:135px;padding:10px}.player .credit{font-size:26px}.versus{font-size:12px}.card-art{height:270px;width:min(100%,225px)}.gamehead .outline{font-size:10px;padding:10px}.card-name{font-size:32px}.join{gap:6px}.join button{padding:10px 13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}


/* Card reveal and final result polish */
@keyframes arenaCardReveal{0%{opacity:0;transform:perspective(700px) rotateY(-72deg) scale(.8);filter:brightness(.6)}55%{opacity:1;transform:perspective(700px) rotateY(12deg) scale(1.045);filter:brightness(1.2)}100%{opacity:1;transform:perspective(700px) rotateY(0) scale(1);filter:brightness(1)}}
@keyframes trophyEnter{0%{opacity:0;transform:translateY(18px) scale(.75)}65%{opacity:1;transform:translateY(-5px) scale(1.08)}100%{transform:translateY(0) scale(1)}}
.card-reveal{animation:arenaCardReveal .8s cubic-bezier(.22,.75,.25,1) both;transform-style:preserve-3d}
.trophy-reveal{animation:trophyEnter .7s ease-out both;box-shadow:0 0 55px #e7bf6440,inset 0 0 25px #e7bf6420}
.mini-hero-icon{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#293956;margin-right:9px;vertical-align:middle;font-size:15px}
.final-team{box-shadow:inset 0 1px #ffffff12,0 14px 28px #0003}
.final-hero{align-items:center}.final-hero b{font-variant-numeric:tabular-nums}
.results>div{background:linear-gradient(155deg,#283454,#151d33);box-shadow:inset 0 1px #ffffff10}
.winner{font-size:clamp(24px,5vw,34px);letter-spacing:.4px;text-shadow:0 0 24px #e8c47e60}
#rematchworld{width:100%;padding:13px 15px;background:#101b30;color:#f5f3ff;border:1px solid #617096;border-radius:12px;margin:12px 0 4px}
#rematch:disabled{opacity:.6}
@media(prefers-reduced-motion:reduce){.card-reveal,.trophy-reveal{animation:none}}


/* Keep the player's budget and collected heroes visible at the bid controls. */
.bid-summary{max-width:580px;margin:18px auto 12px;text-align:left;border:1px solid #5a648a;background:linear-gradient(145deg,#263354,#19253e);border-radius:17px;padding:14px 16px;box-shadow:inset 0 1px #ffffff0d}
.bid-summary-credits{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:11px;border-bottom:1px solid #61709155}
.bid-summary-credits>div{display:flex;justify-content:space-between;align-items:center;gap:8px}
.bid-summary small{display:block;color:#b6c5e7;font-size:10px;letter-spacing:.65px;font-weight:850}
.bid-summary strong{font-size:29px;color:#f2ce91;line-height:1;font-variant-numeric:tabular-nums}
.bid-summary-credits>div:last-child strong{color:#c9c7f7}
.bid-summary-team{padding-top:12px}
.bid-summary-names{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.bid-summary-names span{border:1px solid #64769b;background:#131e34;padding:6px 9px;border-radius:8px;font-size:11px;font-weight:700;color:#edf1ff}
.bid-summary-names em{color:#8f9dbd;font-size:12px;font-style:normal}
@media(max-width:480px){.bid-summary{padding:11px 12px;margin:12px auto}.bid-summary-credits{gap:8px}.bid-summary-credits>div{display:block}.bid-summary strong{display:block;margin-top:5px;font-size:26px}.bid-summary small{font-size:9px}}


/* Three-column auction: player left, character + bid center, opponent right. */
.shell{max-width:1280px}
.arena-layout{display:grid;grid-template-columns:minmax(190px,1fr) minmax(0,2.2fr) minmax(190px,1fr);gap:16px;align-items:start}
.arena-layout>.arena-stage{min-width:0;margin:0}
.player-side{position:sticky;top:16px;min-width:0;padding:20px 16px;border-radius:20px;min-height:270px;box-shadow:0 16px 38px #0003}
.player-side .name{font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.player-side .credit{font-size:clamp(32px,3.5vw,46px);margin:15px 0 8px}
.player-side .credit small{display:block;font-size:11px;font-weight:700;margin-top:4px;color:#aab8d5}
.spent-credit{border-radius:9px;background:#0e182c;border:1px solid #394a6c;color:#f0cba2;font-size:12px;font-weight:750;padding:10px;margin:12px 0 22px}
.side-team-title{font-size:11px;letter-spacing:1px;color:#b7c5e5;font-weight:850;padding-bottom:10px;border-bottom:1px solid #435272}
.player-side .teams{display:flex;flex-direction:column;align-items:stretch;gap:7px;margin-top:12px;font-size:12px;color:#8e9fbd}
.side-hero{display:block;padding:9px 10px;border-radius:9px;background:#273550;border:1px solid #435679;color:#e5ecff;overflow-wrap:anywhere}
.arena-stage .card-art{max-width:100%}
@media(max-width:850px){.arena-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.arena-layout>.arena-stage{grid-column:1/-1;grid-row:2}.player-side{position:static;grid-row:1;min-height:0;padding:12px}.player-side .credit{font-size:28px;margin:8px 0}.spent-credit{margin:8px 0 12px;padding:7px;font-size:11px}.player-side .teams{max-height:115px;overflow:auto}.side-hero{padding:6px 8px;font-size:11px}.player-side .name{font-size:12px}.side-team-title{font-size:10px}}
@media(min-width:851px){.arena-stage{padding:25px 20px}.arena-stage .card-art{height:300px;width:min(100%,265px)}}


/* Show winning bid alongside each collected hero in both side panels. */
.player-side .side-hero{display:flex;align-items:center;justify-content:space-between;gap:8px}
.side-hero-name{min-width:0;overflow-wrap:anywhere}
.side-hero-cost{flex:none;white-space:nowrap;color:#f4cf92;font-weight:900;font-size:13px;font-variant-numeric:tabular-nums}
.side-hero-cost small{font-size:9px;color:#c3cde3;font-weight:650}
@media(max-width:480px){.side-hero-cost{font-size:12px}.side-hero-cost small{font-size:8px}.player-side .side-hero{gap:4px}}


/* Compact room controls: no duplicated top scoreboard. */
.room-tools{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:0 0 12px;min-height:32px;color:#8e9cba;font-size:11px;font-weight:800;letter-spacing:.5px}
.room-tools #phase{margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.room-code-label{white-space:nowrap}.room-code-label strong{color:#f1d19c;letter-spacing:1px}
.room-tools .outline{font-size:10px;padding:8px 11px}
@media(max-width:480px){.room-tools{gap:6px;font-size:9px}.room-tools .outline{font-size:9px;padding:7px}.room-code-label{font-size:9px}}


/* One-screen auction: artwork and bidding controls always share the center panel. */
#game .arena-layout{grid-template-columns:minmax(165px,1fr) minmax(0,3fr) minmax(165px,1fr);gap:12px}
#game .arena-stage{padding:14px 16px;margin:0}
.auction-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center;min-width:0}
.auction-hero,.auction-action{min-width:0}
.auction-hero .eyebrow{font-size:10px}
#game .auction-hero .card-art{height:clamp(160px,28vh,260px);width:min(100%,220px);margin:7px auto}
.auction-hero .card-name{font-size:clamp(20px,2.4vw,29px);margin:7px 0;overflow-wrap:anywhere}
.auction-hero .tag{font-size:9px;display:inline-block;padding:5px 7px}
.auction-action .status{margin:6px 0 10px;font-size:12px;line-height:1.35}
.auction-action .bid-stepper{margin:9px 0}
.auction-action .big-bid{font-size:clamp(17px,2.4vw,26px)}
.auction-action .bid-stepper button{min-width:35px;padding:8px}
.auction-action .range{margin:5px 0 11px;padding:0}
.auction-action .controls{display:flex;gap:7px;align-items:stretch}
.auction-action .controls button{font-size:11px;padding:12px 8px;min-width:0}
.auction-action .controls .primary{flex:1}
.auction-action .controls .danger{flex:0 0 auto}
.hero-details{margin-top:10px;text-align:left;border-top:1px solid #ffffff20;padding-top:9px;color:#9eaccb}
.hero-details summary{cursor:pointer;font-size:11px;font-weight:800}
.hero-details .hero-description{font-size:12px;line-height:1.45;margin:8px 0 0}
#game .player-side{padding:14px 11px;min-height:0}
#game .player-side .credit{font-size:clamp(25px,3vw,36px);margin:8px 0 4px}
#game .player-side .spent-credit{margin:8px 0 12px}
#game .player-side .teams{max-height:min(42vh,330px);overflow-y:auto}
@media(max-width:850px){
 #game .arena-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #game .arena-stage{grid-column:1/-1;grid-row:2;padding:10px}
 #game .player-side{padding:9px;min-height:0}
 #game .player-side .credit{font-size:25px;margin:5px 0}
 #game .player-side .spent-credit{margin:5px 0 8px;padding:5px}
 #game .player-side .teams{max-height:70px;overflow-y:auto;margin-top:6px}
 #game .auction-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
 #game .auction-hero .card-art{height:clamp(125px,22vh,195px);width:min(100%,165px)}
 #game .auction-hero .card-name{font-size:clamp(17px,4vw,23px)}
 #game .auction-action .controls{flex-direction:column}
 #game .auction-action .controls button{width:100%;padding:9px 5px}
 #game .auction-action .bid-stepper button{padding:6px;min-width:26px}
 #game .auction-action .big-bid{font-size:16px}
}


/* Compact header and always-visible character description under the portrait. */
#game~footer{margin-top:10px}
header{padding:5px 0 12px;margin-bottom:4px}
#game .auction-hero .hero-description{display:block;text-align:left;font-size:11px;line-height:1.4;color:#c3cee6;margin:9px 0 0;max-height:5.6em;overflow:auto;overflow-wrap:anywhere}
#game .auction-main{align-items:start}
#game .auction-action{align-self:center}
@media(max-width:850px){header{padding:3px 0 8px;margin-bottom:2px}#game .auction-hero .hero-description{font-size:10px;line-height:1.3;max-height:5.2em}}


/* Character biography is plain visible text: no tap, toggle, or inner scrolling. */
#game .auction-hero .hero-description{display:block!important;max-height:none!important;height:auto!important;overflow:visible!important;white-space:normal!important;cursor:default;font-size:11px;line-height:1.45}
@media(max-width:850px){#game .auction-hero .hero-description{max-height:none!important;overflow:visible!important;font-size:10px;line-height:1.4}}

/* Live player counts on the home screen */
.online-board{margin:15px 0 18px;padding:14px;border:1px solid rgba(118,142,205,.28);border-radius:14px;background:rgba(17,27,56,.72)}
.online-board-title{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:1.4px;color:#d6e3ff;margin-bottom:12px}
.online-dot{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 10px #34d399}
.online-board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.online-board-grid>div{display:flex;flex-direction:column;gap:4px;text-align:center;min-width:0}
.online-board-grid>div+div{border-left:1px solid rgba(118,142,205,.24)}
.online-board-grid strong{font-size:clamp(21px,4vw,29px);line-height:1.1;color:#fff}
.online-board-grid small{font-size:10px;line-height:1.35;color:#aebcda}

.join-invite{display:flex;flex-direction:column;gap:10px;padding:15px;margin-bottom:18px;border:1px solid #65c9a2;border-radius:12px;background:rgba(27,102,78,.17);text-align:center}.join-invite[hidden]{display:none}.join-invite strong{color:#b7ffe3;letter-spacing:.5px}.join-invite span{font-size:13px}.join-invite button{width:100%}

/* Character portrait frames reflect their power tier. */
.card-art.rarity-frame{border:3px solid var(--rarity-frame)!important;box-shadow:0 0 0 1px var(--rarity-frame),0 0 22px var(--rarity-glow)!important;border-radius:16px}
.rarity-frame-common{--rarity-frame:#aab0bb;--rarity-glow:rgba(170,176,187,.2)}
.rarity-frame-advanced{--rarity-frame:#4faeff;--rarity-glow:rgba(79,174,255,.34)}
.rarity-frame-rare{--rarity-frame:#b56bff;--rarity-glow:rgba(181,107,255,.4)}
.rarity-frame-legendary{--rarity-frame:#ffca50;--rarity-glow:rgba(255,202,80,.55)}

.rarity{display:inline-block;padding:3px 7px;border-radius:7px;font-size:10px;font-weight:800;letter-spacing:.6px;line-height:1.35;border:1px solid currentColor;white-space:nowrap;vertical-align:middle}
.rarity-common{color:#c0c5ce;background:rgba(166,175,190,.12)}
.rarity-advanced{color:#79c5ff;background:rgba(45,135,240,.15)}
.rarity-rare{color:#d5a2ff;background:rgba(153,76,224,.18)}
.rarity-legendary{color:#ffd16b;background:rgba(225,160,34,.18);box-shadow:0 0 13px rgba(255,195,55,.15)}
.rarity-feature{display:table;margin:9px auto 0;padding:6px 12px;font-size:12px}
.side-hero-name .rarity{margin-left:4px;font-size:9px}

/* In-room player chat */
.chat-panel{margin-top:16px}.chat-panel[hidden]{display:none}.chat-panel h3{margin:0 0 12px}.chat-messages{height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:rgba(7,12,27,.4)}.chat-line{align-self:flex-start;max-width:90%;display:flex;flex-direction:column;gap:4px;padding:8px 11px;border-radius:10px;background:rgba(92,113,161,.24);overflow-wrap:anywhere}.chat-mine{align-self:flex-end;background:rgba(52,117,197,.28)}.chat-author{font-size:10px;opacity:.7}.chat-text{font-size:13px;line-height:1.4}.chat-compose{display:flex;gap:8px;margin-top:10px}.chat-compose input{min-width:0;flex:1}.chat-compose button{flex-shrink:0}@media(max-width:480px){.chat-compose button{padding-left:12px;padding-right:12px}}

/* Bid history stays closed until the player opens it. */
.activity-collapsible{margin-top:14px}.activity-collapsible summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800;letter-spacing:.4px;user-select:none}.activity-collapsible summary::-webkit-details-marker{display:none}.activity-chevron{font-size:20px;transition:transform .2s}.activity-collapsible[open] .activity-chevron{transform:rotate(180deg)}.activity-collapsible #log{margin-top:14px}

/* Account entry */
.login-options{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;padding:14px;border:1px solid rgba(118,142,205,.28);border-radius:12px;background:rgba(12,20,42,.5)}#google-login{display:flex;justify-content:center;min-height:40px}.login-status{font-size:12px;color:#bac7df;text-align:center}.login-options [hidden]{display:none!important}

/* Standalone authentication gate */
#login-gate[hidden],#home[hidden],#game[hidden],.account-bar [hidden]{display:none!important}.login-gate{max-width:520px;margin:50px auto 30px;text-align:center;padding:28px}.login-gate h1{font-size:clamp(27px,5vw,40px);margin:0 0 10px}.login-gate p{color:#b8c7e3}.login-gate .login-options{margin:20px 0 0}.login-gate input{width:100%;box-sizing:border-box}.account-bar{display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:12px;color:#c4d2ec;margin:8px 0}.account-bar:has(#account-status:empty){display:none}

/* Harmonized Google sign-in card */
#login-gate .login-options{gap:14px;padding:20px;border-radius:18px;background:linear-gradient(155deg,rgba(22,34,69,.92),rgba(13,20,43,.95));border:1px solid rgba(135,161,231,.22);box-shadow:0 14px 38px rgba(0,0,0,.15)}#login-gate #guest-login{width:100%;min-height:46px;border-radius:10px}#google-login{display:flex;justify-content:center;align-items:center;width:100%;min-height:44px;overflow:hidden;border-radius:10px}#google-login>div{max-width:100%!important}#login-gate .or{font-size:11px;letter-spacing:2px;color:#93a8cd;margin:0}#login-gate input{min-height:45px;border-radius:10px}@media(max-width:480px){#login-gate .login-options{padding:12px}#login-gate{padding:20px 14px;margin-top:24px}}

/* Hero Auction cinematic login landing */
body:has(#login-gate:not([hidden])) .shell{max-width:1180px}
body:has(#login-gate:not([hidden])) header{padding-bottom:10px}
.login-landing{position:relative;isolation:isolate;overflow:hidden;min-height:670px;border:1px solid #35466c;border-radius:28px;background:radial-gradient(ellipse at 20% 15%,#243969 0%,transparent 55%),radial-gradient(ellipse at 85% 80%,#30245e 0%,transparent 48%),#10182c;box-shadow:0 30px 90px #0007}
.landing-ambient{position:absolute;z-index:-1;border-radius:50%;filter:blur(60px);opacity:.35;pointer-events:none}.ambient-one{background:#6e62e8;width:320px;height:320px;top:-130px;left:-100px}.ambient-two{background:#1977be;width:340px;height:340px;bottom:-160px;right:-90px}
.landing-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);align-items:center;gap:45px;padding:62px 54px;min-height:670px}
.landing-story{min-width:0}.landing-kicker{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:850;letter-spacing:1.9px;color:#c5d1ff}.live-spark{width:8px;height:8px;border-radius:50%;background:#78f6cb;box-shadow:0 0 15px #78f6cb}
.landing-story h1{font-size:clamp(52px,6vw,86px);font-weight:1000;letter-spacing:-4px;line-height:.97;margin:25px 0;text-shadow:0 8px 25px #0006}.landing-story h1 span{color:#b2a6ff}.landing-story>p{color:#c4cde5;font-size:16px;line-height:1.65;max-width:440px}
.landing-stats{display:flex;gap:20px;flex-wrap:wrap;margin:30px 0}.landing-stats>div{border-left:2px solid #7f7bdb;padding-left:13px}.landing-stats strong{display:block;font-size:19px;font-weight:950;color:white}.landing-stats small{display:block;font-size:9px;font-weight:800;letter-spacing:1.2px;color:#a6b6da;margin-top:5px}
.landing-cards{height:155px;display:flex;align-items:center;padding:10px 0 0 25px}.landing-card{height:140px;width:102px;flex:none;border-radius:13px;border:2px solid #7585bb;background:linear-gradient(155deg,#303f77,#10192f);box-shadow:0 12px 28px #0008;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:11px 8px}.landing-card span{align-self:flex-start;color:#c7caff}.landing-card b{font-size:55px;line-height:1;color:#fff;text-shadow:0 0 20px #d9d0ff}.landing-card small{font-size:10px;font-weight:900;letter-spacing:1px;color:#e2d9ff}.landing-card-one{transform:rotate(-14deg) translateX(8px);border-color:#8a75db}.landing-card-two{transform:rotate(0deg) translateY(-10px);z-index:2;border-color:#e7b95d;background:linear-gradient(160deg,#624e38,#171a34)}.landing-card-three{transform:rotate(14deg) translateX(-8px);border-color:#579bd2}
.landing-entry{background:linear-gradient(165deg,rgba(28,39,69,.98),rgba(14,21,41,.97));border:1px solid #44567b;border-radius:24px;padding:36px 30px;text-align:center;box-shadow:0 25px 60px #0006}.entry-emblem{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 20px;border-radius:17px;color:#fff;font-size:32px;background:linear-gradient(140deg,#7468d8,#334b9b);box-shadow:0 10px 30px #514bc966}.entry-eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:900;color:#b4baff}.landing-entry h2{font-size:31px;letter-spacing:-1px;margin:10px 0}.landing-entry>p{color:#acb9d5;font-size:13px;line-height:1.6;margin:0 0 23px}.landing-entry .login-options{padding:0!important;margin:0!important;background:none!important;border:0!important;box-shadow:none!important;gap:13px!important;text-align:left}.landing-entry .login-options label{margin:0;color:#b9c6e8}.landing-entry #guest-name{height:51px;background:#0c1429;border:1px solid #46577d;border-radius:11px;color:white}.landing-entry #guest-login{height:51px;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:900;font-size:13px}.landing-entry #guest-login span{margin-left:auto}.landing-divider{text-align:center;color:#91a2c4;font-size:10px;letter-spacing:1px;font-weight:800;margin:7px 0 0}.landing-entry #google-login{min-height:44px;max-width:100%;overflow:hidden}.entry-footnote{color:#95a9ca;font-size:11px;margin-top:20px}.entry-privacy{display:inline-block;margin-top:13px;font-size:11px;color:#b9c9f7;text-decoration:underline;text-underline-offset:3px}
@media(max-width:850px){.landing-layout{grid-template-columns:1fr;gap:20px;padding:34px 22px}.landing-story{text-align:center}.landing-story>p{margin-left:auto;margin-right:auto}.landing-story h1{font-size:clamp(46px,10vw,72px)}.landing-stats,.landing-cards{justify-content:center}.landing-entry{max-width:500px;width:100%;margin:0 auto}.login-landing{min-height:0}}
@media(max-width:480px){.landing-layout{padding:25px 14px;gap:15px}.landing-story h1{font-size:49px;letter-spacing:-2.5px;margin:17px 0}.landing-story>p{font-size:13px}.landing-stats{gap:11px;margin:20px 0}.landing-stats strong{font-size:15px}.landing-stats small{font-size:8px}.landing-cards{height:100px}.landing-card{height:98px;width:76px;padding:7px}.landing-card b{font-size:37px}.landing-card small{font-size:8px}.landing-entry{padding:25px 18px}.landing-entry h2{font-size:26px}}
@media(prefers-reduced-motion:no-preference){.landing-card-two{animation:heroFloat 4s ease-in-out infinite}@keyframes heroFloat{0%,100%{transform:translateY(-10px)}50%{transform:translateY(-18px)}}}

/* Rules guide integrated into the landing story */
.landing-howto{margin:22px 0 26px;padding:20px;border-radius:17px;background:rgba(10,17,35,.65);border:1px solid rgba(137,156,215,.3)}.howto-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}.howto-heading span{color:#a5a5ff;font-size:10px;font-weight:900;letter-spacing:1.5px}.howto-heading strong{color:#f4f5ff;font-size:14px;letter-spacing:.6px}.howto-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 14px}.howto-step{display:flex;align-items:flex-start;gap:10px;text-align:left}.step-number{flex:none;font-size:11px;font-weight:950;color:#9fa9ff;background:rgba(115,113,215,.16);border:1px solid rgba(142,145,238,.32);border-radius:8px;padding:6px}.howto-step strong{font-size:12px;color:#fff}.howto-step p{font-size:11px;color:#b1c0dc;line-height:1.5;margin:4px 0 0}.howto-note{font-size:11px;color:#f0d59b;background:rgba(212,161,66,.08);border-radius:9px;padding:10px;margin-top:17px;text-align:left}@media(max-width:480px){.landing-howto{padding:15px}.howto-grid{grid-template-columns:1fr;gap:14px}.howto-heading{flex-wrap:wrap;gap:7px}.landing-cards{margin-bottom:6px}}


/* HERO AUCTION // NEON ESPORTS SYSTEM v1 — presentation-only */
:root{--arena-bg:#070b16;--arena-panel:#10182c;--arena-border:#2b4260;--arena-gold:#ffe06e;--arena-purple:#a17cff;--neon-cyan:#32e9f3;--neon-pink:#ff4fbd;--neon-violet:#8b68ff;--neon-green:#72f5bd}
html{color-scheme:dark}body{color:#edf7ff;background:radial-gradient(ellipse 58% 38% at 8% 0%,#172c57 0%,transparent 80%),radial-gradient(ellipse 50% 45% at 100% 30%,#36164e 0%,transparent 78%),#070b16}
body:before{opacity:.23;background-image:linear-gradient(#34dff010 1px,transparent 1px),linear-gradient(90deg,#34dff010 1px,transparent 1px);background-size:38px 38px}
.shell{max-width:1480px;padding:18px clamp(12px,2.5vw,38px) 42px}
header{padding:12px 0 18px;margin-bottom:16px;border-bottom:1px solid #2ee6ee30}
.logo{font-weight:1000;letter-spacing:-1.3px;text-shadow:0 0 22px #27e3f83b}.logo span{background:linear-gradient(100deg,var(--neon-cyan),#aa8dff 58%,var(--neon-pink));background-clip:text;color:transparent}
.panel,.landing-entry,.landing-howto,.landing-card,.online-board{border-color:#39b7d14d!important;box-shadow:0 20px 48px #0007,0 0 22px #19c6f10a,inset 0 1px #ffffff10}
.panel{background:linear-gradient(145deg,#131d33f5,#0b1326f9);border-radius:18px}
.eyebrow,.entry-eyebrow,.landing-kicker,.panel-heading .eyebrow{color:var(--neon-cyan)!important;letter-spacing:2px}
.hero h1 em,.landing-story h1 span{background:linear-gradient(100deg,#3cf2f3,#a48aff 55%,#ff6fc5);background-clip:text;-webkit-background-clip:text;color:transparent!important}
.hero h1,.landing-story h1{text-shadow:0 8px 36px #080c1b}
.primary{color:#06101d!important;background:linear-gradient(105deg,#40edf3 0%,#82bbff 48%,#b98aff 100%)!important;border:1px solid #b4faff85!important;box-shadow:0 5px 22px #29e6ef38,inset 0 1px #ffffff99;letter-spacing:.7px}
.primary:not(:disabled):hover{filter:brightness(1.13);box-shadow:0 7px 30px #31e8f480}
.outline,.join button,.worlds button,.danger{background:#14203a;color:#e6f5ff;border:1px solid #44658c;border-radius:12px}
.outline:hover,.join button:hover,.worlds button:hover{border-color:#35e8f3;background:#1b2b4b}
.worlds button.selected{border-color:var(--neon-cyan);background:linear-gradient(125deg,#133e55,#292456);box-shadow:inset 0 0 20px #2be5f019,0 0 15px #2be5f01b;color:#fff}
input{background:#091327;border-color:#365371;color:#f5fcff}input:focus{border-color:var(--neon-cyan);box-shadow:0 0 0 3px #33e8f324}
button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--neon-cyan);outline-offset:3px}
.login-landing{border:1px solid #32b5ce30;border-radius:26px;background:linear-gradient(130deg,#101a35e8,#100f2ce8);overflow:hidden}
.landing-entry{background:linear-gradient(155deg,#15243ff5,#0c142cf8)!important;border-radius:20px}
.landing-card-one{border-color:#37dbe4!important;box-shadow:0 0 24px #2ddff04d}.landing-card-two{border-color:#b08cff!important;box-shadow:0 0 28px #9c72ff55}.landing-card-three{border-color:#ff68bd!important;box-shadow:0 0 24px #ff68bd38}
.landing-howto{background:#0a1429b8;border-color:#4e78905e!important}
.step-number{color:#57e9f5;border-color:#35e8f34d;background:#1a40514d}
.howto-note{color:#ffe6a0;background:#44341555}
.online-board{background:linear-gradient(120deg,#0d233a,#171b39)!important}.online-dot,.live-dot,.live-spark{background:#56f6bf;box-shadow:0 0 13px #56f6bf}
.account-bar{color:#a9e8f2}.account-bar #account-status{border:1px solid #34e6f34d;background:#0e2536;padding:8px 12px;border-radius:999px}
#game .room-tools{padding:10px 14px;margin-bottom:14px;border:1px solid #37dbe453;border-radius:14px;background:#101b31}
#game #phase{color:#7ceff8;font-weight:900;letter-spacing:1.1px}
#game .room-code-label{color:#a9cce6}#game #room-title{color:#fff;font-size:1.25em;text-shadow:0 0 14px #30e8ff}
#game .arena-layout{grid-template-columns:minmax(175px,1fr) minmax(0,3.4fr) minmax(175px,1fr);gap:14px;align-items:start}
#game .player-side{background:linear-gradient(180deg,#14203a,#0c1529);border:1px solid #33d8f252;box-shadow:inset 0 1px #ffffff12,0 10px 32px #0005;min-width:0}
#game .player-side:last-child{border-color:#ff5fc14d}
#game .player-side.me{border-color:#38eff5;box-shadow:0 0 0 1px #38eff544,0 0 28px #31e7ee17}
#game .player-side .name{color:#f2fbff;letter-spacing:.4px}
#game .player-side .credit{color:#50f2f4;text-shadow:0 0 22px #3ce9f34a}
#game .player-side:last-child .credit{color:#f99fdb;text-shadow:0 0 22px #f45bbd40}
#game .player-side .spent-credit{background:#0a172b;border:1px solid #375070;border-radius:9px}
#game .arena-stage{background:linear-gradient(160deg,#131d37,#0a1227);border:1px solid #5b73ae6e;box-shadow:0 0 32px #665aff15,0 18px 45px #0007;border-radius:18px}
#game .auction-main{gap:clamp(8px,1.6vw,24px)}
#game .auction-hero .card-art,.card-art{background:radial-gradient(circle at 50% 30%,#244e6c,#151b42 65%,#0b1329);border:1px solid #41cfea77;box-shadow:0 0 30px #2cdff021,inset 0 0 22px #6a4cde28}
#game .auction-hero .card-name,.card-name{color:#f5fbff;text-shadow:0 0 18px #5c95ff4d}
#game .auction-action{background:linear-gradient(155deg,#0b1930,#17152e);border:1px solid #806ad05e;border-radius:14px;padding:clamp(10px,1.4vw,20px)}
#game .auction-action .big-bid,.big-bid{color:#66f1f3;text-shadow:0 0 20px #34eaf351}
#game .auction-action .bid-stepper button{border-color:#48d7e18c;background:#132e47;color:#b4fcff}
#game .auction-action .bid-stepper button:hover{background:#1a4a63}
#game .auction-action .danger{background:#3a1839;border-color:#ff64b077;color:#ffb7dd}
.rarity-legendary{color:#ffe17b!important;border-color:#f5c75b!important}.rarity-rare{color:#e5b4ff!important}.rarity-advanced{color:#7beff1!important}
#game .side-hero{border-color:#3d5670;background:#0d1a30}
#game .chat-panel,#game .activity-collapsible{border-color:#3c7a9870}
#game .chat-panel h3{color:#7deef6}.event{border-color:#2c4966}
#game .results>div,.final-team{background:#101c33;border:1px solid #4e83a077;border-radius:14px}
#game .results strong,#game .final-hero b{color:#6eeaf6}
#game .winner{color:#ffe58c;text-shadow:0 0 26px #ffd86c66}
#game .trophy-reveal{border-color:#ffda71;box-shadow:0 0 34px #ffcf4c36}
#toast{background:#dffcff;color:#061725;border:1px solid #6deff7;box-shadow:0 12px 38px #0008,0 0 20px #46eafa33}
footer{color:#7899b7}
@media(max-width:900px){#game .arena-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}#game .arena-stage{grid-column:1/-1;grid-row:2}#game .player-side{padding:10px;min-height:0}#game .player-side .teams{max-height:95px;overflow-y:auto}}
@media(max-width:520px){.shell{padding:12px 10px 30px}.login-landing{border-radius:17px}.landing-layout{padding:20px 12px}.landing-story h1{font-size:clamp(42px,11vw,54px)}.landing-entry{padding:20px 14px}#game .room-tools{flex-wrap:wrap}#game .arena-stage{padding:10px}#game .auction-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}#game .auction-action{padding:8px}#game .auction-action .bid-stepper button{min-width:34px}#game .player-side .credit{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Gold wallet — persistent account currency */
header{gap:14px;flex-wrap:wrap}
.gold-wallet[hidden]{display:none!important}
.gold-wallet{margin-left:auto;display:inline-flex;align-items:center;gap:9px;border:1px solid #f4c85a9c;border-radius:13px;padding:9px 15px;background:linear-gradient(110deg,#3a2c12e8,#181b30);box-shadow:0 0 22px #ffc94e20,inset 0 1px #fff3b21e;color:#ffe9a4}
.gold-icon{font-size:21px;filter:drop-shadow(0 0 7px #fbd06377)}
.gold-number{font-size:clamp(17px,2.3vw,23px);font-weight:1000;font-variant-numeric:tabular-nums;line-height:1}
.gold-label{font-size:10px;font-weight:900;letter-spacing:1.5px;color:#e6c26e}
@media(max-width:450px){.gold-wallet{padding:8px 10px;gap:5px}.gold-label{font-size:9px}.logo{font-size:19px}}

/* Neon esports match results — SVG emblem, no AI-generated assets */
#game .victory-screen{width:100%;max-width:1050px;margin:auto;text-align:center}
.victory-kicker{font-size:11px;font-weight:950;letter-spacing:3px;color:#60eaf5;margin:10px 0 6px}
.victory-emblem{width:clamp(120px,17vw,190px);height:clamp(120px,17vw,190px);position:relative;margin:0 auto;display:grid;place-items:center;filter:drop-shadow(0 0 22px #4be7f04d)}
.victory-emblem svg{position:relative;width:100%;height:100%;z-index:1}
.victory-rays{position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle,#65dff43a 0%,#7e54f32a 40%,transparent 70%);box-shadow:0 0 58px #4ae9f222}
.victory-heading{font-size:clamp(27px,4vw,52px);font-weight:1000;line-height:1.05;letter-spacing:-1.2px;background:linear-gradient(100deg,#4bf1f4,#b9a1ff 60%,#ff80ce);background-clip:text;-webkit-background-clip:text;color:transparent}
.victory-subtitle{font-size:clamp(13px,1.5vw,17px);color:#b9cbe6;margin:10px auto 20px}
#game .victory-results{max-width:700px;margin:0 auto;gap:12px}
#game .victory-results>div{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 12px;border:1px solid #3d607b;border-radius:16px;background:linear-gradient(155deg,#13223c,#0a152a)}
#game .victory-results>div.victory-leader{border-color:#52e8e7;box-shadow:0 0 26px #45e5ef20,inset 0 1px #9fffff24}
.victory-player-label{font-size:10px;letter-spacing:1.6px;font-weight:900;color:#7c9cb7}
.victory-leader .victory-player-label{color:#65f3db}
.victory-player-name{font-size:clamp(13px,2vw,18px);font-weight:850;overflow-wrap:anywhere}
#game .victory-results strong{font-size:clamp(32px,5vw,56px);line-height:1.1;margin:4px 0;color:#e8f6ff}
#game .victory-results .victory-leader strong{color:#69f1f1;text-shadow:0 0 20px #42e9ed60}
#game .victory-results small{color:#94afc9;letter-spacing:1px;font-size:10px}
.victory-reward{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px auto 12px;padding:14px 18px;max-width:470px;border-radius:14px;background:linear-gradient(110deg,#30231b,#18192b);border:1px solid #ab803e6e;text-align:left}
.victory-reward.reward-earned{border-color:#f3c75f;box-shadow:0 0 24px #f8ce5228}
.reward-coin{font-size:34px;filter:drop-shadow(0 0 9px #f6c45c55)}
.victory-reward strong{display:block;font-size:16px;color:#ffe09a;letter-spacing:.6px}
.victory-reward small{display:block;font-size:12px;color:#c8bca6;margin-top:4px}
.victory-scoreline{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;font-size:11px;letter-spacing:1px;color:#9bb5d0;margin:16px 0}
.victory-scoreline b{color:#d8f7ff}.victory-scoreline span{color:#49dfe9}
#game .victory-teams{margin-top:20px;text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#game .victory-teams .final-team{min-width:0;background:linear-gradient(150deg,#13213b,#0b1528);border-color:#3c6887}
#game .victory-teams .final-team h3{font-size:13px;color:#7feef1}
#game .victory-teams .final-hero{gap:8px;overflow-wrap:anywhere}
#game .victory-rematch-note{margin:22px 0 12px}
#game .victory-controls{max-width:470px;margin:0 auto 12px}
#game .victory-controls button{min-height:54px;font-size:14px;box-shadow:0 0 22px #3ee4ef2a}
@media(max-width:560px){.victory-kicker{letter-spacing:2px}.victory-reward{padding:12px}.victory-reward strong{font-size:14px}#game .victory-teams{grid-template-columns:1fr}#game .victory-results>div{padding:12px 7px}.victory-player-label{font-size:9px}}
@media(prefers-reduced-motion:no-preference){.victory-emblem{animation:victoryRise .65s cubic-bezier(.2,.8,.2,1) both}@keyframes victoryRise{from{opacity:0;transform:translateY(12px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}}

/* Mobile chat input: keep the native text field above decorative layers and touchable. */
#game #chat-panel{position:relative;z-index:3;isolation:isolate;pointer-events:auto}
#game .chat-compose{position:relative;z-index:4;align-items:stretch}
#game #chat-input{display:block;position:relative;z-index:5;pointer-events:auto;touch-action:manipulation;-webkit-user-select:text;user-select:text;min-height:48px;font-size:16px;margin:0;opacity:1;appearance:none;-webkit-appearance:none}
#game #chat-input:focus{outline:2px solid #55eaf0;outline-offset:1px}
#game #chat-send{position:relative;z-index:5;touch-action:manipulation}

/* Acquired heroes: grow the player panels downward instead of scrolling inside them. */
#game .player-side{height:auto;max-height:none;overflow:visible;align-self:start}
#game .player-side .teams{height:auto!important;max-height:none!important;overflow:visible!important;overflow-y:visible!important;min-height:0}
#game .player-side .side-hero{flex-shrink:0}

/* Chat must receive taps above the arena on iOS Safari. */
#game #chat-panel{display:block;position:relative;z-index:20;pointer-events:auto;overflow:visible}
#game #chat-panel[hidden]{display:none!important}
#game #chat-messages{pointer-events:auto}
#game #chat-input{display:block!important;visibility:visible!important;pointer-events:auto!important;position:relative;z-index:22;user-select:text!important;-webkit-user-select:text!important;-webkit-touch-callout:default;touch-action:auto!important;font-size:16px!important;cursor:text}
#game #chat-panel .chat-compose{position:relative;z-index:21;pointer-events:auto}

/* Social hub */
.social-panel{margin:18px 0;padding:16px;border:1px solid #5b4fa5;border-radius:16px;background:rgba(20,22,49,.92)}
.social-panel summary{cursor:pointer;font-weight:800;color:#d9c8ff;letter-spacing:.04em}
.social-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}
.social-actions button{min-width:0;white-space:normal;font-size:12px;padding:10px 6px}
#social-content{overflow-wrap:anywhere;font-size:14px}
#social-content p{padding:9px;border-bottom:1px solid rgba(150,140,220,.2)}
#social-content input{max-width:100%;padding:10px;margin:8px 0;background:#11162c;color:#fff;border:1px solid #665bb1;border-radius:8px}
#social-content button{margin:4px}

.victory-rank{margin:16px auto;padding:12px;border:1px solid #665bb1;border-radius:12px;background:rgba(42,32,80,.6);font-weight:700;line-height:2}.victory-rank span{display:inline-block;margin:0 7px}.rank-plus{color:#50f0ae}.rank-minus{color:#ff7b96}

/* Prevent iOS Safari double-tap zoom on rapidly tapped bid controls. */
.bid-stepper,.bid-stepper button,#bidbutton,#passbutton{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.bid-stepper button{cursor:pointer}
