body:has(.lx-app),html:has(.lx-app){background:#eef1f2;color:#15191b}.lx-root.lx-app{display:block;min-height:100dvh;background:var(--n-100);color:var(--text-primary);font-family:var(--font-ui);letter-spacing:var(--ls-tight)}.lx-auth-notice{position:fixed;z-index:120;top:max(20px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(350px,calc(100vw - 32px));padding:14px 18px;border-radius:var(--r-lg);background:var(--surface-inverse);color:var(--text-inverse);font:700 var(--fs-sm)/1.4 var(--font-ui);text-align:center;box-shadow:0 12px 30px rgba(0,0,0,.18)}.lx-app .lx-phone{width:100%;max-width:480px;height:100dvh;min-height:0;max-height:none;margin:0 auto;border:0;border-radius:0;box-shadow:none}@media (min-width:520px){.lx-app .lx-phone{box-shadow:0 0 0 1px var(--border),0 18px 60px rgba(31,42,45,.1)}}.lx-app .dp-pad{padding-top:calc(var(--sp-5) + env(safe-area-inset-top))}.lx-app .dp-pad:has(.dp-topline){padding-top:calc(var(--sp-3) + env(safe-area-inset-top))}.lx-app .dp-dashboard-top,.lx-app .dp-ob-top,.lx-app .dp-topline{top:0}.lx-app .dp-call,.lx-app .dp-practice .dp-topline{padding-top:calc(var(--sp-3) + env(safe-area-inset-top))}.lx-app .dp-practice .dp-topline{margin-top:calc((var(--sp-3) + env(safe-area-inset-top)) * -1)}.lx-app .dp-composer{padding-top:var(--sp-2);margin-top:0}.lx-app .dp-article-screen .dp-topline{margin-top:0;padding-top:calc(var(--sp-3) + env(safe-area-inset-top));padding-left:var(--sp-5);padding-right:var(--sp-5)}.lx-app .dp-bottom-nav{bottom:calc(24px + env(safe-area-inset-bottom))}.lx-skeleton{border-radius:var(--r-lg);margin-bottom:var(--sp-2);background:linear-gradient(90deg,var(--surface-sunken) 0,var(--surface) 50%,var(--surface-sunken) 100%);background-size:200% 100%;animation:lx-shimmer 1.4s ease-in-out infinite}@keyframes lx-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.lx-skeleton{animation:none}}.lx-center-state{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-8) var(--sp-5);text-align:center;background:var(--surface-page)}.lx-center-state p{font-size:var(--fs-sm);color:var(--text-muted);margin:0}.lx-error{background:var(--danger-bg);color:var(--danger-fg);font-size:var(--fs-sm)}.lx-error,.lx-note{border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);line-height:var(--lh-normal);margin:var(--sp-3) 0}.lx-note{background:var(--surface-sunken);color:var(--text-secondary);font-size:var(--fs-xs)}.lx-root.lx-overlay{position:fixed;inset:0;z-index:110;display:flex;align-items:flex-end;justify-content:center;background:rgba(17,24,26,.43);padding:var(--sp-4);font-family:var(--font-ui)}.lx-overlay .dp-confirm-card{max-width:440px;width:100%}.lx-app .lx-google{display:flex;justify-content:center;min-height:44px}.lx-app .lx-phone{transform:translateZ(0)}.lx-app .dp-call-controls,.lx-app .dp-call-sheet,.lx-app .dp-confirm-backdrop,.lx-app .dp-sticky-action,.lx-app .dp-text-ideas,.lx-app .dp-text-input{position:fixed}.lx-app .dp-sticky-action{left:0;right:0;bottom:0;border-radius:0;box-shadow:none;padding:var(--sp-6) var(--sp-5) calc(var(--sp-5) + env(safe-area-inset-bottom));background:linear-gradient(to bottom,color-mix(in srgb,var(--surface-page) 0%,transparent) 0,var(--surface-page) var(--sp-6))}.lx-app .dp-phone-viewport{animation:lx-arrive .24s ease both}@keyframes lx-arrive{0%{opacity:.72}to{opacity:1}}@media (prefers-reduced-motion:reduce){.lx-app .dp-phone-viewport{animation:none}}.lx-interrupted{display:inline-block;margin-left:var(--sp-2);padding:1px var(--sp-2);border-radius:var(--r-sm);background:var(--surface-sunken);color:var(--text-muted);font-size:var(--fs-2xs);font-weight:var(--fw-bold);vertical-align:middle}.lx-pr{margin:var(--sp-4) 0 var(--sp-6)}.lx-pr-card{gap:var(--sp-2)}.lx-pr-card .dp-mini-link{align-self:flex-start}.lx-pr-list{margin:var(--sp-1) 0 0}.lx-pr-list .dp-said{background:var(--surface-sunken)}.lx-pr-list .dp-said small{display:block;margin-top:var(--sp-1);font-weight:var(--fw-medium);color:var(--text-secondary);line-height:var(--lh-normal)}.lx-pr-words{display:flex;flex-direction:column;gap:var(--sp-1-5)}.lx-pr-word{display:grid;grid-template-columns:minmax(84px,auto) 1fr auto;align-items:center;gap:var(--sp-3);width:100%;border:0;text-align:left;background:var(--peach-bg);color:var(--text-primary);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);min-height:44px}.lx-pr-word>span:first-child{display:flex;flex-direction:column}.lx-pr-word strong{font-size:var(--fs-md)}.lx-pr-word small{font-size:var(--fs-2xs);color:var(--peach-fg);font-weight:var(--fw-bold)}.lx-pr-sounds{display:flex;flex-direction:column;gap:2px}.lx-pr-sounds em{font-style:normal;font-size:var(--fs-xs);color:var(--text-secondary)}.lx-pr-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.lx-pr-stats>span{background:var(--surface-sunken);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);display:flex;flex-direction:column}.lx-pr-stats b{font-size:var(--fs-lg);font-weight:var(--fw-heavy)}.lx-pr-stats small{font-size:var(--fs-2xs);color:var(--text-secondary);line-height:var(--lh-tight)}.lx-pr-word-wrap{background:var(--peach-bg);border-radius:var(--r-md)}.lx-pr-word-wrap .lx-pr-word{background:transparent}.lx-pr-word-detail{padding:0 var(--sp-3) var(--sp-3)}.lx-pr-word-detail .dp-phoneme-parts{margin:0 0 var(--sp-2)}.lx-pr-word-detail .dp-phoneme-parts>span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:54px;min-height:52px;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md);gap:2px}.lx-pr-word-detail .dp-phoneme-parts>span.correct{background:var(--mint-bg);color:var(--mint-fg)}.lx-pr-word-detail .dp-phoneme-parts>span.needs-work{background:var(--surface);color:var(--peach-fg)}.lx-pr-word-detail .dp-phoneme-parts strong{font-size:var(--fs-md)}.lx-pr-word-detail .dp-phoneme-parts small{font-size:var(--fs-2xs);font-weight:var(--fw-bold)}.lx-pr-word-detail p{font-size:var(--fs-sm);color:var(--text-secondary);margin:0 0 var(--sp-2)}.lx-pr-listen{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.lx-pr-listen button{border:0;background:var(--surface);color:var(--text-primary);border-radius:var(--r-full);min-height:40px;padding:0 var(--sp-4);display:inline-flex;align-items:center;gap:var(--sp-1-5);font-size:var(--fs-sm);font-weight:var(--fw-heavy)}.lx-app .dp-pad.lx-auth{box-sizing:border-box;min-height:100%;display:flex;flex-direction:column;padding-bottom:calc(var(--sp-4) + env(safe-area-inset-bottom))}.lx-auth>*{flex-shrink:0}.lx-auth-top{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-bottom:var(--sp-4)}.lx-auth-brand{font-weight:var(--fw-heavy);font-size:var(--fs-md)}.lx-auth-hero{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);text-align:center;margin-bottom:var(--sp-5)}.lx-auth-hero .dp-mascot,.lx-auth-hero .dp-mascot-sm{position:static;flex:none;width:88px;height:88px;margin:0;background:var(--blue-bg)}.lx-auth-hero h1{margin:0;font-size:var(--fs-3xl);line-height:1.2;font-weight:var(--fw-heavy)}.lx-auth .dp-form{margin-top:0;gap:var(--sp-3)}.lx-auth .dp-form input{padding:var(--sp-3) var(--sp-4);min-height:48px}.lx-auth-foot{margin-top:auto;padding-top:var(--sp-4)}.lx-auth-foot .dp-auth-switch{margin:0}.lx-auth-foot .dp-auth-switch button{min-height:40px;padding:var(--sp-2) var(--sp-1-5)}@media (max-height:700px){.lx-auth-hero,.lx-auth-top{margin-bottom:var(--sp-2)}.lx-auth-hero{gap:var(--sp-1)}.lx-auth-hero .lx-hello{width:150px}.lx-auth.signup .lx-auth-hero .lx-hello{width:120px}.lx-auth-foot{padding-top:var(--sp-2)}.lx-auth-foot .dp-auth-switch button{min-height:36px;padding:var(--sp-1-5)}.lx-auth-hero h1{font-size:var(--fs-2xl)}.lx-auth .dp-form{gap:var(--sp-2)}.lx-auth .dp-form input{min-height:44px;padding:10px var(--sp-4)}.lx-auth .dp-divider{margin:0;color:var(--text-muted)}}.lx-hello{width:100%;max-width:300px;margin:0 auto}.lx-hello svg{display:block;width:100%;height:auto;overflow:visible}.lx-hello .bg{fill:var(--blue-bg)}.lx-hello .bg.soft{fill:var(--lavender-bg)}.lx-hello .fur{fill:var(--mascot-fur)}.lx-hello .fur-dark{fill:var(--mascot-fur-dark)}.lx-hello .ear-in{fill:var(--mascot-ear)}.lx-hello .muzzle{fill:var(--mascot-muzzle)}.lx-hello .ink{fill:var(--n-900)}.lx-hello .shine{fill:var(--n-0)}.lx-hello .nose{fill:var(--peach-strong)}.lx-hello .blush{fill:var(--peach-line);opacity:.9}.lx-hello .mouth{fill:var(--peach-fg)}.lx-hello .ln{fill:none;stroke:var(--n-900);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.lx-hello .ln.thin{stroke-width:2;opacity:.45}.lx-hello .arm{fill:none;stroke:var(--mascot-fur);stroke-width:15;stroke-linecap:round}.lx-hello .wave{fill:none;stroke:var(--mint-strong);stroke-width:3;stroke-linecap:round}.lx-hello .band,.lx-hello .boom{fill:none;stroke:var(--action-primary-soft);stroke-width:5;stroke-linecap:round}.lx-hello .boom{stroke-width:3.5}.lx-hello .cup{fill:var(--action-primary-soft)}.lx-hello .mic{fill:var(--mint-strong)}.lx-hello .bubble-bg{fill:var(--surface);filter:drop-shadow(0 6px 12px rgba(31,42,45,.08))}.lx-hello .say{font:900 22px var(--font-display);fill:var(--text-primary);letter-spacing:-.02em}.lx-hello .say.sm{font-size:17px}.lx-hello .chip{fill:var(--yellow-bg)}.lx-hello .chip-t{font:900 15px var(--font-display);fill:var(--yellow-fg)}.lx-hello .spark{fill:var(--yellow-strong)}@media (prefers-reduced-motion:no-preference){.lx-hello .wave{animation:lx-hello-wave 1.8s ease-in-out infinite}.lx-hello .bubble{transform-origin:170px 64px;animation:lx-hello-pop .5s cubic-bezier(.3,1.5,.6,1) both}}@keyframes lx-hello-wave{0%,to{opacity:.35}50%{opacity:1}}@keyframes lx-hello-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.lx-auth-hero .lx-hello{max-width:none;width:clamp(150px,calc((100dvh - 560px) * 1.53),260px)}.lx-auth.signup .lx-auth-hero .lx-hello{width:clamp(120px,calc((100dvh - 680px) * 1.53),260px)}.lx-mdeck{display:flex;gap:var(--sp-3);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(var(--sp-5) * -1) var(--sp-6);padding:var(--sp-1) var(--sp-5) var(--sp-3);scroll-padding-inline:var(--sp-5)}.lx-mdeck::-webkit-scrollbar{display:none}.lx-app .lx-mdeck-filter{margin-bottom:var(--sp-3)}.lx-mcard,.lx-stile{position:relative;border:0;color:var(--text-primary);text-align:left;box-shadow:var(--shadow-xs);transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-base) var(--ease-out)}.lx-mcard{flex:0 0 min(72%,260px);scroll-snap-align:start;min-height:144px;border-radius:var(--r-2xl);padding:var(--sp-4);display:flex;flex-direction:column;justify-content:flex-end;gap:var(--sp-1)}.lx-mcard-icon,.lx-stile-icon{display:grid;place-items:center;border-radius:var(--r-md);background:rgba(255,255,255,.72);transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.lx-mcard-icon{position:absolute;top:var(--sp-4);left:var(--sp-4);width:44px;height:44px}.lx-mcard strong{font-size:var(--fs-lg);font-weight:var(--fw-heavy);line-height:var(--lh-tight)}.lx-mcard small{font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-normal)}.lx-stiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);margin-bottom:var(--sp-6)}.lx-stile{border-radius:var(--r-xl);padding:var(--sp-3);min-height:104px;display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-2)}.lx-stile-icon{width:38px;height:38px}.lx-stile strong{font-size:var(--fs-sm);font-weight:var(--fw-heavy);line-height:var(--lh-tight)}.lx-mcard.blue,.lx-stile.blue{background:var(--blue-bg)}.lx-mcard.yellow,.lx-stile.yellow{background:var(--yellow-bg)}.lx-mcard.mint,.lx-stile.mint{background:var(--mint-bg)}.lx-mcard.peach,.lx-stile.peach{background:var(--peach-bg)}.lx-mcard.lavender,.lx-stile.lavender{background:var(--lavender-bg)}.lx-mcard.selected .lx-mcard-icon,.lx-pick-check,.lx-stile.selected .lx-stile-icon{background:var(--surface-inverse);color:var(--text-inverse)}.lx-pick-check{position:absolute;top:var(--sp-3);right:var(--sp-3);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-sm)}@media (hover:hover){.lx-mcard:hover,.lx-stile:hover{transform:translateY(-2px)}}.lx-rtiles,.lx-stiles{grid-template-columns:repeat(2,1fr)}.lx-rtiles{display:grid;gap:var(--sp-2);margin-bottom:var(--sp-6)}.lx-rtile{min-height:156px}.lx-rtile-copy{display:flex;flex-direction:column;gap:var(--sp-1)}.lx-rtile-copy strong{font-size:var(--fs-md)}.lx-rtile-copy small{font-size:var(--fs-xs);color:var(--text-secondary);line-height:var(--lh-snug)}.lx-rtile-copy em{align-self:flex-start;margin-top:var(--sp-1);font-style:normal;font-size:var(--fs-2xs);font-weight:var(--fw-heavy);color:var(--text-secondary);background:rgba(255,255,255,.72);border-radius:var(--r-full);padding:2px var(--sp-2)}.lx-reflex{display:flex;align-items:center;gap:var(--sp-4);background:var(--surface);border-radius:var(--r-2xl);padding:var(--sp-4);margin:var(--sp-2) 0 var(--sp-4);box-shadow:var(--shadow-xs);transition:background var(--dur-base) var(--ease-out)}.lx-reflex.mint{background:var(--mint-bg)}.lx-reflex.yellow{background:var(--yellow-bg)}.lx-reflex.peach{background:var(--peach-bg)}.lx-reflex.blue{background:var(--blue-bg)}.lx-reflex-ring{position:relative;width:84px;height:84px;flex:none}.lx-reflex-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.lx-reflex-ring circle{fill:none;stroke-width:7}.lx-reflex-ring .track{stroke:color-mix(in srgb,var(--n-900) 8%,transparent)}.lx-reflex-ring .bar{stroke:var(--text-primary);stroke-linecap:round;transition:stroke-dashoffset .1s linear}.lx-reflex-ring>span{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.lx-reflex-ring strong{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-heavy);line-height:1;font-variant-numeric:tabular-nums}.lx-reflex-ring small{font-size:var(--fs-2xs);color:var(--text-secondary);margin-top:2px}.lx-reflex-copy{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.lx-reflex-copy strong{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:var(--fw-heavy);line-height:var(--lh-tight)}.lx-reflex-copy small{font-size:var(--fs-xs);color:var(--text-secondary);line-height:var(--lh-snug)}.lx-reflex-dots{display:flex;flex-wrap:wrap;gap:5px;margin-top:var(--sp-1)}.lx-reflex-dots i{width:10px;height:10px;border-radius:50%}.lx-reflex-dots i.mint{background:var(--mint-strong)}.lx-reflex-dots i.yellow{background:var(--yellow-strong)}.lx-reflex-dots i.peach{background:var(--peach-strong)}@media (prefers-reduced-motion:reduce){.lx-reflex,.lx-reflex-ring .bar{transition:none}}.lx-reflex-sum h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 var(--sp-2)}.lx-reflex-sum h3 b{font-family:var(--font-display);font-size:var(--fs-4xl);line-height:1}.lx-reflex-sum h3 small{flex-basis:100%;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-secondary)}.lx-reflex-chips{display:flex;flex-wrap:wrap;gap:var(--sp-1-5);margin:var(--sp-3) 0 var(--sp-4)}.lx-reflex-chips span{min-width:44px;text-align:center;border-radius:var(--r-full);background:var(--surface);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-xs);font-weight:var(--fw-heavy);font-variant-numeric:tabular-nums}.lx-reflex-chips span.mint{color:var(--mint-fg)}.lx-reflex-chips span.yellow{color:var(--yellow-fg)}.lx-reflex-chips span.peach{color:var(--peach-fg)}.lx-reflex-sum .dp-metrics{margin-bottom:var(--sp-4)}.lx-reflex-sum .dp-metric{background:var(--surface);min-height:0}.lx-reflex-sum p+p{margin-top:var(--sp-2)}.lx-sprint-run .dp-sprint-question{margin:var(--sp-5) 0 var(--sp-3)}.lx-sprint-status{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-2);min-height:44px}.lx-sprint-status .dp-mini-link{margin-top:0}.lx-sprint-hint{font-size:var(--fs-sm);color:var(--text-secondary)}.lx-sprint-hint b{color:var(--text-primary)}.lx-sprint-review{display:grid;gap:var(--sp-2);margin:var(--sp-5) 0 var(--sp-4)}.lx-sprint-item{background:var(--surface);border-radius:var(--r-xl);padding:var(--sp-4);box-shadow:var(--shadow-xs)}.lx-sprint-item header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.lx-sprint-item header .dp-eyebrow{margin:0}.lx-sprint-item p{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);line-height:var(--lh-normal);color:var(--text-secondary)}.lx-sprint-item p.en{font-family:var(--font-reading);font-size:var(--fs-lg);color:var(--text-primary)}.lx-sprint-item p.en b{background:var(--mint-bg);border-radius:var(--r-xs);padding:0 2px}.lx-sprint-actions{display:flex;flex-wrap:wrap;gap:0 var(--sp-5)}.lx-sprint-actions .dp-mini-link{margin-top:var(--sp-2)}.lx-sprint-note{margin:var(--sp-2) 0 var(--sp-5)}.lx-app .dp-practice .dp-composer{top:calc(64px + env(safe-area-inset-top))}.dp-penta-label.locked strong{color:var(--text-muted)}.lx-app .dp-chip,.lx-app .dp-rule-card button{min-height:44px}.dp-seg button{height:44px}.dp-lesson-mic,.dp-lesson-play{width:44px;height:44px}.dp-accent-toggle button,.dp-speed{min-height:44px;min-width:44px}.dp-accent-toggle{padding:2px}.dp-word-check button{width:44px;height:44px}.dp-word-check input{min-height:44px}.lx-app .dp-preset.blue,.lx-app .dp-preset.lavender,.lx-app .dp-preset.mint,.lx-app .dp-preset.peach,.lx-app .dp-preset.yellow{background:var(--surface)}.lx-app .dp-preset.blue>span{background:var(--blue-bg);color:var(--blue-fg)}.lx-app .dp-preset.yellow>span{background:var(--yellow-bg);color:var(--yellow-fg)}.lx-app .dp-preset.mint>span{background:var(--mint-bg);color:var(--mint-fg)}.lx-app .dp-preset.peach>span{background:var(--peach-bg);color:var(--peach-fg)}.lx-app .dp-preset.lavender>span{background:var(--lavender-bg);color:var(--lavender-fg)}.lx-app .dp-preset.selected.blue{background:var(--blue-bg)}.lx-app .dp-preset.selected.yellow{background:var(--yellow-bg)}.lx-app .dp-preset.selected.mint{background:var(--mint-bg)}.lx-app .dp-preset.selected.peach{background:var(--peach-bg)}.lx-app .dp-preset.selected.lavender{background:var(--lavender-bg)}.lx-app .dp-preset>b:not(.dp-preset-check){font-size:0;width:22px;height:22px;flex:none;border-radius:50%;box-shadow:inset 0 0 0 2px var(--n-400)}.dp-penta-label{width:max-content;white-space:nowrap}.dp-skill-card .dp-pentagon{margin-top:var(--sp-8)}.lx-empty-session{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--sp-6) var(--sp-2) 0}.lx-empty-session .dp-mascot{position:static;margin:0 0 var(--sp-4)}.lx-empty-session h2{font-size:var(--fs-xl);margin:0 0 var(--sp-2)}.lx-empty-session p{font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-normal);margin:0 0 var(--sp-5);max-width:300px}.lx-empty-session .dp-button{width:100%}.dp-wl-dots{gap:0;margin-left:-18px}.dp-wl-dots button{width:44px;height:44px}.dp-wl-dots button.active{width:52px}.lx-app .dp-ob-option.selected,.lx-app .dp-ob-time button.selected,.lx-app .dp-plan.selected,.lx-app .dp-preset.selected,.lx-app .lx-mcard.selected,.lx-app .lx-stile.selected{transform:none;box-shadow:none}.lx-app .dp-preset.selected>span{background:var(--surface-inverse);color:var(--text-inverse);transform:none}.lx-nav-fade{position:absolute;left:0;right:0;bottom:0;height:calc(110px + env(safe-area-inset-bottom));z-index:29;pointer-events:none;background:linear-gradient(to bottom,color-mix(in srgb,var(--surface-page) 0%,transparent) 0,var(--surface-page) 40px)}.lx-app .dp-dashboard-top:after,.lx-app .dp-ob-top:after,.lx-app .dp-practice .dp-composer:after,.lx-app .dp-topline:after{content:"";position:absolute;left:-20px;right:-20px;top:100%;height:16px;pointer-events:none;background:linear-gradient(to bottom,var(--surface-page),color-mix(in srgb,var(--surface-page) 0%,transparent))}.lx-app .dp-practice .dp-topline:after{display:none}.lx-run{width:100%;min-height:164px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);margin:var(--sp-8) 0 var(--sp-5);padding:0 var(--sp-2);text-align:center}.lx-app .dp-call.waiting .lx-run{margin-top:auto;margin-bottom:auto}.lx-run-stage{width:100%;max-width:320px}.lx-run-stage svg{display:block;width:100%;height:auto;overflow:hidden}.lx-run .track{stroke:var(--border-strong);stroke-width:1.2;stroke-linecap:round}.lx-run .shadow{fill:var(--n-900);opacity:.08}.lx-run .fur,.lx-run .leg.near{fill:var(--mascot-fur)}.lx-run .fur-dark,.lx-run .leg.far{fill:var(--mascot-fur-dark)}.lx-run .ear-in{fill:var(--mascot-ear)}.lx-run .muzzle{fill:var(--mascot-muzzle)}.lx-run .ink{fill:var(--n-900)}.lx-run .nose{fill:var(--peach-strong)}.lx-run .mouth{fill:none;stroke:var(--peach-fg);stroke-width:1.8;stroke-linecap:round}.lx-run .tail{fill:none;stroke:var(--mascot-fur-dark);stroke-width:8;stroke-linecap:round}.lx-run .band{fill:none;stroke:var(--action-primary-soft);stroke-width:4;stroke-linecap:round}.lx-run .boom{fill:none;stroke:var(--action-primary-soft);stroke-width:3;stroke-linecap:round}.lx-run .cup{fill:var(--action-primary-soft)}.lx-run .mic{fill:var(--mint-strong)}.lx-run .runner{transform:translateX(128px)}.lx-run-copy{display:flex;flex-direction:column;gap:var(--sp-1);line-height:var(--lh-normal)}.lx-run-copy strong{color:var(--text-primary);font-size:var(--fs-sm);font-weight:var(--fw-heavy)}.lx-run-copy span{color:var(--text-secondary);font-size:var(--fs-xs)}.dp-live-dot.lx-dot-connecting{background:var(--n-500);box-shadow:none}.lx-app .dp-call-controls .dp-icon-button:disabled{opacity:.38;cursor:not-allowed}@media (prefers-reduced-motion:no-preference){.lx-run:not(.is-connected) .runner{animation:lx-run-cross 4.8s linear infinite}.lx-run:not(.is-connected) .body{animation:lx-run-bob .56s ease-in-out infinite}.lx-run:not(.is-connected) .leg{transform-box:fill-box;transform-origin:50% 12%;animation:lx-run-leg .56s ease-in-out infinite}.lx-run:not(.is-connected) .leg.far.front{animation-delay:-.14s}.lx-run:not(.is-connected) .leg.near.back{animation-delay:-.28s}.lx-run:not(.is-connected) .leg.far.back{animation-delay:-.42s}}@keyframes lx-run-cross{0%{transform:translateX(-72px)}to{transform:translateX(320px)}}@keyframes lx-run-bob{0%,50%,to{transform:translateY(0)}25%,75%{transform:translateY(-1.5px)}}@keyframes lx-run-leg{0%,to{transform:rotate(24deg)}50%{transform:rotate(-24deg)}}.lx-app .dp-orb-core,.lx-app .dp-orb-ring{box-shadow:none}.lx-app .dp-call-orb.compact{height:148px}.lx-app .dp-call-orb.compact .dp-orb-core{width:96px;height:96px}.lx-app .dp-call-orb.compact .dp-orb-ring{width:124px;height:124px}.lx-app .dp-call-orb.compact+.dp-transcript{margin-top:var(--sp-2)}.lx-typing{display:inline-flex;align-items:center;gap:5px;height:22px;margin-top:var(--sp-1-5);vertical-align:middle}.lx-typing i{width:8px;height:8px;border-radius:50%;background:var(--n-500);opacity:.45}.dp-message p .lx-typing{margin-top:0}.lx-typing i{animation:lx-typing-fade 1.2s ease-in-out infinite}.lx-typing i:nth-child(2){animation-delay:.15s}.lx-typing i:nth-child(3){animation-delay:.3s}@media (prefers-reduced-motion:no-preference){.lx-typing i{animation-name:lx-typing}}@keyframes lx-typing-fade{0%,60%,to{opacity:.45}30%{opacity:1}}@keyframes lx-typing{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}.lx-typing-msg{display:flex;flex-direction:column;align-items:flex-start;width:max-content;min-width:96px}.lx-app .dp-call-controls,.lx-app .dp-text-input{left:0;right:0;bottom:0;z-index:6;padding:var(--sp-6) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom));background:linear-gradient(to bottom,color-mix(in srgb,var(--surface-page) 0%,transparent) 0,var(--surface-page) var(--sp-6))}.lx-app .dp-call-controls{padding-left:var(--sp-5);padding-right:var(--sp-5)}.lx-app .dp-text-ideas{bottom:calc(92px + env(safe-area-inset-bottom))}.lx-app .dp-call-sheet{bottom:calc(94px + env(safe-area-inset-bottom))}.lx-app .dp-call,.lx-app .dp-call-text{padding-bottom:calc(120px + env(safe-area-inset-bottom))}.lx-mk-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:var(--sp-2);margin:0 0 var(--sp-3)}.lx-mk-filter{border:1.5px solid transparent;border-radius:var(--r-lg);background:var(--surface);color:var(--text-secondary);min-height:58px;padding:var(--sp-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:var(--fs-2xs);font-weight:var(--fw-bold)}.lx-mk-filter b{font-size:var(--fs-xl);line-height:1;color:var(--text-primary);font-variant-numeric:tabular-nums}.lx-mk-filter.grammar b{color:var(--peach-fg)}.lx-mk-filter.vocabulary b{color:var(--yellow-fg)}.lx-mk-filter.pronunciation b{color:var(--lavender-fg)}.lx-mk-filter.active{border-color:var(--border-inverse);color:var(--text-primary)}.lx-mk-filter:disabled{opacity:.45}.lx-mk-legend{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-4);font-size:var(--fs-2xs);color:var(--text-muted);margin:0 0 var(--sp-4)}.lx-mk-legend del{text-decoration-color:var(--peach-strong);text-decoration-thickness:2px}.lx-mk-legend u{text-decoration:underline wavy var(--lavender-strong);text-underline-offset:3px}.lx-mk-list{display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-5)}.lx-mk-turn{background:var(--surface);border-radius:var(--r-xl);padding:var(--sp-4)}.lx-mk-turn.clean{background:var(--surface-sunken)}.lx-mk-turn-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);font-size:var(--fs-2xs);font-weight:var(--fw-heavy);letter-spacing:var(--ls-caps);color:var(--text-muted)}.lx-mk-kinds{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--sp-1);letter-spacing:0}.lx-mk-q{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-normal)}.lx-mk-q small{font-size:var(--fs-2xs);font-weight:var(--fw-heavy);color:var(--text-muted);margin-right:var(--sp-1)}.lx-mk-said{margin:var(--sp-2) 0 0;font-size:var(--fs-lg);line-height:1.6;color:var(--text-primary);overflow-wrap:anywhere}.lx-mk-said del{background:var(--peach-bg);color:var(--peach-fg);text-decoration-color:var(--peach-strong);text-decoration-thickness:2px;border-radius:var(--r-xs);padding:0 3px}.lx-mk-pword{display:inline-block;min-width:24px;text-align:center;border:0;background:none;padding:0 2px;margin:0;font:inherit;color:inherit;text-decoration:underline wavy;text-decoration-thickness:2px;text-underline-offset:5px;border-radius:var(--r-xs);cursor:pointer}.lx-mk-pword.warn{text-decoration-color:var(--yellow-strong)}.lx-mk-pword.error{text-decoration-color:var(--peach-strong);color:var(--peach-fg)}.lx-mk-pword.grammar{background:var(--peach-bg);text-decoration-line:underline line-through}.lx-mk-pword:focus-visible,.lx-mk-pword:hover{background:var(--lavender-bg);outline:none}.lx-mk-block{border-top:1px solid var(--border);margin-top:var(--sp-3);padding-top:var(--sp-3)}.lx-mk-block h4{margin:0 0 var(--sp-2);font-size:var(--fs-2xs);font-weight:var(--fw-heavy);letter-spacing:var(--ls-caps);text-transform:uppercase}.lx-mk-block h4 span{font-weight:var(--fw-bold);color:var(--text-muted);letter-spacing:0;text-transform:none}.lx-mk-block.grammar h4{color:var(--peach-fg)}.lx-mk-block.vocabulary h4{color:var(--yellow-fg)}.lx-mk-block.pronunciation h4{color:var(--lavender-fg)}.lx-mk-fix{margin:0;font-size:var(--fs-base);font-weight:var(--fw-semibold);line-height:var(--lh-normal)}.lx-mk-fix ins{text-decoration:none;background:var(--mint-bg);color:var(--mint-fg);border-radius:var(--r-xs);padding:0 3px}.lx-mk-explain{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-normal)}.lx-mk-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}.lx-mk-actions button{border:0;border-radius:var(--r-lg);background:var(--surface-sunken);color:var(--text-primary);min-height:40px;padding:var(--sp-2) var(--sp-3);display:inline-flex;align-items:center;gap:var(--sp-1-5);font-size:var(--fs-sm);font-weight:var(--fw-bold)}.lx-mk-vocab{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.lx-mk-vocab li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1-5);font-size:var(--fs-base)}.lx-mk-vocab s{color:var(--text-muted)}.lx-mk-vocab b{background:var(--mint-bg);color:var(--mint-fg);border-radius:var(--r-xs);padding:0 4px}.lx-mk-vocab small{flex-basis:100%;font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-normal)}.lx-mk-pron{padding:0}.lx-mk-pron-row+.lx-mk-pron-row{border-top:1px solid var(--border)}.lx-mk-pron.open{background:var(--surface-sunken);border-radius:var(--r-lg);padding:0 var(--sp-3) var(--sp-3);margin:var(--sp-1) calc(-1 * var(--sp-3))}.lx-mk-pron-row:has(+.lx-mk-pron-row .open),.lx-mk-pron-row:has(.open)+.lx-mk-pron-row{border-color:transparent}.lx-mk-pron-more{border:0;background:none;padding:0;min-height:44px;font-size:var(--fs-sm);font-weight:var(--fw-heavy);color:var(--text-primary);text-decoration:underline;text-underline-offset:3px}.lx-mk-pron-sum{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--peach-fg);white-space:nowrap}.lx-mk-pron-body .lx-mk-phonemes{margin-top:var(--sp-1)}.lx-mk-more{border:0;background:var(--surface);border-radius:var(--r-lg);margin:calc(-1 * var(--sp-1)) 0 var(--sp-4);font-size:var(--fs-sm);font-weight:var(--fw-heavy)}.lx-mk-more,.lx-mk-pron-head{width:100%;min-height:44px;color:var(--text-primary)}.lx-mk-pron-head{border:0;background:none;padding:var(--sp-1) 0;display:flex;align-items:center;gap:var(--sp-2);text-align:left}.lx-mk-pron-head strong{font-size:var(--fs-md);flex:1}.lx-mk-pron-head svg{transition:transform var(--dur-fast);transform:rotate(90deg)}.lx-mk-pron.open .lx-mk-pron-head svg{transform:rotate(-90deg)}.lx-mk-score{font-weight:var(--fw-heavy);font-size:var(--fs-base);font-variant-numeric:tabular-nums}.lx-mk-score small{font-size:var(--fs-2xs);color:var(--text-muted);font-weight:var(--fw-bold)}.lx-mk-pron.error .lx-mk-score{color:var(--peach-fg)}.lx-mk-pron.warn .lx-mk-score{color:var(--yellow-fg)}.lx-mk-phonemes{display:flex;flex-wrap:wrap;gap:var(--sp-1-5)}.lx-mk-phonemes>span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:44px;min-height:46px;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md);gap:2px}.lx-mk-phonemes strong{font-size:var(--fs-base);line-height:1}.lx-mk-phonemes small{font-size:var(--fs-2xs);font-weight:var(--fw-bold);white-space:nowrap}.lx-mk-phonemes .correct{background:var(--mint-bg);color:var(--mint-fg)}.lx-mk-phonemes .substituted{background:var(--peach-bg);color:var(--peach-fg)}.lx-mk-phonemes .missing{background:var(--surface);color:var(--peach-fg);border:1.5px dashed var(--peach-line)}.lx-mk-phonemes .extra{background:var(--yellow-bg);color:var(--yellow-fg)}.lx-mk-pron-body ul{margin:var(--sp-3) 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--text-secondary)}.lx-mk-pron-body ul b{color:var(--text-primary);display:inline-block;min-width:40px}.lx-mk-pron-body>.dp-muted,.lx-mk-tip{margin:var(--sp-3) 0 0;font-size:var(--fs-sm)}.lx-mk-tip{display:flex;gap:var(--sp-2);padding:var(--sp-3);background:var(--surface);border-radius:var(--r-md);line-height:var(--lh-normal);color:var(--text-secondary)}.lx-mk-tip svg{flex:none;margin-top:2px;color:var(--yellow-fg)}.lx-mk-pron .lx-mk-actions button{background:var(--surface)}.lx-mk-sounds{margin-bottom:var(--sp-4)}.lx-mk-sound{display:flex;align-items:center;gap:var(--sp-3);background:var(--lavender-bg);border-radius:var(--r-lg);padding:var(--sp-3);margin-bottom:var(--sp-2)}.lx-mk-sound>strong{font-size:var(--fs-xl);min-width:52px;text-align:center;color:var(--lavender-fg)}.lx-mk-sound>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lx-mk-sound b{font-size:var(--fs-md)}.lx-mk-sound small{font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-snug)}.lx-mk-sound .dp-badge{border:0;min-height:36px}.lx-mk-preview{margin:var(--sp-5) 0}.lx-mk-preview .lx-mk-list{margin-bottom:var(--sp-3)}.lx-app .dp-pad.dp-demo-lobby{box-sizing:border-box;min-height:100%;display:flex;flex-direction:column;padding-bottom:calc(var(--sp-5) + env(safe-area-inset-bottom))}.dp-demo-lobby>*{flex-shrink:0}.dp-demo-lobby .dp-hero-card{margin-bottom:var(--sp-4)}.dp-demo-lobby .dp-hero-card h2{max-width:68%}.dp-demo-facts .dp-row{background:var(--surface)}.dp-demo-cta{margin-top:auto;padding-top:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3)}.dp-demo-cta .dp-muted{margin:0;font-size:var(--fs-sm)}.dp-demo-cta .dp-mic-denied,.dp-demo-cta .lx-error{margin:0}.lx-app .lx-auth .dp-divider{color:var(--text-muted)}:where(.lx-app) :where(.dp-flash-tools,.lx-mk-actions,.dp-topic-banner-actions,.dp-goal-chips,.dp-say,.dp-say-row,.dp-say-actions,.dp-auth-switch,.lx-mk-sound,.dp-message,.dp-order-pool,.dp-deck-words,.dp-vcard-actions,.dp-vcard-word,.dp-deck-head,.dp-text-mode-note,.dp-section-title)>button,:where(.lx-app) :where(.dp-hero-card>.dp-button,.dp-hero-swap,.lx-mk-pron-head,.dp-crit-head){position:relative}.lx-app :is(.dp-flash-tools,.lx-mk-actions,.dp-topic-banner-actions,.dp-goal-chips,.dp-say,.dp-say-row,.dp-say-actions,.dp-auth-switch,.lx-mk-sound,.dp-message,.dp-order-pool)>button:before,.lx-app :is(.dp-hero-card>.dp-button,.dp-hero-swap,.lx-mk-pron-head):before{content:"";position:absolute;inset:-4px -2px}.lx-app .dp-crit-head:before,.lx-app .dp-section-title>button:not(.dp-section-arrow):before,.lx-app :is(.dp-deck-words,.dp-vcard-actions,.dp-vcard-word,.dp-deck-head,.dp-text-mode-note)>button:before{content:"";position:absolute;inset:-6px -3px}.dp-prio{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-2xs);font-weight:var(--fw-heavy);border-radius:var(--r-full);padding:var(--sp-1) var(--sp-2);white-space:nowrap;background:var(--surface-sunken);color:var(--text-secondary)}.dp-prio-critical{background:var(--peach-bg);color:var(--peach-fg);box-shadow:inset 0 0 0 1px var(--peach-line)}.dp-prio-critical i{width:6px;height:6px;border-radius:50%;background:var(--peach-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--peach-strong) 22%,transparent)}.dp-prio-high{background:var(--yellow-bg);color:var(--yellow-fg)}.dp-prio-medium{background:var(--blue-bg);color:var(--blue-fg)}.dp-focus-card.peach{background:var(--peach-bg)}.dp-focus-card.blue{background:var(--blue-bg)}.dp-focus-card.mint{background:var(--mint-bg)}.dp-continue{display:grid;gap:var(--sp-2)}.dp-continue-card{width:100%;display:flex;align-items:center;gap:var(--sp-3);border:0;background:var(--surface);color:var(--text-primary);border-radius:var(--r-xl);padding:var(--sp-4);text-align:left;box-shadow:var(--shadow-xs);min-height:84px}.dp-continue-card>svg{flex:none;color:var(--text-muted)}.dp-continue-card .dp-row-icon{width:42px;height:42px;flex:none}.dp-continue-copy{flex:1;min-width:0;display:grid;gap:2px}.dp-continue-copy small{font-size:var(--fs-2xs);font-weight:var(--fw-heavy);letter-spacing:var(--ls-caps);color:var(--text-muted)}.dp-continue-copy strong{font-family:var(--font-display);font-size:var(--fs-base);line-height:var(--lh-snug)}.dp-continue-copy em{font-style:normal;font-size:var(--fs-xs);line-height:var(--lh-normal);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dp-review-card{margin:var(--sp-5) 0}.dp-composer.dp-topic-composer{position:relative;top:auto;padding:0;margin:var(--sp-2) 0 var(--sp-4);background:transparent;z-index:auto}.dp-composer.dp-topic-composer:after,.dp-composer.dp-topic-composer:before{display:none}.dp-goal-current{display:flex;align-items:center;gap:var(--sp-3);background:var(--mint-bg);border-radius:var(--r-xl);padding:var(--sp-4);margin-bottom:var(--sp-4)}.dp-goal-current-icon{width:40px;height:40px;flex:none;border-radius:var(--r-md);display:grid;place-items:center;background:var(--surface);color:var(--mint-strong)}.dp-goal-current div{flex:1;min-width:0}.dp-goal-current small{display:block;font-size:var(--fs-2xs);font-weight:var(--fw-heavy);letter-spacing:var(--ls-caps);color:var(--mint-fg)}.dp-goal-current strong{font-family:var(--font-display);font-size:var(--fs-lg);line-height:var(--lh-snug)}.dp-goal-draft{margin-bottom:var(--sp-2)}.dp-goal-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.dp-goal-chips button{border:0;background:var(--surface);box-shadow:var(--shadow-xs);border-radius:var(--r-full);padding:var(--sp-2) var(--sp-3);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-primary);min-height:40px}.dp-goal-topics{display:grid;gap:var(--sp-2)}.dp-goal-topic{width:100%;display:flex;align-items:center;gap:var(--sp-3);border:0;border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);text-align:left;color:var(--text-primary);min-height:58px}.dp-goal-topic>span{width:34px;height:34px;flex:none;border-radius:var(--r-md);background:var(--surface);display:grid;place-items:center}.dp-goal-topic strong{flex:1;font-size:var(--fs-md)}.dp-goal-topic>svg{color:var(--text-muted)}.dp-goal-previews{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);margin-bottom:var(--sp-5)}.dp-goal-preview{background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-3);display:flex;flex-direction:column;gap:3px}.dp-goal-preview .dp-row-icon{width:32px;height:32px;margin-bottom:var(--sp-1)}.dp-goal-preview strong{font-size:var(--fs-sm)}.dp-goal-preview small{font-size:var(--fs-2xs);line-height:var(--lh-normal);color:var(--text-secondary)}.dp-goal-hint{margin:calc(var(--sp-3) * -1) 0 var(--sp-5);font-size:var(--fs-xs)}.dp-goal .dp-chip-row{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.dp-topic-banner{width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);border:0;background:var(--action-secondary);color:var(--text-primary);box-shadow:var(--shadow-xs);border-radius:var(--r-xl);padding:var(--sp-4);text-align:left;margin:var(--sp-2) 0 var(--sp-4)}.dp-topic-banner.empty{background:var(--mint-bg);color:var(--text-primary)}.dp-topic-banner-icon{width:40px;height:40px;flex:none;border-radius:var(--r-md);display:grid;place-items:center;background:var(--yellow-bg);color:var(--yellow-fg)}.dp-topic-banner.empty .dp-topic-banner-icon{background:var(--surface);color:var(--mint-strong)}.dp-topic-banner-copy{flex:1;min-width:0;display:grid;gap:2px}.dp-topic-banner-copy small{font-size:var(--fs-2xs);font-weight:var(--fw-heavy);letter-spacing:var(--ls-caps);color:var(--text-muted)}.dp-topic-banner.empty .dp-topic-banner-copy small{color:var(--mint-fg)}.dp-topic-banner-copy strong{font-family:var(--font-display);font-size:var(--fs-lg);line-height:var(--lh-snug);overflow-wrap:anywhere}.dp-topic-banner-copy em{font-style:normal;font-size:var(--fs-xs);line-height:var(--lh-normal)}.dp-topic-banner-copy em,.dp-topic-banner.empty .dp-topic-banner-copy em{color:var(--text-secondary)}.dp-topic-banner-actions{display:flex;gap:var(--sp-2);width:100%}.dp-topic-banner-actions .dp-button{margin-top:0}.dp-topic-banner-actions .dp-button:disabled{opacity:.6}.dp-topic-banner-actions:empty{display:none}.dp-swap-btn{position:relative;width:32px;height:32px;flex:none;border:0;padding:0;border-radius:var(--r-full);display:grid;place-items:center;background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-xs);transition:box-shadow var(--dur-fast),transform var(--dur-fast) var(--ease-spring)}.dp-swap-btn:before{content:"";position:absolute;inset:-6px}.dp-swap-btn svg{stroke-width:2.1;transition:transform var(--dur-base) var(--ease-spring)}.dp-swap-btn:hover{box-shadow:var(--shadow-sm)}.dp-swap-btn:hover svg{transform:rotate(180deg)}.dp-swap-btn:active{transform:scale(.92)}.dp-swap-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.dp-topic-banner .dp-swap-btn{align-self:flex-start;background:var(--surface-sunken);box-shadow:none}.dp-topic-banner .dp-swap-btn:hover{background:var(--border)}@media (prefers-reduced-motion:reduce){.dp-swap-btn svg{transition:none}.dp-swap-btn:hover svg{transform:none}}.dp-topic-banner-source{width:100%;font-size:var(--fs-2xs);line-height:var(--lh-normal);color:var(--text-muted)}.dp-topic-banner-source button:before{content:"";position:absolute;inset:-12px -6px}.dp-topic-banner-source button{position:relative;border:0;background:none;padding:0;color:var(--text-primary);font:inherit;font-weight:var(--fw-heavy);text-decoration:underline;text-underline-offset:2px}.dp-pack-loading{display:flex;align-items:center;gap:var(--sp-3);background:var(--blue-bg);border-radius:var(--r-xl);padding:var(--sp-4);margin:var(--sp-2) 0 var(--sp-4)}.dp-pack-loading .dp-mascot-sm,.dp-pack-loading>div:first-child{flex:none;margin:0}.dp-pack-loading strong{display:block;font-family:var(--font-display);font-size:var(--fs-base)}.dp-pack-loading p{margin:var(--sp-1) 0 0;font-size:var(--fs-xs);line-height:var(--lh-normal);color:var(--text-secondary)}.dp-pack-error{margin:var(--sp-2) 0 var(--sp-4);background:var(--peach-bg)}.dp-pack-error button,.dp-tasks-empty button{margin-top:var(--sp-3);border:0;background:var(--surface);border-radius:var(--r-full);padding:var(--sp-2) var(--sp-4);font-weight:var(--fw-heavy);font-size:var(--fs-xs);min-height:40px}.dp-tasks-empty .dp-button{margin-top:var(--sp-3)}.dp-ex-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);margin-bottom:var(--sp-6)}.dp-ex-tile{position:relative;border:0;border-radius:var(--r-lg);padding:var(--sp-4);text-align:left;display:flex;flex-direction:column;gap:3px;color:var(--text-primary);min-height:118px;box-shadow:var(--shadow-xs);transition:transform var(--dur-fast) var(--ease-spring)}.dp-ex-tile:active{transform:scale(.97)}.dp-ex-tile-icon,.dp-ex-tile.dp-tone-neutral{background:var(--surface)}.dp-ex-tile-icon{width:36px;height:36px;border-radius:var(--r-md);display:grid;place-items:center;margin-bottom:var(--sp-2)}.dp-ex-tile strong{font-size:var(--fs-base);line-height:var(--lh-snug)}.dp-ex-tile small{line-height:var(--lh-normal)}.dp-ex-tile small,.dp-ex-tile-best{font-size:var(--fs-2xs);color:var(--text-secondary)}.dp-ex-tile-best{position:absolute;top:var(--sp-3);right:var(--sp-3);display:inline-flex;align-items:center;gap:2px;font-weight:var(--fw-heavy);background:var(--surface);border-radius:var(--r-full);padding:2px var(--sp-2)}.dp-ex-tile-best.good{color:var(--mint-fg)}.dp-topline>span:nth-child(2){text-align:center;min-width:0}.dp-topline-sub{display:flex;align-items:center;justify-content:center;gap:var(--sp-1);margin-top:2px;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dp-runner-result{display:flex;flex-direction:column;gap:var(--sp-2)}.dp-runner-result .dp-heading{margin-top:var(--sp-2)}.dp-center-link{display:flex;align-items:center;gap:var(--sp-1);margin:calc(var(--sp-3) * -1) auto var(--sp-3);border:0;background:transparent;font-weight:var(--fw-bold);color:var(--text-secondary)}.dp-record.dp-record-sm{width:64px;height:64px;margin:var(--sp-4) auto var(--sp-2)}.dp-say-or-type{margin-bottom:var(--sp-4)}.dp-say-or-type-form{display:flex;gap:var(--sp-2);margin-top:var(--sp-3)}.dp-say-or-type-form input{flex:1;min-width:0;border:0;background:var(--surface);border-radius:var(--r-lg);padding:0 var(--sp-4);height:52px;font-size:var(--fs-base);color:var(--text-primary);box-shadow:var(--shadow-xs)}.dp-say-or-type-form input:focus{outline:0;box-shadow:0 0 0 2px var(--focus-ring)}.dp-say-or-type-form button{flex:none;border:0;border-radius:var(--r-lg);padding:0 var(--sp-4);background:var(--action-primary);color:var(--action-on-primary);font-weight:var(--fw-heavy);font-size:var(--fs-sm)}.dp-say-or-type-form button:disabled{opacity:.45}.dp-say-list{display:grid;gap:var(--sp-2);margin-bottom:var(--sp-2)}.dp-say-row{display:flex;align-items:center;gap:var(--sp-3);background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-2) var(--sp-3);min-height:62px;box-shadow:var(--shadow-xs)}.dp-say-listen{width:40px;height:40px;flex:none;border:0;border-radius:50%;background:var(--surface-sunken);display:grid;place-items:center;color:var(--text-primary)}.dp-say-text{flex:1;min-width:0;display:grid}.dp-say-text strong{font-size:var(--fs-lg);font-family:var(--font-display)}.dp-say-text small{font-size:var(--fs-xs);color:var(--text-muted)}.dp-say-text .dp-say-ipa{font-family:var(--font-ipa,inherit);font-size:var(--fs-sm);color:var(--text-secondary,var(--text-muted))}.dp-say-phones{display:flex;flex-wrap:wrap;gap:3px;margin:var(--sp-1) 0 2px}.dp-say-phones span{min-width:24px;height:24px;padding:0 6px;border-radius:var(--r-sm);display:grid;place-items:center;font-size:var(--fs-sm);font-weight:var(--fw-bold)}.dp-say-phones .ok{background:var(--mint-bg);color:var(--mint-fg)}.dp-say-phones .bad{background:var(--peach-bg);color:var(--peach-fg);box-shadow:inset 0 -2px 0 var(--peach-strong,var(--peach-fg))}.dp-say-more{justify-self:start;gap:4px;border:0;background:none;padding:2px 0;min-height:28px;font-size:var(--fs-2xs);font-weight:var(--fw-heavy);color:var(--text-primary);text-decoration:underline;text-underline-offset:3px}.dp-say,.dp-say-more{display:inline-flex;align-items:center}.dp-say{gap:var(--sp-2);flex:none}.dp-say-score{min-width:34px;height:28px;border-radius:var(--r-full);display:grid;place-items:center;font-size:var(--fs-xs);font-weight:var(--fw-heavy);padding:0 var(--sp-2)}.dp-say-score.high{background:var(--mint-bg);color:var(--mint-fg)}.dp-say-score.mid{background:var(--yellow-bg);color:var(--yellow-fg)}.dp-say-score.low{background:var(--peach-bg);color:var(--peach-fg)}.dp-say-score.none{background:var(--surface-sunken);color:var(--text-muted)}.dp-say-btn{display:inline-flex;align-items:center;gap:var(--sp-1);border:0;border-radius:var(--r-full);min-height:40px;padding:0 var(--sp-3);background:var(--surface-inverse);color:var(--text-inverse);font-size:var(--fs-xs);font-weight:var(--fw-heavy)}.dp-say-btn.recording{background:var(--recording);box-shadow:0 0 0 5px color-mix(in srgb,var(--recording) 20%,transparent)}.dp-say-btn.grading{opacity:.7}.dp-say-btn:disabled{opacity:.4}.dp-say-sentence{padding:var(--sp-5)}.dp-say-sentence p{margin:var(--sp-2) 0 var(--sp-3)}.dp-say-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);flex-wrap:wrap}.dp-say-actions>button{display:inline-flex;align-items:center;gap:var(--sp-1);border:0;background:var(--surface);border-radius:var(--r-full);min-height:40px;padding:0 var(--sp-3);font-weight:var(--fw-bold);font-size:var(--fs-xs)}.dp-word-heat{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin:var(--sp-3) 0}.dp-word-heat span{border-radius:var(--r-sm);padding:2px var(--sp-2);font-size:var(--fs-md);background:var(--surface-sunken)}.dp-word-heat span.high{background:var(--mint-bg);color:var(--mint-fg)}.dp-word-heat span.mid{background:var(--yellow-bg);color:var(--yellow-fg)}.dp-word-heat span.low{background:var(--peach-bg);color:var(--peach-fg);font-weight:var(--fw-bold)}.dp-focus-sounds{display:flex;gap:var(--sp-2);overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--sp-5) * -1) var(--sp-3);padding:0 var(--sp-5) 2px}.dp-focus-sounds button{flex:none;border:0;background:var(--lavender-bg);border-radius:var(--r-lg);padding:var(--sp-2) var(--sp-3);text-align:left;display:grid;color:var(--text-primary)}.dp-focus-sounds strong{font-size:var(--fs-lg)}.dp-focus-sounds small{font-size:var(--fs-2xs);color:var(--text-secondary)}.dp-focus-sounds button.weak{background:var(--peach-bg)}.dp-sound-hero{display:flex;gap:var(--sp-4);align-items:flex-start;background:var(--lavender-bg);border-radius:var(--r-2xl);padding:var(--sp-5);margin-bottom:var(--sp-2)}.dp-sound-hero>strong{flex:none;min-width:72px;height:72px;border-radius:var(--r-xl);display:grid;place-items:center;background:var(--surface);font-size:var(--fs-2xl);padding:0 var(--sp-2)}.dp-sound-hero h2{margin:var(--sp-1) 0;font-size:var(--fs-lg)}.dp-sound-hero p{margin:0;font-size:var(--fs-sm);line-height:var(--lh-normal);color:var(--text-secondary)}.dp-listen-controls{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);margin:var(--sp-2) 0 var(--sp-5)}.dp-listen-big{width:96px;height:96px;border:0;border-radius:50%;background:var(--surface-inverse);color:var(--text-inverse);display:grid;place-items:center;box-shadow:0 0 0 10px color-mix(in srgb,var(--n-900) 7%,transparent),0 12px 28px color-mix(in srgb,var(--n-900) 22%,transparent)}.dp-listen-big:active{transform:scale(.95)}.dp-pair-ipa{display:block;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-muted);margin-top:2px}.dp-intonation{display:inline-flex;align-items:center;gap:var(--sp-1)}.dp-shadow-topic p{margin:0;color:var(--text-primary)}.dp-shadow-topic small{display:flex;gap:var(--sp-1);align-items:flex-start;margin-top:var(--sp-2);font-family:var(--font-body,inherit);font-size:var(--fs-xs);line-height:var(--lh-normal);color:var(--text-secondary)}.dp-shadow-controls{flex-wrap:wrap;gap:var(--sp-2);justify-content:center}.dp-twister p{font-size:var(--fs-2xl)}.dp-twister-metrics{margin:var(--sp-3) 0}.dp-deck{background:var(--yellow-bg);border-radius:var(--r-2xl);padding:var(--sp-5);margin-bottom:var(--sp-3)}.dp-deck-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-3)}.dp-deck-head h2{margin:var(--sp-1) 0 0;font-size:var(--fs-lg)}.dp-deck-head button{display:inline-flex;align-items:center;gap:var(--sp-1);border:0;background:var(--surface-inverse);color:var(--text-inverse);border-radius:var(--r-full);min-height:38px;padding:0 var(--sp-3);font-size:var(--fs-xs);font-weight:var(--fw-heavy);flex:none}.dp-deck-bar{display:flex;height:6px;border-radius:var(--r-full);background:var(--surface);overflow:hidden;margin:var(--sp-3) 0}.dp-deck-bar .known{background:var(--mint-strong)}.dp-deck-bar .learning{background:var(--yellow-strong)}.dp-deck-words{display:flex;flex-wrap:wrap;gap:var(--sp-1-5)}.dp-deck-words button{border:0;background:var(--surface);border-radius:var(--r-full);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-primary);min-height:32px}.dp-deck-words button.known{background:var(--mint-bg);color:var(--mint-fg)}.dp-deck-words button.learning{box-shadow:inset 0 0 0 1.5px var(--yellow-strong)}.dp-flash{width:100%;min-height:260px;border:0;border-radius:var(--r-2xl);background:var(--surface);box-shadow:var(--shadow-md);padding:var(--sp-6) var(--sp-5);display:grid;place-items:center;text-align:center;color:var(--text-primary);margin-bottom:var(--sp-3);animation:dp-pop var(--dur-base) var(--ease-spring)}.dp-flash.flipped{background:var(--blue-bg)}.dp-flash-back,.dp-flash-front{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2)}.dp-flash-front strong{font-family:var(--font-display);font-size:var(--fs-4xl);line-height:var(--lh-tight);overflow-wrap:anywhere}.dp-from-you{font-size:var(--fs-2xs);font-weight:var(--fw-heavy);color:var(--peach-fg);background:var(--peach-bg);border-radius:var(--r-full);padding:2px var(--sp-2)}.dp-flash-front small{font-size:var(--fs-sm);color:var(--text-muted)}.dp-flash-front em{font-style:normal;font-size:var(--fs-xs);color:var(--text-muted);margin-top:var(--sp-3)}.dp-flash-back strong{font-family:var(--font-display);font-size:var(--fs-2xl);line-height:var(--lh-snug)}.dp-flash-example{font-family:var(--font-reading);font-size:var(--fs-lg);line-height:var(--lh-normal)}.dp-flash-back small{font-size:var(--fs-sm);color:var(--text-secondary)}.dp-flash-colloc{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-1-5);margin-top:var(--sp-2)}.dp-flash-colloc i{font-style:normal;background:var(--surface);border-radius:var(--r-full);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-xs);font-weight:var(--fw-bold)}.dp-flash-tools{display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:center;margin-bottom:var(--sp-4)}.dp-flash-tools button{display:inline-flex;align-items:center;gap:var(--sp-1);border:0;background:var(--surface);border-radius:var(--r-full);min-height:40px;padding:0 var(--sp-3);font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-primary);box-shadow:var(--shadow-xs)}.dp-flash-tools button:disabled{color:var(--mint-fg);background:var(--mint-bg)}.dp-flash-rate button.good{background:var(--mint-bg)}.dp-hint-chip{display:inline-flex;align-items:center;background:var(--yellow-bg);color:var(--yellow-fg);border-radius:var(--r-full);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-xs);font-weight:var(--fw-bold)}.dp-match{grid-template-columns:1fr 1fr;margin-bottom:var(--sp-3)}.dp-match,.dp-match>div{display:grid;gap:var(--sp-2)}.dp-match>div{align-content:start}.dp-match button{border:0;background:var(--surface);border-radius:var(--r-lg);min-height:58px;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-primary);box-shadow:var(--shadow-xs);transition:transform var(--dur-fast)}.dp-match button.on{background:var(--surface-inverse);color:var(--text-inverse)}.dp-match button.done{background:var(--mint-bg);color:var(--mint-fg);box-shadow:none;opacity:.7}.dp-match button.wrong{background:var(--peach-bg);color:var(--peach-fg);animation:dp-shake .35s}@keyframes dp-shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.dp-phrase-card{background:var(--yellow-bg);border-radius:var(--r-2xl);padding:var(--sp-5);margin-bottom:var(--sp-3)}.dp-phrase-card strong{display:block;font-family:var(--font-display);font-size:var(--fs-2xl);margin:var(--sp-1) 0}.dp-phrase-card p{margin:0 0 var(--sp-3);color:var(--text-secondary);font-size:var(--fs-sm)}.dp-phrase-card button{display:inline-flex;align-items:center;gap:var(--sp-1);border:0;background:var(--surface);border-radius:var(--r-full);min-height:38px;padding:0 var(--sp-3);font-size:var(--fs-xs);font-weight:var(--fw-bold)}.dp-gpoint{width:100%;border:0;background:var(--surface);border-radius:var(--r-xl);padding:var(--sp-4);margin-bottom:var(--sp-2);text-align:left;display:grid;gap:var(--sp-1-5);color:var(--text-primary);box-shadow:var(--shadow-xs)}.dp-gpoint-top{display:flex;align-items:center;gap:var(--sp-1-5);flex-wrap:wrap}.dp-gpoint strong{font-family:var(--font-display);font-size:var(--fs-lg);line-height:var(--lh-snug)}.dp-gpoint code,.dp-gpoint-hero code{justify-self:start;font-family:var(--font-display);font-size:var(--fs-sm);font-weight:var(--fw-heavy);background:var(--peach-bg);color:var(--peach-fg);border-radius:var(--r-sm);padding:var(--sp-1) var(--sp-2)}.dp-gpoint small{font-size:var(--fs-xs);color:var(--text-muted)}.dp-gpoint-best{margin-left:auto;font-size:var(--fs-2xs);font-weight:var(--fw-heavy);color:var(--text-secondary)}.dp-gpoint-best.good{color:var(--mint-fg)}.dp-gpoint-bar{height:4px;border-radius:var(--r-full);background:var(--surface-sunken);overflow:hidden}.dp-gpoint-bar b{display:block;height:100%;background:var(--mint-strong);border-radius:inherit}.dp-gpoint-hero{display:grid;gap:var(--sp-2);justify-items:start;margin-bottom:var(--sp-3)}.dp-gpoint-hero h1{margin:0;font-size:var(--fs-3xl);line-height:var(--lh-tight)}.dp-gpoint-explain,.dp-gpoint-hero code{font-size:var(--fs-md)}.dp-gpoint-explain{line-height:var(--lh-relaxed);color:var(--text-secondary);margin:0 0 var(--sp-3)}.dp-gexamples{display:grid;gap:var(--sp-2)}.dp-gexamples button{display:flex;align-items:flex-start;gap:var(--sp-3);border:0;background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);text-align:left;color:var(--text-primary);box-shadow:var(--shadow-xs)}.dp-gexamples svg{flex:none;margin-top:3px;color:var(--text-muted)}.dp-gexamples span{display:grid;gap:2px}.dp-gexamples strong{font-family:var(--font-reading);font-size:var(--fs-md);font-weight:var(--fw-semibold)}.dp-gexamples small{font-size:var(--fs-xs);color:var(--text-muted)}.dp-gmistake{margin-bottom:var(--sp-5)}.dp-gmistake .wrong{text-decoration:line-through;text-decoration-color:var(--peach-strong)}.dp-gmistake .right:before{content:"✓ ";color:var(--mint-strong)}.dp-gmistake small{display:block;margin-top:var(--sp-2);font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:var(--lh-normal);color:var(--text-secondary)}.dp-cloze.wrongline p{text-decoration:underline wavy var(--peach-strong);text-underline-offset:5px}.dp-cloze.vi{background:var(--blue-bg)}.dp-order-built{min-height:64px;display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;background:var(--surface);border-radius:var(--r-xl);padding:var(--sp-3);margin-bottom:var(--sp-3);box-shadow:inset 0 0 0 2px var(--surface-sunken)}.dp-order-built span{font-size:var(--fs-sm);color:var(--text-muted)}.dp-order-built button{border:0;background:var(--surface-inverse);color:var(--text-inverse);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-md);font-weight:var(--fw-bold)}.dp-order-pool button.used{opacity:.25}@media (prefers-reduced-motion:reduce){.dp-flash,.dp-match button.wrong{animation:none}}@media (min-width:640px){.dp-ex-grid{grid-template-columns:repeat(3,1fr)}}.dp-read-text .dp-say .dp-say-btn,.dp-say .dp-say-btn{display:inline-flex;margin:0;background:var(--surface-inverse);color:var(--text-inverse);border-radius:var(--r-full);min-height:40px;padding:0 var(--sp-3);font-size:var(--fs-xs);font-weight:var(--fw-heavy)}.dp-read-text .dp-say .dp-say-btn.recording,.dp-say .dp-say-btn.recording{background:var(--recording)}.dp-credits a{color:inherit;text-decoration:underline;text-underline-offset:2px}.dp-credits-meta{font-size:var(--fs-2xs);color:var(--text-muted)}.dp-flash-back strong.dp-flash-definition{font-family:var(--font-ui);font-size:var(--fs-lg);line-height:var(--lh-normal);font-weight:var(--fw-heavy)}.dp-cefr-hero{background:var(--surface-inverse);color:var(--text-inverse);border-radius:var(--r-2xl);padding:var(--sp-6) var(--sp-5) var(--sp-5);margin:var(--sp-2) 0 var(--sp-5)}.dp-cefr-hero .dp-eyebrow{color:var(--text-inverse-muted)}.dp-cefr-level{display:block;font-family:var(--font-display);font-size:clamp(48px,14vw,64px);line-height:1;letter-spacing:var(--ls-tighter);margin:var(--sp-3) 0 var(--sp-1)}.dp-cefr-hero h2{font-size:var(--fs-xl);line-height:var(--lh-snug);margin:0 0 var(--sp-2)}.dp-cefr-hero p{font-size:var(--fs-sm);line-height:var(--lh-normal);color:var(--text-inverse-muted);margin:0 0 var(--sp-4)}.dp-cefr-meta{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-4)}.dp-cefr{position:relative;padding-top:4px}.dp-cefr-track{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}.dp-cefr-track span{display:block;text-align:center;font-size:var(--fs-2xs);font-weight:var(--fw-heavy);padding:6px 0;border-radius:var(--r-xs);background:color-mix(in srgb,currentColor 10%,transparent);color:inherit;opacity:.85}.dp-cefr-mark{position:absolute;top:0;bottom:0;width:4px;margin-left:-2px;border-radius:2px;background:var(--mint-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--mint-strong) 30%,transparent)}.dp-cefr-range{position:absolute;top:2px;bottom:2px;border-radius:var(--r-xs);background:color-mix(in srgb,var(--mint-strong) 22%,transparent)}.dp-cefr.compact{margin:var(--sp-2) 0 0}.dp-cefr.compact .dp-cefr-track span{padding:3px 0;font-size:var(--fs-2xs);background:var(--surface-sunken);color:var(--text-muted);opacity:1}.dp-crit-list{display:grid;gap:var(--sp-2);margin-bottom:var(--sp-5)}.dp-crit{background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-4)}.dp-crit-head{display:flex;align-items:center;gap:var(--sp-3);width:100%;border:0;background:transparent;padding:0;text-align:left;color:var(--text-primary)}.dp-crit-head>span{flex:1;min-width:0}.dp-crit-head strong{display:block;font-size:var(--fs-md)}.dp-crit-head small{display:block;font-size:var(--fs-xs);color:var(--text-muted);margin-top:2px;line-height:var(--lh-snug)}.dp-crit-head>b{font-family:var(--font-display);font-size:var(--fs-xl);min-width:44px;text-align:right}.dp-crit-body{margin-top:var(--sp-3);display:grid;gap:var(--sp-2)}.dp-crit-body p{margin:0;font-size:var(--fs-sm);line-height:var(--lh-normal);color:var(--text-secondary)}.dp-crit-body b{color:var(--text-primary)}.dp-crit-progress{display:grid;gap:4px}.dp-crit-progress i{display:block;height:6px;border-radius:var(--r-xs);background:var(--mint-strong);max-width:100%}.dp-crit-progress small{font-size:var(--fs-2xs);color:var(--text-muted)}.dp-measure-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);margin-bottom:var(--sp-5)}.dp-measure{background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);display:grid;gap:2px}.dp-measure span{font-size:var(--fs-2xs);font-weight:var(--fw-heavy);color:var(--text-muted)}.dp-measure strong{font-size:var(--fs-lg)}.dp-measure small{font-size:var(--fs-2xs);color:var(--text-muted);line-height:var(--lh-snug)}@media(max-width:360px){.dp-measure-list{grid-template-columns:1fr}}.dp-test{display:flex;flex-direction:column;min-height:100%}.dp-test-parts{list-style:none;padding:0;margin:0 0 var(--sp-5);display:grid;gap:var(--sp-2)}.dp-test-parts li{display:flex;gap:var(--sp-3);align-items:center;background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4)}.dp-test-parts b{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--blue-bg);font-size:var(--fs-sm)}.dp-test-parts strong{display:block;font-size:var(--fs-md)}.dp-test-parts small{display:block;font-size:var(--fs-xs);color:var(--text-muted)}.dp-test-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:0 0 var(--sp-4)}.dp-test-steps i{display:block;height:5px;border-radius:var(--r-xs);background:var(--surface-sunken)}.dp-test-steps i.done{background:var(--text-primary)}.dp-test-steps i.on{background:var(--mint-strong)}.dp-test-cue ul{margin:0 0 var(--sp-4);padding-left:var(--sp-5);display:grid;gap:4px;font-size:var(--fs-sm);color:var(--text-secondary)}.dp-test-warn{display:flex;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--text-secondary)}.dp-test-wait,.dp-test-warn{align-items:center;justify-content:center}.dp-test-wait{text-align:center;gap:var(--sp-3);padding-top:20vh}.dp-test-wait h2{font-size:var(--fs-xl);margin:0}.dp-test-spinner{width:56px;height:56px;border-radius:50%;border:5px solid var(--surface-sunken);border-top-color:var(--mint-strong);animation:dp-spin 1s linear infinite}@keyframes dp-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.dp-test-spinner{animation-duration:3s}}.dp-test-transcripts{display:grid;gap:var(--sp-3);background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-4);margin:var(--sp-3) 0}.dp-test-transcripts small{font-size:var(--fs-2xs);font-weight:var(--fw-heavy);color:var(--text-muted)}.dp-test-transcripts p{margin:2px 0 0;font-size:var(--fs-sm);line-height:var(--lh-normal)}.dp-test-result .dp-said small{display:block;margin-top:4px;font-size:var(--fs-xs);color:var(--text-muted)}.dp-path-level{background:var(--surface);border-radius:var(--r-xl);padding:var(--sp-4);margin-bottom:var(--sp-3)}.dp-path-level-head{display:flex;align-items:center;gap:var(--sp-3);width:100%;border:0;background:transparent;padding:0;text-align:left;color:var(--text-primary)}.dp-path-level-head>b{width:48px;height:48px;flex:none;border-radius:var(--r-md);display:grid;place-items:center;font-family:var(--font-display);font-size:var(--fs-lg);background:var(--mint-bg)}.dp-path-level.next .dp-path-level-head>b{background:var(--surface-sunken)}.dp-path-level-head>span{flex:1;min-width:0}.dp-path-level-head strong{display:block;font-size:var(--fs-md)}.dp-path-level-head small{display:block;font-size:var(--fs-xs);color:var(--text-muted)}.dp-path-bar{display:block;height:5px;border-radius:var(--r-xs);background:var(--surface-sunken);margin-top:var(--sp-3);overflow:hidden}.dp-path-bar b{display:block;height:100%;background:var(--mint-strong)}.dp-path-units{display:grid;gap:var(--sp-2);margin-top:var(--sp-4)}.dp-path-units>p{margin:0 0 var(--sp-2);font-size:var(--fs-sm);line-height:var(--lh-normal)}.dp-path-unit{display:flex;align-items:center;gap:var(--sp-3);width:100%;border:0;background:var(--surface-page);border-radius:var(--r-lg);padding:var(--sp-3);text-align:left;color:var(--text-primary);min-height:64px}.dp-path-unit.done{opacity:.7}.dp-path-unit>svg{flex:none;color:var(--text-muted)}.dp-path-copy{flex:1;min-width:0;display:grid;gap:2px}.dp-path-copy small{font-size:var(--fs-2xs);font-weight:var(--fw-heavy);letter-spacing:var(--ls-caps);color:var(--text-muted)}.dp-path-copy strong{font-size:var(--fs-sm);line-height:var(--lh-snug)}.dp-path-copy em{font-style:normal;font-size:var(--fs-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-path-done summary{cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-secondary);padding:var(--sp-2) 0}.dp-path-done{display:grid;gap:var(--sp-2)}.dp-unit-use{font-size:var(--fs-md)!important;font-weight:var(--fw-semibold)!important}.dp-path-entry{display:flex;align-items:center;gap:var(--sp-3);width:100%;border:0;background:var(--surface);border-radius:var(--r-xl);padding:var(--sp-4);text-align:left;color:var(--text-primary);margin:var(--sp-3) 0;box-shadow:var(--shadow-xs)}.dp-path-entry>b{width:52px;height:52px;flex:none;border-radius:var(--r-md);display:grid;place-items:center;font-family:var(--font-display);font-size:var(--fs-lg);background:var(--mint-bg)}.dp-path-entry>span{flex:1;min-width:0;display:grid;gap:2px}.dp-path-entry small{font-size:var(--fs-2xs);font-weight:var(--fw-heavy);letter-spacing:var(--ls-caps);color:var(--text-muted)}.dp-path-entry strong{font-size:var(--fs-md);line-height:var(--lh-snug)}.dp-path-entry em{font-style:normal;font-size:var(--fs-xs);color:var(--text-secondary)}.dp-path-entry>svg{flex:none;color:var(--text-muted)}.dp-path-hero{background:var(--surface);border-radius:var(--r-xl);padding:var(--sp-5);margin:0 0 var(--sp-4)}.dp-path-hero-levels{display:flex;align-items:center;gap:var(--sp-2);color:var(--text-muted);margin-bottom:var(--sp-3)}.dp-path-hero-levels b{font-family:var(--font-display);font-size:var(--fs-md);min-width:44px;height:32px;padding:0 var(--sp-2);border-radius:var(--r-full);display:grid;place-items:center;background:var(--surface-sunken);color:var(--text-primary)}.dp-path-hero-levels b.target{background:var(--mint-bg);color:var(--mint-fg)}.dp-path-hero h1{font-size:var(--fs-xl);line-height:var(--lh-snug);margin:0}.dp-path-hero p{margin:var(--sp-1) 0 0;font-size:var(--fs-sm);color:var(--text-secondary)}.dp-crit-head>svg{flex:none;color:var(--text-muted);transform:rotate(90deg);transition:transform var(--dur-fast)}.dp-crit.open .dp-crit-head>svg{transform:rotate(-90deg)}.dp-path-level-head>svg{flex:none;color:var(--text-muted);transform:rotate(90deg);transition:transform var(--dur-fast)}.dp-path-level-head[aria-expanded=true]>svg{transform:rotate(-90deg)}.dp-path-copy strong{font-size:var(--fs-base)}