@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-md:.375rem;--radius-lg:.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-body);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[access-code\:redeem\]{access-code:redeem}.\[entitlements\:get\]{entitlements:get}.\[firebase\:auth\]{firebase:auth}.\[health\:yt-dlp\]{health:yt-dlp}.\[library\:delete\]{library:delete}.\[library\:items\]{library:items}.\[library\:video-meta\]{library:video-meta}.\[moments\:events\]{moments:events}.\[moments\:generate\]{moments:generate}.\[payments\:create\]{payments:create}.\[payments\:ecpay\]{payments:ecpay}.\[payments\:order\]{payments:order}.\[payments\:portaly\]{payments:portaly}.\[payments\:reconcile\]{payments:reconcile}.\[picks\:save\]{picks:save}.\[promo\:redeem\]{promo:redeem}.\[reviews\:get\]{reviews:get}.\[reviews\:post\]{reviews:post}.\[reviews\:questions\]{reviews:questions}.\[speaking\:monitor\]{speaking:monitor}.\[speaking\:realtime\]{speaking:realtime}.\[speaking\:scenario-builder\]{speaking:scenario-builder}.\[speaking\:session\]{speaking:session}.\[transcript\:api\]{transcript:api}.\[transcript\:cache\]{transcript:cache}.\[transcript\:gemini\]{transcript:gemini}.\[transcript\:supadata\]{transcript:supadata}.\[transcript\:yt-dlp\]{transcript:yt-dlp}.\[video-learning\:analyze\]{video-learning:analyze}.\[video-learning\:prepare\]{video-learning:prepare}}.sentence-transfer-control{gap:8px;min-width:0;margin-top:16px;display:grid}.sentence-transfer-control label,.sentence-transfer-control p{color:var(--ink-soft);font-size:13px;line-height:1.5}.sentence-transfer-control select{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--ink);border-radius:10px;padding:10px}.sentence-transfer-control select:focus-visible{outline:2px solid var(--mint-strong);outline-offset:3px}.sentence-transfer-control select:disabled{opacity:.65}.recall-review-card form{gap:12px;display:grid}.recall-review-card label,.recall-review-card>p{color:var(--ink-soft);font-size:13px;line-height:1.5}.recall-review-card input{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--ink);border-radius:10px;padding:10px 12px}.recall-review-card button{min-height:44px}.recall-review-card button:disabled{opacity:.45;cursor:default}.recall-review-card :is(input,button):focus-visible{outline:2px solid var(--mint-strong);outline-offset:3px}.learning-evidence-panel{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:16px;padding:16px}.learning-evidence-panel summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:44px;font-size:15px;display:flex}.learning-evidence-panel summary:before{content:"+";color:var(--forest);font-size:20px}.learning-evidence-panel[open] summary:before{content:"−"}.learning-evidence-panel summary>span{color:var(--ink-soft);margin-left:auto;font-size:12px}.learning-evidence-panel>p{color:var(--ink-soft);margin:8px 0 12px;font-size:13px;line-height:1.5}.learning-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.learning-evidence-grid>div{background:var(--canvas);border-radius:10px;min-width:0;padding:10px}.learning-evidence-grid dt{font-size:13px;font-weight:600}.learning-evidence-grid dd{gap:4px;margin:6px 0 0;display:grid}.learning-evidence-state{color:var(--ink-soft);font-size:12px}.learning-evidence-grid [data-state=repeated_success] .learning-evidence-state{color:var(--forest);font-weight:600}.learning-evidence-grid small{color:var(--ink-soft);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.learning-evidence-panel>.learning-evidence-note{margin-bottom:0;font-size:12px}.learning-evidence-panel summary:focus-visible{outline:2px solid var(--mint-strong);outline-offset:3px;border-radius:6px}@media (max-width:480px){.learning-evidence-grid{grid-template-columns:minmax(0,1fr)}}.practice-history-panel{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:16px;padding:16px}.practice-history-panel summary{cursor:pointer;align-items:center;gap:12px;min-height:44px;font-size:15px;display:flex}.practice-history-panel summary:before{content:"+";color:var(--forest);font-size:20px}.practice-history-panel[open] summary:before{content:"−"}.practice-history-panel summary>span{color:var(--ink-soft);margin-left:auto;font-size:12px}.practice-history-panel>p{color:var(--ink-soft);margin:8px 0 14px;font-size:13px;line-height:1.5}.practice-history-summary{background:var(--canvas);border-radius:12px;gap:12px;margin-bottom:12px;padding:12px;display:grid}.practice-history-summary header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.practice-history-summary header strong{font-size:14px}.practice-history-summary header small,.practice-history-summary dt,.practice-history-errors>span{color:var(--ink-soft);font-size:11px}.practice-history-summary dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.practice-history-summary dl>div{gap:3px;min-width:0;display:grid}.practice-history-summary dd{font-size:22px;font-family:var(--font-display);margin:0}.practice-history-summary dd span{color:var(--ink-soft);font-size:12px;font-family:var(--font-body)}.practice-history-errors{gap:6px;display:grid}.practice-history-errors ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.practice-history-errors li{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 8px;font-size:11px}.practice-history-errors p{color:var(--ink-soft);margin:0;font-size:12px}.practice-history-recommendation{border-left:3px solid var(--mint-strong);background:var(--surface);border-radius:0 10px 10px 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.practice-history-recommendation>div{gap:2px;min-width:0;display:grid}.practice-history-recommendation span,.practice-history-recommendation small{color:var(--ink-soft);font-size:11px}.practice-history-recommendation strong{font-size:14px}.practice-history-recommendation p{color:var(--ink);margin:2px 0;font-size:12px;line-height:1.45}.practice-history-recommendation>a{background:var(--forest);color:#fff;white-space:nowrap;border-radius:10px;align-items:center;gap:5px;min-height:44px;padding:8px 11px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.practice-history-follow-up{border:1px solid var(--line);background:var(--surface);border-radius:11px;gap:9px;padding:11px 12px;display:grid}.practice-history-follow-up>header{align-items:start}.practice-history-follow-up>header>div{gap:2px;display:grid}.practice-history-follow-up>header span,.practice-history-follow-up>header small{color:var(--ink-soft);font-size:11px}.practice-history-follow-up>header strong{font-size:14px}.practice-history-follow-up ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.practice-history-follow-up li{background:var(--canvas);border-radius:9px;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:8px;min-width:0;padding:9px;display:grid}.practice-history-follow-up li>span{border:1px solid var(--line-strong);width:26px;height:26px;color:var(--ink-soft);border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.practice-history-follow-up li[data-complete=true]>span{border-color:var(--forest);background:var(--forest);color:#fff}.practice-history-follow-up li>div{gap:2px;min-width:0;display:grid}.practice-history-follow-up li small,.practice-history-follow-up time{color:var(--ink-soft);font-size:10px}.practice-history-follow-up li strong{font-size:12px;line-height:1.35}.practice-history-follow-up li a{min-height:44px;color:var(--forest);text-underline-offset:3px;align-items:center;gap:4px;font-size:11px;font-weight:800;text-decoration:underline;display:inline-flex}.practice-history-follow-up>p{color:var(--ink-soft);margin:0;font-size:11px;line-height:1.5}.practice-history-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.practice-history-list li{border-top:1px solid var(--line);grid-template-columns:minmax(116px,.34fr) minmax(0,1fr);gap:14px;padding:12px 0 12px 18px;display:grid;position:relative}.practice-history-list li:before{background:var(--ink-soft);content:"";border-radius:50%;width:8px;height:8px;position:absolute;top:17px;left:1px}.practice-history-list li[data-result=correct]:before{background:var(--forest)}.practice-history-list time,.practice-history-list span,.practice-history-list small{color:var(--ink-soft);font-size:12px}.practice-history-list div{gap:3px;min-width:0;display:grid}.practice-history-list strong{font-size:13px}.practice-history-list p{overflow-wrap:anywhere;margin:5px 0 0;font-size:14px;line-height:1.5}.practice-history-state{min-height:64px;color:var(--ink-soft);text-align:center;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.practice-history-state button{border:1px solid var(--line);border-radius:10px;min-height:44px;padding:8px 13px}.practice-history-panel :is(summary,button,a):focus-visible{outline:2px solid var(--mint-strong);outline-offset:3px}@media (max-width:480px){.practice-history-list li{grid-template-columns:1fr;gap:4px}.practice-history-summary header{flex-direction:column;align-items:flex-start}.practice-history-follow-up ol,.practice-history-recommendation{grid-template-columns:1fr}.practice-history-recommendation>a{justify-content:center}}.review-page[data-production=true]>.review-card{display:none}.review-adaptive-reason{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}:root{--canvas:#f3f0e8;--canvas-deep:#e9e5da;--surface:#fffdf7;--surface-raised:#fff;--ink:#172421;--ink-soft:#56615e;--ink-faint:#656c6a;--forest:#101b36;--forest-bright:#1c2c52;--forest-rgb:16, 27, 54;--mint:#f3e3c4;--mint-strong:#c08a2e;--mint-rgb:192, 138, 46;--gold:var(--mint-strong);--gold-rgb:var(--mint-rgb);--gold-pale:var(--mint);--coral:#a33a2b;--coral-soft:#f17b62;--paper:var(--surface);--paper-ink:var(--ink);--rust:var(--coral);--danger:var(--coral);--peach:#ffebe3;--dialog-surface:var(--surface-raised);--dialog-ink:var(--ink);--dialog-muted:var(--ink-soft);--dialog-action:var(--forest);--dialog-action-ink:#fff;--line:#1724211f;--line-strong:#17242133;--shadow-soft:0 22px 60px #1b2f2a14;--shadow-card:0 14px 34px #1b2f2a1a;--radius-md:22px;--radius-lg:34px;--workspace-card-radius:16px;--workspace-card-shadow:0 10px 28px rgba(var(--forest-rgb), .06);--workspace-control-height:48px;--workspace-help-size:.8125rem;--sidebar-width:256px;--font-body:"Avenir Next", Avenir, "Segoe UI", sans-serif;--font-display:Iowan Old Style, Baskerville, "Times New Roman", serif;--font-login-wenkai:"LXGW WenKai TC", "Kaiti TC", "DFKai-SB", serif}.sentence-production-shell{width:min(590px,100% - 40px);color:var(--ink);margin:0 auto;padding:24px 0 56px}.sentence-production-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px;display:flex}.sentence-production-heading .eyebrow,.sentence-production-complete .eyebrow{color:var(--forest);letter-spacing:.16em;text-transform:uppercase;font-size:.75rem;font-weight:800}.sentence-production-heading h1,.sentence-production-complete h1{max-width:680px;font-family:var(--font-display);margin:4px 0 0;font-size:clamp(1.55rem,2.7vw,2.55rem);font-weight:500;line-height:.98}.sentence-production-heading>strong{color:var(--forest);font-family:var(--font-display);white-space:nowrap;font-size:1.7rem;font-weight:500}.sentence-production-heading>strong span{color:var(--ink-faint);font-size:.85rem}.sentence-production-stage{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow-soft);border-radius:24px;grid-template-columns:1fr;display:grid;overflow:hidden}.sentence-production-prompt{padding:clamp(20px,2.7vw,34px)}.sentence-production-prompt>span{color:var(--rust);letter-spacing:.11em;text-transform:uppercase;font-size:.75rem;font-weight:800}.sentence-production-prompt h2{overflow-wrap:anywhere;font-family:var(--font-display);margin:12px 0 6px;font-size:clamp(2rem,3.6vw,3.4rem);font-weight:500;line-height:.9}.sentence-production-prompt>p{color:var(--forest);font-size:.88rem;font-weight:700}.sentence-production-focus{border:1px solid var(--mint-strong);gap:3px;margin-top:18px;padding:12px 14px;display:grid}@supports (color:color-mix(in lab, red, red)){.sentence-production-focus{border:1px solid color-mix(in srgb, var(--mint-strong) 46%, var(--line))}}.sentence-production-focus{background:var(--mint);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.sentence-production-focus{background:color-mix(in srgb, var(--mint) 34%, var(--surface))}}.sentence-production-focus>span{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.sentence-production-focus>strong{color:var(--forest);font-size:.9rem}.sentence-production-focus>p{color:var(--ink);margin:2px 0;font-size:.8rem;line-height:1.5}.sentence-production-focus>small{color:var(--ink-soft);font-size:.68rem;line-height:1.45}.sentence-production-instruction{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:24px;padding-top:13px;line-height:1.7}.sentence-production-recorder{background:var(--forest);color:#fff;flex-direction:column;justify-content:space-between;min-height:250px;padding:clamp(20px,2.7vw,32px);display:flex}.sentence-production-transcript>span{color:var(--mint);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:800}.sentence-production-transcript p{color:#fff;min-height:78px;font-family:var(--font-display);margin:10px 0;font-size:clamp(1.25rem,1.8vw,1.65rem);line-height:1.22}.sentence-production-error{color:#fff;background:#ffffff1a;border:1px solid #ffffff40;border-radius:14px;margin:0 0 16px;padding:12px 15px}.sentence-production-record-button{border:1px solid var(--mint);background:var(--mint);min-height:48px;color:var(--forest);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:11px;font-weight:800;display:flex}.sentence-production-record-button small{margin-left:10px;font-weight:700}.sentence-production-privacy-note{color:#ffffffb3;text-align:center;max-width:410px;font-size:.7rem;line-height:1.55}.sentence-production-record-button.is-recording{background:#fff;border-color:#fff}.sentence-production-record-button:disabled{cursor:wait;opacity:.8}.sentence-production-retry-upload{gap:10px;display:grid}.sentence-production-retry-upload>button:last-child{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff73;border-radius:999px;font-weight:800}.sentence-production-feedback{border:1px solid var(--line);border-left:6px solid var(--rust);background:var(--paper);border-radius:20px;margin-top:12px;padding:clamp(18px,2.2vw,26px)}.sentence-production-feedback[data-result=correct]{border-left-color:var(--forest)}.sentence-production-feedback[data-result=almost]{border-left-color:var(--mint-strong)}.sentence-production-feedback>header{align-items:center;gap:12px;display:flex}.sentence-production-feedback>header>span{background:var(--forest);color:#fff;border-radius:50%;flex:0 0 44px;place-items:center;width:44px;height:44px;font-size:1rem;display:grid}.sentence-production-feedback>header p,.sentence-production-feedback>div>span{color:var(--ink-faint);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.74rem;font-weight:800}.sentence-production-feedback>header strong{margin-top:3px;font-size:.9rem;display:block}.sentence-production-feedback>div{border-top:1px solid var(--line);margin:14px 0 0 56px;padding-top:11px}.sentence-production-feedback>div p{font-family:var(--font-display);margin:5px 0 0;font-size:1.05rem}.sentence-production-feedback footer{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.sentence-production-feedback button,.sentence-production-complete button,.sentence-production-complete a,.sentence-production-state button{border:1px solid var(--forest);min-height:46px;color:var(--forest);font:inherit;cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:800;text-decoration:none;display:inline-flex}.sentence-production-feedback button:last-child,.sentence-production-complete a{background:var(--forest);color:#fff}.sentence-production-skip{width:fit-content;min-height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin:8px 8px 0 auto;text-decoration:none;display:flex}.sentence-production-state,.sentence-production-complete{border:1px solid var(--line);background:var(--paper);text-align:center;border-radius:24px;padding:36px 24px}.sentence-production-state svg{color:var(--forest)}.sentence-production-complete>span{background:var(--forest);color:#fff;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 12px;display:grid}.sentence-production-complete h1{margin-inline:auto}.sentence-production-complete>p:not(.eyebrow){color:var(--ink-soft)}.sentence-production-complete>div{justify-content:center;gap:10px;margin-top:16px;display:flex}.library-use-it-link{background:var(--forest);border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 13px;font-size:.82rem;font-weight:800;text-decoration:none;display:inline-flex;color:#fff!important}.library-card-actions,.library-speaking-queue-actions{align-items:center;gap:8px;display:flex}.library-speaking-queue-actions a{align-items:center;gap:6px;display:inline-flex}.review-card[data-question=production]{display:none}@media (max-width:780px){.sentence-production-shell{width:min(100% - 24px,590px);padding:18px 0 110px}.sentence-production-heading{align-items:start}.sentence-production-heading h1{font-size:clamp(1.35rem,6vw,2rem)}.sentence-production-heading>strong{font-size:1.45rem}.sentence-production-stage{border-radius:20px;grid-template-columns:1fr}.sentence-production-prompt{padding:20px}.sentence-production-prompt h2{font-size:clamp(1.65rem,8vw,2.5rem)}.sentence-production-instruction{margin-top:18px}.sentence-production-recorder{min-height:220px;padding:20px}.sentence-production-transcript p{min-height:68px;font-size:1.15rem}.sentence-production-feedback>div{margin-left:0}.sentence-production-feedback footer,.sentence-production-complete>div{flex-direction:column}.library-card-actions{flex-wrap:wrap;justify-content:flex-end}.library-speaking-queue-actions{flex-direction:column;align-items:stretch}}html[data-theme=teal-mint]{--forest:#123f3a;--forest-bright:#1d5b52;--forest-rgb:18, 63, 58;--mint:#b9e8d4;--mint-strong:#8ed8bb;--mint-rgb:185, 232, 212}.upgrade-page{gap:1.35rem;padding-bottom:2rem;display:grid}.upgrade-hero{border:1px solid var(--line);background:radial-gradient(circle at 92% 5%,rgba(var(--mint-rgb), .25),transparent 16rem),linear-gradient(135deg,#fffdf7,#f4f8f1);border-radius:28px;justify-content:space-between;align-items:flex-end;gap:2rem;min-height:300px;padding:clamp(1.5rem,4vw,3.5rem);display:flex;position:relative;overflow:hidden}.upgrade-hero:after{border:1px solid rgba(var(--forest-rgb), .08);content:"";border-radius:50%;width:340px;height:340px;position:absolute;top:-150px;right:-90px}.upgrade-hero>div{z-index:1;max-width:800px;position:relative}.upgrade-hero h1,.payment-result-card h1,.legal-page h1{max-width:850px;color:var(--ink);font-family:var(--font-display);letter-spacing:-.055em;margin:.45rem 0 .8rem;font-size:clamp(2.5rem,6vw,5.4rem);font-weight:500;line-height:.93}.upgrade-hero>div>p:last-child{max-width:650px;color:var(--ink-soft);margin:0;font-size:.68rem;line-height:1.7}.stage-pill{z-index:1;border:1px solid rgba(var(--forest-rgb), .2);color:var(--forest);background:#ffffffbf;border-radius:999px;flex:none;align-items:center;gap:.4rem;padding:.6rem .75rem;font-size:.56rem;font-weight:850;display:inline-flex;position:relative}.upgrade-notice{color:#78500c;background:#fff8e6;border:1px solid #e5c886;border-radius:14px;margin:0;padding:.8rem 1rem;font-size:.6rem}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.plan-card{border:1px solid var(--line);background:var(--paper);min-height:470px;box-shadow:0 20px 50px rgba(var(--forest-rgb), .05);border-radius:24px;flex-direction:column;padding:clamp(1.3rem,3vw,2rem);display:flex;position:relative}.plan-card-featured{border-color:rgba(var(--forest-rgb), .35);background:linear-gradient(145deg,var(--forest),#1d514a);color:#fff}.plan-card>svg{color:var(--forest-bright);margin-bottom:1.2rem}.plan-card-featured>svg,.plan-card-featured .section-kicker{color:var(--mint)}.plan-card h2{font-family:var(--font-display);letter-spacing:-.04em;margin:.3rem 0 1rem;font-size:clamp(1.7rem,4vw,2.8rem);font-weight:500}.plan-price{border-block:1px solid var(--line);align-items:baseline;gap:.35rem;padding:1rem 0;display:flex}.plan-card-featured .plan-price{border-color:#ffffff26}.plan-price small{font-size:.62rem;font-weight:850}.plan-price strong{font-family:var(--font-display);font-size:2.8rem;font-weight:500}.plan-price span{color:var(--ink-faint);font-size:.54rem}.plan-card-featured .plan-price span{color:#ffffffad}.plan-card ul{gap:.7rem;margin:1.1rem 0 1.6rem;padding:0;list-style:none;display:grid}.plan-card li{color:var(--ink-soft);align-items:center;gap:.45rem;font-size:.59rem;display:flex}.plan-card-featured li{color:#ffffffc7}.plan-card button,.promo-panel button{border:1px solid var(--forest);background:var(--forest);color:#fff;cursor:pointer;border-radius:13px;justify-content:center;align-items:center;gap:.35rem;min-height:48px;margin-top:auto;font-size:.62rem;font-weight:850;display:inline-flex}.plan-card-featured button{border-color:var(--mint);background:var(--mint);color:var(--forest)}.plan-card button:disabled,.promo-panel button:disabled{cursor:not-allowed;opacity:.5}.promo-panel{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:auto minmax(240px,1fr) minmax(170px,280px) auto;align-items:center;gap:1rem;padding:1.2rem;display:grid}.promo-panel>svg{color:var(--forest)}.promo-panel strong{font-size:.65rem}.promo-panel p{color:var(--ink-faint);margin:.25rem 0 0;font-size:.54rem}.promo-panel input{border:1px solid var(--line-strong);background:var(--paper);min-height:46px;font:inherit;text-transform:uppercase;border-radius:12px;padding:0 .8rem;font-size:.62rem}.promo-panel button{min-height:46px;margin:0;padding:0 .9rem}.beta-access-panel{border:1px solid var(--line);box-shadow:0 16px 38px rgba(var(--forest-rgb),.06);background:#ffffffeb;border-radius:22px;gap:1rem;padding:clamp(1rem,3vw,1.5rem);display:grid}.beta-access-panel-compact{margin-bottom:1rem}.beta-access-heading{align-items:flex-start;gap:.85rem;display:flex}.beta-access-heading>svg{color:var(--mint-strong);flex:none}.beta-access-heading h2{color:var(--ink);font-family:var(--font-display);margin:.2rem 0 .35rem;font-size:clamp(1.25rem,3vw,2rem);font-weight:500}.beta-access-heading p:last-child{max-width:700px;color:var(--ink-soft);margin:0;font-size:.62rem;line-height:1.65}.beta-code-form{grid-template-columns:minmax(180px,1fr) auto;gap:.7rem;display:grid}.beta-code-form input{border:1px solid var(--line-strong);background:var(--paper);min-height:48px;font:inherit;letter-spacing:.06em;border-radius:13px;padding:0 .9rem;font-size:.65rem}.beta-code-form button{background:var(--forest);color:#fff;cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:.4rem;min-height:48px;padding:0 1rem;font-weight:800;display:inline-flex}.beta-code-form button:disabled{cursor:not-allowed;opacity:.5}.beta-status-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin:0;display:grid}.beta-status-grid>div{border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:.8rem}.beta-status-grid dt{color:var(--ink-faint);font-size:.52rem}.beta-status-grid dd{color:var(--ink);margin:.25rem 0 0;font-size:.7rem;font-weight:800}.beta-access-notice{color:var(--ink-soft);margin:0;font-size:.58rem}@media (max-width:780px){.beta-code-form,.beta-status-grid{grid-template-columns:1fr 1fr}.beta-code-form input,.beta-code-form button,.beta-status-grid>div:first-child{grid-column:1/-1}}.review-page{gap:1rem;padding-bottom:2rem;display:grid}.review-hero{border:1px solid var(--line);background:radial-gradient(circle at 88% 10%,rgba(var(--mint-rgb),.3),transparent 14rem),linear-gradient(135deg,#fffdf7,#f4f6ef);border-radius:26px;justify-content:space-between;align-items:flex-end;min-height:150px;padding:clamp(1.25rem,4vw,2.5rem);display:flex}.review-hero>div{max-width:680px}.review-hero p:last-child{color:var(--ink-soft);margin:.35rem 0 0}.review-hero>svg{color:var(--mint-strong)}.review-summary{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.2rem;display:grid}.review-summary>div{align-items:baseline;gap:.45rem;display:flex}.review-summary>div strong{color:var(--forest);font-family:var(--font-display);font-size:2rem}.review-summary>div span,.review-summary label span{color:var(--ink-soft);font-size:.56rem}.review-summary dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin:0;display:grid}.review-summary dl div{border-left:1px solid var(--line);padding:.55rem .7rem}.review-summary dt{color:var(--ink-faint);font-size:.48rem}.review-summary dd{margin:.15rem 0 0;font-weight:850}.review-summary label{gap:.25rem;display:grid}.review-summary select{border:1px solid var(--line-strong);background:var(--paper);border-radius:11px;min-width:78px;min-height:42px;padding:0 .65rem}.review-card{border:1px solid var(--line);width:100%;max-width:880px;box-shadow:0 24px 65px rgba(var(--forest-rgb),.1);background:#fff;border-radius:28px;gap:1rem;margin:0 auto;padding:clamp(1.25rem,4vw,2.5rem);display:grid}.review-card>header{grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;display:grid}.review-card>header span,.review-card>header small{background:var(--paper);width:fit-content;color:var(--ink-soft);border-radius:999px;padding:.3rem .55rem;font-size:.5rem;font-style:normal;font-weight:800}.review-card>header em{color:var(--ink-faint);text-transform:capitalize;font-size:.5rem;font-style:normal}.review-card-prompt{text-align:center;place-content:center;min-height:190px;display:grid}.review-card-prompt p{color:var(--ink-faint);margin:0 0 .6rem;font-size:.58rem}.review-card-prompt h2{color:var(--ink);font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(2.4rem,7vw,5rem);font-weight:500}.review-card-prompt blockquote{max-width:680px;color:var(--ink);font-family:var(--font-display);margin:0;font-size:clamp(1.3rem,4vw,2.2rem);line-height:1.35}.review-reveal{background:var(--forest);color:#fff;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:.4rem;min-height:50px;font-weight:850;display:inline-flex}.review-answer{border-left:4px solid var(--mint-strong);background:var(--paper);border-radius:0 16px 16px 0;gap:.35rem;padding:1rem;display:grid}.review-answer span{color:var(--forest);font-weight:900}.review-answer strong{font-size:.7rem}.review-answer p{color:var(--ink-soft);margin:0;font-size:.62rem;line-height:1.55}.review-rating{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.review-rating button{border:1px solid var(--line);min-height:74px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:.15rem .45rem;padding:.75rem;display:grid}.review-rating button:nth-child(3){border-color:var(--forest);background:var(--forest);color:#fff}.review-rating button:disabled{opacity:.5}.review-rating span{font-weight:850}.review-rating small{opacity:.72;grid-column:2}.review-card>footer{color:var(--ink-faint);align-items:center;gap:.35rem;font-size:.5rem;display:flex}.review-state,.review-complete{border:1px dashed var(--line-strong);text-align:center;background:#fff;border-radius:24px;place-content:center;justify-items:center;gap:.7rem;min-height:310px;padding:2rem;display:grid}.review-state p{max-width:460px;color:var(--ink-soft);margin:0}.review-state a,.review-complete a{color:var(--forest);align-items:center;gap:.3rem;font-weight:850;display:inline-flex}.review-complete>span{background:var(--mint);width:58px;height:58px;color:var(--forest);border-radius:50%;place-items:center;display:grid}.review-complete h2{font-family:var(--font-display);margin:0;font-size:clamp(1.7rem,4vw,3rem);font-weight:500}.review-complete dl{gap:.7rem;margin:.5rem 0;display:flex}.review-complete dl div{background:var(--paper);border-radius:13px;min-width:90px;padding:.7rem}.review-complete dt{color:var(--ink-faint);font-size:.5rem}.review-complete dd{margin:.2rem 0 0;font-size:1.1rem;font-weight:900}.review-complete>div{gap:1rem;display:flex}.review-error{background:var(--peach);color:var(--rust);border:1px solid #efb6a9;border-radius:13px;margin:0;padding:.75rem 1rem}@media (max-width:780px){.review-summary{grid-template-columns:1fr auto}.review-summary dl{order:3;grid-column:1/-1;grid-template-columns:1fr 1fr}.review-summary dl div{border-left:0;border-top:1px solid var(--line)}.review-rating{grid-template-columns:1fr}.review-card-prompt{min-height:150px}.review-complete dl{flex-wrap:wrap;justify-content:center}}.dashboard-review-card{border:1px solid rgba(var(--forest-rgb),.16);background:linear-gradient(120deg,rgba(var(--mint-rgb),.2),white 58%);border-radius:22px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:clamp(1rem,3vw,1.5rem);display:grid}.dashboard-review-card>span{background:var(--forest);color:#fff;border-radius:15px;place-items:center;width:48px;height:48px;display:grid}.dashboard-review-card h2{color:var(--ink);font-family:var(--font-display);margin:.25rem 0;font-size:clamp(1.25rem,3vw,2rem);font-weight:500}.dashboard-review-card p:last-child{color:var(--ink-soft);margin:0;font-size:.58rem}.dashboard-review-card>a{background:var(--forest);color:#fff;border-radius:13px;align-items:center;gap:.4rem;min-height:46px;padding:0 1rem;font-size:.6rem;font-weight:850;display:inline-flex}@media (max-width:650px){.dashboard-review-card{grid-template-columns:auto 1fr}.dashboard-review-card>a{grid-column:1/-1;justify-content:center}}.purchase-footer{color:var(--ink-faint);justify-content:space-between;align-items:center;gap:1rem;padding:.5rem;font-size:.52rem;display:flex}.purchase-footer nav{flex-wrap:wrap;gap:.8rem;display:flex}.purchase-footer a{color:var(--forest);font-weight:750}.payment-result-card{border:1px solid var(--line);background:radial-gradient(circle at 50% 10%,rgba(var(--mint-rgb), .22),transparent 16rem),var(--paper);text-align:center;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;min-height:min(620px,75vh);padding:2rem;display:flex}.payment-result-card>svg{color:var(--forest-bright)}.payment-result-card h1{max-width:700px;font-size:clamp(2.2rem,5vw,4.5rem)}.payment-result-card>p:not(.section-kicker){max-width:580px;color:var(--ink-soft);font-size:.65rem;line-height:1.7}.payment-result-card dl{gap:1rem;margin:1rem 0;display:flex}.payment-result-card dl div{border:1px solid var(--line);background:#fff;border-radius:12px;padding:.7rem 1rem}.payment-result-card dt{color:var(--ink-faint);font-size:.48rem}.payment-result-card dd{margin:.2rem 0 0;font-size:.6rem;font-weight:800}.payment-result-card>a,.legal-page article>a{background:var(--forest);color:#fff;border-radius:12px;margin-top:1rem;padding:.7rem 1rem;font-size:.6rem;font-weight:800;text-decoration:none}.legal-page{background:var(--canvas);min-height:100vh;padding:clamp(1.2rem,4vw,3rem)}.legal-page>header{justify-content:space-between;align-items:center;display:flex}.legal-page article{flex-direction:column;justify-content:center;align-items:flex-start;max-width:980px;min-height:70vh;display:flex}.legal-page h1{font-size:clamp(3rem,8vw,7rem)}.legal-page article>p:not(.section-kicker){max-width:720px;color:var(--ink-soft);line-height:1.8}.legal-page aside{border-left:3px solid var(--rust);background:var(--peach);color:var(--rust);margin-top:1.2rem;padding:.8rem 1rem;font-size:.58rem}@media (max-width:780px){.upgrade-hero{flex-direction:column;align-items:flex-start}.plan-grid{grid-template-columns:1fr}.promo-panel{grid-template-columns:auto 1fr}.promo-panel input,.promo-panel button{grid-column:1/-1;width:100%}.purchase-footer{flex-direction:column;align-items:flex-start}.payment-result-card dl{flex-direction:column}}.classes-page,.teacher-dashboard-page{gap:1.15rem;padding-bottom:2rem;display:grid}.teacher-hero{border:1px solid var(--line);background:radial-gradient(circle at 90% 10%,rgba(var(--mint-rgb), .32),transparent 17rem),linear-gradient(130deg,#fffdf6,#eff6ee);border-radius:30px;justify-content:space-between;align-items:center;gap:2rem;min-height:320px;padding:clamp(1.5rem,4vw,3.5rem);display:flex;position:relative;overflow:hidden}.teacher-hero>div:first-child{z-index:1;max-width:850px;position:relative}.teacher-hero h1{font-family:var(--font-display);letter-spacing:-.058em;margin:.4rem 0 1rem;font-size:clamp(2.65rem,6vw,5.5rem);font-weight:500;line-height:.93}.teacher-hero p:last-child{max-width:690px;color:var(--ink-soft);margin:0;font-size:.66rem;line-height:1.7}.teacher-hero-mark{background:var(--forest);width:130px;height:130px;color:var(--mint);box-shadow:0 22px 48px rgba(var(--forest-rgb), .24);border-radius:50%;flex:none;place-items:center;display:grid}.class-create-panel,.join-class-box{border:1px solid var(--line);background:#fff;border-radius:19px;grid-template-columns:minmax(220px,1fr) minmax(250px,440px) auto;align-items:center;gap:.8rem;padding:1rem 1.15rem;display:grid}.class-create-panel>div,.join-class-box>div{align-items:center;gap:.7rem;display:flex}.class-create-panel>div>svg{color:var(--forest-bright)}.class-create-panel span,.join-class-box div{gap:.15rem;display:grid}.class-create-panel strong,.join-class-box strong{font-size:.62rem}.class-create-panel small,.join-class-box p{color:var(--ink-faint);margin:0;font-size:.5rem}.class-create-panel input,.join-class-box input{border:1px solid var(--line-strong);background:var(--paper);min-height:45px;font:inherit;border-radius:11px;padding:0 .75rem;font-size:.6rem}.class-create-panel button,.join-class-box button,.class-retry{background:var(--forest);color:#fff;cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:.35rem;min-height:45px;padding:0 .8rem;font-size:.57rem;font-weight:850;display:inline-flex}.class-create-panel button:disabled,.join-class-box button:disabled{cursor:not-allowed;opacity:.45}.class-notice{color:#76500f;background:#fff8e7;border:1px solid #dfc787;border-radius:13px;margin:0;padding:.7rem .9rem;font-size:.56rem}.class-loading,.teacher-empty,.class-empty{min-height:150px;color:var(--ink-faint);justify-content:center;align-items:center;gap:.5rem;font-size:.6rem;display:flex}.teacher-empty{border:1px dashed var(--line-strong);border-radius:24px;flex-direction:column;min-height:300px}.teacher-empty h2{font-family:var(--font-display);margin:.4rem 0 0;font-size:2rem;font-weight:500}.teacher-empty p{margin:0}.teacher-class-tabs{gap:.6rem;padding:.15rem 0;display:flex;overflow-x:auto}.teacher-class-tabs button{border:1px solid var(--line);min-width:190px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:.7rem;padding:.75rem .85rem;display:flex}.teacher-class-tabs button[data-active=true]{border-color:var(--forest);background:var(--forest);color:#fff}.teacher-class-tabs strong{text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;overflow:hidden}.teacher-class-tabs span{align-items:center;gap:.2rem;font-size:.5rem;display:inline-flex}.class-roster{border:1px solid var(--line);background:#fff;border-radius:25px;overflow:hidden}.class-roster>header{border-bottom:1px solid var(--line);background:radial-gradient(circle at 95% 0,rgba(var(--mint-rgb), .18),transparent 14rem);justify-content:space-between;align-items:flex-end;gap:1rem;padding:clamp(1.2rem,3vw,2rem);display:flex}.class-roster h2{font-family:var(--font-display);letter-spacing:-.04em;margin:.25rem 0 .55rem;font-size:clamp(1.8rem,4vw,3rem);font-weight:500}.class-code{border:1px solid var(--line-strong);color:var(--forest);cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:.4rem;padding:.35rem .55rem;display:inline-flex}.class-code code{letter-spacing:.12em;font-size:.62rem;font-weight:900}.class-roster dl{grid-template-columns:repeat(4,auto);gap:.6rem;margin:0;display:grid}.class-roster dl div{border-left:1px solid var(--line);min-width:85px;padding:.65rem}.class-roster dt{color:var(--ink-faint);font-size:.46rem}.class-roster dd{font-family:var(--font-display);margin:.15rem 0 0;font-size:1.35rem}.class-code-controls{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.class-code-controls>button,.class-code-inactive{border:1px solid var(--line);min-height:44px;color:var(--forest);cursor:pointer;font:inherit;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:.3rem;padding:.4rem .6rem;font-size:.5rem;font-weight:800;display:inline-flex}.class-code-controls>button:hover:not(:disabled){border-color:var(--forest);background:rgba(var(--mint-rgb), .12)}.class-code-controls>button:disabled{cursor:not-allowed;opacity:.45}.class-code-inactive{color:var(--ink-faint);cursor:default}.class-code-controls .class-danger-action{color:var(--rust);border-color:#a33a2b59}.student-class-actions{border:1px solid var(--line);background:rgba(var(--mint-rgb), .08);border-radius:13px;justify-content:space-between;align-items:center;gap:.8rem;padding:.65rem .8rem;display:flex}.student-class-actions span{color:var(--ink-faint);font-size:.5rem}.student-class-actions button,.student-remove-trigger{min-height:44px;color:var(--rust);cursor:pointer;font:inherit;background:#fff;border:1px solid #a33a2b59;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:.3rem;padding:.4rem .65rem;font-size:.5rem;font-weight:800;display:inline-flex}.student-class-actions button:disabled,.student-remove-trigger:disabled{cursor:not-allowed;opacity:.45}.roster-table-wrap{overflow-x:auto}.roster-table{border-collapse:collapse;width:100%}.roster-table th{color:var(--ink-faint);text-align:left;text-transform:uppercase;padding:.7rem .8rem;font-size:.46rem;font-weight:800}.roster-table td{border-top:1px solid var(--line);color:var(--ink-soft);padding:.8rem;font-size:.56rem}.roster-table tbody tr{cursor:pointer;transition:background .18s}.roster-table tbody tr:hover{background:rgba(var(--mint-rgb), .11)}.roster-table td:first-child{color:var(--ink);grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;display:grid}.student-avatar{background:var(--mint);width:34px;height:34px;color:var(--forest);border-radius:50%;grid-row:1/3;place-items:center;font-weight:900;display:grid}.roster-table td:first-child small{color:var(--ink-faint)}.roster-table td:last-child{white-space:nowrap}.roster-table td:last-child svg{vertical-align:middle;margin-left:.3rem}.student-detail{z-index:40;border-left:1px solid var(--line);width:min(620px,100%);height:100dvh;box-shadow:-30px 0 70px rgba(var(--forest-rgb), .18);background:#fffdf7;padding:clamp(1.2rem,3vw,2rem);animation:.25s ease-out class-panel-in;position:fixed;top:0;right:0;overflow-y:auto}.student-detail>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.student-detail h2{font-family:var(--font-display);margin:.2rem 0;font-size:2.8rem;font-weight:500}.student-detail header span{color:var(--ink-faint);font-size:.56rem}.student-detail header button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;width:38px;height:38px;font-size:1.2rem}.student-detail-stats{grid-template-columns:repeat(5,1fr);gap:.5rem;margin:1.3rem 0;display:grid}.student-detail-stats article{border:1px solid var(--line);text-align:center;border-radius:15px;place-items:center;min-height:105px;padding:.6rem;display:grid}.student-detail-stats svg{width:17px;color:var(--forest-bright)}.student-detail-stats strong{font-family:var(--font-display);font-size:1.35rem}.student-detail-stats span{color:var(--ink-faint);font-size:.43rem}.student-week-bars{background:var(--forest);border-radius:18px;grid-template-columns:repeat(7,1fr);align-items:end;gap:.4rem;height:180px;padding:1rem;display:grid}.student-week-bars div{grid-template-rows:1fr auto;align-items:end;gap:.35rem;height:100%;display:grid}.student-week-bars span{background:var(--mint);border-radius:5px 5px 2px 2px;min-height:5px;display:block}.student-week-bars small{color:#ffffffa6;text-align:center;font-size:.4rem}.student-detail h3{font-family:var(--font-display);margin:1.4rem 0 .5rem;font-size:1.45rem;font-weight:500}.student-detail ul{margin:0;padding:0;list-style:none}.student-detail li{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;gap:.5rem;padding:.65rem 0;font-size:.53rem;display:grid}.student-detail li svg{color:var(--forest-bright)}.student-detail time{color:var(--ink-faint)}.student-class-panel,.student-classes-page{border:1px solid var(--line);background:radial-gradient(circle at 100% 0,rgba(var(--mint-rgb), .18),transparent 15rem),white;border-radius:24px;gap:.9rem;padding:clamp(1.2rem,3vw,2rem);display:grid}.student-classes-page{align-content:start;min-height:70vh}.class-section-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.class-section-heading h2{max-width:680px;font-family:var(--font-display);letter-spacing:-.04em;margin:.25rem 0 0;font-size:clamp(1.7rem,4vw,3rem);font-weight:500}.class-section-heading>svg{color:var(--forest)}.student-class-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem;display:grid}.student-class-list>button{border:1px solid var(--line);background:var(--paper);min-height:82px;color:var(--ink);cursor:pointer;text-align:left;border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.9rem;transition:border-color .18s,background .18s,color .18s;display:grid}.student-class-list>button:hover{border-color:var(--line-strong)}.student-class-list>button[data-active=true]{border-color:var(--forest);background:var(--forest);color:#fff}.student-class-list button>svg{color:var(--forest-bright)}.student-class-list button[data-active=true]>svg{color:var(--gold-pale)}.student-class-list button>span{gap:.2rem;min-width:0;display:grid}.student-class-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;overflow:hidden}.student-class-list small{color:var(--ink-faint);font-size:.48rem}.student-class-list button[data-active=true] small{color:#ffffffad}.student-class-list code{color:var(--rust);letter-spacing:.1em;font-size:.54rem;font-weight:900}.student-class-list button[data-active=true] code{color:var(--gold-pale)}.roster-table tbody tr{cursor:default}.student-detail-trigger{min-height:36px;color:var(--forest);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:.3rem;padding:.35rem .5rem;font-weight:750;display:inline-flex}.student-detail-trigger:hover:not(:disabled){border-color:var(--line);background:rgba(var(--mint-rgb), .12)}.student-detail-trigger:disabled{opacity:.55}.student-remove-trigger{background:0 0;border-color:#0000;padding:.3rem .45rem}.student-remove-trigger:hover:not(:disabled){background:#a33a2b12;border-color:#a33a2b59}.class-event-timeline{border:1px solid var(--line);box-shadow:0 16px 38px rgba(var(--forest-rgb),.05);background:#fffdf8;border-radius:18px;gap:.8rem;padding:clamp(1rem,2.4vw,1.5rem);display:grid}.class-event-timeline>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.class-event-timeline h2{font-family:var(--font-display);letter-spacing:-.03em;margin:.2rem 0;font-size:clamp(1.35rem,2.5vw,1.9rem);font-weight:500}.class-event-timeline header p:last-child{max-width:720px;color:var(--ink-soft);margin:0;font-size:13px;line-height:1.55}.class-event-timeline header button{border:1px solid var(--line);min-height:44px;color:var(--forest);cursor:pointer;font:inherit;background:#fff;border-radius:10px;flex:none;align-items:center;gap:.35rem;padding:0 .7rem;font-size:13px;font-weight:800;display:inline-flex}.class-event-timeline header button:disabled{cursor:wait;opacity:.5}.class-event-timeline ol{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.class-event-timeline li{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:.55rem;min-height:62px;padding:.55rem .65rem;display:grid}.class-event-timeline li>span{background:rgba(var(--mint-rgb),.18);width:34px;height:34px;color:var(--forest);border-radius:10px;place-items:center;display:grid}.class-event-timeline li div{gap:.15rem;display:grid}.class-event-timeline li strong{color:var(--ink);font-size:13px}.class-event-timeline time,.class-event-timeline>small{color:var(--ink-faint);font-size:12px}.class-event-state{border:1px dashed var(--line-strong);min-height:76px;color:var(--ink-soft);border-radius:12px;justify-content:center;align-items:center;gap:.4rem;font-size:13px;display:flex}.class-event-timeline button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.archived-class-registry{border:1px solid var(--line);box-shadow:0 16px 38px rgba(var(--forest-rgb),.05);background:#fffdf8;border-radius:18px;overflow:hidden}.archived-class-toggle{width:100%;min-height:72px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.archived-class-toggle>span{align-items:center;gap:.7rem;min-width:0;display:flex}.archived-class-toggle>span>svg{color:var(--gold);flex:none}.archived-class-toggle>span>span{gap:.15rem;min-width:0;display:grid}.archived-class-toggle strong{font-size:.9rem}.archived-class-toggle small{color:var(--ink-soft);font-size:.75rem;line-height:1.45}.archived-class-toggle>svg{transition:transform .18s}.archived-class-toggle>svg[data-open=true]{transform:rotate(180deg)}.archived-class-content{border-top:1px solid var(--line);gap:.85rem;padding:0 1rem 1rem;display:grid}.archived-class-privacy{background:var(--paper);color:var(--ink-soft);border-radius:12px;align-items:flex-start;gap:.55rem;margin-top:.85rem;padding:.7rem .8rem;display:flex}.archived-class-privacy svg{color:var(--forest);flex:none}.archived-class-privacy p,.archived-class-limit{margin:0;font-size:.75rem;line-height:1.55}.archived-class-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:.55rem;display:grid}.archived-class-list>div{min-width:0}.archived-class-list button{border:1px solid var(--line);width:100%;min-height:72px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.7rem .75rem;display:grid}.archived-class-list button>svg:first-child{color:var(--gold)}.archived-class-list button>span{gap:.2rem;min-width:0;display:grid}.archived-class-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.archived-class-list small{color:var(--ink-soft);align-items:center;gap:.25rem;font-size:.72rem;display:inline-flex}.archived-class-list button[data-active=true]{border-color:var(--forest);background:var(--forest);color:#fff}.archived-class-list button[data-active=true] :is(small,svg){color:#ffffffc7}.archived-class-state{border:1px dashed var(--line-strong);min-height:76px;color:var(--ink-soft);border-radius:12px;justify-content:center;align-items:center;gap:.5rem;font-size:.78rem;display:flex}.archived-class-state button{border:1px solid var(--line);min-height:44px;color:var(--forest);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:.3rem;padding:0 .65rem;font-weight:800;display:inline-flex}.archived-class-limit{color:var(--ink-faint)}.archived-class-registry :is(button):focus-visible{outline:2px solid var(--gold);outline-offset:3px}.student-detail-backdrop{z-index:39;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#17242147;position:fixed;inset:0}.student-record-section{margin-top:1.5rem;padding-top:.25rem}.student-record-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;display:flex}.student-record-heading h3{margin-bottom:.65rem}.student-record-heading>span{background:var(--paper);min-width:28px;height:28px;color:var(--forest);border-radius:50%;place-items:center;font-size:.7rem;font-weight:850;display:grid}.student-record-error{background:var(--peach);color:var(--rust);border-radius:10px;margin:.7rem 0;padding:.65rem .75rem;font-size:.75rem}.student-attempt-list,.student-video-list,.student-library-list{gap:.55rem;margin-top:.7rem;display:grid}.student-attempt-list>article{border:1px solid var(--line);background:#fff;border-radius:14px;padding:.8rem}.student-attempt-list article>header{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.student-attempt-list header strong{font-family:var(--font-display);font-size:1.05rem}.student-attempt-list header span{background:var(--paper);color:var(--ink-soft);text-transform:capitalize;border-radius:999px;padding:.2rem .45rem;font-size:.68rem;font-weight:800}.student-attempt-list header span[data-result=correct]{background:rgba(var(--mint-rgb),.3);color:var(--forest)}.student-attempt-list article>p{color:var(--ink);margin:.55rem 0 .3rem;font-size:.875rem;line-height:1.55}.student-attempt-list article>small{color:var(--ink-soft);font-size:.75rem;line-height:1.5}.student-attempt-list footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.6rem;min-height:44px;margin-top:.55rem;padding-top:.5rem;display:flex}.student-attempt-list footer time,.student-attempt-list footer>span{color:var(--ink-faint);font-size:.7rem}.student-attempt-list footer button{border:1px solid var(--line-strong);min-height:44px;color:var(--forest);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:.3rem;padding:0 .65rem;font-size:.75rem;font-weight:800;display:inline-flex}.student-attempt-list footer audio{width:min(270px,70%);height:36px}.student-video-list a{min-height:58px;color:var(--ink);background:#fff;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.65rem .75rem;display:grid}.student-video-list a>svg:first-child{color:var(--forest-bright)}.student-video-list a span,.student-library-list article>span:first-child{gap:.15rem;min-width:0;display:grid}.student-video-list strong,.student-library-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.student-video-list small,.student-library-list small{color:var(--ink-faint);font-size:.75rem}.student-library-list article{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:56px;padding:.6rem .75rem;display:grid}.student-library-meta{color:var(--ink-faint);text-transform:capitalize;font-size:.7rem}.student-record-empty{color:var(--ink-faint);text-align:center;margin:0;padding:.8rem;font-size:.75rem}@keyframes class-panel-in{0%{opacity:0;transform:translate(24px)}}@media (max-width:900px){.class-roster>header{flex-direction:column;align-items:flex-start}.class-roster dl{grid-template-columns:repeat(4,1fr);width:100%}.class-roster dl div{border-left:0;border-top:1px solid var(--line)}.student-detail-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width:680px){.teacher-hero{flex-direction:column;align-items:flex-start}.teacher-hero-mark{width:84px;height:84px}.class-create-panel,.join-class-box{grid-template-columns:1fr}.class-roster dl,.student-detail-stats{grid-template-columns:repeat(2,1fr)}.student-class-actions{flex-direction:column;align-items:stretch}.student-class-actions button{width:100%}.class-code-controls{flex-direction:column;align-items:stretch}.class-code-controls>button,.class-code-inactive{width:100%}.class-event-timeline>header{flex-direction:column;align-items:stretch}.class-event-timeline header button{justify-content:center;width:100%}}.assignment-board{border:1px solid var(--line);box-shadow:0 16px 38px rgba(var(--forest-rgb),.06);background:#fffdf8;border-radius:20px;gap:1rem;padding:clamp(1rem,2.4vw,1.5rem);display:grid}.assignment-board-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.assignment-board-heading h2{font-family:var(--font-display);letter-spacing:-.035em;margin:.2rem 0 .25rem;font-size:clamp(1.4rem,2.8vw,2.1rem);font-weight:500}.assignment-board-heading p:last-child{max-width:720px;color:var(--ink-soft);margin:0;font-size:.78rem;line-height:1.55}.assignment-summary{border-left:2px solid var(--gold);min-width:92px;color:var(--ink-soft);text-align:right;padding:.65rem .8rem;font-size:.78rem;display:grid}.assignment-summary strong{color:var(--forest);font-family:var(--font-display);font-size:1.8rem;font-weight:500;line-height:.85}.assignment-summary small{color:var(--ink-faint);margin-top:.3rem;font-size:.67rem}.assignment-state,.assignment-empty{border:1px dashed var(--line-strong);min-height:112px;color:var(--ink-soft);border-radius:14px;justify-content:center;align-items:center;gap:.55rem;font-size:.78rem;display:flex}.assignment-state button{border:1px solid var(--line-strong);min-height:44px;color:var(--forest);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:.35rem;padding:0 .7rem;font-weight:800;display:inline-flex}.assignment-empty{text-align:center;flex-direction:column}.assignment-empty svg{color:var(--gold)}.assignment-empty p{color:var(--ink-faint);margin:-.25rem 0 0}.student-assignment-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:.75rem;display:grid}.student-assignment-card{border:1px solid var(--line);background:#fff;border-radius:16px;align-content:start;gap:.7rem;padding:1rem;display:grid}.student-assignment-card[data-status=overdue]{border-color:#a7422d6b}.student-assignment-card[data-status=completed]{background:rgba(var(--mint-rgb),.1)}.assignment-card-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.assignment-card-top time{color:var(--ink-faint);font-size:.67rem}.assignment-status{background:rgba(var(--mint-rgb),.24);color:var(--forest);border-radius:999px;align-items:center;gap:.25rem;padding:.24rem .45rem;font-size:.66rem;font-weight:850;display:inline-flex}.assignment-status[data-status=overdue]{background:var(--peach);color:var(--danger)}.assignment-status[data-status=completed]{background:var(--forest);color:#fff}.assignment-status[data-status=not_started]{background:var(--surface);color:var(--ink-soft)}.student-assignment-card h3{font-family:var(--font-display);margin:0;font-size:1.2rem;font-weight:550}.student-assignment-card ul,.teacher-assignment-list ul{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.student-assignment-card li{grid-template-columns:28px 1fr;align-items:center;gap:.55rem;display:grid}.student-assignment-card li>span{border:1px solid var(--line-strong);width:28px;height:28px;color:var(--ink-soft);border-radius:8px;place-items:center;font-size:.7rem;font-weight:900;display:grid}.student-assignment-card li[data-complete=true]>span{border-color:var(--forest);background:var(--forest);color:#fff}.student-assignment-card li div{gap:.1rem;display:grid}.student-assignment-card li strong{font-size:.76rem}.student-assignment-card li small{color:var(--ink-faint);font-size:.67rem}.assignment-action{background:var(--forest);color:#fff;border-radius:10px;justify-content:center;align-items:center;gap:.35rem;min-height:44px;margin-top:.2rem;padding:0 .75rem;font-size:.75rem;font-weight:850;display:flex}.assignment-action svg:last-child{margin-left:auto}.assignment-create-toggle{background:var(--forest);color:#fff;cursor:pointer;border:0;border-radius:11px;flex:none;align-items:center;gap:.35rem;min-height:44px;padding:0 .8rem;font-size:.75rem;font-weight:850;display:inline-flex}.assignment-create-form{background:var(--paper);border-radius:16px;grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);gap:.85rem;padding:1rem;display:grid}.assignment-create-form label{color:var(--ink-soft);align-content:start;gap:.35rem;font-size:.72rem;font-weight:750;display:grid}.assignment-create-form input,.assignment-create-form select{border:1px solid var(--line-strong);min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:0 .7rem;font-size:.76rem}.assignment-create-form input[aria-invalid=true]{border-color:var(--danger)}.assignment-create-form fieldset{border:1px solid var(--line);border-radius:13px;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0;padding:.8rem;display:grid}.assignment-create-form legend{color:var(--ink);padding:0 .35rem;font-size:.74rem;font-weight:850}.assignment-requirement-choice{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;grid-template-columns:auto 1fr;align-items:center;min-height:64px;padding:.65rem}.assignment-requirement-choice input{width:18px;min-height:18px;accent-color:var(--forest)}.assignment-requirement-choice span{gap:.15rem;display:grid}.assignment-requirement-choice strong{color:var(--ink);font-size:.76rem}.assignment-requirement-choice small{color:var(--ink-faint);font-size:.65rem;font-weight:500}.assignment-video-field,.assignment-review-target{align-self:end}.assignment-field-error{color:var(--danger);font-size:.66rem;font-weight:650}.assignment-form-actions{grid-column:1/-1;justify-content:flex-end;gap:.5rem;display:flex}.assignment-form-actions button{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.35rem;min-height:44px;padding:0 .8rem;font-weight:850;display:inline-flex}.assignment-cancel{border:1px solid var(--line-strong);color:var(--ink-soft);background:#fff}.assignment-submit{background:var(--forest);color:#fff;border:0}.assignment-submit:disabled{cursor:not-allowed;opacity:.45}.assignment-notice{border-left:2px solid var(--gold);background:rgba(var(--gold-rgb),.09);color:var(--ink-soft);margin:0;padding:.65rem .75rem;font-size:.74rem}.teacher-assignment-groups{gap:.9rem;display:grid}.assignment-group-title{justify-content:space-between;align-items:center;margin-bottom:.55rem;display:flex}.assignment-group-title h3{font-family:var(--font-display);margin:0;font-size:1.15rem;font-weight:550}.assignment-group-title span{background:var(--forest);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.67rem;font-weight:850;display:grid}.teacher-assignment-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:.65rem;display:grid}.teacher-assignment-list article{border:1px solid var(--line);background:#fff;border-radius:14px;align-content:start;gap:.65rem;padding:.85rem;display:grid}.teacher-assignment-list article>div{gap:.2rem;display:grid}.teacher-assignment-list h4{margin:0;font-size:.83rem}.teacher-assignment-list time{color:var(--ink-faint);font-size:.67rem}.teacher-assignment-list li{color:var(--ink-soft);align-items:center;gap:.35rem;font-size:.71rem;display:flex}.teacher-assignment-list li svg{color:var(--forest-bright)}.teacher-assignment-list article>button{border:1px solid var(--line-strong);min-height:44px;color:var(--forest);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:.35rem;margin-top:auto;font-size:.7rem;font-weight:850;display:inline-flex}.teacher-assignment-list article>button:disabled{cursor:not-allowed;opacity:.5}.assignment-group-empty{border:1px dashed var(--line-strong);color:var(--ink-faint);text-align:center;border-radius:12px;margin:0;padding:.8rem;font-size:.72rem}.archived-assignment-group{border-top:1px solid var(--line);padding-top:.75rem}.archived-assignment-group summary{min-height:44px;color:var(--ink-soft);cursor:pointer;font-size:.74rem;font-weight:800}.archived-assignment-group .teacher-assignment-list{opacity:.76}.assignment-no-deadline{color:var(--ink-faint);font-size:.67rem}.teacher-assignment-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:auto;display:grid}.teacher-assignment-actions button{border:1px solid var(--line-strong);min-height:44px;color:var(--forest);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:.35rem;font-size:.7rem;font-weight:850;display:inline-flex}.teacher-assignment-actions button[aria-pressed=true]{border-color:var(--forest);background:var(--forest);color:#fff}.teacher-assignment-actions button:disabled{cursor:not-allowed;opacity:.5}.assignment-progress-panel{border:1px solid rgba(var(--forest-rgb),.18);background:linear-gradient(145deg,rgba(var(--mint-rgb),.1),white 52%);border-radius:16px;gap:.85rem;padding:clamp(.85rem,2vw,1.2rem);display:grid}.assignment-progress-panel>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.assignment-progress-panel>header h3{font-family:var(--font-display);margin:.15rem 0 .2rem;font-size:1.35rem;font-weight:550}.assignment-progress-panel>header p:last-child{color:var(--ink-soft);margin:0;font-size:.72rem}.assignment-progress-panel>header>button{border:1px solid var(--line);width:44px;height:44px;color:var(--forest);cursor:pointer;background:#fff;border-radius:50%;flex:none;place-items:center;display:grid}.assignment-progress-summary{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.5rem;display:grid}.assignment-progress-summary article{border:1px solid var(--line);background:#fff;border-radius:12px;align-content:center;gap:.15rem;min-height:76px;padding:.65rem;display:grid}.assignment-progress-summary article:first-child{background:var(--forest);color:#fff}.assignment-progress-summary article[data-warning=true]{border-color:#a33a2b59}.assignment-progress-summary strong{font-family:var(--font-display);font-size:1.25rem;font-weight:550}.assignment-progress-summary span{color:var(--ink-faint);font-size:.65rem}.assignment-progress-summary article:first-child span{color:#ffffffad}.assignment-progress-table-wrap{border:1px solid var(--line);background:#fff;border-radius:13px;overflow-x:auto}.assignment-progress-table{border-collapse:collapse;width:100%;min-width:720px}.assignment-progress-table th{color:var(--ink-faint);text-align:left;padding:.6rem .7rem;font-size:.65rem}.assignment-progress-table td{border-top:1px solid var(--line);color:var(--ink-soft);vertical-align:middle;padding:.7rem;font-size:.72rem}.assignment-progress-table td:first-child{color:var(--ink);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;display:grid}.assignment-progress-table td:first-child .student-avatar{grid-row:auto}.assignment-progress-table td:last-child{color:var(--ink-faint);white-space:nowrap}.assignment-progress-status{background:rgba(var(--mint-rgb),.18);min-height:28px;color:var(--forest);white-space:nowrap;border-radius:999px;align-items:center;padding:0 .45rem;font-size:.65rem;font-weight:850;display:inline-flex}.assignment-progress-status[data-status=completed]{background:var(--forest);color:#fff}.assignment-progress-status[data-status=overdue]{background:var(--peach);color:var(--danger)}.assignment-progress-status[data-status=not_started]{background:var(--surface);color:var(--ink-soft)}.assignment-progress-status[data-evidence=unavailable]{color:var(--danger);background:#fff;border:1px solid #a33a2b47}.assignment-requirement-progress{flex-wrap:wrap;gap:.35rem;display:flex}.assignment-requirement-progress>span{border:1px solid var(--line);background:var(--paper);border-radius:8px;align-items:center;gap:.35rem;padding:.25rem .4rem;font-size:.65rem;display:inline-flex}.assignment-requirement-progress>span[data-complete=true]{border-color:rgba(var(--forest-rgb),.24)}.assignment-requirement-progress b{color:var(--forest)}.assignment-progress-table td>small{max-width:310px;color:var(--danger);margin-top:.35rem;font-size:.62rem;line-height:1.4;display:block}.assignment-requirement-progress small{color:var(--ink-faint);font-size:.6rem}.assignment-board button:focus-visible,.assignment-board a:focus-visible,.assignment-board input:focus-visible,.assignment-board select:focus-visible,.student-class-list button:focus-visible,.student-class-actions button:focus-visible,.class-code-controls button:focus-visible,.student-remove-trigger:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media (max-width:760px){.assignment-board-heading{flex-direction:column;align-items:flex-start}.assignment-create-toggle{justify-content:center;width:100%}.assignment-create-form,.assignment-create-form fieldset{grid-template-columns:1fr}.assignment-create-form>label,.assignment-create-form fieldset,.assignment-form-actions{grid-column:1}.assignment-summary{border-top:2px solid var(--gold);text-align:left;border-left:0;align-self:stretch}.assignment-card-top{flex-direction:column;align-items:flex-start}.assignment-progress-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-progress-summary article:first-child{grid-column:1/-1}.teacher-assignment-actions{grid-template-columns:1fr}}.library-page{gap:1.15rem;padding-bottom:4rem;display:grid}.library-hero{border-radius:var(--radius-lg);background:linear-gradient(116deg, #fffdf7f5, #f6fcf7d1), var(--surface);box-shadow:var(--shadow-soft);border:1px solid #ffffffb3;justify-content:space-between;align-items:flex-end;gap:2rem;padding:clamp(1.4rem,4vw,3.2rem);display:flex}.library-hero h1{max-width:760px;font-family:var(--font-display);letter-spacing:-.06em;margin:.45rem 0 .8rem;font-size:clamp(2.7rem,6.2vw,5.8rem);font-weight:500;line-height:.95}.library-hero>div>p:last-child{max-width:720px;color:var(--ink-soft);margin:0;line-height:1.75}.library-add-source{background:var(--forest);color:#fff;min-height:48px;box-shadow:0 13px 28px rgba(var(--forest-rgb), .17);border-radius:15px;flex:none;justify-content:center;align-items:center;gap:.5rem;padding:0 1.15rem;font-size:.78rem;font-weight:800;transition:background .16s,transform .16s;display:inline-flex}.library-add-source:hover{background:var(--forest-bright);transform:translateY(-2px)}.library-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;display:grid}.library-stats button{border:1px solid var(--line);min-height:116px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:#fffdf7c7;border-radius:20px;grid-template-columns:auto 1fr;align-content:center;gap:.1rem .7rem;padding:1.1rem;transition:border-color .14s,box-shadow .14s,transform .14s;display:grid}.library-stats button:hover{border-color:var(--mint-strong);transform:translateY(-2px)}.library-stats button[data-selected=true]{border-color:var(--forest);background:var(--forest);color:#fff;box-shadow:0 10px 26px rgba(var(--forest-rgb), .16)}.library-stats button:focus-visible{outline:3px solid var(--mint-strong)}@supports (color:color-mix(in lab, red, red)){.library-stats button:focus-visible{outline:3px solid color-mix(in srgb, var(--mint-strong) 48%, transparent)}}.library-stats button:focus-visible{outline-offset:3px}.library-stats button svg{color:var(--forest-bright);grid-row:span 2;align-self:center}.library-stats button[data-selected=true] svg{color:var(--mint)}.library-stats button strong{font-family:var(--font-display);font-size:2rem;font-weight:500;line-height:1}.library-stats button span{color:var(--ink-faint);font-size:.68rem;font-weight:750}.library-stats button[data-selected=true] span{color:#ffffffb8}.library-toolbar{border:1px solid var(--line);background:#fffdf7c7;border-radius:22px;grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(118px,.55fr));align-items:end;gap:.75rem;padding:1rem;display:grid;box-shadow:0 12px 30px #1b2f2a0d}.library-search{border:1px solid var(--line-strong);background:#fff;border-radius:14px;align-items:center;gap:.65rem;min-height:48px;padding:0 .9rem;display:flex}.library-search svg{color:var(--ink-faint);flex:none}.library-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:.78rem}.library-filter-heading{color:var(--ink-soft);grid-column:1/-1;align-items:center;gap:.45rem;font-size:.67rem;font-weight:800;display:flex}.library-select-filter{gap:.35rem;display:grid}.library-select-filter>span{color:var(--ink-faint);padding-left:.2rem;font-size:.58rem;font-weight:800}.library-select-filter select,.library-select-filter input,.library-item-card-top select,.library-detail-actions select{border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;background:#fff}.library-select-filter select{border-radius:14px;min-height:48px;padding:0 2rem 0 .75rem;font-size:.68rem;font-weight:750}.library-select-filter input{border:1px solid var(--line-strong);width:100%;min-height:48px;color:var(--ink);font:inherit;background:#fff;border-radius:14px;padding:0 .7rem;font-size:.68rem;font-weight:750}.library-speaking-queue{border:1px solid var(--mint-strong);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.9rem;padding:.95rem 1rem;display:grid}@supports (color:color-mix(in lab, red, red)){.library-speaking-queue{border:1px solid color-mix(in srgb, var(--mint-strong) 34%, var(--line))}}.library-speaking-queue{background:linear-gradient(105deg, var(--mint), #fffdf7f5);border-radius:18px}@supports (color:color-mix(in lab, red, red)){.library-speaking-queue{background:linear-gradient(105deg, color-mix(in srgb, var(--mint) 34%, white), #fffdf7f5)}}.library-speaking-queue{box-shadow:0 10px 28px rgba(var(--forest-rgb), .07)}.library-speaking-queue-icon{background:var(--forest);color:#fff;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.library-speaking-queue>div{gap:.18rem;display:grid}.library-speaking-queue strong{color:var(--forest);font-size:.72rem}.library-speaking-queue p{color:var(--ink-soft);margin:0;font-size:.61rem;line-height:1.45}.library-speaking-queue ul{flex-wrap:wrap;gap:.3rem;margin:.3rem 0 0;padding:0;list-style:none;display:flex}.library-speaking-queue li{border:1px solid var(--mint-strong);max-width:180px;padding:.24rem .48rem;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.library-speaking-queue li{border:1px solid color-mix(in srgb, var(--mint-strong) 28%, transparent)}}.library-speaking-queue li{color:var(--forest);text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:999px;font-size:.56rem;font-weight:800}.library-speaking-queue>b{min-width:44px;color:var(--forest);font-family:var(--font-display);text-align:center;font-size:1.05rem}.library-speaking-queue>a,.library-speaking-queue-disabled{background:var(--forest);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:.35rem;min-height:42px;padding:0 .78rem;font-size:.62rem;font-weight:820;text-decoration:none;display:inline-flex}.library-speaking-queue-disabled{opacity:.38}.library-results{gap:.75rem;display:grid}.library-results>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.15rem .25rem;display:flex}.library-results>header strong{color:var(--ink-soft);font-size:.68rem}.library-results>header .library-clear-filters{color:var(--coral);cursor:pointer;background:0 0;border:0;font-size:.65rem;font-weight:800}.library-results-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.library-layout-switcher{border:1px solid var(--line-strong);background:#fffdf7e0;border-radius:14px;align-items:center;gap:.2rem;margin:0;padding:.2rem;display:flex}.library-layout-switcher legend{float:left;color:var(--ink-soft);margin:0 .4rem 0 .35rem;font-size:.62rem;font-weight:800}.library-layout-switcher button{min-width:44px;min-height:44px;color:var(--forest);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:10px;padding:0 .65rem;font-size:.64rem;font-weight:850}.library-layout-switcher button:hover{background:var(--mint)}@supports (color:color-mix(in lab, red, red)){.library-layout-switcher button:hover{background:color-mix(in srgb, var(--mint) 42%, transparent)}}.library-layout-switcher button[data-selected=true]{background:var(--forest);color:#fff;box-shadow:0 6px 14px rgba(var(--forest-rgb), .16)}.library-item-word{align-items:center;gap:.4rem;display:flex}.library-word-listen{border:1px solid rgba(var(--forest-rgb), .2);background:var(--paper);width:44px;height:44px;color:var(--forest);cursor:pointer;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.library-word-listen:hover{border-color:var(--forest);background:var(--forest);color:#fff}.library-item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.library-results[data-layout-size=medium] .library-item-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr));gap:.7rem}.library-results[data-layout-size=small] .library-item-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:.6rem}.library-item-card{--item-accent:var(--forest-bright);border:1px solid var(--line);border-top:3px solid var(--item-accent);content-visibility:auto;contain-intrinsic-size:0 325px;background:#fffdf7e6;border-radius:22px;align-content:start;min-height:290px;padding:1.35rem;transition:box-shadow .16s,transform .16s;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 34px #1b2f2a0f}.library-item-card[data-type=phrase]{--item-accent:#a36332}.library-item-card[data-type=pattern]{--item-accent:#436a86}.library-item-card:hover{box-shadow:var(--shadow-card);transform:translateY(-3px)}.library-item-card[data-speaking-selected=true]{border-color:var(--mint-strong)}@supports (color:color-mix(in lab, red, red)){.library-item-card[data-speaking-selected=true]{border-color:color-mix(in srgb, var(--mint-strong) 70%, var(--line))}}.library-item-card[data-speaking-selected=true]{box-shadow:inset 0 0 0 2px var(--mint-strong), 0 14px 34px rgba(var(--forest-rgb), .08)}@supports (color:color-mix(in lab, red, red)){.library-item-card[data-speaking-selected=true]{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--mint-strong) 24%, transparent), 0 14px 34px rgba(var(--forest-rgb), .08)}}.library-item-card-top{grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:.55rem;display:grid}.library-mastery-badge{background:var(--paper);border-radius:999px;width:fit-content;padding:.25rem .45rem;font-weight:850;color:var(--ink-soft)!important;letter-spacing:0!important;text-transform:none!important;font-size:.48rem!important}.library-mastery-badge[data-mastery=strong],.library-mastery-badge[data-mastery=mastered]{background:var(--mint);color:var(--forest)!important}.library-speaking-toggle{border:1px solid var(--line-strong);color:#0000;cursor:pointer;background:#fff;border-radius:11px;place-items:center;width:44px;height:44px;padding:0;transition:border-color .12s,background .12s,color .12s,transform .12s;display:grid}.library-speaking-toggle:hover:not(:disabled){border-color:var(--mint-strong);transform:translateY(-1px)}.library-speaking-toggle[data-selected=true]{border-color:var(--forest);background:var(--forest);color:#fff}.library-speaking-toggle:disabled{cursor:not-allowed;opacity:.34}.library-type-mark{background:var(--item-accent);border-radius:11px;place-items:center;width:34px;height:34px;display:grid}@supports (color:color-mix(in lab, red, red)){.library-type-mark{background:color-mix(in srgb, var(--item-accent) 12%, white)}}.library-type-mark{color:var(--item-accent)}.library-item-card-top>span:nth-child(2){color:var(--item-accent);letter-spacing:.08em;text-transform:uppercase;font-size:.63rem;font-weight:850}.library-item-card-top select{border-radius:10px;max-width:112px;min-height:44px;padding:0 .5rem;font-size:.6rem;font-weight:750}.library-item-card h2{font-family:var(--font-display);letter-spacing:-.045em;margin:1rem 0 .28rem;font-size:clamp(1.45rem,2.35vw,2.15rem);font-weight:500;line-height:.98}.library-item-card>strong{color:var(--coral);font-size:.8rem}.library-item-card blockquote{border-left:2px solid var(--mint-strong);color:var(--ink-soft);font-family:var(--font-display);margin:1.2rem 0;padding-left:.9rem;font-size:.94rem;line-height:1.55}.library-item-card footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.8rem;margin-top:auto;padding-top:1rem;display:flex}.library-item-card footer>span{min-width:0;color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;overflow:hidden}.library-results[data-layout-size=medium] .library-item-card{contain-intrinsic-size:0 285px;border-radius:19px;min-height:255px;padding:1.05rem}.library-results[data-layout-size=medium] .library-item-card h2{margin-top:.8rem;font-size:clamp(1.35rem,1.9vw,1.75rem)}.library-results[data-layout-size=medium] .library-item-card blockquote{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:.85rem 0;font-size:.82rem;display:-webkit-box;overflow:hidden}.library-results[data-layout-size=small] .library-item-card{contain-intrinsic-size:0 245px;border-radius:17px;min-height:220px;padding:.85rem}.library-results[data-layout-size=small] .library-item-card-top{grid-template-columns:auto minmax(0,1fr) auto;gap:.4rem}.library-results[data-layout-size=small] .library-type-mark{border-radius:9px;width:30px;height:30px}.library-results[data-layout-size=small] .library-mastery-badge{grid-area:2/1/auto/3}.library-results[data-layout-size=small] .library-item-card-top select{grid-area:2/3;max-width:96px}.library-results[data-layout-size=small] .library-speaking-toggle{grid-area:1/3;width:44px;height:44px}.library-results[data-layout-size=small] .library-item-card h2{overflow-wrap:anywhere;margin-top:.65rem;font-size:clamp(1.2rem,1.55vw,1.5rem)}.library-results[data-layout-size=small] .library-item-card>strong{font-size:.7rem}.library-results[data-layout-size=small] .library-item-card blockquote{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.65rem 0;padding-left:.65rem;font-size:.74rem;line-height:1.45;display:-webkit-box;overflow:hidden}.library-results[data-layout-size=small] .library-item-card footer{flex-direction:column;align-items:stretch;gap:.55rem;padding-top:.7rem}.library-results[data-layout-size=small] .library-card-actions{justify-content:flex-end}.library-item-card footer button,.library-state-card button,.library-empty-state a,.library-empty-state button{background:var(--forest);color:#fff;cursor:pointer;border:0;border-radius:11px;flex:none;justify-content:center;align-items:center;gap:.4rem;min-height:44px;padding:0 .8rem;font-size:.62rem;font-weight:800;display:inline-flex}.library-state-card,.library-empty-state{border:1px dashed var(--line-strong);text-align:center;background:#fffdf7a3;border-radius:24px;align-content:center;place-items:center;gap:.75rem;min-height:300px;padding:2rem;display:grid}.library-state-card p,.library-empty-state p{max-width:520px;color:var(--ink-soft);margin:0;font-size:.78rem;line-height:1.65}.library-empty-state>span{background:var(--mint);width:52px;height:52px;color:var(--forest);border-radius:17px;place-items:center;display:grid}.library-empty-state h2{font-family:var(--font-display);letter-spacing:-.045em;margin:.35rem 0 0;font-size:clamp(2rem,5vw,3.5rem);font-weight:500}.library-no-results>span{color:var(--coral);background:#f2e5da}.library-inline-error{color:var(--coral);background:#ffebe5d1;border:1px solid #a33a2b33;border-radius:13px;margin:0;padding:.75rem 1rem;font-size:.7rem;font-weight:750}.library-detail-backdrop{z-index:80;width:100vw;max-width:none;height:100vh;max-height:none;color:var(--ink);background:0 0;border:0;justify-content:flex-end;margin:0;padding:0;animation:.18s both library-fade-in;display:flex;position:fixed;inset:0}.library-detail-backdrop::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a191685}.library-detail-backdrop:not([open]){display:none}.library-limit-note{color:#785033;background:#f7ead8c7;border:1px solid #a3633233;border-radius:13px;margin:0;padding:.8rem 1rem;font-size:.69rem;font-weight:750;line-height:1.55}.library-detail-panel{background:var(--surface);border-left:1px solid #ffffffb3;width:min(100%,720px);height:100%;animation:.24s cubic-bezier(.22,1,.36,1) both library-slide-in;overflow:hidden;box-shadow:-24px 0 60px #081d1933}.library-detail-header{border-bottom:1px solid var(--line);background:radial-gradient(circle at 20% 0%, rgba(var(--mint-rgb), .19), transparent 20rem), var(--surface);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem clamp(1.2rem,4vw,2.3rem);display:flex}.library-detail-header span,.library-detail-section>span,.library-quote-section>span,.library-detail-grid span,.library-source-section>div>span{color:var(--forest-bright);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:850}.library-detail-header h2{font-family:var(--font-display);letter-spacing:-.06em;margin:.35rem 0 .3rem;font-size:clamp(2rem,4.5vw,3.6rem);font-weight:500;line-height:.95}.library-detail-header strong{color:var(--coral);font-size:.88rem}.library-detail-header>button{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);cursor:pointer;background:#ffffffb3;border-radius:13px;flex:none;place-items:center;display:grid}.library-detail-scroll{gap:1rem;height:calc(100% - 148px);padding:1.2rem clamp(1.2rem,4vw,2.3rem) 3rem;display:grid;overflow-y:auto}.library-detail-actions{justify-content:space-between;align-items:end;gap:.7rem;display:flex}.library-detail-actions label{gap:.35rem;display:grid}.library-detail-actions label span{color:var(--ink-faint);font-size:.58rem;font-weight:800}.library-detail-actions select{border-radius:12px;min-height:42px;padding:0 2rem 0 .72rem;font-size:.68rem;font-weight:750}.library-detail-actions>button,.library-source-actions button,.library-source-actions a{border:1px solid var(--line-strong);min-height:42px;color:var(--forest);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;padding:0 .9rem;font-size:.66rem;font-weight:800;display:inline-flex}.library-next-practice{border:1px solid rgba(var(--mint-rgb), .42);background:linear-gradient(110deg, rgba(var(--mint-rgb), .12), #ffffffb8);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:1rem 1.1rem;display:grid}.library-next-practice>span,.library-next-practice>a{min-height:44px;color:var(--forest);align-items:center;gap:.4rem;font-size:.68rem;font-weight:800;display:inline-flex}.library-next-practice>div strong{font-family:var(--font-display);font-size:1.05rem}.library-next-practice>div p{color:var(--ink-soft);margin:.2rem 0 0;font-size:.7rem;line-height:1.5}.library-next-practice>a{background:var(--forest);color:#fff;border-radius:10px;padding:0 .8rem}.library-detail-section,.library-quote-section,.library-detail-grid section,.library-source-section,.library-history-grid{border:1px solid var(--line);background:#ffffff8c;border-radius:18px}.library-detail-section,.library-quote-section{padding:1.2rem}.library-detail-section p,.library-detail-grid p,.library-source-section p{color:var(--ink-soft);margin:.55rem 0 0;font-size:.76rem;line-height:1.7}.library-quote-section{border-color:rgba(var(--forest-rgb), .18);background:var(--forest);color:#fff;position:relative}.library-quote-section>span{color:var(--mint-strong)}.library-quote-section blockquote{font-family:var(--font-display);margin:.7rem 0 0;font-size:clamp(1.25rem,3vw,1.8rem);line-height:1.45}.library-quote-section small{background:var(--mint);color:var(--forest);border-radius:999px;margin-top:.7rem;padding:.25rem .5rem;font-size:.62rem;font-weight:850;display:inline-block}.library-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.library-detail-grid section{padding:1rem}.library-detail-grid section:last-child:nth-child(odd){grid-column:1/-1}.library-source-section{justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem;display:flex}.library-source-section h3{font-family:var(--font-display);margin:.4rem 0 0;font-size:1.4rem;font-weight:500}.library-source-actions{flex:none;gap:.45rem;display:flex}.library-source-actions button{border-color:var(--forest);background:var(--forest);color:#fff}.library-video-frame{aspect-ratio:16/9;box-shadow:var(--shadow-card);background:#071512;border-radius:18px;position:relative;overflow:hidden}.library-video-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.library-history-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid;overflow:hidden}.library-history-grid div{border-right:1px solid var(--line);padding:.9rem}.library-history-grid div:last-child{border-right:0}.library-history-grid dt{color:var(--ink-faint);font-size:.57rem;font-weight:750}.library-history-grid dd{font-family:var(--font-display);margin:.35rem 0 0;font-size:1.2rem}@keyframes library-fade-in{0%{opacity:0}}@keyframes library-slide-in{0%{transform:translate(100%)}}@media (max-width:1120px){.library-toolbar{grid-template-columns:1fr 1fr}.library-search,.library-filter-heading{grid-column:1/-1}}@media (max-width:760px){.library-hero{flex-direction:column;align-items:stretch}.library-add-source{align-self:flex-start}.library-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.library-toolbar{grid-template-columns:1fr}.library-search,.library-filter-heading{grid-column:auto}.library-item-grid,.library-results[data-layout-size=medium] .library-item-grid,.library-results[data-layout-size=small] .library-item-grid{grid-template-columns:1fr}.library-results>header{flex-direction:column;align-items:flex-start}.library-results-actions{justify-content:space-between;width:100%}.library-detail-panel{width:100%}.library-detail-grid{grid-template-columns:1fr}.library-detail-grid section:last-child:nth-child(odd){grid-column:auto}.library-source-section{flex-direction:column;align-items:stretch}.library-source-actions{flex-wrap:wrap}.library-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-history-grid div:nth-child(2){border-right:0}.library-history-grid div:nth-child(-n+2){border-bottom:1px solid var(--line)}}.class-patterns-panel{border:1px solid var(--line);box-shadow:0 16px 38px rgba(var(--forest-rgb),.05);background:#fffdf8;border-radius:18px;gap:.9rem;padding:clamp(1rem,2.4vw,1.4rem);display:grid}.class-patterns-panel>header{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:.75rem;display:grid}.class-patterns-icon{background:var(--forest);width:42px;height:42px;color:var(--gold-pale);border-radius:12px;place-items:center;display:grid}.class-patterns-panel h2{font-family:var(--font-display);letter-spacing:-.025em;margin:.15rem 0;font-size:clamp(1.25rem,2.2vw,1.75rem);font-weight:550}.class-patterns-panel header p:last-child{color:var(--ink-soft);margin:0;font-size:.78rem;line-height:1.5}.class-patterns-load,.class-patterns-refresh{border:1px solid var(--forest);background:var(--forest);color:#fff;cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:.35rem;min-height:44px;padding:0 .8rem;font-size:.75rem;font-weight:850;display:inline-flex}.class-patterns-refresh{border-color:var(--line-strong);color:var(--forest);background:#fff}.class-patterns-load:disabled,.class-patterns-refresh:disabled{cursor:wait;opacity:.55}.class-patterns-state{border:1px dashed var(--line-strong);min-height:72px;color:var(--ink-soft);text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;padding:.7rem;font-size:.78rem;display:flex}.class-patterns-state svg{color:var(--gold)}.class-patterns-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.class-patterns-list li{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:110px minmax(0,1fr);display:grid;overflow:hidden}.class-patterns-list li>div{background:var(--forest);color:#fff;align-content:center;justify-items:center;gap:.55rem;padding:.9rem;display:grid}.class-patterns-list li>div span{font-family:var(--font-display);font-size:1.8rem;line-height:1}.class-patterns-list li>div small{color:#ffffff9e;font-family:var(--font-body);font-size:.72rem}.class-patterns-list li>div i{background:var(--gold);border-radius:999px;width:100%;max-width:72px;height:4px}.class-patterns-list article{grid-template-columns:minmax(0,1fr) minmax(220px,.75fr);gap:.15rem 1rem;padding:.8rem .9rem;display:grid}.class-patterns-list article>.section-kicker,.class-patterns-list article>h3,.class-patterns-list article>p{grid-column:1}.class-patterns-list h3{font-family:var(--font-display);margin:.1rem 0;font-size:1.15rem;font-weight:550}.class-patterns-list article>p:last-of-type{color:var(--ink-soft);margin:0;font-size:.75rem;line-height:1.5}.class-patterns-list aside{border-left:2px solid var(--gold);background:var(--paper);color:var(--ink-soft);grid-area:1/2/4;align-items:center;gap:.5rem;padding:.6rem .7rem;font-size:.75rem;line-height:1.45;display:flex}.class-patterns-list aside svg{color:var(--forest);flex:none}.class-patterns-list aside span{gap:.15rem;display:grid}.class-patterns-list aside strong{color:var(--forest);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.class-patterns-panel>footer{color:var(--ink-faint);align-items:flex-start;gap:.4rem;font-size:.72rem;line-height:1.5;display:flex}.class-patterns-panel>footer svg{color:var(--forest);flex:none;margin-top:.1rem}.class-patterns-panel :is(button):focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media (max-width:760px){.class-patterns-panel>header{grid-template-columns:42px minmax(0,1fr)}.class-patterns-panel>header>button{grid-column:1/-1;width:100%}.class-patterns-list li{grid-template-columns:76px minmax(0,1fr)}.class-patterns-list article{grid-template-columns:1fr}.class-patterns-list article>.section-kicker,.class-patterns-list article>h3,.class-patterns-list article>p,.class-patterns-list aside{grid-area:auto/1}.class-patterns-list aside{margin-top:.45rem}}.teacher-interventions-panel{border:1px solid rgba(var(--gold-rgb),.42);background:linear-gradient(135deg,#fffdf8 0%,rgba(var(--gold-rgb),.08) 100%);box-shadow:0 16px 38px rgba(var(--forest-rgb),.05);border-radius:18px;gap:.9rem;padding:clamp(1rem,2.4vw,1.4rem);display:grid}.teacher-interventions-panel>header{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:.75rem;display:grid}.teacher-interventions-icon{background:var(--forest);width:42px;height:42px;color:var(--gold-pale);border-radius:12px;place-items:center;display:grid}.teacher-interventions-panel h2{font-family:var(--font-display);letter-spacing:-.025em;margin:.15rem 0;font-size:clamp(1.25rem,2.2vw,1.75rem);font-weight:550}.teacher-interventions-panel header p:last-child{max-width:760px;color:var(--ink-soft);margin:0;font-size:.78rem;line-height:1.5}.teacher-interventions-load,.teacher-interventions-refresh{border:1px solid var(--forest);background:var(--forest);color:#fff;cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:.35rem;min-height:44px;padding:0 .8rem;font-size:.75rem;font-weight:850;display:inline-flex}.teacher-interventions-refresh{border-color:var(--line-strong);color:var(--forest);background:#fff}.teacher-interventions-load:disabled,.teacher-interventions-refresh:disabled{cursor:wait;opacity:.55}.teacher-interventions-state{border:1px dashed var(--line-strong);min-height:72px;color:var(--ink-soft);text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;padding:.7rem;font-size:.78rem;display:flex}.teacher-interventions-state svg{color:var(--gold)}.teacher-interventions-list{counter-reset:intervention;gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.teacher-interventions-list li{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:52px minmax(0,1fr);display:grid;overflow:hidden}.teacher-intervention-rank{background:var(--forest);color:var(--gold-pale);font-family:var(--font-display);place-items:center;font-size:1.05rem;display:grid}.teacher-interventions-list article{grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);gap:.15rem 1rem;padding:.8rem .9rem;display:grid}.teacher-interventions-list article>.section-kicker,.teacher-interventions-list article>h3,.teacher-interventions-list article>p,.teacher-interventions-list article>small{grid-column:1}.teacher-interventions-list h3{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;margin:.1rem 0;font-size:1.15rem;font-weight:550;overflow:hidden}.teacher-interventions-list article>p:not(.section-kicker){color:var(--ink-soft);margin:0;font-size:.75rem;line-height:1.55}.teacher-interventions-list article>small{color:var(--ink-faint);margin-top:.15rem;font-size:.7rem}.teacher-interventions-list aside{border-left:2px solid var(--gold);background:var(--paper);color:var(--ink-soft);grid-area:1/2/5;align-content:center;gap:.2rem;padding:.65rem .75rem;font-size:.75rem;line-height:1.5;display:grid}.teacher-interventions-list aside strong{color:var(--forest);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.teacher-intervention-actions{flex-wrap:wrap;gap:.4rem;margin-top:.45rem;display:flex}.teacher-intervention-actions button{border:1px solid var(--forest);background:var(--forest);color:#fff;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:.3rem;min-height:44px;padding:0 .65rem;font-size:.7rem;font-weight:800;display:inline-flex}.teacher-intervention-actions button+button{color:var(--forest);background:#fff}.teacher-intervention-actions button:disabled{cursor:wait;opacity:.55}.teacher-intervention-decision{color:var(--forest);align-items:center;gap:.3rem;margin-top:.45rem;font-size:.7rem;font-style:normal;font-weight:750;display:inline-flex}.teacher-interventions-error,.teacher-interventions-history-warning{border-left:2px solid var(--danger);background:var(--peach);color:var(--danger);margin:0;padding:.65rem .75rem;font-size:.74rem}.teacher-interventions-history-warning{border-left-color:var(--gold);background:var(--paper);color:var(--ink-soft)}.teacher-interventions-history{border-top:1px solid var(--line)}.teacher-interventions-history summary{min-height:44px;color:var(--forest);cursor:pointer;align-items:center;gap:.4rem;font-size:.76rem;font-weight:800;display:flex}.teacher-interventions-history ol{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.teacher-interventions-history li{background:#fff;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .75rem;padding:.55rem .65rem;display:grid}.teacher-interventions-history li>span{color:var(--forest);align-items:center;gap:.35rem;font-size:.72rem;display:flex}.teacher-interventions-history li>small{color:var(--ink-soft);grid-column:1;font-size:.68rem}.teacher-interventions-history time{color:var(--ink-faint);white-space:nowrap;grid-area:1/2/3;align-self:center;font-size:.68rem}.teacher-intervention-outcome{border-top:1px solid var(--line);grid-column:1/-1;gap:.35rem;margin-top:.35rem;padding-top:.45rem;display:grid}.teacher-intervention-outcome button{border:1px solid var(--line-strong);background:var(--paper);width:fit-content;min-height:44px;color:var(--forest);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:.3rem;padding:0 .65rem;font-size:.7rem;font-weight:800;display:inline-flex}.teacher-intervention-outcome button:disabled{cursor:wait;opacity:.55}.teacher-intervention-outcome p{color:var(--ink-soft);margin:0;font-size:.7rem;line-height:1.55}.teacher-intervention-outcome .teacher-intervention-outcome-error{color:var(--danger)}.teacher-interventions-panel>footer{color:var(--ink-faint);align-items:flex-start;gap:.4rem;font-size:.72rem;line-height:1.5;display:flex}.teacher-interventions-panel>footer svg{color:var(--forest);flex:none;margin-top:.1rem}.teacher-interventions-panel :is(button):focus-visible,.teacher-interventions-history summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media (max-width:760px){.teacher-interventions-panel>header{grid-template-columns:42px minmax(0,1fr)}.teacher-interventions-panel>header>button{grid-column:1/-1;width:100%}.teacher-interventions-list article{grid-template-columns:1fr}.teacher-interventions-list article>.section-kicker,.teacher-interventions-list article>h3,.teacher-interventions-list article>p,.teacher-interventions-list article>small,.teacher-interventions-list aside{grid-area:auto/1}.teacher-interventions-list aside{margin-top:.45rem}.teacher-interventions-history li{grid-template-columns:1fr}.teacher-interventions-history time{grid-area:auto/1}}@media (max-width:520px){.library-page{gap:.8rem}.library-hero,.library-toolbar{border-radius:20px}.library-stats button{min-height:96px;padding:.85rem}.library-item-card{min-height:270px;padding:1rem}.library-results[data-layout-size=small] .library-item-card{min-height:245px;padding:.95rem}.library-results[data-layout-size=small] .library-item-card h2{font-size:1.4rem}.library-results[data-layout-size=small] .library-item-card>strong{font-size:.78rem}.library-results[data-layout-size=small] .library-item-card blockquote{font-size:.84rem}.library-results[data-layout-size=small] .library-item-card-top select,.library-results[data-layout-size=small] .library-card-actions>a,.library-results[data-layout-size=small] .library-card-actions>button{min-height:44px}.library-item-card-top{grid-template-columns:auto minmax(0,1fr) auto auto}.library-item-card-top select{grid-column:1/3;width:100%;max-width:none}.library-speaking-toggle{grid-area:2/3;justify-self:end}.library-speaking-queue{grid-template-columns:auto minmax(0,1fr) auto}.library-speaking-queue>a,.library-speaking-queue-disabled{grid-column:1/-1;width:100%}.library-item-card footer{flex-direction:column;align-items:stretch}.library-item-card footer button{width:100%}.library-detail-header{padding:1.1rem}.library-detail-scroll{height:calc(100% - 128px);padding:1rem 1rem 5.5rem}.library-detail-actions{flex-direction:column;align-items:stretch}.library-next-practice{grid-template-columns:1fr}.library-next-practice>a{justify-content:center}.library-detail-actions select,.library-detail-actions>button{width:100%}.library-source-actions{flex-direction:column}}.personalization-page{gap:1.25rem;padding-bottom:2rem;display:grid}.personalization-hero{border:1px solid rgba(var(--forest-rgb), .1);background:radial-gradient(circle at 88% 18%, rgba(var(--mint-rgb), .22), transparent 28%), linear-gradient(135deg, var(--paper) 0%, rgba(var(--mint-rgb), .09) 100%);border-radius:34px;justify-content:space-between;align-items:center;gap:2rem;min-height:230px;padding:clamp(1.5rem,4vw,3.5rem);display:flex;overflow:hidden}.personalization-hero>div:first-child{max-width:760px}.personalization-hero h1{color:var(--forest);font-family:var(--font-display), serif;letter-spacing:-.045em;margin:.35rem 0 .65rem;font-size:clamp(2.5rem,6vw,5.6rem);font-weight:500;line-height:.95}.personalization-hero p:last-child{max-width:640px;color:var(--ink-soft);margin:0;line-height:1.75}.personalization-hero-mark{aspect-ratio:1;border:1px solid rgba(var(--forest-rgb), .12);background:#fffdf7b8;border-radius:50%;flex:none;place-items:center;width:clamp(100px,15vw,170px);display:grid;transform:rotate(-5deg)}.personalization-hero-mark svg{fill:none;width:66%;stroke:var(--forest);stroke-linecap:round;stroke-width:5px}.personalization-hero-mark circle{fill:var(--mint-strong);stroke:var(--paper);stroke-width:4px}.personalization-section{border:1px solid rgba(var(--forest-rgb), .12);box-shadow:0 16px 42px rgba(var(--forest-rgb), .05);background:#fffdf7e0;border-radius:28px;padding:clamp(1.25rem,3vw,2.25rem)}.personalization-section-heading{align-items:flex-start;gap:.9rem;margin-bottom:1.8rem;display:flex}.personalization-section-heading>span{background:rgba(var(--mint-rgb), .22);width:42px;height:42px;color:var(--forest);border-radius:14px;flex:none;place-items:center;display:grid}.personalization-section-heading h2{color:var(--forest);font-family:var(--font-display), serif;margin:0;font-size:clamp(1.55rem,3vw,2.2rem);font-weight:500}.personalization-section-heading p{color:var(--ink-soft);margin:.3rem 0 0;line-height:1.55}.personalization-fieldset{border:0;min-width:0;margin:0 0 2rem;padding:0}.personalization-fieldset:last-child{margin-bottom:0}.personalization-fieldset legend{color:var(--forest);letter-spacing:.05em;margin-bottom:.75rem;font-size:.82rem;font-weight:800}.personalization-fieldset input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.personalization-fieldset label{cursor:pointer;position:relative}.personalization-fieldset label:has(input:focus-visible){outline:3px solid rgba(var(--mint-rgb), .48);outline-offset:3px}.personalization-fieldset label:has(input:disabled){cursor:wait;opacity:.68}.personalization-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.personalization-stage-grid label{border:1px solid rgba(var(--forest-rgb), .14);background:var(--paper);border-radius:20px;flex-direction:column;min-height:126px;padding:1rem;transition:border-color .16s,transform .16s,background .16s;display:flex}.personalization-stage-grid label:hover,.personalization-duration-grid label:hover{border-color:var(--mint-strong);transform:translateY(-2px)}.personalization-stage-grid label[data-selected=true],.personalization-duration-grid label[data-selected=true]{border-color:var(--forest);background:var(--forest);color:var(--paper)}.personalization-stage-grid strong{font-family:var(--font-display), serif;font-size:1.5rem;font-weight:500;line-height:1.1}.personalization-stage-grid small{color:var(--ink-faint);margin-top:.45rem;font-size:.74rem;line-height:1.45}.personalization-stage-grid label[data-selected=true] small{color:#fffdf7b8}.personalization-duration-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;display:grid}.personalization-duration-grid label{border:1px solid rgba(var(--forest-rgb), .14);background:var(--paper);border-radius:18px;align-items:center;min-height:72px;padding:.9rem 2.4rem .9rem .9rem;transition:border-color .16s,transform .16s,background .16s;display:flex}.personalization-duration-grid strong{font-size:.84rem;line-height:1.35}.personalization-stage-grid i,.personalization-duration-grid i,.personalization-goal-grid i,.personalization-choice-pair i{background:var(--mint);width:22px;height:22px;color:var(--forest);border-radius:50%;place-items:center;font-style:normal;display:none;position:absolute;top:.75rem;right:.75rem}.personalization-fieldset label[data-selected=true]>i{display:grid}.personalization-goal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.personalization-goal-grid label{border:1px solid rgba(var(--forest-rgb), .13);background:var(--paper);border-radius:18px;grid-template-columns:34px 1fr;align-content:center;column-gap:.65rem;min-height:90px;padding:1rem 2.5rem 1rem 1rem;display:grid}.personalization-goal-grid label>span{background:rgba(var(--mint-rgb), .18);width:34px;height:34px;color:var(--forest);border-radius:11px;grid-row:span 2;place-items:center;display:grid}.personalization-goal-grid strong{color:var(--forest);align-self:end;font-size:.91rem}.personalization-goal-grid small{color:var(--ink-faint);margin-top:.15rem;font-size:.74rem;line-height:1.35}.personalization-goal-grid label[data-selected=true]{border-color:var(--mint-strong);background:rgba(var(--mint-rgb), .11)}.personalization-count-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.personalization-count-grid label{border:1px solid rgba(var(--forest-rgb), .13);background:var(--paper);border-radius:18px;grid-template-columns:auto 1fr;align-content:center;column-gap:.7rem;min-height:92px;padding:1rem;display:grid}.personalization-count-grid strong{color:var(--forest);font-family:var(--font-display), serif;grid-row:span 2;font-size:2rem;font-weight:500}.personalization-count-grid span{color:var(--forest);align-self:end;font-size:.86rem;font-weight:800}.personalization-count-grid small{color:var(--ink-faint);font-size:.74rem}.personalization-count-grid label[data-selected=true]{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}.personalization-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.personalization-choice-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.personalization-choice-pair label{border:1px solid rgba(var(--forest-rgb), .13);background:var(--paper);border-radius:20px;flex-direction:column;min-height:132px;padding:1rem;display:flex}.personalization-choice-pair label[data-selected=true]{border-color:var(--mint-strong);background:rgba(var(--mint-rgb), .11)}.personalization-choice-pair strong{color:var(--forest);margin-top:.8rem}.personalization-choice-pair small{color:var(--ink-faint);margin-top:.25rem;font-size:.76rem;line-height:1.45}.voice-orbit{background:var(--forest);width:42px;height:42px;color:var(--paper);border-radius:50%;place-items:center;display:grid}.theme-swatches{align-items:center;height:42px;display:flex}.theme-swatches b{border:3px solid var(--paper);width:34px;height:34px;box-shadow:0 2px 8px rgba(var(--forest-rgb), .12);border-radius:50%;margin-right:-8px}.theme-swatches[data-theme-preview=navy-gold] b:first-child{background:#101b36}.theme-swatches[data-theme-preview=navy-gold] b:nth-child(2){background:#c08a2e}.theme-swatches[data-theme-preview=navy-gold] b:nth-child(3){background:#fffdf7}.theme-swatches[data-theme-preview=teal-mint] b:first-child{background:#123f3a}.theme-swatches[data-theme-preview=teal-mint] b:nth-child(2){background:#8ed8bb}.theme-swatches[data-theme-preview=teal-mint] b:nth-child(3){background:#fffdf7}.personalization-savebar{border:1px solid rgba(var(--forest-rgb), .12);box-shadow:0 14px 40px rgba(var(--forest-rgb), .08);background:#fffdf7f0;border-radius:20px;justify-content:flex-end;align-items:center;gap:1rem;padding:1rem 1.15rem;display:flex}.personalization-savebar>div{margin-right:auto}.personalization-savebar p{margin:0;font-size:.86rem}.personalization-savebar p[data-kind=success]{color:var(--forest)}.personalization-savebar p[data-kind=error]{color:var(--danger)}.personalization-savebar button{min-height:48px}.personalization-empty{border:1px solid rgba(var(--forest-rgb), .12);background:var(--paper);color:var(--ink-soft);border-radius:24px;padding:2rem}@media (max-width:1050px){.personalization-duration-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.personalization-split{grid-template-columns:1fr}}@media (max-width:680px){.personalization-page{gap:.9rem}.personalization-hero{border-radius:24px;align-items:flex-start;min-height:0;padding:1.5rem}.personalization-hero h1{font-size:clamp(2.4rem,14vw,4rem)}.personalization-hero-mark{width:72px}.personalization-section{border-radius:22px;padding:1.15rem}.personalization-stage-grid,.personalization-duration-grid,.personalization-goal-grid,.personalization-count-grid,.personalization-choice-pair{grid-template-columns:1fr}.personalization-savebar{flex-direction:column;align-items:stretch}.personalization-savebar button{justify-content:center;width:100%}}.speaking-page{gap:1rem;padding-bottom:1rem;display:grid}.speaking-hero,.speaking-picker,.speaking-mode-panel,.speaking-live,.speaking-complete,.speaking-recent{border-radius:var(--workspace-card-radius);box-shadow:var(--workspace-card-shadow);background:#fffdf7d1;border:1px solid #ffffffb8}.speaking-hero{background:radial-gradient(circle at 88% 16%, rgba(var(--mint-rgb), .41), transparent 20rem), linear-gradient(130deg, #fffdf7, #f3f2e9);justify-content:space-between;align-items:flex-end;gap:2rem;min-height:270px;padding:clamp(2rem,5vw,4.2rem);display:flex;position:relative;overflow:hidden}.speaking-hero:after{border:1px solid rgba(var(--forest-rgb), .08);width:24rem;height:24rem;box-shadow:0 0 0 3rem #ffffff2e, 0 0 0 6rem rgba(var(--forest-rgb), .025);content:"";border-radius:50%;position:absolute;top:-9rem;right:-3rem}.speaking-hero>*{z-index:1;position:relative}.speaking-hero>div:first-child{max-width:780px}.speaking-hero h1{max-width:720px;font-family:var(--font-display);letter-spacing:-.065em;margin:.45rem 0 .9rem;font-size:clamp(3rem,6vw,5.7rem);font-weight:500;line-height:.93}.speaking-hero p:last-child{max-width:650px;color:var(--ink-soft);margin:0;font-size:.76rem;line-height:1.7}.speaking-hero-mark{background:var(--forest);width:118px;height:118px;color:var(--mint);box-shadow:0 20px 42px rgba(var(--forest-rgb), .24);border-radius:50%;flex:none;place-items:center;display:grid}.speaking-hero-mark span{letter-spacing:.14em;text-transform:uppercase;margin-top:-2.1rem;font-size:.5rem;font-weight:850}.speaking-error{color:var(--coral);background:#ffebe3d1;border:1px solid #a33a2b33;border-radius:17px;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;font-size:.66rem;line-height:1.5;display:flex}.speaking-error button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:10px;flex:none;padding:.45rem .7rem;font-weight:800}.speaking-leave-backdrop{z-index:120;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050c1ead;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.speaking-leave-dialog{border:1px solid rgba(var(--mint-rgb),.45);background:var(--dialog-surface);width:min(480px,100%);color:var(--dialog-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;isolation:isolate;border-radius:24px;grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:clamp(1.2rem,4vw,1.65rem);display:grid;box-shadow:0 30px 90px #050c1e57}.speaking-leave-dialog>span{background:var(--forest);width:48px;height:48px;color:var(--mint);border-radius:15px;place-items:center;display:grid}.speaking-leave-dialog .section-kicker{color:var(--rust);margin:0 0 .3rem}.speaking-leave-dialog h2{color:var(--dialog-ink);font-family:var(--font-display),serif;margin:0;font-size:clamp(1.35rem,4vw,1.8rem);font-weight:500;line-height:1.35}.speaking-leave-actions{grid-column:1/-1;justify-content:flex-end;gap:.6rem;padding-top:.35rem;display:flex}.speaking-leave-actions button{border:1px solid var(--line-strong);min-width:88px;min-height:46px;color:var(--dialog-action);cursor:pointer;font:inherit;background:0 0;border-radius:13px;padding:0 .9rem;font-weight:850}.speaking-leave-actions button[data-confirm=true]{border-color:var(--dialog-action);background:var(--dialog-action);color:var(--dialog-action-ink)}.speaking-leave-actions button:focus-visible{outline:3px solid var(--mint-strong);outline-offset:3px}.speaking-setup-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:1rem;display:grid}.speaking-picker,.speaking-mode-panel,.speaking-recent{padding:clamp(1.3rem,3vw,2rem)}.speaking-picker>header,.speaking-recent>header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.speaking-picker h2,.speaking-mode-panel h2,.speaking-recent h2,.speaking-live h2,.speaking-complete h2{font-family:var(--font-display);letter-spacing:-.05em;margin:.35rem 0 0;font-size:clamp(1.9rem,3.8vw,3.1rem);font-weight:500;line-height:1}.speaking-picker>header>strong{background:var(--mint);color:var(--forest);border-radius:999px;padding:.45rem .65rem;font-size:.56rem}.speaking-picker>p,.speaking-mode-panel>p:not(.section-kicker),.speaking-recent>header>p{color:var(--ink-faint);font-size:.65rem;line-height:1.55}.speaking-library-handoff{border:1px solid var(--mint-strong);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.7rem;margin:.9rem 0;padding:.75rem;display:grid}@supports (color:color-mix(in lab, red, red)){.speaking-library-handoff{border:1px solid color-mix(in srgb,var(--mint-strong) 34%,var(--line))}}.speaking-library-handoff{background:var(--mint);border-radius:15px}@supports (color:color-mix(in lab, red, red)){.speaking-library-handoff{background:color-mix(in srgb,var(--mint) 30%,white)}}.speaking-library-handoff>svg{color:var(--forest);margin-top:.1rem}.speaking-library-handoff>div{gap:.18rem;display:grid}.speaking-library-handoff strong{color:var(--forest);font-size:.68rem}.speaking-library-handoff span{color:var(--ink-soft);font-size:.58rem;line-height:1.45}.speaking-library-handoff ul{flex-wrap:wrap;gap:.28rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.speaking-library-handoff li{color:var(--forest);background:#fff;border-radius:999px;padding:.2rem .42rem;font-size:.55rem;font-weight:800}.speaking-library-handoff>a{border:1px solid var(--forest);min-height:38px;padding:.55rem .65rem}@supports (color:color-mix(in lab, red, red)){.speaking-library-handoff>a{border:1px solid color-mix(in srgb,var(--forest) 18%,transparent)}}.speaking-library-handoff>a{color:var(--forest);white-space:nowrap;background:#fff;border-radius:11px;font-size:.55rem;font-weight:800;text-decoration:none}.speaking-search{border:1px solid var(--line);color:var(--ink-faint);background:#ffffffa8;border-radius:14px;align-items:center;gap:.5rem;margin:1.1rem 0 .75rem;padding:.72rem .85rem;display:flex}.speaking-search input{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:.65rem}.speaking-item-list{gap:.45rem;max-height:500px;padding-right:.2rem;display:grid;overflow-y:auto}.speaking-item-list>button{border:1px solid var(--line);min-height:66px;color:var(--ink);content-visibility:auto;contain-intrinsic-size:auto 66px;cursor:pointer;text-align:left;background:#ffffff8a;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.8rem;transition:transform .15s,border-color .15s,background .15s;display:grid}.speaking-item-list>button:hover{border-color:var(--line-strong);transform:translateY(-1px)}.speaking-item-icon,.speaking-item-list>button>i{background:var(--mint);width:38px;height:38px;color:var(--forest);border-radius:12px;place-items:center;display:grid}.speaking-item-list>button>i{border:1px solid var(--line);background:0 0;width:26px;height:26px}.speaking-item-list>button[data-selected=true]>i{border-color:var(--forest);background:var(--forest);color:#fff}.speaking-item-list>button>span:nth-child(2){flex-direction:column;gap:.15rem;min-width:0;display:flex}.speaking-item-list small{color:var(--coral);text-transform:uppercase;font-size:.5rem;font-weight:820}.speaking-item-list strong{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.speaking-item-list em{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;font-style:normal;overflow:hidden}.speaking-load{border:1px dashed var(--line-strong);min-height:210px;color:var(--ink-faint);text-align:center;border-radius:18px;justify-content:center;align-items:center;gap:.6rem;font-size:.65rem;display:flex}.speaking-load button,.speaking-load a{border:1px solid var(--line-strong);color:var(--forest);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:.35rem;padding:.5rem .65rem;font-weight:760;text-decoration:none;display:inline-flex}.speaking-page button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.speaking-page button:active:not(:disabled){transform:translateY(1px)}.speaking-mode-panel{border-color:var(--line);border-top:4px solid var(--forest);background:radial-gradient(circle at 100% 0, rgba(var(--mint-rgb), .16), transparent 14rem), #fffdf7f0;color:var(--ink);align-self:start;overflow:hidden}.speaking-mode-panel .section-kicker{color:var(--forest-bright)}.speaking-mode-panel h2{color:var(--forest)}.speaking-mode-panel>p:not(.section-kicker){color:var(--ink-faint)}.speaking-mode-list{gap:.55rem;margin:1.25rem 0;display:grid}.speaking-mode-list button{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:16px;grid-template-columns:auto 1fr auto;gap:.18rem .6rem;padding:.85rem;display:grid}.speaking-mode-list button[data-selected=true]{border-color:var(--forest);background:var(--forest);color:#fff}.speaking-mode-list button>span{background:var(--mint);width:38px;height:38px;color:var(--forest);border-radius:12px;grid-row:span 2;place-items:center;display:grid}.speaking-mode-list strong{font-size:.67rem}.speaking-mode-list b{color:var(--mint-strong);font-size:.55rem}.speaking-mode-list small{color:var(--ink-faint);grid-column:2/-1;font-size:.53rem;line-height:1.45}.speaking-mode-list button[data-selected=true] small{color:#ffffffad}.speaking-start{background:var(--forest);color:#fff;cursor:pointer;width:100%;min-height:51px;box-shadow:0 10px 24px rgba(var(--forest-rgb),.16);border:0;border-radius:14px;justify-content:center;align-items:center;gap:.45rem;font-weight:850;display:inline-flex}.speaking-start:disabled{cursor:not-allowed;opacity:.42}.speaking-mic-note{align-items:flex-start;gap:.4rem;display:flex;color:var(--ink-faint)!important;margin:.7rem 0 0!important;font-size:.62rem!important}.speaking-live{background:var(--forest);color:#fff;border-color:#ffffff1a;overflow:hidden}.speaking-live>header{justify-content:space-between;align-items:flex-end;gap:1rem;padding:clamp(1.3rem,3vw,2rem);display:flex}.speaking-live .section-kicker{color:var(--mint)}.speaking-timer{flex-direction:column;align-items:flex-end;display:flex}.speaking-timer span{color:#ffffff80;text-transform:uppercase;font-size:.52rem;font-weight:800}.speaking-timer strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:2.3rem;font-weight:500}.speaking-stage{background:radial-gradient(circle, rgba(var(--mint-rgb), .11), transparent 18rem);text-align:center;place-items:center;min-height:280px;padding:2rem;display:grid}.speaking-orbit{place-items:center;width:116px;height:116px;display:grid;position:relative}.speaking-orbit>span{z-index:2;background:var(--mint);width:74px;height:74px;color:var(--forest);box-shadow:0 0 0 12px rgba(var(--mint-rgb), .06);border-radius:50%;place-items:center;display:grid;position:relative}.speaking-orbit i{border:1px solid rgba(var(--mint-rgb), .19);border-radius:50%;animation:2.4s ease-out infinite speaking-pulse;position:absolute;inset:0}.speaking-orbit i:nth-child(3){animation-delay:.8s}.speaking-orbit i:nth-child(4){animation-delay:1.6s}.speaking-stage>strong{color:var(--mint);letter-spacing:.08em;text-transform:uppercase;margin-top:-1rem;font-size:.67rem}@keyframes speaking-pulse{0%{opacity:.7;transform:scale(.55)}to{opacity:0;transform:scale(1.35)}}.speaking-wave{align-items:center;gap:3px;height:28px;display:flex}.speaking-wave span{background:var(--mint);opacity:.5;border-radius:999px;width:3px;height:5px}.speaking-wave[data-active=true] span{animation:.8s ease-in-out infinite alternate speaking-wave}.speaking-wave span:nth-child(3n){animation-delay:-.2s}.speaking-wave span:nth-child(4n){animation-delay:-.5s}@keyframes speaking-wave{to{opacity:1;height:25px}}.speaking-live-meta{border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a;align-items:center;gap:.55rem;padding:.8rem clamp(1.3rem,3vw,2rem);display:flex}.speaking-live-meta>div{grid-template-columns:auto auto;gap:.08rem .4rem;margin-right:auto;display:grid}.speaking-live-meta>div svg{color:var(--mint);grid-row:span 2}.speaking-live-meta span{color:#ffffff7a;font-size:.5rem}.speaking-live-meta strong{font-size:.61rem}.speaking-live-meta button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:11px;align-items:center;gap:.35rem;padding:.55rem .7rem;font-weight:760;display:inline-flex}.speaking-live-meta button:disabled{opacity:.4}.speaking-live-meta .speaking-end{color:#ffb7a8;border-color:#f17b6280}.speaking-v3-voice-tools{background:#c08a2e17;border:1px solid #c08a2e59;border-radius:14px;align-items:flex-start;gap:.7rem;margin:1rem clamp(1.3rem,3vw,2rem) 0;padding:.8rem .95rem;display:flex}.speaking-v3-voice-tools>svg{color:var(--mint);flex:none;margin-top:.08rem}.speaking-v3-voice-tools>div{gap:.18rem;display:grid}.speaking-v3-voice-tools strong{font-size:.58rem}.speaking-v3-voice-tools span{color:#ffffff94;font-size:.51rem;line-height:1.55}.speaking-live-grid{grid-template-columns:minmax(220px,.35fr) minmax(0,1fr);display:grid}.speaking-live-grid aside,.speaking-transcript{padding:clamp(1.1rem,3vw,1.7rem)}.speaking-live-grid aside{border-right:1px solid #ffffff1a}.speaking-live-grid h3{color:#ffffff80;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .8rem;font-size:.55rem}.speaking-live-grid aside>div{border-top:1px solid #ffffff14;flex-direction:column;gap:.18rem;padding:.65rem 0;display:flex}.speaking-live-grid aside span{color:var(--mint);text-transform:uppercase;font-size:.48rem}.speaking-live-grid aside strong{font-family:var(--font-display);font-size:.85rem}.speaking-live-grid aside small{color:#ffffff73;font-size:.53rem}.speaking-transcript>header{justify-content:space-between;gap:1rem;display:flex}.speaking-transcript>header button{color:var(--mint);cursor:pointer;background:0 0;border:0;font-size:.55rem;font-weight:760}.speaking-turns{gap:.65rem;max-height:290px;display:grid;overflow-y:auto}.speaking-turns>p{color:#ffffff6b;font-size:.62rem}.speaking-turns>div{background:#ffffff12;border-radius:15px;max-width:84%;padding:.7rem .85rem}.speaking-turns>div[data-role=student]{background:rgba(var(--mint-rgb), .11);justify-self:end}.speaking-turns span{color:var(--mint);text-transform:uppercase;font-size:.48rem;font-weight:820}.speaking-turns p{font-family:var(--font-display);margin:.24rem 0 0;font-size:.78rem;line-height:1.5}.speaking-complete{text-align:center;padding:clamp(2rem,6vw,5rem)}.speaking-complete-mark{background:var(--mint);width:72px;height:72px;color:var(--forest);border-radius:50%;place-items:center;margin:0 auto 1rem;display:grid}.speaking-complete>p:not(.section-kicker){max-width:570px;color:var(--ink-soft);margin:1rem auto;font-size:.7rem;line-height:1.65}.speaking-complete-stats{grid-template-columns:repeat(2,1fr);gap:.6rem;max-width:420px;margin:1.5rem auto;display:grid}.speaking-complete-stats>div{border:1px solid var(--line);border-radius:18px;place-items:center;min-height:110px;padding:.8rem;display:grid}.speaking-complete-stats svg{color:var(--forest-bright)}.speaking-complete-stats strong{font-family:var(--font-display);font-size:1.5rem}.speaking-complete-stats span{color:var(--ink-faint);font-size:.55rem}.speaking-complete-actions{justify-content:center;gap:.6rem;display:flex}.speaking-complete-actions button,.speaking-complete-actions a{border:1px solid var(--forest);background:var(--forest);color:#fff;cursor:pointer;border-radius:12px;align-items:center;gap:.4rem;padding:.7rem .9rem;font-size:.63rem;font-weight:800;text-decoration:none;display:inline-flex}.speaking-complete-actions a{color:var(--forest);background:0 0}.speaking-feedback{border:1px solid var(--forest);max-width:920px;margin:2rem auto;padding:clamp(1.2rem,3vw,2rem)}@supports (color:color-mix(in lab, red, red)){.speaking-feedback{border:1px solid color-mix(in srgb,var(--forest) 18%,transparent)}}.speaking-feedback{background:var(--mint);border-radius:24px}@supports (color:color-mix(in lab, red, red)){.speaking-feedback{background:color-mix(in srgb,var(--mint) 34%,white)}}.speaking-feedback{text-align:left}.speaking-feedback>header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.speaking-feedback h3,.speaking-review-feedback h3,.speaking-review-transcript h3{font-family:var(--font-display);letter-spacing:-.035em;margin:.25rem 0 0;font-size:clamp(1.45rem,3vw,2.2rem);font-weight:500}.speaking-feedback>header>span,.speaking-review-feedback>span{background:var(--forest);color:#fff;border-radius:999px;padding:.35rem .55rem;font-size:.52rem;font-weight:800}.speaking-feedback-overview{color:var(--ink-soft);margin:1rem 0;line-height:1.7}.speaking-feedback-strength{background:#fff;border-radius:16px;gap:.65rem;padding:.85rem;display:flex}.speaking-feedback-strength svg{color:var(--forest-bright);flex:none}.speaking-feedback-strength strong,.speaking-feedback-level strong{font-size:.62rem}.speaking-feedback-strength p,.speaking-feedback-level p{color:var(--ink-soft);margin:.25rem 0 0;font-size:.62rem;line-height:1.65}.speaking-feedback-items{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.7rem;margin:.8rem 0;display:grid}.speaking-feedback-items article,.speaking-review-feedback article{border:1px solid var(--line);background:#fff;border-radius:16px;gap:.45rem;padding:1rem;display:grid}.speaking-feedback-items article>span,.speaking-review-feedback article>small{background:var(--peach);width:fit-content;color:var(--rust);border-radius:999px;padding:.25rem .45rem;font-size:.48rem;font-weight:900}.speaking-feedback-items small{color:var(--ink-faint);font-size:.48rem}.speaking-feedback-items blockquote,.speaking-feedback-level blockquote,.speaking-review-feedback blockquote{color:var(--ink-soft);font-family:var(--font-display);margin:0;font-size:.88rem;line-height:1.35}.speaking-feedback-items article>strong,.speaking-review-feedback article>strong{color:var(--forest);font-size:.64rem;line-height:1.55}.speaking-feedback-items article>p,.speaking-review-feedback article>p{color:var(--ink-soft);margin:0;font-size:.57rem;line-height:1.55}.speaking-feedback-level{border-top:1px solid var(--line);padding-top:1rem}.speaking-feedback-level small{color:var(--ink-faint);margin-top:.75rem;display:block}.speaking-feedback-level blockquote{margin-top:.3rem}.speaking-feedback-unavailable{color:var(--ink-faint);margin:1rem auto}.speaking-complete-transcript{text-align:left;max-width:920px;margin:1rem auto 1.5rem}.speaking-complete-transcript summary{cursor:pointer;color:var(--forest);font-size:.62rem;font-weight:800}.speaking-complete-transcript>div{gap:.45rem;margin-top:.8rem;display:grid}.speaking-complete-transcript div>div,.speaking-review-transcript>div{background:var(--paper);border-radius:12px;padding:.65rem .75rem}.speaking-complete-transcript div>div[data-role=student],.speaking-review-transcript>div[data-role=student]{border-left:3px solid var(--forest-bright)}.speaking-complete-transcript span,.speaking-review-transcript span{color:var(--ink-faint);font-size:.48rem;font-weight:800}.speaking-complete-transcript p,.speaking-review-transcript p{margin:.2rem 0 0;font-size:.6rem;line-height:1.55}.speaking-recent>header>p{text-align:right;max-width:360px;margin:0}.speaking-recent ul{margin:1rem 0 0;padding:0;list-style:none;display:grid}.speaking-recent li{border-top:1px solid var(--line)}.speaking-recent-summary{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:1fr auto auto auto;align-items:center;gap:1rem;padding:.8rem 0;display:grid}.speaking-recent-summary strong{font-variant-numeric:tabular-nums}.speaking-recent-summary time{color:var(--ink-faint)}.speaking-recent-summary em{color:var(--forest);font-size:.54rem;font-style:normal;font-weight:800}.speaking-recent-detail{background:var(--paper);border-radius:18px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1rem;padding:1rem;display:grid}.speaking-review-transcript{align-content:start;gap:.45rem;display:grid}.speaking-review-transcript h3{font-size:1.25rem}.speaking-review-feedback{background:#fff;border-radius:16px;align-content:start;gap:.65rem;padding:1rem;display:grid}.speaking-review-feedback h3{font-size:1.4rem}.speaking-review-feedback>p{color:var(--ink-soft);margin:0;font-size:.6rem;line-height:1.6}.speaking-recent-empty{border:1px dashed var(--line-strong);min-height:105px;color:var(--ink-faint);border-radius:16px;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;font-size:.62rem;display:flex}@media (prefers-reduced-motion:reduce){.speaking-orbit i,.speaking-wave[data-active=true] span{animation:none}}@media (max-width:1200px){.speaking-setup-grid{grid-template-columns:1fr}}@media (max-width:900px){.speaking-mode-panel{width:auto}.speaking-live-grid{grid-template-columns:1fr}.speaking-live-grid aside{border-bottom:1px solid #ffffff1a;border-right:0}}@media (max-width:620px){.speaking-hero{flex-direction:column;align-items:flex-start;min-height:360px}.speaking-hero-mark{width:82px;height:82px}.speaking-picker>header,.speaking-live>header,.speaking-recent>header,.speaking-feedback>header{flex-direction:column;align-items:flex-start}.speaking-timer{align-items:flex-start}.speaking-live-meta{flex-wrap:wrap}.speaking-live-meta>div{width:100%}.speaking-live-meta button{flex:1;justify-content:center}.speaking-complete-stats{grid-template-columns:1fr}.speaking-complete-actions{flex-direction:column}.speaking-complete-actions>*{justify-content:center}.speaking-recent>header>p{text-align:left}.speaking-recent-summary{grid-template-columns:1fr auto}.speaking-recent-summary time,.speaking-recent-summary em{grid-column:1/-1}.speaking-recent-detail{grid-template-columns:1fr}.speaking-library-handoff{grid-template-columns:auto minmax(0,1fr)}.speaking-library-handoff>a{text-align:center;grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.library-detail-backdrop,.library-detail-panel{animation:none}}*{box-sizing:border-box}html{background:var(--canvas);color:var(--ink);scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-property:color,background-color,border-color,outline-color,opacity,box-shadow,fill,stroke,text-decoration-color!important}@keyframes class-panel-in{0%{opacity:0}}@keyframes library-slide-in{0%{opacity:0}}@keyframes personalization-toast-in{0%{opacity:0}to{opacity:1}}@keyframes auth-spin{0%,to{opacity:1}50%{opacity:.35}}@keyframes video-spin{0%,to{opacity:1}50%{opacity:.35}}@keyframes shimmer{to{background-position:0 0}}@keyframes message-dot{0%,60%,to{opacity:.35}30%{opacity:1}}}html[lang=zh-TW]{--font-body:"PingFang TC", "Microsoft JhengHei", "Noto Sans TC", sans-serif;--font-display:"Noto Serif TC", "Songti TC", "PMingLiU", serif}body{background:radial-gradient(circle at 76% 6%, rgba(var(--mint-rgb), .14), transparent 31rem), var(--canvas);min-width:320px;min-height:100vh;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}.global-error-page{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.global-error-page>section{width:min(680px,100%)}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--surface);outline-offset:2px;box-shadow:0 0 0 6px var(--coral)}::selection{background:var(--mint);color:var(--ink)}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:999px;padding:.75rem 1rem;transition:transform .16s;position:fixed;top:1rem;left:1rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-frame{min-height:100vh}.desktop-sidebar{z-index:30;width:var(--sidebar-width);background:radial-gradient(circle at 18% 14%, rgba(var(--mint-rgb), .14), transparent 18rem), var(--forest);color:#f7fbf8;border-right:1px solid #ffffff1f;display:none;position:fixed;inset:0 auto 0 0}.sidebar-inner{scrollbar-width:thin;scrollbar-color:#ffffff38 transparent;flex-direction:column;height:100%;padding:1.75rem 1.25rem 1.4rem;display:flex;overflow-y:auto}.sidebar-inner::-webkit-scrollbar{width:6px}.sidebar-inner::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:999px}.brand{align-items:center;gap:.72rem;width:fit-content;display:inline-flex}.brand-mark{background:var(--surface-raised);width:38px;height:38px;color:var(--forest);border:1px solid #ffffff6b;border-radius:13px;place-items:center;padding:7px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 4px #ffffff3d}.brand-mark-icon{width:100%;height:100%}.brand-mark-arrow{fill:var(--mint-strong)}.brand-copy{flex-direction:column;line-height:1;display:flex}.brand-copy strong{font-family:var(--font-display);letter-spacing:-.035em;font-size:1.36rem;font-weight:700}.brand-copy span{color:#f7fbf899;letter-spacing:.16em;text-transform:uppercase;margin-top:.3rem;font-size:.64rem;font-weight:700}.sidebar-label{color:#f7fbf86e;letter-spacing:.17em;text-transform:uppercase;margin:3rem 0 .85rem .85rem;font-size:.66rem;font-weight:800}.sidebar-nav{gap:.35rem;display:grid}.nav-link{color:#f7fbf8ad;border:1px solid #0000;border-radius:14px;align-items:center;gap:.8rem;min-height:48px;padding:0 .85rem;font-size:.9rem;font-weight:650;transition:background .16s,color .16s,transform .16s;display:flex}.nav-link:hover{color:#fff;transform:translate(2px)}.nav-link[data-active=true]{color:#fff;box-shadow:inset 3px 0 0 var(--mint);background:#ffffff1c;border-color:#ffffff14}.nav-link svg{flex:none}.sidebar-spacer{flex:1}.sidebar-quote{color:#f7fbf8a3;font-family:var(--font-display);background:#ffffff0e;border:1px solid #ffffff1c;border-radius:18px;margin:0;padding:1.05rem;font-size:.95rem;line-height:1.5}.language-control{gap:.5rem;margin-top:.8rem;display:grid;position:relative}.language-control-label{color:#f7fbf894;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.42rem;font-size:.68rem;font-weight:750;display:inline-flex}.language-segment{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:13px;grid-template-columns:repeat(2,1fr);gap:.24rem;padding:.25rem;display:grid}.language-segment button{color:#f7fbf894;cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:32px;padding:0 .58rem;font-size:.7rem;font-weight:820;transition:background .16s,color .16s,box-shadow .16s}.language-segment button:hover:not(:disabled){color:#fff}.language-segment button[data-active=true]{background:var(--mint);color:var(--forest);box-shadow:0 5px 16px #07221e2e}.language-control[data-compact=true]{margin:0}.language-control[data-compact=true] .language-segment{border-color:var(--line);background:#fffdf7c7}.language-control[data-compact=true] .language-segment button{color:var(--ink-faint)}.language-control[data-compact=true] .language-segment button[data-active=true]{background:var(--forest);color:#fff}.language-save-error{color:#ffd1c8;font-size:.66rem;line-height:1.4}.language-control[data-compact=true] .language-save-error{background:var(--surface-raised);width:min(240px,80vw);color:var(--coral);box-shadow:var(--shadow-card);border:1px solid #a33a2b33;border-radius:10px;padding:.55rem .7rem;position:absolute;top:calc(100% + .35rem);right:0}.account-panel{background:#ffffff12;border:1px solid #ffffff1f;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;margin-top:.8rem;padding:.68rem;display:grid}.account-avatar{background:var(--mint);width:36px;height:36px;color:var(--forest);letter-spacing:.02em;border:1px solid #ffffff4d;border-radius:12px;flex:none;place-items:center;font-size:.72rem;font-weight:850;display:grid}.account-avatar-button{border-color:rgba(var(--forest-rgb), .18);cursor:pointer;width:44px;height:44px}.mobile-account-menu{position:relative}.mobile-account-menu>summary{-webkit-user-select:none;user-select:none;list-style:none}.mobile-account-menu>summary::-webkit-details-marker{display:none}.mobile-account-menu[open]>summary{outline:3px solid rgba(var(--mint-rgb), .3)}.mobile-account-popover{border:1px solid var(--line);background:var(--surface-raised);width:min(270px,100vw - 1.5rem);box-shadow:0 18px 52px rgba(var(--forest-rgb), .2);border-radius:18px;padding:.55rem;position:absolute;top:calc(100% + .55rem);right:0}.mobile-account-popover header{border-bottom:1px solid var(--line);align-items:center;gap:.65rem;padding:.7rem;display:flex}.mobile-account-popover header>span{flex-direction:column;min-width:0;display:flex}.mobile-account-popover header strong{color:var(--forest);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.mobile-account-popover header small{color:var(--ink-faint);margin-top:.12rem;font-size:.68rem}.mobile-account-popover a,.mobile-account-popover button{width:100%;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:.65rem;padding:.65rem .75rem;font-size:.78rem;font-weight:750;display:flex}.mobile-account-popover a:hover,.mobile-account-popover button:hover{background:rgba(var(--mint-rgb), .14)}.mobile-account-popover button{color:var(--danger)}.account-copy{flex-direction:column;gap:.18rem;min-width:0;display:flex}.account-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.account-copy span{color:#f7fbf885;letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:700}.account-signout{color:#f7fbf88c;cursor:pointer;background:0 0;border:0;border-radius:13px;place-items:center;width:44px;height:44px;display:grid}.account-signout:hover{color:#fff;background:#ffffff1a}.mobile-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f3f0e8e0;justify-content:space-between;align-items:center;min-height:66px;padding:.65rem 1rem;display:flex;position:sticky;top:0}.mobile-header .brand-mark{border-color:rgba(var(--forest-rgb), .24);width:34px;height:34px}.mobile-header .brand-copy strong{font-size:1.18rem}.mobile-header .brand-copy span{color:var(--ink-faint)}.mobile-header-actions,.auth-header-actions{align-items:center;gap:.65rem;display:flex;position:relative}.preview-pill{border:1px solid var(--line);color:var(--ink-soft);background:#fffdf7b8;border-radius:999px;align-items:center;gap:.38rem;padding:.43rem .7rem;font-size:.72rem;font-weight:750;display:inline-flex}.main-content{min-height:100vh;padding:1rem 1rem 7rem}.content-container{width:min(100%,1320px);margin:0 auto}.mobile-nav{right:.65rem;bottom:calc(.65rem + env(safe-area-inset-bottom));z-index:40;background:rgba(var(--forest-rgb), .96);box-shadow:0 16px 46px rgba(var(--forest-rgb), .28);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);scrollbar-width:none;-webkit-overflow-scrolling:touch;border:1px solid #ffffff29;border-radius:21px;gap:.3rem;padding:.42rem;display:flex;position:fixed;left:.65rem;overflow-x:auto}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav-link{color:#ffffff8f;border-radius:15px;flex-direction:column;flex:68px;justify-content:center;align-items:center;gap:.22rem;min-width:68px;min-height:52px;font-size:.62rem;font-weight:700;transition:background .16s,color .16s;display:flex}.mobile-nav-link[data-active=true]{color:#fff;background:#ffffff1f}.mobile-nav-link[data-active=true] svg{color:var(--mint)}.home-stack{gap:1rem;display:grid}.hero-panel{border-radius:var(--radius-lg);background:linear-gradient(115deg, #fffdf7fa, #faf8f0e6), var(--surface);min-height:calc(100vh - 7.8rem);box-shadow:var(--shadow-soft);border:1px solid #ffffffa6;align-items:center;gap:3rem;padding:clamp(2rem,7vw,6.5rem) clamp(1.3rem,6vw,5.7rem);display:grid;position:relative;overflow:hidden}.hero-panel:before{background:radial-gradient(circle, rgba(var(--mint-rgb), .26), rgba(var(--mint-rgb), .05));content:"";pointer-events:none;border-radius:50%;width:39rem;height:39rem;position:absolute;top:-18rem;right:-13rem}.hero-copy,.hero-visual{z-index:1;position:relative}.eyebrow,.section-kicker{color:var(--forest-bright);letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;font-weight:850}.eyebrow{border:1px solid rgba(var(--forest-rgb), .12);background:rgba(var(--mint-rgb), .17);border-radius:999px;align-items:center;gap:.55rem;padding:.45rem .65rem .45rem .5rem;display:inline-flex}.eyebrow-dot{background:var(--coral-soft);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #f17b6224}.hero-copy h1{max-width:770px;font-family:var(--font-display);letter-spacing:-.065em;margin:1.35rem 0 1.15rem;font-size:clamp(3.15rem,7.6vw,7.25rem);font-weight:500;line-height:.91}.hero-copy h1 em{color:var(--forest-bright);font-weight:500}.hero-copy>p{max-width:610px;color:var(--ink-soft);margin:0;font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.75}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.button{border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:.6rem;min-height:50px;padding:0 1.15rem;font-size:.88rem;font-weight:780;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--forest);color:#fff;box-shadow:0 10px 24px rgba(var(--forest-rgb), .24)}.button-primary:hover{background:var(--forest-bright);box-shadow:0 14px 28px rgba(var(--forest-rgb), .3)}.button-secondary{border-color:var(--line-strong);color:var(--ink);background:#ffffff8c}.button-secondary:hover{background:#fff}.foundation-note{color:var(--ink-faint);align-items:center;gap:.45rem;margin-top:1.25rem;font-size:.74rem;font-weight:650;display:flex}.foundation-note svg{color:var(--forest-bright)}.hero-visual{min-height:420px}.video-frame{background:linear-gradient(145deg, rgba(var(--forest-rgb), .44), #0a1b19e0), var(--forest);color:#fff;border:1px solid #ffffff2e;border-radius:28px;width:min(100%,570px);min-height:326px;margin-left:auto;position:relative;overflow:hidden;box-shadow:0 36px 70px #11302b38}.video-frame:before{background:linear-gradient(125deg, transparent 35%, rgba(var(--mint-rgb), .12)), repeating-linear-gradient(102deg, transparent 0 68px, #ffffff06 69px 70px);content:"";position:absolute;inset:0}.video-glow{filter:blur(48px);background:#f17b6285;border-radius:50%;width:11rem;height:11rem;position:absolute;top:8%;right:12%}.video-meta{color:#ffffff9e;letter-spacing:.04em;justify-content:space-between;padding:1.25rem 1.35rem;font-size:.7rem;font-weight:700;display:flex;position:relative}.play-button{width:64px;height:64px;color:var(--forest);background:#ffffffed;border:1px solid #ffffff73;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-58%);box-shadow:0 12px 34px #0000002e}.caption-line{color:#ffffffd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#05110f9e;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:.55rem;padding:.75rem .85rem;font-size:.75rem;line-height:1.4;display:flex;position:absolute;bottom:1.1rem;left:1.2rem;right:1.2rem}.expression-card{width:min(88%,360px);min-height:240px;box-shadow:var(--shadow-card);background:#fffffff5;border:1px solid #1724211a;border-radius:23px;flex-direction:column;justify-content:space-between;padding:1.2rem;display:flex;position:absolute;bottom:0;right:2%;transform:translateY(18%)rotate(-1.2deg)}.expression-topline{align-items:center;gap:.45rem;display:flex}.type-label,.cefr-label{letter-spacing:.07em;text-transform:uppercase;border-radius:999px;padding:.27rem .5rem;font-size:.62rem;font-weight:850}.type-label{background:rgba(var(--mint-rgb), .25);color:var(--forest)}.cefr-label{border:1px solid var(--line);color:var(--ink-soft)}.expression{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:2rem;font-weight:700}.meaning{color:var(--ink-soft);margin:.3rem 0 0;font-size:.82rem}.expression-context{background:var(--canvas);color:var(--ink-soft);border-radius:11px;align-items:flex-start;gap:.48rem;padding:.68rem;font-size:.69rem;line-height:1.45;display:flex}.expression-context svg{color:var(--coral);flex:none}.expression-actions{gap:.55rem;display:flex}.expression-actions span{color:var(--forest-bright);align-items:center;gap:.3rem;font-size:.68rem;font-weight:750;display:inline-flex}.learning-loop,.boundary-panel{border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(2.2rem,5vw,4.6rem)}.learning-loop{background:#fffdf794}.section-heading{align-items:end;gap:1.5rem;display:grid}.section-kicker{margin:0 0 .75rem}.section-heading h2,.boundary-panel h2{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(2.25rem,4.6vw,4.5rem);font-weight:500;line-height:1}.section-heading>p{max-width:510px;color:var(--ink-soft);margin:0;line-height:1.7}.loop-grid{gap:.75rem;margin-top:2.4rem;display:grid}.loop-card{border-top:2px solid var(--line-strong);background:#fff6;padding:1.4rem;transition:border-color .16s,transform .16s}.loop-card:hover{border-color:var(--coral);transform:translateY(-3px)}.loop-card>span{color:var(--coral);font-family:var(--font-display);font-size:.88rem;font-style:italic}.loop-card h3{font-family:var(--font-display);margin:1.5rem 0 .55rem;font-size:1.45rem}.loop-card p{color:var(--ink-soft);margin:0;font-size:.84rem;line-height:1.7}.boundary-panel{background:var(--forest);color:#fff;gap:2rem;display:grid}.boundary-panel .section-kicker{color:var(--mint-strong)}.boundary-panel h2{max-width:580px}.boundary-list{align-content:center;gap:.6rem;display:grid}.boundary-list span{color:#ffffffb3;align-items:center;gap:.65rem;font-size:.82rem;font-weight:650;display:flex}.boundary-list span:before{background:var(--mint);content:"";border-radius:50%;width:7px;height:7px}.feature-page{place-items:center;min-height:calc(100vh - 9rem);display:grid}.feature-card{border-radius:var(--radius-lg);width:min(100%,860px);box-shadow:var(--shadow-soft);background:#fffdf7db;border:1px solid #ffffff9e;padding:clamp(1.5rem,5vw,4.5rem);position:relative;overflow:hidden}.feature-card:after{background:radial-gradient(circle, rgba(var(--mint-rgb), .25), transparent 67%);content:"";border-radius:50%;width:20rem;height:20rem;position:absolute;bottom:-8rem;right:-7rem}.feature-icon{background:var(--forest);width:54px;height:54px;color:var(--mint);box-shadow:0 12px 25px rgba(var(--forest-rgb), .18);border-radius:17px;place-items:center;display:grid}.feature-phase{color:var(--coral);letter-spacing:.14em;text-transform:uppercase;margin-top:2rem;font-size:.68rem;font-weight:850;display:inline-block}.feature-card h1{max-width:650px;font-family:var(--font-display);letter-spacing:-.055em;margin:.7rem 0 .85rem;font-size:clamp(2.7rem,6vw,5.3rem);font-weight:500;line-height:.98}.feature-card>p{max-width:590px;color:var(--ink-soft);margin:0;font-size:1rem;line-height:1.72}.feature-foundation{z-index:1;border:1px solid var(--line);background:#ffffff8c;border-radius:15px;gap:.6rem;margin-top:2rem;padding:1rem;display:grid;position:relative}.feature-foundation strong{font-size:.78rem}.feature-foundation span{color:var(--ink-faint);font-size:.76rem;line-height:1.55}.error-card{text-align:left}.error-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.skeleton-page{place-items:center;min-height:calc(100vh - 9rem);display:grid}.skeleton-card{border-radius:var(--radius-lg);background:#fffdf7ad;width:min(100%,860px);padding:clamp(1.5rem,5vw,4.5rem)}.skeleton-line{background:linear-gradient(90deg, var(--canvas-deep), white, var(--canvas-deep));background-size:200% 100%;border-radius:999px;height:14px;margin:.8rem 0;animation:1.25s linear infinite shimmer}.skeleton-line:first-child{width:18%}.skeleton-line:nth-child(2){width:72%;height:62px}.skeleton-line:nth-child(3){width:54%}.auth-page,.role-page,.auth-loading,.auth-recovery{min-height:100vh}.auth-recovery{background:radial-gradient(circle at 50% 15%, rgba(var(--mint-rgb), .22), transparent 28rem), var(--canvas);align-content:center;justify-items:center;gap:2rem;padding:1.25rem;display:grid}.auth-recovery .brand-mark{border-color:rgba(var(--forest-rgb), .24)}.auth-recovery .brand-copy span{color:var(--ink-faint)}.auth-recovery-header{justify-content:space-between;align-items:center;gap:1rem;width:min(100%,560px);display:flex}.auth-recovery-card{width:min(100%,560px);box-shadow:var(--shadow-soft);background:#fffdf7e0;border:1px solid #ffffffb8;border-radius:28px;padding:clamp(1.5rem,5vw,3.5rem)}.auth-recovery-card>span{width:48px;height:48px;color:var(--coral);background:#f17b6224;border-radius:15px;place-items:center;margin-bottom:1.4rem;display:grid}.auth-recovery-card h1{font-family:var(--font-display);letter-spacing:-.05em;margin:.55rem 0 .85rem;font-size:clamp(2.4rem,7vw,4.2rem);font-weight:500;line-height:.98}.auth-recovery-card>p:not(.section-kicker):not(.auth-error){color:var(--ink-soft);margin:0;line-height:1.65}.auth-recovery-card .button{cursor:pointer}.onboarding-page{background:radial-gradient(circle at 8% 92%, #f17b621f, transparent 24rem), radial-gradient(circle at 88% 8%, rgba(var(--mint-rgb), .22), transparent 31rem), var(--canvas);min-height:100vh;padding:clamp(1.2rem,3vw,2.25rem)}.onboarding-header{justify-content:space-between;align-items:center;width:min(100%,1280px);margin:0 auto;display:flex}.onboarding-header .brand-mark{border-color:rgba(var(--forest-rgb), .24)}.onboarding-header .brand-copy span{color:var(--ink-faint)}.onboarding-layout{align-items:center;gap:clamp(2rem,6vw,6rem);width:min(100%,1180px);min-height:calc(100vh - 6rem);margin:0 auto;padding:clamp(2.5rem,6vw,5.5rem) 0;display:grid}.onboarding-aside{flex-direction:column;gap:2.2rem;min-width:0;display:flex}.onboarding-aside h1{font-family:var(--font-display);letter-spacing:-.06em;margin:.7rem 0 1rem;font-size:clamp(3.1rem,6vw,5.7rem);font-weight:500;line-height:.94}.onboarding-aside>div>p:not(.section-kicker){max-width:480px;color:var(--ink-soft);margin:0;line-height:1.7}.onboarding-progress{margin:0;padding:0;list-style:none;display:flex}.onboarding-progress li{color:var(--ink-faint);flex:1;align-items:center;gap:.5rem;font-size:.7rem;display:flex;position:relative}.onboarding-progress li:not(:last-child):after{background:var(--line-strong);content:"";flex:1;height:1px;margin:0 .65rem}.onboarding-progress li>span{border:1px solid var(--line-strong);background:#fffdf78c;border-radius:9px;flex:none;place-items:center;width:28px;height:28px;font-size:.66rem;font-weight:850;display:grid}.onboarding-progress li[data-active=true]{color:var(--forest)}.onboarding-progress li[data-active=true]>span{border-color:var(--forest);background:var(--forest);color:var(--mint);box-shadow:0 8px 18px rgba(var(--forest-rgb), .14)}.onboarding-progress li[data-complete=true]>span{border-color:rgba(var(--forest-rgb), .16);background:var(--mint);color:var(--forest)}.onboarding-summary{border-left:2px solid var(--mint-strong);background:#fffdf766;gap:.35rem;padding:1rem 1.1rem;display:grid}.onboarding-summary>span{color:var(--ink-faint);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.2rem;font-size:.62rem;font-weight:850}.onboarding-summary p{color:var(--ink-soft);margin:0;font-size:.71rem;line-height:1.45}.onboarding-summary p strong{color:var(--forest-bright);font-family:var(--font-display);font-size:1rem}.onboarding-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf7e8;border:1px solid #ffffffc7;border-radius:30px;min-width:0;padding:clamp(1.3rem,4vw,2.4rem);box-shadow:0 30px 80px #1b2f2a1f}.onboarding-step-count{color:var(--coral);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.1rem;font-size:.66rem;font-weight:850}.onboarding-fieldset{border:0;min-width:0;margin:0;padding:0}.onboarding-fieldset legend{max-width:650px;font-family:var(--font-display);letter-spacing:-.045em;padding:0;font-size:clamp(2rem,4vw,3.25rem);font-weight:500;line-height:1.02}.onboarding-fieldset legend:focus{border-radius:8px}.onboarding-card[data-busy=true] .cefr-choice,.onboarding-card[data-busy=true] .learning-duration-choice,.onboarding-card[data-busy=true] .goal-choice,.onboarding-card[data-busy=true] .item-count-choice{cursor:not-allowed;opacity:.62}.onboarding-fieldset>p{max-width:610px;color:var(--ink-soft);margin:.75rem 0 1.35rem;font-size:.8rem;line-height:1.6}.cefr-choice-grid,.learning-stage-grid,.learning-duration-grid,.goal-choice-grid,.item-count-grid{gap:.65rem;display:grid}.cefr-choice,.learning-duration-choice,.goal-choice,.item-count-choice{cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s;position:relative}.cefr-choice:hover,.learning-duration-choice:hover,.goal-choice:hover,.item-count-choice:hover,.cefr-choice[data-selected=true],.learning-duration-choice[data-selected=true],.goal-choice[data-selected=true],.item-count-choice[data-selected=true]{border-color:rgba(var(--forest-rgb), .42);transform:translateY(-2px);box-shadow:0 10px 25px #1b2f2a14}:is(.cefr-choice:has(input:focus-visible),.learning-duration-choice:has(input:focus-visible),.goal-choice:has(input:focus-visible),.item-count-choice:has(input:focus-visible)){outline:3px solid var(--surface);outline-offset:2px;box-shadow:0 0 0 6px var(--coral)}.cefr-choice input,.learning-duration-choice input,.goal-choice input,.item-count-choice input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cefr-choice{border:1px solid var(--line);background:#ffffff8c;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;min-height:86px;padding:.85rem;display:grid}.cefr-choice-level{background:rgba(var(--mint-rgb), .2);width:46px;height:46px;color:var(--forest);font-family:var(--font-display);border-radius:14px;place-items:center;font-size:1.1rem;font-weight:750;display:grid}.learning-stage-code{background:rgba(var(--mint-rgb), .2);width:46px;height:46px;color:var(--forest);font-family:var(--font-display);text-transform:uppercase;border-radius:14px;place-items:center;font-size:1.1rem;font-weight:750;display:grid}.learning-duration-grid{grid-template-columns:1fr}.learning-duration-choice{border:1px solid var(--line);text-align:center;background:#ffffff8c;border-radius:14px;justify-content:center;align-items:center;min-height:58px;padding:.8rem 1.9rem .8rem .8rem;display:flex}.learning-duration-choice strong{font-size:.74rem;line-height:1.35}.learning-duration-choice>i{background:var(--mint-strong);opacity:0;border-radius:50%;width:9px;height:9px;position:absolute;top:.55rem;right:.55rem}.learning-duration-choice[data-selected=true]>i{opacity:1}.learning-assessment-note{background:rgba(var(--mint-rgb), .16);color:var(--forest);border-radius:14px;align-items:flex-start;gap:.55rem;margin:.2rem 0 0;padding:.8rem .95rem;font-size:.76rem;line-height:1.5;display:flex}.learning-assessment-note svg{flex:none;margin-top:.1rem}.cefr-choice-copy,.goal-choice>span:nth-of-type(2){flex-direction:column;gap:.2rem;min-width:0;display:flex}.cefr-choice-copy strong,.goal-choice strong{font-size:.79rem}.cefr-choice-copy small,.goal-choice small,.item-count-choice small{color:var(--ink-soft);font-size:.68rem;line-height:1.45}.cefr-choice>i{border:1px solid var(--line-strong);border-radius:50%;width:18px;height:18px;box-shadow:inset 0 0 0 4px #fff}.cefr-choice[data-selected=true]>i{border-color:var(--forest);background:var(--forest)}.placement-entry{border:1px dashed var(--line-strong);width:100%;color:var(--ink-faint);text-align:left;background:0 0;border-radius:14px;align-items:center;gap:.7rem;margin-top:.75rem;padding:.8rem;display:flex}.placement-entry>span{flex-direction:column;gap:.1rem;display:flex}.placement-entry strong{font-size:.72rem}.placement-entry small{font-size:.64rem}.goal-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-choice{border:1px solid var(--line);background:#ffffff8c;border-radius:17px;grid-template-columns:auto 1fr;align-content:center;gap:.65rem;min-height:116px;padding:1rem;display:grid}.goal-choice-icon{background:rgba(var(--mint-rgb), .18);width:38px;height:38px;color:var(--forest);border-radius:12px;grid-row:1/3;place-items:center;display:grid}.goal-choice>i{border:1px solid var(--line-strong);color:#0000;border-radius:6px;place-items:center;width:19px;height:19px;display:grid;position:absolute;top:.7rem;right:.7rem}.goal-choice[data-selected=true]>i{border-color:var(--forest);background:var(--forest);color:var(--mint)}.item-count-grid{margin-top:2.2rem}.item-count-choice{border:1px solid var(--line);text-align:center;background:#ffffff94;border-radius:20px;align-content:center;justify-items:center;min-height:170px;padding:1rem;display:grid}.item-count-choice>strong{color:var(--forest);font-family:var(--font-display);letter-spacing:-.05em;font-size:3.4rem;font-weight:500;line-height:1}.item-count-choice>span:not(.recommended-note){margin:.3rem 0 .4rem;font-size:.76rem;font-weight:800}.recommended-note{background:var(--mint);color:var(--forest);letter-spacing:.07em;text-transform:uppercase;border-radius:999px;padding:.25rem .48rem;font-size:.56rem;font-weight:850;position:absolute;top:.7rem}.onboarding-error{margin-top:1rem}.onboarding-actions{border-top:1px solid var(--line);justify-content:space-between;gap:.7rem;margin-top:1.4rem;padding-top:1.1rem;display:flex}.onboarding-actions .button{cursor:pointer}.onboarding-actions .button:disabled{opacity:.48}.marketing-page{align-content:start;gap:clamp(1rem,3vw,1.6rem);max-width:1180px;min-height:100vh;margin:0 auto;padding:clamp(1rem,3vw,1.8rem) clamp(1rem,4vw,2rem) clamp(2rem,5vw,3.5rem);display:grid}.marketing-nav{justify-content:space-between;align-items:center;gap:1rem;padding:.4rem .2rem;display:flex}.marketing-brand{align-items:baseline;gap:.55rem;display:inline-flex}.marketing-brand strong{font-family:var(--font-display);letter-spacing:-.01em;color:var(--forest);font-size:1.3rem;font-weight:600}.marketing-brand span{color:var(--ink-faint);letter-spacing:.04em;font-size:.66rem;font-weight:700}.marketing-nav-actions{align-items:center;gap:.7rem;display:flex}.marketing-nav-cta{border:1px solid var(--line-strong);height:2.6rem;color:var(--forest);font:inherit;cursor:pointer;background:#ffffff80;border-radius:999px;align-items:center;gap:.45rem;padding:0 1rem;font-size:.74rem;font-weight:800;transition:border-color .14s,background .14s;display:inline-flex}.marketing-nav-cta:hover:not(:disabled){border-color:var(--forest);background:var(--surface-raised)}.marketing-nav-cta:disabled{opacity:.55}.marketing-hero{border-radius:var(--radius-lg);background:radial-gradient(circle at 88% 8%, rgba(var(--mint-rgb), .16), transparent 25rem), linear-gradient(130deg, #fffdf7fa, #f9f7efe6);box-shadow:var(--shadow-soft);border:1px solid #ffffffb8;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(1.4rem,4vw,3rem);padding:clamp(2rem,5vw,4.2rem);display:grid;position:relative;overflow:hidden}.marketing-hero-copy{gap:1.2rem;display:grid}.marketing-hero h1{max-width:15ch;font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(2.1rem,4.4vw,3.6rem);font-weight:600;line-height:1.18}.marketing-hero h1 em{color:var(--forest);box-shadow:inset 0 -.32em 0 rgba(var(--mint-rgb), .34);font-style:normal}.marketing-hero-sub{max-width:46ch;color:var(--ink-soft);margin:0;font-size:.92rem;line-height:1.75}.marketing-cta-row{flex-wrap:wrap;align-items:center;gap:1.1rem;margin-top:.2rem;display:flex}.marketing-config-note{color:var(--coral);align-items:center;gap:.5rem;margin:.2rem 0 0;font-size:.72rem;font-weight:750;display:inline-flex}.marketing-chips{flex-wrap:wrap;gap:.55rem;margin-top:.3rem;display:flex}.marketing-chip{border:1px solid var(--line);color:var(--ink-soft);background:#ffffff9e;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .75rem;font-size:.68rem;font-weight:750;display:inline-flex}.marketing-chip:before{content:"";background:var(--forest-bright);border-radius:50%;width:5px;height:5px}.marketing-proof-stage{place-items:center;height:100%;min-height:300px;display:grid;position:relative}.marketing-proof-glow{background:radial-gradient(circle, rgba(var(--mint-rgb), .24), rgba(var(--mint-rgb), 0) 68%);border-radius:50%;position:absolute;inset:4%}.marketing-video-badge{background:var(--forest);width:clamp(46px,5.6vw,62px);height:clamp(46px,5.6vw,62px);color:var(--mint);box-shadow:var(--shadow-card);border-radius:50%;place-items:center;display:grid;position:absolute;top:6%;left:2%;transform:rotate(-8deg)}.marketing-proof-card{border-top:4px solid var(--forest-bright);background:var(--surface-raised);width:clamp(230px,29vw,350px);box-shadow:var(--shadow-card);border-radius:20px;gap:.65rem;padding:clamp(1.1rem,2vw,1.6rem);display:grid;position:relative;transform:rotate(-3deg)}.marketing-proof-kind{color:var(--forest-bright);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:850}.marketing-proof-expr{font-family:var(--font-display);color:var(--ink);margin:0;font-size:clamp(1.2rem,2.4vw,1.75rem);font-weight:600}.marketing-proof-meaning{color:var(--ink-soft);margin:0;font-size:.76rem;line-height:1.6}.marketing-proof-card footer{border-top:1px solid var(--line);color:var(--ink-faint);justify-content:space-between;align-items:center;gap:.5rem;padding-top:.65rem;font-size:.62rem;font-weight:650;display:flex}.marketing-proof-card footer span:last-child{color:var(--forest-bright);font-weight:800}.marketing-proof-tag{background:var(--mint-strong);color:#241605;box-shadow:var(--shadow-card);border-radius:999px;padding:.42rem .7rem;font-size:.62rem;font-weight:850;position:absolute;bottom:6%;right:0;transform:rotate(4deg)}@media (max-width:860px){.marketing-hero{grid-template-columns:1fr}.marketing-proof-stage{min-height:240px}.marketing-video-badge{top:0;left:0}}@media (max-width:520px){.marketing-nav{flex-wrap:wrap}}.auth-page{background:#e9e7e2;min-height:100vh;padding:clamp(.5rem,1.5vw,1.25rem)}.auth-frame{border:1px solid rgba(var(--forest-rgb), .13);width:min(100%,1420px);min-height:calc(100vh - clamp(1rem,3vw,2.5rem));font-family:var(--font-login-wenkai,"LXGW WenKai TC"), "Kaiti TC", "DFKai-SB", serif;background:#f8f7f4;grid-template-columns:72px minmax(0,1fr);margin:0 auto;display:grid;box-shadow:0 12px 30px #191f1d1f}.auth-rail{border-right:1px solid rgba(var(--forest-rgb), .14);color:var(--ink-faint);writing-mode:vertical-rl;justify-content:space-between;align-items:center;padding:2.25rem 0 1.8rem;display:flex}.auth-rail span{letter-spacing:.3em;font-size:.67rem}.auth-rail small{letter-spacing:.34em;font-size:.55rem}.auth-content{min-width:0;padding:0 clamp(2rem,6vw,7rem)}.auth-brand-row,.role-header{z-index:2;justify-content:space-between;align-items:center;width:100%;margin:0 auto;display:flex;position:relative}.auth-brand-row{border-bottom:1px solid rgba(var(--forest-rgb), .14);min-height:112px}.auth-brand-row .brand-mark,.role-header .brand-mark{border-color:rgba(var(--forest-rgb), .24)}.auth-brand-row .brand-mark{width:34px;height:34px;box-shadow:none;border-radius:0}.auth-brand-row .brand-copy span,.role-header .brand-copy span{color:var(--ink-faint)}.auth-brand-row .language-segment{background:0 0;border:0;border-radius:0;gap:.8rem;padding:0}.auth-brand-row .language-segment button{min-width:44px;min-height:44px;box-shadow:none;letter-spacing:.16em;background:0 0;border-radius:0;padding:0;font-size:.62rem;font-weight:650;position:relative}.auth-brand-row .language-segment button:hover:not(:disabled){color:#8a5d10}.auth-brand-row .language-segment button[data-active=true]{color:#8a5d10;background:0 0;box-shadow:inset 0 -1px #b67a17}.auth-stage{grid-template-columns:minmax(0,1.55fr) minmax(330px,.85fr);align-items:center;gap:clamp(3rem,7vw,7.5rem);width:100%;min-height:calc(100vh - 150px);margin:0 auto;padding:clamp(3rem,7vh,6.5rem) 0;display:grid}.auth-story h1,.role-stage h1{font-family:var(--font-login-wenkai,var(--font-display));letter-spacing:-.055em;margin:.75rem 0 2.75rem;font-size:clamp(3.5rem,5.4vw,6rem);font-weight:500;line-height:1.08}.auth-story,.auth-card{min-width:0}.auth-story h1 em{color:#8a5d10;font-weight:inherit;font-style:italic}.auth-story-details{border-top:1px solid rgba(var(--forest-rgb), .14);grid-template-columns:minmax(0,1.05fr) minmax(220px,.95fr);gap:2.5rem;max-width:760px;padding-top:1.8rem;display:grid}.auth-story-details>p,.role-stage>p:not(.section-kicker):not(.auth-error):not(.role-note){color:var(--ink-soft);margin:0;font-size:.85rem;line-height:1.75}.auth-proof{gap:.78rem;margin:0;display:grid}.auth-proof span{color:var(--ink-soft);border-left:2px solid #c2841b59;padding-left:1.05rem;font-size:.76rem;line-height:1.55}.auth-card{border-left:1px solid rgba(var(--forest-rgb), .15);background:0 0;justify-self:stretch;width:100%;padding:0 0 0 clamp(2rem,4vw,3.5rem)}.auth-card-label{color:#8a5d10;letter-spacing:.28em;text-transform:uppercase;margin:0;font-size:.62rem;font-weight:700}.auth-card h2{font-family:var(--font-login-wenkai,var(--font-display));letter-spacing:-.025em;margin:1.15rem 0 1rem;font-size:clamp(1.85rem,2.5vw,2.5rem);font-weight:500;line-height:1.15}.auth-card>p:not(.auth-card-label):not(.auth-error):not(.auth-terms){color:var(--ink-soft);margin:0;font-size:.83rem;line-height:1.8}.auth-role-preview{border-top:1px solid rgba(var(--forest-rgb), .16);margin-top:2.1rem;display:grid}.auth-role-preview span{border-bottom:1px solid rgba(var(--forest-rgb), .16);min-height:52px;color:var(--ink);font-family:var(--font-login-wenkai,var(--font-display));padding:.95rem .25rem;font-size:.9rem}.google-button{width:100%;min-height:58px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #c2841bb8;border-radius:0;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;margin-top:2.25rem;padding:0 1.15rem;font-size:.86rem;font-weight:780;transition:background .16s,color .16s;display:grid}.google-button:hover:not(:disabled){background:var(--forest);color:#fff}.google-button:disabled,.role-continue:disabled{opacity:.62}.auth-error{color:#7f2d22;background:#f17b621a;border:1px solid #a33a2b2e;border-radius:12px;align-items:flex-start;gap:.5rem;margin:1rem 0 0;padding:.75rem;font-size:.75rem;line-height:1.5;display:flex}.auth-error svg{flex:none;margin-top:.1rem}.auth-terms{color:var(--ink-faint);text-align:left;margin:1rem 0 0;font-size:.65rem;line-height:1.5}.config-panel{background:#f17b6217;border:1px solid #a33a2b33;border-radius:14px;margin-top:1.5rem;padding:1rem}.config-panel>div{color:#7f2d22;align-items:center;gap:.5rem;font-size:.78rem;display:flex}.config-panel p{color:var(--ink-soft);margin:.7rem 0;font-size:.72rem;line-height:1.5}.config-panel ul{gap:.25rem;margin:0;padding-left:1.1rem;display:grid}.config-panel code{overflow-wrap:anywhere;font-size:.64rem}.auth-loading{background:var(--canvas);color:var(--ink-soft);place-content:center;justify-items:center;gap:.85rem;display:grid}.auth-loading-mark{border:7px solid var(--mint);background:var(--forest);border-radius:15px;width:44px;height:44px}.auth-loading p{margin:0;font-size:.78rem;font-weight:700}.auth-spinner{color:var(--forest-bright);animation:.85s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.role-page{background:radial-gradient(circle at 50% 0%, rgba(var(--mint-rgb), .21), transparent 32rem), var(--canvas);padding:clamp(1.2rem,3vw,2.25rem)}.role-signout{border:1px solid var(--line);min-height:40px;color:var(--ink-soft);cursor:pointer;background:#fffdf7ad;border-radius:12px;align-items:center;gap:.45rem;padding:0 .8rem;font-size:.72rem;font-weight:750;display:inline-flex}.role-stage{text-align:center;flex-direction:column;justify-content:center;width:min(100%,900px);min-height:calc(100vh - 6rem);margin:0 auto;padding:4rem 0;display:flex}.role-stage h1{font-size:clamp(3.2rem,7vw,5.7rem)}.role-stage>p:not(.role-note):not(.auth-error){margin-inline:auto}.role-grid{text-align:left;gap:.8rem;margin-top:2.2rem;display:grid}.role-card{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fffdf7c7;border-radius:20px;grid-template-columns:auto 1fr auto;gap:.25rem 1rem;padding:1.3rem;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;position:relative;box-shadow:0 12px 30px #1b2f2a0d}.role-card:hover,.role-card[data-selected=true]{border-color:rgba(var(--forest-rgb), .38);transform:translateY(-2px);box-shadow:0 16px 34px #1b2f2a1a}.role-icon{background:rgba(var(--mint-rgb), .22);width:50px;height:50px;color:var(--forest);border-radius:16px;grid-row:1/3;place-items:center;display:grid}.role-card strong{font-family:var(--font-display);align-self:end;font-size:1.25rem}.role-card>span:not(.role-icon){color:var(--ink-soft);font-size:.72rem;line-height:1.5}.role-card i{border:1px solid var(--line-strong);width:19px;height:19px;box-shadow:inset 0 0 0 4px var(--surface);border-radius:50%;grid-row:1/3;align-self:center}.role-card[data-selected=true] i{border-color:var(--forest);background:var(--forest)}.role-error{width:min(100%,560px);margin-inline:auto}.role-continue{cursor:pointer;min-width:230px;margin:1.35rem auto 0}.role-note{color:var(--ink-faint);margin:.8rem auto 0;font-size:.68rem}@keyframes shimmer{to{background-position:-200% 0}}@media (min-width:700px){.main-content{padding:1.25rem 1.25rem 7rem}.section-heading,.boundary-panel{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}.loop-grid{grid-template-columns:repeat(3,1fr)}.role-grid{grid-template-columns:repeat(2,1fr)}.cefr-choice-grid,.learning-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-duration-grid,.item-count-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.learning-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.learning-duration-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.desktop-sidebar{display:block}.mobile-header,.mobile-nav{display:none}.main-content{margin-left:var(--sidebar-width);padding:1.35rem}.hero-panel{grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);min-height:calc(100vh - 2.7rem)}.hero-copy h1{font-size:clamp(4.4rem,6.4vw,7.2rem)}.expression-card{right:-2%}.feature-page,.skeleton-page{min-height:calc(100vh - 2.7rem)}.auth-stage{grid-template-columns:minmax(0,1.55fr) minmax(330px,.85fr)}.onboarding-layout{grid-template-columns:minmax(300px,.78fr) minmax(570px,1.22fr)}}@media (min-width:1500px){.hero-panel{padding-inline:6.2rem}}@media (max-width:1023px){.hero-copy h1{max-width:850px}}@media (max-width:860px){.auth-frame{grid-template-columns:48px minmax(0,1fr)}.auth-content{padding-inline:clamp(1.5rem,6vw,3rem)}.auth-stage{grid-template-columns:1fr;gap:3.5rem;padding-block:3.5rem}.auth-story h1{font-size:clamp(3.4rem,9vw,5rem)}.auth-card{border-top:1px solid rgba(var(--forest-rgb), .15);border-left:0;padding:2.5rem 0 0}}@media (max-width:699px){.hero-panel{min-height:auto}.hero-visual{min-height:440px}.video-frame{min-height:290px}.expression-card{width:auto;left:3%;right:3%}.hero-actions .button{width:100%}.auth-page{padding:0}.auth-frame{min-height:100vh;box-shadow:none;border:0;grid-template-columns:1fr}.auth-rail{display:none}.auth-content{padding-inline:1.25rem}.auth-brand-row{min-height:86px}.auth-stage{gap:2.75rem;min-height:auto;padding:2.75rem 0 3.5rem}.auth-story h1{margin-bottom:2rem;font-size:clamp(2.85rem,13vw,4.1rem)}.auth-story-details{grid-template-columns:1fr;gap:1.5rem}.auth-card{width:100%;padding-top:2.25rem}.role-card{grid-template-columns:auto 1fr auto}.onboarding-aside h1{font-size:clamp(3rem,14vw,4.3rem)}.onboarding-progress li strong{display:none}.goal-choice-grid{grid-template-columns:1fr}.onboarding-actions .button{flex:1}}.dashboard-page{gap:1rem;padding-bottom:1rem;display:grid}.dashboard-loading{border-radius:var(--radius-lg);background:linear-gradient(105deg,#0000 38%,#ffffffb3 50%,#0000 62%) 0 0/220% 100%,#fffdf7ad;border:1px solid #ffffffad;min-height:calc(100vh - 8rem);animation:1.4s linear infinite shimmer}.dashboard-heading{border-radius:var(--radius-lg);background:radial-gradient(circle at 86% -15%, rgba(var(--mint-rgb), .4), transparent 25rem), linear-gradient(130deg, #fffdf7fa, #f9f7efe6);min-height:230px;box-shadow:var(--shadow-soft);border:1px solid #ffffffb3;justify-content:space-between;align-items:flex-end;gap:2rem;padding:clamp(2rem,5vw,4.2rem);display:flex;position:relative;overflow:hidden}.dashboard-heading:after{border:1px solid rgba(var(--forest-rgb), .1);width:18rem;height:18rem;box-shadow:0 0 0 2.8rem #ffffff1f, 0 0 0 5.6rem rgba(var(--forest-rgb), .03);content:"";pointer-events:none;border-radius:50%;position:absolute;top:-7.5rem;right:7%}.dashboard-heading>*{z-index:1;position:relative}.dashboard-date{color:var(--coral);letter-spacing:.13em;text-transform:uppercase;margin:0 0 .6rem;font-size:.68rem;font-weight:850}.dashboard-heading h1{font-family:var(--font-display);letter-spacing:-.06em;margin:0;font-size:clamp(2.9rem,6vw,5.7rem);font-weight:500;line-height:.94}.dashboard-heading>div>p:last-child{color:var(--ink-soft);margin:.85rem 0 0;font-size:.9rem}.dashboard-primary-action{flex:none}.dashboard-streak{isolation:isolate;background:linear-gradient(115deg, #ffffff0f, transparent 42%), var(--forest);color:#fff;box-shadow:0 18px 45px rgba(var(--forest-rgb), .3);border-radius:24px;grid-template-columns:auto minmax(150px,auto) minmax(230px,1fr) minmax(160px,.5fr);align-items:center;gap:1.2rem;padding:1.35rem 1.5rem;display:grid;position:relative;overflow:hidden}.dashboard-streak:after{z-index:0;border:1px solid rgba(var(--mint-rgb), .22);content:"";pointer-events:none;border-radius:50%;width:16rem;height:16rem;position:absolute;bottom:-7rem;right:-4rem}.dashboard-streak>*{z-index:1;position:relative}.streak-orbit{background:var(--mint);width:58px;height:58px;color:var(--forest);border:1px solid #ffffff2b;border-radius:19px;place-items:center;display:grid;box-shadow:inset 0 0 0 5px #fff3}.dashboard-streak p,.dashboard-streak h2{margin:0}.dashboard-streak p{color:#ffffff85;letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;font-weight:800}.dashboard-streak h2{color:#fff;font-family:var(--font-display);white-space:nowrap;margin-top:.15rem;font-size:1.38rem;font-weight:500}.dashboard-streak h2 strong{color:var(--mint);text-shadow:0 1px 16px rgba(var(--mint-rgb), .2);font-size:2.1rem;font-weight:500}.streak-message{color:#ffffffa8;font-family:var(--font-display);border-left:1px solid #ffffff21;padding-left:1.2rem;font-size:.9rem;line-height:1.45}.streak-milestone{z-index:1;gap:.35rem;display:grid;position:relative}.streak-milestone>span,.streak-milestone>small{color:#ffffff94;letter-spacing:.06em;text-transform:uppercase;font-size:.58rem;font-weight:750}.streak-milestone>span{color:#fff;text-align:right}.streak-milestone>div{background:#ffffff21;border-radius:999px;height:5px;overflow:hidden}.streak-milestone i{border-radius:inherit;background:var(--mint);height:100%;display:block}.dashboard-recent-videos{border:1px solid rgba(var(--forest-rgb), .1);background:linear-gradient(112deg, rgba(var(--mint-rgb), .18), transparent 46%), #fffdf7d1;box-shadow:0 14px 40px rgba(var(--forest-rgb), .06);border-radius:26px;padding:clamp(1.2rem,3vw,1.8rem);overflow:hidden}.dashboard-recent-videos>header{justify-content:space-between;align-items:end;gap:1.4rem;margin-bottom:1rem;display:flex}.dashboard-recent-videos .section-kicker{align-items:center;gap:.35rem;display:flex}.dashboard-recent-videos h2{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(1.65rem,3vw,2.35rem);font-weight:500}.dashboard-recent-videos>header>p{max-width:360px;color:var(--ink-faint);text-align:right;margin:0;font-size:.62rem;line-height:1.55}.dashboard-recent-video-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.dashboard-recent-video-grid>a{border:1px solid var(--line);min-width:0;color:var(--ink);background:#ffffffad;border-radius:18px;gap:.8rem;padding:1rem;transition:border-color .17s,box-shadow .17s,transform .17s;display:grid;position:relative;overflow:hidden}.dashboard-recent-video-grid>a:hover{border-color:rgba(var(--forest-rgb), .3);box-shadow:0 12px 28px rgba(var(--forest-rgb), .1);transform:translateY(-2px)}.recent-video-index{color:rgba(var(--forest-rgb), .07);font-family:var(--font-display);font-size:3.8rem;line-height:1;position:absolute;top:-.2rem;right:.45rem}.dashboard-recent-video-grid small{max-width:calc(100% - 2.2rem);color:var(--coral);text-overflow:ellipsis;white-space:nowrap;font-size:.54rem;font-weight:800;display:block;overflow:hidden}.dashboard-recent-video-grid h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.4em;margin:.38rem 0 0;font-size:.76rem;line-height:1.2;display:-webkit-box;overflow:hidden}.recent-video-progress{background:rgba(var(--forest-rgb), .08);border-radius:999px;height:5px;overflow:hidden}.recent-video-progress>span{border-radius:inherit;background:var(--mint-strong);height:100%;display:block}.dashboard-recent-video-grid footer{color:var(--ink-faint);justify-content:space-between;align-items:center;gap:.6rem;font-size:.55rem;display:flex}.dashboard-recent-video-grid footer strong{color:var(--forest);align-items:center;gap:.25rem;font-size:.56rem;display:inline-flex}.dashboard-section,.dashboard-calendar,.dashboard-focus{background:#fffdf7c4;border:1px solid #ffffffb8;border-radius:26px;box-shadow:0 14px 40px #1b2f2a0e}.dashboard-section{padding:clamp(1.3rem,3vw,2rem)}.dashboard-section-heading,.calendar-toolbar{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.dashboard-section-heading h2,.calendar-toolbar h2,.dashboard-focus h2{font-family:var(--font-display);letter-spacing:-.045em;margin:.3rem 0 0;font-size:clamp(1.75rem,3vw,2.45rem);font-weight:500;line-height:1}.dashboard-honest-state{border:1px solid var(--line);color:var(--ink-faint);border-radius:999px;padding:.45rem .7rem;font-size:.65rem;font-weight:700}button.dashboard-honest-state{cursor:pointer;background:0 0}.dashboard-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin-top:1.35rem;display:grid}.dashboard-stat{border:1px solid var(--line);background:#ffffff91;border-radius:18px;align-content:space-between;min-height:138px;padding:1rem;display:grid;position:relative;overflow:hidden}.dashboard-stat:after{background:rgba(var(--mint-rgb), .16);content:"";border-radius:50%;width:6rem;height:6rem;position:absolute;top:-2.6rem;right:-2.6rem}.dashboard-stat svg{z-index:1;color:var(--forest-bright);position:relative}.dashboard-stat strong{font-family:var(--font-display);letter-spacing:-.04em;margin-top:1.25rem;font-size:2rem;font-weight:500}.dashboard-stat span{color:var(--ink-faint);font-size:.65rem;font-weight:750}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);gap:1rem;display:grid}.dashboard-calendar,.dashboard-focus{padding:clamp(1.3rem,3vw,2rem)}.calendar-controls{gap:.4rem;display:flex}.calendar-controls button{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;place-items:center;display:grid}.calendar-controls button:hover:not(:disabled){border-color:var(--line-strong);background:var(--mint)}.calendar-controls button:disabled{opacity:.35}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.calendar-weekdays{margin:1.4rem 0 .45rem}.calendar-weekdays span{color:var(--ink-faint);letter-spacing:.08em;text-align:center;text-transform:uppercase;font-size:.56rem;font-weight:800}.calendar-day,.calendar-empty{min-height:49px;color:var(--ink-soft);border-radius:13px;place-items:center;font-size:.68rem;font-weight:720;display:grid;position:relative}.calendar-day{cursor:pointer;background:0 0;border:1px solid #0000}.calendar-day[data-today=true]{border-color:var(--forest);color:var(--forest)}.calendar-day[data-active=true]{background:rgba(var(--mint-rgb), .28);color:var(--forest)}.calendar-day[data-selected=true]{border-color:var(--forest);background:var(--forest);color:#fff;box-shadow:0 8px 18px rgba(var(--forest-rgb), .28)}.calendar-day[data-selected=true]>i{background:var(--mint)}.calendar-day>i{background:var(--coral-soft);border-radius:50%;width:4px;height:4px;position:absolute;bottom:5px}.calendar-footnote{border-top:1px solid var(--line);color:var(--ink-faint);justify-content:space-between;gap:1rem;margin-top:.8rem;padding-top:.85rem;font-size:.6rem;display:flex}.calendar-footnote>span:first-child{color:var(--ink-soft);align-items:center;gap:.35rem;font-weight:750;display:flex}.calendar-footnote i{background:var(--mint-strong);border-radius:50%;width:7px;height:7px}.calendar-detail{border:1px solid var(--line);background:#ffffff85;border-radius:17px;min-height:126px;margin-top:.9rem;padding:1rem}.calendar-detail>p{min-height:92px;color:var(--ink-faint);place-items:center;margin:0;font-size:.68rem;display:grid}.calendar-detail-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.calendar-detail-heading>div{flex-direction:column;gap:.18rem;display:flex}.calendar-detail-heading span,.calendar-detail-heading small{color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase;font-size:.56rem;font-weight:750}.calendar-detail-heading strong{font-family:var(--font-display);font-size:1.05rem;font-weight:600}.calendar-detail dl{grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;margin:.85rem 0 0;display:grid}.calendar-detail dl>div{flex-direction:column-reverse;gap:.2rem;min-width:0;display:flex}.calendar-detail dt{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.55rem;overflow:hidden}.calendar-detail dd{font-family:var(--font-display);margin:0;font-size:1.05rem;font-weight:600}.dashboard-data-error{min-height:260px;color:var(--coral);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;font-size:.75rem;display:flex}.dashboard-data-error button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:.4rem;padding:.55rem .75rem;display:inline-flex}.dashboard-focus{background:radial-gradient(circle at 110% -5%, rgba(var(--mint-rgb), .11), transparent 15rem), var(--forest);color:#fff;border-color:#ffffff14;position:relative;overflow:hidden}.focus-icon{background:var(--mint);width:46px;height:46px;color:var(--forest);border:1px solid #ffffff2e;border-radius:15px;place-items:center;margin-bottom:1.35rem;display:grid}.dashboard-focus .section-kicker{color:var(--mint)}.dashboard-focus dl{gap:0;margin:1.65rem 0;display:grid}.dashboard-focus dl>div{border-bottom:1px solid #ffffff1c;grid-template-columns:88px 1fr;gap:.8rem;padding:.72rem 0;display:grid}.dashboard-focus dt{color:#ffffff75;text-transform:uppercase;font-size:.61rem;font-weight:750}.dashboard-focus dd{color:#ffffffd1;text-transform:capitalize;margin:0;font-size:.7rem;line-height:1.45}.dashboard-focus>a{color:var(--mint);align-items:center;gap:.45rem;font-size:.72rem;font-weight:800;display:inline-flex}.dashboard-focus>a:hover{gap:.65rem}.dashboard-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:1.25rem;display:grid}.dashboard-quick-grid>a{border:1px solid var(--line);background:#ffffff8a;border-radius:17px;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;min-height:94px;padding:1rem;transition:border-color .16s,transform .16s,background .16s;display:grid}.dashboard-quick-grid>a:hover{border-color:rgba(var(--forest-rgb), .3);background:#fff;transform:translateY(-2px)}.dashboard-quick-grid>a>svg:first-child{color:var(--forest-bright)}.dashboard-quick-grid>a>svg:last-child{color:var(--ink-faint)}.dashboard-quick-grid span{flex-direction:column;gap:.25rem;min-width:0;display:flex}.dashboard-quick-grid strong{font-size:.73rem}.dashboard-quick-grid small{color:var(--ink-faint);font-size:.61rem;line-height:1.4}@media (max-width:1100px){.dashboard-streak{grid-template-columns:auto minmax(140px,auto) 1fr}.streak-milestone{display:none}.dashboard-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:760px){.dashboard-heading{flex-direction:column;align-items:flex-start;min-height:320px}.dashboard-primary-action{width:100%}.dashboard-streak{grid-template-columns:auto 1fr}.dashboard-recent-videos>header{flex-direction:column;align-items:flex-start}.dashboard-recent-videos>header>p{text-align:left}.dashboard-recent-video-grid{scroll-snap-type:x mandatory;grid-template-columns:repeat(3,minmax(250px,82vw));padding-bottom:.35rem;overflow-x:auto}.dashboard-recent-video-grid>a{scroll-snap-align:start}.streak-message{border-top:1px solid #ffffff1f;border-left:0;grid-column:1/-1;padding:.8rem 0 0}.dashboard-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem}.dashboard-stat{border-radius:13px;min-height:84px;padding:.5rem .3rem}.dashboard-stat:after{display:none}.dashboard-stat svg{width:14px;height:14px}.dashboard-stat strong{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin-top:0;font-size:.82rem;overflow:hidden}.dashboard-stat span{font-size:.52rem;line-height:1.25}.dashboard-quick-grid{grid-template-columns:1fr}.calendar-detail dl{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:500px){.dashboard-heading h1{font-size:clamp(2.65rem,15vw,4rem)}.dashboard-section-heading{flex-direction:column;align-items:flex-start}.dashboard-honest-state{align-self:flex-start}.calendar-day,.calendar-empty{min-height:40px}.calendar-footnote>span:last-child{display:none}}.video-learning-page{gap:1rem;min-height:0;padding-bottom:1rem;display:grid;overflow:visible}.video-learning-heading{border-radius:var(--workspace-card-radius);background:linear-gradient(112deg, #fffdf7fa 0 56%, rgba(var(--mint-rgb), .24) 100%);min-height:150px;box-shadow:var(--workspace-card-shadow);border:1px solid #ffffffb8;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(2rem,6vw,6rem);padding:32px;display:grid;position:relative;overflow:hidden}.video-learning-heading:after{display:none}.video-learning-heading>*{z-index:1;position:relative}.video-learning-heading h1{max-width:820px;font-family:var(--font-display);letter-spacing:-.05em;margin:.5rem 0 .7rem;font-size:clamp(1.9rem,3.6vw,3rem);font-weight:500;line-height:1}.video-learning-heading>div>p:last-child{max-width:680px;color:var(--ink-soft);margin:0;font-size:.9rem;line-height:1.7}.video-profile-plan{border:1px solid rgba(var(--forest-rgb), .12);border-radius:var(--workspace-card-radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-width:180px;color:inherit;cursor:pointer;background:#ffffff94;gap:.3rem;padding:1rem;text-decoration:none;transition:border-color .16s,background .16s,transform .16s;display:grid}.video-profile-plan:hover{border-color:rgba(var(--forest-rgb), .28);background:#ffffffd1;transform:translateY(-1px)}.video-profile-plan>span{color:var(--coral);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:.4rem;font-size:.61rem;font-weight:820;display:inline-flex}.video-profile-plan>span svg:last-child{margin-left:auto}.video-profile-plan strong{font-family:var(--font-display);margin-top:.35rem;font-size:1.18rem;font-weight:600}.video-profile-plan small{color:var(--ink-faint);font-size:.67rem;font-weight:720}.video-source-group{gap:0;display:grid}.video-learning-steps{border-radius:var(--workspace-card-radius);box-shadow:var(--workspace-card-shadow);background:#fffdf7b3;border:1px solid #ffffffad;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:.45rem;list-style:none;display:grid}.video-source-group .video-learning-steps{border-radius:var(--workspace-card-radius) var(--workspace-card-radius) 0 0;box-shadow:none;border-bottom:0}.video-source-group .video-source-card{border-radius:0 0 var(--workspace-card-radius) var(--workspace-card-radius);border-top:0}.video-learning-steps li{min-height:54px;color:var(--ink-faint);cursor:default;border-bottom:2px solid #0000;border-radius:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;padding:.55rem .8rem;display:grid;position:relative}.video-learning-steps li:not(:last-child):after{display:none}.video-learning-steps li>span{border:1px solid var(--line);border-radius:9px;place-items:center;width:29px;height:29px;font-size:.65rem;font-weight:820;display:grid}.video-learning-steps li>strong{font-size:.67rem;font-weight:780}.video-learning-steps li>small{color:var(--coral);letter-spacing:.06em;text-transform:uppercase;grid-column:2;margin-top:-.35rem;font-size:.52rem;font-weight:800}.video-learning-steps li[data-current=true]{border-bottom-color:var(--forest);color:var(--forest);background:0 0}.video-learning-steps li[data-complete=true]>span{border-color:var(--mint-strong);color:var(--mint-strong);background:0 0}.video-learning-steps li[data-current=true]>span{border-color:var(--forest);color:var(--forest)}.video-learning-steps li[data-complete=true]{color:var(--forest)}.video-learning-steps li[data-locked=true]{opacity:.45}.video-source-card,.video-player-panel,.video-transcript-panel,.video-analysis-handoff{border-radius:var(--workspace-card-radius);box-shadow:var(--workspace-card-shadow);background:#fffdf7cc;border:1px solid #ffffffb8}.video-source-card{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;padding:clamp(1.3rem,3vw,2rem);display:grid}.video-source-heading,.transcript-heading{align-items:center;gap:.75rem;display:flex}.video-source-heading>span,.transcript-heading>span{background:var(--mint);width:42px;height:42px;color:var(--forest);border-radius:10px;flex:none;place-items:center;width:32px;height:32px;display:grid}.video-source-heading h2,.transcript-heading h2{font-family:var(--font-display);letter-spacing:-.04em;margin:.22rem 0 0;font-size:clamp(1.3rem,2.1vw,1.75rem);font-weight:550;line-height:1}.video-source-heading h2{font-size:1.5rem;line-height:1.2}.video-source-heading p{color:var(--ink-soft);font-size:var(--workspace-help-size);margin:.3rem 0 0;line-height:1.5}.transcript-heading{align-items:flex-start;margin-bottom:1rem}.transcript-heading h2{margin-top:.28rem;font-size:1.5rem;line-height:1.2}.video-source-card form{width:100%;min-width:0}.video-source-card label,.manual-transcript-form label{color:var(--ink-soft);font-size:var(--workspace-help-size);margin-bottom:.48rem;font-weight:790;display:block}.video-url-row{grid-template-columns:minmax(0,640px) auto;justify-content:start;gap:12px;max-width:820px;display:grid}.video-url-row input,.manual-transcript-form textarea{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:#ffffffb8;transition:border-color .16s,background .16s,box-shadow .16s}.video-url-row input{min-height:var(--workspace-control-height);border-radius:15px;padding:0 1rem}.video-url-row input,.video-url-row .button{height:var(--workspace-control-height)}.video-url-row .button:disabled{cursor:not-allowed;opacity:.45}.video-url-row .button:disabled:hover{transform:none}.video-source-card form[aria-busy=true] .video-url-row .button:disabled{cursor:wait;opacity:.82}.video-url-row input:disabled{cursor:wait;opacity:.72}.video-url-row input:focus,.manual-transcript-form textarea:focus{border-color:var(--forest);box-shadow:0 0 0 4px rgba(var(--mint-rgb), .24);background:#fff;outline:0}.video-url-row input[aria-invalid=true],.manual-transcript-form textarea[aria-invalid=true]{border-color:var(--coral)}.video-source-card form>small{color:var(--ink-faint);font-size:var(--workspace-help-size);margin-top:.45rem;line-height:1.45;display:block}.video-learning-error{color:var(--coral);font-size:var(--workspace-help-size);margin:.65rem 0 0;font-weight:680;line-height:1.45}.video-learning-page :where(button,a,input,textarea):focus-visible{outline:2px solid var(--forest);outline-offset:3px}@media (min-width:1024px) and (max-height:850px){.app-frame:has(.video-learning-page) .sidebar-inner{padding:.85rem 1rem;overflow:hidden}.app-frame:has(.video-learning-page) .sidebar-label{margin:1rem 0 .45rem .85rem}.app-frame:has(.video-learning-page) .sidebar-nav{gap:.14rem}.app-frame:has(.video-learning-page) .nav-link{min-height:44px}.app-frame:has(.video-learning-page) .sidebar-quote{display:none}:is(.app-frame:has(.video-learning-page) .language-control,.app-frame:has(.video-learning-page) .account-panel){margin-top:.4rem}}.spin{animation:.9s linear infinite video-spin}@keyframes video-spin{to{transform:rotate(360deg)}}.video-learning-workspace{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:stretch;gap:1rem;display:grid}.video-player-panel{height:100%;overflow:hidden}.video-player-frame{aspect-ratio:16/9;background:radial-gradient(circle at 50% 50%, rgba(var(--mint-rgb), .09), transparent 45%), #0b1715;position:relative;overflow:hidden}.video-player-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.prepared-video-meta{justify-content:space-between;align-items:flex-end;gap:1.2rem;padding:1.25rem 1.35rem 1.35rem;display:flex}.prepared-video-meta>div:first-child{min-width:0}.prepared-video-meta>div:first-child>span,.transcript-ready-state>span{color:var(--forest-bright);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.38rem;font-size:.59rem;font-weight:820;display:inline-flex}.prepared-video-meta h2{font-family:var(--font-display);letter-spacing:-.035em;margin:.48rem 0 .25rem;font-size:clamp(1.35rem,3vw,2rem);font-weight:550;line-height:1.08}.prepared-video-meta p{color:var(--ink-faint);margin:0;font-size:.65rem}.prepared-video-title-row{flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;margin:.48rem 0 .25rem;display:flex}.prepared-video-title-row h2{flex:280px;min-width:min(100%,220px);margin:0}.prepared-video-title-row>span{color:var(--ink-faint);white-space:nowrap;padding-left:.75rem;font-size:.75rem;font-weight:720;position:relative}.prepared-video-title-row>span:before{background:var(--mint-strong);content:"";border-radius:50%;width:3px;height:3px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.prepared-video-actions{flex-direction:column;flex:none;align-items:flex-end;gap:.45rem;display:flex}.prepared-video-actions a,.prepared-video-actions button,.transcript-ready-state>button{color:var(--forest-bright);cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:0;font-size:.61rem;font-weight:780;display:inline-flex}.prepared-video-actions a:hover,.prepared-video-actions button:hover,.transcript-ready-state>button:hover{color:var(--coral)}.live-caption-workspace{--caption-scale:1;z-index:2;color:#fff;background:#102d29;border:0;border-top:1px solid #ffffff1f;border-radius:0;margin:0;position:relative;overflow:visible;box-shadow:0 16px 32px #0a1d1a29}.live-caption-workspace[data-caption-size=medium]{--caption-scale:1.2}.live-caption-workspace[data-caption-size=large]{--caption-scale:1.45}.live-caption-workspace>header{justify-content:space-between;align-items:center;gap:1rem;padding:.58rem .85rem;display:flex}.live-caption-workspace>header>div{align-items:center;gap:.62rem;display:flex}.live-caption-workspace>header>div>span{background:var(--mint);width:34px;height:34px;color:var(--forest);border-radius:11px;flex:none;place-items:center;display:grid}.live-caption-workspace>header p,.live-caption-workspace>header h3{margin:0}.live-caption-workspace>header p{color:var(--mint-strong);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:850}.live-caption-workspace>header h3{font-family:var(--font-body);letter-spacing:0;margin-top:.16rem;font-size:.8rem;font-weight:700}.live-caption-workspace>header small{color:#ffffff9e;white-space:nowrap;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:.3rem;padding:.32rem .48rem;font-size:.48rem;font-weight:760;display:inline-flex}.live-caption-workspace>header small[data-playing=true]{border-color:rgba(var(--mint-rgb), .16);background:rgba(var(--mint-rgb), .08);color:var(--mint)}.live-caption-action-error{color:#ffe1d5;background:#5b1f1557;border:1px solid #f4bca36b;border-radius:10px;margin:0 16px 12px;padding:9px 12px;font-size:12px;line-height:1.5}.learning-share-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.learning-share-actions[data-compact=true]{gap:.25rem}.learning-share-button{border:1px solid var(--navy,#10203f);justify-content:center;align-items:center;gap:.45rem;min-height:44px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.learning-share-button{border:1px solid color-mix(in srgb, var(--navy,#10203f) 24%, transparent)}}.learning-share-button{background:var(--paper,#fffdf8);color:var(--navy,#10203f);font:inherit;cursor:pointer;border-radius:999px;padding:.55rem .85rem;font-size:.78rem;font-weight:600}.learning-share-button:hover:not(:disabled),.learning-share-button[data-state=copied],.learning-share-button[data-state=shared],.learning-share-button[data-state=opened]{background:var(--navy,#10203f);color:#fff}.learning-share-line{border-color:var(--navy,#10203f)}@supports (color:color-mix(in lab, red, red)){.learning-share-line{border-color:color-mix(in srgb, var(--navy,#10203f) 42%, transparent)}}.learning-share-button[data-state=cancelled]{opacity:.65}.learning-share-button[data-state=error]{color:#a33d2a;border-color:#a33d2a}.learning-share-button[data-compact=true]{min-width:44px;padding-inline:.65rem}.learning-share-button:focus-visible{outline:2px solid var(--gold,#d39a2c);outline-offset:2px}.student-assignment-card[data-shared-target=true],.teacher-assignment-list>article[data-shared-target=true]{box-shadow:0 0 0 2px var(--gold,#d39a2c), var(--shadow-soft,0 12px 30px #10203f14)}.live-caption-navigation{flex:none;align-items:center;gap:.35rem;display:flex}.live-caption-navigation button{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;gap:0;width:44px;min-width:44px;min-height:44px;padding:0;font-size:.55rem;font-weight:760;display:inline-flex;position:relative}.live-caption-navigation>button>span{z-index:30;color:#fff;opacity:0;pointer-events:none;white-space:nowrap;background:#081b19;border:1px solid #ffffff2e;border-radius:8px;width:max-content;max-width:180px;padding:.38rem .52rem;font-size:.62rem;line-height:1.2;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);box-shadow:0 8px 22px #04110f47}.live-caption-navigation>button:hover>span,.live-caption-navigation>button:focus-visible>span{opacity:1;transform:translate(-50%)}.live-caption-navigation button:hover:not(:disabled){border-color:rgba(var(--mint-rgb), .42);background:rgba(var(--mint-rgb), .12);color:var(--mint)}.live-caption-navigation button[data-active=true]{border-color:var(--mint);background:rgba(var(--mint-rgb), .18);color:var(--mint)}.live-caption-navigation button:disabled{cursor:not-allowed;opacity:.34}.live-caption-navigation .live-caption-playback{border-color:rgba(var(--mint-rgb), .28);background:var(--mint);color:var(--forest)}.live-caption-navigation .live-caption-playback:hover:not(:disabled){color:var(--forest);background:#fff3d8}.caption-language-toolbar{justify-content:flex-start;align-items:center;gap:.55rem;padding:0;display:flex}.caption-display-controls{flex-wrap:wrap;align-items:center;gap:24px;padding:0 .85rem .58rem;display:flex}.caption-language-toolbar>span{color:#ffffffb3;font-size:.68rem;font-weight:760}.caption-language-switch{background:#04110f57;border:1px solid #ffffff1f;border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));padding:2px;display:grid;overflow:hidden}.caption-language-switch button{color:#ffffffad;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;min-height:44px;padding:.25rem .62rem;font-size:.52rem;font-weight:790;transition:background .15s,color .15s}.caption-language-switch button[data-active=true]{background:var(--mint);color:var(--forest)}.caption-speed-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.caption-settings-panel.caption-display-controls,.video-learning-page[data-prepared=true] .caption-settings-panel.caption-display-controls{color:#fff;background:#102d29;border:1px solid #ffffff38;border-radius:16px;grid-template-columns:minmax(0,1fr);gap:8px;width:min(320px,100vw - 24px);max-height:calc(100dvh - 24px);margin:0;padding:12px;position:fixed;inset:auto;overflow-y:auto;box-shadow:0 12px 32px #0000004d}.caption-settings-panel:not(:popover-open){display:none}.live-caption-navigation .caption-settings-trigger{justify-content:center;width:44px;min-width:44px;height:44px;padding:0}.caption-settings-panel:popover-open{gap:8px;display:grid}.caption-settings-heading{justify-content:space-between;align-items:center;gap:8px;font-size:14px;display:flex}.caption-settings-heading button{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;min-width:44px;min-height:44px;padding:0;display:grid}.caption-settings-panel .caption-language-toolbar{grid-template-columns:72px minmax(0,1fr);gap:8px;display:grid}.caption-settings-panel .caption-language-toolbar>span,.video-learning-page[data-prepared=true] .caption-settings-panel .caption-language-toolbar>span{color:#fffc;font-size:12px;display:block}.caption-settings-panel .caption-language-switch button,.video-learning-page[data-prepared=true] .caption-settings-panel .caption-language-switch button{white-space:normal;min-width:44px;min-height:44px;padding:4px 8px;font-size:12px;line-height:1.3}.caption-settings-panel button:focus-visible,.caption-settings-trigger:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.caption-settings-heading button:hover{background:#ffffff1a}.shadowing-panel{z-index:80;overscroll-behavior:contain;border:1px solid rgba(var(--mint-rgb), .38);color:#fff;width:min(390px,100vw - 32px);max-height:min(62dvh,560px);box-shadow:0 18px 48px #01081166, inset 3px 0 0 var(--mint);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#101b36f7;border-radius:16px;gap:.55rem;margin:0;padding:.75rem;display:grid;position:fixed;bottom:clamp(12px,1.5vw,24px);right:clamp(12px,1.5vw,24px);overflow-y:auto}.shadowing-panel>header,.shadowing-actions,.shadowing-feedback>span{align-items:center;display:flex}.shadowing-panel>header{justify-content:space-between;gap:1rem}.shadowing-panel h4,.shadowing-panel small,.shadowing-panel p{margin:0}.shadowing-panel h4{font-family:var(--font-body);margin-top:.12rem;font-size:.92rem}.shadowing-panel>header small{color:#ffffffd1;letter-spacing:.07em;font-size:.58rem;font-weight:800}.shadowing-panel>header>button,.shadowing-mode-switch button,.shadowing-chunks button,.shadowing-actions button{color:#ffffffc2;cursor:pointer;min-height:44px;font:inherit;border:1px solid #ffffff24}.shadowing-panel>header>button{background:0 0;border-radius:999px;place-items:center;width:44px;padding:0;display:grid}.shadowing-mode-switch{border:1px solid #ffffff1f;border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));max-width:290px;padding:2px;display:grid}.shadowing-mode-switch button{background:0 0;border:0;border-radius:999px;padding:.3rem .7rem;font-size:.65rem;font-weight:760}.shadowing-mode-switch button[data-active=true],.shadowing-chunks button[data-active=true]{border-color:var(--mint);background:var(--mint);color:var(--forest)}.shadowing-chunks{flex-wrap:wrap;gap:.35rem;display:flex}.shadowing-chunks button{text-align:left;background:#ffffff0a;border-radius:10px;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.67rem;display:inline-flex}.shadowing-chunks button>span{background:#ffffff17;border-radius:999px;place-items:center;width:20px;height:20px;font-size:.52rem;display:grid}.shadowing-panel blockquote{color:#fff;border-left:2px solid var(--mint);background:rgba(var(--mint-rgb), .08);max-height:5.8rem;font-family:var(--font-body);border-radius:0 10px 10px 0;margin:0;padding:.55rem .7rem;font-size:clamp(.78rem,1vw,.92rem);line-height:1.45;overflow-y:auto}.shadowing-actions{flex-wrap:wrap;gap:.45rem}.shadowing-actions button{background:#ffffff0d;border-radius:999px;align-items:center;gap:.35rem;padding:.4rem .72rem;font-size:.64rem;font-weight:780;display:inline-flex}.shadowing-actions button:focus-visible,.shadowing-mode-switch button:focus-visible,.shadowing-chunks button:focus-visible,.shadowing-panel>header>button:focus-visible,.shadowing-transcript-details summary:focus-visible,.pronunciation-feedback summary:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.shadowing-actions .shadowing-record{border-color:var(--mint);background:var(--mint);color:var(--forest)}.shadowing-actions .shadowing-record.is-recording{border-color:var(--danger);color:#ffaaa0;background:0 0}.shadowing-actions button small{color:inherit;font-size:.52rem}.shadowing-recording-audio{display:none}.shadowing-feedback{background:rgba(var(--mint-rgb), .08);border-radius:10px;gap:.5rem;padding:.65rem .75rem;display:grid}.shadowing-feedback-summary{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.4rem .65rem;display:grid}.shadowing-feedback-summary>strong{text-align:center;border:1px solid rgba(var(--mint-rgb), .3);background:rgba(var(--mint-rgb), .1);border-radius:12px;grid-row:1/span 2;place-content:center;min-width:64px;min-height:58px;display:grid}.shadowing-feedback-summary b{color:var(--mint);font-size:1.1rem;line-height:1}.shadowing-feedback-summary span{color:#ffffffad;font-size:.5rem}.shadowing-feedback-summary p{font-size:.67rem;line-height:1.5}.shadowing-word-feedback,.shadowing-word-feedback>span{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.shadowing-word-feedback{gap:.45rem .8rem}.shadowing-word-feedback small{color:#fff9;font-size:.53rem}.shadowing-word-feedback b{color:#fff;background:#ffffff14;border-radius:999px;padding:.24rem .4rem;font-size:.58rem}.shadowing-feedback[data-band=retry] .shadowing-feedback-summary b{color:#ffd7a6}.shadowing-transcript-details,.pronunciation-feedback{border-top:1px solid #ffffff1f}.shadowing-transcript-details summary,.pronunciation-feedback summary{color:#ffffffc2;cursor:pointer;min-height:44px;padding-top:.45rem;font-size:.58rem;font-weight:760}.shadowing-transcript-details>p{color:#ffffffd9;padding:.35rem 0;font-size:.67rem;line-height:1.5}.shadowing-assessment-note{background:#ffffff0d;border-radius:8px;padding:.45rem .55rem;display:block}.shadowing-feedback>span{color:var(--mint);gap:.35rem;font-size:.68rem;font-weight:820}.shadowing-feedback>p{font-size:.78rem;line-height:1.45}.shadowing-feedback>small,.shadowing-note{color:#ffffff9e;font-size:.57rem;line-height:1.5}.pronunciation-feedback{padding-top:0}.pronunciation-feedback[open]{gap:.55rem;display:grid}.pronunciation-feedback>summary{justify-content:space-between;align-items:baseline;gap:.6rem;font-size:.72rem;display:flex}.pronunciation-feedback>summary small,.pronunciation-feedback>small,.pronunciation-focus>small{color:#ffffffab;font-size:.56rem;font-weight:650;line-height:1.5}.pronunciation-score-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;display:grid}.pronunciation-score-grid>span{border:1px solid rgba(var(--mint-rgb), .17);background:#ffffff0a;border-radius:9px;grid-template-columns:auto 1fr;align-items:baseline;padding:.48rem .55rem;display:grid}.pronunciation-score-grid small{color:#ffffffa3;grid-column:1/-1;font-size:.5rem}.pronunciation-score-grid b{color:var(--mint);font-size:1rem}.pronunciation-score-grid i,.pronunciation-focus i,.pronunciation-focus em{color:#ffffff8f;font-size:.48rem;font-style:normal}.pronunciation-focus,.pronunciation-focus>div,.pronunciation-focus>div>span{align-items:center;gap:.4rem;display:flex}.pronunciation-focus{flex-direction:column;align-items:flex-start}.pronunciation-focus>div{flex-wrap:wrap}.pronunciation-focus>div>span{background:#ffffff0e;border-radius:8px;min-height:34px;padding:.32rem .5rem;font-size:.62rem}.pronunciation-focus em{color:#ffd7a6}@media (max-width:720px){.shadowing-panel{right:8px;bottom:calc(72px + env(safe-area-inset-bottom));width:auto;max-height:min(54dvh,480px);left:8px}.pronunciation-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1023px) and (orientation:landscape) and (max-height:700px){.shadowing-panel{width:min(360px,46vw);max-height:calc(100dvh - 16px);inset:8px 8px 8px auto}}.shadowing-error{color:#ffaaa0;font-size:.62rem}@media (max-width:620px){.live-caption-secondary-action>span{display:none}}.live-caption-help{color:#ffffff85;margin:0;padding:0 1rem .75rem;font-size:.55rem;line-height:1.55}.live-caption-stream{scrollbar-color:rgba(var(--mint-rgb), .18) transparent;border-top:1px solid #ffffff14;gap:.25rem;padding:.35rem .7rem .65rem;display:grid;overflow:hidden}.live-caption-context-line,.live-caption-context-placeholder{background:0 0;border:0;border-radius:10px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:.45rem;width:100%;min-height:42px;padding:.38rem .6rem;display:grid}.live-caption-context-line{color:#ffffff94;cursor:pointer;font:inherit;text-align:left;transition:background .15s,color .15s}.live-caption-context-line:hover{color:#ffffffd1;background:#ffffff0d}.live-caption-context-line time{color:rgba(var(--mint-rgb), .72);font-size:.49rem;font-weight:790}.live-caption-context-line>span{font-size:calc(.72rem * var(--caption-scale,1));-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.live-caption-context-line>span>span,.live-caption-context-line>span>small{display:block}.live-caption-context-line>span>small{color:rgba(var(--mint-rgb), .78);margin-top:.12rem;font-size:.88em}.live-caption-stream article{color:#ffffff85;border-radius:12px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:.45rem;min-height:76px;padding:.55rem .6rem;transition:background .18s,color .18s,transform .18s;display:grid}.live-caption-stream article[data-active=true]{background:rgba(var(--mint-rgb), .09);color:#fff;transform:translate(2px)}.live-caption-time{color:var(--mint);cursor:pointer;font-family:var(--font-body);background:0 0;border:0;align-self:start;padding:.22rem 0;font-size:.49rem;font-weight:790}.live-caption-lines{gap:.3rem;min-width:0;display:grid}.live-caption-lines>p{overflow-wrap:anywhere;font-size:calc(clamp(.86rem, 1.55vw, 1.02rem) * var(--caption-scale,1));white-space:normal;margin:0;line-height:1.45}.live-caption-stream article[data-density=comfortable] .live-caption-lines>p{font-size:calc(clamp(.8rem, 1.35vw, .94rem) * var(--caption-scale,1))}.live-caption-stream article[data-density=compact] .live-caption-lines>p{font-size:calc(clamp(.74rem, 1.15vw, .86rem) * var(--caption-scale,1));line-height:1.4}.live-caption-lines>p button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:4px;margin:0;padding:.08rem .03rem;transition:background .12s,color .12s;display:inline}.live-caption-lines>p button:hover,.live-caption-lines>p button[data-selected=true]{background:var(--mint);color:var(--forest)}.live-caption-chinese{color:var(--mint);font-family:var(--font-body);letter-spacing:.01em}.live-caption-lines[data-mode=bilingual] .live-caption-chinese{border-top:1px solid rgba(var(--mint-rgb), .14);font-size:calc(clamp(.72rem, 1.2vw, .86rem) * var(--caption-scale,1));padding-top:.28rem}.caption-translation-retry{border:1px solid rgba(var(--mint-rgb), .35)!important;color:var(--mint)!important;border-radius:999px!important;margin-left:.45rem!important;padding:.16rem .42rem!important;font-size:.55rem!important;font-weight:800!important}.caption-selection-dock{z-index:24;border:1px solid rgba(var(--mint-rgb), .32);transform-origin:50% 100%;background:#071815fa;border-radius:13px;grid-template-columns:minmax(110px,auto) auto;align-items:center;gap:.55rem;width:max-content;max-width:min(560px,100% - 16px);padding:.58rem;animation:.15s ease-out caption-selection-in;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 16px 36px #020f0d57}.caption-selection-dock:after{border-right:1px solid rgba(var(--mint-rgb), .32);border-bottom:1px solid rgba(var(--mint-rgb), .32);content:"";background:#071815;width:10px;height:10px;position:absolute;top:100%;left:50%;transform:translate(-50%,-5px)rotate(45deg)}@keyframes caption-selection-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 4px))scale(.96)}}@media (max-width:1023px) and (orientation:landscape) and (max-height:700px){.mobile-header{min-height:52px;padding:.35rem .75rem}.mobile-header .brand-copy span,.video-learning-page[data-prepared=true]>.video-learning-heading,.video-learning-page[data-prepared=true]>.video-source-group,.video-learning-page[data-prepared=true] .video-transcript-panel,.video-learning-page[data-prepared=true] .prepared-video-meta,.video-learning-page[data-prepared=true] .live-caption-help{display:none}.main-content:has(.video-learning-page[data-prepared=true]){min-height:0;padding:0 0 calc(60px + env(safe-area-inset-bottom))}.video-learning-page[data-prepared=true] .video-learning-workspace{display:block}.video-learning-page[data-prepared=true] .video-player-panel{height:calc(100dvh - 112px - env(safe-area-inset-bottom));border:0;border-radius:0;grid-template-rows:minmax(0,1fr) auto;display:grid}.video-learning-page[data-prepared=true] .video-player-frame{aspect-ratio:auto;min-height:0}.video-learning-page[data-prepared=true] .live-caption-workspace{box-shadow:none;border-width:1px 0 0;border-radius:0;margin:0}.video-learning-page[data-prepared=true] .live-caption-workspace>header{padding:.3rem .55rem}.video-learning-page[data-prepared=true] .live-caption-workspace>header>div:first-child{display:none}.video-learning-page[data-prepared=true] .live-caption-stream{max-height:none;padding:.2rem .55rem;overflow:hidden}.video-learning-page[data-prepared=true] .live-caption-stream article{align-items:center;min-height:58px;padding:.35rem .45rem;display:none}.video-learning-page[data-prepared=true] .live-caption-stream article[data-active=true]{display:grid;transform:none}.video-learning-page[data-prepared=true] .live-caption-lines>p{white-space:normal;line-height:1.4}.video-learning-page[data-prepared=true] .caption-display-controls{padding:0 .55rem .3rem}.video-learning-page[data-prepared=true] .caption-language-toolbar>span{display:none}.mobile-nav{right:auto;bottom:calc(.3rem + env(safe-area-inset-bottom));border-radius:16px;gap:.16rem;width:min(100% - 1rem,620px);padding:.24rem;left:50%;transform:translate(-50%)}.mobile-nav-link{flex-basis:44px;min-width:44px;min-height:44px}.mobile-nav-link span{display:none}}.caption-selection-expression{gap:.12rem;min-width:0;display:grid}.caption-selection-dock small{color:#ffffff73;letter-spacing:.08em;text-transform:uppercase;font-size:.45rem;font-weight:820}.caption-selection-dock strong{color:#fff;font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;overflow:hidden}.caption-selection-actions{gap:.4rem;display:flex}.caption-selection-success{border-left:1px solid rgba(var(--mint-rgb), .24);min-width:170px;color:var(--mint);grid-column:3;align-items:center;gap:.5rem;padding:.38rem .55rem;animation:.42s cubic-bezier(.2,.8,.2,1) both caption-save-success;display:flex}.caption-selection-success>svg{flex:none}.caption-selection-success>span{gap:.08rem;display:grid}.caption-selection-success small{color:rgba(var(--mint-rgb), .72)}.caption-selection-success strong{color:#fff;max-width:230px;font-family:var(--font-body);text-overflow:clip;white-space:normal;font-size:.68rem;line-height:1.35;overflow:visible}@keyframes caption-save-success{0%{opacity:0;transform:translate(-10px)}55%{transform:translate(3px)}to{opacity:1;transform:translate(0)}}.caption-phrase-suggestions{border-top:1px solid #ffffff14;grid-column:1/-1;align-items:center;gap:.55rem;padding-top:.45rem;display:flex}.caption-phrase-suggestions>div{flex-wrap:wrap;gap:.35rem;display:flex}.caption-phrase-suggestions button{border-color:rgba(var(--mint-rgb), .4);min-height:36px;color:var(--mint);padding:.38rem .58rem}.caption-selection-dock button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff24;border-radius:10px;justify-content:center;align-items:center;gap:.32rem;min-height:35px;padding:.48rem .62rem;font-size:.52rem;font-weight:790;display:inline-flex}.caption-selection-dock .caption-save-button{border-color:var(--mint);background:var(--mint);color:var(--forest)}.caption-selection-dock button:disabled{cursor:wait;opacity:.62}.caption-selection-dock>p{color:#ffb4a3;grid-column:1/-1;margin:0;font-size:.52rem}.caption-selection-dock[data-status=saved]{border-color:rgba(var(--mint-rgb), .68);box-shadow:0 16px 40px #020f0d61, 0 0 0 3px rgba(var(--mint-rgb), .08)}.video-transcript-panel{flex-direction:column;min-height:0;padding:clamp(1.3rem,3vw,2rem);display:flex}.manual-transcript-form{flex-direction:column;flex:1;min-height:0;display:flex}.transcript-intro{color:var(--ink-soft);font-size:var(--workspace-help-size);margin:.4rem 0 0;line-height:1.55}.transcript-provider-status{width:fit-content;color:var(--coral);background:#f17b6214;border:1px solid #a33a2b24;border-radius:999px;align-items:center;gap:.45rem;margin:0 0 .75rem;padding:.28rem .5rem;font-size:.75rem;line-height:1.4;display:inline-flex}.transcript-provider-status[data-available=true]{border-color:rgba(var(--forest-rgb), .12);background:rgba(var(--mint-rgb), .15);color:var(--forest-bright)}.manual-transcript-form h3,.transcript-ready-state h3{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:1.35rem;font-weight:600}.manual-transcript-form>p:not(.transcript-provider-status):not(.video-learning-error),.transcript-ready-state>p{color:var(--ink-faint);margin:.48rem 0 1rem;font-size:.65rem;line-height:1.55}.transcript-manual-guide{border:1px solid rgba(var(--forest-rgb), .13);background:linear-gradient(135deg, rgba(var(--mint-rgb), .14), #fffaf0d1);box-shadow:inset 3px 0 0 var(--forest-bright);border-radius:16px;margin:.25rem 0 1rem;padding:.95rem 1rem .9rem 1.1rem;position:relative;overflow:hidden}.transcript-guide-heading{grid-template-columns:auto 1fr;align-items:start;gap:.65rem;display:grid}.transcript-guide-heading>svg{color:var(--forest-bright);margin-top:.05rem}.transcript-guide-heading strong{color:var(--forest);letter-spacing:.015em;font-size:.7rem;display:block}.transcript-guide-heading p{color:var(--ink-soft);margin:.28rem 0 0;font-size:.63rem;line-height:1.58}.transcript-manual-guide ol{gap:0;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.transcript-manual-guide li{border-top:1px solid rgba(var(--forest-rgb), .09);grid-template-columns:1.45rem 1fr;align-items:start;gap:.58rem;padding:.47rem 0;display:grid}.transcript-manual-guide li>span{background:var(--forest);color:#fff;border-radius:50%;place-items:center;width:1.35rem;height:1.35rem;font-size:.57rem;font-weight:800;display:grid}.transcript-manual-guide li p{color:var(--ink-soft);margin:.08rem 0 0;font-size:.63rem;line-height:1.5}.manual-transcript-form textarea{resize:vertical;border-radius:15px;flex:260px;min-height:220px;max-height:clamp(260px,42vh,390px);padding:.9rem 1rem;font-size:.72rem;line-height:1.65;overflow-y:auto}.transcript-form-footer{justify-content:space-between;align-items:center;gap:.8rem;margin-top:.65rem;display:flex}.transcript-form-footer>span{color:var(--ink-faint);font-size:.61rem;font-weight:720}.transcript-ready-state{border:1px solid rgba(var(--forest-rgb), .13);background:rgba(var(--mint-rgb), .12);border-radius:18px;padding:1rem}.transcript-ready-state h3{margin-top:.55rem}.transcript-preview{border:1px solid rgba(var(--forest-rgb), .1);background:#fff9;border-radius:13px;margin:1rem 0;padding:.85rem}.transcript-preview strong{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;font-size:.56rem}.transcript-preview p{color:var(--ink-soft);white-space:pre-wrap;-webkit-line-clamp:8;-webkit-box-orient:vertical;margin:.45rem 0 0;font-size:.66rem;line-height:1.6;display:-webkit-box;overflow:hidden}.video-analysis-handoff{background:radial-gradient(circle at 92% 20%, rgba(var(--mint-rgb), .12), transparent 18rem), var(--forest);color:#fff;border-color:#ffffff17;padding:clamp(1.5rem,4vw,2.5rem);position:relative;overflow:hidden}.video-analysis-handoff>div{color:#ffffff59;background:#ffffff17;border-radius:15px;place-items:center;width:46px;height:46px;margin-bottom:1rem;display:grid}.video-analysis-handoff[data-ready=true]>div{background:var(--mint);color:var(--forest)}.video-analysis-handoff>span{color:var(--mint);letter-spacing:.1em;text-transform:uppercase;font-size:.59rem;font-weight:820}.video-analysis-handoff h2{font-family:var(--font-display);letter-spacing:-.045em;margin:.45rem 0 .65rem;font-size:clamp(2rem,4vw,3.4rem);font-weight:500;line-height:1}.video-analysis-handoff p{color:#ffffff94;max-width:720px;margin:0;font-size:.72rem;line-height:1.65}@media (max-width:1180px){.video-learning-workspace{grid-template-columns:1fr}.video-player-panel,.video-transcript-panel{height:auto}.manual-transcript-form textarea{max-height:360px}}@media (max-width:760px){.video-learning-heading{grid-template-columns:1fr}.video-profile-plan{width:min(100%,260px)}.video-learning-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.video-source-card,.video-url-row{grid-template-columns:1fr}.video-url-row .button{width:100%}}@media (max-width:520px){.video-learning-steps li{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;gap:.25rem;padding:.45rem .1rem}.video-learning-steps li>strong{overflow-wrap:anywhere;font-size:.59rem}.prepared-video-meta,.transcript-form-footer{flex-direction:column;align-items:stretch}.prepared-video-actions{align-items:flex-start}.transcript-form-footer .button{width:100%}}:where(.sr-only){clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.analysis-studio{background:linear-gradient(115deg, rgba(var(--mint-rgb), .12), transparent 42%), #fffdf7e0;border:1px solid #ffffffb3;border-radius:30px;position:relative;overflow:hidden;box-shadow:0 24px 70px #1b2f2a14}.analysis-studio:before{border:1px solid rgba(var(--forest-rgb), .07);width:23rem;height:23rem;box-shadow:0 0 0 4rem rgba(var(--mint-rgb), .06), 0 0 0 8rem rgba(var(--mint-rgb), .05);content:"";pointer-events:none;border-radius:50%;position:absolute;top:-9rem;right:-6rem}.analysis-studio-head,.analysis-controls,.analysis-progress-card,.analysis-results,.analysis-warning,.analysis-error{z-index:1;position:relative}.analysis-studio-head{justify-content:space-between;align-items:flex-start;gap:2rem;padding:clamp(1.5rem,4vw,2.6rem);display:flex}.analysis-studio-head h2,.analysis-results>header h2{font-family:var(--font-display);letter-spacing:-.052em;margin:.42rem 0 .6rem;font-size:clamp(2.2rem,5vw,4rem);font-weight:500;line-height:.98}.analysis-studio-head>div>p:last-child{max-width:660px;color:var(--ink-soft);margin:0;font-size:.74rem;line-height:1.7}.analysis-controls{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;padding:0 clamp(1.5rem,4vw,2.6rem) clamp(1.5rem,4vw,2.6rem);display:grid}.analysis-controls fieldset{border:0;min-width:0;margin:0;padding:0}.analysis-controls legend{color:var(--ink-soft);margin-bottom:.55rem;font-size:.62rem;font-weight:800}.analysis-difficulty-help{color:var(--ink-faint);margin:-.3rem 0 .75rem;font-size:.62rem;line-height:1.5}.difficulty-options{grid-template-columns:repeat(7,minmax(72px,1fr));gap:.48rem;display:grid}.difficulty-options label{aspect-ratio:1;border:1px solid var(--line);cursor:pointer;background:#fff9;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;min-width:0;padding:.65rem;transition:border-color .16s,transform .16s,background .16s;display:flex;position:relative}.difficulty-options label:hover{transform:translateY(-2px)}.difficulty-options label[data-selected=true]{border-color:var(--forest);background:var(--forest);color:#fff}.difficulty-options label[data-profile-level=true]:after{border:2px solid var(--surface);background:var(--coral);content:"";border-radius:50%;width:7px;height:7px;position:absolute;inset:.38rem .38rem auto auto}:is(.difficulty-options label:has(input:focus-visible),.analysis-count-options label:has(input:focus-visible)){outline:3px solid var(--surface);outline-offset:2px;box-shadow:0 0 0 6px var(--coral)}.difficulty-options input,.analysis-count-options input{opacity:0;pointer-events:none;position:absolute}.difficulty-options strong{font-family:var(--font-display);font-size:clamp(1.15rem,2vw,1.55rem);line-height:1}.difficulty-options small{background:rgba(var(--forest-rgb), .08);color:var(--forest-bright);text-align:center;border-radius:999px;padding:.2rem .32rem;font-size:.46rem;font-weight:800;line-height:1.2}.difficulty-options label[data-selected=true] small{color:#ffffff9e}.difficulty-options .pattern-target{border-color:var(--coral);margin-left:.55rem}@supports (color:color-mix(in lab, red, red)){.difficulty-options .pattern-target{border-color:color-mix(in srgb, var(--coral) 55%, var(--line))}}.difficulty-options .pattern-target:before{background:var(--line);content:"";width:1px;position:absolute;top:15%;bottom:15%;left:-.57rem}.difficulty-options .pattern-target[data-selected=true]{border-color:var(--coral);background:var(--coral)}.analysis-count-options{gap:.38rem;display:flex}.analysis-count-options label{border:1px solid var(--line);cursor:pointer;width:48px;height:48px;font-family:var(--font-display);background:#ffffff9e;border-radius:14px;place-items:center;font-size:1.1rem;font-weight:650;display:grid}.analysis-count-options label[data-selected=true]{border-color:var(--coral);background:var(--coral);color:#fff}.analysis-submit{background:var(--coral);color:#fff;border:0;min-height:48px;box-shadow:0 12px 24px #a33a2b2e}.analysis-submit:hover:not(:disabled){background:#8f3024}.analysis-progress-card{border:1px solid rgba(var(--forest-rgb), .12);background:#ffffff9e;border-radius:16px;margin:0 clamp(1.5rem,4vw,2.6rem) clamp(1.5rem,4vw,2.6rem);padding:.9rem 1rem;box-shadow:inset 0 1px #ffffffbf}.analysis-progress-copy{color:var(--forest);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.55rem;font-size:.68rem;font-weight:750;display:flex}.analysis-progress-copy strong{color:var(--coral);font-variant-numeric:tabular-nums}.analysis-progress-track{background:rgba(var(--forest-rgb), .09);border-radius:999px;height:7px;overflow:hidden}.analysis-progress-track>span{border-radius:inherit;background:linear-gradient(90deg, var(--forest), var(--mint-strong));height:100%;transition:width .4s;display:block}.analysis-progress-card>small{color:var(--ink-faint);margin-top:.42rem;font-size:.53rem;display:block}@media (prefers-reduced-motion:reduce){.analysis-progress-track>span{transition:none}}.analysis-warning,.analysis-error{border-radius:15px;margin:0 clamp(1.5rem,4vw,2.6rem) 1.5rem;padding:.85rem 1rem;font-size:.65rem;line-height:1.55}.analysis-warning{color:#765111;background:#f9da9d3d;border:1px solid #a66f182e}.analysis-error{color:var(--coral);background:#f17b621a;border:1px solid #a33a2b33}.analysis-error strong,.analysis-error p{margin:0}.analysis-error p{margin-top:.25rem}.analysis-results{border-top:1px solid var(--line);background:#ffffff61;padding:clamp(1.5rem,4vw,2.6rem)}.analysis-results>header{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.4rem;display:flex}.analysis-results>header h2{margin-bottom:0;font-size:clamp(2rem,4vw,3.2rem)}.analysis-results>header>span{color:var(--ink-faint);font-size:.58rem;font-weight:720}.analysis-type-tabs{border:1px solid var(--line);background:#fffdf7b8;border-radius:17px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-bottom:1rem;padding:.35rem;display:grid}.analysis-type-tabs button{min-height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;font-size:.65rem;font-weight:800;display:flex}.analysis-type-tabs button[aria-selected=true]{background:var(--forest);color:#fff;box-shadow:0 8px 20px rgba(var(--forest-rgb), .14)}.analysis-type-tabs button:disabled{cursor:not-allowed;opacity:.35}.analysis-type-tabs strong{background:rgba(var(--forest-rgb), .08);border-radius:999px;place-items:center;min-width:22px;height:22px;font-size:.55rem;display:grid}.analysis-type-tabs button[aria-selected=true] strong{background:#ffffff29}.learning-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.learning-card{border:1px solid var(--line);background:#fffdf7eb;border-radius:22px;padding:1.25rem;position:relative;overflow:hidden;box-shadow:0 10px 26px #1b2f2a0d}.learning-card:before{background:var(--mint-strong);content:"";width:4px;position:absolute;inset:0 auto 0 0}.learning-card[data-type=phrase]:before{background:var(--coral-soft)}.learning-card[data-type=pattern]:before{background:#d5b65e}.learning-card-number{color:rgba(var(--forest-rgb), .1);font-family:var(--font-display);font-size:2.5rem;line-height:1;position:absolute;top:.8rem;right:.9rem}.learning-card-head{justify-content:space-between;align-items:flex-start;gap:.8rem;padding-right:2.1rem;display:flex;position:relative}.learning-card-head>div>span{color:var(--coral);letter-spacing:.08em;text-transform:uppercase;font-size:.56rem;font-weight:850}.learning-card-head h3{font-family:var(--font-display);letter-spacing:-.035em;margin:.38rem 0 .18rem;font-size:clamp(1.55rem,3vw,2.25rem);font-weight:600;line-height:1}.learning-card-head strong{color:var(--forest-bright);font-size:.72rem}.timestamp-chip{border:1px solid rgba(var(--forest-rgb), .12);background:var(--mint);color:var(--forest);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:.28rem;padding:.42rem .5rem;font-size:.56rem;font-weight:820;display:inline-flex}.learning-explanation{color:var(--ink-soft);margin:.85rem 0;font-size:.68rem;line-height:1.65}.learning-card blockquote{border-left:2px solid var(--mint-strong);background:rgba(var(--mint-rgb), .12);color:var(--ink);font-family:var(--font-display);border-radius:0 12px 12px 0;margin:0;padding:.8rem .9rem;font-size:.82rem;line-height:1.5}.learning-card blockquote span,.learning-card dt{color:var(--ink-faint);font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.26rem;font-size:.5rem;font-weight:820;display:block}.learning-card dl{gap:.6rem;margin:.9rem 0;display:grid}.learning-card dl>div{border-bottom:1px solid var(--line);padding-bottom:.55rem}.learning-card dd{color:var(--ink-soft);margin:0;font-size:.64rem;line-height:1.5}.learning-card dd small{color:var(--forest-bright);margin-top:.22rem;font-size:.58rem;line-height:1.55;display:block}.learning-card-context-actions,.learning-card-save-actions{flex-wrap:wrap;gap:.45rem;display:flex}.learning-card-context-actions button,.learning-card-save-actions button{border:1px solid var(--line);min-height:36px;color:var(--forest-bright);cursor:pointer;background:0 0;border-radius:11px;justify-content:center;align-items:center;gap:.35rem;padding:.5rem .7rem;font-size:.58rem;font-weight:780;display:inline-flex}.learning-card-context-actions{margin-bottom:.5rem}.learning-card-save-actions{border-top:1px solid var(--line);padding-top:.7rem}.learning-card-save-actions .save-item-button{border-color:var(--forest);background:var(--forest);color:#fff}.learning-card-save-actions button:disabled{opacity:.68}.learning-save-note,.learning-save-error{margin:.55rem 0 0;font-size:.56rem;font-weight:720}.learning-save-note{color:var(--forest-bright)}.learning-save-error{color:var(--coral)}@media (max-width:1120px){.analysis-controls{grid-template-columns:1fr auto}.analysis-controls>fieldset:first-child{grid-column:1/-1}.analysis-submit{grid-column:1/-1;justify-self:end}}@media (max-width:820px){.analysis-studio-head,.analysis-results>header{flex-direction:column;align-items:flex-start}.learning-card-grid{grid-template-columns:1fr}.difficulty-options{grid-template-columns:repeat(3,minmax(76px,1fr))}.difficulty-options .pattern-target{aspect-ratio:auto;grid-column:1/-1;min-height:76px;margin-left:0}.difficulty-options .pattern-target:before{width:auto;height:1px;inset:-.3rem 12% auto}}@media (max-width:620px){.analysis-controls{grid-template-columns:1fr}.difficulty-options{grid-template-columns:repeat(3,minmax(0,1fr))}.difficulty-options label{min-height:0}.analysis-count-fieldset,.analysis-submit,.analysis-count-options label{width:100%}.analysis-count-options{grid-template-columns:repeat(3,1fr);display:grid}.learning-card-head{padding-right:0}.learning-card-number{display:none}.live-caption-workspace{margin:0}.live-caption-workspace>header{flex-direction:row;align-items:center}.live-caption-workspace>header>div:first-child{display:none}.live-caption-navigation{flex-wrap:wrap;justify-content:space-between;width:100%}.live-caption-navigation button{padding-inline:.65rem}.caption-language-toolbar{justify-content:center}.caption-display-controls{grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr);gap:.5rem;padding-inline:.65rem;display:grid}.caption-language-toolbar>span{display:none}.caption-language-switch{width:100%}.caption-selection-dock{grid-template-columns:1fr}.caption-selection-success{border-top:1px solid rgba(var(--mint-rgb), .24);border-left:0;grid-column:1;min-width:0;padding-top:.55rem}.caption-selection-dock button{min-height:44px}}@media (max-width:400px){.caption-display-controls{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:.35rem;padding-inline:.4rem}.caption-language-switch button{min-width:0;padding-inline:.18rem;font-size:.46rem}}.activity-page{gap:1rem;padding-bottom:1rem;display:grid}.activity-hero,.activity-summary,.activity-calendar,.activity-achievements,.activity-recent{background:#fffdf7c7;border:1px solid #ffffffb8;border-radius:26px;box-shadow:0 14px 40px #1b2f2a0e}.activity-hero{background:radial-gradient(circle at 86% 12%, rgba(var(--mint-rgb), .38), transparent 22rem), linear-gradient(128deg, #fffdf7fa, #f5f3e9eb);justify-content:space-between;align-items:flex-end;gap:2rem;min-height:265px;padding:clamp(2rem,5vw,4.2rem);display:flex;position:relative;overflow:hidden}.activity-hero:before{border:1px solid rgba(var(--forest-rgb), .08);width:25rem;height:25rem;box-shadow:0 0 0 3.5rem #ffffff24, 0 0 0 7rem rgba(var(--forest-rgb), .025);content:"";pointer-events:none;border-radius:50%;position:absolute;top:-11rem;right:-4rem}.activity-hero>*{z-index:1;position:relative}.activity-hero>div:first-child{max-width:760px}.activity-hero h1{max-width:700px;font-family:var(--font-display);letter-spacing:-.065em;margin:.45rem 0 0;font-size:clamp(2.85rem,6vw,5.65rem);font-weight:500;line-height:.93}.activity-hero>div:first-child>p:last-child{max-width:650px;color:var(--ink-soft);margin:1rem 0 0;font-size:.78rem;line-height:1.65}.activity-hero-mark{border:1px solid rgba(var(--forest-rgb), .16);background:var(--forest);width:108px;height:108px;color:var(--mint);box-shadow:0 18px 42px rgba(var(--forest-rgb), .22);border-radius:50%;flex:none;place-items:center;display:grid}.activity-hero-mark span{font-family:var(--font-display);margin-bottom:-1.25rem;font-size:2rem}.activity-hero-mark svg{margin-top:-.75rem}.activity-error{color:var(--coral);background:#ffeae2c2;border:1px solid #ae433033;border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;font-size:.7rem;display:flex}.activity-error button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:10px;align-items:center;gap:.4rem;padding:.5rem .7rem;font-weight:750;display:inline-flex}.activity-summary,.activity-calendar,.activity-achievements,.activity-recent{padding:clamp(1.3rem,3vw,2rem)}.activity-section-heading{justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.activity-section-heading h2,.activity-calendar h2,.activity-achievements h2{font-family:var(--font-display);letter-spacing:-.045em;margin:.3rem 0 0;font-size:clamp(1.8rem,3vw,2.55rem);font-weight:500;line-height:1}.activity-section-heading>p{max-width:430px;color:var(--ink-faint);text-align:right;margin:0;font-size:.65rem;line-height:1.55}.activity-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-top:1.35rem;display:grid}.activity-stat{border:1px solid var(--line);background:#ffffff94;border-radius:18px;align-content:space-between;min-height:145px;padding:1rem;display:grid}.activity-stat:first-child{background:var(--forest);color:#fff;border-color:#0000}.activity-stat svg{color:var(--forest-bright)}.activity-stat:first-child svg{color:var(--mint)}.activity-stat strong{font-family:var(--font-display);letter-spacing:-.04em;margin-top:1.2rem;font-size:2rem;font-weight:500}.activity-stat span{color:var(--ink-faint);font-size:.62rem;font-weight:750}.activity-stat:first-child span{color:#ffffff8c}.activity-main-grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);gap:1rem;display:grid}.activity-day-detail{border-top:1px solid var(--line);min-height:120px;margin-top:1rem;padding:1rem}.activity-day-detail>p{min-height:88px;color:var(--ink-faint);place-items:center;margin:0;font-size:.68rem;display:grid}.activity-day-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.activity-day-heading>div{flex-direction:column;gap:.18rem;display:flex}.activity-day-heading span,.activity-day-heading small{color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase;font-size:.56rem;font-weight:750}.activity-day-heading strong{font-family:var(--font-display);font-size:1.08rem;font-weight:600}.activity-day-detail dl{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;margin:.9rem 0 0;display:grid}.activity-day-detail dl>div{flex-direction:column-reverse;gap:.2rem;min-width:0;display:flex}.activity-day-detail dt{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.55rem;overflow:hidden}.activity-day-detail dd{font-family:var(--font-display);margin:0;font-size:1.05rem;font-weight:600}.activity-achievements{background:radial-gradient(circle at 100% 0, rgba(var(--mint-rgb), .11), transparent 14rem), var(--forest);color:#fff;border-color:#ffffff1a;overflow:hidden}.activity-achievements .section-kicker{color:var(--mint)}.achievement-list{gap:.6rem;margin-top:1.5rem;display:grid}.achievement-list>div{color:#ffffff7a;border:1px solid #ffffff1a;border-radius:16px;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;padding:.85rem;display:grid}.achievement-list>div[data-unlocked=true]{border-color:rgba(var(--mint-rgb), .17);background:rgba(var(--mint-rgb), .08);color:#fff}.achievement-list>div>span{background:#ffffff14;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.achievement-list>div[data-unlocked=true]>span{background:var(--mint);color:var(--forest)}.achievement-list>div>div{flex-direction:column;gap:.2rem;display:flex}.achievement-list strong{font-family:var(--font-display);font-size:1rem;font-weight:600}.achievement-list small{color:inherit;text-transform:uppercase;font-size:.57rem;font-weight:750}.activity-event-list{gap:0;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.activity-event-list li{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.85rem 0;display:grid}.activity-event-icon{background:rgba(var(--mint-rgb), .19);width:42px;height:42px;color:var(--forest);border-radius:13px;place-items:center;display:grid}.activity-event-list li>div{flex-direction:column;gap:.2rem;display:flex}.activity-event-list strong{font-size:.7rem}.activity-event-list small,.activity-event-list time{color:var(--ink-faint);font-size:.58rem}.activity-event-list time{font-weight:750}.activity-review-link{border:1px solid var(--line-strong);color:var(--forest);border-radius:10px;padding:.45rem .6rem;font-size:.54rem;font-weight:800;text-decoration:none}.activity-empty{border:1px dashed var(--line-strong);min-height:130px;color:var(--ink-faint);text-align:center;border-radius:18px;justify-content:center;align-items:center;gap:.65rem;margin-top:1.25rem;font-size:.68rem;display:flex}@media (max-width:960px){.activity-main-grid{grid-template-columns:1fr}.achievement-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.activity-hero{flex-direction:column;align-items:flex-start;min-height:340px}.activity-hero-mark{width:82px;height:82px}.activity-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-section-heading{flex-direction:column;align-items:flex-start;gap:.7rem}.activity-section-heading>p{text-align:left}.activity-day-detail dl{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:520px){.activity-hero h1{font-size:clamp(2.65rem,15vw,4rem)}.achievement-list{grid-template-columns:1fr}.activity-error{flex-direction:column;align-items:flex-start}}.library-hero,.speaking-hero,.activity-hero,.teacher-hero,.upgrade-hero,.personalization-hero{min-height:150px}@media (max-width:680px){.library-hero,.speaking-hero,.activity-hero,.teacher-hero,.upgrade-hero,.personalization-hero{min-height:0}}.activity-day-events{gap:12px;margin-top:18px;display:grid}.activity-day-events>article{border-top:1px solid var(--line);padding-top:12px}.activity-day-event-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.activity-day-event-title a{color:var(--forest-bright);margin-left:auto;font-size:.78rem;font-weight:700}.activity-day-events ul{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.activity-day-events li{background:#101b3609;border-radius:10px;grid-template-columns:minmax(78px,auto) minmax(110px,1fr) 1.5fr;align-items:baseline;gap:2px;padding:8px 10px;display:grid}.activity-day-events li span,.activity-day-events li small{color:var(--ink-soft);font-size:.75rem}@media (max-width:620px){.activity-day-events li{grid-template-columns:1fr}}.progress-overview{gap:1rem;display:grid}.progress-overview-loading,.progress-overview-error{border:1px solid var(--line);background:var(--paper);min-height:110px;color:var(--ink-soft);border-radius:24px;align-items:center;padding:1.25rem}.progress-overview-error{grid-template-columns:1fr auto}.progress-overview-error button{border:1px solid var(--line);min-height:44px;color:var(--forest);background:0 0;border-radius:999px;align-items:center;gap:.4rem;padding:0 .9rem;font-weight:800;display:inline-flex}.progress-overview-heading{border:1px solid rgba(var(--forest-rgb), .1);background:linear-gradient(135deg, var(--paper), rgba(var(--mint-rgb), .09));border-radius:26px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem 1.65rem;display:flex}.progress-overview-heading h2{color:var(--forest);font-family:var(--font-display), serif;margin:.25rem 0;font-size:clamp(1.7rem,3.5vw,2.6rem);font-weight:500}.progress-overview-heading p:last-child{color:var(--ink-soft);margin:0}.weekly-goal-card{background:var(--forest);min-height:190px;color:var(--paper);box-shadow:0 18px 45px rgba(var(--forest-rgb), .16);border-radius:28px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1.5rem;padding:1.45rem 1.6rem;display:grid}.weekly-goal-copy .section-kicker{color:var(--mint)}.weekly-goal-card .weekly-goal-copy h2{color:var(--paper);font-family:var(--font-display), serif;margin:.25rem 0 0;font-size:2rem;font-weight:500}.weekly-goal-card .weekly-goal-copy h2 strong{color:var(--mint-strong);font-size:3.4rem;font-weight:500}.weekly-goal-copy>span{color:#fffdf7b3;font-size:.78rem}.weekly-goal-copy>p:last-child{color:#fffdf7c7;max-width:500px;margin:.8rem 0 0;line-height:1.55}.weekly-goal-ring{--goal-progress:0deg;aspect-ratio:1;background:conic-gradient(var(--mint-strong) var(--goal-progress), #ffffff1f 0);border-radius:50%;place-items:center;width:104px;display:grid;position:relative}.weekly-goal-ring:after{content:"";border-radius:inherit;background:var(--forest);position:absolute;inset:9px}.weekly-goal-card .weekly-goal-ring span{z-index:1;color:var(--paper);font-weight:900;position:relative}.weekly-goal-card fieldset{border:0;grid-template-columns:repeat(3,1fr);gap:.45rem;min-width:170px;margin:0;padding:0;display:grid}.weekly-goal-card legend{color:#fffdf7b8;grid-column:1/-1;margin-bottom:.5rem;font-size:.72rem}.weekly-goal-card fieldset button{min-width:44px;min-height:44px;color:var(--paper);background:0 0;border:1px solid #ffffff40;border-radius:13px;font-weight:900}.weekly-goal-card button[data-selected=true]{border-color:var(--mint-strong);background:var(--mint-strong);color:var(--forest)}.progress-inline-error{color:var(--danger);margin:0;font-size:.82rem}.progress-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.progress-detail-grid>article{border:1px solid rgba(var(--forest-rgb), .11);background:var(--paper);border-radius:24px;padding:1.35rem}.progress-detail-grid h3{color:var(--forest);font-family:var(--font-display), serif;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.35rem;font-weight:500;display:flex}.recap-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.recap-columns>section{background:var(--canvas);border-radius:17px;padding:1rem}.recap-columns>section[data-current=true]{background:rgba(var(--mint-rgb), .13)}.recap-columns dl,.progress-speaking dl,.progress-mastery dl{gap:.55rem;margin:.8rem 0 0;display:grid}.recap-columns dl>div,.progress-speaking dl>div,.progress-mastery dl>div{justify-content:space-between;gap:.8rem;display:flex}.recap-columns dt,.progress-speaking dt,.progress-mastery dt{color:var(--ink-soft);font-size:.8rem}.recap-columns dd,.progress-speaking dd,.progress-mastery dd{color:var(--forest);margin:0;font-weight:900}.progress-speaking dl{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-speaking dl>div{background:var(--canvas);border-radius:15px;flex-direction:column;padding:.8rem}.progress-speaking dd{font-family:var(--font-display), serif;font-size:1.65rem;font-weight:500}.progress-speaking dd small{color:var(--ink-soft);font-family:var(--font-body), sans-serif;font-size:.7rem}.mastery-bar{background:var(--canvas);border-radius:999px;height:12px;display:flex;overflow:hidden}.mastery-bar i{min-width:0}.progress-mastery dt{align-items:center;gap:.45rem;display:inline-flex}.progress-mastery dt i{border-radius:50%;width:9px;height:9px}.progress-mastery [data-status=seen]{background:rgba(var(--forest-rgb), .12)}.progress-mastery [data-status=learning]{background:rgba(var(--forest-rgb), .3)}.progress-mastery [data-status=practicing]{background:rgba(var(--mint-rgb), .68)}.progress-mastery [data-status=strong]{background:var(--forest-bright)}.progress-mastery [data-status=mastered]{background:var(--forest)}.progress-milestones>div{gap:.8rem;display:grid}.progress-milestones section{grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem .7rem;display:grid}.progress-milestones section>span{color:var(--ink-soft);font-size:.8rem}.progress-milestones section>strong{color:var(--forest);font-size:.78rem}.progress-milestones section>div{background:var(--canvas);border-radius:99px;grid-column:2/-1;height:6px;overflow:hidden}.progress-milestones section>div i{border-radius:inherit;background:var(--mint-strong);height:100%;display:block}.progress-overview[data-compact=true] .weekly-goal-card{min-height:160px}.activity-page-header{align-content:center;min-height:120px;padding:1.65rem .35rem;display:grid}.activity-page-header h1{color:var(--forest);font-family:var(--font-display), serif;letter-spacing:-.025em;margin:.3rem 0 0;font-size:1.5rem;font-weight:500;line-height:1.25}.activity-page-header>p:last-child{max-width:760px;color:var(--ink-soft);font-size:var(--workspace-help-size);margin:.45rem 0 0;line-height:1.55}.activity-page-header .section-kicker,.progress-heatmap .section-kicker{font-size:.75rem}.activity-page .progress-overview{gap:1rem}.activity-page .weekly-goal-card{border-radius:var(--workspace-card-radius);min-height:150px;box-shadow:var(--workspace-card-shadow);grid-template-columns:minmax(0,1fr) auto auto;gap:1.25rem;padding:1.15rem 1.35rem}.activity-page .weekly-goal-card .weekly-goal-copy h2{font-family:var(--font-body), sans-serif;letter-spacing:0;flex-wrap:wrap;align-items:baseline;gap:.4rem;margin-top:.2rem;font-size:.82rem;font-weight:700;display:flex}.activity-page .weekly-goal-card .weekly-goal-copy h2 strong{font-family:var(--font-display), serif;font-size:2rem;line-height:1}.activity-page .weekly-goal-copy>p:last-child{margin-top:.55rem;font-size:.78rem}.activity-page .weekly-goal-ring{width:96px}.activity-page .weekly-goal-card fieldset{min-width:184px}.activity-page .weekly-goal-card fieldset button{border-color:var(--line);background:var(--paper);color:var(--forest);cursor:pointer}.activity-page .weekly-goal-card button[data-selected=true]{border-color:var(--forest-bright);background:var(--forest-bright);color:#fff}.activity-page .weekly-goal-card fieldset:disabled button{cursor:wait;opacity:.72}.progress-goal-toast{z-index:70;border:1px solid rgba(var(--mint-rgb), .35);background:var(--forest);color:#fff;box-shadow:var(--workspace-card-shadow);border-radius:12px;margin:0;padding:.75rem 1rem;font-size:.78rem;font-weight:750;position:fixed;top:1rem;right:1rem}.progress-stat-section,.progress-heatmap,.activity-page .progress-detail-grid>article,.activity-page .activity-calendar,.activity-page .activity-achievements,.activity-page .activity-recent{border:1px solid rgba(var(--forest-rgb), .1);border-radius:var(--workspace-card-radius);background:var(--paper);box-shadow:var(--workspace-card-shadow)}.progress-stat-section,.progress-heatmap{padding:1.15rem}.progress-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.progress-stat-grid article{border:1px solid var(--line);background:var(--surface-raised);border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:.15rem .65rem;min-width:0;padding:.85rem;display:grid}.progress-stat-grid article svg{color:var(--forest-bright);grid-row:span 2}.progress-stat-grid article strong{color:var(--forest);font-family:var(--font-display), serif;text-overflow:ellipsis;font-size:2rem;font-weight:500;line-height:1;overflow:hidden}.progress-stat-grid article span{color:var(--ink-soft);font-size:.75rem;font-weight:700}.progress-tracking-rule{color:var(--ink-soft);margin:.8rem 0 0;font-size:.75rem;line-height:1.55}.progress-heatmap>header{justify-content:space-between;align-items:end;gap:1.5rem;display:flex}.progress-heatmap h2{color:var(--forest);font-family:var(--font-display), serif;margin:.2rem 0 0;font-size:1.5rem;font-weight:500;line-height:1.25}.progress-heatmap>header>p{max-width:420px;color:var(--ink-soft);font-size:var(--workspace-help-size);text-align:right;margin:0;line-height:1.5}.progress-heatmap-grid{grid-template-columns:repeat(15,minmax(34px,1fr));gap:.45rem;margin-top:1rem;display:grid}.progress-heatmap-grid>span{justify-items:center;gap:.3rem;min-width:0;display:grid}.progress-heatmap-grid i,.progress-heatmap-legend i{border:1px solid rgba(var(--forest-rgb), .08);background:rgba(var(--forest-rgb), .06)}.progress-heatmap-grid i{aspect-ratio:1;border-radius:7px;width:100%}.progress-heatmap-grid small{color:var(--ink-soft);font-size:.62rem}.progress-heatmap-grid [data-level="1"] i,.progress-heatmap-legend [data-level="1"]{background:rgba(var(--mint-rgb), .28)}.progress-heatmap-grid [data-level="2"] i,.progress-heatmap-legend [data-level="2"]{background:rgba(var(--mint-rgb), .52)}.progress-heatmap-grid [data-level="3"] i,.progress-heatmap-legend [data-level="3"]{background:var(--mint-strong)}.progress-heatmap-grid [data-level="4"] i,.progress-heatmap-legend [data-level="4"]{background:var(--forest)}.progress-heatmap-legend{color:var(--ink-soft);justify-content:flex-end;align-items:center;gap:.35rem;margin-top:.75rem;font-size:.68rem;display:flex}.progress-heatmap-legend i{border-radius:3px;width:12px;height:12px}.progress-chart-empty{border:1px dashed var(--line-strong);min-height:120px;color:var(--ink-soft);text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;font-size:.8rem;display:flex}.progress-chart-empty a{background:var(--forest);color:#fff;border-radius:999px;align-items:center;min-height:44px;padding:0 1rem;font-weight:750;text-decoration:none;display:inline-flex}.activity-page .progress-detail-grid>article{padding:1.15rem}.activity-page .activity-calendar,.activity-page .activity-achievements,.activity-page .activity-recent{padding:1.25rem}.activity-page .activity-achievements{border-color:rgba(var(--forest-rgb), .1);background:var(--paper);color:var(--ink)}.activity-page .activity-achievements .section-kicker{color:var(--forest-bright)}.activity-page .activity-section-heading h2,.activity-page .activity-calendar h2,.activity-page .activity-achievements h2{font-size:1.5rem;line-height:1.25}.activity-page .achievement-list>div{border-color:var(--line);color:var(--ink-soft)}.activity-page .achievement-list>div[data-unlocked=true]{border-color:rgba(var(--mint-rgb), .3);background:rgba(var(--mint-rgb), .12);color:var(--ink)}.activity-page .achievement-list>div>span{background:rgba(var(--forest-rgb), .06);color:var(--forest)}@media (max-width:760px){.weekly-goal-card{grid-template-columns:1fr auto;gap:1rem;padding:1.2rem}.weekly-goal-card fieldset{grid-column:1/-1}.weekly-goal-ring{width:86px}.progress-detail-grid{grid-template-columns:1fr}.activity-page .weekly-goal-card{grid-template-columns:1fr auto}.activity-page .weekly-goal-card fieldset{grid-column:1/-1}.activity-page .weekly-goal-ring{width:86px}.progress-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-heatmap-grid{grid-template-columns:repeat(10,minmax(24px,1fr))}.progress-heatmap>header{flex-direction:column;align-items:flex-start;gap:.35rem}.progress-heatmap>header>p{text-align:left}}@media (max-width:440px){.weekly-goal-copy h2 strong{font-size:2.7rem}.weekly-goal-copy>p:last-child{font-size:.78rem}.recap-columns{grid-template-columns:1fr}.activity-page-header{min-height:0;padding:1rem .2rem}.activity-page .weekly-goal-card{grid-template-columns:1fr auto}.activity-page .weekly-goal-card fieldset{grid-column:1/-1}.progress-stat-grid{grid-template-columns:1fr}.progress-chart-empty{flex-direction:column;align-items:stretch;padding:1rem}}.teacher-weekly-progress{border:1px solid rgba(var(--forest-rgb), .11);background:var(--paper);border-radius:22px;margin:1rem 0;padding:1.2rem}.teacher-weekly-progress>header{justify-content:space-between;gap:1rem;display:flex}.teacher-weekly-progress h2{color:var(--forest);font-family:var(--font-display), serif;margin:.2rem 0 0;font-size:1.45rem;font-weight:500}.teacher-weekly-progress header small{max-width:320px;color:var(--ink-soft);text-align:right;line-height:1.5}.teacher-weekly-progress>div{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem;margin-top:1rem;display:grid}.teacher-weekly-progress article{background:var(--canvas);border-radius:14px;grid-template-columns:1fr auto;gap:.5rem;padding:.8rem;display:grid}.teacher-weekly-progress article>span{color:var(--forest);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.teacher-weekly-progress article>strong{color:var(--forest)}.teacher-weekly-progress article>div{background:rgba(var(--forest-rgb), .1);border-radius:99px;grid-column:1/-1;height:6px;overflow:hidden}.teacher-weekly-progress article>div i{background:var(--mint-strong);height:100%;display:block}@media (max-width:620px){.teacher-weekly-progress>header{flex-direction:column}.teacher-weekly-progress header small{text-align:left}}.message-workspace{gap:24px;padding:clamp(18px,4vw,52px) 0;display:grid}.message-heading{justify-content:space-between;align-items:flex-start;display:flex}.message-heading h1{font-family:var(--font-display);margin:8px 0;font-size:clamp(2rem,4vw,4.2rem);font-weight:500}.message-heading>svg{color:var(--forest);box-sizing:content-box;background:#c08a2e24;border-radius:18px;padding:14px}.message-compose{background:var(--paper);border:1px solid var(--line);border-radius:24px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:clamp(18px,3vw,30px);display:grid}.message-compose label{color:var(--ink-soft);gap:7px;font-size:.78rem;font-weight:700;display:grid}.message-compose input,.message-compose select,.message-compose textarea{background:var(--canvas);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:12px;padding:12px 13px}.message-body,.message-kind{grid-column:1/-1}.message-kind{gap:8px;display:flex}.message-kind button{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:999px;align-items:center;gap:7px;min-height:44px;padding:0 16px;display:inline-flex}.message-kind button[aria-pressed=true]{background:var(--forest);color:#fff}.message-compose>.button{justify-self:end}.message-notice{background:#c08a2e1a;border:1px solid #c08a2e47;border-radius:12px;padding:12px 15px}.message-list{gap:12px;display:grid}.message-list h2{font-family:var(--font-display);font-size:2rem;font-weight:500}.message-list article{background:var(--paper);border:1px solid var(--line);border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:17px;display:grid}.message-list article[data-unread=true]{border-left:4px solid var(--mint-strong)}.message-list article>span{color:var(--forest);background:#c08a2e1f;border-radius:10px;padding:9px}.message-list article div{gap:4px;display:grid}.message-list article p{margin:4px 0}.message-list article a{color:var(--forest-bright);align-items:center;gap:5px;width:fit-content;font-weight:700;display:inline-flex}.message-list article time,.message-list article small{color:var(--ink-soft);font-size:.74rem}@media (max-width:700px){.message-compose{grid-template-columns:1fr}.message-compose>*{grid-column:1}.message-list article{grid-template-columns:auto 1fr}.message-list article time{grid-column:2}}.app-frame:has(.message-workspace:not(.compact)){height:100dvh;overflow:hidden}.app-frame:has(.message-workspace:not(.compact)) .sidebar-inner{overflow:hidden}.app-frame:has(.message-workspace:not(.compact)) .main-content{height:100dvh;min-height:0;overflow:hidden}.app-frame:has(.message-workspace:not(.compact)) .content-container{height:100%}.message-workspace:not(.compact){border:1px solid rgba(var(--forest-rgb), .11);border-radius:var(--workspace-card-radius);background:var(--paper);height:100%;min-height:0;box-shadow:var(--workspace-card-shadow);grid-template-columns:320px minmax(0,1fr);gap:0;padding:0;display:grid;overflow:hidden}.conversation-sidebar{border-right:1px solid var(--line);background:#fffdf7f0;flex-direction:column;min-width:0;min-height:0;display:flex}.conversation-sidebar>header,.message-thread-header{align-items:center;min-height:64px;display:flex}.conversation-sidebar>header{justify-content:space-between;padding:0 1rem}.conversation-sidebar h1{color:var(--forest);font-family:var(--font-display), serif;margin:0;font-size:1.25rem;font-weight:600}.conversation-sidebar>header button,.message-thread-header>button,.message-new-conversation .message-back,.message-thread-header nav>a,.message-thread-header summary,.message-composer-row>button{width:44px;height:44px;color:var(--forest);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.conversation-sidebar>header button:hover,.message-thread-header>button:hover,.message-thread-header nav>a:hover,.message-thread-header summary:hover,.message-composer-row>button:first-child:hover{background:rgba(var(--mint-rgb), .15)}.conversation-search{border:1px solid var(--line);background:var(--canvas);min-height:44px;color:var(--ink-soft);border-radius:12px;align-items:center;gap:.55rem;margin:0 .85rem;padding:0 .75rem;display:flex}.conversation-search input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:.8rem}.conversation-search input::placeholder{color:var(--ink-soft);opacity:.82}.conversation-search:focus-within{border-color:var(--mint-strong);box-shadow:0 0 0 2px rgba(var(--mint-rgb), .2)}.conversation-filters{scrollbar-width:none;gap:.35rem;padding:.7rem .85rem .55rem;display:flex;overflow-x:auto}.conversation-filters::-webkit-scrollbar{display:none}.conversation-filters button{border:1px solid var(--line);background:var(--surface-raised);min-height:44px;color:var(--ink-soft);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;padding:0 .75rem;font-size:.72rem;font-weight:750}.conversation-filters button[aria-pressed=true]{border-color:var(--forest);background:var(--forest);color:#fff}.conversation-list-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:0 .55rem .75rem;overflow-y:auto}.conversation-list{gap:4px;display:grid}.conversation-item{width:100%;height:72px;min-height:72px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:13px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:0 .7rem;display:grid}.conversation-item:hover{background:rgba(var(--mint-rgb), .1)}.conversation-item[data-selected=true]{background:var(--forest);color:#fff}.message-avatar{background:rgba(var(--mint-rgb), .2);width:40px;height:40px;color:var(--forest);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:.72rem;font-weight:850;display:grid;position:relative}.message-avatar[data-tone="1"]{background:rgba(var(--forest-rgb), .09)}.message-avatar[data-tone="2"]{background:var(--mint)}.message-avatar[data-tone="3"]{background:#a33a2b1f}.message-avatar[data-small=true]{width:30px;height:30px;font-size:.58rem}.message-avatar>i{border:2px solid var(--paper);background:#4f8a68;border-radius:50%;width:9px;height:9px;display:none;position:absolute;bottom:0;right:0}.message-avatar[data-online=true]>i{display:block}.conversation-item[data-selected=true] .message-avatar{box-shadow:0 0 0 1px #ffffff61}.conversation-copy{gap:.22rem;min-width:0;display:grid}.conversation-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:600;overflow:hidden}.conversation-copy small{color:var(--ink-soft);opacity:.72;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;line-height:1.25;overflow:hidden}.conversation-item:has(.conversation-meta b) .conversation-copy strong{font-weight:750}.conversation-item:has(.conversation-meta b) .conversation-copy small{color:var(--ink);opacity:1}.conversation-item[data-selected=true] .conversation-copy small,.conversation-item[data-selected=true] .conversation-meta time{color:#fff;opacity:.72}.conversation-meta{flex-direction:column;justify-content:space-between;align-items:flex-end;height:42px;display:flex}.conversation-meta time{color:var(--ink-soft);white-space:nowrap;font-size:.6875rem}.conversation-meta b,.nav-unread-badge,.mobile-nav-unread{background:var(--mint-strong);min-width:20px;height:20px;color:var(--forest);border-radius:999px;place-items:center;padding:0 .3rem;font-size:.64rem;font-weight:900;display:inline-grid}.nav-unread-badge{margin-left:auto}.mobile-nav-link{position:relative}.mobile-nav-unread{min-width:17px;height:17px;font-size:.55rem;position:absolute;top:2px;right:3px}.conversation-no-match,.message-notice{color:var(--ink-soft);border-radius:11px;margin:.5rem;padding:.75rem;font-size:.76rem;line-height:1.5}.message-notice{border:1px solid rgba(var(--mint-rgb), .28);background:rgba(var(--mint-rgb), .1)}.message-thread-panel{background:radial-gradient(circle at 82% 5%, rgba(var(--mint-rgb), .08), transparent 20rem), var(--canvas);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.message-thread-header{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf7f0;gap:.7rem;padding:0 .85rem}.message-back{display:none!important}.message-thread-header>span:not(.message-avatar){gap:.1rem;min-width:0;display:grid}.message-thread-header>span strong{color:var(--forest);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.message-thread-header>span small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.message-thread-header nav{align-items:center;gap:.2rem;margin-left:auto;display:flex}.message-thread-header details{position:relative}.message-thread-header summary{list-style:none}.message-thread-header summary::-webkit-details-marker{display:none}.message-thread-header details>div{border:1px solid var(--line);background:var(--surface-raised);min-width:180px;box-shadow:var(--workspace-card-shadow);border-radius:12px;gap:.2rem;padding:.8rem;display:grid;position:absolute;top:calc(100% + .4rem);right:0}.message-thread-header details small{color:var(--ink-soft)}.message-thread-scroll{overscroll-behavior:contain;min-height:0;padding:1.25rem clamp(1rem,4vw,3.5rem);overflow-y:auto}.message-stream-entry{gap:0;display:grid}.message-date-divider{min-height:44px;color:var(--ink-soft);justify-content:center;align-items:center;font-size:.6875rem;display:flex}.message-unread-divider{color:var(--coral);align-items:center;gap:.65rem;margin:.6rem 0;font-size:.6875rem;display:flex}.message-unread-divider:before,.message-unread-divider:after{content:"";background:#a33a2b47;flex:1;height:1px}.message-unread-divider span{white-space:nowrap}.message-bubble-row{grid-template-columns:30px minmax(0,1fr);align-items:end;gap:.55rem;margin-top:2px;display:grid}.message-bubble-row[data-first=true]{margin-top:.75rem}.message-bubble-row[data-own=true]{grid-template-columns:minmax(0,1fr);justify-items:end}.message-bubble-row>div{max-width:100%;display:grid}.message-avatar-spacer{width:30px}.message-bubble-row[data-own=true] .message-avatar-spacer{display:none}.message-sender{min-height:0;color:var(--ink-soft);margin:0 0 .25rem .2rem;font-size:.68rem}.message-sender:empty{display:none}.message-text-bubble{background:var(--paper);max-width:62%;color:var(--ink);box-shadow:0 4px 16px rgba(var(--forest-rgb), .04);overflow-wrap:anywhere;border-radius:16px 16px 16px 4px;padding:.75rem 1rem;font-size:.875rem;line-height:1.55}.message-text-bubble[data-own=true]{background:var(--forest);color:#fff;border-radius:16px 16px 4px}.message-delivery{color:var(--ink-soft);justify-self:end;margin:.28rem .25rem 0;font-size:.6875rem}.message-card-bubble{border:1px solid var(--line);background:var(--paper);width:min(340px,100%);color:var(--ink);border-radius:16px;display:grid;overflow:hidden}.message-card-bubble>div:not(.message-video-thumbnail),.message-speaking-card,.message-vocabulary-card,.message-assignment-card{padding:.9rem}.message-card-bubble small{color:var(--forest-bright);letter-spacing:.05em;text-transform:uppercase;font-size:.68rem;font-weight:800}.message-card-bubble strong{color:var(--forest);font-family:var(--font-display), serif;font-size:1.1rem;font-weight:600}.message-card-bubble p{color:var(--ink-soft);margin:.55rem 0;font-size:.8rem;line-height:1.5}.message-card-bubble a,.message-card-bubble button{background:var(--forest);color:#fff;width:fit-content;min-height:44px;font:inherit;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:0 .8rem;font-size:.75rem;font-weight:800;text-decoration:none;display:inline-flex}.message-card-bubble button:disabled{cursor:not-allowed;opacity:.45}.message-video-thumbnail{background-color:var(--forest);color:#fff;background-position:50%;background-size:cover;place-items:center;min-height:118px;display:grid}.message-card-bubble>div:not(.message-video-thumbnail){gap:.25rem;display:grid}.message-card-bubble>div>span{color:var(--ink-soft);font-size:.7rem}.message-speaking-card header,.message-assignment-card header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.message-speaking-card header b,.message-assignment-card header b{background:rgba(var(--mint-rgb), .2);color:var(--forest);border-radius:999px;padding:.3rem .5rem;font-size:.68rem}.message-assignment-card header b[data-status=overdue]{background:var(--peach);color:var(--danger)}.message-assignment-card header b[data-status=completed]{color:#32684a;background:#4f8a6824}.message-assignment-card>time{color:var(--ink-soft);margin-top:.35rem;font-size:.72rem}.message-waveform{background:var(--canvas);min-height:44px;color:var(--forest);border-radius:999px;align-items:center;gap:.25rem;margin-top:.65rem;padding:0 .65rem;display:flex}.message-waveform i{background:var(--mint-strong);width:2px;height:10px}.message-waveform i:nth-of-type(2n){height:20px}.message-waveform span{color:var(--ink-soft);margin-left:auto;font-size:.68rem}.message-vocabulary-card ul{flex-wrap:wrap;gap:.35rem;margin:.65rem 0 0;padding:0;list-style:none;display:flex}.message-vocabulary-card li{background:var(--canvas);color:var(--forest);border-radius:999px;padding:.35rem .55rem;font-size:.75rem;font-weight:750}.message-composer{z-index:2;padding:.65rem .8rem max(.65rem, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper);box-shadow:0 -10px 24px rgba(var(--forest-rgb), .04);position:relative}.message-composer-row{align-items:end;gap:.55rem;display:flex}.message-composer-row textarea{resize:none;border:1px solid var(--line);background:var(--canvas);width:100%;min-height:44px;max-height:112px;color:var(--ink);font:inherit;border-radius:14px;padding:.68rem .8rem;font-size:.875rem;line-height:1.45;overflow-y:auto}.message-composer-row>button:last-child{background:var(--forest);color:#fff}.message-composer-row>button:last-child:disabled{cursor:not-allowed;opacity:.45}.message-attachment-panel{border:1px solid var(--line);background:var(--canvas);border-radius:13px;gap:.65rem;margin-bottom:.65rem;padding:.7rem;display:grid}.message-attachment-panel>div{gap:.4rem;display:flex}.message-attachment-panel button{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--forest);font:inherit;border-radius:999px;align-items:center;gap:.35rem;padding:0 .75rem;font-size:.72rem;font-weight:750;display:inline-flex}.message-attachment-panel button[aria-pressed=true]{border-color:var(--forest);background:var(--forest);color:#fff}.message-attachment-panel section{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:.55rem;display:grid}.message-attachment-panel label,.message-new-conversation label{color:var(--ink-soft);gap:.3rem;font-size:.7rem;font-weight:750;display:grid}.message-attachment-panel input,.message-new-conversation select{border:1px solid var(--line);background:var(--paper);min-width:0;min-height:44px;color:var(--ink);font:inherit;border-radius:10px;padding:0 .65rem}.message-receive-only{border-top:1px solid var(--line);background:var(--paper);min-height:60px;color:var(--ink-soft);justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-size:.75rem;display:flex}.message-typing{color:var(--ink-soft);align-items:center;gap:.25rem;margin:.75rem 0 0 2.4rem;font-size:.7rem;display:flex}.message-typing i{background:var(--mint-strong);border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite message-dot}.message-typing i:nth-of-type(2){animation-delay:.12s}.message-typing i:nth-of-type(3){animation-delay:.24s}@keyframes message-dot{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.message-thread-placeholder,.message-empty{min-height:0;color:var(--ink-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;padding:1.5rem;display:flex}.message-thread-placeholder{grid-row:1/-1}.message-thread-placeholder svg,.message-empty svg{color:rgba(var(--forest-rgb), .2)}.message-empty strong{color:var(--forest);font-family:var(--font-display), serif;font-size:1.2rem}.message-empty p{max-width:360px;margin:0;font-size:.8rem;line-height:1.55}.message-empty>a{border:1px solid var(--line-strong);min-height:44px;color:var(--forest);border-radius:999px;align-items:center;margin-top:.35rem;padding:0 .9rem;font-size:.75rem;font-weight:800;text-decoration:none;display:inline-flex}.message-empty[data-compact=true]{min-height:150px;padding:1rem}.message-empty[data-compact=true] strong{font-size:1rem}.message-new-conversation{grid-template-rows:auto auto 1fr auto;min-height:0;display:grid}.message-new-conversation>header{border-bottom:1px solid var(--line);background:var(--paper);align-items:center;gap:.6rem;padding:1.1rem;display:flex}.message-new-conversation>header>div{display:grid}.message-new-conversation>header strong{color:var(--forest);font-family:var(--font-display), serif;font-size:1.2rem}.message-new-conversation>header p{color:var(--ink-soft);margin:.25rem 0 0;font-size:.78rem}.message-new-conversation>div{background:var(--paper);grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:1rem;display:grid}.compact-message-widget{border:1px solid rgba(var(--forest-rgb), .1);border-radius:var(--workspace-card-radius);background:var(--paper);box-shadow:var(--workspace-card-shadow);gap:.8rem;padding:1.1rem;display:grid}.compact-message-widget>header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.compact-message-widget h2{color:var(--forest);font-family:var(--font-display), serif;margin:0;font-size:1.25rem;font-weight:600}.compact-message-widget header a{min-height:44px;color:var(--forest);align-items:center;font-size:.72rem;font-weight:800;display:inline-flex}.compact-message-widget>div{gap:.35rem;display:grid}.compact-message-widget>div>a{min-height:56px;color:var(--ink);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;padding:.4rem;text-decoration:none;display:grid}.compact-message-widget>div>a:hover{background:rgba(var(--mint-rgb), .1)}.compact-message-widget>div>a>span:last-child{gap:.15rem;min-width:0;display:grid}.compact-message-widget>div>a strong,.compact-message-widget>div>a small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compact-message-widget>div>a strong{font-size:.78rem}.compact-message-widget>div>a small{color:var(--ink-soft);font-size:.7rem}.message-workspace :is(button,a,input,textarea,select,summary):focus-visible{outline:2px solid var(--mint-strong);outline-offset:2px;box-shadow:none}.nav-link:has(.nav-unread-badge):focus-visible{outline:2px solid var(--mint-strong);outline-offset:2px;box-shadow:none}.mobile-nav-link:has(.mobile-nav-unread):focus-visible{outline:2px solid var(--mint-strong);outline-offset:2px;box-shadow:none}@media (max-width:1023px){.app-frame:has(.message-workspace:not(.compact)) .main-content{height:calc(100dvh - 66px);padding:.65rem .65rem calc(5.8rem + env(safe-area-inset-bottom))}.message-workspace:not(.compact){grid-template-columns:minmax(0,1fr)}.conversation-sidebar{border-right:0}.message-workspace[data-thread-open=true] .conversation-sidebar,.message-workspace[data-thread-open=false] .message-thread-panel{display:none}.message-back{display:grid!important}}@media (max-width:620px){.message-workspace:not(.compact){border-radius:14px}.conversation-filters{padding-top:.5rem}.message-thread-scroll{padding:.8rem}.message-text-bubble{max-width:82%}.message-card-bubble{width:min(340px,100vw - 5.5rem)}.message-attachment-panel section,.message-new-conversation>div{grid-template-columns:1fr}.message-thread-header{gap:.45rem;padding:0 .45rem}.message-thread-header .message-avatar{display:none}}.teacher-progress-workspace{gap:30px;display:grid}.speaking-v1-config{gap:1.15rem;margin:1.1rem 0 1.35rem;display:grid}.speaking-v1-config fieldset{border:0;min-width:0;margin:0;padding:0}.speaking-v1-config legend,.speaking-v1-select>span{color:var(--forest);letter-spacing:.035em;margin-bottom:.55rem;font-size:.72rem;font-weight:850;display:block}.speaking-v1-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.speaking-v1-choice-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.speaking-v1-choice-grid button,.speaking-v1-duration button{border:1px solid var(--forest);min-height:46px;padding:.65rem .7rem}@supports (color:color-mix(in lab, red, red)){.speaking-v1-choice-grid button,.speaking-v1-duration button{border:1px solid color-mix(in srgb,var(--forest) 14%,transparent)}}.speaking-v1-choice-grid button,.speaking-v1-duration button{background:var(--paper);color:var(--forest);cursor:pointer;font:inherit;border-radius:13px;font-size:.68rem;font-weight:780;transition:border-color .12s,background .12s,transform .12s}.speaking-v1-choice-grid button:hover,.speaking-v1-duration button:hover{border-color:var(--mint-strong);transform:translateY(-1px)}.speaking-v1-choice-grid button[data-selected=true],.speaking-v1-duration button[data-selected=true]{border-color:var(--forest);background:var(--forest);color:#fff;box-shadow:0 8px 22px var(--forest)}@supports (color:color-mix(in lab, red, red)){.speaking-v1-choice-grid button[data-selected=true],.speaking-v1-duration button[data-selected=true]{box-shadow:0 8px 22px color-mix(in srgb,var(--forest) 17%,transparent)}}.speaking-v1-custom{border-left:3px solid var(--mint-strong);background:var(--mint);border-radius:0 14px 14px 0;gap:.55rem;padding:.8rem;display:grid}@supports (color:color-mix(in lab, red, red)){.speaking-v1-custom{background:color-mix(in srgb,var(--mint) 30%,white)}}.speaking-v1-custom label{color:var(--ink-soft);gap:.3rem;font-size:.5rem;font-weight:750;display:grid}.speaking-v1-custom input,.speaking-v1-custom textarea,.speaking-v1-select select{border:1px solid var(--forest);width:100%;min-height:44px;padding:.65rem .7rem}@supports (color:color-mix(in lab, red, red)){.speaking-v1-custom input,.speaking-v1-custom textarea,.speaking-v1-select select{border:1px solid color-mix(in srgb,var(--forest) 15%,transparent)}}.speaking-v1-custom input,.speaking-v1-custom textarea,.speaking-v1-select select{color:var(--ink);font:inherit;background:#fff;border-radius:12px;font-size:.68rem}.speaking-v1-custom textarea{resize:vertical;min-height:76px}.speaking-v1-duration{grid-template-columns:repeat(3,1fr);gap:.45rem;display:grid}.speaking-v1-duration button{justify-content:center;align-items:center;gap:.32rem;display:flex}.speaking-v15-source{border:1px solid var(--forest);gap:.8rem;margin:1rem 0;padding:1rem;display:grid}@supports (color:color-mix(in lab, red, red)){.speaking-v15-source{border:1px solid color-mix(in srgb,var(--forest) 14%,transparent)}}.speaking-v15-source{background:var(--mint);border-radius:18px}@supports (color:color-mix(in lab, red, red)){.speaking-v15-source{background:color-mix(in srgb,var(--mint) 18%,white)}}.speaking-v15-source>strong,.speaking-v15-source label>span{color:var(--forest);font-size:.68rem;font-weight:850}.speaking-function-header{border-bottom:1px solid var(--forest);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.speaking-function-header{border-bottom:1px solid color-mix(in srgb,var(--forest) 12%,transparent)}}.speaking-function-header>div{gap:.24rem;display:grid}.speaking-function-header>div strong{color:var(--forest);font-size:.82rem}.speaking-function-header>div span{max-width:540px;color:var(--ink-soft);font-size:.64rem;line-height:1.5}.speaking-function-header>p{background:var(--forest);color:#fff;text-align:right;border-radius:12px;flex:none;gap:.15rem;margin:0;padding:.48rem .65rem;display:grid}.speaking-function-header>p small{color:#ffffff9e;font-size:.5rem}.speaking-function-header>p b{font-size:.66rem}.speaking-practice-source-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.speaking-practice-source-grid>button{border:1px solid var(--forest);grid-template-columns:auto auto minmax(0,1fr);align-items:start;gap:.5rem;min-height:104px;padding:.75rem;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.speaking-practice-source-grid>button{border:1px solid color-mix(in srgb,var(--forest) 14%,transparent)}}.speaking-practice-source-grid>button{color:var(--forest);cursor:pointer;text-align:left;background:#ffffffd1;border-radius:14px;transition:border-color .12s,box-shadow .12s,transform .12s}.speaking-practice-source-grid>button[data-selected=true]{border-color:var(--mint-strong);color:var(--forest);box-shadow:inset 0 0 0 2px var(--mint-strong),0 9px 24px var(--forest);background:#fff}@supports (color:color-mix(in lab, red, red)){.speaking-practice-source-grid>button[data-selected=true]{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--mint-strong) 45%,transparent),0 9px 24px color-mix(in srgb,var(--forest) 10%,transparent)}}.speaking-practice-source-grid>button:disabled{cursor:not-allowed;opacity:.42}.speaking-practice-source-grid>button>i{background:var(--mint-strong);border-radius:8px;place-items:center;width:25px;height:25px;display:grid}@supports (color:color-mix(in lab, red, red)){.speaking-practice-source-grid>button>i{background:color-mix(in srgb,var(--mint-strong) 13%,white)}}.speaking-practice-source-grid>button>i{color:var(--forest);font-size:.52rem;font-style:normal;font-weight:900}.speaking-practice-source-grid>button[data-selected=true]>i{background:var(--mint-strong);color:#fff}.speaking-practice-source-grid span{gap:.25rem;display:grid}.speaking-v15-source b{font-size:.7rem}.speaking-v15-source small{color:var(--ink-faint);font-size:.6rem;font-weight:560;line-height:1.45}.speaking-v15-source button[data-selected=true] small{color:var(--ink-soft)}.speaking-v15-source label{gap:.35rem;display:grid}.speaking-v15-source select,.speaking-v15-source input,.speaking-v15-source textarea{border:1px solid var(--forest);width:100%;min-height:44px;padding:.6rem .7rem}@supports (color:color-mix(in lab, red, red)){.speaking-v15-source select,.speaking-v15-source input,.speaking-v15-source textarea{border:1px solid color-mix(in srgb,var(--forest) 16%,transparent)}}.speaking-v15-source select,.speaking-v15-source input,.speaking-v15-source textarea{color:var(--ink);font:inherit;background:#fff;border-radius:12px;font-size:.68rem}.speaking-v15-source textarea{resize:vertical;min-height:92px;line-height:1.55}.speaking-v2-mode-fields{gap:.7rem;display:grid}.speaking-v2-mode-fields fieldset{border:0;margin:0;padding:0}.speaking-v2-mode-fields legend{color:var(--forest);margin-bottom:.4rem;font-size:.56rem;font-weight:850}.speaking-v2-mode-fields fieldset>div{gap:.4rem;display:flex}.speaking-v2-mode-fields button{border:1px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;background:#fff;border-radius:11px;padding:.45rem .75rem;font-weight:800}.speaking-v2-mode-fields button[data-selected=true]{border-color:var(--forest);background:var(--forest);color:#fff}.speaking-v2-scenario-builder{border-top:1px solid var(--forest);gap:.5rem;padding-top:.7rem;display:grid}@supports (color:color-mix(in lab, red, red)){.speaking-v2-scenario-builder{border-top:1px solid color-mix(in srgb,var(--forest) 12%,transparent)}}.speaking-v2-scenario-builder>strong{color:var(--forest);font-size:.58rem}.speaking-v2-scenario-builder>button{background:var(--forest);color:#fff;cursor:pointer;border:0;border-radius:11px;align-items:center;gap:.4rem;width:fit-content;min-height:42px;padding:.5rem .75rem;font-weight:800;display:inline-flex}.speaking-v2-scenario-builder>button:disabled{cursor:not-allowed;opacity:.45}.speaking-v2-scenario-builder>p{color:var(--rust);margin:0;font-size:.53rem}.speaking-v2-scenario-builder article{background:#fff;border-radius:12px;gap:.3rem;padding:.7rem;display:grid}.speaking-v2-scenario-builder article span{background:var(--mint);width:fit-content;color:var(--forest);border-radius:999px;padding:.18rem .4rem;font-size:.48rem;font-weight:900}.speaking-v2-scenario-builder article strong{font-size:.58rem;line-height:1.5}.speaking-v2-scenario-builder article small{color:var(--ink-faint)}.speaking-v2-insights{border-left:3px solid var(--mint-strong);background:var(--mint);border-radius:0 14px 14px 0;justify-content:space-between;align-items:center;gap:.8rem;margin:.8rem 0;padding:.75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.speaking-v2-insights{background:color-mix(in srgb,var(--mint) 18%,white)}}.speaking-v2-insights>div{gap:.18rem;display:grid}.speaking-v2-insights strong{color:var(--forest);font-size:.58rem}.speaking-v2-insights small{color:var(--ink-faint);font-size:.48rem}.speaking-v2-insights ul{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.speaking-v2-insights li{border:1px solid var(--line);text-transform:capitalize;background:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .45rem;font-size:.48rem;display:flex}.speaking-v2-insights li span{background:var(--forest);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-weight:850;display:grid}.speaking-v2-help{border-bottom:1px solid #ffffff1a;gap:.55rem;padding:.75rem clamp(1.3rem,3vw,2rem);display:grid}.speaking-v2-help>button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:11px;align-items:center;gap:.4rem;width:fit-content;padding:.55rem .7rem;font-weight:760;display:inline-flex}.speaking-v2-help>button small{color:#ffffff80}.speaking-v2-help>div{grid-template-columns:minmax(0,1fr) auto;gap:.45rem;display:grid}.speaking-v2-help input{color:#fff;min-height:44px;font:inherit;background:#ffffff14;border:1px solid #fff3;border-radius:11px;padding:.6rem .7rem}.speaking-v2-help input::placeholder{color:#ffffff73}.speaking-v2-help>div button{background:var(--mint);min-height:44px;color:var(--forest);cursor:pointer;border:0;border-radius:11px;padding:.55rem .8rem;font-weight:850}.speaking-v2-help button:disabled{cursor:not-allowed;opacity:.45}.speaking-v2-retell-feedback{border:1px solid var(--line);background:#fff;border-radius:16px;margin:.8rem 0;padding:1rem}.speaking-v2-retell-feedback>strong{color:var(--forest);font-size:.64rem}.speaking-v2-retell-feedback dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:.75rem 0 0;display:grid}.speaking-v2-retell-feedback dl div{background:var(--paper);border-radius:12px;padding:.65rem}.speaking-v2-retell-feedback dt{color:var(--ink-faint);font-size:.48rem;font-weight:850}.speaking-v2-retell-feedback dd{color:var(--ink-soft);margin:.25rem 0 0;font-size:.56rem;line-height:1.55}.analysis-result-actions{flex-direction:column;align-items:flex-end;gap:.45rem;display:flex}.analysis-result-actions>a{background:var(--forest);color:#fff;border-radius:12px;align-items:center;gap:.4rem;min-height:44px;padding:.55rem .7rem;font-size:.55rem;font-weight:820;text-decoration:none;display:inline-flex}@media (max-width:620px){.speaking-v1-choice-grid-three{grid-template-columns:1fr}.speaking-function-header{flex-direction:column}.speaking-function-header>p{text-align:left;width:100%}.speaking-practice-source-grid{grid-template-columns:1fr}.speaking-practice-source-grid>button{min-height:76px}.speaking-v2-insights{flex-direction:column;align-items:flex-start}.speaking-v2-insights ul{justify-content:flex-start}.speaking-v2-help>div,.speaking-v2-retell-feedback dl{grid-template-columns:1fr}.analysis-result-actions{align-items:flex-start}}.app-frame:has(.speaking-page) .sidebar-inner{overflow:clip}.speaking-page{min-height:0;overflow:visible}.speaking-hero{min-height:170px;padding:clamp(1.4rem,3vw,2.2rem)}.speaking-hero-mark{width:82px;height:82px}.speaking-setup-grid{grid-template-columns:minmax(0,1.4fr) minmax(360px,1fr);align-items:start;gap:1rem;overflow:visible}.speaking-picker,.speaking-mode-panel{min-width:0;padding:1.25rem;overflow:visible}.speaking-mode-panel{align-self:start;position:sticky;top:24px}.speaking-picker h2{white-space:nowrap;font-size:2rem;line-height:1.25}.speaking-mode-panel h2{white-space:nowrap;font-size:1.625rem;line-height:1.25}.speaking-picker>p,.speaking-mode-panel>p:not(.section-kicker){color:var(--ink-soft);font-size:var(--workspace-help-size);line-height:1.55}.speaking-v15-source{gap:.65rem;margin:.75rem 0;padding:.8rem}.speaking-function-header{padding-bottom:.55rem}.speaking-function-header>div span{color:var(--ink-soft);font-size:.875rem}.speaking-practice-source-grid{align-items:stretch}.speaking-practice-source-grid>button{border-color:var(--line);min-width:0;min-height:88px;color:var(--forest);background:#fff;grid-template-columns:auto minmax(0,1fr);align-items:start;padding:.65rem}.speaking-practice-source-grid>button[data-selected=true]{border-color:var(--forest);background:var(--forest);color:#fff;box-shadow:none}.speaking-practice-source-grid>button>svg{color:currentColor;margin-top:.1rem}.speaking-practice-source-grid>button span{min-width:0}.speaking-practice-source-grid>button small{min-height:2.9em;color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.7rem;line-height:1.45;display:-webkit-box;overflow:hidden}.speaking-practice-source-grid>button[data-selected=true] small{color:#ffffffc7}.speaking-item-toolbar{gap:.55rem;margin-top:1rem;display:grid}.speaking-item-toolbar>div:first-child{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.speaking-item-toolbar>div:first-child span{color:var(--ink-soft);font-size:.76rem;font-weight:750}.speaking-item-toolbar>div:first-child strong{color:var(--forest);font-size:.76rem}.speaking-filter-chips{flex-wrap:wrap;gap:.35rem;display:flex}.speaking-filter-chips button{border:1px solid var(--line);min-height:44px;color:var(--ink-soft);cursor:pointer;font:inherit;background:#fff;border-radius:999px;padding:0 .7rem;font-size:.7rem;font-weight:750}.speaking-filter-chips button[data-selected=true]{border-color:var(--forest);background:var(--forest);color:#fff}.speaking-search{margin:.75rem 0}.speaking-item-list{max-height:none;padding-right:0;overflow:visible}.speaking-turns{max-height:none;overflow:visible}.speaking-item-list>button{border-color:var(--line);background:#fff;border-radius:14px;width:100%;min-height:68px;position:relative}.speaking-item-list>button:before{content:"";background:0 0;border-radius:2px;width:2px;position:absolute;inset:8px auto 8px 0}.speaking-item-list>button[data-selected=true]{border-color:var(--line);background:var(--forest)}@supports (color:color-mix(in lab, red, red)){.speaking-item-list>button[data-selected=true]{background:color-mix(in srgb, var(--forest) 7%, white)}}.speaking-item-list>button[data-selected=true]:before{background:var(--forest)}.speaking-item-list>button>i,.speaking-item-list>button[data-selected=true]>i{border:1px solid var(--line-strong);width:28px;height:28px;color:var(--forest);background:#fff;border-radius:6px}.speaking-item-tag{border:1px solid var(--line-strong);border-radius:999px;width:fit-content;padding:.18rem .4rem;color:var(--ink-soft)!important;letter-spacing:0!important;text-transform:none!important;font-size:.6875rem!important}.speaking-show-more{border:1px solid var(--line);min-height:44px;color:var(--forest);cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;margin:.75rem auto 0;padding:0 1rem;font-weight:800;display:flex}.speaking-v1-config{gap:.85rem;margin:.8rem 0 0}.speaking-v1-choice-grid button,.speaking-v1-duration button{min-height:var(--workspace-control-height);border-color:var(--line);background:#fff}.speaking-v1-duration button{white-space:nowrap;min-width:0;padding-inline:.45rem;font-size:.875rem}.speaking-interaction-details{border:1px solid var(--line);background:#fff;border-radius:13px}.speaking-interaction-details summary{min-height:44px;color:var(--forest);cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .75rem;font-size:.76rem;font-weight:800;display:flex}.speaking-interaction-details summary strong{font-size:.72rem}.speaking-interaction-details fieldset{padding:0 .65rem .65rem}.speaking-start-dock{z-index:3;box-shadow:0 -12px 22px rgba(var(--forest-rgb),.08);background:#fffdf7f7;border-radius:0 0 27px 27px;margin:.8rem -1.25rem -1.25rem;padding:.65rem 1.25rem 1.25rem;position:sticky;bottom:0}.speaking-mic-note{margin:0 0 .5rem!important;font-size:.75rem!important}.speaking-page :where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--forest);outline-offset:3px}.speaking-page :where(button,a,input,select,textarea,summary){min-height:44px}.library-results,.library-item-grid,.library-item-card,.library-item-card-top,.library-item-word,.library-item-card footer{min-width:0}.library-item-card-top{grid-template-columns:auto minmax(0,1fr) auto auto auto}.library-item-card-top>*{min-width:0;max-width:100%}.library-item-card footer{gap:.6rem}.library-card-actions{flex-wrap:wrap;justify-content:flex-end;min-width:0}.library-card-actions>*{min-width:0;max-width:100%}.library-results[data-layout-size=medium] .library-item-card-top,.library-results[data-layout-size=small] .library-item-card-top{grid-template-columns:auto minmax(0,1fr) auto 44px}.library-results[data-layout-size=medium] .library-mastery-badge,.library-results[data-layout-size=small] .library-mastery-badge{grid-area:2/1/auto/3}.library-results[data-layout-size=medium] .library-item-card-top select,.library-results[data-layout-size=small] .library-item-card-top select{grid-area:2/3/auto/5;justify-self:end;width:96px;max-width:100%}.library-results[data-layout-size=medium] .library-speaking-toggle,.library-results[data-layout-size=small] .library-speaking-toggle{grid-area:1/4}.library-results[data-layout-size=medium] .library-item-card footer,.library-results[data-layout-size=small] .library-item-card footer{flex-direction:column;align-items:stretch}.library-results[data-layout-size=medium] .library-card-actions,.library-results[data-layout-size=small] .library-card-actions{grid-template-columns:auto minmax(0,1fr);width:100%;display:grid}.library-results[data-layout-size=medium] .library-card-actions>*,.library-results[data-layout-size=small] .library-card-actions>*{overflow-wrap:anywhere;white-space:normal;width:100%;padding-inline:.65rem}.library-page :where(button,a,input,select):focus-visible{outline:2px solid var(--forest);outline-offset:3px}@media (max-width:1200px){.speaking-setup-grid{grid-template-columns:1fr}.speaking-mode-panel{position:static}.speaking-start-dock{position:sticky}}@media (max-width:620px){.speaking-hero{min-height:180px}.speaking-picker h2,.speaking-mode-panel h2{font-size:clamp(1.4rem,7vw,2rem)}.speaking-practice-source-grid{grid-template-columns:1fr}.speaking-item-toolbar>div:first-child{flex-direction:column;align-items:flex-start}}.app-frame:has(.personalization-page) .sidebar-inner{scrollbar-width:none;overflow-y:auto}.app-frame:has(.personalization-page) .sidebar-inner::-webkit-scrollbar{display:none}.app-frame:has(.personalization-page) .sidebar-quote{padding:.7rem;font-size:.6875rem}:is(.app-frame:has(.personalization-page) .language-control,.app-frame:has(.personalization-page) .account-panel){margin-top:.75rem}.personalization-page{gap:1rem;width:min(100%,880px);margin-inline:auto;padding-bottom:5.5rem}.personalization-page .personalization-hero{background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:baseline;gap:1rem;min-height:0;padding:.55rem .15rem 1rem;display:flex;overflow:visible}.personalization-page .personalization-hero h1{color:var(--forest);font-family:var(--font-display), serif;letter-spacing:-.015em;flex:none;margin:0;font-size:1.5rem;font-weight:600;line-height:1.25}.personalization-page .personalization-hero p{color:var(--ink-soft);margin:0;font-size:.8125rem;line-height:1.55}.personalization-page .personalization-section{border:1px solid rgba(var(--forest-rgb), .11);background:var(--paper);box-shadow:var(--workspace-card-shadow);border-radius:16px;padding:1.4rem}.personalization-page .personalization-section-heading{gap:.7rem;margin-bottom:1.5rem}.personalization-page .personalization-section-heading>span{border-radius:11px;width:36px;height:36px}.personalization-page .personalization-section-heading h2{font-size:1.25rem;font-weight:600}.personalization-page .personalization-section-heading p{margin-top:.2rem;font-size:.8125rem;line-height:1.55}.personalization-page .personalization-fieldset{margin-bottom:2rem}.personalization-page .personalization-fieldset+.personalization-fieldset{border-top:1px solid var(--line);padding-top:2rem}.personalization-page .personalization-fieldset legend{color:var(--forest);letter-spacing:0;margin-bottom:.8rem;font-size:.9375rem;font-weight:600}.personalization-page :where(button,input):focus-visible{outline-offset:3px;outline:2px solid #c08a2e}.personalization-page .personalization-fieldset label:has(input:focus-visible){outline-offset:3px;outline:2px solid #c08a2e}.personalization-page .personalization-stage-grid,.personalization-page .personalization-duration-grid,.personalization-page .personalization-count-grid,.personalization-page .personalization-choice-pair{gap:.65rem}.personalization-page .personalization-stage-grid label,.personalization-page .personalization-duration-grid label,.personalization-page .personalization-count-grid label,.personalization-page .personalization-choice-pair label{border:1px solid var(--line);min-height:92px;color:var(--ink);box-shadow:none;background:#fff;border-radius:14px;padding:.9rem 2.65rem .9rem .9rem;transition:border-color .15s,background .15s,color .15s,transform .15s;position:relative}.personalization-page .personalization-stage-grid label:hover,.personalization-page .personalization-duration-grid label:hover,.personalization-page .personalization-count-grid label:hover,.personalization-page .personalization-choice-pair label:hover{border-color:rgba(var(--forest-rgb), .42);transform:translateY(-1px)}.personalization-page .personalization-stage-grid label[data-selected=true],.personalization-page .personalization-duration-grid label[data-selected=true],.personalization-page .personalization-count-grid label[data-selected=true],.personalization-page .personalization-choice-pair label[data-selected=true]{border-color:var(--forest);background:var(--forest);color:#fff;box-shadow:none}.personalization-page .personalization-stage-grid strong,.personalization-page .personalization-duration-grid strong,.personalization-page .personalization-count-grid strong,.personalization-page .personalization-choice-pair strong{color:inherit}.personalization-page .personalization-stage-grid small,.personalization-page .personalization-duration-grid small,.personalization-page .personalization-count-grid small,.personalization-page .personalization-choice-pair small{color:#5a5a5a;font-size:.78125rem;line-height:1.5}.personalization-page :is(.personalization-stage-grid,.personalization-duration-grid,.personalization-count-grid,.personalization-choice-pair) label[data-selected=true] small{color:#ffffffc7}.personalization-page .personalization-stage-grid label{min-height:112px}.personalization-page .personalization-stage-grid strong{font-size:1.2rem}.personalization-page .personalization-stage-grid small{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3em;margin-top:.35rem;display:-webkit-box;overflow:hidden}.personalization-page .personalization-duration-grid label{align-items:center;min-height:72px}.personalization-page :is(.personalization-stage-grid,.personalization-duration-grid,.personalization-count-grid,.personalization-choice-pair) label>i:not(.personalization-checkbox){width:22px;height:22px;color:var(--forest);background:#fff;border-radius:50%;display:none;top:.7rem;right:.7rem}.personalization-page :is(.personalization-stage-grid,.personalization-duration-grid,.personalization-count-grid,.personalization-choice-pair) label[data-selected=true]>i:not(.personalization-checkbox){display:grid}.personalization-page .learning-assessment-note{color:#5a5a5a;background:0 0;border:0;margin:.65rem 0 0;padding:0;font-size:.75rem;line-height:1.5}.personalization-page .personalization-goal-grid{gap:.65rem}.personalization-page .personalization-goal-grid label{border:1.5px solid var(--line-strong);background:#fff;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:24px 34px minmax(0,1fr);align-content:center;min-height:92px;padding:.85rem}.personalization-page .personalization-goal-grid label[data-selected=true]{border-color:var(--forest);background:#fff}.personalization-page .personalization-goal-grid .personalization-checkbox{border:1.5px solid var(--forest);color:#0000;background:#fff;border-radius:5px;grid-row:1/3;align-self:center;place-items:center;width:22px;height:22px;display:grid;position:static}.personalization-page .personalization-goal-grid label[data-selected=true] .personalization-checkbox{background:var(--forest);color:#fff}.personalization-page .personalization-goal-grid label>span{grid-row:1/3;align-self:center}.personalization-page .personalization-goal-grid strong{color:var(--forest);font-size:.875rem}.personalization-page .personalization-goal-grid small{color:#5a5a5a;font-size:.75rem;line-height:1.5}.personalization-page .personalization-count-grid label{grid-template-columns:auto minmax(0,1fr);min-height:84px}.personalization-page .personalization-count-grid label[data-selected=true] :is(strong,span){color:#fff}.personalization-page .personalization-count-grid label[data-selected=true] small{color:#ffffffc7}.personalization-page .personalization-split{gap:1rem}.personalization-page .personalization-choice-pair label{min-height:158px}.personalization-page .personalization-choice-pair label>strong{margin-top:.65rem}.personalization-page .personalization-voice-grid{max-width:480px}.personalization-page .personalization-voice-choice{min-width:0;position:relative}.personalization-page .personalization-voice-choice>label{height:100%}.personalization-page .personalization-voice-grid label{padding-bottom:3.45rem}.personalization-page .personalization-voice-choice>button{width:44px;height:44px;color:var(--forest);cursor:pointer;background:0 0;border:1px solid;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:.65rem;right:.7rem}.personalization-page .personalization-voice-choice>button[data-on-dark=true]{color:#fff}.personalization-page .voice-orbit{flex:none}.personalization-page .personalization-choice-pair label[data-selected=true] .voice-orbit{color:var(--forest);background:#fff}.theme-mini-preview{background:#fffdf7;border:2px solid #fffc;border-radius:9px;grid-template-columns:25px 1fr;width:96px;height:60px;display:grid;position:relative;overflow:hidden;box-shadow:0 3px 12px #0000001f}.theme-mini-preview>b{background:#101b36;grid-row:1}.theme-mini-preview>i{background:#fffdf7;grid-template-columns:repeat(2,1fr);gap:4px;padding:8px 6px 24px;display:grid}.personalization-page .theme-mini-preview>i{border-radius:0;width:auto;height:auto;position:static}.theme-mini-preview>i>em{background:#f1eadc;border-radius:3px}.theme-mini-preview>strong{background:#c08a2e;border-radius:5px;width:30px;height:10px;position:absolute;bottom:7px;right:7px}.theme-mini-preview[data-theme-preview=teal-mint]>b{background:#123f3a}.theme-mini-preview[data-theme-preview=teal-mint]>i>em{background:#e5f3ed}.theme-mini-preview[data-theme-preview=teal-mint]>strong{background:#8ed8bb}.personalization-page .personalization-savebar{z-index:10;padding:.7rem .85rem max(.7rem, env(safe-area-inset-bottom));border:1px solid var(--line);box-shadow:0 -12px 28px rgba(var(--forest-rgb),.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf7f7;border-radius:14px;margin-top:.25rem;position:sticky;bottom:0}.personalization-page .personalization-savebar p{color:#5a5a5a;font-size:.8125rem}.personalization-page .personalization-savebar button{min-height:44px}.personalization-page .personalization-reset{border:1px solid var(--line-strong);color:var(--forest);background:0 0}.personalization-page .personalization-savebar button:disabled{cursor:not-allowed;opacity:.45}.personalization-toast{z-index:80;background:var(--forest);color:#fff;min-height:44px;box-shadow:0 14px 36px rgba(var(--forest-rgb),.2);border:1px solid #c08a2e6b;border-radius:12px;align-items:center;gap:.5rem;padding:.65rem .9rem;font-size:.8125rem;font-weight:750;animation:.18s ease-out both personalization-toast-in;display:flex;position:fixed;top:1.25rem;right:1.25rem}@keyframes personalization-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:720px){.personalization-page{padding-bottom:6.5rem}.personalization-page .personalization-hero{flex-direction:column;align-items:flex-start;gap:.25rem;padding-inline:.25rem}.personalization-page .personalization-section{padding:1rem}.personalization-page .personalization-stage-grid,.personalization-page .personalization-duration-grid,.personalization-page .personalization-goal-grid,.personalization-page .personalization-count-grid{grid-template-columns:1fr}.personalization-page .personalization-choice-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.personalization-page .personalization-savebar{flex-flow:wrap;align-items:stretch}.personalization-page .personalization-savebar>div{width:100%}.personalization-page .personalization-savebar button{flex:1;width:auto}.personalization-toast{justify-content:center;top:4.6rem;left:.75rem;right:.75rem}}@media (max-width:430px){.personalization-page .personalization-choice-pair{grid-template-columns:1fr}}.speaking-page:has(>.speaking-live){gap:0;height:calc(100dvh - 2.7rem);min-height:0;position:relative;overflow:hidden}.speaking-page:has(>.speaking-live)>.speaking-hero{display:none}.speaking-page:has(>.speaking-live)>.speaking-error{z-index:12;margin:0;position:absolute;top:.55rem;left:.55rem;right:.55rem;box-shadow:0 12px 28px #0000002e}.speaking-page>.speaking-live{border-radius:18px;grid-template:"live-heading live-stage"minmax(96px,calc(20dvh - 52px))"live-controls live-controls"52px"live-transcript live-transcript"minmax(0,1fr)/minmax(0,1fr) 170px;height:100%;min-height:0;display:grid}.speaking-page>.speaking-live>header{grid-area:live-heading;align-items:center;padding:.85rem 1.25rem}.speaking-page>.speaking-live>header h2{margin-top:.18rem;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1}.speaking-page>.speaking-live .speaking-timer strong{font-size:1.8rem}.speaking-page>.speaking-live .speaking-stage{background:radial-gradient(circle, rgba(var(--mint-rgb), .1), transparent 7rem);grid-area:live-stage;align-content:center;gap:.15rem;min-height:0;padding:.4rem .8rem}.speaking-page>.speaking-live .speaking-orbit{width:58px;height:58px}.speaking-page>.speaking-live .speaking-orbit>span{width:42px;height:42px;box-shadow:0 0 0 6px rgba(var(--mint-rgb), .06)}.speaking-page>.speaking-live .speaking-orbit>span svg{width:20px;height:20px}.speaking-page>.speaking-live .speaking-stage>strong{margin-top:0;font-size:.6rem}.speaking-page>.speaking-live .speaking-wave{gap:2px;height:12px}.speaking-page>.speaking-live .speaking-wave span{width:2px}.speaking-page>.speaking-live .speaking-live-meta{grid-area:live-controls;gap:.4rem;min-width:0;min-height:52px;padding:.25rem 1rem;position:relative}.speaking-page>.speaking-live .speaking-live-meta>div:first-child span{font-size:.46rem}.speaking-page>.speaking-live .speaking-live-meta>div:first-child strong{font-size:.58rem}.speaking-page>.speaking-live .speaking-live-meta>button,.speaking-page>.speaking-live .speaking-v2-help>button{white-space:nowrap;border-radius:10px;min-height:44px;padding:.35rem .58rem;font-size:.72rem;line-height:1}.speaking-page>.speaking-live .speaking-live-meta svg{width:15px;height:15px}.speaking-page>.speaking-live .speaking-v2-help{border:0;margin-right:0;padding:0;display:block}.speaking-page>.speaking-live .speaking-v2-help>button small{font-size:.62rem}.speaking-page>.speaking-live .speaking-v2-help>div{z-index:8;background:var(--forest);border:1px solid #ffffff2e;border-radius:12px;width:min(520px,100% - 2rem);padding:.55rem;position:absolute;top:calc(100% + .35rem);right:1rem;box-shadow:0 15px 32px #00000047}.speaking-page>.speaking-live>.speaking-v3-voice-tools{display:none}.speaking-page>.speaking-live .speaking-live-grid{grid-area:live-transcript;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(150px,.22fr) minmax(0,1fr);min-height:0;overflow:hidden}.speaking-page>.speaking-live .speaking-live-grid aside,.speaking-page>.speaking-live .speaking-transcript{min-height:0;padding:.85rem 1rem}.speaking-page>.speaking-live .speaking-live-grid aside{overflow-y:auto}.speaking-page>.speaking-live .speaking-transcript{grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.speaking-page>.speaking-live .speaking-transcript>header{align-items:start;min-height:44px}.speaking-page>.speaking-live .speaking-transcript>header button{min-width:44px;min-height:44px;padding:0 .4rem}.speaking-page>.speaking-live .speaking-turns{align-content:start;height:100%;max-height:none;padding:.25rem .2rem .75rem 0;overflow-y:auto}.speaking-page>.speaking-live .speaking-turns>div{max-width:76%}.speaking-page>.speaking-live .speaking-turns p{font-size:.95rem;line-height:1.55}@media (max-width:1023px){.main-content:has(.speaking-page>.speaking-live){height:calc(100dvh - 66px);min-height:0;overflow:hidden}.speaking-page:has(>.speaking-live){height:100%}.main-content:has(.speaking-page>.speaking-live)>.content-container{height:100%;min-height:0}}@media (max-width:700px){.speaking-page>.speaking-live{grid-template-rows:88px auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) 90px}.speaking-page>.speaking-live>header{flex-direction:row;align-items:center;padding:.65rem .75rem}.speaking-page>.speaking-live>header h2{font-size:1.35rem}.speaking-page>.speaking-live .speaking-timer{align-items:flex-end}.speaking-page>.speaking-live .speaking-timer strong{font-size:1.4rem}.speaking-page>.speaking-live .speaking-stage{padding:.25rem}.speaking-page>.speaking-live .speaking-orbit{width:48px;height:48px}.speaking-page>.speaking-live .speaking-orbit>span{width:36px;height:36px}.speaking-page>.speaking-live .speaking-wave{display:none}.speaking-page>.speaking-live .speaking-live-meta{flex-wrap:wrap;padding:.35rem .5rem}.speaking-page>.speaking-live .speaking-live-meta>div:first-child{width:auto}.speaking-page>.speaking-live .speaking-live-meta>button,.speaking-page>.speaking-live .speaking-v2-help{flex:none}.speaking-page>.speaking-live .speaking-live-meta>div:first-child{margin-right:auto}.speaking-page>.speaking-live .speaking-live-meta>button,.speaking-page>.speaking-live .speaking-v2-help>button{padding-inline:.45rem;font-size:.66rem}.speaking-page>.speaking-live .speaking-live-grid{grid-template-columns:1fr}.speaking-page>.speaking-live .speaking-live-grid aside{display:none}.speaking-page>.speaking-live .speaking-transcript{padding:.65rem .75rem}.speaking-page>.speaking-live .speaking-turns>div{max-width:88%}.speaking-page>.speaking-live .speaking-turns p{font-size:.88rem}}.video-learning-workspace{grid-template-columns:minmax(0,1fr)}.video-player-panel{width:100%}.video-transcript-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem 1.5rem;min-height:0;padding:1rem 1.15rem;display:grid}.video-transcript-panel .transcript-heading{min-width:0;margin:0}.video-transcript-panel .transcript-heading h2{font-size:1.18rem}.video-transcript-panel .transcript-intro{max-width:760px;margin-top:.28rem}.video-transcript-panel .manual-transcript-form{min-width:min(100%,440px);display:block}.video-transcript-panel .transcript-provider-status{margin:0 0 .45rem}.video-transcript-panel .transcript-manual-guide{grid-column:1/-1;margin-top:.75rem}.video-transcript-panel .transcript-form-footer{margin:0}.transcript-form-footer>div,.transcript-ready-state{justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.transcript-ready-state{background:0 0;border:0;padding:0}.transcript-ready-state>button{border:1px solid var(--line-strong);border-radius:12px;min-height:44px;padding:.65rem .8rem}.transcript-translation-progress{color:var(--ink-soft);text-align:right;margin:.5rem 0 0;font-size:.65rem;line-height:1.5}.transcript-dialog-backdrop{z-index:120;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#060e1fad;border:0;place-items:center;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(1rem,4vw,3rem);position:fixed;inset:0}.transcript-dialog-backdrop[open]{display:grid}.transcript-dialog-backdrop:not([open]){display:none}.transcript-dialog-backdrop::backdrop{background:0 0}.transcript-dialog-window{background:var(--paper);border:1px solid #ffffffb8;border-radius:16px;grid-template-rows:auto auto minmax(220px,1fr) auto;gap:.75rem;width:min(880px,100%);max-height:min(84dvh,820px);padding:clamp(1rem,2.5vw,1.5rem);display:grid;overflow:hidden;box-shadow:0 28px 80px #060e1f47}.transcript-dialog-window>header,.transcript-dialog-window>footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.transcript-dialog-window h2{font-family:var(--font-display);margin:.2rem 0 0;font-size:1.55rem;font-weight:560}.transcript-dialog-window>header>button{border:1px solid var(--line);width:44px;height:44px;color:var(--forest);cursor:pointer;background:#fff;border-radius:12px;place-items:center;display:grid}.transcript-dialog-window>label{color:var(--ink-soft);font-size:var(--workspace-help-size);font-weight:780}.transcript-dialog-window>textarea{resize:none;border:1px solid var(--line-strong);width:100%;min-height:0;color:var(--ink);font:inherit;background:#fff;border-radius:14px;padding:1rem;font-size:.78rem;line-height:1.7;overflow-y:auto}.transcript-dialog-window>textarea:focus{border-color:var(--forest);box-shadow:0 0 0 4px rgba(var(--mint-rgb), .24);outline:0}.transcript-dialog-window>footer>span{color:var(--ink-faint);font-size:.65rem;font-weight:720}@media (max-width:760px){.video-transcript-panel{grid-template-columns:minmax(0,1fr)}.video-transcript-panel .manual-transcript-form{min-width:0}.video-transcript-panel .transcript-form-footer,.transcript-form-footer>div,.transcript-ready-state{flex-direction:column;align-items:stretch}.transcript-form-footer .button,.transcript-ready-state>button{width:100%}.transcript-translation-progress{text-align:left}.transcript-dialog-backdrop{padding:.65rem}.transcript-dialog-window{max-height:90dvh}}@media (min-width:1121px){.library-page{gap:.5rem}.library-hero{min-height:68px;box-shadow:0 7px 20px rgba(var(--forest-rgb), .045);border-radius:16px;align-items:center;padding:.65rem 1rem}.library-hero .section-kicker{margin-bottom:.18rem;font-size:.64rem}.library-hero>div>p:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:820px;font-size:.7rem;line-height:1.45;overflow:hidden}.library-add-source{border-radius:12px;min-height:44px}.library-stats{gap:.5rem}.library-stats button{border-radius:14px;grid-template-columns:auto auto minmax(0,1fr);align-content:center;align-items:center;gap:.5rem;min-height:58px;padding:.45rem .7rem}.library-stats button svg{grid-row:auto}.library-stats button strong{font-size:1.35rem}.library-stats button span{text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;overflow:hidden}.library-toolbar{min-height:62px;box-shadow:0 7px 20px rgba(var(--forest-rgb), .035);border-radius:16px;grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,.65fr));gap:.5rem;padding:.45rem}.library-filter-heading{display:none}.library-search,.library-select-filter select,.library-select-filter input{min-height:44px}.library-select-filter{gap:.18rem}.library-select-filter>span{font-size:.52rem}.library-speaking-queue{min-height:58px;box-shadow:0 7px 20px rgba(var(--forest-rgb), .04);border-radius:15px;gap:.65rem;padding:.45rem .65rem}.library-speaking-queue-icon{border-radius:11px;width:38px;height:38px}.library-speaking-queue>div{min-width:0}.library-speaking-queue p{font-size:.57rem}.library-speaking-queue ul{flex-wrap:nowrap;max-height:25px;margin-top:.2rem;overflow:hidden}.library-speaking-queue>b{font-size:.95rem}}.library-delete-button{width:44px;min-width:44px;height:44px;border:1px solid var(--coral)!important;padding:0!important}@supports (color:color-mix(in lab, red, red)){.library-delete-button{border:1px solid color-mix(in srgb, var(--coral) 48%, var(--line))!important}}.library-delete-button{color:var(--coral)!important;box-shadow:none!important;background:0 0!important;border-radius:11px!important}.library-delete-button:hover:not(:disabled){border-color:var(--coral)!important;background:var(--coral)!important}@supports (color:color-mix(in lab, red, red)){.library-delete-button:hover:not(:disabled){background:color-mix(in srgb, var(--coral) 9%, white)!important}}.library-delete-button:disabled{cursor:wait;opacity:.42}.library-delete-notice{border:1px solid var(--forest-bright);margin:0;padding:.55rem .75rem}@supports (color:color-mix(in lab, red, red)){.library-delete-notice{border:1px solid color-mix(in srgb, var(--forest-bright) 28%, var(--line))}}.library-delete-notice{background:var(--mint);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.library-delete-notice{background:color-mix(in srgb, var(--mint) 28%, white)}}.library-delete-notice{color:var(--forest);font-size:.68rem;font-weight:760}.library-delete-notice:focus{outline:2px solid var(--forest);outline-offset:2px}.library-results[data-layout-size=medium] .library-card-actions,.library-results[data-layout-size=small] .library-card-actions{grid-template-columns:44px auto minmax(0,1fr)}.dashboard-command-bar{border-bottom:1px solid var(--line);grid-template-columns:auto auto minmax(260px,1fr) auto;align-items:center;gap:1rem;min-height:68px;padding:.65rem .8rem;display:grid;position:relative}.dashboard-command-bar .dashboard-heading{min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.dashboard-command-bar .dashboard-heading:after{display:none}.dashboard-command-bar .dashboard-date{color:var(--ink-soft);letter-spacing:.02em;text-transform:none;white-space:nowrap;margin:0;font-size:.68rem}.dashboard-command-bar .dashboard-streak{min-width:0;color:var(--ink);box-shadow:none;background:0 0;border-radius:0;gap:.38rem;padding:0;display:flex;overflow:visible}.dashboard-command-bar .dashboard-streak:after,.dashboard-command-bar .streak-message,.dashboard-command-bar .streak-milestone{display:none}.dashboard-command-bar .streak-orbit{background:var(--mint);border:0;border-radius:9px;width:28px;height:28px}@supports (color:color-mix(in lab, red, red)){.dashboard-command-bar .streak-orbit{background:color-mix(in srgb, var(--mint) 44%, white)}}.dashboard-command-bar .streak-orbit{box-shadow:none}.dashboard-command-bar .dashboard-streak p{display:none}.dashboard-command-bar .dashboard-streak h2{color:var(--ink-soft);margin:0;font-family:inherit;font-size:.66rem;font-weight:760}.dashboard-command-bar .dashboard-streak h2 strong{color:var(--forest);font-family:var(--font-display);text-shadow:none;font-size:1.15rem}.dashboard-command-bar .progress-overview{min-width:0}.dashboard-command-bar .progress-overview-loading,.dashboard-command-bar .progress-overview-error{border-radius:10px;min-height:44px;padding:.65rem .8rem;font-size:.68rem}.dashboard-command-bar .progress-overview[data-compact=true] .weekly-goal-card{min-height:0;color:var(--ink-soft);box-shadow:none;background:0 0;border-radius:0;align-items:center;gap:.4rem;padding:0;display:flex}.dashboard-command-bar .weekly-goal-copy{align-items:baseline;gap:.4rem;min-width:0;display:flex}.dashboard-command-bar .weekly-goal-copy .section-kicker{color:var(--ink-soft);letter-spacing:.03em;text-transform:none;white-space:nowrap;margin:0;font-size:.62rem}.dashboard-command-bar .weekly-goal-card .weekly-goal-copy h2{color:var(--forest);font-family:var(--font-display);white-space:nowrap;margin:0;font-size:.72rem}.dashboard-command-bar .weekly-goal-card .weekly-goal-copy h2 strong{color:var(--forest);font-size:1.15rem}.dashboard-command-bar .weekly-goal-copy>span{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;overflow:hidden}.dashboard-command-bar .weekly-goal-copy>p,.dashboard-command-bar .weekly-goal-ring,.dashboard-command-bar .weekly-goal-card fieldset{display:none}.dashboard-command-bar .progress-goal-toast,.dashboard-command-bar .progress-inline-error{z-index:5;position:absolute;top:4.2rem;right:1rem}.dashboard-command-bar .dashboard-primary-action{white-space:nowrap;border-radius:10px;min-height:44px;padding-inline:.9rem}.dashboard-workbench{grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);align-items:start;gap:1rem;display:grid}.dashboard-workbench-primary,.dashboard-workbench-side{gap:.75rem;min-width:0;display:grid}.dashboard-workbench-side{align-content:start;position:sticky;top:1rem}.dashboard-workbench .dashboard-recent-videos,.dashboard-workbench .dashboard-section,.dashboard-workbench .dashboard-calendar{box-shadow:0 8px 24px rgba(var(--forest-rgb), .045);border-radius:16px;padding:.9rem 1rem}.dashboard-workbench .dashboard-recent-videos>header{margin-bottom:.65rem}.dashboard-workbench .dashboard-recent-videos h2,.dashboard-workbench .dashboard-section-heading h2,.dashboard-workbench .calendar-toolbar h2{letter-spacing:-.025em;margin-top:.12rem;font-size:1.1rem}.dashboard-workbench .dashboard-recent-videos>header>p{display:none}.dashboard-workbench .dashboard-recent-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.dashboard-workbench .dashboard-recent-video-grid>a{border-radius:12px;gap:.45rem;min-height:104px;padding:.7rem}.dashboard-workbench .recent-video-index{display:none}.dashboard-workbench .dashboard-recent-video-grid h3{min-height:2.3em;margin-top:.2rem;font-size:.7rem}.dashboard-workbench .dashboard-recent-video-grid footer{font-size:.53rem}.dashboard-workbench .dashboard-review-card{background:0 0;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;padding:.8rem 1rem}.dashboard-workbench .dashboard-review-card>span{display:none}.dashboard-workbench .dashboard-review-card h2{margin:.15rem 0;font-size:1.05rem}.dashboard-workbench .dashboard-review-card>a{border-radius:10px;min-height:44px}.dashboard-workbench .dashboard-section-heading{align-items:center}.dashboard-workbench .dashboard-stat-grid{gap:.35rem;margin-top:.65rem}.dashboard-workbench .dashboard-stat{background:0 0;border:0;border-radius:10px;gap:.2rem;min-height:74px;padding:.55rem}.dashboard-workbench .dashboard-stat:after{display:none}.dashboard-workbench .dashboard-stat svg{width:15px;height:15px}.dashboard-workbench .dashboard-stat strong{margin:.15rem 0 0;font-size:1.05rem}.dashboard-workbench .dashboard-stat span{font-size:.56rem}.dashboard-workbench .dashboard-calendar{padding:1rem}.dashboard-workbench .calendar-toolbar{align-items:center}.dashboard-workbench .calendar-toolbar .section-kicker{display:none}.dashboard-workbench .calendar-controls button{background:0 0;border:0;width:44px;height:44px}.dashboard-workbench .calendar-weekdays{margin-top:.75rem}.dashboard-workbench .calendar-weekdays,.dashboard-workbench .calendar-grid{gap:.1rem}.dashboard-workbench .calendar-day,.dashboard-workbench .calendar-empty{border-radius:9px;min-height:44px;font-size:.62rem}.dashboard-workbench .calendar-footnote{margin-top:.5rem;padding-top:.55rem}.dashboard-workbench .calendar-footnote>span:last-child{display:none}.dashboard-workbench .calendar-detail{background:0 0;border:0;border-radius:0;min-height:0;margin-top:.55rem;padding:.65rem}.dashboard-workbench .calendar-detail>p{min-height:44px}.dashboard-workbench .calendar-detail-heading{align-items:center}.dashboard-workbench .calendar-detail-heading strong{font-size:.82rem}.dashboard-workbench .calendar-detail dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem .75rem;margin-top:.55rem}.dashboard-workbench .calendar-detail dl>div{min-width:0;padding-block:.25rem}.dashboard-workbench .calendar-detail dt,.dashboard-workbench .calendar-detail dd{font-size:.6rem}.dashboard-workbench .dashboard-quick-section{box-shadow:none;background:0 0;border:0;padding:0}.dashboard-workbench .dashboard-quick-section .dashboard-section-heading{display:none}.dashboard-workbench .dashboard-quick-grid{grid-template-columns:1fr;gap:.25rem;margin:0}.dashboard-workbench .dashboard-quick-grid>a{border:0;border-left:3px solid var(--mint-strong);background:0 0;border-radius:0;gap:.55rem;min-height:52px;padding:.45rem .25rem}.dashboard-workbench .dashboard-quick-grid>a:hover{background:var(--mint)}@supports (color:color-mix(in lab, red, red)){.dashboard-workbench .dashboard-quick-grid>a:hover{background:color-mix(in srgb, var(--mint) 20%, transparent)}}.dashboard-workbench .dashboard-quick-grid>a:hover{transform:none}.dashboard-workbench .dashboard-quick-grid small{display:none}@media (max-width:1100px){.dashboard-command-bar{grid-template-columns:auto minmax(0,1fr) auto}.dashboard-command-bar>.progress-overview{grid-area:2/1/auto/3}.dashboard-command-bar>.dashboard-primary-action{grid-area:1/3/3}.dashboard-workbench{grid-template-columns:minmax(0,1fr) minmax(300px,.7fr)}}@media (max-width:820px){.dashboard-command-bar{grid-template-columns:1fr auto}.dashboard-command-bar>.dashboard-streak{justify-self:end}.dashboard-command-bar>.progress-overview{grid-area:auto/1/auto/-1}.dashboard-command-bar>.dashboard-primary-action{grid-area:auto/1/auto/-1;width:100%}.dashboard-workbench{grid-template-columns:1fr}.dashboard-workbench-side{position:static}}@media (max-width:620px){.dashboard-command-bar{gap:.55rem;padding:.65rem .25rem}.dashboard-command-bar .weekly-goal-copy{flex-wrap:wrap}.dashboard-command-bar .weekly-goal-copy>span{flex-basis:100%}.dashboard-workbench .dashboard-recent-video-grid{grid-template-columns:1fr;padding-bottom:0;overflow:visible}.dashboard-workbench .dashboard-review-card{grid-template-columns:1fr}.dashboard-workbench .dashboard-review-card>a{justify-content:center}.dashboard-workbench .dashboard-stat-grid{grid-template-columns:repeat(5,minmax(58px,1fr));overflow-x:auto}}.speaking-setup-grid{grid-template-columns:minmax(0,1fr);gap:.8rem}.speaking-setup-grid>.speaking-picker,.speaking-setup-grid>.speaking-mode-panel{border-radius:16px;width:100%;padding:1.1rem 1.25rem}.speaking-setup-grid>.speaking-picker{flex-direction:column;display:flex}.speaking-setup-grid>.speaking-picker[data-teacher=true]{display:none}.speaking-setup-grid>.speaking-picker>.speaking-v15-source{order:1}.speaking-setup-grid>.speaking-picker>.speaking-library-handoff{order:2}.speaking-setup-grid>.speaking-picker>.speaking-v2-insights{order:3}.speaking-setup-grid>.speaking-mode-panel{position:static}.speaking-setup-grid>.speaking-picker h2,.speaking-setup-grid>.speaking-mode-panel h2{margin-top:.2rem;font-size:1.5rem}.speaking-setup-grid>.speaking-picker>p,.speaking-setup-grid>.speaking-mode-panel>p:not(.section-kicker){margin:.35rem 0 .7rem;font-size:.8rem}.speaking-setup-grid .speaking-v15-source{background:0 0;border:0;gap:.5rem;margin:0;padding:0}.speaking-setup-grid .speaking-function-header{display:none}.speaking-setup-grid .speaking-practice-source-grid,.speaking-setup-grid .speaking-mode-list,.speaking-setup-grid .speaking-mode-panel .speaking-v1-choice-grid:not(.speaking-v1-choice-grid-three){overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scrollbar-color:var(--forest) transparent;gap:.55rem;padding:.15rem .1rem .55rem;display:flex;overflow-x:auto}@supports (color:color-mix(in lab, red, red)){.speaking-setup-grid .speaking-practice-source-grid,.speaking-setup-grid .speaking-mode-list,.speaking-setup-grid .speaking-mode-panel .speaking-v1-choice-grid:not(.speaking-v1-choice-grid-three){scrollbar-color:color-mix(in srgb, var(--forest) 24%, transparent) transparent}}.speaking-setup-grid .speaking-practice-source-grid,.speaking-setup-grid .speaking-mode-list,.speaking-setup-grid .speaking-mode-panel .speaking-v1-choice-grid:not(.speaking-v1-choice-grid-three){scrollbar-width:thin}.speaking-setup-grid .speaking-practice-source-grid>button{scroll-snap-align:start;flex:0 0 clamp(180px,24%,230px);min-height:82px}.speaking-setup-grid .speaking-mode-list>button{scroll-snap-align:start;flex:0 0 clamp(190px,28%,250px);min-height:82px;margin:0}.speaking-setup-grid .speaking-mode-panel .speaking-v1-config{gap:.65rem;margin:.6rem 0 0}.speaking-setup-grid .speaking-mode-panel .speaking-v1-choice-grid:not(.speaking-v1-choice-grid-three)>button{scroll-snap-align:start;flex:0 0 clamp(150px,22%,210px)}.speaking-setup-grid .speaking-library-handoff{align-items:center;margin:.45rem 0 .65rem;padding:.55rem .65rem}.speaking-setup-grid .speaking-library-handoff span{display:none}.speaking-setup-grid .speaking-library-handoff ul{margin-top:.18rem}.speaking-setup-grid .speaking-library-handoff>button{border:1px solid var(--line);min-height:44px;color:var(--forest);cursor:pointer;font:inherit;white-space:nowrap;background:#fff;border-radius:10px;padding:.5rem .7rem;font-size:.7rem;font-weight:800}.speaking-setup-grid .speaking-start-dock{border-radius:0 0 16px 16px;margin:.65rem -1.25rem -1.1rem;padding:.6rem 1.25rem 1.05rem}.speaking-target-picker-backdrop{z-index:90;background:rgba(var(--forest-rgb), .62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.speaking-target-picker{background:var(--paper);width:min(920px,100%);max-height:min(88dvh,820px);box-shadow:0 28px 80px rgba(var(--forest-rgb), .3);border:1px solid #ffffffb8;border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto;gap:.7rem;padding:1rem;display:grid;overflow:hidden}.speaking-target-picker-body{min-height:0;padding-right:.35rem;overflow-y:auto}.speaking-target-picker>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.75rem;display:flex}.speaking-target-picker>header h2{color:var(--forest);font-family:var(--font-display);margin:.2rem 0 0;font-size:1.45rem;font-weight:500}.speaking-target-picker>header p:last-child{color:var(--ink-soft);margin:.35rem 0 0;font-size:.78rem}.speaking-target-picker>header>button{border:1px solid var(--line);width:44px;height:44px;color:var(--forest);cursor:pointer;background:#fff;border-radius:12px;flex:0 0 44px;place-items:center;display:grid}.speaking-target-picker .speaking-item-toolbar{margin-top:0}.speaking-target-picker .speaking-filter-chips{flex-wrap:nowrap;padding-bottom:.15rem;overflow-x:auto}.speaking-target-picker .speaking-item-list{min-height:0;max-height:none;padding-right:0;overflow:visible}.speaking-target-picker>footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding-top:.7rem;display:flex}.speaking-target-picker>footer>span{color:var(--forest);font-weight:850}.speaking-target-picker>footer>button{background:var(--forest);color:#fff;cursor:pointer;min-height:44px;font:inherit;border:0;border-radius:11px;align-items:center;gap:.4rem;padding:.55rem .9rem;font-weight:800;display:inline-flex}@media (max-width:620px){.speaking-setup-grid>.speaking-picker,.speaking-setup-grid>.speaking-mode-panel{padding:.9rem}.speaking-setup-grid .speaking-practice-source-grid{grid-template-columns:none;display:flex}.speaking-setup-grid .speaking-practice-source-grid>button{flex-basis:min(78vw,220px)}.speaking-setup-grid .speaking-library-handoff{grid-template-columns:auto minmax(0,1fr) auto}.speaking-setup-grid .speaking-library-handoff>button{grid-column:auto}.speaking-target-picker-backdrop{align-items:end;padding:.4rem}.speaking-target-picker{border-radius:18px 18px 10px 10px;max-height:94dvh;padding:.8rem}.speaking-target-picker>header p:last-child{font-size:.72rem}}@media (max-height:520px) and (orientation:landscape){.speaking-target-picker-backdrop{align-items:center;padding:.25rem}.speaking-target-picker{grid-template-rows:auto minmax(0,1fr) auto;gap:.3rem;max-height:calc(100dvh - .5rem);padding:.5rem}.speaking-target-picker>header{align-items:center;padding-bottom:.3rem}.speaking-target-picker>header .section-kicker,.speaking-target-picker>header p:last-child,.speaking-target-picker .speaking-item-toolbar>div:first-child,.speaking-target-picker .speaking-item-toolbar>.speaking-filter-chips:last-child{display:none}.speaking-target-picker>header h2{margin:0;font-size:1.05rem}.speaking-target-picker .speaking-item-toolbar,.speaking-target-picker .speaking-search{margin:0}.speaking-target-picker-body{min-height:72px}.speaking-target-picker .speaking-show-more{margin-top:.3rem}.speaking-target-picker>footer{padding-top:.3rem}}@media (min-width:1181px){.video-learning-page[data-prepared=true] .video-player-panel{--video-study-player-height:min(64dvh, 56.25cqw);container-type:inline-size}.video-learning-page[data-prepared=true] .video-player-frame{width:min(100%, calc(var(--video-study-player-height) * 16 / 9));height:var(--video-study-player-height);aspect-ratio:16/9;margin-inline:auto}.video-learning-page[data-prepared=true] .live-caption-workspace{min-height:min(24dvh,248px)}.video-learning-page[data-prepared=true] .live-caption-workspace>header{gap:.65rem;padding:.35rem .7rem .25rem}.video-learning-page[data-prepared=true] .live-caption-workspace>header>div{gap:.45rem}.video-learning-page[data-prepared=true] .live-caption-workspace>header>div>span{border-radius:9px;width:30px;height:30px}.video-learning-page[data-prepared=true] .live-caption-workspace>header p{letter-spacing:.07em;font-size:.62rem}.video-learning-page[data-prepared=true] .live-caption-workspace>header h3{margin-top:.08rem;font-size:.66rem}.video-learning-page[data-prepared=true] .live-caption-navigation{gap:.25rem}.video-learning-page[data-prepared=true] .live-caption-navigation button{min-width:44px;min-height:44px;padding:.2rem .45rem;font-size:.5rem}.video-learning-page[data-prepared=true] .caption-display-controls{gap:.8rem;padding:0 .7rem .35rem}.video-learning-page[data-prepared=true] .caption-language-toolbar{gap:.35rem}.video-learning-page[data-prepared=true] .caption-language-toolbar>span{font-size:.58rem}.video-learning-page[data-prepared=true] .caption-language-switch button{min-width:44px;min-height:44px;padding:.16rem .45rem;font-size:.48rem}.video-learning-page[data-prepared=true] .live-caption-stream{gap:.12rem;padding:.25rem .7rem .55rem}.video-learning-page[data-prepared=true] .live-caption-context-line{grid-template-columns:38px minmax(0,1fr);min-height:44px;padding:.2rem .5rem}.video-learning-page[data-prepared=true] .live-caption-context-placeholder{grid-template-columns:38px minmax(0,1fr);min-height:34px;padding:.2rem .5rem}.video-learning-page[data-prepared=true] .live-caption-context-line>span{font-size:calc(.64rem * var(--caption-scale,1));-webkit-line-clamp:1}.video-learning-page[data-prepared=true] .live-caption-stream article{grid-template-columns:38px minmax(0,1fr);min-height:82px;padding:.45rem .5rem}.video-learning-page[data-prepared=true] .live-caption-lines>p{font-size:calc(clamp(.94rem, 1.35vw, 1.15rem) * var(--caption-scale,1));line-height:1.38}.video-learning-page[data-prepared=true] .live-caption-lines[data-mode=bilingual] .live-caption-chinese{font-size:calc(clamp(.78rem, 1.05vw, .94rem) * var(--caption-scale,1));padding-top:.18rem}}.assignment-trends-panel{border:1px solid rgba(var(--forest-rgb),.18);background:var(--paper);border-radius:16px;gap:.8rem;padding:clamp(.85rem,2vw,1.15rem);display:grid}.assignment-trends-panel>header{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:.7rem;display:grid}.assignment-trends-heading-icon{background:var(--forest);color:#fff;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.assignment-trends-panel h3{font-family:var(--font-display);margin:.1rem 0 .15rem;font-size:1.2rem;font-weight:550}.assignment-trends-panel header p:last-child{color:var(--ink-soft);margin:0;font-size:.78rem;line-height:1.5}.assignment-trends-load,.assignment-trends-refresh{border:1px solid var(--forest);background:var(--forest);color:#fff;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.35rem;min-height:44px;padding:0 .75rem;font-size:.75rem;font-weight:850;display:inline-flex}.assignment-trends-refresh{border-color:var(--line-strong);color:var(--forest);background:#fff}.assignment-trends-load:disabled,.assignment-trends-refresh:disabled{cursor:wait;opacity:.55}.assignment-trends-message{border:1px dashed var(--line-strong);min-height:58px;color:var(--ink-soft);text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;padding:.65rem;font-size:.78rem;display:flex}.assignment-trends-message svg{color:var(--gold)}.assignment-trends-list{gap:.55rem;display:grid}.assignment-trends-list article{border:1px solid var(--line);background:#fff;border-radius:12px;gap:.55rem;padding:.75rem;display:grid}.assignment-trend-title{justify-content:space-between;align-items:flex-start;gap:.7rem;display:flex}.assignment-trend-title>div{align-items:center;gap:.45rem;min-width:0;display:flex}.assignment-trend-title h4{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.82rem;overflow:hidden}.assignment-trend-title span{background:rgba(var(--mint-rgb),.2);color:var(--forest);border-radius:999px;flex:none;padding:.15rem .35rem;font-size:.75rem;font-weight:800}.assignment-trend-title time{color:var(--ink-faint);flex:none;font-size:.75rem}.assignment-trend-bar{background:var(--line);border-radius:999px;height:9px;display:flex;overflow:hidden}.assignment-trend-bar span[data-status=completed]{background:var(--forest)}.assignment-trend-bar span[data-status=inProgress]{background:var(--gold)}.assignment-trend-bar span[data-status=notStarted]{background:var(--ink-faint)}.assignment-trend-bar span[data-status=overdue]{background:var(--danger)}.assignment-trend-bar span[data-status=unavailable]{background:var(--ink-faint)}.assignment-trends-list dl{grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;margin:0;display:grid}.assignment-trends-list dl>div{justify-content:space-between;align-items:center;gap:.3rem;display:flex}.assignment-trends-list dt{min-width:0;color:var(--ink-soft);align-items:center;gap:.3rem;font-size:.75rem;display:inline-flex}.assignment-trends-list dt i{background:var(--ink-faint);border-radius:50%;flex:none;width:7px;height:7px}.assignment-trends-list dt i[data-status=completed]{background:var(--forest)}.assignment-trends-list dt i[data-status=inProgress]{background:var(--gold)}.assignment-trends-list dt i[data-status=notStarted]{background:var(--ink-faint)}.assignment-trends-list dt i[data-status=overdue]{background:var(--danger)}.assignment-trends-list dd{color:var(--ink);margin:0;font-size:.78rem;font-weight:850}@media (max-width:760px){.assignment-trends-panel>header{grid-template-columns:38px minmax(0,1fr)}.assignment-trends-panel>header>button{grid-column:1/-1;width:100%}.assignment-trends-list dl{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-trend-title{flex-direction:column}}.new-learner-path{border:1px solid rgba(var(--forest-rgb), .14);background:linear-gradient(110deg, rgba(var(--mint-rgb), .18), transparent 42%), var(--surface-raised);box-shadow:0 10px 30px rgba(var(--forest-rgb), .06);border-radius:16px;gap:.9rem;padding:1rem 1.1rem;display:grid;overflow:hidden}.new-learner-path>header,.new-learner-path-heading,.new-learner-path-actions{align-items:center;display:flex}.new-learner-path>header{justify-content:space-between;gap:1rem}.new-learner-path-heading{gap:.7rem;min-width:0}.new-learner-path-heading>span{background:var(--forest);width:38px;height:38px;color:var(--mint);border-radius:11px;flex:none;place-items:center;display:grid}.new-learner-path-heading p,.new-learner-path-heading h2{margin:0}.new-learner-path-heading p{color:var(--coral);letter-spacing:.08em;font-size:.65rem;font-weight:850}.new-learner-path-heading h2{font-family:var(--font-display);letter-spacing:-.025em;margin-top:.12rem;font-size:1.25rem;font-weight:600}.new-learner-path-actions{gap:.35rem}.new-learner-path-actions button{border:1px solid var(--line-strong);min-height:44px;color:var(--forest);cursor:pointer;font:inherit;background:#fff;border-radius:11px;justify-content:center;align-items:center;gap:.4rem;padding:0 .75rem;font-size:.72rem;font-weight:800;display:inline-flex}.new-learner-path-actions button:last-child{width:44px;padding:0}.new-learner-path ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.new-learner-path li a{border:1px solid var(--line);min-height:74px;color:var(--ink);background:#ffffffb8;border-radius:12px;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.48rem;padding:.7rem;transition:border-color .16s,background .16s,transform .16s;display:grid}.new-learner-path li a:hover{border-color:rgba(var(--forest-rgb), .3);background:#fff;transform:translateY(-1px)}.new-learner-path li a>svg{color:var(--forest)}.new-learner-path li a>svg:last-child{color:var(--ink-faint)}.new-learner-step-number{color:var(--gold);font-size:.58rem;font-weight:900}.new-learner-path li a>span:nth-child(3){gap:.12rem;min-width:0;display:grid}.new-learner-path li strong{font-size:.76rem}.new-learner-path li small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;line-height:1.35;overflow:hidden}.learning-guide-launcher{z-index:38;background:var(--forest);color:#fff;min-height:46px;box-shadow:0 12px 32px rgba(var(--forest-rgb), .25);cursor:pointer;font:inherit;border:1px solid #fff3;border-radius:999px;align-items:center;gap:.45rem;padding:0 .85rem;font-size:.72rem;font-weight:850;display:inline-flex;position:fixed;bottom:1rem;right:1rem}.learning-guide-launcher:hover{background:var(--ink);transform:translateY(-1px)}.learning-guide-layer{z-index:90;justify-content:flex-end;display:flex;position:fixed;inset:0}.learning-guide-backdrop{background:rgba(var(--forest-rgb), .55);cursor:default;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:0;width:100%;position:absolute;inset:0}.learning-guide-drawer{border-left:1px solid rgba(var(--forest-rgb), .15);background:var(--surface-raised);width:min(520px,100vw);height:100dvh;box-shadow:-24px 0 70px rgba(var(--forest-rgb), .24);grid-template-rows:auto auto minmax(0,1fr) auto;animation:.18s ease-out guide-drawer-in;display:grid;position:relative;overflow:hidden}@keyframes guide-drawer-in{0%{opacity:.6;transform:translate(24px)}}.learning-guide-drawer>header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.2rem 1.25rem .9rem;display:flex}.learning-guide-drawer>header span{color:var(--coral);letter-spacing:.13em;font-size:.62rem;font-weight:900}.learning-guide-drawer>header h2{font-family:var(--font-display);letter-spacing:-.035em;margin:.22rem 0 0;font-size:1.6rem;font-weight:600}.learning-guide-drawer>header button{border:1px solid var(--line);width:44px;height:44px;color:var(--forest);cursor:pointer;background:#fff;border-radius:12px;flex:none;place-items:center;display:grid}.learning-guide-drawer>nav{scrollbar-width:none;gap:.3rem;padding:0 1.25rem .9rem;display:flex;overflow-x:auto}.learning-guide-drawer>nav::-webkit-scrollbar{display:none}.learning-guide-drawer>nav button{border:1px solid var(--line);min-height:44px;color:var(--ink-soft);cursor:pointer;font:inherit;background:#fff;border-radius:999px;flex:none;padding:0 .72rem;font-size:.7rem;font-weight:800}.learning-guide-drawer>nav button[data-active=true]{border-color:var(--forest);background:var(--forest);color:#fff}.learning-guide-content{border-top:1px solid var(--line);padding:1.15rem 1.25rem 1.5rem;overflow-y:auto}.learning-guide-topic-heading{align-items:center;gap:.8rem;display:flex}.learning-guide-topic-heading>span{background:var(--mint);width:46px;height:46px;color:var(--forest);border-radius:14px;flex:none;place-items:center;display:grid}.learning-guide-topic-heading p,.learning-guide-topic-heading h3{margin:0}.learning-guide-topic-heading p{color:var(--coral);letter-spacing:.08em;font-size:.65rem;font-weight:850}.learning-guide-topic-heading h3{font-family:var(--font-display);margin-top:.18rem;font-size:1.4rem;font-weight:600;line-height:1.2}.learning-guide-description{color:var(--ink-soft);margin:1rem 0;font-size:.8rem;line-height:1.65}.learning-guide-content>ol{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.learning-guide-content>ol li{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:58px;padding:.65rem .75rem;display:grid}.learning-guide-content>ol li>span{background:var(--forest);color:#fff;border-radius:9px;place-items:center;width:30px;height:30px;font-size:.68rem;font-weight:900;display:grid}.learning-guide-content>ol li p{color:var(--ink);margin:0;font-size:.76rem;line-height:1.55}.learning-guide-content>ol li>svg{color:var(--gold)}.learning-guide-note{background:rgba(var(--mint-rgb), .18);color:var(--ink-soft);border-radius:11px;align-items:flex-start;gap:.55rem;margin-top:.8rem;padding:.7rem .75rem;display:flex}.learning-guide-note svg{color:var(--forest);flex:none;margin-top:.12rem}.learning-guide-note p{margin:0;font-size:.7rem;line-height:1.55}.learning-guide-drawer>footer{padding:.9rem 1.25rem calc(.9rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffdf7f5}.learning-guide-drawer>footer a{background:var(--forest);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;min-height:48px;font-size:.78rem;font-weight:850;display:flex}.learning-guide-launcher:focus-visible,.new-learner-path button:focus-visible,.new-learner-path a:focus-visible,.learning-guide-drawer button:focus-visible,.learning-guide-drawer a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media (min-width:961px){.learning-guide-launcher{width:calc(var(--sidebar-width) - 2.5rem);box-shadow:none;background:#ffffff1a;justify-content:center;bottom:1.35rem;left:1.25rem;right:auto}.sidebar-inner{padding-bottom:5.3rem}}@media (max-width:900px){.new-learner-path ol{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-guide-launcher{bottom:calc(5.4rem + env(safe-area-inset-bottom))}}@media (max-width:620px){.new-learner-path{padding:.85rem}.new-learner-path>header{align-items:flex-start}.new-learner-path-actions button:first-child{width:44px;padding:0}.new-learner-path-actions button:first-child span{display:none}.new-learner-path ol{grid-template-columns:1fr}.new-learner-path li a{min-height:62px}.learning-guide-launcher{justify-content:center;width:46px;padding:0}.learning-guide-launcher span{display:none}.learning-guide-drawer{width:100vw}}@media (prefers-reduced-motion:reduce){.learning-guide-drawer{animation:none}}.live-caption-navigation button{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.live-caption-navigation>button[data-tip-open=true]>span{opacity:1;transform:translate(-50%)}.live-caption-navigation>button:first-child>span{left:0;transform:translateY(4px)}.live-caption-navigation>button:first-child:hover>span,.live-caption-navigation>button:first-child:focus-visible>span,.live-caption-navigation>button:first-child[data-tip-open=true]>span{transform:translate(0)}.live-caption-navigation>button:last-child>span{left:auto;right:0;transform:translateY(4px)}.live-caption-navigation>button:last-child:hover>span,.live-caption-navigation>button:last-child:focus-visible>span,.live-caption-navigation>button:last-child[data-tip-open=true]>span{transform:translate(0)}@media (max-width:640px){.live-caption-navigation,.video-learning-page[data-prepared=true] .live-caption-navigation{flex-wrap:nowrap;justify-content:space-between;gap:4px}.live-caption-navigation button,.video-learning-page[data-prepared=true] .live-caption-navigation button{flex:1 1 0;width:auto;min-width:0;max-width:56px;padding-inline:0}}.video-assignment-badge{background:var(--mint-strong);color:#fff;border-radius:999px;margin:0 6px 0 4px;padding:1px 8px;font-size:.6875rem;font-weight:700;line-height:1.5;display:inline-block}.student-video-list .video-assignment-badge{margin-left:0}.teacher-report-settings{gap:14px;display:grid}.teacher-report-settings h2{align-items:center;gap:8px;margin:0;display:flex}.teacher-report-toggle{cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;display:flex}.teacher-report-toggle input{width:22px;height:22px;accent-color:var(--forest);flex:none;margin-top:2px}.teacher-report-toggle span{gap:2px;min-width:0;display:grid}.teacher-report-toggle small,.teacher-report-line p{color:var(--ink-soft)}.teacher-report-line{border:1px solid var(--line);border-radius:16px;gap:8px;padding:12px;display:grid}.teacher-report-line p{align-items:center;gap:6px;margin:0;display:flex}.teacher-report-line button{border:1px solid var(--forest);min-height:44px;color:var(--forest);font:inherit;cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:700;display:inline-flex}.teacher-report-line .teacher-report-code{background:var(--forest);color:#fff}.teacher-report-inbox{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:16px;gap:8px;margin:12px 0;padding:14px 16px;display:grid}.teacher-report-inbox h2{align-items:center;gap:8px;margin:0;font-size:1.05rem;display:flex}.teacher-report-inbox h2 b{background:var(--mint-strong);color:#fff;border-radius:999px;place-items:center;min-width:22px;height:22px;font-size:.75rem;display:inline-grid}.teacher-report-inbox ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.teacher-report-inbox li button{width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0 4px;font-weight:700}.teacher-report-inbox li[data-unread=true] button:after{content:" ●";color:var(--mint-strong)}.teacher-report-inbox pre{background:var(--canvas);font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;margin:0 0 8px;padding:10px 12px;font-size:.875rem;line-height:1.6}.teacher-standards{gap:16px;display:grid}.teacher-standards-field{gap:10px;min-width:0;display:grid}.teacher-standards-levels{flex-wrap:wrap;gap:12px;display:flex}.teacher-standards-levels label{flex:140px;gap:4px;min-width:0;display:grid}.teacher-standards-levels select{border:1px solid var(--line);min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:12px;padding:0 12px}.teacher-standards-chips{flex-wrap:wrap;gap:8px;display:flex}.teacher-standards-chips button{border:1px solid var(--line);min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 16px;font-weight:600;display:inline-flex}.teacher-standards-chips button small{color:var(--ink-soft);font-size:.75rem;font-weight:400;display:block}.teacher-standards-chips button[data-on=true]{border-color:var(--forest);background:var(--forest);color:#fff}.teacher-standards-chips button[data-on=true] small{color:#fffc}.teacher-standards-save{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.teacher-standards-save p{color:var(--ink-soft);margin:0}.dsn-channel-tags{color:var(--ink-soft);margin:0;font-size:.8125rem}.moments-lang{border:1px solid var(--line);background:var(--canvas);border-radius:999px;gap:4px;padding:3px;display:inline-flex}.moments-lang button{min-width:44px;min-height:44px;color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 14px;font-weight:700}.moments-lang button[data-on=true]{background:var(--forest);color:#fff}.pick-reopen{border:1px solid var(--forest);min-height:44px;color:var(--forest);font:inherit;cursor:pointer;background:#fff;border-radius:999px;margin-top:12px;padding:0 18px;font-weight:700}.pick-choice-backdrop{z-index:120;padding:16px 16px max(16px, env(safe-area-inset-bottom));background:#101b3680;place-items:end center;display:grid;position:fixed;inset:0}.pick-choice{width:min(100%,420px);color:var(--ink);background:#fff;border-radius:20px;gap:10px;padding:18px;display:grid;box-shadow:0 18px 48px #01081159}.pick-choice h2{margin:0;font-size:1.1rem}.pick-choice button{border:1px solid var(--forest);min-height:56px;color:var(--forest);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:14px;gap:2px;padding:10px 16px;display:grid}.pick-choice button:first-of-type{background:var(--forest);color:#fff}.pick-choice button small{opacity:.8;font-size:.8125rem}.pick-choice .pick-choice-cancel{text-align:center;min-height:44px;color:var(--ink-soft);border-color:#0000}@media (min-width:640px){.pick-choice-backdrop{place-items:center}}.watch-wrap{width:min(100% - 32px,460px);max-height:calc(100dvh - 32px);color:var(--ink);background:#fff;border:0;border-radius:20px;margin:auto;padding:22px;inset:0;overflow-y:auto;box-shadow:0 18px 48px #01081159}.watch-wrap::backdrop{background:#101b368c}.watch-wrap[open]{gap:14px;display:grid}.watch-wrap h2{margin:0;font-size:1.25rem}.watch-wrap p{margin:0}.watch-wrap-lead{align-items:center;gap:8px;font-size:1.0625rem;font-weight:700;display:flex}.watch-wrap-note{color:var(--ink-soft);font-size:.875rem}.watch-percent-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.watch-percent-grid button{border:1px solid var(--line);min-height:48px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:12px;font-weight:700}.watch-percent-grid button:hover,.watch-percent-grid button:focus-visible{border-color:var(--forest);background:var(--forest);color:#fff}.watch-advice{color:#1f5130;background:#eaf5ec;border-radius:14px;padding:12px 14px;font-size:.9375rem;line-height:1.55}.watch-advice[data-hard=true]{color:#7a4a05;background:#fff1e0}.watch-results{gap:8px;margin:0;padding:0;list-style:none;display:grid}.watch-results li{border:1px solid var(--line);border-radius:14px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;display:grid}.watch-results li[data-done=true]{border-color:var(--forest);background:var(--canvas)}.watch-results strong{font-size:1.0625rem}.watch-options{gap:10px;display:grid}.watch-options a,.watch-options button{border:1px solid var(--forest);min-height:64px;color:var(--forest);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:14px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:grid}.watch-options small{color:var(--ink-soft);font-size:.8125rem;font-weight:400;display:block}.watch-wrap-actions{flex-wrap:wrap;gap:10px;display:flex}.watch-wrap-actions button{border:1px solid var(--forest);min-height:48px;color:var(--forest);font:inherit;cursor:pointer;background:#fff;border-radius:999px;flex:140px;padding:0 16px;font-weight:700}.watch-wrap-actions .watch-primary{background:var(--forest);color:#fff}.watch-wrap-actions button:disabled{opacity:.55;cursor:not-allowed}.teaching-toolbar{border-top:1px solid var(--line);gap:10px;padding:10px 12px;display:grid}.teaching-toolbar-actions{flex-wrap:wrap;gap:8px;display:flex}.teaching-toolbar-actions button,.teaching-lesson-actions button,.teaching-lesson-actions a{border:1px solid var(--forest);min-height:44px;color:var(--forest);font:inherit;cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:700;text-decoration:none;display:inline-flex}.teaching-toolbar-actions button[data-on=true],.teaching-lesson-actions .teaching-primary{background:var(--forest);color:#fff}.teaching-toolbar-actions button:disabled,.teaching-lesson-actions button:disabled{opacity:.5;cursor:not-allowed}.sound-pick{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:16px;gap:10px;margin-top:12px;padding:14px 16px;display:grid}.sound-pick h2{align-items:center;gap:8px;margin:0;font-size:1.05rem;display:flex}.sound-pick header p{color:var(--ink-soft);margin:4px 0 0;font-size:.875rem}.sound-pick>.teaching-primary{border:1px solid var(--forest);background:var(--forest);color:#fff;min-height:44px;font:inherit;cursor:pointer;border-radius:999px;justify-self:start;padding:0 16px;font-weight:700}.sound-pick-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.sound-pick-list>li{border:1px solid var(--line);border-radius:14px;gap:8px;padding:12px 14px;display:grid}.sound-pick-list>li>p{margin:0;font-weight:600;line-height:1.5}.sound-pick-features{gap:6px;margin:0;padding:0;list-style:none;display:grid}.sound-pick-features li{border-left:3px solid var(--mint-strong);background:var(--canvas);border-radius:0 10px 10px 0;gap:2px;padding:6px 10px;display:grid}.sound-pick-features b{color:var(--mint-strong);font-size:.8125rem}.sound-pick-features span{overflow-wrap:anywhere;font-weight:600}.sound-pick-features small{color:var(--ink-soft);font-size:.8125rem}.sound-pick-actions{flex-wrap:wrap;gap:8px;display:flex}.sound-pick-actions button{border:1px solid var(--forest);min-height:44px;color:var(--forest);font:inherit;cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:700;display:inline-flex}.sound-pick-actions button[data-on=true]{background:var(--forest);color:#fff}.teaching-level{flex-wrap:wrap;gap:8px;display:flex}.teaching-level button{border:1px solid var(--line);min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:12px;flex:150px;gap:2px;padding:6px 14px;font-weight:700;display:grid}.teaching-level button small{color:var(--ink-soft);font-size:.75rem;font-weight:400}.teaching-level button[data-on=true]{border-color:var(--forest);background:var(--forest);color:#fff}.teaching-level button[data-on=true] small{color:#fffc}.teaching-structure-tags{flex-wrap:wrap;gap:6px;display:flex}.teaching-structure-tags b{background:var(--forest);color:#fff;border-radius:999px;padding:2px 10px;font-size:.8125rem}.teaching-note{color:var(--ink-soft);margin:0;font-size:.875rem}.teaching-structure{background:var(--canvas);color:var(--ink);border-radius:14px;gap:8px;padding:12px 14px;display:grid}.teaching-structure p{margin:0}.teaching-structure-translation{font-weight:700}.teaching-structure-pattern{color:var(--forest);font-size:.9375rem;font-weight:600}.teaching-structure-parts{gap:6px;margin:0;padding:0;list-style:none;display:grid}.teaching-structure-parts li{border-left:3px solid var(--mint-strong);background:#fff;border-radius:0 10px 10px 0;gap:2px;padding:8px 10px;display:grid}.teaching-structure-parts li span{font-weight:600}.teaching-structure-parts li b{color:var(--mint-strong);font-size:.8125rem}.teaching-structure-parts li small,.teaching-structure-simple{color:var(--ink-soft);font-size:.875rem}.teaching-structure-points{margin:0;padding-left:1.2rem;font-size:.875rem;line-height:1.6}.teaching-lesson{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:16px;gap:10px;margin-top:12px;padding:14px 16px;display:grid}.teaching-lesson h2{align-items:center;gap:8px;margin:0;font-size:1.05rem;display:flex}.teaching-lesson h2 small{color:var(--ink-soft);font-size:.8125rem;font-weight:500}.teaching-lesson header p{color:var(--ink-soft);margin:4px 0 0;font-size:.875rem}.teaching-lesson-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.teaching-lesson-list li{align-items:stretch;gap:6px;display:flex}.teaching-lesson-jump{border:1px solid var(--line);min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:12px;flex:1;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:8px;padding:6px 10px;display:grid}.teaching-lesson-jump time{color:var(--ink-soft);font-size:.8125rem}.teaching-lesson-remove{border:1px solid var(--line);width:44px;min-height:44px;color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:12px;place-items:center;display:grid}.teaching-lesson-actions{flex-wrap:wrap;gap:8px;display:flex}.teacher-lessons{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:16px;gap:8px;margin-top:14px;padding:14px 16px;display:grid}.teacher-lessons h2{align-items:center;gap:8px;margin:0;font-size:1.05rem;display:flex}.teacher-lessons ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.teacher-lessons li{align-items:stretch;gap:6px;display:flex}.teacher-lessons li a{border:1px solid var(--line);min-height:44px;color:inherit;border-radius:12px;flex:1;gap:2px;padding:8px 12px;text-decoration:none;display:grid}.teacher-lessons li a small{color:var(--ink-soft)}.teacher-lessons li button{border:1px solid var(--line);width:44px;color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:12px;place-items:center;display:grid}@media (orientation:landscape) and (max-height:520px) and (max-width:1023px){:is(body:has(.video-learning-page[data-prepared=true]) .mobile-header,body:has(.video-learning-page[data-prepared=true]) .mobile-nav,body:has(.video-learning-page[data-prepared=true]) .site-footer){display:none}.main-content:has(.video-learning-page[data-prepared=true]){min-height:0;padding:0}.video-learning-page[data-prepared=true]{width:100%;max-width:none;margin:0;padding:0}.video-learning-page[data-prepared=true] .video-player-panel{height:100dvh;padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left);background:#0b1220;border:0;border-radius:0;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:0;display:grid;overflow:hidden}.video-learning-page[data-prepared=true] .video-player-frame{aspect-ratio:16/9;grid-area:1/1;align-self:center;width:100%;height:auto;max-height:100%}.video-learning-page[data-prepared=true] .live-caption-workspace{border-width:0 0 0 1px;border-radius:0;flex-direction:column;grid-area:1/2;height:100dvh;min-height:0;margin:0;display:flex;overflow:hidden}.video-learning-page[data-prepared=true] .live-caption-workspace>header{flex:none;padding:.25rem .4rem}.video-learning-page[data-prepared=true] .live-caption-navigation{justify-content:space-between;gap:2px;width:100%}.video-learning-page[data-prepared=true] .live-caption-stream{overscroll-behavior:contain;flex:auto;align-content:center;min-height:0;max-height:none;padding:.2rem .4rem .6rem;overflow-y:auto}.video-learning-page[data-prepared=true] .live-caption-stream article{min-height:64px;display:grid}.video-learning-page[data-prepared=true] .moments-offer,.video-learning-page[data-prepared=true] .prepared-video-meta,.video-learning-page[data-prepared=true] .video-finished-prompt,.video-learning-page[data-prepared=true] .teaching-lesson,.video-learning-page[data-prepared=true] .sound-pick,.video-learning-page[data-prepared=true] .moments-panel,.video-learning-page[data-prepared=true] .video-transcript-panel{display:none}}.class-summary,.class-feed{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:16px;gap:14px;padding:16px;display:grid}.class-summary>header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.class-summary h2,.class-feed h2{margin:2px 0 0;font-size:1.15rem}.class-summary header p:last-child{color:var(--ink-soft);margin:4px 0 0;font-size:.875rem}.class-summary-period{border:1px solid var(--line);background:var(--canvas);border-radius:999px;gap:4px;padding:3px;display:inline-flex}.class-summary-period button{min-width:44px;min-height:44px;color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 16px;font-weight:700}.class-summary-period button[data-on=true]{background:var(--forest);color:#fff}.class-summary-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.class-summary-tiles li{border:1px solid var(--line);background:var(--canvas);border-radius:14px;gap:2px;padding:12px 14px;display:grid}.class-summary-tiles strong{font-size:1.5rem;line-height:1.1}.class-summary-tiles span{color:var(--ink-soft);font-size:.8125rem}.class-summary-block{gap:8px;display:grid}.class-summary-block h3{align-items:center;gap:6px;margin:0;font-size:1rem;display:flex}.class-summary-bars{gap:10px;margin:0;padding:0;list-style:none;display:grid}.class-summary-bars li{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;display:grid}.class-summary-bars li>span{text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;overflow:hidden}.class-summary-bars li>b{justify-items:end;font-size:.9375rem;display:grid}.class-summary-bars li>b small{color:var(--ink-soft);text-align:right;font-size:.75rem;font-weight:400}.class-summary-bar{background:var(--canvas);border-radius:999px;grid-area:2/1/auto/-1;height:10px;overflow:hidden}.class-summary-bar i{background:var(--forest);border-radius:999px;height:100%;display:block}.class-summary-ranking li[data-best=true] .class-summary-bar i{background:var(--mint-strong)}.class-summary-ranking li>b{grid-area:1/2}.class-summary-note{color:var(--ink-soft);align-items:center;gap:6px;margin:0;font-size:.875rem;display:flex}.class-feed-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.class-feed-list li{border-bottom:1px solid var(--line);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:6px 4px;display:grid}.class-feed-icon{background:var(--canvas);width:32px;height:32px;color:var(--forest);border-radius:10px;place-items:center;display:grid}.class-feed-list time{color:var(--ink-soft);white-space:nowrap;font-size:.8125rem}.teacher-learning-empty{border:1px dashed var(--line);color:var(--ink);background:#fff;border-radius:16px;justify-items:start;gap:8px;padding:20px;display:grid}.teacher-learning-empty h2,.teacher-learning-empty p{margin:0}.teacher-learning-empty a{min-height:44px;color:var(--forest);align-items:center;font-weight:700;display:inline-flex}.teacher-interventions-setting>summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-weight:700;display:flex}.teacher-interventions-setting>p{color:var(--ink-soft);font-size:.875rem}.teacher-interventions-class{gap:4px;margin:8px 0;display:grid}.teacher-interventions-class select{border:1px solid var(--line);min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:12px;padding:0 12px}@media (min-width:720px){.class-summary-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.assignment-manager{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:16px;gap:12px;padding:16px;display:grid}.assignment-manager h2{align-items:center;gap:8px;margin:2px 0 0;font-size:1.15rem;display:flex}.assignment-manager>header p:last-child{color:var(--ink-soft);margin:4px 0 0;font-size:.875rem}.assignment-manage-group{color:var(--ink-soft);letter-spacing:.04em;margin:6px 0 0;font-size:.875rem;font-weight:700}.assignment-manage-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.assignment-manage-list>li{border:1px solid var(--line);border-radius:14px;gap:8px;padding:14px;display:grid}.assignment-manage-list>li[data-status=archived]{background:var(--canvas)}.assignment-manage-list header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.assignment-manage-list h3{overflow-wrap:anywhere;margin:0;font-size:1.0625rem}.assignment-manage-badge{background:var(--canvas);color:var(--ink);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.8125rem;font-weight:700}.assignment-manage-badge[data-late=true]{color:#9b2c1b;background:#fde8e3}.assignment-manage-meta{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:.8125rem;display:flex}.assignment-manage-requirements{gap:4px;margin:0;padding-left:1.2rem;font-size:.9375rem;display:grid}.assignment-manage-video{color:var(--forest);overflow-wrap:anywhere;font-size:.8125rem}.assignment-manage-actions{flex-wrap:wrap;gap:8px;display:flex}.assignment-manage-actions button,.assignment-manage-note button{border:1px solid var(--forest);min-height:44px;color:var(--forest);font:inherit;cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:700;display:inline-flex}.assignment-manage-actions .assignment-manage-primary{background:var(--forest);color:#fff}.assignment-manage-actions .assignment-manage-danger{color:#b4402d;border-color:#b4402d}.assignment-manage-actions button:disabled{opacity:.5;cursor:not-allowed}.assignment-manage-edit{gap:10px;display:grid}.assignment-manage-edit label{gap:4px;font-size:.875rem;display:grid}.assignment-manage-edit input{border:1px solid var(--line);min-height:44px;font:inherit;border-radius:12px;padding:0 12px}.assignment-manage-note{color:var(--ink-soft);align-items:center;gap:8px;margin:0;font-size:.875rem;display:flex}.assignment-manage-note[data-kind=ok]{color:#1f5130}.assignment-manage-note[data-kind=error]{color:#9b2c1b}.assignment-manage-pending ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.assignment-manage-pending li{background:var(--canvas);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:8px 10px;display:grid}.assignment-manage-pending li[data-done=true]{opacity:.6}.assignment-manage-pending li small{color:var(--ink-soft);grid-column:1/-1;font-size:.8125rem}.pending-assignments{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:16px;gap:10px;margin-top:12px;padding:16px;display:grid}.pending-assignments h2{align-items:center;gap:8px;margin:0;font-size:1.1rem;display:flex}.pending-assignments>ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.pending-assignments>ul>li{border:1px solid var(--line);border-radius:14px;gap:8px;padding:12px 14px;display:grid}.pending-assignments>ul>li[data-soon=true]{background:#fff8ea;border-color:#e0a23a}.pending-assignments>ul>li[data-late=true]{background:#fdf0ed;border-color:#c4553f}.pending-assignments header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.pending-assignments header div{gap:2px;min-width:0;display:grid}.pending-assignments header small{color:var(--ink-soft)}.pending-assignments-days{white-space:nowrap;align-items:center;gap:6px;font-weight:700;display:inline-flex}.pending-assignments-items{gap:4px;margin:0;padding:0;list-style:none;display:grid}.pending-assignments-items li{grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:.9375rem;display:grid}.pending-assignments-items li>span:first-child{border:1px solid var(--line);border-radius:6px;place-items:center;width:20px;height:20px;display:grid}.pending-assignments-items li[data-done=true]{color:var(--ink-soft);text-decoration:line-through}.pending-assignments-items li[data-done=true]>span:first-child{background:var(--forest);border-color:var(--forest);color:#fff}.pending-assignments-items small{color:var(--ink-soft);font-size:.8125rem}.pending-assignments-go{background:var(--forest);color:#fff;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.video-transcript-panel{grid-template-columns:minmax(0,1fr) minmax(320px,460px)}.video-transcript-panel .manual-transcript-form{min-width:0}@media (max-width:1100px){.video-transcript-panel{grid-template-columns:minmax(0,1fr)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
