@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-border-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-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,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;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{.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.h-3\.5{height:calc(var(--spacing) * 3.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.border{border-style:var(--tw-border-style);border-width:1px}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.opacity-0{opacity:0}.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,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:translate-x-0\.5:hover{--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px 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)}}}:root{color:#1e2633;font-synthesis:none;text-rendering:optimizelegibility;--ink:#1e2633;--muted:#687386;--line:#d8dde6;--surface:#fff;--surface-soft:#f2f5f9;--brand:#355f91;--brand-strong:#244a76;--teal:#3f7e7a;--green:#4a845f;--rose:#a35f68;--shadow:0 18px 45px #232f431f;background:#f7f8fb;font-family:Inter,Noto Serif SC,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}.home-shell,.app-shell,.teacher-shell{background:linear-gradient(115deg,#355f911a,#0000 34%),linear-gradient(#fbfcfe,#eef3f7);min-height:100vh}.topbar,.workspace-header{justify-content:space-between;align-items:center;gap:24px;display:flex}.topbar{max-width:1180px;margin:0 auto;padding:24px 28px}.brand{color:var(--ink);align-items:center;gap:10px;font-weight:800;display:inline-flex}.brand-mark{width:42px;height:42px;color:var(--brand);background:#fff;border:1px solid #355f913d;border-radius:12px;place-items:center;display:grid;box-shadow:0 10px 25px #232f4314}.topbar-actions{gap:10px;display:flex}.topbar-actions button,.nav-item,.secondary-button,.primary-button,.add-resource,.chapter-actions button{border:1px solid var(--line);min-height:40px;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;transition:transform .16s,border-color .16s,box-shadow .16s}.topbar-actions button{padding:0 16px}.topbar-actions button:hover,.secondary-button:hover,.primary-button:hover,.nav-item:hover,.add-resource:hover,.chapter-actions button:hover{border-color:#355f9173;transform:translateY(-1px);box-shadow:0 10px 22px #232f431a}.hero{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:center;gap:44px;max-width:1180px;min-height:calc(100vh - 100px);margin:0 auto;padding:20px 28px 68px;display:grid}.hero-copy h1,.workspace-header h1,.learning-map h2,.chapter-heading h3{color:var(--ink);margin:0;font-family:Noto Serif SC,serif}.eyebrow{color:var(--teal);margin:0 0 12px;font-size:13px;font-weight:800}.hero-text{max-width:720px;color:var(--muted);margin:22px 0 0;font-size:18px;line-height:1.85}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.primary-button,.secondary-button{justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:800;display:inline-flex}.primary-button{border-color:var(--brand);color:#fff;background:var(--brand)}.primary-button:hover{border-color:var(--brand-strong);background:var(--brand-strong)}.hero-panel{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;border:1px solid #96a0ae57;border-radius:18px;gap:12px;padding:18px;display:grid}.flow-step{background:#fff;border:1px solid #dce2ea;border-radius:12px;grid-template-columns:54px 120px 1fr;align-items:center;gap:16px;min-height:74px;padding:14px 16px;display:grid}.flow-step span{color:var(--brand);font-weight:900}.flow-step strong{color:var(--ink)}.flow-step p{color:var(--muted);margin:0}.app-shell{padding:28px}.workspace-header{background:#ffffffdb;border:1px solid #96a0ae47;border-radius:16px;max-width:1480px;margin:0 auto 22px;padding:22px;box-shadow:0 12px 34px #232f4314}.workspace-header h1{font-size:clamp(28px,4vw,42px)}.workspace-header p{color:var(--muted);margin:8px 0 0}.workspace-layout{grid-template-columns:280px minmax(0,1fr);gap:22px;max-width:1480px;margin:0 auto;display:grid}.student-nav,.teacher-sidebar,.panel,.learning-map,.stat-card{background:#ffffffe6;border:1px solid #96a0ae52;box-shadow:0 12px 34px #232f4314}.student-nav{border-radius:16px;align-self:start;gap:12px;padding:16px;display:grid;position:sticky;top:20px}.course-card{background:#edf4f2;border-radius:12px;padding:16px}.course-card span{color:var(--teal);font-size:13px;font-weight:800}.course-card h2{color:var(--ink);margin:8px 0;font-size:20px}.course-card p{color:var(--muted);margin:0 0 14px;font-size:14px}.progress-track{background:#3f7e7a2e;border-radius:999px;height:9px;overflow:hidden}.progress-track div{border-radius:inherit;background:var(--teal);height:100%}.course-card strong{color:var(--ink);margin-top:10px;font-size:14px;display:block}.nav-item{text-align:left;align-items:center;gap:10px;width:100%;padding:0 14px;font-weight:800;display:flex}.nav-item.active{color:var(--brand-strong);background:#eef4fb;border-color:#355f9157}.workspace-main{min-width:0}.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.summary-strip div{min-height:54px;color:var(--ink);background:#fff;border:1px solid #96a0ae4d;border-radius:12px;align-items:center;gap:8px;padding:0 16px;display:flex}.learning-map{border-radius:16px;padding:20px}.map-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.learning-map h2{font-size:28px}.chapters{gap:24px;display:grid}.chapter-row{min-width:0}.chapter-heading{border-bottom:3px solid #d7d0c5;justify-content:space-between;align-items:start;gap:14px;padding:0 4px 14px;display:flex}.chapter-heading h3{font-size:24px}.chapter-heading p{color:var(--muted);margin:6px 0 0}.chapter-actions{gap:8px;display:flex}.chapter-actions button{place-items:center;width:38px;height:38px;display:grid}.section-grid{grid-template-columns:repeat(5,minmax(190px,1fr));gap:12px;padding:16px 2px 4px;display:grid;overflow-x:auto}.section-column{background:#fff;border:1px solid #d9dedf;border-radius:12px;min-width:190px}.section-accent{border-radius:11px 11px 0 0;height:6px}.section-header{border-bottom:1px solid #e1e5eb;gap:10px;min-height:96px;padding:14px;display:flex}.section-icon{background:#ffffffb8;border-radius:9px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.section-header h4{color:var(--ink);margin:0;font-size:15px}.section-header p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.45}.resource-list{gap:9px;padding:12px;display:grid}.resource-card{width:100%;min-height:66px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:1px solid #e0e5eb;border-radius:9px;align-items:center;gap:10px;padding:10px;display:flex}.resource-card:hover{border-color:#355f916b;transform:translate(2px);box-shadow:0 10px 20px #232f4314}.resource-icon{width:32px;height:32px;color:var(--brand);background:#eef4fb;border-radius:8px;flex:0 0 32px;place-items:center;display:grid}.resource-main{gap:4px;min-width:0;display:grid}.resource-title{color:#263244;font-size:14px;font-weight:800;line-height:1.35}.resource-meta{color:var(--muted);font-size:12px;font-weight:700}.complete-icon{color:var(--green);flex:none}.resource-actions{color:var(--muted);flex:none;gap:6px;display:flex}.add-resource{width:calc(100% - 24px);color:var(--brand);justify-content:center;align-items:center;gap:7px;margin:0 12px 12px;font-size:13px;font-weight:800;display:flex}.tone-sand .section-accent{background:#c4a882}.tone-sand .section-header{background:#faf6f1}.tone-blue .section-accent{background:#7b9baa}.tone-blue .section-header{background:#f2f6f8}.tone-lavender .section-accent{background:#9b8aaa}.tone-lavender .section-header{background:#f5f3f7}.tone-gray .section-accent{background:#8e9aaa}.tone-gray .section-header{background:#f3f4f6}.tone-sage .section-accent{background:#8ba88b}.tone-sage .section-header{background:#f3f6f3}.teacher-shell{grid-template-columns:260px minmax(0,1fr);display:grid}.teacher-sidebar{border-width:0 1px 0 0;border-radius:0;flex-direction:column;gap:18px;height:100vh;padding:20px;display:flex;position:sticky;top:0}.teacher-brand{border-bottom:1px solid var(--line);padding-bottom:14px}.teacher-nav{gap:10px;display:grid}.full-width{width:100%;margin-top:auto}.teacher-main{min-width:0;padding:28px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:1480px;margin:0 auto 18px;display:grid}.stat-card{border-radius:14px;padding:18px}.stat-card span{color:var(--muted);font-size:13px;font-weight:800}.stat-card strong{color:var(--ink);margin-top:10px;font-size:34px;display:block}.stat-card p{color:var(--muted);margin:8px 0 0}.teacher-content-grid{grid-template-columns:1fr 1fr;gap:14px;max-width:1480px;margin:0 auto 18px;display:grid}.panel{border-radius:14px;padding:18px}.panel-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.panel-header h2{margin:0;font-size:20px}.task-list{gap:10px;display:grid}.task-list label{color:var(--ink);background:var(--surface-soft);border:1px solid #e1e5eb;border-radius:9px;align-items:center;gap:10px;padding:12px;display:flex}.publish-card{background:#f4f0f5;border-radius:10px;padding:14px}.publish-card span{color:#6b5a7a;font-size:13px;font-weight:800}.publish-card strong{color:var(--ink);margin-top:8px;font-size:20px;display:block}.publish-card p{color:var(--muted);margin:8px 0 0;line-height:1.65}@media(max-width:1100px){.hero,.workspace-layout,.teacher-shell,.teacher-content-grid{grid-template-columns:1fr}.teacher-sidebar,.student-nav{height:auto;position:static}.teacher-sidebar{border-width:0 0 1px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.topbar,.workspace-header,.map-toolbar,.chapter-heading{flex-direction:column;align-items:stretch}.topbar-actions,.hero-actions,.topbar-actions button,.primary-button,.secondary-button{width:100%}.hero{grid-template-columns:1fr;padding-inline:18px}.flow-step{grid-template-columns:42px 1fr}.flow-step p{grid-column:2}.app-shell,.teacher-main{padding:16px}.summary-strip,.stats-grid{grid-template-columns:1fr}.section-grid{grid-template-columns:repeat(5,230px)}}.student-placeholder,.student-course-list{background:#ffffffeb;border:1px solid #96a0ae52;border-radius:14px;min-height:360px;box-shadow:0 12px 34px #232f4314}.student-placeholder{color:var(--muted);text-align:center;place-items:center;padding:38px;display:grid}.student-placeholder h2,.student-course-tile h2{color:var(--ink);margin:10px 0 0;font-family:Noto Serif SC,serif}.student-placeholder p,.student-course-tile p{max-width:620px;color:var(--muted);margin:10px auto 0;line-height:1.7}.student-course-list{grid-template-columns:minmax(0,520px);align-content:start;gap:18px;padding:24px;display:grid}.student-course-tile{background:#fff;border:1px solid #d8dde6;border-radius:12px;padding:24px}.student-course-tile>span{color:var(--teal);font-size:13px;font-weight:800}.student-course-tile .primary-button{margin-top:22px}.resource-open{width:28px;height:28px;color:var(--muted);background:#fff;border:1px solid #d9e1ea;border-radius:7px;flex:0 0 28px;place-items:center;text-decoration:none;display:inline-grid}.resource-open:hover{color:var(--brand);background:#f5f8fc;border-color:#355f9166}.student-shell.teacher-workspace{min-height:100vh}.student-sidebar .sidebar-collapse{cursor:default}.student-user-card{background:#fff;border:1px solid #e1e5ec;border-radius:10px;gap:6px;margin:auto 14px 18px;padding:14px;display:grid}.student-user-card span{color:var(--teal);font-size:12px;font-weight:800}.student-user-card strong{color:#111827;font-size:14px;line-height:1.35}.student-user-card small{color:#6b7280;line-height:1.4}.student-main .learning-map{box-shadow:none;border-radius:12px}.student-summary-strip{margin-bottom:22px}.student-course-grid{grid-template-columns:repeat(2,minmax(280px,420px));gap:22px;display:grid}.student-market-card .course-title-row span.owned{background:#256f5c}.student-course-actions{justify-content:flex-start}.student-course-actions .primary-button,.student-course-actions .secondary-button{width:auto;min-width:118px;height:36px}@media(max-width:1100px){.student-course-grid{grid-template-columns:1fr}}.student-shell.teacher-workspace{background:#fafafa;grid-template-columns:244px minmax(0,1fr);display:grid}.student-shell .student-sidebar{min-width:0}.student-shell .student-main{min-width:0;padding:40px 42px 64px}.student-shell .teacher-page-header,.student-shell .student-summary-strip,.student-shell .student-course-grid,.student-shell .learning-map,.student-shell .student-placeholder{max-width:none}@media(max-width:1100px){.student-shell.teacher-workspace{grid-template-columns:1fr}}.student-course-actions button,.student-course-actions button:last-child{color:inherit}.student-course-actions .primary-button,.student-course-actions .primary-button:last-child{color:#fff}.student-course-actions .secondary-button,.student-course-actions .secondary-button:last-child{color:#111827}.student-course-search{color:#6b7280;background:#fff;border:1px solid #d7d7dc;border-radius:8px;align-items:center;gap:10px;width:min(360px,100%);min-height:40px;padding:0 12px;display:flex}.student-course-search input{color:#111827;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0}.student-course-detail{grid-template-columns:minmax(220px,340px) minmax(0,1fr);align-items:stretch;gap:28px;max-width:980px;display:grid}.course-detail-cover{color:#7c8798;background:linear-gradient(#f1f2f5,#e9ebef);border-radius:10px;place-items:center;min-height:260px;display:grid}.student-course-detail span{color:var(--teal);font-size:13px;font-weight:800}.student-course-detail h2{color:#111827;margin:12px 0 10px;font-family:Noto Serif SC,serif;font-size:26px}.student-course-detail p{color:#6b7280;max-width:620px;margin:0 0 22px;line-height:1.7}.student-course-detail dl{grid-template-columns:repeat(3,minmax(130px,1fr));gap:12px;margin:0 0 24px;display:grid}.student-course-detail dl div{background:#fbfcfe;border:1px solid #e2e5ec;border-radius:8px;padding:14px}.student-course-detail dt{color:#6b7280;font-size:12px;font-weight:700}.student-course-detail dd{color:#111827;margin:6px 0 0;font-weight:800}@media(max-width:900px){.student-course-detail,.student-course-detail dl{grid-template-columns:1fr}}:root{--ds-content:oklch(97% .008 80);--ds-card:oklch(100% 0 0);--ds-border:oklch(91% .01 80);--ds-text:oklch(18% .02 240);--ds-secondary:oklch(48% .04 240);--ds-muted:oklch(65% .03 240);--ds-accent:oklch(58% .22 245);--ds-accent-dim:oklch(45% .18 245);--ds-accent-glow:oklch(58% .22 245/.25);--ds-accent-bg:oklch(96% .04 245);--ds-sidebar:oklch(14% .04 240);--ds-sidebar-2:oklch(18% .045 245);--ds-sidebar-active:oklch(22% .06 245);--ds-sidebar-border:oklch(30% .04 240/.55);--ds-card-shadow:0 1px 4px oklch(0% 0 0/.04);--ds-hover-shadow:0 8px 24px oklch(0% 0 0/.08);--ds-panel-shadow:0 2px 10px oklch(0% 0 0/.08);--ds-radius-panel:14px;--ds-radius-button:8px}body{color:var(--ds-text);background:var(--ds-content);letter-spacing:0;margin:0;font-family:Noto Sans SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{letter-spacing:0;font-family:inherit}.primary-button,.secondary-button,button.primary-button,button.secondary-button{border-radius:var(--ds-radius-button);min-height:38px;padding:9px 20px;font-size:13.5px;font-weight:700;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s}.primary-button,button.primary-button{border:1px solid var(--ds-accent);color:#fff;background:var(--ds-accent);box-shadow:0 8px 18px var(--ds-accent-glow)}.primary-button:hover,button.primary-button:hover{background:var(--ds-accent-dim);border-color:var(--ds-accent-dim);transform:translateY(-1px)}.secondary-button,button.secondary-button{border:1px solid var(--ds-border);color:var(--ds-secondary);box-shadow:var(--ds-card-shadow);background:#fff}.secondary-button:hover,button.secondary-button:hover{color:var(--ds-accent-dim);background:var(--ds-accent-bg);border-color:#9ecaef}.home-shell:before{content:"";pointer-events:none;opacity:.86;background-image:linear-gradient(#0080ca1c 1px,#0000 1px),linear-gradient(90deg,#0080ca1c 1px,#0000 1px),radial-gradient(circle at 11% 27%,#0000 0% 8px,#0080ca8c 9px 10px,#0000 11px),radial-gradient(circle at 68% 36%,#0080cab3 0% 5px,#0000 6px);background-image:linear-gradient(color(xyz 0.202 0.195 0.859 / 0.11) 1px,#0000 1px),linear-gradient(90deg,color(xyz 0.202 0.195 0.859 / 0.11) 1px,#0000 1px),radial-gradient(circle at 11% 27%,#0000 0% 8px,color(xyz 0.202 0.195 0.859 / 0.549) 9px 10px,#0000 11px),radial-gradient(circle at 68% 36%,color(xyz 0.202 0.195 0.859 / 0.702) 0% 5px,#0000 6px);background-size:96px 96px,96px 96px,240px 240px,360px 360px;position:absolute;inset:0}.home-shell:after{content:"E=mc²        F=ma";pointer-events:none;color:#00629c38;color:oklch(48% .18 245/.22);letter-spacing:0;opacity:.95;background-color:#0000;background-image:radial-gradient(at 14% 28%,#0000 0% 48px,#0080ca80 49px 50px,#0000 51px),linear-gradient(105deg,#0000 0% 42%,#0080ca61 42.2% 42.5%,#0000 42.8% 100%),repeating-radial-gradient(at 82% 58%,#0000 0% 78px,#0080ca40 79px 80px,#0000 81px 124px);background-image:radial-gradient(at 14% 28%,#0000 0% 48px,color(xyz 0.202 0.195 0.859 / 0.502) 49px 50px,#0000 51px),linear-gradient(105deg,#0000 0% 42%,color(xyz 0.202 0.195 0.859 / 0.38) 42.2% 42.5%,#0000 42.8% 100%),repeating-radial-gradient(at 82% 58%,#0000 0% 78px,color(xyz 0.202 0.195 0.859 / 0.251) 79px 80px,#0000 81px 124px);background-position:6% 12%,0 0,0 0;background-repeat:no-repeat;background-size:auto,auto,auto;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;justify-content:space-between;align-items:flex-end;height:520px;padding:0 9%;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,5vw,72px);font-weight:700;display:flex;position:absolute;inset:80px -8% auto}.topbar{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00040ab8;background:oklch(10% .04 245/.72);border-bottom:1px solid oklch(38% .08 245/.38);width:100%;max-width:none;height:76px;padding:0 40px;position:relative}.brand,.topbar .brand{color:#fff;font-family:Noto Serif SC,serif;font-size:16px;font-weight:700}.brand-mark,.topbar .brand-mark{color:#fff;background:linear-gradient(135deg,var(--ds-accent),oklch(64% .2 235));width:34px;height:34px;box-shadow:0 0 26px var(--ds-accent-glow);border-radius:8px}.topbar-actions button{color:#a5d0f6;background:#000a17b8;background:oklch(14% .06 245/.72);border:1px solid oklch(58% .22 245/.42);border-radius:8px;min-height:38px;font-weight:700}.topbar-actions button:last-child{color:#fff;background:var(--ds-accent);border-color:var(--ds-accent);box-shadow:0 8px 18px var(--ds-accent-glow)}.hero{z-index:1;text-align:center;grid-template-columns:1fr;place-items:center;max-width:980px;min-height:calc(100vh - 76px);margin:0 auto;padding:72px 28px 116px;display:grid;position:relative}.hero-copy{max-width:720px}.hero-copy .eyebrow,.home-shell .eyebrow{color:#7fbef3;background:#001324b8;background:oklch(18% .08 245/.72);border:1px solid oklch(58% .22 245/.42);border-radius:999px;justify-content:center;align-items:center;width:auto;margin:0 0 28px;padding:8px 18px;font-size:13px;font-weight:700;display:inline-flex}.hero-copy h1{color:#fff;letter-spacing:0;text-shadow:0 12px 34px oklch(0% 0 0/.34);max-width:720px;margin:0 auto;font-family:Noto Serif SC,serif;font-size:clamp(42px,5vw,72px);line-height:1.08}.hero-copy h1:first-line{color:#fff}.hero-text,.hero-copy .hero-text{color:#94b5d2;max-width:620px;margin:26px auto 0;font-size:16px;line-height:1.85}.hero-actions{justify-content:center;margin-top:36px}.hero-actions .secondary-button{color:#98caf5;box-shadow:none;background:#000610c7;background:oklch(12% .055 245/.78);border-color:#0080ca5c;border-color:oklch(58% .22 245/.36)}.hero-panel{display:none}.student-shell,.student-main{background:var(--ds-content)}.student-market-card .course-cover,.course-detail-cover{color:#506679;background:radial-gradient(circle at 50% 48%,#0080ca21,#0000 34%),linear-gradient(135deg,#000e1d,#000407);background:radial-gradient(circle at 50% 48%,color(xyz 0.202 0.195 0.859 / 0.129),#0000 34%),linear-gradient(135deg,color(xyz 0.004 0.004 0.016),color(xyz 0.001 0.001 0.006))}.student-market-card .course-card-body,.student-course-detail,.student-placeholder,.qa-thread-card,.student-qa-composer,.student-ai-chat-panel,.ai-dev-note{border:1px solid var(--ds-border);border-radius:var(--ds-radius-panel);background:var(--ds-card);box-shadow:var(--ds-card-shadow)}.student-course-search{border:1px solid var(--ds-border);box-shadow:var(--ds-card-shadow);background:#fff;border-radius:10px}.student-course-search input,.student-course-detail h2,.student-course-detail dt,.student-course-detail dd,.student-market-card h2,.qa-thread-card h3,.student-qa-composer h2{color:var(--ds-text)}.student-course-detail p,.student-course-detail dt,.qa-thread-card p,.student-qa-composer p{color:var(--ds-secondary)}@media(max-width:860px){.topbar{height:auto;min-height:70px;padding:14px 18px}.hero{min-height:calc(100vh - 78px);padding:64px 18px 90px}.hero-copy h1{font-size:clamp(36px,12vw,54px)}}.home-shell:before{opacity:.72;background-image:linear-gradient(#0080ca1b 1px,#0000 1px),linear-gradient(90deg,#0080ca1b 1px,#0000 1px);background-image:linear-gradient(color(xyz 0.202 0.195 0.859 / 0.106) 1px,#0000 1px),linear-gradient(90deg,color(xyz 0.202 0.195 0.859 / 0.106) 1px,#0000 1px);background-size:86px 86px,86px 86px}.home-shell:after{content:"";opacity:1;background:radial-gradient(at 14% 46%,#0000 0% 70px,#0080ca57 71px 72px,#0000 73px),radial-gradient(at 20% 47%,#0000 0% 130px,#0080ca38 131px 132px,#0000 133px),radial-gradient(at 78% 32%,#0000 0% 62px,#0080ca47 63px 64px,#0000 65px),linear-gradient(112deg,#0000 0% 38%,#0080ca38 38.1% 38.3%,#0000 38.5% 100%);background:radial-gradient(at 14% 46%,#0000 0% 70px,color(xyz 0.202 0.195 0.859 / 0.341) 71px 72px,#0000 73px),radial-gradient(at 20% 47%,#0000 0% 130px,color(xyz 0.202 0.195 0.859 / 0.22) 131px 132px,#0000 133px),radial-gradient(at 78% 32%,#0000 0% 62px,color(xyz 0.202 0.195 0.859 / 0.278) 63px 64px,#0000 65px),linear-gradient(112deg,#0000 0% 38%,color(xyz 0.202 0.195 0.859 / 0.22) 38.1% 38.3%,#0000 38.5% 100%)}.physics-layer{pointer-events:none;color:#0093e67a;color:oklch(64% .18 245/.48);position:absolute;inset:76px 0 0;overflow:hidden}.physics-equation{letter-spacing:0;color:#0077bc47;color:oklch(55% .17 245/.28);text-shadow:0 0 20px oklch(58% .22 245/.12);font-family:Georgia,Times New Roman,serif;font-weight:600;position:absolute}.equation-one{font-size:42px;top:23%;left:7%;transform:rotate(-8deg)}.equation-two{font-size:52px;top:18%;right:12%}.equation-three{font-size:58px;bottom:18%;left:5%}.equation-four{font-size:34px;bottom:20%;right:19%;transform:rotate(7deg)}.physics-wave{border-top:2px solid oklch(58% .22 245/.38);border-radius:50%;width:34vw;min-width:320px;height:150px;position:absolute;transform:rotate(-8deg)}.wave-one{top:31%;left:8%}.wave-two{opacity:.62;top:42%;right:5%;transform:rotate(10deg)}.physics-atom{background:radial-gradient(circle,#0080cab3 0% 5px,#0000 6px),radial-gradient(circle,#0080ca2e,#0000 34%);background:radial-gradient(circle,color(xyz 0.202 0.195 0.859 / 0.702) 0% 5px,#0000 6px),radial-gradient(circle,color(xyz 0.202 0.195 0.859 / 0.18),#0000 34%);border-radius:999px;width:150px;height:150px;position:absolute;top:19%;left:11%}.physics-atom:before,.physics-atom:after{content:"";border:1.5px solid oklch(58% .22 245/.55);border-radius:50%;position:absolute;inset:38px 6px}.physics-atom:before{transform:rotate(28deg)}.physics-atom:after{transform:rotate(-32deg)}.physics-pendulum{transform-origin:0 0;border-left:1.5px solid oklch(58% .22 245/.45);width:118px;height:170px;position:absolute;top:12%;left:46%;transform:rotate(24deg)}.physics-pendulum:after{content:"";border:2px solid oklch(58% .22 245/.58);border-radius:999px;width:18px;height:18px;position:absolute;bottom:-8px;left:-9px}.physics-vector{background:#0080ca73;background:oklch(58% .22 245/.45);width:118px;height:1.5px;position:absolute}.physics-vector:after{content:"";border-top:1.5px solid;border-right:1.5px solid;width:8px;height:8px;position:absolute;top:-4px;right:-2px;transform:rotate(45deg)}.vector-one{bottom:30%;right:9%}.vector-two{opacity:.72;width:90px;bottom:25%;right:14%}.physics-circuit{border:1.5px solid oklch(58% .22 245/.42);border-left:0;width:170px;height:42px;position:absolute;top:56%;right:8%}.physics-circuit:before{content:"";border-top:2px solid oklch(58% .22 245/.42);border-radius:50%;width:68px;height:24px;position:absolute;top:18px;left:-50px}.hero-copy h1,.hero-copy h1:first-line{font-weight:560}.home-shell .eyebrow,.hero-actions .primary-button,.hero-actions .secondary-button,.topbar-actions button,.brand,.topbar .brand{font-weight:600}.student-shell,.teacher-workspace{font-weight:400}.student-shell h1,.student-shell h2,.student-shell h3,.student-shell h4,.student-shell strong,.student-shell button,.student-shell .nav-item,.student-shell .course-title-row span,.student-shell .summary-strip span{font-weight:500}.student-market-card .course-title-row span.owned,.student-market-card .course-title-row span{color:#fff;background:#1c6d51;box-shadow:inset 0 0 0 1px #ffffff38}.student-market-card .course-title-row span:not(.owned){color:#002a2e;color:oklch(26% .08 205);background:#bfeff4}.student-user-card>span:first-child{display:none}.student-user-card strong,.hero-copy h1,.hero-copy h1:first-line{font-weight:500}body{font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,Microsoft YaHei,system-ui,sans-serif}.login-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00030785;background:oklch(9% .04 245/.52);border:1px solid oklch(58% .22 245/.22);border-radius:14px;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px;padding:10px;display:inline-flex}.login-panel .primary-button,.login-panel .secondary-button{justify-content:center;min-width:156px;font-weight:450}.login-panel .secondary-button{color:#98caf5;box-shadow:none;background:#000610c7;background:oklch(12% .055 245/.78);border-color:#0080ca5c;border-color:oklch(58% .22 245/.36)}.hero-actions{display:none}.student-course-search,.teacher-search-box,.resource-picker-search{padding-left:18px;padding-right:14px}.student-course-search input,.teacher-search-box input,.resource-picker-search input,.search-input input,input::placeholder,textarea::placeholder{font-weight:350}.student-shell h1,.student-shell h2,.student-shell h3,.student-shell h4,.student-shell strong,.student-shell button,.student-shell .nav-item,.student-shell .course-title-row span,.student-shell .summary-strip span,.student-shell .resource-title,.student-shell .resource-meta,.student-shell dt,.student-shell dd{font-weight:400}.student-shell .teacher-page-header h1,.student-shell .learning-map h2,.student-shell .course-card-body h2,.student-shell .student-course-detail h2{font-weight:500}.teacher-preview-banner{color:#092b44;background:linear-gradient(135deg,#edf7ff,#ddf8fb);background:linear-gradient(135deg,color(xyz 0.86 0.915 1.093),#ddf8fb);border:1px solid oklch(78% .07 245);border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;padding:12px 14px 12px 16px;display:flex;box-shadow:0 10px 24px #263a4b14}.teacher-preview-banner>div{align-items:center;gap:9px;min-width:0;display:flex}.teacher-preview-banner span{color:#002641;color:oklch(26% .08 245)}.teacher-preview-banner small{color:#4d6070;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-preview-banner .secondary-button{flex:none;min-height:34px;padding:0 13px}.teacher-workspace :where(h1,h2,h3,h4,h5,h6,strong,button,label,th,.nav-item,.resource-title,.course-title-row span,.section-header h4,.chapter-heading h3),.student-shell :where(h1,h2,h3,h4,h5,h6,strong,button,label,th,.nav-item,.resource-title,.course-title-row span,.section-header h4,.chapter-heading h3){font-weight:450}.teacher-workspace :where(.teacher-page-header h1),.student-shell :where(.teacher-page-header h1){font-weight:500}@media(max-width:720px){.teacher-preview-banner{flex-direction:column;align-items:flex-start}.teacher-preview-banner small{white-space:normal}}.unified-login-panel{text-align:left;gap:12px;width:min(420px,100vw - 40px);margin:34px auto 0;padding:18px;display:grid}.login-panel-header{gap:4px;margin-bottom:2px;display:grid}.login-panel-header span{color:#fff;font-size:18px;font-weight:500}.login-panel-header small,.auth-message{color:#88a9c5;font-size:12.5px;line-height:1.55}.auth-field{gap:6px;display:grid}.auth-field span{color:#9bbcd9;font-size:12.5px;font-weight:400}.auth-field input{color:#fff;background:#000205a8;background:oklch(8% .035 245/.66);border:1px solid oklch(58% .22 245/.28);border-radius:9px;outline:0;width:100%;min-height:40px;padding:0 13px;font-size:14px}.role-segment{background:#0002056b;background:oklch(8% .035 245/.42);border:1px solid oklch(58% .22 245/.22);border-radius:10px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.role-segment button,.auth-switch{cursor:pointer;font:inherit;border:0}.role-segment button{color:#9bbcd9;background:0 0;border-radius:7px;min-height:34px}.role-segment button.active{color:#fff;background:#0080cac7;background:oklch(58% .22 245/.78)}.auth-submit{justify-content:center;width:100%;margin-top:2px}.auth-switch{color:#8cbde8;background:0 0;justify-self:center;width:max-content;padding:4px 8px;font-size:13px}.auth-switch:hover{color:#fff}.auth-message{text-align:center;margin:0}.access-notice-shell{background:var(--ds-page-bg,#f5f1eb);place-items:center;min-height:100vh;padding:32px;display:grid}.access-notice-card{border:1px solid var(--ds-border,#ded8cf);background:#fff;border-radius:12px;justify-items:start;gap:12px;width:min(440px,100%);padding:28px;display:grid;box-shadow:0 18px 44px #0f172a14}.access-notice-card>svg{color:#006eae;color:oklch(52% .16 245)}.access-notice-card h1{color:var(--ds-text,#111827);letter-spacing:0;margin:0;font-size:24px;font-weight:500}.access-notice-card p:not(.eyebrow){color:var(--ds-muted,#64748b);margin:0;line-height:1.75}.access-notice-card .primary-button{margin-top:8px}.student-course-actions button:disabled{cursor:not-allowed;opacity:.68;box-shadow:none}:root{--ui-bg:#f5f1eb;--ui-bg-soft:#fbfaf7;--ui-surface:#fff;--ui-surface-2:#f7f9fb;--ui-line:#ded8cf;--ui-line-strong:#cfc8bd;--ui-text:#17212f;--ui-muted:#607086;--ui-subtle:#8794a6;--ui-blue:#0b7fe8;--ui-blue-dark:#065fb6;--ui-navy:#001425;--ui-teal:#157a72;--ui-green:#1f7a55;--ui-amber:#a76718;--ui-rose:#a94b5d;--ui-shadow-sm:0 8px 22px #1e293b14;--ui-shadow-md:0 18px 44px #1e293b1c;--ui-radius:10px;--ui-radius-lg:14px;--font-sans:Inter, "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif}html,body,#root{min-height:100%}body{color:var(--ui-text);background:var(--ui-bg);font-family:var(--font-sans)}body,button,input,textarea{font-family:var(--font-sans);letter-spacing:0}:where(h1,h2,h3,h4,strong,button,label,th){font-weight:450}:where(.teacher-page-header h1,.hero-copy h1,.learning-map h2){font-weight:500}.primary-button,.secondary-button,button.primary-button,button.secondary-button{border-radius:9px;min-height:40px;transition:background .16s,border-color .16s,box-shadow .16s,color .16s,transform .16s}.primary-button,button.primary-button{border-color:var(--ui-blue);color:#fff;background:linear-gradient(#128cf4,#0877dc);box-shadow:0 10px 24px #0877dc33}.primary-button:hover,button.primary-button:hover{border-color:var(--ui-blue-dark);background:linear-gradient(#0d7fe8,#0666c4);box-shadow:0 14px 30px #0877dc3d}.secondary-button,button.secondary-button{border-color:var(--ui-line);color:var(--ui-text);background:#fff}.secondary-button:hover,button.secondary-button:hover{border-color:var(--ui-line-strong);background:#fbfaf7}.home-shell{color:#f8fbff;background:#020915 url(/assets/physics-hero-bg-B1ViSNB3.webp) 50%/cover no-repeat;min-height:100vh;position:relative;overflow:hidden}.home-shell:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 48%,#0077ff2e,#0000 24%),linear-gradient(#01081247,#010812bd);position:absolute;inset:0}.home-shell:after,.physics-layer{display:none}.home-shell .topbar,.home-shell .hero{z-index:1;position:relative}.home-shell .topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#01081275;border-bottom:1px solid #78bcff2e;max-width:none;height:72px;padding:0 40px}.home-shell .brand{color:#fff;font-size:15px;font-weight:500}.home-shell .brand-mark{background:#071a2f url(/assets/physics-app-mark-DFZKNWhb.png) 50%/cover no-repeat;border:1px solid #78bcff4d;border-radius:10px;width:38px;height:38px;box-shadow:0 12px 30px #0084ff3d}.home-shell .brand-mark svg{opacity:0}.login-hint{color:#dae9fabd;font-size:13px}.hero{grid-template-columns:minmax(0,1fr);place-items:center;max-width:1180px;min-height:calc(100vh - 72px);padding:56px 28px 72px;display:grid}.hero-copy{text-align:center;justify-items:center;width:min(760px,100%);display:grid}.home-shell .eyebrow{color:#a7d7ff;background:#02142685;border:1px solid #50aeff59;border-radius:999px;align-items:center;min-height:30px;margin-bottom:20px;padding:0 14px;font-size:12px;font-weight:450;display:inline-flex}.hero-copy h1{color:#fff;max-width:760px;font-family:var(--font-sans);text-wrap:balance;text-shadow:0 18px 42px #0000006b;font-size:clamp(38px,5vw,64px);line-height:1.12}.hero-text{color:#b8cde2;text-wrap:pretty;max-width:660px;margin:22px 0 0;font-size:16px;line-height:1.9}.unified-login-panel{-webkit-backdrop-filter:blur(22px)saturate(1.25);backdrop-filter:blur(22px)saturate(1.25);background:linear-gradient(#041527d6,#030e1bb8);border:1px solid #82bcff3d;border-radius:14px;width:min(430px,100vw - 36px);margin-top:32px;padding:18px;box-shadow:0 28px 70px #00000052}.login-panel-header span{color:#fff;font-weight:500}.auth-field input{color:#f8fbff;background:#010a1494;border-color:#7db7f247;border-radius:9px;min-height:42px;padding:0 14px}.auth-field input:focus{border-color:#44a4ffc7;box-shadow:0 0 0 3px #1a8fff2e}.auth-field input::placeholder{color:#bed0e494}.auth-message{color:#aabfd7}.role-segment{background:#020e1b94;border-color:#7db7f23d}.role-segment button.active{background:#0d7fe8e6}.auth-switch{color:#a7d7ff}.access-notice-shell,.teacher-shell,.teacher-workspace,.student-shell.teacher-workspace{background:radial-gradient(circle at 92% 2%,#0b7fe814,transparent 26%),linear-gradient(180deg,#f8f5ef,var(--ui-bg))}.student-course-grid{align-items:stretch}.teacher-course-card,.student-market-card,.teacher-panel,.resource-table,.student-list,.access-notice-card{border-color:var(--ui-line);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm);background:#fffffff0}.teacher-course-card:hover,.student-market-card:hover{box-shadow:var(--ui-shadow-md);transform:translateY(-2px)}.course-cover,.student-market-card .course-cover,.teacher-course-card .course-cover,.course-detail-cover{color:#cbe8ff;background:#041322 url(/assets/physics-course-cover-CFja0Otw.webp) 50%/cover no-repeat;position:relative;overflow:hidden}.course-cover:after,.student-market-card .course-cover:after,.teacher-course-card .course-cover:after,.course-detail-cover:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0000002e);position:absolute;inset:0}.course-cover svg,.student-market-card .course-cover svg,.teacher-course-card .course-cover svg,.course-detail-cover svg{z-index:1;stroke-width:1.65px;opacity:.78;position:relative}.student-market-card .course-card-body,.teacher-course-card .course-card-body,.course-title-row{gap:12px}.course-title-row h2,.student-market-card h2,.teacher-course-card h2{color:var(--ui-text);font-family:var(--font-sans);font-size:17px;font-weight:500;line-height:1.45}.course-title-row span,.student-market-card .course-title-row span{white-space:nowrap;border-radius:999px;min-height:24px;padding:0 10px;font-size:12px;font-weight:450}.student-market-card .course-title-row span.owned{color:#075f49;background:#ccefe4}.student-market-card .course-title-row span:not(.owned):not(.draft){color:#074d92;background:#d7ecff}.student-market-card .course-title-row span.draft{color:#7a4d14;background:#f3e5c8}.summary-strip,.student-summary-strip{border-color:var(--ui-line);box-shadow:none;background:#ffffffdb;border-radius:12px}.student-course-search,.teacher-search-box,.resource-picker-search,.search-input{border-color:var(--ui-line);background:#fff;border-radius:10px;min-height:44px;box-shadow:0 8px 18px #1e293b0a}.student-course-search input,.teacher-search-box input,.resource-picker-search input,.search-input input{padding-left:8px}.student-course-search input::placeholder,.teacher-search-box input::placeholder,.resource-picker-search input::placeholder,.search-input input::placeholder,textarea::placeholder{color:#8d98a8}@media(max-width:760px){.home-shell .topbar{height:auto;padding:16px 18px}.hero{min-height:calc(100vh - 70px);padding:36px 18px 48px}.hero-copy h1{font-size:36px}.hero-text{font-size:15px}}.home-shell{background-color:#020915;height:auto;min-height:100vh;overflow:hidden auto}.home-shell .topbar{height:64px}.hero{min-height:calc(100vh - 64px);padding-top:28px;padding-bottom:30px}.home-shell .eyebrow{min-height:28px;margin-bottom:16px}.hero-text{max-width:620px;margin-top:16px;font-size:15px;line-height:1.72}.unified-login-panel{gap:10px;margin-top:22px;padding:16px}.login-panel-header{gap:2px}.login-panel-header small,.auth-message{line-height:1.42}.auth-field{gap:5px}.auth-field input{min-height:39px}.auth-submit{min-height:40px}@media(max-height:760px){.home-shell .topbar{height:58px}.hero{min-height:calc(100vh - 58px);padding-top:18px;padding-bottom:22px}.hero-copy h1{font-size:clamp(30px,4vw,46px)}.hero-text{margin-top:12px}.unified-login-panel{margin-top:16px}}body:has(.home-shell){background:#020915}html{background:#f5f1eb}html:has(.home-shell){background:#020915}html:has(.teacher-workspace),html:has(.student-shell),html:has(.access-notice-shell){background:#f5f1eb}#root{min-height:100vh}.course-cover,.student-market-card .course-cover,.teacher-course-card .course-cover,.course-detail-cover{background:#041322 url(/assets/physics-hero-bg-B1ViSNB3.webp) 50%/cover no-repeat}.home-shell:before{background:radial-gradient(circle at 50% 44%,#01102014,#0000 20%),linear-gradient(#0108122e,#010812bd)}.hero{padding-top:34px;padding-bottom:44px}.hero-copy{width:min(820px,100%)}.hero-copy h1{max-width:820px;font-size:clamp(34px,4.2vw,58px);line-height:1.16}.hero-text{color:#caddf0e6;max-width:700px;margin-top:18px;font-size:16px;line-height:1.78}.hero-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:min(760px,100%);margin-top:22px;display:grid}.hero-feature-grid>div{color:#ddefffeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#071d3494,#03101f7a);border:1px solid #76b9ff38;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 12px;display:flex;box-shadow:inset 0 1px #ffffff0f,0 14px 34px #00000029}.hero-feature-grid svg{color:#62c6ff;stroke-width:1.8px;flex:none}.hero-feature-grid span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:450;overflow:hidden}.unified-login-panel{margin-top:24px}.site-record-footer{z-index:1;color:#bed7efb8;justify-content:center;padding:26px 18px 24px;font-size:13px;display:flex;position:relative}.site-record-footer:before{content:"";background:linear-gradient(90deg,#0000,#74bfff47,#0000);width:min(1180px,100% - 56px);height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.site-record-footer a{color:inherit;text-decoration:none}.site-record-footer a:hover{color:#e8f5ff;text-decoration:underline}@media(max-width:760px){.hero-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-height:760px)and (min-width:761px){.hero-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}.hero-feature-grid>div{min-height:36px}.unified-login-panel{margin-top:18px}}.hero-copy,.hero-copy h1,.hero-text,.hero-feature-grid,.unified-login-panel{min-width:0}.hero-copy h1{font-weight:520}@media(max-width:760px){.home-shell{background-position:52%;overflow-x:hidden}.home-shell .topbar{flex-wrap:wrap;align-content:center;gap:8px 14px;padding:14px 18px;display:flex}.login-hint{width:100%}.hero{place-items:start center;width:100%;min-height:auto;padding:30px 18px 46px;overflow:hidden}.hero-copy{text-align:left;justify-items:stretch;width:100%;max-width:calc(100vw - 36px)}.home-shell .eyebrow{white-space:normal;justify-self:start;max-width:100%}.hero-copy h1{overflow-wrap:anywhere;text-align:left;width:100%;max-width:100%;font-size:clamp(30px,8.2vw,38px);line-height:1.18}.hero-text{text-align:left;width:100%;max-width:100%;font-size:15px;line-height:1.78}.hero-feature-grid{grid-template-columns:1fr 1fr;gap:9px;width:100%;max-width:100%}.hero-feature-grid>div{justify-content:flex-start;min-width:0;min-height:40px;padding:0 10px}.hero-feature-grid span{font-size:12px}.unified-login-panel{width:100%;max-width:100%;margin-top:22px}html:has(.home-shell),body:has(.home-shell),#root:has(.home-shell),.home-shell{width:100%;max-width:100vw;overflow-x:hidden}.home-shell *{max-width:100%}.home-shell .topbar,.home-shell .hero,.home-shell .hero-copy,.home-shell .hero-copy h1,.home-shell .hero-text,.home-shell .hero-feature-grid,.home-shell .unified-login-panel{width:100%;max-width:calc(100vw - 36px);margin-left:auto;margin-right:auto}.home-shell .topbar{max-width:100vw;padding-left:18px;padding-right:18px}.home-shell .brand{min-width:0}.home-shell .brand>span:last-child,.login-hint{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-shell .hero-copy h1{word-break:break-word;overflow-wrap:break-word;white-space:normal;display:block}.home-shell .hero-feature-grid{margin-left:0;margin-right:0}.home-shell .hero-copy h1{word-break:break-all;max-width:320px;font-size:clamp(31px,8vw,36px);line-height:1.18}}.microcourse-overview{z-index:1;color:#1c2838;background:radial-gradient(circle at 12% 8%,#1792ff14,#0000 26%),linear-gradient(#f8f4ed,#f2eee6);padding:64px 28px 78px;position:relative}.microcourse-overview-inner{width:min(1180px,100%);margin:0 auto}.microcourse-section-heading{gap:10px;max-width:760px;margin-bottom:28px;display:grid}.microcourse-section-heading .eyebrow{color:#145c8d;background:#eef8ff;border:1px solid #b9d7ee;border-radius:999px;justify-self:start;min-height:28px;margin:0;padding:0 12px;font-size:12px;font-weight:450}.microcourse-section-heading h2{color:#142031;letter-spacing:0;margin:0;font-size:clamp(25px,3vw,38px);font-weight:500;line-height:1.28}.microcourse-section-heading p{color:#5a6878;margin:0;font-size:16px;line-height:1.8}.microcourse-feature-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.microcourse-feature-cards article{background:#ffffffe0;border:1px solid #ded7cc;border-radius:14px;min-height:186px;padding:22px;box-shadow:0 16px 38px #3226180f}.microcourse-feature-cards svg{color:#0d79c7;stroke-width:1.7px;background:#dff2ff;border-radius:12px;width:38px;height:38px;padding:8px}.microcourse-feature-cards h3{color:#172233;margin:16px 0 8px;font-size:18px;font-weight:500;line-height:1.35}.microcourse-feature-cards p{color:#5e6977;margin:0;font-size:14px;line-height:1.72}.microcourse-flow{color:#345267;background:#ffffffc2;border:1px solid #ded7cc;border-radius:14px;justify-content:center;align-items:center;gap:10px;margin-top:20px;padding:16px;display:flex;box-shadow:0 14px 32px #3226180b}.microcourse-flow span{color:#164b70;white-space:nowrap;background:#eef8ff;border-radius:999px;justify-content:center;align-items:center;min-height:32px;padding:0 13px;font-size:13px;font-weight:450;display:inline-flex}.microcourse-flow svg{color:#7b8b9c;flex:none}@media(max-width:920px){.microcourse-feature-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.microcourse-flow{flex-wrap:wrap;justify-content:flex-start}}@media(max-width:760px){.microcourse-overview{padding:44px 18px 58px}.microcourse-section-heading h2{font-size:26px}.microcourse-section-heading p{font-size:15px}.microcourse-feature-cards{grid-template-columns:1fr}.microcourse-feature-cards article{min-height:auto;padding:20px}.microcourse-flow{grid-template-columns:1fr;gap:8px;display:grid}.microcourse-flow svg{display:none}.microcourse-flow span{width:100%}}@media(min-width:761px){.home-shell .hero{min-height:calc(100vh - 190px);padding-top:46px;padding-bottom:58px}}@media(max-width:760px){.home-shell .topbar{grid-template-columns:1fr;justify-items:start;width:100vw;max-width:100vw;margin:0;padding:14px 18px;display:grid}.home-shell .brand{width:100%}.login-hint{width:100%;margin:0}.home-shell .hero{width:100vw;max-width:100vw;margin:0;padding:30px 18px 46px}.home-shell .hero-copy,.home-shell .hero-copy h1,.home-shell .hero-text,.home-shell .hero-feature-grid,.home-shell .unified-login-panel{width:calc(100vw - 36px);max-width:calc(100vw - 36px);margin-left:0;margin-right:0}.home-shell .hero-copy h1{max-width:290px;font-size:34px}.home-shell .hero-feature-grid{grid-template-columns:1fr}.home-shell .hero-feature-grid>div{width:100%}}@media(min-width:761px){.home-shell .hero{min-height:auto;padding-top:44px;padding-bottom:54px}}@media(max-width:760px){.home-shell .hero{justify-items:center}.home-shell .hero-copy,.home-shell .hero-copy h1,.home-shell .hero-text,.home-shell .hero-feature-grid,.home-shell .unified-login-panel,.microcourse-overview-inner,.microcourse-section-heading,.microcourse-feature-cards,.microcourse-flow{width:min(340px,100%);max-width:340px;margin-left:auto;margin-right:auto}.home-shell .hero-copy h1,.home-shell .hero-text{overflow-wrap:break-word}.hero-feature-grid>div,.microcourse-feature-cards article,.microcourse-flow{box-sizing:border-box}.login-panel .auth-message,.unified-login-panel p,.microcourse-section-heading p,.microcourse-feature-cards p{overflow-wrap:break-word}.home-shell .hero{justify-items:start!important;padding-left:18px!important;padding-right:18px!important}.home-shell .hero-copy,.home-shell .hero-copy h1,.home-shell .hero-text,.home-shell .hero-feature-grid,.home-shell .unified-login-panel{margin-left:0!important;margin-right:0!important}.home-shell .hero-copy h1{white-space:normal!important;word-break:break-all!important;overflow-wrap:anywhere!important;width:280px!important;max-width:280px!important}.home-shell .hero-text,.home-shell .hero-feature-grid,.home-shell .unified-login-panel{width:340px!important;max-width:340px!important}.microcourse-overview-inner,.microcourse-section-heading,.microcourse-feature-cards,.microcourse-flow{width:340px!important;max-width:340px!important;margin-left:0!important;margin-right:0!important}}.home-shell .topbar{display:none}.home-shell{background-color:#020915}.home-shell .hero{min-height:auto;padding-top:clamp(54px,8vh,84px);padding-bottom:96px}.microcourse-section-heading h2{text-wrap:balance;max-width:760px;font-size:clamp(28px,2.65vw,38px);line-height:1.32}@media(min-width:761px){.home-shell .hero{padding-top:clamp(60px,8vh,92px);padding-bottom:92px}}@media(max-width:760px){.home-shell .hero{padding-top:34px!important;padding-bottom:56px!important}.microcourse-overview{margin-top:-20px;padding-top:58px}.microcourse-section-heading h2{max-width:340px;font-size:26px;line-height:1.34}}.home-shell:before{display:none}.home-shell .hero{background:linear-gradient(#01081214,#01081238 54%,#0108129e),url(/assets/landing-unified-bg-BHgOknhm.webp) 50%/100% 100% no-repeat;width:100%;max-width:none;overflow:hidden}.home-shell .hero:after{content:"";pointer-events:none;background:linear-gradient(#f7f3ec00,#f7f3ec75 46%,#f7f3ec);height:170px;position:absolute;bottom:-1px;left:0;right:0}.home-shell .hero-copy{z-index:1;position:relative}.microcourse-overview{background:radial-gradient(circle at 14% 4%,#1792ff14,#0000 30%),linear-gradient(#f7f3ec00 0,#f7f3ecd1 58px,#f7f3ec 132px,#f2eee6);margin-top:-118px;padding-top:168px}.microcourse-section-heading{max-width:1280px}.microcourse-section-heading h2{text-wrap:balance;max-width:980px}.microcourse-section-heading p{text-wrap:pretty;max-width:1280px}@media(max-width:760px){.home-shell .hero{background:linear-gradient(#0108121a,#01081259 58%,#010812b3),url(/assets/landing-unified-bg-BHgOknhm.webp) 50%/auto 100% no-repeat}.home-shell .hero:after{height:105px}.microcourse-overview{margin-top:-70px;padding-top:106px}.microcourse-section-heading h2{max-width:340px}}.microcourse-overview{color:#eaf5ff;background:radial-gradient(circle at 18% 0,#1a8fff29,#0000 30%),radial-gradient(circle at 84% 18%,#00c6ff17,#0000 28%),linear-gradient(#020915,#03101f 48%,#061827);border-top:1px solid #78bcff1f;margin-top:0;padding-top:56px;padding-bottom:76px}.microcourse-overview:before{content:"";background:linear-gradient(90deg,#0000,#74bfff6b,#0000);width:min(1180px,100% - 56px);height:1px;margin:0 auto 54px;display:block}.microcourse-section-heading .eyebrow{color:#9ed8ff;background:#08233dad;border-color:#65beff52}.microcourse-section-heading h2{color:#f7fbff}.microcourse-section-heading p{color:#b9cbe0}.microcourse-feature-cards article{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#0a1f36d1,#051324b8);border-color:#7eaed638;box-shadow:0 22px 58px #0003,inset 0 1px #ffffff0d}.microcourse-feature-cards svg{color:#5bc8ff;background:#1d7cc22e}.microcourse-feature-cards h3{color:#f5faff}.microcourse-feature-cards p{color:#b9c8d8}.microcourse-flow{color:#c7ddf2;box-shadow:none;background:#081c326b;border-color:#0000}.microcourse-flow span{color:#dff4ff;background:#1d7cc22e}.microcourse-flow svg{color:#75c9ff}@media(max-width:760px){.microcourse-overview{margin-top:0;padding-top:44px}.microcourse-overview:before{width:calc(100% - 36px);margin-bottom:34px}}@media(min-width:1200px){.microcourse-section-heading{max-width:1500px}.microcourse-section-heading h2{max-width:1180px}.microcourse-section-heading p{text-wrap:normal;max-width:1500px}}.landing-login-entry{justify-content:center;align-items:center;gap:8px;min-width:168px;margin-top:28px;display:inline-flex;box-shadow:0 18px 44px #0076ff3d}.login-page-shell{background:linear-gradient(#01081233,#010812b8),url(/assets/landing-unified-bg-BHgOknhm.webp) 50%/cover no-repeat;place-items:center;min-height:100vh;padding:36px 18px;display:grid}.login-page-card-wrap{gap:18px;width:min(450px,100%);display:grid}.login-back-button{color:#b9dcf5;background:#051628ad;border-color:#78bcff42;justify-self:start}.login-page-heading{color:#f7fbff;gap:8px;display:grid}.login-page-heading .eyebrow{justify-self:start;margin:0}.login-page-heading h1{color:#fff;margin:0;font-size:clamp(30px,4vw,42px);font-weight:500;line-height:1.18}.login-page-heading p{color:#b9cbe0;margin:0;line-height:1.7}.login-page-shell .unified-login-panel{width:100%;margin-top:0}@media(max-width:760px){.landing-login-entry{width:100%;margin-top:24px}.login-page-shell{place-items:start center;padding-top:28px}}.login-page-shell .login-back-button{color:#b9dcf5;width:auto;min-height:38px;box-shadow:none;background:#051628b8;border-color:#78bcff47}@media(max-width:760px){.login-page-card-wrap,.login-page-heading,.login-page-shell .unified-login-panel{width:340px;max-width:calc(100vw - 36px);margin-left:0;margin-right:0}.login-page-heading h1{overflow-wrap:break-word;max-width:320px;font-size:31px;line-height:1.2}.login-page-heading p{max-width:330px}}.home-shell{background:#020915 url(/assets/landing-unified-bg-BHgOknhm.webp) 50%/cover no-repeat fixed}.home-shell:before{background:#01081266;display:block}.home-shell .hero{background:0 0;min-height:360px;padding-top:42px;padding-bottom:28px;overflow:visible}.home-shell .hero:after{display:none}.microcourse-overview{background:#02091566;border-top:0;margin-top:-26px;padding-top:34px}@media(max-width:760px){.home-shell{background-attachment:scroll}.microcourse-overview{background:#02091580}}.microcourse-overview:before{display:none}.microcourse-overview{background:0 0}.microcourse-overview:after{content:"";background:linear-gradient(90deg,#0000,#66d8ff,#0000);border-radius:999px;width:72px;height:3px;margin:-44px auto 41px;display:block;box-shadow:0 0 18px #66d8ff8c}@media(max-width:760px){.microcourse-overview{background:0 0}.microcourse-overview:before{width:min(320px,100% - 48px);margin-bottom:34px}.microcourse-overview:after{margin-bottom:33px}}.home-shell{background-blend-mode:screen,normal;background:linear-gradient(#4eb2ff3d,#3694ec21),#1b6397 url(/assets/landing-unified-bg-BHgOknhm.webp) 50%/cover no-repeat fixed}.home-shell:before{-webkit-backdrop-filter:none;backdrop-filter:none;background:radial-gradient(circle at 50% 28%,#6ac8ff0f,#0000 36%),linear-gradient(#05142600,#040f1e05)}.login-page-shell{background-blend-mode:screen,normal;background:linear-gradient(#4eb2ff38,#3694ec1f),#1b6397 url(/assets/landing-unified-bg-BHgOknhm.webp) 50%/cover no-repeat}.login-page-shell:before{-webkit-backdrop-filter:none;backdrop-filter:none;background:radial-gradient(circle at 50% 28%,#6ac8ff0d,#0000 34%),linear-gradient(#05142600,#040f1e08)}.login-page-card-wrap{background:0 0}.login-page-shell .login-back-button{background:#05162857}@media(max-width:760px){.home-shell{background-attachment:scroll}.home-shell:before{background:radial-gradient(circle at 50% 20%,#6ac8ff0d,#0000 40%),linear-gradient(#05142600,#040f1e0a)}.login-page-shell:before{background:radial-gradient(circle at 50% 20%,#6ac8ff0a,#0000 40%),linear-gradient(#05142600,#040f1e0a)}}.auth-inline-link{color:#0f6fbd;cursor:pointer;font:inherit;background:0 0;border:0;align-self:flex-start;padding:0;font-size:14px;font-weight:700}.auth-inline-link:hover{text-decoration:underline}.login-page-shell .unified-login-panel{grid-template-columns:minmax(0,1fr);justify-items:stretch}.login-page-shell .login-panel-header,.login-page-shell .auth-field,.login-page-shell .auth-submit,.login-page-shell .auth-remember,.login-page-shell .auth-message{width:100%}.login-page-shell .login-panel-header{text-align:left}.login-page-shell .auth-remember{color:#b9cbe0}.login-page-shell .auth-inline-link,.login-page-shell .auth-switch{justify-self:center}.login-page-shell .auth-message{text-align:center}.home-topbar{z-index:3;justify-content:space-between;align-items:center;gap:16px;width:min(1180px,100% - 48px);margin:0 auto;padding:20px 0 0;display:flex;position:relative}.home-brand,.home-session{align-items:center;gap:10px;display:inline-flex}.home-brand{color:#fff;font-size:16px;font-weight:900}.home-brand svg{color:#8fd7ff}.home-session{flex-wrap:wrap;justify-content:flex-end}.home-session>span{color:#ffffffdb;text-overflow:ellipsis;white-space:nowrap;max-width:min(42vw,320px);font-size:14px;font-weight:700;overflow:hidden}.home-topbar .secondary-button{color:#fff;min-height:38px;box-shadow:none;background:#ffffff14;border-color:#ffffff3d}.home-topbar .secondary-button:hover{color:#fff;background:#ffffff2e;border-color:#8fd7ffb8;box-shadow:0 0 0 1px #8fd7ff38,0 12px 28px #0003}.home-topbar .home-logout-button{color:#ffffffdb}.home-topbar .home-logout-button:hover{color:#fff}@media(max-width:720px){.home-topbar{flex-direction:column;align-items:flex-start;width:min(100% - 32px,1180px)}.home-session{justify-content:flex-start}.home-session>span{max-width:calc(100vw - 32px)}}.home-shell .hero{min-height:auto;padding-bottom:8px}.home-shell .hero-copy{width:min(1660px,100% - 80px);max-width:min(1660px,100% - 80px)}.home-shell .hero-copy h1{margin-inline:auto}.microcourse-overview{margin-top:0;padding-top:4px;padding-bottom:30px}.microcourse-overview:before{content:"";background:linear-gradient(90deg,#0000,#74bfff57,#0000);width:min(520px,100% - 96px);height:1px;margin:0 auto 42px;display:block;box-shadow:0 0 14px #30aeff38}.microcourse-overview:after{display:none}@media(max-width:760px){.home-shell .hero{padding-bottom:18px}.home-shell .hero-copy{width:min(100% - 28px,100%);max-width:min(100% - 28px,100%)}}@property --tw-border-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-duration{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@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}.teacher-workspace{grid-template-columns:244px minmax(0,1fr);background:#fafafa}.teacher-workspace .teacher-sidebar{position:sticky;top:0;gap:0;height:100vh;padding:0;border-right:1px solid #e4e4e7;background:#f8f8f9;box-shadow:none}.teacher-sidebar-top{display:flex;align-items:center;gap:14px;min-height:70px;padding:0 18px;border-bottom:1px solid #e4e4e7}.sidebar-collapse{display:grid;width:30px;height:30px;place-items:center;border:0;color:#575b66;background:transparent;cursor:pointer}.teacher-workspace .teacher-brand{display:flex;align-items:center;gap:10px;padding:0;border:0;color:#111827;font-size:15px;font-weight:700}.teacher-workspace .teacher-brand svg{color:#1e3a8a}.sidebar-utilities{display:grid;gap:8px;padding:20px 18px;border-bottom:1px solid #e4e4e7}.sidebar-home{display:flex;align-items:center;gap:12px;width:100%;min-height:46px;margin:0;padding:0 12px;border:0;border-radius:8px;color:#4b5563;background:transparent;cursor:pointer;text-align:left}.sidebar-home:hover{background:#eeeeef}.teacher-workspace .teacher-nav{display:grid;gap:8px;padding:20px 18px;border-top:0}.teacher-workspace .nav-item{min-height:42px;border:0;border-radius:8px;color:#374151;background:transparent;box-shadow:none;font-size:15px;font-weight:600}.teacher-workspace .nav-item:hover{transform:none;background:#eeeeef;box-shadow:none}.teacher-workspace .nav-item.active{color:#111827;background:#e9e9ec}.teacher-user{display:flex;align-items:center;gap:10px;margin-top:auto;padding:18px}.avatar{display:grid;width:44px;height:44px;place-items:center;border-radius:999px;color:#344054;background:#eef0f5;font-weight:800}.avatar.small{width:30px;height:30px;font-size:12px}.teacher-user strong,.teacher-user span{display:block}.teacher-user strong{color:#111827;font-size:13px}.teacher-user span{margin-top:2px;color:#6b7280;font-size:12px}.teacher-workspace .teacher-main{padding:40px 42px 64px;background:#fafafa}.teacher-page-header{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:28px}.teacher-page-header h1{margin:0;color:#111827;font-family:"Noto Serif SC",serif;font-size:32px;line-height:1.2}.teacher-page-header p{margin:8px 0 0;color:#6b7280;font-size:16px}.page-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.teacher-workspace .primary-button,.teacher-workspace .secondary-button{min-height:40px;border-radius:8px;font-size:14px;font-weight:700}.teacher-workspace .primary-button{border-color:#172b85;background:#172b85}.teacher-workspace .secondary-button{border-color:#d7d7dc;color:#111827;background:#fff}.teacher-workspace .danger-button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;background:#fff5f5;font-size:13px;font-weight:800}.teacher-workspace .danger-button:disabled{cursor:not-allowed;opacity:.45}.teacher-workspace .primary-button:hover,.teacher-workspace .secondary-button:hover{transform:none}.teacher-workspace .teacher-stats{max-width:none;grid-template-columns:repeat(4,minmax(170px,1fr));margin:0 0 28px}.teacher-workspace .stat-card{display:flex;align-items:center;justify-content:space-between;min-height:132px;padding:28px;border:1px solid #d8d8dd;border-radius:12px;background:#fff;box-shadow:none}.teacher-workspace .stat-card span{color:#5d6370;font-size:15px;font-weight:500}.teacher-workspace .stat-card strong{margin-top:10px;font-size:36px;line-height:1}.teacher-workspace .stat-card svg{color:#27306f;opacity:.8}.teacher-dashboard-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:24px}.teacher-panel,.resource-table,.student-list{border:1px solid #d8d8dd;border-radius:12px;background:#fff;box-shadow:none}.teacher-panel{min-height:218px;padding:28px}.teacher-panel h2{margin:0 0 24px;color:#111827;font-size:20px}.teacher-simple-row{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:66px;padding:12px 0;border:0;border-bottom:1px solid #ececf0;color:#111827;background:transparent;cursor:pointer;text-align:left}.teacher-simple-row:last-child{border-bottom:0}.teacher-simple-row strong,.teacher-simple-row small{display:block}.teacher-simple-row small{margin-top:4px;color:#6b7280}.teacher-simple-row b{font-size:15px}.teacher-empty-panel{display:flex;flex-direction:column}.teacher-empty-panel p,.teacher-empty-state p{margin:auto;color:#6b7280}.teacher-search-box{display:flex;align-items:center;gap:10px;width:min(520px,100%);height:46px;margin-bottom:24px;padding:0 14px;border:1px solid #d8d8dd;border-radius:8px;color:#6b7280;background:#fff}.teacher-search-box.narrow{width:min(460px,100%)}.teacher-search-box input{width:100%;min-width:0;border:0;outline:0;color:#111827;background:transparent;font:inherit}.resource-table{display:block;overflow:hidden;border:1px solid #e6e6eb;border-radius:10px;background:#fff}.resource-library-toolbar{display:flex;align-items:center;gap:14px;margin:0 0 14px;padding:10px 12px;border:1px solid #e6e6eb;border-radius:8px;background:#fff;color:#475569;font-size:13px}.resource-library-toolbar label{display:inline-flex;align-items:center;gap:8px;font-weight:700}.resource-library-toolbar span{margin-left:auto}.resource-row{display:grid;grid-template-columns:18px 34px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:72px;padding:14px 18px;border:0;border-bottom:1px solid #eef0f4;border-radius:0;box-shadow:none}.resource-table>.resource-row{border:0;border-bottom:1px solid #eef0f4;border-radius:0;box-shadow:none}.resource-check{display:grid;place-items:center}.resource-row:last-child{border-bottom:0}.file-chip{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;color:#a83d55;background:#fbebee}.resource-row h3{margin:0;overflow:hidden;color:#1f2937;font-size:16px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.resource-row p{margin:7px 0 0;color:#6b7280;font-size:14px}.resource-row .resource-location{margin-top:5px;color:#64748b;font-size:13px}.row-actions,.course-tools{display:flex;align-items:center;gap:14px}.row-actions button,.course-tools button{display:grid;width:32px;height:32px;place-items:center;border:0;color:#4b5563;background:transparent;cursor:pointer}.row-actions button:last-child,.course-tools button:last-child{color:#8a2b3b}.teacher-course-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,420px));gap:22px}.teacher-course-card{overflow:hidden;border:1px solid #d8d8dd;border-radius:12px;background:#fff}.course-cover{display:grid;height:170px;place-items:center;color:#7c8798;background:linear-gradient(180deg,#f1f2f5,#e9ebef)}.course-card-body{padding:24px}.course-title-row{display:flex;align-items:start;justify-content:space-between;gap:14px}.course-title-row h2{margin:0;color:#111827;font-family:"Noto Serif SC",serif;font-size:18px}.course-title-row span{flex:0 0 auto;padding:3px 10px;border-radius:999px;color:#fff;background:#24348d;font-size:12px;font-weight:700}.course-card-body p{display:-webkit-box;min-height:46px;margin:10px 0 22px;overflow:hidden;color:#6b7280;font-size:14px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.course-card-body strong{display:block;margin-bottom:14px;color:#111827;font-size:20px}.student-list{overflow:hidden}.student-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:16px;min-height:112px;padding:24px}.student-row h3{margin:0;color:#111827;font-size:16px}.student-row p,.student-row>span{margin:4px 0 0;color:#6b7280;font-size:14px}.teacher-empty-state{display:grid;min-height:280px;place-items:center;text-align:center}.teacher-empty-state svg{color:#8a94a6}.teacher-empty-state h2{margin:8px 0 0}.back-link{display:inline-flex;align-items:center;gap:6px;width:auto;min-height:34px;margin-bottom:12px;padding:0;border:0;color:#111827;background:transparent;cursor:pointer;font-size:14px;font-weight:600;line-height:1}.back-link span{white-space:nowrap}.teacher-workspace .learning-map{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.teacher-workspace .map-toolbar{display:none}.teacher-workspace .chapters{gap:30px}.teacher-workspace .chapter-row{overflow:hidden;border:1px solid #d8d8dd;border-radius:12px;background:#fff}.teacher-workspace .chapter-heading{align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-bottom:1px solid #d8d8dd;text-align:center}.teacher-workspace .chapter-heading h3{font-size:16px}.teacher-workspace .chapter-heading p{display:none}.teacher-workspace .section-grid{display:flex;flex-wrap:nowrap;gap:0;overflow-x:auto;overflow-y:hidden;padding:0}.teacher-workspace .section-column{flex:0 0 max(190px,20%);min-width:190px;border-width:0 1px 0 0;border-color:#d8d8dd;border-radius:0}.teacher-workspace .section-column:last-child{border-right:0}.teacher-workspace .section-accent{height:3px;border-radius:0;background:#31363f}.teacher-workspace .section-header{align-items:center;min-height:48px;padding:10px 14px;border-bottom:1px solid #e8e8ec;background:#f7f7f8}.teacher-workspace .section-header h4{font-size:14px}.teacher-workspace .section-header p{display:none}.teacher-workspace .section-icon{width:24px;height:24px;color:#606774;background:transparent}.teacher-workspace .resource-list{min-height:230px;padding:14px 16px}.teacher-workspace .resource-card{align-items:start;min-height:42px;padding:6px 2px;border:0;border-radius:0;background:transparent;box-shadow:none}.teacher-workspace .resource-card:hover{transform:none;border-color:transparent;background:#f4f4f6}.teacher-workspace .resource-icon{width:22px;height:22px;flex-basis:22px;color:#606774;background:transparent}.teacher-workspace .resource-title{color:#4b5563;font-size:14px;font-weight:500}.teacher-workspace .resource-meta,.teacher-workspace .resource-actions,.teacher-workspace .add-resource{display:none}@media(max-width:1100px){.teacher-workspace{grid-template-columns:1fr}.teacher-workspace:not(.student-shell) .teacher-sidebar{position:static;height:auto}.teacher-workspace .teacher-stats,.teacher-dashboard-grid,.teacher-course-grid{grid-template-columns:1fr}}@media(max-width:760px){.teacher-workspace .teacher-main{padding:22px 16px 40px}.teacher-page-header{flex-direction:column}.page-actions{width:100%;justify-content:stretch}.student-row,.resource-row{grid-template-columns:42px minmax(0,1fr)}.student-row>span,.student-row .secondary-button,.row-actions{grid-column:2;justify-self:start}}.teacher-workspace .chapter-heading>div:first-child{display:flex;align-items:center;justify-content:center;gap:8px}.teacher-workspace .chapter-actions{display:flex;align-items:center;gap:6px;margin-left:4px}.teacher-workspace .chapter-actions button{display:grid;width:26px;height:26px;min-height:26px;place-items:center;border:0;border-radius:6px;color:#6b7280;background:transparent;box-shadow:none}.teacher-workspace .chapter-actions button:hover{transform:none;color:#111827;background:#eeeeef;box-shadow:none}.teacher-workspace .tone-sand .section-accent{background:#c4a882}.teacher-workspace .tone-sand .section-header{background:#faf6f1}.teacher-workspace .tone-blue .section-accent{background:#7b9baa}.teacher-workspace .tone-blue .section-header{background:#f2f6f8}.teacher-workspace .tone-lavender .section-accent{background:#9b8aaa}.teacher-workspace .tone-lavender .section-header{background:#f5f3f7}.teacher-workspace .tone-gray .section-accent{background:#8e9aaa}.teacher-workspace .tone-gray .section-header{background:#f3f4f6}.teacher-workspace .tone-sage .section-accent{background:#8ba88b}.teacher-workspace .tone-sage .section-header{background:#f3f6f3}.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:#11182747}.chapter-modal{display:flex;flex-direction:column;width:min(760px,100%);max-height:calc(100vh - 48px);overflow:hidden;border:1px solid #d8d8dd;border-radius:12px;background:#fff;box-shadow:0 24px 80px #1118272e}.modal-header{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:24px 26px;border-bottom:1px solid #e6e6eb}.modal-header h2{margin:0;color:#111827;font-family:"Noto Serif SC",serif;font-size:24px}.modal-header p{max-width:560px;margin:8px 0 0;color:#6b7280;line-height:1.65}.modal-header button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:8px;color:#4b5563;background:#f3f4f6;cursor:pointer}.chapter-create-grid{display:grid;flex:1;min-height:0;overflow:auto;grid-template-columns:1fr 1fr;gap:16px;padding:22px}.chapter-create-card{display:flex;flex-direction:column;min-height:300px;padding:20px;border:1px solid #dedee4;border-radius:10px;background:#fff}.modal-option-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:10px;color:#172b85;background:#eef1ff}.chapter-create-card h3{margin:16px 0 8px;color:#111827;font-size:18px}.chapter-create-card p{margin:0 0 18px;color:#6b7280;line-height:1.65}.chapter-create-card label{display:grid;gap:8px;margin-top:auto;color:#374151;font-size:14px;font-weight:700}.chapter-create-card input{width:100%;height:42px;padding:0 12px;border:1px solid #d8d8dd;border-radius:8px;outline:0;color:#111827;font:inherit}.chapter-create-card .primary-button,.chapter-create-card .secondary-button{width:100%;margin-top:14px}@media(max-width:760px){.chapter-create-grid{grid-template-columns:1fr}}.chapter-modal.compact{width:min(560px,100%)}.chapter-form{display:grid;gap:18px;padding:22px}.chapter-form label{display:grid;gap:8px;color:#374151;font-size:14px;font-weight:700}.chapter-form input,.chapter-form textarea{width:100%;padding:10px 12px;border:1px solid #d8d8dd;border-radius:8px;outline:0;color:#111827;background:#fff;font:inherit;resize:vertical}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.modal-footer .primary-button,.modal-footer .secondary-button{width:auto;margin-top:0}.zip-picker{position:relative;overflow:hidden}.zip-picker input{position:absolute;inset:0;opacity:0;pointer-events:none}.zip-picker.disabled{opacity:.62;cursor:wait}.zip-status{display:block;margin-top:10px;color:#6b7280;font-size:13px}.zip-preview{margin-top:16px;padding:14px;border:1px solid #d8d8dd;border-radius:10px;background:#f8f8fa}.zip-preview h4{margin:0;color:#111827;font-size:15px}.zip-preview p{margin:6px 0 12px;color:#6b7280;font-size:13px;line-height:1.5}.zip-preview-list{display:grid;gap:7px;margin-bottom:12px}.zip-preview-section{overflow:hidden;border:1px solid #ebecef;border-radius:8px;background:#fff}.zip-preview-section header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;padding:0 10px;color:#374151;background:#f7f7f9;font-size:13px;font-weight:700}.zip-preview-section strong{color:#172b85}.zip-preview-files{display:grid;gap:4px;max-height:150px;overflow:auto;padding:8px 10px 10px}.zip-preview-file{display:flex;align-items:start;gap:7px;min-height:24px;color:#4b5563;font-size:13px;line-height:1.45}.zip-preview-file svg{flex:0 0 auto;margin-top:2px;color:#8a94a6}.zip-preview-file span{min-width:0;overflow-wrap:anywhere}.zip-preview .primary-button{margin-top:0}.zip-confirm-grid{grid-template-columns:1fr}.zip-confirm-card{min-height:0}.zip-confirm-card .zip-picker{margin-top:0}.zip-title-field{display:grid;gap:8px;margin-bottom:12px;color:#374151;font-size:14px;font-weight:700}.zip-title-field input{width:100%;height:42px;padding:0 12px;border:1px solid #d8d8dd;border-radius:8px;outline:0;color:#111827;background:#fff;font:inherit}.zip-title-field span{display:inline-flex;align-items:center;gap:6px}.zip-title-field svg{color:#6b7280}.zip-title-input-wrap{position:relative;display:block}.zip-title-input-wrap input{padding-right:36px}.zip-title-input-wrap svg{position:absolute;top:50%;right:12px;color:#6b7280;transform:translateY(-50%);pointer-events:none}.zip-confirm-card{max-height:none}.zip-confirm-card .zip-preview{display:flex;flex:1;flex-direction:column;min-height:0}.zip-confirm-card .zip-preview-list{flex:1;min-height:0;max-height:min(42vh,430px);overflow:auto;padding-right:4px}.zip-preview-section-heading{display:flex!important;align-items:center;justify-content:space-between;gap:10px;min-height:34px;padding:0 10px;color:#374151;background:#f7f7f9;font-size:13px;font-weight:700}.zip-preview-section-heading strong{color:#172b85}.zip-preview-file-names{display:block!important;max-height:168px;overflow:auto;padding:8px 10px 10px;background:#fff}.zip-preview-file-names p{display:flex!important;align-items:flex-start;gap:7px;min-height:24px;margin:0 0 5px;color:#4b5563;font-size:13px;line-height:1.45}.zip-preview-file-names p:last-child{margin-bottom:0}.zip-preview-file-names svg{flex:0 0 auto;margin-top:2px;color:#8a94a6}.zip-preview-file-names span{min-width:0;overflow-wrap:anywhere}.zip-preview-section[open] .zip-preview-file-names{display:block!important}.zip-preview-section summary{list-style:none;cursor:pointer}.zip-preview-section summary::-webkit-details-marker{display:none}.zip-preview-section summary:after{content:"已展开";margin-left:auto;color:#6b7280;font-size:12px;font-weight:500}.zip-preview-section-heading strong{margin-left:8px}.zip-preview-section.expanded{display:block!important;overflow:visible!important}.zip-preview-section.expanded .zip-preview-section-heading:after{content:"文件预览";margin-left:auto;color:#6b7280;font-size:12px;font-weight:500}.zip-preview-section.expanded .zip-preview-file-names{display:grid!important;gap:6px;min-height:32px!important;max-height:180px;overflow:auto;padding:10px 12px 12px!important;border-top:1px solid #ececf0;background:#fff}.zip-preview-file-line{display:grid!important;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;min-height:24px;color:#374151;font-size:13px;line-height:1.45}.zip-preview-file-line svg{margin-top:2px;color:#8a94a6}.zip-preview-file-line span{display:block!important;min-width:0;overflow-wrap:anywhere}.chapter-modal{max-height:calc(100vh - 32px)!important}.chapter-create-grid.zip-confirm-grid{max-height:calc(100vh - 150px)!important;overflow-y:auto!important;padding-bottom:18px!important}.zip-confirm-card{overflow:visible!important}.zip-confirm-card .zip-preview,.zip-confirm-card .zip-preview-list,.zip-preview-section.expanded .zip-preview-file-names{max-height:none!important;overflow:visible!important}.zip-confirm-card .zip-preview{display:block!important;flex:0 0 auto!important;min-height:auto!important}.zip-confirm-card .zip-preview-list{display:grid!important;flex:0 0 auto!important;min-height:auto!important;height:auto!important;max-height:none!important;overflow:visible!important}.zip-confirm-footer{flex:0 0 auto;margin-top:14px;padding-top:14px;border-top:1px solid #e5e7eb;background:#fff}.zip-confirm-footer .primary-button{width:100%}.chapter-create-grid.zip-confirm-grid{align-items:start!important}.zip-confirm-card{display:block!important;height:auto!important;min-height:0!important;align-self:start!important}.zip-confirm-card .zip-preview{box-sizing:border-box}.teacher-workspace .section-actions{display:flex;flex:0 0 auto;align-items:center;gap:4px;margin-left:auto}.teacher-workspace .section-actions button,.teacher-workspace .resource-actions button{display:grid;width:24px;height:24px;place-items:center;border:0;border-radius:6px;color:#647084;background:transparent;cursor:pointer}.teacher-workspace .section-actions button:hover,.teacher-workspace .resource-actions button:hover{color:#172b85;background:#eef1ff}.teacher-workspace .resource-actions{display:flex;flex:0 0 auto;align-items:center;gap:2px}.teacher-workspace .resource-card{grid-template-columns:22px minmax(0,1fr) auto}.teacher-workspace .section-grid::-webkit-scrollbar{height:10px}.teacher-workspace .section-grid::-webkit-scrollbar-thumb{border:2px solid #ffffff;border-radius:999px;background:#c8ced8}.teacher-workspace .section-header>div:not(.section-actions){min-width:0}.teacher-workspace .section-header h4{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-workspace .resource-open{display:inline-grid;flex:0 0 24px;width:24px;height:24px;border:0;color:#697386;background:transparent}.teacher-workspace .resource-open:hover{color:#1f2f98;background:#eef2ff}.teacher-workspace .resource-title-link{color:inherit;text-decoration:underline;text-decoration-color:#9aa5b5;text-underline-offset:3px;text-decoration-thickness:1px}.teacher-workspace .resource-title-link:hover{color:#172b85;text-decoration-color:#172b85}.course-title-row span.draft{color:#4b5563;background:#eceff3}.icon-link{display:grid;width:32px;height:32px;place-items:center;border-radius:7px;color:#4b5563;text-decoration:none}.icon-link:hover{color:#172b85;background:#eef2ff}.resource-picker-modal{width:min(760px,calc(100vw - 32px))}.resource-picker-search{margin:18px 24px 0}.resource-picker-list{display:grid;gap:8px;max-height:min(480px,calc(100vh - 310px));margin:18px 24px 0;overflow-y:auto;padding-right:4px}.resource-picker-row{display:grid;grid-template-columns:42px minmax(0,1fr) 28px;align-items:center;gap:12px;width:100%;padding:12px;border:1px solid #e0e3e8;border-radius:8px;color:#111827;background:#fff;cursor:pointer;text-align:left}.resource-picker-row:hover{border-color:#b8c2d6;background:#f7f9fc}.resource-picker-row strong,.resource-picker-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-picker-row strong{font-size:14px}.resource-picker-row small{margin-top:4px;color:#6b7280;font-size:12px}.resource-picker-empty{display:grid;place-items:center;min-height:180px;color:#6b7280;text-align:center}.resource-picker-empty strong{margin-top:10px;color:#111827}.resource-picker-empty p{margin:6px 0 0}.teacher-workspace .add-resource{display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 28px);min-height:32px;margin:2px 14px 14px;border:1px dashed #cbd3df;border-radius:7px;color:#4b5870;background:#fbfcfe;font-size:12px;font-weight:700;cursor:pointer}.teacher-workspace .add-resource:hover{color:#172b85;border-color:#99a8c6;background:#f3f6ff}.teacher-workspace .student-course-actions button,.teacher-workspace .student-course-actions button:last-child{display:inline-flex;width:auto;min-width:118px;height:36px;align-items:center;justify-content:center;padding:0 18px;border-radius:8px;font-weight:800}.teacher-workspace .student-course-actions .primary-button,.teacher-workspace .student-course-actions .primary-button:last-child{border-color:#172b85;color:#fff;background:#172b85}.teacher-workspace .student-course-actions .secondary-button,.teacher-workspace .student-course-actions .secondary-button:last-child{border-color:#d7d7dc;color:#111827;background:#fff}.resource-viewer-page{min-height:100vh;padding:28px 34px;background:#fafafa}.resource-viewer-header{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:18px}.resource-viewer-header h1{margin:6px 0 0;color:#111827;font-family:"Noto Serif SC",serif;font-size:28px;line-height:1.3}.resource-viewer-surface{display:grid;min-height:calc(100vh - 140px);overflow:hidden;border:1px solid #d8d8dd;border-radius:12px;background:#fff}.resource-viewer-surface iframe,.resource-viewer-surface video,.resource-viewer-surface img{width:100%;height:calc(100vh - 142px);border:0}.resource-viewer-surface video,.resource-viewer-surface img{align-self:center;justify-self:center;max-width:100%;max-height:calc(100vh - 142px);object-fit:contain;background:#111827}.resource-viewer-surface pre{margin:0;overflow:auto;padding:28px 34px;color:#1f2937;font:15px/1.9 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;white-space:pre-wrap}.resource-viewer-surface p{place-self:center;max-width:520px;color:#6b7280;text-align:center;line-height:1.7}.student-qa-layout,.teacher-qa-list{display:grid;gap:18px;max-width:980px}.student-qa-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start}.student-ai-chat-panel{display:grid;gap:16px;width:min(100%,940px);padding:22px}.student-ai-chat-header .ai-dev-note{box-shadow:none}.student-ai-thread{display:grid;gap:14px;min-height:280px;padding:18px;border:1px solid #e1e7ef;border-radius:14px;background:linear-gradient(180deg,#f8fbfff5,#fffffffa)}.student-ai-thread .ai-message{max-width:min(720px,92%)}.student-ai-empty{display:grid;place-items:center;align-content:center;min-height:170px;color:#6b7280;text-align:center}.student-ai-empty svg{color:#94a3b8}.student-ai-empty h2{margin:12px 0 4px;color:#111827;font-size:20px}.student-ai-empty p{margin:0;color:#64748b}.student-ai-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;align-items:end}.student-ai-composer h2,.student-ai-composer p{grid-column:1 / -1}.student-ai-composer h2{margin:0;color:#111827;font-size:22px}.student-ai-composer p{margin:-4px 0 2px;color:#64748b;line-height:1.6}.student-ai-composer textarea{width:100%;min-height:86px;padding:12px 14px;border:1px solid #d8d8dd;border-radius:10px;outline:0;color:#111827;background:#fff;font:inherit;resize:vertical}.student-ai-composer .primary-button{min-width:132px;height:48px}.student-ai-record{padding:14px;border:1px solid #e1e7ef;border-radius:12px;background:#fff;box-shadow:none}.student-qa-composer h2,.qa-thread-card h3{margin:0;color:#111827}.student-qa-composer p,.qa-thread-card p{color:#6b7280;line-height:1.7}.student-qa-composer textarea,.qa-reply-box textarea{width:100%;min-height:130px;margin:12px 0;padding:12px 14px;border:1px solid #d8d8dd;border-radius:8px;outline:0;color:#111827;background:#fff;font:inherit;resize:vertical}.qa-thread-card{min-height:0}.qa-thread-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.qa-thread-header span{color:#256f5c;font-size:13px;font-weight:800}.qa-thread-header strong{padding:3px 10px;border-radius:999px;color:#172b85;background:#eef1ff;font-size:12px}.qa-thread-card small{display:block;margin-top:8px;color:#8a94a6}.qa-answer{margin-top:14px;padding:12px 14px;border-left:3px solid #172b85;background:#f5f7ff}.qa-reply-box{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.qa-reply-box textarea{flex:1 0 100%;min-height:94px;margin:0}.ai-help-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;align-items:start}.ai-chat-panel,.ai-history-panel{display:grid;gap:16px}.ai-dev-note{padding:12px 14px;border:1px solid #bfdbfe;border-radius:10px;color:#1e3a8a;background:#eff6ff;font-size:14px;font-weight:800;line-height:1.7}.ai-chat-window{display:grid;gap:12px;min-height:280px;padding:16px;border:1px solid #e1e7ef;border-radius:14px;background:linear-gradient(180deg,#f8fbfff5,#fffffffa)}.ai-message{max-width:84%;padding:12px 14px;border-radius:14px;color:#122033;line-height:1.7;white-space:pre-wrap}.ai-message.assistant{justify-self:start;border-top-left-radius:4px;background:#eef6ff}.ai-message.user{justify-self:end;border-top-right-radius:4px;color:#fff;background:#0b8fe8}.ai-chat-input{display:grid;gap:10px}.ai-chat-input textarea{width:100%;min-height:130px;padding:12px 14px;border:1px solid #d8d8dd;border-radius:10px;outline:0;color:#111827;background:#fff;font:inherit;resize:vertical}.ai-history-panel .qa-thread-card{border:1px solid #e1e7ef;border-radius:12px;box-shadow:none}.qa-thread-card.compact{padding:14px}@media(max-width:900px){.student-qa-layout,.ai-help-layout,.student-ai-composer{grid-template-columns:1fr}.student-ai-composer .primary-button{width:100%}}.teacher-workspace{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:100vh;color:var(--ds-text);background:var(--ds-content)}.teacher-workspace .teacher-sidebar,.student-shell .student-sidebar{position:sticky;top:0;width:200px;min-height:100vh;padding:22px 10px 14px;color:#ccdae4;border-right:1px solid var(--ds-sidebar-border);background:radial-gradient(circle at 18% 5%,oklch(58% .22 245 / .2),transparent 18%),linear-gradient(180deg,oklch(17% .06 245),var(--ds-sidebar) 56%)}.teacher-sidebar-top{display:flex;align-items:center;gap:10px;padding:0 10px 24px;border-bottom:1px solid var(--ds-sidebar-border)}.teacher-workspace .sidebar-collapse,.student-shell .sidebar-collapse{width:32px;height:32px;flex:0 0 32px;border:0;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--ds-accent),oklch(64% .2 235));box-shadow:0 0 24px var(--ds-accent-glow)}.teacher-brand{display:grid;gap:2px;color:#fff;font-family:"Noto Serif SC",serif;font-size:15px;font-weight:700;line-height:1.25}.teacher-brand svg{display:none}.teacher-sidebar-top:after{content:"教师管理中心";display:block;margin-top:26px;margin-left:-92px;color:#849bb0;font-family:Noto Sans SC,sans-serif;font-size:11px;font-weight:500}.sidebar-home{width:calc(100% - 8px);margin:22px 4px 12px;padding:10px 12px;color:#becdda;border:0;border-radius:8px;background:transparent;font-weight:700;text-align:left}.sidebar-home:hover{color:#fff;background:var(--ds-sidebar-2)}.teacher-nav{display:grid;gap:2px}.teacher-workspace .nav-item,.student-shell .nav-item{position:relative;width:100%;justify-content:flex-start;gap:10px;min-height:40px;padding:10px 12px;color:#abb9c7;border:0;border-radius:7px;background:transparent;font-size:14px;font-weight:650;text-align:left}.teacher-workspace .nav-item:hover,.student-shell .nav-item:hover{color:#fff;background:var(--ds-sidebar-2)}.teacher-workspace .nav-item.active,.student-shell .nav-item.active{color:#fff;background:var(--ds-sidebar-active)}.teacher-workspace .nav-item.active:before,.student-shell .nav-item.active:before{position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:999px;background:var(--ds-accent);content:""}.teacher-workspace .nav-item.active svg,.student-shell .nav-item.active svg{color:var(--ds-accent)}.teacher-user,.student-user-card{position:absolute;left:0;right:0;bottom:0;margin:0;padding:16px;border-top:1px solid var(--ds-sidebar-border);background:#00070fad;background:oklch(12% .035 240 / .68)}.teacher-user .avatar,.student-user-card>span:first-child{width:32px;height:32px;border-radius:999px;color:#fff;background:var(--ds-accent)}.teacher-user span,.student-user-card small,.student-user-card>span{color:#93a7ba}.teacher-workspace .teacher-main,.student-shell .student-main{min-width:0;padding:36px 40px;background:var(--ds-content)}.teacher-page-header{margin-bottom:28px}.teacher-page-header h1,.learning-map h2,.teacher-panel h2,.course-card-body h2,.teacher-course-card h2,.qa-thread-card h3{color:var(--ds-text);font-family:"Noto Serif SC",serif;letter-spacing:0}.teacher-page-header h1,.learning-map h2{font-size:26px;line-height:1.25}.teacher-page-header p,.teacher-panel p,.course-card-body p,.resource-row p,.student-row p{color:var(--ds-secondary)}.teacher-panel,.stat-card,.resource-row,.student-row,.teacher-course-card,.import-panel,.resource-picker-dialog,.chapter-row{border:1px solid var(--ds-border);border-radius:var(--ds-radius-panel);background:var(--ds-card);box-shadow:var(--ds-card-shadow)}.teacher-panel:hover,.resource-row:hover,.teacher-course-card:hover{box-shadow:var(--ds-hover-shadow)}.stat-grid{gap:16px}.stat-card{position:relative;overflow:hidden;min-height:128px;padding:24px}.stat-card:after{position:absolute;right:-18px;top:-28px;width:72px;height:72px;border-radius:999px;background:var(--ds-accent-bg);content:""}.stat-card strong{color:var(--ds-text);font-family:"Noto Serif SC",serif;font-size:40px;line-height:1}.resource-search,.student-search,.resource-picker-search,.search-input,.teacher-workspace input,.teacher-workspace textarea,.student-shell input,.student-shell textarea{border:1px solid var(--ds-border);border-radius:10px;background:#fff;color:var(--ds-text)}.resource-row{min-height:70px;padding:16px 18px}.resource-type-icon,.resource-row-icon{border-radius:8px;color:#c03e86;background:#ffe2ee;background:oklch(94% .05 350)}.course-cover,.teacher-course-card .course-cover{min-height:140px;color:#98bcdc8c;background:radial-gradient(circle at 52% 46%,oklch(58% .22 245 / .12),transparent 32%),linear-gradient(135deg,#000e1d,#01030a);background:radial-gradient(circle at 52% 46%,oklch(58% .22 245 / .12),transparent 32%),linear-gradient(135deg,color(xyz 0.004 0.004 0.016),#01030a)}.teacher-course-card:nth-of-type(2n) .course-cover{background:radial-gradient(circle at 52% 46%,oklch(66% .19 285 / .14),transparent 34%),linear-gradient(135deg,#040d29,#0c0218)}.course-card-body{padding:18px}.course-tools button,.header-actions button,.teacher-page-header button,.chapter-actions button,.section-actions button,.resource-actions button{border-radius:8px}.learning-map{display:grid;gap:22px}.learning-map-header{align-items:flex-start}.learning-map-actions{gap:10px}.teacher-workspace .chapter-row,.student-shell .chapter-row{overflow:hidden;border-radius:var(--ds-radius-panel);box-shadow:var(--ds-panel-shadow)}.teacher-workspace .chapter-heading,.student-shell .chapter-heading{min-height:48px;padding:10px 18px;border:0;color:#f3f9ff;background:#114b75}.teacher-workspace .chapter-heading h3,.student-shell .chapter-heading h3{color:#f3f9ff;font-family:"Noto Serif SC",serif;font-size:16px;font-weight:700}.teacher-workspace .chapter-heading p,.student-shell .chapter-heading p{color:#bcd4ea}.teacher-workspace .chapter-actions button,.student-shell .chapter-actions button{color:#bcd4ea;background:transparent}.teacher-workspace .chapter-actions button:hover,.student-shell .chapter-actions button:hover{color:#fff;background:#ffffff1f}.teacher-workspace .section-grid,.student-shell .section-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(236px,1fr);overflow-x:auto;overflow-y:hidden;background:#fff}.teacher-workspace .section-column,.student-shell .section-column{min-width:236px;border-right:1px solid var(--ds-border);background:#fff}.teacher-workspace .section-column:last-child,.student-shell .section-column:last-child{border-right:0}.teacher-workspace .section-accent,.student-shell .section-accent{display:none}.teacher-workspace .section-header,.student-shell .section-header{min-height:48px;padding:10px 12px;border-bottom:1px solid var(--ds-border);border-top:0;background:var(--tone-bg, oklch(96% .012 230))}.teacher-workspace .section-header h4,.student-shell .section-header h4{color:var(--tone-text, var(--ds-text));font-size:14px;font-weight:700}.teacher-workspace .section-header p,.student-shell .section-header p{display:none}.teacher-workspace .section-icon,.student-shell .section-icon{width:24px;height:24px;border-radius:7px;color:var(--tone-icon, var(--ds-accent));background:var(--tone-chip, var(--ds-accent-bg))}.teacher-workspace .section-actions button,.student-shell .section-actions button,.resource-actions button{color:var(--ds-secondary);background:transparent}.teacher-workspace .section-actions button:hover,.student-shell .section-actions button:hover,.resource-actions button:hover{color:var(--ds-accent-dim);background:#ffffffb8}.teacher-workspace .resource-list,.student-shell .resource-list{display:grid;gap:6px;padding:8px 10px}.teacher-workspace .resource-card,.student-shell .resource-card{min-height:32px;padding:8px 9px;border:1px solid var(--ds-border);border-radius:7px;color:var(--ds-text);background:#fff;box-shadow:none}.teacher-workspace .resource-card:hover,.student-shell .resource-card:hover{border-color:#aac8e3;box-shadow:0 3px 10px #0000000a}.resource-title-link{color:var(--ds-text);text-decoration-color:#0080ca73;text-decoration-color:oklch(58% .22 245 / .45);text-underline-offset:3px}.resource-title-link:hover{color:var(--ds-accent-dim)}.teacher-workspace .resource-icon,.student-shell .resource-icon{color:var(--tone-icon, var(--ds-accent))}.teacher-workspace .add-resource,.student-shell .add-resource{margin:0 10px 10px;min-height:30px;border:1px dashed var(--tone-border, var(--ds-border));border-radius:7px;color:var(--ds-secondary);background:#ffffffb8}.teacher-workspace .add-resource:hover,.student-shell .add-resource:hover{color:var(--tone-icon, var(--ds-accent));background:var(--tone-bg, var(--ds-accent-bg))}.teacher-workspace .tone-sand,.student-shell .tone-sand{--tone-bg: oklch(96% .012 25);--tone-border: oklch(85% .025 25);--tone-text: oklch(38% .04 25);--tone-icon: oklch(50% .055 25);--tone-chip: oklch(90% .03 25)}.teacher-workspace .tone-blue,.student-shell .tone-blue{--tone-bg: oklch(96% .012 155);--tone-border: oklch(84% .028 155);--tone-text: oklch(34% .04 155);--tone-icon: oklch(42% .07 155);--tone-chip: oklch(90% .035 155)}.teacher-workspace .tone-lavender,.student-shell .tone-lavender{--tone-bg: oklch(96% .016 230);--tone-border: oklch(84% .03 230);--tone-text: oklch(34% .045 230);--tone-icon: oklch(44% .08 230);--tone-chip: oklch(90% .04 230)}.teacher-workspace .tone-gray,.student-shell .tone-gray{--tone-bg: oklch(96% .014 55);--tone-border: oklch(84% .026 55);--tone-text: oklch(38% .04 55);--tone-icon: oklch(48% .055 55);--tone-chip: oklch(90% .035 55)}.teacher-workspace .tone-sage,.student-shell .tone-sage{--tone-bg: oklch(96% .014 285);--tone-border: oklch(84% .028 285);--tone-text: oklch(36% .045 285);--tone-icon: oklch(45% .07 285);--tone-chip: oklch(90% .04 285)}.qa-thread-header span{color:var(--ds-accent-dim)}.qa-thread-header strong,.status-pill,.course-title-row span{color:#004b7a;color:oklch(40% .16 245);background:var(--ds-accent-bg)}.qa-answer{border-left-color:var(--ds-accent);background:var(--ds-accent-bg)}@media(max-width:900px){.teacher-workspace{grid-template-columns:1fr}.teacher-workspace .teacher-sidebar,.student-shell .student-sidebar{position:relative;width:100%;min-height:auto}.teacher-user,.student-user-card{position:static;margin-top:18px;border-radius:10px;border:1px solid var(--ds-sidebar-border)}.teacher-workspace .teacher-main,.student-shell .student-main{padding:24px 18px}}.teacher-workspace .resource-open,.student-shell .resource-open{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;border-radius:7px;color:var(--ds-accent-dim);text-decoration:none;background:var(--ds-accent-bg)}.teacher-sidebar-top{position:relative;align-items:center;padding-bottom:30px}.teacher-brand{display:block;min-width:0;padding-top:1px;color:#fff}.teacher-sidebar-top:after{position:absolute;left:52px;top:25px;margin:0;content:"教师管理中心"}.student-shell .teacher-sidebar-top:after{content:"学生学习中心"}.teacher-workspace,.teacher-workspace button,.teacher-workspace input,.teacher-workspace textarea,.teacher-workspace strong,.teacher-workspace h1,.teacher-workspace h2,.teacher-workspace h3,.teacher-workspace h4,.teacher-workspace .nav-item,.teacher-workspace .course-title-row span,.teacher-workspace .resource-title,.teacher-workspace .add-resource{font-weight:500}.teacher-workspace .teacher-page-header h1,.teacher-workspace .learning-map h2,.teacher-workspace .chapter-heading h3,.teacher-workspace .teacher-panel h2,.teacher-workspace .course-card-body h2,.teacher-workspace .stat-card strong{font-weight:600}.teacher-workspace .section-header h4,.student-shell .section-header h4{font-weight:560}.teacher-workspace .section-grid,.student-shell .section-grid{grid-auto-columns:260px;grid-template-columns:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}.teacher-workspace .section-column,.student-shell .section-column{width:260px;min-width:260px}.teacher-workspace .chapter-row,.student-shell .chapter-row{max-width:100%}.teacher-workspace .resource-card{grid-template-columns:22px minmax(0,1fr) 38px auto}.teacher-workspace .resource-open,.student-shell .resource-open{width:36px;height:24px;flex:0 0 36px;border-radius:999px;color:#004e7e;color:oklch(41% .12 245);background:#cfe8ff;background:oklch(92% .055 245);font-size:12px;line-height:1;font-weight:500}.teacher-workspace .resource-open:hover,.student-shell .resource-open:hover{color:#fff;background:var(--ds-accent)}.teacher-user .avatar{display:grid;place-items:center;font-weight:500}.student-user-card{grid-template-columns:32px minmax(0,1fr);align-items:center}.student-user-card:before{display:grid;width:32px;height:32px;place-items:center;border-radius:999px;color:#fff;background:var(--ds-accent);content:"学";font-weight:500}.student-user-card small{grid-column:2}.student-shell .teacher-brand,.teacher-workspace .teacher-brand{font-weight:600}@media(min-width:1500px){.teacher-workspace .section-grid,.student-shell .section-grid{grid-auto-columns:270px}.teacher-workspace .section-column,.student-shell .section-column{width:270px;min-width:270px}}.teacher-workspace .section-grid,.student-shell .section-grid{grid-auto-columns:300px;padding-bottom:10px;scrollbar-gutter:stable}.teacher-workspace .section-column,.student-shell .section-column{width:300px;min-width:300px}.teacher-workspace .section-grid::-webkit-scrollbar-thumb,.student-shell .section-grid::-webkit-scrollbar-thumb{border:2px solid #fff;border-radius:999px;background:#adb9c4}.teacher-workspace .section-grid::-webkit-scrollbar-track,.student-shell .section-grid::-webkit-scrollbar-track{background:#f5f1ec}@media(min-width:1500px){.teacher-workspace .section-grid,.student-shell .section-grid{grid-auto-columns:300px}.teacher-workspace .section-column,.student-shell .section-column{width:300px;min-width:300px}}.sidebar-utility{margin-top:4px}.sidebar-logout{display:grid;width:28px;height:28px;place-items:center;margin-left:auto;border:0;border-radius:7px;color:#99aec0;background:transparent;cursor:pointer}.sidebar-logout:hover{color:#fff;background:var(--ds-sidebar-active)}.teacher-user{display:grid;grid-template-columns:1fr;align-items:stretch;gap:12px}.teacher-workspace,.teacher-workspace button,.teacher-workspace strong,.teacher-workspace h1,.teacher-workspace h2,.teacher-workspace h3,.teacher-workspace h4,.teacher-workspace .nav-item,.teacher-workspace .course-title-row span,.teacher-workspace .resource-title,.teacher-workspace .add-resource,.teacher-workspace .stat-card strong,.teacher-workspace .qa-thread-header strong,.teacher-workspace .status-pill{font-weight:400}.teacher-workspace .teacher-page-header h1,.teacher-workspace .learning-map h2,.teacher-workspace .chapter-heading h3,.teacher-workspace .teacher-panel h2,.teacher-workspace .course-card-body h2,.teacher-workspace .section-header h4{font-weight:500}.teacher-workspace .resource-open,.student-shell .resource-open{width:26px;height:24px;flex:0 0 26px;color:#005182;color:oklch(42% .12 245);background:#cfe8ff;background:oklch(92% .055 245)}.teacher-workspace .resource-open svg,.student-shell .resource-open svg{stroke-width:1.9}.teacher-workspace .teacher-search-box,.teacher-workspace .resource-picker-search,.student-shell .student-course-search{padding-left:18px}.teacher-workspace .teacher-search-box input,.teacher-workspace .resource-picker-search input,.student-shell .student-course-search input{padding-left:2px}.student-shell .student-user-card,.teacher-workspace .student-user-card{position:relative;width:auto;min-height:0;margin:auto 10px 14px;padding:12px;border:1px solid var(--ds-sidebar-border);border-radius:12px;box-sizing:border-box;overflow:hidden}.student-shell .student-user-card:before,.teacher-workspace .student-user-card:before{width:34px;height:34px;font-size:15px}.student-shell .student-user-card strong,.teacher-workspace .student-user-card strong{overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap}.student-shell .student-user-card small,.teacher-workspace .student-user-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-workspace .resource-card{grid-template-columns:22px minmax(0,1fr) 28px auto}.teacher-workspace .resource-open,.student-shell .resource-open{width:24px;height:24px;flex:0 0 24px;border-radius:6px;color:#005182;color:oklch(42% .14 245);background:transparent;box-shadow:none}.teacher-workspace .resource-open:hover,.student-shell .resource-open:hover{color:#003b61;color:oklch(34% .16 245);background:#dbeeff;background:oklch(94% .035 245)}.protected-resource-surface{position:relative;isolation:isolate;-webkit-user-select:none;user-select:none}.protected-resource-surface iframe,.protected-resource-surface video,.protected-resource-surface img,.protected-resource-surface pre,.protected-resource-surface p{position:relative;z-index:1}.protected-resource-surface:after{position:absolute;inset:-20%;z-index:2;pointer-events:none;content:"";opacity:.18;background-image:repeating-linear-gradient(-28deg,transparent 0 80px,oklch(26% .08 245 / 0) 80px 96px,transparent 96px 170px)}.protected-resource-surface:before{position:absolute;inset:-10%;z-index:3;display:grid;align-content:start;justify-content:start;pointer-events:none;content:attr(data-watermark) "   " attr(data-watermark) "   " attr(data-watermark) "\a\a" attr(data-watermark) "   " attr(data-watermark) "   " attr(data-watermark) "\a\a" attr(data-watermark) "   " attr(data-watermark) "   " attr(data-watermark) "\a\a" attr(data-watermark) "   " attr(data-watermark) "   " attr(data-watermark);color:#001c322e;color:oklch(22% .08 245 / .18);font-size:17px;line-height:5.2;white-space:pre-wrap;transform:rotate(-24deg)}.resource-viewer-header p:not(.eyebrow){margin:7px 0 0;color:#64748b;font-size:13px}@media print{.resource-viewer-surface{display:none}.resource-viewer-page:after{display:block;margin-top:120px;color:#111827;content:"受控资源不支持打印。";font-size:24px;text-align:center}}.teacher-workspace{--side-bg: #001425;--side-bg-2: #031b31;--side-line: rgb(129 166 204 / .18);--side-text: #dbeafe;--side-muted: #86a1bb;--active-bg: rgb(11 127 232 / .18);grid-template-columns:238px minmax(0,1fr)}.teacher-workspace .teacher-sidebar,.student-shell .student-sidebar{border-right:1px solid var(--side-line);background:linear-gradient(180deg,#051f37e6,#000c18fa),var(--side-bg);color:var(--side-text);box-shadow:18px 0 44px #0f172a1a}.teacher-sidebar-top{min-height:78px;border-bottom-color:var(--side-line)}.teacher-sidebar-top:after{display:none}.sidebar-collapse{border-radius:9px;color:#dbeafe;background:#0b7fe82e}.teacher-workspace .teacher-brand,.student-shell .teacher-brand{color:#f8fbff;font-weight:500}.teacher-workspace .teacher-brand svg,.student-shell .teacher-brand svg{color:#72c7ff}.sidebar-home,.teacher-workspace .nav-item,.student-shell .nav-item{color:var(--side-text);font-weight:400}.sidebar-home{margin:14px 12px 8px;border-radius:9px}.sidebar-home:hover,.teacher-workspace .nav-item:hover,.student-shell .nav-item:hover{color:#fff;background:#ffffff14}.teacher-workspace .teacher-nav{gap:5px;padding:12px;border-top-color:var(--side-line)}.teacher-workspace .nav-item,.student-shell .nav-item{position:relative;min-height:42px;padding-inline:12px;border-radius:9px;color:var(--side-muted);font-size:14px}.teacher-workspace .nav-item.active,.student-shell .nav-item.active{color:#fff;background:var(--active-bg)}.teacher-workspace .nav-item.active:before,.student-shell .nav-item.active:before{position:absolute;left:0;width:3px;height:20px;border-radius:999px;content:"";background:#22a4ff}.teacher-user,.student-user-card{border-top-color:var(--side-line)}.teacher-user strong,.student-user-card strong{color:#fff}.teacher-user span,.student-user-card small,.student-user-card>span{color:var(--side-muted)}.avatar,.avatar.small,.student-user-card:before{color:#fff;background:linear-gradient(180deg,#128cf4,#0877dc)}.sidebar-logout:hover{background:#ffffff1a}.teacher-workspace .teacher-main,.student-shell .student-main{padding:38px clamp(28px,3vw,48px) 64px;background:radial-gradient(circle at 92% 0%,rgb(11 127 232 / .08),transparent 24%),linear-gradient(180deg,#f8f5ef,#f5f1eb)}.teacher-page-header{align-items:flex-start;margin-bottom:26px}.teacher-page-header h1{color:#142033;font-family:var(--font-sans, system-ui, sans-serif);font-size:30px;font-weight:500;letter-spacing:0}.teacher-page-header p{color:#65748a;font-size:15px;line-height:1.65}.teacher-workspace .primary-button{border-color:#0877dc;background:linear-gradient(180deg,#128cf4,#0877dc);box-shadow:0 10px 24px #0877dc2e}.teacher-workspace .secondary-button{border-color:#ded8cf;background:#fff}.teacher-workspace .teacher-stats{gap:16px}.teacher-workspace .stat-card{min-height:122px;border-color:#ded8cf;border-radius:14px;background:radial-gradient(circle at 100% 0%,rgb(11 127 232 / .09),transparent 38%),#fff;box-shadow:0 10px 24px #1e293b0f}.teacher-workspace .stat-card strong{color:#111827;font-size:34px;font-weight:450}.teacher-workspace .stat-card span{color:#66758a;font-weight:400}.teacher-panel,.resource-table,.student-list,.teacher-course-card,.chapter-row{border-color:#ded8cf;border-radius:14px;background:#fffffff0;box-shadow:0 10px 26px #1e293b12}.teacher-panel h2{color:#17212f;font-weight:500}.learning-map{display:grid;gap:20px}.teacher-workspace .chapter-row,.student-shell .chapter-row{overflow:hidden;border-radius:14px;background:#fff}.teacher-workspace .chapter-heading,.student-shell .chapter-heading{min-height:48px;background:linear-gradient(180deg,#155b82,#0f4d72)}.teacher-workspace .chapter-heading h3,.student-shell .chapter-heading h3{color:#fff;font-family:var(--font-sans, system-ui, sans-serif);font-size:16px;font-weight:500}.teacher-workspace .chapter-actions button,.student-shell .chapter-actions button{color:#cfe9ff}.teacher-workspace .section-grid,.student-shell .section-grid{grid-auto-columns:304px;overflow-x:auto;overflow-y:hidden;padding-bottom:12px;scroll-snap-type:x proximity}.teacher-workspace .section-column,.student-shell .section-column{width:304px;min-width:304px;scroll-snap-align:start}.teacher-workspace .section-header,.student-shell .section-header{min-height:52px}.teacher-workspace .section-header h4,.student-shell .section-header h4{color:#17212f;font-size:14px;font-weight:500}.teacher-workspace .resource-card,.student-shell .resource-card{min-height:46px;border-color:#e1dbd3;border-radius:8px;background:#fffdf9;box-shadow:none}.teacher-workspace .resource-card:hover,.student-shell .resource-card:hover{border-color:#cbd8e5;background:#fff;box-shadow:0 8px 18px #1e293b14}.teacher-workspace .resource-title,.student-shell .resource-title{color:#344356;font-weight:400;line-height:1.45}.teacher-workspace .add-resource,.student-shell .add-resource{border-radius:8px;border-color:#c9d5e1;color:#36536b;background:#ffffff9e}.teacher-workspace .section-grid::-webkit-scrollbar,.student-shell .section-grid::-webkit-scrollbar{height:10px}.teacher-workspace .section-grid::-webkit-scrollbar-thumb,.student-shell .section-grid::-webkit-scrollbar-thumb{border:2px solid #f5f1eb;background:#aab8c8}.teacher-workspace .section-grid::-webkit-scrollbar-track,.student-shell .section-grid::-webkit-scrollbar-track{background:#ebe5dc}.teacher-preview-banner{border-color:#bcd5e8;background:linear-gradient(135deg,#eef8ff,#fffaf1)}@media(max-width:900px){.teacher-workspace{grid-template-columns:1fr}.teacher-workspace .teacher-sidebar,.student-shell .student-sidebar{position:relative;height:auto}.teacher-workspace .teacher-main,.student-shell .student-main{padding:24px 18px 44px}}body:has(.teacher-workspace),body:has(.student-shell),body:has(.access-notice-shell){background:#f5f1eb}#root:has(.teacher-workspace),#root:has(.student-shell),#root:has(.access-notice-shell){min-height:100vh;background:#f5f1eb}.teacher-workspace,.student-shell.teacher-workspace{min-height:100vh}.teacher-workspace .course-cover,.student-shell .course-cover,.teacher-workspace .teacher-course-card .course-cover,.student-shell .student-market-card .course-cover,.teacher-workspace .course-detail-cover,.student-shell .course-detail-cover{color:#cbe8ff;background:#041322 url(/assets/physics-course-cover-CFja0Otw.webp) center / cover no-repeat}.teacher-user strong,.teacher-user span,.student-user-card strong,.student-user-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-user>div:not(.avatar){min-width:0}.teacher-workspace .course-cover,.student-shell .course-cover,.teacher-workspace .teacher-course-card .course-cover,.student-shell .student-market-card .course-cover,.teacher-workspace .course-detail-cover,.student-shell .course-detail-cover{background:#041322 url(/assets/physics-hero-bg-B1ViSNB3.webp) center / cover no-repeat}.teacher-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(320px,560px));gap:24px;align-items:stretch}.teacher-topic-card{overflow:hidden;border:1px solid oklch(87% .018 80);border-radius:14px;background:#fff;box-shadow:0 14px 32px #0f172a14}.topic-cover-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer}.topic-cover{position:relative;display:block;min-height:230px;background-position:center;background-size:cover}.topic-cover:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,#0209151a,#0209156b)}.topic-cover-interference{background-image:url(/assets/topic-double-slit-biNVAZ9O.webp)}.topic-cover-wave{background-image:url(/assets/topic-wave-energy-X6IUoBF7.webp)}.teacher-topic-body{display:grid;gap:20px;padding:22px}.topic-meta{display:inline-flex;margin-bottom:10px;padding:4px 10px;border-radius:999px;color:#0c6fc9;background:#e4f4ff;font-size:13px}.teacher-topic-body h2{max-width:520px;margin:0;color:#111827;font-size:22px;line-height:1.35;font-weight:500}.teacher-topic-body p{max-width:540px;margin:10px 0 0;color:#5f6c7b;line-height:1.7}.teacher-topic-body .primary-button{justify-self:start}.course-tools button:disabled{cursor:not-allowed;opacity:.42}@media(max-width:900px){.teacher-topic-grid{grid-template-columns:1fr}.topic-cover{min-height:190px}}.teacher-topic-card .topic-cover{aspect-ratio:16 / 9;min-height:0;background-color:#041322;background-position:center;background-repeat:no-repeat;background-size:contain}.teacher-topic-card .topic-cover:after{background:linear-gradient(180deg,#02091505,#02091514);pointer-events:none}.teacher-topic-intro-card{display:grid;gap:24px;margin-bottom:24px;padding:26px;border:1px solid oklch(87% .018 80);border-radius:14px;background:#fff;box-shadow:0 14px 32px #0f172a0f}.teacher-topic-intro-card>div:first-child{max-width:920px}.teacher-topic-intro-card h2{margin:0;color:#142033;font-size:28px;line-height:1.35;font-weight:500}.teacher-topic-intro-card>div:first-child>p{margin:12px 0 0;color:#5e6d7f;font-size:16px;line-height:1.75}.teacher-topic-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.teacher-topic-feature-grid article{padding:16px;border:1px solid oklch(89% .018 80);border-radius:12px;background:linear-gradient(180deg,#fff,#fbfaf7)}.teacher-topic-feature-grid h3{margin:0 0 8px;color:#182536;font-size:16px;line-height:1.45;font-weight:500}.teacher-topic-feature-grid p{margin:0;color:#647386;font-size:14px;line-height:1.7}.teacher-course-card .publication-course-cover{min-height:220px;background:#f4f0e8 url(/assets/course-publication-cover-CMjV7ZH3.webp) center / contain no-repeat}.teacher-course-card .publication-course-cover:after{display:none}@media(max-width:1100px){.teacher-topic-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.teacher-topic-feature-grid{grid-template-columns:1fr}.teacher-topic-intro-card{padding:20px}.teacher-topic-intro-card h2{font-size:23px}}.teacher-workspace .teacher-course-card .publication-course-cover{min-height:220px;background-color:#f5f1e9;background-image:url(/assets/course-publication-cover-CMjV7ZH3.webp);background-position:center;background-repeat:no-repeat;background-size:contain}.teacher-workspace .teacher-course-card .publication-course-cover:after{display:none}.teacher-workspace .teacher-topic-intro-card{margin-bottom:30px;padding:28px 30px 30px;border:1px solid #d6e1ea;border-radius:14px;background:#fff;box-shadow:none}.teacher-workspace .teacher-topic-intro-card h2{max-width:1000px;color:#142033;font-size:25px;line-height:1.42;font-weight:500}.teacher-workspace .teacher-topic-intro-card>div:first-child>p{margin-top:10px;color:#647386;font-size:15px}.teacher-workspace .teacher-topic-feature-grid{gap:16px}.teacher-workspace .teacher-topic-feature-grid article{position:relative;min-height:112px;padding:18px 20px 18px 34px;border:1px solid #d6e1ea;border-radius:10px;background:#fff}.teacher-workspace .teacher-topic-feature-grid article:before{position:absolute;top:25px;left:18px;width:6px;height:6px;border-radius:50%;content:"";background:#0877dc}.teacher-workspace .teacher-topic-feature-grid h3{margin-bottom:8px;color:#182536;font-size:15px;font-weight:500}.teacher-workspace .teacher-topic-feature-grid p{color:#68778a;font-size:13px;line-height:1.75}.topic-course-section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px}.topic-course-section-heading h2{margin:0;color:#142033;font-size:20px;line-height:1.3;font-weight:500}.topic-course-section-heading span{color:#8a98aa;font-size:14px}.teacher-workspace .topic-course-list{display:grid;grid-template-columns:repeat(2,minmax(420px,1fr));gap:18px}.teacher-workspace .topic-course-list .teacher-course-card{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:254px;overflow:hidden;border:1px solid #d6e1ea;border-radius:12px;background:#fff;box-shadow:none}.teacher-workspace .topic-course-list .publication-course-cover{height:100%;min-height:254px;border-right:1px solid #e2e8ef;background-color:#f5f1e9;background-image:url(/assets/course-publication-cover-CMjV7ZH3.webp);background-position:center;background-repeat:no-repeat;background-size:contain}.teacher-workspace .topic-course-list .course-card-body{display:grid;grid-template-rows:auto auto 1fr auto;min-width:0;padding:22px 22px 18px}.teacher-workspace .topic-course-list .course-title-row{align-items:flex-start;gap:16px}.teacher-workspace .topic-course-list .course-title-row h2{color:#172033;font-size:18px;line-height:1.45;font-weight:500}.teacher-workspace .topic-course-list .course-title-row span{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;color:#008c5b;background:#d9fbe8;border:1px solid #98ecc2;font-size:12px;font-weight:500}.teacher-workspace .topic-course-list .course-title-row span:before{width:5px;height:5px;border-radius:50%;content:"";background:currentColor}.teacher-workspace .topic-course-list .course-card-body p{min-height:0;margin:12px 0 0;color:#647386;font-size:14px;line-height:1.7;-webkit-line-clamp:3}.teacher-workspace .topic-course-list .course-card-body strong{align-self:end;padding-top:16px;border-top:1px dashed #ccd8e2;color:#111827;font-size:22px;font-weight:500}.teacher-workspace .topic-course-list .course-card-body strong:first-letter{color:#7b8794;font-size:13px}.teacher-workspace .topic-course-list .course-tools{justify-self:end;align-self:end;margin-top:-28px;gap:14px}.teacher-workspace .topic-course-list .course-tools button{width:24px;height:24px;min-height:24px;color:#718197}.teacher-workspace .topic-course-list .course-tools button:last-child{color:#9c2942}@media(max-width:1200px){.teacher-workspace .topic-course-list{grid-template-columns:1fr}}@media(max-width:760px){.teacher-workspace .topic-course-list .teacher-course-card{grid-template-columns:1fr}.teacher-workspace .topic-course-list .publication-course-cover{min-height:260px;border-right:0;border-bottom:1px solid #e2e8ef}.topic-course-section-heading{align-items:flex-start;flex-direction:column;gap:6px}}.teacher-workspace .teacher-page-header{margin-bottom:22px}.teacher-workspace .teacher-topic-intro-card{margin-bottom:26px;padding:24px 30px 26px}.teacher-workspace .teacher-topic-intro-card h2{font-size:24px}.teacher-workspace .teacher-topic-feature-grid{gap:14px}.teacher-workspace .teacher-topic-feature-grid article{min-height:94px;padding-top:15px;padding-bottom:14px}.teacher-workspace .teacher-topic-feature-grid article:before{top:23px}.topic-course-section-heading{margin-bottom:12px}.teacher-workspace .topic-course-list .teacher-course-card,.teacher-workspace .topic-course-list .publication-course-cover{min-height:236px}.teacher-workspace .topic-course-list .course-card-body{padding-top:20px;padding-bottom:16px}.teacher-workspace .teacher-topic-intro-card{border-color:#ead9dc;background:linear-gradient(180deg,#fff6f7,snow)}.teacher-workspace .teacher-topic-feature-grid article{border-color:#ead9dc;background:#ffffffb8}.teacher-workspace .topic-course-list .publication-course-cover{border-right:0;background-color:#f5f1e9;background-position:center;background-size:cover}.teacher-workspace .topic-course-list .teacher-course-card{grid-template-columns:210px minmax(0,1fr)}@media(max-width:760px){.teacher-workspace .topic-course-list .publication-course-cover{border-bottom:0}}.teacher-workspace .teacher-topic-intro-card{border-color:#d6e1ea;background:#fff}.teacher-workspace .teacher-topic-feature-grid article{border-color:#d6e1ea;background:#fff}.teacher-workspace .teacher-topic-feature-grid article:before{background:#0877dc}.teacher-workspace .topic-course-list .teacher-course-card{grid-template-columns:230px minmax(0,1fr);min-height:294px}.teacher-workspace .topic-course-list .publication-course-cover{min-height:294px;background-color:#f7f3ec;background-position:center;background-size:contain}.teacher-workspace .topic-course-list .course-card-body{padding-top:22px;padding-bottom:18px}@media(max-width:760px){.teacher-workspace .topic-course-list .publication-course-cover{min-height:360px}}.teacher-workspace .topic-course-list .teacher-course-card{grid-template-columns:230px minmax(0,1fr);min-height:342px}.teacher-workspace .topic-course-list .publication-course-cover{min-height:342px;background-size:contain}.teacher-topic-card{display:flex;flex-direction:column}.teacher-topic-body{grid-template-rows:1fr auto;min-height:238px}.teacher-topic-body .primary-button{align-self:end;min-height:42px}.teacher-workspace .teacher-topic-intro-card{padding-top:26px}.topic-intro-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:4px}.topic-intro-summary .topic-meta{flex:0 0 auto;margin:0}.teacher-topic-intro-card .topic-intro-summary p{max-width:820px;margin:0;color:#647386;font-size:15px;line-height:1.65;text-align:right}.teacher-workspace .publication-course-cover{position:relative}.teacher-workspace .publication-course-cover span{position:absolute;right:12px;bottom:12px;left:12px;display:none;padding:7px 9px;border-radius:8px;color:#0f4f8b;background:#ffffffd1;font-size:12px;line-height:1.35;text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.course-edit-modal .form-field textarea{min-height:96px;resize:vertical}.course-edit-modal .dialog-actions{display:flex;justify-content:flex-end;gap:10px}@media(max-width:760px){.topic-intro-summary{align-items:flex-start;flex-direction:column}.teacher-topic-intro-card .topic-intro-summary p{text-align:left}}.chapter-modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:28px;background:#0f172a52;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.course-edit-modal{position:relative;width:min(620px,calc(100vw - 48px))!important;max-height:calc(100vh - 56px);overflow:auto;padding:26px 28px 24px;border:1px solid #d6e1ea;border-radius:14px;background:#fff;box-shadow:0 28px 90px #0f172a38}.course-edit-modal .modal-close{position:absolute;top:14px;right:14px;display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:9px;color:#516071;background:#f4f7fa;cursor:pointer}.course-edit-modal .modal-close:hover{color:#111827;background:#e9eef4}.course-edit-modal .modal-header-block{display:grid;gap:8px;padding:0 44px 18px 0;border-bottom:1px solid #e6edf4}.course-edit-modal .modal-header-block h2{margin:0;color:#142033;font-size:22px;line-height:1.35;font-weight:500}.course-edit-modal .modal-header-block p{margin:0;color:#647386;font-size:14px;line-height:1.65}.course-edit-modal .form-field{display:grid;gap:8px;margin-top:16px;color:#334155;font-size:14px;line-height:1.4}.course-edit-modal .form-field span{font-weight:500}.course-edit-modal .form-field input,.course-edit-modal .form-field textarea{box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid #d6e1ea;border-radius:9px;outline:0;color:#142033;background:#fff;font:inherit}.course-edit-modal .form-field input:focus,.course-edit-modal .form-field textarea:focus{border-color:#1287e8;box-shadow:0 0 0 3px #1287e81f}.course-edit-modal .form-field textarea{min-height:118px;resize:vertical}.course-edit-modal .dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #e6edf4}@media(max-width:640px){.chapter-modal-backdrop{padding:16px}.course-edit-modal{width:calc(100vw - 32px)!important;padding:22px 20px 20px}.course-edit-modal .dialog-actions{flex-direction:column-reverse}.course-edit-modal .dialog-actions button{width:100%}}.teacher-topic-grid,.student-shell .student-topic-grid{align-items:stretch}.teacher-topic-card{display:grid;grid-template-rows:auto 1fr;height:100%}.teacher-topic-body{display:flex;min-height:260px;flex-direction:column;justify-content:space-between;gap:20px}.teacher-topic-body>div{display:grid;align-content:start;min-height:176px}.teacher-topic-body h2{min-height:60px}.teacher-topic-body p{min-height:58px}.teacher-topic-body .primary-button{width:max-content;min-height:44px}.course-edit-modal{width:min(760px,calc(100vw - 48px))!important}.cover-upload-field>span{display:block}.cover-upload-row{display:grid;grid-template-columns:116px minmax(0,1fr);gap:18px;align-items:center;padding:14px;border:1px solid #d6e1ea;border-radius:12px;background:#fbfcfd}.cover-upload-preview{width:116px;aspect-ratio:2 / 3;border:1px solid #d8e1eb;border-radius:10px;background-color:#f7f3ec;background-image:url(/assets/course-publication-cover-CMjV7ZH3.webp);background-position:center;background-repeat:no-repeat;background-size:contain;box-shadow:inset 0 0 0 1px #fffc}.cover-upload-button{position:relative;display:inline-flex!important;width:max-content;cursor:pointer;gap:8px}.cover-upload-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.cover-reset-button{display:block;width:max-content;margin-top:10px;padding:0;border:0;color:#0b74d1;background:transparent;font:inherit;cursor:pointer}.cover-upload-field small{display:block;margin-top:10px;color:#738195;font-size:13px;line-height:1.5}.student-shell .student-topic-grid{margin-top:8px}.student-shell .student-topic-back{margin-bottom:16px}.student-shell .student-topic-intro-card{margin-bottom:26px}.student-shell .student-topic-course-list{display:grid;grid-template-columns:repeat(2,minmax(420px,1fr));gap:18px}.student-shell .student-topic-course-list .publication-course-cover,.student-shell .student-market-card .publication-course-cover,.student-shell .student-course-detail .publication-course-cover{background-color:#f7f3ec;background-image:url(/assets/course-publication-cover-CMjV7ZH3.webp);background-position:center;background-repeat:no-repeat;background-size:contain}.student-shell .student-course-actions{display:flex;justify-content:flex-start;margin-top:14px}.student-shell .student-course-actions .primary-button,.student-shell .student-course-actions .secondary-button{width:max-content;min-height:38px}@media(max-width:1200px){.student-shell .student-topic-course-list{grid-template-columns:1fr}}@media(max-width:760px){.teacher-topic-body,.teacher-topic-body>div,.teacher-topic-body h2,.teacher-topic-body p{min-height:0}.cover-upload-row{grid-template-columns:1fr}}.visually-hidden-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;opacity:0;pointer-events:none}.teacher-topic-body .topic-meta,.topic-intro-summary .topic-meta{width:max-content;justify-self:start;align-self:start}.student-shell .student-topic-course-list .teacher-course-card,.student-shell .student-market-card{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:342px;border:1px solid #d6e1ea;border-radius:12px;background:#fff;box-shadow:none}.student-shell .student-topic-course-list .publication-course-cover,.student-shell .student-market-card .publication-course-cover{min-height:342px;border-right:1px solid #e2e8ef}.student-shell .student-topic-course-list .course-card-body,.student-shell .student-market-card .course-card-body{display:grid;grid-template-rows:auto auto 1fr auto;min-width:0;padding:22px 22px 18px;gap:0}.student-shell .student-topic-course-list .course-title-row,.student-shell .student-market-card .course-title-row{align-items:flex-start;gap:16px}.student-shell .student-topic-course-list .course-title-row h2,.student-shell .student-market-card .course-title-row h2{margin:0;color:#172033;font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,sans-serif;font-size:18px;line-height:1.45;font-weight:500}.student-shell .student-topic-course-list .course-title-row span,.student-shell .student-market-card .course-title-row span,.student-shell .student-market-card .course-title-row span.owned{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:4px 10px;border:1px solid #98ecc2;border-radius:999px;color:#008c5b;background:#d9fbe8;font-size:12px;font-weight:500;white-space:nowrap}.student-shell .student-topic-course-list .course-title-row span:before,.student-shell .student-market-card .course-title-row span:before{width:5px;height:5px;border-radius:50%;content:"";background:currentColor}.student-shell .student-topic-course-list .course-title-row span:not(.owned):not(.draft),.student-shell .student-market-card .course-title-row span:not(.owned):not(.draft){color:#074d92;border-color:#b8ddff;background:#d7ecff}.student-shell .student-topic-course-list .course-title-row span.draft,.student-shell .student-market-card .course-title-row span.draft{color:#7a4d14;border-color:#e7c982;background:#f3e5c8}.student-shell .student-topic-course-list .course-card-body p,.student-shell .student-market-card .course-card-body p{min-height:0;margin:12px 0 0;color:#647386;font-size:14px;line-height:1.7;-webkit-line-clamp:3}.student-shell .student-topic-course-list .course-card-body strong,.student-shell .student-market-card .course-card-body strong{align-self:end;padding-top:16px;border-top:1px dashed #ccd8e2;color:#111827;font-size:22px;font-weight:500}.student-shell .topic-course-list .course-tools.student-course-actions,.student-shell .student-course-actions{justify-self:end;align-self:end;display:flex;gap:10px;margin-top:-28px}.student-shell .topic-course-list .course-tools.student-course-actions .primary-button,.student-shell .topic-course-list .course-tools.student-course-actions .primary-button:last-child,.student-shell .student-course-actions .primary-button,.student-shell .student-course-actions .primary-button:last-child{width:auto;min-width:112px;height:38px;min-height:38px;padding:0 18px;border-color:#172b85;border-radius:8px;color:#fff!important;background:#172b85;font-size:14px;font-weight:500}.student-shell .topic-course-list .course-tools.student-course-actions .secondary-button,.student-shell .topic-course-list .course-tools.student-course-actions .secondary-button:last-child,.student-shell .student-course-actions .secondary-button,.student-shell .student-course-actions .secondary-button:last-child{width:auto;min-width:112px;height:38px;min-height:38px;padding:0 18px;border-color:#d7d7dc;border-radius:8px;color:#111827!important;background:#fff;font-size:14px;font-weight:500}.student-shell .teacher-page-header h1,.student-shell .topic-course-section-heading h2{color:#142033;font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,sans-serif;font-weight:500}@media(max-width:760px){.student-shell .student-topic-course-list .teacher-course-card,.student-shell .student-market-card{grid-template-columns:1fr}.student-shell .student-topic-course-list .publication-course-cover,.student-shell .student-market-card .publication-course-cover{min-height:360px;border-right:0;border-bottom:1px solid #e2e8ef}}.student-owned-course-groups{display:grid;gap:30px}.student-owned-topic-group{display:grid;gap:12px}.student-owned-topic-group+.student-owned-topic-group{padding-top:6px}.student-owned-topic-group .topic-course-section-heading h2{font-size:20px;line-height:1.35}.student-shell .student-topic-course-list .course-card-body strong,.student-shell .student-market-card .course-card-body strong{font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-size:22px;font-weight:500;line-height:1.25;letter-spacing:0;font-variant-numeric:tabular-nums}.student-shell .student-topic-course-list .course-card-body strong:first-letter,.student-shell .student-market-card .course-card-body strong:first-letter{color:inherit;font-size:inherit;font-weight:inherit}.student-shell .student-course-detail{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:stretch;gap:30px;max-width:1180px;min-height:0;padding:28px;border:1px solid #d6e1ea;border-radius:14px;background:#fff;box-shadow:0 14px 34px #0f172a0f}.student-shell .student-course-detail .course-detail-cover{width:100%;min-height:860px;border:1px solid #e2dacf;border-radius:10px;background-color:#f4eee4;background-size:contain;background-position:center}.student-shell .student-course-detail>div:not(.course-detail-cover){display:grid;grid-template-rows:auto auto auto 1fr auto;min-width:0;padding:8px 0 2px}.student-shell .student-course-detail>div:not(.course-detail-cover)>span{color:#2f8178;font-size:14px;font-weight:500;line-height:1.4}.student-shell .student-course-detail h2{margin:10px 0 0;color:#142033;font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-size:26px;font-weight:500;line-height:1.42;letter-spacing:0}.student-shell .student-course-detail p{max-width:760px;margin:18px 0 0;color:#58687c;font-size:15px;font-weight:400;line-height:1.8}.student-shell .student-course-detail dl{align-self:end;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0 0}.student-shell .student-course-detail dl div{min-height:84px;padding:16px;border:1px solid #dce5ed;border-radius:10px;background:#fbfdff}.student-shell .student-course-detail dt{margin:0 0 8px;color:#617187;font-size:13px;font-weight:500}.student-shell .student-course-detail dd{margin:0;color:#142033;font-size:17px;font-weight:500;line-height:1.45}.student-shell .student-course-detail .student-course-actions{justify-self:end;align-self:end;display:flex;gap:12px;margin-top:18px}.student-shell .student-course-detail .student-course-actions .primary-button,.student-shell .student-course-detail .student-course-actions .secondary-button{min-width:120px;height:42px;min-height:42px;padding:0 20px;font-size:14px}@media(max-width:960px){.student-shell .student-course-detail{grid-template-columns:1fr}.student-shell .student-course-detail .course-detail-cover{max-width:340px;min-height:460px}.student-shell .student-course-detail dl{grid-template-columns:1fr}.student-shell .student-course-detail .student-course-actions{justify-self:stretch;flex-wrap:wrap}}.student-owned-topic-group .student-market-card .course-card-body{grid-template-rows:auto auto 1fr auto auto}.student-owned-topic-group .student-market-card .course-card-body strong{align-self:end;padding-top:16px;margin-bottom:10px}.student-owned-topic-group .student-market-card .course-tools.student-course-actions{justify-self:end;align-self:start;margin-top:0}.teacher-workspace .teacher-search-box,.teacher-workspace .resource-picker-search,.student-shell .teacher-search-box,.student-shell .student-course-search,.student-shell .resource-picker-search{display:flex;align-items:center;gap:10px;padding:0 16px;overflow:hidden}.teacher-workspace .teacher-search-box input,.teacher-workspace .resource-picker-search input,.student-shell .teacher-search-box input,.student-shell .student-course-search input,.student-shell .resource-picker-search input{min-width:0;padding:0;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important}.teacher-workspace .teacher-search-box input:focus,.teacher-workspace .resource-picker-search input:focus,.student-shell .teacher-search-box input:focus,.student-shell .student-course-search input:focus,.student-shell .resource-picker-search input:focus{border:0!important;outline:0!important;box-shadow:none!important}.teacher-workspace .resource-list,.student-shell .resource-list{min-height:0;align-content:start}.teacher-workspace .resource-card,.student-shell .resource-card{display:grid;align-items:start;min-height:34px;height:auto}.teacher-workspace .section-column,.student-shell .section-column{align-self:start}.teacher-workspace .section-column:has(.resource-card:only-of-type) .resource-list,.student-shell .section-column:has(.resource-card:only-of-type) .resource-list{min-height:0}.student-shell .student-topic-course-list .teacher-course-card,.student-shell .student-market-card{overflow:hidden}.student-shell .student-topic-course-list .publication-course-cover,.student-shell .student-market-card .publication-course-cover,.student-shell .student-topic-course-list .course-card-body,.student-shell .student-market-card .course-card-body{border-radius:0}@media(min-width:761px){.student-shell .student-topic-course-list .publication-course-cover,.student-shell .student-market-card .publication-course-cover{border-top-left-radius:12px;border-bottom-left-radius:12px}.student-shell .student-topic-course-list .course-card-body,.student-shell .student-market-card .course-card-body{border-radius:0 12px 12px 0}}.resource-picker-modal{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;max-height:min(86vh,760px);overflow:hidden}.resource-picker-modal .resource-picker-list{min-height:0;max-height:none;overflow-y:auto;margin-bottom:0;padding-bottom:8px}.resource-picker-modal .modal-actions{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px 18px;border-top:1px solid #e6edf4;background:#fff;box-shadow:0 -10px 22px #0f172a0a}.resource-picker-modal .modal-actions button{min-width:104px;min-height:40px}.teacher-workspace .resource-card,.student-shell .resource-card{grid-template-columns:20px minmax(0,1fr) 24px 76px;column-gap:6px}.teacher-workspace .resource-actions,.student-shell .resource-actions{display:inline-flex;flex:0 0 76px;min-width:76px;justify-content:flex-end;gap:5px;margin-left:0}.teacher-workspace .resource-actions button,.student-shell .resource-actions button{flex:0 0 22px;width:22px;min-width:22px;height:22px;min-height:22px;padding:0}.teacher-workspace .resource-open,.student-shell .resource-open{flex:0 0 24px;width:24px;min-width:24px}.teacher-workspace .teacher-search-box input,.teacher-workspace .resource-picker-search input,.student-shell .teacher-search-box input,.student-shell .student-course-search input,.student-shell .resource-picker-search input{height:24px;font-size:15px;line-height:24px;caret-color:#0f172a}@media(max-width:760px){.resource-picker-modal .modal-actions{padding:12px 18px 16px}}.protected-resource-surface{overflow:hidden;background:#f8fafc}.pdf-resource-surface{align-content:start;overflow:auto}.protected-resource-surface iframe,.protected-resource-surface img,.protected-resource-surface pre,.protected-resource-surface p,.protected-video-frame{position:relative;z-index:1}.protected-resource-surface video{position:relative;z-index:1}.protected-resource-surface:after{display:none}.protected-resource-surface:before{inset:-62%;z-index:5;width:224%;height:224%;display:block;align-content:initial;justify-content:initial;overflow:hidden;content:attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark) "\a\a" attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark) "\a\a" attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark) "\a\a" attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark) "\a\a" attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark) "\a\a" attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark) "\a\a" attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark) "\a\a" attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark) "\a\a" attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark) "      " attr(data-watermark);color:#374e692b;font-size:14px;font-weight:500;line-height:4.15;letter-spacing:0;white-space:pre;transform:rotate(-24deg);transform-origin:center}.protected-video-frame{align-self:center;justify-self:center;display:grid;place-items:center;width:min(100%,calc((100vh - 142px) * var(--video-aspect-ratio, 1.7777778)));max-width:100%;height:auto;max-height:calc(100vh - 142px);aspect-ratio:var(--video-aspect-ratio, 1.7777778);background:#111827}.protected-video-frame video{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:#111827;cursor:pointer}.protected-video-controls{position:absolute;right:18px;bottom:16px;left:18px;z-index:6;display:grid;grid-template-columns:34px auto minmax(120px,1fr) 34px;align-items:center;gap:10px;min-height:42px;padding:8px 10px;border:1px solid rgb(255 255 255 / .12);border-radius:12px;color:#fff;background:linear-gradient(180deg,#0f172a94,#0f172ac7);box-shadow:0 8px 22px #0000002e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.protected-video-controls:before{position:absolute;right:-18px;bottom:-16px;left:-18px;height:72px;z-index:-1;content:"";pointer-events:none;background:linear-gradient(180deg,transparent,rgb(0 0 0 / .24))}.protected-video-controls button{display:grid;width:34px;height:30px;place-items:center;border:0;border-radius:8px;color:#fff;background:transparent;cursor:pointer}.protected-video-controls button:hover{background:#ffffff24}.protected-video-controls span{color:#ffffffe6;font-size:13px;white-space:nowrap}.protected-video-controls input[type=range]{width:100%;accent-color:#79d3ff;cursor:pointer}.protected-resource-surface:before,.protected-resource-surface:after{display:none!important;content:none!important}.resource-watermark-overlay{position:absolute;inset:-18%;z-index:4;display:grid;grid-template-columns:repeat(4,560px);grid-auto-rows:118px;align-content:start;gap:0 84px;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none;transform:rotate(-22deg);transform-origin:center}.resource-watermark-overlay span{color:#2a3f562e;font-size:14px;font-weight:500;letter-spacing:0;line-height:1.2;white-space:nowrap}.protected-video-controls{bottom:12px;z-index:7;box-shadow:0 5px 14px #00000024}.protected-video-controls:before{right:-12px;bottom:-12px;left:-12px;height:42px;background:linear-gradient(180deg,transparent,rgb(0 0 0 / .14))}.teacher-workspace .section-grid,.student-shell .section-grid{grid-auto-columns:minmax(260px,1fr)}.teacher-workspace .resource-card,.student-shell .resource-card{column-gap:8px}.teacher-workspace .resource-card{grid-template-columns:20px minmax(0,1fr) 76px}.student-shell .resource-card{grid-template-columns:20px minmax(0,1fr) auto}.teacher-workspace .resource-open,.student-shell .resource-open{display:none!important}.teacher-workspace .resource-title-link,.student-shell .resource-title-link{color:inherit;text-decoration-line:underline;text-decoration-color:#7793ad;text-decoration-thickness:1px;text-underline-offset:3px}.teacher-workspace .resource-title-link:hover,.student-shell .resource-title-link:hover{color:#0b6fb8;text-decoration-color:#0b6fb8}.teacher-workspace .section-grid,.student-shell .section-grid{grid-auto-flow:initial;grid-auto-columns:initial;gap:0;padding-bottom:0;width:100%;scrollbar-gutter:auto}.teacher-workspace .section-column,.student-shell .section-column{width:auto;min-width:260px}.teacher-workspace .section-grid,.student-shell .section-grid{width:calc(100% + 1px);margin-right:-1px}.protected-pdf-controls{position:absolute;top:16px;right:18px;z-index:8;display:inline-flex;align-items:center;gap:8px;padding:6px;border:1px solid rgb(209 218 229 / .9);border-radius:999px;background:#ffffffe6;box-shadow:0 8px 18px #0f172a14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.protected-pdf-controls button{min-height:30px;padding:0 12px;border:0;border-radius:999px;color:#16415f;background:#e8f5ff;cursor:pointer}.protected-pdf-controls button:hover{background:#d4edff}.protected-pdf-controls span{min-width:48px;color:#203348;font-size:13px;text-align:center}.protected-pdf-document{position:relative;z-index:1;display:grid;gap:18px;justify-items:center;width:100%;min-height:calc(100vh - 142px);padding:72px 24px 32px;background:#eef2f7}.protected-pdf-page{position:relative;display:grid;justify-items:center;max-width:100%;overflow:hidden;border:1px solid #d7dde7;border-radius:4px;background:#fff;box-shadow:0 10px 26px #0f172a1f}.protected-pdf-page img{position:relative;z-index:1;display:block;width:100%;max-width:100%;height:auto!important;max-height:none;object-fit:contain;background:#fff}.protected-pdf-page-placeholder{display:grid;width:min(100%,760px);min-height:420px;place-items:center;color:#64748b;background:#fff}.protected-pdf-page-watermark{position:absolute;inset:4% 3%;z-index:2;display:flex;flex-direction:column;justify-content:space-around;pointer-events:none;overflow:hidden}.protected-pdf-page-watermark span{width:max-content;max-width:none;color:#2a3f5624;font-size:17px;font-weight:500;letter-spacing:0;line-height:1.18;white-space:nowrap;transform:rotate(-24deg);transform-origin:left center}.protected-pdf-page-watermark span:nth-child(2n){margin-left:18%}.protected-pdf-page-watermark span:nth-child(3n){margin-left:9%}.resource-direct-upload{display:flex;align-items:center;gap:12px;padding:0 24px 12px}.resource-direct-upload button{min-height:40px}.resource-direct-upload span{color:#607086;font-size:13px}@media(max-width:760px){.resource-direct-upload{align-items:stretch;flex-direction:column}}.resource-picker-modal{grid-template-rows:auto auto auto minmax(0,1fr) auto}.resource-picker-modal .resource-picker-search{margin-bottom:0}.resource-direct-upload{border-bottom:1px solid #e7edf4}.teacher-workspace .course-title-row span.draft,.student-shell .course-title-row span.draft{color:#8a4b06!important;border-color:#f2c166!important;background:#fff2cf!important}.teacher-workspace .course-title-row span:not(.draft),.student-shell .course-title-row span:not(.draft):not(.owned){color:#047857;border-color:#86efac;background:#dcfce7}.topic-card-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.topic-card-actions .secondary-button,.topic-card-actions .primary-button{min-height:44px}.topic-cover-custom{background:linear-gradient(135deg,#06172a,#0c3357 52%,#07101f)}.topic-edit-modal{position:relative;display:grid;width:min(840px,calc(100vw - 48px))!important;max-height:min(86vh,840px);gap:18px;overflow:auto;padding:34px 38px 28px}.topic-edit-modal .modal-close{position:absolute;top:16px;right:16px;display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:10px;color:#516071;background:#f4f7fa;cursor:pointer}.topic-edit-modal .modal-close:hover{color:#111827;background:#e9eef4}.topic-edit-modal .modal-header-block{display:grid;gap:8px;padding:0 54px 18px 0;border-bottom:1px solid #e4edf5}.topic-edit-modal .modal-header-block h2{margin:0;color:#102033;font-size:28px;font-weight:500;letter-spacing:0}.topic-edit-modal .modal-header-block p{margin:0;color:#61718a;font-size:15px;line-height:1.65}.topic-edit-modal .form-field{display:grid;gap:9px;margin:0}.topic-edit-modal .form-field>span{color:#25364a;font-size:15px;font-weight:500}.topic-edit-modal input,.topic-edit-modal textarea{width:100%;box-sizing:border-box;border:1px solid #d8e3ee;border-radius:10px;color:#142033;background:#fff;font:inherit;font-size:15px;line-height:1.55;outline:none}.topic-edit-modal input{min-height:48px;padding:11px 14px}.topic-edit-modal textarea{min-height:116px;padding:12px 14px;resize:vertical}.topic-edit-modal input:focus,.topic-edit-modal textarea:focus{border-color:#89c9ff;box-shadow:0 0 0 3px #1389e81f}.topic-edit-modal .dialog-actions{position:sticky;bottom:-28px;z-index:2;display:flex;justify-content:flex-end;gap:12px;margin:0 -38px -28px;padding:16px 38px 22px;border-top:1px solid #e4edf5;background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topic-image-field{gap:12px}.topic-image-picker{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}.topic-image-preview{min-height:150px;border:1px solid #d8e2ec;border-radius:12px;background:#08172a center / cover no-repeat;box-shadow:inset 0 1px #ffffff1f}.topic-image-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.topic-image-options button{display:flex;align-items:center;gap:9px;min-height:48px;padding:8px 10px;border:1px solid #d8e2ec;border-radius:10px;color:#21324a;background:#fff;cursor:pointer}.topic-image-options button.active{border-color:#1389e8;color:#0c6fc9;background:#eaf6ff}.topic-image-options button:disabled{cursor:not-allowed;opacity:.42}.topic-image-options button span{width:42px;height:28px;flex:0 0 auto;border-radius:6px;background:#08172a center / cover no-repeat}.topic-image-upload-actions{display:flex;grid-column:1 / -1;align-items:center;gap:12px;flex-wrap:wrap}.topic-image-upload-actions small{color:#6b7a90}@media(max-width:760px){.topic-image-picker,.topic-image-options{grid-template-columns:1fr}}.teacher-topic-body{position:relative}.topic-card-controls{position:absolute;right:22px;top:22px;display:flex;align-items:center;gap:8px}.topic-edit-button,.topic-delete-button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 10px;border:1px solid #d8e2ec;border-radius:10px;color:#456176;background:#fff;font:inherit;font-size:14px;cursor:pointer;box-shadow:0 8px 18px #0f172a0f}.topic-edit-button:hover{color:#0c6fc9;border-color:#a8d8ff;background:#f1f9ff}.topic-delete-button:hover{color:#b91c1c;border-color:#fecaca;background:#fff1f2}.teacher-topic-body>div:first-child{padding-right:168px}@media(max-width:760px){.topic-card-controls{position:static;width:max-content;margin-bottom:-6px}.teacher-topic-body>div:first-child{padding-right:0}}.teacher-workspace .chapter-row,.student-shell .chapter-row{position:relative}.teacher-workspace .chapter-row:after,.student-shell .chapter-row:after{position:absolute;top:80px;right:0;bottom:18px;z-index:4;width:82px;pointer-events:none;content:"";background:linear-gradient(90deg,#fff0,#f5f1ebeb 54%,#f5f1eb)}.teacher-workspace .chapter-row:before,.student-shell .chapter-row:before{position:absolute;right:16px;bottom:22px;z-index:5;padding:5px 10px;border:1px solid #a7c7e6;border-radius:999px;color:#0f5f9f;font-size:12px;font-weight:600;line-height:1;pointer-events:none;content:"向右滚动查看更多 →";background:#eff8fff5;box-shadow:0 6px 14px #0f528229;transition:opacity .16s ease,transform .16s ease}.teacher-workspace .section-grid,.student-shell .section-grid{padding-bottom:18px;scrollbar-width:auto;scrollbar-color:#1689e8 #d7e5f2}.teacher-workspace .section-grid::-webkit-scrollbar,.student-shell .section-grid::-webkit-scrollbar{height:16px}.teacher-workspace .section-grid::-webkit-scrollbar-track,.student-shell .section-grid::-webkit-scrollbar-track{border:1px solid #c9d8e6;border-radius:999px;background:#dcebf7;box-shadow:inset 0 1px 2px #0f172a1a}.teacher-workspace .section-grid::-webkit-scrollbar-thumb,.student-shell .section-grid::-webkit-scrollbar-thumb{min-width:120px;border:3px solid #dcebf7;border-radius:999px;background:linear-gradient(90deg,#0b7bd3,#18a1ff);box-shadow:0 1px 4px #0f528247}.teacher-workspace .section-grid::-webkit-scrollbar-thumb:hover,.student-shell .section-grid::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#075fa8,#0d8fe8)}.teacher-workspace .section-grid,.student-shell .section-grid{scrollbar-width:none}.teacher-workspace .section-grid::-webkit-scrollbar,.student-shell .section-grid::-webkit-scrollbar{display:none}.teacher-workspace .chapter-row,.student-shell .chapter-row{padding-bottom:18px}.teacher-workspace .chapter-row:after,.student-shell .chapter-row:after{bottom:34px}.teacher-workspace .chapter-row:before,.student-shell .chapter-row:before{bottom:38px}.teacher-workspace .chapter-heading:after,.student-shell .chapter-heading:after{position:absolute;right:18px;bottom:10px;left:18px;z-index:5;height:14px;border:1px solid #b9cfe3;border-radius:999px;pointer-events:none;content:"";background:linear-gradient(90deg,#dbeaf7,#ecf6ff);box-shadow:inset 0 1px 2px #0f172a1f,0 4px 10px #0f52821f}.teacher-workspace .chapter-heading:before,.student-shell .chapter-heading:before{position:absolute;bottom:13px;left:calc(18px + var(--map-scroll-thumb-left, 0px));z-index:6;width:var(--map-scroll-thumb-width, 34%);min-width:96px;max-width:calc(100% - 36px);height:8px;border-radius:999px;pointer-events:none;content:"";background:linear-gradient(90deg,#0b7bd3,#18a1ff);box-shadow:0 1px 4px #0f528247;transition:left 80ms linear,width 80ms linear}.teacher-workspace .chapter-row.map-scrolled:before,.student-shell .chapter-row.map-scrolled:before{opacity:0;transform:translateY(4px)}.teacher-workspace .chapter-heading:before,.teacher-workspace .chapter-heading:after,.student-shell .chapter-heading:before,.student-shell .chapter-heading:after{display:none}.teacher-workspace .map-scrollbar,.student-shell .map-scrollbar{position:absolute;right:18px;bottom:10px;left:18px;z-index:6;height:14px;border:1px solid #b9cfe3;border-radius:999px;cursor:grab;background:linear-gradient(90deg,#dbeaf7,#ecf6ff);box-shadow:inset 0 1px 2px #0f172a1f,0 4px 10px #0f52821f;touch-action:none}.teacher-workspace .map-scrollbar:active,.student-shell .map-scrollbar:active{cursor:grabbing}.teacher-workspace .map-scrollbar-thumb,.student-shell .map-scrollbar-thumb{position:absolute;top:2px;left:var(--map-scroll-thumb-left, 0px);width:var(--map-scroll-thumb-width, 34%);min-width:96px;max-width:100%;height:8px;border-radius:999px;pointer-events:none;background:linear-gradient(90deg,#0b7bd3,#18a1ff);box-shadow:0 1px 4px #0f528247;transition:left 80ms linear,width 80ms linear}.admin-shell{min-height:100vh;padding:34px clamp(20px,4vw,56px);background:#f5f1eb}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.admin-header h1{margin:4px 0 6px;color:#102033;font-size:34px;font-weight:650;line-height:1.15}.admin-header p:not(.eyebrow){margin:0;color:#5b6b7e}.admin-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:18px;margin-bottom:18px}.admin-panel{display:grid;gap:14px;padding:22px}.admin-panel h2,.admin-section-title h2{margin:0;color:#102033;font-size:20px;font-weight:650}.admin-panel select,.admin-panel input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d8e3ee;border-radius:10px;color:#142033;background:#fff;font:inherit}.admin-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-user-list{display:grid;gap:10px}.admin-user-row{display:grid;grid-template-columns:minmax(110px,140px) minmax(180px,1fr) minmax(110px,150px) minmax(110px,150px) minmax(110px,150px) 68px 72px auto auto auto;align-items:center;gap:10px;min-height:46px;padding:10px 12px;border:1px solid #e3e8ef;border-radius:10px;background:#fff}.admin-user-row strong,.admin-user-row span,.admin-user-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-row small{justify-self:end;color:#516071}.admin-user-row .compact{min-height:34px;padding:7px 12px;white-space:nowrap}.auth-message.compact{margin:0;text-align:left}.auth-remember{display:inline-flex;align-items:center;gap:8px;color:#475b70;font-size:14px}.auth-remember input{width:16px;height:16px;accent-color:#0b7bd3}@media(max-width:1080px){.admin-grid{grid-template-columns:1fr}}@media(max-width:860px){.admin-header{display:grid}.admin-user-row{grid-template-columns:1fr}.admin-user-row small{justify-self:start}}.account-settings-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:#10203352;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.account-settings-modal{width:min(560px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;padding:24px;box-shadow:0 22px 55px #10203338}.account-settings-modal .eyebrow{margin:0 0 4px}.account-settings-form{display:grid;gap:14px;padding-top:16px;border-top:1px solid #e2e8f0}.account-settings-actions{display:flex;flex-wrap:wrap;gap:10px}.account-settings-form h3{margin:0;color:#102033;font-size:17px;font-weight:650}@media(max-width:640px){.account-settings-backdrop{padding:12px;align-items:stretch}.account-settings-modal{max-height:calc(100vh - 24px)}}.student-payment-panel,.payment-record-list{margin-top:18px;padding:18px;border:1px solid #d9e2ec;border-radius:12px;background:#ffffffeb;box-shadow:0 12px 32px #0f172a12}.student-payment-form{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;align-items:end}.student-payment-form h2{display:inline-flex;grid-column:1 / -1;align-items:center;gap:8px;margin:0;color:#102033;font-size:18px}.student-payment-form label{display:grid;gap:6px;min-width:0}.student-payment-form label.wide{grid-column:span 2}.student-payment-form label span{color:#516071;font-size:13px;font-weight:700}.student-payment-form input,.student-payment-form select{min-height:40px;border:1px solid #cfd9e5;border-radius:8px;background:#fff;color:#152235;font:inherit;padding:0 11px}.student-payment-form .primary-button{min-height:40px;justify-content:center}.student-list{margin-top:18px}.student-row{grid-template-columns:48px minmax(150px,1fr) minmax(120px,180px) minmax(120px,180px);border-bottom:1px solid #e5eaf0}.student-row:last-child{border-bottom:0}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.section-heading-row h2{margin:0;color:#102033;font-size:18px}.section-heading-row span{color:#64748b;font-size:14px}.payment-record-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(220px,1.5fr) 90px 90px minmax(120px,170px);align-items:center;gap:14px;padding:13px 0;border-top:1px solid #e5eaf0}.payment-record-row strong,.payment-record-row span,.payment-record-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-record-row small{display:block;margin-top:3px;color:#64748b;font-size:12px}.status-pill.payment-paid{background:#e8f8ef;color:#166534}.status-pill.payment-pending{background:#fff7ed;color:#9a3412}.status-pill.payment-refunded{background:#eef2ff;color:#3730a3}.status-pill.payment-failed{background:#fee2e2;color:#991b1b}.teacher-empty-state.compact{min-height:120px}@media(max-width:980px){.student-payment-form{grid-template-columns:repeat(2,minmax(140px,1fr))}.student-row,.payment-record-row{grid-template-columns:1fr}}.admin-audit-log{margin-top:18px}.admin-audit-list{display:grid;gap:8px}.admin-audit-row{display:grid;grid-template-columns:minmax(110px,150px) minmax(180px,1fr) minmax(90px,140px) minmax(150px,190px);align-items:center;gap:12px;min-height:42px;padding:9px 12px;border:1px solid #e3e8ef;border-radius:10px;background:#fff}.admin-audit-row strong,.admin-audit-row span,.admin-audit-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-audit-row small{color:#64748b}@media(max-width:860px){.admin-audit-row{grid-template-columns:1fr}}.sidebar-logout-text{display:inline-flex;width:auto;min-width:88px;padding:0 9px;gap:6px;justify-content:center;white-space:nowrap}.sidebar-logout-text span{color:currentColor;font-size:12px;font-weight:700}.account-settings-modal,.account-settings-modal h2,.account-settings-modal h3,.account-settings-modal strong,.account-settings-modal span,.account-settings-modal label{color:#102033}.account-settings-modal .auth-field span{color:#7aa8d4}.account-settings-modal input,.account-settings-modal textarea,.account-settings-modal select{border:1px solid #d8e3ee;background:#fff;color:#142033;box-shadow:none}.account-settings-modal input::placeholder,.account-settings-modal textarea::placeholder{color:#9caabd}.account-settings-modal input:focus,.account-settings-modal textarea:focus,.account-settings-modal select:focus{border-color:#128cf4;outline:none;box-shadow:0 0 0 3px #128cf429}.teacher-workspace .sidebar-account-settings{justify-content:flex-start;gap:12px}.teacher-user-profile{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px}.teacher-user-profile strong,.teacher-user-profile span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-user .sidebar-logout-text{width:100%;min-width:0;min-height:36px;margin-left:0;justify-content:center;border:1px solid rgb(255 255 255 / .1);background:#ffffff0a}.teacher-user .sidebar-logout-text:hover{border-color:#fff3}.admin-ops-panel{align-items:start}.admin-ops-panel .admin-section-title p{margin:6px 0 0;color:#5b6b7e}.admin-export-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-export-actions .secondary-button{min-height:40px}.admin-user-row .secondary-button.compact{justify-self:end}.teacher-workspace:not(.student-shell) .teacher-sidebar{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}.teacher-workspace:not(.student-shell) .teacher-nav{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-bottom:12px}.teacher-workspace:not(.student-shell) .teacher-nav::-webkit-scrollbar{width:6px}.teacher-workspace:not(.student-shell) .teacher-nav::-webkit-scrollbar-thumb{border-radius:999px;background:#94b4d547}.teacher-workspace:not(.student-shell) .teacher-nav::-webkit-scrollbar-track{background:transparent}.teacher-workspace:not(.student-shell) .teacher-user{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:10px;margin-top:0;padding:14px 16px 16px;background:linear-gradient(180deg,#000c18db,#000c18fa)}.student-shell .student-sidebar{display:flex;flex-direction:column;overflow:hidden}.student-shell .teacher-nav{min-height:0;margin-top:10px;padding-bottom:10px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.student-shell .teacher-nav::-webkit-scrollbar{width:6px}.student-shell .teacher-nav::-webkit-scrollbar-thumb{border-radius:999px;background:#94b4d547}.student-shell .teacher-nav::-webkit-scrollbar-track{background:transparent}.student-shell .student-user-card{flex:0 0 auto;margin-top:auto}.teacher-workspace .teacher-main{min-width:0;padding-bottom:max(88px,env(safe-area-inset-bottom))}@media(max-height:760px)and (min-width:901px){.teacher-sidebar-top{min-height:64px}.sidebar-utilities{gap:6px;padding-block:12px}.sidebar-home{min-height:38px}.teacher-workspace:not(.student-shell) .teacher-nav{gap:6px;padding-block:12px}.teacher-workspace .nav-item{min-height:38px}.teacher-workspace:not(.student-shell) .teacher-user{padding:10px 14px 12px}.teacher-user-profile{grid-template-columns:28px minmax(0,1fr)}.teacher-user-profile .avatar.small{width:28px;height:28px}.teacher-user .sidebar-logout-text{min-height:34px}}.teacher-workspace:not(.student-shell){width:100vw;max-width:100vw;overflow-x:hidden;grid-template-columns:minmax(0,244px) minmax(0,1fr)}.teacher-workspace:not(.student-shell) .teacher-main{width:100%;max-width:calc(100vw - 244px);min-width:0;overflow-x:hidden;padding-inline:clamp(24px,3vw,40px)}.teacher-workspace:not(.student-shell) .teacher-page-header,.teacher-workspace:not(.student-shell) .teacher-stats,.teacher-workspace:not(.student-shell) .teacher-dashboard-grid{width:min(100%,1480px);max-width:1480px;margin-inline:auto}.teacher-workspace:not(.student-shell) .teacher-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px;margin-bottom:28px}.teacher-workspace:not(.student-shell) .teacher-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(520px,100%),1fr));gap:18px}.teacher-workspace:not(.student-shell) .stat-card,.teacher-workspace:not(.student-shell) .teacher-panel{min-width:0}@media(max-width:900px){.teacher-workspace:not(.student-shell){grid-template-columns:1fr}.teacher-workspace:not(.student-shell) .teacher-main{max-width:100vw;padding-inline:20px}}.teacher-workspace:not(.student-shell) .sidebar-utilities{display:grid;gap:8px;padding:20px 18px 12px;border-bottom:1px solid rgb(148 180 213 / .2)}.teacher-workspace:not(.student-shell) .sidebar-utilities .sidebar-home{width:100%;min-height:46px;margin:0;padding:0 14px;border-radius:10px;white-space:nowrap}.teacher-workspace:not(.student-shell) .teacher-nav{gap:8px;padding:12px 18px 20px;border-top:0}.teacher-workspace:not(.student-shell) .teacher-sidebar{width:244px}
