:root{--bg:#111612;--panel:#1b211c;--line:#30382e;--lime:#c5f56a;--text:#f0f0e6;--muted:#919b8d;--orange:#f5a16c;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 5% 25%,#202b1b44,transparent 50%),var(--bg)}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid var(--lime);outline-offset:4px}button:disabled{opacity:.35;cursor:default}.shell{max-width:1456px;margin:0 auto;padding:0 48px}.header{height:101px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font-size:24px;font-weight:900;letter-spacing:-1px;line-height:1}.brand-mark{width:43px;height:47px;background:var(--lime);color:#182111;border-radius:4px 4px 16px 4px;font-size:37px;font-style:italic;padding-left:8px;display:flex;align-items:center;letter-spacing:-5px}.brand-mark span{font-size:23px;transform:translate(-1px,4px)}.brand-sub{display:block;font-size:8px;letter-spacing:2.5px;margin-top:7px}.header-right{display:flex;align-items:center;gap:38px;font-size:10px;letter-spacing:1.3px}.edition{color:var(--muted)}.status{display:flex;align-items:center;gap:8px}.status i{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px #c5f56a50}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:40px 0 31px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:1.7px;margin-bottom:17px}.eyebrow>span{width:19px;height:2px;background:var(--lime)}h1{font-size:clamp(38px,4.2vw,62px);font-weight:900;line-height:.99;letter-spacing:-2.7px;margin:0}h1 em{color:var(--lime);font-style:italic} .intro p{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 5px}.arena-layout{display:grid;grid-template-columns:minmax(0,1fr) 282px;gap:23px}.arena{border:1px solid #3b4735;border-radius:10px;overflow:hidden;background:#18251c}.scoreboard{height:86px;background:#20271f;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #3b4735}.team{display:flex;align-items:center;gap:12px}.team b{font-size:12px;letter-spacing:.7px}.team small{display:block;color:#8e9d87;font-size:8px;letter-spacing:1.5px;margin-top:7px}.away{text-align:right}.crest{background:var(--lime);color:#26321e;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;font-size:17px;line-height:1.1;width:38px;height:43px;clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%)}.crest span{font-size:11px;letter-spacing:1px}.bug{background:#ba7656;color:#291d15}.score-center{text-align:center;min-width:90px;position:relative}.score{display:flex;justify-content:center;align-items:center;gap:16px;font-size:35px;font-weight:800;line-height:1;letter-spacing:-1.5px;font-variant-numeric:tabular-nums}.score-divider{color:#68785d;font-size:20px}.timer{display:inline-block;color:var(--lime);font-family:monospace;font-size:11px;letter-spacing:1px;margin-top:6px}.timer.urgent{color:var(--orange)}.game-wrap{position:relative;aspect-ratio:5/3;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#13221470;backdrop-filter:blur(2px);z-index:3;text-align:center}.overlay.hidden{display:none}.start-card{padding:18px;max-width:440px}.match-label{font-size:9px;color:var(--lime);letter-spacing:1.6px;font-weight:700;margin-bottom:14px}.start-card h2{font-size:clamp(30px,3.5vw,49px);line-height:1.02;font-weight:900;letter-spacing:-1.8px;margin:0 0 14px;text-shadow:0 4px 30px #0008}.start-card h2 span{font-style:italic;color:var(--lime)}.start-card p{font-size:12px;line-height:1.65;color:#d0d8c7;margin:0 0 20px}.primary{display:flex;align-items:center;justify-content:space-between;gap:35px;margin:auto;border:0;background:var(--lime);color:#1a2912;font-size:11px;font-weight:800;letter-spacing:1px;border-radius:4px;padding:15px 20px;transition:background .2s,transform .2s}.primary:hover{background:#d4ff8d;transform:translateY(-2px)}.primary span{font-size:20px;line-height:1}.overlay-foot{font-size:8px;letter-spacing:1.1px;color:#afbea1;margin-top:17px}.overlay-foot span{padding:0 7px}.field-tag{position:absolute;bottom:11px;left:22px;font-size:7px;font-weight:700;letter-spacing:2px;color:#94ae7b80;pointer-events:none}.field-tag span{font-size:6px;margin-left:14px}.match-toolbar{height:44px;display:flex;justify-content:space-between;align-items:center;padding:0 21px;background:#20271f;border-top:1px solid #35432e}.stamina{display:flex;align-items:center;gap:10px;font-size:8px;color:#c0cbb6;letter-spacing:1.3px}.stamina>div{width:85px;height:4px;background:#3e4834;border-radius:4px;overflow:hidden}.stamina i{display:block;width:100%;height:100%;background:var(--lime)}.toolbar-actions{display:flex;gap:20px}.tool-button{border:0;background:none;color:#b5c1aa;font-size:13px;padding:5px 0;min-width:55px}.tool-button span{font-size:8px;letter-spacing:1px;padding-left:4px}.sidebar{display:flex;flex-direction:column;gap:16px}.mission{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:22px}.section-kicker{font-size:8px;letter-spacing:1.5px;font-weight:700;color:#a8b39e;display:flex;align-items:center;gap:7px}.section-kicker>span:last-child{margin-left:auto}.dot{width:5px;height:5px;background:var(--lime);border-radius:50%}.mission h2{font-size:30px;letter-spacing:-1px;line-height:1.08;margin:24px 0 12px}.mission p{font-size:12px;line-height:1.7;color:var(--muted);margin:0}.mission-divider{border-top:1px solid var(--line);margin:22px 0 18px}.mission label{font-size:8px;letter-spacing:1.3px;color:#c1c9b9}.select-wrap{position:relative;margin-top:10px}.select-wrap select{width:100%;appearance:none;padding:12px 25px 12px 11px;background:#242c22;border:1px solid #46503e;border-radius:4px;color:#dce5d2;font-size:11px}.select-wrap>span{position:absolute;right:10px;top:7px;pointer-events:none;color:var(--lime)}.opponent-note{font-size:9px;color:#84917c;margin-top:12px;line-height:1.5}.record{background:var(--lime);color:#25331b;border-radius:8px;padding:20px 22px}.record .section-kicker{color:#435b2a}.record-main{display:flex;align-items:center;gap:14px;padding:12px 0 11px}.record-main b{font-size:48px;letter-spacing:-3px;line-height:1}.record-main>span{font-size:9px;font-weight:700;line-height:1.55;letter-spacing:.5px}.record-bottom{border-top:1px solid #25331b30;padding-top:11px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#4c642e}.record-star{font-size:18px}.coach{display:flex;gap:12px;padding:0 5px}.coach>span{font-size:22px;color:#758868}.coach p{margin:0;color:#93a087;font-size:10px;line-height:1.8}.coach b{display:block;color:#c2cbb9;font-size:8px;letter-spacing:1.3px;margin-bottom:4px}.controls-guide{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:25px;padding:22px 0}.guide-title{font-size:10px;letter-spacing:1.1px;font-weight:700}.guide-title span{display:block;font-size:10px;letter-spacing:0;color:var(--muted);font-weight:400;margin-top:6px}.guide-item{display:flex;align-items:center;gap:10px}.key{font-size:9px;white-space:nowrap;letter-spacing:1px;padding:9px;border:1px solid #4b5543;border-bottom-width:3px;border-radius:4px;color:#c8d0c0;background:#21291f}.guide-item b{display:block;font-size:10px;font-weight:600}.guide-item small{display:block;font-size:9px;color:var(--muted);margin-top:5px}footer{display:flex;justify-content:space-between;padding:23px 0 26px;color:#727f69;font-size:8px;letter-spacing:1px}footer i{color:#46533d;padding:0 8px}.footer-ball{display:inline-block;margin-left:10px;font-size:13px;filter:grayscale(1);opacity:.65}.goal-toast{position:absolute;left:0;right:0;top:41%;text-align:center;font-size:45px;font-weight:900;font-style:italic;color:var(--lime);text-shadow:0 5px 0 #142719,0 0 30px #000;pointer-events:none;opacity:0;transform:scale(.85);transition:.2s;z-index:2}.goal-toast.show{opacity:1;transform:scale(1)}.goal-toast small{display:block;font-style:normal;font-size:10px;letter-spacing:3px;margin-top:10px}.touch-controls{display:none}.touch-controls button{touch-action:none;user-select:none}.joystick{position:relative;width:104px;height:104px;border-radius:50%;border:1px solid #61784980;background:#263a2555;touch-action:none;user-select:none}.joy-cross{position:absolute;inset:0;display:grid;place-items:center;font-size:72px;color:#66834a33}#joyKnob{position:absolute;width:43px;height:43px;left:30px;top:30px;background:#b5dc6b;border:3px solid #d0f88b;border-radius:50%;box-shadow:0 4px 15px #0004;pointer-events:none}.touch-actions{display:flex;align-items:center;gap:12px}.shoot-touch{border:0;border-radius:50%;width:88px;height:88px;background:var(--lime);color:#24331b;font-size:11px;font-weight:800;box-shadow:0 5px 0 #748b3f}.shoot-touch span{display:block;font-size:8px;opacity:.65;margin-top:4px}.sprint-touch{border:1px solid #657b50;border-radius:50%;background:#2a3c25;color:#c2d8a8;width:55px;height:55px;font-size:8px;font-weight:700}.touch-hint{font-size:7px;line-height:1.8;letter-spacing:1px;color:#829870;text-align:center}
@media(min-width:1500px){.intro{padding-top:46px;padding-bottom:40px}.arena-layout{grid-template-columns:minmax(0,1fr) 300px}.mission{padding:27px}.mission h2{font-size:34px}.sidebar{gap:20px}}
@media(max-width:1050px){.shell{padding:0 28px}.arena-layout{grid-template-columns:minmax(0,1fr) 235px;gap:17px}.mission{padding:18px}.mission h2{font-size:27px;margin-top:18px}.mission-divider{margin:18px 0 15px}.coach{display:none}.scoreboard{padding:0 18px}.team{gap:8px}.team b{font-size:10px}.controls-guide{gap:13px}.guide-item{gap:7px}.key{font-size:8px;padding:7px}.guide-title{display:none}.intro p{font-size:12px}.start-card p{margin-bottom:15px}.match-label{margin-bottom:10px}}
@media(max-width:760px){.shell{padding:0 18px}.header{height:77px}.header-right{gap:0}.edition{display:none}.status{font-size:8px;letter-spacing:.8px}.brand{font-size:21px}.brand-mark{width:35px;height:39px;font-size:32px;padding-left:5px}.brand-mark span{font-size:19px}.brand-sub{font-size:7px;letter-spacing:2px}.intro{padding:27px 0 24px;gap:15px}.eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:13px}h1{font-size:42px;letter-spacing:-2px}.intro p{display:none}.arena-layout{display:flex;flex-direction:column;gap:20px}.scoreboard{height:72px;padding:0 16px}.score{font-size:29px;gap:13px}.crest{width:30px;height:35px;font-size:14px}.crest span{font-size:9px}.team small{font-size:6px;margin-top:5px}.team b{font-size:9px;letter-spacing:.5px}.timer{font-size:9px}.start-card{padding:8px}.start-card h2{font-size:32px;margin-bottom:8px}.match-label{font-size:7px;margin-bottom:9px}.start-card p{font-size:10px;line-height:1.5;margin-bottom:12px}.primary{font-size:9px;padding:10px 16px}.overlay-foot{font-size:6px;margin-top:10px}.field-tag{left:15px;bottom:7px;font-size:5px}.field-tag span{font-size:4px}.sidebar{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}.mission{padding:15px}.section-kicker{font-size:7px;letter-spacing:.9px}.mission h2{font-size:23px;margin:17px 0 8px}.mission p,.mission-divider,.opponent-note{display:none}.mission label{display:block;margin-top:16px;font-size:7px}.select-wrap{margin-top:7px}.select-wrap select{font-size:9px;padding:10px 20px 10px 7px}.record{padding:17px 15px}.record-main{padding:23px 0 19px;gap:9px}.record-main b{font-size:42px}.record-main>span{font-size:8px}.record-bottom{font-size:8px;line-height:1.6;gap:5px}.record-star{display:none}.controls-guide{display:none}footer{font-size:6px;letter-spacing:.5px;margin-top:5px}footer>span:last-child{font-size:7px;letter-spacing:0}.goal-toast{font-size:29px}.goal-toast small{font-size:7px}.touch-hint{display:none}}
@media(pointer:coarse){.touch-controls{display:flex;align-items:center;justify-content:space-between;padding:17px 25px 21px;border-top:1px solid #35432e;background:#1b291d;gap:12px}.controls-guide{display:none}.coach{display:none}}
@media(pointer:coarse) and (min-width:761px){.touch-hint{display:block}.touch-controls{padding:13px 27px}.joystick{width:90px;height:90px}#joyKnob{left:23px;top:23px}.shoot-touch{width:80px;height:80px}}
@media(max-height:520px) and (orientation:landscape){.shell{padding:0 12px}.header,.intro,.sidebar,.controls-guide,footer{display:none}.arena-layout{display:block}.arena{position:relative;max-width:850px;margin:8px auto;padding:0 125px}.game-wrap{height:calc(100dvh - 106px);aspect-ratio:5/3;width:auto;max-width:100%;margin:auto}.scoreboard{height:52px;padding:0 10px}.score{font-size:24px}.timer{font-size:8px;margin-top:3px}.scoreboard .crest{display:none}.match-toolbar{height:30px;padding:0 10px}.touch-controls{display:flex;border:0;background:none;position:absolute;inset:0;pointer-events:none;padding:0 12px;align-items:center}.touch-controls>*{pointer-events:auto}.touch-actions{flex-direction:column-reverse;gap:20px}.joystick{width:90px;height:90px}#joyKnob{left:23px;top:23px}.shoot-touch{width:78px;height:78px}.touch-hint{display:none!important}.start-card h2{font-size:25px}.start-card p{font-size:9px;margin-bottom:10px}.match-label,.overlay-foot{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(max-width:760px){.touch-controls{display:flex;align-items:center;justify-content:space-between;padding:17px 22px 21px;border-top:1px solid #35432e;background:#1b291d;gap:12px}}
@media(max-height:520px) and (orientation:landscape){.touch-controls{border:0;background:none;padding:0 12px}}
