:root{--green:#073f2b;--cream:#f3f0e6;--ink:#173f2e;--line:#ccd3c7;--muted:#667364;font-family:"Avenir Next","Helvetica Neue",sans-serif;color:var(--ink);background:#101a16}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%}body{overflow:hidden}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button,a,select{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #c29a42;outline-offset:4px}.hidden,[hidden]{display:none!important}a{color:inherit}#view{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}.screen{position:fixed;inset:0;overflow:auto;z-index:20}#menu{background:var(--cream);padding:0 5.3%}header{height:80px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;letter-spacing:1px;text-decoration:none}.wordmark>span{font:35px Georgia}.wordmark>b{font-size:19px}.edition{font:25px "Teko",sans-serif;letter-spacing:2px}#collection{font-size:9px;font-weight:700;border:1px solid var(--line);padding:10px 13px;border-radius:25px;letter-spacing:1.3px}.hero{position:relative;padding:35px 0 29px;display:grid;grid-template-columns:1fr 220px;align-items:end;overflow:hidden}.eyebrow{font-size:9px;font-weight:800;letter-spacing:1.7px;margin:0 0 13px}.hero>.eyebrow{grid-column:1/-1}.hero h1{font:52px/.98 Georgia,serif;font-weight:400;letter-spacing:-2px;margin:0;position:relative;z-index:1}.hero h1 em{font-weight:400}.hero-note{font-size:12px;line-height:1.9;margin:0;position:relative;z-index:1}.seven{position:absolute;left:45%;bottom:-20px;font:260px/.7 "Teko",sans-serif;color:#dce3d6;pointer-events:none}#final-nav{display:grid;grid-template-columns:repeat(7,1fr);border-block:1px solid var(--line)}.year-button{position:relative;border:0;border-right:1px solid var(--line);background:none;color:var(--muted);padding:12px 15px;text-align:left;transition:background .2s}.year-button:first-child{border-left:1px solid var(--line)}.year-button strong{display:block;font:34px/1 "Teko",sans-serif}.year-button span{font-size:9px;display:block;margin-top:3px}.year-button.active{background:var(--green);color:var(--cream)}.year-button:hover:not(.active){background:#e3e9da}.year-button.completed:after{content:'★';position:absolute;right:9px;top:12px;color:#c6af70;font-size:10px}.fixture{padding-top:23px}.fixture-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.fixture-top .eyebrow{font-size:8px;margin-bottom:7px}h2{font:28px/1.12 Georgia,serif;font-weight:400;margin:0}.fixture-top h2{letter-spacing:-.5px}#fixture-date{font-size:10px;color:var(--muted);margin:7px 0 0}.text-button{background:none;border:0;padding:9px 0;color:var(--green);font-size:11px;font-weight:700;text-align:left}#road-copy{font:14px/1.85 Georgia,serif;max-width:850px;margin:14px 0 0}#teams{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:18px}.team-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}.team-logo{width:36px;height:36px;object-fit:contain;mix-blend-mode:multiply}.team h3{font-size:13px;margin:0 0 4px}.coach-name{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--muted)}.coach-face{width:20px;height:23px;object-fit:cover;object-position:50% 15%;border-radius:2px}.player-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.player-card{margin:0;min-width:0}.portrait-wrap{position:relative;height:102px;background:#e0e7d9;overflow:hidden}.team-away .portrait-wrap{background:#e7e2d7}.portrait-wrap img{display:block;object-fit:contain;object-position:bottom;width:100%;height:100%}.jersey-tag{position:absolute;top:5px;left:5px;font:20px/.9 "Teko",sans-serif;z-index:1}.player-card figcaption{font-size:9px;font-weight:600;line-height:1.4;margin-top:6px;overflow-wrap:anywhere}.fixture-footer{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-top:22px;padding:18px 0;border-top:1px solid var(--line)}.options{display:flex;gap:25px}.options label{display:flex;flex-direction:column;gap:6px;font-size:8px;font-weight:800;letter-spacing:1px}.options select{min-width:125px;background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);font-size:12px;padding:5px 15px 5px 0}.primary{min-width:220px;background:var(--green);border:1px solid var(--green);color:var(--cream);padding:18px 25px;font-size:11px;font-weight:700;letter-spacing:1px;transition:background .2s,transform .2s}.primary:hover:enabled{background:#15603e;transform:translateY(-1px)}.page-footer{display:flex;justify-content:space-between;gap:20px;padding:10px 0 22px;font-size:8px;letter-spacing:.8px;color:var(--muted)}.page-footer a{font-size:10px;letter-spacing:0;text-underline-offset:4px}#briefing{background:linear-gradient(90deg,#04291ff5,#04291fd9);color:var(--cream);padding:40px 9%;display:flex;align-items:center}.briefing-inner{max-width:900px;width:100%}#briefing h2{font-size:52px;margin:15px 0 0}#briefing-year{display:block;font:145px/.95 "Teko",sans-serif;margin:4px 0 10px;color:#d6e3cc}#briefing-intro{font:17px/1.75 Georgia,serif;max-width:800px}#briefing-road{font-size:13px;line-height:1.9;color:#c9d7c5;max-width:800px}#load-status{font-size:11px;color:#c9d8be;margin:23px 0 15px}.briefing-actions{display:flex;align-items:center;justify-content:space-between;gap:30px}#briefing .primary{background:var(--cream);color:var(--green);border-color:var(--cream)}#briefing .text-button{color:var(--cream);font-size:10px}#briefing small{display:block;margin-top:22px;font-size:9px;color:#aebfae}
#hud{position:fixed;inset:0;z-index:5;pointer-events:none;color:#faf8ef}#sb{position:absolute;top:18px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:150px 73px 150px;min-height:65px;background:#073025ed;border:1px solid #ffffff25;box-shadow:0 5px 24px #0004}.tm{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px 16px}.tm.r{flex-direction:row-reverse}.nm{font-size:10px;font-weight:700;max-width:95px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sc{font:38px/1 "Teko",sans-serif;min-width:28px;text-align:center}.mid{display:flex;flex-direction:column;justify-content:center;text-align:center;border-inline:1px solid #fff2}#sb-clock{font:28px/1 "Teko",sans-serif;font-variant-numeric:tabular-nums}#sb-period{font-size:8px;color:#d0dcc8;margin-top:3px}#sb-shot{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#eee9d9;color:#18422e;min-width:36px;padding:3px 12px;text-align:center;font:21px/1 "Teko",sans-serif}#sb-poss{display:none}.low{color:#f0b594!important}#p1{position:absolute;left:24px;bottom:25px;width:150px;padding:10px 12px;background:#073025db;border-left:2px solid #b3cfa0}#p1-name{font-size:8px;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f9f6ea!important}.bar2{height:4px;background:#ffffff20;position:relative;margin:7px 0 13px}.bar2 i{position:absolute;inset:0 auto 0 0;width:100%;background:#a9ca8e}.bar2 em{position:absolute;top:6px;left:0;font:6px "Avenir Next",sans-serif;color:#cfddc6;letter-spacing:.7px}#p1-power i{background:#d5c17a}#match-tools{position:fixed;top:20px;left:22px;right:22px;z-index:7;display:flex;align-items:center;gap:7px;pointer-events:none}#match-label{flex:1;color:#f3f0e4;text-shadow:0 2px 8px #000;font-size:9px;letter-spacing:1px}#match-tools button{pointer-events:auto;background:#073025da;color:#f7f4e8;border:1px solid #fff2;font-size:9px;padding:8px 10px}#pops{position:absolute;top:26%;left:0;right:0;text-align:center}.pop{font-size:29px;font-weight:800;letter-spacing:1px;color:var(--c,#fff);text-shadow:0 2px 6px #000;animation:pop-away 1.5s both;margin-bottom:8px}.pop.small{font-size:18px}.pop.tiny{font-size:11px}#banner{position:absolute;top:19%;left:50%;transform:translateX(-50%);background:#073025eb;padding:15px 25px;text-align:center;border-top:1px solid #c2d5aa;opacity:0;transition:opacity .25s;min-width:300px}#banner.on{opacity:1}#banner .t{font-size:18px;font-weight:700}#banner .s{font-size:11px;color:#cfddc6;margin-top:6px}#hint{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);background:#073025dd;padding:8px 12px;opacity:0;font-size:11px}#hint.on{opacity:1}#meter{position:absolute;bottom:75px;left:50%;transform:translateX(-50%);width:240px;opacity:0;background:#073025ef;padding:11px 13px;border:1px solid #c2d5aa66}#meter.on{opacity:1}.shot-meter-head{display:flex;justify-content:space-between;font-size:8px;margin-bottom:8px}.shot-hint{font-size:7px;color:#cfddc6}.shot-meter-track{height:9px;position:relative;background:#ffffff25;overflow:hidden}.shot-meter-track b,.shot-meter-track i{position:absolute;top:0;height:100%}.shot-meter-track b{background:#7ca968;width:20%;left:60%}.shot-meter-track i{background:#ddd4aa;width:0;opacity:.7}.shot-marker{position:absolute;top:0;width:2px;height:100%;background:#fff}.shot-feedback{display:block;text-align:center;height:12px;margin-top:5px;font-size:10px;color:#d2e8b7}#replay-badge{position:absolute;left:50%;transform:translateX(-50%);background:#eee9d9;color:#18422e;font-size:10px;letter-spacing:2px;padding:6px 14px;font-weight:800}.modal{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;overflow:auto;padding:24px;background:#04291fd9;backdrop-filter:blur(7px)}.modal-card{width:100%;max-width:540px;background:var(--cream);padding:35px 38px}.modal-card h2{font-size:38px;margin:10px 0 23px}.control-guide{font-size:12px;line-height:1.9;color:#53654f}.control-guide p{margin:10px 0}kbd{font-family:inherit;font-size:.85em;padding:1px 4px;border:1px solid currentColor;opacity:.75;border-radius:2px}.modal-card>.primary{width:100%;margin-top:24px}.modal-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:15px}#final{display:none;position:fixed;inset:0;z-index:30;overflow:auto;padding:55px 8%;background:#04291fe8;color:var(--cream);backdrop-filter:blur(5px)}#final.on{display:flex;align-items:center;justify-content:center}.result-inner{width:100%;max-width:800px}.result-inner h2{font-size:53px;letter-spacing:-1px;margin:16px 0}.result-score{display:flex;align-items:center;gap:22px;margin:23px 0}.result-score strong{font:70px/1 "Teko",sans-serif}.result-score span{font-size:12px;max-width:150px}.result-history{border-top:1px solid #fff3;padding-top:20px;font:14px/1.9 Georgia,serif;color:#d6e1cf}.result-buttons{display:flex;gap:22px;align-items:center;margin-top:28px;flex-wrap:wrap}.result-buttons .primary{background:var(--cream);color:var(--green);border-color:var(--cream)}.result-buttons .text-button{color:var(--cream)}.result-progress{font-size:11px;letter-spacing:1px;color:#ddd3a0}#touch{position:fixed;inset:0;z-index:6;pointer-events:none;touch-action:none}.court-zone{position:absolute;inset:100px 0 0;pointer-events:auto;touch-action:none}.direction-pad{display:none;position:absolute;width:105px;height:105px;grid-template-columns:repeat(3,1fr);background:#07302599;border-radius:50%;padding:10px;color:#e1ecd5;text-align:center;font-size:15px}.direction-pad.on{display:grid}.direction-pad span.on{color:#ffe18e}.direction-hint{position:absolute;bottom:20px;left:20px;font-size:8px;color:#dce7d3;opacity:.65}.btns{position:absolute;right:20px;bottom:25px;display:flex;align-items:center;gap:12px;pointer-events:auto}.btns button{border:1px solid #dae9cb88;background:#073025cf;color:#f7f3e6;width:70px;height:70px;border-radius:50%;font-size:10px;font-weight:700;touch-action:none}.btns button[data-btn=pass]{width:90px;height:90px}.btns button.on{background:#c9dcb0;color:#073025}.touch-tools{position:absolute;top:105px;right:15px;display:flex;gap:7px;pointer-events:auto}.touch-tools button{border:1px solid #fff3;background:#073025ca;color:#faf6e9;font-size:8px;padding:9px}.replay-active #touch .btns,.replay-active .direction-hint{opacity:0;pointer-events:none}@keyframes pop-away{0%{opacity:0;transform:translateY(12px) scale(.9)}12%,70%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-15px)}}
@media(min-width:1600px){#menu{padding:0 max(6%,calc((100vw - 1450px)/2))}.hero{padding-top:45px;padding-bottom:36px}.hero h1{font-size:65px}.portrait-wrap{height:140px}.fixture{padding-top:28px}.fixture-footer{margin-top:28px}header{height:92px}}
@media(max-height:800px) and (min-width:851px){header{height:58px}.hero{padding-top:20px;padding-bottom:18px}.hero h1{font-size:42px}.seven{font-size:210px}.hero>.eyebrow{margin-bottom:9px}.year-button{padding-top:9px;padding-bottom:9px}.year-button strong{font-size:30px}.fixture{padding-top:17px}#teams{margin-top:12px}.portrait-wrap{height:82px}.fixture-top h2{font-size:23px}.fixture-footer{margin-top:14px;padding:12px 0}}
@media(max-width:1050px){#teams{gap:25px}.player-list{gap:6px}.portrait-wrap{height:90px}.hero h1{font-size:45px}.sb-fouls{font-size:7px!important}#match-label{max-width:145px;line-height:1.6}}
@media(max-width:850px){header{height:67px}.wordmark{font-size:10px;letter-spacing:.5px}.wordmark>span{font-size:28px}#collection{font-size:8px;padding:8px}.edition{font-size:21px}.hero{padding:26px 0 23px;grid-template-columns:1fr 170px}.hero h1{font-size:42px}.hero-note{font-size:10px}.seven{font-size:210px;left:48%}.year-button{padding:11px 8px}.year-button strong{font-size:29px}.year-button span{font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fixture-top h2{font-size:24px}.fixture-top .text-button{font-size:10px}.player-card figcaption{font-size:8px}.portrait-wrap{height:85px}.fixture-footer{gap:12px}.primary{min-width:195px;padding:15px 18px;font-size:10px}.options{gap:15px}.options select{min-width:95px}.page-footer{font-size:7px}#briefing{padding:30px 7%}#briefing h2{font-size:42px}#briefing-year{font-size:120px}#briefing-intro{font-size:15px}#match-tools{top:auto;bottom:17px;left:auto;right:18px}#match-label{display:none}#sb{top:12px;grid-template-columns:135px 65px 135px}#p1{left:15px;bottom:18px;width:130px}.result-inner h2{font-size:42px}}
@media(max-width:580px){.edition{display:none}.hero{grid-template-columns:1fr 125px;padding:24px 0}.hero h1{font-size:37px;letter-spacing:-1.5px}.hero>.eyebrow{font-size:8px;letter-spacing:1.2px}.hero-note{font-size:9px}.seven{left:45%;font-size:180px}.year-button{padding:11px 4px}.year-button strong{font-size:24px;text-align:center}.year-button span{display:none}.year-button.completed:after{top:3px;right:3px;font-size:7px}.fixture{padding-top:20px}.fixture-top{align-items:start}.fixture-top h2{font-size:22px}.fixture-top .text-button{max-width:118px;font-size:9px;line-height:1.6;padding-top:4px}#teams{grid-template-columns:1fr;gap:22px;margin-top:20px}.portrait-wrap{height:97px}.player-list{gap:7px}.team-logo{width:30px;height:30px}.team h3{font-size:12px}.coach-name{font-size:8px}.fixture-footer{flex-direction:column;align-items:stretch;gap:18px;margin-top:22px}.options{justify-content:space-between}.options label{flex:1}.options select{width:100%}.primary{width:100%;padding:17px 20px}.page-footer{font-size:7px;line-height:1.7}.page-footer>span{max-width:190px}.page-footer a{font-size:9px;white-space:nowrap}#briefing{align-items:flex-start;padding-top:55px}#briefing h2{font-size:36px}#briefing-year{font-size:110px}#briefing-intro{font-size:15px;line-height:1.65}#briefing-road{font-size:12px}.briefing-actions{flex-direction:column-reverse;align-items:stretch;gap:10px}.briefing-actions .text-button{text-align:center}#briefing small{font-size:8px;line-height:1.5}.modal-card{padding:26px}.modal-card h2{font-size:32px}.control-guide{font-size:11px}#sb{grid-template-columns:112px 58px 112px;min-height:59px}.tm{padding:8px 8px 15px;gap:4px}.nm{font-size:8px;max-width:65px}.sc{font-size:32px}#sb-clock{font-size:25px}#sb-period{font-size:7px}#p1{bottom:130px;width:120px}#match-tools{display:none}.pop{font-size:24px}.pop.small{font-size:15px}#banner{min-width:270px;padding:13px 17px}#banner .t{font-size:14px}#meter{bottom:135px;width:220px}#hint{bottom:107px;font-size:9px;max-width:220px;text-align:center}#final{padding:35px 7%}.result-inner h2{font-size:34px}.result-score{gap:15px}.result-score strong{font-size:55px}.result-score span{font-size:10px}.result-history{font-size:13px}.result-buttons{gap:10px}.result-buttons .text-button{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition:none!important}}
.player-metadata{display:block;margin-top:3px;font-size:8px;font-weight:400;color:var(--muted);line-height:1.45}
.intro-caption{display:flex;align-items:center;gap:14px}.intro-caption-copy{min-width:0}#intro-portrait{display:none}@media(max-width:650px){#intro-portrait:not([hidden]){display:block;width:76px;height:96px;object-fit:contain;flex-shrink:0;background:#dfe6d414}}
#intro{position:fixed;inset:0;z-index:18;pointer-events:none;color:#f3f0e5;background:linear-gradient(180deg,rgba(2,20,15,.28),transparent 18%,transparent 72%,rgba(2,20,15,.2))}.intro-top{position:absolute;inset:max(24px,env(safe-area-inset-top)) 4% auto;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.intro-bug{margin:0;padding:12px 16px;border-left:3px solid #cab47a;background:#073f2bde;box-shadow:0 4px 24px #0002}.intro-bug span{display:block;font-size:8px;font-weight:800;letter-spacing:1.8px;color:#cab47a}.intro-bug strong{display:block;font:23px/1.3 Georgia,serif;margin-top:5px}.intro-actions{display:flex;gap:8px;pointer-events:auto}.intro-actions button{border:1px solid #f3f0e54d;background:#073f2be8;color:#f3f0e5;min-height:44px;padding:12px 16px;font-size:11px;font-weight:700;box-shadow:0 4px 24px #0002}.intro-actions #intro-skip{background:#f3f0e5;color:#073f2b;border-color:#f3f0e5}.intro-actions button:hover{filter:brightness(1.12)}.intro-actions button span{margin-left:12px}.intro-caption{position:absolute;left:4%;bottom:max(28px,env(safe-area-inset-bottom));max-width:min(540px,73vw);padding:15px 22px 17px;border-left:3px solid #cab47a;background:linear-gradient(90deg,#073f2bf2,#073f2bdc);box-shadow:0 5px 30px #0002}.intro-caption #intro-subtitle{margin:0 0 7px;font-size:9px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#d6c898}.intro-caption h2{font:31px/1.1 Georgia,serif;margin:0;letter-spacing:-.6px}.intro-caption #intro-copy{font-size:11px;line-height:1.65;margin:9px 0 0;color:#dee5d9}.intro-caption #intro-copy:empty{display:none}body.presenting #pause-camera{display:none}
@media(max-width:650px){.intro-top{inset:max(14px,env(safe-area-inset-top)) 4% auto;gap:10px}.intro-bug{padding:9px 11px}.intro-bug strong{font-size:18px}.intro-bug span{font-size:7px;letter-spacing:1px}.intro-actions{gap:5px}.intro-actions button{padding:10px;font-size:9px;min-height:42px}.intro-actions button span{margin-left:3px}.intro-caption{left:4%;right:4%;max-width:none;bottom:max(20px,env(safe-area-inset-bottom));padding:12px 15px}.intro-caption h2{font-size:25px}.intro-caption #intro-copy{font-size:10px}.intro-caption #intro-subtitle{font-size:8px}.intro-actions #intro-pause{font-size:0;min-width:36px}.intro-actions #intro-pause:after{content:'Ⅱ';font-size:16px}}
