:root{color:#1f2933;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f5f0;font-family:system-ui,sans-serif}*,:before,:after{box-sizing:border-box}body{overflow-wrap:anywhere;min-width:20rem;min-height:100vh;margin:0}button,input,select,textarea{max-width:100%}button{min-width:2.75rem;min-height:2.75rem}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline-offset:2px;outline:3px solid #d29034}.skip-link{z-index:100;color:#fff;background:#285f5a;border-radius:.25rem;padding:.75rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus{outline-offset:2px;outline:3px solid #d29034;transform:translateY(0)}.page-shell{width:min(48rem,100% - 2rem);margin:0 auto;padding-block:1rem 4rem}.site-header{border-bottom:1px solid #c8c2b8;justify-content:space-between;align-items:center;gap:1rem;padding-block:1rem;display:flex}.site-brand{min-height:2.75rem;color:inherit;align-items:center;font-size:1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.site-header nav a,.page-shell main a{color:#285f5a}.site-header nav a{align-items:center;min-height:2.75rem;padding-inline:.5rem;display:inline-flex}.site-header nav a[aria-current=page]{font-weight:700}.page-shell main{padding-block:2rem}.page-shell h1,.page-shell p,.render-error h1,.render-error p{margin-block-start:0}.render-error{width:min(40rem,100% - 2rem);margin:4rem auto}.render-error button{min-height:2.75rem;padding-inline:1rem}.request-state{border-radius:.5rem;padding:1rem}.request-state h2,.request-state p{margin-block-start:0}.request-state--loading,.request-state--empty{background:#ebe7df}.request-state--error{background:#fff2f0;border:1px solid #9b3a32}.request-state__content>:last-child{margin-block-end:0}.request-state__action,.request-state--error button{margin-block-start:1rem}.request-state button{color:#fff;cursor:pointer;background:#285f5a;border:1px solid #285f5a;border-radius:.25rem;min-height:2.75rem;padding-inline:1rem}.request-state button:focus-visible{outline-offset:2px;outline:3px solid #d29034}.request-state button:disabled{cursor:wait;opacity:.7}.auth-card{background:#fff;border:1px solid #c8c2b8;border-radius:.5rem;max-width:30rem;margin-inline:auto;padding:1.5rem}.auth-card form{gap:1rem;margin-block:1.5rem;display:grid}.form-field{gap:.35rem;display:grid}.form-field label{font-weight:700}.form-field input{box-sizing:border-box;min-height:2.75rem;font:inherit;border:1px solid #6b7280;border-radius:.25rem;padding-inline:.75rem}.form-field input[aria-invalid=true]{border-color:#9b3a32}.form-field input:focus-visible,.auth-card button:focus-visible,.form-error-summary:focus-visible{outline-offset:2px;outline:3px solid #d29034}.form-field__error{color:#7d2d27;font-size:.9rem}.form-error-summary{color:#67241f;background:#fff2f0;border:1px solid #9b3a32;border-radius:.25rem;padding:.75rem}.session-message{background:#fff8df;border:1px solid #7a6a42;border-radius:.25rem;padding:.75rem}.session-message:focus-visible{outline-offset:2px;outline:3px solid #d29034}.auth-card button[type=submit]{color:#fff;min-height:2.75rem;font:inherit;cursor:pointer;background:#285f5a;border:1px solid #285f5a;border-radius:.25rem;padding-inline:1rem;font-weight:700}.auth-card button[type=submit]:disabled{cursor:wait;opacity:.65}.dashboard-heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.secondary-button{color:#285f5a;min-height:2.75rem;font:inherit;cursor:pointer;background:0 0;border:1px solid #285f5a;border-radius:.25rem;padding-inline:1rem;font-weight:700}.secondary-button:disabled{cursor:wait;opacity:.65}.secondary-button:focus-visible,.dashboard-actions a:focus-visible{outline-offset:2px;outline:3px solid #d29034}.dashboard-actions{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;padding:0;list-style:none;display:grid}.dashboard-actions a{box-sizing:border-box;background:#fff;border:1px solid #c8c2b8;border-radius:.5rem;gap:.5rem;height:100%;padding:1rem;text-decoration:none;display:grid}.dashboard-actions span{color:#1f2933}.previous-data{gap:1.5rem;display:grid}.history-filters{background:#fff;border:1px solid #c8c2b8;border-radius:.5rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem;padding:1rem;display:grid}.history-filters label{gap:.35rem;font-weight:700;display:grid}.history-filters select{min-height:2.75rem;font:inherit;background:#fff;border:1px solid #6b7280;border-radius:.25rem;padding-inline:.65rem}.history-filters select:focus-visible,.entry-history__link:focus-visible,.previous-data__empty-actions a:focus-visible{outline-offset:2px;outline:3px solid #d29034}.history-filters select:disabled{cursor:not-allowed;opacity:.65}.history-filters p{color:#4b5563;grid-column:1/-1;margin:0;font-size:.9rem}.entry-history{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.entry-history__link{color:inherit;background:#fff;border:1px solid #c8c2b8;border-radius:.5rem;gap:1rem;padding:1rem;text-decoration:none;display:grid}.entry-history__link:hover{border-color:#285f5a}.entry-history__heading{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;display:flex}.entry-history dl{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.75rem;margin:0;display:grid}.entry-history dl div{gap:.2rem;display:grid}.entry-history dt{color:#4b5563;font-size:.85rem}.entry-history dd{margin:0;font-weight:700}.previous-data__empty-actions{flex-wrap:wrap;gap:.75rem;display:flex}.previous-data__empty-actions a{border:1px solid #285f5a;border-radius:.25rem;align-items:center;min-height:2.75rem;padding-inline:1rem;font-weight:700;text-decoration:none;display:inline-flex}.previous-data__end{color:#4b5563}.practice-detail{gap:1.5rem;display:grid}.practice-detail>section,.practice-detail__repetition{gap:1rem;display:grid}.practice-detail__eyebrow{color:#4b5563;margin-block-end:.25rem;font-weight:700}.practice-detail__summary,.practice-detail__counts{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;margin:0;display:grid}.practice-detail__summary div,.practice-detail__counts div{background:#fff;border:1px solid #c8c2b8;border-radius:.35rem;padding:.75rem}.practice-detail__summary dt,.practice-detail__counts dt{color:#4b5563;font-size:.85rem}.practice-detail__summary dd,.practice-detail__counts dd{margin:.25rem 0 0;font-weight:700}.practice-detail__repetitions{gap:1.25rem;display:grid}.practice-detail__repetition{background:#fff;border:1px solid #c8c2b8;border-radius:.5rem;padding:1rem}.practice-detail__repetition h3,.practice-detail__repetition p{margin:0}.practice-detail__table-frame{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.practice-detail table{border-collapse:collapse;width:100%}.practice-detail caption{text-align:left;padding-block:.5rem;font-weight:700}.practice-detail th,.practice-detail td{text-align:left;white-space:nowrap;border:1px solid #c8c2b8;padding:.65rem}.live-pitch-detail{gap:1.5rem;display:grid}.live-pitch-detail>section{gap:1rem;display:grid}.live-pitch-detail__eyebrow{color:#4b5563;margin-block-end:.25rem;font-weight:700}.live-pitch-detail__summary{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;margin:0;display:grid}.live-pitch-detail__summary div{background:#fff;border:1px solid #c8c2b8;border-radius:.35rem;padding:.75rem}.live-pitch-detail__summary dt{color:#4b5563;font-size:.85rem}.live-pitch-detail__summary dd{margin:.25rem 0 0;font-weight:700}.danger-zone{background:#fff2f0;border:1px solid #9b3a32;border-radius:.5rem;justify-items:start;gap:.75rem;padding:1rem;display:grid}.danger-zone h2,.danger-zone p{margin:0}.danger-button{color:#fff;min-height:2.75rem;font:inherit;cursor:pointer;background:#7d2d27;border:1px solid #7d2d27;border-radius:.25rem;padding-inline:1rem;font-weight:700}.danger-button:disabled{cursor:not-allowed;opacity:.65}.danger-button:focus-visible{outline-offset:2px;outline:3px solid #d29034}.pitch-readout{background:#fff;border:1px solid #c8c2b8;border-radius:.5rem;gap:1rem;max-width:32rem;padding:1.25rem;display:grid}.pitch-display{gap:1rem;display:grid}.practice-session{gap:1.25rem;display:grid}.practice-session__summary{flex-wrap:wrap;gap:.5rem 1.5rem;display:flex}.practice-session__summary p{margin:0}.practice-feedback{background:#eef7f5;border-left:.3rem solid #285f5a;width:fit-content;margin:0;padding:.75rem 1rem;font-weight:700}.practice-session__skip{width:fit-content}.practice-session__actions{flex-wrap:wrap;gap:.75rem;display:flex}.practice-discard-backdrop{z-index:20;background:#141e1c8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.practice-discard-dialog{background:#fff;border-radius:.5rem;width:min(100%,30rem);max-height:calc(100dvh - 2rem);padding:1.25rem;overflow-y:auto;box-shadow:0 1rem 3rem #00000040}.practice-discard-dialog__actions{flex-wrap:wrap;gap:.75rem;display:flex}.practice-discard-dialog__actions button:focus-visible{outline-offset:2px;outline:3px solid #d29034}.practice-playback{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.practice-playback label{font-weight:700}.practice-playback select,.practice-playback button{min-height:2.75rem;font:inherit;padding-inline:.75rem}.reference-sequence{flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.reference-sequence li{border:1px solid #c8c2b8;border-radius:.25rem;padding:.35rem .6rem}.reference-sequence li[aria-current=step]{background:#eef7f5;border-color:#285f5a;font-weight:700}.practice-results{gap:1.5rem;display:grid}.practice-results__summary,.practice-results__counts{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;margin:0;display:grid}.practice-results__summary div,.practice-results__counts div{background:#fff;border:1px solid #c8c2b8;border-radius:.25rem;padding:.75rem}.practice-results__summary dt,.practice-results__counts dt{font-weight:700}.practice-results__summary dd,.practice-results__counts dd{margin:.25rem 0 0}.practice-results__repetition{gap:1rem;display:grid}.practice-results__actions{flex-wrap:wrap;gap:.75rem;display:flex}.practice-results__actions button,.practice-results__action-link{min-height:2.75rem}.practice-results__actions button:not(.secondary-button),.practice-results__action-link{box-sizing:border-box;color:#fff;font:inherit;cursor:pointer;background:#285f5a;border:1px solid #285f5a;border-radius:.25rem;align-items:center;padding-inline:1rem;font-weight:700;text-decoration:none;display:inline-flex}.practice-results__actions button:focus-visible,.practice-results__action-link:focus-visible{outline-offset:2px;outline:3px solid #d29034}.practice-results__repetition h2,.practice-results__repetition p{margin:0}.practice-results__table-frame{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.practice-results table{border-collapse:collapse;background:#fff;width:100%}.practice-results caption{text-align:left;padding-block:.5rem;font-weight:700}.practice-results th,.practice-results td{text-align:left;white-space:nowrap;border:1px solid #c8c2b8;padding:.65rem}.pitch-readout p,.pitch-readout h3,.pitch-readout dl{margin:0}.pitch-readout__status,.pitch-readout__values dd{font-weight:700}.pitch-readout__values{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.pitch-readout__values div{gap:.25rem;display:grid}.pitch-readout__values dd{margin:0;font-size:1.5rem}.pitch-readout__unavailable{color:#4b5563}.pitch-readout__target{border-top:1px solid #c8c2b8;gap:.5rem;padding-block-start:1rem;display:grid}.pitch-readout__feedback{font-weight:700}.pitch-graph{background:#fff;border:1px solid #c8c2b8;border-radius:.5rem;width:100%;height:clamp(12rem,50vw,18rem);display:block}.pitch-graph[hidden]{display:none}.pitch-graph__fallback{box-sizing:border-box;color:#67241f;background:#fff2f0;border:1px solid #9b3a32;border-radius:.5rem;min-height:8rem;margin:0;padding:1rem}.practice-setup{gap:1.5rem;max-width:40rem;display:grid}.practice-setup fieldset{background:#fff;border:1px solid #c8c2b8;border-radius:.5rem;gap:1rem;margin:0;padding:1.25rem;display:grid}.practice-setup legend{padding-inline:.35rem;font-weight:700}.practice-setup select{box-sizing:border-box;min-height:2.75rem;font:inherit;background:#fff;border:1px solid #6b7280;border-radius:.25rem;padding-inline:.75rem}.practice-setup select:focus-visible,.practice-setup__submit:focus-visible{outline-offset:2px;outline:3px solid #d29034}.practice-setup__fixed-rules{margin:0}.scale-preview{background:#fff;border:1px solid #c8c2b8;border-radius:.5rem;padding:1.25rem}.scale-preview h2,.scale-preview p{margin-block-start:0}.scale-preview ol{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.75rem;padding:0;list-style-position:inside;display:grid}.scale-preview li{border:1px solid #d8d2c8;border-radius:.25rem;padding:.75rem}.practice-setup__submit{color:#fff;min-height:2.75rem;font:inherit;cursor:pointer;background:#285f5a;border:1px solid #285f5a;border-radius:.25rem;justify-self:start;padding-inline:1rem;font-weight:700}.ready-sequence{flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.ready-sequence li{text-align:center;background:#fff;border:1px solid #c8c2b8;border-radius:.25rem;min-width:2.5rem;padding:.5rem}.practice-ready__actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.practice-ready__actions button:not(.secondary-button){color:#fff;min-height:2.75rem;font:inherit;cursor:pointer;background:#285f5a;border:1px solid #285f5a;border-radius:.25rem;padding-inline:1rem;font-weight:700}.practice-ready__actions button:focus-visible{outline-offset:2px;outline:3px solid #d29034}.practice-ready__actions button:disabled{cursor:wait;opacity:.65}.live-pitch{gap:1rem;display:grid}.live-pitch-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.live-pitch-actions button{color:#fff;min-height:2.75rem;font:inherit;cursor:pointer;background:#285f5a;border:1px solid #285f5a;border-radius:.25rem;padding-inline:1rem;font-weight:700}.live-pitch-actions a{box-sizing:border-box;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.live-pitch-actions button:focus-visible,.live-pitch-actions a:focus-visible{outline-offset:2px;outline:3px solid #d29034}.live-pitch-actions button:disabled{cursor:wait;opacity:.65}.live-pitch-recording{background:#fff;border:1px solid #c8c2b8;border-radius:.25rem;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem;display:flex}.live-pitch-recording h2,.live-pitch-recording p{margin:0}.live-pitch-recording h2{width:100%;font-size:1.1rem}.live-pitch-recording button{color:#fff;min-height:2.75rem;font:inherit;cursor:pointer;background:#285f5a;border:1px solid #285f5a;border-radius:.25rem;padding-inline:1rem;font-weight:700}.live-pitch-recording button:focus-visible{outline-offset:2px;outline:3px solid #d29034}.live-pitch-recording button:disabled{cursor:not-allowed;opacity:.65}.live-pitch-recording__indicator{color:#8f2020;align-items:center;gap:.5rem;font-weight:700;display:inline-flex}.live-pitch-recording__indicator span{background:currentColor;border-radius:50%;width:.75rem;height:.75rem}.temporary-recording{gap:.75rem;width:100%;display:grid}.temporary-recording audio,.live-pitch-recording>audio{width:min(100%,32rem)}.temporary-recording .secondary-button{color:#285f5a;background:#fff;width:fit-content}.live-pitch-summary{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;margin:0;display:grid}.live-pitch-summary div{background:#fff;border:1px solid #c8c2b8;border-radius:.25rem;padding:.75rem}.live-pitch-summary dt{font-weight:700}.live-pitch-summary dd{margin:.25rem 0 0}.statistics-page{gap:1.5rem;display:grid}.statistics-page>section{background:#fff;border:1px solid #c8c2b8;border-radius:.5rem;gap:1rem;min-width:0;padding:1rem;display:grid}.statistics-page nav{flex-wrap:wrap;gap:1rem;display:flex}.statistics-metrics{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;margin:0;display:grid}.statistics-metrics div{background:#f7f5f0;border:1px solid #ded9cf;border-radius:.25rem;padding:.75rem}.statistics-metrics dt{font-weight:700}.statistics-metrics dd{margin:.35rem 0 0}.statistics-page table{overscroll-behavior-inline:contain;border-collapse:collapse;width:100%;display:block;overflow-x:auto}.statistics-page th,.statistics-page td{text-align:left;vertical-align:top;border-bottom:1px solid #ded9cf;padding:.65rem}.statistics-table-wrap{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.practice-detail__table-frame:focus-visible,.practice-results__table-frame:focus-visible,.statistics-table-wrap:focus-visible,.statistics-page table:focus-visible{outline-offset:2px;outline:3px solid #d29034}.statistics-table-wrap table{min-width:70rem;display:table}.statistics-cell-detail{color:#5e5a52;white-space:nowrap;margin-top:.25rem;display:block}.statistics-note-list{min-width:17rem;margin:0;padding-left:1.25rem}.progress-plot{background:#f7f5f0;border:1px solid #ded9cf;border-radius:.25rem;align-items:end;gap:.75rem;min-height:12rem;margin:0;padding:1rem;list-style:none;display:flex;overflow-x:auto}.progress-plot__point{justify-items:center;gap:.35rem;min-width:3.5rem;display:grid}.progress-plot__bars{align-items:end;gap:.25rem;height:8rem;display:flex}.progress-plot__bar{width:1.25rem;min-height:.15rem;height:var(--progress-value);background:#285f5a;border-radius:.2rem .2rem 0 0}.progress-plot__bar--session{background:#9b5b36}.progress-plot__gap{color:#5e5a52;writing-mode:vertical-rl;border:1px dashed #837c70;place-items:center;width:2.75rem;height:100%;font-size:.75rem;display:grid}.progress-plot__legend{flex-wrap:wrap;gap:1rem;margin:.5rem 0 0;display:flex}.progress-plot__legend span:before{content:"";background:#285f5a;width:.75rem;height:.75rem;margin-right:.35rem;display:inline-block}.progress-plot__legend span+span:before{background:#9b5b36}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.pitch-graph{scroll-behavior:auto}}@media (width<=32rem){.page-shell{width:calc(100% - 1rem)}.page-shell main{padding-block:1.25rem}.auth-card,.practice-detail__repetition,.statistics-page>section{padding:1rem}.dashboard-heading{flex-direction:column}.pitch-readout__values{grid-template-columns:1fr}.practice-session__summary{z-index:2;background:#f7f5f0;padding-block:.75rem;position:sticky;top:0}.practice-session__actions{z-index:2;background:#f7f5f0;flex-direction:column;padding-block:.75rem;position:sticky;bottom:0}.practice-session__actions button,.practice-playback select,.practice-playback button{width:100%}.practice-playback{align-items:stretch}.practice-results__summary,.practice-results__counts{grid-template-columns:1fr}.practice-results__actions,.practice-discard-dialog__actions{flex-direction:column}.practice-results__actions>*,.practice-discard-dialog__actions button{justify-content:center;width:100%}.live-pitch-actions{flex-direction:column;align-items:stretch}.live-pitch-actions>*,.live-pitch-recording button,.temporary-recording .secondary-button{width:100%}.live-pitch-summary{grid-template-columns:1fr}}@media (height<=30rem) and (orientation:landscape){.pitch-graph{height:10rem}.practice-session__summary,.practice-session__actions{position:static}}
