.tournament-shell{z-index:12;display:grid;grid-template-rows:54px 1fr;overflow:hidden;padding:max(5px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 15%,rgba(16,111,101,.2),transparent 42%),linear-gradient(rgba(2,9,12,.9),rgba(2,7,10,.97)),url("assets/menu-reference-lounge.png") center/cover}.tournament-top{display:grid;grid-template-columns:120px 1fr 150px;align-items:center;border-bottom:1px solid rgba(232,189,101,.3)}.tournament-back{justify-self:start;border:0;background:transparent;color:var(--cream);font-weight:900;letter-spacing:.08em;cursor:pointer}.tournament-title{text-align:center}.tournament-title span{display:block;color:var(--gold);font-size:20px;font-weight:950;letter-spacing:.12em}.tournament-title small{color:var(--muted);font-size:9px;letter-spacing:.18em}.tournament-balance{justify-self:end;color:var(--gold);font-size:18px;font-weight:900}.tournament-balance small{display:block;color:var(--muted);font-size:8px;letter-spacing:.12em}.tournament-lobby,.tournament-bracket{min-height:0;width:min(1120px,100%);margin:auto}.tournament-lobby{display:grid;align-content:center;gap:14px}.tournament-intro{text-align:center}.tournament-intro h2{margin:0;color:var(--cream);font-size:27px;letter-spacing:.05em}.tournament-intro p{margin:3px 0 0;color:var(--muted);font-size:12px}.tournament-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tournament-tier{position:relative;min-width:0;padding:15px 14px;border:1px solid rgba(232,189,101,.28);border-radius:15px;background:linear-gradient(145deg,rgba(20,39,34,.96),rgba(6,16,17,.97));color:var(--text);text-align:left;cursor:pointer;box-shadow:0 14px 30px rgba(0,0,0,.36);overflow:hidden}.tournament-tier:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--tier-color,var(--gold))}.tournament-tier.bronze{--tier-color:#c17d47}.tournament-tier.gold{--tier-color:#f0ba43}.tournament-tier.diamond{--tier-color:#42d5d5}.tournament-tier:hover,.tournament-tier:focus-visible{border-color:var(--tier-color);transform:translateY(-2px)}.tournament-tier:disabled{opacity:.45;cursor:not-allowed;transform:none}.tier-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.tier-head strong{font-size:17px;letter-spacing:.07em}.tier-medal{width:30px;height:30px;display:grid;place-items:center;border:2px solid var(--tier-color);border-radius:50%;color:var(--tier-color)}.tier-economy{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0}.tier-economy span{padding:7px;border-radius:8px;background:rgba(255,255,255,.04);color:var(--muted);font-size:9px;letter-spacing:.08em}.tier-economy strong{display:block;margin-top:2px;color:var(--cream);font-size:16px}.tier-economy .prize strong{color:var(--gold)}.tournament-enter-copy{display:block;padding-top:8px;border-top:1px solid var(--line);color:var(--teal);font-size:10px;font-weight:900;letter-spacing:.1em;text-align:center}.tournament-bracket{display:grid;grid-template-rows:auto 1fr auto;gap:8px;padding:7px 0}.bracket-heading{display:flex;align-items:center;justify-content:space-between}.bracket-heading h2{margin:0;color:var(--cream);font-size:20px;letter-spacing:.08em}.bracket-prize{color:var(--muted);font-size:10px}.bracket-prize strong{color:var(--gold);font-size:18px}.tournament-rounds{min-height:0;display:grid;grid-template-columns:1.25fr 1fr .85fr;gap:11px;align-items:stretch}.bracket-round{min-width:0;display:flex;flex-direction:column;justify-content:space-around;gap:5px;padding:7px;border:1px solid var(--line);border-radius:12px;background:rgba(4,15,18,.78)}.bracket-round h3{margin:0;text-align:center;color:var(--muted);font-size:9px;letter-spacing:.14em}.bracket-match{padding:4px 7px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:rgba(255,255,255,.035);font-size:10px}.bracket-match span{display:block;overflow:hidden;padding:2px 0;white-space:nowrap;text-overflow:ellipsis}.bracket-match span+span{border-top:1px solid rgba(255,255,255,.07)}.bracket-match .winner{color:var(--gold)}.bracket-match.current{border-color:var(--teal);box-shadow:0 0 14px rgba(32,208,198,.16)}.bracket-match.advanced{border-color:rgba(70,205,133,.55)}.bracket-match.eliminated{border-color:rgba(228,119,101,.65)}.final-round{position:relative}.trophy-mark{align-self:center;width:48px;height:48px;display:grid;place-items:center;border:2px solid var(--gold);border-radius:50%;color:var(--gold);font-size:25px;box-shadow:0 0 22px rgba(242,189,53,.18)}.tournament-actionbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 10px;border:1px solid var(--line);border-radius:11px;background:rgba(5,17,18,.9)}.tournament-status{display:grid}.tournament-status strong{color:var(--gold);font-size:14px;letter-spacing:.08em}.tournament-status span{color:var(--muted);font-size:10px}.tournament-primary{min-width:190px;padding:10px 18px;border:1px solid #d6a74e;border-radius:8px;background:linear-gradient(180deg,#0b8c83,#075d59);color:white;font-weight:900;letter-spacing:.06em;cursor:pointer}.tournament-primary:hover{filter:brightness(1.12)}.tournament-primary.secondary{background:#15231f;border-color:var(--line)}@media(max-height:500px) and (orientation:landscape){.tournament-shell{grid-template-rows:43px 1fr}.tournament-top{grid-template-columns:100px 1fr 110px}.tournament-title span{font-size:16px}.tournament-title small{font-size:7px}.tournament-balance{font-size:14px}.tournament-lobby{gap:8px}.tournament-intro h2{font-size:20px}.tournament-intro p{font-size:9px}.tournament-tier{padding:10px}.tier-head strong{font-size:13px}.tier-medal{width:24px;height:24px}.tier-economy{margin:7px 0}.tier-economy span{padding:5px;font-size:7px}.tier-economy strong{font-size:12px}.tournament-enter-copy{padding-top:5px;font-size:8px}.tournament-bracket{gap:5px;padding:4px 0}.bracket-heading h2{font-size:15px}.bracket-prize strong{font-size:14px}.tournament-rounds{gap:7px}.bracket-round{padding:5px;gap:3px}.bracket-match{padding:2px 5px;font-size:8px}.trophy-mark{width:36px;height:36px;font-size:18px}.tournament-actionbar{padding:4px 7px}.tournament-status strong{font-size:11px}.tournament-status span{font-size:8px}.tournament-primary{min-width:160px;padding:7px 12px;font-size:10px}}
