html,body{background:var(--color-paper)}body{color:var(--color-ink);font-family:var(--font-body);font-weight:500}.app-shell{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid;position:relative;overflow-x:clip}.app-content{min-width:0}.app-topbar{border-block-end:calc(var(--rule-hairline) * 3) solid var(--color-ink);background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none}.app-topbar__inner{min-height:4.75rem;width:min(100%, var(--page-max));padding-inline:var(--page-gutter);overflow-x:clip}.wordmark{gap:var(--space-sm);font-size:var(--text-md);letter-spacing:-.035em;font-weight:800}.wordmark__mark{border:calc(var(--rule-hairline) * 2) solid var(--color-ink);border-radius:var(--radius-panel);background:var(--color-bg-subtle);width:3rem;height:3rem;color:var(--color-text-primary);box-shadow:0 var(--space-2xs) 0 var(--color-ink);overflow:clip}.practice-buddy--brand{width:2.8rem;max-width:none;animation:none}.topbar-meta{border:calc(var(--rule-hairline) * 2) solid var(--color-ink);border-radius:var(--radius-round);background:var(--color-accent-2-paper);min-height:2.5rem;color:var(--color-ink);padding-inline:var(--space-md);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:0;text-transform:none;display:inline-flex}.topbar-actions{align-items:center;gap:var(--space-sm);display:inline-flex}.account-control{white-space:nowrap}.account-control--authenticated,.account-control__identity{align-items:center;display:inline-flex}.account-control--authenticated{gap:var(--space-2xs)}.account-control__identity{gap:var(--space-xs);max-width:12rem;color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:700;overflow:hidden}.account-control__identity span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-control__sign-out{min-width:2.5rem;min-height:2.5rem}.progress-save-status{color:var(--color-status-success);font-size:var(--text-xs);margin:0;font-weight:650}.progress-save-status--unavailable{color:var(--color-text-muted)}.progress-history{border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-bg-surface);margin-block-end:var(--space-md)}.progress-history__summary{align-items:center;gap:var(--space-xs);min-height:2.75rem;padding:var(--space-sm) var(--space-md);color:var(--color-text-primary);cursor:pointer;font-weight:750;display:flex}.progress-history__content{gap:var(--space-md);padding:0 var(--space-md) var(--space-md);display:grid}.progress-history__content h2{margin:0 0 var(--space-xs);color:var(--color-text-secondary);font-size:var(--text-sm)}.progress-history__state{align-items:center;gap:var(--space-xs);color:var(--color-text-muted);margin:0;display:flex}.progress-history__list{gap:var(--space-xs);margin:0;padding:0;list-style:none;display:grid}.progress-history__list li{align-items:center;gap:var(--space-sm);color:var(--color-text-secondary);font-size:var(--text-sm);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.progress-history__list li>span:not(.progress-history__score){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.progress-history__list time{color:var(--color-text-muted);font-size:var(--text-xs)}.progress-history__score{border-radius:var(--radius-round);background:var(--color-status-success-soft);width:2.25rem;height:2.25rem;color:var(--color-text-primary);place-items:center;font-weight:800;display:inline-grid}.language-switcher{display:inline-block}.language-switcher__trigger{anchor-name:--language-menu-anchor;appearance:none;justify-content:center;align-items:center;gap:var(--space-2xs);border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-round);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);background:var(--color-bg-surface);min-width:4.75rem;min-height:2.75rem;color:var(--color-text-primary);padding-inline:var(--space-sm);font-family:var(--font-outlier);font-size:var(--text-xs);white-space:nowrap;cursor:pointer;transition:border-color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-press);font-weight:800;line-height:1;display:inline-flex}.language-switcher__trigger-icon,.language-switcher__chevron,.language-switcher__check{width:var(--space-md);height:var(--space-md);flex:none}.language-switcher__trigger-icon{color:var(--color-text-secondary)}.language-switcher__chevron{transition:transform var(--dur-short) var(--ease-out)}.language-switcher:has(.language-switcher__menu:popover-open) .language-switcher__chevron{transform:rotate(180deg)}.language-switcher__trigger:focus-visible,.language-switcher__option:focus-visible{outline-color:var(--color-focus)}.language-switcher__trigger:active,.language-switcher__option:active{transform:translateY(var(--rule-hairline))}.language-switcher__trigger:disabled,.language-switcher__option:disabled,.language-switcher[data-state=loading] .language-switcher__trigger{cursor:not-allowed;opacity:.55}.language-switcher[data-state=error] .language-switcher__trigger{border-color:var(--color-status-error);background:var(--color-status-error-soft)}.language-switcher[data-state=success] .language-switcher__trigger{border-color:var(--color-status-success);background:var(--color-status-success-soft)}.language-switcher__menu{position-anchor:--language-menu-anchor;position-area:block-end span-inline-end;position-try-fallbacks:flip-block, flip-inline, flip-block flip-inline;width:min(13rem, calc(100vw - (var(--space-md) * 2)));margin:var(--space-xs) 0;border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-panel);background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:var(--shadow-card);padding:var(--space-xs)}.language-switcher__menu::backdrop{background:0 0}.language-switcher__option{appearance:none;grid-template-columns:2rem minmax(0, 1fr) var(--space-md);align-items:center;gap:var(--space-sm);border-radius:var(--radius-input);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:calc(var(--space-3xs) * -1);width:100%;min-height:2.75rem;color:var(--color-text-secondary);padding-inline:var(--space-sm);text-align:start;font-family:var(--font-body);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-press);background:0 0;border:0;font-weight:700;line-height:1.2;display:grid}.language-switcher__option[data-selected=true]{background:var(--color-action-soft);color:var(--color-text-primary)}.language-switcher__code{color:var(--color-text-muted);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800}.language-switcher__check{color:var(--color-action-strong);visibility:hidden}.language-switcher__option[data-selected=true] .language-switcher__check{visibility:visible}@supports not (position-area:block-end){.language-switcher__menu{margin:0;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}}.workspace{min-width:0;width:min(100%, var(--page-max));max-width:100%;padding:var(--space-lg) var(--page-gutter) var(--space-2xl)}.mobile-workspace-switch{display:none}.practice-buddy{transform-origin:50% 70%;width:min(100%,17rem);height:auto;animation:buddy-breathe 4s var(--ease-in-out) infinite;overflow:visible}.practice-buddy__body{fill:var(--color-accent);stroke:var(--color-ink);stroke-width:4px}.practice-buddy__headphones,.practice-buddy__sound,.practice-buddy__spark,.practice-buddy__smile,.practice-buddy__mic{fill:none;stroke:var(--color-ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:5px}.practice-buddy__sound,.practice-buddy__spark{stroke:var(--color-accent-3-deep)}.practice-buddy__ear{fill:var(--color-accent-2);stroke:var(--color-ink);stroke-width:4px}.practice-buddy__eye{fill:var(--color-ink)}.practice-buddy__cheek{fill:var(--color-accent-3);opacity:.55}.journey-bar{z-index:2;border:calc(var(--rule-hairline) * 3) solid var(--color-ink);border-radius:var(--radius-shell);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-card);margin-block-end:var(--space-lg);position:relative}.journey-list{padding:var(--space-xs);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;list-style:none;display:grid}.journey-step{gap:var(--space-xs);border-radius:calc(var(--radius-panel) - var(--space-2xs));min-width:0;min-height:3.75rem;color:var(--color-muted);padding-inline:var(--space-md);grid-template-columns:auto auto minmax(0,1fr);align-items:center;display:grid;position:relative}.journey-step+.journey-step:before{inset-block:var(--space-sm);width:calc(var(--rule-hairline) * 2);background:var(--color-rule);content:"";position:absolute;inset-inline-start:0}.journey-step[data-active=true]{background:var(--color-accent-paper);color:var(--color-ink)}.journey-step[data-complete=true]{color:var(--color-ink)}.journey-step__icon{border:calc(var(--rule-hairline) * 2) solid currentColor;border-radius:var(--radius-round);background:var(--color-surface);place-items:center;width:2.5rem;height:2.5rem;display:inline-grid}.journey-step[data-active=true] .journey-step__icon{background:var(--color-accent)}.journey-step[data-complete=true] .journey-step__icon{background:var(--color-mint)}.journey-step__number{color:var(--color-muted);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:700}.journey-step__label{min-width:0;font-size:var(--text-md);letter-spacing:-.025em;white-space:nowrap;font-weight:800}.workspace-grid{gap:var(--space-lg);grid-template-columns:minmax(19rem,.82fr) minmax(0,1.18fr);min-width:0}.workspace-panel{border:calc(var(--rule-hairline) * 3) solid var(--color-ink);border-radius:var(--radius-shell);min-width:0;box-shadow:var(--shadow-card)}.workspace-panel--source,.workspace-panel--practice{gap:var(--space-lg);padding:clamp(var(--space-md), 2.5vw, var(--space-xl));display:grid}.workspace-panel--source{gap:var(--space-md);background:var(--color-bg-subtle);padding-block:var(--space-lg)}.workspace-panel--practice{background:var(--color-bg-subtle);padding-block-start:var(--space-lg)}.panel-heading{align-items:center;gap:var(--space-md);display:flex}.panel-heading__icon{border:calc(var(--rule-hairline) * 2) solid var(--color-ink);border-radius:var(--radius-panel);background:var(--color-accent-2);width:3.25rem;height:3.25rem;box-shadow:0 var(--space-2xs) 0 var(--color-ink);flex:none;place-items:center;display:inline-grid}.panel-heading--practice .panel-heading__icon{background:var(--color-accent);color:var(--color-accent-ink)}.meta-label{color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.panel-title{min-width:0;font-size:var(--text-xl);letter-spacing:-.045em;overflow-wrap:anywhere;margin:0;font-weight:800}.field-stack,.section-stack,.results-stack{gap:var(--space-md)}.field-label--icon,.field-help--icon,.sentence-list-help,.meta-label--icon{align-items:center;gap:var(--space-xs);display:flex}.textarea-shell{display:flex;position:relative}.textarea-shell .ui-textarea{padding-inline-end:calc(var(--space-xl) + var(--space-lg))}.paste-button.ui-button--icon{z-index:1;border-color:var(--color-border-strong);width:2.75rem;min-width:2.75rem;min-height:2.75rem;box-shadow:none;position:absolute;inset-block-start:50%;inset-inline-end:var(--space-2xs);transform:translateY(-50%)}.paste-button.ui-button--icon:active:not(:disabled){transform:translateY(calc(-50% + var(--rule-hairline)))}.field-label{font-size:var(--text-md);font-weight:800}.field-help,.sentence-list-help{min-height:1lh;color:var(--color-muted);font-size:var(--text-sm);font-weight:700}.source-mode-switch{gap:var(--space-2xs);border:var(--rule-hairline) solid var(--color-border-strong);border-radius:var(--radius-round);background:var(--color-bg-subtle);padding:var(--space-2xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.source-mode-switch__button{appearance:none;justify-content:center;align-items:center;gap:var(--space-xs);border:var(--rule-hairline) solid transparent;border-radius:var(--radius-round);outline:calc(var(--rule-hairline) * 3) solid transparent;outline-offset:var(--space-2xs);min-width:0;min-height:2.75rem;color:var(--color-text-secondary);padding-inline:var(--space-sm);font:inherit;font-size:var(--text-sm);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-press);background:0 0;font-weight:800;line-height:1;display:inline-flex}.source-mode-switch__button[aria-selected=true]{border-color:var(--color-action-strong);background:var(--color-action);color:var(--color-on-action);box-shadow:inset 0 calc(var(--rule-hairline) * -2) 0 var(--color-action-strong)}.source-mode-switch__button:focus-visible{outline-color:var(--color-focus)}.source-mode-switch__button:active{transform:translateY(var(--rule-hairline))}.source-mode-switch__button:disabled{cursor:not-allowed;opacity:.55}.source-mode-panel{min-width:0}.youtube-source{gap:var(--space-sm);display:grid}.youtube-source__controls{align-items:center;gap:var(--space-xs);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.youtube-input-shell{min-width:0;display:flex;position:relative}.youtube-source__input{border:var(--rule-hairline) solid var(--color-border-strong);border-radius:var(--radius-input);background:var(--color-bg-surface);width:100%;min-width:0;min-height:2.75rem;color:var(--color-text-primary);padding:var(--space-sm) calc(var(--space-xl) + var(--space-lg)) var(--space-sm) var(--space-md);font:inherit;font-weight:650}.youtube-source__input::placeholder{color:var(--color-text-muted)}.youtube-source__input:focus-visible{outline:calc(var(--rule-hairline) * 3) solid var(--color-focus);outline-offset:var(--space-2xs)}.youtube-source__input[aria-invalid=true]{border-color:var(--color-status-error);background:var(--color-status-error-soft)}.youtube-source__load{white-space:nowrap;min-height:2.75rem}.youtube-source__status,.youtube-player__notice{color:var(--color-status-error);font-size:var(--text-sm);margin:0;font-weight:700}.youtube-source__status{min-height:1lh}.youtube-source__status[data-empty=true]{visibility:hidden}.youtube-player-shell{aspect-ratio:16/9;border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-panel);background:var(--color-text-primary);position:relative;overflow:hidden}.youtube-player-mount,.youtube-player-portal{width:100%;min-width:0}.youtube-player-mount:empty,.practice-video-slot{display:none}.youtube-player,.youtube-player iframe{border:0;width:100%;height:100%}.youtube-player__notice{justify-content:center;align-items:center;gap:var(--space-xs);background:var(--color-bg-subtle);color:var(--color-text-primary);padding:var(--space-lg);text-align:center;display:flex;position:absolute;inset:0}@media (max-width:40rem){.youtube-source__controls{grid-template-columns:minmax(0,1fr)}.youtube-input-shell{grid-column:1/-1}.youtube-source__load{justify-content:center;width:100%}.youtube-source__controls[data-has-source=false] .youtube-source__load{grid-column:1/-1}.youtube-source__input{font-size:16px}}@media (max-width:22rem){.youtube-source__controls{gap:var(--space-sm)}}@media (hover:hover) and (pointer:fine){.source-mode-switch__button:hover:not([aria-selected=true]):not(:disabled){border-color:var(--color-border-strong);background:var(--color-info-soft);color:var(--color-text-primary)}.youtube-source__input:hover:not(:focus-visible){border-color:var(--color-info-strong)}}.ui-textarea{border:var(--rule-hairline) solid var(--color-ink);border-radius:var(--radius-input);background:var(--color-surface);min-height:9rem;box-shadow:0 var(--space-2xs) 0 var(--color-ink);padding:var(--space-lg);font-size:var(--text-base);transition:background-color var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);font-weight:600}.ui-textarea::placeholder{color:var(--color-muted)}.ui-textarea:focus-visible{border-color:var(--color-ink);outline:calc(var(--rule-hairline) * 3) solid var(--color-focus);outline-offset:var(--space-2xs);background:var(--color-surface);box-shadow:0 var(--space-xs) 0 var(--color-ink)}.sentence-empty,.practice-empty{place-items:center;gap:var(--space-sm);border:calc(var(--rule-hairline) * 2) dashed var(--color-rule-2);border-radius:var(--radius-panel);background:color-mix(in oklch, var(--color-surface) 76%, transparent);min-height:11rem;color:var(--color-muted);padding:var(--space-lg);text-align:center;display:grid}.sentence-empty strong,.practice-empty strong{color:var(--color-ink);font-size:var(--text-md)}.practice-empty{align-content:center;min-height:28rem}.practice-empty p{margin:var(--space-2xs) 0 0}.practice-buddy--empty{width:min(70%,12rem)}.sentence-list{gap:var(--space-2xs)}.sentence-list-viewport{overscroll-behavior:contain;scrollbar-color:var(--color-info-strong) var(--color-bg-subtle);scrollbar-width:thin;border-radius:var(--radius-input);outline:calc(var(--rule-hairline) * 3) solid transparent;outline-offset:var(--space-2xs);max-block-size:min(32rem,52dvh);overflow-y:auto}.sentence-list-viewport::-webkit-scrollbar{width:var(--space-xs)}.sentence-list-viewport::-webkit-scrollbar-track{border-radius:var(--radius-round);background:var(--color-bg-subtle)}.sentence-list-viewport::-webkit-scrollbar-thumb{border:var(--rule-hairline) solid var(--color-bg-subtle);border-radius:var(--radius-round);background:var(--color-info-strong)}.sentence-list-viewport:focus-visible{outline-color:var(--color-focus)}.sentence-card{align-items:center;gap:var(--space-2xs);border:var(--rule-hairline) solid var(--color-border-strong);border-radius:var(--radius-input);background:var(--color-bg-surface);box-shadow:none;padding:var(--space-2xs);transition:background-color var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out), opacity var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out);grid-template-columns:minmax(0,1fr) auto}.sentence-card:before{display:none}.sentence-card[data-dragging=true]{opacity:.82;box-shadow:var(--shadow-card-hover)}.sentence-card[data-can-drop=true]{border-color:var(--color-focus);background:var(--color-info-soft)}.sentence-card[data-selected=true]{border-color:var(--color-text-primary);background:var(--color-action);color:var(--color-text-secondary);box-shadow:0 calc(var(--rule-hairline) * 2) 0 var(--color-action-strong)}.sentence-button{gap:var(--space-xs);border-radius:var(--radius-input);min-height:2.75rem;color:var(--color-text-secondary);padding:var(--space-2xs) var(--space-xs);grid-area:1/1;grid-template-columns:auto minmax(0,1fr);font-weight:700}.sentence-button__index{border:var(--rule-hairline) solid var(--color-ink);border-radius:var(--radius-round);background:var(--color-accent-2-paper);width:2rem;height:2rem;color:var(--color-ink);font-family:var(--font-body);place-items:center;line-height:1;display:inline-grid}.sentence-button__text{-webkit-line-clamp:2;-webkit-box-orient:vertical;align-self:center;min-width:0;line-height:1.3;display:-webkit-box;overflow:hidden}.sentence-card[data-merged=true] .sentence-button__text{-webkit-line-clamp:3}.sentence-card[data-merged=true] .sentence-card__meta{display:grid}.sentence-card[data-selected=true] .sentence-button,.sentence-card[data-selected=true] .sentence-button__index,.sentence-card[data-selected=true] .sentence-card__meta{color:var(--color-text-secondary)}.sentence-card[data-selected=true] .sentence-button__index{background:var(--color-surface)}.sentence-card[data-selected=true] .sentence-merge-chip,.sentence-card[data-selected=true] .sentence-drag-handle,.sentence-card[data-selected=true] .sentence-split{border-color:var(--color-ink);background:var(--color-surface);color:var(--color-ink)}.sentence-card__meta{align-items:center;gap:var(--space-2xs);min-height:0;color:var(--color-muted);grid-area:1/2;grid-template-columns:auto auto;display:grid}.sentence-card__status{min-width:0;display:inline-flex}.sentence-card__status:empty{display:none}.sentence-card__actions{align-self:center;margin-inline-start:0}.sentence-merge-chip{border:var(--rule-hairline) solid var(--color-ink);background:var(--color-accent-2-paper);min-height:1.75rem;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-xs)}.sentence-drag-handle,.sentence-split{border:var(--rule-hairline) solid var(--color-ink);border-radius:var(--radius-round);background:var(--color-surface);min-width:2.75rem;min-height:2.75rem;color:var(--color-ink);opacity:1}@media (max-width:30rem){.sentence-merge-chip span{display:none}.sentence-merge-chip{justify-content:center;width:2rem;min-width:2rem;padding-inline:0}}.sentence-drag-handle:focus-visible,.sentence-split:focus-visible,.sentence-button:focus-visible{outline:calc(var(--rule-hairline) * 3) solid var(--color-focus);outline-offset:var(--space-2xs)}.practice-panel{gap:var(--space-lg)}.practice-video-reference{display:none}.practice-sentence-nav{justify-content:space-between;align-items:center;gap:var(--space-sm);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-round);background:var(--color-bg-subtle);min-height:2.75rem;padding:var(--space-2xs);display:flex}.practice-sentence-nav__lines{display:none}.practice-sentence-nav__position{min-width:0;color:var(--color-text-secondary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;padding-inline-start:var(--space-sm);font-weight:800;overflow:hidden}.practice-sentence-nav__controls{align-items:center;gap:var(--space-2xs);display:inline-flex}.practice-sentence-nav__button{appearance:none;justify-content:center;align-items:center;gap:var(--space-2xs);border:var(--rule-hairline) solid var(--color-border-strong);border-radius:var(--radius-round);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);background:var(--color-bg-surface);min-height:2.5rem;color:var(--color-text-secondary);padding-inline:var(--space-sm);font:inherit;font-size:var(--text-sm);white-space:nowrap;font-weight:800;display:inline-flex}.practice-sentence-nav__button:focus-visible{outline-color:var(--color-focus)}.practice-sentence-nav__button:active:not(:disabled){transform:translateY(var(--rule-hairline))}.practice-sentence-nav__button:disabled{cursor:not-allowed;opacity:.45}.selected-sentence{gap:var(--space-sm);border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:0 var(--space-2xs) 0 var(--color-border-strong);padding:var(--space-lg)}.selected-sentence__toolbar{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.selected-sentence__context{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.selected-sentence__reading-stage{min-width:0}.overall-score{anchor-name:--overall-score-anchor;appearance:none;min-height:calc(var(--space-xl) + var(--space-2xs));justify-content:center;align-items:center;gap:var(--space-2xs);border:calc(var(--rule-hairline) * 2) solid currentColor;border-radius:var(--radius-round);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);padding-inline:var(--space-sm);font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);font-weight:800;line-height:1;display:inline-flex}.overall-score strong{font-size:var(--text-base);font-variant-numeric:tabular-nums}.overall-score__chevron{width:var(--space-md);height:var(--space-md)}.overall-score[data-band=good]{background:var(--color-status-success-soft);color:var(--color-status-success)}.overall-score[data-band=needs-work]{background:var(--color-status-warning-soft);color:var(--color-status-warning-text)}.overall-score[data-band=focus]{background:var(--color-status-error-soft);color:var(--color-status-error)}.overall-score:focus-visible{outline-color:var(--color-focus)}.overall-score:active{transform:translateY(var(--rule-hairline))}.overall-score:disabled{cursor:not-allowed;opacity:.55}.overall-score-popover{position-anchor:--overall-score-anchor;position-area:block-end span-inline-end;position-try-fallbacks:flip-block, flip-inline, flip-block flip-inline;width:min(20rem, calc(100vw - (var(--space-md) * 2)));max-height:calc(100dvh - (var(--space-md) * 2));margin:var(--space-xs) 0;border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-panel);background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:var(--shadow-card);padding:var(--space-md);overflow:auto}.overall-score-popover::backdrop{background:0 0}.overall-score-popover__header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.overall-score-popover__header h3,.overall-score-popover__header p{margin:0}.overall-score-popover__header h3{font-size:var(--text-base);font-weight:800;line-height:1.2}.overall-score-popover__header p{color:var(--color-text-muted);font-size:var(--text-xs);margin-block-start:var(--space-2xs);line-height:1.4}.overall-score-popover__close{appearance:none;width:calc(var(--space-xl) + var(--space-2xs));min-height:calc(var(--space-xl) + var(--space-2xs));border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-round);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);background:var(--color-bg-subtle);color:var(--color-text-secondary);cursor:pointer;flex:none;place-items:center;display:inline-grid}.overall-score-popover__close svg{width:var(--space-md);height:var(--space-md)}.overall-score-popover__close:focus-visible{outline-color:var(--color-focus)}.overall-score-popover__close:active{transform:translateY(var(--rule-hairline))}.overall-score-popover__close:disabled{cursor:not-allowed;opacity:.55}.overall-score-popover__list{margin:var(--space-sm) 0 0;display:grid}.overall-score-popover__row{align-items:center;gap:var(--space-md);border-block-start:var(--rule-hairline) solid var(--color-border);padding-block:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.overall-score-popover__row dt{gap:var(--space-3xs);min-width:0;display:grid}.overall-score-popover__row dt>span{font-size:var(--text-sm);font-weight:800}.overall-score-popover__row small{color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.3}.overall-score-popover__row dd{min-width:calc(var(--space-xl) + var(--space-2xs));min-height:calc(var(--space-xl) + var(--space-2xs));border:calc(var(--rule-hairline) * 2) solid currentColor;border-radius:var(--radius-round);color:var(--color-text-muted);font-family:var(--font-outlier);font-size:var(--text-sm);font-variant-numeric:tabular-nums;place-items:center;margin:0;font-weight:800;display:inline-grid}.overall-score-popover__row dd[data-band=good]{background:var(--color-status-success-soft);color:var(--color-status-success)}.overall-score-popover__row dd[data-band=needs-work]{background:var(--color-status-warning-soft);color:var(--color-status-warning-text)}.overall-score-popover__row dd[data-band=focus]{background:var(--color-status-error-soft);color:var(--color-status-error)}@supports not (position-area:block-end){.overall-score-popover{margin:0;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}}.selected-sentence__actions{align-items:center;gap:var(--space-xs);flex:none;margin-inline-start:auto;display:inline-flex}.reference-speech-group{align-items:stretch;gap:var(--space-2xs);flex:none;display:inline-flex}.reference-speech{justify-content:center;align-items:center;gap:var(--space-xs);border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-round);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);background:var(--color-info-soft);min-height:2.75rem;color:var(--color-text-secondary);padding-inline:var(--space-sm);font-family:var(--font-body);font-size:var(--text-xs);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);flex:none;font-weight:800;display:inline-flex}.reference-speech__icon{width:1rem;height:1rem}.reference-speech[data-status=speaking]{border-color:var(--color-info-strong);background:var(--color-info);color:var(--color-on-info)}.reference-speech:focus-visible{outline-color:var(--color-focus)}.reference-speech:disabled{border-color:var(--color-border);background:var(--color-bg-subtle);color:var(--color-text-muted)}.reference-speech-rate-field{flex:none;display:inline-flex;position:relative}.reference-speech-rate{anchor-name:--reference-speech-rate-anchor;appearance:none;justify-content:center;align-items:center;gap:var(--space-3xs);border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-round);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);background:var(--color-bg-surface);min-width:3.25rem;min-height:2.75rem;color:var(--color-text-secondary);padding-inline:var(--space-xs);font-family:var(--font-display);font-size:var(--text-sm);font-variant-numeric:tabular-nums;letter-spacing:-.055em;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);font-weight:800;line-height:1;display:inline-flex}.reference-speech-rate__chevron,.reference-speech-rate-option__check{width:var(--space-sm);height:var(--space-sm);flex:none}.reference-speech-rate__chevron{color:var(--color-info-strong);transition:transform var(--dur-short) var(--ease-out)}.reference-speech-rate-field:has(.reference-speech-rate-menu:popover-open) .reference-speech-rate__chevron{transform:rotate(180deg)}.reference-speech-rate:focus-visible{outline-color:var(--color-focus)}.reference-speech-rate:active:not(:disabled){background:var(--color-info-soft)}.reference-speech-rate:disabled{border-color:var(--color-border);background:var(--color-bg-subtle);color:var(--color-text-muted);cursor:not-allowed}.reference-speech-rate-menu{position-anchor:--reference-speech-rate-anchor;position-area:block-end span-inline-start;position-try-fallbacks:flip-block, flip-inline, flip-block flip-inline;gap:var(--space-2xs);width:9.5rem;margin:var(--space-xs) 0;border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-panel);background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:var(--shadow-card);padding:var(--space-2xs);grid-template-columns:repeat(2,minmax(0,1fr));display:none}.reference-speech-rate-menu:popover-open{display:grid}.reference-speech-rate-menu::backdrop{background:0 0}.reference-speech-rate-option{appearance:none;grid-template-columns:minmax(0, 1fr) var(--space-sm);align-items:center;gap:var(--space-2xs);border-radius:var(--radius-input);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:calc(var(--space-3xs) * -1);width:100%;min-height:2.75rem;color:var(--color-text-secondary);padding-inline:var(--space-sm);font-family:var(--font-display);font-size:var(--text-sm);font-variant-numeric:tabular-nums;letter-spacing:-.045em;text-align:start;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-press);background:0 0;border:0;font-weight:800;line-height:1;display:grid}.reference-speech-rate-option[data-selected=true]{background:var(--color-action-soft);color:var(--color-text-primary)}.reference-speech-rate-option__check{color:var(--color-action-strong);visibility:hidden}.reference-speech-rate-option[data-selected=true] .reference-speech-rate-option__check{visibility:visible}.reference-speech-rate-option:focus-visible{outline-color:var(--color-focus)}.reference-speech-rate-option:active{transform:translateY(var(--rule-hairline))}@supports not (position-area:block-end){.reference-speech-rate-menu{margin:0;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}}.ipa-toggle{align-items:center;gap:var(--space-xs);border-radius:var(--radius-round);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);min-height:2.75rem;color:var(--color-text-secondary);padding:var(--space-2xs);font-family:var(--font-body);font-size:var(--text-xs);white-space:nowrap;background:0 0;border:0;flex:none;font-weight:800;display:inline-flex}.ipa-toggle__track{border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-round);background:var(--color-bg-subtle);width:2.75rem;height:1.5rem;transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);position:relative}.ipa-toggle__thumb{border-radius:var(--radius-round);background:var(--color-text-secondary);width:1rem;height:1rem;transition:background-color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-press);position:absolute;inset-block-start:50%;inset-inline-start:var(--space-3xs);transform:translateY(-50%)}.ipa-toggle[aria-checked=true] .ipa-toggle__track{border-color:var(--color-info-strong);background:var(--color-info)}.ipa-toggle[aria-checked=true] .ipa-toggle__thumb{background:var(--color-bg-surface);transform:translate(1.2rem,-50%)}.ipa-toggle:focus-visible{outline-color:var(--color-focus)}.ipa-toggle:active .ipa-toggle__thumb{transform:translate(.15rem,-50%)}.ipa-toggle[aria-checked=true]:active .ipa-toggle__thumb{transform:translate(1.05rem,-50%)}.selected-sentence__annotated{min-width:0;color:var(--color-text-secondary);font-size:clamp(var(--text-lg), 1.5vw + .75rem, var(--text-xl));letter-spacing:-.035em;overflow-wrap:anywhere;margin:0;font-weight:750;line-height:1.05}.selected-sentence__word{vertical-align:top;padding-block-end:.62em;display:inline-block;position:relative}.selected-sentence__word-button{appearance:none;border-radius:var(--radius-input);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-press);background:0 0;border:0;padding:0;display:inline;position:relative}.selected-sentence__word-button:before{content:"";inset:calc(var(--space-xs) * -1) calc(var(--space-3xs) * -1);position:absolute}.selected-sentence__word-button[data-dictionary-active=true]{anchor-name:--dictionary-word-anchor;background:var(--color-info-soft)}.selected-sentence__word-button:focus-visible{outline-color:var(--color-focus)}.selected-sentence__word-button:active{transform:translateY(var(--rule-hairline))}.selected-sentence__word-button:disabled{cursor:not-allowed;opacity:.55}.selected-sentence__word-text{border-radius:var(--radius-input);color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out)}.selected-sentence__word[data-band=good]:not([data-speaking=true]) .selected-sentence__word-text{color:var(--color-status-success)}.selected-sentence__word[data-band=needs-work]:not([data-speaking=true]) .selected-sentence__word-text{color:var(--color-status-warning-display)}.selected-sentence__word[data-band=focus]:not([data-speaking=true]) .selected-sentence__word-text{color:var(--color-status-error)}.selected-sentence__word[data-speaking=true] .selected-sentence__word-text{background:var(--color-info-soft);color:var(--color-info-strong);box-shadow:0 0 0 var(--space-3xs) var(--color-info-soft)}.selected-sentence__word-ipa{width:max-content;max-width:none;color:var(--color-text-muted);font-family:var(--font-outlier);letter-spacing:0;white-space:nowrap;transition:color var(--dur-micro) var(--ease-out);margin:0;padding:0;font-size:.39em;font-weight:500;line-height:1;display:block;position:absolute;inset-block-end:.14em;inset-inline-start:50%;transform:translate(-50%)}.selected-sentence__word[data-speaking=true] .selected-sentence__word-ipa{color:var(--color-info-strong)}.sentence-translation{gap:var(--space-2xs);border-block-start:var(--rule-hairline) solid var(--color-border);padding-block-start:calc(var(--space-sm) - var(--space-3xs));display:grid}.sentence-translation__header{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:2.75rem;display:flex}.sentence-translation__label{align-items:center;gap:var(--space-2xs);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.02em;font-weight:800;display:inline-flex}.sentence-translation[data-status=success] .sentence-translation__label{color:var(--color-text-secondary)}.sentence-translation[data-status=error] .sentence-translation__label{color:var(--color-status-error)}.translation-toggle{border-radius:var(--radius-round);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);background:0 0;border:0;flex:none;place-items:center;width:2.75rem;min-height:2.75rem;padding:0;display:inline-grid;position:relative}.translation-toggle__track{border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-round);background:var(--color-bg-subtle);width:2.75rem;height:1.5rem;transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);display:block;position:relative}.translation-toggle__thumb{border-radius:var(--radius-round);background:var(--color-text-secondary);width:1rem;height:1rem;transition:background-color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-press);position:absolute;inset-block-start:50%;inset-inline-start:var(--space-3xs);transform:translateY(-50%)}.translation-toggle[aria-checked=true] .translation-toggle__track{border-color:var(--color-action-strong);background:var(--color-action-strong)}.translation-toggle[aria-checked=true] .translation-toggle__thumb{background:var(--color-bg-surface);transform:translate(1.2rem,-50%)}.translation-toggle:focus-visible{outline-color:var(--color-focus)}.translation-toggle:active .translation-toggle__thumb{transform:translate(.15rem,-50%)}.translation-toggle[aria-checked=true]:active .translation-toggle__thumb{transform:translate(1.05rem,-50%)}#sentence-translation-content:not(:empty){padding-block-start:var(--space-2xs)}.sentence-translation__text,.sentence-translation__status{margin:0}.sentence-translation__text{color:var(--color-text-secondary);font-size:var(--text-base);font-weight:600;line-height:1.45}.sentence-translation__status{align-items:center;gap:var(--space-xs);color:var(--color-text-muted);font-size:var(--text-sm);flex-wrap:wrap;line-height:1.35;display:flex}.sentence-translation__retry{appearance:none;border-radius:var(--radius-input);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);color:var(--color-info-strong);padding:var(--space-3xs) var(--space-2xs);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:800}.sentence-translation__retry:focus-visible{outline-color:var(--color-focus)}.sentence-translation__retry:active{transform:translateY(var(--rule-hairline))}.dictionary-popover{position-anchor:--dictionary-word-anchor;position-area:block-end span-inline-end;position-try-fallbacks:flip-block, flip-inline, flip-block flip-inline;width:min(23rem, calc(100vw - (var(--space-md) * 2)));max-height:calc(100dvh - (var(--space-md) * 2));margin:var(--space-xs) 0;border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-panel);background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:var(--shadow-card);padding:var(--space-md);overflow:auto}.dictionary-popover::backdrop{background:0 0}.dictionary-popover__header,.dictionary-popover__identity,.dictionary-popover__header-actions,.dictionary-popover__meaning-head,.dictionary-popover__sources,.dictionary-popover__audio,.dictionary-popover__retry{align-items:center;display:flex}.dictionary-popover__header{justify-content:space-between;gap:var(--space-md)}.dictionary-popover__identity{gap:var(--space-sm);min-width:0}.dictionary-popover__book{width:var(--space-lg);height:var(--space-lg);color:var(--color-info-strong);flex:none}.dictionary-popover__identity h3,.dictionary-popover__identity p{margin:0}.dictionary-popover__identity h3{overflow-wrap:anywhere;font-size:var(--text-md);letter-spacing:-.025em;font-weight:800;line-height:1.1}.dictionary-popover__identity p{color:var(--color-text-muted);font-family:var(--font-outlier);font-size:var(--text-sm);margin-block-start:var(--space-2xs);line-height:1.2}.dictionary-popover__header-actions{gap:var(--space-xs);flex:none}.dictionary-popover__audio,.dictionary-popover__close,.dictionary-popover__retry{appearance:none;min-height:calc(var(--space-xl) + var(--space-2xs));border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-round);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);background:var(--color-bg-subtle);color:var(--color-text-secondary);font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;font-weight:800}.dictionary-popover__audio,.dictionary-popover__retry{justify-content:center;gap:var(--space-xs);padding-inline:var(--space-sm);white-space:nowrap}.dictionary-popover__audio[data-state=playing]{border-color:var(--color-info-strong);background:var(--color-info);color:var(--color-on-info)}.dictionary-popover__close{width:calc(var(--space-xl) + var(--space-2xs));place-items:center;display:inline-grid}.dictionary-popover__audio svg,.dictionary-popover__close svg,.dictionary-popover__retry svg{width:var(--space-md);height:var(--space-md)}.dictionary-popover__audio:focus-visible,.dictionary-popover__close:focus-visible,.dictionary-popover__retry:focus-visible{outline-color:var(--color-focus)}.dictionary-popover__audio:active,.dictionary-popover__close:active,.dictionary-popover__retry:active{transform:translateY(var(--rule-hairline))}.dictionary-popover__audio:disabled,.dictionary-popover__close:disabled,.dictionary-popover__retry:disabled{cursor:not-allowed;opacity:.55}.dictionary-popover__state{justify-items:start;gap:var(--space-sm);border-block-start:var(--rule-hairline) solid var(--color-border);color:var(--color-text-secondary);margin-block-start:var(--space-sm);padding-block-start:var(--space-md);display:grid}.dictionary-popover__auth{gap:var(--space-sm);border:var(--rule-hairline) solid var(--color-accent);border-radius:var(--radius-panel);background:var(--color-accent-paper);padding:var(--space-md);margin-block-start:var(--space-sm);display:grid}.dictionary-popover__auth-icon{color:var(--color-accent-deep)}.dictionary-popover__auth-text{color:var(--color-text-primary);font-size:var(--text-sm);margin:0;font-weight:700;line-height:1.5}.dictionary-popover__auth-actions{gap:var(--space-xs);flex-wrap:wrap;display:flex}.dictionary-popover__auth-primary{min-height:2.35rem;padding:0 var(--space-md);border:var(--rule-hairline) solid var(--color-accent-deep);border-radius:var(--radius-round);background:var(--color-accent);color:var(--color-on-action);font-size:var(--text-sm);font-weight:800}.dictionary-popover__auth-dismiss{border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-round);background:var(--color-bg-surface);width:2.35rem;min-height:2.35rem;color:var(--color-text-secondary);justify-content:center;align-items:center;display:inline-flex}.dictionary-popover__auth-dismiss:focus-visible,.dictionary-popover__auth-primary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.dictionary-popover__state p,.dictionary-popover__state small{margin:0}.dictionary-popover__state p{font-size:var(--text-sm);font-weight:700;line-height:1.5}.dictionary-popover__state small{color:var(--color-text-muted);font-size:var(--text-xs)}.dictionary-popover__spinner{width:var(--space-lg);height:var(--space-lg);color:var(--color-info-strong);animation:.9s linear infinite dictionary-spin}.dictionary-popover__content{gap:var(--space-md);border-block-start:var(--rule-hairline) solid var(--color-border);margin-block-start:var(--space-sm);padding-block-start:var(--space-md);display:grid}.dictionary-popover__meanings,.dictionary-popover__meanings ul{margin:0;padding:0;list-style:none}.dictionary-popover__meanings{gap:var(--space-md);display:grid}.dictionary-popover__meaning-head{gap:var(--space-xs);margin-block-end:var(--space-xs)}.dictionary-popover__meaning-head>span{color:var(--color-info-strong);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800}.dictionary-popover__meaning-head strong{border-radius:var(--radius-round);background:var(--color-info-soft);color:var(--color-text-secondary);padding:var(--space-2xs) var(--space-xs);font-size:var(--text-xs);line-height:1}.dictionary-popover__meanings ul{gap:var(--space-xs);padding-inline-start:var(--space-lg);list-style:outside;display:grid}.dictionary-popover__meanings ul li{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.5}.dictionary-popover__examples{gap:var(--space-xs);border-radius:var(--radius-input);background:var(--color-action-soft);padding:var(--space-sm);display:grid}.dictionary-popover__examples h4,.dictionary-popover__examples blockquote{margin:0}.dictionary-popover__examples h4{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.dictionary-popover__examples blockquote{color:var(--color-text-secondary);font-size:var(--text-sm);font-style:italic;line-height:1.45}.dictionary-popover__sources{gap:var(--space-xs);color:var(--color-text-muted);font-size:var(--text-xs);flex-wrap:wrap;margin:0}.dictionary-popover__sources a{align-items:center;gap:var(--space-3xs);color:var(--color-info-strong);white-space:nowrap;font-weight:800;display:inline-flex}.dictionary-popover__sources a svg{width:var(--space-sm);height:var(--space-sm)}@supports not (position-area:block-end){.dictionary-popover{margin:0;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}}.selected-sentence__annotated:not([data-ipa-visible=true]) .selected-sentence__word-ipa,.selected-sentence__word-ipa[data-empty=true]{visibility:hidden}.recorder{gap:var(--space-md)}.recorder__title,.words-title{font-size:var(--text-md);font-weight:800}.recorder__timer{border:calc(var(--rule-hairline) * 2) solid var(--color-ink);border-radius:var(--radius-round);background:var(--color-surface);min-height:2rem;color:var(--color-ink);padding-inline:var(--space-sm);align-items:center;display:inline-flex}.waveform{align-items:center;gap:var(--space-3xs);border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-panel);background:var(--color-info-soft);min-width:0;height:4rem;box-shadow:inset 0 calc(var(--space-2xs) * -1) 0 var(--color-rule);padding:var(--space-xs);transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);display:flex}.waveform[data-recorded=true]{border-width:var(--rule-hairline);border-color:var(--color-border);background:var(--color-bg-surface);box-shadow:none;padding:var(--space-2xs)}.waveform[data-active=true]{border-color:var(--color-info-strong);background:var(--color-info-soft)}.waveform[data-playing=true]{border-color:var(--color-info-strong)}.waveform__scrubber{border-radius:var(--radius-input);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);cursor:default;touch-action:none;flex:auto;min-width:0;height:100%;position:relative}.waveform[data-recorded=true] .waveform__scrubber{cursor:pointer}.waveform__scrubber:focus-visible{outline-color:var(--color-focus)}.waveform__svg{width:100%;height:100%;display:block;overflow:visible}.waveform__peaks{fill:currentColor}.waveform__peaks--base{color:var(--color-info-strong);opacity:.24}.waveform__peaks--progress,.waveform__peaks--live{color:var(--color-info-strong)}.waveform__playback{justify-content:center;align-items:center;gap:var(--space-xs);border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-round);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);background:var(--color-bg-surface);min-height:2.75rem;color:var(--color-text-secondary);padding-inline:var(--space-sm);font-size:var(--text-xs);flex:none;font-weight:800;display:inline-flex}.waveform[data-playing=true] .waveform__playback{border-color:var(--color-info-strong);background:var(--color-info);color:var(--color-on-info)}.waveform__playback-icon{width:.875rem;height:.875rem}.waveform__playback:focus-visible{outline-color:var(--color-focus)}.waveform__time{min-width:4.75rem;color:var(--color-text-muted);font-family:var(--font-outlier);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:end;white-space:nowrap;flex:none;font-weight:600}.recorder__actions{align-items:center;gap:var(--space-sm);grid-template-columns:auto minmax(0,1fr);display:grid}.recorder__capture-actions{align-items:center;gap:var(--space-sm);min-width:0;display:flex}.recorder__clear.ui-button--ghost{border-color:var(--color-border);background:var(--color-bg-surface);color:var(--color-text-secondary);box-shadow:none;flex:none}.recorder__assess{min-width:0;min-height:3rem;font-size:var(--text-sm);justify-self:stretch}.recorder__assess-label--short{display:none}.ui-button{border:calc(var(--rule-hairline) * 2) solid var(--color-ink);border-radius:var(--radius-button);background:var(--color-accent);min-height:3rem;color:var(--color-accent-ink);box-shadow:var(--shadow-button);padding-inline:var(--space-lg);transition:background-color var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-press), color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-press);font-weight:800;transform:translateY(0)}.ui-button--default{border-color:var(--color-ink);background:var(--color-accent);color:var(--color-accent-ink)}.ui-button--danger{border-color:var(--color-ink);background:var(--color-accent-3);color:var(--color-ink);box-shadow:0 var(--space-2xs) 0 var(--color-accent-3-deep), 0 var(--space-sm) var(--space-lg) var(--color-shadow-coral)}.ui-button--ghost,.ui-button--outline{border-color:var(--color-ink);background:var(--color-surface);color:var(--color-ink);box-shadow:0 var(--space-2xs) 0 var(--color-ink)}.ui-button--icon{width:3rem;min-width:3rem;padding-inline:0}.ui-button:focus-visible,audio:focus-visible{outline:calc(var(--rule-hairline) * 3) solid var(--color-focus);outline-offset:var(--space-xs)}.ui-button:active{box-shadow:0 var(--rule-hairline) 0 var(--color-accent-deep);transition-duration:var(--dur-micro);transform:translateY(3px)}.recorder__clear:active:not(:disabled){border-color:var(--color-status-error);background:var(--color-status-error-soft);color:var(--color-status-error);box-shadow:none;transform:translateY(var(--rule-hairline))}.ui-button:disabled{border-color:var(--color-border-strong);background:var(--color-bg-subtle);color:var(--color-text-secondary);box-shadow:0 var(--space-2xs) 0 var(--color-border);opacity:1;transform:none}.record-button:not(:disabled){background:var(--color-emphasis);color:var(--color-text-primary);box-shadow:0 var(--space-2xs) 0 var(--color-emphasis-strong), 0 var(--space-sm) var(--space-lg) var(--color-shadow-pear)}.assess-button{background:var(--color-accent-2);min-height:3.5rem;box-shadow:0 var(--space-2xs) 0 var(--color-accent-2-deep), 0 var(--space-sm) var(--space-lg) var(--color-shadow-cyan);font-size:var(--text-md)}.error-callout{border:calc(var(--rule-hairline) * 2) solid var(--color-error);border-radius:var(--radius-panel);background:var(--color-error-paper);font-weight:700}.results-stack{padding-block-start:var(--space-xs);position:relative}.results-stack:before,.results-stack:after{background:linear-gradient(90deg, transparent 46%, var(--color-accent-3) 46% 54%, transparent 54%), linear-gradient(0deg, transparent 46%, var(--color-accent-3) 46% 54%, transparent 54%);content:"";pointer-events:none;width:1.5rem;height:1.5rem;animation:result-burst var(--dur-long) var(--ease-out) both;position:absolute;inset-block-start:calc(var(--space-sm) * -1);inset-inline-end:var(--space-md)}.results-stack:after{width:var(--space-md);height:var(--space-md);animation-delay:var(--dur-micro);inset-block-start:var(--space-lg);inset-inline-end:12%}.score-grid{gap:var(--space-sm);grid-template-columns:repeat(6,minmax(0,1fr))}.score-tile{gap:var(--space-xs);border:calc(var(--rule-hairline) * 2) solid var(--color-ink);border-radius:var(--radius-panel);background:var(--color-surface);min-width:0;box-shadow:0 var(--space-2xs) 0 var(--color-ink);padding:var(--space-md);grid-column:span 2;display:grid}.score-tile:first-child,.score-tile:last-child{grid-column:span 3}.score-tile__icon{color:var(--color-ink-2)}.score-tile__value{color:var(--color-ink);font-size:clamp(var(--text-xl), 3vw, var(--text-2xl));font-weight:800}.score-tile__label{color:var(--color-ink-2);font-size:var(--text-sm);letter-spacing:0;text-transform:none;font-weight:800}.words-header,.feedback-panel{border:calc(var(--rule-hairline) * 2) solid var(--color-ink);border-radius:var(--radius-panel)}.words-header{background:var(--color-surface);padding:var(--space-md)}.score-legend{gap:var(--space-xs);flex-wrap:wrap;margin-block-start:var(--space-sm);display:flex}.score-legend span{border:calc(var(--rule-hairline) * 2) solid var(--color-ink);border-radius:var(--radius-round);min-height:2rem;padding-inline:var(--space-sm);color:var(--color-ink);font-size:var(--text-xs);white-space:nowrap;align-items:center;font-weight:800;display:inline-flex}.score-legend [data-band=green]{background:var(--color-mint-paper)}.score-legend [data-band=yellow]{background:var(--color-warning-paper)}.score-legend [data-band=red]{background:var(--color-error-paper)}.word-list{gap:var(--space-xs)}.word-chip{border:calc(var(--rule-hairline) * 2) solid var(--color-ink);border-radius:var(--radius-round);min-height:2.75rem;color:var(--color-ink);box-shadow:0 var(--space-2xs) 0 var(--color-ink);font-weight:800}.word-chip[data-band=good]{background:var(--color-mint-paper)}.word-chip[data-band=needs-work]{background:var(--color-warning-paper)}.word-chip[data-band=focus]{background:var(--color-error-paper)}.word-chip__score{border:calc(var(--rule-hairline) * 2) solid var(--color-ink);background:var(--color-surface);color:var(--color-ink)}.feedback-panel{background:var(--color-info-soft);color:var(--color-text-primary);box-shadow:0 var(--space-2xs) 0 var(--color-ink);padding:0}.feedback-panel__inner{gap:var(--space-md);padding:var(--space-lg)}.feedback-panel__icon{color:var(--color-info-strong)}.feedback-panel__title{font-size:var(--text-md);font-weight:800}.feedback-panel__message{color:var(--color-ink-2);font-weight:600}.feedback-panel__message strong{font-weight:800}.feedback-panel__focus{align-items:center;gap:var(--space-xs);border:calc(var(--rule-hairline) * 2) solid var(--color-ink);border-radius:var(--radius-round);background:var(--color-accent);min-height:2.25rem;color:var(--color-ink);padding-inline:var(--space-sm);font-size:var(--text-sm);letter-spacing:0;text-transform:none;font-weight:800;display:inline-flex}.practice-options-trigger{anchor-name:--practice-options-anchor;appearance:none;justify-content:center;align-items:center;gap:var(--space-xs);border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-round);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);background:var(--color-bg-surface);min-height:2.75rem;color:var(--color-text-secondary);padding-inline:var(--space-sm);font-size:var(--text-xs);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-press);font-weight:800;display:inline-flex}.practice-options-trigger svg{width:var(--space-md);height:var(--space-md)}.practice-options-trigger:focus-visible,.practice-options-popover__close:focus-visible{outline-color:var(--color-focus)}.practice-options-trigger:active,.practice-options-popover__close:active{transform:translateY(var(--rule-hairline))}.practice-options-popover{position-anchor:--practice-options-anchor;position-area:block-end span-inline-end;position-try-fallbacks:flip-block, flip-inline, flip-block flip-inline;width:min(20rem, calc(100vw - (var(--space-md) * 2)));max-height:calc(100dvh - (var(--space-md) * 2));margin:var(--space-xs) 0;border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-panel);background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:var(--shadow-card);padding:var(--space-md);overflow:auto}.practice-options-popover::backdrop{background:0 0}.practice-options-popover__header{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.practice-options-popover__header h3{font-size:var(--text-base);margin:0;font-weight:800}.practice-options-popover__close{appearance:none;border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-round);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);background:var(--color-bg-subtle);width:2.75rem;min-height:2.75rem;color:var(--color-text-secondary);place-items:center;display:inline-grid}.practice-options-popover__close svg{width:var(--space-md);height:var(--space-md)}.practice-options-popover__list{margin-block-start:var(--space-sm);display:grid}.practice-options__row{border-block-start:var(--rule-hairline) solid var(--color-border);width:100%;padding:var(--space-sm) 0;border-radius:0;justify-content:space-between}@media (hover:hover) and (pointer:fine){.mobile-workspace-switch__button:hover:not(:disabled),.practice-sentence-nav__button:hover:not(:disabled){background:var(--color-info-soft);color:var(--color-text-primary)}.language-switcher__trigger:hover:not(:disabled){border-color:var(--color-info-strong);background:var(--color-info-soft)}.language-switcher__option:hover:not(:disabled){background:var(--color-bg-subtle);color:var(--color-text-primary)}.selected-sentence__word-button:hover{background:var(--color-info-soft)}.dictionary-popover__audio:hover:not(:disabled):not([data-state=playing]),.dictionary-popover__close:hover:not(:disabled),.dictionary-popover__retry:hover:not(:disabled){border-color:var(--color-info-strong);background:var(--color-info-soft)}.dictionary-popover__sources a:hover{text-decoration-thickness:calc(var(--rule-hairline) * 2)}.overall-score:hover{filter:saturate(1.08)}.overall-score-popover__close:hover{border-color:var(--color-info-strong);background:var(--color-info-soft)}.waveform__playback:hover{border-color:var(--color-info-strong);background:var(--color-bg-subtle)}.reference-speech:hover:not(:disabled),.reference-speech-rate:hover:not(:disabled){border-color:var(--color-info-strong);background:var(--color-info-soft)}.reference-speech-rate-option:hover:not(:disabled){background:var(--color-info-soft);color:var(--color-text-primary)}.ipa-toggle:hover .ipa-toggle__track{border-color:var(--color-info-strong)}.translation-toggle:hover .translation-toggle__track{border-color:var(--color-action-strong)}.ui-button--default:hover:not(:disabled){box-shadow:var(--shadow-button-hover)}.record-button:hover:not(:disabled){box-shadow:0 calc(var(--space-2xs) + var(--rule-hairline)) 0 var(--color-emphasis-strong), 0 var(--space-md) var(--space-lg) var(--color-shadow-pear)}.recorder__clear:hover:not(:disabled){border-color:var(--color-status-error);background:var(--color-status-error-soft);color:var(--color-status-error);box-shadow:none}.assess-button:hover:not(:disabled){box-shadow:var(--shadow-button-cyan-hover)}.ui-button--ghost:hover,.ui-button--outline:hover,.sentence-card:hover:not([data-selected=true]){background:var(--color-accent-2-paper)}.sentence-drag-handle:hover,.sentence-split:hover{background:var(--color-accent-2);color:var(--color-ink)}}@keyframes buddy-breathe{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(calc(var(--space-2xs) * -1)) rotate(1deg)}}@keyframes result-burst{0%{opacity:0;transform:scale(0)rotate(0)}65%{opacity:1;transform:scale(1.15)rotate(35deg)}to{opacity:0;transform:scale(1.35)rotate(45deg)}}@keyframes dictionary-spin{to{transform:rotate(1turn)}}@media (max-width:60rem){.workspace-grid{grid-template-columns:minmax(0,1fr)}.practice-empty{min-height:20rem}}@media (max-width:48rem){.score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.score-tile,.score-tile:first-child,.score-tile:last-child{grid-column:span 1}.score-tile:first-child{grid-column:span 2}}@media (max-width:40rem){.app-topbar__inner{min-height:4.25rem}.topbar-meta span{display:none}.topbar-meta{justify-content:center;width:2.75rem;min-height:2.75rem;padding-inline:0}.topbar-actions{gap:var(--space-xs)}.workspace{padding-block-start:var(--space-md);padding-block-end:calc(var(--space-3xl) + var(--space-xl))}.journey-list{gap:var(--space-2xs)}.journey-step{gap:var(--space-3xs);min-height:3.5rem;padding:var(--space-2xs);text-align:start;grid-template-columns:auto minmax(0,1fr)}.journey-step+.journey-step{padding-inline-start:var(--space-xs)}.journey-step+.journey-step:before{inset-block:var(--space-sm)}.journey-step__icon{width:1.75rem;height:1.75rem}.journey-step__icon svg{width:1rem;height:1rem}.journey-step__number{display:none}.journey-step__label{font-size:var(--text-xs);text-overflow:ellipsis;overflow:hidden}.mobile-workspace-switch{z-index:var(--z-raised);gap:var(--space-2xs);border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-round);background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:var(--shadow-card);padding:var(--space-2xs);grid-template-columns:repeat(2,minmax(0,1fr));margin-block-end:var(--space-md);scroll-margin-block-start:var(--space-xs);display:grid;position:sticky;inset-block-start:0}.mobile-workspace-switch__button{appearance:none;justify-content:center;align-items:center;gap:var(--space-xs);border-radius:var(--radius-round);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);min-width:0;min-height:2.75rem;color:var(--color-text-secondary);padding-inline:var(--space-sm);font-size:var(--text-sm);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-press);background:0 0;border:0;font-weight:800;line-height:1;display:inline-flex}.mobile-workspace-switch__button[aria-pressed=true]{background:var(--color-action);color:var(--color-on-action)}.mobile-workspace-switch__button:focus-visible{outline-color:var(--color-focus)}.mobile-workspace-switch__button:active:not(:disabled){transform:translateY(var(--rule-hairline))}.mobile-workspace-switch__button:disabled{cursor:not-allowed;opacity:.5}.mobile-workspace-switch__count{border:var(--rule-hairline) solid currentColor;border-radius:var(--radius-round);min-width:1.5rem;min-height:1.5rem;font-family:var(--font-outlier);font-size:var(--text-xs);font-variant-numeric:tabular-nums;place-items:center;display:inline-grid}.workspace-grid[data-mobile-view=source] .workspace-panel--practice,.workspace-grid[data-mobile-view=practice] .workspace-panel--source{display:none}.workspace-panel--source,.workspace-panel--practice{padding:var(--space-md) var(--space-sm)}.workspace-panel--practice{gap:var(--space-md)}.panel-heading{gap:var(--space-sm)}.panel-heading__icon{width:2.75rem;height:2.75rem}.panel-heading__icon svg{width:1.25rem;height:1.25rem}.panel-title{font-size:var(--text-lg)}.ui-textarea{min-height:9rem;padding:var(--space-md)}.sentence-button{gap:var(--space-sm)}.selected-sentence,.feedback-panel__inner{padding:var(--space-sm)}.practice-panel{gap:var(--space-md);padding-block-end:calc(var(--space-3xl) + var(--space-md))}.practice-sentence-nav{z-index:var(--z-raised);align-items:center;gap:var(--space-xs);border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-round);background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:0 var(--space-2xs) 0 var(--color-border-strong);padding:var(--space-2xs);grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;display:grid;position:sticky;inset-block-start:calc(3.5rem + var(--space-sm))}.practice-sentence-nav__button{appearance:none;border-radius:var(--radius-round);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);background:var(--color-info-soft);width:2.75rem;min-height:2.75rem;color:var(--color-text-secondary);border:0;place-items:center;display:inline-grid}.practice-sentence-nav__button svg{width:1.125rem;height:1.125rem}.practice-sentence-nav__button-label{display:none}.practice-sentence-nav__button:focus-visible{outline-color:var(--color-focus)}.practice-sentence-nav__button:active:not(:disabled){transform:translateY(var(--rule-hairline))}.practice-sentence-nav__button:disabled{cursor:not-allowed;opacity:.45}.practice-sentence-nav__position{min-width:0;font-size:var(--text-sm);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.selected-sentence__toolbar{gap:var(--space-sm);grid-template-columns:minmax(0,1fr);display:grid}.selected-sentence__context{justify-content:space-between}.selected-sentence__actions{gap:var(--space-xs);grid-template-columns:minmax(0,1fr) auto;width:100%;margin-inline-start:0;display:grid}.reference-speech-group{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.reference-auto-toggle{justify-content:flex-start;justify-self:start;min-width:0}.ipa-toggle:not(.reference-auto-toggle){justify-self:end}.reference-speech{width:100%;min-width:0;padding-inline:var(--space-xs)}.reference-speech-rate{min-width:3.5rem;padding-inline:var(--space-xs)}.ipa-toggle{justify-content:flex-end;gap:var(--space-2xs);min-width:4.25rem;padding-inline:0}.selected-sentence__annotated{font-size:var(--text-lg)}.recorder__capture-actions .ui-button:not(.ui-button--icon){min-width:0;padding-inline:var(--space-xs);flex:auto}.recorder__capture-actions,.recorder__capture-actions .record-button{gap:var(--space-2xs)}.recorder__clear.ui-button--icon{width:2.75rem;min-width:2.75rem;min-height:2.75rem}.recorder__actions{z-index:var(--z-raised);border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-panel);background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:var(--shadow-card);padding:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;position:fixed;inset-block-end:max(var(--space-sm), env(safe-area-inset-bottom));inset-inline-start:max(var(--space-sm), env(safe-area-inset-left));inset-inline-end:max(var(--space-sm), env(safe-area-inset-right))}.recorder__assess{width:7rem;min-width:7rem;padding-inline:var(--space-xs)}.recorder__assess[data-submitting=true]{width:auto;min-width:max-content}.recorder__actions:has(.recorder__assess[data-submitting=true]){grid-template-columns:minmax(7rem,1fr) max-content}.recorder__assess-label--full{display:none}.recorder__assess-label--short{display:inline}.recorder__capture-actions,.recorder__capture-actions .ui-button,.recorder__assess,.recorder__assess-label{white-space:nowrap}}@media (max-width:23.5rem){.wordmark{font-size:var(--text-base)}.wordmark__mark{width:2.5rem;height:2.5rem}.practice-buddy--brand{width:2.35rem}.panel-heading{align-items:flex-start}.panel-heading__icon{width:3rem;height:3rem}.score-grid{grid-template-columns:minmax(0,1fr)}.score-tile,.score-tile:first-child,.score-tile:last-child{grid-column:span 1}}@media (max-width:40rem){.app-topbar{border-block-end:var(--rule-hairline) solid var(--color-border)}.app-topbar__inner{min-height:3.75rem;padding-inline:var(--space-md)}.wordmark{gap:var(--space-xs);font-size:var(--text-base)}.wordmark__mark{border-width:var(--rule-hairline);border-radius:var(--radius-input);width:2.25rem;height:2.25rem;box-shadow:none}.practice-buddy--brand{width:2.1rem}.language-switcher__trigger{border-width:var(--rule-hairline);min-width:4.25rem}.journey-bar{display:none}.workspace{padding:var(--space-md);padding-block-end:calc(var(--space-3xl) + var(--space-md))}.mobile-workspace-switch{border:0;border-block-end:var(--rule-hairline) solid var(--color-border);box-shadow:none;padding-block:var(--space-xs);background:0 0;border-radius:0;margin-block-end:var(--space-md);position:static}.mobile-workspace-switch[data-mobile-view=practice]{display:none}.mobile-workspace-switch__button{border-radius:var(--radius-input);min-height:2.75rem;font-size:var(--text-sm)}.mobile-workspace-switch__button[aria-pressed=true]{background:var(--color-action-soft);color:var(--color-text-primary)}.workspace-panel,.workspace-panel--source,.workspace-panel--practice{gap:var(--space-lg);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.panel-heading--practice{display:none}.panel-heading__icon{border-width:var(--rule-hairline);border-radius:var(--radius-input);width:2.5rem;height:2.5rem;box-shadow:none}.practice-panel{gap:var(--space-md);padding-block-end:calc(var(--space-3xl) + var(--space-xs))}.practice-panel[data-video-reference=true]{gap:var(--space-sm)}.practice-video-reference{gap:var(--space-2xs);display:grid}.practice-video-reference__toggle{appearance:none;justify-self:end;align-items:center;gap:var(--space-2xs);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-round);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);background:var(--color-bg-subtle);min-height:2.25rem;color:var(--color-text-secondary);padding-inline:var(--space-sm);font:inherit;font-size:var(--text-xs);font-weight:800;display:inline-flex}.practice-video-reference__toggle:focus-visible{outline-color:var(--color-focus)}.practice-video-reference__toggle:active{transform:translateY(var(--rule-hairline))}.practice-video-reference__toggle svg{width:.95rem;height:.95rem}.practice-video-slot:not(:empty){display:block}.practice-video-slot[hidden]{display:none}.practice-video-slot .youtube-player-portal{width:min(100%,22rem);margin-inline:auto}.practice-video-slot .youtube-player-shell{border-width:var(--rule-hairline);border-radius:var(--radius-input)}.practice-sentence-nav{gap:var(--space-xs);margin-inline:calc(var(--space-md) * -1);border:0;border-block-end:var(--rule-hairline) solid var(--color-border);background:var(--color-bg-canvas);box-shadow:none;padding:var(--space-xs) var(--space-md);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;grid-template-columns:auto minmax(0,1fr);position:sticky;inset-block-start:0}.practice-sentence-nav__lines,.practice-sentence-nav__controls{align-items:center;display:inline-flex}.practice-sentence-nav__lines{gap:var(--space-2xs);border-radius:var(--radius-input);outline:calc(var(--rule-hairline) * 2) solid transparent;outline-offset:var(--space-2xs);min-height:2.75rem;color:var(--color-text-secondary);font-size:var(--text-sm);white-space:nowrap;background:0 0;border:0;padding-inline:0;font-weight:800}.practice-sentence-nav__lines svg{width:1rem;height:1rem}.practice-sentence-nav__lines:focus-visible{outline-color:var(--color-focus)}.practice-sentence-nav__position{justify-self:end;padding-inline-end:var(--space-xs)}.practice-sentence-nav__controls{z-index:var(--z-raised);gap:var(--space-2xs);box-shadow:none;background:0 0;border:0;padding:0;position:fixed;inset-block-end:calc(max(var(--space-sm), env(safe-area-inset-bottom)) + 4.5rem + var(--space-sm));inset-inline-start:50%;transform:translate(-50%)}.practice-sentence-nav__button{border:var(--rule-hairline) solid var(--color-border);background:var(--color-bg-surface);width:3rem;min-height:3rem}.selected-sentence{gap:var(--space-xs);box-shadow:none;padding:var(--space-xs) 0 0;background:0 0;border:0;border-radius:0;display:grid}.selected-sentence__toolbar{display:contents}.selected-sentence__context{border-block-end:0;order:1;justify-content:space-between;align-items:center;min-height:auto;padding-block-end:0}.selected-sentence__context .meta-label{color:var(--color-text-secondary);font-size:var(--text-base);letter-spacing:0;text-transform:none;font-weight:800;line-height:1.25}.selected-sentence__context .meta-label svg{width:1.25rem;height:1.25rem}.overall-score{border-width:var(--rule-hairline);min-height:2.5rem}.selected-sentence__reading-stage{min-block-size:0;padding-block:0 var(--space-xs);order:2}.selected-sentence__annotated{width:100%;max-width:none;color:var(--color-text-primary);letter-spacing:-.04em;font-size:clamp(1.55rem,6.8vw,2rem);font-weight:750;line-height:1.22}.practice-panel[data-video-reference=true] .selected-sentence__annotated{font-size:clamp(1.35rem,5.9vw,1.75rem);line-height:1.18}.practice-panel[data-video-reference=true] .selected-sentence__reading-stage{padding-block-end:var(--space-2xs)}.practice-panel[data-video-reference=true] .selected-sentence__actions{gap:var(--space-xs);margin-block-start:0;padding-block-start:var(--space-xs)}.selected-sentence__actions{gap:var(--space-sm);border-block-start:var(--rule-hairline) solid var(--color-border);order:4;grid-template-columns:minmax(0,1fr) auto;margin-block-start:var(--space-2xs);padding-block-start:var(--space-sm)}.reference-speech-group{grid-column:auto;grid-template-columns:minmax(0,1fr) auto}.reference-speech,.reference-speech-rate,.practice-options-trigger{border-width:var(--rule-hairline);min-height:3rem;box-shadow:none}.reference-speech{padding-inline:var(--space-md);justify-content:flex-start}.practice-options-trigger{min-width:3rem;padding-inline:var(--space-sm)}.practice-options-trigger span{display:none}.sentence-translation{gap:var(--space-2xs);background:0 0;border-block-start:0;order:3;padding-block-start:0}.sentence-translation__label{min-height:auto}.feedback-panel{border-width:var(--rule-hairline);border-color:var(--color-border);background:var(--color-info-soft);box-shadow:none}.feedback-panel__inner{gap:var(--space-sm);padding:var(--space-md)}.feedback-panel__title{font-size:var(--text-base)}.recorder{gap:var(--space-sm)}.recorder__actions{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.recorder:not(:has(.recorder__assess)) .recorder__actions{grid-template-columns:minmax(0,1fr)}.recorder__capture-actions,.recorder__capture-actions .ui-button:not(.ui-button--icon){width:100%}.recorder__capture-actions .ui-button:not(.ui-button--icon){min-height:3.25rem}.record-button:not(:disabled),.assess-button{box-shadow:none}.recorder__assess{min-height:3.25rem}.practice-options-popover,.overall-score-popover,.dictionary-popover{position-anchor:initial;position-area:initial;position-try-fallbacks:none;inset:auto max(var(--space-sm), env(safe-area-inset-right)) max(var(--space-sm), env(safe-area-inset-bottom)) max(var(--space-sm), env(safe-area-inset-left));border-width:var(--rule-hairline);border-radius:var(--radius-panel);width:auto;max-height:min(72dvh,36rem);box-shadow:0 .75rem 2rem var(--color-shadow-soft);padding:var(--space-md);margin:0;position:fixed}.practice-options-popover::backdrop,.overall-score-popover::backdrop,.dictionary-popover::backdrop{background:color-mix(in oklch, var(--color-text-primary) 16%, transparent)}.practice-options__row{min-height:3.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}.practice-buddy,.results-stack:before,.results-stack:after{animation:none}.ipa-toggle__track,.ipa-toggle__thumb,.reference-speech,.reference-speech-rate,.reference-speech-rate__chevron,.reference-speech-rate-option,.translation-toggle__track,.translation-toggle__thumb,.language-switcher__trigger,.language-switcher__chevron,.language-switcher__option,.overall-score,.selected-sentence__word-button,.selected-sentence__word-text,.dictionary-popover__audio,.dictionary-popover__close,.dictionary-popover__retry{transition:none}.overall-score:active,.overall-score-popover__close:active,.language-switcher__trigger:active,.language-switcher__option:active,.reference-speech-rate-option:active,.selected-sentence__word-button:active,.dictionary-popover__audio:active,.dictionary-popover__close:active,.dictionary-popover__retry:active,.translation-toggle:active .translation-toggle__thumb,.translation-toggle[aria-checked=true]:active .translation-toggle__thumb{transform:none}.dictionary-popover__spinner{animation:none}.ui-button,.sentence-card,.ui-textarea{transition-duration:var(--dur-micro)}.ui-button:hover:not(:disabled){transform:none}.paste-button.ui-button--icon,.paste-button.ui-button--icon:hover:not(:disabled){transform:translateY(-50%)}.paste-button.ui-button--icon:active:not(:disabled){transform:translateY(calc(-50% + var(--rule-hairline)))}}.home-stack{width:min(100%, var(--page-max));padding:var(--space-lg) var(--page-gutter) var(--space-2xl);gap:var(--space-xl);min-width:0;margin-inline:auto;display:grid}.catalog-stack{gap:var(--space-xl);flex-direction:column;min-width:0;display:flex}.admin-content-page{width:min(100%, var(--page-max));padding:clamp(var(--space-lg), 5vw, var(--space-2xl)) var(--page-gutter);margin-inline:auto}.admin-content-hero{justify-content:space-between;align-items:flex-end;gap:var(--space-lg);margin-block-end:var(--space-xl);display:flex}.admin-content-kicker{color:var(--color-info-strong);font-family:var(--font-outlier);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.admin-content-title{max-width:12ch;color:var(--color-text-primary);font-family:var(--font-display);letter-spacing:-.05em;overflow-wrap:anywhere;margin:.35rem 0 0;font-size:clamp(2.5rem,6vw,5rem);font-style:normal;font-weight:800;line-height:.95}.admin-content-copy{max-width:42ch;margin:var(--space-md) 0 0;color:var(--color-text-secondary);font-size:var(--text-md)}.admin-content-actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;justify-content:flex-end;display:flex}.admin-content-staff,.admin-content-link{border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-button);font-size:var(--text-xs);padding:.65rem .9rem;font-weight:700}.admin-content-staff{background:var(--color-action-soft);color:var(--color-text-primary);font-family:var(--font-outlier);text-transform:uppercase}.admin-content-link{background:var(--color-action);color:var(--color-on-action);box-shadow:var(--shadow-button)}.admin-content-shell{min-width:0}.admin-content-panel{gap:var(--space-lg);border-block-start:var(--rule-hairline) solid var(--color-border);margin-block-start:var(--space-xl);padding-block-start:var(--space-xl);display:grid}.admin-content-tabs{gap:var(--space-xs);border-block-end:var(--rule-hairline) solid var(--color-border);display:flex}.admin-content-tab{align-items:center;gap:var(--space-xs);min-height:2.75rem;padding-inline:var(--space-md);color:var(--color-text-muted);background:0 0;border:0;border-block-end:2px solid #0000;font-weight:800;display:inline-flex}.admin-content-tab[data-active=true]{border-color:var(--color-action-strong);color:var(--color-text-primary)}.admin-content-tab span{border-radius:var(--radius-round);background:var(--color-bg-subtle);min-width:1.5rem;min-height:1.35rem;font-family:var(--font-outlier);font-size:var(--text-xs);place-items:center;display:inline-grid}.admin-content-search{gap:var(--space-2xs);max-width:28rem;color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:800;display:grid}.admin-content-search input,.admin-content-form input,.admin-content-form select,.admin-content-form textarea{border:var(--rule-hairline) solid var(--color-border-strong);border-radius:var(--radius-input);background:var(--color-bg-surface);width:100%;min-height:2.5rem;color:var(--color-text-primary);font-size:var(--text-sm);padding:.6rem .75rem}.admin-content-form textarea{resize:vertical}.admin-content-search input:focus-visible,.admin-content-form input:focus-visible,.admin-content-form select:focus-visible,.admin-content-form textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.admin-content-grid{gap:var(--space-lg);grid-template-columns:minmax(16rem,.8fr) minmax(0,1.2fr);align-items:start;display:grid}.admin-content-form,.admin-content-list{gap:var(--space-md);min-width:0;padding:var(--space-lg);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-bg-surface);display:grid}.admin-content-form h2,.admin-content-list h2{color:var(--color-text-primary);font-size:var(--text-md);margin:0;font-weight:800}.admin-content-form label{gap:var(--space-2xs);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:700;display:grid}.admin-content-form-actions,.admin-content-row-actions{gap:var(--space-xs);flex-wrap:wrap;display:flex}.admin-content-primary,.admin-content-secondary,.admin-content-row-actions button{border-radius:var(--radius-button);min-height:2.4rem;padding-inline:var(--space-md);border:var(--rule-hairline) solid var(--color-border-strong);font-size:var(--text-sm);font-weight:800}.admin-content-primary{background:var(--color-action);color:var(--color-on-action);box-shadow:var(--shadow-button)}.admin-content-secondary,.admin-content-row-actions button{background:var(--color-bg-surface);color:var(--color-text-primary)}.admin-content-row-actions button:last-child{color:var(--color-status-error)}.admin-content-list{align-content:start}.admin-content-row{justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding-block:var(--space-md);border-block-start:var(--rule-hairline) solid var(--color-border);display:flex}.admin-content-row:first-of-type{border-block-start:0;padding-block-start:0}.admin-content-row strong{color:var(--color-text-primary)}.admin-content-row p{color:var(--color-text-muted);font-family:var(--font-outlier);font-size:var(--text-xs);overflow-wrap:anywhere;margin:.25rem 0 0}.admin-content-row-actions{flex-shrink:0}.admin-content-alert,.admin-content-notice,.admin-content-empty,.admin-content-state{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-input);font-size:var(--text-sm);margin:0}.admin-content-alert{background:var(--color-status-error-soft);color:var(--color-status-error)}.admin-content-notice{background:var(--color-status-success-soft);color:var(--color-status-success)}.admin-content-empty,.admin-content-state{color:var(--color-text-muted);background:var(--color-bg-subtle)}.admin-series-details{gap:var(--space-md);border-block-start:var(--rule-hairline) solid var(--color-border);padding-block-start:var(--space-md);display:grid}.admin-series-tags{align-items:center;gap:var(--space-xs);flex-wrap:wrap;margin-block-start:var(--space-xs);display:flex}.admin-series-tags select{border:var(--rule-hairline) solid var(--color-border-strong);border-radius:var(--radius-input);min-height:2.25rem;padding-inline:var(--space-sm);background:var(--color-bg-surface);color:var(--color-text-primary)}.admin-series-tag{min-height:2.1rem;padding-inline:var(--space-sm);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-round);background:var(--color-action-soft);color:var(--color-text-primary);font-size:var(--text-xs);font-weight:800}.admin-video-tags{align-items:center;gap:var(--space-xs);flex-wrap:wrap;margin-block-start:var(--space-xs);display:flex}.admin-video-tags select{border:var(--rule-hairline) solid var(--color-border-strong);border-radius:var(--radius-input);min-height:2.1rem;padding-inline:var(--space-sm);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--text-xs)}.admin-series-video-list{gap:var(--space-xs);margin-block-start:var(--space-xs);padding:0;list-style:none;display:grid}.admin-series-video-list li{align-items:center;gap:var(--space-sm);min-width:0;padding:var(--space-xs);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-input);display:flex}.admin-series-video-list li>span{overflow-wrap:anywhere;min-width:0;font-size:var(--text-sm);flex:1;font-weight:700}.admin-series-video-list input{border:var(--rule-hairline) solid var(--color-border-strong);border-radius:var(--radius-input);width:4.5rem;min-height:2.25rem;padding-inline:var(--space-xs);background:var(--color-bg-surface);color:var(--color-text-primary)}@media (max-width:640px){.admin-content-hero{flex-direction:column;align-items:flex-start}.admin-content-actions{justify-content:flex-start}}@media (max-width:768px){.admin-content-grid{grid-template-columns:minmax(0,1fr)}.admin-content-row{flex-direction:column}.admin-content-row-actions{width:100%}}.catalog-section{gap:var(--space-md);min-width:0;display:grid}.catalog-head{align-items:center;gap:var(--space-sm);flex-wrap:wrap;min-width:0;display:flex}.catalog-head--filters{flex-direction:column;align-items:stretch}.catalog-head__left{align-items:center;gap:var(--space-sm);display:flex}.catalog-head__icon{border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-round);background:var(--color-bg-surface);width:2rem;height:2rem;color:var(--color-text-secondary);flex:none;place-items:center;display:inline-grid}.catalog-head__icon--featured{background:var(--color-accent-paper);color:var(--color-text-primary);border-color:var(--color-border-strong)}.catalog-head__title{font-family:var(--font-display);letter-spacing:-.03em;font-weight:800;font-size:var(--text-lg);color:var(--color-text-primary);margin:0}.catalog-head__count{min-width:1.75rem;height:1.75rem;padding:0 var(--space-2xs);border-radius:var(--radius-round);background:var(--color-text-primary);color:var(--color-bg-surface);font-family:var(--font-outlier);font-size:var(--text-xs);place-items:center;font-weight:800;display:inline-grid}.catalog-head__hint{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600}.catalog-filters{gap:var(--space-sm);display:grid}.catalog-filter-group{gap:var(--space-xs);flex-wrap:wrap;align-items:center;min-width:0;display:flex}.catalog-filter__pill{align-items:center;gap:var(--space-2xs);min-height:2.5rem;padding:0 var(--space-sm);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-round);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--text-sm);white-space:nowrap;touch-action:manipulation;font-weight:700;display:inline-flex}.catalog-filter__pill[data-active=true]{background:var(--color-text-primary);color:var(--color-bg-surface);border-color:var(--color-text-primary)}.catalog-filter__pill--level{font-family:var(--font-outlier);font-size:var(--text-xs)}.catalog-filter__sub{opacity:.8;font-family:var(--font-body);margin-left:2px;font-weight:600}.catalog-rail{gap:var(--space-sm);padding-bottom:var(--space-xs);scrollbar-width:thin;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:var(--page-gutter);display:flex;overflow:auto hidden}.catalog-rail__card{scroll-snap-align:start;text-align:left;border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-bg-surface);padding:var(--space-sm);gap:var(--space-2xs);color:inherit;flex:0 0 11.5rem;text-decoration:none;display:grid}.catalog-rail__thumb{border-radius:var(--radius-input);background:var(--color-action-soft);width:2rem;height:2rem;color:var(--color-text-primary);place-items:center;display:grid}.catalog-rail__title{font-size:var(--text-sm);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:0;margin:0;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.catalog-rail__meta{font-size:var(--text-xs);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.catalog-grid{gap:var(--space-md);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:640px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.catalog-grid--featured{grid-template-columns:repeat(3,minmax(0,1fr))}}.catalog-card{gap:var(--space-sm);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-bg-surface);padding:var(--space-md);color:inherit;min-width:0;box-shadow:var(--shadow-card);text-decoration:none;display:grid}.catalog-card:hover{border-color:var(--color-border-strong)}.catalog-card--featured{background:var(--color-accent-paper);border-color:var(--color-border-strong)}.catalog-card__kicker{font-family:var(--font-outlier);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary);align-items:center;gap:4px;font-weight:800;display:inline-flex}.catalog-card__title{font-family:var(--font-display);letter-spacing:-.03em;font-weight:800;font-size:var(--text-md);overflow-wrap:anywhere;min-width:0;margin:0;line-height:1.2}.catalog-card__title--sm{font-size:var(--text-base)}.catalog-card__summary{color:var(--color-text-secondary);font-size:var(--text-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.45;display:-webkit-box;overflow:hidden}.catalog-card__summary--sm{-webkit-line-clamp:2}.catalog-card__chips{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.catalog-mini{border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-round);background:var(--color-bg-subtle);font-size:var(--text-xs);align-items:center;gap:6px;max-width:100%;padding:2px 8px;display:inline-flex}.catalog-mini__level{font-family:var(--font-outlier);color:var(--color-text-primary);font-weight:800}.catalog-mini__level--muted{color:var(--color-text-muted)}.catalog-mini__title{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;overflow:hidden}.catalog-mini--more{background:var(--color-bg-surface);color:var(--color-text-muted)}.catalog-card__foot{align-items:center;gap:var(--space-xs);flex-wrap:wrap;justify-content:space-between;display:flex}.catalog-card__pill{border-radius:var(--radius-round);background:var(--color-text-primary);color:var(--color-bg-surface);font-size:var(--text-xs);align-items:center;gap:6px;padding:4px 8px;font-weight:700;display:inline-flex}.catalog-chip{border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-round);font-size:var(--text-xs);background:var(--color-bg-surface);padding:2px 8px}.catalog-card__meta{color:var(--color-text-muted);font-size:var(--text-xs)}.catalog-card__cta{font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;font-weight:700}.catalog-card__cta--sm{font-size:var(--text-xs)}.catalog-state{align-items:center;gap:var(--space-xs);color:var(--color-text-muted);font-size:var(--text-sm);margin:0;display:inline-flex}.catalog-state .spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.catalog-empty{place-items:center;gap:var(--space-sm);border:var(--rule-hairline) dashed var(--color-border);border-radius:var(--radius-panel);background:var(--color-bg-subtle);padding:var(--space-lg);color:var(--color-text-muted);text-align:center;display:grid}.catalog-empty__reset{border:var(--rule-hairline) solid var(--color-border-strong);border-radius:var(--radius-round);background:var(--color-bg-surface);font-weight:700;font-size:var(--text-sm);padding:6px 12px}.browse{gap:var(--space-md);min-width:0;display:grid}.browse-head{justify-content:space-between;align-items:center;gap:var(--space-sm);min-width:0;border-block-end:var(--rule-hairline) solid var(--color-border);flex-wrap:wrap;padding-block-end:var(--space-sm);display:flex}.browse-head__left{align-items:center;gap:var(--space-xs);flex-wrap:wrap;min-width:0;display:flex}.browse-head__icon{border-radius:var(--radius-round);background:var(--color-bg-subtle);width:1.65rem;height:1.65rem;color:var(--color-text-muted);border:var(--rule-hairline) solid var(--color-border);flex:none;place-items:center;display:inline-grid}.browse-head__title{font-family:var(--font-display);letter-spacing:-.03em;font-weight:800;font-size:var(--text-lg);color:var(--color-text-primary);margin:0;line-height:1}.browse-head__hint{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600}.browse-head__count{min-height:1.5rem;padding:0 var(--space-xs);border-radius:var(--radius-round);background:var(--color-bg-subtle);border:var(--rule-hairline) solid var(--color-border);color:var(--color-text-secondary);font-family:var(--font-outlier);letter-spacing:.02em;align-items:center;font-size:.7rem;font-weight:800;display:inline-flex}.browse-clear{min-height:2rem;padding:0 var(--space-sm);border-radius:var(--radius-round);border:var(--rule-hairline) solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--text-xs);white-space:nowrap;align-items:center;gap:2px;font-weight:700;display:inline-flex}.browse-clear__all{color:var(--color-text-primary)}.browse-clear:hover{border-color:var(--color-border-strong);color:var(--color-text-primary)}.browse-toolbar{gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-bg-surface);min-width:0;display:grid}.browse-row{align-items:center;gap:var(--space-sm);flex-wrap:wrap;min-width:0;display:flex}.browse-row__label{min-width:3rem;color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;flex:none;font-weight:800}.browse-row__scroll{gap:var(--space-2xs);flex-wrap:wrap;flex:1;align-items:center;min-width:0;display:flex}.browse-row__empty{color:var(--color-text-muted);font-size:var(--text-sm)}.browse-chip{min-height:2rem;padding:0 var(--space-sm);border-radius:var(--radius-round);border:var(--rule-hairline) solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--text-sm);white-space:nowrap;transition:background .15s var(--ease-out), color .15s var(--ease-out), border-color .15s var(--ease-out);align-items:center;font-weight:650;display:inline-flex}.browse-chip:hover{border-color:var(--color-border-strong);color:var(--color-text-primary)}.browse-chip[data-active=true]{background:var(--color-text-primary);color:var(--color-bg-surface);border-color:var(--color-text-primary)}.browse-chip:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.browse-seg{border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-round);background:var(--color-bg-subtle);flex-wrap:wrap;align-items:center;gap:0;padding:2px;display:inline-flex}.browse-seg__btn{border-radius:var(--radius-round);min-width:2.2rem;min-height:1.75rem;color:var(--color-text-secondary);font-family:var(--font-outlier);font-size:var(--text-xs);letter-spacing:.02em;white-space:nowrap;background:0 0;border:0;padding:0 10px;font-weight:800}.browse-seg__btn:hover{color:var(--color-text-primary)}.browse-seg__btn[data-active=true]{background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:0 1px 2px color-mix(in oklch, var(--color-ink) 10%, transparent);border:var(--rule-hairline) solid var(--color-border)}.browse-seg__btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.browse-row__legend{color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap;font-weight:600}.browse-active{align-items:center;gap:var(--space-xs);min-width:0;border-block-start:var(--rule-hairline) solid var(--color-border);margin-block-start:2px;padding-block-start:var(--space-2xs);display:flex}.browse-active__dot{background:var(--color-accent);border-radius:999px;flex:none;width:6px;height:6px}.browse-active__text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:600;overflow:hidden}.browse-state{align-items:center;gap:var(--space-xs);color:var(--color-text-muted);font-size:var(--text-sm);margin:0;display:inline-flex}.browse-state .spin{animation:.8s linear infinite spin}.browse-empty{place-items:center;gap:var(--space-xs);text-align:center;padding:var(--space-xl) var(--space-md);border:var(--rule-hairline) dashed var(--color-border);border-radius:var(--radius-panel);background:var(--color-bg-subtle);display:grid}.browse-empty__icon{border-radius:var(--radius-round);background:var(--color-bg-surface);border:var(--rule-hairline) solid var(--color-border);width:2.5rem;height:2.5rem;color:var(--color-text-muted);place-items:center;display:inline-grid}.browse-empty__title{font-weight:750;font-size:var(--text-sm);color:var(--color-text-primary);margin:0}.browse-empty__sub{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.browse-empty__reset{min-height:2.25rem;padding:0 var(--space-md);border-radius:var(--radius-round);border:var(--rule-hairline) solid var(--color-border-strong);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--text-sm);margin-block-start:var(--space-xs);font-weight:750}.browse-grid{gap:var(--space-md);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:640px){.browse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.browse-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.browse-card{gap:var(--space-sm);min-width:0;padding:var(--space-md);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-bg-surface);color:inherit;transition:border-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);flex-direction:column;text-decoration:none;display:flex}.browse-card:hover{border-color:var(--color-border-strong);transform:translateY(-1px)}.browse-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.browse-card__top{gap:var(--space-2xs);flex:1;align-content:start;min-width:0;display:grid}.browse-card__title{font-family:var(--font-display);letter-spacing:-.025em;font-weight:800;font-size:var(--text-base);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;margin:0;line-height:1.25;display:-webkit-box;overflow:hidden}.browse-card__summary{color:var(--color-text-secondary);font-size:var(--text-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;margin:0;line-height:1.5;display:-webkit-box;overflow:hidden}.browse-card__summary--empty{color:var(--color-text-muted);font-style:italic}.browse-card__videos{gap:var(--space-2xs);flex-wrap:wrap;align-items:center;min-width:0;display:flex}.browse-card__video{border-radius:var(--radius-round);background:var(--color-bg-subtle);border:var(--rule-hairline) solid var(--color-border);max-width:100%;min-height:1.5rem;font-size:var(--text-xs);align-items:center;gap:6px;min-width:0;padding:2px 8px 2px 4px;display:inline-flex}.browse-card__level{border-radius:var(--radius-round);background:var(--color-bg-surface);border:var(--rule-hairline) solid var(--color-border);min-width:1.35rem;height:1.2rem;font-family:var(--font-outlier);letter-spacing:.02em;color:var(--color-text-primary);flex:none;place-items:center;padding:0 4px;font-size:10px;font-weight:800;display:inline-grid}.browse-card__level[data-muted=true]{color:var(--color-text-muted);background:0 0;border-color:#0000}.browse-card__video-title{text-overflow:ellipsis;white-space:nowrap;max-width:8rem;color:var(--color-text-secondary);font-weight:600;overflow:hidden}.browse-card__more{border-radius:var(--radius-round);background:var(--color-bg-surface);border:var(--rule-hairline) dashed var(--color-border);min-height:1.5rem;color:var(--color-text-muted);font-size:var(--text-xs);align-items:center;padding:0 8px;font-weight:700;display:inline-flex}.browse-card__more--muted{background:0 0;border-style:solid}.browse-card__foot{justify-content:space-between;align-items:center;gap:var(--space-sm);min-width:0;border-block-start:var(--rule-hairline) solid var(--color-border);margin-block-start:auto;padding-block-start:var(--space-2xs);display:flex}.browse-card__meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-muted);font-size:var(--text-xs);align-items:center;gap:6px;font-weight:600;display:inline-flex;overflow:hidden}.browse-card__meta-dot{background:var(--color-border-strong);border-radius:999px;flex:none;width:6px;height:6px}.browse-card__cta{border-radius:var(--radius-round);background:var(--color-text-primary);width:1.65rem;height:1.65rem;color:var(--color-bg-surface);font-size:var(--text-xs);opacity:.9;transition:transform var(--dur-micro) var(--ease-out);flex:none;place-items:center;font-weight:800;display:inline-grid}.browse-card:hover .browse-card__cta{transform:translate(2px)}@media (max-width:640px){.browse-toolbar{padding:var(--space-sm)}.browse-row{gap:var(--space-xs)}.browse-row__scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-block-end:2px;overflow:auto hidden}.browse-row__scroll::-webkit-scrollbar{display:none}.browse-card__video-title{max-width:6.5rem}}.browse--v6{gap:var(--space-md);min-width:0;display:grid}.browse-v6-head{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;min-width:0;display:flex}.browse-v6-head__left{min-width:0}.browse-v6-title-row{align-items:center;gap:var(--space-xs);min-width:0;display:flex}.browse-v6__title{font-family:var(--font-display);letter-spacing:-.03em;font-weight:800;font-size:var(--text-lg);color:var(--color-text-primary);margin:0;line-height:1}.browse-v6-count{min-width:1.75rem;min-height:1.5rem;padding-inline:var(--space-2xs);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-round);background:var(--color-bg-subtle);color:var(--color-text-secondary);font-family:var(--font-outlier);font-size:var(--text-xs);place-items:center;font-weight:800;display:inline-grid}.browse-v6-search{align-items:center;gap:var(--space-xs);min-width:14rem;max-width:22rem;min-height:2.5rem;padding:0 var(--space-sm);border-radius:var(--radius-round);border:var(--rule-hairline) solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-muted);flex:1;display:flex}.browse-v6-search input{min-width:0;color:var(--color-text-primary);font-size:var(--text-sm);background:0 0;border:0;outline:0;flex:1}.browse-v6-search input::placeholder{color:var(--color-text-muted)}.browse-v6-search__clear{color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:2px 4px}.browse-v6-toolbar{gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-bg-surface);min-width:0;display:grid}.browse-v6-filter-group,.browse-v6-topic-group{gap:var(--space-2xs);min-width:0;display:grid}.browse-v6-filter-label{color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;padding-block:.15rem;font-weight:800}.browse-v6-hint{color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap;font-weight:600}.browse-v6-seg{border-radius:var(--radius-round);background:var(--color-bg-subtle);border:var(--rule-hairline) solid var(--color-border);flex-wrap:wrap;gap:2px;width:fit-content;max-width:100%;padding:2px;display:inline-flex}.browse-v6-seg__btn{border-radius:var(--radius-round);min-height:1.75rem;color:var(--color-text-secondary);font-family:var(--font-body);font-size:var(--text-xs);white-space:nowrap;background:0 0;border:0;padding:0 12px;font-weight:700}.browse-v6-seg__btn[data-active=true]{background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:0 1px 2px color-mix(in oklch, var(--color-ink) 10%, transparent);border:var(--rule-hairline) solid var(--color-border)}.browse-v6-seg__btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.browse-v6-topics{gap:var(--space-2xs);flex-wrap:wrap;min-width:0;display:flex}.browse-v6-topic{min-height:2.15rem;padding:0 var(--space-sm);border-radius:var(--radius-round);border:var(--rule-hairline) solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--text-xs);white-space:nowrap;align-items:center;font-weight:700;display:inline-flex}.browse-v6-topic[data-active=true]{background:var(--color-text-primary);color:var(--color-bg-surface);border-color:var(--color-text-primary)}.browse-v6-active{align-items:center;gap:var(--space-xs);min-width:0;border-block-start:var(--rule-hairline) solid var(--color-border);flex-wrap:wrap;padding-block-start:var(--space-2xs);display:flex}.browse-v6-active__dot{background:var(--color-accent);border-radius:999px;flex:none;width:6px;height:6px}.browse-v6-active__text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-secondary);font-size:var(--text-xs);flex:1;font-weight:600;overflow:hidden}.browse-v6-clear{color:var(--color-text-primary);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;background:0 0;border:0;font-weight:800}.browse-v6-grid{gap:var(--space-md);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:640px){.browse-v6-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.browse-v6-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.browse-v6-card{gap:var(--space-xs);min-width:0;padding:var(--space-md);padding-top:calc(var(--space-md) + 4px);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-bg-surface);color:inherit;transition:border-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:clip}.browse-v6-card:hover{border-color:var(--color-border-strong);transform:translateY(-1px)}.browse-v6-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.browse-v6-card__top{background:var(--color-accent);height:4px;position:absolute;inset:0 0 auto}.browse-v6-card[data-topic=AI] .browse-v6-card__top{background:var(--color-info-strong)}.browse-v6-card[data-topic=TEDx] .browse-v6-card__top{background:var(--color-status-error)}.browse-v6-card[data-topic=News] .browse-v6-card__top{background:var(--color-status-success)}.browse-v6-card__title{font-family:var(--font-display);letter-spacing:-.025em;font-weight:800;font-size:var(--text-sm);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;margin:0;line-height:1.25;display:-webkit-box;overflow:hidden}.browse-v6-card__summary{color:var(--color-text-secondary);font-size:var(--text-xs);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;margin:0;line-height:1.5;display:-webkit-box;overflow:hidden}.browse-v6-card__summary--empty{color:var(--color-text-muted);font-style:italic}.browse-v6-card__videos{gap:var(--space-2xs);flex-wrap:wrap;align-items:center;min-width:0;display:flex}.browse-v6-mini{border-radius:var(--radius-round);background:var(--color-bg-subtle);border:var(--rule-hairline) solid var(--color-border);max-width:100%;min-height:1.4rem;font-size:var(--text-xs);align-items:center;gap:6px;min-width:0;padding:2px 7px 2px 4px;display:inline-flex}.browse-v6-mini__level{border-radius:var(--radius-round);background:var(--color-bg-surface);border:var(--rule-hairline) solid var(--color-border);min-width:1.3rem;height:1.15rem;font-family:var(--font-outlier);color:var(--color-text-primary);flex:none;place-items:center;padding:0 4px;font-size:10px;font-weight:800;display:inline-grid}.browse-v6-mini__level[data-muted=true]{color:var(--color-text-muted);background:0 0;border-color:#0000}.browse-v6-mini__title{text-overflow:ellipsis;white-space:nowrap;max-width:7.5rem;color:var(--color-text-secondary);font-weight:600;overflow:hidden}.browse-v6-mini--more{background:var(--color-bg-surface);color:var(--color-text-muted);border-style:dashed;font-weight:700}.browse-v6-card__foot{justify-content:space-between;align-items:center;gap:var(--space-sm);min-width:0;border-block-start:var(--rule-hairline) solid var(--color-border);margin-block-start:auto;padding-block-start:var(--space-2xs);display:flex}.browse-v6-card__meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-muted);align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex;overflow:hidden}.browse-v6-card__pill{border-radius:var(--radius-round);background:var(--color-bg-subtle);border:var(--rule-hairline) solid var(--color-border);color:var(--color-text-secondary);padding:2px 7px;font-size:10px;font-weight:800}.browse-v6-card__cta{color:var(--color-text-primary);white-space:nowrap;font-size:11px;font-weight:800}.browse-v6-load-more{justify-content:center;padding-block-start:var(--space-xs);display:flex}.browse-v6-load-more__button{justify-content:center;align-items:center;gap:var(--space-xs);min-height:2.5rem;padding-inline:var(--space-lg);border:var(--rule-hairline) solid var(--color-border-strong);border-radius:var(--radius-round);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:800;display:inline-flex}.browse-v6-load-more__button:hover{border-color:var(--color-text-primary);background:var(--color-bg-subtle)}.browse-v6-load-more__button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.browse-v6-load-more__button:disabled{cursor:wait;opacity:.7}@media (max-width:640px){.browse-v6-head{flex-direction:column;align-items:stretch}.browse-v6-search{max-width:none}.browse-v6-filter-label{padding-block:0}.browse-v6-topics{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-block-end:2px;overflow:auto hidden}.browse-v6-topics::-webkit-scrollbar{display:none}}.sign-in-dialog{z-index:60;padding:var(--page-gutter);background:color-mix(in srgb, var(--color-bg-surface) 72%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-items:center;display:grid;position:fixed;inset:0}.sign-in-dialog__card{background:var(--color-bg-surface);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-shell);width:min(100%,24rem);box-shadow:var(--shadow-card);padding:var(--space-lg);gap:var(--space-md);display:grid}.sign-in-dialog__header{gap:var(--space-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;display:grid}.sign-in-dialog__icon{color:var(--color-action);margin-top:2px}.sign-in-dialog__title{font-family:var(--font-display);letter-spacing:-.02em;font-weight:800;font-size:var(--text-lg);margin:0;line-height:1.2}.sign-in-dialog__body{margin:var(--space-2xs) 0 0;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.5}.sign-in-dialog__close{appearance:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-round);background:0 0;border:0;padding:4px;line-height:0}.sign-in-dialog__close:hover,.sign-in-dialog__close:focus-visible{color:var(--color-text-primary);outline:2px solid var(--color-focus);outline-offset:2px}.sign-in-dialog__actions{gap:var(--space-sm);flex-wrap:wrap;justify-content:flex-end;display:flex}.sign-in-dialog__cta{text-decoration:none}.series-page{width:min(100%, var(--page-max));padding:var(--space-lg) var(--page-gutter) var(--space-2xl);gap:var(--space-lg);min-width:0;margin-inline:auto;display:grid}.series-back{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:700;text-decoration:none}.series-hero{gap:var(--space-md);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-shell);background:var(--color-bg-surface);padding:var(--space-lg);box-shadow:var(--shadow-card);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:768px){.series-hero{grid-template-columns:minmax(0,1fr) 18rem;align-items:center}}.series-hero__title{font-family:var(--font-display);letter-spacing:-.04em;overflow-wrap:anywhere;min-width:0;margin:0;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;line-height:1.1}.series-hero__summary{color:var(--color-text-secondary);margin:0;line-height:1.5}.series-hero__summary--empty{color:var(--color-text-muted)}.series-preview-badge{width:max-content;min-height:1.5rem;padding:0 var(--space-xs);border:var(--rule-hairline) solid var(--color-border-strong);border-radius:var(--radius-round);background:var(--color-action-soft);color:var(--color-text-secondary);font-size:var(--text-xs);align-items:center;font-weight:800;display:inline-flex}.series-hero__meta{gap:var(--space-xs);flex-wrap:wrap;align-items:center;display:flex}.series-hero__pill{min-height:1.9rem;padding:0 var(--space-sm);border-radius:var(--radius-round);background:var(--color-text-primary);color:var(--color-bg-surface);font-size:var(--text-xs);align-items:center;font-weight:800;display:inline-flex}.series-chip{border:var(--rule-hairline) solid var(--color-border);background:var(--color-bg-subtle);border-radius:var(--radius-round);font-size:var(--text-xs);padding:2px 8px;font-weight:700}.series-hero__cover{object-fit:cover;border-radius:var(--radius-panel);border:var(--rule-hairline) solid var(--color-border);width:100%;height:12rem}.series-list{gap:var(--space-sm);margin:0;padding:0;list-style:none;display:grid}.series-item{gap:var(--space-sm);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-bg-surface);padding:var(--space-sm);grid-template-columns:2rem 3.5rem minmax(0,1fr) auto;align-items:center;min-width:0;display:grid}@media (max-width:414px){.series-item{grid-template-columns:2rem minmax(0,1fr) auto}.series-item__thumb{display:none}}.series-item__pos{border-radius:var(--radius-round);background:var(--color-bg-subtle);border:var(--rule-hairline) solid var(--color-border);width:2rem;height:2rem;font-family:var(--font-outlier);font-weight:800;font-size:var(--text-xs);place-items:center;display:grid}.series-item__thumb{object-fit:cover;border:var(--rule-hairline) solid var(--color-border);background:var(--color-bg-subtle);border-radius:8px;width:3.5rem;height:2.2rem}.series-item__thumb--ph{font-size:var(--text-xs);color:var(--color-text-muted);place-items:center;display:grid}.series-item__main{gap:2px;min-width:0;display:grid}.series-item__title{font-weight:700;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.3;overflow:hidden}.series-item__sub{font-size:var(--text-xs);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.series-level{color:var(--color-text-secondary);font-weight:700}.series-level--muted{color:var(--color-text-muted)}.series-item__cta{min-height:2.25rem;padding:0 var(--space-md);border-radius:var(--radius-round);background:var(--color-accent);color:var(--color-on-action);font-weight:800;font-size:var(--text-sm);white-space:nowrap;border:var(--rule-hairline) solid var(--color-accent-deep);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.series-item__cta--preview{background:var(--color-bg-subtle);border-color:var(--color-border);color:var(--color-text-muted)}.series-empty{border:var(--rule-hairline) dashed var(--color-border);border-radius:var(--radius-panel);padding:var(--space-lg);text-align:center;color:var(--color-text-muted)}@media (max-width:768px){.home-stack{gap:var(--space-lg)}}.app-topbar__inner{align-items:center;gap:var(--space-sm);grid-template-columns:auto 1fr auto;min-width:0;display:grid}.topbar-nav{gap:var(--space-xs);scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:center;min-width:0;display:flex;overflow:auto hidden}.topbar-nav::-webkit-scrollbar{display:none}.topbar-link{min-height:2.75rem;padding:0 var(--space-sm);border-radius:var(--radius-round);border:var(--rule-hairline) solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--text-sm);white-space:nowrap;flex-shrink:0;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.topbar-link--accent{background:var(--color-accent);color:var(--color-on-action);border-color:var(--color-accent-deep)}@media (max-width:640px){.app-topbar__inner{gap:var(--space-xs);padding-inline:var(--space-sm)}.wordmark span:last-child{font-size:var(--text-sm)}.topbar-actions{gap:var(--space-2xs);flex-shrink:0}}.dictionary-popover__header-actions{gap:var(--space-xs);flex-wrap:wrap;align-items:center;display:flex}.dictionary-popover__save{min-height:2.25rem;padding:0 var(--space-sm);border-radius:var(--radius-round);border:var(--rule-hairline) solid var(--color-border-strong);background:var(--color-accent-paper);color:var(--color-text-primary);font-size:var(--text-sm);align-items:center;gap:6px;font-weight:800;display:inline-flex}.dictionary-popover__save[data-state=saved]{background:var(--color-status-success-soft);border-color:var(--color-status-success)}.dictionary-popover__save:disabled{opacity:.7;cursor:default}.vocab-page,.review-page{width:min(100%, var(--page-max));padding:var(--space-lg) var(--page-gutter) var(--space-2xl);gap:var(--space-lg);min-width:0;margin-inline:auto;display:grid}.vocab-hero,.review-hero{gap:var(--space-md);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-shell);background:var(--color-bg-surface);padding:var(--space-lg);box-shadow:var(--shadow-card);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.vocab-hero__title,.review-hero h1{gap:var(--space-sm);font-family:var(--font-display);letter-spacing:-.03em;overflow-wrap:anywhere;align-items:center;min-width:0;margin:0;font-size:clamp(1.3rem,3.5vw,1.6rem);font-weight:800;display:flex}.vocab-hero__sub{margin:var(--space-2xs) 0 0;color:var(--color-text-secondary);font-size:var(--text-sm);max-width:56ch;line-height:1.5}.vocab-hero__cta,.review-hero__link,.review-empty__cta{min-height:2.5rem;padding:0 var(--space-md);border-radius:var(--radius-round);background:var(--color-accent);color:var(--color-on-action);border:var(--rule-hairline) solid var(--color-accent-deep);font-weight:800;font-size:var(--text-sm);white-space:nowrap;box-shadow:var(--shadow-button);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.vocab-tabs{gap:var(--space-xs);flex-wrap:wrap;align-items:center;display:flex}.vocab-tab{min-height:2.25rem;padding:0 var(--space-md);border-radius:var(--radius-round);border:var(--rule-hairline) solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-secondary);font-weight:700;font-size:var(--text-sm)}.vocab-tab[data-active=true]{background:var(--color-text-primary);color:var(--color-bg-surface);border-color:var(--color-text-primary)}.vocab-tab--link{align-items:center;gap:6px;text-decoration:none;display:inline-flex}.vocab-msg,.review-msg{color:var(--color-status-success);font-size:var(--text-sm);gap:var(--space-xs);align-items:center;margin:0;font-weight:700;display:flex}.vocab-state,.vocab-empty,.review-empty{place-items:center;gap:var(--space-sm);border:var(--rule-hairline) dashed var(--color-border);border-radius:var(--radius-panel);background:var(--color-bg-subtle);padding:var(--space-xl);text-align:center;color:var(--color-text-muted);display:grid}.vocab-list{gap:var(--space-sm);margin:0;padding:0;list-style:none;display:grid}.vocab-card{gap:var(--space-sm);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-bg-surface);padding:var(--space-md);min-width:0;box-shadow:var(--shadow-card);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}@media (max-width:640px){.vocab-card{grid-template-columns:minmax(0,1fr)}.vocab-card__actions{justify-self:start}}.vocab-card__term{font-weight:800;font-size:var(--text-md);overflow-wrap:anywhere;min-width:0;margin:0}.vocab-card__norm{color:var(--color-text-muted);font-weight:600;font-size:var(--text-sm)}.vocab-card__ipa{color:var(--color-text-secondary);font-family:var(--font-outlier);font-size:var(--text-sm);margin:2px 0 0}.vocab-card__src{margin:var(--space-xs) 0 0;color:var(--color-text-secondary);font-size:var(--text-sm);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:0;line-height:1.5;display:-webkit-box;overflow:hidden}.vocab-card__meta{margin:var(--space-2xs) 0 0;color:var(--color-text-muted);font-size:var(--text-xs)}.vocab-card__actions{gap:var(--space-xs);flex-wrap:wrap;display:flex}.vocab-btn{min-height:2.2rem;padding:0 var(--space-sm);border-radius:var(--radius-round);border:var(--rule-hairline) solid var(--color-border);background:var(--color-bg-subtle);font-weight:700;font-size:var(--text-sm);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.vocab-btn--ghost{background:var(--color-bg-surface)}.vocab-btn--danger{background:var(--color-status-error-soft);border-color:var(--color-status-error);color:var(--color-status-error)}.vocab-foot{color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;margin:0}.review-hero__count{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:700}.flashcard{gap:var(--space-md);width:100%;max-width:36rem;margin-inline:auto;display:grid}.flashcard__card{text-align:left;border:calc(var(--rule-hairline)*2) solid var(--color-border-strong);border-radius:var(--radius-shell);background:var(--color-bg-surface);width:100%;min-height:14rem;box-shadow:var(--shadow-card);padding:var(--space-lg);gap:var(--space-md);cursor:pointer;align-content:center;display:grid}.flashcard__term{font-family:var(--font-display);letter-spacing:-.03em;overflow-wrap:anywhere;min-width:0;margin:0;font-size:clamp(1.8rem,6vw,2.4rem);font-weight:800;line-height:1.1}.flashcard__ipa{color:var(--color-text-secondary);font-family:var(--font-outlier);font-size:var(--text-sm);margin:0}.flashcard__hint{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700}.flashcard__back{border-top:var(--rule-hairline) solid var(--color-border);padding-top:var(--space-md);gap:var(--space-sm);display:grid}.flashcard__def{color:var(--color-text-primary);align-items:center;gap:6px;margin:0;font-weight:700;display:flex}.flashcard__src{color:var(--color-text-secondary);font-size:var(--text-sm);overflow-wrap:anywhere;min-width:0;margin:0;line-height:1.5}.flashcard__src--muted{color:var(--color-text-muted)}.flashcard__play{min-height:2rem;padding:0 var(--space-sm);border-radius:var(--radius-round);border:var(--rule-hairline) solid var(--color-border);background:var(--color-bg-subtle);font-size:var(--text-sm);cursor:pointer;align-items:center;gap:6px;width:fit-content;font-weight:700;display:inline-flex}.flashcard__actions{gap:var(--space-sm);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (max-width:414px){.flashcard__actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.flashcard__rate{border-radius:var(--radius-panel);border:var(--rule-hairline) solid var(--color-border);background:var(--color-bg-surface);min-height:3.5rem;padding:var(--space-xs);place-items:center;gap:2px;font-weight:800;display:grid}.flashcard__rate[data-tone=again]{background:var(--color-status-error-soft);border-color:var(--color-status-error)}.flashcard__rate[data-tone=hard]{background:var(--color-warning-paper);border-color:var(--color-warning)}.flashcard__rate[data-tone=good]{background:var(--color-status-success-soft);border-color:var(--color-status-success)}.flashcard__rate[data-tone=easy]{background:var(--color-info-soft);border-color:var(--color-info-strong)}.flashcard__rate:disabled{opacity:.45}.flashcard__rate-label{font-size:var(--text-sm)}.flashcard__rate-sub{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600}.flashcard__nudge{color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;margin:0}.review-bar{background:var(--color-border);border-radius:999px;width:100%;max-width:36rem;height:6px;margin-inline:auto;overflow:hidden}.review-bar__fill{background:var(--color-accent);height:100%;transition:width .2s var(--ease-out)}.review-progress{text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);margin:0;font-weight:700}.review-empty__sub{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}.review-modes{gap:var(--space-xs);flex-wrap:wrap;width:100%;max-width:36rem;margin-inline:auto;display:flex}.review-mode{min-height:2.35rem;padding:0 var(--space-md);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-round);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--text-sm);white-space:nowrap;font-weight:750}.review-mode[data-active=true]{border-color:var(--color-text-primary);background:var(--color-text-primary);color:var(--color-bg-surface)}.review-mode:disabled{opacity:.48;cursor:not-allowed}.review-card-stage{width:100%;max-width:36rem;margin-inline:auto}.review-card__prompt{gap:var(--space-sm);border:calc(var(--rule-hairline) * 2) solid var(--color-border-strong);border-radius:var(--radius-shell);background:var(--color-bg-surface);min-height:18rem;box-shadow:var(--shadow-card);padding:var(--space-xl) var(--space-lg);align-content:center;display:grid}.review-card__eyebrow{color:var(--color-text-muted);font-family:var(--font-outlier);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;margin:0;font-weight:800}.review-card__meaning{color:var(--color-text-primary);font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:clamp(1.2rem,3vw,1.55rem);font-weight:800;line-height:1.25}.review-card__sound{min-height:2.25rem;padding:0 var(--space-sm);border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-round);background:var(--color-bg-subtle);color:var(--color-text-secondary);font-size:var(--text-sm);justify-self:start;align-items:center;gap:6px;font-weight:750;display:inline-flex}.review-card__contexts{gap:var(--space-xs);border-inline-start:3px solid var(--color-accent);padding-inline-start:var(--space-md);display:grid}.review-card__contexts p{color:var(--color-text-secondary);font-size:var(--text-sm);overflow-wrap:anywhere;margin:0;line-height:1.5}.review-card__muted{color:var(--color-text-muted);font-size:var(--text-sm);align-items:center;gap:6px;margin:0;line-height:1.45;display:flex}.review-card__reveal{min-height:2.5rem;padding:0 var(--space-md);border:var(--rule-hairline) solid var(--color-border-strong);border-radius:var(--radius-round);background:var(--color-accent);color:var(--color-on-action);font-size:var(--text-sm);justify-self:start;font-weight:800}.review-card__answer{align-items:baseline;gap:var(--space-sm);border-block-start:var(--rule-hairline) solid var(--color-border);padding-block-start:var(--space-md);display:flex}.review-card__answer strong{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.03em}.review-card__answer span{color:var(--color-text-secondary);font-family:var(--font-outlier);font-size:var(--text-sm)}.review-card__recall{gap:var(--space-xs);display:grid}.review-card__recall label{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:750}.review-card__input-row{gap:var(--space-xs);grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.review-card__input-row input{border:var(--rule-hairline) solid var(--color-border-strong);border-radius:var(--radius-input);background:var(--color-bg-surface);min-width:0;min-height:2.75rem;color:var(--color-text-primary);padding-inline:var(--space-md);font:inherit;font-size:var(--text-base);outline:2px solid #0000}.review-card__input-row input:focus-visible{outline-color:var(--color-focus)}.review-card__input-row button{min-height:2.75rem;padding:0 var(--space-md);border:var(--rule-hairline) solid var(--color-accent-deep);border-radius:var(--radius-round);background:var(--color-accent);color:var(--color-on-action);white-space:nowrap;font-weight:800}.review-card__input-row button:disabled{opacity:.5;cursor:not-allowed}.review-card__choices{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.review-card__choices button{border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-bg-surface);min-width:0;min-height:3rem;color:var(--color-text-primary);padding:var(--space-sm);font-size:var(--text-sm);overflow-wrap:anywhere;font-weight:750}.review-card__choices button[data-correct=true]{border-color:var(--color-status-success);background:var(--color-status-success-soft)}.review-card__choices button[data-wrong=true]{border-color:var(--color-status-error);background:var(--color-status-error-soft)}.review-card__choices button:disabled{cursor:default}.review-answer{font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-weight:750;display:flex}.review-answer--correct{color:var(--color-status-success)}.review-answer--wrong{color:var(--color-status-error)}@media (max-width:414px){.review-card__prompt{padding:var(--space-lg) var(--space-md)}.review-card__choices,.review-card__input-row{grid-template-columns:minmax(0,1fr)}.review-card__input-row button{width:100%}}.catalog-wrap{width:min(100%, var(--page-max));padding:var(--space-lg) var(--page-gutter) var(--space-3xl);border-block-start:var(--rule-hairline) solid var(--color-rule);margin-inline:auto}.catalog-wrap .catalog-stack{gap:var(--space-2xl)}.workspace-panel--source .panel-heading{margin-block-end:var(--space-sm)}.workspace-panel--source .panel-title{font-size:var(--text-lg)}@media (max-width:768px){.catalog-wrap{padding-block-start:var(--space-lg)}}.topbar-nav--tabs{gap:var(--space-2xs);flex-wrap:nowrap;justify-self:center;max-width:100%}.topbar-tab{min-height:2.75rem;padding:0 var(--space-md);border-radius:var(--radius-round);border:var(--rule-hairline) solid transparent;color:var(--color-text-secondary);font-size:var(--text-sm);letter-spacing:-.01em;white-space:nowrap;touch-action:manipulation;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);align-items:center;font-weight:800;text-decoration:none;display:inline-flex}.topbar-tab:hover:not([aria-current=page]){background:var(--color-bg-subtle);color:var(--color-text-primary)}.topbar-tab[aria-current=page]{background:var(--color-text-primary);color:var(--color-bg-surface);border-color:var(--color-text-primary)}.topbar-tab:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.paste-bar{justify-items:center;gap:var(--space-sm);padding-block:var(--space-2xl) var(--space-xl);display:grid}.paste-bar__title{color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.025em;overflow-wrap:anywhere;text-align:center;margin:0;font-style:normal;font-weight:800;line-height:1.15}.paste-bar .youtube-source{width:min(100%,40rem)}@media (max-width:40rem){.paste-bar{padding-block:var(--space-xl) var(--space-lg)}.paste-bar__title{font-size:var(--text-lg)}}.workspace-reveal{animation:reveal-down var(--dur-long) var(--ease-out) both}@keyframes reveal-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.workspace-reveal{animation:.15s linear both reveal-fade}}@media (max-width:40rem){input,textarea,select{font-size:max(16px, var(--text-sm))}.workspace,.home-stack,.vocab-page,.review-page,.series-page{padding-bottom:calc(var(--space-2xl) + env(safe-area-inset-bottom))}.catalog-wrap{padding-inline:var(--space-md)}.catalog-head--filters{min-width:0;overflow-x:clip}}@media (max-width:23.5rem){.app-topbar__inner{padding-inline:var(--space-sm)}.wordmark{gap:var(--space-2xs)}.wordmark span:last-child{font-size:var(--text-sm)}}@media (max-width:20rem){.catalog-rail__card{flex-basis:10rem}}
