:root{color:#102a43;font-synthesis:none;text-rendering:optimizelegibility;--navy:#102a43;--navy-soft:#173f5f;--aqua:#16c7c9;--aqua-dark:#087f86;--yellow:#ffd166;--coral:#ff6b6b;--sky:#dff7ff;--paper:#fff;--muted:#627d98;--shadow:0 18px 50px #102a4324;background:#f5fbff;font-family:Avenir Next,Avenir,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f5fbff;min-width:320px}body{min-width:320px;min-height:100svh;margin:0}button,input{font:inherit}button{touch-action:manipulation}button:focus-visible,textarea:focus-visible,input:focus-visible+.toggle-track,.recording-form input:focus-visible,.custom-speed-control input:focus-visible,.rename-form input:focus-visible,.about-link:focus-visible,.share-action:focus-visible,.about-close:focus-visible,audio:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}.setup-shell{background:radial-gradient(circle at 10% 8%,#16c7c92b 0 9%,#0000 9.5%),radial-gradient(circle at 92% 88%,#ffd16640 0 12%,#0000 12.5%),#f5fbff;min-height:100vh;padding:clamp(24px,4vw,56px)}.brand-header{align-items:center;gap:16px;width:min(1080px,100%);margin:0 auto clamp(20px,3vw,36px);display:flex}.brand-mark{border-radius:20px;width:70px;height:70px;box-shadow:0 10px 24px #102a432e}.eyebrow,.step-label,.practice-title p{color:var(--aqua-dark);letter-spacing:.08em;text-transform:uppercase;margin:0;font-weight:700}.brand-header h1,.setup-heading h2,.practice-title h1{font-family:Avenir Next,Avenir,system-ui,sans-serif}.brand-header h1{margin:-3px 0 0;font-size:clamp(2.25rem,5vw,3.7rem);line-height:1}.brand-title-row{align-items:baseline;gap:18px;display:flex}.about-link{color:var(--aqua-dark);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:2px 0;font-weight:800;text-decoration:underline;text-decoration-thickness:2px}.about-link:hover{color:var(--navy-soft)}.setup-card{width:min(1080px,100%);box-shadow:var(--shadow);background:#fffffff0;border:1px solid #627d982b;border-radius:32px;margin:0 auto;padding:clamp(24px,4vw,48px)}.setup-footer{width:min(1080px,100%);color:var(--muted);justify-content:center;gap:10px;margin:16px auto 0;font-size:.9rem;display:flex}.setup-footer a{color:var(--aqua-dark);font-weight:800}.setup-footer span:before{content:"·";margin-right:10px}.setup-heading{justify-content:space-between;align-items:start;gap:20px;margin-bottom:30px;display:flex}.setup-heading h2{margin:5px 0 0;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.08}.round-summary{color:var(--navy);background:var(--sky);border-radius:999px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;font-weight:700;display:grid;overflow:hidden}.round-summary-text{align-self:center;padding:10px 14px 10px 16px}.quick-start{gap:10px;min-width:min(440px,100%);display:grid}.quick-start .round-summary{text-align:center;justify-self:stretch}.quick-start-actions{display:grid}.round-options{border-left:1px solid #102a431f;grid-auto-columns:max-content;grid-auto-flow:column;margin:0;display:grid}.round-option-toggle{min-height:44px;color:var(--navy);cursor:pointer;background:#ffffff6b;align-items:center;gap:7px;padding:0 13px;font-size:.9rem;font-weight:800;transition:background .16s;display:flex}.round-option-toggle+.round-option-toggle{border-left:1px solid #102a431f}.round-option-toggle:hover{background:#ffffffb8}.round-option-toggle input{opacity:0;pointer-events:none;position:absolute}.round-option-toggle .toggle-track{width:36px;height:22px}.round-option-toggle .toggle-knob{width:16px;height:16px;top:3px;left:3px}.round-option-toggle input:checked+.toggle-track{background:var(--aqua-dark)}.round-option-toggle input:checked+.toggle-track .toggle-knob{transform:translate(14px)}.round-option-toggle input:focus-visible+.toggle-track,.voice-toggle input:focus-visible+.toggle-track{outline-offset:3px;outline:3px solid #2fa4b066}fieldset{border:0;min-width:0;margin:0 0 28px;padding:0}legend{color:var(--navy);margin-bottom:10px;font-size:1.05rem;font-weight:700}.number-grid{grid-template-columns:repeat(10,minmax(54px,1fr));gap:9px;display:grid}.option-button{min-height:58px;color:var(--navy);background:var(--paper);cursor:pointer;border:2px solid #cbdde8;border-radius:15px;padding:10px 14px;font-weight:700;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s}.option-button:hover{border-color:var(--aqua);transform:translateY(-2px)}.option-button[data-selected=true]{border-color:var(--navy);color:#fff;background:var(--navy);box-shadow:0 7px 0 var(--aqua)}.option-button small,.voice-toggle small{color:inherit;margin-top:2px;font-size:.82rem;font-weight:400;display:block}.setup-row{grid-template-columns:1.35fr 1fr;gap:24px;display:grid}.option-group,.speed-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.speed-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dialog-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:30;background:#05192bb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.ready-dialog{border:4px solid var(--yellow);width:min(480px,100%);color:var(--navy);text-align:center;background:#fff;border-radius:28px;padding:clamp(28px,5vw,42px);animation:.24s ease-out both ready-dialog-in;box-shadow:0 30px 100px #0006}.ready-dialog h2{margin:8px 0 12px;font-family:Avenir Next,Avenir,system-ui,sans-serif;font-size:clamp(2.2rem,7vw,3.5rem);line-height:1}.ready-dialog>p:last-of-type{max-width:34ch;color:var(--muted);margin:0 auto;font-weight:650;line-height:1.5}.ready-dialog-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;display:grid}.about-dialog{border:4px solid var(--aqua);width:min(680px,100%);max-height:min(780px,100svh - 40px);color:var(--navy);background:#fff;border-radius:28px;padding:clamp(26px,4vw,42px);animation:.24s ease-out both ready-dialog-in;position:relative;overflow:auto;box-shadow:0 30px 100px #0006}.about-dialog h2{margin:6px 44px 10px 0;font-family:Avenir Next,Avenir,system-ui,sans-serif;font-size:clamp(2rem,6vw,3.2rem);line-height:1.05}.about-close{width:44px;height:44px;color:var(--navy);cursor:pointer;background:#f5fbff;border:2px solid #c8dbe5;border-radius:50%;place-items:center;padding:0;font-size:1.8rem;line-height:1;display:grid;position:absolute;top:16px;right:16px}.about-intro{max-width:56ch;color:var(--muted);margin:0 0 24px;font-size:1.05rem;font-weight:650;line-height:1.5}.about-questions{gap:12px;margin:0;display:grid}.about-questions div{background:#f0f8fb;border-radius:15px;padding:14px 16px}.about-questions dt{margin-bottom:4px;font-weight:850}.about-questions dd{color:#486581;margin:0;line-height:1.45}.about-questions ul{gap:6px;margin:6px 0 0;padding-left:20px;display:grid}.about-done{width:100%;margin-top:22px}.share-message-label{margin-bottom:7px;font-weight:800;display:block}.share-dialog textarea{resize:vertical;width:100%;min-height:230px;color:var(--navy);font:inherit;background:#f8fcfd;border:2px solid #bdd3df;border-radius:15px;padding:14px 16px;line-height:1.5;display:block}.share-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.share-action{text-align:center;justify-content:center;align-items:center;margin:0;text-decoration:none;display:inline-flex}.share-help,.share-status{color:var(--muted);margin:12px 0 0;font-size:.9rem;line-height:1.4}.share-status{min-height:1.3em;color:var(--aqua-dark);font-weight:800}.recording-share-dialog{width:min(760px,100%)}.recording-share-warning{color:#6b4f00;background:#fff8d9;border:2px solid #e9b949;border-radius:15px;gap:3px;margin-bottom:18px;padding:14px 16px;line-height:1.4;display:grid}.recording-share-options{grid-template-columns:1.5fr 1fr;gap:14px;display:grid}.recording-share-options fieldset{border:1px solid #bdd3df;border-radius:14px;grid-row:span 2;margin:0;padding:12px 14px;display:grid}.recording-share-options label,.recording-share-confirmation{align-items:center;gap:8px;font-weight:700;display:flex}.recording-share-options>label:not(.recording-share-loop-toggle){align-content:center;display:grid}.recording-share-options input[type=number]{width:76px;min-height:38px;margin-left:4px}.recording-share-options select{width:100%;min-height:42px;margin-top:5px}.recording-share-confirmation{background:#f0f8fb;border-radius:14px;align-items:flex-start;margin:18px 0 14px;padding:14px 16px;line-height:1.4}.recording-share-confirmation input{flex:none;margin-top:3px}.recording-share-create{width:100%}.recording-share-privacy-reminder{color:#4f4218;background:#fff9dc;border:2px solid #d8bd58;border-radius:15px;margin-top:4px;padding:16px}.recording-share-privacy-reminder h3{color:var(--ink);margin:0 0 8px}.recording-share-privacy-reminder p{margin:8px 0;line-height:1.5}.recording-share-privacy-reminder>label{align-items:flex-start;gap:8px;margin-top:12px;font-weight:750;line-height:1.4;display:flex}.recording-share-privacy-reminder>label input{flex:none;margin-top:3px}.recording-share-privacy-reminder .share-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.recording-share-result,.recording-share-active{background:#f0f8fb;border-radius:15px;margin-top:18px;padding:16px}.recording-share-result h3,.recording-share-active h3{margin:0 0 5px}.recording-share-result p,.recording-share-active p{color:var(--muted);margin:0 0 10px;font-size:.9rem;line-height:1.4}.recording-share-result>input{width:100%;min-height:44px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.recording-share-active ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.recording-share-active li{justify-content:space-between;align-items:center;gap:12px;display:flex}.recording-share-active button{min-height:38px;padding:6px 12px}.custom-speed-control{background:#f0f8fb;border-radius:14px;grid-template-columns:auto minmax(160px,220px) 1fr;align-items:center;gap:10px;margin-top:14px;padding:14px 16px;display:grid}.custom-speed-control label{font-weight:700}.custom-speed-control>div{align-items:center;gap:8px;display:flex}.custom-speed-control input{width:110px;color:var(--navy);background:#fff;border:2px solid #bdd3df;border-radius:10px;padding:9px 11px}.custom-speed-control input[aria-invalid=true]{border-color:#a61b29}.custom-speed-control small{color:var(--muted)}.manual-style-control{background:#f0f8fb;border-radius:14px;grid-template-columns:auto minmax(280px,480px) 1fr;align-items:center;gap:12px;margin-top:14px;padding:14px 16px;display:grid}.manual-style-control>span{font-weight:700}.manual-style-control small{color:var(--muted)}.voice-row{background:#f0f8fb;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;margin:4px 0 32px;padding:17px 19px;display:flex}.voice-setting{align-items:center;gap:18px;min-width:0;display:flex}.voice-toggle{cursor:pointer;align-items:center;gap:14px;display:flex}.voice-toggle input{opacity:0;pointer-events:none;position:absolute}.toggle-track{background:#9fb3c8;border-radius:999px;flex:none;width:52px;height:30px;transition:background .16s;position:relative}.toggle-knob{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .16s;position:absolute;top:4px;left:4px;box-shadow:0 2px 5px #102a4340}.voice-toggle input:checked+.toggle-track{background:var(--aqua-dark)}.voice-toggle input:checked+.toggle-track .toggle-knob{transform:translate(22px)}.voice-picker{color:var(--muted);flex:none;gap:5px;font-size:.75rem;font-weight:750;display:grid}.voice-picker select{min-width:150px;color:var(--navy);font:inherit;background:#fff;border:1px solid #9fb3c8;border-radius:10px;padding:8px 32px 8px 10px;font-size:.9rem}.voice-picker select:focus-visible{outline-offset:2px;outline:3px solid #2fa4b059}.recording-entry{background:#f8fcfd;border:2px solid #cce5eb;border-radius:20px;justify-content:space-between;align-items:center;gap:24px;margin:4px 0 0;padding:16px 18px;display:flex}.recording-entry h3{margin:3px 0 5px;font-size:1.18rem}.recording-entry>div>p:last-child{color:var(--muted);margin:0;font-size:.88rem;line-height:1.35}.recording-entry-actions{flex:none;gap:10px;display:flex}.recording-form label{margin-bottom:6px;font-size:.9rem;font-weight:700;display:block}.recording-form input,.rename-form input{min-width:0;color:var(--navy);background:#fff;border:2px solid #bdd3df;border-radius:12px;padding:11px 13px}.recording-form input{flex:1}.record-button,.recordings-link{cursor:pointer;border-radius:12px;min-height:46px;padding:10px 15px;font-weight:800}.record-button{color:#fff;background:#b4232d;border:0;align-items:center;gap:8px;display:inline-flex}.record-button:disabled{opacity:.45;cursor:not-allowed}.recordings-link{color:var(--navy);white-space:nowrap;background:#fff;border:2px solid #bdd3df}.recordings-link span,.recording-count{color:#fff;background:var(--navy);border-radius:999px;justify-content:center;align-items:center;min-width:28px;min-height:28px;margin-left:5px;padding:0 7px;display:inline-flex}.recording-form small{color:var(--muted);margin-top:6px;display:block}.recording-form .recording-test-toggle{margin:12px 0 8px;font-size:.9rem;display:flex}.recording-test-toggle .toggle-track{width:46px;height:26px}.recording-test-toggle .toggle-knob{width:18px;height:18px}.recording-test-toggle input:checked+.toggle-track .toggle-knob{transform:translate(20px)}.form-error,.library-error{color:#a61b29;margin:8px 0 0;font-size:.88rem;font-weight:700}.start-button,.secondary-button{cursor:pointer;border-radius:16px;min-height:56px;padding:13px 22px;font-weight:700}.start-button{color:#fff;background:var(--navy);box-shadow:0 8px 0 var(--aqua);border:0;flex:1;justify-content:center;align-items:center;gap:18px;font-family:Avenir Next,Avenir,system-ui,sans-serif;font-size:1.16rem;display:inline-flex}.start-button:hover{background:var(--navy-soft)}.start-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.secondary-button{color:var(--navy);background:#fff;border:2px solid #bdd3df}.secondary-button:disabled{color:#829ab1;cursor:not-allowed;background:#edf2f5}.library-shell,.recording-preflight-shell{background:radial-gradient(circle at 8% 10%,#16c7c929 0 8%,#0000 8.5%),radial-gradient(circle at 92% 88%,#ffd16638 0 11%,#0000 11.5%),#f5fbff;min-height:100vh;padding:clamp(24px,4vw,56px)}.recording-preflight-header,.recording-preflight-card{width:min(760px,100%);margin-left:auto;margin-right:auto}.recording-preflight-header{grid-template-columns:auto 1fr;align-items:center;gap:20px;margin-bottom:24px;display:grid}.recording-preflight-header h1{margin:2px 0 4px;font-size:clamp(2rem,6vw,3.6rem);line-height:1}.recording-preflight-header p:last-child{color:var(--muted);margin:0;font-weight:700}.recording-preflight-card{box-shadow:var(--shadow);background:#fffffff5;border:1px solid #627d982b;border-radius:28px;padding:clamp(24px,5vw,48px)}.recording-preflight-copy h2{margin:6px 0 12px;font-size:clamp(1.8rem,5vw,2.7rem);line-height:1.08}.recording-preflight-copy>p:last-child{max-width:58ch;color:var(--muted);margin:0 0 28px;line-height:1.5}.recording-preflight-form{gap:8px;display:grid}.recording-preflight-form>input{width:100%;min-height:54px;font-size:1.05rem}.recording-preflight-form .recording-test-toggle{background:#f0f8fb;border-radius:16px;margin:18px 0 4px;padding:16px}.recording-permission-note{color:var(--muted);margin:4px 0 8px;font-size:.9rem;line-height:1.45}.recording-preflight-start{justify-content:center;min-height:56px;margin-top:8px;font-size:1.05rem}.shared-recording-shell{background:radial-gradient(circle at 12% 16%,#16c7c92e 0 10%,#0000 10.5%),radial-gradient(circle at 88% 84%,#ffd1663d 0 13%,#0000 13.5%),#f5fbff;place-items:center;min-height:100svh;padding:24px;display:grid}.shared-recording-card{border:4px solid var(--aqua);width:min(620px,100%);color:var(--navy);text-align:center;background:#fff;border-radius:28px;padding:clamp(28px,6vw,52px);box-shadow:0 24px 70px #102a432e}.shared-recording-card>img{width:74px;height:74px}.shared-recording-card h1{margin:8px 0 14px;font-size:clamp(2rem,7vw,3.4rem);line-height:1}.shared-recording-card>p:not(.step-label){max-width:48ch;color:var(--muted);margin:0 auto 18px;line-height:1.5}.shared-recording-card .recording-share-warning{text-align:left}.shared-recording-card>.start-button,.shared-recording-home{justify-content:center;align-items:center;width:min(360px,100%);margin:10px auto 0;text-decoration:none;display:flex}.library-header,.privacy-note,.recording-list,.empty-library,.library-error{width:min(980px,100%);margin-left:auto;margin-right:auto}.library-header{grid-template-columns:auto 1fr auto;align-items:center;gap:20px;display:grid}.library-header h1{margin:2px 0 0;font-size:clamp(2rem,5vw,3.4rem);line-height:1}.recording-count{min-width:42px;min-height:42px;margin:0;font-size:1.15rem;font-weight:900}.privacy-note{color:#265569;background:#e9f8fa;border:1px solid #b9dde3;border-radius:15px;gap:8px;margin-top:28px;margin-bottom:20px;padding:15px 18px;line-height:1.4;display:flex}.recording-list{gap:12px;margin-top:0;margin-bottom:0;padding:0;list-style:none;display:grid}.recording-item{background:#fff;border:1px solid #627d982e;border-radius:18px;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex;box-shadow:0 10px 28px #102a4317}.recording-details{min-width:0}.recording-details h2{text-overflow:ellipsis;white-space:nowrap;margin:0 0 5px;font-size:1.18rem;overflow:hidden}.recording-details p{color:var(--muted);margin:0;font-size:.88rem}.recording-actions,.rename-form{align-items:center;gap:7px;display:flex}.recording-actions button,.rename-form button{min-height:40px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #bdd3df;border-radius:10px;padding:8px 12px;font-weight:700}.recording-actions .play-recording{border-color:var(--navy);color:#fff;background:var(--navy)}.recording-actions .delete-recording{color:#a61b29}.rename-form input{width:min(340px,45vw)}.empty-library{text-align:center;background:#ffffffb8;border:2px dashed #bdd3df;border-radius:24px;margin-top:42px;padding:48px 24px}.empty-library>span{color:var(--aqua-dark);font-size:3rem}.empty-library h2{margin:8px 0 4px}.empty-library p{color:var(--muted);margin:0 0 24px}.empty-library .start-button{width:min(320px,100%);margin:0 auto}.practice-shell{color:#fff;background:radial-gradient(circle at 8% 8%, #16c7c921 0 10%, transparent 10.5%), radial-gradient(circle at 93% 14%, #ffd1661f 0 7%, transparent 7.5%), var(--navy);grid-template-rows:auto 7px minmax(0,1fr) auto;min-height:100svh;max-height:100vh;display:grid;overflow:hidden}.practice-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;min-height:94px;padding:12px clamp(20px,3vw,46px);display:grid}.practice-brand{color:#dff7ff;align-items:center;gap:10px;font-family:Avenir Next,Avenir,system-ui,sans-serif;font-size:1.15rem;font-weight:800;display:flex}.practice-brand img{border-radius:12px;width:42px;height:42px}.practice-home{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:14px;padding:8px 14px}.practice-home:hover{background:#ffffff29}.practice-title{text-align:center}.practice-title p{color:var(--aqua);font-size:.78rem}.practice-title h1{color:#fff;margin:2px 0 0;font-size:clamp(1.7rem,3.2vw,2.8rem);line-height:1}.round-count{background:#ffffff14;border:1px solid #ffffff30;border-radius:14px;justify-self:end;align-items:baseline;gap:5px;padding:8px 14px;display:flex}.round-count strong{color:var(--yellow);font-family:Avenir Next,Avenir,system-ui,sans-serif;font-size:1.55rem}.progress-track{background:#ffffff1a;overflow:hidden}.progress-fill{transform-origin:0;background:linear-gradient(90deg, var(--aqua), var(--yellow));width:100%;height:100%;transition:transform 70ms linear;display:block}.progress-fill[data-paused=true]{background:var(--yellow)}.practice-board{grid-template-columns:minmax(0,1fr) 2px minmax(0,1fr);gap:clamp(18px,3vw,48px);min-height:0;padding:clamp(14px,2.2vh,26px) clamp(20px,4vw,64px);display:grid;position:relative;overflow:hidden}.board-divider{background:linear-gradient(#0000,#ffffff38 12% 88%,#0000);border-radius:999px}.problem-column{grid-template-rows:repeat(5,minmax(0,1fr));gap:clamp(7px,1.2vh,13px);min-height:0;display:grid}.problem-slot{border:2px dashed #ffffff1f;border-radius:clamp(13px,1.5vw,20px);min-height:0}.problem-card{border-radius:clamp(12px,1.5vw,18px);justify-content:center;align-items:center;width:100%;height:100%;min-height:0;padding:5px 12px;font-family:Avenir Next,Avenir,system-ui,sans-serif;font-size:clamp(1.65rem,3.2vw,3.5rem);font-weight:900;line-height:1;display:flex}.problem-card[data-status=upcoming]{color:#ffffff29;background:#ffffff08}.problem-card[data-status=active]{color:var(--navy);background:var(--yellow);box-shadow:0 10px 32px #00000040}.problem-card[data-status=active][data-side=left]{animation:.52s cubic-bezier(.2,.8,.2,1) both enter-left}.problem-card[data-status=active][data-side=right]{animation:.52s cubic-bezier(.2,.8,.2,1) both enter-right}.problem-card[data-status=revealed]{color:var(--navy);box-shadow:0 5px 0 var(--aqua);background:#fff}.choice-problem-card{cursor:pointer;border:0}.choice-problem-card:disabled{opacity:1;cursor:default}.choice-box-number{color:#ffffff61;font-size:.72em}.revealed-answer{animation:.36s cubic-bezier(.2,.9,.3,1.25) both answer-pop}.active-question{align-items:baseline;gap:.22em;display:inline-flex}.active-question strong{color:#bc2732}.waiting-mark{font-size:1.5rem}.pause-banner{border:3px solid var(--yellow);color:var(--navy);z-index:5;background:#fff;border-radius:20px;align-items:center;gap:14px;padding:20px 30px;font-family:Avenir Next,Avenir,system-ui,sans-serif;font-size:2rem;font-weight:900;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 80px #00000057}.teacher-controls{background:#0b2238;border-top:1px solid #ffffff1f;grid-template-columns:1fr auto;align-items:center;gap:16px;min-height:88px;padding:10px clamp(16px,2vw,30px);display:grid}.choose-box-controls{color:#d9e7ef;grid-template-columns:1fr auto}.choose-box-controls>p{margin:0}.control-pair{justify-content:flex-end;justify-self:end;gap:9px;display:flex}.control-button,.center-controls button{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:14px;min-height:52px;padding:10px 16px;font-weight:700}.control-button{align-items:center;gap:8px;display:inline-flex}.reveal-button{border-color:var(--yellow);color:var(--navy);background:var(--yellow)}.control-button:disabled,.center-controls button:disabled{opacity:.4;cursor:not-allowed}.center-controls{gap:7px;display:flex}.center-controls button{color:#d9e7ef;min-height:44px;padding:8px 11px;font-size:.87rem}.center-controls .stop-recording{color:#fff;background:#8d1a24;border-color:#ff9ca4}.playback-controls{background:#0b2238;border-top:1px solid #ffffff1f;grid-template-columns:auto minmax(260px,720px) auto auto;justify-content:center;align-items:center;gap:18px;min-height:88px;padding:10px clamp(16px,3vw,36px);display:grid}.playback-controls audio{width:100%}.snippet-playback-controls{grid-template-columns:auto minmax(390px,1fr) auto auto}.playback-pace{color:#fff;margin:0}.playback-pace legend{color:#9fb8c8;margin-bottom:4px;font-size:.75rem}.playback-pace>div{align-items:center;gap:7px;display:flex}.playback-pace button{min-height:42px;padding:7px 11px}.playback-pace button[aria-pressed=true]{border-color:var(--yellow);color:var(--navy);background:var(--yellow)}.playback-pace label{align-items:center;gap:5px;font-size:.8rem;display:inline-flex}.playback-pace input{border:1px solid #9fb8c8;border-radius:9px;width:68px;padding:7px}.playback-options{align-items:center;gap:9px;display:flex}.playback-loop-toggle{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:14px;align-items:center;gap:8px;min-height:48px;padding:8px 13px;font-weight:750;display:inline-flex}.playback-loop-toggle input{width:19px;height:19px;accent-color:var(--yellow)}.playback-meta{color:#d9e7ef;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;gap:2px;display:grid}.playback-meta small{color:#9fb8c8;font-size:.75rem}.recording-indicator{color:#fff;z-index:8;background:#8d1a24;border-radius:999px;align-items:center;gap:8px;padding:8px 13px;font-size:.84rem;font-weight:800;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #0000003d}.recording-indicator span{background:#ff9ca4;border-radius:50%;width:10px;height:10px;animation:1.4s ease-in-out infinite recording-pulse}.capture-shell{color:#fff;background:radial-gradient(circle at 12% 10%, #16c7c929 0 9%, transparent 9.5%), radial-gradient(circle at 88% 88%, #ffd16624 0 12%, transparent 12.5%), var(--navy);grid-template-rows:auto minmax(0,1fr) auto;min-height:100svh;max-height:100vh;display:grid;overflow:hidden}.capture-header{border-bottom:1px solid #ffffff1f;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:15px clamp(20px,3vw,46px);display:grid}.capture-header>div{text-align:center}.capture-header h1{margin:2px 0;font-size:clamp(1.7rem,3vw,2.5rem)}.capture-header p:not(.step-label){color:#c7dbe6;margin:0}.capture-header>strong{color:var(--yellow);background:#ffffff17;border-radius:14px;padding:10px 14px;font-size:1.2rem}.capture-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,48px);min-height:0;padding:clamp(14px,2.2vh,26px) clamp(20px,4vw,64px);display:grid}.capture-board>div{grid-template-rows:repeat(5,minmax(0,1fr));gap:clamp(7px,1.2vh,13px);min-height:0;display:grid}.capture-problem{min-height:0;color:var(--navy);box-shadow:0 5px 0 var(--aqua);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;border:3px solid #0000;border-radius:clamp(13px,1.5vw,20px);align-content:center;place-items:center;gap:5px;padding:7px 12px;display:grid}.capture-problem[data-status=next]{border-color:var(--yellow);box-shadow:0 5px 0 var(--yellow)}.capture-problem[data-status=recording]{color:#fff;background:#9e202b;border-color:#ff9ca4;box-shadow:0 0 0 6px #ff6b6b3d}.capture-problem[data-status=recorded]{background:#e9fff9}.capture-fact{font-family:Avenir Next,Avenir,system-ui,sans-serif;font-size:clamp(1.5rem,3vw,3.2rem);font-weight:900;line-height:1}.capture-fact strong{color:#bc2732;margin-left:.2em}.capture-problem small{font-weight:750}.capture-controls{background:#0b2238;border-top:1px solid #ffffff1f;grid-template-columns:1fr auto;align-items:center;gap:20px;min-height:86px;padding:10px clamp(20px,3vw,46px);display:grid}.capture-controls p{color:#d9e7ef;margin:0;font-weight:700}.capture-error{color:#fff;z-index:6;background:#8d1a24;border-radius:12px;margin:0;padding:10px 16px;position:fixed;bottom:98px;left:50%;transform:translate(-50%)}.capture-saved-dialog{z-index:6;position:relative}.completion-card{border:4px solid var(--yellow);width:min(540px,100% - 40px);color:var(--navy);text-align:center;z-index:6;background:#fff;border-radius:30px;padding:clamp(28px,5vw,48px);animation:.48s cubic-bezier(.2,.9,.3,1.2) both completion-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 28px 100px #00000061}.completion-celebration{pointer-events:none;z-index:5;position:absolute;inset:0;overflow:hidden}.celebration-balloon{aspect-ratio:.82;border-radius:52% 52% 48% 48%;width:clamp(46px,6vw,78px);animation:2.8s ease-in-out infinite alternate balloon-float;position:absolute;box-shadow:inset -12px -10px #0000001a}.celebration-balloon:before{content:"";border:7px solid #0000;border-top:11px solid;border-bottom:0;width:0;height:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.celebration-balloon:after{content:"";transform-origin:top;background:#ffffffb8;width:2px;height:clamp(75px,14vh,130px);position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%)rotate(4deg)}.balloon-one{color:#ff6b6b;background:#ff6b6b;top:10%;left:7%}.balloon-two{color:#ffd166;background:#ffd166;animation-delay:-1.1s;bottom:12%;left:18%}.balloon-three{color:#32c7b5;background:#32c7b5;animation-delay:-.6s;top:14%;right:8%}.balloon-four{color:#8b5cf6;background:#8b5cf6;animation-delay:-1.7s;bottom:10%;right:20%}.confetti-shower{position:absolute;inset:0}.confetti-piece{border-radius:2px;width:10px;height:18px;animation:linear infinite confetti-fall;position:absolute;top:-22px}.confetti-piece:nth-child(3n){border-radius:999px;width:14px;height:8px}.confetti-piece:nth-child(4n){width:9px;height:9px;transform:rotate(45deg)}.completion-sparks{color:var(--coral);justify-content:center;gap:28px;font-size:2rem;display:flex}.completion-sparks span:nth-child(2){color:var(--aqua)}.completion-card p{margin:8px 0 0;font-family:Avenir Next,Avenir,system-ui,sans-serif;font-size:clamp(2.3rem,6vw,4rem);font-weight:900;line-height:1}.completion-card>strong{color:var(--muted);margin-top:10px;font-size:1.15rem;display:block}.completion-loop-status{color:var(--aqua-dark);margin-top:18px;font-weight:800;display:block}.save-status{color:var(--aqua-dark);margin-top:12px;font-weight:800;display:block}.completion-actions{gap:12px;margin-top:30px;display:flex}.recording-completion-actions{flex-wrap:wrap}.recording-completion-actions .start-button{flex-basis:100%}.recording-completion-actions .secondary-button{flex:1}.spoken-status,.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:fixed;overflow:hidden}@keyframes enter-left{0%{opacity:0;transform:translate(-80px)scale(.94)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes enter-right{0%{opacity:0;transform:translate(80px)scale(.94)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes answer-pop{0%{opacity:0;transform:rotateX(60deg)scale(.86)}to{opacity:1;transform:rotateX(0)scale(1)}}@keyframes completion-in{0%{opacity:0;transform:translate(-50%,-45%)scale(.86)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes ready-dialog-in{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes balloon-float{0%{transform:translateY(8px)rotate(-3deg)}to{transform:translateY(-10px)rotate(3deg)}}@keyframes confetti-fall{0%{transform:translateY(-5vh)rotate(0)}to{transform:translate(28px,105vh)rotate(680deg)}}@keyframes recording-pulse{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.12)}}@media (width<=900px){.number-grid{grid-template-columns:repeat(5,minmax(54px,1fr))}.setup-row{grid-template-columns:1fr;gap:0}.setup-heading,.recording-entry{flex-direction:column;align-items:stretch}.quick-start{width:100%;min-width:0}.recording-entry-actions{align-self:flex-start}.teacher-controls,.manual-style-control{grid-template-columns:1fr}.snippet-playback-controls{grid-template-columns:auto 1fr}.center-controls{display:none}}@media (width<=620px){.setup-shell{padding:18px 12px 32px}.brand-title-row{flex-wrap:wrap;gap:8px 14px}.about-link{font-size:.9rem}.about-dialog{padding:24px 18px 20px}.about-dialog h2{margin-right:40px}.recording-share-options{grid-template-columns:1fr}.recording-share-options fieldset{grid-row:auto}.recording-share-active li{flex-direction:column;align-items:stretch}.about-close{top:12px;right:12px}.brand-mark{width:56px;height:56px}.setup-card{border-radius:22px;padding:22px 16px 28px}.setup-heading,.voice-row,.voice-setting{flex-direction:column;align-items:stretch}.voice-picker select{width:100%}.privacy-note,.recording-item,.recording-actions,.rename-form{flex-direction:column;align-items:stretch}.quick-start{z-index:8;background:#fffffff5;border:1px solid #cce5eb;border-radius:18px;padding:10px;position:sticky;top:8px;box-shadow:0 10px 30px #102a4324}.round-summary{grid-template-columns:1fr}.round-summary-text{text-align:left;padding:9px 12px;font-size:.82rem;line-height:1.25}.round-options{border-top:1px solid #102a431f;border-left:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}.round-option-toggle{justify-content:center;min-height:48px;padding:0 10px}.quick-start-actions .start-button{min-height:50px;padding:10px 13px;font-size:.95rem}.recording-entry{padding:16px}.recording-entry-actions{flex-direction:column;width:100%}.recording-entry-actions button{justify-content:center;width:100%}.library-shell,.recording-preflight-shell{padding:20px 12px 32px}.recording-preflight-header{grid-template-columns:1fr}.recording-preflight-header .secondary-button{justify-self:start}.library-header{grid-template-columns:auto 1fr}.library-header .recording-count{display:none}.privacy-note,.recording-item,.recording-actions,.rename-form{display:flex}.rename-form input{width:100%}.setup-heading{display:flex}.round-summary{align-self:flex-start}.option-group,.speed-grid,.custom-speed-control,.manual-style-control{grid-template-columns:1fr}.practice-header{grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;gap:4px 8px;min-height:76px;padding:8px 14px}.practice-brand span{display:none}.practice-title{grid-area:2/1/auto/-1}.practice-brand{z-index:1;grid-area:1/1}.round-count{z-index:1;grid-area:1/3}.practice-title h1{font-size:1.55rem}.practice-board{gap:8px;padding:10px}.problem-card{padding:4px;font-size:clamp(1rem,5.8vw,1.55rem)}.teacher-controls{gap:7px;min-height:70px;padding:7px}.playback-controls{grid-template-columns:1fr;gap:7px;min-height:132px}.snippet-playback-controls{max-height:46vh;overflow:auto}.playback-pace>div{flex-wrap:wrap}.capture-header{grid-template-columns:auto 1fr auto;gap:8px;padding:9px}.capture-header>div p:not(.step-label){display:none}.capture-board{gap:8px;padding:10px}.capture-problem{padding:4px}.capture-fact{font-size:clamp(1rem,5.6vw,1.5rem)}.capture-problem small{font-size:.64rem}.playback-meta{text-align:center;justify-self:center}.playback-options{flex-wrap:wrap;justify-content:center}.control-pair{justify-content:center;justify-self:stretch;gap:5px}.control-button{flex:1;min-height:48px;padding:7px;font-size:.78rem}.share-actions,.recording-share-privacy-reminder .share-actions{grid-template-columns:1fr}}@media (height<=700px) and (width>=700px){.practice-header{min-height:70px}.teacher-controls{min-height:66px}.control-button{min-height:44px}}@media (width>=901px) and (height<=1100px){.setup-shell{padding:22px 40px}.brand-header{margin-bottom:16px}.brand-mark{border-radius:16px;width:56px;height:56px}.brand-header h1{font-size:2.7rem}.setup-card{padding:24px 34px 28px}.setup-heading{margin-bottom:20px}fieldset{margin-bottom:18px}.voice-row{margin-bottom:18px;padding:13px 17px}.recording-entry{padding:14px 17px}}@media (width>=901px) and (height<=950px){.setup-shell{padding:12px 32px}.brand-header{margin-bottom:8px}.brand-mark{border-radius:14px;width:48px;height:48px}.brand-header h1{font-size:2.3rem}.eyebrow{font-size:.78rem}.setup-card{padding:18px 28px 22px}.setup-heading{margin-bottom:14px}.setup-heading h2{font-size:2rem}fieldset{margin-bottom:12px}legend{margin-bottom:6px}.option-button{min-height:50px}.voice-row,.recording-entry{margin-bottom:12px;padding-top:10px;padding-bottom:10px}.start-button,.secondary-button{min-height:50px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
