/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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-outline-style:solid;--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;--tw-ease:initial}}}@layer theme{:root,:host{--spacing:.25rem;--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-geist-sans);--default-mono-font-family:var(--font-geist-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,ui-sans-serif, system-ui, 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{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}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (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}.shrink{flex-shrink:1}.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,)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.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,)}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.invert{--tw-invert:invert(100%);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,)}.sepia{--tw-sepia:sepia(100%);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,)}.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))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--background:#f5f7fa;--foreground:#18181b;--panel:#fff;--panel-soft:#f0f6f4;--line:#dbe3ea;--muted:#65717d;--teal:#0f766e;--teal-dark:#0b4f4a;--coral:#df5b49;--amber:#c77d1d;--blue:#2563c7;--good:#15803d;--warn:#b45309}*{box-sizing:border-box}html{background:var(--background);min-height:100%}body{background:linear-gradient(135deg, #0f766e14, transparent 30rem), linear-gradient(315deg, #df5b4917, transparent 28rem), var(--background);min-height:100%;color:var(--foreground);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:24px}.topbar{justify-content:space-between;align-items:center;gap:20px;padding:8px 0 18px;display:flex}.topbar-brand{gap:2px;display:grid}.topbar-brand strong{color:var(--teal-dark);font-size:1.08rem}.topbar-brand span{color:var(--muted);font-size:.76rem;font-weight:750}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.eyebrow{color:var(--teal);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:800}h2{letter-spacing:0;margin:0;font-size:clamp(1.12rem,1.6vw,1.55rem);line-height:1.2}.daily-meter{min-width:190px;color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;font-weight:700;display:flex}.daily-meter svg{width:22px;color:var(--coral)}.daily-meter strong{min-width:52px;height:32px;color:var(--teal-dark);background:#fff;border:1px solid #0f766e3d;border-radius:999px;place-items:center;display:inline-grid}.credit-status-pill{min-height:40px;color:var(--teal-dark);background:#fff;border:1px solid #0f766e3d;border-radius:999px;align-items:center;gap:8px;padding:6px 8px 6px 12px;font-size:.84rem;font-weight:900;display:inline-flex}.topbar-deadline{min-height:40px;color:var(--muted);background:#fff8f6;border:1px solid #df5b4938;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.82rem;font-weight:800;display:inline-flex}.topbar-deadline svg{width:17px;color:var(--coral)}.topbar-deadline strong{color:var(--coral)}.credit-status-pill svg{width:17px;height:17px;color:var(--coral)}.credit-status-pill strong{min-width:56px;min-height:28px;color:var(--teal-dark);background:#eefcf8;border-radius:999px;place-items:center;padding:5px 9px;font-size:.78rem;display:inline-grid}.workspace.focus-workspace{grid-template-columns:minmax(0,1fr)}.workspace.focus-workspace .course-rail,.workspace.focus-workspace .course-editor{display:none}.course-rail,.course-editor,.practice-panel{border:1px solid var(--line);background:#ffffffe0;border-radius:8px;box-shadow:0 20px 50px #19232d14}.course-rail{flex-direction:column;min-height:690px;padding:16px;display:flex}.rail-heading,.rail-title,.section-heading,.listen-header{align-items:center;gap:10px;display:flex}.rail-heading{justify-content:space-between}.rail-title{color:var(--teal-dark);font-weight:900}.rail-title svg,.section-heading svg{width:20px;color:var(--coral)}.section-heading>span{color:var(--muted);margin-left:auto;font-size:.82rem;font-weight:850}.rail-actions{gap:6px;display:flex}.rail-actions button{border:1px solid var(--line);width:32px;height:32px;color:var(--teal-dark);background:#fff;border-radius:8px;place-items:center;display:inline-grid}.rail-actions button:disabled{cursor:not-allowed;opacity:.42}.rail-actions svg{width:16px}.course-list{gap:10px;margin-top:18px;display:grid}.rail-empty{margin:0}.course-button{width:100%;min-height:64px;color:var(--foreground);text-align:left;background:#f7faf9;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.course-button.active{background:var(--panel-soft);box-shadow:inset 4px 0 0 var(--teal);border-color:#0f766e73}.course-button small,.review-list small{color:var(--amber);margin-bottom:4px;font-size:.72rem;font-weight:900;display:block}.course-button svg{width:18px;color:var(--good);flex:none}.save-state{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:14px;font-size:.88rem;display:flex}.save-state.is-dirty{color:var(--warn);font-weight:900}.save-state button{min-height:34px;color:var(--teal);cursor:pointer;background:#ffffffd1;border:1px solid #0f766e38;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:.82rem;font-weight:900;display:inline-flex}.save-state button svg{width:15px;height:15px}.course-editor{flex-direction:column;gap:12px;min-height:690px;padding:16px;display:flex}.empty-course-card{min-height:100%;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:14px;display:grid}.empty-course-card>svg{width:28px;color:var(--coral)}.empty-course-card strong{color:var(--teal-dark);font-size:1.05rem}.empty-course-card .editor-actions{width:min(280px,100%)}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.panel-heading span{color:var(--blue);background:#eaf1ff;border-radius:999px;flex:none;padding:8px 10px;font-size:.78rem;font-weight:900}label{color:#2d3640;gap:7px;font-size:.86rem;font-weight:800;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--foreground);background:#fff;border-radius:8px;outline:none;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:#0f766ea8;box-shadow:0 0 0 3px #0f766e1f}textarea{resize:vertical}.notes-field textarea{min-height:150px;line-height:1.5}.preview-preference-field{background:#f8fcfb;border:1px solid #0f766e29;border-radius:8px;padding:12px}.preview-preference-field textarea{min-height:108px;line-height:1.55}.preview-preference-field small{color:var(--muted);font-size:.8rem;font-weight:800;line-height:1.45}.intro-field textarea{min-height:82px;line-height:1.5}.resource-grid{gap:10px;display:grid}.slot-editor,.upload-box,.material-cutter,.assignment-box{border:1px solid var(--line);background:#fbfdfc;border-radius:8px;gap:10px;padding:12px;display:grid}.upload-box>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.slot-editor-list{gap:10px;display:grid}.slot-editor-heading{flex-wrap:wrap}.slot-editor-heading span{overflow-wrap:anywhere;color:var(--muted);margin-left:auto;font-size:.82rem;font-weight:850}.slot-editor-row{background:#fff;border:1px solid #0f766e1f;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;display:grid;position:relative}.slot-editor-row label{color:var(--muted);gap:5px;font-size:.74rem}.slot-editor-row label:first-child{padding-right:36px}.slot-editor-row input,.slot-editor-row select{padding:9px 10px;font-size:.84rem}.slot-editor-row .wide{grid-column:1/-1}.slot-remove-button{color:#475569;background:#eef2f7;border:0;border-radius:8px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:10px;right:10px}.slot-remove-button svg{width:16px}.upload-box strong,.assignment-box strong{color:var(--teal-dark)}.upload-box span{color:var(--muted);font-size:.82rem;font-weight:800}.upload-hint,.ai-warning{color:var(--muted);margin:0;font-size:.78rem;font-weight:850;line-height:1.45}.ai-warning{color:#8a5a12;background:#fff8e7;border-radius:8px;padding:9px 10px}.material-message{color:#0f766e;background:#ecfdf5;border-radius:8px;padding:9px 10px}.material-message.is-working{color:#1d4ed8;background:#eff6ff}.upload-box input[type=file],.material-cutter input[type=file]{display:none}.material-cutter{background:linear-gradient(135deg,#fbfdfc,#f8fbff)}.material-cutter-summary,.archive-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-width:0;list-style:none;display:flex}.material-cutter-summary::-webkit-details-marker{display:none}.archive-summary::-webkit-details-marker{display:none}.material-cutter-summary>span,.archive-summary>span{min-width:0;color:var(--teal-dark);align-items:center;gap:8px;display:inline-flex}.material-cutter-summary svg,.archive-summary svg{flex:none;width:18px;height:18px}.material-cutter-summary small,.archive-summary small{min-width:0;max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:850;overflow:hidden}.material-cutter-summary:after,.archive-summary:after{content:"+";width:28px;height:28px;color:var(--teal-dark);background:#e9f4f2;border-radius:7px;flex:none;place-items:center;font-size:1.1rem;font-weight:700;display:grid}.material-cutter[open] .material-cutter-summary:after,.preview-archive[open] .archive-summary:after{content:"−"}.material-cutter-body,.preview-archive-body{border-top:1px solid #0f766e1f;gap:10px;padding-top:12px;display:grid}.material-cutter-grid{grid-template-columns:minmax(0,1.2fr) minmax(140px,.8fr);gap:10px;display:grid}.upload-trigger{background:var(--panel-soft);min-height:42px;color:var(--teal-dark);border:1px dashed #0f766e73;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:900;display:inline-flex}.upload-trigger.is-busy{cursor:wait;opacity:.72}.upload-trigger svg,.mini-heading svg,.material-list svg,.schedule-time svg{flex:none;width:17px}.material-list{gap:8px;display:grid}.material-list-item{background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;padding:8px;display:grid}.material-list-item>section{gap:5px;min-width:0;display:grid}.material-list span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--foreground);overflow:hidden}.material-list small{color:var(--muted);font-weight:800}.material-vision-status{color:#0f766e;align-items:center;gap:5px;width:fit-content;max-width:100%;line-height:1.35;display:inline-flex}.material-vision-status svg{width:14px;height:14px}.material-vision-status.unavailable,.material-vision-status.failed{color:#9a5b12}.material-quality{border-radius:999px;width:max-content;max-width:100%;padding:4px 8px;font-size:.72rem;font-weight:900}.material-quality.good{color:var(--good);background:#dff7e7}.material-quality.warn{color:#75480e;background:#fff6e8}.material-quality.bad{color:#a13b2e;background:#fff1ef}.material-list p,.material-list blockquote{color:var(--muted);margin:0;font-size:.76rem;font-weight:800;line-height:1.45}.material-list blockquote{border-left:3px solid #0f766e2e;max-height:4.5em;padding-left:8px;overflow:hidden}.material-list button{color:#475569;background:#eef2f7;border:0;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.assignment-box textarea{min-height:86px;line-height:1.5}.mini-heading{align-items:center;gap:8px;display:flex}.time-custom{border:1px solid var(--line);background:#fbfdfc;border-radius:8px;gap:10px;padding:12px;display:grid}.time-heading{justify-content:space-between}.time-heading strong{color:var(--teal-dark)}.time-heading span{color:var(--blue);background:#eaf1ff;border-radius:999px;padding:5px 8px;font-size:.76rem;font-weight:900}.minute-control{grid-template-columns:minmax(0,1fr) 76px auto;align-items:center;gap:8px;display:grid}.minute-control input[type=range]{accent-color:var(--teal);padding:0}.minute-control input[type=number]{text-align:center}.minute-control span,.time-custom small{color:var(--muted);font-size:.82rem;font-weight:800}.time-custom small{line-height:1.45}.level-control{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.level-control button{border:1px solid var(--line);min-height:96px;color:var(--foreground);text-align:left;background:#fff;border-radius:8px;gap:5px;padding:10px;display:grid}.level-control button.active{background:#fff8f6;border-color:#df5b496b;box-shadow:0 8px 20px #df5b491a}.level-control strong{color:var(--teal-dark);font-size:.95rem}.level-control span,.level-control small{color:var(--muted);font-size:.78rem;font-weight:850;line-height:1.42}.ai-box{background:#f8fbff;border:1px solid #2563c733;border-radius:8px;gap:10px;padding:12px;display:grid}.ai-heading{flex-wrap:wrap}.ai-heading strong{color:var(--teal-dark)}.ai-heading span{overflow-wrap:anywhere;color:var(--blue);margin-left:auto;font-size:.78rem;font-weight:900}.generation-status{text-align:right;max-width:min(100%,34rem)}.generation-status.is-working{animation:1.4s ease-in-out infinite generation-status-pulse}.preview-generation-overview{min-width:0;color:var(--muted);flex-wrap:wrap;gap:7px 14px;display:flex}.preview-generation-overview span{align-items:center;gap:5px;min-width:0;font-size:.8rem;font-weight:850;line-height:1.4;display:inline-flex}.preview-generation-overview svg,.preview-destination-heading svg{width:15px;height:15px;color:var(--teal);flex:none}.preview-destination{border-top:1px solid #0f766e1f;padding-top:10px;display:grid}.preview-destination-heading{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;list-style:none;display:flex}.preview-destination-heading::-webkit-details-marker{display:none}.preview-destination-heading>span{align-items:center;gap:7px;display:inline-flex}.preview-destination-heading strong{color:var(--teal-dark)}.preview-destination-heading small{color:var(--muted);font-size:.76rem;font-weight:800}.preview-destination-body{gap:8px;padding-top:10px;display:grid}.preview-destination[open] .preview-destination-body{animation:.22s cubic-bezier(.16,1,.3,1) disclosure-enter}.preview-destination-row,.preview-destination-create{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.preview-destination-row select{min-width:0}.preview-destination-create{animation:.22s cubic-bezier(.16,1,.3,1) disclosure-enter}.preview-destination-manage{background:#f8fcfb;border:1px solid #0f766e24;border-radius:8px;gap:8px;padding:10px;display:grid}.preview-destination-manage label{color:var(--muted);gap:5px;font-size:.76rem;font-weight:850;display:grid}.preview-destination-manage label input{background:#fff;min-height:40px}.preview-destination-manage>div{flex-wrap:wrap;gap:8px;display:flex}.preview-destination-manage>small,.preview-destination-hint{color:var(--muted);margin:0;font-size:.74rem;font-weight:800;line-height:1.45}.generation-actions{align-items:stretch;gap:8px;display:flex}.generation-primary{flex:auto;min-width:0}.generation-primary.is-loading svg{animation:.9s linear infinite generation-spin}.ai-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ai-grid .wide{grid-column:1/-1}.model-field{align-content:start}.model-picker{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.model-picker button{white-space:nowrap;min-height:42px}.model-picker svg{width:16px}.model-field small{color:var(--muted);font-size:.78rem;font-weight:850;line-height:1.4}.model-recommendation{background:#f4fbf9;border:1px solid #0f766e2e;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:9px 10px;display:flex}.model-recommendation span{min-width:0;color:var(--muted);overflow-wrap:anywhere;gap:2px;font-size:.78rem;display:grid}.model-recommendation strong{color:var(--teal-dark)}.model-recommendation .ghost-button{white-space:nowrap;flex:none;min-height:38px}.api-test-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.api-test-row span{color:var(--muted);font-size:.86rem;font-weight:850}.api-diagnostic-panel{background:#fff;border:1px solid #0f766e29;border-radius:8px;gap:7px;padding:10px 12px;display:grid}.api-diagnostic-panel strong{color:var(--teal-dark);font-size:.9rem}.api-diagnostic-panel span,.api-diagnostic-panel small{color:var(--muted);font-size:.8rem;font-weight:850;line-height:1.45}.api-diagnostic-panel span{border-left:3px solid #0f766e47;padding-left:8px}.api-diagnostic-panel span.warn{color:#7f1d1d;border-left-color:#ef444473}.api-diagnostic-panel span.ok{color:#115e59}.ai-note{color:var(--muted);margin:0;font-size:.82rem;font-weight:800}.ai-estimate{color:var(--muted);background:#f6fbfa;border:1px solid #0f766e24;border-radius:8px;margin:0;padding:10px 12px;font-size:.82rem;font-weight:850;line-height:1.5}.ai-estimate.is-long{color:#75480e;background:#fff9f0;border-color:#b453093d}.ai-settings-panel{align-content:start}.credit-hero-panel{background:linear-gradient(135deg,#0f766e1a,#0000 60%),#fff;border:1px solid #0f766e29;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.credit-hero-panel div{gap:6px;display:grid}.credit-hero-panel p{max-width:760px;color:var(--muted);margin:0;font-size:.9rem;font-weight:800;line-height:1.5}.credit-hero-panel strong{color:var(--coral);background:#fff8f6;border-radius:999px;flex:none;padding:8px 11px;font-size:.82rem;font-weight:900}.ai-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ai-mode-card{border:1px solid var(--line);min-height:112px;color:var(--foreground);text-align:left;background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px 10px;padding:13px;display:grid}.ai-mode-card.active{box-shadow:inset 4px 0 0 var(--teal);background:#effaf7;border-color:#0f766e6b}.ai-mode-card svg{width:20px;height:20px;color:var(--coral)}.ai-mode-card strong,.ai-mode-card span{overflow-wrap:anywhere;min-width:0}.ai-mode-card strong{color:var(--teal-dark);font-size:.98rem}.ai-mode-card span{color:var(--muted);grid-column:2/-1;font-size:.82rem;font-weight:800;line-height:1.45}.ai-mode-card em{color:var(--blue);white-space:nowrap;background:#eaf1ff;border-radius:999px;padding:5px 8px;font-size:.74rem;font-style:normal;font-weight:900}.credit-center-layout{grid-template-columns:minmax(220px,.75fr) minmax(260px,1fr) minmax(220px,.9fr);gap:10px;display:grid}.account-access-panel{background:#f7fcfb;border:1px solid #0f766e38;border-radius:8px;grid-template-columns:minmax(240px,.7fr) minmax(0,1.5fr);align-items:start;gap:20px;padding:18px;display:grid}.account-access-panel.is-authenticated{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding-block:14px}.account-access-copy{align-content:start;gap:7px;min-width:0;display:grid}.account-access-copy .mini-heading{color:var(--teal-dark)}.account-access-copy h2,.account-access-copy p{margin:0}.account-access-copy h2{color:var(--ink);overflow-wrap:anywhere;font-size:1.25rem;line-height:1.25}.account-access-copy p{color:var(--muted);font-size:.84rem;font-weight:800;line-height:1.5}.account-auth-body{gap:10px;min-width:0;display:grid}.account-auth-body .auth-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.account-auth-submit{grid-column:1/-1}.account-session-summary{grid-template-columns:auto auto;place-items:center end;gap:3px 12px;display:grid}.account-session-summary>span{color:var(--muted);font-size:.76rem;font-weight:900}.account-session-summary>strong{color:var(--teal-dark);font-size:1.5rem;line-height:1}.account-session-summary .auth-account-actions{grid-column:1/-1}.account-backup-import{cursor:pointer}.account-backup-import input{display:none}.account-backup-message{color:var(--muted);grid-column:1/-1;font-weight:800}.credit-balance-card,.redemption-card,.credit-ledger-card{background:#fff;border:1px solid #0f766e29;border-radius:8px;align-content:start;gap:12px;padding:14px;display:grid}.credit-balance-card .mini-heading,.redemption-card .mini-heading,.credit-ledger-card .mini-heading{color:var(--teal-dark)}.credit-balance-number{color:var(--teal-dark);align-items:baseline;gap:6px;font-size:clamp(2rem,5vw,3rem);line-height:1;display:flex}.credit-balance-number span{color:var(--muted);font-size:.9rem}.credit-balance-card p,.purchase-note span{color:var(--muted);margin:0;font-size:.82rem;font-weight:800;line-height:1.5}.auth-mode-tabs{background:#edf3f2;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.auth-mode-tabs button{min-width:0;min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-size:.78rem;font-weight:900}.auth-mode-tabs button[aria-pressed=true]{color:var(--teal-dark);background:#fff;box-shadow:0 2px 8px #0d3c391a}.auth-form,.admin-login-panel{gap:10px;display:grid}.auth-code-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.auth-code-row button{white-space:nowrap;min-height:43px}.auth-account-actions{flex-wrap:wrap;gap:8px;display:flex}.redemption-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.credit-account-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.credit-account-row button{white-space:nowrap;min-height:43px}.purchase-note{background:#fff8f6;border-radius:8px;gap:5px;padding:10px;display:grid}.purchase-note strong{color:var(--coral);font-size:.86rem}.announcement-editor{background:#f8fcfb;border:1px solid #0f766e2e;border-radius:8px;gap:10px;padding:10px;display:grid}.announcement-editor textarea{min-height:104px;line-height:1.5}.credit-ledger-list{gap:8px;display:grid}.credit-ledger-list article{background:#f8fbff;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.credit-ledger-list article div{gap:3px;min-width:0;display:grid}.credit-ledger-list strong,.credit-ledger-list span{overflow-wrap:anywhere;min-width:0}.credit-ledger-list strong{color:var(--teal-dark);font-size:.86rem}.credit-ledger-list span{color:var(--muted);font-size:.76rem;font-weight:800}.credit-ledger-list em{color:var(--good);white-space:nowrap;font-style:normal;font-weight:900}.credit-admin-panel{background:#fbfefd;border:1px solid #0f766e2e;border-radius:8px;gap:12px;padding:14px;display:grid}.credit-admin-panel.is-open{background:#f8fcfb}.admin-panel-heading,.admin-token-row,.admin-code-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-panel-heading .mini-heading{color:var(--teal-dark)}.admin-panel-heading .mini-heading span{color:var(--blue);background:#eaf1ff;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:900}.admin-panel-body{gap:12px;display:grid}.admin-login-panel{grid-template-columns:minmax(0,1fr) auto;align-items:end}.admin-login-panel .ai-note{grid-column:1/-1}.admin-session-status{color:var(--teal-dark);align-items:center;gap:7px;font-size:.84rem;display:inline-flex}.admin-session-status svg{width:18px;height:18px}.admin-token-row label{flex:320px}.admin-tools-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.9fr);gap:12px;display:grid}.admin-tool-section{border-top:1px solid #0f766e29;align-content:start;gap:10px;padding-top:12px;display:grid}.admin-ops-section{gap:12px}.admin-stats-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.admin-stats-grid article{background:#fff;border:1px solid #0f766e24;border-radius:8px;gap:4px;padding:10px;display:grid}.admin-stats-grid span,.admin-stats-grid small{color:var(--muted);font-size:.72rem;font-weight:850;line-height:1.35}.admin-stats-grid strong{color:var(--teal-dark);font-size:clamp(1.25rem,2vw,1.7rem);line-height:1}.admin-cost-panel{background:#fbfefd;border:1px solid #0f766e29;border-radius:8px;gap:10px;padding:12px;display:grid}.admin-cost-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.admin-cost-summary article{border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;padding:10px;display:grid}.admin-cost-summary span,.admin-cost-table span{color:var(--muted);font-size:.74rem;font-weight:800}.admin-cost-summary strong{color:var(--teal-dark);font-size:1.15rem}.admin-cost-table{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;display:grid;overflow-x:auto}.admin-cost-row{border-top:1px solid var(--line);grid-template-columns:minmax(150px,1.3fr) repeat(4,minmax(100px,1fr));align-items:center;gap:10px;min-width:650px;padding:9px 11px;display:grid}.admin-cost-row:first-child{border-top:0}.admin-cost-row.heading{background:#f5faf8}.admin-cost-row>strong{color:var(--teal-dark);font-size:.8rem}.admin-ops-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.admin-ops-grid>section{align-content:start;gap:8px;min-width:0;display:grid}.admin-account-list{overscroll-behavior:contain;gap:8px;max-height:260px;display:grid;overflow:auto}.admin-account-list article{background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:10px;padding:10px 12px;display:grid}.admin-account-list article div{gap:3px;min-width:0;display:grid}.admin-account-list strong,.admin-account-list span,.admin-account-list small{overflow-wrap:anywhere;min-width:0}.admin-account-list strong{color:var(--teal-dark);font-size:.86rem}.admin-account-list span,.admin-account-list small{color:var(--muted);font-size:.75rem;font-weight:800;line-height:1.35}.admin-account-list em{color:var(--teal-dark);white-space:nowrap;font-style:normal;font-weight:950}.admin-tool-heading{gap:4px;display:grid}.admin-tool-heading strong{color:var(--teal-dark);font-size:.95rem}.admin-tool-heading span{color:var(--muted);font-size:.8rem;font-weight:800;line-height:1.45}.admin-code-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.admin-code-form .wide{grid-column:1/-1}.admin-ai-route-list{gap:10px;display:grid}.admin-ai-route-card{background:#fff;border:1px solid #0f766e24;border-radius:8px;gap:10px;padding:12px;display:grid}.admin-ai-route-card.is-enabled{box-shadow:inset 3px 0 0 var(--teal);border-color:#0f766e57}.admin-ai-route-head{grid-template-columns:32px minmax(150px,1fr) auto auto;align-items:end;gap:8px;display:grid}.admin-ai-route-priority{width:28px;height:28px;color:var(--teal-dark);background:#e8f6f3;border-radius:50%;align-self:center;place-items:center;font-size:.78rem;font-weight:950;display:grid}.admin-ai-route-toggle{min-height:40px;color:var(--teal-dark);align-items:center;gap:7px;font-size:.8rem;font-weight:900;display:inline-flex}.admin-ai-route-toggle input{width:18px;height:18px;accent-color:var(--teal)}.admin-ai-route-controls,.admin-ai-route-actions{align-items:center;gap:6px;display:flex}.admin-ai-route-icon{width:40px;min-width:40px;padding:0}.admin-ai-route-icon:disabled{cursor:not-allowed;opacity:.38}.admin-ai-route-card .admin-code-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-ai-model-hint{color:var(--muted);font-size:.78rem;font-weight:800;line-height:1.45}.admin-ai-key-status{border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;min-width:0;padding:9px 10px;font-size:.78rem;font-weight:850;line-height:1.4;display:flex}.admin-ai-key-status svg{flex:none;width:17px;height:17px}.admin-ai-key-status.saved{color:var(--teal-dark);background:#eefaf7;border-color:#0f766e38}.admin-ai-key-status.draft{color:#2458a6;background:#f3f7ff;border-color:#2563c733}.admin-ai-key-status.missing{color:#a84032;background:#fff7f5;border-color:#dc523f2e}.admin-ai-route-footer{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.admin-ai-route-test-actions{gap:8px;display:flex}.admin-ai-route-test-actions .ghost-button{white-space:nowrap;min-height:38px}.admin-ai-route-test-actions svg{width:16px;height:16px}.admin-ai-route-feedback{color:var(--teal-dark);font-size:.78rem;font-weight:850;line-height:1.45}.admin-ai-route-state{color:var(--muted);font-size:.74rem;font-weight:850}.admin-code-list{overscroll-behavior:contain;gap:8px;max-height:280px;display:grid;overflow:auto}.admin-code-list article{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.admin-code-list article div{gap:3px;min-width:0;display:grid}.admin-code-list strong,.admin-code-list span,.admin-code-list small{overflow-wrap:anywhere;min-width:0}.admin-code-list strong{color:var(--teal-dark);font-size:.88rem}.admin-code-list span,.admin-code-list small{color:var(--muted);font-size:.76rem;font-weight:800;line-height:1.4}.admin-code-status{color:var(--good);white-space:nowrap;background:#e9fbf3;border-radius:999px;padding:5px 8px;font-size:.72rem;font-style:normal;font-weight:900}.admin-code-status.status-redeemed{color:var(--muted);background:#edf2f7}.admin-code-status.status-expired,.admin-code-status.status-disabled{color:var(--coral);background:#fff1f2}.ai-credit-hint{color:var(--teal-dark);background:#fff;border:1px solid #0f766e24;border-radius:8px;margin:0;padding:10px 12px;font-size:.82rem;font-weight:850;line-height:1.5}.ai-credit-hint.is-low{color:#75480e;background:#fff8e7;border-color:#b453093d}.tabbar button,.practice-modebar button,.ghost-button,.primary-button,.danger-button,.round-button,.finish-button{border:1px solid var(--line);min-height:40px;color:var(--foreground);text-align:center;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-weight:850;line-height:1.2;display:inline-flex}.editor-actions{gap:10px;display:flex}.editor-actions button{flex:1}.linked-course-preview{background:#eefcf8;border-radius:8px;gap:8px;padding:10px 12px;display:grid}.linked-course-preview strong{color:var(--teal-dark);font-size:.86rem}.linked-course-preview div{flex-wrap:wrap;gap:6px;display:flex}.linked-course-preview span{overflow-wrap:anywhere;color:#174f4a;background:#fff;border:1px solid #0f766e2e;border-radius:999px;max-width:100%;padding:6px 8px;font-size:.78rem;font-weight:850}.ghost-button svg,.primary-button svg,.danger-button svg,.round-button svg,.finish-button svg,.tabbar svg,.practice-modebar svg{flex:none;width:17px}.primary-button,.finish-button{background:var(--teal);color:#fff;border-color:#0000}.ghost-button{color:var(--teal-dark)}.danger-button{color:var(--coral)}.primary-button:disabled{cursor:not-allowed;opacity:.6}.danger-button:disabled{cursor:not-allowed;opacity:.45}.practice-panel{min-height:690px;overflow:hidden}.workspace.focus-workspace .practice-panel{min-height:calc(100vh - 108px)}.practice-toolbar{border-bottom:1px solid var(--line);background:#ffffffdb;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.practice-toolbar>div:first-child{gap:3px;min-width:0;display:grid}.practice-toolbar strong,.practice-toolbar span{overflow-wrap:anywhere;min-width:0}.practice-toolbar span{color:var(--muted);font-size:.8rem;font-weight:850}.practice-toolbar-actions{align-items:center;gap:8px;display:flex}.practice-toolbar-actions select{width:min(260px,34vw)}.tabbar{border-bottom:1px solid var(--line);background:#f7faf9cc;grid-template-columns:repeat(5,1fr);gap:8px;padding:14px;display:grid}.tabbar button.active{color:var(--blue);background:#eaf1ff;border-color:#2563c759}.tab-panel{gap:18px;padding:22px;display:grid}.practice-tab-panel{align-content:start}.practice-modebar{background:#f8fbff;border:1px solid #0f766e29;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;display:grid}.practice-mode-controls{z-index:2;grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid;position:relative}.practice-focus-button,.pptx-expand-button{color:#fff;min-height:46px;font:inherit;cursor:pointer;background:#0f766e;border:1px solid #0f766e;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:.86rem;font-weight:900;display:inline-flex}.practice-focus-button svg,.pptx-expand-button svg{flex:none;width:18px;height:18px}.practice-tab-panel.is-focus{z-index:900;background:#f7faf9;min-height:100dvh;padding:18px clamp(16px,3vw,42px) 32px;position:fixed;inset:0;overflow:auto}.practice-tab-panel.is-focus .practice-mode-controls{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7faf9f5;border-bottom:1px solid #0f766e24;padding:0 0 12px;position:sticky;top:0}.practice-tab-panel.is-focus>.practice-stage{width:min(1480px,100%);margin-inline:auto}body.practice-focus-open,body.pptx-focus-open{overflow:hidden}.practice-modebar button{color:#40505d;background:0 0;border-color:#0000;gap:10px;min-height:54px;font-size:1rem}.practice-modebar svg{width:22px;height:22px}.practice-modebar button.active{color:var(--teal-dark);background:#fff;box-shadow:0 10px 24px #0f766e1f}.listening-modebar{background:#f8fbff;border:1px solid #0f766e29;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px;display:grid}.listening-modebar button{color:#40505d;background:0 0;border-color:#0000;min-height:40px}.listening-modebar button.active{color:var(--teal-dark);background:#fff;box-shadow:0 10px 24px #0f766e1f}.listening-player{background:#f8fbff;border:1px solid #2563c72e;border-radius:8px;gap:12px;padding:12px;display:grid}.player-buttons,.player-settings{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.player-buttons .ghost-button,.player-buttons .round-button{min-height:38px;padding:8px 11px}.player-settings label{min-width:120px;max-width:150px;font-size:.78rem}.player-settings span{color:var(--blue);background:#eaf1ff;border-radius:999px;margin-left:auto;padding:7px 10px;font-size:.78rem;font-weight:900}.dictation-panel{background:#fbfdfc;border:1px solid #0f766e29;border-radius:8px;gap:10px;padding:14px;display:grid}.dictation-panel .mini-heading{justify-content:space-between}.dictation-panel .mini-heading strong{color:var(--teal-dark)}.dictation-panel .mini-heading span{color:#75480e;background:#fff6e8;border-radius:999px;padding:5px 8px;font-size:.76rem;font-weight:900}.dictation-panel textarea{min-height:220px;line-height:1.65}.dictation-panel>small{color:var(--muted);font-size:.82rem;font-weight:850}.practice-stage{gap:18px;animation:.22s cubic-bezier(.16,1,.3,1) panel-enter;display:grid}.reading-layout,.vocab-layout{gap:14px;display:grid}.reading-layout{grid-template-columns:1fr}.reading-guide-panel,.reading-concept-panel,.reading-material-map-panel,.reading-overview-panel,.reading-reader-panel,.reading-snippet-list,.reading-assist-panel,.vocab-word-panel,.vocab-word-list,.vocab-review-box{background:#fbfdfc;border:1px solid #0f766e29;border-radius:8px;gap:12px;padding:14px;display:grid}.reading-overview-panel{background:linear-gradient(135deg,#fbfdfc,#f8fbff)}.reading-overview-panel p{border:1px solid var(--line);color:#303943;white-space:pre-wrap;background:#fff;border-radius:8px;margin:0;padding:14px;line-height:1.7}.reading-overview-panel .mini-heading{justify-content:space-between}.reading-overview-panel .mini-heading strong,.reading-concept-panel .mini-heading strong,.reading-guide-panel .mini-heading strong,.reading-reader-panel .mini-heading strong,.reading-material-map-panel .mini-heading strong,.reading-assist-panel .mini-heading strong,.reading-snippet-list .mini-heading strong{color:var(--teal-dark)}.reading-overview-panel .mini-heading span,.reading-concept-panel .mini-heading span,.reading-reader-panel .mini-heading span,.reading-material-map-panel .mini-heading span,.reading-snippet-list .mini-heading span{color:var(--blue);background:#eaf1ff;border-radius:999px;padding:5px 8px;font-size:.76rem;font-weight:900}.reading-coverage-note{width:max-content;max-width:100%;color:var(--teal-dark);background:#eefcf8;border-radius:999px;padding:7px 10px;font-size:.8rem;font-weight:900}.reading-material-map{gap:10px;display:grid}.reading-material-map article{border:1px solid var(--line);background:#fff;border-radius:8px;gap:7px;padding:12px;display:grid}.reading-material-map strong{overflow-wrap:anywhere;min-width:0;color:var(--foreground)}.reading-material-map small,.reading-material-map p,.reading-material-map-panel>p{color:var(--muted);margin:0;font-size:.8rem;font-weight:800;line-height:1.5}.reading-route-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.reading-route-grid span{color:#303943;background:#fff;border:1px solid #0f766e29;border-radius:8px;gap:6px;padding:12px;font-size:.88rem;font-weight:800;line-height:1.45;display:grid}.reading-route-grid small,.reading-snippet-card strong small{color:#75480e;background:#fff6e8;border-radius:999px;width:max-content;padding:4px 7px;font-size:.72rem;font-weight:900;display:inline-grid}.reading-concept-strip{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reading-concept-strip strong{color:var(--teal-dark);font-size:.88rem}.reading-concept-strip span{color:var(--good);background:#effaf3;border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:900}.reading-concept-panel{background:linear-gradient(135deg,#fff,#f8fcfb)}.reading-concept-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.reading-concept-card{background:#fff;border:1px solid #0f766e2e;border-radius:8px;gap:10px;padding:14px;display:grid}.reading-concept-card-head{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 9px;display:grid}.reading-concept-card-head small{color:#75480e;background:#fff6e8;border-radius:999px;padding:4px 7px;font-size:.72rem;font-weight:950}.reading-concept-card-head strong{min-width:0;color:var(--teal-dark);overflow-wrap:anywhere}.reading-concept-card-head span{color:var(--muted);overflow-wrap:anywhere;grid-column:1/-1;font-size:.78rem;font-weight:850;line-height:1.4}.reading-concept-card p{color:#303943;margin:0;line-height:1.65}.reading-concept-why{background:#f5fbfa;border-left:3px solid #0f766e47;gap:5px;padding:10px 12px;display:grid}.reading-concept-why strong{color:var(--teal-dark);font-size:.78rem}.reading-concept-why span{color:var(--muted);font-size:.86rem;font-weight:800;line-height:1.55}.reading-point-list,.reading-focus-row,.vocab-actions,.vocab-group-switcher,.vocab-mode-toggles{flex-wrap:wrap;gap:8px;display:flex}.reading-point-list p{border:1px solid var(--line);background:#fff;border-radius:8px;flex:210px;margin:0;padding:12px;line-height:1.55}.reading-focus-row span{color:#75480e;background:#fff6e8;border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:900}.reading-snippet-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;padding:12px;display:grid}.reading-snippet-card div{justify-content:space-between;align-items:center;gap:10px;display:flex}.reading-snippet-card strong,.vocab-word-panel strong{color:var(--teal-dark)}.reading-snippet-card strong{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex}.reading-snippet-card span,.reading-snippet-card small{color:var(--muted);font-size:.8rem;font-weight:850}.reading-snippet-card p{color:#303943;white-space:pre-wrap;margin:0;line-height:1.65}.reading-reader-panel{background:linear-gradient(135deg,#fff,#f8fbff)}.ppt-preview-route-banner{background:#f5f8ff;border:1px solid #2563c733;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.ppt-preview-route-banner>div{gap:4px;min-width:0;display:grid}.ppt-preview-route-banner strong{color:var(--teal-dark)}.ppt-preview-route-banner span{color:var(--muted);font-size:.9rem;line-height:1.55}.ppt-preview-route-banner .ghost-button{white-space:nowrap;flex:none}.ppt-slide-guide-panel{border:1px solid var(--line);background:#fff;border-radius:8px;gap:14px;padding:16px;display:grid}.ppt-slide-guide-panel>.mini-heading{color:var(--teal-dark)}.ppt-slide-guide-panel>.mini-heading span{color:var(--blue);background:#eaf1ff;border-radius:999px;margin-left:auto;padding:4px 9px;font-size:.78rem;font-weight:900}.ppt-slide-analysis-list{gap:8px;display:grid}.ppt-slide-analysis-card{border:1px solid var(--line);background:#fbfdfc;border-radius:8px;overflow:hidden}.ppt-slide-analysis-card[open]{background:#fff;border-color:#0f766e52}.ppt-slide-analysis-card summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:50px;padding:10px 12px;list-style:none;display:grid}.ppt-slide-analysis-card summary::-webkit-details-marker{display:none}.ppt-slide-analysis-card summary small{color:var(--teal-dark);white-space:nowrap;background:#eaf6f3;border-radius:6px;padding:5px 8px;font-weight:900}.ppt-slide-analysis-card summary strong{color:#1f2933;overflow-wrap:anywhere;min-width:0}.ppt-slide-analysis-card summary span{max-width:260px;color:var(--muted);text-align:right;overflow-wrap:anywhere;font-size:.78rem}.ppt-slide-analysis-body{border-top:1px solid var(--line);gap:10px;padding:12px;display:grid}.ppt-slide-analysis-body p{color:#334155;white-space:pre-wrap;margin:0;line-height:1.7}.ppt-slide-analysis-body>div{border-left:3px solid #0f766e47;gap:3px;padding-left:10px;display:grid}.ppt-slide-analysis-body>div strong{color:var(--teal-dark);font-size:.82rem}.ppt-slide-analysis-body>div span{color:var(--muted);line-height:1.6}.ppt-reading-summary{background:#fff8f6;border:1px solid #df5b494d;border-radius:8px;padding:18px;scroll-margin-top:18px}.ppt-reading-summary small{color:var(--coral);font-weight:900}.ppt-reading-summary h3{color:var(--teal-dark);margin:7px 0 10px;font-size:1.1rem}.ppt-reading-summary p,.ppt-reading-summary div,.ppt-reading-summary span{color:#465461;margin:0;line-height:1.7;display:block}.ppt-reading-summary div,.ppt-reading-summary span{margin-top:8px}.reading-reader-hint{color:var(--muted);background:#f7fcfb;border:1px dashed #0f766e38;border-radius:8px;margin:0;padding:10px 12px;font-size:.86rem;font-weight:850;line-height:1.5}.reader-material-toolbar,.pptx-viewer-heading,.pptx-slide-controls{justify-content:space-between;align-items:center;gap:10px;display:flex}.reader-material-toolbar{flex-wrap:wrap}.reader-material-modes{background:#edf4f3;border:1px solid #0f766e24;border-radius:8px;grid-template-columns:repeat(2,minmax(120px,1fr));gap:4px;padding:4px;display:grid}.reader-material-modes button{min-height:38px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:.88rem;font-weight:900}.reader-material-modes button.active{color:var(--teal-dark);background:#fff;box-shadow:0 4px 12px #19232d14}.reader-material-modes button:disabled{cursor:not-allowed;opacity:.45}.reader-material-select{min-width:min(100%,280px);color:var(--muted);align-items:center;gap:8px;font-size:.8rem;font-weight:900;display:flex}.reader-material-select select{min-width:0;color:var(--teal-dark);font:inherit;background:#fff;border:1px solid #0f766e33;border-radius:7px;flex:1;padding:9px 10px;font-weight:850}.pptx-material-viewer{background:#f4f8f8;border:1px solid #0f766e29;border-radius:8px;min-width:0;overflow:hidden}.pptx-viewer-heading{background:#fff;border-bottom:1px solid #0f766e24;padding:11px 12px}.pptx-heading-actions{flex:none;align-items:center;gap:8px;display:flex}.pptx-expand-button{min-height:38px;padding:7px 11px}.pptx-expand-button:disabled{cursor:wait;opacity:.48}.pptx-viewer-heading .pptx-expand-button span{color:#fff;font-size:.8rem;font-weight:900}.pptx-viewer-heading>div:first-child{flex:auto;gap:2px;min-width:0;display:grid}.pptx-viewer-heading strong{color:var(--teal-dark);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.pptx-viewer-heading span,.pptx-page-indicator,.pptx-slide-controls span{color:var(--muted);font-size:.78rem;font-weight:850}.pptx-page-indicator{color:var(--teal-dark);background:#f7fbfa;border:1px solid #0f766e24;border-radius:7px;flex:none;padding:6px 8px}.pptx-viewer-workspace{grid-template-columns:148px minmax(0,1fr);min-width:0;display:grid}.pptx-thumbnail-rail{background:#f8fbfb;border-right:1px solid #0f766e24;align-content:start;gap:8px;max-height:68dvh;padding:10px 8px;display:grid;overflow-y:auto}.pptx-thumbnail-rail button{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:6px;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:5px;padding:5px;display:grid}.pptx-thumbnail-rail button.active{border-color:var(--teal);background:#0f766e14}.pptx-thumbnail-rail small{color:var(--muted);padding-top:3px;font-size:.7rem;font-weight:900}.pptx-slide-clone{background:#fff;width:100%;position:relative;overflow:hidden}.pptx-slide-clone.thumbnail{pointer-events:none;border:1px solid #47556924;box-shadow:0 3px 8px #19232d14}.pptx-main-column{background:#edf3f3;align-content:start;gap:10px;min-width:0;padding:14px;display:grid}.pptx-main-slide{background:#fff;outline:none;min-width:0;overflow:hidden;box-shadow:0 12px 30px #19232d24}.pptx-main-slide:focus-visible{outline-offset:3px;outline:3px solid #0f766e42}.pptx-slide-controls{min-height:42px}.pptx-slide-controls .ghost-button{min-height:38px;padding:7px 10px}.pptx-slide-controls svg{width:17px;height:17px}.pptx-viewer-state,.reader-source-restore{text-align:center;background:#f7fbfa;border:1px dashed #0f766e3d;border-radius:8px;align-content:center;place-items:center;gap:9px;min-height:280px;padding:24px;display:grid}.pptx-viewer-state svg,.reader-source-restore>svg{width:30px;height:30px;color:var(--teal)}.pptx-viewer-state strong,.reader-source-restore strong{color:var(--teal-dark)}.pptx-viewer-state p,.reader-source-restore p,.reader-source-restore small,.reader-source-note{color:var(--muted);margin:0;font-size:.82rem;font-weight:800;line-height:1.55}.pptx-viewer-state.failed{background:#fff8f7}.pptx-loading-bar{background:#0f766e1f;border-radius:999px;width:min(220px,70%);height:5px;overflow:hidden}.pptx-loading-bar:after{content:"";border-radius:inherit;background:var(--teal);width:42%;height:100%;animation:1.1s ease-in-out infinite alternate pptx-loading;display:block}.reader-source-restore .primary-button{cursor:pointer;width:auto;position:relative}.reader-source-restore input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.reader-source-restore.loading svg{animation:1s linear infinite spin}.reader-source-note{background:#f7fbfa;border-left:3px solid #0f766e38;padding:8px 10px}.pptx-render-source{z-index:-1;opacity:0;pointer-events:none;width:960px;position:fixed;top:0;left:-200vw}.pptx-material-viewer.is-expanded{background:#e8efef;border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-height:0;display:grid;position:relative;overflow:hidden}.pptx-material-viewer.is-expanded .pptx-viewer-heading{min-height:62px;padding:10px clamp(12px,2vw,28px)}.pptx-material-viewer.is-expanded .pptx-viewer-workspace{grid-template-columns:clamp(140px,13vw,210px) minmax(0,1fr);min-height:0}.pptx-material-viewer.is-expanded .pptx-thumbnail-rail{max-height:none}.pptx-material-viewer.is-expanded .pptx-main-column{grid-template-rows:minmax(0,1fr) auto;justify-items:center;min-height:0;padding:clamp(10px,1.5vw,20px)}.pptx-material-viewer.is-expanded .pptx-main-slide{align-self:center;width:min(100%,177.78dvh - 248.892px)}.pptx-material-viewer.is-expanded .pptx-slide-controls{width:min(100%,960px)}@keyframes pptx-loading{0%{transform:translate(-10%)}to{transform:translate(150%)}}.reading-reader-workspace{grid-template-columns:minmax(0,1fr) minmax(260px,.36fr);align-items:start;gap:14px;display:grid}.reading-reader-workspace.is-pptx-focus{z-index:1000;background:#e8efef;grid-template-columns:minmax(0,1fr) clamp(320px,25vw,410px);align-items:stretch;gap:0;height:100dvh;position:fixed;inset:0;overflow:hidden}.reading-reader-workspace.is-pptx-focus .reader-page-column{grid-template-rows:minmax(0,1fr);height:100%;min-height:0;overflow:hidden}.reading-reader-workspace.is-pptx-focus .reader-source-note{display:none}.reader-assistant-panel{gap:12px;display:grid;position:sticky;top:14px}.reading-reader-workspace.is-pptx-focus .reader-assistant-panel{background:#f8fbfb;border-left:1px solid #0f766e2e;align-content:start;height:100dvh;max-height:none;padding:14px;position:relative;top:auto;overflow-y:auto}.reader-page-column{gap:10px;min-width:0;display:grid}.reader-page-controls{background:#fff;border:1px solid #0f766e29;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.reader-page-controls span{color:var(--teal-dark);text-align:center;font-size:.86rem;font-weight:900}.reader-page-controls .ghost-button{min-height:36px;padding:8px 12px}.reader-selection-card,.reader-tool-card,.reader-note-card,.reader-word-popover,.reader-all-notes,.reader-slide-guide-card{background:#fff;border:1px solid #0f766e29;border-radius:8px;gap:10px;padding:12px;display:grid}.reader-slide-guide-card{background:#f7fcfb;border-color:#0f766e3d}.reader-slide-guide-head,.reader-slide-guide-head>div{align-items:center;gap:8px;display:flex}.reader-slide-guide-head{justify-content:space-between}.reader-slide-guide-head svg{width:17px;height:17px;color:var(--coral)}.reader-slide-guide-head strong,.reader-slide-guide-content h3,.reader-slide-guide-content strong{color:var(--teal-dark)}.reader-slide-guide-head>span{color:var(--teal-dark);background:#e4f2ef;border-radius:999px;flex:none;padding:4px 7px;font-size:.7rem;font-weight:900}.reader-slide-guide-content{gap:9px;animation:.18s ease-out slide-guide-enter;display:grid}.reader-slide-guide-content h3,.reader-slide-guide-content p,.reader-slide-guide-empty p{margin:0}.reader-slide-guide-content h3{font-size:1rem;line-height:1.35}.reader-slide-guide-content>div{border-top:1px solid #0f766e1f;gap:4px;padding-top:9px;display:grid}.reader-slide-guide-content p,.reader-slide-guide-empty p{color:#465461;font-size:.82rem;font-weight:700;line-height:1.65}.reader-slide-guide-excerpt{border-left:3px solid #0f766e52;padding-left:9px}.reader-slide-thinking-hint{background:#fff8f4;border-radius:6px;padding:9px}.reader-slide-guide-empty{gap:9px;display:grid}.reader-slide-guide-empty .ghost-button{width:100%}.reader-slide-detail{border-top:1px solid #0f766e2e;gap:12px;padding-top:12px;display:grid}.reader-slide-detail-heading{align-items:flex-start;gap:9px;display:flex}.reader-slide-detail-heading svg{width:18px;height:18px;color:var(--coral);flex:none}.reader-slide-detail-heading>div,.reader-slide-detail>div:not(.reader-slide-detail-heading){gap:5px;display:grid}.reader-slide-detail-heading span{color:#5d6974;font-size:.76rem;font-weight:800}.reader-slide-detail p,.reader-slide-detail li,.reader-slide-detail dd{color:#3f4e5a;margin:0;font-size:.82rem;font-weight:650;line-height:1.65}.reader-slide-detail ul,.reader-slide-detail ol{gap:5px;margin:0;padding-left:20px;display:grid}.reader-slide-detail dl{gap:8px;margin:0;display:grid}.reader-slide-detail dl>div{border-left:3px solid #0f766e3d;gap:2px;padding-left:8px;display:grid}.reader-slide-detail dt{color:var(--teal-dark);font-size:.82rem;font-weight:900}.reader-slide-detail dd{margin:0}.reader-slide-detail-button{width:100%;min-height:46px}.reader-slide-detail-message{color:#5d6974;margin:-2px 0 0;font-size:.76rem;font-weight:800;line-height:1.5}.reader-slide-detail-message.is-failed{color:#b43b2a}.reader-slide-detail-message.is-ready{color:var(--teal-dark)}@keyframes slide-guide-enter{0%{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.reader-selection-card>div,.reader-word-popover>div,.reader-passage-head,.reader-note-list article,.reader-all-notes article{justify-content:space-between;align-items:center;gap:10px;display:flex}.reader-selection-card strong,.reader-tool-card strong,.reader-word-popover strong,.reader-passage-head strong{color:var(--teal-dark)}.reader-selection-card span,.reader-word-popover span,.reader-word-popover small,.reader-passage-head span,.reader-all-notes small{color:var(--muted);font-size:.8rem;font-weight:850;line-height:1.45}.reader-selection-card p,.reader-word-popover p,.reader-all-notes p{color:#303943;margin:0;line-height:1.65}.reader-word-heading{align-items:baseline;gap:8px;min-width:0;display:flex}.reader-word-speak-button{min-height:32px;color:var(--teal-dark);font:inherit;cursor:pointer;background:#f2faf8;border:1px solid #0f766e33;border-radius:999px;flex:none;align-items:center;gap:5px;padding:6px 10px;font-size:.76rem;font-weight:900;display:inline-flex}.reader-word-speak-button:hover{background:#e6f4f1;border-color:#0f766e66}.reader-word-speak-button:focus-visible{outline-offset:2px;outline:3px solid #0f766e33}.reader-word-speak-button svg{width:15px;height:15px}.reader-word-popover .reader-local-dictionary-note{color:var(--teal-dark);background:#eef8f5;border-radius:6px;justify-self:start;padding:6px 8px;font-size:.72rem}.reader-selection-card p{white-space:pre-wrap;background:#f7fbfa;border-left:3px solid #0f766e38;max-height:140px;padding:9px 10px;overflow-y:auto}.reader-word-popover .ghost-button,.reader-selection-card .ghost-button,.reader-note-card .primary-button{justify-self:start}.reader-inline-actions{flex-wrap:wrap;gap:8px;display:flex}.reader-word-popover>.reader-inline-actions{justify-content:flex-start}.reader-word-popover>.reader-notebook-control{border-top:1px solid #0f766e1f;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding-top:10px;display:grid}.reader-notebook-control label{color:var(--muted);gap:5px;font-size:.76rem;font-weight:850;display:grid}.reader-notebook-control select{border:1px solid var(--line);min-width:0;min-height:40px;color:var(--foreground);font:inherit;background:#fff;border-radius:8px;padding:8px 10px;font-weight:850}.reader-notebook-control .ghost-button{white-space:nowrap;min-height:40px}.reader-word-popover .reader-notebook-status{color:var(--teal-dark)}.reader-assist-result .reader-settings-button{justify-self:start}.reader-tool-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.reader-tool-actions .reader-tool-button:first-child{grid-column:1/-1}.reader-tool-button{text-align:left;justify-content:flex-start;min-height:58px;padding:10px 12px}.reader-tool-button span{gap:3px;min-width:0;display:grid}.reader-tool-button strong{color:var(--teal-dark);white-space:nowrap;font-size:.92rem;line-height:1.1}.reader-tool-button small{color:var(--muted);white-space:nowrap;font-size:.72rem;font-weight:850;line-height:1.2}.reader-assist-result{background:#f5fbfa;border-left:3px solid #0f766e52;gap:8px;padding:10px 12px;display:grid}.reader-assist-result.failed{background:#fff7f6;border-color:#ef444461}.reader-analysis-panel{border-top:1px solid #0f766e24;gap:10px;padding-top:10px;display:grid}.reader-analysis-button{justify-self:start}.reader-analysis-result{background:#fffbebb8;border-left:3px solid #f59e0b57;gap:7px;padding:9px 11px;display:grid}.reader-analysis-result.failed{background:#fff7f6;border-left-color:#ef444461}.reader-analysis-result strong{color:var(--teal-dark)}.reader-assist-result ul,.reader-analysis-result ul{color:var(--muted);gap:5px;margin:0;padding-left:18px;font-weight:800;line-height:1.55;display:grid}.reader-note-box{color:var(--teal-dark);gap:8px;font-weight:900;display:grid}.reader-note-box textarea{min-height:92px}.reader-note-list,.reader-all-notes{gap:8px;display:grid}.reader-note-list article,.reader-all-notes article{border:1px solid var(--line);background:#fbfdfc;border-radius:8px;padding:10px}.reader-note-list button{border:1px solid var(--line);width:34px;height:34px;color:var(--danger);background:#fff;border-radius:8px;place-items:center;display:inline-grid}.reading-reader-scroll{overscroll-behavior:contain;-webkit-user-select:text;user-select:text;background:#fff;border:1px solid #0f766e29;border-radius:8px;gap:12px;min-height:min(72vh,760px);max-height:none;padding:clamp(16px,2vw,28px);display:grid;overflow-y:auto}.reader-passage{border-bottom:1px solid var(--line);gap:14px;padding-bottom:24px;display:grid}.reader-passage:last-child{border-bottom:0;padding-bottom:0}.reader-passage-head strong{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex}.reader-passage-head small,.long-sentence-badge{color:#75480e;background:#fff6e8;border-radius:999px;place-items:center;width:max-content;min-width:28px;padding:4px 7px;font-size:.72rem;font-weight:900;display:inline-grid}.reader-original-text{color:#17202a;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:clamp(1rem,1vw,1.08rem);line-height:1.86}.reader-original-text::selection{background:#14b8a63d}.reader-selection-card p::selection{background:#14b8a63d}.reading-reader-scroll:focus{outline-offset:3px;outline:3px solid #0f766e29}.vocab-layout{grid-template-columns:minmax(0,.96fr) minmax(160px,.5fr);align-items:stretch}.reading-view-tabs,.vocab-view-tabs{background:#f5faf9;border:1px solid #0f766e29;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px;display:grid}.vocab-view-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.reading-unit-control{background:#f8fcfb;border:1px solid #0f766e29;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(200px,300px);align-items:center;gap:12px;padding:11px 12px;display:grid}.reading-unit-control>div{align-items:center;gap:10px;min-width:0;display:flex}.reading-unit-control>div>svg{width:19px;height:19px;color:var(--teal);flex:none}.reading-unit-control span{gap:2px;min-width:0;display:grid}.reading-unit-control strong{color:var(--teal-dark);font-size:.92rem}.reading-unit-control small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reading-unit-control select{width:100%;min-height:42px;color:var(--teal-dark);background:#fff;border:1px solid #0f766e3d;border-radius:8px;padding:0 12px;font-weight:800}.reading-unit-control select:disabled{cursor:not-allowed;opacity:.62}.vocab-recall{border:1px solid var(--line);background:#fbfdfc;border-radius:8px;min-height:520px;padding:clamp(16px,3vw,28px)}.vocab-recall-intro,.vocab-recall-done{align-content:center;gap:22px;max-width:720px;min-height:440px;margin:0 auto;display:grid}.vocab-recall-intro h3,.vocab-recall-done h3,.vocab-recall-question h3{color:var(--teal-dark);letter-spacing:0;margin:0}.vocab-recall-intro h3,.vocab-recall-done h3{font-size:clamp(1.6rem,3vw,2.45rem)}.vocab-recall-intro p,.vocab-recall-done p,.vocab-recall-question p{color:var(--muted);margin:8px 0 0;line-height:1.65}.vocab-recall-intro>div>span{color:var(--blue);font-size:.82rem;font-weight:900}.vocab-recall-intro dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.vocab-recall-intro dl div{background:#fff;border:1px solid #0f766e24;border-radius:8px;gap:5px;padding:14px;display:grid}.vocab-recall-intro dt{color:var(--muted);font-size:.78rem;font-weight:850}.vocab-recall-intro dd{color:var(--teal-dark);margin:0;font-size:1.25rem;font-weight:950}.vocab-recall-intro .primary-button,.vocab-recall-done .primary-button{justify-self:start}.vocab-recall-done{text-align:center;justify-items:center}.vocab-recall-done>svg{width:48px;height:48px;color:var(--good);background:#e8f7ef;border-radius:50%;padding:11px}.vocab-recall-card{gap:18px;max-width:820px;margin:0 auto;display:grid}.vocab-recall-progress{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-weight:900;display:flex}.vocab-recall-progress strong{color:var(--teal-dark)}.vocab-recall-meter{background:#e5efed;border-radius:999px;height:5px;overflow:hidden}.vocab-recall-meter span{border-radius:inherit;background:var(--teal);height:100%;transition:width .24s;display:block}.vocab-recall-question{border-bottom:1px solid var(--line);text-align:center;align-content:center;justify-items:center;gap:10px;min-height:170px;padding:18px;display:grid}.vocab-recall-question h3{overflow-wrap:anywhere;max-width:720px;font-size:clamp(1.5rem,3.4vw,2.8rem);line-height:1.2}.vocab-recall-question small{color:var(--muted);font-weight:850}.vocab-recall-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.vocab-recall-options>button:not(.primary-button){border:1px solid var(--line);min-height:64px;color:var(--foreground);font:inherit;text-align:left;background:#fff;border-radius:8px;padding:12px 14px;font-weight:850;line-height:1.45}.vocab-recall-options>button:not(.primary-button):hover,.vocab-recall-options>button.selected{background:#f0faf7;border-color:#0f766e6b}.vocab-recall-options>button.correct{color:#166534;background:#effaf3;border-color:#15803d73}.vocab-recall-options>button.wrong{color:#9f2d20;background:#fff1ef;border-color:#df5b497a}.vocab-recall-next{grid-column:1/-1;justify-self:end}.vocab-recall-spell{gap:12px;display:grid}.vocab-recall-spell input{border:1px solid var(--line);min-height:58px;font:inherit;background:#fff;border-radius:8px;padding:12px 15px;font-size:1.05rem;font-weight:850}.vocab-recall-spell p{margin:0;font-weight:900}.vocab-recall-spell p.correct{color:var(--good)}.vocab-recall-spell p.wrong{color:#a13b2e}.vocab-recall-spell .primary-button{justify-self:end}.reading-view-tabs button,.vocab-view-tabs button{min-height:46px;color:var(--muted);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:900;display:inline-flex}.reading-view-tabs button.active,.vocab-view-tabs button.active{color:var(--teal-dark);background:#fff;box-shadow:0 10px 26px #0f766e1a}.reading-view-tabs svg,.vocab-view-tabs svg{width:19px;height:19px}.vocab-type-filter{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:2px;display:grid}.vocab-type-filter button{min-width:0;min-height:40px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:7px;font-weight:900;display:inline-flex}.vocab-type-filter button.active{color:var(--teal-dark);background:#fff;border-color:#0f766e38;box-shadow:0 8px 20px #0f766e14}.vocab-type-filter button span{min-width:24px;color:var(--teal-dark);background:#e9f7f4;border-radius:999px;padding:2px 6px;font-size:.72rem;line-height:1.35}.vocab-review-box{grid-column:1/-1}.vocab-review-box>.primary-button{justify-self:start}.vocab-word-progress{justify-content:space-between;align-items:center;gap:8px;display:flex}.vocab-word-progress span,.vocab-word-progress small{color:var(--muted);background:#fff;border-radius:999px;padding:6px 9px;font-size:.78rem;font-weight:900}.vocab-word-heading{gap:5px;display:grid}.vocab-word-heading>span{width:max-content;color:var(--blue);background:#eaf1ff;border-radius:999px;padding:5px 8px;font-size:.76rem;font-weight:900}.vocab-word-heading strong{overflow-wrap:anywhere;font-size:clamp(1.8rem,4vw,3.1rem);line-height:1}.vocab-word-heading small{color:var(--muted);font-weight:850}.vocab-word-panel p,.vocab-word-panel blockquote{background:#fff;border-radius:8px;margin:0;padding:12px;line-height:1.6}.vocab-word-panel blockquote{color:#303943;border-left:4px solid #0f766e42;gap:6px;display:grid}.vocab-word-panel blockquote span{color:var(--teal-dark);font-size:.78rem;font-weight:900}.vocab-definition-box{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.vocab-definition-box p{margin:0}.vocab-definition-box.missing p{color:var(--muted)}.vocab-lookup-button{white-space:nowrap;min-height:38px}.vocab-lookup-message{color:var(--muted);font-weight:800}.vocab-notebook-control{background:#fff;border:1px solid #0f766e1f;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:10px;display:grid}.vocab-notebook-control label,.vocab-notebook-entry label{color:var(--muted);gap:6px;font-size:.78rem;font-weight:900;display:grid}.vocab-notebook-control select,.vocab-notebook-entry select{border:1px solid var(--line);min-height:38px;color:var(--foreground);font:inherit;background:#fff;border-radius:8px;padding:8px 10px;font-weight:850}.vocab-notebook-control .ghost-button{white-space:nowrap;min-height:38px}.inline-spelling-card{background:#f8fbff;border:1px solid #2563c72e;border-radius:8px;gap:8px;padding:12px;font-weight:900;display:grid}.inline-spelling-card>span,.inline-spelling-card>small{color:var(--muted);font-size:.8rem;font-weight:800;line-height:1.45}.inline-spelling-card>div{grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:8px;display:grid}.inline-spelling-card svg{width:22px;color:var(--good)}.inline-spelling-card.correct{background:#effaf3;border-color:#15803d59}.inline-spelling-card.pending{background:#fff9f0;border-color:#b4530938}.vocab-actions .ghost-button{flex:110px}.vocab-action-help{color:var(--muted);background:#fff;border:1px solid #0f766e1f;border-radius:8px;gap:6px;padding:10px 12px;font-size:.8rem;font-weight:800;line-height:1.45;display:grid}.familiar-button{color:#a13b2e;background:#fff8f6;border-color:#df5b493d}.learned-button{color:var(--good);background:#effaf3;border-color:#15803d3d}.learned-button.active{box-shadow:inset 0 0 0 1px #15803d33}.vocab-word-list{grid-template-rows:auto minmax(0,1fr) auto;align-self:start;height:calc(100% - 18px);min-height:560px;overflow:hidden}.vocab-list-scroll{align-content:start;gap:10px;min-height:0;padding-right:2px;display:grid;overflow:auto}.vocab-group-switcher{justify-content:space-between;align-items:center}.vocab-group-switcher button{border:1px solid var(--line);min-height:34px;color:var(--teal-dark);background:#fff;border-radius:8px;padding:7px 9px;font-weight:850}.vocab-group-switcher button:disabled{cursor:not-allowed;opacity:.45}.vocab-group-switcher span{color:var(--muted);font-size:.78rem;font-weight:900}.vocab-list-scroll>button{border:1px solid var(--line);color:var(--foreground);text-align:left;background:#fff;border-radius:8px;gap:4px;padding:10px;display:grid}.vocab-list-scroll>button.active{background:#fff8f6;border-color:#df5b4957}.vocab-list-scroll>button.learned{background:#f4fbf6;border-color:#15803d3d}.vocab-list-scroll span{color:var(--muted);font-size:.76rem;font-weight:850}.vocab-list-scroll em{width:max-content;color:var(--good);background:#dff7e7;border-radius:999px;padding:3px 7px;font-size:.7rem;font-style:normal;font-weight:900}.vocab-list-footer{border-top:1px solid var(--line);gap:8px;padding-top:10px;display:grid}.vocab-list-footer .ghost-button{justify-content:center;width:100%}.vocab-notebook-panel,.vocab-notebook-group{background:#fbfdfc;border:1px solid #0f766e29;border-radius:8px;gap:12px;padding:14px;display:grid}.vocab-notebook-manager{background:#f8fbff;border:1px solid #2563c71f;border-radius:8px;gap:10px;padding:12px;display:grid}.vocab-notebook-add,.vocab-notebook-bulkbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.vocab-notebook-add input,.vocab-notebook-bulkbar select{border:1px solid var(--line);min-height:40px;color:var(--foreground);font:inherit;background:#fff;border-radius:8px;padding:9px 11px;font-weight:850}.vocab-notebook-custom-groups{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vocab-notebook-custom-groups>span{color:var(--muted);font-size:.78rem;font-weight:900}.vocab-notebook-custom-groups>strong,.vocab-notebook-group-chip{min-height:32px;color:var(--teal-dark);background:#fff;border:1px solid #0f766e29;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.78rem;font-weight:900;display:inline-flex}.vocab-notebook-group-chip{padding:3px 4px 3px 10px}.vocab-notebook-group-chip>span{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.vocab-notebook-group-chip button,.vocab-notebook-group-editor button{width:28px;height:28px;color:var(--teal-dark);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:inline-grid}.vocab-notebook-group-chip button:hover,.vocab-notebook-group-editor button:hover{background:#eaf7f4}.vocab-notebook-group-chip button:last-child{color:var(--coral)}.vocab-notebook-group-chip svg,.vocab-notebook-group-editor svg{width:14px;height:14px}.vocab-notebook-group-editor{background:#fff;border:1px solid #0f766e47;border-radius:8px;grid-template-columns:minmax(120px,220px) 28px 28px;align-items:center;gap:4px;padding:3px;display:grid}.vocab-notebook-group-editor input{min-width:0;height:30px;color:var(--foreground);font:inherit;background:0 0;border:0;outline:0;padding:4px 6px;font-size:.8rem;font-weight:900}.vocab-notebook-export{border-top:1px solid #2563c71f;gap:9px;padding-top:10px;display:grid}.vocab-notebook-export .mini-heading{flex-wrap:wrap}.vocab-notebook-export .mini-heading>span{color:var(--teal-dark);background:#eefcf8;border-radius:999px;margin-left:auto;padding:4px 8px;font-size:.76rem;font-weight:900}.vocab-notebook-export-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.vocab-notebook-export-controls label{gap:5px;min-width:0;display:grid}.vocab-notebook-export-controls label>span{color:var(--muted);font-size:.76rem;font-weight:900}.vocab-notebook-export-controls select{border:1px solid var(--line);width:100%;min-width:0;min-height:40px;color:var(--foreground);font:inherit;background:#fff;border-radius:8px;padding:8px 10px;font-size:.82rem;font-weight:850}.vocab-notebook-export-controls .ghost-button{white-space:nowrap;min-height:40px}.vocab-notebook-export>small{color:var(--muted);font-size:.76rem;font-weight:800;line-height:1.45}@media (width<=720px){.vocab-notebook-export-controls{grid-template-columns:1fr}.vocab-notebook-export-controls .ghost-button{width:100%}}.vocab-notebook-bulkbar{grid-template-columns:auto minmax(150px,1fr) auto auto}.vocab-notebook-bulkbar>span{color:var(--muted);font-size:.8rem;font-weight:900}.vocab-notebook-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.vocab-notebook-summary article{background:#fff;border:1px solid #0f766e24;border-radius:8px;gap:6px;padding:12px;display:grid}.vocab-notebook-summary article.empty{opacity:.78;background:#f8fafc}.vocab-notebook-summary strong,.vocab-notebook-group-heading strong,.vocab-notebook-entry strong{color:var(--teal-dark)}.vocab-notebook-summary span,.vocab-notebook-group-heading span{width:max-content;color:var(--teal-dark);background:#eefcf8;border-radius:999px;padding:4px 8px;font-size:.76rem;font-weight:900}.vocab-notebook-summary small{color:var(--muted);font-size:.78rem;font-weight:800;line-height:1.45}.vocab-notebook-groups,.vocab-notebook-list{gap:10px;display:grid}.vocab-notebook-group-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.vocab-notebook-entry{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr) 160px auto;align-items:center;gap:10px;padding:12px;display:grid}.vocab-notebook-check{justify-items:center;gap:4px}.vocab-notebook-check input{width:18px;height:18px}.vocab-notebook-check span{color:var(--muted);font-size:.72rem;font-weight:900}.vocab-notebook-entry>div{gap:6px;min-width:0;display:grid}.vocab-notebook-entry small,.vocab-notebook-entry p{color:var(--muted);margin:0;font-size:.8rem;font-weight:800;line-height:1.45}.vocab-notebook-entry p{color:#303943}.vocab-notebook-entry .ghost-button{white-space:nowrap;min-height:38px}.vocab-mode-toggles label{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:7px;min-height:36px;padding:8px 10px;font-weight:850;display:inline-flex}.vocab-review-box .editor-actions{justify-content:flex-end}.group-drill-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.drill-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;padding:12px;font-weight:900;display:grid}.drill-card label{gap:8px;display:grid}.drill-card>span,.drill-card label span,.drill-card small{color:var(--muted);font-size:.8rem;font-weight:800;line-height:1.45}.dictation-drill-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.dictation-drill-heading>span{color:var(--foreground);font-weight:900}.dictation-drill-heading .ghost-button{min-height:34px;padding:6px 10px}.drill-card.correct{background:#effaf3;border-color:#15803d73}.drill-card.wrong{background:#fff1ef;border-color:#df5b4980}.preview-node-bar{background:#f8fbff;border:1px solid #0f766e29;border-radius:8px;grid-template-columns:minmax(0,.8fr) minmax(180px,1fr) auto auto;align-items:end;gap:10px;padding:12px;display:grid}.preview-node-bar>div{gap:4px;min-width:0;display:grid}.preview-node-bar strong{color:var(--teal-dark)}.preview-node-bar span{color:var(--muted);font-size:.82rem;font-weight:850}.danger-inline{color:var(--coral);background:#fff6f4;border-color:#df5b493d}.dashboard-panel{align-content:start}.dashboard-hero{background:linear-gradient(135deg,#f8fbff,#fbfdfc);border:1px solid #0f766e2e;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.dashboard-hero p{max-width:64ch;color:var(--muted);margin:8px 0 0;line-height:1.55}.dashboard-hero-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:10px;display:flex}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dashboard-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.dashboard-summary-grid article{border-left:3px solid var(--teal);background:#fff;gap:3px;padding:10px 12px;display:grid}.dashboard-summary-grid span,.dashboard-summary-grid small{color:var(--muted);font-size:.76rem;font-weight:800}.dashboard-summary-grid strong{color:var(--teal-dark);font-size:1.5rem}.dashboard-card{background:#fbfdfc;border:1px solid #0f766e24;border-radius:8px;align-content:start;gap:12px;padding:14px;display:grid}.dashboard-card.wide{grid-column:1/-1}.dashboard-card-note{color:var(--muted);margin:-2px 0 0;font-size:.84rem;line-height:1.55}.deadline-timeline{gap:0;display:grid}.deadline-timeline button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:34px minmax(0,1fr) max-content;align-items:center;gap:10px;padding:11px 4px;display:grid;position:relative}.deadline-timeline button:last-child{border-bottom:0}.deadline-timeline button:hover{background:#f1faf7}.deadline-timeline b{color:var(--coral);font-size:.76rem}.deadline-timeline button>span{gap:3px;min-width:0;display:grid}.deadline-timeline small,.deadline-timeline em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.77rem;font-style:normal;font-weight:750;overflow:hidden}.deadline-timeline mark{color:var(--coral);background:#fff2ee;border-radius:999px;padding:6px 9px;font-size:.78rem;font-weight:900}.optional-review-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.optional-review-grid button{border:1px solid var(--line);min-width:0;color:var(--foreground);text-align:left;background:#fff;border-radius:8px;align-content:start;gap:5px;padding:12px;display:grid}.optional-review-grid button:hover{background:#f0faf7;border-color:#0f766e5c}.optional-review-grid svg{width:20px;color:var(--teal)}.optional-review-grid span,.optional-review-grid small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:800;overflow:hidden}.optional-review-grid strong{overflow-wrap:anywhere}.active-review-toggle{color:var(--teal-dark);background:#effaf7;border-color:#0f766e57}.exam-review-stage{gap:14px;display:grid}.exam-review-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:14px;display:flex}.exam-review-heading>div{gap:5px;display:grid}.exam-review-heading p:last-child{max-width:72ch;color:var(--muted);margin:0;font-size:.86rem;line-height:1.6}.exam-review-heading>button{flex:none}.exam-review-summary{border-left:4px solid var(--coral);background:#fff8f6;padding:14px 16px}.exam-review-summary small{color:var(--coral);font-weight:900}.exam-review-summary p{margin:6px 0 0;line-height:1.7}.exam-review-concepts,.exam-review-questions{gap:12px;display:grid}.exam-review-concept-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.exam-review-concept-grid>article{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:start;gap:7px;padding:14px;display:grid}.exam-review-concept-grid h3,.exam-review-concept-grid p{margin:0}.exam-review-concept-grid>article>small,.exam-review-concept-grid em{color:var(--muted);font-size:.75rem;font-style:normal;font-weight:800}.exam-review-concept-grid p,.exam-review-concept-grid div{font-size:.86rem;line-height:1.6}.exam-review-concept-grid div{border-top:1px solid var(--line);color:var(--muted);gap:3px;padding-top:8px;display:grid}.exam-review-questions p{background:#f7f9ff;border-left:3px solid #2563c773;margin:0;padding:10px 12px;line-height:1.55}.today-study-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.today-study-list button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;min-width:0;min-height:116px;padding:13px;display:grid}.today-study-list button:hover{background:#f0faf7;border-color:#0f766e61;transform:translateY(-1px)}.today-study-list button>b{color:var(--coral);font-size:.78rem}.today-study-list button>span{gap:4px;min-width:0;display:grid}.today-study-list small,.today-study-list em{color:var(--muted);font-size:.76rem;font-style:normal;font-weight:800}.today-study-list strong{overflow-wrap:anywhere;color:var(--foreground)}.today-study-list svg{width:17px;color:var(--teal)}.dashboard-card-heading{justify-content:space-between}.dashboard-card-heading strong{color:var(--teal-dark)}.dashboard-card-heading span{color:var(--blue);background:#eaf1ff;border-radius:999px;padding:5px 8px;font-size:.76rem;font-weight:900}.dashboard-list{gap:8px;display:grid}.dashboard-list-item,.dashboard-continue{border:1px solid var(--line);width:100%;min-width:0;color:var(--foreground);text-align:left;background:#fff;border-radius:8px;padding:12px;display:grid}.dashboard-list-item{grid-template-columns:minmax(0,1fr) minmax(116px,38%);align-items:center;gap:12px}.dashboard-list-item>span{min-width:0;display:grid}.dashboard-list-item>span,.dashboard-continue{gap:5px}.dashboard-list-item strong,.dashboard-continue strong{overflow-wrap:anywhere;color:var(--foreground)}.dashboard-list-item small,.dashboard-continue small,.dashboard-continue span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-style:normal;font-weight:800;overflow:hidden}.dashboard-list-item em{overflow-wrap:anywhere;min-width:0;color:var(--teal-dark);text-align:right;font-size:.8rem;font-style:normal;font-weight:900;line-height:1.45}.dashboard-list-item:hover,.dashboard-continue:hover{background:#effaf7;border-color:#0f766e57;transform:translateY(-1px)}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.overview-grid p,.writing-prompt,.cloze-text,.transcript,.term-table div,.review-list label{border:1px solid var(--line);background:#fff;border-radius:8px}.overview-grid p,.writing-prompt,.cloze-text,.transcript{margin:0;padding:16px;line-height:1.65}.writing-toolbox{background:#fbfdfc;border:1px solid #0f766e29;border-radius:8px;gap:10px;padding:12px;display:grid}.writing-tool-row,.writing-timer-controls,.writing-keyword-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.writing-tool-row{justify-content:space-between}.writing-timer-controls{justify-content:flex-end}.writing-tool-row .ghost-button,.writing-timer-controls .ghost-button{min-height:36px;padding:7px 10px}.writing-keyword-row span{color:var(--good);background:#effaf3;border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:900}.concept-grid{gap:10px;display:grid}.concept-grid>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.concept-grid article{background:#fff;border:1px solid #0f766e29;border-radius:8px;gap:7px;padding:12px;display:grid}.concept-grid article strong{color:var(--teal-dark)}.concept-grid article p,.concept-grid article small{color:var(--muted);margin:0;line-height:1.5}.concept-grid article p{color:var(--foreground)}.word-row{flex-wrap:wrap;gap:8px;display:flex}.word-row span{color:#75480e;background:#fff6e8;border-radius:999px;padding:8px 11px;font-size:.9rem;font-weight:850}.micro-plan{color:#303943;gap:10px;margin:0;padding-left:22px;line-height:1.5;display:grid}.schedule-list,.assignment-agenda{gap:10px;display:grid}.timetable-import{background:#f8fbff;border:1px solid #2563c738;border-radius:8px;gap:12px;padding:14px;display:grid}.import-heading,.import-source-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.import-heading span{color:var(--blue);background:#eaf1ff;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:900}.import-source-row{align-items:stretch}.import-source-row input[type=file]{display:none}.import-source-row .upload-trigger{min-width:132px}.format-helper{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:12px;display:grid}.format-helper>div{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;padding:12px;display:grid}.format-helper strong{color:var(--teal-dark)}.format-helper p{color:var(--muted);margin:0;line-height:1.45}.format-helper code{overflow-wrap:anywhere;color:#26323c;background:#f7faf9;border-radius:8px;padding:8px;font-size:.82rem;line-height:1.4;display:block}.format-helper textarea{min-height:98px;line-height:1.45}.timetable-image-recognition{align-content:start}.timetable-image-recognition .primary-button{width:100%;min-height:44px;margin-top:4px}.manual-timetable-conversion{border-top:1px solid #0f766e1f;padding-top:10px}.manual-timetable-conversion summary{cursor:pointer;width:max-content;color:var(--muted);font-size:.82rem;font-weight:800}.manual-timetable-conversion p{max-width:72ch;color:var(--muted);margin:8px 0 0;font-size:.84rem;line-height:1.5}.manual-timetable-conversion textarea{width:100%;min-height:96px;margin-top:10px;line-height:1.45}.manual-timetable-conversion .ghost-button{margin-top:8px}.timetable-text textarea{min-height:110px;line-height:1.5}.import-preview{gap:8px;display:grid;overflow-x:auto}.import-preview-head,.import-preview-row{grid-template-columns:54px 1.35fr 102px 96px 96px 150px 150px 1fr 38px;align-items:center;gap:8px;min-width:1180px;display:grid}.import-preview-head{color:var(--muted);font-size:.76rem;font-weight:900}.import-preview-row{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px}.import-preview-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--teal);justify-self:center}.tag-select-cell{gap:6px;display:grid}.tag-select-cell input,.tag-select-cell select{min-width:0}.import-preview-row button{color:#475569;background:#eef2f7;border:0;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.import-preview-row svg{width:16px}.schedule-item,.assignment-item{border:1px solid var(--line);width:100%;color:var(--foreground);text-align:left;background:#fff;border-radius:8px;gap:12px;padding:14px;display:grid}.schedule-item{grid-template-columns:minmax(130px,.72fr) minmax(0,1.4fr) auto;align-items:center}.schedule-item.active{background:var(--panel-soft);border-color:#0f766e73}.schedule-time,.schedule-main,.schedule-tags,.assignment-item span{gap:5px;display:grid}.schedule-time{grid-template-columns:auto 1fr;align-items:center}.schedule-time small{grid-column:2}.schedule-main small,.schedule-tags small,.schedule-time small,.assignment-item small,.empty-state{color:var(--muted)}.schedule-main strong,.assignment-item strong{color:var(--teal-dark)}.schedule-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.slot-list{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.slot-list span{color:var(--blue);background:#eaf1ff;border-radius:999px;padding:5px 8px;font-size:.76rem;font-weight:850}.schedule-tags{justify-items:end}.schedule-tags small{background:#f7faf9;border-radius:999px;padding:6px 9px;font-weight:850}.assignment-agenda{border-top:1px solid var(--line);padding-top:16px}.assignment-group{border:1px solid var(--line);background:#fbfdfc;border-radius:8px;gap:8px;padding:10px;display:grid}.assignment-group.due{background:#fff8f6;border-color:#df5b494d}.assignment-group.overdue{background:#fff5f3;border-color:#df5b495c}.assignment-group.today{background:#fffaf0;border-color:#b453093d}.assignment-group.completed{background:#f7faf9}.assignment-item{grid-template-columns:38px minmax(0,1fr) 34px;align-items:center;gap:10px;padding:10px}.assignment-item-main{min-width:0;color:inherit;text-align:left;background:0 0;border:0;gap:8px;padding:2px;display:grid}.assignment-item-main em{width:max-content;color:var(--coral);font-size:.78rem;font-style:normal;font-weight:900}.assignment-check,.assignment-delete{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:#fff;border-radius:8px;place-items:center;display:grid}.assignment-check svg,.assignment-delete svg{width:16px}.assignment-item.completed{opacity:.68}.assignment-item.completed .assignment-check{color:var(--good);background:#e8f7ef;border-color:#15803d4d}.assignment-item.completed .assignment-item-main strong,.assignment-item.completed .assignment-item-main p{text-decoration:line-through}@media (width<=720px){.vocab-view-tabs{grid-template-columns:1fr}.vocab-recall{min-height:0;padding:14px}.vocab-recall-intro,.vocab-recall-done{min-height:360px}.vocab-recall-options{grid-template-columns:1fr}.vocab-recall-next,.vocab-recall-spell .primary-button,.vocab-recall-intro .primary-button,.vocab-recall-done .primary-button{justify-content:center;width:100%}.assignment-item{grid-template-columns:34px minmax(0,1fr) 32px}}.assignment-group.soon{background:#fffaf0;border-color:#b453093d}.assignment-group-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.assignment-group-heading strong{color:var(--teal-dark);font-size:.9rem}.assignment-group-heading span{color:var(--muted);background:#fff;border-radius:999px;padding:5px 8px;font-size:.76rem;font-weight:900}.assignment-item p,.empty-state{margin:0;line-height:1.5}.listen-header{justify-content:space-between}.round-button{background:var(--coral);color:#fff;border-color:#0000;min-width:118px}.answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.answer-grid label{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px}.answer-grid label.correct{background:#effaf3;border-color:#15803d73}.answer-grid label.wrong{background:#fff1ef;border-color:#df5b4980}.answer-grid small{color:var(--muted);font-weight:700}.writing-box{min-height:210px;line-height:1.65}.writing-ai-box{background:#f8fbff;border:1px solid #2563c738;border-radius:8px;gap:12px;padding:14px;display:grid}.writing-ai-box>.primary-button{justify-self:start}.writing-review-result{border-top:1px solid var(--line);gap:12px;padding-top:12px;display:grid}.writing-score{color:var(--blue);align-items:baseline;gap:4px;display:flex}.writing-score strong{font-size:2rem;line-height:1}.writing-review-result textarea{min-height:120px;line-height:1.6}.writing-review-history{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.writing-review-history>strong{color:var(--teal-dark);font-size:.9rem}.writing-review-history>div{gap:8px;display:grid}.writing-review-history article{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(82px,.38fr) auto minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.writing-review-history span,.writing-review-history p{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8rem;font-weight:800;overflow:hidden}.writing-review-history article strong{color:var(--blue);font-size:.88rem}.review-note-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.review-note-grid section{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;padding:12px;display:grid}.review-note-grid strong{color:var(--teal-dark)}.review-note-grid p{color:#303943;margin:0;line-height:1.45}.review-list{gap:10px;display:grid}.review-list label{grid-template-columns:auto 1fr;align-items:center;padding:14px;font-weight:750}.review-list input{width:18px;height:18px;accent-color:var(--teal)}.term-table{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.term-table div{gap:6px;padding:14px;display:grid}.term-table strong{color:var(--teal-dark)}.term-table span{color:var(--muted);line-height:1.45}.finish-button{justify-self:start;width:min(260px,100%)}@media (width<=1050px){.workspace{grid-template-columns:1fr}.course-rail,.course-editor,.practice-panel{min-height:auto}.course-list{grid-template-columns:repeat(auto-fit,minmax(126px,1fr))}}@media (width<=720px){.app-shell{padding:14px}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions,.daily-meter{justify-content:space-between;width:100%}.practice-toolbar,.practice-toolbar-actions{flex-direction:column;align-items:stretch}.practice-toolbar-actions select{width:100%}.course-list,.dashboard-grid,.overview-grid,.ai-grid,.answer-grid,.level-control,.listening-modebar,.practice-modebar,.reading-concept-grid,.reader-passage-head,.preview-node-bar,.reading-layout,.reading-route-grid,.material-cutter-grid,.group-drill-list,.reading-view-tabs,.vocab-view-tabs,.vocab-notebook-control,.vocab-notebook-add,.vocab-notebook-bulkbar,.vocab-notebook-summary,.vocab-notebook-entry,.preview-node-controls,.vocab-layout,.vocab-definition-box,.writing-review-history article,.term-table{grid-template-columns:1fr}.dashboard-hero{flex-direction:column;align-items:stretch}.dashboard-hero-actions{justify-content:flex-start}.dashboard-list-item{grid-template-columns:1fr}.dashboard-list-item em{text-align:left}.player-settings label{flex:130px;max-width:none}.model-picker{grid-template-columns:1fr}.model-recommendation{flex-direction:column;align-items:stretch}.model-recommendation .ghost-button{width:100%}.tabbar{grid-template-columns:repeat(2,1fr)}.schedule-item{grid-template-columns:1fr}.schedule-tags{grid-template-columns:repeat(2,max-content);justify-items:start}.import-heading,.import-source-row{flex-direction:column;align-items:stretch}.format-helper{grid-template-columns:1fr}}@media (width<=430px){.editor-actions,.listen-header,.writing-tool-row,.writing-timer-controls{flex-direction:column;align-items:stretch}.minute-control{grid-template-columns:1fr}}.workspace{grid-template-columns:minmax(168px,204px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.workspace>.course-rail,.workspace>.practice-panel{min-width:0}.workspace>.course-rail{min-height:calc(100dvh - 118px);padding:14px;display:flex;position:sticky;top:24px}.workspace>.course-editor{display:none}.workspace .course-list{gap:8px;margin-top:14px}.workspace .course-button{min-height:58px;padding:10px}.workspace .course-button span{overflow-wrap:anywhere;min-width:0}.workspace .save-state{font-size:.8rem}.practice-panel{background:#ffffffeb;border-color:#0f766e29;min-height:calc(100dvh - 118px)}.tabbar{background:linear-gradient(#fffffff2,#f7faf9db);border-bottom:1px solid #dbe3eae0;flex-wrap:wrap;gap:8px;padding:14px;display:flex}.tabbar button{color:#40505d;background:0 0;border-color:#0000;flex:118px;min-height:48px;transition:background-color .18s cubic-bezier(.16,1,.3,1),border-color .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1),color .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.tabbar button:hover{color:var(--teal-dark);background:#0f766e14;transform:translateY(-1px)}.tabbar button:active,.listening-modebar button:active,.practice-modebar button:active,.ghost-button:active,.primary-button:active,.danger-button:active,.round-button:active,.finish-button:active{transform:translateY(1px)scale(.99)}.tabbar button.active{color:var(--teal-dark);background:#effaf7;border-color:#0f766e42;box-shadow:inset 0 0 0 1px #ffffffd1,0 12px 28px #0f766e1f}.tabbar button.active:after{content:"";background:var(--coral);border-radius:999px;height:3px;animation:.22s cubic-bezier(.16,1,.3,1) active-pill-in;position:absolute;inset:auto 18px 6px}.practice-toolbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffb8;border-bottom:1px solid #dbe3eae0;padding:14px 16px}.practice-toolbar>div:first-child{gap:4px}.practice-toolbar strong{color:var(--teal-dark);font-size:1.05rem}.practice-toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.practice-toolbar-actions:empty{display:none}.practice-toolbar-actions select{width:min(280px,28vw);min-width:190px}.preview-node-picker{grid-template-columns:minmax(190px,1fr) minmax(180px,.8fr);align-items:end;gap:8px;min-width:min(520px,48vw);display:grid}.preview-node-picker label{gap:5px}.preview-node-picker label span{color:var(--muted);font-size:.76rem;font-weight:900}.preview-node-picker input,.preview-node-picker select{width:100%;min-width:0}.compact-action{white-space:nowrap}.ghost-button,.primary-button,.danger-button,.round-button,.finish-button,.rail-actions button,.course-button,.dashboard-continue,.dashboard-list-item,.schedule-item,.assignment-item,.timetable-event,.upload-trigger{transition:background-color .18s cubic-bezier(.16,1,.3,1),border-color .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1),color .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1)}.ghost-button:hover,.upload-trigger:hover{background:#effaf7;border-color:#0f766e61;transform:translateY(-1px)}.primary-button:hover,.finish-button:hover{background:var(--teal-dark);transform:translateY(-1px);box-shadow:0 14px 26px #0f766e2e}.danger-button:hover{background:#fff1ef;border-color:#df5b4957}.tab-panel{min-height:560px;animation:.22s cubic-bezier(.16,1,.3,1) panel-enter}.active-schedule .prep-only{display:none}.prep-layout{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);gap:14px;display:grid}.prep-layout .ai-box{margin-top:2px}.preview-archive,.preview-unit-list,.preview-archive-body,.preview-unit-body{gap:12px;display:grid}.preview-archive{border-top:1px solid #0f766e29;padding-top:12px}.preview-archive-body{padding-top:12px}.preview-archive[open] .preview-archive-body,.preview-unit[open] .preview-unit-body{animation:.22s cubic-bezier(.16,1,.3,1) disclosure-enter}.preview-archive-intro{color:var(--muted);margin:0;font-size:.8rem;font-weight:800;line-height:1.5}.preview-unit-heading strong,.unit-name-input{color:var(--teal-dark)}.preview-unit{border-top:1px solid var(--line);padding-top:10px}.preview-unit-heading{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:40px;list-style:none;display:flex}.preview-unit-heading::-webkit-details-marker{display:none}.preview-unit-heading>span{align-items:center;gap:7px;min-width:0;display:inline-flex}.preview-unit-heading svg{width:16px;height:16px;color:var(--teal);flex:none}.preview-unit-heading em{color:var(--muted);flex:none;font-size:.76rem;font-style:normal;font-weight:850}.preview-unit-heading:after{content:"+";width:26px;height:26px;color:var(--teal-dark);background:#e9f4f2;border-radius:7px;flex:none;place-items:center;font-weight:800;display:grid}.preview-unit[open]>.preview-unit-heading:after{content:"−"}.preview-unit-body{padding-top:8px}.preview-unit-settings{grid-template-columns:minmax(0,1fr) 40px;align-items:end;gap:8px;display:grid}.preview-unit-settings label{color:var(--muted);gap:4px;font-size:.74rem}.unit-name-input{background:#fff;min-height:40px;padding:8px 10px;font-size:.84rem;font-weight:850}.preview-unit-delete{width:40px;height:40px;color:var(--coral);background:#fff;border:1px solid #df5b492e;border-radius:8px;place-items:center;display:grid}.preview-unit-delete:disabled{cursor:not-allowed;opacity:.38}.preview-unit-delete svg{width:15px}.preview-node-card{background:#fff;border:1px solid #0f766e24;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(168px,.56fr);gap:8px;padding:8px;display:grid}.preview-node-card.active{background:#fff8f6;border-color:#df5b4961}.preview-node-card.done{border-color:#15803d3d}.preview-node-card.todo{border-color:#2563c733}.preview-node-card button{min-width:0;color:var(--foreground);text-align:left;background:0 0;border:0;gap:4px;padding:0;display:grid}.preview-node-card strong,.preview-node-card span,.preview-node-card small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.preview-node-card strong{color:var(--teal-dark);font-size:.88rem}.preview-node-card span,.preview-node-card small{color:var(--muted);font-size:.76rem;font-weight:850}.preview-node-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.preview-node-controls label{gap:4px;font-size:.74rem}.preview-node-card select{padding:8px;font-size:.78rem}.preview-node-delete{width:38px;min-height:38px;color:var(--coral);background:#fff6f4;border:1px solid #df5b4938;border-radius:8px;grid-column:1/-1;place-self:end;place-items:center;display:grid}.preview-node-delete svg{width:15px}.weekly-timetable{background:#fbfdfc;border:1px solid #0f766e2e;border-radius:8px;gap:12px;padding:14px;display:grid}.timetable-heading{flex-wrap:wrap;justify-content:space-between}.timetable-title-group,.timetable-actions{align-items:center;gap:8px;display:flex}.timetable-title-group{min-width:0}.timetable-actions{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.timetable-heading strong{color:var(--teal-dark)}.timetable-heading span{color:var(--teal-dark);background:#eefcf8;border-radius:999px;padding:6px 9px;font-size:.78rem;font-weight:900}.timetable-export-button{min-height:34px;padding:7px 10px;font-size:.78rem}.timetable-export-button svg{width:14px;height:14px}.timetable-display-settings{background:#fff;border:1px solid #0f766e24;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.timetable-display-settings label{border:1px solid var(--line);min-height:34px;color:var(--ink);background:#f8fafc;border-radius:8px;align-items:center;gap:7px;padding:6px 9px;font-size:.8rem;font-weight:850;line-height:1;display:inline-flex}.timetable-display-settings select{min-height:28px;color:var(--teal-dark);font:inherit;background:0 0;border:0;outline:0}.timetable-display-settings input[type=checkbox]{width:16px;height:16px;accent-color:var(--teal)}.timetable-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:min(72dvh,1080px);padding-bottom:4px;overflow:auto}.timetable-grid{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:880px;display:grid;position:relative;overflow:hidden}.timetable-corner,.timetable-day{z-index:4;border-bottom:1px solid var(--line);color:var(--teal-dark);background:#f7faf9;place-items:center;font-size:.82rem;font-weight:900;display:grid;position:sticky;top:0}.timetable-corner{grid-area:1/1}.timetable-day{border-left:1px solid var(--line);grid-row:1}.timetable-hour{z-index:2;color:#334155;background:#fff;border-top:1px solid #dbe3eae6;justify-content:end;align-items:start;padding:8px 8px 0 0;font-size:.8rem;font-weight:850;display:flex}.timetable-cell{background:linear-gradient(#0000 49%,#dbe3ea61 50%,#0000 51%),#fff;border-top:1px solid #dbe3eab8;border-left:1px solid #dbe3eab8}.timetable-event{--event-bg:#f4f1fb;--event-border:#6b5b9542;--event-text:#362f58;--delivery-accent:#6b5b9570;z-index:3;border:1px solid var(--event-border);background:linear-gradient(90deg, var(--delivery-accent) 0 5px, var(--event-bg) 5px);min-width:0;color:var(--event-text);text-align:left;border-radius:8px;align-content:start;gap:5px;margin:4px;padding:9px 9px 9px 12px;display:grid;overflow:hidden;box-shadow:0 12px 24px #3341551f}.timetable-event.type-lecture{--event-bg:#d8f5f1;--event-border:#0f766e47;--event-text:#103f3c}.timetable-event.type-tutorial{--event-bg:#fff0dc;--event-border:#b4530942;--event-text:#5b3613}.timetable-event.type-seminar{--event-bg:#eaf1ff;--event-border:#2563c73d;--event-text:#1d3f7a}.timetable-event.type-lab{--event-bg:#edf8e8;--event-border:#417e303d;--event-text:#264c23}.timetable-event.type-workshop{--event-bg:#fff1ef;--event-border:#df5b4942;--event-text:#6d2d24}.timetable-event.type-empty,.timetable-event.type-custom{--event-bg:#f4f1fb;--event-border:#6b5b9542;--event-text:#362f58}.timetable-event.online{--delivery-accent:#2563c7}.timetable-event.offline{--delivery-accent:#0f766e}.timetable-event.active{border-color:#df5b498a;box-shadow:inset 0 0 0 1px #ffffffb3,0 14px 28px #df5b492e}.timetable-event:hover{transform:translateY(-1px)}.timetable-event strong,.timetable-event span,.timetable-event small,.timetable-event em,.timetable-location{overflow-wrap:anywhere;white-space:normal;min-width:0}.timetable-event strong{font-size:.8rem;line-height:1.16}.timetable-event span,.timetable-event small,.timetable-event em{opacity:.86;font-size:.68rem;font-style:normal;font-weight:850;line-height:1.16}.timetable-location{color:inherit;background:#ffffff94;border-radius:6px;align-items:flex-start;gap:4px;padding:4px 5px;display:inline-flex}.timetable-location svg{flex:none;width:12px;height:12px;margin-top:1px}.timetable-location span{display:block;overflow:visible}.timetable-empty{z-index:3;color:var(--muted);text-align:center;grid-area:2/2/-1/-1;place-items:center;padding:24px;font-size:.9rem;font-weight:850;display:grid}.schedule-detail-grid{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:14px;display:grid}.course-detail-card{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:start;gap:14px;padding:16px;display:grid}.detail-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.detail-form-grid .wide{grid-column:1/-1}.schedule-detail-grid .notes-field textarea{min-height:118px}.schedule-detail-grid .resource-grid{gap:12px}@keyframes panel-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes active-pill-in{0%{opacity:0;transform:scaleX(.4)}to{opacity:1;transform:scaleX(1)}}@keyframes disclosure-enter{0%{opacity:.55;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes generation-spin{to{transform:rotate(360deg)}}@keyframes generation-status-pulse{50%{opacity:.58}}@media (width<=980px){.workspace{grid-template-columns:1fr}.workspace>.course-rail{min-height:auto;position:static}.workspace .course-list{grid-template-columns:repeat(auto-fit,minmax(138px,1fr))}.practice-toolbar,.practice-toolbar-actions{flex-direction:column;align-items:stretch}.practice-toolbar-actions select{width:100%}.preview-node-picker{grid-template-columns:1fr;width:100%;min-width:0}.prep-layout,.account-access-panel,.credit-center-layout,.admin-tools-grid,.admin-stats-grid,.admin-ops-grid,.ai-mode-switch,.dashboard-grid,.schedule-detail-grid,.preview-node-card,.preview-node-controls,.level-control,.listening-modebar,.reading-concept-grid,.reader-passage-head,.reading-layout,.reading-route-grid,.group-drill-list,.review-note-grid,.reading-view-tabs,.vocab-view-tabs,.vocab-notebook-control,.vocab-notebook-add,.vocab-notebook-bulkbar,.vocab-notebook-summary,.vocab-notebook-entry,.vocab-layout,.writing-review-history article,.detail-form-grid{grid-template-columns:1fr}.dashboard-hero,.credit-hero-panel{flex-direction:column;align-items:stretch}.dashboard-hero-actions{justify-content:flex-start}.dashboard-list-item{grid-template-columns:1fr}.dashboard-list-item em{text-align:left}.today-study-list{grid-template-columns:repeat(2,minmax(0,1fr))}.player-settings label{flex:130px;max-width:none}.vocab-word-list{height:auto;min-height:0;overflow:visible}.vocab-list-scroll{overflow:visible}}@media (width<=720px){body{background:linear-gradient(180deg, #0f766e14, transparent 280px), var(--background)}.app-shell{padding:10px}.topbar{flex-direction:column;align-items:stretch;gap:10px;padding-bottom:10px}.topbar-actions,.credit-status-pill,.topbar-deadline{justify-content:space-between;width:100%}.account-access-panel.is-authenticated,.account-auth-body .auth-form{grid-template-columns:1fr}.account-session-summary{grid-template-columns:auto auto;justify-items:start}.account-session-summary .auth-account-actions{grid-column:1/-1}.workspace{gap:10px}.workspace>.course-rail{border-radius:8px;padding:10px}.workspace .course-list{scroll-snap-type:x proximity;gap:8px;margin-top:10px;padding-bottom:4px;display:flex;overflow-x:auto}.workspace .course-button{scroll-snap-align:start;flex:0 0 min(78vw,280px);min-height:56px}.practice-panel{min-height:auto;overflow:clip}.tabbar{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;flex-wrap:nowrap;gap:6px;padding:8px;display:flex;position:sticky;top:0;overflow-x:auto}.tabbar,.practice-modebar,.reading-view-tabs,.vocab-view-tabs,.pptx-thumbnail-rail{scrollbar-width:none}.tabbar::-webkit-scrollbar{display:none}.practice-modebar::-webkit-scrollbar{display:none}.reading-view-tabs::-webkit-scrollbar{display:none}.vocab-view-tabs::-webkit-scrollbar{display:none}.pptx-thumbnail-rail::-webkit-scrollbar{display:none}.tabbar button{flex:none;min-width:92px;min-height:42px;padding:8px 10px}.tabbar button.active:after{inset-inline:14px}.tab-panel{gap:14px;min-height:auto;padding:14px}.section-heading{flex-wrap:wrap;align-items:flex-start}.section-heading>span{width:100%;margin-left:0}.practice-toolbar{gap:10px;padding:12px}.practice-toolbar>div:first-child span{line-height:1.35}.vocab-view-tabs{scroll-snap-type:x proximity;flex-wrap:nowrap;gap:6px;padding:6px;display:flex;overflow-x:auto}.vocab-view-tabs button{scroll-snap-align:start;flex:none;min-width:104px}.practice-modebar{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;padding:6px;display:grid;overflow:visible}.practice-modebar button{min-width:0}.dashboard-summary-grid,.optional-review-grid,.exam-review-concept-grid{grid-template-columns:1fr}.exam-review-heading{flex-direction:column;align-items:stretch}.exam-review-heading>button{width:100%}.deadline-timeline button{grid-template-columns:28px minmax(0,1fr)}.deadline-timeline mark{grid-column:2;justify-self:start}.reading-view-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:visible}.reading-unit-control{grid-template-columns:1fr}.reading-unit-control small{white-space:normal;overflow:visible}.reading-view-tabs button{min-width:0}.reading-reader-panel>.mini-heading{flex-wrap:wrap;align-items:flex-start}.reading-reader-panel>.mini-heading span{white-space:normal;max-width:100%}.vocab-type-filter{gap:4px;padding:0}.vocab-type-filter button{gap:4px;min-height:42px;padding:6px;font-size:.8rem}.credit-status-pill{justify-content:space-between;width:100%}.redemption-form,.auth-code-row,.admin-login-panel{grid-template-columns:1fr}.admin-login-panel .ai-note{grid-column:auto}.credit-account-row{grid-template-columns:1fr}.admin-panel-heading,.admin-token-row,.admin-code-actions{flex-direction:column;align-items:stretch}.admin-code-form{grid-template-columns:1fr}.admin-ai-route-head{grid-template-columns:32px minmax(0,1fr);align-items:center}.admin-ai-route-toggle,.admin-ai-route-controls{grid-column:2;justify-self:start}.admin-ai-route-card .admin-code-form{grid-template-columns:1fr}.admin-ai-route-footer,.admin-ai-route-test-actions{flex-direction:column;align-items:stretch}.admin-ai-route-test-actions .ghost-button{width:100%}.admin-ai-route-actions{flex-direction:column;align-items:stretch}.admin-stats-grid,.admin-ops-grid,.admin-cost-summary,.admin-account-list article{grid-template-columns:1fr}.today-study-list{scroll-snap-type:x proximity;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.today-study-list button{scroll-snap-align:start;flex:0 0 min(78vw,280px);min-height:108px}.preview-destination-heading{flex-direction:column;align-items:flex-start;gap:4px}.admin-account-list em{justify-self:start}.prep-layout{gap:12px}.prep-layout .ai-box{box-shadow:none;margin:0;position:static}.preview-archive{scroll-margin-top:72px}.preview-unit-list{overscroll-behavior:contain;max-height:58dvh;padding-right:2px;overflow:auto}.panel-heading{flex-direction:column;align-items:stretch}.panel-heading span{width:max-content;max-width:100%}.preview-preference-field textarea{min-height:88px}.generation-actions,.preview-destination-row,.preview-destination-create,.reader-word-popover>.reader-notebook-control{flex-direction:column;grid-template-columns:1fr}.ai-box .primary-button,.ai-box .ghost-button{width:100%}.generation-actions{z-index:14;padding:10px 12px max(12px, env(safe-area-inset-bottom));background:#f8fbfffa;border-top:1px solid #0f766e24;margin:2px -12px -12px;position:sticky;bottom:0}.preview-node-card{gap:10px}.preview-node-card strong,.preview-node-card span,.preview-node-card small{white-space:normal}.preview-node-controls{gap:8px}.writing-tool-row,.writing-timer-controls{flex-direction:column;align-items:stretch}.reading-assist-panel,.vocab-review-box{grid-column:auto}.reading-reader-workspace{grid-template-columns:1fr}.reader-assistant-panel{z-index:20;max-height:64dvh;padding:10px 14px max(14px, env(safe-area-inset-bottom));background:#fffffffa;border-top:1px solid #0f766e29;border-radius:8px 8px 0 0;margin:0 -14px -14px;position:sticky;bottom:0;overflow:auto;box-shadow:0 -18px 36px #19232d1f}.reader-assistant-panel:before{content:"";background:#4755693d;border-radius:999px;justify-self:center;width:42px;height:4px}.reader-tool-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.reader-tool-actions .reader-tool-button:first-child{grid-column:auto}.reader-tool-button{justify-content:center;min-height:50px;padding:8px 6px}.reader-tool-button svg{display:none}.reader-tool-button strong,.reader-tool-button small{text-align:center}.reader-page-controls{z-index:10;gap:8px;position:sticky;top:58px}.reader-selection-card>div,.reader-word-popover>div,.reader-passage-head,.reader-note-list article,.reader-all-notes article{flex-direction:column;align-items:flex-start}.reading-reader-scroll{touch-action:pan-y;min-height:56dvh;max-height:none;padding:16px;scroll-padding-bottom:220px}.reader-original-text{font-size:1rem;line-height:1.78}.reader-selection-card p{max-height:92px}.reader-note-box textarea{min-height:76px}.vocab-word-list{height:auto;min-height:0;overflow:visible}.vocab-word-panel,.vocab-word-list,.vocab-review-box,.reading-reader-panel,.reading-overview-panel,.reading-concept-panel,.reading-guide-panel,.reading-assist-panel{padding:12px}.vocab-word-panel{z-index:12;position:sticky;top:58px;box-shadow:0 14px 30px #19232d14}.vocab-word-heading{gap:7px}.vocab-word-heading strong{font-size:clamp(2rem,13vw,3.25rem);line-height:1.02}.vocab-notebook-control .ghost-button,.vocab-actions .ghost-button{min-height:44px}.vocab-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.vocab-actions .ghost-button:last-child{grid-column:1/-1}.vocab-group-switcher{grid-template-columns:1fr;display:grid}.vocab-list-scroll{overscroll-behavior:contain;max-height:46dvh;padding-right:2px;overflow:auto}.vocab-list-scroll>button{min-height:54px}.tabbar button{min-width:0}}@media (width<=900px){.practice-mode-controls{grid-template-columns:1fr}.practice-focus-button{width:100%}.reader-assistant-panel{max-height:none;box-shadow:none;border:1px solid #0f766e29;border-radius:8px;margin:0;padding:12px;position:static;overflow:visible}.reader-assistant-panel:before{display:none}.reading-reader-workspace.is-pptx-focus{grid-template-rows:minmax(0,62dvh) minmax(0,38dvh);grid-template-columns:1fr}.reading-reader-workspace.is-pptx-focus .reader-assistant-panel{height:auto;min-height:0;max-height:none;padding:10px 12px max(12px, env(safe-area-inset-bottom));border:0;border-top:1px solid #0f766e2e;border-radius:0;margin:0;position:relative;overflow-y:auto}.pptx-viewer-workspace{grid-template-columns:1fr}.pptx-material-viewer.is-expanded .pptx-viewer-workspace{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.pptx-material-viewer.is-expanded .pptx-thumbnail-rail{max-height:120px}.pptx-material-viewer.is-expanded .pptx-main-slide{width:min(100%,177.78dvh - 426.672px)}.reading-reader-workspace.is-pptx-focus .pptx-material-viewer.is-expanded .pptx-main-slide{width:min(100%,110.224dvh - 337.782px)}.pptx-thumbnail-rail{border-bottom:1px solid #0f766e24;border-right:0;grid-template-columns:none;grid-auto-columns:116px;grid-auto-flow:column;max-height:none;overflow:auto hidden}.pptx-thumbnail-rail button{grid-template-columns:16px minmax(0,1fr)}.pptx-main-column{padding:10px}}@media (width<=520px){.reader-material-modes,.reader-material-select{width:100%}.reader-material-modes{grid-template-columns:repeat(2,minmax(0,1fr))}.pptx-viewer-heading{align-items:flex-start}.pptx-heading-actions{flex-direction:column;align-items:flex-end}.pptx-expand-button{min-width:96px;min-height:40px;padding:8px}.pptx-material-viewer.is-expanded .pptx-viewer-heading>div:first-child>span,.pptx-material-viewer.is-expanded .pptx-page-indicator{display:none}.pptx-slide-controls .ghost-button{min-width:40px;font-size:0}.pptx-slide-controls .ghost-button svg{width:19px;height:19px;display:block}.ppt-preview-route-banner{flex-direction:column;align-items:stretch}.ppt-preview-route-banner .ghost-button{width:100%}.ppt-slide-guide-panel{padding:12px}.ppt-slide-analysis-card summary{grid-template-columns:auto minmax(0,1fr)}.ppt-slide-analysis-card summary span{text-align:left;grid-column:1/-1;max-width:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
