:root{color-scheme:dark;--gold:#e9c879;--cream:#fff1d1;--line:#be9a574d;--green:#163c2c;font-family:Arial,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--cream);height:100vh;height:100dvh;overflow:hidden;background:linear-gradient(90deg,#060d0bec,#0b1616d9,#060d0bf2),url('../play/art/stadium-v2.webp') center/cover}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit;background:#17241c;border:1px solid #ac8b4e;border-radius:7px;padding:10px 13px;cursor:pointer}button:disabled{opacity:.43;cursor:default}button:not(:disabled):hover{filter:brightness(1.18)}a{color:var(--gold);text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #fff1ad;outline-offset:2px}.gold{background:linear-gradient(135deg,#f3dfa6,#bd8f41);color:#1b2417;font-weight:800}button[hidden],div[hidden],label[hidden]{display:none!important}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;border-bottom:1px solid var(--line);background:#0a100ee8}.topbar>a{font-size:13px}.brand{display:flex;align-items:center;gap:13px}.brand>b{font:32px Georgia;border-right:1px solid var(--line);padding-right:13px;color:var(--gold)}.brand span{font-size:13px;letter-spacing:3px}.brand strong{color:var(--gold)}.top-actions{display:flex;gap:8px}.top-actions button{font-size:12px;min-height:38px}.top-actions button:last-child{width:38px;padding:8px}.match-layout{height:calc(100% - 64px);display:grid;grid-template-columns:minmax(170px,235px) minmax(0,1fr) minmax(250px,320px);max-width:1450px;margin:auto;gap:22px;padding:18px 24px;min-height:0}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--gold)}.coach-panel{min-height:0;display:flex;flex-direction:column;padding-top:20px}.coach-panel h1{font:clamp(28px,3vw,48px)/1.05 Georgia;margin:15px 0;color:#f2d799}.intro{font-size:13px;color:#c0cdbd;line-height:1.7;margin:0}.helmet-art{flex:1;min-height:80px;max-height:300px;background:url('../play/art/shooters-v3.webp') 50% 0/300% 200% no-repeat;filter:drop-shadow(0 12px 18px #0009);width:100%}.coach-note{padding:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.coach-note p{font-size:12px;line-height:1.7;color:#d4d7bd;margin:8px 0}.record{display:flex;flex-direction:column;gap:7px;padding:16px 0}.record span{font-size:8px;letter-spacing:1.6px;color:#b9b99c}.record strong{font-size:14px;color:var(--gold)}.fine{font-size:10px;line-height:1.6;color:#939f91;margin:0}.arena{min-height:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#091710;box-shadow:0 20px 50px #0007}.scoreboard{flex:none;display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:12px 8px 9px;background:linear-gradient(90deg,#163b2a,#121d18,#3d2027);border-bottom:1px solid var(--line);text-align:center}.team,.time{display:flex;flex-direction:column;gap:3px}.team span,.time span{font-size:8px;letter-spacing:.7px}.team strong{font:26px Georgia}.team.home strong{color:var(--gold)}.team.away strong{color:#efa0a3}.time strong{font:26px/1.05 Arial;font-variant-numeric:tabular-nums}.scoreboard small{font-size:8px;color:#c8cfb8}.time span{color:var(--gold)}.field-wrap{min-height:0;flex:1;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#143423,#060e0b)}#field{display:block;touch-action:none;cursor:crosshair;max-width:100%;max-height:100%;outline-offset:-3px}.match-message{flex:none;margin:0;min-height:37px;display:flex;align-items:center;justify-content:center;text-align:center;padding:6px 12px;background:#101a14;color:#eddbad;border-top:1px solid var(--line);font-size:11px;line-height:1.35}.playbook{display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:0}.playbook-heading{display:flex;align-items:center;justify-content:space-between;gap:4px}.playbook-heading>span:last-child{font-size:9px;color:#c6c9ac}.energy>div:first-child{display:flex;align-items:baseline;gap:9px}.energy span{font-size:10px;letter-spacing:1px;color:#bfd3b9}.energy strong{font-size:22px;color:var(--gold);font-variant-numeric:tabular-nums}.energy strong small{font-size:12px;color:#95a18b}.energy #energyRate{margin-left:auto;font-size:9px;letter-spacing:0}.energy-track{height:12px;margin-top:7px;border:1px solid #c0a05c77;border-radius:3px;overflow:hidden;background:#101b15}.energy-track i{display:block;width:60%;height:100%;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 2px),#1118 calc(10% - 2px) 10%),linear-gradient(90deg,#9c7335,#f3d38b)}.hand{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.play-card{position:relative;min-width:0;height:156px;padding:0;overflow:hidden;text-align:left;border:1px solid #bd995f7a;background:linear-gradient(155deg,#2c4633,#10251b);border-radius:11px;box-shadow:0 8px 15px #0004}.play-card.selected{border:2px solid #fff0ad;box-shadow:0 0 0 2px #e6c36c44,0 5px 25px #ba933c33}.play-card.waiting{filter:saturate(.45);opacity:.65}.play-card .cost{position:absolute;z-index:3;top:7px;left:7px;border-radius:50%;width:28px;height:28px;background:#eacb83;border:2px solid #fff1be;color:#1d281c;text-align:center;line-height:24px;font-size:15px;font-weight:bold;box-shadow:0 3px 8px #0005}.play-card .shortcut{position:absolute;right:8px;top:8px;font-size:9px;color:#e6dfba;z-index:2}.card-art{position:absolute;inset:0 0 33px;background:url('../play/art/athletes-v2.webp') 25% 0/500% 200% no-repeat;opacity:.95}.play-card[data-card=quarterback] .card-art{background-image:url('../play/art/shooters-v3.webp');background-position:50% 0;background-size:300% 200%}.play-card[data-card=guards] .card-art,.play-card[data-card=linebacker] .card-art{filter:contrast(1.1)}.play-card[data-card=blitz] .card-art{filter:hue-rotate(22deg)}.play-card[data-spell=true] .card-art{background:radial-gradient(ellipse at center,#eaca7644,transparent 60%);display:flex;align-items:center;justify-content:center;color:#ecd18c;font:60px Georgia}.card-label{position:absolute;bottom:0;left:0;right:0;padding:8px 7px;background:linear-gradient(0deg,#09160ff5,#0b1a12ec);border-top:1px solid var(--line)}.card-label strong{display:block;font-size:12px}.card-label small{display:block;font-size:9px;color:#c2ccb7;margin-top:4px}.selected-info{min-height:67px;border-left:2px solid var(--gold);padding:1px 11px;display:flex;flex-direction:column;gap:6px}.selected-info strong{font:20px Georgia;color:var(--gold)}.selected-info span{font-size:11px;line-height:1.6;color:#c6d0bd}.lane-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lane-actions button{font-size:12px;min-height:46px;background:linear-gradient(#234532,#132c20);border-color:#bb9d5a}.keyboard-hint{text-align:center;font-size:9px;color:#9ba88f;margin:0}.overlay{position:absolute;inset:0;background:#06110bd6;display:flex;align-items:center;justify-content:center;padding:15px;backdrop-filter:blur(3px)}.overlay-card{background:linear-gradient(145deg,#263728,#0c1911);border:1px solid #a4884d;box-shadow:0 12px 60px #0008;border-radius:14px;padding:30px 25px;max-width:370px;text-align:center;max-height:100%;overflow:auto}.overlay-card h2{font:38px/1 Georgia;color:#f1d48f;margin:16px 0}.overlay-card p{font-size:13px;line-height:1.7;color:#d3d7c2}.overlay-card label{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#c6cdb8;margin:15px 0}.overlay-card select{width:100%;font-size:12px}.overlay-card button{display:block;width:100%;margin:10px 0;min-height:44px;font-size:12px}.overlay-card>a{font-size:10px;display:block;margin-top:13px}dialog{border:1px solid #ba9857;background:#14251b;color:#eee5cb;border-radius:14px;max-width:580px;width:92vw;max-height:88dvh;padding:25px}dialog::backdrop{background:#000b}dialog h2{font:34px Georgia;color:var(--gold);margin:12px 0}dialog p,dialog li{font-size:13px;line-height:1.65}dialog li{margin-bottom:10px}dialog ol{padding-left:21px}dialog button{width:100%}
@media(max-width:1050px){.coach-panel{display:none}.match-layout{grid-template-columns:minmax(0,1fr) 285px;gap:15px;max-width:950px}.play-card{height:145px}}
@media(max-width:650px){.topbar{height:48px;padding:0 10px}.topbar>a{font-size:11px}.brand{gap:6px}.brand>b{font-size:24px;padding-right:6px}.brand span{font-size:9px;letter-spacing:1px}.top-actions{gap:5px}.top-actions button{font-size:10px;padding:5px 9px;min-height:33px}.top-actions button:last-child{width:30px}.match-layout{height:calc(100% - 48px);padding:5px 7px max(6px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px}.arena{flex:1;min-height:0;border-radius:9px}.scoreboard{padding:6px;gap:4px}.team span,.time span{font-size:7px;letter-spacing:.4px}.team strong,.time strong{font-size:21px}.scoreboard small{font-size:7px}.match-message{font-size:10px;min-height:31px;padding:4px 7px}.playbook{flex:none;gap:5px}.playbook-heading{display:none}.energy>div:first-child{gap:8px}.energy span{font-size:8px}.energy strong{font-size:16px}.energy strong small{font-size:10px}.energy-track{height:7px;margin-top:4px}.energy #energyRate{font-size:8px}.hand{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.play-card{height:94px;border-radius:7px}.play-card .cost{width:22px;height:22px;line-height:18px;font-size:12px;left:4px;top:4px}.play-card .shortcut{display:none}.card-art{bottom:22px}.card-label{padding:5px 3px;min-height:25px}.card-label strong{font-size:10px;line-height:1.1}.card-label small{display:none}.play-card[data-spell=true] .card-art{font-size:38px}.selected-info{min-height:29px;padding:0 6px;gap:2px}.selected-info strong{font:12px Arial}.selected-info span{font-size:9px;line-height:1.15}.lane-actions{gap:6px}.lane-actions button{min-height:35px;padding:6px;font-size:11px}.keyboard-hint{display:none}.overlay-card{padding:18px 20px}.overlay-card h2{font-size:30px;margin:10px 0}.overlay-card p{font-size:12px;margin:9px 0}.overlay-card .eyebrow{font-size:8px;letter-spacing:1px}}
@media(max-height:620px) and (min-width:651px){.topbar{height:44px}.match-layout{height:calc(100% - 44px);padding:6px 12px;grid-template-columns:minmax(0,1fr) 275px;gap:10px;max-width:1000px}.coach-panel{display:none}.playbook{gap:5px}.playbook-heading{font-size:8px}.hand{gap:6px}.play-card{height:91px}.card-label{padding:5px}.card-label small{display:none}.card-label strong{font-size:11px}.card-art{bottom:18px}.play-card .cost{width:22px;height:22px;line-height:18px;font-size:12px}.energy strong{font-size:16px}.energy-track{height:7px;margin-top:3px}.selected-info{min-height:34px;gap:2px}.selected-info strong{font-size:14px}.selected-info span{font-size:9px;line-height:1.2}.lane-actions button{min-height:32px;padding:6px;font-size:11px}.keyboard-hint{display:none}.scoreboard{padding:5px}.team strong,.time strong{font-size:20px}.team span,.time span,.scoreboard small{font-size:7px}.match-message{min-height:27px;font-size:9px}.overlay-card{padding:14px;max-width:340px}.overlay-card h2{font-size:26px;margin:8px 0}.overlay-card p{font-size:11px;line-height:1.4}.overlay-card label{margin:8px 0}.overlay-card select{padding:6px}.overlay-card button{min-height:34px;padding:7px}.overlay-card>a{margin-top:5px}}
@media(max-height:700px) and (max-width:650px){.hand .play-card{height:77px}.selected-info{min-height:27px}.selected-info span{font-size:8px}.lane-actions button{min-height:31px}.overlay-card{padding:12px 15px}.overlay-card h2{font-size:26px}.overlay-card p{font-size:11px;line-height:1.4}.overlay-card label{margin:6px 0}.overlay-card select{padding:5px}.overlay-card button{min-height:34px;padding:7px}.overlay-card>a{margin-top:5px}}
/* Keep the next card visible in the compact playbook, too. */
@media(max-width:650px){.playbook-heading{display:flex}.playbook-heading .eyebrow{font-size:7px;letter-spacing:1px}.playbook-heading>span:last-child{font-size:8px}.lane-actions button{min-height:39px}.selected-info span{font-size:9px}.scoreboard small{font-size:8px}}
@media(max-height:400px) and (min-width:651px){.play-card{height:84px}.lane-actions button{min-height:36px}.playbook-heading .eyebrow{font-size:8px}}
