:root{--ink:#f4fff8;--muted:#b8cfbf;--accent:#7dffb0;--accent-2:#ffe08a;--accent-3:#7ad4ff;--board:#14633a;--board-edge:#c9e7c0}
*{box-sizing:border-box}
body{margin:0;background:#07140e;color:var(--ink);font-family:Inter,"Trebuchet MS","Segoe UI",sans-serif}
[hidden]{display:none!important}
.game-wrap{display:grid;width:min(100vw,56.25vh);height:min(100vh,177.7778vw);margin:auto}
.pitch-card{position:relative;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;gap:clamp(7px,2.1cqw,10px);overflow:hidden;border:clamp(3px,1.1cqw,5px) solid var(--board-edge);border-radius:10px;background:linear-gradient(180deg,#163a24,#07150d);padding:clamp(11px,3cqw,15px);box-shadow:inset 0 0 40px #7dffb00d;container-type:inline-size}
.pitch-head{display:flex;align-items:start;justify-content:space-between;gap:8px}
.pitch-name{font-size:clamp(18px,5.6cqw,25px);font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.phase-line{margin-top:2px;color:var(--muted);font-size:clamp(10px,2.9cqw,18px)}
.score-bank{display:grid;grid-template-columns:repeat(2,auto);gap:12px;text-align:right}
.score-bank span{display:block;color:var(--muted);font-size:clamp(8px,2.3cqw,14px);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.score-bank strong{display:block;font-size:clamp(17px,5cqw,23px);font-variant-numeric:tabular-nums}
.play-instruction{margin:0;padding:7px 8px;border:1px solid #7dffb066;border-radius:8px;background:#7dffb01a;font-size:clamp(11px,3.15cqw,14px);font-weight:750;line-height:1.35;text-align:center}
.pitch-stage{position:relative;flex:1;min-height:0;overflow:hidden;border:2px solid var(--board-edge);border-radius:9px;background:var(--board)}
#pitchCanvas{display:block;width:100%;height:100%}
.board-flash{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle,#ffe18c73,transparent 62%)}
.board-flash.on{animation:pitch-flash .55s ease-out}
@keyframes pitch-flash{from{opacity:1}to{opacity:0}}
.phase-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:26px;background:#06100acc;text-align:center}
.phase-overlay strong{display:block;font-size:clamp(22px,7cqw,31px);letter-spacing:.09em;text-transform:uppercase}
.phase-overlay span{display:block;margin-top:8px;font-size:clamp(12px,3.4cqw,15px);line-height:1.45}
.gift-rails{position:absolute;z-index:3;inset:0;pointer-events:none}
.gift-rail{position:absolute;top:34%;display:grid;gap:7px;width:32%}
.gift-rail.left{left:5px}.gift-rail.right{right:5px}
.gift-rail-item{display:flex;align-items:center;gap:5px;min-width:0;padding:5px;border-radius:8px;background:#07140ee6;box-shadow:0 1px 5px #0008;font-size:clamp(8px,2.45cqw,15px);font-weight:800;line-height:1.15}
.gift-rail.right .gift-rail-item{flex-direction:row-reverse;text-align:right}
.gift-rail-item .tt-core-gift-icon{width:clamp(21px,6cqw,27px);height:clamp(21px,6cqw,27px);flex-basis:clamp(21px,6cqw,27px)}
.gift-rail-item span:last-child{min-width:0;overflow-wrap:anywhere}
.gift-toast{display:flex;align-items:center;justify-content:center;gap:6px;min-height:24px;font-size:clamp(10px,2.9cqw,18px);font-weight:800;text-align:center}
.gift-toast img{width:20px;height:20px;object-fit:contain}
.event-line{min-height:1.4em;margin:0;color:var(--muted);font-size:clamp(10px,2.8cqw,18px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mode-label{position:absolute;z-index:5;top:10px;left:50%;transform:translateX(-50%);padding:5px 11px;border-radius:999px;background:#07140ee8;color:#ffe08a;font-size:clamp(10px,2.8cqw,18px);font-weight:900}
.pitch-card.shaking{animation:pitch-shake .45s ease-out}.pitch-card.shaking-hard{animation:pitch-shake-hard .7s ease-out}
@keyframes pitch-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
@keyframes pitch-shake-hard{0%,100%{transform:translateX(0)}20%{transform:translateX(-7px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
html.source-page,html.source-page body{width:100%;height:100%;overflow:hidden;background:#07140e!important}
.source-page body{display:flex;align-items:center;justify-content:center}
.source-page .tt-core-status>.tt-core-pill{display:none}
[data-tt-gift-icons=off] .gift-rail-item .tt-core-gift-icon{display:none}
html.tt-shell{--accent:#ffd43b;--accent-text:#ffd43b}
html.tt-shell .preview-wrap{background:#07140e}
html.tt-shell .gift-copy>span{display:flex;align-items:center;gap:7px}
html.tt-shell .tt-core-assigned-gift-icon{flex:0 0 auto;object-fit:contain}
html.tt-shell .practice-panel .effects{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){html.tt-shell .practice-panel .effects{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.pitch-card.shaking,.pitch-card.shaking-hard{animation:none}}
