:root{--bg:#37383d;--panel:#292a2d;--ink:#fafafa;--muted:#b9b9bd;--line:#56575d;--coral:#ff675f}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,sans-serif}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:15px;z-index:200;background:var(--coral);padding:12px}:focus-visible{outline:3px solid #ffb7ad;outline-offset:4px}.site-header{display:flex;justify-content:space-between;align-items:center;padding:24px 5vw;border-bottom:1px solid var(--line);gap:20px}.logo{text-decoration:none;font-size:25px;font-weight:950;letter-spacing:-1.3px}.site-header nav{display:flex;gap:24px;align-items:center}.site-header nav a{text-decoration:none;font-size:13px}.basketball-main{max-width:1200px;margin:auto;padding:32px 5vw 75px}.eyebrow{font-size:10px;font-weight:850;letter-spacing:2px;color:var(--coral);margin:0 0 10px}.practice-note{border-left:3px solid var(--coral);padding:8px 14px;color:#ddd;font-size:12px;margin:0 0 28px}.game-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}.game-intro h1{font-family:Impact,'Arial Narrow',sans-serif;font-stretch:condensed;text-transform:uppercase;font-size:clamp(54px,7vw,86px);line-height:1;letter-spacing:-1px;margin:5px 0 16px;font-weight:900}.game-intro .lede{max-width:540px;color:#dedee0;font-size:16px}.intro-summary{background:var(--panel);padding:24px;border:1px solid var(--line);border-radius:24px}.intro-summary h2{font-size:18px;margin:0 0 13px}.intro-summary p{font-size:13px;color:var(--muted);margin:12px 0}.primary,.secondary{border:1px solid transparent;border-radius:999px;padding:14px 24px;font-size:13px;font-weight:850;min-height:48px}.primary{background:var(--coral);color:#171719}.primary:hover:not(:disabled){background:#ff8a80}.secondary{background:transparent;border-color:#77787e;color:var(--ink)}.secondary:hover:not(:disabled){background:#414247}.text-button{border:0;background:transparent;color:var(--muted);padding:10px 0;text-decoration:underline;font-size:12px}.rules{margin:24px 0;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:17px 22px}.rules summary{cursor:pointer;font-weight:750;font-size:13px}.rules p{font-size:13px;color:#d3d3d6;line-height:1.8}.start-row{display:flex;align-items:center;gap:20px;margin-top:22px}.start-row small{color:var(--muted);font-size:11px}.round-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:30px 0 20px}.round-head h2{font-size:28px;margin:0;letter-spacing:-1px}.phase{font-size:10px;letter-spacing:1px;border:1px solid var(--line);border-radius:999px;padding:7px 12px;color:#efddd8}.round-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;list-style:none;padding:0;margin:0 0 22px}.round-progress li{border-top:3px solid #5b5c62;padding:10px 0;font-size:12px;color:var(--muted)}.round-progress li.active{border-color:var(--coral);color:var(--ink)}.round-progress li.done{border-color:#d1aaa4}.round-progress small{display:block;font-size:9px;margin-top:3px}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:25px}.panel h3{font-size:20px;letter-spacing:-.5px;margin:0 0 8px}.muted{color:var(--muted);font-size:12px;line-height:1.7}.player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:20px 0}.player-option{display:flex;align-items:center;gap:9px;min-height:65px;padding:11px;border:1px solid #55565c;border-radius:12px;background:#333438;cursor:pointer;font-size:12px;font-weight:700}.player-option:has(input:checked){border-color:var(--coral);background:#493735}.player-option input{accent-color:var(--coral);width:17px;height:17px;flex-shrink:0}.player-option small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}.player-option.unavailable{opacity:.45;cursor:not-allowed}.field-label{display:block;font-weight:700;font-size:12px;margin:18px 0 8px}select{display:block;width:100%;padding:13px;color:var(--ink);background:#37383d;border:1px solid #73747c;border-radius:10px}.selection-summary{font-size:12px;color:#e0d5d3;line-height:1.7;margin:20px 0 12px}.save-button{width:100%}.standing-list{padding:0;list-style:none;margin:20px 0 0}.standing-list li{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:15px 0}.standing-list .rank{font-size:11px;color:var(--muted);width:16px}.standing-list .name{flex:1;font-size:13px;font-weight:750}.standing-list small{display:block;font-size:9px;color:var(--muted);font-weight:400;margin-top:3px}.standing-list strong{font-size:30px;line-height:1;font-variant-numeric:tabular-nums}.standing-list .you strong{color:var(--coral)}.demo{margin-top:20px}.demo .secondary{width:100%;margin-top:10px}.history{margin-top:24px}.history-row{padding:14px 0;border-top:1px solid var(--line);font-size:12px}.history-row b{display:block;margin-bottom:5px}.history-row p{margin:4px 0;font-size:11px;color:var(--muted)}.result-row{display:flex;justify-content:space-between;gap:15px}.result-row strong{color:#ffc0b9}.message{font-size:13px;line-height:1.7;color:#ffd5cf}.message:empty{display:none}.message.error{border-left:3px solid #ff9c92;padding:10px 14px;background:#492e30}.completion{padding:24px;border:1px solid var(--coral);border-radius:22px;margin-bottom:22px;background:#3b3030}.completion h3{font-size:25px;margin:0 0 10px}.completion p{font-size:13px;color:#ddd}.local-footer{padding:22px 5vw;color:var(--muted);font-size:11px;border-top:1px solid var(--line)}
@media(max-width:850px){.game-intro{gap:24px}.play-layout{grid-template-columns:minmax(0,1fr) 240px}.panel{padding:20px}.player-grid{grid-template-columns:1fr}}
@media(max-width:650px){.basketball-main{padding:24px 18px 95px}.site-header{padding:18px}.site-header nav{gap:15px}.site-header nav a{font-size:11px}.game-intro,.play-layout{grid-template-columns:1fr}.game-intro{gap:15px}.game-intro h1{font-size:62px}.intro-summary{padding:20px}.player-grid{grid-template-columns:1fr 1fr}.player-option{font-size:11px;min-height:76px}.round-head h2{font-size:23px}.start-row{align-items:flex-start;flex-direction:column;gap:10px}.start-row .primary{width:100%}.local-footer{padding-bottom:90px}.panel{border-radius:22px}.round-head{align-items:flex-start}.phase{font-size:9px;white-space:nowrap}.rules{padding:16px 18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
