:root{color:#172033;background:#f8fafc;--cf-card-radius: 14px;--cf-card-border: #dbe5f3;--cf-card-shadow: 0 16px 38px rgb(15 23 42 / .08);--cf-table-cloth: #11a9c5;--cf-rail-color: #101827;--cf-landing-zone: #2f9e44;--cf-cue-path: #f8fafc;--cf-object-path: #cbd5e1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}button{min-height:44px;border:1px solid #2563eb;border-radius:12px;background:#2563eb;color:#fff;cursor:pointer;font:inherit;font-weight:700;padding:0 20px;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}button:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.7}textarea{border:1px solid #d8e0ef;border-radius:14px;box-sizing:border-box;color:inherit;font:inherit;padding:10px;width:100%}textarea{resize:vertical}input,select{border:1px solid #d8e0ef;border-radius:12px;box-sizing:border-box;color:inherit;font:inherit;padding:10px 12px;width:100%}.auth-shell{align-items:center;background:#f8fafc;display:grid;min-height:100vh;padding:24px}.auth-card{background:#fff;border:1px solid #e4eaf4;border-radius:18px;box-shadow:0 16px 40px #0f172a14;box-sizing:border-box;display:grid;gap:16px;justify-self:center;max-width:460px;padding:28px;width:100%}.auth-card h1{color:#0f172a;font-size:2rem;margin:0}.auth-card p{color:#64748b;margin:0}.auth-field{color:#0f172a;display:grid;font-size:.92rem;font-weight:500;gap:7px}.onboarding-card{max-width:560px}.rating-fieldset{border:1px solid #e4eaf4;border-radius:14px;display:grid;gap:12px;margin:0;padding:16px}.rating-fieldset legend{color:#1d4ed8;font-size:.9rem;font-weight:600;padding:0 6px}.drill-link{min-height:auto;border:0;background:transparent;color:#135a41;padding:0;text-align:left;text-decoration:underline}.app-shell{background:#f8fafc;display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.app-frame{margin:0;min-width:0;width:100%}.content{margin:0 auto;padding:28px 24px 40px;width:min(100%,1500px)}.sidebar-nav{display:grid;gap:6px;align-content:start}.sidebar-item.active{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 10px 22px #2563eb47}.sidebar-footer{display:grid;gap:6px}.sidebar-footer p{color:#94a3b8;font-size:.86rem;margin:0 0 2px 10px}h1{font-size:2.6rem;line-height:1.1;margin:0 0 24px}h2{font-size:1.55rem;line-height:1.2;margin:0 0 14px}h3{font-size:1.1rem;line-height:1.3;margin:0}p{margin:0 0 22px}.panel{border-top:1px solid #d7ddd2;padding-top:24px}.dashboard{display:grid;gap:20px;margin:0 auto;max-width:940px}.dashboard-question{color:#526159;font-size:1.15rem;font-weight:700;margin:-10px 0 0}.dashboard-card{background:#fff;border:1px solid #e4eaf4;border-radius:18px;box-shadow:0 16px 40px #0f172a14;padding:24px}.primary-card{border-color:#dbe7ff;padding:28px}.section-label{color:#64748b;font-size:1rem;font-weight:700;letter-spacing:0;margin:0 0 12px}.primary-card h2{font-size:2.35rem;line-height:1.08;margin-bottom:30px}.metric-label{color:#526159;font-weight:700;margin:0 0 6px}.dashboard-metric{font-size:2rem;font-weight:800;line-height:1.1;margin-bottom:28px}.today-focus-copy{color:#0f172a;font-size:1.05rem;line-height:1.5;margin:0 0 22px;max-width:760px}.focus-area-label{margin-top:0}.primary-card .challenge-drill-title{font-size:1.45rem;font-weight:600;line-height:1.25;margin:4px 0}.primary-card-insights{border-bottom:1px solid #e5e7eb;border-top:1px solid #e5e7eb;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 22px;padding:18px 0}.primary-card-insights p:last-child{color:#0f172a;font-size:1rem;line-height:1.5;margin:0}.primary-card-drill-row{border-bottom:1px solid #e5e7eb;margin-bottom:10px;padding-bottom:10px}.challenge-summary-row{margin-bottom:0}.challenge-summary-row+.challenge-summary-row{margin-top:6px}.skill-profile-pra-text{border-bottom:1px solid #e5e7eb;margin:0 0 10px;padding-bottom:8px}.skill-profile-pra-text .section-label{margin-bottom:0}.pra-stage-row{align-items:baseline;display:flex;flex-wrap:nowrap;gap:32px}.pra-stage-item{align-items:baseline;color:#526159;display:inline-flex;font-size:1rem;gap:4px;line-height:1.45;margin:0;white-space:nowrap}.pra-stage-item strong{color:#0f172a;font-weight:600}.inline-link-button{background:transparent;border:0;color:#2563eb;cursor:pointer;font:inherit;font-weight:500;line-height:inherit;padding:0;vertical-align:baseline}.start-practice-button{font-size:1.2rem;min-height:64px;width:100%}.practice-summary{display:grid;gap:10px;margin:0}.practice-summary dt{color:#526159;font-weight:700}.practice-summary dd{font-size:1.55rem;font-weight:800;line-height:1.25;margin:0 0 10px}.practice-summary dd:last-child{color:#2f3d35;font-size:1.2rem;font-weight:700}.dashboard-progress-card,.dashboard-skill-card,.reports-page{display:grid;gap:18px}.dashboard-progress-card{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.dashboard-progress-column{min-width:0}.skill-profile-column{border-left:1px solid #e5e7eb;padding-left:22px}.compact-summary dd{font-size:1.1rem;margin-bottom:8px}.reports-page{margin:0 auto;max-width:960px;width:100%}.video-review-list-card{display:grid;gap:14px}.video-review-list{display:grid;gap:10px}.video-review-row{align-items:center;border:1px solid #e5e7eb;border-radius:10px;display:grid;gap:12px;grid-template-columns:minmax(220px,1fr) 90px 110px auto;padding:10px 12px}.video-review-row div{display:grid;gap:2px}.video-review-row strong{color:#0f172a;font-weight:600}.video-review-row span,.video-review-row small{color:#64748b;font-size:.86rem}.video-review-status-stack{align-items:flex-end;display:grid;gap:6px;justify-items:end}.coach-review-summary{border-top:1px solid #e5e7eb;display:grid;gap:3px;margin-top:6px;padding-top:6px}.coach-review-summary span,.coach-review-pending-card strong{color:#0f172a;font-size:.86rem;font-weight:600}.pending-review-summary span{color:#1d4ed8}.coach-review-pending-card{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;display:grid;gap:4px;margin-top:10px;padding:10px 12px}.coach-review-pending-card small{color:#475569}.drills-page{display:grid;gap:18px;margin:0 auto;max-width:1180px;width:100%}.drills-filter-card{align-items:end;display:grid;gap:14px;grid-template-columns:minmax(220px,1.3fr) repeat(4,minmax(150px,1fr))}.drills-table-card{overflow-x:auto}.drills-table{display:grid;min-width:1040px}.drills-row{align-items:start;border-top:1px solid #e5e7eb;display:grid;gap:14px;grid-template-columns:72px minmax(240px,1.8fr) minmax(130px,.9fr) 110px 88px 110px 120px;padding:12px 0}.drills-data-row{background:transparent;border-left:0;border-right:0;border-bottom:0;color:inherit;cursor:pointer;font:inherit;text-align:left;width:100%}.drills-module-group{display:grid}.drills-module-heading{align-items:center;background:transparent;border-bottom:1px solid #cbd5e1;border-left:0;border-top:0;color:#1d4ed8;display:flex;font-size:1rem;font-style:normal;font-weight:600;letter-spacing:0;min-height:36px;padding:10px 0 4px}.drills-module-heading+.drills-header{border-top:0;padding-top:10px}.drills-module-group+.drills-module-group .drills-module-heading{margin-top:10px}.drills-data-row span:first-child{padding-left:0;text-align:center}.drills-header span:first-child{text-align:center}.drills-data-row:hover,.drills-data-row:hover:not(:disabled),.drills-data-row:focus-visible{background:#f8fafc;color:inherit;transform:none}.drills-data-row:hover span,.drills-data-row:hover strong{color:inherit}.drills-row:first-child{border-top:0}.drills-header{color:#64748b;font-size:.82rem;font-weight:600;padding-top:0;text-transform:uppercase}.drills-row span{color:#475569;font-size:.92rem;line-height:1.4}.drills-row small{color:#64748b;display:block;font-size:.8rem;font-weight:400;margin-top:3px}.drills-row span:nth-child(2),.drill-code-cell{color:#0f172a!important;font-weight:600}.drills-row span:nth-child(2) strong{font-weight:500}.status-pill{border:1px solid #e5e7eb;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:600;padding:4px 9px}.status-draft{background:#f8fafc;color:#475569}.status-testing{background:#eff6ff;color:#1d4ed8}.status-published{background:#ecfdf5;color:#047857}.status-retired{background:#fef2f2;color:#b91c1c}.status-healthy{background:#ecfdf5;color:#047857}.status-warning{background:#fffbeb;color:#92400e}.status-error{background:#fef2f2;color:#b91c1c}.system-health-summary{align-items:center;display:flex;gap:14px}.system-health-summary small{color:#64748b}.system-health-table{display:grid;gap:0}.system-health-row{align-items:center;border-bottom:1px solid #e5e7eb;display:grid;gap:16px;grid-template-columns:220px 120px 1fr;padding:12px 0}.system-health-row:last-child{border-bottom:0}.system-health-header{color:#64748b;font-size:.8rem;font-weight:600;text-transform:uppercase}.system-health-row strong{color:#0f172a;font-weight:600}.system-health-row span:last-child{color:#475569}.status-pending{background:#fffbeb;color:#92400e}.status-reviewed{background:#ecfdf5;color:#047857}.status-failed{background:#fef2f2;color:#b91c1c}.drill-detail-page{display:grid;gap:8px;margin:0 auto;max-width:1120px;width:100%}.drill-detail-header{align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) max-content;padding:16px 20px}.drill-detail-header>div:first-child{min-width:0}.drill-detail-header h1{color:#0f172a;font-size:clamp(1.35rem,2vw,1.55rem);font-weight:600;line-height:1.15;margin:0 0 3px}.drill-detail-header p{margin-bottom:0}.drill-detail-status{align-items:flex-end;display:grid;gap:8px;justify-items:end}.drill-detail-status small{color:#64748b}.admin-drill-controls{align-items:center;display:flex;gap:16px;justify-content:space-between}.admin-drill-controls div{display:flex;flex-wrap:wrap;gap:10px}.compact-action{width:auto}.drill-detail-grid{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr)}.drill-detail-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.drill-detail-diagram{padding:10px}.drill-goal-notes-card{display:grid;gap:8px;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)}.drill-goal-notes-card p:last-child{color:#475569;line-height:1.45;margin-bottom:0}.drill-detail-support-grid .pool-table-diagram{min-height:300px;max-height:390px}.drill-detail-bottom-grid{gap:28px}.drill-detail-measurement{text-align:center;width:100%}.drill-detail-measurement h2{color:#0f172a;font-size:1.2rem;font-weight:600;margin:4px 0}.drill-detail-measurement p:last-child{color:#475569;margin-bottom:0}.drill-coaching-page{display:grid;gap:18px}.drill-coaching-back{justify-self:start}.drill-coaching-shell{align-items:start;display:grid;gap:22px;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.drill-coaching-main,.drill-coaching-side{display:grid;gap:18px}.drill-coaching-card{background:#fff;border:1px solid var(--cf-card-border);border-radius:var(--cf-card-radius);box-shadow:var(--cf-card-shadow);box-sizing:border-box;padding:18px}.drill-coaching-header{align-items:start;display:flex;gap:18px;justify-content:space-between}.drill-coaching-title-line{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.drill-coaching-header h1{color:#101827;font-size:clamp(2rem,3vw,3.25rem);letter-spacing:0;line-height:1.05;margin:0}.drill-coaching-header p{color:#334155;font-size:1.05rem;line-height:1.5;margin:12px 0 0;max-width:880px}.drill-level-badge{border:1px solid #f59e0b;border-radius:999px;color:#b45309;font-weight:800;padding:6px 14px}.drill-level-beginner{border-color:#22c55e;color:#15803d}.drill-level-advanced{border-color:#7c3aed;color:#6d28d9}.drill-coaching-status{align-items:end;display:grid;gap:7px;justify-items:end;min-width:max-content}.drill-coaching-status small{color:#64748b}.drill-metadata-pills{display:flex;flex-wrap:wrap;gap:12px}.drill-metadata-pill{background:#f3f6fb;border:1px solid #e3eaf5;border-radius:10px;color:#25324a;display:inline-flex;gap:7px;line-height:1;padding:12px 14px}.drill-metadata-pill strong{color:#101827}.drill-diagram-card{padding:12px}.drill-diagram-card .pool-table-diagram{filter:drop-shadow(0 16px 28px rgb(15 23 42 / .16));margin-top:0;min-height:430px}.drill-legend{align-items:center;display:flex;flex-wrap:wrap;gap:18px;justify-content:center;padding:14px 8px 4px}.drill-legend-item{align-items:center;color:#1f2937;display:inline-flex;font-size:.94rem;font-weight:700;gap:8px}.drill-legend-symbol{display:inline-block;flex:0 0 auto}.legend-cue-ball,.legend-object-ball{border-radius:999px;height:17px;width:17px}.legend-cue-ball{background:#fff;border:1px solid #9ca3af;box-shadow:inset -3px -3px #e5e7eb;position:relative}.legend-cue-ball:after{background:#dc2626;border-radius:999px;content:"";height:5px;left:8px;position:absolute;top:8px;width:5px}.legend-object-ball{background:#111827;border:1px solid #020617}.legend-aim-line,.legend-cue-path,.legend-object-path{height:0;width:44px}.legend-aim-line{border-top:3px dotted #94a3b8}.legend-cue-path{border-top:4px solid #2563eb}.legend-object-path{border-top:3px dashed #94a3b8}.legend-landing-zone{background:#2f9e442e;border:2px dashed var(--cf-landing-zone);border-radius:4px;height:16px;width:34px}.legend-target-pocket{border:3px solid #111827;border-radius:999px;height:16px;width:16px}.success-criteria-card{background:linear-gradient(180deg,#f2fbf3,#fff);border-color:#b7e4c3}.drill-coaching-card h2,.drill-coaching-card h3{color:#111827;font-size:1.08rem;line-height:1.25;margin:0 0 12px}.success-criteria-card h2{color:#166534}.success-criteria-card ul,.common-mistakes-card ul{display:grid;gap:12px;list-style:none;margin:0;padding:0}.success-criteria-card li,.common-mistakes-card li{color:#25324a;line-height:1.45;padding-left:30px;position:relative}.success-criteria-card li:before,.common-mistakes-card li:before{align-items:center;border-radius:6px;color:#fff;display:inline-flex;font-size:.8rem;font-weight:900;height:18px;justify-content:center;left:0;position:absolute;top:2px;width:18px}.success-criteria-card li:before{background:#2f9e44;content:"✓"}.common-mistakes-card h2{color:#b91c1c}.common-mistakes-card li:before{background:#dc2626;content:"×"}.setup-steps-card{display:grid;gap:12px}.setup-steps-card .setup-list,.setup-steps-card .instruction-list{color:#25324a;line-height:1.55;margin:0}.setup-steps-card .setup-list{padding-left:20px}.setup-steps-card .instruction-list{padding-left:22px}.setup-steps-card li+li{margin-top:8px}.drill-coaching-bottom-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr)}.coaching-notes-card{background:linear-gradient(180deg,#f8fbff,#fff);border-color:#bfdbfe}.coaching-notes-card h2,.proficiency-levels-card h2{color:#2563eb}.coaching-notes-card p,.drill-coaching-measure-card p{color:#334155;line-height:1.5;margin:0}.proficiency-levels-card .criteria-list{margin:0}.drill-coaching-measure-card{text-align:center}.drill-coaching-measure-card h3{margin-bottom:6px}.skill-profile-list{display:grid;gap:12px}.skill-profile-row{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(0,1.35fr) minmax(88px,.8fr) 36px}.skill-profile-row span{color:#0f172a;display:block;font-weight:600}.skill-profile-row small{color:#64748b;display:block;font-size:.78rem;margin-top:2px}.skill-profile-row strong{color:#0f172a;font-size:1rem;font-weight:600;text-align:right}.skill-meter{background:#e5e7eb;border-radius:999px;height:10px;overflow:hidden}.skill-meter span{background:#2563eb;border-radius:inherit;display:block;height:100%}.skill-callouts{border-top:1px solid #e5e7eb;color:#475569;display:flex;flex-wrap:wrap;gap:10px 18px;font-size:.92rem;margin-top:4px;padding-top:14px}.report-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:780px){.dashboard-progress-card{grid-template-columns:1fr}.skill-profile-column{border-left:0;border-top:1px solid #e5e7eb;padding-left:0;padding-top:20px}}.drill-list{list-style:none;margin:0 0 24px;padding:0}.drill-list li{border-bottom:1px solid #d7ddd2;margin:0;padding:16px 0}.drill-row{align-items:center;display:flex;gap:10px;margin-bottom:12px}.progress-label{color:#526159;font-weight:700;margin:10px 0 0}.session-progress{margin-bottom:22px}.progress-track{background:#d9e1d8;border-radius:999px;height:10px;overflow:hidden}.progress-fill{background:#2563eb;border-radius:inherit;display:block;height:100%}.practice-drill{display:grid;gap:18px}.practice-navigation{display:grid;gap:10px;grid-template-columns:1fr;margin-top:0}.completed-checkbox{height:18px;width:18px}.score-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}.field-label{display:block;font-weight:700;margin-top:12px}.field-label input,.field-label textarea{display:block;font-weight:400;margin-top:6px}.counter-control{align-items:center;display:grid;gap:12px;grid-template-columns:52px minmax(64px,1fr) 52px;margin-top:14px;max-width:220px}.counter-button{min-height:52px;padding:0}.counter-value{border:1px solid #d8e0ef;border-radius:8px;box-sizing:border-box;display:block;font-weight:700;font-size:1.35rem;line-height:52px;min-height:52px;text-align:center}.auth-notice{margin:0;padding:.75rem .9rem;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1e3a8a;font-size:.92rem;line-height:1.4}.secondary-action{border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;font-weight:700;padding:.75rem 1rem;cursor:pointer}.secondary-action:hover{border-color:#94a3b8;background:#f8fafc}.error{color:#b42318;font-weight:700}.success-message{color:#166534;font-weight:600}.measurement-target{color:#526159;margin:0 0 12px;font-weight:700}.guided-session{padding-top:0}.drill-header{margin-bottom:22px}.drill-header h1{font-size:2.15rem;margin-bottom:8px}.drill-header p{color:#526159;font-weight:700;margin:0}.drill-code{color:#2563eb;font-size:.95rem;font-weight:800;margin-bottom:8px}.guided-step{background:#fff;border:1px solid #e4eaf4;border-radius:16px;box-shadow:0 10px 24px #0f172a0d;box-sizing:border-box;display:block;padding:20px}.guided-step h2{font-size:1.05rem;margin-bottom:10px}.guided-step p{line-height:1.55;margin:0}.guided-step summary{cursor:pointer;font-size:1.05rem;font-weight:800}.guided-step summary+p{margin-top:12px}.measurement-step{border-color:#dbe7ff}.notes-step{font-weight:700}.notes-step span{display:block;font-size:1.05rem;margin-bottom:10px}.notes-step textarea{font-weight:400;min-height:92px}.coach-tip{background:#f9fbf7}.navigation-card h2{margin-bottom:14px}.details-list{margin:0 0 24px}.compact-details{margin-top:18px}.details-list dt{font-weight:700;margin-top:16px}.details-list dd{margin:4px 0 0}.feedback-screen{display:grid;gap:18px}.feedback-screen>h2{font-size:2rem;margin-bottom:0}.feedback-summary{background:#fff;border:1px solid #e4eaf4;border-radius:18px;box-shadow:0 16px 40px #0f172a14;padding:24px}.feedback-list{display:grid;gap:10px;margin:0}.feedback-list dt{color:#526159;font-weight:800}.feedback-list dd{font-size:1.2rem;font-weight:800;margin:0 0 12px}.session-note-field{display:block;font-weight:800}.session-note-field span{display:block;margin-bottom:10px}.session-note-field textarea{font-weight:400;min-height:104px}.session-note-preview{border-top:1px solid #e4eaf4;margin-top:18px;padding-top:18px}.session-note-preview h3{margin-bottom:8px}.session-note-preview p{margin:0}.summary-result{border-bottom:1px solid #e3e8e1;padding:0 0 14px}.summary-result:last-child{border-bottom:0;padding-bottom:0}.review-list{margin:6px 0 0;padding-left:20px}.continue-button{font-size:1.1rem;min-height:58px;width:100%}@media(min-width:760px){.app-shell{padding-top:0}.top-bar{display:flex}.top-nav{justify-content:flex-end}.practice-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}}.practice-workspace{align-items:start;display:grid;gap:22px;grid-template-columns:minmax(0,1fr);margin:0 auto;width:min(100%,1320px)}.mockup-panel{background:#f8fbff;border:1px solid #e3eaf5;border-radius:24px;box-shadow:0 18px 50px #0f172a17;box-sizing:border-box;display:grid;gap:18px;min-width:0;padding:22px}.drill-panel{background:#fff}.feedback-panel,.complete-panel{align-content:start}.text-link{background:transparent;border:0;color:#2563eb;font-size:.9rem;font-weight:800;justify-self:start;min-height:auto;padding:0}.text-link:hover:not(:disabled){background:transparent;color:#1d4ed8;transform:none}.panel-header{display:grid;gap:8px}.panel-header.centered{justify-items:center;text-align:center}.eyebrow{color:#64748b;font-size:.88rem;font-weight:900;letter-spacing:.02em;margin:0;text-transform:uppercase}.panel-header h2{color:#111827;font-size:1.55rem;margin:0}.drill-card{background:#fff;border:1px solid #e4eaf4;border-radius:22px;box-shadow:0 14px 36px #0f172a12;display:grid;gap:18px;padding:22px}.drill-card h3{color:#111827;font-size:1.8rem;margin-top:-8px}.card-section{border-top:1px solid #edf2f8;display:grid;gap:8px;padding-top:16px}.card-section h4{color:#111827;font-size:.98rem;margin:0}.card-section p{color:#475569;line-height:1.55;margin:0}.pool-diagram{background:radial-gradient(circle at 20% 50%,rgb(255 255 255 / .12) 0 2px,transparent 3px),linear-gradient(135deg,#0f766e,#0b5f68);border:10px solid #334155;border-radius:18px;box-shadow:inset 0 0 0 2px #ffffff29;height:150px;overflow:hidden;position:relative}.rail{background:#ffffff3d;border-radius:999px;height:3px;left:18px;position:absolute;right:18px}.rail-top{top:18px}.rail-bottom{bottom:18px}.pocket{background:#020617;border-radius:999px;height:18px;position:absolute;width:18px}.pocket-1{left:8px;top:8px}.pocket-2{right:8px;top:8px}.pocket-3{bottom:8px;left:8px}.pocket-4{bottom:8px;right:8px}.ball{border-radius:999px;box-shadow:0 3px 8px #0f172a4d;height:18px;position:absolute;width:18px}.cue-ball{background:#fff;left:28%;top:58%}.object-ball{background:#facc15;right:26%;top:34%}.aim-line{background:#ffffff80;height:2px;left:34%;position:absolute;top:58%;transform:rotate(-19deg);transform-origin:left center;width:37%}.setup-section{align-items:start}.secondary-button{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;justify-self:start}.secondary-button:hover:not(:disabled){background:#dbeafe}.author-shortcut{margin-top:12px}.author-page{display:grid;gap:18px;margin:0 auto;max-width:1500px}.author-header{align-items:start;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 8px 24px #0f172a0f;display:flex;gap:18px;justify-content:space-between;padding:22px}.author-header h2{color:#0f172a;font-size:2rem;font-weight:600;margin:0 0 6px}.author-header p{color:#64748b;font-size:.95rem;margin:0}.author-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.author-layout{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(360px,.9fr) minmax(520px,1.4fr)}.author-form-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.author-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 8px 24px #0f172a0f;display:grid;gap:12px;padding:16px}.author-card h3{color:#1d4ed8;font-size:.86rem;font-weight:600;letter-spacing:.01em;margin:0;text-transform:uppercase}.author-field{color:#0f172a;display:grid;font-size:.86rem;font-weight:500;gap:6px}.author-field input,.author-field textarea,.author-field select{background:#fff;border:1px solid #dbe3ef;border-radius:10px;box-sizing:border-box;color:#0f172a;font:inherit;font-weight:400;padding:10px 11px;width:100%}.author-field textarea{line-height:1.45;min-height:0;resize:vertical}.author-field small,.author-tip{color:#64748b;font-size:.78rem;margin:0}.author-diagram-column{display:grid;gap:12px}.author-diagram-column .pool-table-diagram{aspect-ratio:2 / 1;max-height:460px;width:100%}.author-canvas{position:relative}.author-canvas .pool-table-diagram{display:block;pointer-events:none}.author-canvas-overlay{cursor:crosshair;top:0;right:0;bottom:0;left:0;position:absolute}.author-diagram-element{cursor:grab}.author-diagram-element:active{cursor:grabbing}.resize-handle{cursor:nwse-resize}.builder-toolbar{display:grid;gap:8px;grid-template-columns:repeat(7,minmax(0,1fr))}.builder-toolbar button{background:#f8fafc;border-color:#dbe3ef;color:#0f172a;font-size:.8rem;font-weight:500;min-height:48px;padding:0 8px}.builder-toolbar button.active,.builder-toolbar button:hover:not(:disabled){background:#2563eb;border-color:#2563eb;color:#fff}.author-side-grid{align-items:start;display:grid;gap:12px;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr)}.element-list{display:grid;gap:8px;list-style:none;margin:0;padding:0}.element-list li{align-items:center;border:1px solid #edf2f8;border-radius:10px;display:grid;gap:8px;grid-template-columns:24px minmax(110px,.7fr) minmax(120px,1fr) auto;padding:9px 10px}.element-list li.selected{background:#eff6ff;border-color:#bfdbfe}.element-list span{color:#64748b;font-size:.78rem}.element-list strong{color:#0f172a;font-size:.86rem;font-weight:500}.element-select-button{background:transparent;border:0;color:inherit;justify-self:start;min-height:0;padding:0;text-align:left}.element-select-button:hover:not(:disabled){background:transparent;color:inherit;transform:none}.element-list small{color:#64748b;font-size:.76rem}.icon-button{background:#fff;border-color:#dbe3ef;color:#64748b;font-size:.76rem;font-weight:500;min-height:32px;padding:0 10px}.settings-list{color:#475569;display:grid;font-size:.88rem;gap:10px}.inspector-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.markdown-export{background:#0f172a;border-color:#0f172a;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.78rem}.author-status{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 8px 24px #0f172a0f;color:#475569;display:flex;font-size:.9rem;gap:16px;justify-content:space-between;padding:16px 18px}.author-status.valid{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.author-status.invalid{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.admin-page{display:grid;gap:18px}.admin-message{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;color:#1d4ed8;margin:0;padding:12px 14px}.admin-layout{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.admin-table{display:grid;gap:8px;overflow-x:auto}.admin-row{align-items:center;border:1px solid #edf2f8;border-radius:10px;display:grid;gap:10px;grid-template-columns:minmax(180px,1.2fr) minmax(120px,.8fr) repeat(4,minmax(90px,.7fr)) minmax(170px,1fr);min-width:920px;padding:10px}.admin-row-header{background:#f8fafc;color:#1d4ed8;font-size:.82rem;font-weight:600}.admin-actions,.admin-edit-actions{display:flex;flex-wrap:wrap;gap:8px}.protected-label{color:#64748b;font-size:.82rem;font-weight:600}.admin-actions button,.admin-edit-actions button{min-height:36px}.danger-button{background:#fff1f2;border-color:#fecdd3;color:#be123c}.danger-button:hover:not(:disabled){background:#ffe4e6}.admin-edit-card{position:sticky;top:24px}@media(max-width:1100px){.author-header,.author-layout,.author-side-grid,.admin-layout{grid-template-columns:1fr}.author-header{display:grid}.author-actions{justify-content:start}}@media(max-width:760px){.author-form-grid,.builder-toolbar,.element-list li{grid-template-columns:1fr}.author-status{align-items:start;display:grid}}.measurement-card{background:#f8fbff;border:1px solid #dbe7ff;border-radius:18px;padding:16px}.score-control{align-items:center;display:grid;gap:12px;grid-template-columns:52px minmax(0,1fr) 52px;margin-top:8px}.score-control span{background:#fff;border:1px solid #d8e0ef;border-radius:16px;display:grid;justify-items:center;min-height:58px;padding:8px}.score-control strong{color:#111827;font-size:1.65rem;line-height:1}.score-control small{color:#64748b;font-size:.75rem;font-weight:800}.primary-action{box-shadow:0 12px 24px #2563eb38;min-height:54px;width:100%}.status-icon,.trophy-icon{align-items:center;background:#eff6ff;border-radius:999px;color:#2563eb;display:inline-flex;height:56px;justify-content:center;width:56px}.status-icon svg,.trophy-icon svg{fill:currentColor;height:30px;width:30px}.feedback-card{background:#fff;border:1px solid #e4eaf4;border-radius:18px;box-shadow:0 10px 28px #0f172a0f;padding:18px}.feedback-card h3{color:#64748b;font-size:.9rem;font-weight:900;margin-bottom:8px}.feedback-card p{color:#111827;font-size:1.05rem;font-weight:800;margin:0}.score-card p{color:#2563eb;font-size:2rem}.compact-list{color:#334155;display:grid;gap:6px;margin:0;padding-left:18px}.public-resource-list{list-style:none;padding-left:0}.public-resource-list li{min-width:0}.public-resource-list a{color:#2563eb;display:block;font-weight:500;max-width:100%;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.public-resource-list a:hover{color:#1d4ed8;text-decoration:underline}.public-resource-list .resource-citation{color:#64748b;display:block;font-size:12px;font-weight:400;line-height:1.35;margin-top:2px}@media(min-width:980px){.content{padding-left:24px;padding-right:24px}.practice-workspace{grid-template-columns:minmax(360px,1.1fr) minmax(280px,.85fr) minmax(280px,.85fr)}}@media(max-width:680px){.top-bar{align-items:flex-start;flex-direction:column;gap:12px;padding:16px}.top-nav{width:100%}.content{padding:18px 14px 0}.mockup-panel{border-radius:18px;padding:16px}}:root{color:#0f172a;background:#f8fafc}.app-shell{background:#f8fafc}.content{max-width:1500px;padding:24px;width:100%}.top-bar{background:#07111f;gap:28px;justify-content:flex-start;min-height:64px;padding:0 24px}.top-bar h1{color:#fff;font-size:1.72rem;letter-spacing:-.03em}.top-bar h1 span:last-child{color:#2563eb}.top-nav{gap:24px;margin-left:14px;padding-bottom:0}.nav-item{border:0;border-radius:0;color:#fff;min-height:64px;padding:0 2px;position:relative}.nav-item:hover:not(:disabled),.nav-item.active{background:transparent;color:#fff}.nav-item.active:after{background:#2563eb;border-radius:999px 999px 0 0;bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.practice-workspace{gap:36px;width:100%}.mockup-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 24px #0f172a14;gap:16px;padding:16px}.text-link{color:#2563eb}.panel-header h2{color:#0f172a;font-size:1.45rem}.panel-header.centered{gap:8px}.panel-header.centered h2{font-size:1.5rem;margin-top:-2px}.panel-header.centered p{color:#64748b;margin:0}.drill-card{border-color:#e2e8f0;border-radius:12px;box-shadow:0 6px 20px #0f172a14;gap:14px;padding:16px}.drill-card h3{color:#0f172a;font-size:1.55rem}.card-section{border-top-color:#e2e8f0;padding-top:14px}.card-section h4,.feedback-card h3,.session-note-field span{color:#2563eb}.pool-diagram{background:radial-gradient(circle at 25% 50%,rgb(255 255 255 / .16) 0 2px,transparent 3px),linear-gradient(135deg,#197a45,#10643a);border:10px solid #4a2a13;border-radius:14px;box-shadow:inset 0 0 0 3px #ffffff1a,inset 0 0 28px #0000002e;height:174px}.rail{background:#ffffff4d}.pocket{height:20px;width:20px}.cue-ball{left:24%;top:48%}.object-ball{right:17%;top:48%}.aim-line{background:repeating-linear-gradient(90deg,rgb(255 255 255 / .65) 0 7px,transparent 7px 11px);height:1px;left:29%;top:54%;transform:none;width:54%}.measurement-card{background:#fff;border:0;border-radius:0;border-top:1px solid #e2e8f0;padding:14px 0 0}.score-control{grid-template-columns:44px minmax(0,86px) 44px;justify-content:center}.score-control span{background:transparent;border:0;min-height:54px}.score-control strong{color:#0f172a;font-size:1.9rem}.counter-button{background:#f1f5f9;border-color:#e2e8f0;border-radius:8px;color:#2563eb;min-height:40px}.counter-button:hover:not(:disabled){background:#e0edff}.primary-action{border-radius:6px;box-shadow:0 8px 16px #2563eb2e;min-height:52px}.status-icon,.trophy-icon{background:#16a34a;color:#fff;height:52px;margin-top:-40px;width:52px}.feedback-card{border-color:#e2e8f0;border-radius:8px;box-shadow:0 4px 14px #0f172a0f;padding:16px}.score-card p{color:#0f172a;font-size:2.15rem;text-align:center}.score-card small{color:#64748b;display:block;font-size:.95rem;font-weight:600;text-align:center}.level-text{color:#15803d!important}.learning-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.learning-list li{align-items:center;color:#0f172a;display:grid;font-weight:700;gap:10px;grid-template-columns:58px 1fr}.video-thumb{align-items:center;background:linear-gradient(#00000047,#00000047),linear-gradient(135deg,#164e63,#14532d);border-radius:4px;color:#fff;display:inline-flex;font-size:.8rem;height:36px;justify-content:center}.summary-table{display:grid}.summary-row{align-items:center;border-bottom:1px solid #e2e8f0;display:grid;font-size:.82rem;gap:8px;grid-template-columns:40px 1fr auto auto;padding:10px 0}.summary-row:last-child{border-bottom:0}.summary-row strong{color:#0f172a;white-space:nowrap}.summary-row em{color:#16a34a;font-style:normal;font-weight:700;text-align:right}.session-note-field{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px}@media(min-width:1000px){.practice-workspace{grid-template-columns:minmax(0,31fr) minmax(0,31fr) minmax(0,31fr)}}@media(max-width:999px){.practice-workspace{grid-template-columns:1fr}}body{color:#0f172a;font-size:14px;font-weight:400}button{border-radius:10px;font-weight:500}p,li,dd,textarea{color:#0f172a;font-weight:400}.content{box-sizing:border-box}.mockup-panel,.drill-card,.feedback-card,.session-note-field{border-color:#e5e7eb;box-shadow:0 8px 24px #0f172a0f}.mockup-panel{padding:20px}.drill-card,.feedback-card{border-radius:12px;padding:20px}.panel-header h2,.drill-card h3{color:#0f172a;font-size:24px;font-weight:600;letter-spacing:-.02em}.eyebrow,.section-label,.card-section h4,.feedback-card h3{color:#2563eb;font-size:14px;font-weight:600;letter-spacing:0;text-transform:none}.panel-header.centered p,.card-section p,.measurement-target,.score-control small,.feedback-card p,.compact-list,.summary-row,.session-note-field textarea::placeholder{color:#64748b;font-size:14px;font-weight:400}.feedback-card p,.compact-list li,.learning-list li{font-weight:400}.score-card p{color:#0f172a;font-size:32px;font-weight:600}.level-text{color:#15803d!important;font-size:20px!important;font-weight:600!important}.primary-action,.start-practice-button{border-radius:8px;box-shadow:0 8px 18px #2563eb2e;font-weight:500}.secondary-button{border-color:#dbeafe;border-radius:8px;box-shadow:none;font-weight:500}.pool-diagram{aspect-ratio:2.28 / 1;background:radial-gradient(circle at 14% 12%,rgb(255 255 255 / .2) 0 1px,transparent 2px),radial-gradient(circle at 30% 12%,rgb(255 255 255 / .2) 0 1px,transparent 2px),radial-gradient(circle at 50% 12%,rgb(255 255 255 / .2) 0 1px,transparent 2px),radial-gradient(circle at 70% 12%,rgb(255 255 255 / .2) 0 1px,transparent 2px),radial-gradient(circle at 86% 12%,rgb(255 255 255 / .2) 0 1px,transparent 2px),radial-gradient(circle at 14% 88%,rgb(255 255 255 / .2) 0 1px,transparent 2px),radial-gradient(circle at 30% 88%,rgb(255 255 255 / .2) 0 1px,transparent 2px),radial-gradient(circle at 50% 88%,rgb(255 255 255 / .2) 0 1px,transparent 2px),radial-gradient(circle at 70% 88%,rgb(255 255 255 / .2) 0 1px,transparent 2px),radial-gradient(circle at 86% 88%,rgb(255 255 255 / .2) 0 1px,transparent 2px),linear-gradient(145deg,#1f8a50,#116534 58%,#0f5131);border-color:#5a3418;height:auto}.pool-diagram:before,.pool-diagram:after{background:#020617;border-radius:999px;content:"";height:20px;left:50%;position:absolute;transform:translate(-50%);width:20px;z-index:2}.pool-diagram:before{top:-7px}.pool-diagram:after{bottom:-7px}.cue-ball{left:23%;top:47%}.object-ball{right:16%;top:47%}.aim-line{top:53%}.measurement-card{padding-top:16px}.score-control{gap:14px;grid-template-columns:44px 86px 44px;margin-top:8px}.counter-button{border-radius:8px;min-height:38px}.score-control strong{font-size:32px;font-weight:600}.learning-list{gap:0}.learning-list li{border-bottom:1px solid #e5e7eb;grid-template-columns:64px 1fr 18px;min-height:54px;padding:8px 0}.learning-list li:last-child{border-bottom:0}.learning-list li:after{color:#64748b;content:"↗";font-size:18px;line-height:1}.video-thumb{border-radius:5px;height:40px}.summary-row{color:#0f172a;font-weight:400}.summary-row strong,.summary-row em{font-weight:500}.session-note-field{border-radius:8px;font-weight:500}.session-note-field span{font-size:14px;font-weight:600}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{line-height:1.5}button,.text-link,.primary-action,.secondary-button,.start-practice-button,.continue-button,.nav-item{font-weight:500}.text-link{letter-spacing:0}.primary-action,.start-practice-button{box-shadow:0 6px 14px #2563eb29}.feedback-card p,.compact-list,.compact-list li,.learning-list,.learning-list li,.summary-row,.summary-row strong,.summary-row em{font-weight:400}.feedback-card h3,.card-section h4,.session-note-field span{font-weight:600}.video-recording-guide{border-color:#e2e8f0;display:grid;gap:0}.video-guide-toggle{align-items:center;background:transparent;border:0;color:#0f172a;cursor:pointer;display:flex;font:inherit;font-weight:650;justify-content:space-between;padding:0;text-align:left;width:100%}button.video-guide-toggle:hover:not(:disabled),button.video-guide-toggle:focus-visible{background:transparent;border-color:transparent;color:#0f172a;transform:none}button.video-guide-toggle:hover:not(:disabled) span:first-child,button.video-guide-toggle:focus-visible span:first-child{color:#0f172a}.video-guide-toggle-icon{align-items:center;border:1px solid #cbd5e1;border-radius:999px;color:#475569;display:inline-flex;flex:0 0 auto;font-size:16px;height:26px;justify-content:center;line-height:1;width:26px}.video-guide-body{display:grid;gap:7px;padding-top:6px}.video-guide-body>p,.camera-position-guide p{color:#475569;margin:0}.recording-checklist{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));list-style:none;margin:0;padding:0}.recording-check-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:10px;padding:10px}.recording-check-icon{align-items:center;background:#dcfce7;border-radius:999px;color:#15803d;display:inline-flex;flex:0 0 auto;font-size:13px;font-weight:800;height:22px;justify-content:center;margin-top:1px;width:22px}.recording-check-item strong,.recording-check-item small{display:block}.recording-check-item strong{color:#0f172a;font-size:13px;line-height:1.3}.recording-check-item small{color:#64748b;font-size:12px;line-height:1.45;margin-top:3px}.camera-position-guide{align-items:stretch;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) 220px;padding:12px}.camera-position-guide h5{color:#0f3aa8;font-size:13px;margin:0 0 6px}.camera-position-placeholder{align-items:center;background:#eef6ff;border:1px dashed #93c5fd;border-radius:10px;display:grid;gap:8px;justify-items:center;min-height:116px;padding:10px}.camera-table{background:linear-gradient(135deg,#1976d2,#2f91ec);border:5px solid #0f172a;border-radius:8px;height:58px;position:relative;width:150px}.camera-table-rail{border-top:1px dashed rgb(255 255 255 / .5);left:20px;position:absolute;right:20px;top:28px}.camera-cue-line{background:#f8fafc;height:2px;left:26px;position:absolute;top:27px;transform:rotate(-4deg);transform-origin:left center;width:94px}.camera-ball{border-radius:999px;box-shadow:0 1px 3px #0f172a59;height:12px;position:absolute;top:22px;width:12px}.camera-cue-ball{background:#fff;left:46px}.camera-object-ball{background:#facc15;right:34px}.camera-marker{align-items:center;color:#475569;display:flex;gap:6px;font-size:11px;font-weight:600}.camera-marker span{background:#1d4ed8;border-radius:4px 4px 2px 2px;display:inline-block;height:14px;position:relative;width:20px}.camera-marker span:after{border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid #1d4ed8;content:"";left:5px;position:absolute;top:14px}@media(max-width:760px){.camera-position-guide{grid-template-columns:1fr}.camera-position-placeholder{min-height:130px}}.video-upload-card{display:grid;gap:10px}.video-upload-card input[type=file]{border:1px solid #dbe3ef;border-radius:10px;color:#475569;font:inherit;padding:9px}.video-upload-card .secondary-button{justify-self:start}.pool-table-diagram{aspect-ratio:1.6 / 1;background:transparent;border-radius:12px;box-sizing:border-box;display:block;filter:drop-shadow(0 10px 18px rgb(15 23 42 / .12));height:auto;margin-top:8px;max-height:none;min-height:220px;object-fit:contain;width:100%}.diagram-validation-error{background:#fff7ed;border:1px solid #fdba74;border-radius:8px;color:#7c2d12;margin-top:8px;padding:14px 16px}.diagram-validation-error strong{display:block;margin-bottom:8px}.diagram-validation-error ul{margin:0;padding-left:20px}.diagram-validation-wrapper{display:grid;gap:10px}.diagram-validation-warning{background:#fff7ed;border:1px solid #fdba74;border-radius:8px;color:#7c2d12;display:grid;gap:6px;padding:12px 14px}.diagram-validation-warning span{color:#9a3412}.diagram-validation-warning ul{margin:0;padding-left:20px}.drill-integrity-controls{display:grid;gap:14px;grid-template-columns:2fr 1fr 1fr}.drill-integrity-controls label{display:grid;gap:6px}.drill-integrity-controls input,.drill-integrity-controls select{border:1px solid #dbe3ef;border-radius:8px;font:inherit;padding:9px 10px}.drill-integrity-list{display:grid;gap:12px}.drill-integrity-item{border:1px solid #dbe3ef;border-radius:8px;display:grid;gap:10px;padding:14px}.drill-integrity-title{align-items:start;display:flex;gap:12px;justify-content:space-between}.drill-integrity-title>div:first-child{display:grid;gap:2px}.drill-integrity-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.drill-integrity-issues{display:grid;gap:8px;list-style:none;margin:0;padding:0}.drill-integrity-issues li{background:#f8fafc;border-radius:8px;display:grid;gap:3px;padding:10px}.drill-integrity-issues em{color:#2563eb;font-style:normal;font-weight:700;text-transform:capitalize}.drill-integrity-issues small{color:#64748b}.drill-integrity-fix{color:#475569;margin:0}.status-pill{border-radius:999px;font-size:.78rem;font-weight:700;padding:4px 9px;text-transform:capitalize}.status-pass,.severity-none{background:#dcfce7;color:#166534}.status-needs_repair,.severity-medium,.severity-high{background:#fef3c7;color:#92400e}.status-fail,.severity-critical{background:#fee2e2;color:#991b1b}.severity-low{background:#e0f2fe;color:#075985}.pool-diagram,.rail,.pocket,.ball,.cue-ball,.object-ball,.aim-line{display:none}.learning-list li{grid-template-columns:64px minmax(0,1fr) 18px}.learning-list li:after{content:none}.learning-copy{display:grid;gap:2px;min-width:0}.learning-copy span{color:#0f172a;font-size:14px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learning-copy small{color:#64748b;font-size:12px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.external-icon{color:#64748b;font-size:16px;font-weight:400}.score-control{grid-template-columns:40px 84px 40px}.counter-button{font-size:18px;font-weight:500;min-height:36px}.drill-code,.eyebrow,.text-link,.learning-copy span,.learning-copy small,.external-icon,.summary-row em,.summary-row strong{font-weight:400}.card-section h4,.feedback-card h3,.session-note-field span{font-weight:500}.panel-header h2,.drill-card h3{font-weight:600}.pool-table-diagram{min-height:260px}body,.card-section p,.feedback-card p,.compact-list,.compact-list li,.learning-copy small,.panel-header.centered p{color:#475569;font-weight:400}.drill-code,.summary-row span:first-child{color:#0f172a;font-weight:600}.section-label,.card-section h4,.feedback-card h3,.session-note-field span{color:#1d4ed8;font-weight:600}.panel-header h2,.drill-card h3,.panel-header.centered h2{color:#0f172a;font-weight:600}button,.primary-action,.secondary-button,.start-practice-button,.continue-button,.text-link,.nav-item{font-weight:500}.score-card p,.score-control strong{color:#0f172a;font-weight:600}.learning-copy span,.summary-row strong,.summary-row em,.level-text{font-weight:500}.pool-table-diagram{min-height:300px}.practice-workspace-single,.practice-workspace-page{grid-template-columns:minmax(0,1fr)}.practice-workspace-single{max-width:1180px}.practice-workspace-page{max-width:620px}.practice-workspace-single .mockup-panel{padding:24px}.practice-workspace-single .drill-card{gap:20px;padding:28px}.practice-workspace-single .pool-table-diagram{min-height:260px}@media(max-width:680px){.practice-workspace-single .mockup-panel,.practice-workspace-single .drill-card{padding:16px}.practice-workspace-single .pool-table-diagram{min-height:220px}}.practice-workspace-single{max-width:1100px}.practice-workspace-single .mockup-panel{padding:16px}.practice-workspace-single .drill-card{gap:16px;padding:20px}.drill-card-header{align-items:stretch;display:grid;gap:16px;grid-template-columns:minmax(320px,1.15fr) minmax(240px,.85fr)}.drill-title-block,.drill-header-card{border:1px solid #e5e7eb;border-radius:10px;box-sizing:border-box;padding:14px}.drill-title-block{display:grid;align-content:center}.drill-title-block h3{font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.15;margin:4px 0 0;overflow-wrap:normal}.drill-header-card h4,.criteria-list dt{color:#1d4ed8;font-size:14px;font-weight:600;margin:0 0 8px}.drill-header-card p{color:#475569;line-height:1.45;margin:0}.diagram-section{padding-top:6px}.how-to-section{border:1px solid #e5e7eb;border-radius:10px;padding:14px}.how-to-grid{display:grid;gap:16px;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)}.how-to-section h5{color:#0f172a;font-size:14px;font-weight:600;margin:0 0 8px}.how-to-section>.section-label,.how-to-section>h4{color:#1d4ed8;font-weight:600}.how-to-section p{color:#475569;line-height:1.45;margin:0}.how-to-section .setup-list,.how-to-section .instruction-list{color:#475569;font-size:.95rem;line-height:1.5;margin-bottom:0;margin-top:0}.how-to-section .setup-list li,.how-to-section .instruction-list li{margin-top:0}.how-to-section .setup-list li+li,.how-to-section .instruction-list li+li{margin-top:.35rem}.diagram-support-grid{align-items:start;display:grid;gap:8px;grid-template-columns:minmax(0,1.35fr) minmax(240px,.8fr)}.diagram-support-grid .diagram-section{grid-row:span 2}.diagram-section .pool-table-diagram{margin-top:0;min-height:260px;max-height:330px}.drill-detail-support-grid{margin-bottom:0}.drill-detail-support-grid .diagram-section .pool-table-diagram{min-height:430px;max-height:520px}.drill-detail-bottom-grid{display:grid!important;gap:8px;grid-template-columns:minmax(0,1fr)!important}.drill-detail-bottom-grid>.dashboard-card{min-width:0}.drill-detail-measurement .score-control{margin-left:auto;margin-right:auto;max-width:300px;width:100%}.drill-two-column{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.criteria-list{display:grid;gap:6px 12px;grid-template-columns:max-content minmax(0,1fr);margin:0}.criteria-list dd{color:#475569;margin:0}.instruction-list{color:#475569;display:grid;gap:6px;line-height:1.45;margin:0;padding-left:22px}.instruction-list li{padding-left:4px}.drill-actions{border-top:1px solid #e5e7eb;display:grid;gap:14px;padding-top:16px}.drill-action-panels{align-items:stretch;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.drill-actions .public-resources-card{border:1px solid #e5e7eb;border-radius:10px;padding:10px 14px}.drill-actions .public-resources-card h4{margin-bottom:6px}.drill-actions .public-resources-card p{color:#475569;margin:0}.drill-actions .measurement-card{border:1px solid #e5e7eb;border-radius:10px;padding:10px 14px}.drill-actions .measurement-card h4{margin-bottom:4px}.drill-actions .measurement-target{margin-bottom:4px;text-align:center}.drill-actions .score-control{margin-top:0}.drill-actions .score-control span{min-height:46px;padding:2px 8px}.drill-actions .score-control strong{font-size:28px}.drill-actions .primary-action{justify-self:center;max-width:280px;min-height:46px;width:min(100%,260px)}@media(max-width:900px){.drill-card-header,.how-to-grid,.drill-two-column,.diagram-support-grid{grid-template-columns:1fr}.diagram-support-grid .diagram-section{grid-row:auto}.diagram-section .pool-table-diagram{max-height:none;min-height:220px}}.app-shell{background:#f8fafc;display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh;padding:0}.app-frame{min-width:0}.content{box-sizing:border-box;margin:0 auto;max-width:1500px;padding:24px;width:100%}.sidebar-shell{background:linear-gradient(180deg,#07111f,#0b1b2d);box-shadow:12px 0 30px #0f172a1f;box-sizing:border-box;color:#e5edf7;display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;padding:22px 16px;position:sticky;top:0}.sidebar-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:22px}.sidebar-header-row .sidebar-brand{margin-bottom:0}.mobile-nav-bar,.mobile-nav-backdrop,.mobile-nav-drawer{display:none}.sidebar-brand{align-items:center;display:flex;gap:10px;margin-bottom:22px;text-decoration:none;background:transparent;border:0;cursor:pointer;padding:0;text-align:left}.brand-mark{align-items:center;background:#2563eb;border-radius:999px;color:#fff;display:inline-flex;font-size:.66rem;height:28px;justify-content:center;width:28px}.sidebar-brand strong{color:#fff;font-size:1.15rem;font-weight:600}.sidebar-brand strong span:last-child{color:#60a5fa}.sidebar-nav{align-content:start;display:grid;gap:6px}.sidebar-section{border-top:1px solid rgb(148 163 184 / .18);display:grid;gap:6px;margin-top:18px;padding-top:14px}.sidebar-section p{color:#94a3b8;font-size:.78rem;font-weight:500;margin:0 0 2px 10px}.sidebar-item{align-items:center;background:transparent;border:1px solid transparent;border-radius:10px;color:#dbe7f3;display:flex;font-size:.92rem;font-weight:500;gap:10px;justify-content:flex-start;min-height:42px;padding:0 11px;text-align:left;width:100%}.sidebar-item span{color:#cbd5e1;font-size:1rem;width:18px}.sidebar-item:hover:not(:disabled){background:#2563eb24;border-color:#60a5fa2e;color:#fff;transform:none}.sidebar-item.active{background:#2563eb;border-color:#2563eb;box-shadow:0 10px 22px #2563eb47;color:#fff}.sidebar-item.active span{color:#fff}.sidebar-settings{align-self:end}.current-focus-label{color:#2563eb!important}.report-pra-card p:not(.section-label){color:#475569;font-size:1rem;margin:4px 0 0}.report-pra-card strong{color:#0f172a;font-weight:600}.pra-page{display:grid;gap:18px;margin:0 auto;max-width:1120px;width:100%}.pra-header{align-items:end;display:flex;justify-content:space-between}.pra-header h1{color:#0f172a;font-size:2.2rem;font-weight:600;line-height:1.1;margin:0 0 8px}.pra-header p:last-child{color:#64748b;font-size:1rem;margin:0}.pra-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 8px 24px #0f172a0f;padding:24px}.pra-card h2{color:#0f172a;font-size:1.25rem;font-weight:600;margin:0 0 14px}.pra-card p{color:#475569;font-size:.96rem;line-height:1.55;margin:0 0 12px}.pra-card p:last-child{margin-bottom:0}.pra-intro-card{display:grid;gap:4px}.pra-bullet-list{color:#475569;display:grid;gap:8px;line-height:1.45;margin:6px 0 0;padding-left:20px}.pra-intro-note{margin-top:16px}.pra-intro-note p{color:#64748b;margin-bottom:4px}.pra-intro-note .pra-intro-note-spaced{margin-top:12px}.pra-intro-note p:last-child{margin-bottom:0}.pra-intro-note strong{color:#0f172a;font-weight:600}.inline-link-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:#2563eb;cursor:pointer;font:inherit;font-weight:500;line-height:inherit;min-height:0;padding:0;text-align:left;vertical-align:baseline}.inline-link-button:hover:not(:disabled){background:transparent;color:#2563eb;text-decoration:none;transform:none}.pra-ladder-card{display:grid;gap:10px}.pra-ladder-table{border:1px solid #e5e7eb;border-radius:12px;display:grid;overflow:hidden}.pra-ladder-row{align-items:center;border-top:1px solid #e5e7eb;display:grid;gap:12px;grid-template-columns:1fr .55fr 1fr;min-height:38px;padding:8px 12px}.pra-ladder-row:first-child{border-top:0}.pra-ladder-header{background:#f8fafc;color:#64748b;font-size:.82rem;font-weight:600;text-transform:uppercase}.pra-ladder-row span{color:#0f172a;font-size:.94rem;font-weight:500}.pra-ladder-row span:nth-child(2),.pra-ladder-row span:nth-child(3){color:#475569}.pra-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.pra-metrics{display:grid;gap:10px;margin:0}.pra-metrics dt{color:#64748b;font-size:.84rem;font-weight:500;margin:0}.pra-metrics dd{color:#0f172a;font-size:1rem;font-weight:600;margin:-4px 0 4px}.pra-empty-state{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;margin-top:16px!important;padding:12px}.pra-action-row{width:100%}.pra-action-button{min-width:0;width:100%}.pra-note-card{border-color:#bfdbfe;background:#f8fbff}.pra-attempt-card,.pra-result-card{border-color:#bfdbfe}.pra-result-card.passed{border-color:#bbf7d0;background:#f0fdf4}.pra-result-card.failed{border-color:#fecaca;background:#fff7f7}.pra-stage-task{color:#0f172a!important;font-size:1.15rem!important;font-weight:600}.pra-attempt-control{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 4px}.pra-attempt-control button{align-items:center;background:#fff;border:1px solid #dbe3ef;border-radius:10px;color:#0f172a;display:inline-flex;font-weight:600;height:44px;justify-content:center;width:44px}.pra-attempt-control button.active{background:#2563eb;border-color:#2563eb;color:#fff}.pra-history-list{display:grid;gap:8px;list-style:none;margin:16px 0 0;padding:0}.pra-history-list li{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;display:grid;gap:4px;grid-template-columns:80px 56px 1fr;padding:10px 12px}.pra-history-list span,.pra-history-list strong{color:#0f172a;font-weight:600}.pra-history-list small{color:#64748b}.pra-skill-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.pra-skill-score{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;display:grid;gap:4px;padding:12px}.pra-skill-score span,.pra-skill-score strong{color:#0f172a;font-weight:600}.pra-skill-score small{color:#64748b}@media(max-width:900px){.app-shell{display:block;min-height:100vh}.desktop-sidebar{display:none}.app-frame{padding-top:64px}.content{padding:18px 14px 32px}.mobile-nav-bar{align-items:center;background:linear-gradient(180deg,#07111f,#0b1b2d);box-shadow:0 10px 26px #0f172a2e;box-sizing:border-box;color:#fff;display:flex;height:64px;justify-content:space-between;left:0;padding:0 14px;position:fixed;right:0;top:0;z-index:80}.mobile-brand{margin:0}.mobile-menu-button,.mobile-drawer-close{align-items:center;background:#ffffff14;border:1px solid rgb(255 255 255 / .16);border-radius:12px;color:#fff;display:inline-flex;height:44px;justify-content:center;width:44px}.mobile-menu-button{flex-direction:column;gap:5px}.mobile-menu-button span{background:#fff;border-radius:999px;display:block;height:2px;width:20px}.mobile-drawer-close{font-size:1.6rem;line-height:1}.mobile-nav-backdrop{background:#0f172a7a;border:0;display:block;top:0;right:0;bottom:0;left:0;position:fixed;z-index:90}.mobile-nav-drawer{background:linear-gradient(180deg,#07111f,#0b1b2d);box-shadow:18px 0 38px #0f172a52;box-sizing:border-box;color:#e5edf7;display:grid;grid-template-rows:auto 1fr auto;height:100dvh;left:0;max-width:min(86vw,340px);overflow-y:auto;padding:18px 16px 22px;position:fixed;top:0;transform:translate(-104%);transition:transform .18s ease;width:340px;z-index:100}.mobile-nav-drawer.open{transform:translate(0)}.mobile-nav-drawer .sidebar-nav{grid-template-columns:1fr}.mobile-nav-drawer .sidebar-item{min-height:46px}.mobile-nav-drawer .sidebar-section{grid-column:auto}.pra-grid,.pra-history-list li,.pra-skill-grid{grid-template-columns:1fr}}.setup-list{margin:0;padding-left:1.1rem;color:#475569;font-size:.95rem;line-height:1.55}.setup-list li+li{margin-top:.35rem}.glossary-card{padding:24px}.glossary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.glossary-term{border:1px solid #e5e7eb;border-radius:12px;padding:16px;background:#fff}.glossary-term h2{margin:0 0 6px;color:#0f172a;font-size:1rem;font-weight:600}.glossary-term p{margin:0;color:#475569;font-size:.94rem;line-height:1.5}.glossary-sections{display:grid;gap:20px}.glossary-card h2{margin:0 0 16px;color:#1d4ed8;font-size:1.05rem;font-weight:600}.glossary-term h3{margin:0 0 6px;color:#0f172a;font-size:1rem;font-weight:600}.coaching-intelligence-card{display:grid;gap:12px}.coaching-intelligence-card h2{color:#0f172a;font-size:1.25rem;font-weight:600;margin:0}.coaching-outcome-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.improvement-timeline{display:grid;gap:8px}.timeline-row{align-items:center;border:1px solid #e5e7eb;border-radius:10px;display:grid;gap:10px;grid-template-columns:1fr auto auto;padding:10px 12px}.timeline-row span,.timeline-row small{color:#64748b}.timeline-row strong{color:#0f172a;font-weight:600}@media(max-width:900px){.coaching-outcome-grid,.timeline-row{grid-template-columns:1fr}}.challenge-outcome-summary{border-top:1px solid #e5e7eb;display:grid;gap:12px;margin-top:16px;padding-top:16px;text-align:left}.challenge-outcome-summary>div{display:grid;gap:3px}.challenge-outcome-summary span{color:#475569;font-size:.95rem}.challenge-recommendation{margin-top:6px}.challenge-drill-title{font-size:1.45rem;font-weight:600;line-height:1.25;margin-top:4px}.dashboard-grid{display:grid;gap:18px}.actionable-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-detail-list dd{font-size:1rem;font-weight:600}.dashboard-card-note{color:#64748b;font-size:.95rem;margin:12px 0}.dashboard-combined-card{display:grid;gap:18px}.dashboard-combined-card>div+div{border-top:1px solid #e5e7eb;padding-top:18px}.dashboard-combined-card p:last-child{color:#0f172a;font-size:1rem;line-height:1.5;margin:0}.coach-focus-card p:last-child,.recent-improvement-card p:last-child{color:#0f172a;font-size:1rem;line-height:1.5;margin:0}.skill-profile-dashboard-card{grid-column:1 / -1}@media(max-width:900px){.actionable-dashboard-grid,.primary-card-insights,.primary-card-drill-row{grid-template-columns:1fr}.primary-card-pra-summary{padding-top:0}}.password-requirements{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;color:#334155;font-size:.88rem;padding:12px 14px}.password-requirements p{font-weight:700;margin:0 0 6px}.password-requirements ul{margin:0;padding-left:18px}.password-requirements li+li{margin-top:4px}.video-recording-guide{background:#fff;border-color:#e2e8f0;border-left:1px solid #e2e8f0;box-shadow:0 6px 18px #0f172a0e}.video-guide-toggle{justify-content:space-between;gap:14px;width:100%}.video-guide-toggle span:first-child{color:#0f172a}.video-guide-toggle-icon{background:#fff;border-color:#cbd5e1;color:#475569;height:22px;width:22px}.mechanics-diagram{align-items:stretch;display:grid;gap:10px 14px;grid-template-columns:minmax(260px,1fr) minmax(220px,.82fr);min-height:300px}.mechanics-diagram-header{grid-column:1 / -1}.mechanics-diagram-header h4{color:#0f172a;font-size:22px;line-height:1.15;margin:2px 0 0}.mechanics-diagram-visual{align-self:start}.mechanics-diagram svg{height:auto;max-height:330px;width:100%}.mechanics-diagram-image{background:#f8fafc;border:1px solid #dbeafe;border-radius:8px;display:block;height:auto;max-height:330px;object-fit:contain;width:100%}.mechanics-diagram-content{align-self:start}.mechanics-diagram-content .setup-list{margin-top:0}@media(max-width:900px){.mechanics-diagram{grid-template-columns:1fr}}html,body,#root{max-width:100%;overflow-x:hidden}*{box-sizing:border-box}@media(max-width:760px){.content,.app-frame,.dashboard,.drills-page,.practice-workspace,.practice-workspace-single,.practice-workspace-page,.drill-detail-page,.author-page,.reports-page,.pra-page,.glossary-page{max-width:100%;min-width:0;overflow-wrap:anywhere;width:100%}.dashboard-card,.mockup-panel,.drill-card,.author-card,.card-section,.how-to-section,.drill-title-block,.drill-header-card{min-width:0}.dashboard-card{padding-left:14px;padding-right:14px}.drills-filter-card,.drill-action-panels,.drill-detail-grid.two-column,.drill-detail-bottom-grid,.drill-goal-notes-card,.drill-detail-support-grid,.diagram-support-grid,.how-to-grid,.drill-card-header,.author-header,.author-layout,.author-form-grid,.author-side-grid,.admin-layout,.report-grid,.dashboard-progress-grid,.profile-progress-grid,.primary-card-insights,.primary-card-drill-row,.recording-camera-layout,.video-review-row{display:grid;grid-template-columns:minmax(0,1fr)!important;width:100%}.author-header,.author-actions{align-items:stretch;flex-direction:column}.author-actions>*,.drill-detail-bottom-grid>.dashboard-card{width:100%}.drill-detail-bottom-grid{gap:10px}.drill-detail-public-resources{order:1}.drill-detail-measurement{order:2}.drill-action-panels{gap:10px}.drill-actions .public-resources-card{order:1}.drill-actions .measurement-card{order:2}.builder-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.element-list li,.admin-row,.system-health-row,.pra-history-list li,.timeline-row,.video-review-row{grid-template-columns:minmax(0,1fr)!important;min-width:0!important}.drills-table-card,.admin-table,.system-health-table,.pra-ladder-table{overflow-x:visible}.drills-table,.admin-table,.system-health-table,.pra-ladder-table{min-width:0!important;width:100%}.drills-header,.admin-row-header,.system-health-header,.pra-ladder-header{display:none}.drills-row{gap:8px;grid-template-columns:58px minmax(0,1fr)!important;padding:12px 0}.drills-data-row span:nth-child(n+3){grid-column:2}.drills-data-row span:nth-child(n+3):before{color:#64748b;display:inline-block;font-size:.74rem;font-weight:700;margin-right:6px;min-width:72px;text-transform:uppercase}.drills-data-row span:nth-child(3):before{content:"Skill"}.drills-data-row span:nth-child(4):before{content:"Level"}.drills-data-row span:nth-child(5):before{content:"Time"}.drills-data-row span:nth-child(6):before{content:"Status"}.drills-data-row span:nth-child(7):before{content:"Updated"}.pool-table-diagram,.mechanics-diagram svg{max-width:100%}.score-control,.counter-control{grid-template-columns:44px minmax(0,1fr) 44px!important;max-width:100%}h1{font-size:clamp(1.8rem,9vw,2.3rem)}.pra-header,.drill-detail-header,.dashboard-hero-card{min-width:0}.drill-detail-header{grid-template-columns:minmax(0,1fr)}.drill-detail-status{justify-items:start}}@media(max-width:900px){.drill-coaching-shell,.drill-coaching-bottom-grid{grid-template-columns:minmax(0,1fr)}.drill-coaching-header{display:grid}.drill-coaching-status{justify-items:start}.drill-coaching-header h1{font-size:clamp(1.8rem,8vw,2.45rem)}.drill-diagram-card .pool-table-diagram{min-height:260px}.drill-legend{justify-content:start}.drill-detail-bottom-grid{display:grid!important;gap:10px;grid-template-columns:minmax(0,1fr)!important}.drill-detail-public-resources{order:1}.drill-detail-measurement{order:2}}.learning-resource-link{align-items:center;color:inherit;display:grid;gap:10px;grid-template-columns:58px minmax(0,1fr) 18px;text-decoration:none;width:100%}.learning-resource-link:hover .learning-copy span{color:#1d4ed8}.learning-resource-item{align-items:stretch;display:grid;gap:3px;grid-template-columns:1fr}.learning-resource-citation{color:#64748b;display:block;font-size:12px;font-weight:400;line-height:1.35;margin-left:68px;overflow-wrap:anywhere}.compact-metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.metric-card{border:1px solid #d8e1ec;border-radius:8px;padding:12px;background:#f8fafc}.metric-card span{display:block;color:#64748b;font-size:.8rem;font-weight:700;text-transform:uppercase}.metric-card strong{display:block;margin-top:4px;color:#0f172a;font-size:1.2rem}.admin-analytics-table .system-health-row{align-items:start}.admin-analytics-table .system-health-row span{overflow-wrap:anywhere}.video-upload-control input[type=file]{display:none}.video-upload-control{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8e1ec;border-radius:8px;padding:10px 14px;background:#f8fafc;color:#334155;font-weight:800;cursor:pointer}.video-upload-control:hover{background:#eef3f8;border-color:#cbd5e1}.ai-analysis-selected-file{display:block;margin-left:18px;margin-top:8px;color:#64748b;overflow-wrap:anywhere}:root{--cf-card-radius: 14px;--cf-card-border: #e2e8f0;--cf-shadow-soft: 0 6px 18px rgba(15, 23, 42, .055);--cf-text-main: #0f172a;--cf-text-muted: #475569;--cf-blue: #1677ff;--cf-green: #1f8f3a;--cf-red: #dc2626;--cf-table-cloth: #18a8c8;--cf-table-rail: #303030}.drill-coaching-page{background:radial-gradient(circle at 20% 0%,rgb(22 119 255 / .04),transparent 32%),#fff;color:var(--cf-text-main);margin:0 auto;max-width:1500px;padding:32px}.drill-coaching-back{margin-bottom:18px}.challenge-coaching-page{display:grid;gap:0}.challenge-coaching-page .drill-coaching-back{margin-bottom:12px}.challenge-workflow-section{display:grid;gap:11px;margin:0;max-width:none;width:100%}.challenge-workflow-section .drill-actions{display:grid;gap:11px}.challenge-workflow-section .primary-action{justify-self:start}.challenge-coaching-page .video-recording-guide,.challenge-coaching-page .video-upload-card,.challenge-coaching-page .measurement-card,.challenge-coaching-page .public-resources-card{border:1px solid var(--cf-card-border);border-radius:var(--cf-card-radius);box-shadow:var(--cf-shadow-soft);box-sizing:border-box;padding:22px 24px}.challenge-coaching-page .video-guide-toggle,.challenge-coaching-page .video-upload-card h4,.challenge-coaching-page .measurement-card h4,.challenge-coaching-page .public-resources-card h4{align-items:center;color:#083481;display:flex;font-size:1.05rem;font-weight:700;gap:10px;line-height:1.2;margin:0 0 14px}.challenge-coaching-page .video-guide-toggle{justify-content:flex-start;margin:0}.challenge-coaching-page .video-guide-toggle span:first-child{color:#083481}.challenge-coaching-page .video-guide-toggle-icon{margin-left:2px}.challenge-coaching-page .video-guide-body,.challenge-coaching-page .video-upload-card,.challenge-coaching-page .measurement-card,.challenge-coaching-page .public-resources-card{color:#15213b;font-size:.96rem;font-weight:400;line-height:1.64}.challenge-coaching-page .video-upload-card p,.challenge-coaching-page .video-upload-card label,.challenge-coaching-page .measurement-target,.challenge-coaching-page .public-resource-list{color:#15213b;font-size:.96rem;line-height:1.64}.challenge-coaching-page .helper-text,.challenge-coaching-page .public-resource-list .resource-citation{color:#64748b;font-size:.88rem;line-height:1.5}.challenge-recording-guide-row{margin-top:8px;position:relative;width:100%;z-index:1}.challenge-recording-guide-row .video-recording-guide{width:100%}.mechanics-diagram-heading{color:var(--cf-text-main);font-size:1.05rem;font-weight:700;margin:0 0 14px}.drill-coaching-shell{align-items:start;display:grid;gap:28px;grid-template-columns:minmax(0,64fr) minmax(340px,36fr)}.drill-coaching-main,.drill-coaching-side{display:grid;gap:28px}.drill-coaching-side{gap:8px}.drill-coaching-card{background:#fff;border:1px solid var(--cf-card-border);border-radius:var(--cf-card-radius);box-shadow:var(--cf-shadow-soft);box-sizing:border-box;padding:24px}.drill-coaching-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.drill-coaching-title-line{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.drill-coaching-header h1{color:var(--cf-text-main);font-size:clamp(1.9rem,2.75vw,2.75rem);font-weight:700;letter-spacing:0;line-height:1.03;margin:0}.drill-coaching-header p{color:#26324c;font-size:1rem;font-weight:400;line-height:1.58;margin:18px 0 0;max-width:850px}.drill-level-badge{background:#fffaf0;border:1px solid #f5a623;border-radius:999px;color:#d97706;font-size:.88rem;font-weight:700;line-height:1;padding:10px 18px}.drill-level-beginner{background:#f0fdf4;border-color:#22c55e;color:#15803d}.drill-level-advanced{background:#f5f3ff;border-color:#8b5cf6;color:#6d28d9}.drill-coaching-status{display:none}.drill-metadata-pills{display:flex;flex-wrap:wrap;gap:18px}.drill-metadata-pill{background:#f7f8fb;border:1px solid #e3e8f0;border-radius:10px;box-shadow:0 2px 8px #0f172a08;color:#1f2a44;display:inline-flex;font-size:.92rem;gap:9px;line-height:1;min-width:108px;padding:14px 18px}.drill-metadata-pill strong{color:var(--cf-text-main);font-weight:700}.common-mistakes-card ul{display:grid;gap:16px;list-style:none;margin:0;padding:0}.common-mistakes-card li{color:#172033;font-size:.96rem;font-weight:400;line-height:1.6;padding-left:32px;position:relative}.common-mistakes-card li:before{align-items:center;border-radius:6px;color:#fff;display:inline-flex;font-size:.72rem;font-weight:700;height:18px;justify-content:center;left:0;position:absolute;top:2px;width:18px}.coaching-panel-card{display:grid;gap:0;padding:22px 24px}.coaching-panel-section{padding:26px 0}.coaching-panel-section:first-child{padding-top:0}.coaching-panel-section+.coaching-panel-section{border-top:1px solid #e5eaf2}.coaching-panel-section:last-child{padding-bottom:0}.coaching-panel-card h2{align-items:center;color:#083481;display:flex;font-size:1.05rem;font-weight:700;gap:10px;line-height:1.2;margin:0 0 14px}.coaching-panel-icon{align-items:center;background:#1677ff1f;border-radius:7px;color:var(--cf-blue);display:inline-flex;font-size:.78rem;height:23px;justify-content:center;width:23px}.coaching-panel-card .setup-list,.coaching-panel-card .instruction-list{color:#15213b;font-size:.96rem;font-weight:400;line-height:1.64;margin:0}.coaching-panel-card .setup-list{padding-left:24px}.coaching-panel-card .instruction-list{padding-left:28px}.coaching-panel-card .setup-execution-list{display:grid;gap:12px;font-size:1rem;line-height:1.68;padding-left:30px}.coaching-panel-card li+li{margin-top:8px}.common-mistakes-card h2{color:var(--cf-red)}.common-mistakes-card .mistakes-icon{background:transparent;color:#ef4444;font-size:1.55rem;height:23px;width:23px}.common-mistakes-card li:before{background:#ef4444;border-radius:999px;content:"×"}@media(max-width:1100px){.drill-coaching-shell{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.drill-coaching-page{margin-top:0;padding:16px}.drill-coaching-header{align-items:start;display:grid}.drill-coaching-header h1{font-size:clamp(1.8rem,9vw,2.4rem)}.drill-metadata-pills{gap:10px}.drill-metadata-pill{min-width:0;width:calc(50% - 5px)}}.drill-diagram-card{background:transparent;border:0;box-shadow:none;padding:0}.drill-diagram-card .diagram-validation-wrapper{display:block}.drill-diagram-card .pool-table-diagram{aspect-ratio:1.62 / 1;filter:drop-shadow(0 10px 18px rgb(15 23 42 / .12));margin:0;min-height:500px;width:100%}.drill-diagram-card .mechanics-diagram-visual-only{align-items:center;display:grid;grid-template-columns:minmax(0,1fr);min-height:500px}.drill-diagram-card .mechanics-diagram-visual-only .mechanics-diagram-visual{justify-self:stretch}.drill-diagram-card .mechanics-diagram-visual-only .mechanics-diagram-image,.drill-diagram-card .mechanics-diagram-visual-only svg{max-height:500px}.drill-legend{align-items:center;display:flex;flex-wrap:wrap;gap:26px;justify-content:center;padding:22px 8px 14px}.drill-legend-item{align-items:center;color:#334155;display:inline-flex;font-size:.9rem;font-weight:500;gap:10px;white-space:nowrap}.drill-legend-symbol{display:inline-block;flex:0 0 auto;height:28px;width:28px}.drill-legend-line-symbol{width:64px}.drill-legend-zone-symbol{width:50px}@media(max-width:900px){.drill-diagram-card .pool-table-diagram{min-height:300px}.drill-legend{gap:14px 20px;justify-content:start}}
