:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:oklch(28% .029 308.7);--surface:oklch(39.1% .072 294.6);--fg:oklch(97.4% .003 286.4);--muted:oklch(81.6% .023 321.4);--border:oklch(100% 0 0/.12);--accent:oklch(72.3% .133 290.1);--secondary:oklch(73.4% .105 244.7);--tertiary:oklch(66.9% .075 41.8);--screen:oklch(18.5% .025 305);--screen-2:oklch(23% .034 305);--field:oklch(12% .016 300/.78);--ok:oklch(76% .13 155);--danger:oklch(66% .18 25);--font-display:"Avenir Next", "Montserrat", "Manrope", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-body:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--shadow:0 28px 80px #0000006b}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--fg);font:14px/1.45 var(--font-body);margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.7}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid color-mix(in oklch, var(--secondary) 88%, transparent);outline-offset:3px}h1,h2,h3,p,figure{margin-top:0}.app-stage{background:radial-gradient(720px 380px at 50% 0%, oklch(51.3% .111 327/.24), transparent 70%), linear-gradient(160deg, oklch(17% .023 300), var(--bg) 58%, oklch(24% .047 315));place-items:center;min-height:100dvh;padding:16px;display:grid}.mobile-shell{background:radial-gradient(320px 220px at 74% 0%, oklch(51.3% .111 327/.24), transparent 70%), linear-gradient(160deg, var(--screen), var(--screen-2));width:min(100%,430px);height:min(900px,100dvh - 32px);min-height:720px;box-shadow:var(--shadow);border:1px solid oklch(100% 0 0/.08);border-radius:36px;flex-direction:column;display:flex;position:relative;overflow:hidden}.screen-content{min-height:0;padding:28px 20px calc(30px + env(safe-area-inset-bottom));scrollbar-width:none;flex:auto;overflow:auto}.screen-content-login{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.screen-content::-webkit-scrollbar{display:none}.home-indicator{left:50%;bottom:calc(8px + env(safe-area-inset-bottom));pointer-events:none;background:oklch(100% 0 0/.72);border-radius:999px;width:118px;height:4px;position:absolute;transform:translate(-50%)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.glass-panel{border:1px solid var(--border);background:oklch(100% 0 0/.065)}.pill{border:1px solid var(--border);min-height:32px;color:var(--muted);text-transform:uppercase;background:oklch(100% 0 0/.04);border-radius:999px;justify-content:center;align-items:center;padding:0 11px;font-size:.72rem;font-weight:800;display:inline-flex}.brand-mark{align-items:center;min-width:0;display:inline-flex}.brand-logo{object-fit:contain;width:min(210px,58vw);max-width:100%;max-height:46px;display:block}.brand-mark-compact .brand-logo{width:min(174px,54vw);max-height:38px}.primary-button,.secondary-button,.icon-button,.record-button,.play-button,.round-control{transition:transform .12s cubic-bezier(.2,0,0,1),background .16s cubic-bezier(.2,0,0,1),border-color .16s cubic-bezier(.2,0,0,1)}.primary-button:active,.secondary-button:active,.icon-button:active,.record-button:active,.play-button:active,.round-control:active{transform:scale(.98)}.primary-button{color:oklch(15% .025 300);background:linear-gradient(90deg, var(--accent), var(--secondary));border-radius:999px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:46px;font-weight:900;display:inline-flex}.primary-button[aria-busy=true]{background:color-mix(in oklch, var(--accent) 70%, var(--surface))}.primary-button-sent{background:var(--ok)}.secondary-button{border:1px solid var(--border);min-height:40px;color:var(--fg);background:oklch(100% 0 0/.06);border-radius:999px;padding:0 14px;font-weight:800}.secondary-button-icon{place-items:center;width:36px;min-height:36px;padding:0;display:grid}.icon-button{border:1px solid var(--border);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--fg);background:oklch(100% 0 0/.07);border-radius:50%;flex:0 0 44px;place-items:center;display:grid}.icon-button svg,.home-card-icon svg{flex:none;width:20px;height:20px}.play-button,.round-control{color:oklch(15% .025 300);background:var(--secondary);border-radius:50%;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.play-button-warm{background:var(--tertiary)}.record-button{width:66px;min-height:46px;color:var(--fg);background:oklch(100% 0 0/.08);border:1px solid oklch(100% 0 0/.15);border-radius:999px;font-weight:900}.record-button[data-recording=true]{background:var(--danger)}.toast{color:oklch(97.4% .003 286.4/.86);background:oklch(100% 0 0/.07);border-radius:14px;align-items:center;min-height:38px;padding:9px 10px;font-size:.85rem;font-weight:650;display:flex}.toast-error{border:1px solid color-mix(in oklch, var(--danger) 52%, transparent);color:oklch(92% .055 25);background:color-mix(in oklch, var(--danger) 18%, oklch(100% 0 0/.07))}.login-screen{flex-direction:column;min-height:100%;display:flex}.login-header,.dashboard-header,.detail-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-header>.icon-button,.dashboard-header>.pill,.detail-top>.pill{flex:none}.header-title-group{flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.header-title-group>div{min-width:0}.brand-poster{border:1px solid var(--border);background:var(--surface);border-radius:24px;height:112px;margin:14px 0 16px;overflow:hidden}.brand-poster img{object-fit:cover;object-position:34% 50%;width:100%;height:100%;display:block}.page-title{max-width:9ch;font:900 2.75rem/.96 var(--font-display);margin:0 0 10px}.page-title em{color:var(--accent);font-style:normal}.screen-copy{color:oklch(81.6% .023 321.4/.8);margin:0 0 18px;font-size:1rem;font-weight:650}.login-form{border-radius:24px;gap:10px;padding:14px;display:grid}.field{gap:5px;display:grid}.field span{color:oklch(81.6% .023 321.4/.76);text-transform:uppercase;font-size:.74rem;font-weight:900}.field input,.search-field input,textarea{border:1px solid var(--border);background:var(--field);width:100%;min-height:46px;color:var(--fg);border-radius:16px;outline:0;padding:0 14px}textarea{resize:none;min-height:78px;padding:10px 12px;line-height:1.35}.field input:focus,.search-field input:focus,textarea:focus{border-color:color-mix(in oklch, var(--accent) 82%, white);background:oklch(12% .016 300/.95)}.field small{min-height:13px;color:var(--danger);font-size:.72rem;font-weight:700}.field-error input{border-color:var(--danger)}.support-line{color:oklch(81.6% .023 321.4/.78);align-items:center;gap:10px;margin-top:12px;font-weight:650;display:flex}.support-icon{border:1px solid color-mix(in oklch, var(--tertiary) 42%, transparent);width:30px;height:30px;color:var(--tertiary);background:color-mix(in oklch, var(--tertiary) 13%, transparent);border-radius:50%;flex:0 0 30px;place-items:center;display:grid}.lesson-panel{border:1px solid var(--border);background:oklch(100% 0 0/.07);border-radius:22px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;margin-top:auto;padding:12px;display:grid}.avatar-stack{display:flex}.avatar-stack span,.avatar-single{background:var(--surface);width:34px;height:34px;color:var(--fg);border-radius:50%;place-items:center;font-weight:900;display:grid}.avatar-stack span+span{background:oklch(51.3% .111 327/.82);margin-left:-10px}.lesson-panel b{color:var(--fg);margin-bottom:3px;display:block}.lesson-panel span,.coach-note p,.teacher-panel p{color:var(--muted);margin:0}.home-screen,.practice-screen,.teacher-screen{min-height:100%}.dashboard-header h1{font:900 2rem/1.05 var(--font-display);margin:0 0 4px}.dashboard-header p{color:var(--muted);margin:0}.week-ribbon{border:1px solid color-mix(in oklch, var(--secondary) 42%, transparent);background:oklch(100% 0 0/.07);border-radius:22px;margin:14px 0;padding:14px}.ribbon-row{justify-content:space-between;gap:12px;margin-bottom:11px;display:flex}.ribbon-row b,.ribbon-row span{display:block}.ribbon-row span{color:var(--muted);margin-top:4px;font-weight:800}.ribbon-row strong{color:var(--muted);flex:none}.progress-bar{background:oklch(100% 0 0/.1);border-radius:999px;height:8px;overflow:hidden}.progress-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--secondary));height:100%;display:block}.home-grid{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px;display:grid}.home-card{border:1px solid var(--border);min-height:82px;color:var(--fg);text-align:left;background:oklch(100% 0 0/.055);border-radius:18px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.home-card[data-active=true]{border-color:color-mix(in oklch, var(--accent) 64%, transparent);background:color-mix(in oklch, var(--accent) 12%, transparent)}.home-card-icon{border:1px solid color-mix(in oklch, var(--accent) 40%, transparent);width:38px;height:38px;color:var(--accent);background:color-mix(in oklch, var(--accent) 10%, transparent);border-radius:13px;place-items:center;display:grid}.home-card[data-kind=warmup] .home-card-icon{border-color:color-mix(in oklch, var(--secondary) 42%, transparent);color:var(--secondary);background:color-mix(in oklch, var(--secondary) 12%, transparent)}.home-card[disabled]{opacity:.52}.home-card[data-kind=profile] .home-card-icon,.home-card[data-kind=teacher] .home-card-icon{border-color:color-mix(in oklch, var(--tertiary) 42%, transparent);color:var(--tertiary);background:color-mix(in oklch, var(--tertiary) 12%, transparent)}.home-card b,.practice-main b,.student-item b,.voice-attachment b{color:var(--fg);line-height:1.15;display:block}.home-card small,.practice-main small,.student-item small,.voice-attachment small{color:var(--muted);margin-top:4px;line-height:1.25;display:block}.profile-peek{border:1px solid var(--border);background:oklch(100% 0 0/.055);border-radius:18px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:10px;padding:10px;display:grid}.profile-peek .avatar-single,.teacher-panel .avatar-single,.coach-note .avatar-single{color:oklch(15% .025 300);background:var(--tertiary);border:0}.profile-peek span:not(.pill){color:var(--muted);display:block}.profile-peek b{margin-bottom:3px;display:block}.profile-panel{margin-top:14px;margin-bottom:0;padding:14px}.profile-panel small{color:var(--muted);margin-top:6px;font-weight:750;display:block}.admin-screen{min-height:100%}.admin-header{align-items:flex-start}.admin-link{text-decoration:none}.admin-db-pill{gap:6px}.admin-hero{border:1px solid color-mix(in oklch, var(--accent) 34%, transparent);background:radial-gradient(220px 120px at 80% 0%, color-mix(in oklch, var(--accent) 20%, transparent), transparent 72%), oklch(100% 0 0/.065);border-radius:20px;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 12px;padding:13px;display:flex}.admin-hero b,.admin-hero span{display:block}.admin-hero span{color:var(--muted);margin-top:4px;font-weight:700}.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.admin-kpi{border:1px solid var(--border);background:oklch(100% 0 0/.055);border-radius:18px;min-height:72px;padding:12px}.admin-kpi[data-tone=accent]{border-color:color-mix(in oklch, var(--accent) 36%, transparent);background:color-mix(in oklch, var(--accent) 9%, transparent)}.admin-kpi[data-tone=secondary]{border-color:color-mix(in oklch, var(--secondary) 36%, transparent);background:color-mix(in oklch, var(--secondary) 9%, transparent)}.admin-kpi[data-tone=warm]{border-color:color-mix(in oklch, var(--tertiary) 38%, transparent);background:color-mix(in oklch, var(--tertiary) 9%, transparent)}.admin-kpi b,.admin-kpi span{display:block}.admin-kpi b{font:900 1.45rem/1 var(--font-display)}.admin-kpi span{color:var(--muted);text-transform:uppercase;margin-top:7px;font-size:.74rem;font-weight:900}.admin-tabs{border:1px solid var(--border);background:oklch(100% 0 0/.05);border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:12px;padding:4px;display:grid}.admin-tabs button{min-height:38px;color:var(--muted);background:0 0;border-radius:14px;justify-content:center;align-items:center;gap:6px;font-weight:900;display:flex}.admin-tabs button[aria-selected=true]{color:oklch(15% .025 300);background:var(--accent)}.admin-pane{gap:10px;display:grid}.admin-form{border-radius:20px;gap:10px;padding:12px;display:grid}.admin-form-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.admin-form h2{font:900 1rem/1.15 var(--font-display);margin:0}.admin-submit{width:auto;min-height:40px;padding:0 14px}.admin-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.admin-field-wide{grid-column:1/-1}.admin-fields label,.admin-textarea{gap:5px;display:grid}.admin-fields label>span:first-child,.admin-textarea>span{color:oklch(81.6% .023 321.4/.76);text-transform:uppercase;font-size:.68rem;font-weight:900}.admin-fields input,.admin-fields select{border:1px solid var(--border);background:var(--field);width:100%;min-height:42px;color:var(--fg);border-radius:14px;outline:0;padding:0 11px}.admin-fields select{appearance:none}.admin-code-input{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.admin-code-input .secondary-button{width:42px;min-height:42px}.admin-list{gap:9px;display:grid}.admin-row{border-radius:18px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.admin-row-tall{grid-template-columns:1fr;align-items:stretch}.admin-row-main{min-width:0}.admin-row-main b,.admin-row-main span{display:block}.admin-row-main b{line-height:1.18}.admin-row-main span{color:var(--muted);margin-top:4px;font-size:.82rem;line-height:1.28}.admin-row-meta{color:var(--muted);flex-wrap:wrap;grid-column:2;align-items:center;gap:6px;font-size:.75rem;font-weight:850;display:flex}.admin-code-chip{border:1px solid color-mix(in oklch, var(--accent) 34%, transparent);min-height:34px;color:color-mix(in oklch, var(--accent) 82%, white);background:color-mix(in oklch, var(--accent) 10%, transparent);border-radius:999px;grid-column:1/-1;justify-self:start;align-items:center;gap:7px;padding:0 8px;font-weight:900;display:inline-flex}.admin-code-chip button{width:24px;height:24px;color:inherit;background:oklch(100% 0 0/.08);border-radius:50%;place-items:center;display:grid}.admin-row-tall .admin-row-meta{grid-column:auto}.admin-progress{color:var(--muted);grid-column:1/-1;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:8px;font-weight:900;display:grid}.admin-progress input{width:100%;accent-color:var(--secondary)}.admin-assignment-glyph{border:1px solid color-mix(in oklch, var(--accent) 38%, transparent);width:38px;height:38px;color:var(--accent);background:color-mix(in oklch, var(--accent) 10%, transparent);border-radius:13px;place-items:center;font-weight:900;display:grid}.admin-assignment-glyph[data-kind=warmup]{border-color:color-mix(in oklch, var(--secondary) 38%, transparent);color:var(--secondary);background:color-mix(in oklch, var(--secondary) 10%, transparent)}.admin-status{min-height:24px;color:var(--muted);text-transform:uppercase;background:oklch(100% 0 0/.08);border-radius:999px;align-items:center;padding:0 8px;font-size:.68rem;font-weight:900;display:inline-flex}.admin-status-active,.admin-status-new{color:color-mix(in oklch, var(--accent) 82%, white);background:color-mix(in oklch, var(--accent) 14%, transparent)}.admin-status-review{color:color-mix(in oklch, var(--tertiary) 82%, white);background:color-mix(in oklch, var(--tertiary) 14%, transparent)}.admin-status-answered,.admin-status-done{color:color-mix(in oklch, var(--ok) 78%, white);background:color-mix(in oklch, var(--ok) 12%, transparent)}.spin-icon{animation:.9s linear infinite spin}.segmented-control{border:1px solid var(--border);background:oklch(100% 0 0/.05);border-radius:18px;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px;padding:4px;display:grid}.segmented-control button{min-height:36px;color:var(--muted);background:0 0;border-radius:14px;font-weight:900}.segmented-control button[aria-selected=true]{color:oklch(15% .025 300);background:var(--secondary)}.search-field{color:var(--muted);margin-bottom:10px;display:block;position:relative}.search-field svg{pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-field input{min-height:44px;padding-left:42px}.practice-region{min-height:240px}.loading-stack{gap:9px;display:grid}.loading-stack span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.loading-stack i{background:linear-gradient(90deg,oklch(100% 0 0/.06),oklch(100% 0 0/.13),oklch(100% 0 0/.06)) 0 0/220% 100%;border-radius:18px;height:76px;animation:1.3s linear infinite shimmer}.practice-list{gap:9px;padding-bottom:8px;display:grid}.mini-player{border:1px solid var(--border);background:oklch(100% 0 0/.07);border-radius:18px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;padding:9px;display:grid}.waveform{align-items:center;gap:3px;min-height:32px;display:flex}.waveform i{background:var(--secondary);opacity:.75;border-radius:999px;width:4px}.waveform-active i{animation:.7s ease-in-out infinite alternate pulse-wave}.waveform i:nth-child(2n){background:var(--accent);animation-delay:.12s}.waveform i:first-child{height:12px}.waveform i:nth-child(2){height:22px}.waveform i:nth-child(3){height:16px}.waveform i:nth-child(4){height:28px}.waveform i:nth-child(5){height:18px}.waveform i:nth-child(6){height:24px}.waveform i:nth-child(7){height:13px}.waveform i:nth-child(8){height:29px}.time-label{color:var(--muted);font-size:.74rem;font-weight:900;display:block}.practice-card{width:100%;min-height:78px;color:inherit;text-align:left;border-radius:18px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px;display:grid}.practice-card:hover{border-color:color-mix(in oklch, var(--secondary) 42%, transparent)}.practice-glyph{border:1px solid color-mix(in oklch, var(--secondary) 40%, transparent);width:42px;height:42px;color:var(--secondary);background:color-mix(in oklch, var(--secondary) 11%, transparent);font:900 1rem/1 var(--font-display);border-radius:14px;place-items:center;display:grid}.practice-card[data-kind=homework] .practice-glyph{border-color:color-mix(in oklch, var(--accent) 38%, transparent);color:var(--accent);background:color-mix(in oklch, var(--accent) 10%, transparent)}.practice-badge{min-width:50px;color:color-mix(in oklch, var(--secondary) 78%, white);background:color-mix(in oklch, var(--secondary) 12%, transparent);text-align:center;border-radius:999px;padding:7px 8px;font-size:.72rem;font-weight:900}.practice-card[data-kind=homework] .practice-badge{color:color-mix(in oklch, var(--accent) 78%, white);background:color-mix(in oklch, var(--accent) 12%, transparent)}.empty-panel{border:1px dashed var(--border);min-height:208px;color:var(--muted);text-align:center;background:oklch(100% 0 0/.045);border-radius:18px;place-items:center;gap:9px;padding:20px;display:grid}.empty-panel b{color:var(--fg);font-size:1rem}.empty-panel p{max-width:28ch;margin:0}.detail-top{margin-bottom:12px}.exercise-hero{border:1px solid color-mix(in oklch, var(--secondary) 34%, transparent);background:color-mix(in oklch, var(--secondary) 11%, transparent);border-radius:24px;margin-bottom:12px;padding:16px}.exercise-hero h1{font:900 2rem/1.02 var(--font-display);margin:0 0 10px}.meta-row{flex-wrap:wrap;gap:6px;display:flex}.meta-row span{text-transform:uppercase;background:oklch(100% 0 0/.08);border-radius:999px;padding:6px 8px;font-size:.72rem;font-weight:900}.player-panel{border-radius:22px;margin-bottom:12px;padding:13px}.player-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.player-controls{grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:10px;display:grid}.round-control{width:48px;height:48px}.player-progress{gap:6px;display:grid}.player-progress small{color:var(--muted);font-weight:800}.steps-list{gap:8px;margin-bottom:12px;display:grid}.step-row{border:1px solid var(--border);width:100%;min-height:48px;color:var(--fg);text-align:left;background:oklch(100% 0 0/.055);border-radius:16px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:11px;padding:8px 10px;display:grid}.step-row span{border:2px solid oklch(81.6% .023 321.4/.42);border-radius:50%;width:26px;height:26px}.step-row b{font-weight:750}.step-row-done span{border-color:var(--ok);background:var(--ok);position:relative}.step-row-done span:after{content:"";border-bottom:2px solid oklch(15% .025 300);border-left:2px solid oklch(15% .025 300);width:10px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-62%)rotate(-45deg)}.step-row-done b{color:var(--muted);text-decoration:line-through}.record-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:10px;display:grid}.coach-note{border-radius:18px;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.coach-note b{margin-bottom:3px;display:block}.teacher-stats{grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0 12px;display:grid}.teacher-stats div{border:1px solid color-mix(in oklch, var(--tertiary) 26%, var(--border));background:color-mix(in oklch, var(--tertiary) 7%, transparent);border-radius:16px;min-height:54px;padding:10px}.teacher-stats b{color:color-mix(in oklch, var(--tertiary) 78%, white);font:900 1.25rem/1 var(--font-display);display:block}.teacher-stats span{color:var(--muted);text-transform:uppercase;margin-top:4px;font-size:.68rem;font-weight:900;display:block}.teacher-flow{gap:9px;display:grid}.teacher-panel{border-radius:18px;padding:12px}.teacher-panel h2{font:900 1rem/1.12 var(--font-display);margin:0 0 8px}.teacher-access-panel{margin-top:18px}.student-item{width:100%;min-height:58px;color:var(--fg);text-align:left;background:oklch(100% 0 0/.045);border-radius:15px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;display:grid}.student-item+.student-item{margin-top:6px}.student-item[aria-selected=true]{background:color-mix(in oklch, var(--tertiary) 12%, transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--tertiary) 50%, transparent)}.status-dot{background:var(--secondary);border-radius:50%;width:8px;height:8px}.status-dot-warn{background:var(--tertiary)}.listen-card{gap:9px;display:grid}.listen-top{justify-content:space-between;align-items:start;gap:10px;display:flex}.listen-player{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;display:grid}.reply-card,.assignment-card{gap:8px;display:grid}.voice-attachment{border:1px solid color-mix(in oklch, var(--tertiary) 28%, var(--border));background:color-mix(in oklch, var(--tertiary) 8%, transparent);border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:42px;padding:8px 9px;display:grid}.reply-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes pulse-wave{0%{transform:scaleY(.72)}to{transform:scaleY(1.12)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=640px){.app-stage{padding:0}.mobile-shell{border:0;border-radius:0;width:100%;height:100dvh;min-height:0}.screen-content{padding-top:calc(28px + env(safe-area-inset-top))}}@media (width<=370px){.screen-content{padding-left:16px;padding-right:16px}.page-title{font-size:2.45rem}.dashboard-header h1,.exercise-hero h1{font-size:1.8rem}.home-card{grid-template-columns:34px minmax(0,1fr)}.home-card-icon{width:34px;height:34px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
