@font-face{font-family:Archivo Black;font-style:normal;font-weight:400;font-display:swap;src:url(../media/316b6682b406c2db-s.1c_7chp82d3kz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Black;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5e4d537aaa9e154b-s.p.2aqrdzrjzn6ap.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Black Fallback;src:local(Arial);ascent-override:70.78%;descent-override:16.93%;line-gap-override:0.0%;size-adjust:124.05%}.archivo_black_5ca1f3e2-module__v4xaiG__className{font-family:Archivo Black,Archivo Black Fallback;font-style:normal;font-weight:400}.archivo_black_5ca1f3e2-module__v4xaiG__variable{--font-display-loaded:"Archivo Black", "Archivo Black Fallback"}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_28fa4cf1-module__17PS6G__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_28fa4cf1-module__17PS6G__variable{--font-ui-loaded:"IBM Plex Sans", "IBM Plex Sans Fallback"}
:root{--grass-deep:#145a2e;--grass:#1f7a3d;--grass-light:#2f9a52;--grass-stripe:#ffffff0a;--line:#f7f7f2;--ink:#102418;--ink-soft:#102418c7;--panel:#0a2a168c;--panel-strong:#082212c7;--ball:#d8f35c;--ball-seam:#f8fff0;--ball-shadow:#6f8d1f;--accent:#fff7c2;--warning:#ffe08a;--danger:#ffb4a8;--net-fill:#081c1073;--focus:#fff36d;--shadow:0 18px 40px #00000047;--radius-lg:22px;--radius-md:14px;--radius-sm:10px;--space-1:.35rem;--space-2:.7rem;--space-3:1rem;--space-4:1.4rem;--space-5:2rem;--tap:48px;--font-display:var(--font-display-loaded), "Arial Black", Impact, sans-serif;--font-ui:var(--font-ui-loaded), "Segoe UI", sans-serif;--motion-fast:.18s;--motion-med:.32s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:var(--font-ui);color:var(--line);background:linear-gradient(180deg, #0000002e, #00000047), repeating-linear-gradient(90deg, var(--grass) 0 28px, var(--grass-light) 28px 56px), var(--grass-deep);background-attachment:fixed}button,input{font:inherit}button{min-height:var(--tap);min-width:var(--tap);border:2px solid var(--line);color:var(--line);cursor:pointer;touch-action:manipulation;background:0 0;border-radius:999px}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}input{min-height:var(--tap);border:2px solid var(--line);width:100%;color:var(--line);background:#ffffff14;border-radius:999px;padding:0 1rem}input::placeholder{color:#f7f7f2a6}a{color:inherit}.pegboard-shell{width:100%;height:100vh;padding:var(--space-2);gap:var(--space-2);grid-template-rows:auto auto minmax(0,1fr);margin:0;display:grid;overflow:hidden}.app-header,.status-bar,.zone,.on-court-heading{background:var(--panel);border:2px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-header{gap:var(--space-2);padding:var(--space-2) var(--space-3);display:grid}.brand{align-items:center;gap:var(--space-3);display:flex}.brand h1,.on-court-heading h2,.zone-header h2{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;margin:0}.brand h1{font-size:clamp(1.25rem,2.4vw,1.9rem);line-height:1}.brand-ball,.status-ball,.player-ball{flex:none;width:2.2rem;height:2.2rem}.scoreboard-label{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.78rem}.player-manager{gap:var(--space-1);display:grid}.player-manager-row{gap:var(--space-2);grid-template-columns:1fr auto;display:grid}.primary-button{background:var(--ball);color:var(--ink);border-color:var(--ball);padding:0 1.3rem;font-weight:700}.chip-button{min-height:var(--tap);background:#ffffff14;padding:0 .9rem;font-size:.92rem}.chip-button.danger{border-color:var(--danger);color:var(--danger)}.status-bar{gap:var(--space-2);padding:var(--space-2) var(--space-3);align-items:center;display:grid}.selection-panel,.notice-panel{gap:.2rem;display:grid}.selection-panel{align-items:center;gap:var(--space-2);grid-template-columns:auto 1fr}.selection-value,.notice-row p,.storage-message,.empty-copy,.on-court-heading p{color:var(--line);margin:0}.notice-row{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;align-items:center;display:flex}.storage-message{margin-top:var(--space-1);color:var(--warning)}.board-stage{isolation:isolate;height:100%;min-height:0;position:relative;overflow:hidden}.stage-backdrop{opacity:.18;pointer-events:none;z-index:0;position:absolute;inset:0}.stage-lines{width:100%;height:100%}.board-grid{z-index:1;gap:var(--space-2);height:100%;min-height:0;display:grid;position:relative}.courts-column{gap:var(--space-2);grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid}.zone{padding:var(--space-2);gap:var(--space-2);background:var(--panel-strong);align-content:start;min-height:0;display:grid}.zone-header{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.zone-count{font-family:var(--font-display);margin:0;font-size:1.2rem}.board-grid>div:first-child,.waiting-bounce{height:100%;min-height:0}.waiting-zone{height:100%;overflow:auto}.on-court-heading{padding:var(--space-2) var(--space-3);margin-bottom:0}.on-court-heading p{margin-top:var(--space-1);color:#f7f7f2d1}.courts-grid{gap:var(--space-2);height:100%;min-height:0;display:grid}.courts-grid>*{height:100%;min-height:0}.court-zone{height:100%;position:relative;overflow:auto}.court-zone.can-receive{box-shadow:0 0 0 3px var(--ball), var(--shadow)}.court-zone.is-incomplete{border-color:var(--warning)}.court-target{background:#d8f35c29;justify-self:start;padding:0 1.2rem;font-weight:700}.status-pill{border:1px solid;border-radius:999px;justify-self:start;margin:0;padding:.35rem .8rem;font-size:.85rem}.status-pill.warning{color:var(--warning)}.status-pill.muted{color:#f7f7f2bf}.player-list{gap:var(--space-2);min-height:0;margin:0;padding:0;list-style:none;display:grid}.player-tile{gap:var(--space-1);padding:var(--space-2);border-radius:var(--radius-md);background:#ffffff0d;border:2px solid #f7f7f28c;display:grid}.player-tile.is-selected{border-color:var(--ball);animation:ball-pulse var(--motion-med) ease;background:#d8f35c24}.player-tile.is-dragging{opacity:.35}.zone.is-drop-target{box-shadow:0 0 0 3px var(--ball), var(--shadow)}.pegboard-shell.is-dragging{-webkit-user-select:none;user-select:none}.drag-ghost{z-index:40;pointer-events:none;border:2px solid var(--ball);border-radius:var(--radius-md);box-shadow:var(--shadow);white-space:nowrap;background:#082212eb;align-items:center;gap:.55rem;padding:.55rem .85rem;font-weight:700;display:flex;position:fixed;top:0;left:0}.player-main{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);width:100%;color:inherit;text-align:left;min-height:var(--tap);touch-action:none;cursor:grab;background:0 0;border:none;grid-template-columns:auto 1fr auto;padding:.2rem;display:grid}.player-main:active{cursor:grabbing}.player-name{font-size:1.15rem;font-weight:700}.player-hint{color:var(--accent);white-space:nowrap;font-size:.82rem}.player-actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.court-bounce,.waiting-bounce{animation:court-settle var(--motion-med) ease}@keyframes ball-pulse{0%{transform:scale(1)}40%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes court-settle{0%{transform:translateY(0)}35%{transform:translateY(-4px)}to{transform:translateY(0)}}@media (min-width:900px){.app-header{grid-template-columns:1fr 1.1fr;align-items:end}.status-bar{grid-template-columns:1.1fr 1.4fr auto}.board-grid{grid-template-columns:minmax(240px,.85fr) 1.45fr;align-items:stretch}.courts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:899px){.pegboard-shell{overflow:auto}.board-grid{grid-template-rows:minmax(180px,.4fr) minmax(0,1fr)}.courts-grid{grid-template-columns:1fr;grid-auto-rows:minmax(160px,1fr)}}@media (prefers-reduced-motion:reduce){.player-tile.is-selected,.court-bounce,.waiting-bounce{animation:none}}
