.course-page,.course-learning,.course-editor{--course-brand:var(--yanhe-brand,#1f4f46);--course-page:var(--yanhe-page,#f5f3ee);--course-surface:var(--yanhe-surface,#fff);--course-border:var(--yanhe-border,#d9e1dd);--course-text:var(--yanhe-text,#17201e);--course-muted:var(--yanhe-text-secondary,#66716d);color:var(--course-text);min-width:0}.course-page{max-width:1180px;margin:0 auto;padding:32px 28px 64px}.course-page__header,.course-editor__header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.course-page h1,.course-learning h1,.course-editor h1{margin:0;font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.15}.course-page h2,.course-learning h2{line-height:1.25}.course-page p{color:var(--course-muted)}.course-eyebrow{letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;font-size:.82rem;font-weight:700;color:var(--course-brand)!important}.course-button{border:1px solid var(--course-brand);border-radius:var(--yanhe-radius-control,10px);background:var(--course-brand);color:#fff;min-height:44px;font:inherit;cursor:pointer;justify-content:center;align-items:center;padding:0 16px;font-weight:700;text-decoration:none;display:inline-flex}.course-button:disabled{opacity:.55;cursor:not-allowed}.course-button--secondary{background:var(--course-surface);color:var(--course-brand)}.course-filters{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.course-filters input,.course-filters select,.course-form input,.course-form textarea,.course-form select,.lesson-editor input,.lesson-editor textarea,.course-unit-edit input,.block-editor select,.block-editor textarea{box-sizing:border-box;border:1px solid var(--course-border);width:100%;color:var(--course-text);font:inherit;background:#fff;border-radius:10px;padding:11px}.course-filters label{flex:260px}.course-filters select{width:auto;min-width:150px}.course-grid,.teacher-course-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;display:grid}.course-card,.teacher-course-card{border:1px solid var(--course-border);border-radius:var(--yanhe-radius-card,16px);background:var(--course-surface);min-width:0;box-shadow:var(--yanhe-shadow-card,0 10px 28px #1f4f4614);color:inherit;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.course-card img,.teacher-course-card img{object-fit:cover;width:100%;height:148px}.course-card__cover,.course-detail__cover{background:linear-gradient(135deg,var(--course-brand),var(--yanhe-accent,#65c5a5));color:#fff;place-items:center;font-size:3rem;font-weight:700;display:grid}.course-card__cover{height:148px}.course-card__body,.teacher-course-card__body{padding:18px}.course-card h2,.teacher-course-card h2{margin:9px 0;font-size:1.15rem}.course-tag{background:var(--yanhe-brand-soft,#dcebe6);color:var(--course-brand);border-radius:999px;padding:4px 9px;font-size:.75rem;font-weight:700;display:inline-block}.course-card dl,.teacher-course-card dl,.course-detail__hero dl{gap:18px;margin:16px 0 0;display:flex}.course-card dt,.teacher-course-card dt,.course-detail__hero dt{color:var(--course-muted);font-size:.75rem}.course-card dd,.teacher-course-card dd,.course-detail__hero dd{margin:3px 0 0;font-weight:700}.course-card__progress{color:var(--course-brand);justify-content:space-between;margin-top:16px;display:flex}.course-state,.course-empty{background:var(--course-surface);text-align:center;border-radius:16px;margin:32px 0;padding:26px}.course-state--error{border:1px solid var(--yanhe-danger,#c65d5d)}.course-state button{margin-top:10px}.course-back{color:var(--course-brand);margin-bottom:20px;font-weight:700;display:inline-block}.course-detail__hero{background:var(--course-surface);box-shadow:var(--yanhe-shadow-card,0 10px 28px #1f4f4614);border-radius:24px;grid-template-columns:minmax(220px,360px) minmax(0,1fr);align-items:start;gap:32px;padding:28px;display:grid}.course-detail__hero>img,.course-detail__cover{aspect-ratio:1.3;object-fit:cover;border-radius:16px;width:100%}.course-detail__hero h1{margin:10px 0}.course-detail__content{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:32px;margin-top:32px;display:grid}.course-catalog{background:var(--course-surface);border:1px solid var(--course-border);border-radius:16px;padding:18px}.course-catalog__unit+.course-catalog__unit{border-top:1px solid var(--course-border);margin-top:16px;padding-top:16px}.course-catalog__unit h3{margin:0}.course-catalog__unit p{margin:6px 0;font-size:.9rem}.course-catalog__lesson{text-align:left;width:100%;font:inherit;color:var(--course-text);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.course-catalog__lesson small{color:var(--course-muted)}.course-catalog__lesson.active{color:var(--course-brand);font-weight:700}.course-catalog__lesson.complete small{color:var(--yanhe-success,#3c9b76)}.course-catalog__lesson:disabled{opacity:.5;cursor:not-allowed}.course-learning{background:var(--course-page);grid-template-columns:minmax(240px,300px) minmax(0,1fr);min-height:calc(100dvh - 80px);display:grid}.course-learning__sidebar{z-index:2;border-right:1px solid var(--course-border);background:var(--course-surface);min-width:0;padding:18px}.course-learning__sidebar .course-catalog{border:0;padding:0}.course-learning__main{min-width:0;padding:42px clamp(20px,5vw,76px) calc(92px + env(safe-area-inset-bottom));max-width:1000px}.course-learning__meta{color:var(--course-muted);justify-content:space-between;font-size:.9rem;display:flex}.course-objectives{border-left:4px solid var(--yanhe-accent,#65c5a5);background:var(--yanhe-accent-soft,#e7f6f0);margin:22px 0;padding:14px 18px}.course-block{border:1px solid var(--course-border);border-radius:var(--yanhe-radius-card,16px);background:var(--course-surface);overflow-wrap:anywhere;margin:26px 0;padding:clamp(18px,3vw,36px)}.course-rich-text{line-height:1.8}.course-rich-text img,.course-media img,.course-video video{max-width:100%;height:auto}.course-media{margin:0}.course-media img,.course-video video{border-radius:12px;width:100%;display:block}.course-file,.course-action-block{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.course-exercise fieldset{border:0;margin:18px 0;padding:0}.course-choice{border:1px solid var(--course-border);border-radius:10px;align-items:flex-start;gap:10px;margin:10px 0;padding:12px;display:flex}.course-order{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.course-order button{border:1px solid var(--course-border);min-height:44px;font:inherit;background:#fff;border-radius:9px;padding:0 12px}.course-order__answer{width:100%;font-weight:700}.course-feedback{font-weight:700}.course-feedback--correct{color:var(--yanhe-success,#3c9b76)}.course-learning__controls{justify-content:space-between;gap:12px;display:flex}.course-learning__mobile,.course-drawer-close,.course-drawer-backdrop{display:none}.course-editor{grid-template-columns:210px minmax(0,1fr);gap:24px;max-width:1280px;margin:auto;padding:30px;display:grid}.course-editor__header{grid-column:1/-1}.course-editor__nav{align-content:start;gap:6px;display:grid}.course-editor__nav button{text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:12px}.course-editor__nav button.active{background:var(--yanhe-brand-soft,#dcebe6);color:var(--course-brand);font-weight:700}.course-editor__main{background:var(--course-surface);min-width:0;box-shadow:var(--yanhe-shadow-card,0 10px 28px #1f4f4614);border-radius:16px;padding:24px}.course-form,.lesson-editor{gap:16px;display:grid}.course-form label,.lesson-editor label{gap:6px;font-weight:700;display:grid}.course-structure{gap:15px;display:grid}.course-unit-edit,.block-editor{border:1px solid var(--course-border);border-radius:12px;padding:16px}.course-unit-edit header,.block-editor header{align-items:center;gap:10px;display:flex}.course-lesson-edit,.teacher-course-card__actions{justify-content:space-between;gap:8px;margin-top:10px;display:flex}.course-lesson-edit button:first-child{color:var(--course-brand);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:700}.block-editor textarea{min-height:140px;margin-top:12px;font-family:ui-monospace,monospace;font-size:.85rem}.teacher-course-card__actions{justify-content:flex-start}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=760px){.course-page{padding:20px 16px 92px}.course-page__header,.course-editor__header{flex-direction:column;align-items:flex-start}.course-filters>*{width:100%!important}.course-detail__hero,.course-detail__content{grid-template-columns:1fr;gap:22px;padding:18px}.course-detail__content aside{order:-1}.course-learning{display:block}.course-learning__mobile{z-index:3;background:var(--course-surface);border-bottom:1px solid var(--course-border);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex;position:sticky;top:0}.course-learning__mobile a,.course-learning__mobile button{color:var(--course-brand);font:inherit;background:0 0;border:0;font-weight:700}.course-learning__mobile strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.course-learning__sidebar{width:min(86vw,330px);display:none;position:fixed;inset:0 auto 0 0;overflow:auto;box-shadow:16px 0 45px #0003}.course-learning__sidebar.open{display:block}.course-drawer-close{color:var(--course-brand);font:inherit;background:0 0;border:0;margin:0 0 12px auto;display:block}.course-drawer-backdrop{z-index:1;background:#00000059;border:0;display:block;position:fixed;inset:0}.course-learning__main{padding:24px 16px calc(92px + env(safe-area-inset-bottom))}.course-block{padding:18px}.course-learning__controls{background:var(--course-page);padding:12px 0;position:sticky;bottom:0}.course-learning__controls>*{flex:1}.course-editor{padding:18px 14px 92px;display:block}.course-editor__nav{margin-bottom:12px;display:flex;overflow-x:auto}.course-editor__nav button{white-space:nowrap}.course-editor__main{padding:16px}.course-unit-edit header,.block-editor header{flex-wrap:wrap;align-items:flex-start}.course-card dl,.teacher-course-card dl,.course-detail__hero dl{gap:12px}}:root{--yanhe-brand:#1f4f46;--yanhe-brand-hover:#2a6559;--yanhe-brand-soft:#dcebe6;--yanhe-accent:#65c5a5;--yanhe-accent-soft:#e7f6f0;--yanhe-page:#f5f3ee;--yanhe-surface:#fff;--yanhe-border:#d9e1dd;--yanhe-text:#17201e;--yanhe-text-secondary:#66716d;--yanhe-text-muted:#929b97;--yanhe-success:#3c9b76;--yanhe-warning:#c89446;--yanhe-danger:#c65d5d;--yanhe-radius-control:10px;--yanhe-radius-card:16px;--yanhe-radius-large:24px;--yanhe-shadow-card:0 10px 28px #1f4f4614;--yh-brand-900:#173f38;--yh-brand-800:#1b5045;--yh-brand-700:#216a5a;--yh-brand-500:#3faf8a;--yh-brand-100:#ddefe8;--yh-brand-50:#eff7f3;--yh-bg-page:#f6f5f0;--yh-bg-surface:#fff;--yh-bg-subtle:#f1f3f1;--yh-text-primary:#202523;--yh-text-secondary:#6f7773;--yh-text-muted:#949b97;--yh-border:#e3e7e4;--yh-border-strong:#ccd4d0;--yh-warning:#9a641f;--yh-warning-bg:#fff4e4;--yh-danger:#a94040;--yh-danger-bg:#fff0f0;--yh-success:#26735d;--yh-success-bg:#eaf6f1;--yh-dark-bg:#090e11;--yh-dark-surface:#11181d;--yh-dark-surface-raised:#162027;--yh-dark-border:#26343c;--yh-dark-text:#ecf2ef;--yh-dark-muted:#9eafaa;--yh-dark-accent:#43c59e;--yh-shadow-sm:0 1px 2px #12231d0a;--yh-shadow-md:0 8px 24px #12231d0f;--yh-font-sans:"Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--yh-radius-container:18px;--yh-radius-card:14px;--yh-radius-control:10px;--yh-motion-fast:.16s;--yh-motion-base:.2s;--content-max-width:1240px;--content-max-student:1240px;--content-max-teacher:1440px;--content-max-reading:920px;--content-gutter-desktop:32px;--content-gutter-tablet:24px;--content-gutter-mobile:16px;--student-header-height:72px;--teacher-sidebar-width:232px;--mobile-nav-height:58px;--training-header-height:64px;--reading-max-width:860px;--form-max-width:560px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:18px;--font-page-title:28px;--font-section-title:20px;--font-card-title:16px;--font-body:15px;--font-caption:13px;--font-label:12px;--color-canvas:var(--yh-bg-page);--color-surface:var(--yh-bg-surface);--color-surface-soft:var(--yh-bg-subtle);--color-border:var(--yh-border);--color-text:var(--yh-text-primary);--color-text-muted:var(--yh-text-secondary);--color-brand:var(--yh-brand-800);--color-brand-soft:var(--yh-brand-50);--color-success:#28734e;--color-success-soft:#e7f4ec;--color-running:#26658a;--color-running-soft:#e7f1f7;--color-waiting:#91601c;--color-waiting-soft:#fff3dc;--color-warning:#9a4f25;--color-warning-soft:#fbece3;--color-error:#a43f43;--color-error-soft:#f9e9e9;--color-neutral:#68716d;--color-neutral-soft:#edf0ee;--shadow-low:var(--yh-shadow-sm);--shadow-focus:var(--yh-shadow-md);--bg:#f5f8f4;--surface:#fffdf8;--surface-2:#eef6ef;--ink:#1f2d29;--muted:#66746d;--accent:#2f6f5e;--accent-2:#7fb069;--danger:#b44747;--info:#326b8f;--line:#dfe7dc;--shadow:0 18px 50px #25363014;--radius:14px;--font-sans:"Microsoft YaHei","PingFang SC","Noto Sans SC",Arial,sans-serif}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);font-family:var(--font-sans);margin:0;line-height:1.65}button,.button{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 16px;text-decoration:none;display:inline-flex}.secondary,.button.secondary{background:var(--surface);color:var(--accent)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh}.teacher-shell{grid-template-columns:268px minmax(0,1fr);display:grid}.student-shell,.public-shell{display:block}.side-nav{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8e6;height:100vh;padding:24px 18px;position:sticky;top:0}.brand,.entry-brand{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex}.brand{margin-bottom:28px}.brand-mark{color:#fff;background:var(--accent);border-radius:14px;place-items:center;width:44px;height:44px;font-size:24px;font-weight:700;display:grid}.brand small,.entry-brand small{color:var(--muted);font-size:12px;display:block}.side-nav p{color:var(--muted);margin:18px 10px 4px;font-size:12px}.side-nav a{color:var(--ink);border-radius:12px;padding:10px 12px;text-decoration:none}.side-nav a.router-link-active,.side-nav a:hover{background:var(--surface-2);color:var(--accent)}.student-top-nav{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8eb;grid-template-columns:auto minmax(0,1fr) 210px;align-items:center;gap:18px;padding:14px 28px;display:grid;position:sticky;top:0}.student-top-nav nav{gap:8px;display:flex;overflow:auto}.student-top-nav nav a{white-space:nowrap;color:var(--ink);border-radius:999px;padding:8px 12px;text-decoration:none}.student-top-nav nav a.router-link-active,.student-top-nav nav a:hover{background:var(--surface-2);color:var(--accent)}.main-surface{padding:28px}.student-shell .main-surface,.public-shell .main-surface{padding:0 24px 36px}.page{max-width:1280px;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.eyebrow{color:var(--accent);margin:0 0 4px;font-size:14px}h1,h2,h3{margin:0;line-height:1.2}.muted{color:var(--muted)}.grid{gap:16px;display:grid}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.workbench{grid-template-columns:320px minmax(0,1fr);gap:16px;display:grid}.panel,.card,.learning-card,.course-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card,.learning-card{padding:16px}.field{gap:6px;margin-bottom:12px;display:grid}.field span{color:var(--muted);font-size:14px}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;padding:10px 12px}textarea{resize:vertical;min-height:96px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pill,.ai-label{border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;display:inline-flex}.pill{background:var(--surface-2);color:var(--accent)}.ai-label{color:var(--info);background:#eaf3f6}.status-error{color:var(--danger)}.empty{border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);background:#ffffff8c;padding:18px}.resource-list,.message-list{gap:10px;display:grid}.message{border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 var(--radius) var(--radius) 0;padding:10px 12px}.message.ai{border-color:var(--info);background:#f0f7f8}.metric{gap:2px;display:grid}.metric strong{font-size:26px}pre{white-space:pre-wrap;overflow:auto}@media (width<=980px){.teacher-shell,.workbench,.two,.three,.student-top-nav{grid-template-columns:1fr}.side-nav{height:auto;position:static}.main-surface,.student-shell .main-surface,.public-shell .main-surface{padding:18px}.student-top-nav nav{order:3}}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-band{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:minmax(0,1.4fr) 360px;align-items:stretch;gap:24px;margin-bottom:18px;padding:34px;display:grid}.hero-subtitle{color:var(--ink);margin:10px 0;font-size:22px}.loop-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.loop-card ol{margin:14px 0 0;padding-left:20px}.free-banner{border-radius:var(--radius);background:var(--surface-2);color:var(--accent);border:1px solid #2f6f5e40;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;padding:14px 16px;display:flex}.timeline{gap:10px;margin-top:14px;display:grid}.timeline div{align-items:flex-start;gap:10px;display:flex}.timeline span{background:var(--accent);border-radius:999px;flex:none;width:10px;height:10px;margin-top:8px}.check-row{color:var(--muted);align-items:center;gap:8px;margin:8px 0;display:flex}.check-row input{width:auto}@media (width<=980px){.four,.hero-band{grid-template-columns:1fr}.free-banner{flex-direction:column;align-items:flex-start}}.language-switcher{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);gap:6px;margin:0 0 16px;padding:10px;display:grid}.language-switcher span{color:var(--muted);font-size:12px}.language-switcher select{min-width:0}.side-nav a,.button,button{white-space:normal;text-align:start}html[dir=rtl] .app-shell{grid-template-columns:minmax(0,1fr) 268px}html[dir=rtl] .side-nav{border-right:0;border-left:1px solid var(--line);grid-column:2}html[dir=rtl] .main-surface{grid-area:1/1}html[dir=rtl] .message{border-left:0;border-right:3px solid var(--accent);border-radius:var(--radius) 0 0 var(--radius)}html[dir=rtl] .timeline div{text-align:right;flex-direction:row-reverse}code,pre,.brand small{direction:ltr;unicode-bidi:embed}@media (width<=980px){html[dir=rtl] .app-shell{grid-template-columns:1fr}html[dir=rtl] .side-nav,html[dir=rtl] .main-surface{grid-area:auto}}.unlock-panel{margin-bottom:16px}.feature-tags{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.pill.locked{color:#8a5a2d;background:#f4ece5}.locked-card{background:linear-gradient(#fffdf8,#fbf7ef)}.widget-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;display:grid}@media (width<=760px){.widget-row{grid-template-columns:1fr}.widget-row .toolbar{justify-content:flex-start}}.student-widget-grid{margin-top:16px}.unlock-toast{z-index:20;border-radius:var(--radius);background:var(--accent);color:#fff;max-width:360px;box-shadow:var(--shadow);border:1px solid #2f6f5e47;padding:14px 16px;position:fixed;bottom:24px;right:24px}.entry-page{place-items:center;min-height:100dvh;padding:32px 20px;display:grid}.entry-card{border:1px solid var(--line);width:min(1120px,100%);box-shadow:var(--shadow);background:#fffdf8f0;border-radius:24px;padding:32px}.language-card{gap:24px;display:grid}.recommended-languages,.language-grid{gap:12px;display:grid}.recommended-languages{grid-template-columns:repeat(7,minmax(0,1fr))}.language-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.language-tile{text-align:start;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:16px;gap:4px;padding:14px;display:grid}.language-tile.recommended{background:var(--surface-2);border-color:#2f6f5e59}.language-tile span{color:var(--muted);font-size:12px}.edu-gate{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;gap:28px;display:grid}.entry-hero{align-content:start;gap:14px;display:grid}.role-choice-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.role-choice{min-height:280px;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:22px;align-content:space-between;gap:18px;padding:22px;text-decoration:none;display:grid}.role-choice:hover{border-color:#2f6f5e73;transform:translateY(-1px)}.choice-index{color:var(--accent);font-weight:700}.login-card{gap:18px;max-width:760px;display:grid}.login-feature-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.course-pill{border:1px solid var(--line);text-align:center;background:#fff;border-radius:999px;padding:10px 12px}.account-box{border:1px solid var(--line);background:var(--surface-2);border-radius:18px;padding:16px}.learning-page{padding-top:22px}.learning-topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.student-hero,.course-hero{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:24px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;margin-bottom:18px;padding:28px;display:grid}.student-stats-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.student-stats-strip article{border:1px solid var(--line);background:#fff;border-radius:18px;min-width:110px;padding:12px}.student-stats-strip strong{color:var(--accent);text-align:right;font-size:28px;line-height:1.2;display:block}.student-stats-strip span{color:var(--muted);letter-spacing:.02em;text-align:right;font-size:11px;display:block}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin:20px 0 12px;display:flex}.learning-path{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.path-node{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:18px;position:relative}.path-node.active{background:var(--surface-2);border-color:#2f6f5e59}.path-node.locked{opacity:.72}.node-dot{background:var(--accent);color:#fff;border-radius:999px;place-items:center;width:38px;height:38px;margin-bottom:10px;display:grid}.path-node.locked .node-dot{background:#b8c3ba}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.course-grid.compact{grid-template-columns:repeat(5,minmax(0,1fr))}.course-card{overflow:hidden}.course-cover{background:linear-gradient(135deg,#dceee1,#f7f0d8);height:110px;padding:12px}.course-cover[data-cover=pragmatic],.course-cover[data-cover=business]{background:linear-gradient(135deg,#dce8ef,#ecf5dc)}.course-cover[data-cover=pronunciation]{background:linear-gradient(135deg,#f1ead9,#dceee1)}.course-body{padding:16px}.progress-line{background:#e5ece4;border-radius:999px;height:8px;overflow:hidden}.progress-line span{border-radius:inherit;background:var(--accent-2);height:100%;display:block}.course-meta{color:var(--muted);justify-content:space-between;font-size:13px;display:flex}.student-main-grid{grid-template-columns:1.2fr 1fr;gap:16px;margin-top:20px;display:grid}.link-card{color:var(--ink);text-decoration:none;display:block}.desktop-nudge{background:var(--surface-2);border:1px solid #2f6f5e40;border-radius:22px;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:18px;display:flex}.teacher-home-grid{grid-template-columns:1.2fr .8fr;gap:16px;margin-bottom:16px;display:grid}.quick-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.profile-meter-list{gap:12px;margin-top:16px;display:grid}.profile-meter{gap:6px;display:grid}.dashboard-metrics{margin-top:16px}.lesson-document{padding:28px}.lesson-title-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.lesson-block{border-top:1px solid var(--line);padding:18px 0}.two-column-text{grid-template-columns:1fr 1fr;gap:18px;display:grid}.lesson-flow-table{gap:12px;display:grid}.flow-row{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:90px minmax(0,1fr);gap:14px;padding:14px;display:grid}.material-preview{gap:8px;margin-top:12px;display:grid}.publish-note{background:var(--surface-2);border-top:0;border-radius:18px;padding:16px}.pronunciation-stage{grid-template-columns:1.2fr .8fr;gap:16px;display:grid}.read-aloud-card,.feedback-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:24px}.pinyin-strip{background:var(--surface-2);border-radius:16px;margin:14px 0;padding:14px;font-size:18px}.initial-hints{flex-wrap:wrap;gap:8px;display:flex}.recording-console{border:1px solid var(--line);background:#fff;border-radius:18px;gap:10px;margin:18px 0;padding:18px;display:grid}.wave-bars{align-items:center;gap:4px;height:42px;display:flex}.wave-bars span{background:var(--accent-2);border-radius:999px;width:6px;height:12px}.recording .wave-bars span:nth-child(3n){height:36px}.recording .wave-bars span:nth-child(2n){height:26px}.syllable-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=1100px){.recommended-languages,.language-grid,.course-grid.compact,.learning-path{grid-template-columns:repeat(2,minmax(0,1fr))}.edu-gate,.role-choice-grid,.student-hero,.course-hero,.student-main-grid,.teacher-home-grid,.pronunciation-stage,.two-column-text{grid-template-columns:1fr}.course-grid,.student-stats-strip,.syllable-grid{grid-template-columns:1fr 1fr}}@media (width<=700px){.recommended-languages,.language-grid,.course-grid,.course-grid.compact,.learning-path,.login-feature-list,.student-stats-strip,.quick-actions,.syllable-grid{grid-template-columns:1fr}.entry-card{padding:22px}.student-hero{padding:20px}}.ghost-button{color:var(--accent);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;font:inherit;background:0 0;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.preference-layout{grid-template-columns:1fr 1fr;gap:16px;display:grid}.preference-wide{grid-column:1/-1}.preference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.choice-chip,.tag-toggle{border:1px solid var(--line);color:var(--ink);text-align:start;background:#fff;border-radius:16px;justify-content:flex-start}.choice-chip{white-space:normal;gap:4px;padding:14px;display:grid}.choice-chip span{color:var(--muted);font-size:13px}.choice-chip.compact{border-radius:999px;padding:8px 12px;display:inline-flex}.choice-chip.selected,.tag-toggle.selected{background:var(--surface-2);color:var(--accent);border-color:#2f6f5e80}.compact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.segmented-row,.tag-cloud,.preference-summary,.feedback-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.tag-toggle{border-radius:999px;padding:8px 12px}.plan-reason{margin:12px 0}.plan-reason p{margin:6px 0 0}.preference-nudge{margin-bottom:18px}.preference-hero{align-items:center}@media (width<=900px){.preference-layout,.preference-grid,.compact-form-grid{grid-template-columns:1fr}}.agent-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:16px;display:grid}.agent-control-panel{position:sticky;top:24px}.agent-main{gap:16px;min-width:0;display:grid}.agent-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.replan-box{border-top:1px solid var(--line);gap:8px;margin-top:14px;padding-top:14px;display:grid}.agent-plan-heading{justify-content:space-between}.agent-step-list{gap:8px;margin-top:16px;display:grid}.agent-step{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:12px minmax(0,1fr);gap:12px;padding:13px;display:grid}.step-state{background:#b8c3ba;border-radius:50%;width:10px;height:10px;margin-top:6px}.agent-step.is-completed .step-state{background:var(--accent)}.agent-step.is-running .step-state{background:var(--info)}.agent-step.is-waiting_confirmation .step-state{background:#b07b2f}.agent-step.is-failed .step-state{background:var(--danger)}.intervention-card{background:#fffaf0;border-color:#d7b77b}.timeline-list{gap:8px;display:grid}.timeline-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;display:flex}@media (width<=980px){.agent-layout{grid-template-columns:1fr}.agent-control-panel{position:static}}.agent-command-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;padding-bottom:18px;display:flex}.agent-run-summary{justify-items:end;gap:10px;display:grid}.provider-local,.provider-fallback{border-radius:6px;padding:5px 10px;font-size:13px}.provider-local{color:#276347;background:#e9f5ed}.provider-fallback{color:#865b18;background:#fff2dc}.agent-product-layout{grid-template-columns:minmax(280px,35%) minmax(0,65%);align-items:start;gap:18px;display:grid}.agent-goal-column,.agent-work-column{gap:16px;min-width:0;display:grid}.agent-goal-card{position:sticky;top:18px}.agent-constraints{margin:14px 0}.agent-constraints summary,.agent-secondary-sections summary,.agent-technical-details summary{cursor:pointer;margin-bottom:12px;font-weight:700}.agent-replan-card{gap:10px;display:grid}.agent-current-plan,.agent-final-result{min-width:0}.agent-step{box-shadow:none;border-radius:8px;grid-template-columns:34px minmax(0,1fr)}.agent-step-index{background:var(--surface-2);width:28px;height:28px;color:var(--accent);border-radius:50%;place-items:center;font-weight:700;display:grid}.agent-step.is-completed .agent-step-index{background:var(--accent);color:#fff}.agent-step.is-superseded{opacity:.58}.agent-step-heading{justify-content:space-between}.agent-step-content>p{margin:7px 0}.agent-step-meta{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.agent-output-summary{background:var(--surface-2);border-radius:6px;padding:8px 10px}.inline-technical{color:var(--muted);margin-top:8px;font-size:12px}.publish-preview,.result-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.publish-preview div,.result-facts div{border:1px solid var(--line);background:#ffffffb3;border-radius:6px;padding:10px}.publish-preview dt,.result-facts dt{color:var(--muted);font-size:12px}.publish-preview dd,.result-facts dd{margin:2px 0 0;font-weight:700}.intervention-actions{margin-top:14px}.agent-result-package{gap:20px;display:grid}.result-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.result-header p{margin:7px 0}.result-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.result-columns section,.agent-result-package>section{border-top:1px solid var(--line);padding-top:14px}.result-columns h3,.agent-result-package>section h3{margin-bottom:8px;font-size:18px}.lesson-timeline{gap:8px;padding:0;list-style:none;display:grid}.lesson-timeline li{border-left:3px solid var(--accent);background:var(--surface-2);grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px;display:grid}.lesson-timeline li p{grid-column:1/-1;margin:0}.preserve-lines{white-space:pre-line}.result-actions{border-top:1px solid var(--line);padding-top:14px}.status-note{color:var(--accent);margin-right:auto;font-weight:700}.agent-task-list,.route-list{gap:8px;padding:0;display:grid}.agent-learning-task{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid}.agent-learning-task h4{margin:6px 0 2px;font-size:17px}.agent-learning-task p{color:var(--muted);margin:0}.task-complete-mark{color:var(--accent);font-weight:700}.route-list{list-style:none}.route-list li{border-bottom:1px solid var(--line);grid-template-columns:80px minmax(0,1fr) auto;gap:12px;padding:10px 0;display:grid}.agent-secondary-sections{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}.agent-technical-details{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-column:1/-1;padding:16px}.plan-history-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:8px 0;display:flex}.agent-home-cta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-2);justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:20px 24px;display:flex}.agent-home-cta p{margin:6px 0 0}.agent-task-return{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:12px 14px;display:flex}.agent-result-state{padding:24px 0}.agent-result-state p{color:var(--muted)}@media (width<=760px){.agent-command-bar{display:grid}.agent-run-summary{justify-items:start}.agent-product-layout{flex-direction:column;display:flex}.agent-goal-column,.agent-work-column{display:contents}.agent-command-bar{order:0}.agent-goal-card{order:1;position:static}.agent-replan-card{order:2}.intervention-card{order:3}.agent-final-result{order:4}.agent-current-plan{order:5}.agent-secondary-sections,.result-columns,.publish-preview,.result-facts,.agent-learning-task{grid-template-columns:1fr}.route-list li{grid-template-columns:60px minmax(0,1fr)}.route-list li small{grid-column:2}.agent-home-cta,.agent-task-return{flex-direction:column;align-items:flex-start}}body{background:var(--color-canvas);color:var(--color-text);font-size:var(--font-body)}.page{max-width:var(--content-max-width)}.base-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-low)}.base-card.compact{padding:var(--space-4)}.base-card.tone-running{background:var(--color-running-soft);border-color:#a8c9dc}.base-card.tone-waiting{background:var(--color-waiting-soft);border-color:#e8c98e}.base-card.tone-error{background:var(--color-error-soft);border-color:#dfb0b2}.status-badge{width:max-content;font-size:var(--font-label);border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-weight:700;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.status-running{color:var(--color-running);background:var(--color-running-soft)}.status-waiting{color:var(--color-waiting);background:var(--color-waiting-soft)}.status-warning{color:var(--color-warning);background:var(--color-warning-soft)}.status-neutral{color:var(--color-neutral);background:var(--color-neutral-soft)}.empty-state{justify-items:start;gap:var(--space-3);min-height:180px;padding:var(--space-6);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);align-content:center;display:grid}.empty-state-mark{background:var(--color-brand);border-radius:2px;width:32px;height:4px}.empty-state h2,.empty-state p{margin:0}.empty-state p{color:var(--color-text-muted);max-width:560px}.unified-page-header,.section-header{justify-content:space-between;gap:var(--space-5);align-items:flex-start;display:flex}.unified-page-header{margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.unified-page-header h1{font-size:var(--font-page-title)}.unified-page-header p,.section-header p{margin:var(--space-2) 0 0}.section-header{margin-bottom:var(--space-4);align-items:center}.section-header h2{font-size:var(--font-section-title)}.page-header-actions{gap:var(--space-2);display:flex}.pagination{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.pagination button{border-radius:var(--radius-md);min-width:40px}.pagination-current{background:var(--color-brand);color:#fff}.load-more{padding:var(--space-4);justify-content:center;display:flex}.drawer-backdrop{z-index:60;background:#18241f5c;justify-content:flex-end;display:flex;position:fixed;inset:0}.responsive-drawer{background:var(--color-surface);width:min(520px,92vw);height:100%;overflow:auto;box-shadow:-12px 0 40px #18241f2e}.responsive-drawer>header{z-index:1;padding:var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.drawer-body{padding:var(--space-5)}.icon-button{border-radius:50%;width:40px;height:40px;padding:0;font-size:24px}.list-page{padding-top:var(--space-5)}.list-filters{gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:minmax(240px,1fr) 180px 180px auto;align-items:end;display:grid}.compact-filter{grid-template-columns:minmax(240px,520px) auto}.records-filters{grid-template-columns:repeat(4,minmax(150px,1fr)) auto}.list-filters .field{margin:0}.paginated-card-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.paginated-card-grid .base-card{align-content:start;gap:var(--space-3);min-height:210px;display:grid}.paginated-card-grid h2,.class-card-grid h2{font-size:var(--font-card-title)}.paginated-card-grid p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.paginated-card-grid footer{margin-top:auto}.card-heading{justify-content:space-between;gap:var(--space-2);display:flex}.class-card-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.mini-facts{gap:var(--space-5);display:flex}.mini-facts div{display:grid}.mini-facts dt{font-size:var(--font-label);color:var(--color-text-muted)}.mini-facts dd{margin:0;font-size:24px;font-weight:700}.record-list{gap:var(--space-2);display:grid}.record-row{gap:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.record-row div{display:grid}.record-row small{color:var(--color-text-muted)}.skeleton-list{gap:var(--space-3);display:grid}.skeleton-card,.skeleton-row,.skeleton-line{background:linear-gradient(90deg,#edf1ee 25%,#f8faf8 50%,#edf1ee 75%) 0 0/200% 100%;animation:1.3s infinite skeleton;overflow:hidden}.skeleton-card{border-radius:var(--radius-md);height:180px}.skeleton-row{border-radius:var(--radius-md);height:72px}.skeleton-line{border-radius:4px;width:120px;height:8px}@keyframes skeleton{to{background-position:-200% 0}}.agent-p06 button,.agent-p06 .button{border-radius:var(--radius-md)}.agent-start-state{gap:var(--space-6);width:min(760px,100%);margin:clamp(24px,6vh,72px) auto;display:grid}.agent-start-copy{text-align:center}.agent-start-copy h1{font-size:36px}.agent-start-copy p:last-child{max-width:620px;margin:var(--space-3) auto;color:var(--color-text-muted)}.agent-goal-composer{gap:var(--space-4);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-focus);display:grid}.agent-goal-composer textarea{min-height:150px;font-size:17px}.template-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.template-chip{border:1px solid var(--color-border);background:var(--color-surface-soft);color:var(--color-text);border-radius:var(--radius-md);font-size:var(--font-caption);padding:8px 11px}.template-chip:hover{border-color:var(--color-brand);color:var(--color-brand)}.agent-constraints,.advanced-constraints,.past-runs{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.agent-constraints>summary,.advanced-constraints>summary,.past-runs>summary{cursor:pointer;font-weight:700}.constraint-grid{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.advanced-constraints,.advanced-constraints>.field{margin-top:var(--space-3)}.primary-action{justify-self:stretch;min-height:48px;font-weight:700}.past-runs{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.agent-task-bar{z-index:12;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-low);background:#fffffff5;grid-template-columns:minmax(240px,1fr) auto auto auto auto;align-items:center;display:grid;position:sticky;top:0}.task-bar-goal,.task-time{display:grid}.task-bar-goal span,.task-time span{font-size:var(--font-label);color:var(--color-text-muted)}.task-bar-actions{gap:var(--space-2);align-items:center;display:flex}.text-button{color:var(--color-text-muted)!important;background:0 0!important;border-color:#0000!important;padding-inline:8px!important}.generation-status{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-running-soft);color:var(--color-running);display:flex}.inline-goal-editor{max-width:var(--form-max-width);margin:0 0 var(--space-4) auto}.agent-confirmation-focus{gap:var(--space-5);margin-bottom:var(--space-5);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-waiting-soft);box-shadow:var(--shadow-focus);border:1px solid #e7c27e;grid-template-columns:minmax(220px,.6fr) minmax(0,1.4fr);align-items:center;display:grid}.confirmation-context h2{font-size:var(--font-section-title)}.agent-confirmation-focus .intervention-card{box-shadow:none;background:var(--color-surface);border:0}.agent-view-tabs{gap:var(--space-1);margin-bottom:var(--space-5);border-bottom:1px solid var(--color-border);padding:4px;display:flex;overflow:auto}.agent-view-tabs button{color:var(--color-text-muted);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0}.agent-view-tabs button.active{border-bottom-color:var(--color-brand);color:var(--color-brand);font-weight:700}.agent-state-content{min-height:420px}.result-view{width:100%}.progress-view,.plan-view,.history-view,.why-view{gap:var(--space-5);max-width:1040px;margin:0 auto;display:grid}.progress-overview{gap:var(--space-4);grid-template-columns:minmax(0,1.6fr) minmax(250px,.7fr);display:grid}.agent-current-step{min-height:190px}.current-step-title{justify-content:space-between;gap:var(--space-3);align-items:start;display:flex}.current-output{padding:var(--space-3);border-radius:var(--radius-sm);background:#ffffffb3}.progress-summary{align-content:center;display:grid}.agent-progress{gap:var(--space-2);display:grid}.agent-progress-copy{justify-content:space-between;display:flex}.agent-progress-track{background:var(--color-neutral-soft);border-radius:999px;height:9px;overflow:hidden}.agent-progress-track span{background:var(--color-brand);height:100%;display:block}.progress-summary dl{gap:var(--space-3);grid-template-columns:1fr 1fr;margin-bottom:0;display:grid}.progress-summary dt{font-size:var(--font-label);color:var(--color-text-muted)}.progress-summary dd{margin:0;font-weight:700}.nearby-steps{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.compact-step-list{gap:var(--space-2);display:grid}.compact-step-list .base-card{gap:var(--space-3);align-items:center;display:flex}.timeline-preview{margin-top:var(--space-2)}.business-event-list{gap:var(--space-2);display:grid}.business-event-list>div{justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--color-border);padding:9px 0;display:flex}.business-event-list small{color:var(--color-text-muted)}.drawer-events>div{display:grid}.agent-stage-list{gap:var(--space-3);display:grid}.agent-stage{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.agent-stage>summary{gap:var(--space-3);padding:var(--space-4);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;list-style:none;display:grid}.agent-stage>summary::-webkit-details-marker{display:none}.agent-stage>summary div{display:grid}.agent-stage>summary small{color:var(--color-text-muted)}.stage-index{background:var(--color-neutral-soft);border-radius:50%;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.stage-steps{padding:0 var(--space-4) var(--space-4);display:grid}.stage-step{gap:var(--space-3);padding:var(--space-3);border-top:1px solid var(--color-border);grid-template-columns:14px minmax(0,1fr);display:grid}.step-marker{border:2px solid var(--color-neutral);border-radius:50%;width:10px;height:10px;margin-top:6px}.stage-step.current{border-radius:var(--radius-sm);background:var(--color-running-soft);border:1px solid #9fc2d6;margin:4px 0}.stage-step.current .step-marker{border-color:var(--color-running);background:var(--color-running)}.stage-step.completed{color:var(--color-text-muted)}.stage-step.completed .step-marker{border-color:var(--color-success);background:var(--color-success)}.stage-step-heading{justify-content:space-between;gap:var(--space-3);display:flex}.stage-step p{margin:var(--space-1) 0}.why-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.why-grid .base-card{gap:var(--space-2);display:grid}.why-grid span{font-size:var(--font-label);color:var(--color-text-muted)}.version-list{gap:var(--space-3);display:grid}.version-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.version-row>summary{gap:var(--space-4);padding:var(--space-4);cursor:pointer;grid-template-columns:1fr auto auto auto;align-items:center;display:grid}.run-history-list{gap:var(--space-2);display:grid}.run-history-row{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;text-decoration:none;display:grid}.run-history-row div{display:grid}.run-history-row small{color:var(--color-text-muted)}.fallback-note{font-size:var(--font-label);color:var(--color-waiting)}.result-reading-header{z-index:8;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-5);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-low);background:#fffffff7;align-items:flex-start;display:flex;position:sticky;top:76px}.result-reading-header h2{font-size:26px}.result-reading-header p{margin:var(--space-2) 0 0}.result-sticky-actions{gap:var(--space-2);align-items:center;display:flex}.saved-state{font-size:var(--font-caption);color:var(--color-success)}.teacher-reading-layout{grid-template-columns:190px minmax(0,var(--reading-max-width));gap:var(--space-5);justify-content:center;align-items:start;display:grid}.chapter-nav{gap:var(--space-1);display:grid;position:sticky;top:170px}.chapter-nav button{color:var(--color-text-muted);background:0 0;border:0;justify-content:flex-start}.chapter-nav button.active{background:var(--color-brand-soft);color:var(--color-brand);font-weight:700}.chapter-content{min-height:480px;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-low)}.chapter-content h3{margin-bottom:var(--space-5)}.chapter-content h4{margin:var(--space-5) 0 var(--space-2)}.reading-columns{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.student-route-result{gap:var(--space-5);max-width:980px;margin:0 auto;display:grid}.student-route-hero{justify-content:space-between;gap:var(--space-5);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-brand-soft);align-items:flex-end;display:flex}.student-route-hero h2{font-size:28px}.student-route-hero p{margin:var(--space-2) 0 0}.today-summary{gap:2px var(--space-2);grid-template-columns:auto auto;align-items:baseline;display:grid}.today-summary strong{font-size:24px}.today-summary span{font-size:var(--font-label);color:var(--color-text-muted)}.student-today-section,.seven-day-section{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.student-today-section .agent-task-list{grid-template-columns:1fr 1fr}.student-today-section .agent-learning-task{min-height:160px}.task-card-top{justify-content:space-between;gap:var(--space-2);display:flex}.task-type{font-size:var(--font-label);color:var(--color-text-muted)}.day-tabs{gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-2);display:flex;overflow:auto}.day-tabs button{border-color:var(--color-border);background:var(--color-surface-soft);min-width:88px;color:var(--color-text)}.day-tabs button.active{border-color:var(--color-brand);background:var(--color-brand);color:#fff}.day-detail{gap:var(--space-3);max-width:640px;display:grid}.student-route-actions{justify-content:flex-end;gap:var(--space-2);display:flex}@media (width<=1100px){.paginated-card-grid,.class-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.list-filters,.records-filters{grid-template-columns:1fr 1fr}.agent-task-bar{grid-template-columns:minmax(220px,1fr) auto auto}.task-time{display:none}.task-bar-actions{grid-column:1/-1;justify-content:flex-end}.teacher-reading-layout{grid-template-columns:160px minmax(0,1fr)}.result-sticky-actions{flex-wrap:wrap;justify-content:flex-end}}@media (width<=900px){.teacher-shell{display:block}.side-nav,.student-top-nav{display:none}.mobile-app-bar{z-index:30;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:#fffffff5;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mobile-app-bar .language-switcher{width:190px;margin:0;padding:4px}.main-surface,.student-shell .main-surface,.public-shell .main-surface{padding:var(--space-4)}.agent-task-bar{top:68px}.progress-overview,.teacher-reading-layout{grid-template-columns:1fr}.chapter-nav{padding-bottom:var(--space-2);display:flex;position:static;overflow:auto}.chapter-nav button{white-space:nowrap}.result-reading-header{top:134px}.result-sticky-actions{width:100%;margin-top:var(--space-3);justify-content:flex-start;display:flex}.chapter-content{min-height:420px}.agent-confirmation-focus,.nearby-steps,.student-today-section .agent-task-list,.reading-columns{grid-template-columns:1fr}}@media (width<=700px){body{padding-bottom:66px}.mobile-app-bar .language-switcher{width:145px}.mobile-app-bar .entry-brand small{display:none}.mobile-bottom-nav{z-index:50;border-top:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.mobile-bottom-nav a{min-height:58px;color:var(--color-text-muted);text-align:center;place-items:center;padding:4px;font-size:11px;line-height:1.2;text-decoration:none;display:grid}.mobile-bottom-nav a.router-link-active{color:var(--color-brand);background:var(--color-brand-soft)}.unified-page-header,.section-header{display:grid}.page-header-actions{justify-content:flex-start}.paginated-card-grid,.class-card-grid,.list-filters,.records-filters,.compact-filter{grid-template-columns:1fr}.record-row{grid-template-columns:auto minmax(0,1fr)}.record-row>.muted{grid-column:2}.agent-start-state{margin:var(--space-4) auto;gap:var(--space-5)}.agent-start-copy{text-align:left}.agent-start-copy h1{font-size:28px}.agent-goal-composer{padding:var(--space-4)}.constraint-grid{grid-template-columns:1fr}.template-list{grid-template-columns:1fr 1fr;display:grid}.template-chip{justify-content:flex-start}.agent-task-bar{grid-template-columns:1fr auto;margin-inline:-4px;position:static}.task-bar-goal{grid-column:1/-1}.agent-task-bar>.provider-local,.agent-task-bar>.provider-fallback{display:none}.task-bar-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.task-bar-actions .text-button{grid-column:1/-1}.agent-view-tabs{z-index:20;background:var(--color-canvas);margin-inline:-16px;padding-inline:16px;position:sticky;top:66px}.agent-state-content{min-height:0}.agent-confirmation-focus{padding:var(--space-4);margin-inline:-4px;position:relative}.progress-view,.plan-view,.history-view,.why-view{gap:var(--space-4)}.progress-summary{order:-1}.nearby-steps section:last-child,.timeline-preview{display:none}.why-grid{grid-template-columns:1fr}.version-row>summary{grid-template-columns:1fr auto}.version-row>summary>span:nth-of-type(2){display:none}.run-history-row{grid-template-columns:1fr auto}.fallback-note{grid-column:1/-1}.result-reading-header{padding:var(--space-3);display:block;position:static}.teacher-reading-layout{display:block}.chapter-nav{margin-inline:-16px;padding-inline:16px}.chapter-content{min-height:0;padding:var(--space-4)}.result-facts{grid-template-columns:1fr}.student-route-hero{align-items:start;display:grid}.student-today-section,.seven-day-section{padding:var(--space-4)}.student-today-section .agent-learning-task{min-height:0}.agent-learning-task{grid-template-columns:1fr}.student-route-actions{justify-content:stretch}.student-route-actions>*{flex:1}.pagination{flex-wrap:nowrap;justify-content:flex-start;overflow:auto}.pagination span{white-space:nowrap}.responsive-drawer{width:100vw}.drawer-backdrop{align-items:flex-end}.responsive-drawer{border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:min(78vh,720px)}html[dir=rtl] .mobile-bottom-nav{direction:rtl}}.result-reading-header h2{line-height:1.25}.result-sticky-actions{flex:none}.result-sticky-actions>*{white-space:nowrap}.audio-upload{position:relative}.audio-upload input{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=900px){.result-reading-header{flex-direction:column}.result-sticky-actions{flex-wrap:wrap;width:auto;max-width:100%}}@media (width<=700px){.result-reading-header h2{font-size:24px}.run-completed .agent-task-bar,.run-completed_with_draft .agent-task-bar,.run-needs_review .agent-task-bar{display:none}}.comparison-card{gap:10px;display:grid}.alignment-text{overflow-wrap:anywhere;font-size:clamp(20px,3vw,30px);line-height:1.7}.alignment-matched{color:var(--color-success,#24714f)}.alignment-missing{color:var(--color-warning,#a85f12);text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:2px}.match-summary{gap:8px;display:grid}.match-summary p{margin:0}.pronunciation-actions button,.pronunciation-actions .button{min-height:42px}.day-task-list{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=700px){.read-aloud-card,.feedback-card{padding:18px}.pronunciation-actions{grid-template-columns:1fr 1fr;display:grid}.pronunciation-actions>*{justify-content:center;width:100%}.day-task-list{grid-template-columns:1fr}}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--yh-bg-page)}body{min-width:320px;color:var(--yh-text-primary);background:var(--yh-bg-page);font-family:var(--yh-font-sans);margin:0;font-size:15px;line-height:1.65}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:var(--yh-brand-700)}h1,h2,h3,h4{color:inherit;letter-spacing:-.015em;font-weight:600}h1{font-size:clamp(26px,3vw,32px)}h2{font-size:20px}h3{font-size:16px}p{overflow-wrap:anywhere}::selection{color:#fff;background:var(--yh-brand-700)}:focus-visible{outline-offset:2px;outline:3px solid #3faf8a52}.skip-link{z-index:100;color:#fff;background:var(--yh-brand-900);border-radius:8px;padding:10px 14px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.app-shell,.main-surface,.page,.page>*,.grid>*,.workbench>*,.home-content-grid>*,.home-action-grid>*{min-width:0}.teacher-shell{grid-template-columns:var(--teacher-sidebar-width) minmax(0, 1fr);background:var(--yh-bg-page);display:grid}.side-nav{width:var(--teacher-sidebar-width);border-right:1px solid var(--yh-border);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fbfbf8;height:100dvh;padding:24px 16px;position:sticky;top:0}.side-nav .brand{margin:0 8px 32px}.side-nav nav{gap:4px;display:grid}.side-nav nav p{color:var(--yh-text-muted);letter-spacing:.08em;margin:18px 12px 6px}.side-nav nav a{min-height:44px;color:var(--yh-text-secondary);border-radius:10px;align-items:center;padding:10px 12px;text-decoration:none;display:flex}.side-nav nav a.router-link-active{color:var(--yh-brand-900);background:var(--yh-brand-50);font-weight:500}.student-top-nav{z-index:30;min-height:var(--student-header-height);padding:12px var(--content-gutter-desktop);border-bottom:1px solid var(--yh-border);background:#fffffff5;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;display:grid;position:sticky;top:0}.student-top-nav nav{justify-content:center;gap:8px;display:flex}.student-top-nav nav a{min-height:44px;color:var(--yh-text-secondary);border-radius:8px;align-items:center;padding:8px 12px;text-decoration:none;display:inline-flex}.student-top-nav nav a.router-link-active{color:var(--yh-brand-900);box-shadow:inset 0 -2px var(--yh-brand-700)}.main-surface{width:100%;min-width:0;padding:var(--content-gutter-desktop)}.student-shell .main-surface{padding-block:0 48px}.training-app-shell .main-surface{padding:0}.auth-shell .main-surface{padding:0 var(--content-gutter-desktop)}.page{width:min(100%, var(--content-max-student));box-sizing:border-box;max-width:none;margin-inline:auto}.teacher-shell .page{width:min(100%, var(--content-max-teacher))}.page-header,.unified-page-header{margin-bottom:24px}.workbench.teacher-workbench{grid-template-columns:minmax(280px,320px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.teacher-workbench .prep-input-panel{width:100%;max-height:none;position:static;overflow:visible}.lesson-document{overflow-wrap:anywhere;width:100%;min-width:0;max-width:none;min-height:0;margin:0;padding:36px clamp(24px,4vw,48px);line-height:1.75}.lesson-document>*{width:min(100%, var(--content-max-reading));margin-inline:auto}.lesson-document>.sr-only{width:1px;margin:-1px}.lesson-block{border-top:1px solid var(--yh-border);padding-block:24px}.lesson-block:first-of-type{border-top:0}.home-content-grid{gap:20px}.mobile-app-bar,.mobile-bottom-nav{display:none}.brand-mark{background:var(--yh-brand-800);border-radius:10px;width:40px;height:40px;font-size:22px;font-weight:600}button,.button{border:1px solid var(--yh-brand-800);border-radius:var(--yh-radius-control);background:var(--yh-brand-800);color:#fff;text-align:center;min-height:42px;transition:background var(--yh-motion-fast), border-color var(--yh-motion-fast), transform var(--yh-motion-fast);padding:9px 16px;font-weight:500}button:hover:not(:disabled),.button:hover{background:var(--yh-brand-900);border-color:var(--yh-brand-900)}button:active:not(:disabled),.button:active{transform:translateY(1px)}button.secondary,.button.secondary{border-color:var(--yh-border-strong);color:var(--yh-text-primary);background:#fff}button.secondary:hover,.button.secondary:hover{border-color:var(--yh-brand-700);background:var(--yh-brand-50);color:var(--yh-brand-900)}button.ghost,.button.ghost,.text-button{color:var(--yh-text-secondary);background:0 0;border-color:#0000}button.danger{border-color:var(--yh-danger);background:var(--yh-danger)}.panel,.card,.base-card,.learning-card,.course-card{border:1px solid var(--yh-border);border-radius:var(--yh-radius-card);background:var(--yh-bg-surface);box-shadow:none}.panel{padding:24px}.base-card{padding:20px}.field{gap:7px;margin-bottom:16px}.field>span{color:var(--yh-text-secondary);font-size:13px;font-weight:500}input,select,textarea{border-color:var(--yh-border-strong);border-radius:var(--yh-radius-control);min-height:42px;color:var(--yh-text-primary);background:#fff}textarea{line-height:1.65}input:focus,select:focus,textarea:focus{border-color:var(--yh-brand-500);outline:0;box-shadow:0 0 0 3px #3faf8a1f}.pill,.status-badge{background:var(--yh-bg-subtle);color:var(--yh-text-secondary);border-radius:6px}.empty,.empty-state{border:1px dashed var(--yh-border-strong);border-radius:var(--yh-radius-card);background:var(--yh-bg-subtle);color:var(--yh-text-secondary)}.status-error{color:var(--yh-danger);background:var(--yh-danger-bg)}.status-success{color:var(--yh-success);background:var(--yh-success-bg)}.home-action-grid{gap:12px!important}.home-action{border-color:var(--yh-border)!important;border-radius:var(--yh-radius-card)!important;min-height:136px!important;box-shadow:none!important;padding:20px!important}.home-action:hover{border-color:var(--yh-border-strong)!important;box-shadow:var(--yh-shadow-sm)!important;transform:none!important}.home-action.primary-action{background:var(--yh-brand-900)!important;border-color:var(--yh-brand-900)!important}.action-kicker{text-transform:none!important;letter-spacing:0!important;font-weight:500!important}.student-hero{border:1px solid var(--yh-border);border-radius:var(--yh-radius-container);box-shadow:none;background:#fff;margin:24px auto 20px;padding:32px}.student-stats-strip article{border-radius:12px}.list-filters{border-radius:var(--yh-radius-card)}.record-list .base-card{padding:16px 20px}.record-list .base-card+.base-card{margin-top:-1px}.skeleton-card,.skeleton-row,.skeleton-line{background:linear-gradient(90deg,#ecefeb 25%,#f7f8f6 50%,#ecefeb 75%)}.dialog-backdrop{z-index:100;background:#090e0b7a;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--yh-border);border-radius:var(--yh-radius-container);width:min(460px,100%);box-shadow:var(--yh-shadow-md);background:#fff;padding:24px}.confirm-dialog h2{margin:0 0 8px}.confirm-dialog p{color:var(--yh-text-secondary);margin:0 0 24px}.confirm-dialog footer{justify-content:flex-end;gap:8px;display:flex}.material-list{border:1px solid var(--yh-border);border-radius:var(--yh-radius-card);background:#fff;overflow:hidden}.material-row{border-top:1px solid var(--yh-border);grid-template-columns:minmax(180px,1.5fr) 120px 160px 120px auto;align-items:center;gap:16px;min-height:68px;padding:12px 20px;display:grid}.material-row:first-child{border-top:0}.material-row strong,.material-row small{display:block}.material-row small{color:var(--yh-text-muted)}.training-app-shell{background:var(--yh-dark-bg);min-height:100dvh}.training-shell{--training-accent:var(--yh-dark-accent);min-height:100dvh;color:var(--yh-dark-text);background:var(--yh-dark-bg)}.training-shell .expression-topbar{z-index:20;min-height:var(--training-header-height);border-bottom:1px solid var(--yh-dark-border);background:var(--yh-dark-bg);grid-template-columns:minmax(190px,1fr) minmax(0,2fr) minmax(120px,1fr);align-items:center;gap:20px;padding:0 max(24px,50vw - 590px);display:grid;position:sticky;top:0}.training-shell .training-scene-title{text-align:center}.training-shell .training-exit{justify-self:end}.training-shell .expression-main{width:min(100%,1180px);min-height:calc(100dvh - var(--training-header-height));padding:24px var(--content-gutter-desktop) 40px;box-sizing:border-box;margin-inline:auto}.training-layout{grid-template-columns:minmax(260px,330px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.training-rail{min-width:0;top:calc(var(--training-header-height) + 24px);border:1px solid var(--yh-dark-border);border-radius:var(--yh-radius-card);background:var(--yh-dark-surface);padding:18px;position:sticky}.training-rail ol{counter-reset:step;gap:9px;margin:20px 0 0;padding:0;list-style:none;display:grid}.training-rail li{color:var(--yh-dark-muted);align-items:center;gap:10px;font-size:13px;display:flex}.training-rail li:before{counter-increment:step;content:counter(step);border:1px solid var(--yh-dark-border);border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:11px;display:grid}.training-rail li.active{color:var(--yh-dark-text)}.training-rail li.active:before{color:#062018;border-color:var(--training-accent);background:var(--training-accent)}.training-stage{box-sizing:border-box;border-radius:var(--yh-radius-container);background:var(--yh-dark-surface);width:100%;min-width:0;max-width:860px;padding:22px}.training-stage.chat-stage{min-height:calc(100dvh - var(--training-header-height) - 48px);flex-direction:column;display:flex}.training-stage.chat-stage .chat-log{flex:1}.training-shell .stage-kicker,.training-shell .speaker{color:var(--training-accent)!important}.training-shell .ghost-button{border-color:var(--yh-dark-border);color:var(--yh-dark-muted);background:0 0}.training-shell .primary-button{border-color:var(--training-accent);background:var(--training-accent);color:#071b15;width:fit-content}.training-shell .chat-context,.training-shell .message-bubble,.training-shell .diagnosis-result section,.training-shell textarea{color:var(--yh-dark-text);border-color:var(--yh-dark-border);background:var(--yh-dark-surface-raised)}.training-shell .from-user .message-bubble{background:#174c3f;border-color:#296f5b}.training-shell .chat-log{min-height:220px;max-height:calc(100dvh - 300px);padding-right:4px;overflow-y:auto}.training-shell .chat-input{border-color:var(--yh-dark-border);background:var(--yh-dark-surface);position:sticky;bottom:0}.training-shell .diagnosis-result section,.training-shell .original-expression{border-color:var(--yh-dark-border);background:var(--yh-dark-surface-raised)}.training-shell .expression-error{color:#ffd3d3;background:#b34a4a2e}.training-shell .expression-status{color:var(--yh-dark-text);background:var(--yh-dark-surface-raised)}.training-shell .spinner{border-color:var(--yh-dark-border);border-top-color:var(--training-accent)}@media (width<=1023px){.training-shell .expression-topbar{padding-inline:var(--content-gutter-tablet);grid-template-columns:auto minmax(0,1fr) auto}.training-layout{grid-template-columns:1fr}.training-rail{gap:10px;padding:14px 16px;display:grid;position:static}.training-rail ol{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:4px}.training-rail li{text-align:center;justify-items:center;gap:5px;font-size:11px;display:grid}.training-stage{width:100%}}@media (width<=700px){.training-shell .expression-topbar{min-height:60px;padding-inline:var(--content-gutter-mobile);gap:10px}.training-shell .expression-brand strong{display:none}.training-shell .training-scene-title{font-size:14px}.training-shell .training-exit{min-height:44px;padding-inline:10px}.training-shell .expression-main{min-height:calc(100dvh - 60px);padding:16px var(--content-gutter-mobile) max(24px,env(safe-area-inset-bottom))}.training-rail{overflow-x:hidden}.training-rail>strong,.training-rail>.stage-kicker{display:none}.training-rail ol{min-width:0}.training-stage{padding:18px 16px}.training-stage.chat-stage{min-height:calc(100dvh - 212px)}.training-shell .chat-log{min-height:180px;max-height:calc(100dvh - 390px)}.training-shell .primary-button{min-height:44px}}@media (prefers-reduced-motion:reduce){.training-shell .spinner{animation:none}}@media (width<=1023px){.teacher-shell{display:block}.side-nav,.student-top-nav{display:none}.mobile-app-bar{z-index:40;min-height:64px;padding:10px var(--content-gutter-tablet);border-bottom:1px solid var(--yh-border);background:#fffffff7;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mobile-app-bar .language-switcher{width:min(190px,45vw);margin:0;padding:4px}.main-surface,.student-shell .main-surface{padding:var(--content-gutter-tablet);padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 24px)}.auth-shell .main-surface{padding-inline:var(--content-gutter-tablet)}.mobile-bottom-nav{z-index:50;min-height:var(--mobile-nav-height);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--yh-border);background:var(--yh-bg-surface);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav a{min-width:0;min-height:var(--mobile-nav-height);color:var(--yh-text-secondary);text-align:center;overflow-wrap:anywhere;place-items:center;padding:6px 4px;font-size:11px;line-height:1.2;text-decoration:none;display:grid}.mobile-bottom-nav a.router-link-active{color:var(--yh-brand-900);background:var(--yh-brand-50)}.workbench.teacher-workbench{grid-template-columns:minmax(0,1fr)}.lesson-document{padding:28px 24px}.training-app-shell .main-surface{padding:0}}@media (width<=700px){.mobile-app-bar{padding-inline:var(--content-gutter-mobile)}.mobile-app-bar .entry-brand small{display:none}.main-surface,.student-shell .main-surface{padding:var(--content-gutter-mobile);padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 20px)}.auth-shell .main-surface{padding-inline:var(--content-gutter-mobile)}.page,.panel,.account-sections,.account-sections>*,.profile-facts,.profile-facts dd{overflow-wrap:anywhere;min-width:0;max-width:100%}.unified-page-header,.page-header{gap:16px;display:grid}.unified-page-header>*,.page-header>*{min-width:0;max-width:100%}.student-hero{grid-template-columns:1fr;margin-top:0;padding:22px 18px}.student-stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-document{padding:22px 16px}.lesson-title-row{display:grid}.lesson-title-row input{min-width:0;max-width:100%}.material-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.material-row>:nth-child(3),.material-row>:nth-child(4){grid-column:1/-1}.training-app-shell .main-surface{padding:0}}.ai-tutor-header{align-items:flex-start}.ai-tutor-warning{background:var(--surface-warn,#fdf3e3);border:1px solid var(--border-warn,#e8cfa0);color:var(--text-warn,#8a5a00);border-radius:12px;margin-bottom:1rem;padding:.75rem 1rem}.ai-tutor-tabs{border-bottom:1px solid var(--border,#e3dfd6);gap:.5rem;margin-bottom:1.25rem;padding-bottom:.5rem;display:flex}.ai-tutor-tabs button{cursor:pointer;font:inherit;color:var(--text-muted,#6b6b63);background:0 0;border:0;border-radius:999px;padding:.5rem 1rem;transition:background .15s,color .15s}.ai-tutor-tabs button.active{background:var(--accent-soft,#e2f0ec);color:var(--accent,#1f4f46);font-weight:600}.ai-tutor-actions{margin-bottom:1.25rem}.tutor-action-card{border-left:3px solid var(--accent,#1f4f46)}.tutor-card-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.tutor-card-actions .button.small,.tutor-card-actions .ghost.small{padding:.35rem .9rem;font-size:.875rem}.level-badge{align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.ai-tutor-chat{border:1px solid var(--border,#e3dfd6);background:var(--surface,#fff);border-radius:14px;flex-direction:column;height:min(62vh,620px);display:flex;overflow:hidden}.chat-window{flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.chat-empty{text-align:center;color:var(--text-muted,#6b6b63);max-width:30rem;margin:auto}.chat-empty h3{color:var(--text,#1f1f1c);margin-bottom:.35rem}.chat-message{flex-direction:column;max-width:78%;display:flex}.chat-message.user{align-self:flex-end;align-items:flex-end}.chat-message.assistant{align-self:flex-start;align-items:flex-start}.chat-bubble{white-space:pre-wrap;word-break:break-word;border-radius:14px;padding:.65rem .9rem}.chat-message.user .chat-bubble{background:var(--accent,#1f4f46);color:#fff;border-bottom-right-radius:4px}.chat-message.assistant .chat-bubble{background:var(--surface-soft,#f2f0ea);border:1px solid var(--border,#e3dfd6);border-bottom-left-radius:4px}.chat-typing{color:var(--text-muted,#6b6b63);font-style:italic}.tutor-action-card{border:1px solid var(--border,#e3dfd6);background:var(--surface-soft,#faf9f5);border-radius:12px;margin-top:.5rem;padding:.75rem}.tutor-action-card h4{margin:.35rem 0 .25rem}.chat-composer{border-top:1px solid var(--border,#e3dfd6);background:var(--surface-soft,#faf9f5);gap:.5rem;padding:.75rem;display:flex}.chat-field{flex:1;margin:0}.chat-field input{border:1px solid var(--border,#e3dfd6);width:100%;font:inherit;background:#fff;border-radius:10px;padding:.6rem .85rem}.chat-composer .button,.chat-composer button{background:var(--accent,#1f4f46);color:#fff;cursor:pointer;font:inherit;border:0;border-radius:10px;align-self:flex-end;padding:.6rem 1.25rem}.chat-composer button:disabled{opacity:.5;cursor:not-allowed}.ai-tutor-timeline .home-record-entry{cursor:default}@media (width<=640px){.chat-message{max-width:92%}}
