:root{color-scheme:dark;--bg:#101410;--panel:#171d19;--panel2:#202820;--line:#354337;--text:#f2f7ef;--muted:#aebdad;--gold:#f1c84b;--green:#7bd77a;--red:#ef767a;--blue:#70a7ff}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Inter,system-ui,Segoe UI,sans-serif;background:radial-gradient(circle at 8% 0%,rgba(241,200,75,.14),transparent 30rem),linear-gradient(135deg,#111611,#0f1616 55%,#15130f);color:var(--text)}button,input{font:inherit}button{border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);cursor:pointer;transition:.15s}button:hover:not(:disabled){transform:translateY(-1px);border-color:var(--gold)}button:disabled{opacity:.52;cursor:not-allowed}.shell{width:min(1220px,calc(100% - 28px));margin:auto;padding:28px 0 40px}header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px}h1,h2,h3,p{margin:0}h1{font-size:clamp(2.5rem,6vw,5rem);line-height:.9}.tag{color:var(--muted);margin-top:8px}.actions,.row{display:flex;gap:8px;flex-wrap:wrap}.pill{border-radius:999px;padding:10px 14px;min-height:42px}.primary{background:var(--gold);border-color:#ffe083;color:#171308;font-weight:900}.grid{display:grid;grid-template-columns:1.03fr .97fr;gap:18px;align-items:start}.panel{background:color-mix(in srgb,var(--panel) 92%,black);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:18px;box-shadow:0 20px 50px rgba(0,0,0,.25)}.setup,.draft{display:grid;gap:18px}.label{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:9px}.choice{padding:10px 12px;text-align:left}.choice strong{display:block}.choice span{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}.active{background:#28351f!important;border-color:var(--gold)!important}.ranges{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ranges label{display:grid;gap:6px;color:var(--muted);font-size:.84rem}input[type=range]{width:100%;accent-color:var(--gold)}.pitch{position:relative;min-height:620px;overflow:hidden;border:2px solid rgba(255,255,255,.34);border-radius:8px;padding:16px;background:linear-gradient(90deg,transparent 49.7%,rgba(255,255,255,.45) 49.7%,rgba(255,255,255,.45) 50.3%,transparent 50.3%),radial-gradient(circle at 50% 50%,transparent 0 82px,rgba(255,255,255,.38) 83px 85px,transparent 86px),repeating-linear-gradient(90deg,#17613a,#17613a 76px,#1f7547 76px,#1f7547 152px)}.pitch:before,.pitch:after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:42%;height:80px;border:2px solid rgba(255,255,255,.34);pointer-events:none}.pitch:before{top:-2px;border-top:0}.pitch:after{bottom:-2px;border-bottom:0}.slot{position:absolute;width:min(132px,25vw);min-height:76px;padding:9px;text-align:center;translate:-50% -50%;background:rgba(13,19,14,.84);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.26);z-index:1}.slot.open{border-style:dashed}.slot.pick{border-color:var(--gold);box-shadow:0 0 0 2px rgba(241,200,75,.2)}.pos{color:var(--gold);font-weight:950;font-size:.78rem}.name{display:block;margin-top:5px;font-weight:850;font-size:.88rem;line-height:1.12}.meta{display:block;color:var(--muted);margin-top:4px;font-size:.72rem;line-height:1.15}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px}.stat b{display:block;font-size:1.1rem}.stat span{color:var(--muted);font-size:.76rem}.wheel{display:grid;gap:12px;place-items:center;text-align:center;min-height:220px;border:1px solid var(--line);border-radius:8px;padding:18px;background:radial-gradient(circle at 50% 40%,rgba(112,167,255,.18),transparent 10rem),var(--panel2)}.wheel.spinning{border-color:var(--gold);box-shadow:0 0 0 2px rgba(241,200,75,.18),0 0 32px rgba(241,200,75,.14)}.club{font-size:clamp(1.7rem,4vw,3rem);line-height:1;font-weight:950}.season{color:var(--green);font-weight:850}.roll{animation:rollFlash .12s linear infinite}.reel{width:min(420px,100%);border:1px solid var(--line);border-radius:8px;background:#111912;padding:12px;overflow:hidden}.reel-line{display:block;white-space:nowrap;animation:reelSlide .32s ease-in-out infinite}.players{display:grid;gap:8px;max-height:468px;overflow:auto;padding-right:4px}.player{width:100%;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;text-align:left;padding:9px}.player:disabled{opacity:.42}.player.active{border-color:var(--gold);background:#28351f}.warn{color:var(--red);font-weight:800}.progress{height:10px;background:#0d130f;border:1px solid var(--line);border-radius:999px;overflow:hidden}.bar{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--green));transition:width .25s ease}.ticker{font-size:1.1rem;font-weight:900;color:var(--gold)}.rating{display:inline-grid;place-items:center;min-width:38px;height:38px;border-radius:8px;background:#f3d45f;color:#161308;font-weight:950}.pname{font-weight:850;line-height:1.1}.chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.chip{color:#0d1510;background:#b9e9b4;border-radius:999px;padding:2px 7px;font-size:.7rem;font-weight:850}.empty{color:var(--muted);text-align:center;padding:20px}.note{color:var(--muted);font-size:.86rem;line-height:1.45}.score{font-size:clamp(3rem,8vw,5.5rem);font-weight:950;line-height:.9;color:var(--gold)}.summary{display:grid;gap:14px}.record{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.results{display:grid;gap:8px;max-height:430px;overflow:auto}.result{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:9px}.badge{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:999px;font-weight:950;color:#101410}.W{background:var(--green)}.D{background:var(--gold)}.L{background:var(--red)}.scoreline{font-weight:900}.smallgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tables{display:grid;grid-template-columns:1.1fr .9fr;gap:10px}.table-card,.leader-card{border:1px solid var(--line);border-radius:8px;background:#121912;overflow:hidden}.table-row,.leader-row{display:grid;grid-template-columns:32px 1fr repeat(5,42px);gap:6px;align-items:center;padding:8px 10px;border-top:1px solid rgba(255,255,255,.06);font-size:.82rem}.leader-row{grid-template-columns:1fr 42px 42px 42px}.table-head,.leader-head{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.table-row:first-child,.leader-row:first-child{border-top:0}.highlight{background:rgba(241,200,75,.12)}.hidden{display:none!important}@keyframes rollFlash{50%{transform:scale(1.015);filter:brightness(1.2)}}@keyframes reelSlide{0%{transform:translateY(9px);opacity:.45}50%{transform:translateY(0);opacity:1}100%{transform:translateY(-9px);opacity:.45}}@media(max-width:900px){header{align-items:start;flex-direction:column}.grid{grid-template-columns:1fr}.pitch{min-height:560px}.ranges,.stats,.record,.smallgrid,.tables{grid-template-columns:1fr}}@media(max-width:560px){.shell{width:min(100% - 18px,1220px);padding-top:16px}.panel{padding:13px}.pitch{min-height:510px}.slot{width:92px;min-height:66px;padding:7px 5px}.name{font-size:.75rem}.meta{font-size:.64rem}.result{grid-template-columns:36px 1fr}.scoreline{grid-column:2}.table-row{grid-template-columns:28px 1fr repeat(5,34px);font-size:.74rem}.leader-row{grid-template-columns:1fr repeat(3,34px);font-size:.74rem}}
.tables{grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr)}.table-card,.leader-card{overflow:auto}.league-table,.leader-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.82rem}.league-table{min-width:580px}.leader-table{min-width:340px}.league-table th,.league-table td,.leader-table th,.leader-table td{border-top:1px solid rgba(255,255,255,.06);padding:8px 9px;text-align:center;vertical-align:middle}.league-table thead th,.leader-table thead th{border-top:0;color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.league-table th:nth-child(1),.league-table td:nth-child(1){width:34px}.league-table th:nth-child(2),.league-table td:nth-child(2){width:156px;text-align:left}.league-table th:not(:nth-child(2)),.league-table td:not(:nth-child(2)){white-space:nowrap}.leader-table th:nth-child(1),.leader-table td:nth-child(1){width:auto;text-align:left}.leader-table th:not(:nth-child(1)),.leader-table td:not(:nth-child(1)){width:48px;white-space:nowrap}.club-cell{font-weight:850;line-height:1.15}.league-table .highlight td{background:rgba(241,200,75,.12)}.reel{display:block;width:min(420px,100%);max-width:100%;min-height:42px;margin:0 auto;border:1px solid var(--line);border-radius:8px;background:#111912;padding:10px 12px;overflow:hidden;line-height:1.2}.reel-line{display:block;text-align:center;white-space:nowrap;animation:reelSlide .42s ease-in-out infinite;will-change:transform,opacity}.rating-panel,.odds-card,.debrief-card{border:1px solid var(--line);border-radius:8px;background:#151925;padding:14px}.rating-head,.odds-head,.debrief-head{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.rating-overall{font-size:2.8rem;font-weight:950;line-height:.95;margin:6px 0 12px}.rating-line,.odds-line{display:grid;grid-template-columns:88px 1fr 44px;gap:8px;align-items:center;margin-top:9px;font-size:.82rem;font-weight:850}.rating-track,.odds-bar{height:8px;background:#2b2b35;border-radius:999px;overflow:hidden}.rating-fill,.odds-fill{height:100%;border-radius:999px}.fill-attack{background:#e86b4f}.fill-midfield{background:#6fcf97}.fill-defence{background:#7da6ff}.fill-gk{background:#dda336}.odds-card,.debrief-card{display:grid;gap:12px}.odds-grid,.debrief-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.odds-metric,.debrief-metric{border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.odds-metric span,.debrief-metric span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;font-weight:850}.odds-metric b,.debrief-metric b{display:block;font-size:1.8rem;line-height:1.05;color:var(--text)}.odds-metric:last-child{text-align:right}.odds-metric:last-child b{color:#6fe0a1}.debrief-metric b.good{color:#6fe0a1}.debrief-metric b.bad{color:#ef767a}.odds-note,.debrief-note{border-top:1px solid rgba(255,255,255,.08);padding-top:10px;color:#91a1c1;font-size:.8rem;line-height:1.4}.duel-box{margin:-6px 0 18px;border:1px solid var(--line);border-radius:8px;background:#151b18;padding:14px;display:grid;gap:12px}.duel-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.duel-card{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#101611;padding:10px}.duel-card b{display:block;font-size:1.05rem}.duel-card span{display:block;color:var(--muted);font-size:.74rem}.duel-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.duel-link,.duel-code{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;background:#0d130f;color:var(--text);padding:10px;font:inherit;font-size:.8rem;resize:vertical}.duel-result{border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.duel-win{color:#6fe0a1}.duel-loss{color:#ef767a}.duel-draw{color:var(--gold)}.odds-gold{background:#f4bd3d}.odds-green{background:#76d6a1}.odds-blue{background:#789dff}.odds-purple{background:#a978ef}.odds-red{background:#ef767a}@media(max-width:700px){.duel-grid{grid-template-columns:1fr}}@media(max-width:560px){.league-table{min-width:540px}.leader-table{min-width:320px}.league-table th,.league-table td,.leader-table th,.leader-table td{padding:7px 8px;font-size:.76rem}.rating-line,.odds-line{grid-template-columns:78px 1fr 40px}.odds-grid,.debrief-grid{grid-template-columns:1fr}}
.duel-sim{display:grid;gap:12px}.duel-sim-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.duel-sim-head h2{font-size:1.6rem}.duel-skip{background:#111912;color:var(--muted);border-color:#3b463d}.duel-progress-wrap{border:1px solid rgba(241,200,75,.28);border-radius:8px;background:linear-gradient(135deg,rgba(241,200,75,.08),rgba(112,167,255,.08));padding:10px}.duel-progress-label{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.duel-progress-label b{color:var(--gold)}.duel-progress-label span{color:var(--muted);font-size:.78rem}.duel-progress{height:12px;background:#0d130f;border:1px solid rgba(255,255,255,.08);border-radius:999px;overflow:hidden}.duel-progress-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#f1c84b,#75d878,#70a7ff);box-shadow:0 0 18px rgba(241,200,75,.35);transition:width .4s ease}.title-race{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.race-metric{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#151925;padding:10px}.race-metric span,.duel-card-label{display:block;color:var(--muted);font-size:.7rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.race-metric b{display:block;margin-top:4px;font-size:1.45rem;line-height:1;color:var(--text)}.race-leader{border-color:rgba(241,200,75,.55);box-shadow:0 0 22px rgba(241,200,75,.12)}.race-leader b{color:var(--gold)}.live-grid{align-items:stretch}.duel-live-card{position:relative;overflow:hidden;background:linear-gradient(160deg,#111a15,#151925);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.duel-live-card.leader{border-color:var(--gold);box-shadow:0 0 0 1px rgba(241,200,75,.25),0 0 28px rgba(241,200,75,.16);animation:leaderGlow .85s ease}.duel-live-card .points{font-size:2.7rem;line-height:.9;color:var(--gold);margin:5px 0 2px}.duel-line{display:flex;gap:6px;align-items:center;margin-top:9px}.duel-line b{font-size:1rem}.duel-line.spread{justify-content:space-between;color:var(--muted);font-weight:850}.duel-form{display:flex;gap:5px;margin-top:10px;min-height:26px}.duel-card .form-dot{display:inline-grid;place-items:center}.form-dot{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:999px;color:#09120b;font-weight:950;font-size:.78rem}.form-dot.W,.result-pill.W{background:var(--green)}.form-dot.D,.result-pill.D{background:var(--gold)}.form-dot.L,.result-pill.L{background:var(--red);color:#fff}.form-empty{color:var(--muted);font-weight:900}.leader-watch.has-leader{border-color:rgba(241,200,75,.48)}.leader-watch b{color:var(--gold)}.current-grid{margin-top:10px;grid-template-columns:1fr 1fr}.duel-current{min-height:126px;border-width:2px;animation:resultPop .34s ease both}.duel-current.win{border-color:rgba(123,215,122,.7);box-shadow:0 0 24px rgba(123,215,122,.13)}.duel-current.draw{border-color:rgba(241,200,75,.66);box-shadow:0 0 24px rgba(241,200,75,.12)}.duel-current.loss{border-color:rgba(239,118,122,.7);box-shadow:0 0 24px rgba(239,118,122,.13)}.duel-current-score{display:block!important;margin:8px 0 6px!important;font-size:2.2rem!important;line-height:.9;color:var(--text)!important;font-weight:950;animation:scorePulse .5s ease}.duel-card .result-pill{display:inline-grid}.result-pill{display:inline-grid;place-items:center;min-width:28px;height:24px;border-radius:999px;padding:0 8px;color:#09120b;font-size:.75rem;font-weight:950}.duel-log-wrap{max-height:430px}.duel-log-table td{vertical-align:middle}.duel-log-row{animation:duelRowIn .32s ease both}.duel-log-row.is-new td{background:rgba(241,200,75,.13)}.duel-log-score{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;font-weight:950}.moment-cell{text-align:left!important;color:#d9e5d5}.winner-banner{display:grid;gap:4px;place-items:center;text-align:center;border:1px solid rgba(241,200,75,.6);border-radius:8px;background:radial-gradient(circle at 50% 0%,rgba(241,200,75,.34),transparent 14rem),linear-gradient(135deg,#201d0d,#121912);padding:22px;box-shadow:0 0 40px rgba(241,200,75,.18);animation:winnerReveal .75s ease both}.winner-banner span{color:var(--muted);font-size:.76rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.winner-banner b{font-size:clamp(2.1rem,6vw,4.6rem);line-height:.95;color:var(--gold)}.winner-banner em{font-style:normal;color:#f8e7a0;font-weight:850}.winner-banner.draw{border-color:rgba(112,167,255,.55);background:radial-gradient(circle at 50% 0%,rgba(112,167,255,.28),transparent 14rem),linear-gradient(135deg,#111927,#121912)}@keyframes duelRowIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes resultPop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scorePulse{0%{transform:scale(.92);filter:brightness(.85)}60%{transform:scale(1.08);filter:brightness(1.35)}100%{transform:scale(1);filter:brightness(1)}}@keyframes leaderGlow{0%{box-shadow:0 0 0 0 rgba(241,200,75,.42)}100%{box-shadow:0 0 0 1px rgba(241,200,75,.25),0 0 28px rgba(241,200,75,.16)}}@keyframes winnerReveal{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:760px){.duel-sim-head{flex-direction:column}.title-race{grid-template-columns:1fr 1fr}.current-grid{grid-template-columns:1fr}.race-leader{grid-column:1/-1}}
.duel-card span.form-dot,.duel-card span.result-pill{color:#09120b;font-weight:950}.duel-card span.form-dot.L,.duel-card span.result-pill.L{color:#fff}.season-charts{display:grid;gap:10px;margin-top:12px}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chart-card{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#111720;padding:12px;overflow:hidden}.chart-head{display:flex;justify-content:space-between;gap:10px;align-items:start;margin-bottom:8px}.chart-head b{font-size:.95rem}.chart-head span{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.72rem;font-weight:850}.chart-head i{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:5px}.chart-svg{display:block;width:100%;height:auto;min-height:178px}.chart-axis{stroke:rgba(255,255,255,.18);stroke-width:1}.chart-zero{stroke:rgba(241,200,75,.28);stroke-width:1;stroke-dasharray:4 5}.chart-tick{fill:var(--muted);font-size:12px;font-weight:800}.bar-chart{display:grid;gap:11px}.bar-row{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:center}.bar-row b{font-size:.78rem}.bar-lines{display:grid;gap:5px}.bar-lines span{position:relative;display:block;height:18px;border-radius:999px;background:#0d130f;overflow:hidden}.bar-fill{display:block;height:100%;min-width:3px;border-radius:999px}.bar-fill.p1{background:#f1c84b}.bar-fill.p2{background:#70a7ff}.bar-lines em{position:absolute;right:7px;top:1px;color:#fff;font-style:normal;font-size:.72rem;font-weight:950;text-shadow:0 1px 2px #000}@media(max-width:760px){.chart-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:86px 1fr}}
.duel-sim .duel-log-wrap{height:390px;max-height:390px;overflow:auto;scroll-behavior:smooth}.duel-sim .duel-log-table tbody tr{height:46px}.duel-sim .current-grid{min-height:136px}.duel-sim .duel-current{animation:none}.duel-current.waiting{border-color:rgba(255,255,255,.08);box-shadow:none;opacity:.72}.duel-current.waiting .duel-current-score{color:var(--muted)!important;animation:none}.duel-log-row{animation:none}.duel-log-row.is-new{animation:duelRowIn .42s cubic-bezier(.2,.8,.2,1) both}.final-review-card{display:grid;gap:13px;padding:16px;background:linear-gradient(160deg,#111a15,#151925);min-height:390px}.final-review-card.winner{border-color:var(--gold);box-shadow:0 0 0 1px rgba(241,200,75,.28),0 0 32px rgba(241,200,75,.16)}.final-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.final-card-top b{font-size:1.25rem}.final-points{display:flex;align-items:end;gap:10px;color:var(--gold)}.final-points strong{font-size:clamp(3.2rem,8vw,5rem);line-height:.82}.final-points span{margin-bottom:7px;color:var(--muted);font-weight:900;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}.final-record{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.final-record span{display:grid!important;place-items:center;min-height:34px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#0d130f;color:#f2f7ef!important;font-weight:950}.expected-box{border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:11px;background:#101611}.expected-box span{display:block!important;color:var(--muted)!important;font-size:.72rem!important;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.expected-box b{display:block;margin-top:4px;font-size:1.05rem}.expected-box em{display:block;margin-top:3px;font-style:normal;font-weight:900}.expected-box.good em{color:var(--green)}.expected-box.bad em{color:var(--red)}.expected-box.neutral em{color:var(--gold)}.final-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.final-stat-grid span{display:grid!important;gap:3px;align-content:start;min-height:58px;border-top:1px solid rgba(255,255,255,.08);padding-top:8px;color:var(--muted)!important;font-size:.76rem!important}.final-stat-grid b{color:var(--text);font-size:.86rem;line-height:1.2}.chart-grid{grid-template-columns:1fr 1fr}.chart-card{min-height:248px}.season-charts .chart-card:nth-child(4){border-color:rgba(241,200,75,.3)}.tournament-setup{display:grid;gap:12px}.tournament-sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tournament-lobby{display:grid;gap:12px}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slot-card{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#101611;padding:10px;min-height:82px}.slot-card.open{border-style:dashed;opacity:.72}.slot-card.ready{border-color:rgba(123,215,122,.45)}.slot-card.self{box-shadow:0 0 0 1px rgba(241,200,75,.25)}.slot-card b{display:block;line-height:1.1}.slot-card span{display:block;color:var(--muted);font-size:.72rem;margin-top:4px}.status-dot{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:999px;margin-right:5px;font-size:.7rem;font-weight:950;color:#09120b}.status-ready{background:var(--green)}.status-draft{background:var(--gold)}.status-off{background:var(--red);color:#fff}.bracket-wrap{display:grid;gap:12px}.bracket{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:start}.bracket-round{display:grid;gap:9px}.bracket-round h3{font-size:1rem;color:var(--gold)}.bracket-match{border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#101611;padding:10px;display:grid;gap:7px;animation:duelRowIn .32s ease both}.bracket-match.active{border-color:var(--gold);box-shadow:0 0 26px rgba(241,200,75,.14)}.bracket-team{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:7px 8px;border-radius:8px;background:#151b18;color:var(--muted)}.bracket-team.winner{background:rgba(123,215,122,.16);color:var(--text);border:1px solid rgba(123,215,122,.35)}.bracket-team.loser{opacity:.45;text-decoration:line-through}.bracket-score{font-weight:950;color:var(--gold)}.tournament-final{display:grid;gap:12px}.route-list{display:grid;gap:7px}.route-list span{display:flex!important;justify-content:space-between;gap:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:7px;color:var(--muted)!important}.route-list b{color:var(--text)}@media(max-width:760px){.duel-sim .duel-log-wrap{height:330px;max-height:330px}.final-stat-grid,.final-record{grid-template-columns:1fr 1fr}.final-review-card{min-height:auto}.tournament-sizes,.slot-grid{grid-template-columns:1fr 1fr}.bracket{grid-template-columns:1fr}}
.position-modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:rgba(3,8,5,.62);backdrop-filter:blur(6px)}.position-sheet{width:min(440px,100%);border:1px solid rgba(241,200,75,.45);border-radius:8px;background:#141b16;box-shadow:0 24px 70px rgba(0,0,0,.45);padding:16px;display:grid;gap:12px}.position-sheet h3{font-size:1.25rem}.position-options{display:grid;gap:8px}.position-option{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 12px;text-align:left}.position-option b{font-size:1rem}.position-option span{color:var(--muted);font-size:.78rem}.position-close{justify-self:end}.slot.move-source{border-color:var(--blue);box-shadow:0 0 0 2px rgba(112,167,255,.25)}.slot.swap-target{border-color:var(--gold);box-shadow:0 0 0 2px rgba(241,200,75,.2)}.toast{position:fixed;left:50%;bottom:18px;z-index:25;transform:translateX(-50%);width:min(420px,calc(100% - 24px));border:1px solid rgba(241,200,75,.38);border-radius:8px;background:#151b18;color:var(--text);padding:11px 13px;text-align:center;box-shadow:0 16px 50px rgba(0,0,0,.35);animation:resultPop .22s ease both}.cpu-controls{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#101611;padding:10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.slot-card.cpu{border-color:rgba(112,167,255,.42);background:linear-gradient(160deg,#101611,#121925)}.slot-card .mini{margin-top:8px;padding:6px 8px;min-height:30px;font-size:.76rem}@media(max-width:560px){.position-sheet{padding:14px}.position-option{align-items:start;flex-direction:column}.cpu-controls{align-items:stretch}.cpu-controls button{width:100%}}
.tournament-top{display:grid;gap:12px}.tournament-overview{border-color:rgba(241,200,75,.26);background:linear-gradient(160deg,#101611,#141b17);min-height:250px}.tournament-overview .bracket-match{animation:none;min-height:128px}.tournament-overview .bracket{align-items:stretch}.tournament-focus{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tournament-focus .race-metric{min-height:70px}.tournament-squads{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#101611;overflow:hidden}.tournament-squads summary{cursor:pointer;list-style:none;padding:12px 14px;font-weight:950;color:var(--gold);border-bottom:1px solid rgba(255,255,255,.08)}.tournament-squads summary::-webkit-details-marker{display:none}.squad-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;padding:12px}.squad-card{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#151b18;padding:10px;display:grid;gap:8px}.squad-card h3{font-size:1rem}.squad-xi{display:grid;gap:5px}.squad-row{display:grid;grid-template-columns:42px 1fr 36px;gap:8px;align-items:center;border-top:1px solid rgba(255,255,255,.06);padding-top:6px;font-size:.8rem}.squad-row:first-child{border-top:0;padding-top:0}.squad-row b{color:var(--gold)}.matchup-review{margin-top:12px}.matchup-review .chart-grid{grid-template-columns:1fr 1fr}@media(max-width:760px){.tournament-focus,.matchup-review .chart-grid{grid-template-columns:1fr}.tournament-overview{min-height:auto}}
.profile-page{margin:-6px 0 18px}.profile-shell{display:grid;gap:14px}.profile-hero{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:linear-gradient(160deg,#111a15,#151925)}.profile-avatar{display:grid;place-items:center;width:72px;height:72px;border:1px solid rgba(241,200,75,.45);border-radius:8px;background:#101611;font-size:2.2rem;box-shadow:0 0 28px rgba(241,200,75,.1)}.profile-grid{display:grid;grid-template-columns:minmax(280px,.85fr) 1.15fr;gap:12px}.profile-card{display:grid;gap:12px}.profile-card label{display:grid;gap:6px;color:var(--muted);font-size:.8rem;font-weight:850}.profile-card input,.profile-card select{width:100%;border:1px solid var(--line);border-radius:8px;background:#0d130f;color:var(--text);padding:10px}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.profile-stats.compact{grid-template-columns:repeat(2,1fr)}.ranked-card{border-color:rgba(112,167,255,.28);background:linear-gradient(160deg,#101611,#121925)}.profile-history{display:grid;gap:8px;max-height:460px;overflow:auto;padding-right:4px}.profile-match{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#101611;padding:10px;transition:transform .16s ease,border-color .16s ease}.profile-match:hover{transform:translateY(-1px);border-color:rgba(241,200,75,.32)}.profile-match b,.profile-match strong{display:block}.profile-match span{display:block;color:var(--muted);font-size:.76rem;margin-top:3px}.profile-match.win{border-color:rgba(123,215,122,.38)}.profile-match.loss{border-color:rgba(239,118,122,.32)}.profile-match.draw{border-color:rgba(241,200,75,.34)}@media(max-width:760px){.profile-hero,.profile-grid,.profile-match{grid-template-columns:1fr}.profile-stats{grid-template-columns:1fr 1fr}.profile-avatar{width:64px;height:64px}}

/* Premium visual polish layer */
:root{--panelGlass:rgba(19,27,21,.86);--panelGlow:rgba(241,200,75,.18);--nightBlue:#101827;--orange:#f08a45}
body{position:relative;overflow-x:hidden;background:
radial-gradient(circle at 18% -8%,rgba(241,200,75,.23),transparent 28rem),
radial-gradient(circle at 82% 0%,rgba(112,167,255,.14),transparent 26rem),
radial-gradient(circle at 50% 115%,rgba(33,117,71,.24),transparent 36rem),
linear-gradient(145deg,#08100c 0%,#0f1714 46%,#12140e 100%);}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:
linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
linear-gradient(0deg,rgba(255,255,255,.018) 1px,transparent 1px);
background-size:92px 92px,92px 92px;mask-image:radial-gradient(circle at 50% 25%,black,transparent 78%);opacity:.55}
body:after{content:"";position:fixed;inset:-12%;pointer-events:none;z-index:-1;background:
radial-gradient(ellipse at 20% 0%,rgba(255,238,161,.16),transparent 24rem),
radial-gradient(ellipse at 80% 0%,rgba(255,238,161,.12),transparent 22rem),
radial-gradient(ellipse at 50% 50%,transparent 42%,rgba(0,0,0,.48) 100%);}
.shell{position:relative}.shell:before{content:"";position:absolute;inset:92px -24px auto;height:1px;background:linear-gradient(90deg,transparent,rgba(241,200,75,.4),rgba(123,215,122,.24),transparent);opacity:.75}
header{padding:8px 0 6px}h1{letter-spacing:.02em;text-shadow:0 2px 0 rgba(0,0,0,.35),0 0 28px rgba(241,200,75,.18)}h2{letter-spacing:.01em}.tag{color:#d6e6d2}
.panel,.duel-box,.profile-page>.profile-shell,.profile-card,.chart-card,.table-card,.leader-card,.slot-card,.bracket-match{background:linear-gradient(160deg,rgba(25,35,27,.92),rgba(12,18,15,.94));border-color:rgba(255,255,255,.1);box-shadow:0 18px 60px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.04)}
.panel,.duel-box,.profile-page,.duel-result,.tournament-lobby{animation:panelIn .28s ease both}
.panel:hover,.duel-card:hover,.chart-card:hover,.profile-match:hover{border-color:rgba(241,200,75,.28);box-shadow:0 22px 70px rgba(0,0,0,.38),0 0 24px rgba(241,200,75,.07),inset 0 1px 0 rgba(255,255,255,.05)}
.rating-panel,.odds-card,.debrief-card,.final-review-card,.winner-banner,.ranked-card{position:relative;overflow:hidden;border-color:rgba(241,200,75,.28);box-shadow:0 18px 54px rgba(0,0,0,.35),0 0 30px rgba(241,200,75,.1),inset 0 1px 0 rgba(255,255,255,.05)}
.rating-panel:before,.odds-card:before,.winner-banner:before,.final-review-card.winner:before,.ranked-card:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,227,131,.75),transparent)}
button,.pill,.choice,.player,.slot,.position-option{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease,filter .18s ease}
button:hover:not(:disabled),.choice:hover:not(:disabled),.player:hover:not(:disabled){filter:brightness(1.07);box-shadow:0 8px 24px rgba(0,0,0,.28),0 0 18px rgba(241,200,75,.08)}
.pill.primary,.primary{background:linear-gradient(135deg,#ffe37c,#f1c84b 56%,#dba928);border-color:#fff0a6;color:#171308;text-shadow:0 1px 0 rgba(255,255,255,.24);box-shadow:0 10px 28px rgba(241,200,75,.18),inset 0 1px 0 rgba(255,255,255,.46)}
.pill.primary:hover:not(:disabled),.primary:hover:not(:disabled){box-shadow:0 14px 34px rgba(241,200,75,.28),0 0 18px rgba(241,200,75,.18),inset 0 1px 0 rgba(255,255,255,.56)}
.actions .pill.primary,#sim.pill.primary,#findMatchBtn,#lockDraft{animation:softPulse 2.8s ease-in-out infinite}
.choice.active,.active{box-shadow:0 0 0 1px rgba(241,200,75,.3),0 0 20px rgba(241,200,75,.1)}
.pitch{box-shadow:0 24px 80px rgba(0,0,0,.42),inset 0 0 80px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.08);border-color:rgba(202,238,200,.55);background:
linear-gradient(90deg,transparent 49.7%,rgba(255,255,255,.5) 49.7%,rgba(255,255,255,.5) 50.3%,transparent 50.3%),
radial-gradient(circle at 50% 50%,transparent 0 82px,rgba(255,255,255,.42) 83px 85px,transparent 86px),
repeating-linear-gradient(90deg,#155c37,#155c37 76px,#207846 76px,#207846 152px)}
.slot{border-radius:10px;background:linear-gradient(160deg,rgba(12,20,14,.9),rgba(10,15,12,.78));box-shadow:0 12px 28px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.04)}
.slot:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(0,0,0,.34),0 0 18px rgba(241,200,75,.12)}
.rating{background:linear-gradient(135deg,#fff09d,#f3d45f 62%,#d9aa2c);box-shadow:0 7px 18px rgba(241,200,75,.18),inset 0 1px 0 rgba(255,255,255,.45)}
.score,.rating-overall,.final-points strong,.winner-banner b,.race-metric b{font-variant-numeric:tabular-nums;text-shadow:0 2px 0 rgba(0,0,0,.35),0 0 24px rgba(241,200,75,.18)}
.rating-line,.odds-line{grid-template-columns:92px minmax(120px,1fr) 48px;gap:10px}
.rating-track,.odds-bar,.progress,.duel-progress,.bar-lines span{position:relative;height:11px;background:linear-gradient(180deg,#070d09,#111820);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 4px rgba(0,0,0,.55);overflow:hidden}
.rating-track:after,.odds-bar:after,.progress:after,.duel-progress:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.18),transparent 16%,transparent 84%,rgba(255,255,255,.08));opacity:.35;mix-blend-mode:screen}
.rating-fill,.odds-fill,.bar,.duel-progress-fill,.bar-fill{display:block;height:100%;border-radius:999px;transform-origin:left center;animation:barGrow .72s cubic-bezier(.2,.8,.2,1) both;box-shadow:0 0 14px currentColor}
.rating-low .rating-fill{background:linear-gradient(90deg,#df654a,#f09a4b);color:#f09a4b}
.rating-mid .rating-fill{background:linear-gradient(90deg,#f0b64c,#f3d45f);color:#f3d45f}
.rating-high .rating-fill{background:linear-gradient(90deg,#76d67a,#f1c84b);color:#9ee988}
.odds-gold{background:linear-gradient(90deg,#f2a93e,#f1c84b);color:#f1c84b}.odds-green{background:linear-gradient(90deg,#52be79,#86e59a);color:#86e59a}.odds-blue{background:linear-gradient(90deg,#5f8ff0,#7fb7ff);color:#7fb7ff}.odds-purple{background:linear-gradient(90deg,#9463db,#bb8dff);color:#bb8dff}.odds-red{background:linear-gradient(90deg,#e45f5f,#ff8b7b);color:#ff8b7b}
.stat,.race-metric,.duel-card{background:linear-gradient(160deg,rgba(27,37,29,.96),rgba(13,20,16,.96));border-color:rgba(255,255,255,.1)}
.stat b,.odds-metric b,.debrief-metric b{font-variant-numeric:tabular-nums}.stat:hover,.race-metric:hover{border-color:rgba(241,200,75,.24)}
.wheel{background:radial-gradient(circle at 50% 28%,rgba(241,200,75,.18),transparent 9rem),radial-gradient(circle at 50% 80%,rgba(112,167,255,.12),transparent 12rem),linear-gradient(160deg,#1a231b,#101712);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 20px 60px rgba(0,0,0,.28)}
.wheel.spinning{animation:goldBreath 1.2s ease-in-out infinite}
.winner-banner{border-width:2px;background:radial-gradient(circle at 50% -10%,rgba(255,228,122,.45),transparent 15rem),linear-gradient(135deg,#241d08,#121912 68%,#0e1814);box-shadow:0 0 0 1px rgba(255,228,122,.24),0 0 60px rgba(241,200,75,.24),0 22px 80px rgba(0,0,0,.45)}
.winner-banner.win,.tournament-final .winner-banner{animation:winnerReveal .75s ease both,goldBreath 2.2s ease-in-out infinite}
.duel-current.win,.profile-match.win,.slot-card.ready{box-shadow:0 0 22px rgba(123,215,122,.12)}.duel-current.loss,.profile-match.loss{box-shadow:0 0 22px rgba(239,118,122,.11)}
.chart-svg polyline{filter:drop-shadow(0 0 5px rgba(241,200,75,.16))}.chart-card{background:linear-gradient(160deg,#121a1a,#101621)}
.league-table tbody tr,.leader-table tbody tr{transition:background .18s ease,transform .18s ease}.league-table tbody tr:hover,.leader-table tbody tr:hover{background:rgba(241,200,75,.07)}
@keyframes barGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes softPulse{0%,100%{box-shadow:0 10px 28px rgba(241,200,75,.16),inset 0 1px 0 rgba(255,255,255,.35)}50%{box-shadow:0 14px 36px rgba(241,200,75,.28),0 0 18px rgba(241,200,75,.16),inset 0 1px 0 rgba(255,255,255,.45)}}@keyframes goldBreath{0%,100%{filter:brightness(1);box-shadow:0 0 0 1px rgba(241,200,75,.22),0 0 28px rgba(241,200,75,.12)}50%{filter:brightness(1.08);box-shadow:0 0 0 1px rgba(241,200,75,.34),0 0 42px rgba(241,200,75,.22)}}
@media(max-width:560px){.rating-line,.odds-line{grid-template-columns:78px minmax(94px,1fr) 42px}.rating-track,.odds-bar{height:10px}.actions .pill.primary,#sim.pill.primary,#findMatchBtn,#lockDraft{animation:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
