:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#101d2d;--panel:#1b2d41;--lime:#b9f273;--text:#f4f3e9;--muted:#adbec9;--border:#ffffff16;--coral:#ff947d;--cyan:#6dd4d4;background:var(--ink);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}button:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}input:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}select:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}summary:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}button,select{min-height:44px}button{transition:background .15s,border-color .15s}img{max-width:100%}[hidden]{display:none!important}::-moz-selection{background:var(--lime);color:var(--ink)}::selection{background:var(--lime);color:var(--ink)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.game-shell .tempo button,.game-shell .card-heading button,.game-shell .field-caption select,.game-shell .match-top button,.game-nav .wordmark{min-height:44px}.quick-options{grid-template-columns:1.4fr 1fr;gap:12px;display:grid}.lobby .quick-options label{margin-top:14px}.scenario-brief{border:1px solid #b9f27325;border-left:3px solid var(--lime);background:#b9f27308;border-radius:12px;margin:-4px 0 23px;padding:15px 18px}.scenario-brief p{color:var(--text);margin:8px 0 0;font-size:13px;line-height:1.7}.coaching-note{border-left:2px solid var(--cyan);background:#6dd4d408;margin-bottom:15px;padding:5px 12px}.coaching-note span{letter-spacing:.12em;color:var(--cyan);font-size:8px}.coaching-note p{color:var(--muted);margin:6px 0;font-size:12px;line-height:1.7}.game-shell .tempo{flex-wrap:wrap}.game-shell .tempo>span{width:100%;margin-bottom:3px}.game-shell .tempo button{flex:1;padding:8px 6px}.game-shell .special-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.game-shell .play-preview{min-height:80px}@media (max-width:360px){.quick-options{grid-template-columns:1fr}.quick-options>div+div label{margin-top:8px}.scenario-brief{padding:12px}.scenario-brief p{font-size:12px}}button,select{border:1px solid var(--border);color:var(--text);background:#ffffff06;border-radius:9px;padding:10px 14px;font-size:12px}button:hover{background:#ffffff12}button.primary{background:var(--lime);color:var(--ink);border-color:var(--lime);font-weight:800}button.primary:hover{background:#d0ff99}.game-shell{max-width:1440px;margin:auto;padding:0 32px}.game-nav{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:80px;display:flex}.wordmark{letter-spacing:.07em;align-items:center;gap:12px;font-size:12px;font-weight:850;display:flex}.wordmark>span{background:var(--lime);color:var(--ink);letter-spacing:-2px;border-radius:9px;padding:9px 8px;font-size:18px}.game-nav>div{gap:8px;display:flex}.game-nav button{min-width:44px}.eyebrow{letter-spacing:.16em;color:var(--lime);font-size:10px;font-weight:750}.fine{color:var(--muted);font-size:11px;line-height:1.6}.notice{background:#403c24;border:1px solid #b9a75a;border-radius:10px;margin:12px 0;padding:13px 17px;font-size:13px}.lobby{border:1px solid var(--border);border-radius:24px;grid-template-columns:1.35fr 1fr;min-height:650px;margin:30px 0 45px;display:grid;overflow:hidden}.lobby-art{min-height:500px;position:relative;overflow:hidden}.lobby-art img{object-fit:cover;object-position:70%;width:100%;height:100%;position:absolute}.lobby-art:after{content:"";background:linear-gradient(#101d2d60,#0000 50%,#101d2d90);position:absolute;top:0;bottom:0;left:0;right:0}.lobby-art>div{z-index:1;padding:42px;position:relative}.lobby h1{letter-spacing:-.055em;margin:20px 0;font-size:max(45px,min(5vw,70px));line-height:1.05}.lobby em{color:var(--lime);font-style:normal}.lobby-panel{background:var(--panel);padding:42px}.lobby h2{letter-spacing:-.04em;margin:15px 0;font-size:31px}.lobby-panel>p{color:var(--muted);font-size:13px;line-height:1.7}.lobby label{color:var(--muted);margin:24px 0 8px;font-size:11px;display:block}.lobby select{background:#122235;width:100%}.lobby .mode{text-align:left;justify-content:space-between;align-items:center;width:100%;margin-top:12px;padding:17px;font-size:15px;font-weight:700;display:flex}.mode small{color:var(--muted);margin-top:6px;font-size:11px;font-weight:400;display:block}.mode.primary small{color:#30462a}#resume{border-color:var(--cyan);width:100%;color:var(--cyan);margin-top:12px}.match-top{justify-content:space-between;align-items:center;padding:18px 0;display:flex}.match-top button{min-height:32px;font-size:10px}.scoreboard{background:var(--panel);border:1px solid var(--border);border-radius:16px;grid-template-columns:1fr 180px 1fr;align-items:center;margin-bottom:22px;padding:20px 30px;display:grid}.scoreboard>div{justify-content:center;align-items:center;gap:17px;display:flex}.scoreboard>div>span{letter-spacing:.08em;font-size:13px;font-weight:800}.scoreboard small{color:var(--muted);letter-spacing:.12em;margin-top:5px;font-size:8px;font-weight:500;display:block}.scoreboard strong{font-size:40px;line-height:1.1}.team-dot{border-radius:4px;width:13px;height:13px;display:block}.mint{background:var(--lime)}.coral{background:var(--coral)}.scoreboard .clock-block{border-inline:1px solid var(--border);flex-direction:column;gap:5px;display:flex}#clock{letter-spacing:-.04em;font-family:ui-monospace,monospace;font-size:44px}#clock-mode{letter-spacing:.13em;color:var(--muted);font-size:8px}.match-grid{grid-template-columns:minmax(0,1fr) 368px;gap:24px;display:grid}.field-bar{justify-content:space-between;align-items:center;gap:8px;padding:5px 2px 15px;font-size:10px;display:flex}.field-bar strong{color:var(--lime);font-size:13px}.field-bar>span{color:var(--muted)}#scene{border:1px solid var(--border);background:radial-gradient(#1d504a,#142b3b);border-radius:18px;height:390px;position:relative;overflow:hidden}#scene canvas{width:100%;height:100%;display:block}.stadium-tag{letter-spacing:.13em;color:#d2eee3;pointer-events:none;font-size:8px;position:absolute;top:17px;left:18px}#skip{background:#102030d9;position:absolute;bottom:12px;right:12px}#event-overlay{border:1px solid var(--lime);color:var(--lime);text-align:center;pointer-events:none;background:#101d2de8;border-radius:12px;padding:15px 24px;font-size:20px;font-weight:850;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.field-caption{color:var(--muted);justify-content:space-between;align-items:center;gap:7px;padding:10px 2px;font-size:9px;display:flex}.field-caption>span{align-items:center;gap:7px;display:flex}.line-key{background:#edcb5d;width:15px;height:2px}.field-caption label{align-items:center;gap:5px;display:flex}.field-caption select{min-height:30px;padding:5px 6px;font-size:9px}.section-title{justify-content:space-between;align-items:center;display:flex}.section-title h2{letter-spacing:-.025em;margin:0;font-size:17px}.section-title>span{letter-spacing:.08em;color:var(--muted);font-size:8px}.drive-log{padding:25px 0}.drive-log>p{color:var(--text);font-size:13px;line-height:1.7}#timeline{max-height:300px;margin:0;padding:0;list-style:none;overflow-y:auto}#timeline li{border-bottom:1px solid var(--border);color:var(--muted);grid-template-columns:44px 1fr;gap:10px;padding:10px 0;font-size:11px;line-height:1.65;display:grid}#timeline time{color:var(--lime);font-family:monospace}#timeline strong{color:var(--text);font-weight:600}.playbook{background:var(--panel);border:1px solid var(--border);border-radius:18px;align-self:start;padding:22px}.defense-look{background:#101d2d88;border-radius:10px;margin:18px 0;padding:12px 14px}.defense-look>span{letter-spacing:.13em;color:var(--muted);font-size:8px;display:block}.defense-look strong{color:var(--cyan);margin-top:7px;font-size:14px;display:block}.defense-look small{color:var(--muted);margin-top:6px;font-size:9px;display:block}.card-heading{color:var(--muted);justify-content:space-between;align-items:center;gap:4px;margin-bottom:12px;font-size:9px;display:flex}.card-heading button{min-height:32px;color:var(--lime);background:0 0;border:0;padding:4px;font-size:10px}.play-cards{grid-template-columns:1fr 1fr;gap:9px;display:grid}.play-card{text-align:left;background:#142437;border:1px solid #ffffff15;min-height:125px;padding:12px 10px;position:relative}.play-card.selected{border-color:var(--lime);box-shadow:inset 0 0 0 1px var(--lime)}.play-card.selected:after{content:"✓";color:var(--lime);font-size:13px;position:absolute;top:8px;right:8px}.play-card svg{width:55px;height:32px;color:var(--lime);margin-bottom:8px;display:block}.play-card strong{font-size:11px;display:block}.play-card small{color:var(--muted);margin-top:6px;font-size:8px;line-height:1.6;display:block}.play-card .risk{color:var(--cyan);margin-top:7px;font-size:8px;display:block}.play-card .risk.high{color:var(--coral)}.tempo{align-items:center;gap:7px;margin-top:17px;display:flex}.tempo>span{margin-right:auto;font-size:10px}.tempo button{min-height:35px;padding:6px 11px;font-size:9px}.tempo button[aria-pressed=true]{color:var(--lime);background:#b9f2730c;border-color:#b9f27388}.special-actions{grid-template-columns:repeat(4,1fr);gap:5px;margin:14px 0;display:grid}.special-actions button{padding:8px 4px;font-size:9px}.play-preview{color:var(--muted);background:#101d2d70;border-radius:9px;min-height:65px;margin:12px 0;padding:12px;font-size:11px;line-height:1.65}.run{width:100%;padding:15px;font-size:13px}.playbook>.fine,#manual>.fine{text-align:center;font-size:9px}.game-footer{color:var(--muted);border-top:1px solid var(--border);justify-content:space-between;margin-top:20px;padding:25px 0;font-size:9px;display:flex}#auto,#result,#conversion,#game-error{padding:12px 0}#auto p,#result p,#conversion p,#game-error p{color:var(--muted);font-size:13px;line-height:1.8}#auto button,#result button,#conversion button,#game-error button{width:100%;margin-top:12px;display:block}.auto-icon{color:var(--lime);font-size:50px}#result-title{letter-spacing:-.05em;color:var(--lime);margin:20px 0;font-size:45px}dialog{background:var(--panel);color:var(--text);border:1px solid #ffffff28;border-radius:18px;width:calc(100% - 30px);max-width:530px;max-height:85dvh;padding:35px;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#07121dcc}dialog h2{letter-spacing:-.04em;font-size:27px}dialog p,dialog li,dialog details{color:var(--muted);font-size:14px;line-height:1.8}dialog li{margin:12px 0}dialog a{color:var(--lime);margin:18px 0;font-size:13px;display:block}dialog label{align-items:center;gap:14px;min-height:52px;font-size:14px;display:flex}dialog input{width:20px;height:20px;accent-color:var(--lime)}dialog .primary{width:100%;margin-top:20px}.close{border:0;font-size:22px;position:absolute;top:12px;right:12px}#clear-data{color:var(--coral);margin-top:18px}#field-fallback{text-align:center;color:var(--lime);padding:70px 25px;font-size:12px}.fallback-track{background:repeating-linear-gradient(90deg,#2c644a 0,#2c644a 9%,#fff4 9%,#fff4 10%);border:2px solid #fff8;height:90px;margin:30px 0;position:relative}.fallback-track i{color:var(--coral);font-style:normal;position:absolute;top:30px}#fallback-text{color:var(--text);font-size:13px}@media (max-width:1000px){.game-shell{padding:0 20px}.match-grid{grid-template-columns:minmax(0,1fr) 330px;gap:16px}.playbook{padding:17px}.scoreboard{padding:18px}#scene{height:340px}.lobby-panel,.lobby-art>div{padding:30px}}@media (max-width:800px){.game-shell{padding:0 14px}.game-nav{min-height:66px}.wordmark{gap:8px;font-size:10px}.game-nav button{padding:6px}.lobby{grid-template-columns:1fr;margin-top:18px}.lobby-art{min-height:310px}.lobby-art img{object-position:center 63%}.lobby-art>div{padding:25px}.lobby h1{font-size:48px}.lobby-panel{padding:25px}.match-grid{grid-template-columns:1fr;gap:5px}.scoreboard{grid-template-columns:1fr 100px 1fr;margin-bottom:18px;padding:18px 9px}.scoreboard>div{gap:8px}.scoreboard>div>span{font-size:10px}.scoreboard strong{font-size:29px}.scoreboard small{font-size:6px}#clock{font-size:36px}#clock-mode{font-size:6px}.team-dot{width:8px;height:8px}.field-bar{flex-wrap:wrap;font-size:8px}#scene{height:285px}.field-caption{font-size:8px}.drive-log{padding:15px 0}#timeline{max-height:180px}.playbook{padding:20px}.play-card{min-height:125px}.play-card strong{font-size:13px}.play-card small,.play-card .risk{font-size:10px}.special-actions button{font-size:11px}.tempo button{min-height:44px;font-size:11px}.card-heading{font-size:10px}.card-heading button{min-height:44px}.game-footer{gap:12px;font-size:8px}.stadium-tag{font-size:7px}.match-top{padding:12px 0}#event-overlay{font-size:16px}.scoreboard>div{min-width:0}.play-cards{gap:10px}.play-card svg{height:36px}.game-footer>span{text-align:right;max-width:110px}}button{overflow-wrap:anywhere}.playbook,.field-column,.lobby-panel{min-width:0}.game-shell select{max-width:100%}.special-actions button{min-height:44px;padding:10px 5px}html[lang=zh-Hans] .eyebrow{letter-spacing:.05em}html:not([lang=en]) .scoreboard small{letter-spacing:0}@media (max-width:600px){.game-shell{padding:0 12px}.game-nav .wordmark{font-size:10px}.play-card strong{overflow-wrap:anywhere}.quick-options{grid-template-columns:1fr}}dialog:not([open]){display:none}dialog[open]{max-height:85vh;overflow:auto}body[data-fallback-dialog] .game-shell{pointer-events:none}body[data-fallback-dialog] dialog[open]{z-index:1000;margin:auto;position:fixed;top:5vh;bottom:auto;left:12px;right:12px;box-shadow:0 0 0 100vmax #000b}#call-feedback{font-size:12px;line-height:1.6}button,a{touch-action:manipulation}.game-shell select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f3f6f8;background-color:#122235}.game-shell select option,.game-shell select optgroup{color:#f3f6f8;background-color:#122235}.game-shell select option:disabled{color:#adbccc}#choose-play{display:none}.field-feedback{margin:6px 0;font-size:12px;line-height:1.5}.drive-log summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:14px;font-weight:700}#play-dialog{padding:20px 16px}#play-dialog h2{margin:8px 36px 16px 0;font-size:20px}@media (max-width:800px){body.in-match{height:100vh;height:100dvh;overflow:hidden}body.in-match .game-shell{flex-direction:column;height:100%;padding:0 10px;display:flex}body.in-match .game-nav{flex:none;min-height:44px}.in-match .game-nav .wordmark>span{padding:4px;font-size:14px}.in-match .game-nav button{padding:4px 10px}body.in-match main{flex:1;min-height:0}body.in-match #match:not([hidden]){flex-direction:column;height:100%;display:flex}.in-match .game-footer,.in-match .match-top .eyebrow,.in-match .scenario-brief,.in-match .playbook>.section-title,.in-match .playbook>#play-options{display:none}.in-match .match-top{z-index:2;padding:0;position:absolute;top:0;left:46%}.in-match .match-top button{padding:5px;font-size:9px}.in-match .scoreboard{border-radius:10px;flex:none;grid-template-columns:1fr 94px 1fr;margin:3px 0 5px;padding:7px 4px}.in-match .scoreboard strong{font-size:24px}.in-match #clock{font-size:29px}.in-match .scoreboard small{display:none}.in-match .scoreboard>div{gap:5px}.in-match .match-grid{flex-direction:column;flex:1;gap:5px;min-height:0;display:flex}.in-match .field-column{flex-direction:column;flex:1;min-height:0;display:flex}.in-match .field-bar{flex-wrap:nowrap;padding:3px 0 6px;font-size:9px}.in-match .field-bar strong{font-size:11px}.in-match #scene{border-radius:12px;flex:1;height:auto;min-height:70px}.in-match .field-caption{flex:none;padding:0;font-size:8px}.in-match .field-caption>span:first-child{display:none}.in-match .field-caption select{min-height:44px}.in-match .stadium-tag{top:8px;left:8px}.in-match #event-overlay{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:90%;padding:10px;font-size:12px}.in-match .field-feedback{flex:none;max-height:55px;margin:2px 0;font-size:11px;line-height:1.5;overflow:auto}.in-match .drive-log{flex:none;padding:0}.in-match .drive-log summary{padding:10px 0;font-size:11px}.in-match .drive-log[open]{max-height:35vh;overflow:auto}.in-match .playbook{margin-bottom:env(safe-area-inset-bottom,0px);border-radius:12px;flex:none;padding:8px}.in-match #manual:not([hidden]){grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:stretch;gap:6px;display:grid}.in-match #choose-play{min-height:48px;color:var(--lime);grid-area:2/1;display:block}.in-match #run{grid-area:2/2;min-height:48px;padding:9px;font-size:12px}.in-match #preview{grid-area:1/1/auto/-1;min-height:0;max-height:68px;margin:0;padding:5px 8px;font-size:10px;line-height:1.5;overflow:auto}.in-match #call-feedback,.in-match #manual>.fine{display:none}.in-match #conversion,.in-match #auto,.in-match #result,.in-match #game-error{max-height:43dvh;padding:2px 5px;overflow:auto}.in-match #result-title{margin:6px 0;font-size:28px}.in-match .auto-icon{display:none}.in-match .playbook h3{margin:5px 0}.in-match .playbook p{margin:5px 0;font-size:11px;line-height:1.5}.in-match #result button,.in-match #auto button,.in-match #conversion button{margin-top:5px}#play-dialog[open]{width:100%;max-width:none;max-height:85vh;max-height:85dvh;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;margin:0;position:fixed;top:auto;bottom:0;left:0;right:0}#play-dialog .defense-look{margin:6px 0 12px}#play-dialog .play-card{min-height:104px}#play-dialog .play-card svg{height:24px;margin-bottom:4px}#play-dialog .special-actions{grid-template-columns:repeat(3,minmax(0,1fr))}#play-dialog .tempo button{min-height:44px}#play-dialog .tempo{flex-wrap:wrap}#play-dialog .tempo>span{width:100%}#play-dialog .tempo button{flex:1}#play-dialog .play-cards{gap:7px}#play-dialog .play-card strong{font-size:12px}#play-dialog .play-card small,#play-dialog .play-card .risk{font-size:9px}.in-match #notice:not([hidden]){z-index:5;pointer-events:none;max-height:60px;padding:5px 8px;font-size:10px;position:absolute;top:45px;left:10px;right:10px;overflow:auto}#field-fallback{padding:8px 15px}.fallback-track{height:45px;margin:8px 0}.fallback-track i{top:8px}#fallback-text{font-size:11px}}@media (max-width:800px) and (max-height:500px){.in-match .scoreboard{padding:2px}.in-match .scoreboard strong,.in-match #clock{font-size:20px}.in-match .field-caption,.in-match .drive-log{display:none}.in-match .field-feedback,.in-match #preview{max-height:34px}.in-match #result,.in-match #auto,.in-match #conversion{max-height:48dvh}}@media (max-width:800px){.in-match .playbook{width:100%}.in-match .game-nav .wordmark{gap:5px;max-width:42%;font-size:8px}.in-match .game-nav .wordmark>span{flex:none}}#mobile-mode{display:none}@media (max-width:800px){.in-match #mobile-mode{display:block}.in-match #possession{display:none}}
