@font-face{font-family:Flow;src:local('Aptos'),local('Trebuchet MS');font-display:swap}
:root{--blue:#205375;--steel:#4682b4;--ink:#20333f;--muted:#607581;--line:#d9e2e7;--paper:#fff;--base:#f5f7f8;--gray:#e8e6e6;--warn:#856325;--green:#287257;--radius:12px;font-family:Flow,'Trebuchet MS',sans-serif;color:var(--ink);background:var(--base);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--steel);outline-offset:3px}button{border:1px solid var(--line);background:white;color:var(--blue);border-radius:8px;padding:11px 17px;min-height:44px;font-weight:600}button:hover{background:#edf3f6}button:disabled{opacity:.45;cursor:default}.primary{background:var(--blue);border-color:var(--blue);color:white}.primary:hover{background:#17435f}.quiet{border-color:transparent;background:transparent}.small{padding:7px 11px;min-height:36px;font-size:14px}.danger{color:#a7443c}.icon-button{padding:8px 12px}.button-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}a{color:var(--blue);text-underline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,4vw,38px);line-height:1.15;letter-spacing:-1px;margin-bottom:10px;font-weight:700}h2{font-size:23px;letter-spacing:-.4px;margin-bottom:12px}h3{font-size:18px;margin-bottom:10px}p{line-height:1.6;max-width:70ch}.muted{color:var(--muted)}.subtle{font-size:14px;color:var(--muted)}.shell{max-width:1180px;margin:auto;padding:0 32px 60px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);margin-bottom:36px}.brand{display:flex;align-items:center;gap:12px;color:var(--blue);font-weight:700;font-size:21px;text-decoration:none}.brand img{width:38px;height:38px}.topbar .context{display:flex;align-items:center;gap:12px}.back{display:inline-flex;gap:8px;align-items:center}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px}.page-heading p{margin-bottom:0}.home{max-width:900px;margin:50px auto}.home-title{max-width:650px;margin-bottom:40px}.home-title h1{font-size:clamp(34px,5vw,48px);line-height:1.1;letter-spacing:-1.8px}.intent-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:22px}.intent{min-height:275px;text-align:left;padding:30px;border-radius:16px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);box-shadow:none;font-weight:400}.intent.primary:hover{background:#1b4a69}.intent h2{font-size:29px;margin-top:26px}.intent p{line-height:1.55;margin-bottom:24px}.intent .intent-icon{height:34px;width:34px}.intent .intent-cta{margin-top:auto;font-weight:700}.intent .subtle{color:inherit;opacity:.8}.home-footer{display:flex;justify-content:space-between;gap:20px;margin-top:30px;flex-wrap:wrap}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.panel + .panel{margin-top:20px}.split{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:24px;align-items:start}.split.equal{grid-template-columns:1fr 1fr}.workspace-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.workspace-link{text-align:left;padding:25px;display:flex;gap:18px;align-items:center}.workspace-link h2{margin-bottom:7px}.workspace-link p{margin:0;font-weight:400}.workspace-link .count{margin-left:auto;font-size:25px;font-weight:400}.field{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:14px;margin-bottom:16px}.field input,.field select,.field textarea{font-weight:400;width:100%;min-height:44px;border:1px solid #c8d4dc;border-radius:7px;background:white;padding:10px 12px;color:var(--ink)}.field textarea{min-height:90px;resize:vertical}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.check{display:flex;gap:10px;align-items:center;margin:12px 0;line-height:1.4}.check input{accent-color:var(--blue);width:20px;height:20px;flex-shrink:0}.rule{border:0;border-top:1px solid var(--line);margin:24px 0}.empty{padding:35px 20px;text-align:center;color:var(--muted)}.list{display:flex;flex-direction:column;gap:12px}.list-item{display:flex;align-items:center;gap:16px;background:white;border:1px solid var(--line);border-radius:10px;padding:18px}.list-item h3{margin-bottom:5px}.list-item .text{flex:1;min-width:0}.list-item .text p{margin:0}.tag{display:inline-flex;align-items:center;padding:4px 9px;border-radius:5px;background:#edf3f6;color:var(--blue);font-size:12px;line-height:1.3;font-weight:600}.tags{display:flex;gap:6px;flex-wrap:wrap}.badge{border-radius:50%;width:34px;height:34px;background:#edf3f6;display:grid;place-items:center;font-size:14px;color:var(--blue);flex-shrink:0}.attendance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.player-check{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:14px;min-height:66px;background:white;cursor:pointer}.player-check:has(input:checked){border-color:#96b6ca;background:#edf3f6}.player-check input{accent-color:var(--blue);width:20px;height:20px}.player-check .badge{background:white}.player-check small{display:block;color:var(--muted);margin-top:4px}.steps{display:flex;gap:24px;margin-bottom:24px;font-size:14px;color:var(--muted)}.steps .active{color:var(--blue);font-weight:700}.steps span{display:flex;gap:7px;align-items:center}.step-dot{width:22px;height:22px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:12px}.active .step-dot{background:var(--blue);color:white;border-color:var(--blue)}.summary-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#eaf1f5;border-radius:10px;padding:18px 22px;margin-bottom:22px}.summary-strip strong{font-size:23px}.notice{font-size:14px;line-height:1.5;color:var(--warn);margin:8px 0}.warning-list{margin:0;padding-left:20px}.segment{border:1px solid var(--line);border-radius:10px;background:white;margin-bottom:12px;padding:16px}.segment-head{display:flex;align-items:center;gap:12px}.segment-head h3{margin:0;flex:1}.segment .fields{margin-top:14px}.segment .field{margin-bottom:0}.segment .field input{min-height:36px;padding:7px 10px}.drag-handle{color:#91a4af;font-size:20px;cursor:grab;letter-spacing:-4px;padding-right:8px}.segment.drag-over{border:2px dashed var(--steel)}.library-tools{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:14px}.library-tools .field{margin-bottom:0}.drill-card{padding:16px;border-bottom:1px solid var(--line)}.drill-card:last-child{border-bottom:0}.drill-card h3{margin:0;font-size:17px}.drill-card .button-row{justify-content:space-between;margin-top:10px}.drill-meta{font-size:13px;color:var(--muted);margin:7px 0}.timeline{margin-top:14px}.sticky{position:sticky;top:20px}.court{display:block;width:100%;max-height:450px;margin:auto}.court.editable{touch-action:none;cursor:crosshair;max-height:560px}.court-object{cursor:inherit}.editable .court-object{cursor:grab}.court-object.selected circle,.court-object.selected path{filter:drop-shadow(0 0 5px #4682b4);stroke-width:3}.diagram-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px}.diagram-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.diagram-tools button{font-size:14px;padding:9px 12px}.step-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.step-tabs .active{background:var(--blue);color:white;border-color:var(--blue)}.diagram-hint{text-align:center;font-size:13px;color:var(--muted);margin:12px auto}.practice-clock{display:flex;gap:12px;align-items:center;font-size:14px;color:var(--muted)}.practice-clock strong{font-size:21px;color:var(--blue);font-variant-numeric:tabular-nums}.run-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.current-drill{padding:30px}.current-drill h1{font-size:32px;margin-top:14px}.timers{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin:30px 0 22px}.timer{background:#edf3f6;border-radius:12px;padding:24px 18px;text-align:center}.timer.switch{background:var(--base);border:1px solid var(--line)}.timer .digits{font-size:clamp(42px,5vw,66px);letter-spacing:-2px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--blue);line-height:1.15;margin:8px 0}.timer.switch .digits{font-size:clamp(36px,4vw,54px);color:var(--steel)}.timer-label{font-size:14px;color:var(--muted)}.run-controls{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:20px}.run-controls button{min-height:52px}.coaching-points{margin:28px 0 10px}.coaching-points p{margin:0}.run-segment{display:flex;align-items:center;gap:10px;padding:15px 0;border-bottom:1px solid var(--line)}.run-segment:last-child{border-bottom:0}.run-segment.active .badge{background:var(--blue);color:white}.run-segment .text{flex:1}.run-segment strong{display:block;font-size:14px}.run-segment small{display:block;margin-top:5px;color:var(--muted)}.run-segment button{border:0;background:transparent;color:var(--muted)}.run-extra{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}details summary{cursor:pointer;min-height:44px;padding:12px 0;color:var(--blue);font-weight:600}details[open] summary{margin-bottom:12px}.session-row{display:grid;grid-template-columns:1fr 100px 100px;gap:16px;border-bottom:1px solid var(--line);padding:17px 0}.session-row small{display:block;color:var(--muted);margin-top:5px}.metric{font-variant-numeric:tabular-nums}.progress{height:5px;background:var(--line);border-radius:5px;overflow:hidden;margin:16px 0}.progress span{display:block;height:100%;background:var(--steel)}dialog{border:1px solid var(--line);border-radius:14px;padding:28px;max-width:650px;width:calc(100% - 32px);max-height:90dvh;color:var(--ink)}dialog::backdrop{background:#16374c77}dialog h2{margin-right:40px}.dialog-close{position:absolute;right:15px;top:15px}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:var(--blue);color:white;border-radius:8px;padding:12px 20px;max-width:calc(100% - 32px);z-index:10;display:none;font-size:14px}#toast.visible{display:block}.footer-note{margin-top:22px;font-size:13px;color:var(--muted)}.print-view{max-width:850px;background:white;margin:auto;padding:30px}.print-view th,.print-view td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}.print-view table{border-collapse:collapse;width:100%;font-size:14px}.print-view .court{max-height:230px}.print-drill{break-inside:avoid;margin-top:28px}.print-attendance{break-before:page}.print-attendance td{height:40px}.print-only{display:none}.resources a{display:block;margin-bottom:12px}.checkbox-label{font-size:14px}.roster-list .list-item{flex-wrap:wrap}.row-number{color:var(--muted);font-size:13px}.online-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:6px}
@media(max-width:850px){.split,.run-layout{grid-template-columns:1fr}.sticky{position:static}.run-sidebar{order:2}.diagram-layout{grid-template-columns:1fr}.diagram-layout aside{order:-1}.diagram-layout aside .field{display:inline-flex;margin-right:15px}.current-drill{padding:24px}.topbar{margin-bottom:26px}.run-segment{padding:12px 0}.home{margin-top:30px}}
@media(max-width:600px){.shell{padding:0 18px 35px}.topbar{height:72px;gap:8px}.brand{font-size:18px;gap:8px}.brand img{height:31px;width:31px}.topbar .context{gap:4px}.topbar .context>.subtle{display:none}.page-heading{flex-direction:column;gap:14px}.intent-grid{grid-template-columns:1fr;gap:14px}.intent{min-height:210px;padding:24px}.intent h2{margin-top:18px;margin-bottom:8px;font-size:26px}.intent-icon{display:none}.home-title{margin-bottom:26px}.home-title h1{font-size:36px}.workspace-grid{grid-template-columns:1fr}.workspace-link{padding:20px}.workspace-link h2{font-size:21px}.panel{padding:18px}.split.equal{grid-template-columns:1fr}.attendance-grid{gap:8px}.player-check{padding:12px 8px;gap:8px}.player-check .badge{width:26px;height:26px;font-size:12px}.steps{gap:12px;font-size:12px}.summary-strip{padding:14px 16px}.list-item{flex-wrap:wrap;padding:16px;gap:12px}.list-item .button-row{margin-left:auto}.fields.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fields.three label{font-size:12px}.segment{padding:13px}.segment-head{gap:8px}.segment-head h3{font-size:16px}.current-drill{padding:20px}.current-drill h1{font-size:28px}.timers{gap:10px;margin-top:24px}.timer{padding:20px 10px}.timer .digits{font-size:48px}.timer.switch .digits{font-size:40px}.timer-label{font-size:12px}.run-controls{gap:8px}.run-controls button{padding:10px 8px;font-size:14px}.practice-clock{gap:7px;font-size:12px}.practice-clock strong{font-size:17px}.topbar .context .back{font-size:13px;padding:8px}.library-tools{grid-template-columns:1fr 1fr}.home-footer{font-size:13px}.session-row{grid-template-columns:1fr 65px 65px;gap:8px;font-size:14px}.print-view{padding:18px}.diagram-tools{gap:6px}.diagram-tools button{font-size:12px;padding:8px}.steps span{gap:4px}.button-row .small{font-size:13px}}
@media print{body{background:white}.no-print,.topbar,#toast,dialog{display:none!important}.shell{padding:0;max-width:none}.print-view{padding:0;max-width:none}.print-only{display:block}button{display:none!important}.print-view h1{font-size:27px}.print-view h2{font-size:21px}.print-view p{font-size:12px}.print-drill{break-inside:avoid}.print-attendance{break-before:page}@page{margin:16mm}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media(max-width:600px){.brand{font-size:16px;gap:6px}.brand span{white-space:nowrap}.brand img{width:26px;height:26px}.practice-clock{gap:6px}.practice-clock strong{font-size:16px}.topbar .context .back{font-size:12px;padding:6px}.segment-head .badge{width:26px;height:26px}.segment-head .small{padding:6px 8px}}

@media(max-width:850px){.diagram-layout aside{order:2}.diagram-layout aside .field{display:flex;margin-right:0}}
.template-controls{margin-bottom:18px}.diagram-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;color:var(--muted);margin:15px 0}.pass-key::before,.shot-key::before{content:'';display:inline-block;width:24px;border-top:3px dotted black;margin-right:6px;vertical-align:middle}.shot-key::before{border-color:#c53636}
#animation-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:20px;background:#f5f7f8;overflow:hidden}
#animation-dialog[open]{display:flex;flex-direction:column;gap:12px}
#animation-dialog::backdrop{background:#f5f7f8}
#animation-dialog .animation-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}
#animation-dialog h2{margin:0;font-size:22px}
#animation-dialog .court{flex:1;min-height:0;height:100%;width:100%;max-height:none}
#animation-dialog .playback-bar{justify-content:center;flex-shrink:0}
#animation-dialog p{margin:0;text-align:center;max-width:none;font-size:13px;flex-shrink:0}
@media(max-width:600px){#animation-dialog{padding:14px}.template-controls button{font-size:13px}.animation-heading button{padding:8px 10px;font-size:12px}#animation-dialog h2{font-size:18px}}
.route-drawing-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:13px;color:var(--muted)}.court.drawing{cursor:crosshair;outline:2px solid var(--steel);outline-offset:3px}.route-drawing-toolbar span{line-height:1.4}.route-controls text{user-select:none}
.drill-workspace .page-heading>div:first-child{min-width:0}.drill-workspace .page-heading>.button-row{max-width:550px;justify-content:flex-end}.drill-workspace h1{overflow-wrap:anywhere}.drill-workspace .drill-save-status{margin-top:9px;font-size:13px;color:var(--green)}.drill-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:24px}.drill-tabs button{border:0;border-radius:0;background:transparent;padding:12px 22px;border-bottom:3px solid transparent;margin-bottom:-1px;color:var(--muted)}.drill-tabs button[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue)}.drill-tabs button:hover{background:#edf3f6}.draft-list{margin-bottom:24px}.draft-list .list-item{background:var(--base)}.preview-defaults{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px;margin-bottom:14px}.preview-defaults strong{display:block;font-size:38px;font-variant-numeric:tabular-nums;color:var(--blue);letter-spacing:-1px;line-height:1.3}.drill-preview h2{margin:0 0 16px}.drill-preview>.field{margin-top:12px}
@media(max-width:600px){.drill-workspace .page-heading>.button-row{justify-content:flex-start}.drill-tabs{gap:0}.drill-tabs button{flex:1;padding:12px 14px}.preview-defaults{gap:12px}.preview-defaults strong{font-size:32px}}

.drill-workspace .drill-save-status[data-unsaved=true]{color:var(--warn)}
