:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111827;background:#facc15;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}.app-shell{min-height:100vh;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:32px}.brand-sticker,.sticker-card,.nav-tabs button,.countdown-strip,.leaderboard-row{border:4px solid #0f172a;box-shadow:6px 6px #0f172a}.brand-sticker{display:inline-block;background:#0f172a;color:#fff;padding:10px 16px;font-weight:950;text-transform:uppercase;letter-spacing:0;transform:rotate(-2deg)}.nav-tabs{display:flex;gap:10px;flex-wrap:wrap}.nav-tabs button,.primary-action,.secondary-action,.points-pill{background:#fff;color:#0f172a;padding:9px 12px;font-size:12px;font-weight:900;text-transform:uppercase}.nav-tabs button{border:4px solid #0f172a}.nav-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}.nav-tabs button.active,.primary-action{background:#22c55e}.icon-nav-button{display:inline-grid;place-items:center;min-width:46px}.secondary-action{border:4px solid #0f172a;box-shadow:4px 4px #0f172a;justify-self:start;background:#38bdf8}.danger-action{background:#f43f5e;color:#fff}.page-stack{display:grid;gap:22px;max-width:1050px;margin:0 auto;min-width:0}.page-stack>*{min-width:0}.countdown-strip{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(220px,1.2fr) minmax(180px,1fr);align-items:center;gap:12px;background:#8b5cf6;color:#fff;padding:14px 18px;font-weight:900;text-transform:uppercase;min-width:0}.countdown-strip strong,.countdown-strip span{min-width:0}.countdown-stage{font-size:clamp(12px,2.8vw,16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.countdown-strip strong:not(.countdown-stage){justify-self:end;font-size:12px;text-align:right}.sticker-card{background:#fff;padding:clamp(18px,4vw,32px);min-width:0}.match-card{display:grid;gap:18px}.match-meta{display:flex;justify-content:space-between;gap:12px;color:#475569;font-size:12px;font-weight:900;text-transform:uppercase}.team-row{display:grid;grid-template-columns:1fr 58px auto 58px 1fr;gap:12px;align-items:center}.team-badge{display:flex;align-items:center;gap:10px}.team-badge.right{justify-content:flex-end;text-align:right}.team-badge img{width:42px;height:42px;object-fit:contain}.team-code-wrap,.score-detail-row div{min-width:0}.team-badge strong,.score-detail-row strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-code-wrap{position:relative;display:inline-flex;justify-content:flex-start}.team-code-wrap.right{justify-content:flex-end}.team-code{display:inline-flex;align-items:center;gap:8px;border:0;padding:0;background:transparent;box-shadow:none;color:inherit;font:inherit;font-weight:950}.team-code img{width:42px;height:42px;object-fit:contain;flex:0 0 auto}.team-code span{color:inherit;font-size:inherit;font-weight:950}.team-name-popover{position:absolute;z-index:5;top:calc(100% + 8px);left:0;width:max-content;max-width:min(260px,70vw);border:3px solid #0f172a;background:#fff;box-shadow:4px 4px #0f172a;padding:8px 10px;color:#0f172a;font-size:12px;font-weight:950;text-align:left;white-space:normal;text-transform:none}.team-code-wrap.right .team-name-popover{right:0;left:auto}.team-badge span,.player-name span{display:block;color:#64748b;font-size:12px;font-weight:800}.team-code-wrap .team-code span{display:inline;color:inherit;font-size:inherit;font-weight:950}.team-code-wrap .team-name-popover{display:block;color:#0f172a;font-size:12px;font-weight:950}.score-input{width:58px;height:58px;border:4px solid #0f172a;text-align:center;font-size:28px;font-weight:950}.versus{font-weight:950}.primary-action{border:4px solid #0f172a;box-shadow:4px 4px #0f172a;justify-self:start}.group-table table{width:100%;border-collapse:collapse}.group-table{overflow-x:auto}.group-title-button{border:0;background:transparent;padding:0;color:inherit;font-size:inherit;font-weight:inherit;text-align:left;text-transform:inherit}.group-title-button:hover{text-decoration:underline}.group-table th,.group-table td{border-bottom:2px solid #e2e8f0;padding:8px;text-align:left}.standings-team{display:inline-flex;align-items:center;gap:8px;font-weight:900}.standings-team span{white-space:nowrap}.standings-team .team-code img{width:24px;height:24px}.qualification-line td{border-bottom:4px solid #0f172a;height:0;padding:0}.toolbar label,.invite-form label,.invite-result label,.account-form label,.admin-login label{display:grid;gap:6px;max-width:280px;font-size:12px;font-weight:900;text-transform:uppercase}.toolbar select,.invite-form input,.invite-form select,.invite-result input,.account-form input,.profile-page select,.admin-login input{border:4px solid #0f172a;padding:10px;background:#fff;max-width:100%;min-width:0}.account-form input[type=file]{width:100%;font-size:12px}.profile-page{display:grid;gap:18px;max-width:560px;margin:0 auto}.profile-page h1{margin:0;font-size:clamp(38px,6vw,72px);line-height:.95;letter-spacing:0;text-transform:uppercase}.profile-page label{display:grid;gap:6px;max-width:280px;font-size:12px;font-weight:900;text-transform:uppercase}.profile-identity{display:flex;align-items:center;gap:14px}.profile-identity span{display:block;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}.profile-identity strong{display:block;font-size:28px;font-weight:950}.profile-avatar{display:grid;place-items:center;width:76px;height:76px;border:4px solid #0f172a;border-radius:50%;background:#f43f5e;color:#fff;font-weight:950;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.leaderboard-section,.leaderboard-list{display:grid;width:100%}.leaderboard-section{gap:22px}.leaderboard-list{gap:12px}.current-player-card{display:grid;grid-template-columns:48px 1fr auto auto;align-items:center;gap:12px;background:#fff;border:4px solid #0f172a;box-shadow:6px 6px #0f172a;padding:14px;font-weight:900;text-transform:uppercase}.current-player-card strong{display:inline-flex;align-items:center;gap:6px;font-size:28px}.leaderboard-row{display:grid;grid-template-columns:38px 48px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;background:#fff;padding:12px}.leaderboard-row-button{color:#0f172a;text-align:left}.leaderboard-row-button:hover{transform:translate(-1px,-1px)}.player-name{min-width:0}.rank{display:inline-flex;align-items:center;gap:4px;font-size:26px;font-weight:950}.rank-medal.gold{color:#ca8a04}.rank-medal.silver{color:#64748b}.rank-medal.bronze{color:#b45309}.avatar{display:grid;place-items:center;width:44px;height:44px;border:3px solid #0f172a;border-radius:50%;background:#f43f5e;color:#fff;font-weight:950;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.points-pill{border:3px solid #0f172a;background:#8b5cf6;color:#fff}.leaderboard-points{display:grid;gap:2px;min-width:116px;text-align:left}.leaderboard-points small{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:950}.trend{display:inline-flex;align-items:center;gap:2px}.trend.up{color:#bbf7d0}.trend.down{color:#fecaca}.score-detail-page{display:grid;gap:16px}.score-player-heading{display:flex;align-items:center;gap:14px;min-width:0}.score-player-heading .avatar{width:58px;height:58px;flex:0 0 auto;font-size:18px}.score-detail-page h1{margin:0;font-size:clamp(34px,5vw,58px);line-height:1;text-transform:uppercase;overflow-wrap:anywhere}.score-detail-list{display:grid;gap:16px}.score-stage-section{display:grid;gap:10px}.score-stage-section h2{margin:0;font-size:20px;line-height:1;text-transform:uppercase}.score-detail-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;border:3px solid #0f172a;padding:12px}.score-detail-main{display:grid;gap:4px}.score-detail-match{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;overflow:visible;white-space:normal}.score-detail-row span{color:#64748b;font-size:12px;font-weight:800}.score-breakdown{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding-top:8px}.score-breakdown div{display:flex;justify-content:space-between;gap:12px;border-top:2px solid #e2e8f0;padding-top:8px;font-weight:900}.score-breakdown dt,.score-breakdown dd{margin:0}.match-list{display:grid;gap:12px}.match-list h1{margin:0 0 4px;font-size:clamp(32px,5vw,56px);line-height:1;text-transform:uppercase}.prediction-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;border:3px solid #0f172a;background:#fef3c7;padding:10px 12px;font-size:12px;font-weight:950;text-transform:uppercase}.prediction-progress.complete{background:#bbf7d0}.prediction-progress span{color:#0f172a;white-space:nowrap}.match-list-row{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;width:100%;border:3px solid #0f172a;background:#fff;padding:12px;font-weight:900}.match-list-row span:last-child{text-align:right}.match-list-team{display:inline-flex;align-items:center;gap:8px}.match-list-team.right{justify-content:flex-end}.match-list-team .team-code img{width:30px;height:30px}.match-score-button{border:0;background:transparent;padding:0;box-shadow:none;font:inherit;font-weight:950}.invite-form{display:grid;gap:14px;align-items:end}.invite-result{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:12px;align-items:end;padding-top:6px}.invite-result label{max-width:none}.admin-login{max-width:520px;margin:0 auto}.admin-login form{display:grid;gap:16px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-header h1{margin:0}.admin-match-tools{display:grid;gap:16px;justify-items:start}.switch-row{display:inline-grid;grid-template-columns:auto auto;align-items:center;gap:12px;font-size:12px;font-weight:900;text-transform:uppercase}.switch-row input{position:absolute;opacity:0;pointer-events:none}.switch-slider{position:relative;width:58px;height:32px;border:4px solid #0f172a;background:#fff;box-shadow:3px 3px #0f172a}.switch-slider:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;background:#0f172a;transition:transform .14s ease}.switch-row input:checked+.switch-slider{background:#22c55e}.switch-row input:checked+.switch-slider:after{transform:translate(26px)}.invite-page{display:grid;gap:16px}.login-page{display:grid;gap:18px;max-width:560px;margin:0 auto}.admin-login-link{color:#0f172a;font-size:12px;font-weight:900;text-transform:uppercase;text-decoration-thickness:2px;justify-self:start}.login-page h1,.invite-page h1{margin:0;font-size:clamp(38px,6vw,72px);line-height:.95;letter-spacing:0;text-transform:uppercase;overflow-wrap:anywhere}.account-form{display:grid;gap:16px;max-width:520px}.form-error{margin:0;border:3px solid #0f172a;background:#f43f5e;color:#fff;padding:10px 12px;font-weight:900}.form-note{margin:0;color:#475569;font-weight:800}.form-success{margin:0;border:3px solid #0f172a;background:#22c55e;color:#0f172a;padding:10px 12px;font-weight:900}.skeleton-card{display:grid;gap:14px;max-width:560px;margin:0 auto}.skeleton-row{pointer-events:none}.skeleton-line,.skeleton-box,.skeleton-circle{background:linear-gradient(90deg,#e2e8f0,#f8fafc,#e2e8f0 90%);background-size:220% 100%;animation:skeleton-pulse 1.2s ease-in-out infinite}.skeleton-line{width:70%;height:18px}.skeleton-line.wide{width:100%;height:38px}.skeleton-line.short{width:42%}.skeleton-box{width:72px;height:34px}.skeleton-box.small{width:34px}.skeleton-box.pill{width:110px}.skeleton-circle{width:44px;height:44px;border-radius:50%}@keyframes skeleton-pulse{0%{background-position:120% 0}to{background-position:-120% 0}}.prose-panel h1,.page-stack>h1{margin:0;font-size:clamp(38px,6vw,72px);line-height:.95;letter-spacing:0;text-transform:uppercase}.prose-panel p{max-width:760px;line-height:1.6;font-size:18px}.rules-grid{display:grid;gap:18px;max-width:820px}.rules-grid h2{margin:0 0 8px;font-size:22px;line-height:1;text-transform:uppercase}.rules-grid ul{display:grid;gap:8px;margin:0;padding-left:22px;line-height:1.45}@media(max-width:720px){.app-shell{padding:16px}.countdown-strip{grid-template-columns:1fr;gap:8px}.countdown-strip strong:not(.countdown-stage){justify-self:start;text-align:left}.topbar{align-items:stretch}.brand-sticker,.nav-tabs,.nav-tabs button{width:100%}.nav-tabs{display:grid;grid-template-columns:repeat(4,1fr)}.nav-tabs button{min-width:0;padding-inline:4px;font-size:10px}.team-row{grid-template-columns:1fr 48px auto 48px 1fr;gap:8px}.team-badge{align-items:flex-start;flex-direction:column}.team-badge.right{align-items:flex-end}.team-badge img{width:34px;height:34px}.score-input{width:48px;height:48px;font-size:22px}.leaderboard-row{grid-template-columns:28px 40px minmax(0,1fr)}.current-player-card,.score-detail-row{grid-template-columns:1fr}.points-pill{grid-column:auto;justify-self:start}.login-page h1,.invite-page h1,.profile-page h1,.prose-panel h1,.page-stack>h1{font-size:clamp(32px,11vw,48px)}.invite-result{grid-template-columns:1fr}}
