.game-popout{position:fixed;z-index:16;left:98px;bottom:max(16px,env(safe-area-inset-bottom));width:min(820px,calc(100vw - 114px));max-height:calc(100dvh - 108px);display:flex;flex-direction:column;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 22px 65px #080d1833,0 4px 12px #080d1814;overflow:hidden}.game-popout.is-expanded{width:min(1080px,calc(100vw - 114px))}.game-popout:focus{outline:none}.game-popout button{cursor:pointer}.game-popout button:disabled{opacity:.35;cursor:default}.game-popout-header{display:flex;align-items:center;gap:12px;padding:16px 18px 12px;flex-shrink:0}.game-popout-header>div:first-child{min-width:0}.game-popout-header h2{margin:0 0 5px;font-size:20px;font-weight:650;letter-spacing:-.4px}.game-popout-header p{margin:0;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.game-panel-header-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.game-panel-header-actions button{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;background:var(--surface);border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:24px}.game-court-count{border-radius:22px;padding:7px 10px;background:var(--surface-muted);font-size:11px;font-weight:600;white-space:nowrap}.game-popout-content{min-height:0;overflow-y:auto;overscroll-behavior:contain}.game-panel-tracking{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 18px;border-block:1px solid var(--line);background:#f1f5ff}.game-panel-tracking span{font-size:11px;color:var(--muted)}.game-panel-tracking i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--success);margin-right:7px}.game-panel-tracking i.paused{background:var(--warning)}.game-panel-tracking button{min-height:44px;border:0;background:transparent;color:var(--blue-dark);font-size:11px;font-weight:650}.game-panel-hint{margin:10px 18px 4px;padding:8px 10px;background:var(--surface-muted);border-radius:8px;color:var(--muted);font-size:11px;line-height:1.5}.game-panel-rosters{padding:0 18px}.game-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 9px}.game-section-title h3{margin:0;font-size:14px;font-weight:650}.game-section-title h3 small{font-size:9px;color:#7c8289;font-weight:400;margin-left:6px}.game-section-title p{margin:0;font-size:10px;color:#7c8289;text-align:right}.game-player-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.game-player-card{position:relative;min-width:0;background:var(--surface-muted);border:1px solid var(--line);border-radius:13px;overflow:hidden}.game-player-card.is-selected{border-color:var(--blue);background:#edf3ff;box-shadow:inset 0 0 0 1px var(--blue)}.game-player-card.near-limit{border-color:#e5ad55}.game-player-card.fouled-out{border-color:#e4958f;background:#fff0ef}.game-player-select{min-height:106px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding:9px 6px 3px;border:0;background:transparent;color:#24282c}.game-jersey{width:43px;height:43px;flex-shrink:0;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:750;overflow:hidden}.bench .game-jersey{background:#697a92}.game-player-name{max-width:100%;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-rotation-time{font-size:9px;color:#808790;white-space:nowrap}.game-rotation-time b{font-size:11px;color:#526981;font-weight:650;font-variant-numeric:tabular-nums}.game-call-up{font-size:8px;color:#687b8d}.game-selection-mark{display:grid;place-items:center;position:absolute;right:7px;top:7px;width:16px;height:16px;border-radius:50%;background:var(--blue);color:#fff;font-size:10px;pointer-events:none}.game-foul-controls{display:flex;align-items:center;justify-content:space-between;gap:1px;padding:2px 6px 7px}.game-foul-controls button{height:44px;width:44px;flex:0 0 44px;border:1px solid #dce0e4;border-radius:9px;background:#fff;color:#40576c;font-size:21px}.game-foul-count{min-width:25px;text-align:center}.game-foul-count b{display:block;font-size:15px;font-weight:650;color:#4e5862}.game-foul-count small{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.7px;color:#8a9096;margin-top:2px}.near-limit .game-foul-count b{color:var(--warning)}.fouled-out .game-foul-count b{color:var(--danger)}.game-out-label{font-size:9px;color:var(--danger);text-align:center;font-weight:650;margin:-1px 0 6px}.game-roster-divider{height:1px;margin-top:13px;background:#edefef}.game-roster-empty{font-size:12px;color:#747d84}.game-last-action{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:13px 18px 0;background:var(--surface-muted);border-radius:11px}.game-last-action>div{flex:1;min-width:0}.game-last-action h3{margin:0 0 5px;font-size:12px;font-weight:650}.game-last-action p{margin:0;color:#747a80;font-size:12px}.game-last-action button{min-height:44px;padding:7px 11px;border:1px solid #d8dce0;border-radius:22px;background:transparent;color:#68727b;font-size:11px;white-space:nowrap}.game-panel-note{margin:10px 18px 12px;color:#92999e;font-size:9px;line-height:1.5}.game-popout-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:7px 18px;border-top:1px solid var(--line);background:#fafbfe}.game-popout-footer span{font-size:10px;color:var(--muted)}.game-popout-footer button,.game-panel-empty button,.game-panel-error button{min-height:44px;padding:8px 12px;background:var(--blue);color:#fff;border:0;border-radius:9px;font-size:11px;font-weight:650}.game-popout-footer button{flex-shrink:0}.game-panel-empty{padding:20px;font-size:13px;line-height:1.6}.game-panel-empty h3{margin:0;font-size:17px}.game-panel-empty p{color:#747d84}.game-panel-error{margin:10px 18px;font-size:12px;line-height:1.5}.game-panel-error button{margin:8px}@media(max-width:960px){.game-popout,.game-popout.is-expanded{left:87px;width:calc(100vw - 103px)}.game-player-cards{display:flex;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity}.game-player-card{flex:0 0 139px;scroll-snap-align:start}}@media(max-width:620px),(orientation:portrait)and (max-width:820px){.game-popout,.game-popout.is-expanded{left:10px;width:calc(100vw - 20px);bottom:max(80px,calc(74px + env(safe-area-inset-bottom)));max-height:calc(100dvh - 110px);border-radius:16px}.game-popout-header{padding:12px 11px 9px;gap:7px}.game-popout-header h2{font-size:17px}.game-popout-header p{font-size:11px}.game-panel-header-actions{gap:4px}.game-panel-header-actions .game-panel-expand{display:none}.game-panel-header-actions button{width:44px;height:44px}.game-court-count{font-size:10px;padding:6px 7px}.game-panel-hint,.game-panel-note,.game-panel-error{margin-left:11px;margin-right:11px}.game-panel-tracking,.game-panel-rosters{padding-inline:11px}.game-section-title h3{font-size:13px}.game-section-title h3 small{display:block;margin:3px 0 0;font-size:9px}.game-section-title p{max-width:145px}.game-last-action{margin-inline:11px;padding:9px}.game-last-action button{font-size:10px;padding-inline:9px}.game-popout-footer{padding-inline:11px}}@media print{.game-popout{display:none!important}}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#131a2a;background:#080d18;font-synthesis:none;--brand: #080d18;--brand-elevated: #111827;--ink: #131a2a;--muted: #667085;--paper: #f6f8fc;--surface: #fff;--surface-muted: #eef2f7;--green: #080d18;--green-2: #2f6bff;--orange: #ff6b21;--orange-hover: #e85a12;--line: #d7dee9;--blue: #2f6bff;--blue-dark: #2456d8;--success: #16895f;--warning: #b56a00;--danger: #d92d20;--court: #e5b66f;--court-line: #fff7e8}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;min-height:100dvh;overscroll-behavior:none}.home-screen-top-edge{display:none}@media(display-mode:standalone){@supports (-webkit-touch-callout: none){.home-screen-top-edge{display:block;position:fixed;inset:0 0 auto;height:max(6px,env(safe-area-inset-top,0px));background:var(--brand);pointer-events:none;z-index:15}}}@media print{.home-screen-top-edge{display:none!important}}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.eyebrow{display:block;color:#8d99ad;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.app-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--surface-muted)}.topbar{height:78px;flex:0 0 auto;display:grid;grid-template-columns:210px 1fr auto auto;align-items:center;gap:24px;padding:max(10px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 10px max(18px,env(safe-area-inset-left));color:var(--paper);background:var(--brand);border-bottom:1px solid #253047}.brand-button,.ghost-button,.primary-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:9px;font-weight:700;cursor:pointer}.brand-button{justify-content:flex-start;color:inherit;background:transparent;font-family:Arial Narrow,sans-serif;font-size:17px;letter-spacing:.02em}.brand-button svg{color:var(--orange)}.board-title-wrap strong{display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.save-state{display:flex;align-items:center;gap:7px;color:#aab3af;font-size:12px;white-space:nowrap}.save-state span{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 15%,transparent)}.save-state[data-status=saving] span{background:var(--warning)}.save-state[data-status=error]{color:#ffb4ae}.save-state[data-status=error] span{background:var(--danger)}.top-actions{display:flex;gap:8px}.ghost-button{padding:0 15px;color:inherit;background:transparent;border:1px solid rgba(255,255,255,.2)}.primary-button{padding:0 17px;color:var(--brand);background:var(--orange);box-shadow:0 5px 16px #e85a123d}.primary-button:hover{background:var(--orange-hover)}.account-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 13px;color:var(--paper);background:var(--brand-elevated);border:1px solid #344158;border-radius:9px;font-weight:750;cursor:pointer}.account-button.compact{padding-inline:10px}.account-avatar{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;color:var(--brand);background:var(--paper);border-radius:50%;font-size:11px;font-weight:900}.home-account-actions{display:flex;align-items:center;gap:9px}.home-account-actions .account-button{background:var(--brand-elevated)}.global-account-control{position:fixed;z-index:12;top:max(12px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right))}.account-modal{position:relative;max-height:min(760px,calc(100dvh - 32px));overflow-y:auto}.account-close{position:absolute;top:12px;right:12px;width:40px;height:40px;color:#66716d;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:24px;cursor:pointer}.account-modal form{display:grid;gap:13px}.account-modal form label{font-size:12px;font-weight:750}.account-modal form input{display:block;width:100%;height:46px;margin-top:5px;padding:0 11px;border:1px solid #bfc5bf;border-radius:8px}.account-modal form .primary-button{width:100%;margin-top:4px}.account-modal button:not(.account-close):not(.primary-button){min-height:44px;margin-top:9px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--brand);font-weight:750;cursor:pointer}.account-modal>button:not(.account-close),.account-modal form>button{width:100%}.account-modal button:disabled{opacity:.5;cursor:default}.account-modal .account-signout{width:100%;color:var(--danger)!important;border-color:#f0b8b3!important}.account-modal>.account-sync-state{display:block;margin:0 0 12px;padding:10px;color:#52635d;background:#ecefe9;border-radius:8px;font-size:12px}.account-message{margin-top:13px!important;padding:10px;color:#40554d!important;background:#eef3ed;border-radius:8px}.account-modal code{display:block;overflow-wrap:anywhere;padding:10px;background:#ece9e1;border-radius:7px;font-size:11px}.account-checkbox{display:flex;align-items:flex-start;gap:9px;margin-top:13px;color:var(--muted);font-size:11px;line-height:1.45}.account-checkbox input{width:20px;height:20px;flex:0 0 auto;margin:0}.account-oauth{margin-top:15px;padding-top:13px;border-top:1px solid var(--line);text-align:center}.account-oauth>span{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.account-oauth>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.account-oauth button{width:100%}.account-delete-toggle{width:100%;color:var(--danger)!important}.account-danger-zone{margin-top:12px;padding:14px;border:1px solid #f0b8b3;border-radius:10px;background:#fff3f2}.account-danger-zone strong{color:var(--danger);font-size:13px}.account-danger-zone p{margin:6px 0 12px;font-size:11px}.account-danger-zone label:not(.account-checkbox){display:block;color:var(--ink);font-size:11px;font-weight:750}.account-danger-zone label:not(.account-checkbox) input{display:block;width:100%;height:42px;margin-top:5px;padding:0 10px;border:1px solid #e5aaa4;border-radius:8px}.account-danger-zone .account-delete{width:100%;color:#fff!important;background:var(--danger)!important;border-color:var(--danger)!important}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:84px minmax(0,1fr)}.tool-rail{z-index:2;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:14px 10px max(14px,env(safe-area-inset-bottom));background:var(--surface);border-right:1px solid var(--line);max-height:calc(100dvh - 78px);position:sticky;top:0}.board-tools{display:flex;flex-direction:column;gap:6px;min-height:0;overflow-y:auto}.tool-rail button{min-height:62px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px;color:var(--muted);background:transparent;border:0;border-radius:10px;font-size:10px;font-weight:700;cursor:pointer}.tool-rail .controls-launcher{margin-top:auto;border:1px solid var(--line);background:var(--surface);color:var(--brand)}.tool-rail .game-panel-launcher{border:1px solid #cbd5e1;background:#edf3ff;color:var(--blue-dark)}.tool-rail .setup-launcher{border:1px solid var(--line);color:var(--brand);background:var(--surface)}.tool-rail button.active{color:#fff;background:var(--blue);box-shadow:0 7px 15px #2f6bff3d}.tool-rail button:disabled{opacity:.3;cursor:default}.tool-divider{height:1px;margin:5px 4px;background:var(--line)}.court-stage{position:relative;min-width:0;min-height:0;height:calc(100dvh - 78px);display:grid;place-items:center;padding:8px;overflow:hidden;background:radial-gradient(circle at center,#f6f8fc 0,#dce2ec 85%)}.court-stage:before{content:"";position:absolute;inset:0;opacity:.35;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px);background-size:40px 40px}.animation-controls{position:absolute;z-index:3;top:8px;left:12px;right:12px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;color:var(--brand)}.animation-controls span{max-width:460px}.animation-controls button{min-height:44px;flex-shrink:0;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--brand)}.tool-animate [data-player-id],.tool-animate [data-ball]{cursor:grab}.animation-route{opacity:.8}.court-stage.animate-mode{padding-top:64px}.court-stage.setup-mode{padding-top:112px}.setup-mode .court-frame{--court-max-height: calc(100dvh - 248px) }.setup-toolbar{position:absolute;z-index:4;top:8px;left:12px;right:12px;min-width:0;display:grid;grid-template-columns:auto minmax(140px,1fr) auto;align-items:center;gap:12px;padding:9px 10px;color:var(--brand);background:#fffffff5;border:1px solid var(--line);border-radius:12px;box-shadow:0 7px 22px #080d181f}.formation-picker{min-width:0;display:flex;align-items:center;gap:6px;overflow-x:auto}.formation-picker>span{margin-right:2px;color:#728079;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.formation-picker button,.begin-drawing{min-height:40px;flex:0 0 auto;padding:7px 10px;border:1px solid #b9c5bd;border-radius:8px;background:#fff;color:var(--green);font-size:12px;font-weight:750;cursor:pointer}.formation-picker .edit-presets{color:#b33d00;border-color:#ffb58f;background:#fff3ed}.setup-toolbar p{margin:0;color:#65716c;font-size:11px;line-height:1.35;text-align:center}.setup-toolbar .begin-drawing{padding-inline:15px;color:var(--brand);background:var(--orange);border-color:var(--orange)}.court-stage.setup-mode.preset-editing{padding-top:178px}.preset-editing .court-frame{--court-max-height: calc(100dvh - 314px) }.preset-editor-toolbar{position:absolute;z-index:4;top:8px;left:12px;right:12px;min-width:0;display:grid;grid-template-columns:minmax(180px,1.2fr) 170px 160px auto;align-items:center;gap:10px;padding:9px 10px;color:var(--green);background:#f9f7f1fa;border:1px solid #cbd5cd;border-radius:12px;box-shadow:0 7px 22px #173c311f}.preset-editor-toolbar[inert]{opacity:.6}.preset-editor-heading strong,.preset-editor-heading small{display:block}.preset-editor-heading strong{font-size:14px}.preset-editor-heading small{margin-top:3px;color:#65716c;font-size:10px;line-height:1.35}.preset-editor-toolbar label{min-width:0;color:#65716c;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.preset-editor-toolbar input,.preset-editor-toolbar select{width:100%;height:40px;margin-top:3px;padding:6px 8px;color:var(--ink);background:#fff;border:1px solid #b9c5bd;border-radius:8px;font-size:12px;letter-spacing:normal;text-transform:none}.preset-editor-actions{display:grid;grid-template-columns:repeat(2,minmax(88px,1fr));gap:5px}.preset-editor-actions button{min-height:38px;padding:5px 8px;color:var(--green);background:#fff;border:1px solid #b9c5bd;border-radius:8px;font-size:10px;font-weight:750;cursor:pointer}.preset-editor-actions button:disabled{opacity:.4;cursor:default}.preset-editor-actions .preset-danger{color:#963b33;border-color:#dfbbb5;background:#fff8f7}.preset-layout-tools{grid-column:1 / -1;min-width:0;display:flex;align-items:center;gap:6px;overflow-x:auto;padding-top:7px;border-top:1px solid #d9ded7}.preset-layout-tools span{flex:0 0 auto;min-width:70px;color:#65716c;font-size:10px;font-weight:800}.preset-layout-tools button{min-height:38px;flex:0 0 auto;padding:5px 9px;color:var(--green);background:#fff;border:1px solid #b9c5bd;border-radius:8px;font-size:10px;font-weight:750;cursor:pointer}.preset-layout-tools button:disabled{opacity:.4;cursor:default}.animate-mode .court-frame{--court-max-height: calc(100dvh - 192px) }.options-panel[inert]{opacity:.5}.animation-dribble>circle,.animation-dribble>path{animation:ball-bounce .4s ease-in-out infinite alternate}@keyframes ball-bounce{to{translate:0 12px}}@media(prefers-reduced-motion:reduce){.animation-dribble>circle,.animation-dribble>path{animation:none}}.huddle .animation-controls{top:max(8px,env(safe-area-inset-top));color:#fff;right:145px}.huddle .court-stage.animate-mode{padding-top:max(64px,env(safe-area-inset-top))}.huddle .animate-mode .court-frame{--court-max-height: calc(100dvh - 88px) }.court-frame{--court-aspect: 1.146341463414634;--court-max-height: calc(100dvh - 144px) ;position:relative;width:min(100%,calc(var(--court-max-height) * var(--court-aspect)));height:auto;aspect-ratio:var(--court-aspect);max-width:100%;display:grid;place-items:center;filter:drop-shadow(0 15px 25px rgba(37,41,38,.18))}.court-frame.full-court{--court-aspect: .6482758620689655}.court-view-controls,.stroke-controls{position:absolute;z-index:5;display:flex;gap:6px;top:10px;left:10px}.court-view-controls{top:-54px;left:0}.stroke-controls{top:62px;background:var(--paper);padding:6px;border-radius:8px}.court-stage .stroke-controls{top:8px}.court-view-controls button,.stroke-controls select,.trash-panel button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--brand);cursor:pointer}.trash-panel{padding:24px 40px;background:var(--paper)}.trash-panel>div{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #dedbd2}.court{width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none;border-radius:6px}.court.tool-marker,.court.tool-line{cursor:crosshair}.court.tool-eraser{cursor:cell}.player-marker{cursor:grab}.player-marker:active{cursor:grabbing}.annotation-stroke{pointer-events:stroke}.board-controls-popover{position:fixed;z-index:16;left:98px;bottom:max(16px,env(safe-area-inset-bottom));width:320px;max-width:calc(100vw - 114px);max-height:calc(100dvh - 106px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:0 18px 55px #080d1833;overflow:hidden}.board-controls-popover[hidden]{display:none}.board-controls-popover:focus{outline:none}.board-controls-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);flex-shrink:0}.board-controls-header h2{margin:0;font-size:18px}.board-controls-header button{width:44px;height:44px;border:1px solid #d8ddd3;border-radius:9px;background:#fff;color:#657568;font-size:24px;cursor:pointer}.options-panel{min-height:0;display:flex;flex-direction:column;gap:12px;overflow-y:auto;overscroll-behavior:contain;padding:15px 14px max(16px,env(safe-area-inset-bottom));background:var(--surface)}.options-panel h2{margin:5px 0 7px;font:600 21px/1.1 Arial Narrow,sans-serif}.options-panel p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.options-panel label{font-size:12px;font-weight:700}.options-panel input{display:block;width:100%;min-height:44px;margin-top:6px;border:1px solid var(--line);border-radius:8px;padding:8px}.option-card{min-height:66px;display:flex;align-items:center;gap:10px;padding:10px 11px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:11px;cursor:pointer;box-shadow:0 3px 10px #080d180d;font-size:13px;font-weight:700}.option-card svg{color:var(--green-2);flex-shrink:0}.option-card span{min-width:0;flex:1}.option-card strong,.option-card small{display:block}.option-card strong{font-size:13px}.option-card small{margin-top:2px;color:var(--muted);font-size:10px}.option-card b{color:var(--orange);font-size:10px;text-transform:uppercase}.text-action{min-height:44px;color:var(--danger);background:transparent;border:1px solid #f0b8b3;border-radius:9px;font-size:12px;font-weight:700;cursor:pointer}.text-action:disabled{opacity:.4;cursor:default}.tip{margin-top:auto;padding:13px;color:var(--muted);background:var(--surface-muted);border-radius:10px;font-size:10px;line-height:1.5}.tip span{display:block;margin-bottom:3px;color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.12em}.huddle .workspace{display:block;min-height:100vh;min-height:100dvh;padding-bottom:0}.huddle .court-stage{min-height:100vh;min-height:100dvh;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:var(--brand)}.huddle .court-frame{--court-max-height: calc(100dvh - 24px) }.huddle .court-view-controls,.play-huddle .court-view-controls{display:none}.exit-huddle{position:absolute;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));min-height:46px;display:flex;align-items:center;gap:8px;padding:0 14px;color:#fff;background:#0d1714e0;border:1px solid rgba(255,255,255,.28);border-radius:9px;font-weight:700;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.home-screen{min-height:100vh;min-height:100dvh;padding:max(28px,env(safe-area-inset-top)) max(42px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(42px,env(safe-area-inset-left));color:var(--paper);background:radial-gradient(circle at 20% 0,#17233a 0,var(--brand) 42%)}.home-header{max-width:1160px;margin:0 auto 38px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:17px}.brand-mark{width:56px;height:56px;display:grid;place-items:center;color:var(--brand);background:var(--orange);border-radius:13px 13px 13px 3px;font:700 21px Arial Narrow,sans-serif;box-shadow:0 8px 20px #00000038}.home-header h1{margin:5px 0 0;font:600 clamp(25px,3vw,38px)/1 "Arial Narrow",sans-serif;letter-spacing:-.015em}.offline-pill{display:flex;align-items:center;gap:8px;padding:10px 13px;color:#aeb8c9;background:var(--brand-elevated);border:1px solid #2e3a51;border-radius:99px;font-size:11px;font-weight:700}.offline-pill i{width:8px;height:8px;background:var(--success);border-radius:50%;box-shadow:0 0 0 4px #16895f24}.home-grid{max-width:1160px;min-height:min(560px,64vh);margin:auto;display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:16px}.home-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:27px;text-align:left;color:var(--ink);background:var(--surface);border:1px solid #dfe5ef;border-radius:16px;cursor:pointer;box-shadow:0 18px 45px #00000024;transition:transform .18s ease,box-shadow .18s ease}.home-card:hover{transform:translateY(-4px);box-shadow:0 24px 55px #00000038}.home-card.featured{color:#fff;background:linear-gradient(145deg,#356fff,#1747c8)}.card-icon{width:54px;height:54px;display:grid;place-items:center;color:var(--brand);background:var(--orange);border-radius:13px 13px 13px 3px;font:700 18px Arial Narrow,sans-serif}.card-icon.warm{color:var(--brand);background:#ffb184}.card-icon.green{background:var(--green-2)}.home-card small{display:block;margin-top:24px;color:#8d9692;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.featured small{color:#cfddff}.home-card h2{margin:7px 0 8px;font:600 clamp(24px,2.6vw,39px)/1 "Arial Narrow",sans-serif}.home-card p{max-width:330px;margin:0;color:#67716d;font-size:13px;line-height:1.55}.featured p{color:#e3eaff}.home-card b{font-size:12px}.featured b{color:#ffb184}.home-footer{margin-top:25px;color:#61706a;text-align:center;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.page-shell{min-height:100vh;padding:0 40px 40px;background:var(--paper)}.page-header{min-height:100px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line)}.page-header .brand-button{color:var(--green)}.page-header h1{margin:3px 0 0;font:600 31px Arial Narrow,sans-serif}.page-header .primary-button{justify-self:end}.library-grid{max-width:1100px;margin:28px auto;display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:16px}.drawing-card{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 20px #080d1812}.mini-court{position:relative;height:150px;background:var(--court);border-bottom:1px solid #c89046}.mini-court:before{content:"";position:absolute;left:20%;right:20%;top:0;height:45%;border:3px solid rgba(255,255,255,.75);border-top:0}.mini-court:after{content:"";position:absolute;left:50%;top:45%;width:70px;height:35px;transform:translate(-50%,-50%);border:3px solid rgba(255,255,255,.75);border-radius:0 0 50px 50px}.mini-court span{position:absolute;z-index:1;width:21px;height:21px;background:var(--blue);border:3px solid white;border-radius:50%}.mini-court span:nth-child(1){left:47%;top:64%}.mini-court span:nth-child(2){left:27%;top:49%}.mini-court span:nth-child(3){right:27%;top:49%}.mini-court:before,.mini-court:after{display:none}.drawing-card>div:not(.mini-court){padding:16px}.drawing-card h2{margin:0 0 4px;font:600 20px Arial Narrow,sans-serif}.drawing-card p{margin:0;color:var(--muted);font-size:11px}.drawing-actions{display:flex;gap:8px;padding-top:0!important}.drawing-actions button{min-height:40px;flex:1;background:var(--surface-muted);border:0;border-radius:8px;font-weight:700;cursor:pointer}.drawing-actions .danger-link{color:var(--danger);background:#fff0ef}.empty-state{grid-column:1/-1;min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);text-align:center;border:1px dashed #c8c7c1;border-radius:15px}.empty-state h2{margin:16px 0 4px;color:var(--ink);font:600 24px Arial Narrow,sans-serif}.empty-state p{margin:0 0 20px}.placeholder-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;background:var(--paper)}.placeholder-screen .eyebrow{margin-top:18px}.placeholder-screen h1{margin:7px 0;font:600 42px Arial Narrow,sans-serif}.placeholder-screen p{max-width:460px;margin:0 0 22px;color:var(--muted)}.modal-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:20px;background:#080d18c2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{width:min(440px,100%);padding:27px;background:var(--surface);border-radius:15px;box-shadow:0 28px 80px #00000059}.modal h2{margin:7px 0;font:600 27px Arial Narrow,sans-serif}.modal p{margin:0 0 20px;color:var(--muted);font-size:13px;line-height:1.5}.modal label{display:block;font-size:12px;font-weight:700}.modal input{width:100%;height:48px;margin-top:7px;padding:0 13px;color:var(--ink);background:#fff;border:1px solid #c9c8c2;border-radius:8px}.modal>div{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.modal .ghost-button{color:var(--ink);border-color:#c9c8c2}.toast{position:fixed;z-index:30;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translate(-50%);padding:12px 18px;color:#fff;background:var(--brand);border:1px solid #344158;border-radius:9px;box-shadow:0 10px 30px #00000040;font-size:12px;font-weight:700}.pwa-update{position:fixed;z-index:50;top:max(12px,env(safe-area-inset-top));left:50%;width:min(460px,calc(100vw - 24px));min-height:58px;transform:translate(-50%);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 9px 8px 16px;color:#fff;background:var(--brand);border:1px solid #344158;border-radius:12px;box-shadow:0 12px 35px #0000004d;font-size:12px;font-weight:700}.pwa-update button{min-height:42px;flex-shrink:0;padding:7px 12px;color:var(--brand);background:var(--orange);border:0;border-radius:8px;font-weight:800;cursor:pointer}@media(max-width:900px){.workspace{grid-template-columns:74px 1fr}.board-controls-popover{left:87px;max-width:calc(100vw - 103px)}.topbar{grid-template-columns:auto 1fr auto}.save-state{display:none}.home-grid{grid-template-columns:1fr 1fr}.home-card.featured{grid-row:span 2}.library-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:620px),(orientation:portrait)and (max-width:820px){.topbar{height:68px;gap:10px;padding-inline:10px}.topbar .brand-button span,.top-actions button>span:not(.account-avatar),.board-title-wrap .eyebrow{display:none}.workspace{grid-template-columns:1fr;grid-template-rows:1fr;padding-bottom:calc(70px + env(safe-area-inset-bottom))}.tool-rail{flex-direction:row;padding:6px 8px max(6px,env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);max-height:none;position:fixed;inset:auto 0 0;height:calc(70px + env(safe-area-inset-bottom));z-index:10}.board-tools{flex:1;min-width:0;flex-direction:row;overflow-x:auto;overflow-y:hidden}.tool-rail .controls-launcher{margin-top:0;margin-left:auto}.tool-rail button{min-width:56px;min-height:54px}.tool-divider{width:1px;height:auto;margin:5px}.board-controls-popover{left:10px;width:320px;max-width:calc(100vw - 20px);bottom:max(80px,calc(74px + env(safe-area-inset-bottom)));max-height:calc(100dvh - 164px - env(safe-area-inset-bottom))}.court-stage{height:calc(100dvh - 138px - env(safe-area-inset-bottom));padding:8px}.court-stage.setup-mode{padding-top:136px}.setup-mode .court-frame{--court-max-height: calc(100dvh - 342px - env(safe-area-inset-bottom)) }.setup-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:7px}.setup-toolbar p{grid-column:1 / -1;grid-row:2}.court-stage.setup-mode.preset-editing{padding-top:250px}.preset-editing .court-frame{--court-max-height: calc(100dvh - 456px - env(safe-area-inset-bottom)) }.preset-editor-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.preset-editor-heading{grid-column:1 / -1}.preset-editor-actions{grid-column:1 / -1;display:flex;overflow-x:auto}.preset-editor-actions button{flex:0 0 auto;min-width:96px}.court-frame{--court-max-height: calc(100dvh - 204px - env(safe-area-inset-bottom)) }.animate-mode .court-frame{--court-max-height: calc(100dvh - 252px - env(safe-area-inset-bottom)) }.home-screen{padding:22px 16px}.home-header{grid-template-columns:auto 1fr}.offline-pill{display:none}.home-account-actions{grid-column:auto}.home-grid{display:flex;min-height:auto;flex-direction:column}.home-card{min-height:230px}.home-card.featured{min-height:290px}.page-shell{padding-inline:16px}.page-header{grid-template-columns:auto 1fr auto;gap:12px}.page-header .brand-button span,.page-header .primary-button span{display:none}.library-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}.editor-shell,.game-shell{min-height:100dvh;background:var(--paper);padding:16px}.editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.editor-header label{display:flex;align-items:center;gap:10px}.editor-layout{display:grid;grid-template-columns:minmax(300px,1fr) 300px;gap:20px;padding:70px 16px 16px}.editor-layout>.court-frame{justify-self:center;--court-max-height: min(64dvh,800px)}.editor-sidebar{display:flex;flex-direction:column;gap:10px;max-height:74dvh;overflow:auto}.editor-sidebar p{font-size:13px;line-height:1.5}.editor-sidebar label,.game-setup label{display:flex;flex-direction:column;gap:6px;margin:10px 0}.editor-shell button,.game-shell button,.backup-panel button,.export-options button{min-height:44px;padding:8px 12px;border:1px solid #b8c7bf;border-radius:8px;background:#fff;color:var(--green);cursor:pointer;font-weight:600}.editor-shell button:disabled,.game-shell button:disabled,.export-options button:disabled{opacity:.4;cursor:default}.editor-shell input,.editor-shell textarea,.game-shell input:not([type=checkbox]),.game-shell select,.export-options select{min-height:44px;padding:8px;border:1px solid #aaa;border-radius:6px;max-width:100%}.editor-sidebar textarea{min-height:70px}.play-huddle .editor-sidebar{display:none}.play-huddle .editor-layout{grid-template-columns:1fr}.play-huddle .editor-layout>.court-frame{--court-max-height: 77dvh}.step-controls{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;padding:12px}.global-game-button{position:fixed;right:14px;bottom:max(10px,env(safe-area-inset-bottom));z-index:10;min-height:44px;padding:8px 14px;border:1px solid #4967a2;background:var(--brand);color:#fff;border-radius:12px;box-shadow:0 4px 12px #0003;cursor:pointer}.game-shell{padding-bottom:70px}.game-setup{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1100px;margin:auto}.game-setup section{min-width:0}.setup-player{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.setup-player label{flex-direction:row;align-items:center}input[type=checkbox]{width:22px;height:22px}.roster-row{display:grid;grid-template-columns:1fr 140px 240px;align-items:center;gap:10px;padding:8px;margin:5px auto;border:1px solid var(--line);border-radius:8px;max-width:1100px;background:#fff}.roster-row.selected{outline:3px solid var(--blue)}.roster-row>div{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.roster-row small{display:block}.foul-warning,[role=alert]{color:#982e27;font-weight:700}.backup-panel{padding:24px 40px 70px;background:var(--paper)}.backup-panel button{margin-right:8px}.library-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 0}.library-filters input:not([type=checkbox]),.library-filters select{min-height:44px;padding:10px;border:1px solid #aaa;border-radius:8px}.library-filters label{display:flex;align-items:center;gap:8px}.library-family>h2{font-size:18px;border-bottom:1px solid var(--line);padding-bottom:10px}.library-family .library-grid{margin-inline:0}.export-options{display:flex;flex-direction:column;gap:10px}.export-options label{display:flex;align-items:center;gap:8px}.print-export{display:none}@media(max-width:700px){.editor-layout,.game-setup{grid-template-columns:1fr}.editor-sidebar{max-height:none}.roster-row{grid-template-columns:1fr}}@media print{body,#root,.app-shell,.workspace,.options-panel{display:block!important;background:#fff!important;margin:0!important;padding:0!important;min-height:0!important;border:none!important}.topbar,.tool-rail,.court-stage,.global-game-button,.board-controls-header,.options-panel>:not(.print-export),.toast,.modal-backdrop{display:none!important}.board-controls-popover{display:block!important;position:static;width:100%;max-width:none;max-height:none;overflow:visible;box-shadow:none;border:0;border-radius:0;background:#fff}.options-panel{max-height:none;overflow:visible;opacity:1!important}.print-export{display:block!important}.print-page{display:grid;grid-template-columns:1fr;break-after:page;gap:8mm}.print-page:last-child{break-after:auto}.print-page.per-page-2,.print-page.per-page-4{grid-template-columns:1fr 1fr}.print-diagram{break-inside:avoid;min-width:0}.print-diagram h2{font-size:14pt;margin:0 0 3mm}.print-diagram p{white-space:pre-wrap;font-size:10pt;overflow-wrap:anywhere}.print-court{height:170mm;max-width:100%}.per-page-2 .print-court{height:110mm}.per-page-4 .print-court{height:60mm}.print-court .court-view-controls,.print-court .stroke-controls{display:none}.print-court svg{width:100%;height:100%}.black-white{filter:grayscale(1)}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
