.footer{text-align:center;color:#64748b;font-size:12px;padding-bottom:24px;padding-top:12px}.footer a{color:#64748b}.landing{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:70dvh;overflow:hidden}.landing-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--pitch-mid);background-image:radial-gradient(120% 80% at 50% -10%,#1f9b54,#0c3a22 55%,#07140d);background-size:cover,cover;background-position:center,center}.landing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#07140d40,#07140dd9)}.landing-content{position:relative;text-align:center;padding:32px 24px;width:100%}.landing-kicker{color:var(--ball);font-weight:700;letter-spacing:.15em;font-size:13px;margin:0 0 8px}.landing-title{font-size:56px;margin:0;line-height:1;text-shadow:0 4px 24px rgba(0,0,0,.5)}.landing-title .title-2{color:var(--ball);margin-left:4px}.landing-desc{color:var(--text-dim);margin:16px 0 28px;line-height:1.6}.landing-hint{margin-top:20px;color:var(--text-dim);font-size:12px}.btn-primary{background:linear-gradient(135deg,var(--accent),#fb923c);color:#1a0f02;font-weight:800;font-size:18px;padding:16px 40px;border-radius:999px;box-shadow:0 8px 24px #f9731666;transition:transform .1s}.btn-primary:active{transform:scale(.96)}.record-card{display:flex;gap:10px;justify-content:center;margin-top:28px}.record-item{background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 18px;font-size:13px;color:var(--text-dim)}.record-item span{display:block;font-size:22px;font-weight:800;color:var(--text)}.game{display:flex;flex-direction:column;gap:10px;padding:12px;flex:1}.scoreboard{display:flex;align-items:center;justify-content:space-between;gap:8px}.exit-btn{background:var(--surface);border-radius:10px;padding:8px 12px;font-size:13px;color:var(--text-dim)}.score{font-size:22px;font-weight:800;display:flex;gap:8px;align-items:baseline}.team-home{color:var(--home)}.team-away{color:var(--away)}.score-sep{color:var(--text-dim)}.turn-pill{background:var(--surface);border-radius:999px;padding:6px 12px;font-size:12px;color:var(--text-dim)}.event-bar{text-align:center;font-size:14px;font-weight:600;padding:10px;border-radius:12px;background:var(--surface);min-height:40px;display:flex;align-items:center;justify-content:center}.event-bar.goal{background:#fbbf2438;color:var(--ball);font-weight:800}.score-panel{display:flex;align-items:center;gap:10px;background:#1a120a;border:2px solid #fbbf24;border-radius:10px;padding:4px 14px}.sc{font-family:var(--display);font-size:26px;min-width:22px;text-align:center}.sc-home{color:#60a5fa}.sc-away{color:#f87171}.sc-sep{color:var(--text-dim)}.board-frame{position:relative;border-radius:14px;padding:8px;background:repeating-linear-gradient(45deg,#e11d2a 0,#e11d2a 10px,#ffd21f 10px,#ffd21f 20px);box-shadow:0 6px 20px #00000080}.board-frame:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:4px solid #ffd21f;border-radius:8px;pointer-events:none;z-index:2}.pitch{display:block;width:100%;aspect-ratio:360 / 560;border-radius:6px;touch-action:none}.turn-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#0000008c;color:#ffd21f;font-weight:800;padding:8px 18px;border-radius:999px;z-index:3;pointer-events:none}.control-bar{min-height:52px;display:flex;align-items:center;justify-content:center}.tip{margin:0;text-align:center;font-size:13px;color:var(--text);line-height:1.5}.tip b{color:var(--ball)}.tip.dim{color:var(--text-dim)}@media(min-width:420px){.landing-title{font-size:64px}}.screen{width:100%;flex:1}.center-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px 20px;text-align:center;position:relative}.screen-title{font-size:30px;margin:0}.screen-hint{color:var(--text-dim);font-size:13px;margin:0}.back-link{position:absolute;top:16px;left:16px;background:var(--surface);color:var(--text-dim);border-radius:10px;padding:8px 12px;font-size:13px}.btn-ghost{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:var(--text);border-radius:999px;padding:14px 28px;font-weight:700;font-size:16px}.btn-primary.big{font-size:20px;padding:18px 48px}.end-btns{display:flex;gap:12px}.mode-cards{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.mode-card{width:180px;background:var(--surface);border:2px solid rgba(255,255,255,.1);border-radius:20px;padding:28px 18px;display:flex;flex-direction:column;gap:8px;align-items:center;transition:transform .1s,border-color .15s}.mode-card:active{transform:scale(.97)}.mode-card.p1{border-color:#3b82f680}.mode-card.p2{border-color:#ef444480}.mode-emoji{font-size:48px}.mode-title{font-family:var(--display);font-size:24px}.mode-desc{color:var(--text-dim);font-size:13px;line-height:1.5}.round-steps{display:flex;gap:8px}.step{min-width:48px;padding:8px 10px;border-radius:10px;background:var(--surface);color:var(--text-dim);font-size:13px;font-weight:700}.step.done{background:#22c55e33;color:#4ade80}.step.now{background:var(--ball);color:#1a0f02}.vs-card{display:flex;align-items:center;gap:16px;background:var(--surface);border-radius:18px;padding:20px 24px}.vs-team{display:flex;flex-direction:column;gap:6px;min-width:130px}.vs-flag{font-size:18px;font-weight:800}.vs-tag{font-size:12px;color:var(--text-dim)}.vs-team.home .vs-tag{color:#60a5fa}.vs-team.away .vs-tag{color:#f87171}.vs-mid{font-family:var(--display);font-size:28px;color:var(--ball)}.round-label{color:var(--text-dim);font-size:14px;margin:0}.trophy{font-size:80px;animation:pop .5s ease}.champ-title{font-family:var(--display);font-size:44px;margin:0;color:var(--ball)}.champ-sub{color:var(--text-dim);line-height:1.6;margin:0}@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}.game-screen{width:100vw;height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.game-hud{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;flex-shrink:0}.game-hud .score-panel{gap:8px}.team-name{font-size:14px;font-weight:700;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-name.home{color:#60a5fa}.team-name.away{color:#f87171}.board-wrap{flex:1;min-height:0;display:grid;place-items:center;padding:8px 12px;position:relative}.pitch{aspect-ratio:960 / 600;width:100%;height:auto;max-width:100%;max-height:100%;display:block;border:7px solid #ffd21f;outline:5px solid #e11d2a;border-radius:10px;box-shadow:0 8px 28px #0000008c;touch-action:none}.game-foot{flex-shrink:0;padding:8px 14px 14px;display:flex;justify-content:center}.turn-tip{margin:0;display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700}.turn-dot{width:12px;height:12px;border-radius:50%}.turn-tip.home .turn-dot{background:var(--home)}.turn-tip.away .turn-dot{background:var(--away)}.tip-sub{color:var(--text-dim);font-weight:400;font-size:13px}.goal-splash{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;z-index:5;pointer-events:none;animation:goalFlash 1.7s ease}.goal-splash.home{background:radial-gradient(circle,#2563eb59,#07140db3)}.goal-splash.away{background:radial-gradient(circle,#ef444459,#07140db3)}.goal-big{font-family:var(--display);font-size:clamp(48px,12vw,110px);color:#fff;text-shadow:0 0 24px var(--ball);animation:goalPop .6s cubic-bezier(.2,1.4,.4,1)}.goal-team{font-size:clamp(18px,4vw,30px);font-weight:800;color:var(--ball)}@keyframes goalPop{0%{transform:scale(.2) rotate(-8deg);opacity:0}60%{transform:scale(1.15) rotate(3deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes goalFlash{0%{opacity:0}10%{opacity:1}85%{opacity:1}to{opacity:0}}.end-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#07140dc7;z-index:6}.end-card{background:var(--surface);border:2px solid var(--ball);border-radius:20px;padding:28px 36px;text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center}.end-card h2{font-size:32px;margin:0}.end-score{font-family:var(--display);font-size:36px;margin:0}:root{--pitch-dark: #0a2818;--pitch-mid: #15803d;--pitch-light: #1a9348;--line: #e7f6ec;--home: #3b82f6;--away: #ef4444;--ball: #fbbf24;--accent: #f97316;--bg: #07140d;--surface: #0f2418;--text: #f8fafc;--text-dim: #94a3b8;--radius: 16px;--display: "Black Han Sans", "Pretendard", sans-serif;--body: "Pretendard", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--body);overscroll-behavior:none}#root{min-height:100dvh;display:flex;flex-direction:column}button{font-family:var(--body);cursor:pointer;border:none;color:inherit}h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:.02em}.app-shell{width:100%;max-width:480px;margin:0 auto;flex:1;display:flex;flex-direction:column;position:relative}:root{--bg: #0b1715;--surface: #142622;--surface-raised: #1c332c;--text: #f3f3e9;--text-dim: #a6bab1;--accent: #ff9155;--ball: #e9c674;--home: #83b8ff;--away: #ff9690;--rule: #34463e;--focus: #f4d282;--pitch-mid: #24634c;--veil: #0b1715eb;--shadow: #030c0966;--clear: transparent;--display: "Black Han Sans", "Pretendard", sans-serif;--body: "Pretendard", system-ui, sans-serif;--font-score: "Black Han Sans", sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-card: 16px;--radius-input: 8px;--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-short: .18s}html,body{overflow-x:clip}body{line-height:1.6}button,a{-webkit-tap-highlight-color:var(--clear)}button{min-height:44px;white-space:nowrap;transition:background var(--dur-short),border-color var(--dur-short)}button:disabled{opacity:.45;cursor:not-allowed}button:active{filter:brightness(.88)}:focus-visible{outline:3px solid var(--focus);outline-offset:5px}.landing-title[tabindex="-1"]:focus,.screen-title[tabindex="-1"]:focus{outline:none}h1,h2,h3{overflow-wrap:anywhere;min-width:0;font-style:normal;line-height:1.2}.app-shell{max-width:1200px;padding:0 var(--space-xl);width:100%}.site-header{width:min(1200px,100%);margin:0 auto;padding:var(--space-lg) var(--space-xl);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);gap:var(--space-md)}.brand{display:flex;align-items:center;gap:var(--space-sm);font-weight:900;background:var(--clear);font-size:18px;padding:0}.brand svg{color:var(--accent)}.brand b{color:var(--accent);margin-left:var(--space-xs)}.site-header nav,.game-tools{display:flex;gap:var(--space-xs)}.icon-btn{width:44px;min-width:44px;min-height:44px;display:inline-grid;place-items:center;border:1px solid var(--clear);background:var(--clear);border-radius:var(--radius-input);color:var(--text-dim);padding:0}.icon-btn:hover{background:var(--surface-raised);color:var(--text)}.landing{min-height:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2xl);align-items:center;overflow:visible;padding:var(--space-3xl) 0 var(--space-lg)}.landing-bg,.landing-overlay{display:none}.landing-content{padding:0;text-align:left}.landing-kicker{margin:0 0 var(--space-lg);font-size:12px;letter-spacing:.14em;font-weight:800;color:var(--text-dim);display:flex;align-items:center;gap:var(--space-sm)}.live-dot,.preview-head i{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%}.landing-title{font-size:clamp(44px,5.7vw,78px);letter-spacing:-.045em;line-height:1.15;text-shadow:none;margin:0;word-break:keep-all}.landing-title span{color:var(--accent)}.game-wordmark{font-weight:900;font-size:18px;margin:var(--space-lg) 0 0}.game-wordmark b{color:var(--accent)}.game-wordmark span{margin-left:var(--space-sm);font-size:10px;letter-spacing:.12em;color:var(--text-dim)}.landing-desc{color:var(--text-dim);margin:var(--space-sm) 0 var(--space-lg);font-size:15px;line-height:1.8}.landing-actions{display:flex;gap:var(--space-md);align-items:center;flex-wrap:wrap}.btn-primary{background:var(--accent);color:var(--bg);box-shadow:none;border-radius:var(--radius-input);padding:var(--space-md) var(--space-lg);font-weight:900;font-size:16px;display:inline-flex;justify-content:center;align-items:center;gap:var(--space-lg);transition:background var(--dur-short)}.btn-primary:hover{background:var(--ball)}.btn-primary:active{transform:none}.text-btn{background:var(--clear);color:var(--text-dim);padding:var(--space-sm) 0;display:inline-flex;align-items:center;gap:var(--space-sm);font-weight:700}.text-btn:hover,.resume-link:hover{color:var(--text)}.resume-link{display:block;padding:var(--space-sm) 0;margin-top:var(--space-sm);background:var(--clear);color:var(--ball);font-weight:700}.record-card{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--rule);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-lg);justify-content:start}.record-item{background:var(--clear);border:0;border-radius:0;padding:0;font-size:12px}.record-item span{font-size:26px;font-weight:800;line-height:1.5;font-variant-numeric:tabular-nums}.landing-hint{margin:var(--space-sm) 0 0;font-size:11px}.board-preview{margin:0;align-self:center;min-width:0}.preview-head{display:flex;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--text-dim);margin-bottom:var(--space-md)}.preview-head i{margin-right:var(--space-sm);background:var(--home)}.board-preview canvas{width:100%;height:auto;display:block;border:8px solid var(--surface-raised);border-radius:var(--radius-card);outline:1px solid var(--rule);box-shadow:0 24px 40px var(--shadow)}.board-preview figcaption{display:flex;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-md);font-size:12px;color:var(--text-dim)}.board-preview figcaption span:last-child{font-size:9px;letter-spacing:.08em}.landing-strip{grid-column:1 / -1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md);padding:var(--space-lg) 0;margin-top:var(--space-md);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:11px;color:var(--accent)}.landing-strip b{color:var(--text-dim);font-weight:600;margin-left:var(--space-md);font-size:13px}.landing-art{margin:0;min-width:0;position:relative;align-self:center}.landing-art img{width:100%;height:auto;aspect-ratio:6 / 5;object-fit:cover;object-position:47% center;display:block;border-radius:var(--radius-card);box-shadow:0 24px 64px var(--shadow)}.landing-art figcaption{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-md);color:var(--text-dim);font-size:12px}.landing-art figcaption span:first-child{color:var(--ball);font-size:10px;font-weight:800;letter-spacing:.16em}.landing-extras{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);border-bottom:1px solid var(--rule);padding-bottom:var(--space-md);margin-top:calc(-1 * var(--space-lg))}.landing-extras button,.landing-extras a{font-size:12px}.landing-extras a{color:var(--text-dim);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}.landing-extras a:hover{color:var(--text)}.install-guide{padding-left:var(--space-lg);color:var(--text-dim);font-size:14px}.install-guide li{margin-bottom:var(--space-md)}.install-guide strong{color:var(--text)}.footer{padding:var(--space-lg) var(--space-sm);font-size:12px;color:var(--text-dim)}.footer a{color:var(--text-dim);text-underline-offset:4px}.footer a:hover{color:var(--text)}.center-screen{padding:96px 0 var(--space-2xl);gap:var(--space-lg)}.center-screen .landing-kicker{margin:0}.screen-title{font-size:clamp(28px,4vw,44px);letter-spacing:-.035em}.back-link{left:0;top:var(--space-lg);background:var(--clear);border:1px solid var(--rule);color:var(--text-dim)}.back-link:hover{background:var(--surface)}.mode-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(800px,100%);gap:var(--space-lg);margin:var(--space-lg) 0}.mode-card{width:100%;padding:var(--space-xl);align-items:flex-start;text-align:left;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-card);gap:var(--space-lg);white-space:normal}.mode-card.p1,.mode-card.p2{border-color:var(--rule)}.mode-card:hover{background:var(--surface-raised)}.mode-card.p1>svg{color:var(--ball)}.mode-card.p2>svg{color:var(--home)}.mode-card:active{transform:none}.mode-number{font-size:11px;color:var(--text-dim);letter-spacing:.12em}.mode-title{font-size:28px}.mode-desc{font-size:14px;line-height:1.7}.mode-meta{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);width:100%;border-top:1px solid var(--rule);padding-top:var(--space-md);font-size:12px;color:var(--text-dim)}.round-steps{gap:var(--space-sm)}.step{min-width:52px;border-radius:var(--radius-input);background:var(--surface)}.step.now{background:var(--accent);color:var(--bg)}.step.done{background:var(--surface-raised);color:var(--text)}.vs-card{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:min(560px,100%);gap:var(--space-lg);background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-card);padding:var(--space-xl) var(--space-lg)}.vs-team{min-width:0}.vs-flag{font-size:clamp(13px,2vw,20px)}.vs-mid{color:var(--text-dim);font-size:24px}.vs-team.home .vs-tag{color:var(--home)}.vs-team.away .vs-tag{color:var(--away)}.btn-primary.big{font-size:17px;padding:var(--space-md) var(--space-2xl)}.bracket{width:100%;text-align:left;border-top:1px solid var(--rule);margin-top:var(--space-lg);padding-top:var(--space-lg)}.bracket summary{min-height:44px;cursor:pointer;font-weight:800}.bracket-rounds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md)}.bracket h3{font-family:var(--body);font-size:13px;color:var(--text-dim);padding-bottom:var(--space-sm);border-bottom:1px solid var(--rule)}.bracket-match{margin-bottom:var(--space-sm);padding:var(--space-sm);background:var(--surface);border-radius:var(--radius-input);font-size:11px;color:var(--text-dim)}.bracket-match span{display:flex;justify-content:space-between;gap:var(--space-xs);padding:var(--space-xs)}.bracket-match .winner{color:var(--ball)}.bracket-match b{font-weight:400}.player-match{outline:1px solid var(--rule)}.bracket-wait{font-size:12px;color:var(--text-dim)}.btn-ghost{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-input);padding:var(--space-md) var(--space-lg);font-size:15px}.btn-ghost:hover{background:var(--surface-raised)}.champ-title{color:var(--ball)}.modal{color:var(--text);background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-card);width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:var(--space-lg);box-shadow:0 24px 80px var(--shadow)}.modal::backdrop{background:var(--veil)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.modal h2{font-size:24px;margin:0}.modal p{color:var(--text-dim);font-size:14px}.modal .btn-primary{width:100%}.modal .end-btns{margin-top:var(--space-lg)}.modal .end-btns>*{flex:1}.guide-demo{height:100px;margin:var(--space-lg) 0;background:var(--bg);border:1px solid var(--rule);border-radius:var(--radius-input);display:flex;align-items:center;justify-content:center}.demo-piece{display:grid;place-items:center;width:42px;height:42px;border:3px solid var(--text);border-radius:50%;background:var(--home);color:var(--bg);font-weight:900}.demo-line{width:100px;border-top:2px dashed var(--ball)}.demo-target{font-size:36px;color:var(--ball)}.guide-steps{margin:0;padding-left:var(--space-lg)}.guide-steps li{padding-left:var(--space-sm);margin-bottom:var(--space-md)}.guide-steps li::marker{color:var(--accent);font-weight:900}.guide-steps p{margin:var(--space-xs) 0}.keyboard-note{font-size:12px!important;border-top:1px solid var(--rule);padding-top:var(--space-md)}.notice{position:fixed;top:var(--space-md);left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 32px);z-index:30;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--rule);border-radius:var(--radius-input);background:var(--surface-raised);box-shadow:0 12px 40px var(--shadow);font-size:13px;overflow-wrap:anywhere}.game-screen{height:100dvh;width:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.game-hud{width:min(1200px,100%);align-self:center;padding:var(--space-sm) var(--space-md);gap:var(--space-sm)}.exit-btn{min-height:44px;background:var(--surface);color:var(--text-dim)}.exit-btn:hover{background:var(--surface-raised)}.score-panel{background:var(--clear);border:0;border-radius:0;padding:var(--space-xs) var(--space-sm)}.sc{font-family:var(--font-score);font-size:32px;font-variant-numeric:tabular-nums}.sc-home,.team-name.home{color:var(--home)}.sc-away,.team-name.away{color:var(--away)}.match-progress{align-self:center;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);width:min(1168px,calc(100% - 32px));color:var(--text-dim);font-size:10px;letter-spacing:.04em}.match-progress progress{flex:1;min-width:20px;max-width:420px;height:4px;accent-color:var(--accent)}.board-wrap{padding:var(--space-md);container-type:size}.pitch{box-sizing:content-box;width:min(calc(100cqw - 8px),calc((100cqh - 8px)*1.6));height:auto;aspect-ratio:8 / 5;max-height:none;max-width:1168px;border:4px solid var(--surface-raised);outline:1px solid var(--rule);border-radius:var(--radius-input);box-shadow:0 12px 28px var(--shadow);cursor:crosshair}.game-foot{min-height:64px;padding:var(--space-sm) var(--space-lg);width:min(1200px,100%);align-self:center;justify-content:space-between;align-items:center;gap:var(--space-md)}.turn-tip{font-size:14px;flex-wrap:wrap;gap:var(--space-sm)}.tip-sub{font-size:12px}.turn-dot{width:8px;height:8px}.power-control{display:flex;align-items:center;gap:var(--space-sm);color:var(--text-dim);font-size:10px;white-space:nowrap}.power-control meter{width:90px;height:12px}.power-control b{width:30px;font-variant-numeric:tabular-nums}.rotate-hint{display:none}.goal-splash.home,.goal-splash.away{background:var(--veil)}.goal-big{color:var(--text);text-shadow:none}.end-overlay{background:var(--veil)}.end-card{background:var(--surface);border:1px solid var(--rule);padding:var(--space-lg);border-radius:var(--radius-card);max-width:calc(100% - 24px);max-height:100%;overflow-y:auto;gap:var(--space-md)}.end-card h2{font-size:clamp(22px,4vw,32px)}.end-score{font-size:32px}.modal .end-card{border:0;box-shadow:none;padding:var(--space-lg) 0 0;max-width:100%}@media(min-width:1500px){.landing{padding-top:96px}}@media(max-width:800px){.app-shell{padding:0 var(--space-lg)}.site-header{padding:var(--space-md) var(--space-lg)}.landing{gap:var(--space-xl);padding-top:var(--space-xl)}.landing-title{font-size:clamp(36px,6vw,56px)}.landing-actions{gap:var(--space-sm)}.game-wordmark span{display:block;margin-left:0}.board-preview figcaption span:last-child{display:none}.landing-strip b{margin-left:var(--space-sm)}.bracket-rounds{grid-template-columns:repeat(2,minmax(0,1fr))}.game-hud .score-panel{gap:var(--space-sm)}.team-name{max-width:100px;font-size:12px}.tip-sub{display:none}}@media(max-width:600px){.landing{grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.landing-title{font-size:clamp(44px,10.5vw,64px)}.landing-kicker{font-size:10px;margin-bottom:var(--space-md)}.game-wordmark span{display:inline;margin-left:var(--space-sm)}.landing-strip{gap:var(--space-sm);margin-top:0;padding:var(--space-md) 0}.landing-strip span{font-size:10px}.landing-strip b{font-size:11px}.landing-strip span:last-child{display:none}.record-card{margin-top:var(--space-lg)}.brand{font-size:15px;gap:var(--space-sm)}.site-header{padding:var(--space-sm) var(--space-lg)}.site-header nav{gap:0}.app-shell{padding:0 var(--space-lg)}.center-screen{padding-top:96px}.mode-cards{grid-template-columns:minmax(0,1fr);gap:var(--space-md);margin:0}.mode-card{padding:var(--space-lg);gap:var(--space-md)}.mode-card>svg{width:30px;height:30px}.mode-title{font-size:24px}.mode-desc{font-size:13px}.mode-meta{font-size:11px}.vs-card{gap:var(--space-sm);padding:var(--space-lg) var(--space-md)}.vs-flag{font-size:13px}.game-hud{flex-wrap:wrap;padding:var(--space-sm)}.game-hud .score-panel{order:3;width:100%;justify-content:center}.team-name{max-width:110px}.game-foot{flex-direction:column;justify-content:center;padding:var(--space-sm)}.rotate-hint{display:block;color:var(--text-dim);text-align:center;margin:0 0 var(--space-md);font-size:11px}.match-progress{gap:var(--space-sm)}.board-wrap{padding:var(--space-sm)}.modal{padding:var(--space-md)}.modal h2{font-size:21px}}@media(max-height:500px)and (orientation:landscape){.game-hud{padding:var(--space-xs) var(--space-md)}.sc{font-size:24px}.game-foot{min-height:40px;padding:var(--space-xs) var(--space-md)}.game-foot .power-control>span{display:none}.board-wrap{padding:var(--space-sm) var(--space-md)}.end-card{gap:var(--space-sm);padding:var(--space-md)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
