:root{--bg: #0c2118;--text: #ffffff;--accent: #f5c518;--accent-text: #0c2118;--navbar-bg: #0f2a1d;--navbar-border: #1c4430;--card-bg: #123524;--card-border: #1c4430;--input-bg: #0c2118;--input-border: #2a5c40;--muted: #bcdcc8;--error: #ff8a65;--live: #c0392b;--row-highlight: #1c4430;--zero-badge-bg: #5b6661;--zero-badge-text: #d8ddda;--exact-badge-bg: #8bd17c;--exact-badge-text: #143d12;--rank-down: #ff8a65;--rank-same: #5b6661;--player-name: #cfa015;--penalty-badge-bg: #8ecae6;--penalty-badge-text: #0c2118;--penalty-exact-badge-bg: #2a52be;--penalty-exact-badge-text: #ffffff;--wager-zero-badge-bg: #000000;--wager-zero-badge-text: #ffffff}[data-theme=light]{--bg: #eaf6ec;--text: #16321f;--accent: #f5c518;--accent-text: #16321f;--navbar-bg: #f5fbf6;--navbar-border: #cfe8d4;--card-bg: #ffffff;--card-border: #cfe8d4;--input-bg: #ffffff;--input-border: #b9dcc0;--muted: #5c7a64;--error: #c0392b;--live: #c0392b;--row-highlight: #dff0e1;--zero-badge-bg: #dfe6e1;--zero-badge-text: #4b5650;--exact-badge-bg: #8bd17c;--exact-badge-text: #143d12;--rank-down: #c0392b;--rank-same: #93a89b;--player-name: #8a6b00;--penalty-badge-bg: #8ecae6;--penalty-badge-text: #0c2118;--penalty-exact-badge-bg: #2a52be;--penalty-exact-badge-text: #ffffff;--wager-zero-badge-bg: #000000;--wager-zero-badge-text: #ffffff}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h2,h3,h4{font-weight:600;letter-spacing:-.01em}h2{font-size:20px}h3{font-size:15px;margin:18px 0 12px}h4{font-size:14px}.card h3{margin-top:0}.app{display:flex;flex-direction:column;min-height:100vh}.main{flex:1;max-width:720px;width:100%;margin:0 auto;padding:16px}.centered{display:flex;align-items:center;justify-content:center;min-height:50vh}a{color:var(--player-name);text-decoration:none}.navbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--navbar-bg);border-bottom:1px solid var(--navbar-border);gap:8px}.navbar h1{font-size:18px;margin:0;color:var(--text);white-space:nowrap}.navbar button{background:none;border:none;color:var(--player-name);cursor:pointer}.navbar .icon-link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--player-name);flex-shrink:0}.lang-dropdown{position:relative;flex-shrink:0}.lang-trigger{background:var(--card-border);color:var(--text);border:1px solid var(--input-border);border-radius:6px;cursor:pointer;padding:6px 8px;font-size:14px;white-space:nowrap}.lang-trigger-compact{display:none}@media (max-width: 600px){.lang-trigger{padding:4px 6px;font-size:12px}.lang-trigger-full{display:none}.lang-trigger-compact{display:inline}}.lang-menu{position:absolute;right:0;top:100%;margin-top:4px;z-index:20;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;list-style:none;padding:4px;margin-block:0;min-width:170px}.lang-menu li{margin:0}.lang-option{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text);padding:8px 10px;border-radius:6px;cursor:pointer;font-size:14px;white-space:nowrap}.lang-option:hover,.lang-option.active{background:var(--row-highlight)}.scoreboard{display:flex;align-items:center;justify-content:space-between;background:var(--bg);border:1px solid var(--input-border);border-radius:8px;padding:10px 14px;margin:10px 0}.scoreboard-score{font-size:28px;font-weight:700;letter-spacing:1px;color:var(--text)}.scoreboard-clock{text-align:right}.scoreboard-period{display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.scoreboard-live-dot{width:7px;height:7px;border-radius:50%;background:var(--live);display:inline-block}.scoreboard-time{font-family:SF Mono,Menlo,Consolas,monospace;font-size:19px;font-weight:600;color:var(--accent)}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:16px;margin-bottom:12px;color:var(--text)}.btn{background:var(--accent);color:var(--accent-text);border:none;border-radius:8px;padding:10px 16px;font-size:15px;cursor:pointer;font-weight:600;display:inline-block}a.btn{color:var(--accent-text)}.btn:disabled{opacity:.5;cursor:not-allowed}.expand-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;flex-shrink:0;background:var(--card-border);color:var(--text);border:none;cursor:pointer;transition:background .15s ease}.expand-toggle:hover{background:var(--row-highlight)}.expand-toggle svg{transition:transform .2s ease}.expand-toggle.expanded svg{transform:rotate(180deg)}input,select{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);margin-bottom:10px;font-size:15px}.form{display:flex;flex-direction:column;gap:4px;max-width:360px;margin:40px auto}.inline-form{display:flex;align-items:stretch;gap:8px}.inline-form input{flex:1;min-width:0;margin-bottom:0}.inline-form .btn{flex-shrink:0}.match-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.teams{flex:1;min-width:0;overflow:hidden}.kickoff{font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-top:6px}.penalty-winner-check{color:var(--penalty-exact-badge-bg);font-weight:700;margin:0 3px}.penalty-winner-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--penalty-exact-badge-bg);margin:0 4px;flex-shrink:0}.penalty-winner-check-slot{display:inline-flex;align-items:center;justify-content:center;width:14px}.round-label{display:flex;align-items:center;font-size:11px;color:var(--muted);font-weight:400;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.badge.round-multiplier-badge{margin-left:6px;text-transform:none;font-family:inherit;font-weight:400;font-size:11px;letter-spacing:.5px;padding:1px 6px;line-height:1.4}.badge.round-multiplier-badge-1{background:#f3ecd6;color:#4a3c00}.badge.round-multiplier-badge-2{background:#e8d089;color:#3d3000}.badge.round-multiplier-badge-3{background:#d9ad4c;color:#331f00}.badge.round-multiplier-badge-4{background:#c8811f;color:#2b1400}.badge.round-multiplier-badge-5{background:#b85a12;color:#fdf2e5}.match-result{display:flex;align-items:flex-start;gap:6px;margin-bottom:4px}.score-inputs.score-inputs-inline input{padding:3px 6px;width:40px}.match-result-team{display:flex;flex-direction:column;overflow:hidden}.match-result-textblock{display:flex;flex-direction:column;overflow:hidden;width:110px;flex-shrink:0}.match-result-textblock-home{text-align:right}.match-result-textblock-away{text-align:left}.match-result-fullname{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-result-abbr{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-result-flag{font-size:26px;line-height:1;flex-shrink:0}.match-result-score{display:inline-block;font-size:17px;font-weight:700;letter-spacing:.5px;color:var(--text);background:var(--bg);border:1px solid var(--card-border);border-radius:6px;padding:3px 12px;min-width:56px;text-align:center;white-space:nowrap}.guess-score{display:inline-block;font-size:14px;font-weight:400;letter-spacing:.5px;color:var(--text);background:var(--bg);border:1px solid var(--card-border);border-radius:6px;padding:3px 8px;min-width:64px;text-align:center;white-space:nowrap}.wager-amount{font-size:14px;font-weight:400;letter-spacing:.5px}.score-inputs{display:flex;align-items:center;gap:6px;margin-top:10px}.score-inputs.score-inputs-inline{margin-top:0;flex-shrink:0}.score-inputs input{width:48px;text-align:center;margin:0}.score-inputs input[type=number]{-moz-appearance:textfield}.score-inputs input[type=number]::-webkit-outer-spin-button,.score-inputs input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.penalty-picker{margin-top:8px}.penalty-picker-label{font-size:12px;color:var(--muted);margin-bottom:6px}.penalty-picker-options{display:flex;gap:8px}.penalty-option{flex:1;padding:8px;border-radius:8px;border:1px solid var(--card-border);background:var(--card-bg);color:var(--text);cursor:pointer;font-size:14px}.penalty-option.selected{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}.penalty-option:disabled{cursor:not-allowed;opacity:.7}@media (max-width: 480px){.match-result{gap:4px}.match-result-textblock{width:64px}.match-result-abbr{font-size:12px}.match-result-fullname{font-size:11px}.match-result-flag{font-size:18px}.match-result-score{font-size:14px;padding:2px 8px;min-width:40px}.guess-score{font-size:12px;padding:2px 6px;min-width:52px}.score-inputs.score-inputs-inline input{width:30px;padding:2px 4px}}.badge{font-size:11px;padding:2px 8px;border-radius:999px;color:#fff}.badge.live{background:var(--live)}.badge.scheduled{background:var(--card-border);color:var(--muted)}.badge.finished{background:var(--accent);color:var(--accent-text)}.badge.saved{background:var(--exact-badge-bg);color:var(--exact-badge-text)}.badge.zero-points{background:var(--zero-badge-bg);color:var(--zero-badge-text)}.badge.exact-points{background:var(--exact-badge-bg);color:var(--exact-badge-text)}.badge.penalty-bonus{background:var(--penalty-badge-bg);color:var(--penalty-badge-text)}.badge.penalty-bonus-exact{background:var(--penalty-exact-badge-bg);color:var(--penalty-exact-badge-text)}.badge.wager-zero{background:var(--wager-zero-badge-bg);color:var(--wager-zero-badge-text)}.badge.wager-refund{background:var(--zero-badge-bg);color:var(--zero-badge-text)}.badge.wager-outcome{background:var(--penalty-badge-bg);color:var(--penalty-badge-text)}.badge.wager-exact{background:var(--penalty-exact-badge-bg);color:var(--penalty-exact-badge-text)}.wager-toggle{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--input-border);background:var(--card-bg);color:var(--muted);cursor:pointer;white-space:nowrap}.wager-toggle.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}.wager-toggle:disabled{cursor:not-allowed;opacity:.7}.rank-arrow{margin-left:6px;font-size:12px}.rank-arrow-up{color:var(--exact-badge-bg)}.rank-arrow-down{color:var(--rank-down)}.rank-arrow-same{color:var(--rank-same)}table{width:100%;border-collapse:collapse;color:var(--text)}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--card-border)}tr.me{background:var(--row-highlight)}.table-scroll-wrapper{overflow-x:auto;margin-top:10px}.table-scroll-wrapper table{width:auto;min-width:100%}.table-scroll-wrapper th,.table-scroll-wrapper td{white-space:nowrap}.table-compact-header{margin-top:0}.table-compact-header th{font-size:11px;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:4px 8px}.table-compact-header td{padding:4px 8px}.wager-cell{display:inline-flex;align-items:center;gap:6px}.wordmark{font-family:Montserrat,Inter,-apple-system,sans-serif;font-weight:700}.profile-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.profile-header h2{margin:0;font-size:24px;overflow:hidden;text-overflow:ellipsis}.profile-header p{margin:4px 0 0}.avatar-upload{background:none;border:0;padding:0;display:block;cursor:pointer;border-radius:50%;line-height:0;position:relative}.avatar-upload:disabled{cursor:default;opacity:.6}.avatar-upload:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.avatar-upload:hover:not(:disabled) .avatar{filter:brightness(.8)}.competition-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;max-height:300px;overflow-y:auto;margin-top:12px}.competition-tile{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:var(--text);-webkit-tap-highlight-color:transparent}.competition-tile-art{width:100%;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px;background:var(--row-highlight);border:1px solid var(--card-border);transition:border-color .15s ease}.competition-tile:hover .competition-tile-art,.competition-tile:active .competition-tile-art{border-color:var(--accent)}.competition-tile-ended{opacity:.55}.competition-tile-ended .competition-tile-art{background:transparent}.competition-tile-ended .competition-tile-name{color:var(--muted);font-weight:500}.competition-tile-name{max-width:100%;font-weight:600;font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{border-radius:50%;flex-shrink:0;object-fit:cover;display:block}.avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--card-bg);border:1px solid var(--card-border);color:var(--muted)}.avatar-placeholder svg{width:70%;height:70%}.auth-logo{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 24px}.auth-logo img{width:96px;height:auto}.auth-logo span{font-size:44px;font-weight:700;color:var(--text);letter-spacing:-.5px}.tabs{display:flex;gap:8px;margin-bottom:16px}.tabs button{flex:1;padding:10px;border-radius:8px;border:1px solid var(--card-border);background:var(--card-bg);color:var(--muted);cursor:pointer}.tabs button.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}.error{color:var(--error);font-size:14px;margin-bottom:8px}.error-field{margin:6px 0 0;font-size:13px}.muted{color:var(--muted);font-size:14px}.leaderboard-fortune-bg{background-size:cover;background-position:top center;border-radius:12px;padding:12px;overflow-y:hidden}.leaderboard-fortune-bg table{background:#0c2118c7;border-radius:8px;color:#fff}.leaderboard-fortune-bg th,.leaderboard-fortune-bg td{border-bottom-color:#ffffff26}.leaderboard-fortune-bg tr.me{background:#f5c5182e}.leaderboard-fortune-bg a{color:var(--accent)}.card-flag-bg{background-size:cover;background-position:center;color:#fff}.card-flag-bg .round-label,.card-flag-bg .kickoff,.card-flag-bg .match-result-fullname,.card-flag-bg .muted{color:#fffc}.competition-complete{text-align:center;margin:24px 0 8px}.competition-complete h3{margin:0 0 4px;font-size:17px}.podium{display:flex;align-items:flex-end;justify-content:center;gap:10px;margin-top:20px}.podium-place{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;max-width:140px}.podium-name{font-weight:600;font-size:14px;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-block{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;width:100%;padding:8px 4px;border-radius:8px 8px 0 0;background:var(--card-bg);border:1px solid var(--card-border);border-bottom:none}.podium-place-1 .podium-block{height:110px;background:var(--accent);border-color:var(--accent)}.podium-place-2 .podium-block{height:80px}.podium-place-3 .podium-block{height:58px}.podium-rank{font-size:26px;line-height:1}.podium-place-1 .podium-points{color:var(--accent-text)}.podium-points{font-size:12px;color:var(--muted)}.loading{display:flex;align-items:center;justify-content:center;padding:24px 0}.loading-spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--card-border);border-top-color:var(--accent);animation:loading-spin .7s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.loading-spinner{border-top-color:var(--accent);animation:loading-pulse 1.4s ease-in-out infinite}@keyframes loading-pulse{0%,to{opacity:.35}50%{opacity:1}}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.competition-image{border-radius:8px;flex-shrink:0;object-fit:cover;display:block}.competition-image-placeholder{display:flex;align-items:center;justify-content:center;background:var(--card-bg);border:1px solid var(--card-border);color:var(--muted)}.competition-image-placeholder svg{width:65%;height:65%}.image-upload{background:none;border:0;padding:0;display:block;cursor:pointer;border-radius:8px}.image-upload:disabled{cursor:default;opacity:.6}.image-upload:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.competition-title{display:flex;align-items:center;gap:12px}.competition-title h2{margin:0}.competition-tile-image{width:100%;height:100%;object-fit:contain;padding:8px}.competition-tile-art .competition-image-placeholder{border:0;background:none}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.confetti-piece{position:absolute;top:-12vh;display:block;animation-name:confetti-fall;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes confetti-fall{0%{transform:translateZ(0) rotate(0);opacity:1}to{transform:translate3d(var(--confetti-drift),118vh,0) rotate(var(--confetti-spin));opacity:.9}}.main{position:relative;z-index:1}@media (prefers-reduced-motion: reduce){.confetti{display:none}}
