:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f4f0de;--chalk:#f4f0de;--field:#193f2a;--field-dark:#10291d;--endzone:#242424;--gold:#d5a63a;--red:#c44b3f;--blue:#3c78a8;--ink:#07110d;background:#07110d;font-family:Aptos,Segoe UI,sans-serif}*{box-sizing:border-box}:focus-visible{outline-offset:3px;outline:3px solid #fff}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--chalk);color:var(--ink);border-radius:6px;padding:10px 14px;font-weight:800;position:fixed;top:10px;left:10px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}body{background:linear-gradient(135deg,#d5a63a1f,#0000 35%),radial-gradient(circle at 85% 10%,#3c78a82e,#0000 28%),#07110d;min-width:0;max-width:100%;min-height:100vh;margin:0}button{font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:#d5a63a4d}.app-shell{width:100%;max-width:1800px;min-height:100svh;padding:max(12px,min(1.5vw,24px));padding-left:max(clamp(12px, 1.5vw, 24px), env(safe-area-inset-left));padding-right:max(clamp(12px, 1.5vw, 24px), env(safe-area-inset-right));align-content:start;gap:max(12px,min(1.5vw,24px));margin-inline-start:auto;margin-inline-end:auto;display:grid}.score-strip{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(150px,1.6fr) minmax(100px,1.2fr);align-items:stretch;gap:10px;display:grid}.kicker,.score-card span,.down-card span,.panel h2,.field-meta{color:#f4f0dea8;letter-spacing:.08em;text-transform:uppercase;font-size:.73rem;font-weight:800}.chessball-wordmark{max-width:calc(100% - 12px);color:var(--gold);letter-spacing:.045em;text-transform:uppercase;text-shadow:-1px -1px #f4f0de7a,2px 2px #07110d,4px 4px #0000006b;transform-origin:0;margin:3px 12px 0 0;font-family:Impact,Haettenschweiler,Arial Narrow Bold,Arial Narrow,sans-serif;font-size:max(2.15rem,min(3.5vw,3.15rem));font-weight:900;font-stretch:75%;line-height:.78;display:inline-block;position:relative;transform:skew(-7deg)}.chessball-wordmark:after{content:"";background:linear-gradient(90deg, var(--gold) 0 70%, #f4f0deb8 70% 84%, transparent 84%);pointer-events:none;border-radius:999px;width:max(3rem,min(42%,4.75rem));height:3px;position:absolute;bottom:-.3rem;left:.08em;box-shadow:1.15rem .3rem 0 -1px #f4f0de6b}.chessball-wordmark:focus-visible{outline:3px solid var(--chalk);outline-offset:5px}.score-card,.down-card,.panel{background:#09120ed1;border:1px solid #f4f0de24;border-radius:8px;box-shadow:0 18px 60px #00000042}.score-card,.down-card{align-content:center;min-width:0;padding:12px;display:grid;overflow:hidden}.score-card strong,.down-card strong{overflow-wrap:anywhere;min-width:0;font-size:max(1.45rem,min(2vw,2rem));line-height:1}.down-card strong.compact-status{white-space:nowrap;font-size:max(1.08rem,min(1.35vw,1.34rem));line-height:1.05}.phase-card strong{font-size:max(1.05rem,min(1.45vw,1.35rem));line-height:1.08}.progress-card{gap:4px}.progress-card strong{font-size:max(1rem,min(1.35vw,1.24rem));line-height:1.05}.progress-card small{color:#f4f0dead;overflow-wrap:anywhere;font-size:.7rem;font-weight:800;line-height:1.15}.score-card.active{border-color:#d5a63ab3}.workspace{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.control-rail{flex-direction:column;grid-area:auto/1;gap:12px;min-width:0;display:flex}.panel{padding:14px}.panel h2{margin:0 0 12px}.button-grid,.segmented-control,.history-controls,.utility-actions{gap:8px;display:grid}.button-grid,.utility-actions,.history-controls{grid-template-columns:1fr 1fr}.history-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.history-read-only{color:#f9e7b6;margin:0 0 10px;font-weight:800}.button-grid button,.segmented-control button,.history-controls button,.utility-actions button{min-height:38px;color:var(--chalk);cursor:pointer;background:#12251b;border:1px solid #f4f0de33;border-radius:6px;justify-content:center;align-items:center;gap:7px;display:inline-flex}.button-grid button:disabled,.segmented-control button:disabled,.history-controls button:disabled,.confirm-button:disabled,.utility-actions button:disabled{cursor:not-allowed;opacity:.38}.button-grid button:not(:disabled):hover,.segmented-control button:not(:disabled):hover,.history-controls button:not(:disabled):hover,.utility-actions button:not(:disabled):hover{border-color:var(--gold);background:#1d3627}.button-grid button.warning-button,.utility-actions button.warning-button{color:#f9e7b6;background:#352a13;border-color:#d5a63ac7}.formation-panel{gap:12px;display:grid}.formation-picker{gap:7px;display:grid}.formation-heading{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.formation-heading label{color:#f4f0dea3;text-transform:uppercase;font-size:.72rem;font-weight:800}.formation-picker select{color:#f9e7b6;width:100%;min-width:0;min-height:44px;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:#d5a63a4d;background:#102219;border:1px solid #d5a63aa3;border-radius:6px;padding:0 38px 0 11px;font-size:.84rem;font-weight:800}.formation-picker select:hover:not(:disabled){border-color:var(--gold);background:#183023}.formation-picker select:disabled{cursor:not-allowed;opacity:.42}.formation-status{color:#f4f0de7a;margin-left:6px;font-size:.65rem;font-style:normal}.formation-status.confirmed{color:#7fd08a}.formation-status.pending{color:#d5a63a}.confirm-button{cursor:pointer;color:#d7f3d8;text-transform:uppercase;background:#13281b;border:1px solid #7fd08a61;border-radius:6px;min-height:32px;font-size:.75rem;font-weight:900}.player-panel,.history-panel{gap:12px;display:grid}.player-toggle{gap:7px;display:grid}.player-toggle>span{color:#f4f0dea3;text-transform:uppercase;font-size:.72rem;font-weight:800}.segmented-control{grid-template-columns:1fr 1fr}.segmented-control button,.history-controls button{min-height:32px;padding:0 8px;font-size:.76rem}.segmented-control button.active{color:#f9e7b6;background:#2b361d;border-color:#d5a63ae0}.panel-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.panel-heading h2{margin:0}.panel-heading span{color:#f9e7b6;text-transform:uppercase;border:1px solid #d5a63a6b;border-radius:999px;padding:3px 6px;font-size:.64rem;font-weight:900}.history-index{color:#f4f0debd;margin:0;font-size:.78rem;line-height:1.35}.event-log{gap:6px;max-height:210px;padding-right:4px;display:grid;overflow:auto}.event-log p{color:#f4f0dec7;background:#f4f0de0f;border-left:3px solid #d5a63a9e;margin:0;padding:7px 8px;font-size:.76rem;line-height:1.35}.dice-panel{background:#09120ed1;border:1px solid #f4f0de24;border-radius:8px;flex:none;justify-content:space-between;align-items:center;gap:12px;margin-bottom:0;padding:7px 10px;display:flex;box-shadow:0 10px 28px #0000002e}.dice-panel .panel-heading{justify-content:flex-start;min-width:112px}.dice-tray{align-items:center;gap:8px;display:flex}.die{background:#f4f0de;border:2px solid #07110d9e;border-radius:7px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:38px;height:38px;padding:5px;display:grid;box-shadow:inset 0 -5px #07110d24,0 10px 24px #0000004d}.die.empty{box-shadow:none;background:#f4f0de1a;border-style:dashed}.pip{background:0 0;border-radius:50%;place-self:center;width:5px;height:5px}.die-1 .pip:nth-child(5),.die-2 .pip:first-child,.die-2 .pip:nth-child(9),.die-3 .pip:first-child,.die-3 .pip:nth-child(5),.die-3 .pip:nth-child(9),.die-4 .pip:first-child,.die-4 .pip:nth-child(3),.die-4 .pip:nth-child(7),.die-4 .pip:nth-child(9),.die-5 .pip:first-child,.die-5 .pip:nth-child(3),.die-5 .pip:nth-child(5),.die-5 .pip:nth-child(7),.die-5 .pip:nth-child(9),.die-6 .pip:first-child,.die-6 .pip:nth-child(3),.die-6 .pip:nth-child(4),.die-6 .pip:nth-child(6),.die-6 .pip:nth-child(7),.die-6 .pip:nth-child(9){background:#07110d}.quiet,.hint{color:#f4f0deb3;margin:0;line-height:1.5}.hint{margin-top:10px;font-size:.78rem}.piece-card{color:#fff;border-radius:8px;gap:2px;margin-bottom:12px;padding:12px;display:grid}.piece-card.home{background:linear-gradient(135deg,#1d4f78,#183249)}.piece-card.away{background:linear-gradient(135deg,#87392f,#4d211d)}.piece-card span,.piece-card small{opacity:.76;text-transform:uppercase}.selection-summary{gap:8px;margin-top:4px;display:grid}.command-panel{gap:12px;display:grid}.field-wrap{grid-area:1/1;min-width:0;max-width:100%}.field-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px;display:flex}.start-game-button{border:1px solid var(--gold);color:#f9e7b6;min-height:44px;font:inherit;cursor:pointer;background:#2b361d;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:800;display:inline-flex}.start-game-button:hover:not(:disabled){background:#3b4826}.field-meta{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:16px;margin-bottom:0;display:flex}.marker-label{align-items:center;gap:7px;display:inline-flex}.marker-label:before{content:"";border-radius:999px;width:16px;height:4px}.scrimmage-label:before{background:var(--blue)}.gain-label:before{background:var(--gold)}.field{aspect-ratio:24/11;background:var(--field);border:2px solid #f4f0dea6;border-radius:6px;grid-template-rows:repeat(11,minmax(0,1fr));grid-template-columns:repeat(24,minmax(0,1fr));display:grid;overflow:hidden;container-type:inline-size}.board-row{display:contents}.utility-bar{background:#09120ed1;border:1px solid #f4f0de24;border-radius:8px;gap:10px;margin-top:12px;padding:12px;display:grid;box-shadow:0 14px 42px #0003}.utility-control-row,.utility-players{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.utility-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.utility-actions button{flex:none}.utility-bar .player-toggle{flex:none;align-items:center;gap:9px;display:flex}.utility-bar .player-toggle>span{min-width:40px;line-height:1}.utility-bar .segmented-control{align-items:center;display:flex}.utility-bar .segmented-control button,.utility-actions button{min-height:36px}.square{width:100%;min-width:0;height:100%;min-inline-size:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--field);min-height:0;color:var(--chalk);cursor:pointer;border:1px solid #f4f0de14;border-top:0;border-left:0;border-radius:0;place-self:stretch stretch;place-items:center;padding:0;display:grid;position:relative}.square.leftEndZone{background:linear-gradient(135deg, #2c65b57a, #112f6294), repeating-linear-gradient(45deg, #f4f0de12 0 6px, transparent 6px 12px), var(--endzone)}.square.rightEndZone{background:linear-gradient(135deg, #af2f3485, #5c141e99), repeating-linear-gradient(45deg, #f4f0de12 0 6px, transparent 6px 12px), var(--endzone)}.square.goal-post-left{box-shadow:inset 6px 0 0 var(--gold)}.square.goal-post-right{box-shadow:inset -6px 0 0 var(--gold)}.square.five-yard-line{--yard-line-visible-width:1px;--yard-line-shadow:inset 1px 0 0 #f4f0de33;box-shadow:var(--yard-line-shadow)}.square.ten-yard-line{--yard-line-visible-width:3px;--yard-line-shadow:inset 3px 0 0 #f4f0de80;box-shadow:var(--yard-line-shadow)}.square.midfield{--yard-line-visible-width:5px;--yard-line-shadow:inset 5px 0 0 #f4f0deeb, inset 9px 0 0 #07110d70;box-shadow:var(--yard-line-shadow)}.yard-number{z-index:0;color:#f4f0debd;pointer-events:none;text-align:center;text-shadow:0 1px 2px #0000006b;width:.67em;height:.98em;font-family:Georgia,Times New Roman,serif;font-size:max(6px,min(2.5cqw,2.05rem));font-weight:900;line-height:.98;display:block;position:absolute}.yard-number.top{top:1px}.yard-number.bottom{bottom:1px}.yard-number.inverted{transform:rotate(180deg)}.yard-ticks{z-index:0;pointer-events:none;grid-template-columns:repeat(5,20%);align-items:center;display:grid;position:absolute;left:0;right:0}.yard-ticks.top{top:max(1px,min(.36cqw,4px))}.yard-ticks.bottom{bottom:max(1px,min(.36cqw,4px))}.yard-tick{background:#f4f0de9e;border-radius:999px;justify-self:start;width:max(1px,min(.18cqw,2px));height:max(2px,min(.82cqw,9px));box-shadow:0 0 2px #07110d4d}.yard-digit-left{right:.24em}.yard-digit-right{left:calc(.24em + var(--yard-line-visible-width,0px))}.yard-number:before,.yard-number:after{content:"";border-top:.15em solid #0000;border-bottom:.15em solid #0000;width:0;height:0;display:none;position:absolute;top:50%;transform:translateY(-50%)}.yard-number.arrow-left:before{border-right:.24em solid #f4f0deb8;display:block;left:-.27em}.yard-number.arrow-right:after{border-left:.24em solid #f4f0deb8;display:block;right:-.27em}.square.scrimmage-forward{box-shadow:inset 4px 0 0 var(--blue), var(--yard-line-shadow,none)}.square.scrimmage-backward{box-shadow:inset -4px 0 0 var(--blue), var(--yard-line-shadow,none)}.square.first-down{background-image:none}.square.first-down-forward{box-shadow:inset 4px 0 0 var(--gold), var(--yard-line-shadow,none)}.square.first-down-backward{box-shadow:inset -4px 0 0 var(--gold), var(--yard-line-shadow,none)}.square.legal:after{content:"";z-index:1;aspect-ratio:1;border:2px solid var(--gold);background:#d5a63a29;border-radius:50%;width:38%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.square.power-legal:after{content:"";z-index:1;aspect-ratio:1;background:#d94b422e;border:2px solid #d94b42;border-radius:50%;width:38%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.square.is-selected{outline:3px double var(--gold);outline-offset:-4px}.square.move-target:after{border-radius:50%}.square.power-target:after{border-radius:2px;transform:translate(-50%,-50%)rotate(45deg)}.square.pass-target:after,.square.handoff-target:after,.square.tackle-target:after,.square.recovery-target:after{border-radius:2px;width:calc(100% - 4px);height:calc(100% - 4px)}.square.handoff-target:after{border-color:#83caff}.square.tackle-target:after{border-color:#ff968e}.field[aria-readonly=true] .square[tabindex="0"]:before{box-sizing:border-box;z-index:3;color:#fff;pointer-events:none;text-align:center;background:#07110ddb;border:1px solid;place-content:center;place-items:center;width:10px;height:10px;padding-top:.2em;font-size:.52rem;font-weight:900;line-height:1;display:grid;position:absolute;bottom:1px;left:1px;right:auto}.field[aria-readonly=true] .square{cursor:default;outline-offset:-3px;outline:1px dashed #f4f0de75}.field[aria-readonly=true] .square[tabindex="0"]:before{content:"RO";opacity:.72;border-style:dashed;width:16px;min-width:16px;font-size:.45rem;line-height:1;top:auto;bottom:1px;left:auto;right:1px}.square:focus-visible{z-index:5;outline-offset:-4px}.piece{z-index:2;color:#fff;text-shadow:0 1px 2px #0000008c;border:1px solid #ffffff57;border-radius:50%;justify-content:center;align-items:center;font-size:max(4px,min(1.1cqw,.9rem));font-weight:900;line-height:1;display:flex;position:absolute;top:max(1px,min(.36cqw,5px));bottom:max(1px,min(.36cqw,5px));left:max(1px,min(.36cqw,5px));right:max(1px,min(.36cqw,5px));overflow:hidden;box-shadow:inset 0 -2px #00000047,0 1px 2px #0000008c}.piece.home{--piece-color:#286b9c;--piece-shadow:#123953;--piece-highlight:#82c6ef;background:#286b9c}.piece.away{--piece-color:#b24b3f;--piece-shadow:#5f2525;--piece-highlight:#ffae91;background:#b24b3f}.piece.selected{outline:3px solid var(--gold);outline-offset:1px}.piece.piece--player,.piece.piece--helmet{box-shadow:none;background:0 0;border:0;border-radius:4px;overflow:visible}.piece>svg{filter:drop-shadow(0 1px 1px #0009);pointer-events:none;width:100%;height:100%;display:block;overflow:visible}.piece.away>.piece-profile{transform:scaleX(-1)}.piece-corner-label{z-index:4;color:#fff;text-align:center;pointer-events:none;text-shadow:0 1px 1px #07110d;border:1px solid #f4f0de99;border-radius:3px;min-width:0;padding:max(0px,min(.09cqw,1px)) max(0px,min(.18cqw,2px));font-size:max(4px,min(.95cqw,11px));font-weight:900;line-height:1;position:absolute;bottom:1px;right:1px}.piece-corner-label.home{background:#123953}.piece-corner-label.away{background:#5f2525}.field[aria-readonly=true] .square[tabindex="0"]:has(.piece-corner-label):before{left:1px;right:auto}.rules-dialog.settings-dialog{width:min(540px,100%)}.piece-style-options{border:0;gap:12px;min-width:0;margin:20px 0 0;padding:0;display:grid}.piece-style-options legend{color:var(--chalk);margin-bottom:12px;font-weight:800}.piece-style-option{cursor:pointer;background:#102219;border:1px solid #f4f0de33;border-radius:8px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:84px;padding:12px;display:grid}.piece-style-option.is-active{border-color:var(--gold);background:#272b1a}.piece-style-option:focus-within{outline:2px solid var(--chalk);outline-offset:3px}.piece-style-option input{width:18px;height:18px;accent-color:var(--gold);margin:0}.piece-style-copy{overflow-wrap:anywhere;gap:5px;display:grid}.piece-style-copy>span{color:#f4f0deb3;font-size:.8rem}.piece-style-preview{display:flex}.piece-style-preview>span{width:max(40px,min(8vw,52px));height:max(40px,min(8vw,52px));position:relative}.piece-style-preview .piece{font-size:.7rem}.football-marker{z-index:3;aspect-ratio:8/5;pointer-events:none;filter:drop-shadow(0 1px 1px #0009);width:max(5px,min(42%,24px));height:auto;position:absolute;top:max(1px,min(.27cqw,3px));right:max(1px,min(.27cqw,3px));overflow:visible;transform:rotate(-28deg)}.square.target-zone{background-color:#2e3324}.rules-backdrop{z-index:20;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));overscroll-behavior:contain;background:#030806b8;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.rules-dialog{overscroll-behavior:contain;background:#0d1913;border:1px solid #f4f0de2e;border-radius:8px;width:min(680px,100%);max-height:min(760px,100dvh - 32px);padding:24px;position:relative;overflow:auto;box-shadow:0 24px 80px #0000007a}.rules-dialog h2{letter-spacing:0;margin:0 44px 12px 0;font-size:1.35rem}.rules-dialog p,.rules-dialog li{color:#f4f0dec7;line-height:1.48}.rules-dialog ul{gap:8px;margin:14px 0 0;padding-left:20px;display:grid}.rules-help-dialog{flex-direction:column;max-height:min(760px,100dvh - 32px);padding:0;display:flex;overflow:hidden}.rules-header{border-bottom:1px solid #f4f0de24;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.rules-header h2{margin:0}.rules-header .rules-close{flex:none;width:44px;height:44px;position:static}.rules-content{overscroll-behavior:contain;min-height:0;padding:0 24px 24px;overflow:auto}.rules-content:focus-visible{outline-offset:-3px}.rules-quick-start{gap:12px;padding-left:24px;display:grid}.rules-reference{border-top:1px solid #f4f0de24;margin-top:20px}.rules-reference summary{cursor:pointer;color:#f4d06d;min-height:44px;padding:12px 0;font-weight:700}.rules-reference summary:focus-visible{outline-offset:2px;outline:2px solid #f4d06d}.coin-toss-dialog{width:min(440px,100%)}.coin-toss-dialog .dice-panel{box-shadow:none;margin:16px 0}.coin-panel{background:#0a140f;border:1px solid #f4f0de24;border-radius:8px;justify-items:center;gap:10px;margin:18px 0;padding:16px;display:grid}.coin-face{aspect-ratio:1;color:#271907;background:radial-gradient(circle at 34% 28%,#ffffff52,#0000 20%),linear-gradient(145deg,#f7d878,#9f721d);border:5px solid #f4d06d;border-radius:50%;place-items:center;width:86px;font-family:Georgia,Times New Roman,serif;font-size:2.2rem;font-weight:900;display:grid;box-shadow:inset 0 0 0 3px #27190733,0 14px 34px #0000004d}.coin-face.tails{color:#101820;background:radial-gradient(circle at 34% 28%,#ffffff47,#0000 20%),linear-gradient(145deg,#d9dde1,#68717a)}.coin-face.ready{color:#f4f0de9e;background:#14251c;border-color:#f4f0de47}.coin-panel strong{color:var(--chalk);letter-spacing:.08em;text-transform:uppercase;font-size:.86rem}.coin-toss-actions{grid-template-columns:1fr 1fr}.coin-toss-actions button:first-child{grid-column:1/-1}.rules-close{width:34px;height:34px;color:var(--chalk);cursor:pointer;background:#14251c;border:1px solid #f4f0de2e;border-radius:6px;place-items:center;display:inline-grid;position:absolute;top:14px;right:14px}.final-dialog{width:min(520px,100%)}.final-dialog p{margin:8px 0}.final-dialog button{color:#f9e7b6;cursor:pointer;background:#2b361d;border:1px solid #d5a63ab3;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:38px;margin-top:14px;padding:0 14px;display:inline-flex}.final-winner{color:#f9e7b6;font-size:1.2rem;font-weight:900}.final-score{color:var(--chalk);font-size:1.5rem;font-weight:900}.match-length-options{margin-top:1.25rem}.board-scroller{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-color:var(--gold) var(--field-dark);scrollbar-width:thin;min-width:0;max-width:100%;overflow-x:auto}.board-scroller.is-enlarged .field{min-width:1068px}.board-view-controls{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.board-view-controls button{min-height:44px;color:var(--chalk);cursor:pointer;background:#102219;border:1px solid #f4f0de38;border-radius:6px;padding:8px 12px;font-size:.8rem;font-weight:700}.board-view-controls button[aria-pressed=true]{border-color:var(--gold);color:#f9e7b6;background:#2b361d}.field-size-help{color:#f4f0dea6;margin:0;font-size:.75rem;line-height:1.4}.field-size-options{margin-bottom:20px}.control-rail>*,.utility-control-row>*,.field-toolbar>*{min-width:0}.button-grid button,.utility-actions button{overflow-wrap:anywhere;padding:8px 10px}button>svg{flex-shrink:0}.game-message,.history-index,.event-log p{overflow-wrap:anywhere}:is(.button-grid button,.formation-picker select,.confirm-button,.segmented-control button,.history-controls button,.utility-actions button,.rules-close,.final-dialog button){min-width:44px;min-height:44px}.utility-bar .segmented-control button{min-height:44px}@media (max-width:1279px){.score-strip{grid-template-columns:repeat(6,minmax(0,1fr))}.chessball-wordmark{font-size:2.5rem}.field-toolbar{flex-wrap:wrap;gap:10px}.field-meta{gap:8px 12px;font-size:.65rem}.dice-panel .panel-heading{min-width:0}}@media (max-width:1119px){.workspace{grid-template-columns:minmax(0,1fr)}.field-wrap,.control-rail{grid-area:auto/1}.field-meta{font-size:.73rem}}@media (min-width:600px) and (max-width:899px){.score-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.score-card,.down-card{gap:4px;padding:10px 12px}.score-card strong,.down-card strong{font-size:1.4rem}.progress-card,.phase-card{grid-column:span 2}.progress-card strong,.phase-card strong{font-size:1.05rem}.progress-card small:first-of-type{display:none}}@media (max-width:599px){.app-shell{gap:12px}.score-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.chessball-wordmark{font-size:2.1rem}.score-card,.down-card{gap:4px;padding:9px 8px}.score-card strong,.down-card strong{font-size:max(1rem,min(5vw,1.3rem));line-height:1.12}.score-card span,.down-card span{letter-spacing:.04em;overflow-wrap:anywhere;font-size:max(.5rem,min(2.4vw,.6rem))}.down-card strong.compact-status{white-space:normal;font-size:.9rem}.progress-card,.phase-card{grid-column:span 2}.progress-card strong,.phase-card strong{font-size:.95rem}.progress-card small{font-size:.63rem}.progress-card small:first-of-type{display:none}.field-toolbar{align-items:center;gap:8px}.field-toolbar>.field-meta{flex-basis:100%}.dice-panel{gap:6px;padding:6px}.dice-panel .panel-heading{flex-direction:column;align-items:flex-start;gap:4px}.dice-panel .panel-heading h2{font-size:.6rem}.dice-panel .panel-heading span{padding:2px 3px;font-size:.55rem}.dice-tray{gap:4px}.die{width:28px;height:28px;padding:3px}.pip{width:3px;height:3px}.field-meta{letter-spacing:.025em;gap:5px;font-size:.6rem}.marker-label{gap:4px}.marker-label:before{flex-shrink:0;width:10px;height:3px}.utility-bar{gap:10px;padding:10px}.utility-control-row{gap:12px;display:grid}.utility-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.utility-actions button{gap:4px;padding:8px 4px;font-size:.75rem}.utility-players{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.utility-bar .player-toggle{gap:6px;display:grid}.utility-bar .segmented-control{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:4px;display:grid}.utility-bar .segmented-control button{min-width:0;padding:4px;font-size:.68rem}.control-rail{grid-template-columns:minmax(0,1fr)}.panel{padding:12px}.rules-dialog{padding:16px}.rules-help-dialog{padding:0}.rules-header{gap:8px;padding:10px 12px}.rules-header h2{font-size:1.1rem}.rules-content{padding:0 16px 16px}.piece-style-option{gap:8px;padding:10px}.piece-style-preview{flex-direction:column}.piece-style-preview>span{width:36px;height:36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}@container (width<=600px){.square.ten-yard-line{--yard-line-visible-width:1px;--yard-line-shadow:inset 1px 0 0 #f4f0de80}.square.midfield{--yard-line-visible-width:2px;--yard-line-shadow:inset 2px 0 0 #f4f0decc}.square.scrimmage-forward{box-shadow:inset 2px 0 0 var(--blue), var(--yard-line-shadow,none)}.square.scrimmage-backward{box-shadow:inset -2px 0 0 var(--blue), var(--yard-line-shadow,none)}.square.first-down-forward{box-shadow:inset 2px 0 0 var(--gold), var(--yard-line-shadow,none)}.square.first-down-backward{box-shadow:inset -2px 0 0 var(--gold), var(--yard-line-shadow,none)}.square.goal-post-left{box-shadow:inset 3px 0 0 var(--gold)}.square.goal-post-right{box-shadow:inset -3px 0 0 var(--gold)}.piece.selected{outline-width:1px}}.app-header{grid-template-columns:auto minmax(0,1fr) 44px;grid-template-areas:"brand score menu";align-items:center;gap:20px;display:grid}.app-header>.chessball-wordmark{grid-area:brand;font-size:max(2rem,min(2.5vw,2.8rem))}.app-header>.score-strip{grid-area:score;min-width:0}.menu-trigger{width:44px;height:44px;color:var(--chalk);cursor:pointer;background:#102219;border:1px solid #f4f0de3d;border-radius:8px;grid-area:menu;align-self:start;place-items:center;display:grid}.menu-trigger:hover{border-color:var(--gold);background:#23331e}.control-rail .formation-controls{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--gold) var(--field-dark);flex-wrap:nowrap;align-items:center;gap:16px;min-width:0;margin:-6px;padding:6px;display:flex;overflow-x:auto}.control-rail .formation-controls>.selection-summary{flex-shrink:0;margin:0}.control-rail .formation-picker{flex:1 0 auto;align-items:center;gap:10px;margin:0;display:flex;position:relative}.kick-preview{color:var(--gold);overflow-wrap:anywhere;margin:0;font-size:.85rem;line-height:1.5}.control-rail .formation-heading{flex-direction:column;align-items:flex-start;gap:4px}.control-rail .formation-heading label{white-space:nowrap}.control-rail .formation-status{margin:0}.control-rail .formation-picker select{flex:1;width:auto;min-width:120px}.control-rail .formation-picker .confirm-button{white-space:nowrap;min-height:44px;padding:8px 12px}.control-rail .formation-panel .piece-card{flex-wrap:nowrap}.control-rail .formation-panel .quiet{white-space:nowrap;margin:0}.control-rail .command-panel>.button-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.control-rail .piece-card{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:0;display:flex}.game-message{color:#f4f0dec7;margin:0;font-size:.85rem;line-height:1.5}.history-notice{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.history-notice p{margin:0}.history-notice button{border:1px solid var(--gold);min-height:44px;color:var(--chalk);cursor:pointer;background:#2b361d;border-radius:6px;padding:8px 12px}.rules-backdrop.menu-backdrop{padding:0;overflow:clip}.rules-dialog.menu-drawer{border-width:0 0 0 1px;border-radius:12px 0 0 12px;width:min(400px,100%);height:100dvh;max-height:none;margin:0;padding:0;animation:.24s ease-out both menu-enter;position:absolute;top:0;bottom:0;left:auto;right:0}.menu-drawer .rules-header{padding-top:max(16px, env(safe-area-inset-top))}.menu-content{padding:16px 20px max(20px, env(safe-area-inset-bottom));flex-direction:column;gap:20px;display:flex}.menu-drawer .utility-bar{box-shadow:none;background:0 0;border:0;margin:0;padding:0}.menu-drawer .utility-control-row{gap:20px;display:grid}.menu-drawer .utility-actions{grid-template-columns:1fr;gap:8px;display:grid}.menu-drawer .utility-actions button{justify-content:flex-start;gap:12px;padding:12px;font-size:.9rem}.menu-drawer .utility-players{grid-template-columns:1fr;gap:14px;display:grid}.menu-drawer .player-toggle{gap:8px;display:grid}.menu-drawer .segmented-control{grid-template-columns:1fr 1fr;display:grid}.menu-drawer .segmented-control button{font-size:.8rem}.menu-drawer .history-panel{box-shadow:none}.menu-drawer .history-panel h2{margin:0;font-size:.73rem}.menu-drawer .event-log{max-height:240px}@keyframes menu-enter{0%{transform:translate(100%)}to{transform:translate(0)}}@media (max-width:1279px){.app-header{grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:"brand menu""score score";gap:14px}.app-header>.chessball-wordmark{font-size:2.3rem}}@media (max-width:599px){.app-header{gap:12px}.app-header>.chessball-wordmark{font-size:2.1rem}.control-rail .formation-picker{flex:none;gap:8px}.control-rail .formation-picker select{flex:0 0 100px;width:100px;min-width:100px;padding-inline-start:8px;padding-inline-end:20px;font-size:.75rem}.control-rail .formation-heading label{font-size:.65rem}.control-rail .formation-picker .confirm-button{padding-inline-start:8px;padding-inline-end:8px;font-size:.65rem}.control-rail .command-panel>.button-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-content{padding-inline-start:16px;padding-inline-end:16px}}@media (prefers-reduced-motion:reduce){.rules-dialog.menu-drawer{animation:none}}.board-target-help{width:100%;padding:6px 2px 0;font-size:.75rem;line-height:1.5;position:sticky;left:0}.board-target-help p{margin:0}.target-detail{color:#f4f0debf;min-height:1.5em}.resume-panel{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.resume-panel h2{margin-bottom:4px}.resume-panel p{margin:0}.resume-panel .button-grid{flex:260px;max-width:400px}
