:root{--color-bg:#f7f8f6;--color-surface:#fff;--color-surface-soft:#eef5f0;--color-text:#202426;--color-muted:#626a6d;--color-border:#dfe4e1;--color-green:#1c5b4c;--color-green-soft:#e9f1ed;--color-amber:#c89322;--color-amber-soft:#f5edda;--color-red:#d64332;--color-red-soft:#f8e7e4;--radius-sm:8px;--shadow-soft:0 18px 44px #1f2a2614;--bg:var(--color-bg);--panel:var(--color-surface);--text:var(--color-text);--muted:var(--color-muted);--border:var(--color-border);--accent:var(--color-green);--accent-soft:var(--color-green-soft);--shadow:var(--shadow-soft);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit}button,input,textarea,select{font:inherit}h1,p{margin:0}h1{max-width:720px;font-size:clamp(2rem,5vw,3.25rem);line-height:1.05}#root{min-height:100vh}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{border-bottom:1px solid var(--border);background:var(--panel)}.app-header__inner{justify-content:space-between;align-items:center;gap:20px;width:min(100%,1040px);min-height:58px;margin:0 auto;padding-right:20px;display:flex}.app-header__account{color:var(--muted);align-items:center;gap:12px;font-size:.84rem;font-weight:700;display:flex}.app-header__account>span:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:min(38vw,260px);overflow:hidden}.app-header__account button,.app-header__account-link{border:1px solid var(--border);background:var(--panel);min-height:36px;color:var(--accent);cursor:pointer;font:inherit;border-radius:999px;justify-content:center;align-items:center;padding:7px 13px;font-weight:800;text-decoration:none;display:inline-flex}.app-header__account button:hover,.app-header__account button:focus-visible,.app-header__account-link:hover,.app-header__account-link:focus-visible{border-color:var(--accent);outline:none}.app-header__account button:disabled{cursor:wait;opacity:.6}.app-header__account-error{color:#8b2920}.brand-link{min-height:46px;color:var(--text);align-items:center;padding:0 20px;text-decoration:none;display:inline-flex}.brand-link__logo{object-fit:contain;flex:none;width:34px;height:34px}.app-main{width:min(100%,1040px);margin:0 auto;padding:72px 32px}.app-shell--dashboard .app-main{width:100%;padding:0}.app-main:has(>.scribe-setup){flex:1;width:100%;min-height:0;padding:0}.app-shell:has(.session-workspace) .app-header{display:none}.app-shell:has(.script-session) .app-header{display:none}.app-shell:has(.scribe-setup) .app-header{display:none}:is(.app-main:has(.app-route>.session-workspace),.app-main:has(.app-route>.script-session),.app-main:has(.app-route>.scribe-setup)){flex:1;width:100%;min-height:0;padding:0}:is(.app-route:has(>.session-workspace),.app-route:has(>.script-session),.app-route:has(>.scribe-setup)){height:100%;min-height:0}.page-stack{gap:24px;display:grid}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.page-header{gap:10px;display:grid}.page-title-with-flag{align-items:center;gap:14px;display:flex}.page-title-with-flag span{background:var(--accent-soft);border-radius:50%;flex:none;place-items:center;width:56px;height:56px;font-size:1.35rem;display:inline-grid}.language-selection{max-width:860px}.selection-panel{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);box-shadow:var(--shadow-soft);padding:14px}.selection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.selection-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);min-height:132px;color:var(--text);grid-template-columns:auto auto;justify-content:center;align-items:center;gap:18px;padding:28px 22px;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.selection-card:hover,.selection-card:focus-visible{border-color:color-mix(in srgb, var(--card-accent) 50%, var(--border));transform:translateY(-1px);box-shadow:0 16px 36px #1f2a261a}.selection-card:focus-visible{outline:3px solid var(--accent-soft);outline-offset:3px}.icon-badge{background:var(--card-accent-soft);width:58px;height:58px;color:var(--card-accent);border-radius:50%;place-items:center;font-size:1.75rem;font-weight:800;display:inline-grid}.selection-card__content{min-width:0;display:grid}.selection-card__label{color:var(--card-accent);font-size:1.65rem;font-weight:800;line-height:1.05}.session-navigation-page{max-width:1040px}.session-path-grid,.session-mode-grid,.item-set-grid{gap:12px;display:grid}.session-path-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.language-selection-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.language-selection-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);min-height:112px;color:var(--text);box-shadow:var(--shadow-soft);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:18px;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.language-selection-card:not(.language-selection-card--placeholder):hover,.language-selection-card:not(.language-selection-card--placeholder):focus-visible{border-color:color-mix(in srgb, var(--accent) 44%, var(--border));transform:translateY(-1px);box-shadow:0 18px 38px #0000001f}.language-selection-card:focus-visible{outline:3px solid var(--accent-soft);outline-offset:3px}.language-selection-card--placeholder,.item-set-card--placeholder{background:color-mix(in srgb, var(--panel) 72%, var(--color-surface-soft));box-shadow:none;opacity:.68}.language-selection-card__flag{font-size:2rem;line-height:1}.language-selection-card__copy{gap:5px;min-width:0;display:grid}.language-selection-card__copy strong{color:var(--accent);font-size:1.25rem;line-height:1.1}.language-selection-card__copy span{color:var(--muted);font-size:.86rem;font-weight:700}.session-mode-grid,.item-set-grid--featured{grid-template-columns:repeat(2,minmax(0,1fr))}.item-set-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.session-nav-section{gap:12px;display:grid}.session-nav-section h2{color:var(--text);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:1rem;font-weight:900}.session-path-card,.item-set-card,.session-mode-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);min-width:0;color:var(--text);box-shadow:var(--shadow-soft);gap:8px;padding:18px;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.session-path-card{align-content:space-between;min-height:146px}.item-set-card,.session-mode-card{align-content:start;min-height:138px}.session-path-card:hover,.session-path-card:focus-visible,.item-set-card:hover,.item-set-card:focus-visible,.session-mode-card:hover,.session-mode-card:focus-visible{border-color:color-mix(in srgb, var(--accent) 44%, var(--border));transform:translateY(-1px);box-shadow:0 18px 38px #0000001f}.session-path-card:focus-visible,.item-set-card:focus-visible,.session-mode-card:focus-visible,.session-flow-button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:3px}.session-path-card__eyebrow,.item-set-card__eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:900}.session-path-card__title,.item-set-card__title,.session-mode-card__title{color:var(--accent);font-size:1.25rem;font-weight:900;line-height:1.12}.session-path-card__title{font-size:1.5rem}.session-mode-card__icon{place-items:center;width:2.35rem;height:2.35rem;font-size:2rem;line-height:1;display:inline-grid}.item-set-card__description,.session-mode-card__body{color:var(--muted);font-size:.92rem;font-weight:700;line-height:1.4}.item-set-card--build{border-color:color-mix(in srgb, var(--color-amber) 40%, var(--border));background:color-mix(in srgb, var(--color-amber-soft) 42%, var(--panel))}.session-flow-actions,.custom-session-row__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.session-flow-actions{justify-content:flex-end}.session-flow-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);min-height:42px;color:var(--text);justify-content:center;align-items:center;padding:9px 13px;font-size:.9rem;font-weight:900;text-decoration:none;display:inline-flex}.session-flow-button:hover,.session-flow-button:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.session-flow-button--primary{border-color:var(--accent);background:var(--accent);color:var(--panel)}.session-flow-button--primary:hover,.session-flow-button--primary:focus-visible{border-color:color-mix(in srgb, var(--accent) 82%, #000);background:color-mix(in srgb, var(--accent) 92%, #000)}.session-flow-button:disabled{cursor:not-allowed;opacity:.54}.custom-builder-layout{grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:start;gap:18px;display:grid}.custom-builder-form,.custom-builder-summary,.custom-filter-section,.advanced-filter-panel,.nested-filter-panel{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel)}.custom-builder-form{gap:12px;padding:14px;display:grid}.custom-builder-summary{box-shadow:var(--shadow-soft);gap:14px;padding:16px;display:grid;position:sticky;top:18px}.custom-builder-summary h2,.custom-filter-section h2,.nested-filter-panel h3{color:var(--text);margin:0;font-size:.95rem;line-height:1.2}.custom-filter-section,.advanced-filter-panel{gap:12px;padding:14px;display:grid}.advanced-filter-panel summary,.nested-filter-panel summary{cursor:pointer;color:var(--text);font-weight:900}.nested-filter-panel{padding:12px;display:block}.nested-filter-panel[open]{gap:12px;display:grid}.filter-chip-grid,.phoneme-chip-grid{flex-wrap:wrap;gap:8px;display:flex}.phoneme-chip-grid{margin-top:8px}.checkbox-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);min-height:36px;color:var(--text);align-items:center;gap:7px;padding:7px 10px;font-size:.88rem;font-weight:850;display:inline-flex}.checkbox-chip:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.checkbox-chip input{accent-color:var(--accent)}.segmented-control{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:fit-content;display:inline-flex;overflow:hidden}.segmented-control--compact{min-height:34px}.segmented-control__button{border:0;border-right:1px solid var(--border);min-height:38px;color:var(--muted);font:inherit;background:0 0;padding:8px 12px;font-size:.86rem;font-weight:900}.segmented-control__button:last-child{border-right:0}.segmented-control__button[aria-pressed=true]{background:var(--accent);color:var(--panel)}.custom-number-input{max-width:220px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;gap:6px;font-size:.8rem;font-weight:900;display:grid}.custom-number-input input,.tag-input input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);min-height:40px;color:var(--text);font:inherit;padding:9px 11px}.tag-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;padding:6px;display:flex}.tag-input input{border-color:#0000;flex:170px;min-width:170px}.filter-tag{border:1px solid color-mix(in srgb, var(--accent) 34%, var(--border));border-radius:var(--radius-sm);background:var(--accent-soft);min-height:32px;color:var(--accent);padding:6px 10px;font-weight:900}.filter-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-option-group{gap:8px;display:grid}.filter-category-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:fit-content;min-height:34px;color:var(--text);padding:7px 10px;font-weight:900}.filter-category-button:hover,.filter-category-button:focus-visible{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.beta-dashboard{background:var(--bg);min-height:100vh}.beta-dashboard__hero{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--panel) 76%, var(--accent-soft))}.beta-dashboard__brand{align-items:center;gap:18px;width:min(100%,1040px);min-height:92px;margin:0 auto;padding:20px 32px;display:flex}.beta-dashboard__logo{object-fit:contain;border-radius:0;flex:none;width:50px;height:50px}.beta-dashboard__title-row{flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0;display:flex}.beta-dashboard__title-row h1{max-width:none;color:var(--text);font-size:clamp(1.55rem,2.8vw,2rem)}.beta-dashboard__title-row span{color:var(--accent);font-size:clamp(1.1rem,2vw,1.5rem);font-weight:800}.beta-dashboard__content{gap:18px;width:min(100%,1040px);margin:0 auto;padding:28px 32px 56px;display:grid}.dashboard-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);box-shadow:var(--shadow-soft);gap:16px;padding:18px;display:grid}.dashboard-section--sessions{gap:12px;padding:14px 18px 18px}.dashboard-section--sessions h2,.dashboard-section-heading{color:var(--text);margin:0;font-size:1.35rem;line-height:1.2}.dashboard-section--sessions h2{text-align:center}.dashboard-section-heading{align-items:center;gap:12px;min-height:42px;display:inline-flex}.dashboard-section__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 18px;display:flex}.dashboard-section__header-link{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:800;text-decoration:none}.dashboard-section__header-link:hover,.dashboard-section__header-link:focus-visible{text-decoration:underline}.dashboard-section-heading>span{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));border-radius:var(--radius-sm);background:var(--accent-soft);width:34px;height:34px;color:var(--accent);flex:none;place-items:center;font-size:1rem;line-height:1;display:inline-grid}.dashboard-section-heading svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px;height:20px;display:block}.dashboard-section-heading svg circle:first-child,.dashboard-section-heading svg path:first-child{fill:color-mix(in srgb, currentColor 12%, transparent)}.dashboard-session-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dashboard-language-card{--language-accent:var(--accent);--language-accent-soft:var(--accent-soft);border:1px solid color-mix(in srgb, var(--language-accent) 34%, var(--border));border-radius:var(--radius-sm);background:var(--language-accent-soft);min-height:74px;color:var(--language-accent);grid-template-columns:auto auto;justify-content:center;align-items:center;gap:14px;padding:12px 18px;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.dashboard-language-card:hover,.dashboard-language-card:focus-visible{border-color:color-mix(in srgb, var(--language-accent) 56%, var(--border));transform:translateY(-1px);box-shadow:0 16px 36px #1f2a2629}.dashboard-language-card:focus-visible{outline:3px solid var(--language-accent-soft);outline-offset:3px}.dashboard-language-card__icon{border:2px solid color-mix(in srgb, var(--language-accent) 34%, var(--panel));background:var(--panel);width:42px;height:42px;box-shadow:0 8px 18px #1f2a2624, inset 0 0 0 1px color-mix(in srgb, var(--panel) 80%, transparent);border-radius:50%;place-items:center;font-size:1.25rem;display:inline-grid}.dashboard-language-card__label{color:var(--language-accent);font-size:clamp(1.3rem,2.4vw,1.65rem);font-weight:800;line-height:1}.dashboard-section--announcement-feature{gap:16px}.announcement-feature{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:18px;display:grid}.announcement-feature__copy{align-content:start;gap:12px;min-width:0;display:grid}.announcement-feature__copy h3{color:var(--text);margin:0;font-size:clamp(1.2rem,2.2vw,1.6rem);line-height:1.15}.announcement-feature__copy ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.announcement-feature__copy li{color:var(--text);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;font-size:.95rem;line-height:1.35;display:grid}.announcement-feature__copy li:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;margin-top:.45em}.dashboard-video-card{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--accent-soft);position:relative;overflow:hidden}.dashboard-video-card iframe{z-index:2;background:#f2f4f1;border:0;width:100%;height:100%;position:absolute;inset:0}.dashboard-video-card__preview{color:var(--text);background:#f2f4f1;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.dashboard-video-card__preview strong{max-width:calc(100% - 48px);font-size:clamp(1.2rem,2.5vw,1.9rem);line-height:1.15;position:absolute;bottom:24px;left:24px}.dashboard-video-card__waveform{justify-content:center;align-items:center;gap:3px;width:min(78%,420px);height:88px;display:flex}.dashboard-video-card__waveform span{background:var(--accent);border-radius:999px;width:3px}.dashboard-video-card__waveform span:nth-child(4n+1){height:22px}.dashboard-video-card__waveform span:nth-child(4n+2){height:46px}.dashboard-video-card__waveform span:nth-child(4n+3){height:66px}.dashboard-video-card__waveform span:nth-child(4n+4){height:34px}.dashboard-video-card__play{border-radius:var(--radius-sm);background:var(--color-red);width:72px;height:72px;color:var(--panel);place-items:center;font-size:1.6rem;line-height:1;display:inline-grid;position:absolute}.announcement-list{gap:12px;display:grid}.announcement-card{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent-soft) 42%, var(--panel));gap:12px;padding:14px;display:grid}.announcement-card:first-child{padding-top:14px}.announcement-card:last-child{padding-bottom:14px}.announcement-card__date{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));background:var(--panel);width:fit-content;min-height:26px;color:var(--accent);letter-spacing:0;border-radius:999px;align-items:center;padding:4px 8px;font-size:.78rem;font-weight:900;display:inline-flex}.announcement-card h3,.office-hours-card h3,.tracker-card h3{color:var(--text);margin:0;font-size:1.05rem;line-height:1.2}.announcement-card ul,.tracker-card ul,.office-hours-card__recordings ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.announcement-card li,.tracker-card li,.office-hours-card__recordings li{color:var(--text);font-size:.95rem;line-height:1.35}.announcement-card li{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;display:grid}.announcement-card li:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;margin-top:.45em}.dashboard-outline-link{border:1px solid var(--color-red);border-radius:var(--radius-sm);background:var(--panel);width:fit-content;min-height:40px;color:var(--color-red);justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-weight:800;text-decoration:none;display:inline-flex}.dashboard-outline-link:hover,.dashboard-outline-link:focus-visible{border-color:var(--color-red);background:var(--color-red);color:var(--panel)}.dashboard-outline-link--history-video{border-color:color-mix(in srgb, var(--accent) 34%, var(--border));background:color-mix(in srgb, var(--accent-soft) 48%, var(--panel));width:100%;min-height:44px;color:color-mix(in srgb, var(--accent) 72%, var(--text));padding:10px 14px;font-size:.95rem;font-weight:850}.dashboard-outline-link--history-video span{background:var(--panel);width:24px;height:24px;color:color-mix(in srgb, var(--accent) 72%, var(--text));border-radius:999px;place-items:center;font-size:.72rem;display:inline-grid}.dashboard-outline-link--history-video:hover,.dashboard-outline-link--history-video:focus-visible{border-color:color-mix(in srgb, var(--accent) 62%, var(--text));background:color-mix(in srgb, var(--accent-soft) 68%, var(--panel));color:color-mix(in srgb, var(--accent) 82%, var(--text));transform:translateY(-1px)}.office-hours-grid,.tracker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.office-hours-card{--office-hours-accent:var(--accent);border:1px solid color-mix(in srgb, var(--office-hours-accent) 30%, var(--border));border-radius:var(--radius-sm);background:var(--panel);gap:16px;padding:18px;display:grid}.office-hours-card h3{color:var(--office-hours-accent);align-items:center;gap:8px;display:inline-flex}.office-hours-card p{color:var(--text);margin:0;font-weight:700}.office-hours-card__actions{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding-bottom:14px;display:flex}.office-hours-card__actions a,.office-hours-card__actions button{border:1px solid color-mix(in srgb, var(--office-hours-accent) 42%, var(--border));border-radius:var(--radius-sm);background:var(--panel);min-height:40px;color:var(--office-hours-accent);cursor:pointer;font:inherit;justify-content:center;align-items:center;padding:8px 12px;font-size:.9rem;font-weight:800;text-decoration:none;display:inline-flex}.office-hours-card__actions a:hover,.office-hours-card__actions a:focus-visible,.office-hours-card__actions button:hover,.office-hours-card__actions button:focus-visible{background:color-mix(in srgb, var(--office-hours-accent) 8%, var(--panel))}.office-hours-card__recordings{gap:8px;display:grid}.office-hours-card__recordings>span{color:var(--muted);font-size:.9rem;font-weight:800}.office-hours-card__recordings a,.office-hours-card__recordings button{color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;text-decoration:none;display:inline}.office-hours-card__recordings a:before,.office-hours-card__recordings button:before{content:"▷";color:var(--office-hours-accent);margin-right:8px}.office-hours-card__recordings a:hover,.office-hours-card__recordings a:focus-visible,.office-hours-card__recordings button:hover,.office-hours-card__recordings button:focus-visible,.dashboard-question-card:hover,.dashboard-question-card:focus-visible,.tracker-card a:hover,.tracker-card a:focus-visible{color:var(--accent);text-decoration:underline}.dashboard-question-list{gap:10px;display:grid}.dashboard-question-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:100%;min-height:52px;color:var(--text);cursor:pointer;font:inherit;text-align:left;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 14px;display:grid}.dashboard-question-card:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.dashboard-question-card__flag{background:var(--accent-soft);border-radius:50%;place-items:center;width:34px;height:34px;font-size:1rem;display:inline-grid}.dashboard-question-card__meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dashboard-question-card__meta span{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 78%, var(--bg));min-height:28px;color:var(--muted);align-items:center;padding:4px 8px;font-size:.85rem;font-weight:800;line-height:1;display:inline-flex}.dashboard-question-card__meta span:nth-child(2){border-color:color-mix(in srgb, var(--accent) 35%, var(--border));background:var(--accent-soft);color:var(--accent)}.dashboard-question-card strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.dashboard-question-card--feed{align-items:start;min-height:0}.dashboard-question-card--feed strong{white-space:normal}.dashboard-question-card__feed-content{gap:6px;min-width:0;display:grid}.dashboard-modal{z-index:50;place-items:center;padding:32px;display:grid;position:fixed;inset:0}.dashboard-modal__scrim{cursor:pointer;background:#2024269e;border:0;position:absolute;inset:0}.dashboard-modal__panel{overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);gap:18px;width:min(100%,860px);max-height:min(720px,100vh - 64px);padding:24px;display:grid;position:relative;overflow-y:auto;box-shadow:0 28px 72px #1f2a263d}.dashboard-modal__header{justify-content:space-between;align-items:start;gap:16px;display:flex}.dashboard-modal__header h2{color:var(--text);margin:0;font-size:clamp(1.45rem,3vw,2rem);line-height:1.1}.dashboard-modal__eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.78rem;font-weight:800;display:block}.dashboard-modal__close{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:42px;height:42px;color:var(--text);cursor:pointer;flex:none;place-items:center;font-size:1.5rem;line-height:1;display:inline-grid}.dashboard-modal__close:hover,.dashboard-modal__close:focus-visible{border-color:var(--accent);color:var(--accent)}.dashboard-modal__recordings,.dashboard-modal__announcements{gap:18px;display:grid}.dashboard-modal__answer{gap:16px;display:grid}.dashboard-modal__questions{gap:18px;display:grid}.dashboard-modal__answer h3{color:var(--text);margin:0;font-size:1.2rem;line-height:1.25}.dashboard-modal__recordings p,.dashboard-modal__announcements p,.dashboard-modal__questions p,.dashboard-modal__answer p{color:var(--muted);margin:0;font-weight:700}.dashboard-modal__video-answer{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius-sm);background:#f2f4f1;width:100%;position:relative;overflow:hidden}.dashboard-modal__video-answer iframe{border:0;width:100%;height:100%}.dashboard-modal__text-link{width:fit-content;color:var(--accent);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:800}.dashboard-modal__text-link:hover,.dashboard-modal__text-link:focus-visible{color:var(--color-red);text-decoration:underline}.dashboard-modal__recordings ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.dashboard-modal__recordings li{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 78%, var(--bg));grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:14px;display:grid}.dashboard-modal__recordings li>span{color:var(--accent);font-weight:800}.dashboard-modal__recordings li div{gap:2px;display:grid}.dashboard-modal__recordings li strong{color:var(--text)}.dashboard-modal__recordings li div span{color:var(--muted);font-size:.9rem;font-weight:700}.dashboard-modal__tracker{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.tracker-card{--tracker-accent:var(--accent);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);align-content:start;gap:14px;padding:18px;display:grid}.tracker-card h3{align-items:center;gap:10px;display:inline-flex}.tracker-card h3 span{border:1px solid color-mix(in srgb, var(--tracker-accent) 42%, var(--border));width:30px;height:30px;color:var(--tracker-accent);border-radius:50%;flex:none;place-items:center;font-size:.9rem;line-height:1;display:inline-grid}.tracker-card li{grid-template-columns:auto minmax(0,1fr);gap:8px;display:grid}.tracker-card li:before{content:"";background:var(--tracker-accent);border-radius:50%;width:10px;height:10px;margin-top:.35em}.tracker-card a{color:var(--accent);align-self:end;margin-top:4px;font-weight:800;text-decoration:none}[data-item-line-session]{--script-session-panel-label-height:1rem;--script-session-panel-waveform-height:clamp(72px, 10vh, 96px);--script-session-panel-control-height:42px;--script-session-audio-panel-height:calc(20px + var(--script-session-panel-label-height) + 16px + var(--script-session-panel-waveform-height) + var(--script-session-panel-control-height))}.icon-button{flex:none;width:44px;height:44px;padding:0}.icon-button svg{stroke:currentColor;width:20px;height:20px}.collapsible-panel--collapsed{gap:0}.collapsible-panel__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;display:flex}.collapsible-panel__toggle{min-height:42px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:8px;padding:0;font-size:1rem;font-weight:800;line-height:1.1;display:inline-flex}.collapsible-panel__toggle span:first-child{width:1em;color:var(--muted)}.collapsible-panel__toggle:focus-visible{outline:3px solid var(--accent-soft);outline-offset:4px}.collapsible-panel__body[hidden]{display:none}.control-button{width:48px;height:48px}.control-button--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}:root{--motion-duration-micro:.14s;--motion-duration-popover:.22s;--motion-duration-route:.28s;--motion-duration-structural:.32s;--motion-ease-primary:cubic-bezier(.22, 1, .36, 1);--motion-distance-x:28px;--motion-distance-y:24px}.app-route{animation:app-route-enter var(--motion-duration-route) var(--motion-ease-primary) both}.route-loading-state{min-height:min(320px,50vh);color:var(--muted);place-items:center;font-weight:700;display:grid}@keyframes app-route-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.app-route,.phoneme-tutorial-modal,.timed-boundary-popover,.timed-syllable-popover,.timed-word-popover{animation:none!important}}.breadcrumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:flex}.breadcrumbs a{color:var(--accent);text-decoration:none}.breadcrumbs a:hover,.breadcrumbs a:focus-visible{text-decoration:underline}.lesson-back-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);width:fit-content;min-height:42px;color:var(--accent);justify-content:center;align-items:center;padding:10px 14px;font-weight:800;text-decoration:none;display:inline-flex}.lesson-back-button:hover,.lesson-back-button:focus-visible{border-color:var(--accent)}.breadcrumbs a:focus-visible,.lesson-back-button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:3px}.empty-state{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);box-shadow:var(--shadow-soft);gap:18px;padding:24px;display:grid}.empty-state p{max-width:68ch;color:var(--text);line-height:1.7}.auth-page{max-width:36rem;margin-inline:auto}.auth-form{border:1px solid var(--border-color,#d8d8d8);background:#fff;border-radius:1rem;gap:1rem;padding:1.5rem;display:grid}.auth-form label,.auth-form label span{gap:.45rem;display:grid}.auth-form input{width:100%;font:inherit;border:1px solid #b9b9b9;border-radius:.55rem;padding:.75rem .85rem}.auth-form button,.primer-audio-button{color:#fff;cursor:pointer;font:inherit;background:#111;border:0;border-radius:999px;padding:.65rem .9rem;font-weight:700}.auth-form__switch{text-decoration:underline;color:inherit!important;background:0 0!important}.auth-form__error{color:#a51d1d}.primer-group{gap:.8rem;display:grid}.primer-group h2{margin:0}.primer-symbol-list{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.05rem}.primer-symbol-grid{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1rem;display:grid}.primer-symbol-card{background:#fff;border:1px solid #dedede;border-radius:1rem;padding:1.25rem}.primer-symbol-card>header,.primer-word-list li{justify-content:space-between;align-items:center;gap:1rem;display:flex}.primer-symbol-card__symbol{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(2.25rem,6vw,4rem);line-height:1}.primer-word-list{border-top:1px solid #e5e5e5;gap:.75rem;margin:1.25rem 0 0;padding:1rem 0 0;list-style:none;display:grid}.primer-word-list div,.primer-word-list span,.primer-word-list small{display:block}.primer-word-list span,.primer-word-list small{color:#5f5f5f}.primer-audio-button:disabled{cursor:wait;opacity:.65}.route-card:hover,.route-card:focus-visible,.text-link:hover,.text-link:focus-visible{color:var(--accent)}.route-card:focus-visible,.text-link:focus-visible,.brand-link:focus-visible{outline:3px solid var(--accent-soft);outline-offset:3px}.text-link{color:var(--accent);font-weight:700}.global-feedback-button{right:24px;bottom:max(24px, env(safe-area-inset-bottom));z-index:30;background:var(--accent);width:56px;height:56px;color:var(--panel);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-weight:800;transition:background .16s,box-shadow .16s,transform .16s;display:inline-flex;position:fixed;box-shadow:0 14px 34px #1f2a262e}.global-feedback-button span{width:30px;height:30px;color:var(--panel);border:2px solid;border-radius:50%;place-items:center;font-size:1.25rem;line-height:1;display:inline-grid}.global-feedback-button:hover,.global-feedback-button:focus-visible{background:color-mix(in srgb, var(--accent) 88%, var(--text));transform:translateY(-1px);box-shadow:0 16px 38px #1f2a2638}.global-feedback-button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:3px}.global-feedback-button--inline{z-index:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:44px;height:44px;box-shadow:none;color:var(--text);flex:0 0 44px;position:static}.global-feedback-button--inline span{border-radius:calc(var(--radius-sm) - 4px);width:20px;height:20px;color:var(--text);border:1.8px solid;font-size:.9rem;line-height:1}.global-feedback-button--inline:hover,.global-feedback-button--inline:focus-visible{border-color:color-mix(in srgb, var(--color-amber) 70%, var(--border));background:color-mix(in srgb, var(--color-amber) 24%, var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 8%, transparent);transform:none}.app-shell:has(.session-workspace)>.global-feedback-button--floating{display:none}.app-shell:has(.script-session)>.global-feedback-button--floating{display:none}.feedback-modal{z-index:60;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.feedback-modal__scrim{cursor:pointer;background:#2024265c;border:0;position:absolute;inset:0}.feedback-panel{overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);gap:16px;width:min(100%,480px);max-height:min(760px,100vh - 48px);padding:20px;display:grid;position:relative;overflow-y:auto;box-shadow:0 28px 72px #1f2a263d}.feedback-panel__header,.feedback-panel__actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.feedback-panel__eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:.78rem;font-weight:800}.feedback-panel h2{color:var(--text);margin:0;font-size:1.35rem;line-height:1.2}.feedback-panel__close{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:40px;height:40px;color:var(--text);cursor:pointer;flex:none;place-items:center;font-size:1.35rem;line-height:1;display:inline-grid}.feedback-field{color:var(--text);gap:7px;font-weight:800;display:grid}.feedback-field input,.feedback-field select,.feedback-field textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:100%;min-height:42px;color:var(--text);padding:9px 11px}.feedback-field input::placeholder,.feedback-field textarea::placeholder{color:var(--muted);font-style:italic;font-weight:400}.feedback-field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 12px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:34px}.feedback-field input[type=file]{background:color-mix(in srgb, var(--panel) 82%, var(--accent-soft));cursor:pointer;border-style:dashed;align-content:center;min-height:72px;display:grid}.feedback-field textarea{resize:vertical}.feedback-field small{color:var(--muted);font-style:italic;font-weight:400}.feedback-fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);margin:0;padding:12px}.feedback-fieldset legend{padding:0 4px}.feedback-fieldset label{color:var(--text);align-items:center;gap:8px;margin-right:16px;font-weight:700;display:inline-flex}.feedback-fieldset input{width:auto;min-height:0}.feedback-panel__contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.feedback-panel__status{color:var(--accent);margin:0;font-weight:800}.feedback-panel__secondary,.feedback-panel__submit{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;min-height:42px;font:inherit;justify-content:center;align-items:center;padding:9px 14px;font-weight:800;display:inline-flex}.feedback-panel__secondary{background:var(--panel);color:var(--text)}.feedback-panel__submit{border-color:var(--accent);background:var(--accent);color:var(--panel)}.feedback-panel__submit:disabled{cursor:wait;opacity:.72}.ipa-training-preview,.ipa-still-vowels{color:var(--text);gap:32px;display:grid}.still-vowels-back{width:fit-content;color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-size:.92rem;font-weight:800;text-decoration:none;display:inline-flex}.still-vowels-back:hover,.still-vowels-back:focus-visible{color:var(--accent)}.ipa-mastery-hero{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:40px;padding:52px 0 36px;display:grid}.ipa-mastery-copy{gap:20px;display:grid}.ipa-mastery-actions,.ipa-primary-action{width:fit-content;display:grid}.ipa-mastery-copy h1{letter-spacing:-.055em;max-width:850px;font-size:clamp(2.55rem,3.8vw,3.65rem);font-weight:850;line-height:.98}.ipa-lede{max-width:760px;color:var(--muted);font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.5}.ipa-mastery-button,.still-vowels-quiz-button,.still-vowels-primary-button,.still-vowels-secondary-button{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;width:fit-content;min-height:48px;font:inherit;justify-content:center;align-items:center;gap:10px;padding:12px 22px;font-weight:850;text-decoration:none;display:inline-flex;box-shadow:0 12px 26px #1c5b4c24}.ipa-mastery-button{min-width:360px;min-height:60px;font-size:1.12rem}.ipa-mastery-button:hover,.ipa-mastery-button:focus-visible,.still-vowels-quiz-button:hover,.still-vowels-quiz-button:focus-visible,.still-vowels-primary-button:hover,.still-vowels-primary-button:focus-visible{filter:brightness(1.08);transform:translateY(-1px)}.ipa-score-summary{gap:12px;width:min(100%,520px);display:grid}.ipa-score-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);box-shadow:var(--shadow-soft);grid-template-columns:168px minmax(0,1fr);align-items:center;gap:24px;padding:28px;display:grid}.ipa-score-ring{aspect-ratio:1;background:conic-gradient(var(--accent) 0 var(--ipa-score-angle,0deg), color-mix(in srgb, var(--border) 72%, #fff) var(--ipa-score-angle,0deg) 360deg);border-radius:50%;place-items:center;width:168px;display:grid;position:relative}.ipa-score-ring:before{content:"";background:var(--panel);border-radius:50%;position:absolute;inset:11px}.ipa-score-ring strong{letter-spacing:-.04em;font-size:2.8rem;position:relative}.ipa-score-details{gap:14px;min-width:0;margin:0;display:grid}.ipa-score-details div{border-bottom:1px solid var(--border);padding-bottom:14px}.ipa-score-details div:last-child{border-bottom:0;padding-bottom:0}.ipa-score-details dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-weight:850}.ipa-score-details dd{margin:4px 0 0;font-size:.98rem}.ipa-score-details strong{color:var(--accent);font-size:1.08rem}.ipa-challenge-countdown{border:1px solid color-mix(in srgb, #d09a39 42%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, #d09a39 14%, var(--panel));justify-content:space-between;align-items:baseline;gap:12px;padding:15px 18px;display:flex}.ipa-challenge-countdown span{color:var(--muted);font-size:.78rem;font-weight:850}.ipa-challenge-countdown strong{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1rem}.ipa-pathway-heading{grid-template-columns:minmax(0,auto) minmax(240px,1fr);align-items:end;gap:40px;margin-top:18px;display:grid}.ipa-pathway-heading h2{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,3rem)}.ipa-pathway-heading p{color:var(--muted);margin:6px 0 0;font-size:1.05rem}.ipa-course-progress{background:#e7e9e6;border-radius:999px;height:10px;overflow:hidden}.ipa-course-progress span{border-radius:inherit;background:var(--accent);height:100%;display:block}.ipa-course-path{gap:34px;padding-top:22px;display:grid}.ipa-course-section{border:1px solid var(--border);background:#ffffff8c;border-radius:0 0 18px 18px;overflow:hidden}.ipa-course-section-heading{border-top:1px solid var(--border);align-items:center;display:flex}.ipa-course-section-heading h3{background:var(--accent);color:#fff;letter-spacing:.18em;text-transform:uppercase;border-radius:0 0 18px;min-width:180px;margin:-1px 0 0 -1px;padding:16px 28px;font-size:.92rem}.ipa-lesson-list{padding:24px 28px 30px;display:grid;position:relative}.ipa-lesson-list:before{content:"";background:#b8cbc4;width:1px;position:absolute;top:52px;bottom:52px;left:49px}.ipa-lesson-row{min-height:82px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:22px;padding:12px 4px;text-decoration:none;transition:background .15s,transform .15s;display:grid;position:relative}.ipa-lesson-row:hover{background:var(--accent-soft);outline:none;transform:translate(3px)}.ipa-lesson-row:has(.ipa-lesson-row-link:focus-visible){background:var(--accent-soft);outline:none;transform:translate(3px)}.ipa-lesson-row-link{color:inherit;text-decoration:none;display:contents}.ipa-lesson-node{z-index:1;background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.ipa-lesson-node svg{width:21px;height:21px}.ipa-lesson-copy{gap:10px;min-width:0;display:grid}.ipa-lesson-title-line{align-items:center;gap:12px;display:flex}.ipa-lesson-copy h4{letter-spacing:-.02em;margin:0;font-size:1.3rem}.ipa-lesson-quiz-badge{background:var(--color-amber-soft);color:#765712;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:850}.ipa-symbol-list{flex-wrap:wrap;gap:7px;display:flex}.ipa-symbol-list span,.ipa-symbol-list button,.still-vowels-phoneme-button{min-width:38px;min-height:38px;color:var(--text);background:#f8f0de;border:1px solid #d9bd79;border-radius:8px;place-items:center;padding:6px 9px;font-weight:850;display:inline-grid;box-shadow:inset 0 -2px #b2872c40}.ipa-symbol-list button{cursor:pointer;font:inherit}.ipa-symbol-list button:hover:not(:disabled),.ipa-symbol-list button:focus-visible,.ipa-symbol-list button.is-playing{border-color:var(--accent);background:var(--accent-soft);outline:none}.ipa-symbol-list button:disabled{cursor:wait;opacity:.52}.ipa-lesson-row>.ipa-symbol-list{grid-column:2}.ipa-lesson-row>.ipa-lesson-row-link .ipa-lesson-node,.ipa-lesson-row>.ipa-lesson-node{grid-row:1/span 2}.ipa-primer-inventory{gap:34px;display:grid}.ipa-primer-inventory-groups{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;display:grid}.ipa-primer-inventory-group{border:1px solid var(--border);background:#ffffffb3;border-radius:18px;align-content:start;gap:16px;padding:22px;display:grid}.ipa-primer-inventory-group h2{margin:0;font-size:1.1rem}.ipa-primer-inventory-group .still-vowels-phoneme-buttons{justify-content:flex-start}.ipa-lesson-chevron{color:var(--muted)}.still-vowels-heading{justify-content:space-between;align-items:center;gap:24px;min-height:112px;display:flex}.still-vowels-heading h1{letter-spacing:-.06em;max-width:none;font-size:clamp(3rem,4.8vw,4.3rem);font-weight:850}.still-vowels-quiz-heading h1{letter-spacing:-.06em;max-width:none;font-size:clamp(3.2rem,6vw,5.2rem);font-weight:850}.still-vowels-tabs{border-bottom:1px solid var(--border);overflow-x:auto}.still-vowels-tab-list{gap:4px;min-width:max-content;display:flex}.still-vowels-tabs button{min-height:48px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 14px;font-weight:800}.still-vowels-tabs button.is-active{border-color:var(--accent);color:var(--accent)}.still-vowels-panel,.still-vowels-content-group{gap:18px;display:grid}.still-vowels-content-group{gap:12px}.still-vowels-section-label,.still-vowels-kicker{color:var(--accent);letter-spacing:.17em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:900}.still-vowels-intro-card,.still-vowels-carousel,.still-vowels-word-section,.still-vowels-articulation-panel{border:1px solid var(--border);background:var(--panel);border-radius:14px;padding:26px}.still-vowels-intro-card{gap:16px;display:grid}.still-vowels-intro-card h2{margin:0;font-size:2rem}.still-vowels-overview{gap:22px;display:grid}.still-vowels-phoneme-buttons{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}button.still-vowels-phoneme-button{cursor:pointer;font-size:1.12rem}button.still-vowels-phoneme-button:disabled{cursor:not-allowed;opacity:.48}button.still-vowels-phoneme-button.is-playing{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.still-vowels-overview-video,.still-vowels-carousel-media{border:1px solid var(--border);background:var(--color-surface-soft);border-radius:12px;overflow:hidden}.still-vowels-overview-video video,.still-vowels-carousel-media video,.still-vowels-articulation-panel video{object-fit:contain;background:#0f1111;width:100%;max-height:660px;display:block}.primer-practice-video{background:#121313;min-width:0}.primer-stream-video{border-radius:inherit;aspect-ratio:16/9;background:#0f1111;width:100%;position:relative;overflow:hidden}.primer-stream-video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.still-vowels-video-speed{background:#121313;justify-content:center;align-items:center;gap:12px;padding:12px 16px 16px;display:flex}.still-vowels-video-speed>span{color:#ffffffb8;letter-spacing:.08em;text-transform:uppercase;margin-right:2px;font-size:.76rem;font-weight:750}.still-vowels-video-speed button{color:#fff;cursor:pointer;width:44px;height:44px;font:700 1rem/1 var(--font-sans);background:#ffffff0d;border:1px solid #ffffff61;border-radius:50%;flex:0 0 44px;place-items:center;padding:0;transition:background .14s,border-color .14s,transform .14s;display:grid}.still-vowels-video-speed button:active{transform:translateY(1px)}.still-vowels-video-speed button.is-active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:inset 0 2px #0000002e}.primer-video-modal{z-index:100;background:#000000ad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.primer-video-modal__dialog{border:1px solid var(--border);background:var(--panel);width:min(920px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-strong);border-radius:14px;overflow:auto}.primer-video-modal__header{justify-content:space-between;align-items:center;gap:16px;padding:12px 14px 12px 18px;display:flex}.primer-video-modal__header h2{margin:0;font-size:1.05rem}.primer-video-modal__header button{border:1px solid var(--border);background:var(--panel);width:36px;height:36px;color:var(--text);cursor:pointer;font:inherit;border-radius:50%;place-items:center;padding:0;font-size:1.35rem;display:grid}.primer-video-modal__player{background:#121313;overflow:hidden}.primer-video-modal__player video{object-fit:contain;background:#000;width:100%;max-height:calc(100vh - 190px);display:block}.phoneme-hold-modal{z-index:110;background:#000000b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.phoneme-hold-modal__dialog{border:1px solid var(--border);background:var(--panel);width:min(760px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-strong);border-radius:16px;overflow:auto}.phoneme-hold-modal__header{justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;display:flex}.phoneme-hold-modal__header span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800}.phoneme-hold-modal__header h2{margin:2px 0 0;font-size:1.65rem}.phoneme-hold-modal__header>button{border:1px solid var(--border);background:var(--panel);width:40px;height:40px;color:var(--text);cursor:pointer;font:1.4rem/1 var(--font-sans);border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.phoneme-hold-modal__body{background:#121313;place-items:center;min-height:260px;display:grid;overflow:hidden}.phoneme-hold-modal__body>.primer-practice-video,.phoneme-hold-modal__body video{width:100%}.phoneme-hold-modal__body video{object-fit:contain;background:#000;max-height:calc(100vh - 260px);display:block}.phoneme-hold-modal__body .ipa-phoneme-lesson-empty{color:#ffffffc7;text-align:center;margin:0;padding:36px}.phoneme-hold-modal__footer{justify-content:flex-end;padding:14px 18px 18px;display:flex}.phoneme-hold-modal__footer a{background:var(--accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-weight:800;text-decoration:none;display:inline-flex}[data-phoneme]{touch-action:manipulation}@media (width<=679px){.primer-video-modal{padding:12px}.primer-video-modal__dialog{max-height:calc(100vh - 24px)}.phoneme-hold-modal{padding:12px}.phoneme-hold-modal__dialog{max-height:calc(100vh - 24px)}}.still-vowels-carousel-heading h2{margin:0 0 20px}.still-vowels-carousel-heading .still-vowels-phoneme-button{min-width:52px;min-height:52px;font-size:1.35rem}.still-vowels-carousel-media{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.primer-video-thumbnail{aspect-ratio:16/9;color:#fff;cursor:pointer;background:#111;border:0;border-radius:10px;width:100%;padding:0;position:relative;overflow:hidden}.primer-video-thumbnail:disabled{cursor:wait}.primer-video-thumbnail--placeholder{border:1px dashed var(--border);background:var(--color-surface-soft);color:var(--muted);cursor:default;place-items:center;font-size:.86rem;font-weight:750;display:grid}.still-vowels-carousel-media .primer-video-thumbnail video{object-fit:cover;pointer-events:none;width:100%;height:100%;max-height:none}.primer-video-thumbnail__loading{color:#ffffffb8;place-items:center;font-weight:750;display:grid;position:absolute;inset:0}.primer-video-thumbnail:hover,.primer-video-thumbnail:focus-visible{box-shadow:0 0 0 3px var(--accent-soft)}.still-vowels-word-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.still-vowels-word-card{border:1px solid var(--border);background:var(--panel);border-radius:12px;gap:16px;padding:18px;display:grid}.still-vowels-word-card-heading{align-items:center;gap:12px;display:flex}.still-vowels-audio-button,.still-vowels-word-info{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;display:inline-grid}.still-vowels-audio-button{width:40px;height:40px}.still-vowels-word-info{width:26px;height:26px;margin-left:8px}.still-vowels-word-gloss{font-weight:800;position:relative}.still-vowels-spanish-word{color:var(--muted);margin-top:4px;font-weight:600;display:block}.still-vowels-segments{flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:5px;display:flex}.still-vowels-segments button{border:1px solid var(--border);background:var(--color-surface-soft);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:7px;flex:0 0 34px;padding:0;font-weight:800}.still-vowels-segments button.is-target{background:#f8f0de;border-color:#d9bd79}.ipa-phoneme-lesson-empty,.primer-media-error{color:var(--muted);margin:0}.primer-media-error{background:var(--color-red-soft);color:#8b2920;border-radius:8px;padding:10px 14px}.primer-audio-preparation{border:1px solid var(--border);background:var(--color-surface-soft);color:var(--muted);border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(120px,220px);align-items:center;gap:12px 18px;padding:12px 16px;font-size:.9rem;font-weight:750;display:grid}.primer-audio-preparation progress{width:100%;height:8px;accent-color:var(--accent);border:0;border-radius:999px;overflow:hidden}.primer-audio-preparation.is-ready{background:var(--accent-soft);width:fit-content;color:var(--accent);border-color:#b8cbc4;grid-template-columns:auto 1fr}.primer-audio-preparation.is-error{background:var(--color-red-soft);color:#8b2920;border-color:#dcb9b4;grid-template-columns:minmax(0,1fr) auto}.primer-audio-preparation button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:1px solid;border-radius:8px;padding:7px 12px;font-weight:850}.primer-quiz-preflight{border:1px solid var(--border);background:var(--panel);text-align:center;border-radius:18px;align-content:center;place-items:center;gap:18px;min-height:380px;padding:clamp(30px,7vw,72px);display:grid}.primer-quiz-preflight>svg{width:48px;height:48px;color:var(--accent)}.primer-quiz-preflight h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,4vw,2.7rem)}.primer-quiz-preflight>p{max-width:42rem;color:var(--muted);margin:0;line-height:1.6}.still-vowels-primary-button:disabled{cursor:wait;filter:grayscale(.35);opacity:.55;transform:none}.primer-video-loading{min-height:220px;color:var(--muted);place-items:center;display:grid}.still-vowels-quiz-heading{gap:14px;padding-top:36px;display:grid}.still-vowels-quiz-progress-group{gap:10px;display:grid}.still-vowels-quiz-progress-meta{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;justify-content:space-between;font-size:.82rem;font-weight:850;display:flex}.still-vowels-quiz-progress{gap:8px;display:grid}.still-vowels-quiz-progress span{background:#fff;border-radius:999px;height:12px}.still-vowels-quiz-progress span.is-resolved{background:var(--accent)}.still-vowels-quiz-progress span.is-missed{background:var(--color-red)}.still-vowels-quiz-card{border:1px solid var(--border);background:var(--panel);border-radius:18px;align-content:center;gap:34px;min-height:440px;padding:clamp(28px,6vw,72px);display:grid}.still-vowels-quiz-card__prompt{text-align:center;justify-items:center;gap:24px;display:grid}.still-vowels-quiz-card__prompt h2{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,5vw,3.7rem)}.still-vowels-quiz-listen{border:2px solid var(--accent);min-height:62px;color:var(--accent);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:10px;padding:14px 24px;font-size:1.15rem;font-weight:850;display:inline-flex}.still-vowels-quiz-target{font-size:clamp(4rem,11vw,8rem);font-weight:850}.still-vowels-quiz-choices{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;display:grid}.still-vowels-quiz-choices button{border:2px solid var(--border);background:var(--color-surface-soft);min-height:92px;color:var(--text);cursor:pointer;border-radius:12px;font-size:1.6rem;font-weight:850}.still-vowels-quiz-choices button:hover,.still-vowels-quiz-choices button:focus-visible,.still-vowels-quiz-choices button.is-selected{border-color:var(--accent)}.still-vowels-quiz-choices button.is-correct{border-color:var(--accent);background:var(--accent-soft)}.still-vowels-quiz-choices button.is-incorrect{border-color:var(--color-red);background:var(--color-red-soft)}.still-vowels-quiz-submit-row,.still-vowels-quiz-complete>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.still-vowels-secondary-button{border-color:var(--border);color:var(--text);box-shadow:none;background:#fff}.still-vowels-quiz-feedback{justify-self:center;align-items:center;gap:8px;font-weight:850;display:inline-flex}.still-vowels-quiz-feedback.is-correct{color:var(--accent)}.still-vowels-quiz-complete{border:1px solid var(--border);text-align:center;background:#fff;border-radius:18px;place-content:center;justify-items:center;gap:12px;min-height:520px;padding:42px;display:grid}.still-vowels-quiz-complete>svg{width:70px;height:70px;color:var(--accent)}.still-vowels-quiz-complete>strong{letter-spacing:-.06em;font-size:5rem}@media (width<=640px){.brand-link{padding:0 12px}.app-header__inner{gap:8px;padding-right:12px}.app-header__account{gap:8px;font-size:.74rem}.app-header__account>span:first-child{max-width:30vw}.app-main{padding:48px 20px}.app-shell--dashboard .app-main{padding:0}.beta-dashboard__brand{gap:14px;min-height:78px;padding:14px 20px}.beta-dashboard__logo{width:48px;height:48px}.beta-dashboard__title-row{gap:4px 8px}.beta-dashboard__title-row h1{font-size:1.3rem}.beta-dashboard__title-row span{font-size:1rem}.beta-dashboard__content{gap:18px;padding:24px 20px 40px}.dashboard-section,.dashboard-section--sessions{padding:14px}.dashboard-session-grid,.dashboard-grid--intro,.announcement-feature,.office-hours-grid,.tracker-grid{grid-template-columns:1fr}.dashboard-language-card{gap:14px;min-height:92px;padding:16px}.dashboard-language-card__icon{width:48px;height:48px;font-size:1.35rem}.dashboard-language-card__label{font-size:1.65rem}.dashboard-video-card__preview strong{font-size:1.2rem}.dashboard-video-card__play{width:56px;height:56px;font-size:1.2rem}.office-hours-card{padding:14px}.office-hours-card__actions a,.office-hours-card__actions button{flex:150px}.dashboard-modal{align-items:stretch;padding:20px}.dashboard-modal__panel{max-height:calc(100vh - 40px);padding:18px}.dashboard-modal__tracker{grid-template-columns:1fr}.global-feedback-button--floating{right:16px;bottom:max(16px, env(safe-area-inset-bottom));width:50px;height:50px}.global-feedback-button--floating span{width:28px;height:28px;font-size:1.1rem}.feedback-modal{place-items:center;padding:12px}.feedback-panel{width:100%;max-height:calc(100vh - 24px);padding:16px}.feedback-panel__contact-grid,.selection-grid{grid-template-columns:1fr}.selection-card{min-height:112px;padding:18px}.session-path-grid,.session-mode-grid,.item-set-grid,.item-set-grid--featured,.custom-builder-layout,.custom-session-row{grid-template-columns:1fr}.session-path-card,.item-set-card,.session-mode-card{min-height:112px;padding:16px}.session-path-card__title{font-size:1.3rem}.session-flow-actions,.custom-session-row__actions{justify-content:stretch}.custom-builder-summary{position:static}.segmented-control{width:100%}.segmented-control__button{flex:1}.session-flow-button{flex:140px}.empty-state{padding:18px}.ipa-mastery-hero{grid-template-columns:1fr;gap:24px;padding:24px 0 18px}.ipa-score-summary{width:100%}.ipa-score-card{grid-template-columns:112px minmax(0,1fr);gap:18px;padding:18px}.ipa-score-ring{width:112px}.ipa-score-ring strong{font-size:2rem}.ipa-challenge-countdown{flex-direction:column;align-items:flex-start}.ipa-mastery-copy h1{font-size:clamp(2.35rem,11.5vw,3.2rem)}.ipa-mastery-button{width:100%;min-width:0}.ipa-pathway-heading{grid-template-columns:1fr;gap:18px}.ipa-course-section-heading h3{min-width:0;padding:13px 18px}.ipa-lesson-list{padding:16px 12px 20px}.ipa-lesson-list:before{left:33px}.ipa-lesson-row{grid-template-columns:36px minmax(0,1fr) auto;gap:12px}.ipa-lesson-node{width:36px;height:36px}.ipa-lesson-copy h4{font-size:1.05rem}.still-vowels-heading{align-items:flex-start}.still-vowels-heading h1,.still-vowels-quiz-heading h1{font-size:3rem}.still-vowels-quiz-button{padding:10px 14px}.still-vowels-intro-card,.still-vowels-carousel,.still-vowels-word-section,.still-vowels-articulation-panel,.still-vowels-quiz-card{padding:18px}.still-vowels-quiz-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.primer-audio-preparation{grid-template-columns:1fr}}@media (height<=680px){.play-button,.control-button,.row-icon,.reveal-eye-button{width:44px;height:44px}}.app-main:has(>.session-workspace){flex:1;width:100%;min-height:0;padding:0}.session-workspace{--session-topbar-height:56px;--session-stage-bottom-buffer:14px;--session-sidebar-open-width:clamp(188px, 15vw, 224px);--session-sidebar-width:var(--session-sidebar-open-width);--session-phoneme-tray-open-width:clamp(224px, 19vw, 252px);--session-phoneme-tray-width:0px;--session-panel-scroll-fade-height:34px;background:var(--bg);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);width:100%;height:100vh;min-height:0;margin:0;transition:grid-template-columns .19s;display:grid;position:relative;overflow:hidden}.session-workspace--sidebar-closed{--session-sidebar-width:0px}.session-workspace--phoneme-open{--session-phoneme-tray-width:var(--session-phoneme-tray-open-width)}.session-sidebar{top:calc(var(--session-topbar-height) + 1px);bottom:var(--session-stage-bottom-buffer);z-index:30;width:var(--session-sidebar-open-width);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);pointer-events:auto;grid-template-rows:auto minmax(0,1fr);gap:14px;min-height:0;padding:18px 12px 18px 14px;transition:opacity .14s,transform .19s,visibility linear;display:grid;position:absolute;left:0;overflow:hidden}.session-sidebar:after,.symbols-tray--external-toggle:after{content:"";height:var(--session-panel-scroll-fade-height);pointer-events:none;background:linear-gradient(to bottom, transparent, var(--panel));z-index:2;position:absolute;bottom:1px;left:1px;right:1px}.session-workspace--sidebar-closed .session-sidebar{visibility:hidden;opacity:0;pointer-events:none;transition:opacity .14s,transform .19s,visibility 0s linear .18s;transform:translate(calc(-100% - 10px))}.session-sidebar__header{justify-content:space-between;align-items:start;gap:12px;display:flex}.session-sidebar__header h2{color:var(--text);margin:0;font-size:1.22rem;line-height:1.1}.session-sidebar__header span{color:var(--muted);font-size:.9rem;font-weight:700}.icon-button,.row-icon--button,.reveal-eye-button,.flowscript-next-button,.symbols-tray__toggle,.play-button,.control-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);cursor:pointer;font:inherit;place-items:center;font-weight:800;display:inline-grid}.side-panel-icon__frame,.side-panel-icon__divider,.side-panel-icon__rail{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.side-panel-icon__panel{fill:currentColor;opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .14s,transform .14s}.side-panel-icon__divider,.side-panel-icon__rail{transition:opacity .14s,transform .14s}.side-panel-icon--closed .side-panel-icon__divider,.side-panel-icon--closed .side-panel-icon__panel{opacity:0}.side-panel-icon--closed .side-panel-icon__rail,.side-panel-icon--open .side-panel-icon__divider{opacity:1}.side-panel-icon--open .side-panel-icon__panel{opacity:.22}.side-panel-icon--open .side-panel-icon__rail{opacity:0;transform:scaleY(.72)}.session-sidebar__list{min-height:0;padding-right:4px;padding-bottom:var(--session-panel-scroll-fade-height);align-content:start;gap:7px;display:grid;overflow-y:auto}.session-sidebar__item{border-radius:var(--radius-sm);min-height:40px;color:var(--text);cursor:pointer;font:inherit;text-align:left;white-space:nowrap;background:0 0;border:1px solid #0000;padding:9px 10px;font-weight:800}.session-sidebar__item:hover,.session-sidebar__item:focus-visible,.session-sidebar__item--active{border-color:color-mix(in srgb, var(--color-red) 45%, var(--border));background:var(--panel)}.session-stage{height:100%;min-height:0;padding:0 32px var(--session-stage-bottom-buffer);grid-area:1/1;grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:10px;display:grid;overflow:hidden auto}.session-workspace .item-line-panel-stack{margin-right:var(--session-phoneme-tray-width);margin-left:var(--session-sidebar-width);transition:margin-right .19s,margin-left .19s}.session-bar{z-index:35;min-height:var(--session-topbar-height);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--panel) 88%, var(--bg));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:10px;margin:0 -32px 14px;padding:6px 16px;display:flex;position:sticky;top:0}.session-bar__left,.session-bar__center,.session-bar__right{align-items:center;gap:10px;min-width:0;display:inline-flex}.session-panel-toggle{transition:background-color .16s,border-color .16s,color .16s,box-shadow .12s}.session-panel-toggle--active{border-color:var(--border);background:var(--panel);color:var(--text);box-shadow:none}.script-session__session-bar .session-panel-toggle[aria-expanded=false],.session-workspace--media-aware-sync .session-bar .session-panel-toggle[aria-expanded=false]{color:var(--muted);opacity:.56}.session-exit{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:fit-content;min-height:44px;color:var(--text);justify-content:center;align-items:center;padding:10px 14px;font-weight:800;text-decoration:none;display:inline-flex}.session-target-phonemes{color:var(--muted);text-align:right;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 12px;font-size:.9rem;font-weight:800;display:flex}.session-target-phonemes__list{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.session-target-phoneme{border:1px solid color-mix(in srgb, var(--color-amber) 58%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-amber) 18%, var(--panel));min-width:32px;min-height:32px;color:var(--text);cursor:pointer;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-amber) 26%, transparent), inset 0 -3px 0 color-mix(in srgb, var(--color-amber) 52%, transparent);place-items:center;padding:4px 8px;font-family:inherit;font-size:1rem;font-weight:800;line-height:1;transition:background-color .14s,border-color .14s,box-shadow .12s,transform 90ms;display:inline-grid;transform:translateY(0)}.session-target-phoneme:hover:not(:disabled),.session-target-phoneme:focus-visible:not(:disabled){border-color:color-mix(in srgb, var(--color-amber) 70%, var(--border));background:color-mix(in srgb, var(--color-amber) 24%, var(--panel));color:var(--text)}.session-target-phoneme:focus-visible{outline:3px solid var(--border);outline-offset:2px}.session-target-phoneme:active:not(:disabled){box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-amber) 32%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--color-amber) 58%, transparent);transform:translateY(2px)}.session-target-phoneme:disabled{cursor:not-allowed;opacity:.45}.phoneme-audio-button-wrap{display:inline-grid;position:relative}.symbol-group__buttons .phoneme-audio-button-wrap{flex:0 0 32px}.session-target-phonemes__empty{color:var(--muted);font-weight:700}.phoneme-tutorial-modal{z-index:80;background:color-mix(in srgb, var(--text) 58%, transparent);place-items:center;padding:24px;animation:.15s ease-out both phoneme-tutorial-modal-backdrop-enter;display:grid;position:fixed;inset:0}.phoneme-tutorial-modal__dialog{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:min(920px,100%);box-shadow:var(--shadow-strong);transform-origin:50%;gap:14px;padding:16px;animation:.18s cubic-bezier(.18,.88,.32,1.08) both phoneme-tutorial-modal-dialog-enter;display:grid}.phoneme-tutorial-modal__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.phoneme-tutorial-modal__header h2{margin:0;font-size:1.2rem}.phoneme-tutorial-modal__close{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:38px;height:38px;color:var(--text);font:inherit;cursor:pointer;place-items:center;font-size:1.4rem;line-height:1;display:inline-grid}.phoneme-tutorial-modal__close:hover,.phoneme-tutorial-modal__close:focus-visible{border-color:var(--accent)}.phoneme-tutorial-modal__close:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.phoneme-tutorial-modal__video{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);overflow:hidden}.phoneme-tutorial-modal__video iframe{border:0;width:100%;height:100%;display:block}@media (prefers-reduced-motion:reduce){.phoneme-tutorial-modal,.phoneme-tutorial-modal__dialog{animation:none}.script-session *,.symbols-tray,.symbols-tray *,[role=dialog],[role=dialog] *{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important}.timed-boundary-popover,.timed-syllable-popover,.timed-word-popover,.timed-boundary-popover.timed-popover--floating,.timed-syllable-popover.timed-popover--floating,.timed-word-popover.timed-popover--floating{animation:none}}.muffler-effect-modal{z-index:90;background:color-mix(in srgb, var(--text) 54%, transparent);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.muffler-effect-modal__dialog{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:min(560px,100%);max-height:min(720px,100vh - 48px);box-shadow:var(--shadow-strong);gap:14px;padding:18px;display:grid;overflow:auto}.muffler-effect-modal__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.muffler-effect-modal__header h2{color:var(--text);margin:0;font-size:1.2rem;line-height:1.2}.muffler-effect-modal__close{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:38px;height:38px;color:var(--text);cursor:pointer;font:inherit;place-items:center;font-size:1.4rem;line-height:1;display:inline-grid}.muffler-effect-modal__close:hover,.muffler-effect-modal__close:focus-visible{border-color:var(--accent)}.muffler-effect-modal__close:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.muffler-effect-modal__section{border-top:1px solid color-mix(in srgb, var(--border) 72%, transparent);grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px 14px;padding-top:12px;display:grid}.muffler-effect-modal__section-label{color:var(--muted);letter-spacing:0;font-size:.78rem;font-weight:760}.muffler-effect-modal__segmented{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.muffler-effect-modal__segment,.muffler-effect-modal__toggle{border:1px solid color-mix(in srgb, var(--muted) 24%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 74%, #f2f4f1);min-height:40px;color:color-mix(in srgb, var(--muted) 84%, var(--text));cursor:pointer;font:inherit;opacity:.82;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:.92rem;font-weight:780;line-height:1;transition:background-color .16s,border-color .16s,color .16s,box-shadow .12s,opacity .12s;display:inline-flex}.muffler-effect-modal__segment:hover,.muffler-effect-modal__segment:focus-visible,.muffler-effect-modal__toggle:hover,.muffler-effect-modal__toggle:focus-visible{border-color:color-mix(in srgb, var(--accent) 46%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--panel));color:var(--text);opacity:1}.muffler-effect-modal__segment:focus-visible,.muffler-effect-modal__toggle:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.muffler-effect-modal__segment--active,.muffler-effect-modal__toggle--active{border-color:color-mix(in srgb, var(--accent) 58%, var(--border));background:color-mix(in srgb, var(--accent) 18%, var(--panel));color:var(--text);opacity:1;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 24%, transparent), inset 0 -3px 0 color-mix(in srgb, var(--accent) 50%, transparent)}.muffler-effect-modal__segment:disabled,.muffler-effect-modal__toggle:disabled{cursor:not-allowed;opacity:.4}.muffler-effect-modal__segment-icon{place-items:center;width:18px;height:18px;font-size:1rem;font-weight:400;line-height:1;display:inline-grid}.muffler-effect-modal__setting-row{grid-column:1/-1;grid-template-columns:42px minmax(0,1fr) 56px;align-items:center;gap:12px;display:grid}.muffler-effect-modal__setting-row input{width:100%;accent-color:var(--color-amber)}.muffler-effect-modal__setting-row strong{min-width:0;color:var(--text);font-variant-numeric:tabular-nums;text-align:right;font-size:1.15rem;font-weight:850;line-height:1}.muffler-effect-modal__actions{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.muffler-effect-modal__waveform{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:text;touch-action:none;background:#f2f4f1;justify-self:stretch;width:100%;height:42px;display:block}.muffler-effect-modal__waveform:active{cursor:text}.muffler-effect-modal__icon-button{border:1px solid color-mix(in srgb, var(--muted) 24%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 74%, #f2f4f1);width:42px;height:42px;color:color-mix(in srgb, var(--muted) 84%, var(--text));cursor:pointer;font:inherit;opacity:.82;place-items:center;padding:0;font-size:1.1rem;font-weight:900;line-height:1;transition:background-color .16s,border-color .16s,color .16s,box-shadow .12s,opacity .12s;display:inline-grid}.muffler-effect-modal__icon-button:hover,.muffler-effect-modal__icon-button:focus-visible{border-color:color-mix(in srgb, var(--accent) 46%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--panel));color:var(--text);opacity:1}.muffler-effect-modal__icon-button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.muffler-effect-modal__icon-button--active{border-color:color-mix(in srgb, var(--accent) 58%, var(--border));background:color-mix(in srgb, var(--accent) 18%, var(--panel));color:var(--text);opacity:1;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 24%, transparent), inset 0 -3px 0 color-mix(in srgb, var(--accent) 50%, transparent)}.muffler-effect-modal__icon-button--muted{border-color:color-mix(in srgb, var(--color-red) 38%, var(--border));background:color-mix(in srgb, var(--color-red) 10%, var(--panel));color:var(--text);opacity:1}.muffler-effect-modal__icon-button:disabled{cursor:not-allowed;opacity:.4}.muffler-effect-modal__footer-button{border:1px solid color-mix(in srgb, var(--muted) 24%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 74%, #f2f4f1);min-height:40px;color:color-mix(in srgb, var(--muted) 84%, var(--text));cursor:pointer;font:inherit;opacity:.9;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:.92rem;font-weight:820;line-height:1;display:inline-flex}.muffler-effect-modal__footer-button:hover,.muffler-effect-modal__footer-button:focus-visible{border-color:color-mix(in srgb, var(--accent) 46%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--panel));color:var(--text);opacity:1}.muffler-effect-modal__footer-button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.muffler-effect-modal__footer-button--save{border-color:var(--color-amber);background:var(--color-amber);color:#fff;opacity:1}.muffler-effect-modal__footer-button--save:hover,.muffler-effect-modal__footer-button--save:focus-visible{border-color:color-mix(in srgb, var(--color-amber) 84%, var(--text));background:color-mix(in srgb, var(--color-amber) 88%, var(--text));color:#fff}.audio-player{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);box-shadow:var(--shadow-soft);gap:8px;padding:12px;display:grid}.audio-player__media{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.audio-player__waveform-wrap{gap:8px;display:grid;position:relative}.audio-player__body{gap:8px;display:grid}.audio-player__waveform{border-radius:calc(var(--radius-sm) - 2px);cursor:crosshair;touch-action:none;background:#f2f4f1;width:100%;height:clamp(72px,10.5vw,105px);display:block}.audio-player__status{border-radius:calc(var(--radius-sm) - 2px);background:color-mix(in srgb, var(--panel) 78%, transparent);color:var(--muted);text-align:center;place-items:center;padding:14px;font-weight:800;display:grid;position:absolute;inset:0 0 28px}.audio-player--error .audio-player__waveform{cursor:default}.audio-player__time-row{color:var(--muted);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;grid-template-columns:1fr auto 1fr;gap:12px;font-size:.9rem;display:grid}.audio-player__time-row span:nth-child(2){color:var(--accent);text-align:center}.audio-player__time-row span:nth-child(3){text-align:right}.audio-player__controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.audio-player__secondary-controls{flex-wrap:nowrap;flex:none;align-items:center;gap:10px;min-width:max-content;display:inline-flex}.play-button:disabled,.control-button:disabled,.script-session-waveform-control:disabled,.script-session-nudge-button:disabled,.melody-toggle-button:disabled{cursor:not-allowed;opacity:.55}.speed-control:has(input:disabled){cursor:not-allowed;opacity:.55}.speed-control{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:min(240px,100%);min-height:48px;color:var(--text);align-items:center;gap:8px;padding:10px 12px;font-weight:800;display:inline-flex}.speed-control input{width:100%;min-width:120px;accent-color:var(--color-amber)}.speed-control strong{font-variant-numeric:tabular-nums;min-width:54px}.speed-stepper{border:1px solid color-mix(in srgb, var(--muted) 20%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 72%, #f2f4f1);touch-action:none;-webkit-user-select:none;user-select:none;grid-template-columns:24px minmax(68px,auto) 24px;align-items:stretch;height:42px;display:inline-grid;overflow:hidden}.speed-stepper--dragging{border-color:color-mix(in srgb, var(--accent) 42%, var(--border))}.speed-stepper-readout{min-width:72px;min-height:40px;color:var(--text);font-variant-numeric:tabular-nums;box-shadow:inset 1px 0 0 color-mix(in srgb, var(--border) 68%, transparent), inset -1px 0 0 color-mix(in srgb, var(--border) 68%, transparent);background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:0 9px;font-size:.92rem;font-weight:650;line-height:1;display:inline-flex}.speed-stepper-readout span,.speed-stepper-readout .audio-emoji-control-icon{width:20px;color:var(--muted);text-align:center;flex:0 0 20px;font-size:1.02rem;line-height:1}.speed-stepper-readout strong{text-align:center;min-width:48px;font-weight:650;line-height:1}.audio-emoji-control-icon{text-align:center;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:1.15rem;font-style:normal;font-weight:400;line-height:1;display:inline-grid}.audio-clickTrack-icon{align-content:center;justify-items:center;gap:0;line-height:1;display:inline-grid}.audio-clickTrack-icon .audio-emoji-control-icon{height:20px}.audio-clickTrack-icon__solo{color:var(--color-red);text-transform:uppercase;font-size:.55rem;font-weight:900;line-height:1}.student-recording-panel{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);box-shadow:var(--shadow-soft);gap:10px;padding:12px;display:grid}.student-recording-panel__body{gap:8px;display:grid}.timed-boundary-popover,.timed-syllable-popover,.timed-word-popover{animation-duration:var(--motion-duration-popover);animation-timing-function:var(--motion-ease-primary)}.phoneme-tutorial-modal{animation-duration:var(--motion-duration-structural);animation-timing-function:var(--motion-ease-primary)}.symbols-tray,.symbols-tray__content{transition-duration:var(--motion-duration-structural);transition-timing-function:var(--motion-ease-primary)}.recording-state{gap:8px;display:grid}.student-recording-panel__body p{color:var(--muted);margin:0;font-size:.92rem;font-weight:700}.recording-status--recording,.recording-status--error{color:var(--color-red)}.recording-waveform-placeholder{border:1px dashed color-mix(in srgb, var(--accent) 28%, var(--border));border-radius:calc(var(--radius-sm) - 2px);background:#f2f4f1;grid-template-columns:repeat(32,minmax(0,1fr));place-items:center;gap:0;height:clamp(64px,8vw,86px);padding:10px;display:grid;overflow:hidden}.recording-empty-preview-stack{gap:8px;min-width:0;display:grid;position:relative}.recording-video-placeholder,.recording-video-preview{display:none}.recording-video-crop-frame{position:relative;overflow:hidden}.recording-video-preview__media{object-fit:contain;object-position:center center;width:100%;height:100%;transform:translate3d(var(--recording-video-pan-x,0), var(--recording-video-pan-y,0), 0) scaleX(-1) scale(var(--recording-video-zoom,1));transform-origin:50%;-webkit-user-select:none;user-select:none;background:#fff;transition:transform .12s;display:block;position:absolute;inset:0}.recording-video-preview__media--panning{transition:none}.recording-state--video-empty,.recording-state--video-capture,.recording-state--video-recorded{position:relative}.recording-video-control-overlay{z-index:3;pointer-events:none;width:auto;height:auto;position:absolute;inset:-1px;transform:none}.recording-video-control-overlay__record-only{z-index:1;pointer-events:auto;min-height:52px;padding:0 10px;position:absolute;inset:auto 0 0;transform:translateY(0)}.recording-video-control-overlay__record-only .recording-waveform-player__controls{justify-content:center;min-height:52px;overflow:visible}.recording-countdown-overlay{z-index:4;color:#fff;pointer-events:none;background:#00000094;place-items:center;display:grid;position:absolute;inset:0}.recording-countdown-overlay span{text-shadow:0 8px 28px #0000007a;font-size:clamp(5rem,22cqi,9rem);font-weight:1000;line-height:1}.recording-waveform-placeholder span{background:color-mix(in srgb, var(--accent) 26%, var(--border));border-radius:999px;width:4px;height:18%}.recording-waveform-placeholder span:nth-child(4n+1){height:34%}.recording-waveform-placeholder span:nth-child(4n+2){height:56%}.recording-waveform-placeholder span:nth-child(4n+3){height:42%}.recording-waveform-placeholder span:nth-child(8n+4){height:72%}.recording-live-visualization{border:1px solid color-mix(in srgb, var(--color-red) 34%, var(--border));border-radius:calc(var(--radius-sm) - 2px);background:#f2f4f1;grid-template-columns:repeat(28,minmax(0,1fr));place-items:center;gap:0;height:clamp(64px,8vw,86px);padding:10px;display:grid;overflow:hidden}.recording-live-visualization span{background:color-mix(in srgb, var(--color-red) 54%, var(--border));width:4px;height:18%;animation:.9s ease-in-out infinite recording-live-meter;animation-delay:calc(var(--bar-index,0) * -80ms);border-radius:999px}.recording-live-visualization span:nth-child(4n+1){--bar-index:1}.recording-live-visualization span:nth-child(4n+2){--bar-index:2}.recording-live-visualization span:nth-child(4n+3){--bar-index:3}.recording-live-visualization span:nth-child(4n+4){--bar-index:4}.recording-capture-buttons{justify-content:center;align-items:center;gap:6px;display:inline-flex}.record-button{border:1px solid color-mix(in srgb, var(--color-red) 58%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-red) 18%, var(--panel));width:42px;min-width:42px;height:42px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;opacity:1;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-red) 26%, transparent), inset 0 -3px 0 color-mix(in srgb, var(--color-red) 52%, transparent);justify-content:center;align-items:center;padding:0;font-size:0;font-weight:900;line-height:1;display:inline-flex;overflow:hidden}.record-button__icon{fill:currentColor;flex:none;width:22px;height:22px;display:block}.record-button:disabled{cursor:not-allowed;opacity:.55}.record-button:hover,.record-button:focus-visible{border-color:color-mix(in srgb, var(--color-red) 70%, var(--border));background:color-mix(in srgb, var(--color-red) 24%, var(--panel));color:var(--text);transform:translateY(-1px)}.record-button--recording{border-color:color-mix(in srgb, var(--color-red) 76%, var(--border));background:color-mix(in srgb, var(--color-red) 30%, var(--panel));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-red) 34%, transparent), inset 0 2px 0 color-mix(in srgb, var(--color-red) 30%, transparent)}.recording-waveform-player{gap:8px;width:100%;display:grid}.recording-waveform-player__media{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.recording-waveform-player__waveform{min-width:0;position:relative}.recording-waveform-corner-delete{z-index:2;color:#2024267a;width:32px;height:32px;box-shadow:none;cursor:pointer;opacity:1;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:1.25rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:4px;right:10px}.recording-waveform-corner-delete:hover,.recording-waveform-corner-delete:focus-visible{box-shadow:none;color:#d64332;background:#d6433214;border:0;outline:none}.recording-waveform-player__canvas{border-radius:calc(var(--radius-sm) - 2px);background:#f2f4f1;border:0;width:100%;height:clamp(72px,10.5vw,105px);display:block}.recording-waveform-player__controls{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-size:.9rem;font-weight:800;display:flex}.script-session-recording-panel--audio-sync-tile{--audio-sync-tile-padding:12px;--audio-sync-tile-gap:8px;--audio-sync-tile-header-height:16px;--audio-sync-tile-control-height:42px}.script-session-recording-panel--audio-sync-tile,.script-session-recording-panel--audio-sync-tile .script-session-recording-panel__recorder,.script-session-recording-panel--audio-sync-tile .student-recording-panel--audio-sync-tile,.script-session-recording-panel--audio-sync-tile .recording-state--recorded,.script-session-recording-panel--audio-sync-tile .recording-waveform-player--audio-sync-tile{background:0 0;border:0;width:100%;min-width:0;height:100%;min-height:0;padding:0;display:block}.audio-sync-waveform-tile{box-sizing:border-box;grid-template-rows:var(--audio-sync-tile-header-height) minmax(0, 1fr) var(--audio-sync-tile-control-height);gap:var(--audio-sync-tile-gap);width:100%;min-width:0;height:100%;min-height:0;padding:var(--audio-sync-tile-padding);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);display:grid;overflow:hidden}.audio-sync-waveform-tile__header{min-width:0;min-height:var(--audio-sync-tile-header-height);color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:.82rem;font-weight:400;line-height:var(--audio-sync-tile-header-height);text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;display:flex}.audio-sync-waveform-tile__label,.audio-sync-waveform-tile__meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:400;overflow:hidden}.audio-sync-waveform-tile__meta{text-align:right;text-transform:none;margin-left:auto}.audio-sync-waveform-tile__waveform{min-width:0;min-height:0}.audio-sync-waveform-tile__waveform>*,.audio-sync-waveform-tile__waveform .recording-waveform-player__waveform,.audio-sync-waveform-tile__waveform .recording-waveform-player__canvas,.audio-sync-waveform-tile__waveform .script-audio-panel__waveform-canvas{box-sizing:border-box;width:100%;min-width:0;height:100%;min-height:0}.audio-sync-waveform-tile__waveform .recording-waveform-player__waveform{position:relative}.audio-sync-waveform-tile__waveform .recording-waveform-player__canvas,.audio-sync-waveform-tile__waveform .script-audio-panel__waveform-canvas,.audio-sync-waveform-tile__empty,.audio-sync-waveform-tile__live{border:1px solid color-mix(in srgb, var(--muted) 18%, var(--border));background:#f7f8f6;border-radius:6px}.script-session-recording-panel--audio-sync-tile .audio-sync-waveform-tile__waveform .recording-waveform-player__canvas{height:100%;min-height:0}.audio-sync-waveform-tile__empty,.audio-sync-waveform-tile__live{color:color-mix(in srgb, var(--muted) 76%, var(--text));place-items:center;font-size:.8rem;display:grid}.audio-sync-waveform-tile__live{border-color:color-mix(in srgb, var(--color-red) 28%, var(--border));background:color-mix(in srgb, var(--color-red) 5%, #f7f8f6)}.audio-sync-waveform-tile__controls{min-width:0;min-height:var(--audio-sync-tile-control-height);scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:8px;display:flex;overflow:auto hidden}.audio-sync-waveform-tile__controls::-webkit-scrollbar{display:none}.audio-sync-waveform-tile__controls .script-session-waveform-control:hover,.audio-sync-waveform-tile__controls .script-session-waveform-control:focus-visible{transform:none}.audio-sync-waveform-tile__controls .script-session-waveform-control:focus-visible{outline-offset:-3px}.audio-sync-waveform-tile__controls svg{width:20px;height:20px}.audio-sync-waveform-tile__controls .recording-together-control{margin-left:14px}.audio-sync-waveform-tile__controls .recording-together-control:before{content:"";background:color-mix(in srgb, var(--border) 74%, transparent);width:1px;position:absolute;top:7px;bottom:7px;left:-8px}.audio-sync-waveform-tile__controls .recording-comparison-fader{flex:0 0 min(304px,100% - 6px);grid-template-columns:max-content minmax(96px,1fr) max-content;width:min(304px,100% - 6px);min-width:0;max-width:calc(100% - 6px);margin-left:6px}.audio-sync-waveform-tile__controls .recording-comparison-fader__side{white-space:nowrap;min-width:max-content}.recording-waveform-player--audio-sync-tile:focus-visible{outline:2px solid color-mix(in srgb, var(--color-red) 24%, transparent);outline-offset:2px}.item-line-panel-stack{grid-template-rows:minmax(0,1fr);gap:10px;height:100%;min-height:0;transition:grid-template-rows .24s cubic-bezier(.22,1,.36,1);display:grid}.item-line-panel-stack--with-reference,.item-line-panel-stack--with-recording{grid-template-rows:auto minmax(0,1fr)}.item-line-panel-stack--with-reference.item-line-panel-stack--with-recording{grid-template-rows:auto auto minmax(0,1fr)}.item-line-panel-stack--audio-sync.item-line-panel-stack--with-reference.item-line-panel-stack--with-recording{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:repeat(2,minmax(0,1fr))}.item-line-panel-stack--audio-sync .item-line-panel-stack__reference,.item-line-panel-stack--audio-sync .item-line-panel-stack__recording{min-height:0}.item-line-panel-stack--audio-sync .item-line-panel-stack__flowscript{grid-column:1/-1}@media (width<=640px){.item-line-panel-stack--audio-sync.item-line-panel-stack--with-reference.item-line-panel-stack--with-recording{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.item-line-panel-stack--audio-sync .item-line-panel-stack__flowscript{grid-column:auto}.session-workspace,.session-workspace--sidebar-closed{--session-sidebar-open-width:min(176px, 38vw);--session-phoneme-tray-open-width:min(204px, 46vw);grid-template-columns:minmax(0,1fr);height:100vh;min-height:0;margin:0;overflow:hidden}.session-sidebar{width:var(--session-sidebar-open-width);border-right:1px solid var(--border);border-bottom:0;min-height:0;overflow:hidden}.session-stage{padding:0 16px var(--session-stage-bottom-buffer);grid-area:1/1;overflow:hidden auto}.session-bar{margin:0 -16px 12px;padding:6px 12px}.symbols-tray:not(.symbols-tray--external-toggle){grid-column:auto}.symbols-tray--external-toggle:not(.symbols-tray--bottom){width:var(--session-phoneme-tray-open-width)}.symbols-tray__content{grid-template-columns:1fr}}.item-line-panel-stack__reference,.item-line-panel-stack__recording,.item-line-panel-stack__leading,.item-line-panel-stack__flowscript{min-width:0}.item-line-panel-stack__flowscript{min-height:0}.item-line-panel-stack--media-aware{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:10px}.item-line-panel-stack--media-aware.item-line-panel-stack--with-video-recording{grid-template-columns:minmax(250px,38%) minmax(0,1fr)}.item-line-panel-stack--media-aware.item-line-panel-stack--with-native-video{grid-template-columns:minmax(0,1fr) minmax(250px,38%)}.item-line-panel-stack--media-aware.item-line-panel-stack--with-video-recording.item-line-panel-stack--with-native-video{grid-template-columns:minmax(220px,30%) minmax(280px,1fr) minmax(220px,30%)}.item-line-panel-stack__video-recording,.item-line-panel-stack__native-video,.item-line-panel-stack__content,.item-line-panel-stack__audio-dock{min-width:0;min-height:0}.item-line-panel-stack__content{grid-template-rows:minmax(0,1fr);display:grid}.item-line-panel-stack__content--with-audio.item-line-panel-stack__content--with-text{grid-template-rows:minmax(0,1fr) minmax(0,3fr);gap:10px}.item-line-panel-stack__content--with-audio.item-line-panel-stack__content--with-dual-audio.item-line-panel-stack__content--with-text{grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.item-line-panel-stack__audio-dock{grid-auto-rows:minmax(0,1fr);gap:10px;display:grid}.item-line-panel-stack__audio-dock>.item-line-panel-stack__recording,.item-line-panel-stack__audio-dock>.item-line-panel-stack__reference,.item-line-panel-stack__video-recording,.item-line-panel-stack__native-video{height:100%;overflow:hidden}.item-line-panel-stack__panel--hidden{display:none}.item-line-panel-stack--media-aware .item-line-panel-stack__recording .script-session-recording-panel,.item-line-panel-stack--media-aware .item-line-panel-stack__recording .script-session-recording-panel__recorder,.item-line-panel-stack--media-aware .item-line-panel-stack__recording .student-recording-panel,.item-line-panel-stack--media-aware .item-line-panel-stack__reference .line-waveform-panel,.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording .script-session-recording-panel,.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording .script-session-recording-panel__recorder,.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording .student-recording-panel,.item-line-panel-stack--media-aware .item-line-panel-stack__native-video .item-native-video-player{width:100%;min-width:0;height:100%;min-height:0}.item-native-video-player{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);outline:0;place-items:center;display:grid;position:relative;overflow:hidden}.item-native-video-player:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.item-native-video-player__video{object-fit:contain;background:#fff;width:100%;min-width:0;height:100%;min-height:0;display:block}.item-native-video-player__audio-overlay{z-index:2;pointer-events:auto;height:52px;transition:height .17s ease-out;position:absolute;inset:auto 0 0;overflow:hidden}.item-native-video-player__audio-overlay .line-waveform-panel{box-sizing:border-box;background:#fffffff5;border:0;border-top:1px solid #2024261f;border-radius:0;grid-template-rows:0 0 52px;gap:0;width:100%;height:52px;min-height:0;padding:0 10px;transition:height .17s ease-out,padding .17s ease-out;overflow:hidden;box-shadow:0 -6px 18px #1f2a2614}.item-native-video-player__audio-overlay .line-waveform-panel__meta,.item-native-video-player__audio-overlay .line-waveform-panel__waveform-row{opacity:0;pointer-events:none;min-height:0;transition:opacity 90ms ease-out;overflow:hidden}.item-native-video-player:not(:hover):not(:focus-within):not([data-native-video-overlay-visible=true]) .item-native-video-player__audio-overlay .line-waveform-panel__control-row>:not(:first-child){display:none}.item-native-video-player__audio-overlay .line-waveform-panel__control-row{flex-wrap:nowrap;align-content:center;min-height:52px;overflow:visible}.item-native-video-player:hover .item-native-video-player__audio-overlay,.item-native-video-player:focus-within .item-native-video-player__audio-overlay,.item-native-video-player[data-native-video-overlay-visible=true] .item-native-video-player__audio-overlay{height:min(230px,46%)}.item-native-video-player:hover .item-native-video-player__audio-overlay .line-waveform-panel,.item-native-video-player:focus-within .item-native-video-player__audio-overlay .line-waveform-panel,.item-native-video-player[data-native-video-overlay-visible=true] .item-native-video-player__audio-overlay .line-waveform-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:8px;height:100%;padding:10px}.item-native-video-player:hover .item-native-video-player__audio-overlay .line-waveform-panel__meta,.item-native-video-player:hover .item-native-video-player__audio-overlay .line-waveform-panel__waveform-row,.item-native-video-player:focus-within .item-native-video-player__audio-overlay .line-waveform-panel__meta,.item-native-video-player:focus-within .item-native-video-player__audio-overlay .line-waveform-panel__waveform-row,.item-native-video-player[data-native-video-overlay-visible=true] .item-native-video-player__audio-overlay .line-waveform-panel__meta,.item-native-video-player[data-native-video-overlay-visible=true] .item-native-video-player__audio-overlay .line-waveform-panel__waveform-row{opacity:1;pointer-events:auto}.item-native-video-player__audio-overlay .line-waveform-panel__waveform-row,.item-native-video-player__audio-overlay .audio-player__waveform-wrap,.item-native-video-player__audio-overlay .audio-player__waveform{height:100%;min-height:0}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.item-native-video-player__audio-overlay .line-waveform-panel{-webkit-backdrop-filter:blur(12px)saturate(.9);backdrop-filter:blur(12px)saturate(.9)}}.item-line-panel-stack--media-aware .item-line-panel-stack__recording .audio-sync-waveform-tile{height:100%}.item-line-panel-stack--media-aware .item-line-panel-stack__reference .line-waveform-panel{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.item-line-panel-stack--media-aware .item-line-panel-stack__reference .audio-player__waveform-wrap,.item-line-panel-stack--media-aware .item-line-panel-stack__reference .audio-player__waveform,.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording .student-recording-panel__body,.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording .recording-state,.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording .recording-empty-preview-stack,.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording .recording-video-placeholder,.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording .recording-video-preview{height:100%;min-height:0}.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording .script-session-recording-panel__recorder{padding:0;overflow:hidden}.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording .student-recording-panel__body{display:grid;overflow:hidden}.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording :is(.recording-state--empty,.recording-state--recording,.recording-state--video-recorded){grid-template-rows:minmax(0,1fr) auto auto;align-content:stretch;position:relative}.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording .recording-empty-preview-stack--video{aspect-ratio:9/16;width:100%;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording :is(.recording-video-placeholder,.recording-video-preview){box-sizing:border-box;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording .recording-video-crop-frame{box-sizing:border-box;background:0 0;border:0;align-content:center;place-items:center;gap:10px;width:100%;max-width:100%;height:100%;min-height:0;display:grid;overflow:hidden}.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording .recording-video-preview .recording-video-crop-frame{padding:0}.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording .recording-video-placeholder__icon{color:color-mix(in srgb, var(--muted) 68%, var(--text));place-items:center;display:grid}.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording .recording-video-placeholder__icon .record-button__icon{opacity:.72;width:36px;height:36px}.item-line-panel-stack--media-aware .item-line-panel-stack__video-recording .recording-video-placeholder__line-label{color:color-mix(in srgb, var(--muted) 72%, var(--text));font-size:.76rem;font-weight:900;line-height:1}.item-line-flowscript-box{--script-session-flowscript-font-scale:1.18;height:100%;min-height:clamp(220px,32vh,360px)}.item-line-flowscript-box--centered .script-session-flowscript__line[data-item-line-flowscript-layout]{grid-template-columns:minmax(0,1fr);justify-items:stretch}.item-line-flowscript-box--centered .script-session-flowscript__line[data-item-line-flowscript-layout] .script-session-flowscript__tiers{text-align:center;width:100%}.item-line-flowscript-box__measurement{visibility:hidden;pointer-events:none;position:absolute;top:14px;left:14px;right:14px}.timed-syllable-wrap{-webkit-user-select:none;user-select:none;align-items:baseline;display:inline-flex;position:relative}.timed-syllable-wrap--dragging{cursor:grabbing}.timed-token{border-radius:calc(var(--radius-sm) - 3px);color:inherit;cursor:pointer;font:inherit;line-height:inherit;touch-action:none;-webkit-user-select:none;user-select:none;white-space:pre;background:0 0;border:0}.timed-syllable{padding:0 2px}.timed-syllable .flowscript-blank+.flowscript-blank{margin-left:.12em}.timed-token:hover,.timed-token:focus-visible{color:var(--text);background:#f2f4f1}.timed-syllable-wrap--dragging .timed-token:hover,.timed-word-wrap--dragging .timed-token:hover{background:color-mix(in srgb, var(--color-amber) 24%, transparent);color:var(--color-amber)}.timed-token:focus-visible{outline:3px solid var(--border);outline-offset:2px}.timed-token--active{background:color-mix(in srgb, var(--color-red) 24%, transparent);color:var(--color-red)}.timed-token--selected,.timed-token--range-selected,.timed-token--selected.timed-token--range-selected{background:color-mix(in srgb, var(--script-session-range-color,var(--color-amber)) 24%, transparent);color:var(--script-session-range-color,var(--color-amber))}.timed-syllable-separator{border-radius:calc(var(--radius-sm) - 3px);min-width:1.35em;min-height:1.35em;color:var(--muted);cursor:pointer;font:inherit;line-height:inherit;white-space:pre;background:0 0;border:0;place-items:center;padding:0 .08em;display:inline-grid}.timed-syllable-separator:hover,.timed-syllable-separator:focus-visible{color:var(--text);background:#f2f4f1}.timed-syllable-separator:focus-visible{outline:3px solid var(--border);outline-offset:2px}.timed-boundary-wrap{display:inline-grid;position:relative}.timed-boundary-popover{border:1px solid var(--border);border-radius:var(--radius-sm);width:max-content;max-width:240px;color:var(--text);transform-origin:bottom;z-index:70;background:#fff;align-items:center;gap:8px;padding:10px;font-size:.82rem;font-weight:800;line-height:1.2;animation:.15s cubic-bezier(.18,.88,.32,1.08) timed-popover-enter;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 22px 52px #1f2a263d,0 6px 16px #1f2a2624}.timed-boundary-popover:after{content:"";border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:5px 5px 12px #1f2a2614}.timed-boundary-popover__action{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);width:34px;min-height:32px;color:var(--panel);cursor:pointer;font:inherit;flex:0 0 34px;place-items:center;padding:0;font-size:.82rem;font-weight:800;display:inline-grid}.timed-boundary-popover__action svg{stroke:currentColor;width:17px;height:17px}.timed-boundary-popover__action:hover,.timed-boundary-popover__action:focus-visible{background:color-mix(in srgb, var(--accent) 82%, var(--text))}.timed-boundary-popover__action:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.timed-boundary-popover.timed-popover--floating,.timed-syllable-popover.timed-popover--floating,.timed-word-popover.timed-popover--floating{left:var(--timed-popover-left);top:var(--timed-popover-top);z-index:140;animation:.15s cubic-bezier(.18,.88,.32,1.08) timed-floating-popover-enter;position:fixed;bottom:auto;transform:translate(-50%,-100%)}.timed-boundary-popover.timed-popover--floating.timed-popover--below,.timed-syllable-popover.timed-popover--floating.timed-popover--below,.timed-word-popover.timed-popover--floating.timed-popover--below{transform-origin:top;animation:none;transform:translate(-50%)}.timed-boundary-popover.timed-popover--floating.timed-popover--below:after,.timed-syllable-popover.timed-popover--floating.timed-popover--below:after,.timed-word-popover.timed-popover--floating.timed-popover--below:after{top:-6px;bottom:auto;transform:translate(-50%)rotate(225deg)}.timed-syllable-popover{border:1px solid var(--border);border-radius:var(--radius-sm);width:max-content;max-width:260px;color:var(--text);isolation:isolate;transform-origin:bottom;z-index:70;background:#fff;justify-content:space-between;align-items:center;gap:8px;padding:10px;font-size:.82rem;font-weight:700;line-height:1.2;animation:.15s cubic-bezier(.18,.88,.32,1.08) timed-popover-enter;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 22px 52px #1f2a263d,0 6px 16px #1f2a2624}.timed-syllable-popover:after{content:"";border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:5px 5px 12px #1f2a2614}.timed-syllable-popover__action{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);width:34px;min-height:32px;color:var(--panel);cursor:pointer;font:inherit;flex:0 0 34px;place-items:center;padding:0;font-size:.82rem;font-weight:800;display:inline-grid}.timed-syllable-popover__action svg{stroke:currentColor;width:17px;height:17px}.timed-syllable-popover__action:hover,.timed-syllable-popover__action:focus-visible{background:color-mix(in srgb, var(--accent) 82%, var(--text))}.timed-syllable-popover__action:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.timed-syllable-popover__phonemes{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.timed-syllable-popover__phoneme{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));border-radius:var(--radius-sm);background:var(--accent-soft);min-width:30px;min-height:30px;color:var(--accent);cursor:pointer;font:inherit;place-items:center;padding:3px 7px;font-size:.95rem;font-weight:800;line-height:1;display:inline-grid}.timed-syllable-popover__phoneme:hover:not(:disabled),.timed-syllable-popover__phoneme:focus-visible:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--surface));color:var(--text)}.timed-syllable-popover__phoneme:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:2px}.timed-syllable-popover__phoneme:disabled{cursor:not-allowed;opacity:.45}.flowscript-blank{border-bottom:3px solid var(--color-red);width:.75em;height:1em;display:inline-block;transform:translateY(.12em)}.flowscript-symbol--target{color:var(--color-red);font-weight:700}.timed-syllable-modal{z-index:70;background:#1f2a2657;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.timed-syllable-modal__dialog{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:min(920px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow-strong);flex-direction:column;gap:12px;padding:16px;display:flex}.timed-syllable-modal__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.timed-syllable-modal__header p{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:800}.timed-syllable-modal__header h2{margin:2px 0 0;font-size:1.35rem;line-height:1.1}.timed-syllable-modal__header>button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:36px;height:36px;color:var(--text);cursor:pointer;font:inherit;place-items:center;font-size:1.25rem;line-height:1;display:inline-grid}.timed-syllable-modal__header>button:hover,.timed-syllable-modal__header>button:focus-visible{border-color:var(--accent)}.timed-syllable-modal__header>button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.timed-syllable-modal__title-row{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:2px;display:flex}.timed-syllable-modal__phonemes{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.timed-syllable-modal__phoneme{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));border-radius:var(--radius-sm);background:var(--accent-soft);min-width:30px;min-height:30px;color:var(--accent);cursor:pointer;font:inherit;place-items:center;padding:3px 7px;font-size:.95rem;font-weight:800;line-height:1;display:inline-grid}.timed-syllable-modal__phoneme:hover:not(:disabled),.timed-syllable-modal__phoneme:focus-visible:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--surface));color:var(--text)}.timed-syllable-modal__phoneme:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:2px}.timed-syllable-modal__phoneme:disabled{cursor:not-allowed;opacity:.45}.timed-syllable-modal__time{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-weight:800}.timed-syllable-modal__placeholder{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent-soft) 42%, var(--panel));min-height:0;color:var(--text);grid-template-rows:minmax(0,1fr) auto auto auto;gap:14px;padding:22px;display:grid;overflow-y:auto}.timed-syllable-modal__logo-wrap{place-items:start;min-height:0;display:grid}.timed-syllable-modal__logo-wrap img{object-fit:contain;width:min(160px,42%);max-height:96px}.timed-syllable-modal__placeholder p{margin:0;font-weight:800;line-height:1.4}.timed-syllable-modal__placeholder ul{gap:10px;margin:0;padding-left:22px;display:grid}.timed-syllable-modal__placeholder li{line-height:1.35}.timed-word-wrap{-webkit-user-select:none;user-select:none;display:inline-grid;position:relative}:is(.timed-word-wrap:has(.timed-word-popover),.timed-syllable-wrap:has(.timed-syllable-popover)){z-index:60}.timed-word-wrap--dragging{cursor:grabbing}.timed-word{padding:0 3px}.written-word-blank{border-bottom:3px solid var(--color-red);width:2.7em;height:1em;display:inline-block;transform:translateY(.12em)}.timed-word-popover{border:1px solid var(--border);border-radius:var(--radius-sm);width:max-content;max-width:320px;color:var(--text);isolation:isolate;transform-origin:bottom;z-index:70;background:#fff;gap:8px;padding:10px;font-size:.82rem;font-weight:700;line-height:1.2;animation:.15s cubic-bezier(.18,.88,.32,1.08) timed-popover-enter;display:grid;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 22px 52px #1f2a263d,0 6px 16px #1f2a2624}.timed-word-popover:after{content:"";border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:5px 5px 12px #1f2a2614}.timed-word-popover__flowscript,.timed-word-modal__flowscript{color:var(--muted);letter-spacing:0;margin:0;font-size:.95rem;font-weight:800;line-height:1.2}.timed-word-popover__flowscript-row,.timed-word-modal__flowscript-row,.timed-word-popover__controls,.timed-word-modal__controls{align-items:center;gap:8px;display:flex}.timed-word-popover__flowscript-row,.timed-word-modal__flowscript-row{justify-content:flex-start}.timed-word-popover__flowscript{flex:auto}.timed-word-popover__translation{color:var(--muted);letter-spacing:0;white-space:nowrap;font-size:.95rem;font-weight:700;line-height:1.2}.timed-word-popover__phonemes,.timed-word-modal__phonemes{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.timed-word-popover__phoneme,.timed-word-modal__phoneme{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));border-radius:var(--radius-sm);background:var(--accent-soft);min-width:30px;min-height:30px;color:var(--accent);cursor:pointer;font:inherit;place-items:center;padding:3px 7px;font-size:.95rem;font-weight:800;line-height:1;display:inline-grid}.timed-word-popover__phoneme:hover:not(:disabled),.timed-word-popover__phoneme:focus-visible:not(:disabled),.timed-word-modal__phoneme:hover:not(:disabled),.timed-word-modal__phoneme:focus-visible:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--surface));color:var(--text)}.timed-word-popover__phoneme:focus-visible,.timed-word-modal__phoneme:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:2px}.timed-word-popover__phoneme:disabled,.timed-word-modal__phoneme:disabled{cursor:not-allowed;opacity:.45}.timed-word-popover__action,.timed-word-modal__speaker{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);width:34px;min-height:32px;color:var(--panel);cursor:pointer;font:inherit;flex:0 0 34px;place-items:center;padding:0;font-size:.82rem;font-weight:800;display:inline-grid}.timed-word-popover__action svg,.timed-word-modal__speaker svg{stroke:currentColor;width:17px;height:17px}.timed-word-popover__action:hover,.timed-word-popover__action:focus-visible,.timed-word-modal__speaker:hover,.timed-word-modal__speaker:focus-visible{background:color-mix(in srgb, var(--accent) 82%, var(--text))}.timed-word-popover__action:focus-visible,.timed-word-modal__speaker:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.timed-syllable-popover__phoneme,.timed-word-popover__phoneme,.timed-syllable-popover__action,.timed-word-popover__action,.timed-boundary-popover__action{border:1px solid color-mix(in srgb, var(--accent) 58%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent) 18%, var(--panel));width:32px;min-width:32px;height:32px;min-height:32px;color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 26%, transparent), inset 0 -3px 0 color-mix(in srgb, var(--accent) 52%, transparent);flex:0 0 32px;padding:4px 6px;font-size:1rem;line-height:1}.timed-syllable-popover__action,.timed-word-popover__action,.timed-boundary-popover__action{padding:0}.timed-syllable-popover__phoneme:hover:not(:disabled),.timed-syllable-popover__phoneme:focus-visible:not(:disabled),.timed-word-popover__phoneme:hover:not(:disabled),.timed-word-popover__phoneme:focus-visible:not(:disabled),.timed-syllable-popover__action:hover,.timed-syllable-popover__action:focus-visible,.timed-word-popover__action:hover,.timed-word-popover__action:focus-visible,.timed-boundary-popover__action:hover,.timed-boundary-popover__action:focus-visible{border-color:color-mix(in srgb, var(--accent) 70%, var(--border));background:color-mix(in srgb, var(--accent) 24%, var(--panel));color:var(--text)}.timed-syllable-popover__phoneme:active:not(:disabled),.timed-word-popover__phoneme:active:not(:disabled),.timed-syllable-popover__action:active,.timed-word-popover__action:active,.timed-boundary-popover__action:active{border-color:color-mix(in srgb, var(--accent) 76%, var(--border));background:color-mix(in srgb, var(--accent) 30%, var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 34%, transparent), inset 0 2px 0 color-mix(in srgb, var(--accent) 30%, transparent)}.timed-syllable-popover__action--play{border-color:color-mix(in srgb, var(--color-red) 58%, var(--border));background:color-mix(in srgb, var(--color-red) 18%, var(--panel));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-red) 26%, transparent), inset 0 -3px 0 color-mix(in srgb, var(--color-red) 52%, transparent)}.timed-syllable-popover__action--play:hover,.timed-syllable-popover__action--play:focus-visible{border-color:color-mix(in srgb, var(--color-red) 70%, var(--border));background:color-mix(in srgb, var(--color-red) 24%, var(--panel));color:var(--text)}.timed-syllable-popover__action--play:active{border-color:color-mix(in srgb, var(--color-red) 76%, var(--border));background:color-mix(in srgb, var(--color-red) 30%, var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-red) 34%, transparent), inset 0 2px 0 color-mix(in srgb, var(--color-red) 30%, transparent)}.timed-word-modal{z-index:70;background:#1f2a2657;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.timed-word-modal__dialog{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:min(920px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow-strong);flex-direction:column;gap:12px;padding:16px;display:flex}.timed-word-modal__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.timed-word-modal__header p{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:800}.timed-word-modal__title-row{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:2px;display:flex}.timed-word-modal__header h2{margin:0;font-size:1.35rem;line-height:1.1}.timed-word-modal__header>button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:36px;height:36px;color:var(--text);cursor:pointer;font:inherit;place-items:center;font-size:1.25rem;line-height:1;display:inline-grid}.timed-word-modal__header>button:hover,.timed-word-modal__header>button:focus-visible{border-color:var(--accent)}.timed-word-modal__header>button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.timed-word-modal__time{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-weight:800}.timed-word-modal__placeholder{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent-soft) 42%, var(--panel));min-height:0;color:var(--text);grid-template-rows:minmax(0,1fr) auto auto;gap:14px;padding:22px;display:grid;overflow-y:auto}.timed-word-modal__logo-wrap{place-items:start;min-height:0;display:grid}.timed-word-modal__logo-wrap img{object-fit:contain;width:min(160px,42%);max-height:96px}.timed-word-modal__placeholder p{margin:0;font-weight:800;line-height:1.4}.timed-word-modal__placeholder ul{color:var(--text);margin:0;padding-left:20px;line-height:1.5}.script-session-line-modal{z-index:70;background:#1f2a2657;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.script-session-line-modal__dialog{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:min(920px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow-strong);flex-direction:column;gap:12px;padding:16px;display:flex}.script-session-line-modal__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.script-session-line-modal__header>div{flex:auto;min-width:0}.script-session-line-modal__header p{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:800}.script-session-line-modal__header h2{margin:2px 0 0;font-size:1.35rem;line-height:1.1}.script-session-line-modal__header>button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:36px;height:36px;color:var(--text);cursor:pointer;font:inherit;place-items:center;font-size:1.25rem;line-height:1;display:inline-grid}.script-session-line-modal__header>button:hover,.script-session-line-modal__header>button:focus-visible{border-color:var(--accent)}.script-session-line-modal__header>button:disabled{color:color-mix(in srgb, var(--muted) 44%, var(--panel));cursor:default;opacity:.45}.script-session-line-modal__header>button:disabled:hover{border-color:var(--border)}.script-session-line-modal__header>button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.script-session-line-modal__nav{flex:0 0 36px;font-size:1.55rem;font-weight:900}.script-session-line-modal__translation{color:var(--muted);margin:0;font-size:.95rem;font-weight:800;line-height:1.35}.script-session-line-modal__body{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent-soft) 42%, var(--panel));min-height:0;color:var(--text);gap:14px;padding:22px;display:grid;overflow-y:auto}.script-session-line-modal__section{gap:8px;display:grid}.script-session-line-modal__section+.script-session-line-modal__section{border-top:1px solid color-mix(in srgb, var(--border) 72%, transparent);padding-top:14px}.script-session-line-modal__section h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:900}.script-session-line-modal__section p{margin:0;font-weight:750;line-height:1.5}.script-session-line-modal__section ul{gap:10px;margin:0;padding-left:22px;line-height:1.45;display:grid}.script-session-line-modal__concepts{flex-wrap:wrap;gap:8px;padding-left:0;list-style:none;display:flex}.script-session-line-modal__concepts li{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));background:color-mix(in srgb, var(--accent-soft) 64%, var(--panel));min-height:28px;color:color-mix(in srgb, var(--accent) 72%, var(--text));border-radius:999px;place-items:center;padding:4px 9px;font-size:.78rem;font-weight:850;line-height:1.15;display:inline-grid}.timed-word-modal__placeholder li{margin:6px 0}.symbols-tray{--symbols-tray-tab-width:44px;grid-template-columns:var(--symbols-tray-tab-width) minmax(0, 1fr);z-index:50;width:min(380px,100vw - 8px);max-height:min(620px,100vh - 32px);box-shadow:none;pointer-events:none;transform:translate(calc(100% - var(--symbols-tray-tab-width)), -50%);background:0 0;border:0;align-items:center;transition:transform .18s;display:grid;position:fixed;inset:50% 0 auto auto}.symbols-tray--open{transform:translateY(-50%)}.symbols-tray:not(.symbols-tray--open) .symbols-tray__content{visibility:hidden;opacity:0;transition:visibility 0s linear .18s,opacity .12s}.symbols-tray--open .symbols-tray__content{visibility:visible;opacity:1}.symbols-tray__toggle{width:var(--symbols-tray-tab-width);border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:color-mix(in srgb, var(--panel) 88%, var(--bg));min-height:136px;box-shadow:var(--shadow-soft);pointer-events:auto;text-align:center;text-orientation:mixed;writing-mode:vertical-rl;border-right:0;grid-column:1;justify-content:center;justify-self:end;align-items:center;gap:6px;margin:0;padding:10px 8px;display:inline-flex}.symbols-tray__content{max-height:inherit;border:1px solid var(--border);border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:color-mix(in srgb, var(--panel) 92%, var(--bg));box-shadow:var(--shadow-strong);pointer-events:auto;border-right:0;grid-column:2;grid-template-columns:1fr;align-items:start;gap:10px;padding:14px 16px;transition:visibility linear,opacity .12s;display:grid;overflow-y:auto}.symbols-tray--external-toggle{top:calc(var(--session-topbar-height) + 1px);right:0;bottom:var(--session-stage-bottom-buffer);z-index:30;width:var(--session-phoneme-tray-open-width);pointer-events:none;visibility:hidden;opacity:0;grid-template-columns:minmax(0,1fr);align-items:stretch;max-height:none;transition:opacity .14s,transform .19s,visibility 0s linear .18s;position:absolute;left:auto;overflow:hidden;transform:translate(calc(100% + 10px))}.symbols-tray--external-toggle.symbols-tray--open{pointer-events:auto;visibility:visible;opacity:1;transition:opacity .14s,transform .19s,visibility linear;transform:translate(0)}.symbols-tray--external-toggle .symbols-tray__content{height:100%;max-height:none;padding:18px 14px calc(18px + var(--session-panel-scroll-fade-height)) 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);grid-column:1;gap:10px}.symbols-tray--external-toggle.symbols-tray--bottom{width:auto;height:var(--session-phoneme-tray-open-height,clamp(148px, 22vh, 210px));inset:auto 0 0;transform:translateY(calc(100% + 10px))}.symbols-tray--external-toggle.symbols-tray--bottom.symbols-tray--open{transform:translateY(0)}.symbols-tray--external-toggle.symbols-tray--bottom .symbols-tray__content{border-radius:var(--radius-sm) var(--radius-sm) 0 0;grid-template-columns:none;grid-auto-columns:minmax(132px,1fr);grid-auto-flow:column;justify-content:stretch;gap:8px;padding:10px 16px 10px 10px;display:grid;overflow:auto hidden}.symbols-tray--external-toggle.symbols-tray--bottom:after{width:var(--session-panel-scroll-fade-height);background:linear-gradient(to right, transparent, var(--panel));height:calc(100% - 2px);inset:1px 1px auto auto}.symbols-tray__header{justify-content:space-between;align-items:start;gap:12px;display:flex}.symbols-tray__header h2{color:var(--text);margin:0;font-size:1.22rem;line-height:1.1}.symbols-tray__header span{color:var(--muted);font-size:.9rem;font-weight:700}.symbol-group{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);align-content:start;gap:7px;padding:8px;display:grid}.symbol-group h3{color:var(--muted);margin:0;font-size:.9rem}.symbol-group__buttons{place-items:start center;gap:6px;display:grid}.symbol-group__button-row{align-items:center;gap:6px;display:flex}.symbol-button{border:1px solid color-mix(in srgb, var(--color-amber) 58%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-amber) 18%, var(--panel));width:32px;min-width:32px;height:32px;min-height:32px;color:var(--text);font:inherit;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-amber) 26%, transparent), inset 0 -3px 0 color-mix(in srgb, var(--color-amber) 52%, transparent);flex:0 0 32px;place-items:center;padding:4px 6px;font-size:1rem;font-weight:800;line-height:1;transition:background-color .14s,border-color .14s,box-shadow .12s,transform 90ms;display:inline-grid;transform:translateY(0)}.symbols-empty{color:var(--muted);text-align:center;grid-column:1/-1;margin:0}.icon-button:hover,.icon-button:focus-visible,.session-exit:hover,.session-exit:focus-visible,.row-icon--button:hover,.row-icon--button:focus-visible,.symbols-tray__toggle:hover,.symbols-tray__toggle:focus-visible,.control-button:hover,.control-button:focus-visible,.flowscript-next-button:hover,.flowscript-next-button:focus-visible,.symbol-button:hover,.symbol-button:focus-visible{border-color:color-mix(in srgb, var(--color-amber) 70%, var(--border));background:color-mix(in srgb, var(--color-amber) 24%, var(--panel))}.session-panel-toggle--active:hover,.session-panel-toggle--active:focus-visible{border-color:var(--border);background:var(--panel);box-shadow:none}.icon-button:focus-visible,.session-sidebar__item:focus-visible,.session-exit:focus-visible,.row-icon--button:focus-visible,.reveal-eye-button:focus-visible,.flowscript-next-button:focus-visible,.symbols-tray__toggle:focus-visible,.control-button:focus-visible,.play-button:focus-visible,.symbol-button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.symbol-button:active:not(:disabled){box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-amber) 32%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--color-amber) 58%, transparent);transform:translateY(2px)}@media (height<=820px){.session-stage{padding-top:0;padding-bottom:var(--session-stage-bottom-buffer);gap:6px}.session-bar{gap:6px}.session-exit{min-height:36px;padding:8px 12px}.session-target-phonemes{gap:6px 10px;font-size:.82rem}.session-target-phonemes__list{gap:4px}.session-target-phoneme{min-width:28px;min-height:28px;padding:3px 7px;font-size:.95rem}.audio-player{gap:6px;padding:8px}.audio-player__waveform-wrap{gap:5px}.audio-player__waveform,.recording-waveform-player__canvas{height:clamp(63px,10.5vh,89px)}.audio-player__time-row{font-size:.78rem}.audio-player__controls{gap:8px}}@media (height<=680px){.session-stage{padding-top:8px;padding-bottom:var(--session-stage-bottom-buffer);gap:4px}.session-exit{min-height:32px;padding:6px 10px;font-size:.82rem}.audio-player__waveform,.recording-waveform-player__canvas{height:clamp(66px,13.5vh,84px)}}@keyframes phoneme-tutorial-modal-backdrop-enter{0%{background:color-mix(in srgb, var(--text) 0%, transparent)}to{background:color-mix(in srgb, var(--text) 58%, transparent)}}@keyframes phoneme-tutorial-modal-dialog-enter{0%{opacity:0;transform:translateY(10px)scale(.965)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes recording-live-meter{0%,to{height:20%}50%{height:76%}}@keyframes timed-popover-enter{0%{opacity:0;transform:translate(-50%)translateY(6px)scale(.96)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes timed-floating-popover-enter{0%{opacity:0;transform:translate(-50%,calc(6px - 100%))scale(.96)}to{opacity:1;transform:translate(-50%,-100%)scale(1)}}:root{--session-motion-duration:.18s;--session-motion-easing:cubic-bezier(.2, 0, 0, 1);--session-panel-gap:12px;--session-touch-target:44px}.scribe-setup,.scribe-results{--scribe-error:#b95767;--scribe-error-soft:#faecef;--scribe-error-ink:#8e3447;--script-session-range-color:var(--color-amber);--script-session-range-soft:var(--color-amber-soft)}.app-main:has(>.scribe-setup){width:100%;height:calc(100vh - 47px);padding:18px 20px;overflow:hidden}.session-workspace,.script-session{--session-structural-transition:var(--session-motion-duration) var(--session-motion-easing)}@media (pointer:coarse){.session-workspace :is(button,[role=button]),.script-session :is(button,[role=button]){min-block-size:var(--session-touch-target)}}@media (prefers-reduced-motion:reduce){.session-workspace,.session-workspace *,.script-session,.script-session *,.scribe-setup,.scribe-setup *,.symbols-tray,.symbols-tray *,[role=dialog],[role=dialog] *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.scribe-setup{align-items:start;width:min(100%,1040px);height:100%;min-height:0;margin:0 auto;padding:4px 14px;display:grid;overflow:auto}.scribe-results{z-index:120;background:color-mix(in srgb, var(--text) 24%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.scribe-setup__panel,.scribe-results__panel{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);box-shadow:var(--shadow-soft);gap:18px;padding:22px;display:grid}.scribe-setup__panel{width:100%;box-shadow:none;gap:10px;padding:11px 20px}.scribe-results__panel{width:min(100%,760px);max-height:min(86vh,720px);overflow:auto}.scribe-setup__header,.scribe-results__header{justify-content:space-between;align-items:start;gap:18px;display:flex}.scribe-results__header{grid-template-columns:minmax(0,1fr) minmax(0,calc(33.3333% - 6.66667px));display:grid}.scribe-results__headline{gap:7px;display:grid}.scribe-results__score-line{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.scribe-setup__header{justify-content:space-between;align-items:start;gap:16px;display:flex}.scribe-setup__title{gap:5px;min-width:0;display:grid}.scribe-setup__header p,.scribe-results__header p{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.scribe-setup__header h1{margin:0;font-size:clamp(1.35rem,2.3vw,1.85rem);font-weight:900;line-height:1.05}.scribe-setup__start-button{background:color-mix(in srgb, var(--accent) 78%, var(--text));justify-content:center;align-self:start;min-width:140px;min-height:42px}.scribe-setup__header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.scribe-results__header h1{color:var(--accent);font-variant-numeric:tabular-nums;margin:0;font-size:clamp(3rem,8vw,5.4rem);line-height:.95}.scribe-results__score-complete{color:color-mix(in srgb, var(--text) 56%, var(--muted));font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(1rem,2.3vw,1.35rem);font-weight:900;line-height:1}.scribe-setup__section{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 96%, var(--bg));gap:9px;padding:13px 18px;display:grid}.scribe-setup__section h2{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:900}.scribe-setup__section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.scribe-setup__section-header>span{color:var(--muted);font-size:.86rem;font-weight:800}.scribe-option-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.scribe-option-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.scribe-option-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.scribe-option{border:1px solid color-mix(in srgb, var(--muted) 22%, var(--border));border-bottom:2px solid color-mix(in srgb, var(--muted) 40%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 96%, #f2f4f1);min-height:40px;color:color-mix(in srgb, var(--text) 78%, var(--muted));cursor:pointer;font:inherit;text-align:left;box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--muted) 14%, transparent);align-items:center;gap:10px;padding:7px 14px;transition:background-color .14s,border-color .14s,box-shadow .14s,color .14s;display:flex}.scribe-option:hover,.scribe-option:focus-visible{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));border-bottom-color:color-mix(in srgb, var(--accent) 52%, var(--border));background:color-mix(in srgb, var(--panel) 90%, #eef0ed)}.scribe-option:focus-visible,.scribe-action-button:focus-visible,.scribe-phoneme-group__toggle:focus-visible,.scribe-phoneme-super:focus-visible,.scribe-phoneme-chip:focus-visible,.scribe-blank__choice-trigger:focus-visible,.scribe-blank__input:focus-visible,.scribe-choice-strip__option:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.scribe-option--selected,.scribe-option--primary{border-color:color-mix(in srgb, var(--accent) 62%, var(--border));border-bottom-color:color-mix(in srgb, var(--accent) 78%, var(--border));background:color-mix(in srgb, var(--accent) 7%, var(--panel));color:color-mix(in srgb, var(--text) 92%, var(--accent));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 14%, transparent)}.scribe-option span{font-size:.96rem;font-weight:900;line-height:1.1}.scribe-option__icon{width:1.35em;color:color-mix(in srgb, var(--muted) 90%, var(--text));place-items:center;font-size:1.05rem;font-weight:900;display:inline-grid}.scribe-option__label{min-width:0}.scribe-option small{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.9rem;font-weight:900;line-height:1.25}.scribe-phoneme-group-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 12px;display:grid}.scribe-phoneme-super-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;display:grid}.scribe-phoneme-super{border:1px solid color-mix(in srgb, var(--muted) 22%, var(--border));border-bottom:2px solid color-mix(in srgb, var(--muted) 40%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 96%, #f2f4f1);min-height:42px;color:color-mix(in srgb, var(--text) 78%, var(--muted));cursor:pointer;font:inherit;text-align:left;box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--muted) 14%, transparent);justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex}.scribe-phoneme-super:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));border-bottom-color:color-mix(in srgb, var(--accent) 52%, var(--border));background:color-mix(in srgb, var(--panel) 90%, #eef0ed)}.scribe-phoneme-super--mixed{border-color:color-mix(in srgb, var(--accent) 38%, var(--border))}.scribe-phoneme-super--selected{border-color:color-mix(in srgb, var(--accent) 62%, var(--border));border-bottom-color:color-mix(in srgb, var(--accent) 78%, var(--border));background:color-mix(in srgb, var(--accent) 7%, var(--panel));color:color-mix(in srgb, var(--text) 92%, var(--accent));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 14%, transparent)}.scribe-phoneme-super__label{align-items:center;gap:10px;min-width:0;display:inline-flex}.scribe-phoneme-super__icon{width:1.35em;color:color-mix(in srgb, var(--muted) 90%, var(--text));place-items:center;font-size:1.05rem;font-weight:900;display:inline-grid}.scribe-phoneme-super__label span:last-child{font-size:.98rem;font-weight:900;line-height:1.1}.scribe-phoneme-super small{color:var(--muted);font-size:.8rem;font-weight:800;line-height:1}.scribe-phoneme-group{border:1px solid color-mix(in srgb, var(--muted) 22%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 98%, #f2f4f1);align-content:start;gap:7px;padding:8px 10px;display:grid}.scribe-phoneme-group--mixed{border-color:color-mix(in srgb, var(--accent) 38%, var(--border))}.scribe-phoneme-group--selected{border-color:color-mix(in srgb, var(--accent) 48%, var(--border));background:color-mix(in srgb, var(--accent) 5%, var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent)}.scribe-phoneme-group__toggle{min-height:22px;color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:0;display:flex}.scribe-phoneme-group__toggle:hover span{color:var(--accent)}.scribe-phoneme-group__toggle span{text-transform:none;font-size:.88rem;font-weight:900;line-height:1.1}.scribe-phoneme-group__toggle small{color:var(--muted);font-size:.78rem;font-weight:800;line-height:1}.scribe-phoneme-group__symbols{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.scribe-phoneme-chip{border:1px solid color-mix(in srgb, var(--muted) 26%, var(--border));border-bottom-color:color-mix(in srgb, var(--muted) 58%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 88%, #f2f4f1);width:32px;min-width:32px;height:32px;min-height:32px;color:color-mix(in srgb, var(--text) 72%, var(--muted));cursor:pointer;font:inherit;box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--muted) 18%, transparent);flex:0 0 32px;place-items:center;padding:4px 6px;font-size:1rem;font-weight:800;line-height:1;transition:background-color .14s,border-color .14s,box-shadow .12s,transform 90ms;display:inline-grid;transform:translateY(0)}.scribe-phoneme-chip:hover:not(:disabled),.scribe-phoneme-chip:focus-visible:not(:disabled){border-color:color-mix(in srgb, var(--muted) 38%, var(--border));border-bottom-color:color-mix(in srgb, var(--muted) 66%, var(--border));background:color-mix(in srgb, var(--panel) 82%, #eef0ed);color:color-mix(in srgb, var(--text) 78%, var(--muted));box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--muted) 22%, transparent)}.scribe-phoneme-chip:active:not(:disabled){border-color:color-mix(in srgb, var(--muted) 44%, var(--border));border-bottom-color:color-mix(in srgb, var(--muted) 70%, var(--border));background:color-mix(in srgb, var(--panel) 78%, #eef0ed);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 16%, transparent), inset 0 1px 0 color-mix(in srgb, var(--muted) 18%, transparent)}.scribe-phoneme-chip--selected{border-color:color-mix(in srgb, var(--accent) 58%, var(--border));border-bottom-color:color-mix(in srgb, var(--accent) 74%, var(--border));background:color-mix(in srgb, var(--accent) 9%, var(--panel));color:color-mix(in srgb, var(--accent) 88%, var(--text));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 14%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--accent) 24%, transparent)}.scribe-count-preview{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:.86rem;font-weight:800;display:flex}.scribe-count-preview span{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:6px 9px}.scribe-count-preview--header{justify-content:flex-end}.scribe-count-preview--header span{white-space:nowrap;justify-content:center;align-items:center;min-width:140px;min-height:40px;display:inline-flex}.scribe-action-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);min-height:40px;color:var(--text);cursor:pointer;font:inherit;padding:8px 13px;font-size:.9rem;font-weight:900}.scribe-action-button:hover:not(:disabled),.scribe-action-button:focus-visible:not(:disabled){border-color:var(--accent)}.scribe-action-button--primary{border-color:var(--accent);background:var(--accent);color:var(--panel)}.scribe-action-button:disabled,.script-session-tier-toggle:disabled{cursor:not-allowed;opacity:.55}.scribe-blank{--scribe-blank-chars:4;--scribe-blank-min-width:2.8em;--scribe-blank-char-width:.68em;--scribe-blank-inline-extra:.95em;--scribe-blank-max-width:9.5em;--scribe-blank-target-width:clamp(var(--scribe-blank-min-width), calc(var(--scribe-blank-chars) * var(--scribe-blank-char-width) + var(--scribe-blank-inline-extra)), var(--scribe-blank-max-width));vertical-align:top;white-space:normal;grid-auto-flow:row;place-items:center;gap:2px;margin:0 1px;display:inline-grid;position:relative}.scribe-blank--sounds{--scribe-blank-min-width:1.4em;--scribe-blank-char-width:.34em;--scribe-blank-inline-extra:.48em;--scribe-blank-max-width:4.75em}.scribe-blank__choice-trigger,.scribe-blank__input{min-width:var(--scribe-blank-min-width);box-sizing:border-box;border:1px solid color-mix(in srgb, var(--muted) 26%, var(--border));border-bottom:2px solid color-mix(in srgb, var(--muted) 58%, var(--border));border-radius:calc(var(--radius-sm) - 2px);background:color-mix(in srgb, var(--panel) 88%, #f2f4f1);color:color-mix(in srgb, var(--text) 72%, var(--muted));text-align:center;white-space:pre;box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--muted) 18%, transparent);padding:0 .45em;font-weight:900;transition:background-color .14s,border-color .14s,box-shadow .14s,color .14s}.scribe-blank--sounds .scribe-blank__choice-trigger,.scribe-blank--sounds .scribe-blank__input{padding-inline:.22em}.scribe-blank__choice-trigger,.scribe-blank__input{width:var(--scribe-blank-target-width)}.scribe-blank__input{cursor:text}.scribe-blank__feedback-tooltip{z-index:90;border:1px solid color-mix(in srgb, var(--muted) 18%, var(--border));border-radius:calc(var(--radius-sm) - 3px);background:color-mix(in srgb, var(--panel) 96%, #f2f4f1);max-width:max(100%,14em);box-shadow:0 8px 18px color-mix(in srgb, var(--text) 12%, transparent);color:color-mix(in srgb, var(--text) 78%, var(--muted));opacity:0;pointer-events:none;text-align:center;white-space:pre;padding:4px 7px;font-size:.66em;font-style:normal;font-weight:800;line-height:1.15;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%,3px)}.scribe-blank:hover .scribe-blank__feedback-tooltip,.scribe-blank:focus-within .scribe-blank__feedback-tooltip{opacity:1;transform:translate(-50%)}:is(.script-session-flowscript__line:has(.scribe-blank:hover),.script-session-flowscript__line:has(.scribe-blank:focus-within)){z-index:90;opacity:1}.script-session-flowscript__body>.script-session-flowscript__line:first-child .scribe-blank__feedback-tooltip,.script-session-flowscript__body>.script-session-flowscript__choice-rail:first-child+.script-session-flowscript__line .scribe-blank__feedback-tooltip{top:calc(100% + 7px);bottom:auto;transform:translate(-50%,-3px)}.script-session-flowscript__body>.script-session-flowscript__line:first-child .scribe-blank:hover .scribe-blank__feedback-tooltip,.script-session-flowscript__body>.script-session-flowscript__line:first-child .scribe-blank:focus-within .scribe-blank__feedback-tooltip,.script-session-flowscript__body>.script-session-flowscript__choice-rail:first-child+.script-session-flowscript__line .scribe-blank:hover .scribe-blank__feedback-tooltip,.script-session-flowscript__body>.script-session-flowscript__choice-rail:first-child+.script-session-flowscript__line .scribe-blank:focus-within .scribe-blank__feedback-tooltip{transform:translate(-50%)}.scribe-choice-strip{--scribe-choice-strip-text-size:calc(.96rem * var(--script-session-flowscript-font-scale,1) * var(--script-session-flowscript-syllable-scale,1));--scribe-choice-strip-option-height:calc((var(--scribe-choice-strip-text-size) * 1.2) + 8px);--scribe-choice-strip-row-gap:14px;--scribe-choice-strip-column-gap:16px;--scribe-choice-strip-height:calc((var(--scribe-choice-strip-option-height) * 2) + var(--scribe-choice-strip-row-gap) + 28px);width:fit-content;min-width:0;max-width:min(100%,760px);height:var(--scribe-choice-strip-height);min-height:var(--scribe-choice-strip-height);box-sizing:border-box;border:1px solid color-mix(in srgb, var(--muted) 18%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 94%, #f2f4f1);box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--muted) 10%, transparent);justify-self:center;padding:14px 16px;transition:background-color .18s,border-color .18s,box-shadow .18s;display:grid;overflow:hidden}.scribe-choice-strip--empty{box-shadow:none;background:0 0;border-color:#0000}.scribe-choice-strip__content{gap:var(--scribe-choice-strip-row-gap) var(--scribe-choice-strip-column-gap);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,max-content);justify-content:center;place-items:center;min-width:0;min-height:0;animation:.19s cubic-bezier(.2,.8,.2,1) scribe-choice-strip-content-in;display:grid}.scribe-choice-strip__content--empty{grid-template-rows:1fr;grid-template-columns:1fr;place-items:center}.scribe-choice-strip__empty-marker{color:color-mix(in srgb, var(--muted) 42%, transparent);font-size:var(--scribe-choice-strip-text-size);font-weight:420;line-height:1.28}.scribe-choice-strip__option{--choice-accent:#607486;--scribe-choice-chars:4;--scribe-choice-min-width:2.8em;--scribe-choice-char-width:.68em;--scribe-choice-inline-extra:.95em;--scribe-choice-max-width:9.5em;--scribe-choice-target-width:clamp(var(--scribe-choice-min-width), calc(var(--scribe-choice-chars) * var(--scribe-choice-char-width) + var(--scribe-choice-inline-extra)), var(--scribe-choice-max-width));width:min(var(--scribe-choice-target-width), 100%);height:var(--scribe-choice-strip-option-height);min-width:var(--scribe-choice-min-width);box-sizing:border-box;border:1px solid color-mix(in srgb, var(--muted) 26%, var(--border));border-bottom-color:color-mix(in srgb, var(--choice-accent) 46%, var(--border));border-radius:calc(var(--radius-sm) - 2px);background:color-mix(in srgb, var(--panel) 88%, #f2f4f1);min-height:0;box-shadow:inset 0 -3px 0 color-mix(in srgb, var(--choice-accent) 62%, transparent);color:var(--text);cursor:pointer;font:inherit;font-size:var(--scribe-choice-strip-text-size);text-align:center;white-space:nowrap;place-items:center;padding:0 .45em;font-weight:420;line-height:1.2;transition:background-color .14s,border-color .14s,box-shadow .14s,transform .12s;display:grid}.scribe-choice-strip--sounds .scribe-choice-strip__content{gap:8px}.scribe-choice-strip--sounds .scribe-choice-strip__option{--scribe-choice-min-width:1.4em;--scribe-choice-char-width:.34em;--scribe-choice-inline-extra:.48em;--scribe-choice-max-width:4.75em;padding-inline:.22em}.scribe-choice-strip__option:first-child{--choice-accent:#527fa8}.scribe-choice-strip__option:nth-child(2){--choice-accent:#7a6fa8}.scribe-choice-strip__option:nth-child(3){--choice-accent:#4f8f94}.scribe-choice-strip__option:nth-child(4){--choice-accent:#9a7586}.scribe-choice-strip__option:hover,.scribe-choice-strip__option:focus-visible{border-color:color-mix(in srgb, var(--muted) 34%, var(--border));border-bottom-color:color-mix(in srgb, var(--choice-accent) 62%, var(--border));background:color-mix(in srgb, var(--panel) 82%, #eef0ed);box-shadow:inset 0 -4px 0 color-mix(in srgb, var(--choice-accent) 76%, transparent);outline-color:color-mix(in srgb, var(--choice-accent) 26%, transparent);transform:translateY(-1px)}.scribe-choice-strip__option:active{transform:translateY(0)}.scribe-choice-strip--action{--scribe-choice-strip-text-size:1rem;--scribe-choice-strip-option-height:44px;width:min(100%,210px);height:calc(var(--scribe-choice-strip-option-height) + 28px);min-height:calc(var(--scribe-choice-strip-option-height) + 28px);box-sizing:border-box;place-items:center;padding:14px;display:grid}.scribe-choice-strip__content--action{grid-template-columns:1fr;grid-template-rows:var(--scribe-choice-strip-option-height);place-items:center;width:100%}.scribe-answer-action-button{width:100%;min-width:0;height:var(--scribe-choice-strip-option-height);box-sizing:border-box;border:1px solid color-mix(in srgb, var(--accent) 78%, #0b3f35);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent) 82%, #0b3f35);color:color-mix(in srgb, var(--accent-soft) 72%, var(--panel));font:inherit;white-space:nowrap;cursor:pointer;place-items:center;padding:0 16px;font-size:clamp(1rem,1.25vw,1.125rem);font-weight:850;line-height:1.2;display:grid}.scribe-answer-action-button:hover,.scribe-answer-action-button:focus-visible{border-color:color-mix(in srgb, var(--accent) 92%, #072f28);background:color-mix(in srgb, var(--accent) 68%, #072f28)}@keyframes scribe-choice-strip-content-in{0%{opacity:0;transform:translateY(-5px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}.scribe-results__metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.scribe-results__metric{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-variant-numeric:tabular-nums;gap:8px;padding:14px;display:grid}.scribe-results__metric span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:900}.scribe-results__metric strong{color:inherit;font-size:clamp(1.45rem,3vw,2.1rem);font-weight:900;line-height:1}.scribe-results__metric--right{border-color:color-mix(in srgb, var(--accent) 36%, var(--border));background:color-mix(in srgb, var(--accent-soft) 52%, var(--surface));color:var(--accent)}.scribe-results__metric--wrong{border-color:color-mix(in srgb, var(--scribe-error) 36%, var(--border));background:color-mix(in srgb, var(--scribe-error-soft) 76%, var(--surface));color:var(--scribe-error-ink)}.scribe-results__metric--time,.scribe-results__metric--speed{color:color-mix(in srgb, var(--text) 76%, var(--muted))}.scribe-results__metric--time strong{white-space:nowrap}.scribe-results__action{--scribe-results-action-color:var(--accent);--scribe-results-action-soft:var(--accent-soft);border-color:color-mix(in srgb, var(--scribe-results-action-color) 42%, var(--border));background:color-mix(in srgb, var(--scribe-results-action-soft) 68%, var(--panel));color:color-mix(in srgb, var(--scribe-results-action-color) 82%, var(--text));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--scribe-results-action-color) 12%, transparent), inset 0 -3px 0 color-mix(in srgb, var(--scribe-results-action-color) 42%, transparent)}.scribe-results__action:hover,.scribe-results__action:focus-visible{border-color:color-mix(in srgb, var(--scribe-results-action-color) 68%, var(--border));background:color-mix(in srgb, var(--scribe-results-action-soft) 86%, var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--scribe-results-action-color) 18%, transparent), inset 0 -4px 0 color-mix(in srgb, var(--scribe-results-action-color) 56%, transparent)}.scribe-results__actions{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:16px;display:grid}.scribe-results__action{text-align:center;justify-content:center;width:100%;min-height:44px}.scribe-results__action--rescribe{--scribe-results-action-color:var(--color-amber);--scribe-results-action-soft:var(--color-amber-soft)}.scribe-results__action--sync{--scribe-results-action-color:var(--color-red);--scribe-results-action-soft:var(--color-red-soft)}.scribe-results__action--home{--scribe-results-action-color:var(--accent);--scribe-results-action-soft:var(--accent-soft)}.scribe-results__review-button{border-color:color-mix(in srgb, var(--muted) 26%, var(--border));border-bottom:2px solid color-mix(in srgb, var(--muted) 58%, var(--border));width:100%;min-height:44px;color:color-mix(in srgb, var(--text) 72%, var(--muted));box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--muted) 18%, transparent);white-space:nowrap;background:#fff;justify-content:center;align-items:center;gap:8px;display:inline-flex}.scribe-results__review-button:hover,.scribe-results__review-button:focus-visible{border-color:color-mix(in srgb, var(--accent) 42%, var(--border));border-bottom-color:color-mix(in srgb, var(--accent) 54%, var(--border));background:#fff}.script-session-flowscript{--script-session-flowscript-font-scale:2.4;--script-session-flowscript-syllable-scale:1;--script-session-flowscript-edge-zone-height:20%;--script-session-flowscript-edge-safe-space:clamp(160px, 25vh, 260px);--script-session-flowscript-body-padding-x:14px;--script-session-flowscript-line-padding-start:12px;--script-session-flowscript-control-padding-x:10px;--script-session-tier-toggle-size:42px;--script-session-tier-toggle-gap:6px;--script-session-tier-toggle-span:calc(var(--script-session-tier-toggle-size) + var(--script-session-tier-toggle-size) + var(--script-session-tier-toggle-size) + var(--script-session-tier-toggle-size) + var(--script-session-tier-toggle-gap) + var(--script-session-tier-toggle-gap) + var(--script-session-tier-toggle-gap));--script-session-text-slider-width:calc(var(--script-session-tier-toggle-span) + var(--script-session-tier-toggle-span));--script-session-text-slider-control-inset:max(0px, calc(var(--script-session-flowscript-body-padding-x) + var(--script-session-flowscript-line-padding-start) - var(--script-session-flowscript-control-padding-x)));border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);grid-template-rows:auto minmax(0,1fr) auto auto;height:100%;min-height:0;transition:border-color .18s,background-color .18s;display:grid;position:relative;overflow:hidden}.script-session-flowscript__top-controls{box-sizing:border-box;min-height:70px;padding:14px var(--script-session-flowscript-control-padding-x);border-bottom:1px solid color-mix(in srgb, var(--border) 72%, transparent);background:color-mix(in srgb, var(--panel) 94%, white);flex:none;grid-row:1;justify-content:center;align-items:center;display:flex}.script-session-flowscript--edge-overlay .script-session-flowscript__top-controls,.script-session-flowscript--edge-overlay .script-session-flowscript__controls{z-index:7;box-shadow:none;opacity:0;pointer-events:none;visibility:hidden;border:0;border-radius:0;transition:opacity .14s,transform .17s,visibility 0s linear .17s;position:absolute;left:0;right:0;overflow:hidden}.script-session-flowscript--edge-overlay .script-session-flowscript__top-controls{border-bottom:1px solid color-mix(in srgb, var(--border) 72%, transparent);top:0;transform:translateY(-12px);box-shadow:0 14px 24px #51605b24}.script-session-flowscript--edge-overlay .script-session-flowscript__controls{border-top:1px solid color-mix(in srgb, var(--border) 72%, transparent);bottom:0;transform:translateY(12px);box-shadow:0 -14px 24px #51605b24}.script-session-flowscript--edge-overlay[data-script-session-text-top-controls-visible=true] .script-session-flowscript__top-controls,.script-session-flowscript--edge-overlay[data-script-session-text-bottom-controls-visible=true] .script-session-flowscript__controls{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .14s,transform .17s,visibility linear;transform:translateY(0)}.script-session-flowscript__edge-zone{z-index:6;height:var(--script-session-flowscript-edge-zone-height);background:0 0;position:absolute;left:0;right:0}.script-session-flowscript__edge-zone--top{top:0}.script-session-flowscript__edge-zone--bottom{bottom:0}.script-session-flowscript__body{overflow-anchor:none;min-height:0;padding:14px var(--script-session-flowscript-body-padding-x);scroll-padding:var(--script-session-flowscript-body-padding-x) 0;transition:padding var(--script-session-recording-transition-duration) var(--script-session-recording-transition-ease);flex-direction:column;grid-row:2;gap:10px;display:flex;position:relative;overflow-y:auto}.script-session-flowscript--edge-overlay .script-session-flowscript__body{padding-top:var(--script-session-flowscript-edge-safe-space);padding-bottom:var(--script-session-flowscript-edge-safe-space);scroll-padding:var(--script-session-flowscript-edge-safe-space) 0}.script-session-flowscript__phoneme-tray{background:color-mix(in srgb, var(--panel) 96%, white);opacity:0;pointer-events:none;visibility:hidden;border-top:1px solid #0000;grid-row:3;height:0;min-height:0;transition:border-color .16s,height .19s,opacity .14s,visibility 0s linear .19s;overflow:hidden}.script-session-flowscript__phoneme-tray--open{height:var(--script-session-phoneme-tray-open-height);border-top-color:color-mix(in srgb, var(--border) 72%, transparent);opacity:1;pointer-events:auto;visibility:visible;transition:border-color .16s,height .19s,opacity .14s,visibility linear}.script-session-flowscript__phoneme-tray-content{grid-auto-columns:minmax(132px,1fr);grid-auto-flow:column;justify-content:stretch;gap:8px;min-width:0;height:100%;padding:10px 16px 10px 10px;display:grid;overflow:auto hidden}.script-session-flowscript__controls{box-sizing:border-box;min-height:70px;padding:14px var(--script-session-flowscript-control-padding-x);border-top:1px solid color-mix(in srgb, var(--border) 72%, transparent);background:color-mix(in srgb, var(--panel) 94%, white);flex:none;grid-row:4;justify-content:center;align-items:stretch;display:flex}.script-session-flowscript:not(.script-session-flowscript--edge-overlay) .script-session-flowscript__controls{min-height:58px;padding:8px var(--script-session-flowscript-control-padding-x);background:color-mix(in srgb, var(--panel) 96%, white);box-shadow:none}.script-session-text-study-toolbar{grid-template-columns:minmax(94px,1fr) auto minmax(94px,1fr);align-items:center;gap:16px;width:100%;min-width:0;display:grid}.script-session-text-study-toolbar--tiers-only{grid-template-columns:minmax(0,1fr);justify-items:center}.script-session-text-study-toolbar__group{align-items:center;min-width:0;display:flex}.script-session-text-study-toolbar__group--tiers{justify-content:center}@media (width<=720px){.script-session-flowscript:not(.script-session-flowscript--edge-overlay) .script-session-flowscript__controls{min-height:0}.script-session-text-study-toolbar{grid-template-columns:1fr auto;gap:8px 12px}}.script-session-text-bottom-controls{align-content:center;justify-items:center;gap:12px;width:100%;min-width:0;display:grid}.script-session-flowscript__return-script{border:1px solid color-mix(in srgb, var(--color-amber) 46%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-amber) 12%, var(--panel));min-height:42px;color:color-mix(in srgb, var(--color-amber) 72%, var(--text));cursor:pointer;font:inherit;white-space:nowrap;justify-content:center;align-items:center;gap:6px;margin-left:auto;padding:0 10px;font-size:.82rem;font-weight:900;line-height:1;display:inline-flex}.script-session-flowscript__return-script:hover,.script-session-flowscript__return-script:focus-visible{border-color:color-mix(in srgb, var(--color-amber) 72%, var(--border));background:color-mix(in srgb, var(--color-amber) 22%, var(--panel));color:var(--text);transform:translateY(-1px)}.script-session-flowscript__return-script:focus-visible{outline:3px solid color-mix(in srgb, var(--color-amber) 24%, transparent);outline-offset:2px}.script-session-flowscript__return-script-icon{display:inline-block;transform:scaleY(-1)}.script-session-flowscript--scribing{--script-session-range-color:var(--script-session-scribe-range-color,#607486);--script-session-range-soft:var(--script-session-scribe-range-soft,#edf2f4);padding-top:0}.script-session-flowscript--scribing .script-session-flowscript__body{scroll-padding:24px 0}.script-session-flowscript--scribing .script-session-flowscript__text--flowscript{line-height:1.52}.script-session-flowscript--scribing .scribe-blank{margin-block:.08em}.script-session-flowscript--scribing .scribe-blank--sounds{--scribe-blank-min-width:1.55em;--scribe-blank-char-width:.38em;--scribe-blank-inline-extra:.56em;margin-inline:.06em}.script-session-flowscript__choice-rail{order:1;width:100%;padding:0 50px 0 48px}.script-session-flowscript__line{width:100%;padding:10px var(--script-session-flowscript-line-padding-start);border-radius:var(--radius-sm);color:var(--text);opacity:.26;text-align:left;transition:background-color .16s ease, color .16s ease, grid-template-columns var(--script-session-recording-transition-duration) var(--script-session-recording-transition-ease), min-height var(--script-session-recording-transition-duration) var(--script-session-recording-transition-ease), opacity var(--script-session-recording-transition-duration) var(--script-session-recording-transition-ease), padding var(--script-session-recording-transition-duration) var(--script-session-recording-transition-ease), transform var(--script-session-recording-transition-duration) var(--script-session-recording-transition-ease);background:0 0;border:0;order:1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;display:grid;position:relative}.script-session-flowscript__line:hover{opacity:.74;background:#f2f4f1}:is(.script-session-flowscript__line:has(.timed-word-popover),.script-session-flowscript__line:has(.timed-syllable-popover),.script-session-flowscript__line:has(.timed-boundary-popover)){z-index:80;opacity:1}.script-session-flowscript__line--active{background:color-mix(in srgb, var(--color-red) 5%, transparent);color:var(--text);opacity:1}.script-session-flowscript__line--active:hover{background:color-mix(in srgb, var(--color-red) 8%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-red) 10%, transparent);opacity:1}.script-session-flowscript__line--gap{opacity:.78;grid-template-columns:minmax(0,1fr);place-items:center;min-height:25px;padding:2px 12px}.script-session-flowscript__line--gap .script-session-flowscript__tiers{display:none}.script-session-flowscript__line--gap:last-child{margin-bottom:20px}.script-session-flowscript__line--gap:hover,.script-session-flowscript__line--gap.script-session-flowscript__line--active{background:color-mix(in srgb, var(--accent) 7%, transparent);opacity:1}.script-session-flowscript--scribing .script-session-flowscript__line{opacity:1}.script-session:not([data-scribe-review=active]) .script-session-flowscript--scribing .script-session-flowscript__line:not(.script-session-flowscript__line--active) .script-session-flowscript__line-number,.script-session:not([data-scribe-review=active]) .script-session-flowscript--scribing .script-session-flowscript__line:not(.script-session-flowscript__line--active) .timed-token,.script-session:not([data-scribe-review=active]) .script-session-flowscript--scribing .script-session-flowscript__line:not(.script-session-flowscript__line--active) .timed-syllable-separator{opacity:.42}.script-session:not([data-scribe-review=active]) .script-session-flowscript--scribing .script-session-flowscript__line:not(.script-session-flowscript__line--active):hover .script-session-flowscript__line-number,.script-session:not([data-scribe-review=active]) .script-session-flowscript--scribing .script-session-flowscript__line:not(.script-session-flowscript__line--active):hover .timed-token,.script-session:not([data-scribe-review=active]) .script-session-flowscript--scribing .script-session-flowscript__line:not(.script-session-flowscript__line--active):hover .timed-syllable-separator{opacity:.74}.script-session-flowscript__line-number-wrap{align-self:center;display:inline-grid;position:relative}.script-session-flowscript__line-number{border:1px solid color-mix(in srgb, var(--muted) 18%, var(--border));border-radius:calc(var(--radius-sm) - 3px);background:color-mix(in srgb, var(--panel) 72%, #f2f4f1);width:1.9rem;min-height:1.9rem;color:var(--muted);cursor:pointer;font-variant-numeric:tabular-nums;letter-spacing:0;flex:none;align-self:center;place-items:center;padding:0;font-size:.86rem;font-weight:800;line-height:1.34;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s;display:inline-grid}.script-session-flowscript__line-number:hover,.script-session-flowscript__line-number:focus-visible{border-color:color-mix(in srgb, var(--color-amber) 42%, var(--border));background:color-mix(in srgb, var(--color-amber) 12%, var(--panel));color:var(--color-red);transform:translateY(-1px)}.script-session-flowscript--scribing .script-session-flowscript__line-number:hover,.script-session-flowscript--scribing .script-session-flowscript__line-number:focus-visible{border-color:color-mix(in srgb, var(--script-session-range-color) 38%, var(--border));background:color-mix(in srgb, var(--script-session-range-color) 10%, var(--panel));color:color-mix(in srgb, var(--text) 82%, var(--muted))}.script-session-flowscript__line-number--selected{border-color:color-mix(in srgb, var(--script-session-range-color) 58%, var(--border));background:color-mix(in srgb, var(--script-session-range-color) 18%, var(--panel));color:color-mix(in srgb, var(--script-session-range-color) 76%, var(--text));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--script-session-range-color) 22%, transparent), inset 0 -2px 0 color-mix(in srgb, var(--script-session-range-color) 48%, transparent)}.script-session-flowscript__line-number:focus-visible{outline:3px solid var(--border);outline-offset:2px}.script-session-flowscript__line-number--gap{height:1rem;min-height:1rem;color:var(--muted);cursor:pointer;box-shadow:none;background:0 0;border:0;border-radius:0;align-self:center;padding-top:0}.script-session-flowscript__line-number--gap:hover,.script-session-flowscript__line-number--gap:focus-visible,.script-session-flowscript__line--gap.script-session-flowscript__line--active .script-session-flowscript__line-number--gap{color:var(--text);background:0 0}.script-session-flowscript__line-record{opacity:1;transition:background-color .16s ease, border-color .16s ease, color .16s ease, opacity var(--script-session-recording-transition-duration) var(--script-session-recording-transition-ease), transform var(--script-session-recording-transition-duration) var(--script-session-recording-transition-ease);align-self:center;position:absolute;top:50%;right:15px;transform:translateY(-50%)}.script-session-flowscript__gap-icon{letter-spacing:.06em;color:currentColor;font-size:1.05rem;font-weight:900;line-height:.8;display:block}.script-session-flowscript__tiers{opacity:1;min-width:0;transition:min-height var(--script-session-recording-transition-duration) var(--script-session-recording-transition-ease), opacity var(--script-session-recording-transition-duration) var(--script-session-recording-transition-ease), transform var(--script-session-recording-transition-duration) var(--script-session-recording-transition-ease), visibility 0s linear 0s;align-self:center;gap:0;display:grid;transform:translateY(0)}.script-session-flowscript__line--text-masked .script-session-flowscript__tiers{visibility:hidden;opacity:0;pointer-events:none;transition:min-height var(--script-session-recording-transition-duration) var(--script-session-recording-transition-ease), opacity var(--script-session-recording-transition-duration) var(--script-session-recording-transition-ease), transform var(--script-session-recording-transition-duration) var(--script-session-recording-transition-ease), visibility 0s linear var(--script-session-recording-transition-duration);transform:translateY(6px)}.script-session-flowscript__line--text-masked .script-session-flowscript__line-record{visibility:hidden;opacity:0;pointer-events:none}.script-session-flowscript__line--text-masked:hover .script-session-flowscript__tiers,.script-session-flowscript__line--text-masked:focus-within .script-session-flowscript__tiers{visibility:visible;opacity:.42;pointer-events:auto;transition:opacity .16s,transform .16s,visibility linear;transform:translateY(0)}.script-session-flowscript__line--text-masked:hover .script-session-flowscript__line-record,.script-session-flowscript__line--text-masked:focus-within .script-session-flowscript__line-record{visibility:visible;opacity:.42;pointer-events:auto}.script-session-flowscript__line--text-masked .script-session-flowscript__line-number-wrap{opacity:.34;transition:opacity .16s}.script-session-flowscript__line--text-masked:hover .script-session-flowscript__line-number-wrap,.script-session-flowscript__line--text-masked:focus-within .script-session-flowscript__line-number-wrap{opacity:1}.script-session-flowscript__text{font-size:calc(.86rem * var(--script-session-flowscript-font-scale,1));text-align:center;text-wrap:balance;color:var(--text);padding:8px 0;font-weight:400;line-height:1.34;display:block}.script-session-flowscript__text+.script-session-flowscript__text{border-top:0}.script-session-flowscript__text--flowscript+.script-session-flowscript__text{border-top:1px solid color-mix(in srgb, var(--border) 78%, transparent);margin-top:10px;padding-top:10px}.script-session-flowscript__text--written+.script-session-flowscript__text--gloss{margin-top:-2px;padding-top:0}.script-session-flowscript--scribing .script-session-flowscript__text--gloss+.script-session-flowscript__text--flowscript,.script-session-flowscript--scribing .script-session-flowscript__text--written+.script-session-flowscript__text--flowscript{border-top:1px solid color-mix(in srgb, var(--border) 78%, transparent);margin-top:10px;padding-top:10px}.script-session-flowscript__text:not(.script-session-flowscript__text--natural-english){-webkit-user-select:none;user-select:none}.script-session-flowscript__text--flowscript{color:color-mix(in srgb, var(--text) 92%, black);font-size:calc(.96rem * var(--script-session-flowscript-font-scale,1) * var(--script-session-flowscript-syllable-scale,1));text-wrap:balance;white-space:normal;font-weight:420;line-height:1.28}.script-session-scribe-partial-syllable{vertical-align:baseline;cursor:pointer;align-items:baseline;gap:1px;display:inline-flex}.script-session-scribe-partial-syllable:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.script-session-scribe-phoneme-part{display:inline-block}.script-session-scribe-phoneme-blank{vertical-align:baseline}:is(.script-session-flowscript--scribing .timed-syllable:has(.script-session-scribe-phoneme-blank:hover),.script-session-flowscript--scribing .timed-syllable:has(.script-session-scribe-phoneme-blank:focus),.script-session-flowscript--scribing .timed-syllable:has(.script-session-scribe-phoneme-blank:focus-visible),.script-session-flowscript--scribing .timed-syllable:has(.script-session-scribe-phoneme-blank.timed-token--active)){color:inherit;box-shadow:none;background:0 0}.script-session-flowscript__text--written,.script-session-flowscript__text--natural-english{font-size:calc(.96rem * var(--script-session-flowscript-font-scale,1) * var(--script-session-flowscript-syllable-scale,1));line-height:1.34}.script-session-flowscript__text--written{color:color-mix(in srgb, var(--text) 72%, var(--muted));font-weight:400}.script-session-flowscript__written-word{border-radius:calc(var(--radius-sm) - 3px);padding:0 2px;transition:background-color .12s,color .12s,box-shadow .12s}.script-session-flowscript__written-word--active,.script-session-flowscript .timed-token--active,.script-session-flowscript .script-session-flowscript__written-word--active{background:color-mix(in srgb, var(--color-red) 18%, transparent);color:var(--color-red);box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--color-red) 84%, transparent)}.script-session-flowscript .timed-token--selected,.script-session-flowscript .timed-token--range-selected,.script-session-flowscript .script-session-flowscript__written-word--selected{background:color-mix(in srgb, var(--script-session-range-color) 26%, transparent);color:color-mix(in srgb, var(--script-session-range-color) 72%, var(--text));box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--script-session-range-color) 84%, transparent)}.script-session-flowscript .timed-token--selected.timed-token--active,.script-session-flowscript .timed-token--range-selected.timed-token--active,.script-session-flowscript .script-session-flowscript__written-word--selected.script-session-flowscript__written-word--active{background:color-mix(in srgb, var(--color-red) 36%, transparent);color:var(--text);box-shadow:inset 0 -3px 0 var(--color-red)}.script-session-flowscript:not(.script-session-flowscript--dragging) .script-session-flowscript__text:not(.script-session-flowscript__text--natural-english) .timed-token:not(.timed-token--active):not(.timed-token--selected):not(.timed-token--range-selected):not(.script-session-flowscript__written-word--active):hover,.script-session-flowscript:not(.script-session-flowscript--dragging) .script-session-flowscript__text:not(.script-session-flowscript__text--natural-english) .timed-token:not(.timed-token--active):not(.timed-token--selected):not(.timed-token--range-selected):not(.script-session-flowscript__written-word--active):focus-visible{background:color-mix(in srgb, var(--muted) 18%, transparent);color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 26%, transparent)}.script-session-flowscript:not(.script-session-flowscript--dragging) .script-session-flowscript__text:not(.script-session-flowscript__text--natural-english) .timed-syllable-separator:hover,.script-session-flowscript:not(.script-session-flowscript--dragging) .script-session-flowscript__text:not(.script-session-flowscript__text--natural-english) .timed-syllable-separator:focus-visible{background:color-mix(in srgb, var(--muted) 14%, transparent);color:var(--text);box-shadow:none}.script-session-flowscript .timed-syllable-separator{min-width:0;min-height:.82em;margin-inline:.08em;padding:0 .04em;line-height:.82}.script-session-flowscript__text--gloss{color:color-mix(in srgb, var(--text) 48%, var(--muted));font-size:calc(.96rem * var(--script-session-flowscript-font-scale,1) * var(--script-session-flowscript-syllable-scale,1));font-style:italic;font-weight:400;line-height:1.35}.script-session-flowscript__gloss-line{text-wrap:balance;display:block}.script-session-flowscript__text--gloss .script-session-flowscript__natural-translation{font-size:calc(.58rem * var(--script-session-flowscript-font-scale,1));text-align:center;margin-top:6px;line-height:1.25;display:block}.script-session-flowscript__natural-translation{color:color-mix(in srgb, var(--text) 44%, var(--muted));white-space:normal;font-style:italic;font-weight:400}.timed-token--range-selected.timed-token--active,.timed-token--selected.timed-token--active{background:color-mix(in srgb, var(--color-red) 38%, transparent);color:var(--text);box-shadow:inset 0 -3px 0 var(--color-red)}.scribe-blank .scribe-blank__choice-trigger,.scribe-blank .scribe-blank__input{border:1px solid color-mix(in srgb, var(--muted) 26%, var(--border));border-bottom:2px solid color-mix(in srgb, var(--muted) 58%, var(--border));background:color-mix(in srgb, var(--panel) 88%, #f2f4f1);color:color-mix(in srgb, var(--text) 72%, var(--muted));box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--muted) 18%, transparent);opacity:1}.scribe-blank--answered .scribe-blank__choice-trigger,.scribe-blank--answered .scribe-blank__input{border-color:color-mix(in srgb, var(--muted) 34%, var(--border));border-bottom-color:color-mix(in srgb, var(--muted) 66%, var(--border));background:color-mix(in srgb, var(--panel) 82%, #eef0ed);color:color-mix(in srgb, var(--text) 78%, var(--muted));box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--muted) 22%, transparent)}.scribe-blank--correct .scribe-blank__choice-trigger,.scribe-blank--correct .scribe-blank__input{border-color:color-mix(in srgb, var(--accent) 38%, var(--border));border-bottom-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 72%, var(--panel));color:color-mix(in srgb, var(--accent) 86%, var(--text));box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--accent) 22%, transparent)}.scribe-blank--incorrect .scribe-blank__choice-trigger,.scribe-blank--incorrect .scribe-blank__input,.scribe-blank--revealed .scribe-blank__choice-trigger,.scribe-blank--revealed .scribe-blank__input{border-color:color-mix(in srgb, var(--scribe-error) 34%, var(--border));border-bottom-color:var(--scribe-error);background:color-mix(in srgb, var(--scribe-error-soft) 82%, var(--panel));color:var(--scribe-error-ink);box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--scribe-error) 22%, transparent)}.scribe-blank--active-choice .scribe-blank__choice-trigger{border-color:color-mix(in srgb, var(--muted) 48%, var(--border));border-bottom-color:color-mix(in srgb, var(--text) 58%, var(--muted));background:color-mix(in srgb, var(--panel) 78%, #eef0ed);color:var(--text);box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--muted) 44%, transparent), 0 0 0 3px color-mix(in srgb, var(--muted) 12%, transparent)}.script-session:not([data-scribe-review=active]) .script-session-flowscript--scribing .script-session-flowscript__line:not(.script-session-flowscript__line--active) .scribe-blank__choice-trigger,.script-session:not([data-scribe-review=active]) .script-session-flowscript--scribing .script-session-flowscript__line:not(.script-session-flowscript__line--active) .scribe-blank__input{color:color-mix(in srgb, var(--muted) 72%, var(--text));box-shadow:none;background:0 0;border-bottom-color:#0000}.scribe-blank .scribe-blank__choice-trigger.timed-token--selected,.scribe-blank .scribe-blank__input.timed-token--selected,.scribe-blank .scribe-blank__choice-trigger.timed-token--range-selected,.scribe-blank .scribe-blank__input.timed-token--range-selected,.scribe-blank--correct .scribe-blank__choice-trigger.timed-token--selected,.scribe-blank--correct .scribe-blank__input.timed-token--selected,.scribe-blank--correct .scribe-blank__choice-trigger.timed-token--range-selected,.scribe-blank--correct .scribe-blank__input.timed-token--range-selected,.scribe-blank--incorrect .scribe-blank__choice-trigger.timed-token--selected,.scribe-blank--incorrect .scribe-blank__input.timed-token--selected,.scribe-blank--incorrect .scribe-blank__choice-trigger.timed-token--range-selected,.scribe-blank--incorrect .scribe-blank__input.timed-token--range-selected,.scribe-blank--revealed .scribe-blank__choice-trigger.timed-token--selected,.scribe-blank--revealed .scribe-blank__input.timed-token--selected,.scribe-blank--revealed .scribe-blank__choice-trigger.timed-token--range-selected,.scribe-blank--revealed .scribe-blank__input.timed-token--range-selected{border-bottom-color:var(--script-session-range-color);background:color-mix(in srgb, var(--script-session-range-color) 24%, var(--panel));color:color-mix(in srgb, var(--script-session-range-color) 82%, var(--text));box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--script-session-range-color) 58%, transparent), 0 0 0 2px color-mix(in srgb, var(--script-session-range-color) 14%, transparent)}.scribe-blank .scribe-blank__choice-trigger.timed-token--active,.scribe-blank .scribe-blank__input.timed-token--active,.scribe-blank--answered .scribe-blank__choice-trigger.timed-token--active,.scribe-blank--answered .scribe-blank__input.timed-token--active,.scribe-blank--correct .scribe-blank__choice-trigger.timed-token--active,.scribe-blank--correct .scribe-blank__input.timed-token--active,.scribe-blank--incorrect .scribe-blank__choice-trigger.timed-token--active,.scribe-blank--incorrect .scribe-blank__input.timed-token--active,.scribe-blank--revealed .scribe-blank__choice-trigger.timed-token--active,.scribe-blank--revealed .scribe-blank__input.timed-token--active{border-bottom-color:var(--color-red);background:color-mix(in srgb, var(--color-red) 24%, var(--panel));color:var(--color-red);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-red) 28%, transparent), inset 0 -3px 0 var(--color-red)}.scribe-blank--drop-target .scribe-blank__input,.scribe-blank--answered.scribe-blank--drop-target .scribe-blank__input,.scribe-blank--correct.scribe-blank--drop-target .scribe-blank__input,.scribe-blank--drop-target .scribe-blank__input.timed-token--active,.scribe-blank--answered.scribe-blank--drop-target .scribe-blank__input.timed-token--active,.scribe-blank--correct.scribe-blank--drop-target .scribe-blank__input.timed-token--active{border-color:color-mix(in srgb, var(--accent) 64%, var(--border));border-bottom-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--panel));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 34%, transparent), 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}@media (width<=640px){.app-main:has(>.scribe-setup){height:auto;min-height:calc(100vh - 47px);padding:12px;overflow:visible}.app-main:has(>.script-session){height:auto;min-height:0;padding:0;overflow:hidden}.scribe-setup{align-items:start;height:auto;min-height:calc(100vh - 97px)}.scribe-results{align-items:start;padding:12px}.scribe-setup__panel,.scribe-results__panel{padding:16px}.scribe-option-grid,.scribe-option-grid--two,.scribe-option-grid--three,.scribe-phoneme-super-grid,.scribe-phoneme-group-grid,.scribe-results__metrics,.scribe-results__actions{grid-template-columns:1fr}.scribe-results__header{grid-template-columns:1fr;gap:12px;display:grid}.scribe-results__review-button{justify-self:start;width:auto}.script-session{--script-session-stage-side-padding:12px;--script-session-video-panel-default-width:min(176px, 38vw);--script-session-phoneme-tray-open-height:min(148px, 28vh);height:100vh}.script-session__workspace{height:100%}.script-session-flowscript-column{min-height:0}}
