:root{--bg:#101418;--surface:#1b2128;--card:#232b34;--line:#2f3944;--txt:#eef2f5;--sub:#93a1ad;--green:#33c06f;--orange:#ff8a3d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--txt);margin:0}.app{background:var(--surface);flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.appbar{padding:calc(10px + env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.signout-btn{color:var(--sub);font:inherit;cursor:pointer;background:0 0;border:none;padding:4px;font-size:12px;font-weight:600}.logo{letter-spacing:.3px;font-size:17px;font-weight:800}.logo-accent{color:var(--orange)}.season-chip{border:1px solid var(--line);background:var(--card);max-width:190px;color:var(--txt);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;display:flex}.season-chip-team{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.season-chip-label{color:var(--sub);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.season-chip-caret{color:var(--sub);font-size:10px}.season-overlay{z-index:100;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.season-sheet{background:var(--surface);width:100%;max-width:480px;max-height:82vh;padding:16px 16px calc(20px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;overflow-y:auto}.season-sheet-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.season-sheet-head h3{margin:0;font-size:16px}.season-close{color:var(--sub);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:18px;line-height:1}.season-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.season-item{border:1px solid var(--line);background:var(--card);width:100%;color:var(--txt);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:12px;display:flex}.season-item.active{border-color:var(--green)}.season-item-check{color:var(--green);flex:0 0 16px;font-weight:800}.season-item-text{flex-direction:column;min-width:0;display:flex}.season-item-team{font-size:15px;font-weight:700}.season-item-label{color:var(--sub);font-size:12px}.season-new-btn{margin-top:4px}.season-form{flex-direction:column;display:flex}.season-form-note{margin:0 0 8px}.screen{flex:1;padding:16px 14px;overflow-y:auto}.screen h2{margin:0 0 4px;font-size:19px;font-weight:800}.screen .sub{color:var(--sub);margin:0 0 14px;font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:12px;font-size:14px}.chip{background:var(--card);border:1px solid var(--line);color:var(--sub);vertical-align:middle;border-radius:20px;padding:2px 8px;font-size:11px}.section-label{text-transform:uppercase;letter-spacing:.6px;color:var(--sub);margin:14px 0 8px;font-size:12px;font-weight:700}.playbook-actions{gap:8px;margin-bottom:16px;display:flex}.playbook-actions .btn{flex:1;margin-bottom:0}.new-play-btn{flex:none}.play-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.play-card{background:var(--card);border:1px solid var(--line);text-align:left;color:var(--txt);cursor:pointer;font:inherit;border-radius:14px;flex-direction:column;gap:8px;padding:8px;display:flex}.play-card:active{border-color:var(--green)}.play-card-field{border-radius:8px;overflow:hidden}.play-card-meta{align-items:center;gap:6px;display:flex}.play-num{color:var(--orange);font-size:13px;font-weight:800}.play-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:600;overflow:hidden}.badge{text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:700}.wb-summary{color:var(--sub);justify-content:space-between;align-items:center;gap:8px;margin:4px 0 12px;font-size:13px;font-weight:600;display:flex}.wb-clear{flex:none;width:auto;margin:0;padding:6px 12px;font-size:12px}.wb-list{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.wb-row{background:var(--card);border:1px solid var(--line);text-align:left;width:100%;color:var(--txt);font:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.wb-row.picked{border-color:var(--green);background:color-mix(in srgb, var(--green) 10%, var(--card))}.wb-check{border:1px solid var(--line);width:26px;height:26px;color:var(--sub);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.wb-row.picked .wb-check{background:var(--green);border-color:var(--green);color:#05210f}.wb-num{color:var(--orange);flex:none;min-width:24px;font-size:14px;font-weight:800}.wb-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}.wb-page{color:var(--green);white-space:nowrap;flex:none;font-size:11px;font-weight:700}.wb-actions{margin-top:4px}.back-btn{color:var(--sub);font:inherit;cursor:pointer;background:0 0;border:none;padding:0 0 12px;font-size:13px;font-weight:600}.detail-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.play-num.big{font-size:26px}.detail-head h2{margin:0}.rename-trigger{width:auto;margin-top:8px;padding:7px 12px;font-size:13px;display:inline-block}.play-rename{flex:auto}.play-rename .edit-head{margin-bottom:8px}.rename-tag-label{text-transform:uppercase;letter-spacing:.5px;color:var(--sub);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.rename-tags{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.play-rename-actions{gap:8px;display:flex}.play-rename-actions .btn{margin-top:0}.detail-field{border:1px solid var(--line);border-radius:12px;max-width:300px;margin:0 auto 14px;overflow:hidden}.when-to-call{line-height:1.45}.when-label{text-transform:uppercase;letter-spacing:.5px;color:var(--green);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.btn{text-align:center;cursor:pointer;border:none;border-radius:12px;width:100%;padding:13px;font-family:inherit;font-size:14px;font-weight:700;display:block}.btn.primary{background:var(--green);color:#08130c}.btn.ghost{border:1px solid var(--line);color:var(--txt);background:0 0;margin-top:8px}.edit-head{gap:8px;margin-bottom:12px;display:flex}.number-input{text-align:center;flex:0 0 68px;width:68px;font-weight:800}.edit-head .field-input:not(.number-input){flex:auto;min-width:0}.designer{max-width:300px;margin:0 auto 12px}.designer-canvas{border:1px solid var(--line);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:12px;width:100%;height:auto;display:block}.designer-tools{flex-direction:column;gap:8px;margin-top:10px;display:flex}.designer-hint{color:var(--sub);font-size:12px;line-height:1.4}.designer-btns{flex-wrap:wrap;gap:6px;display:flex}.chip-btn{border:1px solid var(--line);background:var(--card);color:var(--txt);cursor:pointer;border-radius:20px;padding:7px 12px;font-size:12px;font-weight:700}.chip-btn:disabled{opacity:.4;cursor:default}.chip-btn.active{border-color:var(--green);color:var(--green)}.chip-btn.danger{color:#ff5d5d;border-color:#ff5d5d}.swatch-btn{align-items:center;gap:6px;display:inline-flex}.swatch{border:1px solid #00000059;border-radius:50%;width:12px;height:12px}.label-input{width:64px;padding:6px 8px;font-size:12px;font-weight:700}.side-toggle{gap:8px;margin:12px 0;display:flex}.side-toggle .chip-btn{flex:1}.tabbar{border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:var(--surface);display:flex}.tab{color:var(--sub);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0 6px;font-size:11px;font-weight:600;text-decoration:none;display:flex}.tab.active{color:var(--green)}.tab-icon{font-size:18px}.splash,.auth-screen{background:var(--surface);flex-direction:column;justify-content:center;align-items:center;gap:18px;max-width:480px;min-height:100dvh;margin:0 auto;padding:24px 20px;display:flex}.auth-screen{justify-content:flex-start;padding-top:14vh}.logo-lg{letter-spacing:.3px;font-size:30px;font-weight:800}.auth-brand{text-align:center}.auth-tagline{color:var(--sub);max-width:300px;margin:8px 0 0;font-size:14px}.splash-hint{color:var(--sub);font-size:13px}.auth-form{flex-direction:column;gap:8px;width:100%;max-width:340px;display:flex}.onboarding{background:var(--surface);max-width:480px;margin:0 auto}.onboarding .auth-form{max-width:none;margin-top:8px}.field-label{color:var(--txt);margin-top:6px;font-size:13px;font-weight:700}.field-input{border:1px solid var(--line);background:var(--card);width:100%;color:var(--txt);font:inherit;border-radius:12px;padding:12px 14px;font-size:16px}.field-input:focus{border-color:var(--green);outline:none}.auth-sent{text-align:center;align-items:center;gap:10px}.sent-icon{font-size:40px}.sent-title{margin:0;font-size:18px;font-weight:800}.field-hint{color:var(--sub);margin:2px 0 4px;font-size:12px}.field-error{color:var(--orange);margin:2px 0;font-size:13px}.link-btn{color:var(--sub);font:inherit;cursor:pointer;background:0 0;border:none;padding:6px;font-size:13px;font-weight:600}.btn.primary:disabled{opacity:.5;cursor:default}.choice-row{flex-wrap:wrap;gap:8px;display:flex}.choice{border:1px solid var(--line);background:var(--card);min-width:60px;color:var(--txt);font:inherit;cursor:pointer;border-radius:12px;flex:1;padding:11px 8px;font-size:14px;font-weight:700}.choice.active{border-color:var(--green);color:var(--green)}.roster-add{gap:8px;margin-bottom:6px;display:flex}.jersey-input{text-align:center;flex:none;width:56px}.roster-add-btn{flex:none;width:auto;padding:12px 18px}.roster-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.roster-row{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;padding:10px 12px;display:flex}.roster-row.editing{border-color:var(--orange)}.roster-main{align-items:center;gap:10px;display:flex}.roster-jersey{text-align:center;min-width:26px;color:var(--orange);font-size:13px;font-weight:800}.roster-name{flex-direction:column;flex:1;gap:2px;font-size:14px;font-weight:600;display:flex}.roster-parent{color:var(--sub);font-size:12px;font-weight:500}.roster-remove{color:var(--sub);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:15px;line-height:1}.roster-contact-btn{white-space:nowrap;border:1px solid var(--orange);color:var(--orange);cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:700;line-height:1}.roster-contact-btn.has-contact{border-color:var(--line);color:var(--sub);font-weight:600}.roster-edit-fields{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;display:flex}.schedule{margin-top:26px}.event-add{flex-direction:column;gap:8px;margin-bottom:16px;padding:12px;display:flex}.event-group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--sub);margin:14px 0 6px;font-size:12px;font-weight:700}.event-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.event-list.past{opacity:.62}.event-row{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.event-row.event-game{border-left-color:var(--orange)}.event-row.event-practice{border-left-color:var(--green)}.event-date{flex-direction:column;flex:none;align-items:center;min-width:58px;display:flex}.event-date-main{font-size:13px;font-weight:800;line-height:1.2}.event-time{color:var(--sub);font-size:11px}.event-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.event-title{align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.event-icon{font-size:13px}.event-loc{color:var(--sub);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.event-snack{align-items:center;gap:5px;margin-top:2px;font-size:12px;display:flex}.snack-select{background:var(--surface);min-width:0;color:var(--txt);border:1px solid var(--line);border-radius:8px;flex:1;padding:4px 6px;font-size:12px;font-weight:600}.share-parents{border-color:var(--green);flex-direction:column;gap:10px;margin-bottom:16px;padding:14px;display:flex}.share-parents-copy{flex-direction:column;gap:4px;display:flex}.share-parents-title{font-size:14px;font-weight:800}.share-parents-url{color:var(--sub);background:var(--surface);border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;border-radius:8px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;display:block;overflow:hidden}.share-parents-actions{flex-wrap:wrap;gap:8px;display:flex}.share-parents-actions .btn{flex:auto}.share-parents-copied{color:var(--green);margin:0;font-size:12px;font-weight:600}.share-parents-reset{color:var(--sub)}.share-parents-confirm{background:#ff5d5d14;border:1px solid #ff5d5d;border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.share-parents-confirm .sub{margin:0}.btn.danger{color:#fff;background:#ff5d5d;border-color:#ff5d5d}.parent-shell{max-width:480px;min-height:100dvh;margin:0 auto;padding:20px 16px 48px}.parent-brand{color:var(--orange);margin:0 0 12px;font-size:18px;font-weight:800}.parent-team{margin:0 0 4px}.parent-share{flex-direction:column;gap:4px;margin:14px 0 6px;display:flex}.parent-share .btn{align-self:flex-start}.parent-share-hint{font-size:12px}.event-snack-taken{color:var(--green);margin-top:2px;font-size:12px;font-weight:600}.event-snack-open{color:var(--sub);margin-top:2px;font-size:12px;font-weight:500}.snack-claim{align-self:flex-start;margin-top:4px}.practice-setup{flex-direction:column;gap:8px;padding:16px;display:flex}.setup-label{color:var(--sub);margin-top:6px;font-size:13px;font-weight:700}.seg{gap:6px;display:flex}.seg.wrap{flex-wrap:wrap}.seg-btn{border:1px solid var(--line);background:var(--surface);min-width:72px;color:var(--txt);cursor:pointer;border-radius:10px;flex:1;padding:10px 8px;font-size:13px;font-weight:700}.seg-btn.active{border-color:var(--green);color:var(--green);background:#33c06f1a}.practice-setup .btn.primary{margin-top:12px}.practice-head{justify-content:space-between;align-items:flex-start;display:flex}.practice-actions{gap:8px;margin-bottom:14px;display:flex}.practice-actions .btn{flex:1;margin-bottom:0;padding:10px 6px}.plan-list{counter-reset:block;margin:0;padding:0;list-style:none}.plan-block{padding:12px}.plan-block.flash{animation:1.6s ease-out block-flash}@keyframes block-flash{0%{box-shadow:0 0 0 2px var(--orange);background:#ff8a3d24}to{background:0 0;box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.plan-block.flash{animation:none}}.plan-block.water{background:#4da3ff0f;border-left:3px solid #4da3ff}.plan-block-head{align-items:center;gap:8px;display:flex}.plan-time{color:var(--green);flex-direction:column;align-items:center;min-width:44px;font-size:15px;font-weight:800;line-height:1;display:flex}.plan-time small{color:var(--sub);text-transform:uppercase;font-size:9px;font-weight:600}.plan-block-label{flex:1;font-size:14px;font-weight:700}.plan-reorder{flex-direction:column;gap:2px;display:flex}.plan-reorder button{border:1px solid var(--line);background:var(--surface);width:28px;height:22px;color:var(--txt);cursor:pointer;border-radius:6px;font-size:10px}.plan-reorder button:disabled{opacity:.3}.plan-field{width:96px;margin:10px auto 4px}.plan-note{color:var(--sub);margin:8px 0;font-size:13px;line-height:1.45}.plan-coach-note{width:100%;margin-bottom:8px;font-size:13px}.plan-block-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.min-stepper{align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.min-stepper button{border:1px solid var(--line);background:var(--surface);width:30px;height:30px;color:var(--txt);cursor:pointer;border-radius:8px;font-size:16px;font-weight:700}.min-stepper span{text-align:center;min-width:46px}.add-drill{flex-direction:column;gap:8px;padding:12px;display:flex}.add-stations-btn{align-self:stretch}.add-sub-label{text-transform:uppercase;letter-spacing:.4px;color:var(--sub);margin-top:4px;font-size:12px;font-weight:700}.custom-drill-add{align-items:stretch;gap:8px;display:flex}.custom-drill-add .field-input{flex:1 1 0;width:auto;min-width:0}.custom-drill-add .btn{flex:none;width:auto}.add-drill-hint{color:var(--sub);margin:0;font-size:12px;line-height:1.4}.station-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0;display:grid}.station-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:6px;padding:8px;display:flex}.station-card-head{align-items:center;gap:6px;display:flex}.station-badge{background:var(--orange);color:#101418;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:800;display:flex}.station-name{font-size:13px;font-weight:700;line-height:1.2}.station-field{height:84px}.station-tools{justify-content:flex-end;gap:6px;display:flex}.add-station{align-self:flex-start}.timer-station-grid{grid-template-columns:repeat(2,1fr);gap:8px;width:100%;margin:8px 0;display:grid}.timer-station-grid .station-field{height:96px}.timer{text-align:center;flex-direction:column;align-items:center;display:flex}.timer-topbar{justify-content:space-between;align-items:center;width:100%;display:flex}.timer-progress-label{color:var(--sub);font-size:12px;font-weight:700}.timer-block-label{margin:12px 0 4px;font-size:20px}.timer-clock{font-variant-numeric:tabular-nums;color:var(--txt);font-size:72px;font-weight:800;line-height:1.1}.timer-clock.low{color:var(--orange)}.timer-track{background:var(--card);border-radius:4px;width:100%;height:8px;margin:8px 0 14px;overflow:hidden}.timer-fill{background:var(--green);height:100%;transition:width 1s linear}.timer-field{width:150px;margin:0 auto 10px}.timer-note{color:var(--sub);margin-bottom:16px;font-size:14px;line-height:1.45}.timer-controls{align-items:center;gap:10px;width:100%;display:flex}.timer-playpause{flex:1;margin-bottom:0}.timer-controls .chip-btn{padding:10px 14px}.timer-nextup{color:var(--sub);margin-top:14px;font-size:13px}.timer-done{text-align:center;padding-top:40px}.timer-done-emoji{margin-bottom:10px;font-size:56px;display:block}.dc-section{margin-top:22px}.dc-section-head{border-bottom:2px solid var(--line);text-align:right;letter-spacing:1px;color:var(--txt);margin:0 0 12px;padding-bottom:4px;font-size:18px;font-weight:900}.dc-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.dc-box{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:hidden}.dc-box-head{color:#fff;text-align:center;letter-spacing:1px;border-bottom:2px solid var(--orange);background:#0c0f13;padding:6px 4px;font-size:14px;font-weight:900}.dc-box-body{flex-direction:column;display:flex}.dc-player{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:6px 7px;display:flex}.dc-player.starter{background:#ff8a3d14}.dc-player.starter .dc-name{font-weight:800}.dc-jersey{text-align:center;min-width:20px;color:var(--orange);font-size:11px;font-weight:800}.dc-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.dc-player-btn{color:var(--sub);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:12px;line-height:1}.dc-empty{color:var(--sub);margin:0;padding:8px 7px;font-size:12px;font-style:italic}.dc-add{border:none;border-top:1px solid var(--line);background:var(--bg);color:var(--sub);cursor:pointer;border-radius:0;width:100%;padding:7px;font-size:12px;font-weight:700}
