:root{--ink:#16211d;--muted:#5c6863;--forest:#1f5948;--forest-dark:#143f33;--gold:#c89443;--gold-soft:#f3e4c7;--gold-fg:#76551e;--success:#2f745b;--paper:#f5f2ea;--surface:#fffdf8;--surface-sunken:#f3f1eb;--surface-muted:#faf8f2;--surface-hover:#fcfaf5;--line:#dcd7cb;--line-soft:#efebe3;--line-warm:#e5e1d7;--accent-soft:#e8efe9;--accent-tint:#edf4f0;--success-soft:#e2f0e9;--success-fg:#225b47;--danger-soft:#f6e5e2;--danger-fg:#923c34;--danger-strong:#8d312b;--shadow:0 18px 50px #16211d14;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--text-xs:11px;--text-sm:13px;--text-md:15px;--text-lg:18px;--text-xl:24px;--text-2xl:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-pill:999px;--z-sticky:2;--z-dropdown:20;--z-drawer:60;--z-skip-link:100}
*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{color:var(--ink);background:radial-gradient(circle at 10% 0%, #c894431c, transparent 30rem), var(--paper);margin:0;font-family:Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}input,select,textarea{max-width:100%}select{min-height:44px}input[type=checkbox],input[type=radio]{width:20px;height:20px}:is(label:has(>input[type=checkbox]),label:has(>input[type=radio])){align-items:center;gap:8px;min-height:24px;display:inline-flex}:where(input:not([type=checkbox],[type=radio],[type=file],[type=range]),select,textarea){border:1px solid var(--line);width:100%;min-width:0;min-height:44px;color:var(--ink);background-color:#fff;border-radius:10px;padding:10px 14px;transition:border-color .16s,box-shadow .16s}:where(textarea){resize:vertical;min-height:104px;line-height:1.55}:where(select){appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%235c6863' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:11px 8px;padding-right:38px}:where(input,select,textarea):hover:not(:disabled){border-color:#c7c1b2}:where(input,select,textarea):focus{border-color:var(--forest);box-shadow:0 0 0 3px #1f59481f}:where(input,select,textarea):disabled{color:var(--muted);cursor:not-allowed;background-color:#f4f3ef}:where(input,textarea)::placeholder{color:var(--muted)}:where(input[type=checkbox],input[type=radio]){accent-color:var(--forest)}:where(input[type=file]){border:1px dashed var(--line);background-color:#fff;border-radius:10px;width:100%;padding:9px 11px;font-size:13px}:where(input[type=file])::file-selector-button{border:1px solid var(--line);min-height:32px;color:var(--forest);font:inherit;cursor:pointer;background:#fff;border-radius:8px;margin-right:11px;padding:0 13px;font-weight:700}:where(button:not([class])){border:1px solid var(--forest);min-height:44px;color:var(--forest);cursor:pointer;background-color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:0 18px;font-weight:700;display:inline-flex}:where(button:not([class])[type=submit]){color:#fff;background:var(--forest);border-color:#0000}:where(button:not([class]):hover:not(:disabled)){background:var(--accent-tint)}:where(button:not([class])[type=submit]:hover:not(:disabled)){background:var(--forest-dark)}:where(button:not([class]):disabled){opacity:.5;cursor:not-allowed}:where(details)>:where(summary){color:var(--forest);cursor:pointer;font-size:14px;font-weight:800}:where(details[open])>:where(summary){margin-bottom:6px}:where(form) :where(label:not([class])){gap:7px;min-width:0;font-size:13px;font-weight:700;display:grid}:where(form) :where(label:not([class]))>:where(small){color:var(--muted);font-size:11px;font-weight:400}:where(form:not([class]):has(>label)){grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-items:end;gap:16px 18px;max-width:820px;margin-top:18px;display:grid}:where(form:not([class]):has(>label))>:where(label:has(>textarea),fieldset,p,.form-actions){grid-column:1/-1}:where(form:not([class]):has(>label))>:where(button,.button){place-self:end start}:where(form:not([class]):has(>label):has(>label textarea))>:where(button,.button){grid-column:1/-1;margin-top:4px}
.brand{letter-spacing:-.02em;align-items:center;gap:12px;font-weight:800;display:flex}.brand-mark{color:#fff;background:var(--forest);border-radius:12px;place-items:center;width:38px;height:38px;font-family:Georgia,serif;font-size:22px;display:grid}.button{background:var(--forest);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:0 20px;font-weight:700;display:inline-flex}.button:hover{background:var(--forest-dark)}.button:disabled{opacity:.55;cursor:not-allowed}.button.secondary{color:var(--forest);border-color:var(--forest);background:0 0}.button.small{min-height:38px;padding:0 16px;font-size:14px}.button.danger{color:var(--danger-fg);border-color:var(--danger-fg);background:0 0}.button.danger:hover{color:#fff;background:var(--danger-strong);border-color:var(--danger-strong)}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px;margin-top:22px;display:grid}.catalog-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:9px;padding:26px;display:flex}.catalog-code{color:var(--gold-fg);letter-spacing:.12em;font-size:12px;font-weight:800}.catalog-card>:where(h2,h3,h4){letter-spacing:-.015em;margin:0;font-family:inherit;font-size:19px;font-weight:700}.catalog-title-en{color:var(--muted);margin:0;font-size:13px}.catalog-description{-webkit-line-clamp:3;color:var(--muted);-webkit-box-orient:vertical;margin:0;font-size:14px;display:-webkit-box;overflow:hidden}.catalog-price{gap:2px;margin:10px 0 0;display:grid}.catalog-price strong{letter-spacing:-.02em;font-family:Georgia,serif;font-size:26px}.catalog-price small{color:var(--muted);font-size:12px}.catalog-meta{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin:0 0 8px;font-size:13px;display:flex}.catalog-card>:where(.button,form:last-child){margin-top:auto}.catalog-card>form:last-child>.button{width:100%}.button.disabled{opacity:.55;cursor:not-allowed}.eyebrow{color:var(--forest);letter-spacing:.14em;text-transform:uppercase;font-size:13px;font-weight:800}.progress-track{background:#ffffff2e;border-radius:99px;height:7px;overflow:hidden}.progress-track span{border-radius:inherit;background:#e4bf73;width:68%;height:100%;display:block}.markdown{overflow-wrap:break-word;min-width:0}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p,.markdown ul,.markdown ol,.markdown blockquote,.markdown pre,.markdown .markdown-table{margin:0 0 var(--space-3)}.markdown.markdown :is(h1,h2,h3,h4,h5,h6){margin:var(--space-5) 0 var(--space-3);color:var(--forest);line-height:1.35}.markdown.markdown h1{font-size:21px}.markdown.markdown h2{font-size:var(--text-lg)}.markdown.markdown h3{font-size:var(--text-md)}.markdown.markdown :is(h4,h5,h6){font-size:14px}.markdown ul,.markdown ol{padding-left:22px}.markdown li{margin-bottom:6px}.markdown li>ul,.markdown li>ol{margin:6px 0 0}.markdown a{color:var(--forest);text-decoration:underline}.markdown strong{font-weight:800}.markdown blockquote{padding:var(--space-1) 0 var(--space-1) var(--space-4);border-left:3px solid var(--gold);color:var(--muted)}.markdown code{background:var(--gold-soft);border-radius:5px;padding:2px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.markdown pre{padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);overflow-x:auto}.markdown pre code{background:0 0;border-radius:0;padding:0}@media (max-width:640px){.markdown pre{white-space:pre-wrap;overflow-wrap:anywhere}}.markdown hr{margin:var(--space-5) 0;border:0;border-top:1px solid var(--line)}.markdown img{border-radius:var(--radius-sm);max-width:100%;height:auto}.markdown .markdown-table{overflow-x:auto}.markdown table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.markdown th,.markdown td{padding:9px var(--space-3);border:1px solid var(--line);text-align:left}.markdown th{background:var(--surface-muted);font-weight:800}.markdown input[type=checkbox]{margin-right:7px}.markdown ul.contains-task-list{padding-left:0}.markdown li.task-list-item>ul.contains-task-list{padding-left:22px}.markdown li.task-list-item{list-style:none}.markdown li.task-list-item:has(>input[type=checkbox]:not(:disabled)){padding:3px 0}.markdown li.task-list-item>input[type=checkbox]:not(:disabled){cursor:pointer;vertical-align:-4px}.checklist-count{margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--text-sm);font-weight:800}.checklist-message{color:var(--danger-strong);font-size:var(--text-sm);margin-top:6px;display:block}.language-switcher fieldset{border:1px solid var(--line);background:var(--surface);border-radius:999px;gap:4px;margin:0;padding:3px;display:inline-flex}.language-switcher legend{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.language-option{font:inherit;font-size:var(--text-sm);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 12px;line-height:1.2}.language-option:hover{color:var(--ink)}.language-option[aria-current=true]{color:var(--surface);background:var(--forest-dark)}.language-switcher.menu{display:block}.language-switcher.menu fieldset{width:100%;display:flex}.language-switcher.menu .language-option{text-align:center;flex:1}
.site-header{justify-content:space-between;align-items:center;max-width:1180px;height:76px;margin:0 auto;padding:0 28px;display:flex}.nav{color:var(--muted);align-items:center;gap:24px;font-size:14px;display:flex}.hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:56px;max-width:1180px;min-height:630px;margin:0 auto;padding:64px 28px 92px;display:grid}.hero h1{letter-spacing:-.045em;max-width:720px;margin:18px 0 24px;font-family:Georgia,Nanum Myeongjo,serif;font-size:clamp(44px,6vw,72px);line-height:1.08}.hero-copy{max-width:610px;color:var(--muted);font-size:19px}.hero-actions{gap:12px;margin-top:34px;display:flex}.hero-note{color:var(--muted);margin-top:18px;font-size:13px}.hero-card{min-height:470px;box-shadow:var(--shadow);color:#fff;background:linear-gradient(145deg,#173e34,#2e715d);border-radius:32px;position:relative;overflow:hidden}.hero-card:before{content:"";background:radial-gradient(circle at 75% 20%,#ffffff38,#0000 14rem);position:absolute;inset:0}.verse{font-family:Georgia,Nanum Myeongjo,serif;font-size:29px;line-height:1.45;position:absolute;top:52px;left:42px;right:42px}.verse-ref{color:#d9c18d;letter-spacing:.12em;margin-top:18px;font-family:Arial,sans-serif;font-size:13px;font-weight:700;display:block}.course-peek{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #ffffff29;border-radius:20px;padding:22px;position:absolute;bottom:24px;left:24px;right:24px}.course-peek small{color:#ffffffb8}.course-peek strong{margin:4px 0 15px;font-size:18px;display:block}.feature-section{max-width:1180px;margin:0 auto;padding:40px 28px 110px}.section-heading{max-width:680px;margin-bottom:38px}.section-heading h2{letter-spacing:-.03em;margin:10px 0 12px;font-family:Georgia,Nanum Myeongjo,serif;font-size:38px}.section-heading p{color:var(--muted)}.feature-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.feature-card{border:1px solid var(--line);background:#fffdf8b8;border-radius:20px;padding:26px}.feature-number{color:var(--gold);font-family:Georgia,serif;font-size:26px}.feature-card h3{margin:22px 0 8px;font-size:18px}.feature-card p{color:var(--muted);margin:0;font-size:14px}.site-footer{border-top:1px solid var(--line);max-width:1180px;color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin:0 auto;padding:26px 28px 38px;font-size:13px;display:flex}.site-footer nav{flex-wrap:wrap;gap:18px;display:flex}.site-footer a:hover,.legal-page a{color:var(--forest);text-decoration:underline}.legal-page{border:1px solid var(--line);background:var(--surface);max-width:820px;box-shadow:var(--shadow);border-radius:22px;margin:42px auto 90px;padding:42px}.legal-page h1{letter-spacing:-.035em;margin:10px 0 4px;font-family:Georgia,Nanum Myeongjo,serif;font-size:clamp(34px,5vw,48px)}.legal-page h2{margin:32px 0 8px;font-size:19px}.legal-page p{color:var(--muted)}.legal-page .legal-updated{margin-top:0;font-size:13px}.site-header-actions{align-items:center;gap:12px;display:flex}.catalog-section{max-width:1180px;margin:0 auto;padding:10px 28px 40px;scroll-margin-top:20px}.catalog-empty{max-width:680px;color:var(--muted)}.term-block+.term-block{margin-top:44px}.term-heading{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding-bottom:12px;display:flex}.term-heading h3{letter-spacing:-.025em;margin:0;font-family:Georgia,Nanum Myeongjo,serif;font-size:27px}.term-dates{color:var(--muted);font-size:14px}.term-status{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--forest);letter-spacing:.06em;margin-left:auto;padding:4px 13px;font-size:12px;font-weight:800}.enroll-page{max-width:760px;margin:0 auto;padding:26px 28px 90px}.enroll-back{color:var(--muted);font-size:14px}.enroll-back:hover{color:var(--forest);text-decoration:underline}.enroll-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:24px;margin-top:18px;padding:38px}.enroll-card h1{letter-spacing:-.035em;margin:12px 0 6px;font-family:Georgia,Nanum Myeongjo,serif;font-size:clamp(28px,4vw,40px);line-height:1.15}.enroll-subtitle{color:var(--muted);margin:0}.enroll-description{color:var(--muted);margin:18px 0 0}.enroll-facts{background:var(--surface-muted);border-radius:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:18px;margin:26px 0 0;padding:22px;display:grid}.enroll-facts>div{gap:5px;display:grid}.enroll-facts small{color:var(--muted);font-size:12px}.enroll-facts dt{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:800}.enroll-facts dd{gap:3px;margin:0;display:grid}.enroll-facts strong{font-size:20px}.enroll-card form,.enroll-gate{margin-top:26px}.enroll-gate>p{color:var(--muted);margin:0 0 16px}.enroll-actions{flex-wrap:wrap;gap:12px;display:flex}.enroll-note{color:var(--muted);margin:14px 0 0;font-size:13px}
.portal-shell{background:var(--surface-sunken);grid-template-columns:264px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{gap:var(--space-5);padding:var(--space-5) var(--space-4);border-right:1px solid var(--line);background:var(--surface);flex-direction:column;display:flex}.sidebar .brand{margin:var(--space-1) var(--space-2) 0}.side-nav{gap:var(--space-5);flex-direction:column;display:flex}.side-section>ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.side-label{margin:0 var(--space-3) var(--space-2);color:var(--muted);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;font-weight:800}.side-link{gap:var(--space-3);min-height:44px;padding:0 var(--space-3);color:var(--muted);border-radius:10px;align-items:center;font-size:14px;font-weight:650;display:flex}.side-link:hover{color:var(--forest);background:var(--accent-soft)}.side-link.active{color:var(--forest);background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--forest);font-weight:700}.nav-icon{flex:0 0 20px;width:20px;height:20px}.portal-main{min-width:0;padding:var(--space-5) clamp(var(--space-4), 4vw, var(--space-7)) 70px;flex-direction:column;display:flex}.topbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);padding-bottom:var(--space-3);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.topbar-actions{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.breadcrumb{min-width:0}.breadcrumb ol{align-items:center;gap:0 var(--space-2);color:var(--muted);font-size:var(--text-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li{align-items:center;gap:var(--space-2);display:flex}.breadcrumb li+li:before{content:"›";color:var(--line)}.breadcrumb a,.breadcrumb span{align-items:center;min-height:32px;display:inline-flex}.breadcrumb a{border-radius:6px;font-weight:650}.breadcrumb a:hover{color:var(--forest);text-decoration:underline}.breadcrumb [aria-current=page]{color:var(--ink);font-weight:700}.unread-flag{align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--gold-fg);background:var(--gold-soft);font-size:12px;font-weight:800;display:inline-flex}.unread-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.account-menu{position:relative}.account-toggle{align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;display:flex}.account-toggle:hover,.account-toggle[aria-expanded=true]{border-color:var(--line);background:var(--surface)}.account-name{font-size:var(--text-sm);font-weight:700;line-height:1.25;display:grid}.account-name small{color:var(--muted);font-size:var(--text-xs);font-weight:400}.avatar{color:#fff;background:var(--forest);border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.account-panel{z-index:var(--z-dropdown);right:0;top:calc(100% + var(--space-2));width:min(260px, calc(100vw - var(--space-6)));padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow);position:absolute}.account-group+.account-group{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line)}.account-group-label{margin:0 0 var(--space-1);color:var(--muted);font-size:var(--text-xs);font-weight:800}.account-group ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.account-group a,.role-option{align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:650;display:flex}.role-option{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;font-family:inherit}.account-group a:hover,.role-option:hover{color:var(--forest);background:var(--accent-soft)}.account-group a[aria-current],.role-option[aria-current]{color:var(--forest);background:var(--accent-tint)}.account-group a small,.role-option small{color:var(--muted);font-size:var(--text-xs);margin-left:auto;font-weight:700}.account-signout{width:100%;min-height:40px;margin-top:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);cursor:pointer;font-size:var(--text-sm);font-weight:700}.account-signout:hover{border-color:var(--forest);color:var(--forest)}.portal-drawer{display:none}.drawer-toggle{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--forest-dark);cursor:pointer;font-size:var(--text-sm);font-weight:700;display:inline-flex}.drawer-toggle-bars{background:currentColor;width:16px;height:2px;position:relative;box-shadow:0 -5px,0 5px}.drawer-backdrop{z-index:var(--z-drawer);background:#16211d73;position:fixed;inset:0}.drawer-panel{z-index:calc(var(--z-drawer) + 1);width:min(290px,86vw);padding:var(--space-4);border-right:1px solid var(--line);background:var(--surface);position:fixed;inset:0 auto 0 0;overflow-y:auto}.drawer-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);font-size:var(--text-xs);letter-spacing:.08em;font-weight:800;display:flex}.drawer-close{min-height:40px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);cursor:pointer;font-size:12px;font-weight:700}.drawer-close:hover{border-color:var(--forest);color:var(--forest)}.course-bar{margin-bottom:var(--space-5)}.course-bar-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.course-bar-head h1{margin:var(--space-1) 0 0;letter-spacing:-.03em;font-family:Georgia,Nanum Myeongjo,serif;font-size:30px}.course-bar-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.course-tabs{margin-top:var(--space-4);border-bottom:1px solid var(--line)}.course-tabs ul{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.course-tab{min-height:44px;padding:0 var(--space-3);color:var(--muted);border-bottom:3px solid #0000;align-items:center;gap:6px;font-size:14px;font-weight:700;display:inline-flex}.course-tab:hover{color:var(--forest);background:var(--accent-soft)}.course-tab.active{border-bottom-color:var(--forest);color:var(--forest)}.course-tab-out{color:var(--line);font-size:11px}.course-bar-name{margin:var(--space-1) 0 0;font-family:Georgia,Nanum Myeongjo,serif;font-size:var(--text-xl);letter-spacing:-.02em}.course-term-form{align-items:center;gap:var(--space-2);font-size:var(--text-sm);flex-wrap:wrap;font-weight:700;display:flex}.course-term-form select{min-width:0}.course-bar-progress{color:var(--forest);font-size:var(--text-sm);margin:0}.course-bar-progress strong{font-family:Georgia,serif;font-size:var(--text-lg)}.course-scope-note{margin:0 0 var(--space-4);font-size:var(--text-sm);font-weight:700}.course-scope-note a{color:var(--forest);text-decoration:underline}
.page-title h1{letter-spacing:-.03em;margin:4px 0 7px;font-family:Georgia,Nanum Myeongjo,serif;font-size:36px}.page-title p{color:var(--muted);margin:0}.stats{grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0;display:grid}.stats.four{grid-template-columns:repeat(4,1fr)}.stat-card,.panel{border:1px solid var(--line);background:var(--surface);border-radius:18px;box-shadow:0 7px 25px #16211d09}.stat-card{padding:21px}.stat-card span{color:var(--muted);font-size:13px}.stat-card strong{margin-top:8px;font-family:Georgia,serif;font-size:30px;display:block}.stat-card small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(270px,.7fr);gap:18px;display:grid}.panel{padding:24px}.panel-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.inline-actions{flex-wrap:wrap;gap:9px;display:flex}.panel h2{margin:0;font-size:18px}.course-list{gap:12px;display:grid}.course-row{border:1px solid var(--line-warm);border-radius:14px;grid-template-columns:58px 1fr auto;align-items:center;gap:15px;padding:14px;display:grid}.course-row:not(:has(.course-icon)){grid-template-columns:minmax(0,1fr) auto}.course-icon{width:58px;height:58px;color:var(--forest);background:var(--gold-soft);border-radius:14px;place-items:center;font-family:Georgia,serif;font-size:22px;display:grid}.course-row h3{margin:0 0 3px;font-size:15px}a.course-row:hover{border-color:var(--forest);background:var(--surface-hover)}.course-row-detail{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.course-row p{color:var(--muted);margin:0;font-size:12px}.course-progress{width:92px}.course-progress strong{color:var(--forest);text-align:right;margin-bottom:6px;font-size:12px;display:block}.course-progress .progress-track{background:#e4e1d9}.course-progress .progress-track span{background:var(--forest)}.schedule-list{gap:17px;display:grid}.schedule-item{border:1px solid var(--line-warm);border-radius:12px;gap:3px;padding:14px 15px;display:grid}.schedule-item:has(>.date-box){grid-template-columns:44px 1fr;align-items:center;gap:12px}.date-box{color:var(--forest);background:var(--accent-soft);text-align:center;border-radius:10px;padding:6px 3px;font-size:10px;font-weight:800}.date-box strong{font-size:18px;line-height:1.1;display:block}.schedule-item h3{margin:1px 0 3px;font-size:14px}.schedule-item p{color:var(--muted);margin:0;font-size:12px}.role-switch{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.role-switch a{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;padding:7px 11px;font-size:12px}.document-grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,.65fr);gap:18px;margin-top:30px;display:grid}.document-feature{grid-template-columns:68px 1fr auto;align-items:center;gap:20px;display:grid}.document-feature h2{margin:3px 0 5px;font-family:Georgia,Nanum Myeongjo,serif;font-size:24px}.document-feature p,.certificate-row p{color:var(--muted);margin:0;font-size:12px}.document-icon{width:64px;height:64px;color:var(--forest);background:var(--gold-soft);border-radius:16px;place-items:center;font-family:Georgia,serif;font-size:25px;font-weight:800;display:grid}.document-summary{grid-template-columns:1fr auto;align-items:center;gap:10px 18px;display:grid}.document-summary span{color:var(--muted);font-size:12px}.document-summary strong{text-align:right;font-size:13px}.certificate-panel{margin-top:18px}.certificate-panel .panel-header h2{margin-top:3px}.certificate-list{display:grid}.certificate-row{border-top:1px solid var(--line);grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;padding:15px 0;display:grid}.certificate-row strong{margin-bottom:3px;font-size:14px;display:block}.payment-notice{max-width:none}.tuition-list{gap:16px;margin-top:28px;display:grid}.tuition-card{grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.tuition-card h2{margin:4px 0;font-size:18px}.tuition-card p{color:var(--muted);margin:0;font-size:12px}.tuition-amount{text-align:right;min-width:190px}.tuition-amount>span,.tuition-amount>strong{display:block}.tuition-amount>span{color:var(--muted);font-size:11px}.tuition-amount>strong{margin:2px 0 10px;font-family:Georgia,serif;font-size:24px}.checkout-action{justify-items:end;gap:5px;display:grid}.checkout-action small{max-width:260px;color:var(--danger-fg);font-size:10px}.receipt-none{color:var(--muted)}.payment-history-panel{margin-top:18px;padding:0;overflow:hidden}.payment-history-panel .panel-header{padding:20px 22px}.payment-history-panel .panel-header h2{margin-top:3px}.payment-status{color:var(--gold-fg);background:var(--gold-soft);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;display:inline-flex}.payment-status.paid,.payment-status.waived{color:var(--forest);background:var(--success-soft)}.payment-status.failed,.payment-status.refunded{color:var(--danger-fg);background:var(--danger-soft)}.payment-failure{color:var(--danger-fg);margin-top:4px;display:block}.admin-actions{justify-content:flex-end;margin-top:-38px;margin-bottom:28px;display:flex}.organization-form{max-width:940px}.organization-form .form-grid.two{grid-template-columns:1fr 1fr}.course-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px;display:grid}.large-course-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 8px 25px #16211d09}.large-course-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.course-cover{color:#fff;background:linear-gradient(145deg,#1b5141,#387965);align-items:flex-end;min-height:150px;padding:20px;display:flex}.course-cover span{font-family:Georgia,serif;font-size:28px}.cover-2{background:linear-gradient(145deg,#6a4d2b,#b38246)}.cover-3{background:linear-gradient(145deg,#343e61,#68759f)}.course-card-body{flex-direction:column;flex:1;padding:20px;display:flex}.course-card-body small{color:var(--muted)}.course-card-body h2{margin:5px 0;font-family:Georgia,serif;font-size:23px}.course-card-body p{color:var(--muted);margin:0;font-size:13px}.course-card-body .course-card-detail{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.course-card-body .course-card-meta{flex-wrap:wrap;gap:4px 14px;margin-top:12px;font-size:12px;display:flex}.course-card-badges{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.course-card-progress{color:var(--forest);grid-template-columns:1fr auto;align-items:center;gap:12px;margin-top:auto;padding-top:20px;font-size:12px;display:grid}.catalog-state{border-radius:var(--radius-pill);letter-spacing:.04em;align-self:flex-start;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.catalog-state.active{color:var(--success-fg);background:var(--success-soft)}.catalog-state.pending{color:var(--gold-fg);background:var(--gold-soft)}.catalog-state.completed{color:var(--forest);background:var(--accent-soft)}.catalog-state.withdrawn{color:var(--danger-fg);background:var(--danger-soft)}.catalog-note{color:var(--muted);margin:auto 0 0;padding-top:8px;font-size:13px}.catalog-curriculum{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted);margin:4px 0;padding:11px 14px}.catalog-curriculum[open]{padding-bottom:14px}.catalog-curriculum ul{margin:8px 0 0;padding-left:18px}.catalog-curriculum>ul{padding-left:0;list-style:none}.catalog-curriculum>ul>li+li{margin-top:12px}.catalog-curriculum strong{font-size:14px}.catalog-curriculum small{color:var(--muted);font-size:12px;display:block}.catalog-curriculum li li{color:var(--muted);font-size:13px}.catalog-curriculum a{color:var(--forest);text-decoration:underline}.catalog-full-description{color:var(--ink);margin:10px 0 12px;font-size:14px}.lesson-locked{justify-items:start;gap:10px;max-width:620px;display:grid}.lesson-locked h2{margin:0;font-size:17px}.lesson-locked p{color:var(--muted);margin:0;font-size:14px}.lesson-locked .lesson-locked-when{border-radius:var(--radius-pill);color:var(--gold-fg);background:var(--gold-soft);padding:5px 12px;font-size:13px;font-weight:800}.lesson-locked .button{margin-top:6px}.module-list{gap:16px;margin-top:22px;display:grid}.module-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;overflow:hidden}.module-card>header{border-bottom:1px solid #ebe7de;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.module-card h2{margin:0;font-size:16px}.module-card header span{color:var(--muted);font-size:12px}.lesson-row{border-bottom:1px solid var(--line-soft);grid-template-columns:27px 1fr auto;align-items:center;gap:13px;padding:15px 22px;display:grid}.lesson-row:last-child{border-bottom:0}.lesson-row:hover{background:var(--surface-muted)}.lesson-row strong,.lesson-row small{display:block}.lesson-row strong{font-size:14px}.lesson-row small{color:var(--muted);font-size:11px}.completion{color:#fff;border:1px solid #cfcac0;border-radius:50%;place-items:center;width:21px;height:21px;font-size:11px;display:grid}.completion.done{border-color:var(--success);background:var(--success)}.back-link{color:var(--forest);margin-bottom:20px;font-size:13px;font-weight:700;display:inline-block}.lesson-title{margin-bottom:24px}.lesson-title h1{font-size:28px}.lesson-panel{max-width:940px}.video-frame{aspect-ratio:16/9;background:#10241f;border-radius:14px;overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%;display:block}.video-placeholder{color:#fff;text-align:center;background:radial-gradient(circle at 50% 35%,#326a58,#112820 65%);flex-direction:column;justify-content:center;align-items:center;gap:7px;height:100%;padding:25px;display:flex}.video-placeholder small{color:#ffffff9e}.play-button{background:#ffffff21;border:1px solid #ffffff59;border-radius:50%;place-items:center;width:64px;height:64px;margin-bottom:12px;padding-left:4px;display:grid}.lesson-controls{justify-content:space-between;align-items:center;gap:18px;margin:18px 0 12px;display:flex}.lesson-controls small{color:var(--muted)}.lesson-notes{border-top:1px solid var(--line);margin-top:30px;padding-top:24px}.lesson-notes h2{font-size:18px}.lesson-notes p{color:var(--muted)}.editor-form{max-width:780px;margin-top:28px}.form-grid.two{grid-template-columns:.45fr 1fr;gap:15px;display:grid}.field textarea{border:1px solid var(--line);resize:vertical;border-radius:10px;width:100%;padding:13px 14px}.form-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.notice{border-radius:10px;max-width:780px;margin-top:22px;padding:13px 16px;font-size:13px}.notice.success{color:var(--success-fg);background:var(--success-soft)}.notice.error{color:var(--danger-strong);background:var(--danger-soft)}.field small{color:var(--muted);font-size:12px}.field input[type=file]{height:auto;padding:12px}.upload-status{color:var(--forest);background:var(--accent-soft);border-radius:12px;margin-top:22px;padding:16px}.upload-status.error{color:var(--danger-strong);background:var(--danger-soft)}.upload-status>div:first-child{justify-content:space-between;gap:16px;margin-bottom:10px;font-size:13px;display:flex}.upload-status .progress-track{background:#1f594824}.upload-status .progress-track span{background:var(--forest)}.upload-status p{margin:10px 0 0;font-size:12px}.editor-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.publish-control,.order-controls{align-items:center;gap:8px;display:flex}.text-action:disabled{opacity:.35;cursor:not-allowed}.text-action{color:var(--forest);cursor:pointer;background:0 0;border:0;padding:5px 7px;font-size:11px;font-weight:800}.status-pill{min-height:28px;color:var(--gold-fg);background:var(--gold-soft);white-space:nowrap;border-radius:99px;align-items:center;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}.status-pill.ready{color:var(--forest);background:var(--success-soft)}.module-editor-list{gap:16px;max-width:940px;margin-top:28px;display:grid}.module-editor{padding:0;position:relative}.module-editor>header{border-top-left-radius:inherit;border-top-right-radius:inherit}.module-editor>:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.editor-row{grid-template-columns:54px 52px minmax(150px,1fr) auto;align-items:center;gap:14px;padding:12px 20px 12px 48px;display:grid}.module-editor>header{border-bottom:1px solid var(--line);background:var(--surface-sunken);grid-template-columns:54px minmax(150px,1fr) auto;align-items:center;gap:14px;padding:15px 20px;display:grid}.module-editor header h2{margin:0;font-size:17px;line-height:1.35}.row-eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900;display:block}.editor-lessons{display:grid;position:relative}.editor-lessons:before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:32px}.editor-lessons>.muted-copy{padding-left:48px}.editor-lesson-row{border-bottom:1px solid var(--line-soft)}.editor-link:hover{color:var(--forest);text-decoration:underline}.row-kind{min-height:30px;color:var(--forest);background:var(--accent-soft);text-align:center;border-radius:8px;place-items:center;font-size:11px;font-weight:800;display:grid}.row-kind.quiet{color:var(--muted);background:0 0}.row-title{gap:3px;min-width:0;display:grid}.row-title strong{font-size:14px}.row-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 9px;margin:0;font-size:11px;display:flex}.row-meta:empty{display:none}.row-meta .error-text{color:#9b3932}.row-link{color:var(--forest);text-underline-offset:2px;font-weight:800;text-decoration:underline}.row-tag{min-height:19px;color:var(--forest);background:var(--accent-soft);border-radius:5px;align-items:center;padding:0 7px;font-size:10px;font-weight:800;display:inline-flex}.row-tag.warn{color:var(--gold-fg);background:var(--gold-soft)}.row-tag.quiet{color:var(--muted);background:var(--surface-muted);border:1px solid var(--line)}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.row-button{border:1px solid var(--line);min-height:30px;color:var(--forest);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.row-button:hover:not(:disabled){border-color:var(--forest);background:var(--accent-soft)}.row-button:disabled{opacity:.4;cursor:not-allowed}.inline-editor-form{background:var(--surface-muted);grid-template-columns:1fr 130px auto;gap:10px;padding:16px 22px 16px 48px;display:grid}.inline-editor-form input,.inline-editor-form select,.add-module-form input{border:1px solid var(--line);background-color:#fff;border-radius:9px;min-height:42px;padding:0 12px}.add-module-form{grid-template-columns:minmax(220px,.7fr) minmax(300px,1fr) auto;align-items:center;gap:18px;max-width:940px;margin-top:18px;display:grid}.add-module-form h2{margin-bottom:3px}.add-module-form p,.muted-copy{color:var(--muted);margin:0;font-size:12px}.muted-copy{padding:22px}.empty-inline{color:var(--muted);text-align:center;padding:15px}.settings-panel{max-width:940px;margin-top:18px}.settings-panel>summary,.mini-settings>summary{color:var(--forest);cursor:pointer;font-size:13px;font-weight:800}.settings-form{margin-top:20px}.archive-zone{border-top:1px solid #ead1cd;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding-top:20px;display:flex}.archive-zone p{color:var(--muted);margin:3px 0 0;font-size:12px}.danger-action{color:var(--danger-fg);cursor:pointer;white-space:nowrap;background:#fff7f5;border:1px solid #d9a7a0;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:800}.danger-action:hover{background:var(--danger-soft)}.mini-settings{position:relative}.mini-settings>summary{padding:5px 7px;font-size:11px;list-style:none}.mini-settings>div{z-index:3;border:1px solid var(--line);width:270px;box-shadow:var(--shadow);background:#fff;border-radius:10px;padding:12px;position:absolute;top:30px;right:0}.mini-settings form{gap:7px;margin-bottom:8px;display:flex}.mini-settings form:last-child{justify-content:flex-end;margin-bottom:0}.copy-form,.mini-settings .copy-form,.settings-panel .copy-form{gap:10px;margin-bottom:8px;display:grid}.copy-form>label{font-size:12px}.copy-form>button{justify-self:start}.mini-settings form>:where(button,.button){white-space:nowrap;flex:none}:where(.mini-settings,.settings-panel,.row-menu-panel) .mini-settings>div{width:auto;box-shadow:none;background:var(--surface-muted);margin-top:8px;position:static}:where(.mini-settings,.settings-panel,.row-menu-panel) .mini-settings>div ul{margin:6px 0;padding-left:18px}:where(.mini-settings,.settings-panel,.row-menu-panel) .mini-settings>div p{margin:0 0 6px;font-size:12px}.mini-settings>div .muted-copy{padding:0}.mini-settings input{border:1px solid var(--line);border-radius:8px;width:100%;min-width:0;min-height:36px;padding:0 9px}.row-menu{position:relative}.row-menu>summary{border:1px solid var(--line);width:30px;height:30px;color:var(--forest);background:var(--surface);cursor:pointer;border-radius:8px;place-items:center;font-size:15px;font-weight:800;list-style:none;display:grid}.row-menu>summary::-webkit-details-marker{display:none}.row-menu>summary:hover,.row-menu[open]>summary{border-color:var(--forest);background:var(--accent-soft)}.row-menu-panel{z-index:var(--z-dropdown);border:1px solid var(--line);width:290px;box-shadow:var(--shadow);text-align:left;background:#fff;border-radius:11px;padding:8px;position:absolute;top:36px;right:0}.row-menu.wide .row-menu-panel{width:360px}.row-menu-panel>form{margin:0}.menu-item{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.menu-item:hover{background:var(--surface-muted)}.menu-item i{color:var(--muted);flex:none;font-size:11px;font-style:normal;font-weight:700}.menu-item i.on{color:var(--forest)}.menu-item.danger{color:var(--danger-fg)}.menu-item.danger:hover{background:var(--danger-soft)}.menu-sep{background:var(--line-soft);border:0;height:1px;margin:6px 4px}.menu-section>summary{color:var(--ink);cursor:pointer;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:12px;font-weight:600;list-style:none;display:flex}.menu-section>summary::-webkit-details-marker{display:none}.menu-section>summary:hover{background:var(--surface-muted)}.menu-section>summary i{color:var(--muted);font-size:11px;font-style:normal;font-weight:700}.menu-section[open]>summary{color:var(--forest)}.menu-section>:not(summary){padding:0 10px 8px}.menu-section .muted-copy{margin:2px 0 0;padding:0}.menu-form{gap:5px;padding:6px 10px 8px;display:grid}.menu-field-label{color:var(--muted);font-size:11px;font-weight:800}.menu-field-row{gap:7px;display:flex}.menu-field-row input{border:1px solid var(--line);border-radius:8px;flex:auto;min-width:0;min-height:34px;padding:0 9px}.menu-field-row>.button{white-space:nowrap;flex:none}.row-menu-panel .drip-form{margin-top:4px}.row-menu-panel .copy-form{margin-bottom:0}.calendar-target{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.calendar-target label{gap:5px;font-size:12px;font-weight:700;display:grid}.calendar-target select:disabled{color:var(--muted);background:var(--surface-muted);cursor:not-allowed}.calendar-target-note{color:var(--muted);margin:10px 0 0;font-size:12px}.catalog-prerequisites{flex-wrap:wrap;align-items:center;gap:6px 10px;margin:10px 0 0;font-size:12px;display:flex}.catalog-prerequisites>span:first-child{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900}.catalog-prerequisites>span+span{color:var(--gold-fg);background:var(--gold-soft);border-radius:6px;padding:2px 8px;font-weight:700}.catalog-prerequisites>span.met{color:var(--success-fg);background:var(--success-soft)}.prerequisite-form{margin-top:14px}.prerequisite-form ul{gap:2px;max-height:320px;margin:0 0 14px;padding:0;list-style:none;display:grid;overflow-y:auto}.prerequisite-form label{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:7px 9px;font-size:13px;display:flex}.prerequisite-form label:hover{background:var(--surface-muted)}.prerequisite-form strong{color:var(--forest)}.catalog-condition{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 10px;margin:10px 0 0;font-size:12px;display:flex}.catalog-state-tag{border-radius:6px;padding:2px 8px;font-size:11px;font-weight:800}.catalog-state-tag.enrolling{color:var(--forest);background:var(--accent-soft)}.catalog-state-tag.deciding{color:var(--gold-fg);background:var(--gold-soft)}.catalog-state-tag.cancelled{color:var(--danger-fg);background:var(--danger-soft)}.lesson-content-form{max-width:940px}.markdown-editor{gap:var(--space-2);display:grid}.markdown-editor-bar{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.markdown-editor-tools{gap:var(--space-1);flex-wrap:wrap;display:flex}.markdown-editor-tool{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:32px;color:var(--ink);font-size:var(--text-sm);cursor:pointer;padding:0 10px;font-weight:700}.markdown-editor-tool:hover:enabled{border-color:var(--forest);background:var(--surface-muted);color:var(--forest)}.markdown-editor-tool:disabled{opacity:.45;cursor:not-allowed}.markdown-editor-modes{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-sunken);gap:2px;margin-left:auto;padding:2px;display:flex}.markdown-editor-mode{border-radius:var(--radius-pill);min-height:28px;color:var(--muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;padding:0 14px;font-weight:700}.markdown-editor-mode[aria-pressed=true]{background:var(--surface);color:var(--forest);box-shadow:0 1px 2px #16211d1f}.markdown-editor-preview{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-height:200px;padding:13px 14px}.markdown-editor-empty{color:var(--muted);font-size:var(--text-sm);margin:0}.markdown-editor-help>summary{color:var(--forest);cursor:pointer;font-size:12px;font-weight:700}.markdown-editor-help dl{gap:var(--space-2) var(--space-4);margin:var(--space-2) 0 0;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));display:grid}.markdown-editor-help dl>div{align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;display:flex}.markdown-editor-help dt{min-width:76px;color:var(--muted);font-size:12px}.markdown-editor-help dd{align-items:flex-start;gap:var(--space-1);flex-direction:column;margin:0;display:flex}.markdown-editor-help code{background:var(--gold-soft);border-radius:5px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.markdown-editor-help p{margin:var(--space-3) 0 0;color:var(--muted);font-size:12px}.lesson-body{margin-top:var(--space-5)}.lesson-toc{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted)}.lesson-toc strong{font-size:var(--text-sm);margin-bottom:6px;display:block}.lesson-notes .lesson-toc ol{color:var(--muted);margin:0;padding-left:20px}.lesson-toc li+li{margin-top:4px}.lesson-toc a{color:var(--forest)}.lesson-body [id^=section-]{scroll-margin-top:88px}.lesson-notes>.reading-completion{margin-top:var(--space-5)}.lesson-nav{grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;max-width:940px;margin-top:20px;display:grid}.lesson-nav .button{white-space:nowrap;justify-self:center}.lesson-nav-step{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:3px;min-width:0;padding:12px 16px;display:grid}.lesson-nav-step:hover{border-color:var(--forest);background:var(--surface-muted)}.lesson-nav-step span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:900}.lesson-nav-step strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.lesson-nav-step.next{text-align:right}.lesson-nav.top{margin:0 0 16px}.lesson-notes ul,.lesson-notes ol{color:var(--muted);padding-left:20px}.archive-list{max-width:940px;margin-top:28px;padding:0;display:grid;overflow:hidden}.archive-row{border-bottom:1px solid var(--line);grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 22px;display:grid}.archive-row:last-child{border-bottom:0}.archive-type{min-height:34px;color:var(--gold-fg);background:var(--gold-soft);border-radius:9px;place-items:center;font-size:11px;font-weight:800;display:grid}.archive-row h2{margin:0 0 3px;font-size:15px}.archive-row p{color:var(--muted);margin:0;font-size:12px}.archive-row small{color:#9b3932;font-size:11px}.caption-manager h2,.caption-form h3{margin:0 0 3px}.caption-manager p,.caption-form p{color:var(--muted);margin:0;font-size:12px}.caption-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.caption-list{gap:8px;margin-top:18px;display:grid}.caption-row{border:1px solid var(--line);background:var(--surface-muted);border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.caption-row strong,.caption-row small{display:block}.caption-row strong{font-size:13px}.caption-row small{color:var(--muted);margin-top:2px;font-size:11px}.caption-status{color:var(--forest);white-space:nowrap;background:#e4f0ea;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.caption-status.inprogress{color:var(--gold-fg);background:var(--gold-soft)}.caption-status.error{color:var(--danger-fg);background:var(--danger-soft)}.caption-empty{border:1px dashed var(--line);text-align:center;border-radius:10px;padding:16px}.caption-manager-section{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.caption-fields{grid-template-columns:150px minmax(240px,1fr) auto;gap:10px;margin:18px 0 10px;display:grid}.caption-fields.compact{grid-template-columns:minmax(180px,260px) auto;justify-content:start}.caption-fields select,.caption-fields input{border:1px solid var(--line);background-color:#fff;border-radius:9px;min-height:42px;padding:8px 11px}.caption-form>small{color:var(--muted);font-size:11px}.form-message{color:var(--forest)!important;margin:10px 0!important}.quiz-editor{max-width:940px}.quiz-editor-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.quiz-editor-heading h2{margin:0 0 3px}.quiz-editor-heading p{color:var(--muted);margin:0;font-size:12px}.rubric-criteria-list{gap:14px;margin:18px 0;padding:0;list-style:none;display:grid}.rubric-criteria-list li{border:1px solid var(--line);border-radius:11px;grid-template-columns:1fr 130px auto;align-items:end;gap:12px;padding:14px;display:grid}.rubric-criteria-list .field{min-width:0;margin:0}.rubric-score-panel{border:1px solid var(--line);border-radius:11px;margin-top:16px;padding:16px}.rubric-score-panel h3{margin:0 0 4px;font-size:14px}.rubric-score-panel .muted{color:var(--muted);margin:0 0 10px;font-size:12px}.rubric-score-form{border-top:1px dashed var(--line);grid-template-columns:150px 1fr auto;align-items:end;gap:12px;padding:10px 0;display:grid}.rubric-score-form label{gap:5px;min-width:0;font-size:12px;font-weight:700;display:grid}.rubric-score-form input,.rubric-score-form textarea{border:1px solid var(--line);background-color:#fff;border-radius:9px;width:100%;padding:9px 11px}.quiz-empty,.quiz-loading{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:10px;margin-top:20px;padding:24px}.quiz-question-list{gap:18px;margin-top:22px;display:grid}.quiz-question-card{border:1px solid var(--line);border-radius:12px;min-width:0;padding:20px}.quiz-question-card legend{color:var(--forest);padding:0 8px;font-size:12px;font-weight:900}.quiz-question-controls{grid-template-columns:180px 110px 1fr;align-items:center;gap:12px;display:grid}.quiz-question-controls select,.quiz-question-controls input,.quiz-question-card textarea,.quiz-option-row input:last-of-type,.student-question>input{border:1px solid var(--line);background-color:#fff;border-radius:9px;width:100%;padding:10px 12px}.quiz-question-controls label{align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.quiz-question-controls label input{width:64px}.quiz-order-buttons{justify-content:flex-end;gap:6px;display:flex}.quiz-order-buttons>button:not(.danger-action),.quiz-option-row>button{border:1px solid var(--line);cursor:pointer;background-color:#fff;border-radius:8px;min-width:34px;min-height:34px}.quiz-order-buttons button:disabled,.quiz-option-row button:disabled{cursor:not-allowed;opacity:.45}.quiz-prompt,.quiz-short-answer{gap:7px;margin-top:16px;font-size:12px;font-weight:800;display:grid}.quiz-short-answer small{color:var(--muted);font-weight:400}.quiz-options{gap:8px;margin-top:16px;display:grid}.quiz-options>span{font-size:12px;font-weight:800}.quiz-option-row{grid-template-columns:22px 1fr 36px;align-items:center;gap:8px;display:grid}.quiz-option-row input:first-child{width:16px;height:16px}.quiz-add-option{justify-self:start;margin-top:4px}.student-quiz{padding:clamp(18px,4vw,34px)}.quiz-result{color:#fff;background:var(--forest);border-radius:12px;grid-template-columns:1fr auto;align-items:end;gap:3px 20px;margin-bottom:24px;padding:18px 20px;display:grid}.quiz-result span{font-size:12px;font-weight:800}.quiz-result strong{grid-area:1/2/span 2;font-size:32px}.quiz-result small{opacity:.75}.student-question{border:1px solid var(--line);border-radius:12px;min-width:0;margin:0 0 20px;padding:20px}.student-question legend{align-items:center;gap:9px;max-width:90%;padding:0 8px;font-size:14px;font-weight:800;display:flex}.student-question legend>span{color:#fff;background:var(--forest);border-radius:50%;flex:0 0 26px;place-items:center;width:26px;height:26px;font-size:11px;display:grid}.student-question legend small{color:var(--muted);white-space:nowrap;font-size:10px}.student-options{gap:8px;display:grid}.student-options label{border:1px solid var(--line);cursor:pointer;border-radius:9px;align-items:center;gap:11px;padding:12px 14px;display:flex}.student-options label.selected{border-color:var(--forest);background:var(--accent-tint)}.student-options input{flex:none}.quiz-submit{justify-content:space-between;align-items:center;gap:20px;display:flex}.quiz-submit small{color:var(--muted)}.quiz-result-stats{grid-template-columns:repeat(4,1fr)}.quiz-result-stats .stat-card strong{font-size:28px}.quiz-results-panel{max-width:1040px;margin-top:20px;padding:0;overflow:hidden}.quiz-results-panel .panel-header{padding:20px 22px}.quiz-results-panel .panel-header h2{margin:0}.quiz-results-panel .panel-header p{color:var(--muted);margin:3px 0 0;font-size:12px}.result-table-wrap{overflow-x:auto}.result-table{border-collapse:collapse;width:100%;font-size:13px}.result-table th,.result-table td{border-top:1px solid var(--line);text-align:left;white-space:nowrap;padding:13px 22px}.result-table th{color:var(--muted);background:var(--surface-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.result-table tbody tr:hover{background:var(--surface-hover)}.result-table .table-empty{color:var(--muted);text-align:center;padding:32px}.gradebook-panel{max-width:none;margin-top:22px;padding:0;overflow:hidden}.gradebook-panel .panel-header{padding:20px 22px}.gradebook-panel .panel-header h2{margin:0}.gradebook-panel .panel-header p{color:var(--muted);margin:3px 0 0;font-size:12px}.gradebook-scroll{max-width:100%;overflow:auto}.gradebook-table{border-collapse:separate;border-spacing:0;width:100%;min-width:960px;font-size:12px}.gradebook-table th,.gradebook-table td{border-top:1px solid var(--line);border-right:1px solid var(--line);text-align:left;vertical-align:middle;min-width:150px;padding:13px 16px}.gradebook-table thead th{background:var(--surface-muted)}.gradebook-table thead th>a,.gradebook-table th>strong,.gradebook-table th>small,.grade-cell strong,.grade-cell small,.total-column strong,.total-column small{display:block}.gradebook-table thead span{color:var(--forest);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:900}.gradebook-table thead strong{text-overflow:ellipsis;white-space:nowrap;max-width:180px;margin:3px 0;font-size:12px;overflow:hidden}.gradebook-table small{color:var(--muted);font-size:10px}.gradebook-table .student-column{z-index:2;background:var(--surface);min-width:170px;position:sticky;left:0}.gradebook-table thead .student-column{z-index:3;background:var(--surface-muted)}.gradebook-table .total-column{background:var(--accent-tint);min-width:120px}.gradebook-table .final-grade-column{z-index:2;background:#f8f2e5;border-right:0;min-width:230px;position:sticky;right:0}.gradebook-table thead .final-grade-column{z-index:3}.grade-cell.graded strong{color:var(--forest)}.grade-cell.pending strong{color:#8a641e}.grade-cell.missing strong{color:var(--muted)}.gradebook-table tbody tr:hover td,.gradebook-table tbody tr:hover th{background-color:var(--surface-hover)}.gradebook-table .table-empty{color:var(--muted);text-align:center;padding:34px}.gradebook-panel>.panel-header{margin-bottom:0;padding:20px 22px 0}.gradebook-panel>form{margin:18px 22px 0}.gradebook-panel>p[role=status]{margin:16px 22px 0}.gradebook-panel>.muted-copy{padding:8px 22px 0}.gradebook-panel>.gradebook-scroll{margin-top:20px}.gradebook-table .student-column{padding-left:22px}.gradebook-table .final-grade-column{padding-right:22px}.final-grade-form{gap:7px;display:grid}.final-grade-form>div:first-child{align-items:center;gap:5px;display:flex}.final-grade-form input{border:1px solid var(--line);background-color:#fff;border-radius:7px;width:100%;min-width:0;min-height:32px;padding:6px 8px}.final-grade-form>div:first-child input{width:76px}.final-grade-form>small{color:#85601f;font-weight:800}.final-grade-form>small.finalized{color:var(--forest)}.final-grade-actions{gap:5px;display:flex}.final-grade-actions button{border:1px solid var(--forest);color:var(--forest);cursor:pointer;background-color:#fff;border-radius:7px;padding:5px 7px;font-size:10px;font-weight:800}.final-grade-actions button:last-child{color:#fff;background:var(--forest)}.final-grade-actions button:disabled{cursor:not-allowed;opacity:.45}.grade-reason{font-size:10px}.grade-history-panel{max-width:none}.reason-cell{text-overflow:ellipsis;max-width:320px;overflow:hidden}.student-final-grade{color:var(--forest);background:var(--success-soft);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;display:inline-flex}.student-final-grade.completed{color:var(--gold-fg);background:var(--gold-soft)}.completion-rule-panel{max-width:none}.completion-rule-panel>form,.completion-rule-panel>p,.completion-rule-panel .completion-rule-form{max-width:940px}.completion-rule-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:16px;margin-top:18px;display:grid}.completion-rule-form.grade-group-grid{grid-template-columns:repeat(3,1fr)}.completion-rule-form label{gap:6px;font-size:12px;font-weight:800;display:grid}.completion-rule-form label span{align-items:center;gap:7px;display:flex}.completion-rule-form input{border:1px solid var(--line);background-color:#fff;border-radius:9px;width:100%;min-width:0;padding:9px 11px}.completion-rule-panel>p{color:var(--muted);margin:12px 0 0;font-size:11px}.completion-badge{color:var(--muted);background:#eeece6;border-radius:999px;margin-top:7px;padding:3px 7px;font-size:9px;font-weight:900;display:inline-flex}.completion-badge.completed{color:var(--forest);background:var(--success-soft)}.completion-rule-form label .input-unit{border:1px solid var(--line);background-color:#fff;border-radius:9px;align-items:center;gap:0;display:flex}.completion-rule-form label .input-unit:focus-within{border-color:var(--forest);box-shadow:0 0 0 3px #1f59481f}.completion-rule-form label .input-unit:has(input:disabled){color:var(--muted);cursor:not-allowed;background-color:#f4f3ef}.completion-rule-form label .input-unit input{box-shadow:none;background:0 0;border:0;flex:auto}.completion-rule-form label .input-unit>span{color:var(--muted);white-space:nowrap;padding:0 11px 0 3px;font-size:12px;font-weight:800;display:block}.reading-attachments{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}.reading-attachments h2{margin:0 0 3px;font-size:17px}.reading-attachments>p{color:var(--muted);margin:0 0 14px;font-size:12px}.attachment-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.attachment-row{border:1px solid var(--line);width:100%;color:inherit;background:var(--surface-muted);cursor:pointer;font:inherit;text-align:left;border-radius:10px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.attachment-row:hover{border-color:var(--forest);background:var(--surface-hover)}.attachment-row:disabled{cursor:progress;opacity:.6}.attachment-badge{color:#fff;background:var(--forest);letter-spacing:.04em;border-radius:6px;place-items:center;padding:4px 0;font-size:9px;font-weight:900;display:grid}.attachment-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.attachment-meta{color:var(--muted);white-space:nowrap;font-size:11px}.attachment-backdrop{z-index:var(--z-drawer);background:#16211d73;position:fixed;inset:0}.attachment-dialog{z-index:calc(var(--z-drawer) + 1);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);width:min(880px,100vw - 32px);max-height:min(86vh,900px);box-shadow:var(--shadow);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.attachment-dialog>header,.attachment-dialog>footer{justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.attachment-dialog>header{border-bottom:1px solid var(--line)}.attachment-dialog>footer{border-top:1px solid var(--line);background:var(--surface-muted)}.attachment-dialog h3{text-overflow:ellipsis;margin:0;font-size:15px;overflow:hidden}.attachment-dialog header small,.attachment-dialog footer small{color:var(--muted);font-size:11px}.attachment-close{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);background:var(--surface);cursor:pointer;font:inherit;padding:6px 12px;font-size:12px}.attachment-close:hover{color:var(--ink);border-color:var(--forest)}.attachment-preview{background:var(--surface-sunken);flex:auto;place-items:center;min-height:220px;padding:18px;display:grid;overflow:auto}.attachment-preview img{object-fit:contain;max-width:100%;max-height:68vh}.attachment-preview iframe{background:#fff;border:0;width:100%;height:68vh}.attachment-preview audio{width:min(520px,100%)}.attachment-preview pre{border-radius:var(--radius-sm);background:var(--surface);white-space:pre-wrap;word-break:break-word;width:100%;max-height:68vh;margin:0;padding:16px;font-size:12px;overflow:auto}.attachment-no-preview{max-width:40ch;color:var(--muted);text-align:center;margin:0}.attachment-docx{place-items:start center;width:100%;display:grid}.attachment-docx .docx-wrapper{background:0 0;padding:0}.attachment-docx .docx-wrapper>section.docx{margin-bottom:14px;box-shadow:0 6px 20px #16211d1f}.attachment-docx .attachment-no-preview{padding:40px 0}.attachment-slides{place-items:center;width:100%;display:grid}.attachment-slides canvas{border-radius:var(--radius-sm);background:#fff;display:block;box-shadow:0 6px 20px #16211d1f;width:min(100%, calc(64vh * var(--slide-ratio,1.7778)))!important;height:auto!important}.attachment-slide-nav{justify-content:center;align-items:center;gap:12px;padding-top:14px;display:flex}.attachment-slide-nav small{min-width:7ch;color:var(--muted);text-align:center}.attachment-actions{align-items:center;gap:10px;display:flex}.attachment-window{box-sizing:border-box;background:var(--surface-sunken);min-height:100vh;padding:12px;display:grid}.attachment-window .attachment-preview{background:0 0;min-height:0;padding:0}.attachment-preview.filling{align-content:center}.attachment-preview.filling .attachment-slides canvas{width:min(100%, calc((100vh - 90px) * var(--slide-ratio,1.7778)))!important}.attachment-preview.filling iframe{height:calc(100vh - 24px)}.attachment-preview.filling img,.attachment-preview.filling pre{max-height:calc(100vh - 24px)}.attachment-preview.filling .attachment-docx{align-content:start;max-height:calc(100vh - 24px);overflow:auto}.attachment-manager{max-width:940px}.attachment-manager h2{margin:0 0 3px}.attachment-manager-heading p{color:var(--muted);margin:0 0 18px;font-size:12px}.attachment-frozen-note{border-left:3px solid var(--gold);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--muted);background:var(--gold-soft);margin:0 0 16px;padding:11px 13px;font-size:11px}.attachment-editor-list{gap:8px;display:grid}.attachment-editor-row{border:1px solid var(--line);background:var(--surface-muted);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.attachment-editor-row strong,.attachment-editor-row small{display:block}.attachment-editor-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.attachment-editor-row small{color:var(--muted);margin-top:2px;font-size:11px}.attachment-empty{color:var(--muted);margin:0;font-size:12px}.attachment-upload-form{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:20px;padding-top:18px;display:grid}.attachment-upload-form small{color:var(--muted);grid-column:1/-1;font-size:11px}.reading-audio{border:1px solid var(--line);background:var(--surface-muted);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:14px 18px;margin-bottom:18px;padding:18px 22px;display:grid}.reading-audio strong{font-size:15px}.reading-audio p{color:var(--muted);margin:3px 0 0;font-size:12px}.reading-audio-player{grid-column:1/-1;gap:10px;display:grid}.reading-audio-transport{align-items:center;gap:8px;display:flex}.reading-audio-transport .button{min-width:68px}.reading-audio-transport .reading-audio-reload{min-width:0;margin-left:auto}.reading-audio-timeline{align-items:center;gap:12px;display:flex}.reading-audio-timeline input[type=range]{min-width:0;accent-color:var(--forest);flex:1}.reading-audio-timeline input[type=range]:disabled{opacity:.5}.reading-audio-shortcut{color:var(--muted);font-size:11px}.reading-audio-clock{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.reading-audio>small{color:var(--forest);grid-column:1/-1}.reading-completion{border:1px solid var(--line);background:var(--surface-muted);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:22px;display:grid}.reading-completion.completed{background:var(--accent-tint);border-color:#bdd5c8}.reading-completion strong{font-size:15px}.reading-completion p{color:var(--muted);margin:3px 0 0;font-size:12px}.reading-completion>small{color:var(--forest);grid-column:1/-1}.assignment-editor{max-width:940px}.assignment-editor h2{margin:0 0 3px}.assignment-editor>div:first-child p{color:var(--muted);margin:0 0 20px;font-size:12px}.assignment-setting-grid{grid-template-columns:1fr 130px 150px;gap:12px;display:grid}.assignment-setting-grid label{color:var(--ink);gap:7px;font-size:12px;font-weight:800;display:grid}.assignment-setting-grid input{border:1px solid var(--line);background-color:#fff;border-radius:9px;width:100%;min-width:0;min-height:42px;padding:0 11px}.assignment-setting-grid label:last-child{position:relative}.assignment-setting-grid label:last-child input{padding-right:38px}.assignment-setting-grid label:last-child span{color:var(--muted);font-weight:400;position:absolute;bottom:11px;right:12px}.assignment-checkbox{align-items:center;gap:8px;margin:18px 0 6px;font-size:13px;font-weight:700;display:flex}.assignment-editor>small{color:var(--muted);font-size:11px}.assignment-submission{padding:clamp(18px,4vw,34px)}.assignment-brief{border:1px solid var(--line);background:var(--line);border-radius:11px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.assignment-brief>div{background:var(--surface-muted);padding:13px 15px}.assignment-brief span,.assignment-brief strong{display:block}.assignment-brief span{color:var(--muted);font-size:10px;font-weight:800}.assignment-brief strong{margin-top:3px;font-size:13px}.assignment-instructions{border-bottom:1px solid var(--line);padding:22px 0}.assignment-instructions h2{font-size:17px}.assignment-instructions p,.submitted-text p,.assignment-feedback p{color:var(--muted);white-space:pre-wrap}.submission-summary{background:var(--accent-tint);border-radius:12px;gap:12px;margin:22px 0;padding:18px;display:grid}.submission-summary>div:first-child{justify-content:space-between;align-items:center;gap:15px;display:flex}.submission-summary span{font-size:12px}.assignment-feedback{border-top:1px solid #cedfd6;padding-top:12px}.assignment-feedback p{margin-bottom:0}.assignment-submit-form{margin-top:24px}.assignment-grading-list{gap:16px;max-width:940px;margin-top:24px;display:grid}.grading-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:16px;display:flex}.grading-card header h2{margin:0;font-size:18px}.grading-card header p{color:var(--muted);margin:2px 0 0;font-size:11px}.submitted-text{background:var(--surface-muted);border-radius:10px;margin:18px 0;padding:16px}.submitted-text p{margin-bottom:0}.grading-form{border-top:1px solid var(--line);grid-template-columns:150px 1fr auto;align-items:end;gap:14px;margin-top:20px;padding-top:18px;display:grid}.grading-form label{gap:6px;font-size:12px;font-weight:800;display:grid}.grading-form label>span{align-items:center;gap:7px;display:flex}.grading-form input,.grading-form textarea{border:1px solid var(--line);background-color:#fff;border-radius:9px;width:100%;padding:9px 11px}.grading-form textarea{resize:vertical}.empty-state{text-align:center;margin-top:28px;padding:55px 25px}.empty-state-icon{color:#fff;background:var(--forest);border-radius:50%;place-items:center;width:52px;height:52px;margin:0 auto 15px;display:grid}.empty-state-icon .nav-icon{width:24px;height:24px}.empty-state h2{font-size:var(--text-lg);margin:0 0 6px}.empty-state p{max-width:46ch;color:var(--muted);margin:0 auto}.empty-state .button{margin-top:var(--space-4)}.dashboard-column{align-content:start;gap:18px;min-width:0;display:grid}.todo-list,.result-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.schedule-brief{gap:12px;margin:0;padding:0;list-style:none;display:grid}.schedule-brief li{border-left:2px solid var(--gold);gap:2px;padding-left:11px;display:grid}.schedule-brief strong{font-size:14px}.schedule-brief small{color:var(--muted);font-size:12px}.schedule-brief .item-course{font-size:12px!important}.todo-list a,.result-list a{border:1px solid var(--line-warm);border-radius:12px;gap:2px;padding:12px 14px;display:grid}.todo-list a:hover,.result-list a:hover{border-color:var(--forest);background:var(--accent-soft)}.todo-list strong,.result-list strong{font-size:14px}.todo-list small,.result-list small{color:var(--muted);font-size:11px}.item-course{color:var(--forest);font-weight:700;font-size:12px!important}.schedule-note{color:var(--muted);margin:-8px 0 16px;font-size:13px}.todo-groups{gap:18px;display:grid}.todo-course{color:var(--forest);margin:0 0 8px;font-size:13px;font-weight:800}.result-note{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.dashboard-links{flex-wrap:wrap;gap:14px;margin:12px 0 0;font-size:13px;font-weight:700;display:flex}.dashboard-links a{color:var(--forest);text-decoration:underline}.policy-note{margin:0 0 18px}.policy-note>summary{color:var(--muted);font-size:12px;font-weight:700}.policy-note>p{max-width:780px;color:var(--muted);margin:8px 0 0;font-size:12px}.reorder{align-items:center;gap:3px;display:flex;position:relative}.reorder-off{display:block}.reorder-nudge{gap:2px;display:grid}.reorder-nudge button{border:1px solid var(--line);width:21px;height:14px;min-height:0;color:var(--forest);cursor:pointer;background:#fff;border-radius:4px;place-items:center;padding:0;font-size:7px;line-height:1;display:grid}.reorder-nudge button:hover:not(:disabled){border-color:var(--forest);background:var(--accent-soft)}.reorder-nudge button:disabled{opacity:.3;cursor:not-allowed}.reorder-said{z-index:var(--z-dropdown);border:1px solid var(--line);border-radius:var(--radius-sm);width:max-content;max-width:260px;color:var(--danger-fg);box-shadow:var(--shadow);background:#fff;margin:0;padding:7px 10px;font-size:11px;font-weight:700;position:absolute;top:calc(100% + 4px);left:0}.editor-lesson-row{position:relative}.editor-lesson-row.drop-before:before,.editor-lesson-row.drop-after:after{content:"";z-index:1;background:var(--forest);border-radius:2px;height:2px;position:absolute;left:48px;right:20px}.editor-lesson-row.drop-before:before{top:-1px}.editor-lesson-row.drop-after:after{bottom:-1px}.module-editor.drop-before:before,.module-editor.drop-after:after{content:"";z-index:1;background:var(--forest);border-radius:3px;height:3px;position:absolute;left:0;right:0}.module-editor.drop-before:before{top:-10px}.module-editor.drop-after:after{bottom:-10px}.reorder-grip{border-radius:var(--radius-sm);width:28px;height:30px;color:var(--muted);cursor:grab;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.reorder-grip:hover{border-color:var(--line);color:var(--forest);background:var(--surface)}.reorder-grip:active{cursor:grabbing}.reorder-grip svg{fill:currentColor}.attendance-roll form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.attendance-roll form select,.attendance-roll form input{border:1px solid var(--line);background-color:#fff;border-radius:7px;min-height:32px;padding:5px 8px;font-size:12px}.attendance-roll form input{flex:140px;min-width:120px}.attendance-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.attendance-actions form{margin:0}.drip-form,.mini-settings .drip-form{flex-wrap:wrap;justify-content:flex-start;align-items:end;gap:8px;margin:8px 0 0;display:flex}.drip-form label{flex:104px;gap:4px;min-width:0;font-size:11px;font-weight:800;display:grid}.drip-form select,.drip-form input{border:1px solid var(--line);background-color:#fff;border-radius:7px;width:100%;min-width:0;min-height:32px;padding:5px 8px;font-size:12px}.drip-form>.drip-current{flex-wrap:wrap;flex:1 0 100%;align-items:baseline;gap:7px;margin:0;display:flex}.drip-form>.drip-current span{color:var(--forest);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:900}.drip-form>.drip-current strong{font-size:12px}.drip-form>small{color:var(--muted);flex:1 0 100%;font-size:11px}.mini-settings>div:has(.drip-form){width:330px}.mini-settings>div:has(.copy-form){width:390px}.lesson-row.locked{cursor:default;opacity:.72}.lesson-row.locked .lesson-lock{color:#85601f;white-space:nowrap;font-weight:800}.bible-version-choices{border:0;gap:6px;margin:0;padding:0;display:grid}.bible-version-choices legend{margin-bottom:10px;padding:0;font-size:15px;font-weight:800}.bible-version-choices .field{margin:0}.activity-filter{align-items:end;gap:var(--space-2) var(--space-3);margin:0 0 var(--space-3);flex-wrap:wrap;display:flex}.activity-filter label{color:var(--muted);gap:4px;font-size:12px;font-weight:700;display:grid}.activity-filter select{max-width:100%;min-height:40px}.activity-groups{gap:var(--space-3);margin-top:var(--space-3);display:grid}.activity-group{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.activity-group>summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;min-height:48px;padding:10px 16px;display:flex}.activity-group>summary span{color:var(--muted);font-size:12px}.activity-group[open]>summary{border-bottom:1px solid var(--line)}.activity-group>.course-list{padding:var(--space-3)}.activity-row h3{margin:0 0 2px;font-size:15px}.activity-row p{color:var(--muted);margin:0;font-size:12px}.suggested-pace{border-radius:var(--radius-md);color:var(--forest-dark);background:var(--accent-tint);margin:0;padding:10px 14px;font-size:13px}.module-pace{color:var(--gold-fg);text-align:right;font-size:11px;font-weight:700;display:block}.draft-with-learners p{margin:4px 0 6px}.draft-with-learners ul{margin:0;padding-left:18px}.draft-with-learners a{font-weight:700;text-decoration:underline}.gradebook-settings>summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-height:40px;display:flex}.gradebook-settings>summary span{color:var(--muted);font-size:12px}.gradebook-settings[open]>summary{margin-bottom:var(--space-3)}.gradebook-settings>*+*{margin-top:var(--space-3)}.gradebook-help{margin:6px 0 10px;font-size:12px}.gradebook-help summary{color:var(--forest);cursor:pointer;font-weight:700}.settings-panel>summary .status-pill{vertical-align:1px;margin-left:8px}.bible-link-versions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (max-width:640px){.bible-link-versions{grid-template-columns:1fr}}
.login-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-story{color:#fff;background:linear-gradient(145deg,#143c31,#286853);flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.login-story:after{content:"";border:1px solid #ffffff2e;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-160px;right:-160px;box-shadow:0 0 0 70px #ffffff09,0 0 0 140px #ffffff06}.login-quote{z-index:1;max-width:560px;font-family:Georgia,Nanum Myeongjo,serif;font-size:clamp(28px,4vw,48px);line-height:1.35;position:relative}.login-form-wrap{background:var(--surface);place-items:center;padding:32px;display:grid}.login-form{width:min(420px,100%)}.login-form h1{margin:0 0 8px;font-family:Georgia,serif;font-size:35px}.login-form>p{color:var(--muted);margin:0 0 30px}.field{gap:7px;margin-bottom:17px;display:grid}.field label{font-size:13px;font-weight:700}.field input,.field select{border:1px solid var(--line);background-color:#fff;border-radius:10px;outline:none;height:48px;padding:0 14px}.field select:disabled{color:var(--muted);background-color:#f4f4f2}.field input:focus,.field select:focus{border-color:var(--forest);box-shadow:0 0 0 3px #1f59481a}.login-form .button{width:100%;margin-top:8px}.oauth-form{margin-top:24px}.oauth-button{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:0 16px;font-weight:750;display:flex}.oauth-button:hover{background:#faf9f5;border-color:#b7b2a8}.oauth-button span{color:#4285f4;border:1px solid #dadce0;border-radius:50%;place-items:center;width:24px;height:24px;font-family:Arial,sans-serif;font-weight:900;display:grid}.auth-divider{color:var(--muted);align-items:center;gap:12px;margin:22px 0;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.email-auth-form{display:grid}.auth-message{border-radius:9px;padding:10px 12px;font-size:12px;margin:0 0 10px!important}.auth-message.success{color:var(--success-fg);background:var(--success-soft)}.auth-message.error{color:var(--danger-strong);background:var(--danger-soft)}.auth-links{color:var(--forest);justify-content:space-between;gap:14px;margin-top:16px;font-size:12px;font-weight:700;display:flex}.auth-links.centered{justify-content:center}.demo-link{color:var(--forest);text-align:center;margin-top:18px;font-size:13px;font-weight:700;display:block}.login-form .language-switcher{margin-bottom:18px}
@media (max-width:860px){.nav a:not(.button){display:none}.hero,.login-page{grid-template-columns:1fr}.hero{padding-top:30px}.feature-grid{grid-template-columns:1fr}.portal-shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.portal-drawer{display:block}.topbar{z-index:var(--z-sticky);margin:calc(var(--space-5) * -1) calc(var(--space-4) * -1) var(--space-5);padding:var(--space-2) var(--space-4);background:var(--surface-sunken);position:sticky;top:0}.gradebook-table .student-column,.gradebook-table .final-grade-column{position:static}.portal-main{min-width:0}.dashboard-grid,.course-card-grid,.document-grid{grid-template-columns:1fr}.login-story{min-height:360px}.stats.four{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.account-name{display:none}.topbar-actions .language-switcher fieldset{padding:2px}.topbar-actions .language-option{font-size:var(--text-xs);padding:4px 8px}.breadcrumb ol{font-size:12px}.topbar{margin-left:-17px;margin-right:-17px;padding-left:17px;padding-right:17px}.site-header{padding:0 18px}.brand-text{display:none}.hero{padding:38px 18px 70px}.hero h1{font-size:42px}.hero-actions{flex-direction:column;align-items:stretch}.hero-card{min-height:410px}.verse{font-size:24px;top:35px;left:28px;right:28px}.feature-section{padding:30px 18px 70px}.catalog-section{padding:10px 18px 30px}.term-status{margin-left:0}.enroll-page{padding:22px 18px 70px}.enroll-card{padding:26px 22px}.enroll-actions{flex-direction:column;align-items:stretch}.portal-main{min-width:0;padding:24px 17px 50px}.stats{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin:18px 0;display:block;box-shadow:0 7px 25px #16211d09}.stat-card,.stat-card>a{justify-content:space-between;align-items:baseline;gap:12px;padding:11px 15px;display:flex}.stat-card{box-shadow:none;background:0 0;border:0;border-radius:0}.stat-card:has(>a){padding:0;display:block}.stat-card+.stat-card{border-top:1px solid var(--line)}.stats .stat-card strong{text-align:right;margin-top:0;font-size:21px}.course-row{grid-template-columns:48px 1fr}.course-row:not(:has(.course-icon)){grid-template-columns:minmax(0,1fr);gap:10px}.course-row:not(:has(.course-icon))>strong{justify-self:start}.course-icon{width:48px;height:48px}.course-progress{grid-column:2;width:100%}.document-feature,.certificate-row,.tuition-card{grid-template-columns:1fr}.tuition-card>.course-icon{display:none}.tuition-amount{text-align:left}.checkout-action{justify-items:start}.admin-actions{justify-content:flex-start;margin:18px 0}.organization-form .form-grid.two{grid-template-columns:1fr}.certificate-row .course-icon{display:none}.certificate-row .button{justify-self:start}.form-grid.two{grid-template-columns:1fr}.lesson-controls{flex-direction:column;align-items:stretch}.lesson-nav{grid-template-columns:1fr}.lesson-nav .button{text-align:center;justify-self:stretch}.lesson-nav-step.next{text-align:left}.lesson-nav-gap{display:none}.lesson-nav.top{grid-template-columns:1fr auto 1fr;gap:8px}.lesson-nav.top .button{justify-self:center}.lesson-nav.top .lesson-nav-step{padding:10px 12px}.lesson-nav.top .lesson-nav-step strong{display:none}.lesson-nav.top .lesson-nav-step.next{text-align:right}.lesson-nav.top .lesson-nav-gap{display:block}.editor-heading{flex-direction:column}.publish-control{justify-content:space-between;width:100%}.editor-row,.module-editor>header{grid-template-columns:76px minmax(0,1fr);gap:8px 12px}.editor-row{padding-left:30px}.row-kind{grid-column:2;justify-self:start;min-height:20px;padding:0 8px}.row-title,.row-actions{grid-column:2}.editor-lessons:before{left:16px}.editor-lessons>.muted-copy,.inline-editor-form{padding-left:30px}.editor-lesson-row.drop-before:before,.editor-lesson-row.drop-after:after{left:30px;right:14px}.row-actions{justify-content:flex-start}.reorder{gap:2px}.reorder-nudge{grid-auto-flow:column;gap:3px}.reorder-nudge button{width:26px;height:30px;min-height:0;font-size:9px}.editor-row,.module-editor>header{position:relative}.row-menu{position:static}.row-menu-panel,.row-menu.wide .row-menu-panel{width:auto;top:100%;left:12px;right:12px}.inline-editor-form,.add-module-form{grid-template-columns:1fr}:is(.mini-settings>div,.mini-settings>div:has(.drip-form)){width:auto;position:static}.archive-zone{flex-direction:column;align-items:flex-start}.archive-row{grid-template-columns:52px 1fr}.archive-row form,.archive-row>button{grid-column:2;justify-self:start}.caption-fields,.caption-fields.compact{grid-template-columns:1fr}.caption-row{grid-template-columns:1fr auto}.caption-row .danger-action{grid-area:1/2/span 2}.rubric-criteria-list li,.rubric-score-form{grid-template-columns:1fr}.quiz-editor-heading,.quiz-submit{flex-direction:column;align-items:stretch}.quiz-question-controls{grid-template-columns:1fr}.quiz-order-buttons{justify-content:flex-start}.student-question{padding:16px}.assignment-setting-grid,.grading-form,.assignment-brief{grid-template-columns:1fr}.grading-card>header,.submission-summary>div:first-child{flex-direction:column}.completion-rule-form,.completion-rule-form.grade-group-grid,.reading-audio{grid-template-columns:1fr}.reading-audio-transport{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.reading-audio-transport .button{min-width:0}.reading-audio-transport .reading-audio-reload{grid-column:1/-1;margin-left:0}.reading-completion{grid-template-columns:1fr}.reading-completion>small{grid-column:1}.attachment-row{grid-template-columns:40px minmax(0,1fr)}.attachment-meta{grid-column:2}.attachment-upload-form{grid-template-columns:1fr}.attachment-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 40px)}.attachment-preview iframe,.attachment-preview img,.attachment-preview pre{max-height:58vh}.attachment-preview iframe{height:58vh}.attachment-docx{place-items:start}.attachment-slides canvas{width:min(100%, calc(46vh * var(--slide-ratio,1.7778)))!important}.attachment-dialog>footer{flex-wrap:wrap}.attachment-slide-nav{flex:100%;justify-content:space-between}.login-story{min-height:300px;padding:30px}.login-form-wrap{padding:30px 20px}}.role-switch a[aria-current=page]{color:var(--ink);border-color:currentColor;font-weight:700}.user-role-form{border-bottom:1px solid var(--line);padding:20px 0}.user-role-form fieldset{border:0;min-width:0;margin:0 0 16px;padding:0}.user-role-form legend{font-weight:700}.user-role-form .eyebrow{overflow-wrap:anywhere}.role-options{flex-wrap:wrap;gap:20px;display:flex}.role-options label{align-items:center;gap:6px;display:flex}.role-options input{width:auto}.user-title{gap:5px;max-width:300px;margin-top:16px;font-size:12px;font-weight:800;display:grid}.user-title input{border:1px solid var(--line);background-color:#fff;border-radius:9px;width:100%;padding:9px 11px}.user-test-account{flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:12px;font-size:12px;font-weight:800;display:flex}.user-test-account small{color:var(--muted);flex-basis:100%;font-weight:400}.user-title small{color:var(--muted);font-size:11px;font-weight:400}.skip-link{z-index:100;color:#fff;background:var(--forest-dark);border-radius:8px;padding:12px 18px;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.portal-shell :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,#portal-content:focus-visible{outline:3px solid var(--forest);outline-offset:3px}:where(#portal-content)>*+*{margin-top:18px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.inline-editor-form select,.caption-fields select,.quiz-question-controls select,.field select{padding-right:34px}@media (pointer:coarse),(max-width:640px){.catalog-curriculum summary{align-items:center;min-height:44px;margin:-11px -14px;padding:0 14px;display:flex}.catalog-curriculum[open] summary{margin-bottom:0}.catalog-curriculum li li a{align-items:center;min-height:40px;display:inline-flex}.breadcrumb a{align-items:center;min-height:36px;display:inline-flex}.language-option{min-height:36px}.lesson-body a,.markdown a{padding-block:6px}}

