

:root{--navy:#101e2b;--ink:#ecf0ed;--muted:#98a9ae;--gold:#f2cb68;--blue:#68b7da;--line:#ffffff18;--safe:clamp(20px,3.4vw,64px);font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--navy);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer}button{border:0}a{color:inherit}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:6px;box-shadow:0 0 22px #f2cb6844}button:disabled{cursor:default;opacity:.4}.hidden{display:none!important}.screen{min-height:100svh}.masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px var(--safe);border-bottom:1px solid var(--line)}.brand{display:flex;gap:9px;align-items:center;letter-spacing:2px;font-size:15px;text-decoration:none;font-weight:400}.brand strong{font-weight:800}.flag{display:inline-block;position:relative;width:29px;height:20px;background:#5babc9;flex-shrink:0}.flag:before{content:"";position:absolute;inset:0 auto 0 9px;width:4px;background:var(--gold)}.flag:after{content:"";position:absolute;inset:8px 0 auto;height:4px;background:var(--gold)}.header-actions{display:flex;align-items:center;gap:24px}.pill{border:1px solid #ffffff26;border-radius:30px;font-size:10px;letter-spacing:1.5px;padding:10px 14px;white-space:nowrap}.status-dot,.live-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;display:inline-block;margin-right:8px}.icon-button{color:var(--ink);background:#ffffff0a;border:1px solid #ffffff20;border-radius:8px;padding:11px 14px;font-size:12px}.hero{display:grid;grid-template-columns:1fr 1.15fr;min-height:calc(100svh - 170px);padding:40px var(--safe) 32px;gap:32px;align-items:center}.hero-copy{padding:12px 0 20px;position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:2.5px;color:var(--gold);font-weight:700;margin:0 0 25px;display:flex;align-items:center;gap:12px}.short-line{width:28px;height:1px;background:var(--gold)}h1{font-size:clamp(64px,7.7vw,144px);line-height:.95;font-weight:900;letter-spacing:-6px;margin:0 0 30px}h1 span{color:var(--gold)}.intro{color:#b2c0c1;font-size:clamp(17px,1.4vw,23px);line-height:1.55;margin:0 0 36px}.hero-actions{display:flex;align-items:center;gap:20px}.primary{display:flex;align-items:center;justify-content:space-between;gap:42px;background:var(--gold);color:var(--navy);font-size:13px;letter-spacing:1px;font-weight:800;padding:23px 25px;min-height:60px;border-radius:3px;transition:background .2s,transform .2s}.primary:hover{background:#ffdf8b;transform:translateY(-2px)}.primary span{font-size:24px;line-height:1}.secondary{background:transparent;color:var(--ink);border-bottom:1px solid #ffffff40;padding:16px 0;font-size:14px;display:flex;align-items:center;gap:20px}.secondary:hover{color:var(--gold)}.secondary.compact{padding:8px 0}.feature-row{margin-top:45px;display:flex;gap:30px;font-size:10px;color:var(--muted);letter-spacing:.4px}.feature-row span{display:flex;flex-direction:column;gap:7px}.feature-row b{font-size:19px;color:var(--ink);font-weight:600;letter-spacing:1px}.hero-art{position:relative;align-self:stretch;display:flex;align-items:center;min-height:500px;overflow:hidden;border:1px solid #ffffff0b;border-radius:3px;background:radial-gradient(ellipse at 50% 50%,#2a3a42,#172530 67%)}#preview{width:100%;height:auto;position:relative;z-index:0}.art-caption{position:absolute;bottom:23px;left:25px;right:25px;color:#98b0b4;font-size:9px;letter-spacing:1.7px;display:flex;align-items:center}.caption-right{margin-left:auto}.art-stamp{position:absolute;top:24px;left:25px;color:#71868f;font-size:10px;line-height:1.5;letter-spacing:2px}.art-stamp strong{font-weight:500;color:#c4d0d2}.home-footer{margin:0 var(--safe);padding:20px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#758a94;font-size:9px;letter-spacing:2px}.tiny-flag{color:var(--gold);margin-left:5px}
h2{font-size:clamp(34px,4vw,64px);font-weight:800;letter-spacing:-2px;line-height:1.08;margin:0 0 16px}.subtle{color:var(--muted);font-size:16px;line-height:1.6}.small{font-size:13px}.setup-content,.help-content{max-width:1440px;margin:auto;padding:45px var(--safe)}.settings-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:32px 0}.settings-row label{font-size:10px;letter-spacing:1.6px;color:#b2c0c1;display:flex;flex-direction:column;gap:10px}select{background:#1b2b39;color:var(--ink);border:1px solid #ffffff25;border-radius:4px;font-size:16px;padding:13px;cursor:pointer;width:100%}.player-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.player-card{background:#192937;border:1px solid #ffffff14;border-radius:5px;padding:23px;position:relative;overflow:hidden}.player-card:before{content:"";height:3px;background:var(--player);position:absolute;top:0;left:0;right:0}.player-card.inactive{opacity:.38}.player-card h3{display:flex;align-items:center;gap:12px;margin:0 0 22px;font-size:18px}.player-dot{display:inline-grid;place-items:center;background:var(--player);color:#101e2b;border-radius:50%;width:27px;height:27px;font-size:14px}.player-card label{font-size:10px;letter-spacing:1px;color:var(--muted);display:block;margin:15px 0 6px}.player-card .device-copy{font-size:12px;color:#a7bac3;line-height:1.6;min-height:42px}.setup-bottom{margin-top:25px;display:flex;align-items:center;justify-content:space-between;gap:25px}.device-status{font-size:12px;color:var(--gold)}.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:35px 0}.help-number{font-size:12px;color:var(--gold)}h3{font-size:22px}.help-grid p,.controls-table p{color:var(--muted);font-size:15px;line-height:1.7}.controls-table{display:grid;grid-template-columns:1fr 1.5fr 1fr;border-top:1px solid var(--line);gap:25px}.controls-table h3{font-size:16px}.controls-table p{font-size:13px}.research-note{font-size:12px;color:#7b949f;border-top:1px solid var(--line);padding-top:18px;line-height:1.7}
#match{position:fixed;inset:0;background:#101e2b;overflow:hidden;min-height:0;touch-action:none;user-select:none}#game{width:100%;height:100%;object-fit:contain;display:block}.match-top{position:absolute;top:max(24px,env(safe-area-inset-top));left:max(28px,env(safe-area-inset-left));right:max(28px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;gap:16px;pointer-events:none}.match-top button{pointer-events:auto}.match-brand{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1.5px;line-height:1.4}.scoreboard{display:flex;align-items:center;justify-content:center;gap:21px;background:#101e2bed;border:1px solid #ffffff26;padding:13px 24px;border-radius:6px;box-shadow:0 8px 25px #0003}.team{font-size:11px;font-weight:700;letter-spacing:1.5px}.team.blue{color:var(--blue)}.team.yellow{color:var(--gold)}.scoreboard>b{font-size:32px;font-variant-numeric:tabular-nums}.clock{display:flex;align-items:center;flex-direction:column;gap:5px;border-right:1px solid #ffffff20;border-left:1px solid #ffffff20;padding:0 22px;min-width:114px}.clock strong{font-size:21px;font-variant-numeric:tabular-nums;letter-spacing:1px}.clock span{font-size:8px;letter-spacing:1px;color:var(--muted)}.match-bottom{position:absolute;bottom:max(25px,env(safe-area-inset-bottom));left:var(--safe);right:var(--safe);display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#b8c8ca;gap:15px}.text-button{background:transparent;color:var(--muted);font-size:12px;padding:12px}.text-button:hover{color:var(--gold)}#possession{color:var(--gold);letter-spacing:1px;font-size:10px}.event{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 40px;min-width:300px;border:1px solid #ffffff20;border-radius:8px;background:#101e2bdc;box-shadow:0 18px 70px #0004;pointer-events:none;gap:10px}.event>span{font-size:11px;letter-spacing:2px;color:var(--gold)}.event strong{font-size:42px;white-space:nowrap}#event-detail{color:#b7c6c7;font-size:12px;letter-spacing:.5px}.modal{position:fixed;inset:0;background:#07111bba;backdrop-filter:blur(10px);display:grid;place-items:center;z-index:20;padding:20px}.modal section{width:min(560px,100%);background:#172734;border:1px solid #ffffff20;border-radius:6px;padding:40px;max-height:95svh;overflow:auto}.modal h2{font-size:42px}.modal-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:25px}.modal-actions .secondary{justify-content:center}#result-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px;text-align:center;background:#ffffff06;padding:20px;border-radius:4px;margin-top:20px}#result-stats span{display:flex;flex-direction:column;font-size:11px;color:var(--muted);gap:6px}#result-stats strong{color:var(--gold);font-size:22px}.modal .primary{justify-content:center}
#touch-controls{display:none;position:absolute;left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));height:142px;pointer-events:none;z-index:5}#joystick{position:absolute;left:0;bottom:0;width:126px;height:126px;border-radius:50%;border:2px solid #d9eff055;background:#15293599;pointer-events:auto;touch-action:none}#joystick-knob{position:absolute;top:38px;left:38px;width:46px;height:46px;border-radius:50%;background:#c5e1e0aa;border:1px solid #fff9;box-shadow:0 4px 12px #0004;pointer-events:none}#joystick span{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:1px;pointer-events:none;color:#d8e5e6}.touch-actions{position:absolute;right:0;bottom:0;display:grid;grid-template-columns:62px 78px;gap:8px;align-items:end}.touch-actions button{height:54px;border-radius:50%;border:1px solid #d2e7e866;box-shadow:0 3px 10px #0003;background:#18323ede;color:#e0eded;font-size:9px;font-weight:800;pointer-events:auto;touch-action:none}.touch-actions #touch-shoot{width:78px;height:78px;background:#f2cb68eb;color:#101e2b;font-size:11px}.touch-actions #touch-pass{height:62px}.touch-actions button.held{background:#fff;color:#102331;transform:scale(.94)}#landscape-tip{display:none}
@media(pointer:coarse){#touch-controls{display:block}.match-bottom{bottom:10px;left:170px;right:190px;font-size:9px;justify-content:center}#match-hint{display:none}.match-bottom .text-button{display:none}}
@media(min-width:1600px){.hero{gap:60px}.hero-art{min-height:640px}.feature-row{margin-top:60px}.primary{font-size:17px;padding:25px 32px}.intro{font-size:24px}.brand{font-size:18px}.masthead{padding-top:40px;padding-bottom:40px}.setup-content,.help-content{padding-top:60px}.player-card{padding:30px}.subtle{font-size:19px}}
@media(max-width:1000px){.hero{gap:20px;grid-template-columns:1fr 1fr}.hero-art{min-height:420px}h1{font-size:76px;letter-spacing:-4px}.hero-actions{gap:14px}.primary{gap:22px;padding:20px}.feature-row{gap:20px}.match-brand{display:none}.match-top{justify-content:center}.match-top #pause{position:absolute;right:0}.scoreboard{gap:14px}.player-card{padding:15px}.player-card h3{font-size:16px}.settings-row{gap:12px}.controls-table{grid-template-columns:1fr 1fr}.controls-table>div:nth-child(2){grid-row:span 2}}
@media(max-width:700px){.masthead{padding:22px 20px}.brand{font-size:10px;letter-spacing:1px}.header-actions{gap:8px}.header-actions .pill{display:none}.hero{grid-template-columns:1fr;padding:32px 20px 25px;gap:30px}.hero-copy{padding:0}.eyebrow{font-size:10px;margin-bottom:20px}h1{font-size:72px;letter-spacing:-4px;margin-bottom:23px}.intro{font-size:17px;margin-bottom:25px}.hero-art{min-height:280px;max-height:390px}.feature-row{margin-top:30px;justify-content:space-between}.feature-row span{font-size:10px}.hero-actions .primary{flex:1}.home-footer{margin:0 20px;font-size:8px;letter-spacing:1px;gap:14px}.home-footer>span:last-child{display:none}.setup-content,.help-content{padding:30px 20px}.settings-row{grid-template-columns:1fr 1fr;margin:22px 0}.settings-row label{font-size:9px}.player-slots{grid-template-columns:1fr 1fr;gap:10px}.player-card{padding:15px 12px}.player-card h3{margin-bottom:12px;font-size:14px;gap:8px}.player-card select{font-size:13px;padding:10px}.player-card label{font-size:9px;margin-top:10px}.player-card .device-copy{font-size:10px}.setup-bottom{flex-direction:column;align-items:stretch}.setup-bottom>.primary{justify-content:center}.help-grid{grid-template-columns:1fr;gap:15px}.help-grid article{border-bottom:1px solid var(--line);padding-bottom:15px}.help-grid h3{margin:10px 0}.help-grid p{margin:8px 0}.controls-table{grid-template-columns:1fr}.controls-table>div:nth-child(2){grid-row:auto}.match-top{top:max(10px,env(safe-area-inset-top));left:12px;right:12px}.scoreboard{gap:10px;padding:10px 13px}.team{font-size:8px;letter-spacing:.5px}.scoreboard>b{font-size:25px}.clock{padding:0 10px;min-width:70px}.clock strong{font-size:17px}.clock span{font-size:7px}.match-top #pause{top:62px;font-size:13px;padding:9px 13px;background:#152a3ad9}.match-top #pause span{display:none}.event{min-width:220px;padding:20px}.event strong{font-size:30px}.modal section{padding:28px}.modal h2{font-size:32px}.match-bottom{left:20px;right:20px}#match-hint{display:none}}
@media(max-height:600px) and (orientation:landscape){.match-top{top:max(9px,env(safe-area-inset-top))}.scoreboard{padding:7px 18px}.scoreboard>b{font-size:23px}.clock strong{font-size:17px}.clock{gap:2px}.team{font-size:9px}.match-top #pause{top:0}.match-bottom{bottom:8px}.match-top #pause span{display:none}#touch-controls{bottom:max(12px,env(safe-area-inset-bottom));height:100px}#joystick{width:100px;height:100px}#joystick-knob{width:40px;height:40px;left:28px;top:28px}.touch-actions{grid-template-columns:50px 65px;gap:6px}.touch-actions button{height:43px;font-size:8px}.touch-actions #touch-shoot{width:65px;height:65px;font-size:10px}.touch-actions #touch-pass{height:50px}.event strong{font-size:29px}.event{padding:16px 30px}.setup-content,.help-content{padding-top:25px}}
@media(pointer:coarse) and (orientation:portrait){#landscape-tip{display:block;position:absolute;top:94px;left:0;right:0;text-align:center;color:#8da7b0;font-size:10px}.match-bottom{bottom:165px;left:20px;right:20px}.event{top:45%}#game{height:calc(100% - 240px);margin-top:100px}}
@media(prefers-reduced-motion:reduce){button,.tv-focusable{transition:none}}

@media(min-width:1200px){.match-top{top:48px;left:48px;right:48px}.primary{font-size:18px}.icon-button{font-size:15px}.secondary{font-size:18px}}
