@import"https://fonts.googleapis.com/css2?family=Anton&family=Oswald:wght@500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@700;800&display=swap";:root{--bg: #0D1F0F;--surface: #162B18;--surface-2: #1C3520;--gold: #C9A227;--gold-soft: rgba(201, 162, 39, .18);--brown: #7A5C3A;--khaki: #B8AD95;--text: #F0EDE4;--danger: #c0392b;--font-display: "Anton", "Oswald", Impact, sans-serif;--font-body: "Inter", "DM Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Consolas", monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-body);min-height:100vh;-webkit-text-size-adjust:100%}button,.card.clickable,.ghost-slot,.player-card{touch-action:manipulation}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;font-weight:400;margin:0}.app-shell{width:100%;max-width:1100px;margin:0 auto;padding:calc(20px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(60px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));flex:1}.topbar{display:flex;align-items:baseline;gap:12px;padding:14px 0 22px;cursor:pointer;-webkit-user-select:none;user-select:none}.topbar .logo{font-family:var(--font-display);font-size:26px;color:var(--text)}.topbar .logo em{color:var(--gold);font-style:normal}.topbar .tagline{color:var(--khaki);font-size:13px;letter-spacing:.12em;text-transform:lowercase}.btn{font-family:var(--font-body);font-weight:600;font-size:15px;border:1px solid var(--brown);background:var(--surface);color:var(--text);border-radius:10px;padding:12px 22px;cursor:pointer;transition:transform .08s ease,border-color .15s ease,background .15s ease}.btn:hover{border-color:var(--gold);transform:translateY(-1px)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-gold{background:var(--gold);border-color:var(--gold);color:#14210f;font-weight:700}.btn-gold:hover{background:#dab437}.btn-ghost{background:transparent}.btn-big{font-size:18px;padding:16px 30px}.btn-sm{font-size:13px;padding:7px 14px;border-radius:8px}.card{background:var(--surface);border:1px solid rgba(122,92,58,.45);border-radius:14px;padding:20px}.card.clickable{cursor:pointer;transition:border-color .15s,transform .1s}.card.clickable:hover{border-color:var(--gold);transform:translateY(-2px)}.card.selected{border-color:var(--gold);background:var(--gold-soft)}.section-title{font-size:30px;margin-bottom:6px}.section-sub{color:var(--khaki);font-size:14px;margin:0 0 24px}.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:760px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.grid-2{grid-template-columns:1fr}}input[type=text],select{background:var(--surface-2);border:1px solid var(--brown);color:var(--text);border-radius:8px;padding:11px 14px;font-size:16px;font-family:var(--font-body);width:100%}input[type=text]:focus,select:focus{outline:none;border-color:var(--gold)}label.field{display:block;font-size:13px;color:var(--khaki);margin-bottom:6px;letter-spacing:.04em}.pitch-wrap{position:relative;width:100%}.pitch-svg{display:block;width:100%;height:auto;border-radius:12px}.ghost-slot{cursor:pointer}.ghost-slot circle.zone{fill:#f0ede40f;stroke:#f0ede466;stroke-dasharray:4 3;transition:fill .15s}.ghost-slot:hover circle.zone{fill:#c9a22740;stroke:var(--gold)}.ghost-slot.filled circle.zone{fill:#c9a22729;stroke:var(--gold);stroke-dasharray:none}.ghost-slot text{pointer-events:none}.spinner-stage{display:flex;flex-direction:column;align-items:center;gap:18px;padding:30px 0}.spinner-window{width:220px;height:150px;border:2px solid var(--gold);border-radius:16px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;overflow:hidden;box-shadow:0 0 40px #c9a22726}.spinner-window img{width:86px;height:auto;border-radius:6px;box-shadow:0 3px 14px #00000080}.spinner-window .nation-name{font-family:var(--font-display);font-size:20px}.spin-blur img{animation:spinPulse .09s linear infinite}@keyframes spinPulse{0%{transform:translateY(-6px) scale(.98);opacity:.7}to{transform:translateY(6px) scale(1.02);opacity:1}}.spinner-result-label{color:var(--khaki);font-size:13px;letter-spacing:.2em;text-transform:uppercase}.player-list{display:flex;flex-direction:column;gap:8px;max-height:480px;overflow-y:auto;padding-right:4px}.player-card{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid rgba(122,92,58,.4);border-radius:10px;padding:10px 14px;cursor:pointer;transition:border-color .12s,background .12s}.player-card:hover{border-color:var(--khaki);background:var(--surface-2)}.player-card.fit{border-color:var(--gold);background:var(--gold-soft)}.player-card .ov{font-family:var(--font-mono);font-size:22px;font-weight:800;width:44px;text-align:center;flex-shrink:0;color:var(--text)}.player-card.fit .ov{color:var(--gold)}.player-card .pname{font-weight:600;font-size:15px}.player-card .pmeta{color:var(--khaki);font-size:12px}.badge-pos{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;background:var(--surface-2);color:var(--khaki);border:1px solid var(--brown);flex-shrink:0}.player-card.fit .badge-pos{background:var(--gold);color:#14210f;border-color:var(--gold)}.attr-bars{display:flex;gap:5px;margin-left:auto;flex-shrink:0}.attr-bar{width:26px;text-align:center}.attr-bar .bar-bg{height:30px;width:7px;background:#f0ede41a;border-radius:3px;position:relative;margin:0 auto}.attr-bar .bar-fill{position:absolute;bottom:0;left:0;right:0;border-radius:3px;background:var(--khaki)}.attr-bar.hi .bar-fill{background:var(--gold)}.attr-bar .bar-label{font-size:9px;color:var(--khaki);margin-top:3px;display:block}@media(max-width:700px){.player-card{gap:8px;padding:8px 10px}.player-card .ov{width:32px;font-size:18px}.attr-bars{gap:2px}.attr-bar{width:18px}.attr-bar .bar-bg{height:22px;width:5px}.attr-bar .bar-label{font-size:7.5px}}.tac-slider{width:100%;accent-color:var(--gold);height:26px;cursor:pointer}.slider-ticks{display:flex;justify-content:space-between;padding:0 6px;margin-top:-4px}.slider-ticks span{font-size:9px;color:var(--brown)}.slider-ticks span.on{color:var(--gold)}.reroll-pill{display:inline-flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--gold);color:var(--gold);border-radius:999px;padding:6px 16px;font-weight:700;font-size:14px}.style-option{text-align:left}.style-option .icon{font-size:26px}.style-option h3{font-size:18px;margin:8px 0 4px;font-family:var(--font-body);font-weight:700;text-transform:none}.style-option p{color:var(--khaki);font-size:13px;margin:0}.match-shell{display:flex;flex-direction:column;gap:14px;align-items:center}.scoreboard{display:flex;align-items:center;gap:18px;background:var(--surface);border:1px solid var(--brown);border-radius:14px;padding:12px 26px;width:100%;max-width:760px;justify-content:space-between}.scoreboard .team{display:flex;align-items:center;gap:10px;min-width:0}.scoreboard .team .tname{font-family:var(--font-display);font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scoreboard .score{font-family:var(--font-mono);font-size:34px;font-weight:800;background:#0a180c;border-radius:10px;padding:2px 18px;letter-spacing:.05em;flex-shrink:0}.scoreboard .clock{font-family:var(--font-mono);font-size:18px;font-weight:700;color:var(--gold);width:52px;text-align:center;flex-shrink:0}@media(max-width:640px){.scoreboard{padding:10px 14px;gap:10px}.scoreboard .tname{display:none}.scoreboard .score{font-size:28px;padding:2px 12px}}.match-canvas{width:100%;max-width:760px;border-radius:14px;display:block}.goal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0d1f0fd1;border-radius:14px;animation:fadeIn .25s ease;z-index:5}.goal-overlay .goal-word{font-family:var(--font-display);font-size:64px;color:var(--gold);text-shadow:0 0 30px rgba(201,162,39,.6);animation:goalPop .4s cubic-bezier(.2,1.6,.4,1)}.goal-overlay .goal-scorer{font-size:20px;font-weight:700;margin-top:6px}.goal-overlay .goal-minute{color:var(--khaki);margin-top:4px}@keyframes goalPop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.speed-controls{display:flex;gap:8px}.speed-controls .btn.active{border-color:var(--gold);color:var(--gold)}.result-score{font-family:var(--font-mono);font-size:64px;font-weight:800;text-align:center}.stat-row{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(122,92,58,.25)}.stat-row .v{font-family:var(--font-mono);font-weight:700;font-size:17px}.stat-row .v.left{text-align:right}.stat-row .label{color:var(--khaki);font-size:12px;text-transform:uppercase;letter-spacing:.1em;text-align:center}.scorer-line{font-size:14px;color:var(--khaki);padding:2px 0}.scorer-line b{color:var(--text)}.bracket{display:flex;gap:26px;overflow-x:auto;padding:10px 2px 20px}.bracket-round{display:flex;flex-direction:column;gap:14px;justify-content:space-around;min-width:215px}.bracket-round h3{font-size:15px;color:var(--khaki);text-align:center}.bracket-match{border:1px solid var(--brown);border-radius:10px;overflow:hidden;background:var(--surface)}.bracket-match.next{border-color:var(--gold);box-shadow:0 0 16px #c9a2272e}.bracket-team{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:600}.bracket-team+.bracket-team{border-top:1px solid rgba(122,92,58,.3)}.bracket-team .bscore{margin-left:auto;font-family:var(--font-mono);font-weight:800}.bracket-team.winner{color:var(--gold)}.bracket-team.loser{opacity:.5}table.standings{width:100%;border-collapse:collapse;font-size:14px}table.standings th{color:var(--khaki);font-weight:600;text-align:left;padding:8px 10px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--brown)}table.standings td{padding:9px 10px;border-bottom:1px solid rgba(122,92,58,.22)}table.standings tr.qualify td{background:#c9a22712}table.standings .num{font-family:var(--font-mono);font-weight:700;text-align:center}.shootout-row{display:flex;gap:8px;align-items:center;padding:5px 0}.shootout-dot{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}.shootout-dot.scored{background:var(--gold);color:#14210f}.shootout-dot.missed{background:var(--danger);color:var(--text)}.champion-stage{text-align:center;padding:60px 0}.champion-stage .trophy{font-size:90px;animation:goalPop .6s cubic-bezier(.2,1.6,.4,1)}.champion-stage h1{font-size:52px;color:var(--gold);margin:10px 0}.muted{color:var(--khaki)}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center;gap:12px}.flex-center{display:flex;align-items:center;gap:10px}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:28px}.mb-2{margin-bottom:16px}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--brown);border-radius:5px}::-webkit-scrollbar-track{background:transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
