:root{--brand:#ff7a00;--accent:#f68b1f;--bg:#fff;--card:#fff;--text:#202225;--muted:#6b7280;--border:#e5e7eb;--hover:#fff6ec;--header-bg:#ffffffcc;--footer-bg:#f7f8fa;--container:1080px;--header-h:64px;--shadow:0 8px 24px rgba(0,0,0,.08);--shadow-soft:0 4px 14px rgba(0,0,0,.06);--grit-orange:#ff7a00;--grit-text-dark:#222;--grit-gray:#999;--grit-bg-soft:#fffaf5;--sub-ko:#e95045;--sub-en:#2f7ae5;--sub-ma:#34a853;--sub-sc:#f6c445;--sub-consult:#8e44ad;--success-color:#27ae60;--success-bg:#e8f5e9;--error-color:#e74c3c;--error-bg:#ffebee}html[data-theme=dark]{--bg:#111214;--card:#17181b;--text:#e9ecf1;--muted:#b7bcc7;--border:#2a2d33;--hover:#1a1c20;--header-bg:#16171acc;--footer-bg:#16171a;--success-color:#4ade80;--success-bg:rgba(74,222,128,.15);--error-color:#f87171;--error-bg:hsla(0,91%,71%,.15)}@media (prefers-color-scheme:dark){html:not([data-theme=light]){--bg:#111214;--card:#17181b;--text:#e9ecf1;--muted:#b7bcc7;--border:#2a2d33;--hover:#1a1c20;--header-bg:#16171acc;--footer-bg:#16171a}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}.hidden{display:none!important}.visually-hidden{height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;clip:rect(0,0,0,0)!important;border:0!important;clip-path:inset(50%)!important;white-space:nowrap!important}html{-webkit-text-size-adjust:100%;-moz-osx-font-smoothing:grayscale;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;text-size-adjust:100%;scroll-behavior:smooth}body,html{-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--text);letter-spacing:.2px;line-height:1.8;margin:0;min-width:0;overflow-wrap:break-word;overflow-x:hidden;padding-top:calc(var(--header-h) + env(safe-area-inset-top))!important;text-rendering:optimizeLegibility;word-break:keep-all}canvas,img,svg,video{display:block;height:auto;max-width:100%}button,input,select,textarea{font:inherit;font-size:16px}a{color:inherit;text-decoration:none;transition:color .2s ease,background-color .2s ease,opacity .2s ease,transform .2s ease}a,button{-webkit-tap-highlight-color:transparent}a:focus,a:hover{color:var(--link,var(--brand))}:focus-visible{border-radius:4px;outline:2px solid var(--brand);outline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.fade-in{opacity:1;transform:none;transition:none}}.mt-0{margin-top:0}.mt-6{margin-top:6px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.pt-24{padding-top:24px}.flex{display:flex}.justify-between{justify-content:space-between}.items-center{align-items:center}.text-sm{font-size:.9rem}.text-muted{color:var(--muted)}.no-underline{text-decoration:none}.border-t{border-top:1px solid var(--border)}.border-border{border-color:var(--border)}.w-full{width:100%}.m-0{margin:0}.block{display:block}.cursor-pointer{cursor:pointer}.text-center{text-align:center}:target{scroll-margin-top:calc(var(--header-h) + env(safe-area-inset-top))}.grit-page-container{margin:0 auto;max-width:var(--container);min-height:calc(100vh - var(--header-h) - 160px);min-height:calc(100svh - var(--header-h) - 160px);padding:20px 16px}.container{margin:0 auto;max-width:1200px;padding:20px}.grit-section{margin:24px auto;max-width:var(--container);padding:0 16px}.page-title{color:var(--text);font-size:1.9rem;font-weight:800;letter-spacing:-.02em;margin:0 0 16px;text-align:center}.section-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin:24px 0 8px}.section-head h2{border-left:4px solid var(--accent);color:var(--text);font-size:1.35rem;font-weight:700;margin:0;padding-left:10px}.section-head .more{color:var(--muted);font-size:.85rem;white-space:nowrap}.section-head .more:hover{color:var(--brand);text-decoration:underline}.grit-section h2,.grit-section__head h2{border-left:4px solid var(--accent);color:var(--text);font-size:1.35rem;font-weight:700;letter-spacing:-.01em;margin:28px 0 12px;padding-left:10px}.grit-section p{color:var(--text);font-size:1.05rem;margin-bottom:16px}.grit-page-container.contact,.grit-page-container.instructors,.grit-page-container.notfound{margin:0 auto;max-width:var(--container);padding:20px 16px}@media (max-width:768px){.grit-page-container.contact,.grit-page-container.instructors,.grit-page-container.notfound{padding:20px 16px}}.btn{border-radius:10px;cursor:pointer;font-weight:700;padding:10px 16px;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease,filter .15s ease}.btn:active{transform:translateY(0)}.btn:focus:not(:focus-visible){outline:none}.btn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 28%,transparent);outline:none}.btn:disabled,.btn[disabled]{cursor:not-allowed;opacity:.62;transform:none}.btn-primary,.btn:is(.primary,.primary.sm,.sm.primary,.primary.small,.small.primary){background:var(--brand);border-color:var(--brand);color:#fff}.btn:is(.secondary,.secondary.sm,.sm.secondary,.secondary.small,.small.secondary){background:var(--muted);border-color:var(--muted);color:#fff}.btn:is(.outline,.outline.sm,.sm.outline,.outline.small,.small.outline){background:transparent;border-color:var(--border);color:var(--text)}.btn.sm,.btn.small{font-size:.9rem;padding:8px 12px}.btn-primary:is(:hover,:active,:focus-visible),.btn:is(.primary,.primary.sm,.sm.primary,.primary.small,.small.primary):is(:hover,:active,:focus-visible){background:var(--brand);border-color:var(--brand);color:#fff;filter:brightness(1.08)}.btn-primary:disabled,.btn-primary[disabled],.btn:is(.primary,.primary.sm,.sm.primary,.primary.small,.small.primary):disabled,.btn:is(.primary,.primary.sm,.sm.primary,.primary.small,.small.primary)[disabled]{background:var(--brand);border-color:var(--brand);color:#fff;filter:none}.btn:is(.secondary,.secondary.sm,.sm.secondary,.secondary.small,.small.secondary):is(:hover,:active,:focus-visible){background:var(--muted);border-color:var(--muted);color:#fff;filter:brightness(1.06)}.btn:is(.secondary,.secondary.sm,.sm.secondary,.secondary.small,.small.secondary):disabled,.btn:is(.secondary,.secondary.sm,.sm.secondary,.secondary.small,.small.secondary)[disabled]{background:var(--muted);border-color:var(--muted);color:#fff;filter:none}.btn:is(.outline,.outline.sm,.sm.outline,.outline.small,.small.outline):is(:hover,:active,:focus-visible){background:var(--hover);border-color:var(--brand);color:var(--text)}.btn:is(.danger,.danger.sm,.sm.danger,.danger.small,.small.danger){background:#dc3545;border-color:#dc3545;color:#fff}.btn:is(.danger,.danger.sm,.sm.danger,.danger.small,.small.danger):is(:hover,:active,:focus-visible){background:#c82333;border-color:#c82333;color:#fff;filter:none}@media (max-width:768px){.btn,a.btn,button{min-height:44px;min-width:44px;padding:12px 16px}}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-soft);overflow:hidden}.grit-header__wrap ol,.grit-header__wrap ul{list-style:none;margin:0;padding:0}.grit-header__wrap li{list-style:none}.grit-header__wrap li::marker{content:none}.grit-controls{display:flex;margin:0;padding:0}.theme-toggle-btn{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (min-width:1441px){#themeToggle{display:flex!important;margin-left:auto;order:10}.grit-controls{order:9}}.only-mobile{display:none}@media (max-width:1440px){.only-mobile{display:block}.grit-controls,.grit-nav>ul:not(.open){display:none}.grit-nav>ul.open{display:flex}.grit-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--card)}.grit-header__wrap{align-items:center;display:grid;gap:0;grid-template-columns:40px 1fr 40px;grid-template-rows:1fr;height:100%;min-width:0;padding:0 12px}#themeToggle{display:flex!important;flex-shrink:0;grid-column:1;height:40px;justify-content:center;justify-self:start;width:40px}#themeToggle,.grit-logo{align-items:center;align-self:center;grid-row:1}.grit-logo{display:inline-flex;flex:0 0 auto;flex-shrink:0;grid-column:2;height:36px;justify-self:center;max-width:min(200px,calc(100vw - 88px));min-width:0;overflow:hidden;padding:0 4px;width:min(200px,calc(100vw - 88px))}.grit-logo img{display:block;height:100%;margin:0 auto;max-height:36px;max-width:100%;object-fit:contain;object-position:center center;width:100%}.menu-toggle{-webkit-tap-highlight-color:transparent;align-items:center;align-self:center;background:none;border:0;color:var(--text);display:flex!important;flex-shrink:0;grid-column:3;grid-row:1;height:40px;justify-content:center;justify-self:end;padding:0;position:relative;touch-action:manipulation;width:40px;z-index:1001}.menu-toggle:hover{background:var(--hover)}.menu-toggle span{background:currentColor;border-radius:1.5px;height:2px;left:50%;position:absolute;transform-origin:center;transition:transform .2s,opacity .2s;width:22px}.menu-toggle span:first-child{top:calc(50% - 6px);transform:translate(-50%,-50%)}.menu-toggle span:nth-child(2){top:50%;transform:translate(-50%,-50%)}.menu-toggle span:nth-child(3){top:calc(50% + 6px);transform:translate(-50%,-50%)}.menu-toggle.active span:nth-child(2){opacity:0;transform:translate(-50%,-50%) scaleX(0)}.menu-toggle.active span:first-child{top:50%;transform:translate(-50%,-50%) rotate(45deg)}.menu-toggle.active span:nth-child(3){bottom:auto;top:50%;transform:translate(-50%,-50%) rotate(-45deg)}.grit-nav>ul{align-items:flex-start;background:var(--card);border-left:1px solid var(--border);box-shadow:-8px 0 24px rgba(0,0,0,.12);display:flex;flex-direction:column;gap:0;height:calc(100vh - var(--header-h));height:calc(100svh - var(--header-h));justify-content:flex-start;overflow-y:auto;padding:10px 8px;position:fixed;right:-100%;top:var(--header-h);transition:right .25s;width:clamp(240px,72vw,300px);z-index:1200}.grit-nav>ul.open{right:0}.grit-nav>ul>li{border-bottom:1px solid var(--border);width:100%}.grit-nav>ul>li.only-mobile.auth-slot{border-bottom:1px solid var(--border);order:-1;padding:8px}.grit-nav>ul>li.only-mobile.auth-slot>a.toplink{background:var(--card);border:1px solid var(--border);border-radius:10px;display:block;font-weight:800;padding:12px 16px;text-align:center}.grit-nav>ul>li.only-mobile.auth-slot a[data-auth=login],.grit-nav>ul>li.only-mobile.auth-slot a[data-auth=logout]{display:none}body.logged-out .grit-nav>ul>li.only-mobile.auth-slot a[data-auth=login]{display:block}body.logged-in .grit-nav>ul>li.only-mobile.auth-slot a[data-auth=logout]{background:var(--brand);border-color:var(--brand);color:#fff;display:block}.grit-nav>ul>li.mobile-auth-item{background:var(--card);border-bottom:2px solid var(--border);display:block;order:-1;padding:0;position:sticky;top:0;z-index:10}.grit-nav>ul>li.mobile-auth-item>a.toplink{display:block;font-size:16px;font-weight:800;grid-template-columns:1fr;padding:14px 12px;text-align:center}.grit-nav>ul>li.mobile-auth-item>a.toplink:after{content:""}body.logged-out #menu-login-mobile{color:var(--text)}body.logged-in #menu-logout-mobile{color:#fff;font-weight:800}.grit-nav>ul>li:not(.mobile-auth-item)>a.toplink{align-items:center;color:var(--text);display:grid;font-size:15px;font-weight:700;grid-template-columns:1fr auto;padding:12px;text-align:left}.grit-nav>ul>li>a.toplink:hover{background:var(--hover);color:var(--brand)}.grit-nav>ul>li>a.toplink:after{content:"▾";font-size:12px;opacity:.75}.grit-nav>ul>li:not(.has-sub)>a.toplink:after{content:""}.grit-nav li.has-sub>.submenu{background:var(--card);border:0;border-radius:0;box-shadow:none;display:block;left:auto;margin:0;max-height:0;opacity:0;overflow:hidden;padding:0 12px 12px;position:static;top:auto;transform:none;transition:max-height .25s ease,opacity .2s ease,visibility .2s ease;visibility:hidden;width:100%;z-index:auto}.grit-nav li.has-sub[data-open=true]>.submenu{max-height:500px;opacity:1;overflow:auto;visibility:visible}.grit-nav .submenu li a{color:var(--text);font-size:14px;padding:10px 12px;text-align:left}@media (min-width:1441px){#mobile-auth-row{display:none}}@media (max-width:480px){.grit-logo{height:32px;max-height:32px;max-width:min(170px,calc(100vw - 80px));padding:0 2px;width:min(170px,calc(100vw - 80px))}.grit-logo img{height:100%;max-height:32px;width:100%}}.grit-nav>ul>li>a.is-active{box-shadow:none;color:var(--brand)}body:after{opacity:0;pointer-events:none;transition:opacity .3s ease-in-out}body.nav-open:after,body:after{content:"";position:fixed;z-index:999}body.nav-open:after{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:rgba(0,0,0,.25);inset:0;opacity:1;pointer-events:auto}}@media (hover:none) and (pointer:coarse) and (orientation:landscape) and (max-height:560px){:root{--header-h:52px}.grit-header__wrap{grid-template-columns:36px 1fr 36px;padding:0 10px}#themeToggle,.menu-toggle{height:36px;width:36px}.theme-toggle-btn img{height:22px;width:22px}.grit-logo{height:28px;max-width:min(160px,calc(100vw - 76px));padding:0 2px;width:min(160px,calc(100vw - 76px))}.grit-logo img{max-height:28px}.grit-nav>ul{height:calc(100svh - var(--header-h));padding:6px 8px;top:var(--header-h);width:clamp(220px,64vw,280px)}.grit-nav .submenu li a,.grit-nav>ul>li:not(.mobile-auth-item)>a.toplink{font-size:14px;padding:9px 10px}.grit-nav>ul>li.mobile-auth-item>a.toplink,.grit-nav>ul>li.only-mobile.auth-slot>a.toplink{font-size:15px;padding:10px 12px}}.grit-footer{background:var(--footer-bg);border-top:1px solid var(--border);color:var(--muted);font-size:13px;margin-top:40px;padding:20px 16px}.grit-footer-inner{align-items:start;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:var(--container)}.ft-links{border-bottom:1px solid var(--border);font-size:13px;grid-column:1/-1;margin-bottom:16px;padding-bottom:16px;text-align:left}.ft-links a{color:var(--muted);text-decoration:none;transition:color .2s ease}.ft-links a:hover{color:var(--brand)}.ft-link-separator{color:var(--muted);margin:0 8px;opacity:.5}.ft-brand{color:var(--muted);font-size:12px;line-height:1;text-align:left}.ft-brand .ft-name{color:var(--text);font-weight:700;margin-bottom:4px}.ft-meta{display:grid;gap:2px;list-style:none;margin:0;padding:0}.ft-meta li{display:flex;gap:8px;margin:2px 0}.ft-meta li span{color:var(--muted)}.ft-meta li span:first-child{flex:0 0 auto;text-align:left;width:108px}.ft-meta li strong{color:var(--muted);font-weight:400}.ft-address{color:var(--muted);font-style:normal;line-height:1.4}.ft-brand a[href^="tel:"]{color:inherit;cursor:default;pointer-events:none;text-decoration:none}.ft-sns{align-items:flex-start;color:var(--muted);display:flex;flex-direction:column;gap:8px;text-align:left}.footer-logo{display:block;height:32px;opacity:.95}.grit-footer-sns{display:flex;gap:16px;justify-content:flex-start;margin-bottom:0}.grit-footer .sns{color:var(--muted);display:inline-flex;transition:color .2s ease}.grit-footer .sns:hover{color:var(--brand)}.grit-footer-sns svg{height:32px;width:32px}.ft-copy{color:var(--muted);font-size:13px;margin:0}html[data-theme=dark] .grit-footer .sns svg{stroke:transparent;stroke-width:0;vector-effect:non-scaling-stroke}@media (max-width:720px){.grit-footer-inner{gap:18px;grid-template-columns:1fr}.ft-links{border-bottom:1px solid var(--border);grid-column:1/-1;margin-bottom:16px;order:0;padding-bottom:16px;text-align:center}.ft-brand{margin-bottom:0;order:1;text-align:left}.ft-sns{align-items:center;margin-bottom:0;order:2;text-align:center}.grit-footer-sns{justify-content:center}.ft-meta li{justify-content:flex-start}.ft-meta li span:first-child{width:92px}.footer-logo{height:30px}}@media (min-width:721px){.footer-logo{height:36px}}.grit-footer-links{align-items:center;display:flex;flex-wrap:wrap;font-size:11px;gap:6px;justify-content:flex-start;margin-bottom:12px}.grit-footer-links a{color:var(--muted);text-decoration:none;transition:color .2s}.grit-footer-links a:hover{color:var(--brand);text-decoration:underline}.grit-footer-links .separator{color:var(--muted);margin:0 2px;opacity:.5}#goTop,.grit-top{align-items:center;background:var(--brand);border:none;border-radius:50%;bottom:24px;box-shadow:0 4px 8px rgba(0,0,0,.2);color:#fff;cursor:pointer;display:flex;font-size:18px;height:48px;justify-content:center;opacity:0;position:fixed;right:24px;transition:opacity .25s,transform .2s,background .2s;width:48px;z-index:20}#goTop:hover,.grit-top:hover{filter:brightness(1.08);transform:translateY(-3px)}#goTop.visible,.grit-top.visible{opacity:1}@supports (padding:max(0px)){#goTop,.grit-top{bottom:max(24px,env(safe-area-inset-bottom))}}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes skeleton-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(200%)}}@keyframes skeleton-fade-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton{animation:skeleton-loading 1.5s ease-in-out infinite;background:var(--hover)!important;background-size:200px 100%;border-radius:8px;overflow:hidden;position:relative;transition:opacity .3s ease,visibility .3s ease;will-change:background-position}.skeleton:after{animation:skeleton-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.5),transparent);content:"";height:100%;left:0;position:absolute;top:0;transform:translateX(-100%);width:100%;will-change:transform}html[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.15),transparent)}@media (prefers-reduced-motion:reduce){.skeleton{animation:none;background:var(--hover)!important}.skeleton:after{animation:none;display:none}}.skeleton-fade-out{opacity:0;pointer-events:none;visibility:hidden}.skeleton-fade-in,.skeleton-fade-out{transition:opacity .3s ease,visibility .3s ease}.skeleton-fade-in{animation:skeleton-fade-in .3s ease-out;opacity:1;visibility:visible}@media (prefers-reduced-motion:reduce){.skeleton-fade-in,.skeleton-pulse{animation:none}}.skeleton-instructor{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;position:relative;transition:opacity .3s ease,visibility .3s ease;width:100%}.skeleton-instructor:before{background:var(--hover);content:"";display:block;height:100%;width:100%}.skeleton-instructor:after{animation:skeleton-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.5),transparent);content:"";height:100%;left:0;position:absolute;top:0;transform:translateX(-100%);width:100%;will-change:transform}html[data-theme=dark] .skeleton-instructor:after{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.15),transparent)}@media (prefers-reduced-motion:reduce){.skeleton-instructor:after{animation:none;display:none}}.skeleton-course{background:var(--card);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:12px;padding:16px;transition:opacity .3s ease,visibility .3s ease}.skeleton-course-label{height:20px;width:60px}.skeleton-course-title{height:20px;width:80%}.skeleton-course-meta{height:16px;width:60%}.skeleton-list-item{align-items:center;border-bottom:1px solid var(--border);display:flex;padding:12px 0;transition:opacity .3s ease,visibility .3s ease}.skeleton-list-item:before{content:"";display:block;height:16px;width:100%}.skeleton-gallery{border-radius:10px;height:180px;overflow:hidden;position:relative;transition:opacity .3s ease,visibility .3s ease;width:100%}.skeleton-gallery:before{background:var(--hover);content:"";display:block;height:100%;width:100%}.skeleton-gallery:after{animation:skeleton-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.5),transparent);content:"";height:100%;left:0;position:absolute;top:0;transform:translateX(-100%);width:100%;will-change:transform}html[data-theme=dark] .skeleton-gallery:after{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.15),transparent)}@media (prefers-reduced-motion:reduce){.skeleton-gallery:after{animation:none;display:none}}@media (max-width:640px){.skeleton-gallery{height:150px}}@keyframes dashboard-skeleton-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(200%)}}.dashboard-loading,.dashboard-skeleton{background:color-mix(in srgb,var(--muted) 14%,transparent);border-radius:10px;color:transparent;overflow:hidden;position:relative}.dashboard-loading:after,.dashboard-skeleton:after{animation:dashboard-skeleton-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.42),transparent);content:"";inset:0;position:absolute}html[data-theme=dark] .dashboard-loading:after,html[data-theme=dark] .dashboard-skeleton:after{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.12),transparent)}.dashboard-loading[hidden]{display:none}.dashboard-skeleton--title{height:24px;width:min(220px,70%)}.dashboard-skeleton--text{height:18px;width:min(140px,70%)}.dashboard-skeleton--stat{display:inline-block;height:32px;width:64px}.dashboard-skeleton--card{background:var(--card);border:1px solid var(--border);border-radius:14px;min-height:132px}.dashboard-skeleton--row{background:var(--card);border:1px solid var(--border);border-radius:10px;min-height:44px}.dashboard-skeleton-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.dashboard-skeleton-stack{display:grid;gap:10px}.dashboard-status-card[data-state=loading] strong,.member-stat-card strong.dashboard-skeleton,.stat-value.dashboard-skeleton{color:transparent;display:inline-block;height:32px;width:64px}.dashboard-status-card[data-state=loading] strong{background:color-mix(in srgb,var(--muted) 14%,transparent);border-radius:10px;overflow:hidden;position:relative}.dashboard-status-card[data-state=loading] strong:after{animation:dashboard-skeleton-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.42),transparent);content:"";inset:0;position:absolute}@media (prefers-reduced-motion:reduce){.dashboard-loading:after,.dashboard-skeleton:after,.dashboard-status-card[data-state=loading] strong:after{animation:none;display:none}}.loading-state{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px}.loading-spinner{animation:spin .8s linear infinite;border:4px solid var(--border);border-radius:50%;border-top-color:var(--brand);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.error-state{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px;text-align:center}.error-state svg{color:var(--error-color);height:64px;opacity:.7;width:64px}.error-state h3{color:var(--text);font-size:18px;font-weight:700;margin:0}.error-state p{color:var(--muted);font-size:14px;margin:0}.modal-overlay{display:none}.modal-overlay.active{display:flex}.modal-overlay .modal-content{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.2);max-height:90vh;max-width:500px;overflow-y:auto;padding:24px;position:relative;width:90%}.modal-overlay .modal-close{border-radius:4px;font-size:28px;height:32px;padding:0;width:32px}.modal{inset:0}.modal__dialog{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);max-height:90vh;max-width:92vw;overflow:hidden;padding:0;position:relative}.modal__close{background:transparent;border:0;color:var(--text);cursor:pointer;font-size:28px;height:auto;line-height:1;padding:0;position:absolute;right:12px;text-shadow:0 1px 2px rgba(0,0,0,.6);top:10px;width:auto}.modal__close:hover{transform:scale(1.06)}.modal-backdrop{align-items:center;background:rgba(0,0,0,.45);display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.modal-backdrop .modal{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);max-height:90vh;overflow-y:auto;padding:24px;width:min(92vw,700px)}.modal-head{color:var(--text);font-size:18px;font-weight:800;margin-bottom:12px}.modal-body{color:var(--text);line-height:1.6;margin-bottom:16px;opacity:.95}.modal-body img{border-radius:8px;height:auto;margin-top:8px;max-width:100%}.modal-actions .btn{background:var(--card);border:1px solid var(--border);border-radius:10px;cursor:pointer;font-weight:700;padding:10px 16px;transition:background .15s,transform .15s,box-shadow .15s}.modal-actions .btn:hover{background:var(--hover);transform:translateY(-1px)}.modal-actions .btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.modal-actions .btn.primary:hover{filter:brightness(1.08)}@media (max-width:768px){.modal-content{max-height:85vh;max-width:95vw;padding:20px}.modal-close{font-size:28px;right:12px;top:12px}}.dashboard-modal-overlay{align-items:center;background:rgba(15,23,42,.55);display:flex;inset:0;justify-content:center;overflow-y:auto;padding:20px;position:fixed;z-index:10000;-webkit-overflow-scrolling:touch}.dashboard-modal-overlay[hidden]{display:none}.dashboard-modal{background:var(--bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.25);color:var(--text);max-height:calc(100dvh - 40px);overflow:auto;padding:24px 22px;width:min(500px,calc(100vw - 32px))}.dashboard-modal--sm{width:min(440px,calc(100vw - 32px))}.dashboard-modal__header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.dashboard-modal__title{color:var(--text);font-size:19px;font-weight:800;line-height:1.3;margin:0}.dashboard-modal__close{align-items:center;background:transparent;border:0;border-radius:50%;color:var(--muted);cursor:pointer;display:flex;flex:0 0 auto;font-size:24px;height:34px;justify-content:center;line-height:1;padding:0;transition:background .2s ease,color .2s ease;width:34px}.dashboard-modal__close:focus-visible,.dashboard-modal__close:hover{background:var(--hover);color:var(--text);outline:none}.dashboard-modal__readonly-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 14px}.dashboard-modal__readonly-grid>div{min-width:0}.dashboard-modal__readonly-grid dt{color:var(--muted);font-size:13px;font-weight:700;margin:0 0 4px}.dashboard-modal__readonly-grid dd{color:var(--text);font-size:14px;font-weight:700;margin:0;word-break:break-word}.dashboard-modal__form{display:grid;gap:10px}.dashboard-modal__field{color:var(--text);display:grid;font-size:14px;font-weight:800;gap:6px;margin:0}.dashboard-modal__field input,.dashboard-modal__field select{background:var(--bg);border:1px solid var(--border);border-radius:8px;box-sizing:border-box;color:var(--text);font:inherit;min-height:42px;padding:10px 12px;width:100%}.dashboard-modal__field input:focus,.dashboard-modal__field select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,122,0,.1);outline:none}.dashboard-modal__message,.dashboard-modal__note{color:var(--muted);font-size:13px;line-height:1.6;margin:0}.dashboard-modal__message{min-height:20px}.dashboard-modal__message[data-type=success]{color:var(--success-color)}.dashboard-modal__message[data-type=error]{color:var(--error-color)}.dashboard-modal__actions{display:flex;gap:10px;margin-top:14px}.dashboard-modal__actions .btn{border-radius:8px;flex:1 1 0;font-weight:800;margin-top:0;min-height:44px;min-width:0;width:auto}.dashboard-consent-row{align-items:flex-start;background:transparent;border:0;border-radius:0;display:flex;gap:9px;margin:0;padding:0}.dashboard-consent-row input[type=checkbox]{accent-color:var(--brand);flex:0 0 auto;height:16px;margin:3px 0 0;min-height:16px;min-width:16px;padding:0;width:16px}.dashboard-consent-row__text{display:block;min-width:0}.dashboard-consent-row__text em,.dashboard-consent-row__text small,.dashboard-consent-row__text strong{display:block}.dashboard-consent-row__text strong{color:var(--text);font-size:14px;line-height:1.4}.dashboard-consent-row__text em,.dashboard-consent-row__text small{color:var(--muted);font-size:13px;font-style:normal;line-height:1.5;margin-top:4px}.dashboard-settings-link{display:flex;justify-content:flex-end;margin:0 0 24px}.dashboard-settings-link .btn{background:transparent;color:var(--muted)}@media (max-width:480px){.dashboard-modal{padding:22px 20px;width:calc(100vw - 32px)}.dashboard-modal__readonly-grid{grid-template-columns:1fr}}#toast-container{display:flex;flex-direction:column;gap:12px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:100000}.toast{align-items:center;background:var(--card);border:1px solid var(--border);border-left:4px solid var(--toast-accent,var(--border));border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;gap:12px;max-width:min(400px,calc(100vw - 40px));min-width:min(300px,calc(100vw - 40px));opacity:0;padding:16px 20px;pointer-events:auto;position:relative;transform:translateY(12px);transition:opacity .3s ease,transform .3s ease}.toast-message{color:var(--text);flex:1;font-size:14px;line-height:1.5}.toast-close{align-items:center;background:none;border:none;color:var(--muted);cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:20px;justify-content:center;line-height:1;padding:0;transition:color .2s;width:20px}.toast-close:hover{background:var(--hover);color:var(--text)}.toast.toast-success{--toast-accent:var(--success,#10b981)}.toast.toast-error{--toast-accent:var(--error,#ef4444)}.toast.toast-warning{--toast-accent:var(--warning,#f59e0b)}.toast.toast-info{--toast-accent:var(--brand,#3b82f6)}@media (max-width:640px){#toast-container{align-items:stretch;left:16px;right:16px}.toast{max-width:none;min-width:0;padding:14px 16px;width:100%}}@media (prefers-reduced-motion:reduce){.toast{transform:none;transition:none}}.pagination{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:32px}.pagination-btn{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-weight:600;padding:8px 16px;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--hover);border-color:var(--brand);color:var(--brand)}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:var(--muted);font-size:14px}@media (max-width:768px){.pagination{flex-wrap:wrap;gap:8px;margin-top:24px}.pagination-btn{font-size:14px;padding:8px 12px}#noticePageNumbers{gap:4px}}.grit-filter{gap:20px;margin:24px 0}.grit-filter,.grit-filter .filter-group{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center}.grit-filter .filter-group{gap:6px;max-width:100%}.grit-filter .filter-label{color:var(--muted);font-size:14px;font-weight:600;margin-right:4px;white-space:nowrap}.grit-filter button{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-size:14px;font-weight:700;min-width:fit-content;padding:8px 16px;transition:all .2s;white-space:nowrap}.grit-filter button:hover{background:var(--hover);border-color:var(--accent)}.grit-filter button.on{background:var(--brand);border-color:var(--brand);color:#fff}.grit-filter button.on:hover{filter:brightness(1.08)}.grit-filter.schedule-filter,.schedule-filter{display:flex!important;flex-direction:column!important;gap:32px;margin:32px 0;width:100%}.grit-filter.schedule-filter .filter-group,.schedule-filter .filter-group{border:none;border-radius:0;display:grid!important;gap:0;grid-template-columns:repeat(5,1fr);justify-content:center;overflow:hidden;width:100%}.grit-filter.schedule-filter button,.schedule-filter button{background:var(--card);border:1px solid var(--border);border-radius:0;box-shadow:none;color:var(--text);cursor:pointer;font-size:16px;font-weight:600;min-height:48px;min-width:0;padding:12px 16px;position:relative;text-align:center;transition:color .2s ease;white-space:nowrap;width:100%}.grit-filter.schedule-filter button.filter-all-btn,.schedule-filter button.filter-all-btn{border-bottom:1px solid var(--border);grid-column:1/-1}.grit-filter.schedule-filter button:nth-child(n+2):nth-child(-n+6),.schedule-filter button:nth-child(n+2):nth-child(-n+6){border-left:none;border-top:none}.grit-filter.schedule-filter button:nth-child(n+2):nth-child(5n+2),.schedule-filter button:nth-child(n+2):nth-child(5n+2){border-left:1px solid var(--border)}.grit-filter.schedule-filter button:hover,.schedule-filter button:hover{color:var(--brand)}.grit-filter.schedule-filter .filter-grade button.on,.schedule-filter .filter-grade button.on{background:var(--brand);border-color:var(--brand);color:#fff}.grit-filter.schedule-filter .filter-grade button.on:hover,.schedule-filter .filter-grade button.on:hover{color:#fff}.grit-filter.schedule-filter .filter-subject button.on,.schedule-filter .filter-subject button.on{background:transparent;border-color:var(--border);box-shadow:inset 0 -2px 0 var(--brand);color:var(--brand)}.grit-filter.schedule-filter .filter-subject button.on:hover,.schedule-filter .filter-subject button.on:hover{color:var(--brand)}@media (max-width:640px){.grit-filter{gap:8px 6px;margin:16px 0}.grit-filter .filter-group{flex:1 1 100%;gap:6px 4px}.grit-filter .filter-label{flex:0 0 auto;font-size:13px}.grit-filter button{border-radius:6px;flex:0 1 auto;font-size:13px;font-weight:700;min-width:0;padding:8px 12px;white-space:nowrap}}@media (max-width:480px){.grit-filter button{font-size:12px;padding:6px 10px}}@media (max-width:768px){.grit-filter.schedule-filter,.schedule-filter{gap:24px;margin:24px 0}.grit-filter.schedule-filter button,.schedule-filter button{font-size:14px;min-height:44px;padding:10px 12px}}@media (max-width:480px){.grit-filter.schedule-filter .filter-group,.schedule-filter .filter-group{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}.grit-filter.schedule-filter button,.schedule-filter button{font-size:13px;min-height:40px;padding:8px 10px}.grit-filter.schedule-filter button.filter-all-btn,.schedule-filter button.filter-all-btn{grid-column:1!important;grid-row:1}.grit-filter.schedule-filter button:nth-child(2),.schedule-filter button:nth-child(2){border-left:1px solid var(--border)!important;grid-column:2;grid-row:1}.grit-filter.schedule-filter button:nth-child(3),.schedule-filter button:nth-child(3){grid-column:3;grid-row:1}.grit-filter.schedule-filter button:nth-child(4),.schedule-filter button:nth-child(4){border-top:1px solid var(--border)!important;grid-column:1;grid-row:2}.grit-filter.schedule-filter button:nth-child(5),.schedule-filter button:nth-child(5){border-left:1px solid var(--border)!important;border-top:1px solid var(--border)!important;grid-column:2;grid-row:2}.grit-filter.schedule-filter button:nth-child(6),.schedule-filter button:nth-child(6){border-top:1px solid var(--border);grid-column:3;grid-row:2}.grit-filter.schedule-filter button:first-child,.schedule-filter button:first-child{border-bottom:none}}.dash-back{margin-bottom:16px}.dash-back .btn{align-items:center;display:inline-flex;gap:6px}.form-group-label{display:block;font-size:16px;font-weight:700;margin-bottom:16px}.form-group-spacing{margin-bottom:32px}.form-group-spacing-sm{margin-bottom:16px}.form-actions{display:flex;gap:12px;margin-top:24px}.form-actions .btn{flex:1;font-size:15px;height:48px}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:#131417;border-color:var(--border);color:var(--text)}@media (max-width:768px){.form-group-label{font-size:15px}input[type=email],input[type=password],input[type=tel],input[type=text],select,textarea{font-size:16px;min-height:44px}}.grit-page-container.courses{--courses-vertical-gap:clamp(18px,3vw,24px);margin:0 auto;max-width:var(--container);padding:20px 16px}@media (max-width:768px){.grit-page-container.courses{padding:20px 16px}}.grit-page-container.courses .courses-page-header{margin:0 auto 10px;max-width:var(--container);padding:0 16px;text-align:center}.grit-section.courses-toolbar-section{box-sizing:border-box;margin:0 auto var(--courses-vertical-gap);max-width:var(--container);min-width:0;padding:0 16px;width:100%}.course-toolbar{gap:12px;justify-content:space-between;width:100%}.course-toolbar,.toolbar-filters{align-items:center;display:flex;min-width:0}.toolbar-filters{flex:0 1 auto;gap:8px}.course-toolbar.admin-toolbar{margin:0;max-width:100%;width:100%}.toolbar-search{flex:1;max-width:380px;min-width:220px}.toolbar-search .admin-toolbar__search-wrap{max-width:100%;min-width:0;width:100%}.toolbar-search .admin-toolbar__search-input{width:100%}.toolbar-filters .admin-toolbar__select{min-width:86px}.courses-search-meta{color:var(--muted);display:block;font-size:clamp(.84rem,2.5vw,.92rem);font-weight:700;letter-spacing:-.02em;line-height:1.4;margin:0 auto 12px;padding:4px 0 0;text-align:center;width:100%}.courses-all-page .courses-search-meta:not([hidden]){color:var(--text)}.grit-section.courses-all-page{margin-top:0;max-width:100%;min-width:0;overflow-x:hidden}.courses-all-page #contentGrid.course-grid{align-items:stretch;box-sizing:border-box;display:grid;gap:14px;grid-auto-rows:auto;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0;max-width:100%;min-width:0;width:100%}.courses-all-page .course-card,.courses-all-page .course-card--public{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.06);box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;min-height:120px;overflow:hidden;padding:12px;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}.courses-all-page .course-card--public:hover{border-color:color-mix(in srgb,var(--brand) 34%,var(--border));box-shadow:0 9px 20px rgba(0,0,0,.11);transform:translateY(-2px)}.course-card__meta-band{align-items:center;background:color-mix(in srgb,var(--brand) 14%,var(--card));border-bottom:1px solid color-mix(in srgb,var(--brand) 28%,var(--border));color:color-mix(in srgb,var(--text) 88%,var(--muted));display:flex;flex-wrap:nowrap;font-size:11px;font-weight:800;gap:6px;min-height:28px;overflow-x:auto;padding:4px 8px;white-space:nowrap}.course-card__meta-item{color:inherit;flex:0 0 auto}.course-card__meta-item--subject{font-weight:900}.course-card__meta-sep{color:color-mix(in srgb,var(--muted) 70%,transparent);flex:0 0 auto}.courses-all-page .course-card__content-block{display:flex;flex:1;flex-direction:column;gap:4px;min-height:0;padding:8px 4px 2px}.courses-all-page .course-card__title{color:var(--text);font-size:clamp(.98rem,2.45vw,1.06rem);font-weight:900;letter-spacing:-.03em;line-height:1.35;word-break:break-word}.courses-all-page .course-card__excerpt,.courses-all-page .course-card__title{-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;margin:0;overflow:hidden}.courses-all-page .course-card__excerpt{color:color-mix(in srgb,var(--text) 88%,var(--muted));font-size:12.5px;line-height:1.5;min-height:0}.course-card--public.subject-ko .course-card__meta-band{background:color-mix(in srgb,var(--sub-ko) 16%,var(--card));border-bottom-color:color-mix(in srgb,var(--sub-ko) 36%,var(--border))}.course-card--public.subject-en .course-card__meta-band{background:color-mix(in srgb,var(--sub-en) 14%,var(--card));border-bottom-color:color-mix(in srgb,var(--sub-en) 34%,var(--border))}.course-card--public.subject-ma .course-card__meta-band{background:color-mix(in srgb,var(--sub-ma) 14%,var(--card));border-bottom-color:color-mix(in srgb,var(--sub-ma) 34%,var(--border))}.course-card--public.subject-sc .course-card__meta-band{background:color-mix(in srgb,var(--sub-sc) 18%,var(--card));border-bottom-color:color-mix(in srgb,var(--sub-sc) 36%,var(--border))}.course-card--public.subject-etc .course-card__meta-band{background:color-mix(in srgb,var(--sub-consult) 14%,var(--card));border-bottom-color:color-mix(in srgb,var(--sub-consult) 32%,var(--border))}.courses-all-page .skeleton-course{background:var(--card);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:8px;min-height:148px;padding:12px 14px}.courses-all-page .skeleton-course-meta{height:12px;width:60%}.courses-all-page .skeleton-course-title{height:18px}.courses-all-page .courses-pagination{border-top:1px solid color-mix(in srgb,var(--brand) 18%,var(--border));box-sizing:border-box;gap:clamp(10px,2vw,14px);margin-top:var(--courses-vertical-gap);padding-bottom:4px;padding-top:clamp(14px,2.5vw,22px)}.courses-all-page .courses-pagination,.courses-pagination-inner{align-items:center;display:flex;flex-direction:column;width:100%}.courses-pagination-inner{flex-wrap:nowrap;gap:clamp(10px,2.5vw,14px);justify-content:center}.courses-all-page .courses-pagination .courses-pagination-controls{align-items:center;display:inline-flex;flex:0 1 auto;flex-wrap:nowrap;gap:clamp(4px,1.2vw,8px);justify-content:center;margin-left:auto;margin-right:auto;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;padding:4px 2px 6px;touch-action:pan-x;-webkit-overflow-scrolling:touch}.courses-all-page .courses-pagination .courses-pagination-pages{align-items:center;display:inline-flex;flex-shrink:0;flex-wrap:nowrap;gap:clamp(3px,1vw,6px)}.courses-pagination .courses-pagination-arrow,.courses-pagination .courses-pagination-num{border-radius:clamp(6px,1.5vw,10px);flex-shrink:0;font-size:clamp(11px,min(2.6vw,.85rem),14px);font-weight:700;min-height:clamp(30px,min(8vw,2.5rem),40px);padding:clamp(5px,min(1.6vw,.5rem),9px) clamp(6px,min(2vw,.65rem),14px)}.courses-pagination .courses-pagination-num{min-width:clamp(28px,min(8vw,2.5rem),40px);padding-left:clamp(6px,min(2vw,.65rem),12px);padding-right:clamp(6px,min(2vw,.65rem),12px)}.courses-pagination-info{color:var(--muted);flex:0 0 auto;font-size:clamp(12px,2.8vw,14px);font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.02em;margin:0;text-align:center;white-space:nowrap;width:100%}@media (max-width:1024px){.courses-all-page #contentGrid.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.course-toolbar{flex-direction:column}.toolbar-filters{width:100%}.toolbar-filters select{flex:1 1 0;min-width:0}.toolbar-search{max-width:100%;min-width:0;width:100%}.toolbar-search input{width:100%}}@media (max-width:640px){.toolbar-search input{font-size:16px}.courses-all-page #contentGrid.course-grid{grid-template-columns:1fr}.courses-all-page .course-card__content-block{gap:3px;padding:7px 2px 1px}.course-card__meta-band{font-size:10.5px;min-height:26px;padding:4px 6px}}html[data-theme=dark] .courses-all-page .course-card--public:hover{box-shadow:0 10px 24px rgba(0,0,0,.42)}.course-detail-page{--detail-gap:clamp(16px,2.5vw,22px);box-sizing:border-box;width:100%}.course-detail-page .course-detail-shell{box-sizing:border-box;margin:0 auto;padding:0 16px 28px;width:min(100%,980px)}.course-detail-page .course-detail-hero{margin-bottom:24px;min-width:0;width:100%}.course-detail-page .hero-media{margin-bottom:14px;width:100%}.course-detail-page .media-ratio{aspect-ratio:16/9;background:#000;border:1px solid var(--border);border-radius:14px;max-height:min(62vh,560px);min-height:180px;overflow:hidden;width:100%}.course-detail-page .media-ratio iframe,.course-detail-page .media-ratio video{border:0;height:100%;object-fit:cover;width:100%}.course-detail-page .hero-content{align-items:flex-start;background:transparent;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;max-width:100%;padding:clamp(16px,2.8vw,24px);width:100%}.course-detail-page .hero-meta-row{align-items:center;align-self:flex-start;background:color-mix(in srgb,var(--brand) 12%,var(--card));border:1px solid color-mix(in srgb,var(--brand) 28%,var(--border));border-radius:9px;color:color-mix(in srgb,var(--text) 88%,var(--muted));display:flex;flex-wrap:wrap;font-size:13px;font-weight:800;gap:8px;justify-content:flex-start;line-height:1.4;margin:0 0 12px;max-width:100%;padding:6px 10px}.course-detail-page .hero-meta-row.subject-ko{background:color-mix(in srgb,var(--sub-ko) 14%,var(--card));border-color:color-mix(in srgb,var(--sub-ko) 34%,var(--border))}.course-detail-page .hero-meta-row.subject-en{background:color-mix(in srgb,var(--sub-en) 14%,var(--card));border-color:color-mix(in srgb,var(--sub-en) 34%,var(--border))}.course-detail-page .hero-meta-row.subject-ma{background:color-mix(in srgb,var(--sub-ma) 14%,var(--card));border-color:color-mix(in srgb,var(--sub-ma) 34%,var(--border))}.course-detail-page .hero-meta-row.subject-sc{background:color-mix(in srgb,var(--sub-sc) 18%,var(--card));border-color:color-mix(in srgb,var(--sub-sc) 36%,var(--border))}.course-detail-page .hero-meta-row.subject-etc{background:color-mix(in srgb,var(--sub-consult) 14%,var(--card));border-color:color-mix(in srgb,var(--sub-consult) 32%,var(--border))}.course-detail-page .hero-title{font-size:clamp(1.45rem,3.6vw,2rem);letter-spacing:-.03em;line-height:1.35;margin:0 0 10px}.course-detail-page .hero-description,.course-detail-page .hero-title{align-self:stretch;overflow-wrap:break-word;width:100%;word-break:keep-all}.course-detail-page .hero-description{color:color-mix(in srgb,var(--text) 90%,var(--muted));line-height:1.75;margin:0;white-space:pre-wrap}.course-detail-page .hero-divider{color:color-mix(in srgb,var(--muted) 70%,transparent)}.course-detail-page .hero-action{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;gap:0;margin-top:18px;width:100%}.course-detail-page .enroll-hint,.course-detail-page .hero-action [data-enroll-hint="1"]{margin:8px 0 0}.course-detail-page .course-instructor-link{border-bottom:1px dashed var(--border);color:inherit;text-decoration:none}.course-detail-page .course-instructor-link:hover{border-bottom-color:var(--brand);color:var(--brand)}.course-detail-page .course-tabs-section{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-soft);margin-top:2px;min-width:0;overflow:hidden;width:100%}.course-detail-page .course-tabs{--tab-count:3;background:color-mix(in srgb,var(--hover) 80%,var(--card));border-bottom:1px solid var(--border);display:grid;gap:0;grid-template-columns:repeat(var(--tab-count),minmax(0,1fr));padding:0 10px;position:relative;z-index:1}.course-detail-page .course-tab-btn{background:transparent;border:0;border-bottom:3px solid transparent;color:var(--muted);cursor:pointer;font-family:inherit;font-size:clamp(14px,2.2vw,15px);font-weight:800;min-height:52px;padding:0 10px;text-align:center;transition:color .2s ease,border-color .2s ease,background-color .2s ease;white-space:nowrap}.course-detail-page .course-tab-btn.active{border-bottom-color:var(--brand);color:var(--text)}.course-detail-page .course-tab-btn:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}.course-detail-page .course-tab-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 70%,#fff);outline-offset:-2px}.course-detail-page .course-tab-panels{padding:clamp(16px,2.8vw,24px)}.course-detail-page .course-tab-panel{display:none;opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease}.course-detail-page .course-tab-panel.active{display:block;opacity:1;transform:translateY(0)}.course-detail-page .section-title{font-size:clamp(1.08rem,2.4vw,1.25rem);letter-spacing:-.02em;margin:0 0 12px}.course-detail-page .section-content{line-height:1.75}.course-detail-page .section-content .muted{margin:0}.course-detail-page .instructor-info-card{display:grid;gap:14px}.course-detail-page .instructor-profile-link{align-items:center;background:color-mix(in srgb,var(--card) 92%,var(--hover));border:1px solid var(--border);border-radius:12px;color:inherit;display:flex;gap:12px;padding:12px;text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease}.course-detail-page .instructor-profile-link:hover{border-color:color-mix(in srgb,var(--brand) 34%,var(--border));box-shadow:0 6px 16px rgba(0,0,0,.09)}.course-detail-page .instructor-profile-link.is-disabled{cursor:default;opacity:.85;pointer-events:none}.course-detail-page .instructor-avatar{align-items:center;background:color-mix(in srgb,var(--brand) 18%,var(--card));border:1px solid color-mix(in srgb,var(--brand) 32%,var(--border));border-radius:999px;color:var(--brand);display:flex;flex:0 0 64px;font-size:12px;font-weight:900;height:64px;justify-content:center;overflow:hidden;text-transform:none;width:64px}.course-detail-page .instructor-avatar.has-initial{font-size:22px;font-weight:900;letter-spacing:-.02em;text-transform:uppercase}.course-detail-page .instructor-avatar img{display:block;height:100%;object-fit:cover;width:100%}.course-detail-page .instructor-profile-text{min-width:0}.course-detail-page .instructor-profile-name{font-size:16px;font-weight:900;line-height:1.35;margin:0}.course-detail-page .instructor-profile-subject{color:var(--muted);font-size:13px;font-weight:700;margin:4px 0 0}.course-detail-page .instructor-extra-text{color:color-mix(in srgb,var(--text) 88%,var(--muted));line-height:1.75;white-space:pre-wrap}.course-detail-page .week-list{display:grid;gap:12px}.course-detail-page .week-card{background:linear-gradient(180deg,color-mix(in srgb,var(--card) 94%,var(--hover)) 0,var(--card) 100%);border:1px solid color-mix(in srgb,var(--brand) 16%,var(--border));border-radius:14px;box-shadow:0 2px 10px rgba(0,0,0,.05);padding:16px}.course-detail-page .week-list--collapsible{gap:10px}.course-detail-page .week-card--collapsible{overflow:hidden;padding:0}.course-detail-page .week-card__toggle{align-items:center;background:color-mix(in srgb,var(--hover) 80%,var(--card));border:none;color:var(--text);cursor:pointer;display:flex;font:inherit;gap:10px;padding:14px 16px;text-align:left;transition:background .2s ease;width:100%}.course-detail-page .week-card__toggle:hover{background:color-mix(in srgb,var(--hover) 60%,var(--brand) 12%)}.course-detail-page .week-card__toggle:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.course-detail-page .week-card__title{flex:1 1 auto;font-size:15px;font-weight:900;line-height:1.45;min-width:0;word-break:keep-all}.course-detail-page .week-card__meta{color:var(--muted);flex-shrink:0;font-size:12px;font-weight:700}.course-detail-page .week-card__icon{color:var(--muted);flex-shrink:0;font-size:14px;transition:transform .25s ease,color .25s ease}.course-detail-page .week-card--collapsible.is-expanded .week-card__icon{color:var(--brand);transform:rotate(180deg)}.course-detail-page .week-card__body{max-height:0;overflow:hidden;padding:0 16px;transition:max-height .35s cubic-bezier(.4,0,.2,1),padding .35s cubic-bezier(.4,0,.2,1)}.course-detail-page .week-card--collapsible.is-expanded .week-card__body{max-height:8000px;padding:16px}.course-detail-page .week-description--single{margin:0 0 12px}.course-detail-page .lecture-row-list--single{margin:0}.course-detail-page .week-title{font-size:15px;font-weight:900;line-height:1.45;margin:0 0 10px}.course-detail-page .week-description{color:color-mix(in srgb,var(--text) 86%,var(--muted));font-size:14px;line-height:1.7;margin:0 0 10px;white-space:pre-wrap}.course-detail-page .lecture-row-list{display:grid;gap:10px}.course-detail-page .lecture-row{align-items:center;background:color-mix(in srgb,var(--card) 95%,var(--hover));border:1px solid color-mix(in srgb,var(--brand) 14%,var(--border));border-radius:12px;color:var(--text);display:flex;font-size:14px;font-weight:700;gap:12px;line-height:1.45;min-height:46px;padding:10px 12px;text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}.course-detail-page .lecture-row:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--border));box-shadow:0 6px 14px rgba(0,0,0,.08);transform:translateY(-1px)}.course-detail-page .lecture-row--readonly{cursor:default}.course-detail-page .lecture-row--readonly:hover{border-color:var(--border);box-shadow:none;transform:none}.course-detail-page .lecture-text{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;word-break:break-word}@media (max-width:768px){.course-detail-page .course-detail-shell{padding:0 12px 22px}.course-detail-page .course-tab-panels,.course-detail-page .hero-content{padding:14px}.course-detail-page .course-tabs{padding:0 6px}.course-detail-page .hero-content{align-items:center;text-align:center}.course-detail-page .hero-title{font-size:clamp(1.8rem,9vw,2.4rem);line-height:1.15;text-align:center}.course-detail-page .hero-description{text-align:center}.course-detail-page .hero-meta-row{align-self:center;justify-content:center;text-align:center}.course-detail-page .hero-action{align-items:center;text-align:center}.course-detail-page .course-tab-btn{font-size:14px;min-height:46px;padding:0 6px}.course-detail-page .lecture-row{align-items:flex-start}}@media (min-width:769px){.course-detail-page .hero-content{max-width:min(100%,760px)}}@media (max-width:540px){.course-detail-page .hero-meta-row{font-size:12px;gap:6px;padding:6px 8px}.course-detail-page .instructor-avatar{flex-basis:56px;height:56px;width:56px}}@media (max-width:430px){.course-detail-page .course-tabs{background:var(--card);display:grid;grid-template-columns:repeat(var(--tab-count),minmax(0,1fr));overflow-x:visible;padding:0 6px}.course-detail-page .course-tab-btn{min-height:48px;min-width:0;padding:0 6px}}@media (max-width:480px){.course-detail-page .course-detail-shell{padding:0 10px 20px}.course-detail-page .hero-divider{opacity:.5}.course-detail-page .section-title{font-size:1.5rem;line-height:1.25}.course-detail-page .section-content{font-size:16px;line-height:1.75}}.course-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr);margin-top:24px}@media (max-width:1024px){.course-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.course-grid{gap:14px;grid-template-columns:1fr}}.course-card{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 4px 12px rgba(0,0,0,.06);padding:16px;transition:transform .2s,box-shadow .2s}.course-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.1);transform:translateY(-2px)}.course-label{border-radius:6px;color:#fff;display:inline-block;font-size:12px;font-weight:700;margin-bottom:10px;padding:4px 10px}.course-label[data-subject=\AD6D\C5B4]{background:var(--sub-ko)}.course-label[data-subject=\C601\C5B4]{background:var(--sub-en)}.course-label[data-subject=\C218\D559]{background:var(--sub-ma)}.course-label[data-subject=\ACFC\D559]{background:var(--sub-sc)}.course-label[data-subject=\CEE8\C124\D305]{background:var(--sub-consult)}.course-title{font-size:1.1rem;font-weight:800;margin:0 0 10px}.course-meta{color:var(--muted);font-size:14px;gap:8px;margin-bottom:8px}.course-grade{font-weight:600}.course-instructor{color:var(--brand)}.course-tags{display:flex;flex-wrap:wrap;gap:6px}.course-tag{background:var(--hover);border-radius:6px;color:var(--text);display:inline-block;font-size:12px;font-weight:600;padding:3px 8px}.home #homeCourses{display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-top:12px}@media (max-width:768px){.home #homeCourses{gap:12px;grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.home #homeCourses{gap:14px;grid-template-columns:1fr}}.home-course-item{background:var(--card);border:1px solid var(--border);border-radius:10px;color:var(--text);display:flex;flex-direction:column;padding:16px;text-decoration:none;transition:transform .2s,box-shadow .2s}.home-course-item:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-2px)}.home-course-label{border-radius:6px;color:#fff;display:inline-block;font-size:11px;font-weight:700;margin-bottom:10px;padding:4px 10px;width:fit-content}.home-course-label[data-subject=\AD6D\C5B4]{background:var(--sub-ko)}.home-course-label[data-subject=\C601\C5B4]{background:var(--sub-en)}.home-course-label[data-subject=\C218\D559]{background:var(--sub-ma)}.home-course-label[data-subject=\ACFC\D559]{background:var(--sub-sc)}.home-course-label[data-subject=\CEE8\C124\D305]{background:var(--sub-consult)}.home-course-title{color:var(--text);display:-webkit-box;font-size:15px;font-weight:700;-webkit-line-clamp:2;line-height:1.4;margin:0 0 8px;-webkit-box-orient:vertical;overflow:hidden}.home-course-meta{color:var(--muted);display:flex;flex-direction:column;font-size:13px;gap:4px;margin-top:auto}.home-course-grade{font-weight:600}.home-course-instructor{color:var(--brand);font-weight:600}.course-mini-card{background:var(--card);border:1px solid var(--border);border-radius:12px;color:inherit;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:transform .2s,box-shadow .2s}.course-mini-card:hover{box-shadow:0 6px 16px rgba(0,0,0,.12);transform:translateY(-4px)}.course-mini-thumb{background:var(--hover);flex:0 0 80%;overflow:hidden;position:relative;width:100%}.course-mini-thumb img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.course-mini-card:hover .course-mini-thumb img{transform:scale(1.05)}.course-mini-content{display:flex;flex:0 0 20%;flex-direction:column;flex-shrink:0;justify-content:center;min-height:0;padding:8px 10px}.course-mini-title{color:var(--text);display:-webkit-box;font-size:14px;font-weight:800;-webkit-line-clamp:2;line-height:1.4;margin:0;-webkit-box-orient:vertical;overflow:hidden;text-align:center;text-overflow:ellipsis;word-break:break-word}@media (max-width:640px){.course-mini-title{font-size:13px;line-height:1.3}}.course-mini-label{border-radius:6px;color:#fff;display:inline-block;font-size:10px;font-weight:800;margin-bottom:0;padding:3px 8px;width:fit-content}.course-mini-label[data-subject=\AD6D\C5B4]{background:var(--sub-ko)}.course-mini-label[data-subject=\C601\C5B4]{background:var(--sub-en)}.course-mini-label[data-subject=\C218\D559]{background:var(--sub-ma)}.course-mini-label[data-subject=\ACFC\D559]{background:var(--sub-sc)}.course-mini-label[data-subject=\CEE8\C124\D305]{background:var(--sub-consult)}.course-mini-meta{color:var(--muted);font-size:12px}.grid-instructors{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-top:24px}.grid-instructors.is-2cols,.home .grid-instructors{grid-template-columns:repeat(2,1fr)}@media (max-width:640px){.grid-instructors{gap:12px}.grid-instructors,.grit-grid{grid-template-columns:repeat(2,1fr)}}.instructor-card{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 4px 8px rgba(0,0,0,.05);overflow:hidden;position:relative;transition:transform .25s,box-shadow .25s}.instructor-card img{aspect-ratio:4/5;height:auto;object-fit:cover;object-position:center;transition:transform .28s cubic-bezier(.2,.6,.2,1);width:100%}.instructor-card .overlay{align-items:center;background:rgba(0,0,0,.5);display:flex;inset:0;justify-content:center;opacity:0;pointer-events:none;position:absolute;text-align:center;transition:opacity .18s;z-index:2}.instructor-card:hover .overlay{opacity:1}.instructor-card .overlay .txt{color:#fff;letter-spacing:.02em;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.35);white-space:pre-line}.instructor-card .overlay .txt strong{display:block;font-size:1.05rem;font-weight:800}.instructor-card .overlay .txt span{display:block;font-size:.95rem;font-weight:700}.instructor-card:hover{box-shadow:0 10px 20px rgba(0,0,0,.12);transform:translateY(-5px)}.instructor-card:hover img{transform:scale(1.03)}@media (max-width:640px){.instructor-card img{aspect-ratio:3/4}}.home-instructors-sec{margin:8px auto 24px;max-width:1100px}.home-instructors{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1100px){.home-instructors{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:860px){.home-instructors{grid-template-columns:repeat(2,minmax(0,1fr))}}.inst-card{background:var(--card,#fff);border:1px solid var(--border,#e5e7eb);border-radius:14px;box-shadow:0 4px 8px rgba(0,0,0,.05);display:block;overflow:hidden;position:relative;transition:transform .25s ease,box-shadow .25s ease}.inst-card:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.inst-card:hover{box-shadow:0 10px 24px rgba(0,0,0,.12);transform:translateY(-4px)}.inst-card img.inst-thumb,.inst-card>img{aspect-ratio:3/4;display:block;object-fit:cover;object-position:left center;transition:transform .25s ease;width:100%}.inst-card:hover img.inst-thumb,.inst-card:hover>img{transform:scale(1.04)}.inst-overlay{align-items:center;background:rgba(0,0,0,.5);display:flex;flex-direction:column;inset:0;justify-content:center;margin:0;opacity:0;padding:0;pointer-events:none;position:absolute;transition:opacity .18s ease}.inst-card:focus-within .inst-overlay,.inst-card:hover .inst-overlay{opacity:1}.inst-overlay__inner{align-items:center;display:flex;flex-direction:column;gap:0;justify-content:center;text-align:center}.inst-body .inst-name,.inst-overlay .inst-name{color:#fff;font-size:17px;font-weight:800;margin:0}.inst-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.inst-body .inst-subject,.inst-overlay .inst-subject{background:none!important;border-radius:0;color:#fff!important;font-size:15px;font-weight:700;line-height:1;margin-top:4px;padding:0}.inst-grades{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.inst-grades .grade-tag{background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.3);border-radius:6px;color:#fff;display:inline-block;font-size:11px;font-weight:600;line-height:1.2;padding:3px 8px}.inst-thumb{aspect-ratio:1/1;display:block;object-fit:cover;width:100%}.inst-body{padding:10px 12px 12px}.inst-chip{background:var(--bg,#fff);border:1px solid var(--border,#e5e7eb);border-radius:999px;color:var(--text,#111827);font-size:12px;line-height:1;padding:4px 8px}html[data-theme=dark] .inst-chip{background:var(--card,#111315);border-color:var(--border,#2a2f36);color:var(--text,#e5e7eb)}.subject--ko{background:var(--sub-ko);color:#fff}.subject--en{background:var(--sub-en);color:#fff}.subject--ma{background:var(--sub-ma);color:#fff}.subject--sc{background:var(--sub-sc);color:#202225}.subject--consult{background:var(--sub-consult);color:#fff}.badge[data-subject=\AD6D\C5B4],.inst-subject[data-subject=\AD6D\C5B4],.subject-badge[data-subject=\AD6D\C5B4]{background:var(--sub-ko)!important;color:#fff}.badge[data-subject=\C601\C5B4],.inst-subject[data-subject=\C601\C5B4],.subject-badge[data-subject=\C601\C5B4]{background:var(--sub-en)!important;color:#fff}.badge[data-subject=\C218\D559],.inst-subject[data-subject=\C218\D559],.subject-badge[data-subject=\C218\D559]{background:var(--sub-ma)!important;color:#fff}.badge[data-subject=\ACFC\D559],.inst-subject[data-subject=\ACFC\D559],.subject-badge[data-subject=\ACFC\D559]{background:var(--sub-sc)!important;color:#202225}.badge[data-subject=\CEE8\C124\D305],.inst-subject[data-subject=\CEE8\C124\D305],.subject-badge[data-subject=\CEE8\C124\D305]{background:var(--sub-consult)!important;color:#fff}@media (hover:none) and (pointer:coarse){.inst-overlay{opacity:0}}.home-subdesc{color:var(--muted);margin-top:-6px;text-align:center}.text-design-speech{background:#f0f4f8;border-radius:12px;color:var(--text);margin:12px 0;padding:16px 20px;position:relative}.text-design-speech:before{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #f0f4f8;bottom:-8px;content:"";height:0;left:20px;position:absolute;width:0}.text-design-speech.speech-right:before{left:auto;right:20px}html[data-theme=dark] .text-design-speech{background:#f0f4f8;color:#000}html[data-theme=dark] .text-design-speech:before{border-top-color:#f0f4f8}.text-design-box{background:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;margin:12px 0;padding:16px}.text-design-highlight{background:linear-gradient(120deg,rgba(255,122,0,.1),rgba(255,122,0,.05));border-radius:4px;padding:16px}.text-design-highlight,.text-design-quote{border-left:4px solid var(--brand);margin:12px 0}.text-design-quote{color:var(--muted);font-style:italic;padding-left:16px}.grit-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}@media (max-width:640px){.grit-grid{grid-template-columns:repeat(2,1fr)}}.school-search-modal{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.school-search-modal.hidden{display:none}.school-search-modal-overlay{background:rgba(0,0,0,.5);inset:0;position:absolute}.school-search-modal-content{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.2);display:flex;flex-direction:column;height:80vh;height:80svh;max-height:80vh;max-height:80svh;max-width:600px;position:relative;width:90%}.school-search-modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.school-search-modal-header h2{font-size:20px;font-weight:700;margin:0}.school-search-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:var(--muted);cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.school-search-modal-close:hover{background:var(--hover);color:var(--text)}.school-search-modal-body{display:flex;flex:1;flex-direction:column;gap:16px;min-height:0;overflow:hidden;padding:24px}.school-search-input-wrapper{flex-shrink:0}.school-search-input-wrapper input{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:15px;padding:12px 16px;width:100%}.school-search-results{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;flex:1;min-height:0;overflow-y:auto}.school-search-actions{flex-shrink:0}.school-search-empty{color:var(--muted);padding:40px 20px;text-align:center}.school-search-item{border-bottom:1px solid var(--border);cursor:pointer;padding:16px;transition:background .2s}.school-search-item:last-child{border-bottom:none}.school-search-item:hover{background:var(--hover)}.school-search-item-name{color:var(--text);font-weight:600;margin-bottom:4px}.school-search-item-info{color:var(--muted);font-size:13px}.school-search-actions{display:flex;gap:8px;justify-content:flex-end}@media (max-width:768px){.school-search-modal-content{height:85vh;height:85svh;max-height:85vh;max-height:85svh;width:95%}.school-search-modal-header{padding:16px 20px}.school-search-modal-header h2{font-size:18px}.school-search-modal-body{gap:12px;padding:20px}.school-search-input-wrapper input{font-size:16px;padding:10px 14px}.school-search-empty{font-size:14px;padding:30px 16px}.school-search-item{padding:12px}.school-search-item-name{font-size:14px}.school-search-item-info{font-size:12px}}@media (max-width:480px){.school-search-modal-content{border-radius:0;height:100vh;height:100svh;max-height:100vh;max-height:100svh;width:100%}.school-search-modal-header{padding:14px 16px}.school-search-modal-header h2{font-size:16px}.school-search-modal-body{gap:12px;padding:16px}.school-search-input-wrapper input{font-size:16px;padding:10px 12px}.school-search-empty{font-size:13px;padding:24px 12px}.school-search-item{padding:10px}.school-search-item-name{font-size:13px}.school-search-item-info{font-size:11px}}.auth-wrap{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - var(--header-h) - 180px);min-height:calc(100svh - var(--header-h) - 180px);padding:24px 16px}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-soft);max-width:92vw;padding:32px 24px;width:420px}.auth-card h1{font-size:22px;font-weight:800;margin:0 0 16px}.auth-card .desc{color:var(--muted);margin-bottom:20px}.auth-card label{display:block;font-weight:700;margin:12px 0 6px}.auth-card input{background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:16px;height:44px;padding:0 12px;width:100%}.auth-card button{border:0;border-radius:10px;cursor:pointer;font-weight:800;height:44px;margin-top:16px;width:100%}.auth-card button.primary{background:var(--brand);color:#fff}.progress-bar{background:#eee;border-radius:6px;height:8px}.progress-bar>span{background:var(--accent);display:block;height:100%;transition:width .3s ease;width:0}html[data-theme=dark] a{color:var(--link,var(--brand))}html[data-theme=dark] a:focus,html[data-theme=dark] a:hover{color:var(--link-hover,var(--accent))}html[data-theme=dark] .auth-card,html[data-theme=dark] .card,html[data-theme=dark] .course-card,html[data-theme=dark] .course-card p,html[data-theme=dark] .grit-section,html[data-theme=dark] .grit-section a,html[data-theme=dark] .grit-section h1,html[data-theme=dark] .grit-section h2,html[data-theme=dark] .grit-section h3,html[data-theme=dark] .grit-section li,html[data-theme=dark] .grit-section p,html[data-theme=dark] .poster{color:var(--text)}html[data-theme=dark] table,html[data-theme=dark] table tbody,html[data-theme=dark] table td,html[data-theme=dark] table th,html[data-theme=dark] table thead,html[data-theme=dark] table tr{background:transparent;border-color:var(--border);color:var(--text)}html[data-theme=dark] table thead th{background:#1f2124}html[data-theme=dark] .sp-list{background:#17191c;border-color:var(--border);color:var(--text)}html[data-theme=dark] .sp-item{border-bottom-color:#222}html[data-theme=dark] .sp-item:hover{background:#202226}html[data-theme=dark] .bar{background:#2a2d33}@media (prefers-reduced-motion:no-preference){.card,.modal__dialog,.poster,body,html{transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}}:root{--nav-item-w:132px;--submenu-w:240px}.grit-header{-webkit-backdrop-filter:saturate(180%) blur(10px)!important;backdrop-filter:saturate(180%) blur(10px)!important;background:var(--header-bg)!important;border-bottom:1px solid var(--border);height:var(--header-h);inset:0 0 auto 0;position:fixed;z-index:1000}.grit-header__wrap{align-items:center;display:flex;gap:12px;height:100%;margin:0 auto;max-width:var(--container);padding:0 16px;position:relative}.grit-header__wrap ol,.grit-header__wrap ul{list-style:none!important;margin:0!important;padding:0!important}.grit-header__wrap li{list-style:none!important}.grit-header__wrap li::marker{content:none!important}.grit-logo{align-items:center;display:inline-flex;flex:0 0 auto;height:36px;max-width:min(220px,32vw);min-width:0;overflow:hidden;width:160px}.grit-logo img{display:block;flex:0 0 auto;height:100%;max-height:100%;max-width:100%;object-fit:contain;object-position:left center;width:100%}.grit-nav{flex:1 1 auto;min-width:0}.grit-nav>ul{display:flex;gap:0;justify-content:center;list-style:none;margin:0;padding:0;position:static}.grit-nav>ul>li{flex:0 0 var(--nav-item-w);position:relative;text-align:center}.grit-nav>ul>li>a.toplink{color:var(--text);display:block;font-weight:700;padding:18px 6px;transition:color .2s;white-space:nowrap}.grit-nav>ul>li>a.toplink:hover{color:var(--brand)}.grit-nav>ul>li>a.toplink.is-active{box-shadow:inset 0 -2px 0 var(--brand);color:var(--brand)}@media (hover:hover) and (pointer:fine){.grit-nav .submenu{display:block;list-style:none;margin:0;padding:0}.grit-nav li.has-sub>.submenu{background:var(--header-bg)!important;border:1px solid var(--border);border-radius:0 0 12px 12px;border-top:none;box-shadow:var(--shadow);left:50%;max-height:0;opacity:0;overflow:hidden;padding:8px;position:absolute;text-align:center;top:100%;transform:translate(-50%,6px);transition:opacity .18s,transform .18s,max-height .24s;visibility:hidden;width:var(--submenu-w);z-index:1001}.grit-nav li.has-sub:focus-within>.submenu,.grit-nav li.has-sub:hover>.submenu{max-height:600px;opacity:1;transform:translate(-50%);visibility:visible}.grit-nav .submenu li a{border-radius:8px;color:var(--text);display:block;padding:10px 12px;text-decoration:none;transition:background-color .2s,color .2s}.grit-nav .submenu li a:hover{background:var(--hover);color:var(--brand)}}.grit-controls{align-items:center;display:flex!important;gap:8px;margin:0!important;padding:0!important}.grit-controls .toplink{border:none;border-radius:10px;display:inline-block;font-weight:600;padding:8px 12px;transition:all .15s;white-space:nowrap}.grit-controls #menu-login{color:var(--text)}.grit-controls #menu-logout{color:var(--brand);font-weight:800}.grit-controls .toplink:hover{opacity:.85;transform:translateY(-1px)}.theme-toggle-btn{align-items:center;background:none;border:0;cursor:pointer;display:flex;height:36px;justify-content:center;padding:4px;width:36px}.theme-toggle-btn img{height:24px;opacity:.9;transition:opacity .2s;width:24px}.theme-toggle-btn:hover{background:var(--hover)}.theme-toggle-btn:hover img{opacity:1}@media (min-width:1025px){#themeToggle{display:flex!important;margin-left:auto;order:10}.grit-controls{order:9}}@media (max-width:1200px){:root{--nav-item-w:120px}}@media (max-width:1100px){:root{--nav-item-w:110px}}@media (max-width:1000px){:root{--nav-item-w:100px}}@media (max-width:900px){:root{--nav-item-w:90px}.grit-nav>ul>li>a.toplink{font-size:15px;padding:18px 4px}}@media (max-width:800px){:root{--nav-item-w:80px}.grit-nav>ul>li>a.toplink{font-size:14px;padding:16px 3px}}html[data-theme=dark] .grit-logo img{transform:none;transform-origin:center center}html[data-theme=dark] .grit-nav a{color:#e8e9ee}html[data-theme=dark] .grit-nav a.is-active,html[data-theme=dark] .grit-nav a:hover{color:var(--brand)}.only-mobile{display:none!important}@media (max-width:1440px){.only-mobile{display:block!important}.grit-controls,.grit-nav>ul:not(.open){display:none!important}.grit-nav>ul.open{display:flex!important}.grit-header{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:var(--card)!important}.grit-header__wrap{align-items:center!important;display:grid!important;gap:0!important;grid-template-columns:40px 1fr 40px!important;grid-template-rows:1fr!important;height:100%!important;min-width:0!important;padding:0 12px!important}#themeToggle{display:flex!important;flex-shrink:0!important;grid-column:1;height:40px;justify-content:center!important;justify-self:start!important;width:40px}#themeToggle,.grit-logo{align-items:center!important;align-self:center!important;grid-row:1}.grit-logo{display:inline-flex;flex:0 0 auto!important;flex-shrink:0!important;grid-column:2;height:36px!important;justify-self:center!important;max-width:min(200px,calc(100vw - 88px))!important;min-width:0!important;overflow:hidden;padding:0 4px;width:min(200px,calc(100vw - 88px))!important}.grit-logo img{display:block;height:100%!important;max-height:100%!important;max-width:100%!important;object-fit:contain!important;object-position:center center;width:100%!important}@media (max-width:480px){.grit-logo{height:32px!important;max-width:min(170px,calc(100vw - 80px))!important;width:min(170px,calc(100vw - 80px))!important}}.menu-toggle{align-items:center!important;align-self:center!important;background:none;border:0;color:var(--text);display:flex!important;flex-shrink:0!important;grid-column:3;grid-row:1;height:40px;justify-content:center!important;justify-self:end!important;padding:0;position:relative;width:40px;z-index:1001}.menu-toggle span{background:currentColor;border-radius:1.5px;height:2px;left:50%;position:absolute;transform-origin:center;transition:transform .2s,opacity .2s;width:22px}.menu-toggle span:first-child{top:calc(50% - 6px);transform:translate(-50%,-50%)}.menu-toggle span:nth-child(2){top:50%;transform:translate(-50%,-50%)}.menu-toggle span:nth-child(3){top:calc(50% + 6px);transform:translate(-50%,-50%)}.menu-toggle.active span:nth-child(2){opacity:0;transform:translate(-50%,-50%) scaleX(0)}.menu-toggle.active span:first-child{top:50%;transform:translate(-50%,-50%) rotate(45deg)}.menu-toggle.active span:nth-child(3){bottom:auto;top:50%;transform:translate(-50%,-50%) rotate(-45deg)}.grit-nav>ul{align-items:flex-start!important;background:var(--card)!important;border-left:1px solid var(--border);box-shadow:-8px 0 24px rgba(0,0,0,.12);display:flex!important;flex-direction:column;gap:0!important;height:calc(100vh - var(--header-h));height:calc(100svh - var(--header-h));justify-content:flex-start!important;overflow-y:auto;padding:10px 8px;position:fixed!important;right:-100%;top:var(--header-h);transition:right .25s;width:clamp(240px,72vw,300px);z-index:1200}.grit-nav>ul.open{right:0!important}.grit-nav>ul>li{border-bottom:1px solid var(--border);width:100%!important}.grit-nav>ul>li.only-mobile.auth-slot{border-bottom:1px solid var(--border);order:-1!important;padding:8px}.grit-nav>ul>li.only-mobile.auth-slot>a.toplink{background:var(--card);border:1px solid var(--border);border-radius:10px;display:block!important;font-weight:800;padding:12px 16px!important;text-align:center!important}.grit-nav>ul>li.only-mobile.auth-slot a[data-auth=login],.grit-nav>ul>li.only-mobile.auth-slot a[data-auth=logout]{display:none!important}body.logged-out .grit-nav>ul>li.only-mobile.auth-slot a[data-auth=login]{display:block!important}body.logged-in .grit-nav>ul>li.only-mobile.auth-slot a[data-auth=logout]{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important;display:block!important}.grit-nav>ul>li.mobile-auth-item{background:var(--card)!important;border-bottom:2px solid var(--border)!important;display:block!important;order:-1!important;padding:0;position:sticky!important;top:0;z-index:10}.grit-nav>ul>li.mobile-auth-item>a.toplink{display:block!important;font-size:16px!important;font-weight:800!important;grid-template-columns:1fr!important;padding:14px 12px!important;text-align:center!important}.grit-nav>ul>li.mobile-auth-item>a.toplink:after{content:""!important}body.logged-out #menu-login-mobile{color:var(--text)!important}body.logged-in #menu-logout-mobile{color:#fff!important;font-weight:800}.grit-nav>ul>li:not(.mobile-auth-item)>a.toplink{align-items:center;color:var(--text);display:grid;font-size:15px;font-weight:700;grid-template-columns:1fr auto;padding:12px!important;text-align:left!important}.grit-nav>ul>li>a.toplink:hover{background:var(--hover);color:var(--brand)}.grit-nav>ul>li>a.toplink:after{content:"▾";font-size:12px;opacity:.75}.grit-nav>ul>li:not(.has-sub)>a.toplink:after{content:""}.grit-nav li.has-sub>.submenu{background:var(--card)!important;border:0!important;border-radius:0!important;box-shadow:none!important;display:block!important;left:auto!important;margin:0!important;max-height:0!important;opacity:0!important;overflow:hidden!important;padding:0 12px 12px!important;position:static!important;top:auto!important;transform:none!important;transition:max-height .25s ease,opacity .2s ease,visibility .2s ease!important;visibility:hidden!important;width:100%!important;z-index:auto!important}.grit-nav li.has-sub[data-open=true]>.submenu{max-height:500px!important;opacity:1!important;overflow:auto!important;visibility:visible!important}.grit-nav .submenu li a{color:var(--text)!important;font-size:14px;padding:10px 12px;text-align:left!important}@media (min-width:1025px){#mobile-auth-row{display:none!important}}.grit-nav>ul>li>a.is-active{box-shadow:none!important;color:var(--brand)!important}body.nav-open:after{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:rgba(0,0,0,.25);content:"";inset:0;position:fixed;z-index:999}}body.nav-open{overflow:hidden;overscroll-behavior:contain;touch-action:none}.section-title{border-left:4px solid var(--brand);font-size:clamp(1.25rem,3vw,1.4rem);font-weight:800;margin:0 0 14px;overflow-wrap:break-word;padding-left:12px;word-break:keep-all}@media (max-width:768px){.section-title{font-size:1.25rem}}@media (max-width:480px){.section-title{font-size:1.125rem;padding-left:10px}}.section-content p{margin:0 0 10px}.section-content,.section-content p{overflow-wrap:break-word;word-break:keep-all}.section-content{box-sizing:border-box;width:100%}@media (max-width:768px){.section-content{font-size:15px}}@media (max-width:480px){.section-content{font-size:14px;line-height:1.7}}@media (min-width:1024px){:root{--header-h:72px}}@media (hover:none) and (pointer:coarse) and (orientation:landscape) and (max-height:560px){:root{--header-h:52px}.grit-header__wrap{grid-template-columns:36px 1fr 36px!important;padding:0 10px!important}#themeToggle,.menu-toggle{height:36px!important;width:36px!important}.theme-toggle-btn img{height:22px;width:22px}.grit-logo{height:28px!important;max-width:min(160px,calc(100vw - 76px))!important;padding:0 2px!important;width:min(160px,calc(100vw - 76px))!important}.grit-logo img{max-height:28px!important}.grit-nav>ul{height:calc(100svh - var(--header-h));padding:6px 8px;top:var(--header-h);width:clamp(220px,64vw,280px)}.grit-nav .submenu li a,.grit-nav>ul>li:not(.mobile-auth-item)>a.toplink{font-size:14px;padding:9px 10px!important}.grit-nav>ul>li.mobile-auth-item>a.toplink,.grit-nav>ul>li.only-mobile.auth-slot>a.toplink{font-size:15px!important;padding:10px 12px!important}}.grit-page-container.notfound{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - var(--header-h) - 160px);padding:40px 16px}.notfound-content{animation:fadeInUp .6s ease-out;max-width:600px;text-align:center;width:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.notfound-visual{align-items:center;display:flex;flex-direction:column;gap:24px;margin-bottom:32px;position:relative}.notfound-number{background:linear-gradient(135deg,var(--brand) 0,var(--accent) 100%);-webkit-background-clip:text;font-size:8rem;font-weight:900;line-height:1;-webkit-text-fill-color:transparent;animation:pulse 2s ease-in-out infinite;background-clip:text;letter-spacing:-.05em}.notfound-icon{animation:rotate 20s linear infinite;opacity:.6}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.notfound-title{color:var(--text);font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:0 0 16px}.notfound-section{margin-top:32px}.notfound-description{color:var(--muted);font-size:1.1rem;line-height:1.7;margin:0 0 40px}.notfound-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.notfound-btn{align-items:center;border-radius:12px;box-shadow:var(--shadow-soft);display:inline-flex;font-size:1rem;font-weight:600;gap:8px;min-height:48px;padding:14px 24px;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap}.notfound-btn:hover{box-shadow:0 8px 20px rgba(255,122,0,.2);transform:translateY(-2px)}.notfound-btn.btn-primary{background:linear-gradient(135deg,var(--brand) 0,var(--accent) 100%);border-color:var(--brand);color:#fff}.notfound-btn.btn-primary:hover{box-shadow:0 8px 24px rgba(255,122,0,.35);filter:brightness(1.1)}.notfound-btn:not(.btn-primary){background:var(--card);border:2px solid var(--border);color:var(--text)}.notfound-btn:not(.btn-primary):hover{background:var(--hover);border-color:var(--brand);color:var(--brand)}.btn-icon{align-items:center;display:inline-flex;font-size:1.2rem;line-height:1}@media (max-width:768px){.grit-page-container.notfound{min-height:calc(100vh - var(--header-h) - 120px);padding:32px 16px}.notfound-number{font-size:5rem}.notfound-icon,.notfound-icon svg{height:80px;width:80px}.notfound-title{font-size:1.5rem}.notfound-description{font-size:1rem;margin-bottom:32px}.notfound-actions{flex-direction:column;gap:10px}.notfound-btn{justify-content:center;max-width:280px;min-height:48px;padding:14px 20px;width:100%}}@media (max-width:480px){.notfound-number{font-size:4rem}.notfound-icon,.notfound-icon svg{height:60px;width:60px}.notfound-title{font-size:1.3rem}.notfound-description{font-size:.95rem}}.admin-tabs{border-bottom:2px solid var(--border);display:flex;gap:8px;margin:24px 0}.admin-tabs button{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;font-weight:700;margin-bottom:-2px;padding:12px 20px;transition:color .2s,border-color .2s}.admin-tabs button:hover{background:var(--hover);color:var(--text)}.admin-tabs button.active{border-bottom-color:var(--brand);color:var(--brand)}.admin-section{display:none}.admin-section.active{display:block}.admin-table{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-top:16px;overflow:hidden}.admin-table thead{background:color-mix(in srgb,var(--brand) 8%,var(--hover))}.admin-table th{border-bottom:2px solid var(--border);color:var(--text);text-align:left;vertical-align:middle;white-space:nowrap}.admin-table td,.admin-table th{font-size:14px;padding:12px 16px}.admin-table td{border-bottom:1px solid var(--border)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:var(--hover)}.admin-table .btn.sm,.admin-table .btn.small{font-size:12px;margin:0 4px;padding:6px 12px}@media (max-width:1024px){.admin-section.active{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{min-width:900px}.admin-table td,.admin-table th{white-space:nowrap}.admin-table td.review-content{min-width:220px;white-space:normal}}.admin-toolbar{align-items:center;background:color-mix(in srgb,var(--brand) 6%,var(--card));border:1px solid color-mix(in srgb,var(--brand) 28%,var(--border));border-radius:12px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding:12px 14px}html[data-theme=dark] .admin-toolbar{background:color-mix(in srgb,var(--brand) 10%,var(--card));border-color:color-mix(in srgb,var(--brand) 35%,var(--border))}.admin-toolbar__search-wrap{align-items:center;background:var(--card);border:1px solid color-mix(in srgb,var(--brand) 38%,var(--border));border-radius:8px;display:inline-flex;flex:1 1 220px;max-width:min(100%,380px);min-height:40px;padding:0 10px 0 12px;transition:border-color .2s ease,box-shadow .2s ease}.admin-toolbar__search-wrap:focus-within{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 22%,transparent)}.admin-toolbar__search-icon{color:var(--muted);display:flex;flex-shrink:0;margin-right:6px;pointer-events:none}.admin-toolbar__search-icon svg{display:block;height:18px;width:18px}.admin-toolbar__search-input{-webkit-appearance:none;appearance:none;background:transparent;border:0;color:var(--text);flex:1 1 auto;font-family:inherit;font-size:14px;font-weight:600;line-height:1.35;min-height:36px;min-width:0;padding:8px 4px 8px 0}.admin-toolbar__search-input::placeholder{color:var(--muted);font-weight:500}.admin-toolbar__search-input:focus{outline:none}.admin-toolbar__select{background:var(--card);border:1px solid color-mix(in srgb,var(--brand) 38%,var(--border));border-radius:8px;color:var(--text);cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;min-height:40px;padding:8px 12px;transition:border-color .2s ease,box-shadow .2s ease}.admin-toolbar__select:hover{border-color:var(--accent)}.admin-toolbar__select:focus{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 18%,transparent);outline:none}.form-group label{font-size:14px;margin-bottom:6px}.form-group .required{color:var(--brand)}.form-group input[type=email],.form-group input[type=file],.form-group input[type=password],.form-group input[type=text],.form-group select{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,122,0,.1);outline:none}.form-group select{cursor:pointer}.posters-preview-grid{display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}@media (max-width:768px){.posters-preview-grid{gap:12px;grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.posters-preview-grid{gap:12px;grid-template-columns:1fr}}.poster-edit-preview-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-top:12px}.day-item{border:1px solid var(--border);border-radius:6px;gap:8px}.arrangement-edit-day-item,.day-item{align-items:end;background:var(--card);display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;padding:12px}.arrangement-edit-day-item{border:1px solid var(--border);border-radius:8px;gap:12px;margin-top:8px}.qna-list-container{display:flex;flex-direction:column;gap:16px}.videos-container{display:flex;flex-direction:column;gap:8px}.video-url-item{align-items:center;display:flex;gap:8px}.gallery-preview-pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:24px}.gallery-preview-page-numbers{display:flex;flex-wrap:wrap;gap:4px}.dynamic-modal-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}@media (max-width:768px){.dynamic-modal-overlay{align-items:flex-start;overflow-y:auto;padding:16px}.dynamic-modal-overlay>*{max-height:calc(100dvh - 32px);max-width:min(100%,calc(100vw - 32px));overflow-y:auto}}.qna-search-container{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.qna-search-input-container{flex:1;max-width:400px;min-width:200px}.schedule-days-grid{display:grid;gap:12px;grid-template-columns:repeat(7,1fr)}.schedule-day-items{display:flex;flex-direction:column;gap:8px}.calendar-grid{border:1px solid var(--border);border-radius:8px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);overflow:hidden}.calendar-day-schedules{display:flex;flex-direction:column;gap:2px}.arrangement-edit-days-container{display:flex;flex-direction:column;gap:8px}.form-fields-column{display:flex;flex-direction:column;gap:16px}.form-field-row{align-items:center;display:flex;gap:8px}.periods-list-container{display:flex;flex-direction:column;gap:12px}.period-item{align-items:center;display:flex;gap:12px}.period-item-controls{display:flex;flex-direction:column;gap:4px}.button-group-horizontal{display:flex;gap:8px}.checkbox-label-item,.radio-label-item{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:background .2s}.radio-label-item{background:var(--hover);gap:8px;margin-bottom:8px}.radio-label-item:last-child{margin-bottom:0}.radio-options-column{display:flex;flex-direction:column;gap:12px}.page-header-row{align-items:center;display:flex;justify-content:space-between}.order-grid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.editor-toolbar{align-items:center;gap:0}.toolbar-group{align-items:center;display:flex;gap:2px}.toolbar-group:has(input[type=color]),.toolbar-group:has(select){gap:8px}.qna-pagination{flex-wrap:wrap;justify-content:center;margin-top:24px}.qna-pagination,.schedule-item-row{align-items:center;display:flex;gap:8px}.date-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.edit-field-row-flex{align-items:start;display:flex;gap:8px}.array-item-row{align-items:center;display:flex;gap:4px;margin-bottom:4px}.course-video-url-item{align-items:center;display:flex;gap:8px}.form-grid{flex:1;overflow-y:auto}@media (max-width:768px){.form-grid{grid-template-columns:1fr}}.form-group textarea{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:14px;padding:10px 12px;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.form-group textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,122,0,.1);outline:none}@media (max-width:768px){.admin-toolbar__search-input,.admin-toolbar__select,.form-group input,.form-group select,.form-group textarea{font-size:16px}}.form-group.form-actions{display:flex;gap:8px;margin-top:20px}.filter-section{flex-wrap:wrap;gap:12px;margin-bottom:20px}.filter-item,.filter-section{align-items:center;display:flex}.filter-item{gap:8px}.filter-item label{color:var(--text);font-weight:600}.filter-item select{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px 12px}.rating-stars-container{cursor:pointer;display:flex;font-size:32px;gap:8px}.rating-stars-container .star{align-items:center;color:var(--muted);display:inline-flex;justify-content:center;transition:color .2s}.rating-stars-container .star.active{color:#fbbf24}.rating-stars{display:flex;font-size:16px;gap:2px}.rating-stars .star{color:#fbbf24}.rating-stars .star.empty{color:var(--muted)}.page-header-actions{display:flex;gap:8px}.page-header-actions .btn{align-items:center;display:inline-flex;gap:6px}.admin-table td.review-content{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toggle-switch{display:inline-block;flex-shrink:0;height:26px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:var(--border);border-radius:26px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:20px;left:3px;position:absolute;transition:.3s;width:20px}.toggle-switch input:checked+.toggle-slider{background-color:var(--brand)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}.toggle-switch input:disabled+.toggle-slider{cursor:not-allowed;opacity:.5}.student-dashboard .course-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}@media (min-width:992px){.student-dashboard .course-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}.student-dashboard .course-card{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 6px 18px rgba(0,0,0,.08);padding:12px}.iframe-box{aspect-ratio:16/9;background:#000;border-radius:10px;margin-bottom:8px;overflow:hidden}.iframe-box iframe{border:0;display:block;height:100%;width:100%}.ext-box{aspect-ratio:16/9;background:#111;border-radius:10px;color:#fff;display:grid;margin-bottom:8px;place-items:center}.student-dashboard .course-card h3{color:var(--text);font-size:1.05rem;margin:6px 0 2px}.student-dashboard .course-card .course-meta{color:var(--muted);font-size:13px;margin:4px 0}.student-dashboard .course-card .course-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.admin-courses-page .admin-courses-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.admin-courses-page .admin-courses-head .page-title{margin:0}.admin-courses-page .admin-courses-head__actions{display:flex;flex-wrap:wrap;gap:8px}.admin-courses-page .admin-courses-meta{font-size:14px;font-weight:600;margin:12px 0 16px}.admin-courses-page .admin-toolbar{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(260px,1fr) minmax(150px,180px) minmax(150px,180px) auto auto}.admin-courses-page .admin-toolbar--advanced{border-top:1px solid var(--border);grid-template-columns:repeat(4,minmax(140px,1fr));margin-top:10px;padding-top:10px}.admin-courses-page .admin-toolbar[hidden]{display:none}.admin-courses-page .admin-toolbar__search-wrap{min-width:0}.admin-courses-page .admin-toolbar__search-input,.admin-courses-page .admin-toolbar__select{min-height:38px;width:100%}.admin-courses-page .admin-table-wrap{overflow-x:auto}.admin-courses-page .admin-table-empty td{padding:40px;text-align:center}.admin-courses-page .admin-courses-pagination{align-items:center;border-top:1px solid color-mix(in srgb,var(--brand) 18%,var(--border));display:none;flex-direction:column;gap:clamp(10px,2vw,14px);margin-top:24px;padding-bottom:4px;padding-top:clamp(14px,2.5vw,22px);width:100%}.admin-courses-page .admin-courses-pagination.is-visible{display:flex}.admin-courses-page .admin-courses-pagination-inner{align-items:center;display:flex;flex-direction:column;gap:clamp(10px,2.5vw,14px);justify-content:center;width:100%}.admin-courses-page .admin-courses-pagination-controls{align-items:center;display:inline-flex;flex-wrap:nowrap;gap:clamp(4px,1.2vw,8px);justify-content:center;max-width:100%;min-width:0;overflow-x:auto;padding:4px 2px 6px}.admin-courses-page .admin-courses-pagination-pages{align-items:center;display:inline-flex;flex-shrink:0;flex-wrap:nowrap;gap:clamp(3px,1vw,6px)}.admin-courses-page .admin-courses-pagination .pagination-btn{border-radius:clamp(6px,1.5vw,10px);flex-shrink:0;font-size:clamp(11px,min(2.6vw,.85rem),14px);font-weight:700;min-height:clamp(30px,min(8vw,2.5rem),40px);padding:clamp(5px,min(1.6vw,.5rem),9px) clamp(6px,min(2vw,.65rem),14px)}.admin-courses-page .admin-courses-pagination-num{min-width:clamp(28px,min(8vw,2.5rem),40px)}.admin-courses-page .admin-courses-pagination-num.is-active{background:var(--brand);border-color:var(--brand);color:#fff}.admin-courses-page .admin-courses-pagination-info{color:var(--muted);font-size:clamp(12px,2.8vw,14px);font-variant-numeric:tabular-nums;font-weight:600;margin:0;text-align:center;white-space:nowrap;width:100%}#contentEditModal.admin-courses-modal{align-items:center;background:rgba(0,0,0,.5);display:none;inset:0;justify-content:center;overflow-y:auto;padding:20px;position:fixed;z-index:10000}#contentEditModal.admin-courses-modal.is-open{display:flex}.admin-courses-modal--support{align-items:center;background:rgba(0,0,0,.5);display:none;inset:0;justify-content:center;overflow-y:auto;padding:20px;position:fixed;z-index:10000}.admin-courses-modal--support.is-open{display:flex}body.modal-open,html.modal-open{overflow:hidden!important}#contentEditModal.admin-courses-modal .modal-content{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.25);display:flex;flex-direction:column;max-height:calc(100vh - 80px);max-width:1040px;opacity:0;overflow:hidden;transform:scale(.95);transition:opacity .25s ease,transform .25s ease;width:100%}#contentEditModal.admin-courses-modal.is-open .modal-content{opacity:1;transform:scale(1)}.admin-courses-modal--support .modal-content{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.25);max-height:calc(100vh - 80px);max-width:920px;overflow:hidden;width:min(920px,100%)}.admin-courses-modal--support.is-open .modal-content{opacity:1;transform:scale(1)}.admin-courses-support-modal{display:flex;flex-direction:column;padding:24px 28px 20px}.admin-courses-support-modal--narrow{max-width:620px}.admin-courses-modal--support .modal-header{align-items:flex-start;border-bottom:2px solid var(--border);display:flex;gap:16px;justify-content:space-between;margin-bottom:18px;padding-bottom:14px}.admin-courses-modal--support .modal-header h2{color:var(--text);font-size:24px;font-weight:800;margin:0}.admin-courses-modal--support .modal-close{align-items:center;background:var(--hover);border:none;border-radius:10px;color:var(--muted);cursor:pointer;display:flex;flex:0 0 auto;font-size:24px;height:40px;justify-content:center;width:40px}.admin-courses-modal--support .modal-close:hover{background:var(--brand);color:#fff}.admin-courses-modal-note{font-size:13px;line-height:1.5;margin:6px 0 0}.admin-courses-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto}.admin-courses-modal-footer{align-items:center;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:16px}.admin-courses-modal-footer--split{justify-content:space-between}.admin-courses-action-row{display:flex;flex-wrap:wrap;gap:6px}.admin-courses-warning-box{background:color-mix(in srgb,#f59e0b 10%,var(--card));border:1px solid color-mix(in srgb,#f59e0b 32%,var(--border));border-radius:12px}.admin-courses-danger-box,.admin-courses-warning-box{color:var(--text);line-height:1.6;margin-bottom:14px;padding:12px 14px}.admin-courses-danger-box{background:color-mix(in srgb,var(--error-color) 9%,var(--card));border:1px solid color-mix(in srgb,var(--error-color) 32%,var(--border));border-radius:12px}.admin-courses-confirm-label{color:var(--text);display:block;font-size:13px;font-weight:800;margin-bottom:6px}.admin-courses-confirm-input{background:var(--card);border:1px solid var(--border);border-radius:10px;color:var(--text);font:inherit;min-height:42px;padding:10px 12px;width:100%}.admin-courses-confirm-input:focus{border-color:var(--brand);outline:2px solid color-mix(in srgb,var(--brand) 24%,transparent);outline-offset:1px}.admin-courses-delete-list{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 14px}.admin-courses-delete-list__box{border:1px solid var(--border);border-radius:12px;padding:12px 14px}.admin-courses-delete-list__box strong{display:block;margin-bottom:6px}.admin-courses-delete-list__box ul{margin:0;padding-left:18px}.admin-courses-delete-list__box li{margin:3px 0}.admin-courses-enrollment-summary{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:12px}.admin-courses-enrollment-count{color:var(--brand);font-size:18px;font-weight:800}.admin-courses-enrollment-table-wrap{border:1px solid var(--border);border-radius:12px;overflow-x:auto}.admin-courses-enrollment-table{border-collapse:collapse;min-width:760px;width:100%}.admin-courses-enrollment-table td,.admin-courses-enrollment-table th{border-bottom:1px solid var(--border);padding:10px 12px;text-align:left;vertical-align:top}.admin-courses-enrollment-table th{background:color-mix(in srgb,var(--brand) 7%,var(--card));font-size:13px;font-weight:800;white-space:nowrap}.admin-courses-enrollment-table tr:last-child td{border-bottom:none}.admin-courses-enrollment-empty{border:1px dashed var(--border);border-radius:12px;color:var(--muted);padding:24px;text-align:center}#contentEditModal .content-edit-modal{padding:24px 28px 20px}#contentEditModal .content-edit-form{display:flex;flex:1;flex-direction:column;min-height:0}#contentEditModal .content-edit-modal__scroll{flex:1 1 auto;margin-right:-4px;min-height:0;overflow-y:auto;padding-right:4px}#contentEditModal .content-edit-section{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:14px;padding:16px 16px 8px}#contentEditModal .content-edit-section__title{border-bottom:1px solid color-mix(in srgb,var(--brand) 25%,var(--border));color:var(--brand);font-size:13px;font-weight:800;letter-spacing:.04em;margin:0 0 12px;padding-bottom:8px;text-transform:uppercase}#contentEditModal .content-edit-modal__footer{align-items:center;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding-top:16px}#contentEditModal .modal-header{align-items:center;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;margin-bottom:18px;padding-bottom:14px}#contentEditModal .modal-header h2{color:var(--text);font-size:24px;font-weight:800;margin:0}#contentEditModal .modal-close{align-items:center;background:var(--hover);border:none;border-radius:10px;color:var(--muted);cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;width:40px}#contentEditModal .modal-close:hover{background:var(--brand);color:#fff}#contentEditModal .form-row{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}#contentEditModal .form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}#contentEditModal .form-group label{color:var(--text);font-weight:700}#contentEditModal .required{color:var(--error-color)}#contentEditModal .form-group input,#contentEditModal .form-group select,#contentEditModal .form-group textarea{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:15px;padding:10px 12px}#contentEditModal .course-week-row{border:1px solid var(--border);border-radius:10px;margin-bottom:12px;padding:12px}#contentEditModal .content-edit-hint{font-size:13px;line-height:1.45;margin:0}#contentEditModal .content-edit-layout{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 320px}#contentEditModal .content-edit-layout__form{min-width:0}#contentEditModal .content-edit-live-preview{background:color-mix(in srgb,var(--brand) 6%,var(--card));border:1px solid var(--border);border-radius:12px;padding:14px 16px;position:sticky;top:0}#contentEditModal .content-edit-live-preview__title{color:var(--brand);font-size:14px;font-weight:800;margin:0 0 4px}#contentEditModal .content-edit-live-preview__note{font-size:12px;margin:0 0 12px}#contentEditModal .admin-course-card-preview-wrap{margin:0}#contentEditModal .admin-course-card-preview-wrap .course-card--admin-preview{pointer-events:none;width:100%}#contentEditModal .admin-course-card-preview__badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}#contentEditModal .admin-course-card-preview__badge{border-radius:999px;font-size:11px;font-weight:800;line-height:1;padding:5px 9px}#contentEditModal .admin-course-card-preview__badge--access{background:color-mix(in srgb,var(--brand) 16%,var(--card));border:1px solid color-mix(in srgb,var(--brand) 34%,var(--border));color:var(--brand)}#contentEditModal .admin-course-card-preview__badge--format{background:color-mix(in srgb,var(--muted) 12%,var(--card));border:1px solid var(--border);color:var(--text)}#contentEditModal .admin-course-card-preview__badge--access.is-member{background:color-mix(in srgb,#7c3aed 14%,var(--card));border-color:color-mix(in srgb,#7c3aed 34%,var(--border));color:#7c3aed}#contentEditModal .admin-course-card-preview__footer{border-top:1px dashed var(--border);display:grid;font-size:11px;gap:4px;line-height:1.4;margin-top:8px;padding-top:8px}#contentEditModal .content-edit-curriculum-actions{margin-top:10px}@media (max-width:900px){.admin-courses-page .admin-toolbar,.admin-courses-page .admin-toolbar--advanced{grid-template-columns:1fr 1fr}.admin-courses-page .admin-toolbar__search-wrap{grid-column:1/-1}#contentEditModal .content-edit-layout{grid-template-columns:1fr}#contentEditModal .content-edit-live-preview{position:static}}@media (max-width:768px){#contentEditModal .form-group input,#contentEditModal .form-group select,#contentEditModal .form-group textarea,.admin-courses-page .admin-toolbar__search-input,.admin-courses-page .admin-toolbar__select{font-size:16px}}@media (max-width:640px){.admin-courses-delete-list,.admin-courses-page .admin-toolbar,.admin-courses-page .admin-toolbar--advanced{grid-template-columns:1fr}.admin-courses-support-modal{padding:18px 16px 16px}.admin-courses-modal-footer,.admin-courses-modal-footer--split{align-items:stretch;flex-direction:column}.admin-courses-modal-footer .btn{width:100%}}.admin-dashboard-page{display:flex;flex-direction:column;gap:28px;margin-inline:auto;max-width:1200px;width:min(100% - 40px,1200px)}.dashboard-hero,.dashboard-section{box-sizing:border-box;margin-top:0;width:100%}.dashboard-hero{padding-bottom:26px;text-align:left}.dashboard-header-row{align-items:center;display:flex;gap:24px;justify-content:space-between}.dashboard-header-row>div:first-child{flex:1;min-width:0;text-align:left}.dashboard-kicker{color:var(--brand);font-size:14px;font-weight:700;margin:0 0 8px}.dashboard-hero .page-title{margin:0;text-align:left}.dashboard-intro{color:var(--muted);line-height:1.6;margin:10px 0 0;max-width:720px}.dashboard-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;justify-content:flex-end}.dashboard-section-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px;text-align:left}.dashboard-section-heading h2{font-size:22px;margin:0}.dashboard-section-heading p{color:var(--muted);font-size:14px;margin:8px 0 0}.dashboard-updated-at{font-size:13px;margin:0;white-space:nowrap}.dashboard-status-grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-status-card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 6px 18px rgba(0,0,0,.04);min-height:150px;padding:20px}.status-card-header{align-items:center;display:flex;gap:10px;margin-bottom:18px}.status-icon{align-items:center;background:rgba(255,122,0,.1);border-radius:10px;color:var(--brand);display:inline-flex;flex-shrink:0;height:34px;justify-content:center;width:34px}.status-icon svg{display:block;height:20px;width:20px}.dashboard-status-card .status-label{color:var(--text);display:block;font-size:14px;font-weight:700}.dashboard-status-card strong{color:var(--text);display:block;font-size:34px;line-height:1;margin-bottom:10px}.dashboard-status-card .status-meta{color:var(--muted);display:block;font-size:12px;line-height:1.4}.dashboard-status-card[data-state=loaded]{border-color:rgba(255,122,0,.3)}.dashboard-status-card[data-state=loading] strong{color:var(--muted)}.dashboard-status-card[data-state=error],.dashboard-status-card[data-state=warning]{border-color:#f59e0b}.dashboard-card{background:var(--card);border:1px solid var(--border);border-radius:14px;color:inherit;display:block;min-height:132px;overflow:hidden;padding:18px;position:relative;text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.dashboard-card:before{background:linear-gradient(180deg,var(--brand) 0,#ff8c42 100%);content:"";inset:0 auto 0 0;opacity:0;position:absolute;transition:opacity .2s ease;width:4px}.dashboard-card:hover{border-color:var(--brand);box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px)}.dashboard-card:hover:before{opacity:1}.dashboard-card .menu-card-icon{align-items:center;background:rgba(255,122,0,.1);border-radius:12px;color:var(--brand);display:inline-flex;flex-shrink:0;height:38px;justify-content:center;line-height:1;margin-bottom:14px;padding:0;width:38px}.dashboard-card .menu-card-icon svg{display:block;height:21px;margin:auto;width:21px}.dashboard-card strong{color:var(--text);display:block;font-size:16px;margin-bottom:8px}.dashboard-card span{color:var(--muted);display:block;font-size:14px;line-height:1.5}.dashboard-nav-groups{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-nav-group{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px}.dashboard-nav-group h3{font-size:18px;margin:0 0 16px}.dashboard-card-grid{display:grid;gap:12px;grid-template-columns:1fr}#refreshBtn:disabled{cursor:not-allowed;opacity:.6}#refreshBtn:not(:disabled){background:var(--brand);border-color:var(--brand);color:#fff}#refreshBtn:not(:disabled):hover{background:#ff8c42;border-color:#ff8c42}.dashboard-actions .btn{align-items:center;display:inline-flex;justify-content:center}@media (hover:none) and (pointer:coarse){.dashboard-card:hover{transform:none}.dashboard-card:active{transform:translateY(-1px)}}@media (max-width:960px){.dashboard-nav-groups,.dashboard-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.dashboard-header-row,.dashboard-section-heading{flex-direction:column}.dashboard-updated-at{white-space:normal}.dashboard-nav-groups,.dashboard-status-grid{grid-template-columns:1fr}.dashboard-actions{justify-content:stretch;width:100%}.dashboard-actions .btn{flex:1 1 100%;justify-content:center}.dashboard-nav-group{padding:16px}}@media (max-width:1024px){.admin-table{display:block;min-width:1080px;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table td,.admin-table th{white-space:nowrap}}@media (max-width:768px){.modal{padding:16px}.modal-content{max-height:calc(100dvh - 32px);padding:20px}.form-grid{grid-template-columns:1fr}}.form-row{gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group input,.form-group textarea{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:15px;padding:10px 12px}.form-group input:focus,.form-group textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,122,0,.1);outline:none}@media (max-width:768px){.form-group input,.form-group textarea{font-size:16px}}.instructor-edit-section{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:18px;padding:18px}.instructor-edit-section__header{margin-bottom:16px}.instructor-edit-section__header h3{color:var(--text);font-size:17px;margin:0 0 6px}.instructor-edit-section__header p{color:var(--muted);font-size:13px;line-height:1.5;margin:0}.assignment-summary-box,.instructor-readonly-box{background:var(--card);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:14px;line-height:1.6;padding:14px}.assignment-summary-box p,.instructor-readonly-box p{margin:0}.instructor-meta-list{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:10px 0 0}.instructor-meta-item{background:var(--hover);border:1px solid var(--border);border-radius:8px;padding:10px}.instructor-meta-label{color:var(--muted);display:block;font-size:12px;margin-bottom:4px}.instructor-meta-value{font-weight:700;word-break:break-all}.assignment-summary-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-summary-card{background:var(--hover);border:1px solid var(--border);border-radius:10px;padding:12px}.assignment-summary-card h4{align-items:center;display:flex;font-size:14px;gap:8px;justify-content:space-between;margin:0}.assignment-summary-actions{display:flex;justify-content:flex-end;margin-top:12px}.assignment-inline-detail{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px;max-height:min(360px,calc(100dvh - 360px));overflow-y:auto;padding-right:4px}.assignment-inline-detail[hidden]{display:none}.assignment-inline-section{background:var(--hover);border:1px solid var(--border);border-radius:10px;min-height:0;padding:12px}.assignment-inline-section h4{color:var(--text);font-size:14px;margin:0 0 8px}.assignment-inline-list{max-height:240px;overflow-y:auto;padding-right:4px}.assignment-inline-list ul{color:var(--text);line-height:1.7;margin:0;padding-left:18px}.assignment-inline-list li{margin:4px 0}.account-status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;padding:5px 10px}.account-status-pill.account-linked{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.account-status-pill.account-unlinked{background:#fff7ed;border:1px solid #fed7aa;color:#c2410c}.assignment-count-chip{align-items:center;background:rgba(255,122,0,.12);border-radius:999px;color:var(--brand);display:inline-flex;font-size:12px;font-weight:800;justify-content:center;min-width:44px;padding:4px 9px;white-space:nowrap}.assignment-count-chip--offline{background:rgba(37,99,235,.12);color:#2563eb}.assignment-empty{color:var(--muted);font-size:13px;line-height:1.6;margin:0}.modal-actions{margin-top:20px}.curriculum-image-list{display:flex;flex-direction:column;gap:10px}.curriculum-image-row{align-items:start;background:var(--card);border:1px solid var(--border);border-radius:10px;display:grid;gap:12px;grid-template-columns:128px minmax(0,1fr);padding:10px}.curriculum-image-thumb{align-items:center;aspect-ratio:4/3;background:var(--hover);border:1px dashed var(--border);border-radius:8px;color:var(--muted);display:flex;font-size:12px;justify-content:center;overflow:hidden;width:100%}.curriculum-image-thumb.has-image{background:var(--card);border-style:solid}.curriculum-image-thumb img{display:block;height:100%;object-fit:contain;width:100%}.curriculum-image-fields{display:flex;flex-direction:column;gap:8px;min-width:0}.curriculum-image-row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.curriculum-image-file{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);flex:1 1 220px;min-width:0;padding:7px}.curriculum-image-remove[hidden]{display:none}.curriculum-preview-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));width:100%}.curriculum-preview-item{margin:0;min-width:0}.curriculum-preview-item img,.curriculum-preview-panel img{background:var(--card);border:1px solid var(--border);border-radius:8px;display:block;max-height:360px;max-width:100%;object-fit:contain}.curriculum-preview-item figcaption{color:var(--muted);font-size:12px;line-height:1.4;margin:6px 0 0;word-break:break-all}.curriculum-preview-panel{background:var(--hover);border-radius:10px;display:flex;justify-content:center;padding:12px}.curriculum-preview-panel.curriculum-preview-grid{display:grid;justify-content:stretch}.instructor-detail-preview{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.instructor-detail-preview .instructor-hero{align-items:start;border-bottom:1px solid var(--border);display:grid;gap:24px;grid-template-columns:200px 1fr;margin-bottom:32px;padding-bottom:24px}.instructor-detail-preview .hero-photo{aspect-ratio:3/4;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.1);object-fit:cover;width:100%}.instructor-detail-preview .hero-content{padding-top:0}.instructor-detail-preview .hero-headline{color:var(--brand);font-size:12px;font-weight:700;margin-bottom:6px}.instructor-detail-preview .hero-title{font-size:24px;font-weight:900;line-height:1.2;margin:0 0 12px}.instructor-detail-preview .hero-sub{color:var(--muted);display:block;font-size:14px;margin-top:4px}.instructor-detail-preview .hero-lead{color:var(--text);font-size:14px;line-height:1.6;margin:12px 0}.instructor-detail-preview .instructor-bio-formatted{display:flex;flex-direction:column;gap:3px}.instructor-detail-preview .instructor-bio-row{line-height:1.6;margin:0}.instructor-detail-preview .instructor-bio-prefix{font-weight:700;margin-right:8px}.instructor-detail-preview .instructor-bio-prefix.is-current{color:var(--brand)}.instructor-detail-preview .instructor-bio-prefix.is-previous{color:var(--muted);font-weight:600}.instructor-detail-preview .instructor-bio-text{color:var(--text)}.instructor-detail-preview .instructor-sections{display:flex;flex-direction:column;gap:20px}.instructor-detail-preview .section-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}.instructor-detail-preview .section-title{border-left:4px solid var(--brand);font-size:18px;font-weight:800;margin:0 0 12px;padding-left:10px}.instructor-detail-preview .section-content{font-size:14px;line-height:1.7}.instructor-detail-preview .section-content p{margin:0 0 10px}.instructor-detail-preview .section-content ul{margin:8px 0;padding-left:24px}.instructor-detail-preview .section-content li{margin:4px 0}.instructor-detail-preview .section-content h2{font-size:20px;font-weight:700;margin:16px 0 12px}.instructor-detail-preview .section-content h3{font-size:18px;font-weight:700;margin:14px 0 10px}@media (max-width:768px){.form-group>div[style*=grid-template-columns]{grid-template-columns:1fr!important}.assignment-inline-detail,.curriculum-image-row{grid-template-columns:1fr}.curriculum-image-thumb{max-width:140px}.assignment-summary-grid,.instructor-detail-preview .instructor-hero{grid-template-columns:1fr}}.admin-members-page{max-width:var(--container)}.admin-members-actions #refreshMembersBtn{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:800;white-space:nowrap}.admin-members-toolbar{align-items:center;margin-bottom:12px}.admin-members-toolbar .admin-toolbar__search-wrap{flex:1 1 260px;max-width:none}.admin-members-toolbar .admin-toolbar__select{flex:0 1 148px}.admin-members-section-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.admin-members-section-head h2{font-size:18px;margin:0}.admin-members-section-head p{color:var(--muted);font-size:12px;line-height:1.5;margin:4px 0 0}.admin-members-meta{color:var(--muted);font-size:13px;margin:0 0 10px}.admin-members-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-members-table{min-width:840px}.admin-members-table td{vertical-align:middle}.member-pagination{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:16px}.member-pagination .btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.member-purpose-pill{background:rgba(255,122,0,.1);font-weight:800;padding:4px 8px}.admin-members-body .count-chip,.member-purpose-pill{align-items:center;border-radius:999px;color:var(--brand);display:inline-flex;font-size:12px;white-space:nowrap}.admin-members-body .count-chip{background:rgba(255,122,0,.12);font-weight:700;justify-content:center;min-width:44px;padding:5px 10px}.admin-members-body .count-chip--offline{background:rgba(59,130,246,.12);color:#2563eb}.member-detail-modal{align-items:center;background:rgba(15,23,42,.55);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:10000}.member-detail-modal[hidden]{display:none}.member-detail-dialog{background:var(--bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.25);color:var(--text);max-height:calc(100dvh - 40px);overflow:auto;padding:24px;position:relative;width:min(920px,100%)}.member-detail-dialog .modal-close{position:absolute;right:14px;top:14px}.member-detail-dialog h2{margin:0 40px 18px 0}.member-detail{display:grid;gap:18px}.member-detail-section{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}.member-detail-section h3{font-size:16px;margin:0 0 12px}.member-detail-section h3 span{color:var(--brand);font-size:13px;font-weight:700;margin-left:6px}.member-detail-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0}.member-detail-grid div{background:var(--hover);border-radius:8px;padding:10px 12px}.member-detail-grid dt{color:var(--muted);font-size:12px;margin-bottom:4px}.member-detail-grid dd{color:var(--text);font-size:14px;font-weight:600;margin:0;word-break:break-word}.member-detail-section ul{margin:0}.member-detail-list{display:grid;gap:8px;list-style:none;padding:0}.member-detail-list li{background:var(--hover);border:1px solid var(--border);border-radius:8px;font-size:14px;line-height:1.6;padding:10px 12px}.member-detail-child-head{display:grid;gap:2px}.member-detail-child-head span,.member-detail-child-note,.member-detail-sublist span{color:var(--muted);font-size:13px}.member-detail-child-counts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.member-detail-child-note{margin:8px 0 0}.member-detail-sublist{display:grid;gap:6px;list-style:none;margin-top:8px!important;padding:0}.member-detail-sublist li{background:var(--card)}.member-attempts-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.member-attempts-head h3{margin:0}.member-attempts-body{font-size:14px;line-height:1.6}@media (max-width:900px){.admin-members-toolbar{align-items:stretch}.admin-members-toolbar .admin-toolbar__search-wrap,.admin-members-toolbar .admin-toolbar__select{flex:1 1 calc(50% - 10px);max-width:none}}@media (max-width:640px){.admin-members-section-head,.page-header-row{flex-direction:column}.page-header-row{align-items:stretch}.page-header-actions{justify-content:flex-start}.page-header-actions .btn{flex:1 1 auto}.admin-members-toolbar .admin-toolbar__search-wrap,.admin-members-toolbar .admin-toolbar__select{flex-basis:100%}.member-detail-modal{align-items:flex-start;overflow-y:auto;padding:16px}.member-detail-dialog{max-height:calc(100dvh - 32px);padding:20px}.member-attempts-head{align-items:flex-start;flex-direction:column}}.admin-offline-classes-page .admin-offline-classes-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.admin-offline-classes-page .admin-offline-classes-head .page-title{margin:0 0 6px}.admin-offline-classes-page .admin-offline-classes-desc{font-size:14px;line-height:1.5;margin:0}.admin-offline-classes-page .admin-offline-classes-head__actions{display:flex;flex-wrap:wrap;gap:8px}.admin-offline-classes-page .admin-offline-classes-meta{font-size:14px;font-weight:600;margin:12px 0 16px}.admin-offline-classes-page .admin-table-wrap{overflow-x:auto}.admin-offline-classes-page .admin-table-empty{padding:40px 16px;text-align:center}.admin-offline-classes-page .offline-class-actions{display:flex;flex-wrap:wrap;gap:6px}.admin-offline-classes-page .offline-class-status{border-radius:6px;display:inline-block;font-size:12px;font-weight:700;padding:4px 10px}.admin-offline-classes-page .offline-class-status--active{background:color-mix(in srgb,var(--success-color,#4caf50) 18%,transparent);color:var(--success-color,#2e7d32)}.admin-offline-classes-page .offline-class-status--archived{background:var(--hover);color:var(--muted)}.admin-offline-classes-page .admin-offline-classes-toast{background:var(--success-bg);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.12);color:var(--success-color);font-weight:600;left:50%;max-width:min(90%,420px);opacity:0;padding:12px 16px;pointer-events:none;position:fixed;text-align:center;top:80px;transform:translateX(-50%);transition:opacity .25s ease;z-index:10001}.admin-offline-classes-page .admin-offline-classes-toast.is-visible{opacity:1}.admin-offline-classes-page .admin-offline-classes-toast.is-error{background:var(--error-bg);color:var(--error-color)}.admin-offline-classes-page .admin-offline-class-modal.modal{align-items:flex-start;display:none;inset:0;justify-content:center;overflow-y:auto;padding:20px;position:fixed;z-index:10000}.admin-offline-classes-page .admin-offline-class-modal.modal.is-open{display:flex}.admin-offline-classes-page .admin-offline-class-modal.modal[hidden]:not(.is-open){display:none!important}.admin-offline-class-modal .admin-offline-class-modal__content{max-height:calc(100vh - 40px);max-width:1040px;overflow-y:auto;width:100%}.admin-offline-class-form-layout{display:grid;gap:24px;grid-template-columns:minmax(0,1.4fr) minmax(260px,.9fr);margin-bottom:20px}.admin-offline-class-form-main{display:flex;flex-direction:column;gap:20px;min-width:0}.admin-offline-form-section{background:color-mix(in srgb,var(--card) 92%,var(--hover));border:1px solid var(--border);border-radius:12px;padding:16px}.admin-offline-form-section__title{font-size:15px;margin:0 0 14px}.admin-offline-class-preview-panel{align-self:start;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;position:sticky;top:0}.admin-offline-class-preview__title{font-size:15px;margin:0 0 12px}.admin-offline-class-preview__card{display:flex;flex-direction:column;gap:8px}.admin-offline-class-preview__label{color:var(--brand,#ff7a00);font-size:13px;font-weight:700;margin:0}.admin-offline-class-preview__name{font-size:20px;line-height:1.35;margin:0}.admin-offline-class-preview__meta{color:var(--muted);font-size:13px;line-height:1.5;margin:0}.admin-offline-class-preview__schedule{font-size:13px;line-height:1.55;list-style:none;margin:0;padding:0}.admin-offline-class-preview__schedule li+li{margin-top:4px}.admin-offline-class-preview__desc{font-size:13px;line-height:1.55;margin:4px 0 0}.admin-offline-class-form .form-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:20px}.admin-offline-class-form .form-full{grid-column:1/-1}.admin-offline-class-form .form-label{display:block;font-weight:600;margin-bottom:8px}.admin-offline-class-form .schedule-days{display:flex;flex-wrap:wrap;gap:10px 14px}.admin-offline-class-form .schedule-days__item{align-items:center;cursor:pointer;display:inline-flex;font-size:14px;gap:6px}.admin-offline-class-form .form-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}@media (max-width:900px){.admin-offline-class-form-layout{grid-template-columns:1fr}.admin-offline-class-preview-panel{position:static}}@media (max-width:640px){.admin-offline-class-form .form-grid{grid-template-columns:1fr}}.admin-offline-classes-page .admin-offline-members-modal.modal{align-items:flex-start;display:none;inset:0;justify-content:center;overflow-y:auto;padding:20px;position:fixed;z-index:10000}.admin-offline-classes-page .admin-offline-members-modal.modal.is-open{display:flex}.admin-offline-classes-page .admin-offline-members-modal.modal[hidden]:not(.is-open){display:none!important}.admin-offline-members-modal .admin-offline-members-modal__content{max-height:calc(100vh - 40px);max-width:920px;overflow-y:auto;width:100%}.admin-offline-members-modal .admin-offline-members-subtitle{font-size:14px;margin:4px 0 0}.admin-offline-members-modal .offline-members-section-title{font-size:16px;margin:0 0 12px}.admin-offline-members-modal .offline-members-add-section{border-bottom:1px solid var(--border,#e5e7eb);margin-bottom:20px;padding-bottom:20px}.admin-offline-members-modal .offline-members-add-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.admin-offline-members-modal .offline-members-add-toolbar .admin-toolbar__search-input{flex:1 1 220px;min-width:180px}.admin-offline-members-modal .offline-member-search-results{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.admin-offline-members-modal .offline-member-search-item{align-items:flex-start;border:1px solid var(--border,#e5e7eb);border-radius:8px;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 10px}.admin-offline-members-modal .offline-member-search-item.is-disabled{cursor:not-allowed;opacity:.65}.admin-offline-members-modal .offline-members-list-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:8px}.admin-offline-members-modal .offline-members-meta{font-size:13px;margin:0 0 12px}.admin-offline-members-modal .offline-members-archived-notice{background:color-mix(in srgb,var(--warning-color,#f59e0b) 12%,transparent);border-radius:8px;color:var(--text);font-size:14px;margin-bottom:16px;padding:10px 12px}.admin-offline-members-modal .offline-member-status{border-radius:6px;display:inline-block;font-size:12px;font-weight:700;padding:4px 10px}.admin-offline-members-modal .offline-member-status--active{background:color-mix(in srgb,var(--success-color,#4caf50) 18%,transparent);color:var(--success-color,#2e7d32)}.admin-offline-members-modal .offline-member-status--removed{background:var(--hover);color:var(--muted)}.admin-offline-members-modal .offline-members-table-wrap{max-height:360px;overflow:auto}.admin-offline-classes-page .admin-offline-sessions-modal.modal{align-items:flex-start;display:none;inset:0;justify-content:center;overflow-y:auto;padding:20px;position:fixed;z-index:10000}.admin-offline-classes-page .admin-offline-sessions-modal.modal.is-open{display:flex}.admin-offline-classes-page .admin-offline-sessions-modal.modal[hidden]:not(.is-open){display:none!important}.admin-offline-sessions-modal .admin-offline-sessions-modal__content{max-height:calc(100vh - 40px);max-width:920px;overflow-y:auto;width:100%}.admin-offline-sessions-modal .modal-header{align-items:flex-start;gap:12px}.admin-offline-sessions-modal .admin-offline-sessions-subtitle{font-size:14px;margin:4px 0 0}.admin-offline-sessions-modal .offline-sessions-header-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.admin-offline-sessions-modal .offline-sessions-meta{font-size:13px;margin:0 0 12px}.admin-offline-sessions-modal .offline-sessions-archived-notice{background:color-mix(in srgb,var(--warning-color,#f59e0b) 12%,transparent);border-radius:8px;font-size:14px;margin-bottom:16px;padding:10px 12px}.admin-offline-sessions-modal .offline-sessions-table-wrap{max-height:420px;overflow:auto}.admin-offline-sessions-modal .offline-session-actions{display:flex;flex-wrap:wrap;gap:6px}.admin-offline-sessions-modal .offline-session-status{border-radius:6px;display:inline-block;font-size:12px;font-weight:700;padding:4px 10px}.admin-offline-sessions-modal .offline-session-status--draft{background:var(--hover);color:var(--muted)}.admin-offline-sessions-modal .offline-session-status--published{background:color-mix(in srgb,var(--success-color,#4caf50) 18%,transparent);color:var(--success-color,#2e7d32)}.admin-offline-sessions-modal .offline-session-status--archived{background:color-mix(in srgb,var(--warning-color,#f59e0b) 15%,transparent);color:var(--warning-color,#b45309)}.admin-offline-classes-page .admin-offline-session-form-modal.modal{align-items:flex-start;display:none;inset:0;justify-content:center;overflow-y:auto;padding:20px;position:fixed;z-index:10001}.admin-offline-classes-page .admin-offline-session-form-modal.modal.is-open{display:flex}.admin-offline-classes-page .admin-offline-session-form-modal.modal[hidden]:not(.is-open){display:none!important}.admin-offline-session-form-modal .admin-offline-session-form-modal__content{max-height:calc(100vh - 40px);max-width:720px;overflow-y:auto;width:100%}.admin-offline-session-form .offline-session-checkbox-label{align-items:center;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;margin-top:28px}.admin-offline-session-form .form-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:20px}.admin-offline-session-form .form-full{grid-column:1/-1}.admin-offline-session-form .form-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.admin-offline-session-form .offline-session-videos-section{margin-top:4px}.admin-offline-session-form .offline-session-videos-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:10px}.admin-offline-session-form .offline-session-videos-list{display:flex;flex-direction:column;gap:12px}.admin-offline-session-form .offline-session-video-row{align-items:flex-end;border:1px solid var(--border,#e5e7eb);border-radius:8px;display:grid;gap:10px;grid-template-columns:1fr 1.4fr auto;padding:12px}.admin-offline-session-form .offline-session-video-row .form-group{margin:0}.admin-offline-session-form .offline-session-video-row label{display:block;font-size:13px;font-weight:600;margin-bottom:4px}.admin-offline-session-form .offline-session-video-link{font-size:13px}.admin-offline-classes-page .admin-offline-access-modal.modal{align-items:flex-start;display:none;inset:0;justify-content:center;overflow-y:auto;padding:20px;position:fixed;z-index:10002}.admin-offline-classes-page .admin-offline-access-modal.modal.is-open{display:flex}.admin-offline-classes-page .admin-offline-access-modal.modal[hidden]:not(.is-open){display:none!important}.admin-offline-access-modal .admin-offline-access-modal__content{max-height:calc(100vh - 40px);max-width:980px;overflow-y:auto;width:100%}.admin-offline-access-modal .admin-offline-access-subtitle{font-size:14px;margin:4px 0 0}.admin-offline-access-modal .admin-offline-access-meta{font-size:13px;margin:4px 0 0}.admin-offline-access-modal .offline-session-access-hint{font-size:13px;margin:0 0 12px}.admin-offline-access-modal .offline-access-table-wrap{max-height:460px;overflow:auto}.admin-offline-access-modal .offline-access-actions{display:flex;flex-wrap:wrap;gap:6px}.admin-offline-access-modal .offline-access-status{border-radius:6px;display:inline-block;font-size:12px;font-weight:700;padding:4px 10px}.admin-offline-access-modal .offline-access-status--default{background:color-mix(in srgb,var(--primary-color,#1976d2) 12%,transparent);color:var(--primary-color,#1565c0)}.admin-offline-access-modal .offline-access-status--active{background:color-mix(in srgb,var(--success-color,#4caf50) 18%,transparent);color:var(--success-color,#2e7d32)}.admin-offline-access-modal .offline-access-status--revoked{background:color-mix(in srgb,var(--error-color,#e53935) 12%,transparent);color:var(--error-color,#c62828)}.admin-offline-access-modal .offline-access-status--none{background:var(--hover);color:var(--muted)}.admin-offline-access-modal .offline-access-row--removed{opacity:.75}.admin-offline-classes-page .offline-class-schedule-cell{font-size:13px;line-height:1.45;max-width:220px;white-space:normal}.admin-offline-class-form .schedule-items-hint{font-size:13px;margin:0 0 10px}.admin-offline-class-form .schedule-items-list{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.admin-offline-class-form .schedule-item-row{align-items:end;border:1px solid var(--border,#e0e0e0);border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(90px,1fr) minmax(110px,1fr) minmax(110px,1fr) minmax(120px,1.2fr) auto;padding:10px}.admin-offline-class-form .schedule-item-remove-btn{align-self:end}@media (max-width:900px){.admin-offline-class-form .schedule-item-row{grid-template-columns:1fr 1fr}}@media (max-width:640px){.admin-offline-class-form .schedule-item-row,.admin-offline-session-form .form-grid{grid-template-columns:1fr}.admin-offline-sessions-modal .offline-sessions-header-actions{flex-wrap:wrap}.admin-offline-session-form .offline-session-video-row{grid-template-columns:1fr}}.site-admin-tabs{border-bottom:2px solid var(--border);display:flex;gap:8px;margin-bottom:24px;padding-bottom:8px}.tab-btn{background:transparent;border:none;border-bottom:3px solid transparent;color:var(--muted);cursor:pointer;font-weight:600;margin-bottom:-10px;padding:12px 24px;transition:all .3s}.tab-btn:hover{color:var(--text)}.tab-btn.active{border-bottom-color:var(--brand);color:var(--brand)}.tab-content{display:none}.tab-content.active{display:block}.submenu-tabs{display:flex;gap:8px;margin-bottom:20px}.submenu-btn{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;padding:8px 16px;transition:all .3s}.submenu-btn:hover{background:var(--hover)}.submenu-btn.active{background:var(--brand);border-color:var(--brand);color:#fff}.submenu-content{display:none}.submenu-content.active{display:block}.content-editor-wrapper{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:24px}.editor-toolbar{gap:8px;margin-bottom:16px}.editor-split{display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:1024px){.editor-split{grid-template-columns:1fr}#contact-editor-fields>div[style*=grid-template-columns]{grid-template-columns:1fr!important}}.editor-panel,.preview-panel{display:flex;flex-direction:column}.html-editor{background:var(--card);color:var(--text);font-family:Courier New,monospace;font-size:14px;line-height:1.6;padding:12px;resize:vertical;width:100%}.content-preview,.html-editor{border:1px solid var(--border);border-radius:8px}.content-preview{background:var(--bg);flex:1;min-height:400px;overflow-y:auto;padding:16px}.content-preview img{border-radius:8px;height:auto;margin:8px 0;max-width:100%}.content-preview h1,.content-preview h2,.content-preview h3{margin-bottom:8px;margin-top:16px}.content-preview p{line-height:1.6;margin:8px 0}.content-manager{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:24px}.manager-split{display:grid;gap:24px;grid-template-columns:1fr 1fr}@media (max-width:1024px){.manager-split{grid-template-columns:1fr}}.manager-panel,.sortable-list{display:flex;flex-direction:column}.sortable-list{gap:8px;list-style:none;margin:0;padding:0}.sortable-list li{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:grab;display:flex;gap:12px;padding:12px;transition:all .2s;user-select:none}.sortable-list li:hover{background:var(--hover);box-shadow:0 2px 8px rgba(0,0,0,.1)}.sortable-list li.dragging{cursor:grabbing;opacity:.5}.sortable-list li.drag-over{border-color:var(--brand);outline:2px dashed var(--brand)}.sortable-list .drag-handle{color:var(--muted);cursor:grab;font-size:18px}.sortable-list .item-number{color:var(--brand);font-weight:700;text-align:center;width:24px}.sortable-list .item-info{flex:1}.sortable-list .item-name{color:var(--text);font-weight:600}.sortable-list .item-meta{color:var(--muted);font-size:12px;margin-top:4px}.preview-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:600px;overflow-y:auto;padding:8px}.preview-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}.preview-card img{border-radius:6px;height:120px;margin-bottom:8px;object-fit:cover;width:100%}.preview-card .card-title{color:var(--text);font-size:14px;font-weight:600;margin-bottom:4px}.preview-card .card-meta{color:var(--muted);font-size:12px}.content-list{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:24px}.content-items{display:grid;gap:12px}.content-item{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:16px}.content-item-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:8px}.content-item-title{color:var(--text);font-size:16px;font-weight:600}.content-item-date{color:var(--muted);font-size:12px}.content-item-actions{display:flex;gap:8px}.info-box{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:24px}#statusMsg{z-index:100000}.modal{background:rgba(0,0,0,.9)!important;bottom:0!important;height:100vh!important;left:0!important;margin:0!important;min-height:100vh!important;min-width:100vw!important;overflow:auto;position:fixed!important;right:0!important;top:0!important;width:100vw!important;z-index:20000!important}.modal-content{max-height:90vh;max-width:800px}#storySectionModal .modal-content{max-width:1400px}@media (max-width:1200px){#storySectionModal .modal-content>div[style*=grid-template-columns]{grid-template-columns:1fr!important}}.form-group label{font-weight:600}.form-group input[type=text],.form-group textarea{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:15px;padding:10px 12px;width:100%}.btn.sm{font-size:13px;padding:6px 12px}.rich-editor-wrapper{border:1px solid var(--border);border-radius:8px;overflow:hidden}.editor-toolbar{background:var(--hover);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:4px;padding:8px}.toolbar-btn{background:var(--card);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:14px;font-weight:600;padding:6px 12px;transition:all .2s;white-space:nowrap}.toolbar-btn:hover{background:var(--hover);border-color:var(--brand);color:var(--brand)}.toolbar-btn-icon{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.toolbar-btn-icon:hover{background:var(--hover);border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}.toolbar-btn-icon:active{background:var(--brand);border-color:var(--brand);color:#fff;transform:translateY(0)}.toolbar-separator{background:var(--border);margin:0 4px;width:1px}.toolbar-select{background:var(--card);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:14px;font-weight:500;outline:none;padding:6px 12px;transition:all .2s}.toolbar-select:hover{background:var(--hover);border-color:var(--brand)}.toolbar-color{appearance:none;-webkit-appearance:none;background:var(--card);border:1px solid var(--border);border-radius:4px;cursor:pointer;height:32px;padding:2px;transition:all .2s;width:40px}.toolbar-color::-webkit-color-swatch-wrapper{padding:0}.toolbar-color::-webkit-color-swatch{border:none;border-radius:2px}.toolbar-color:hover{border-color:var(--brand)}.rich-editor{line-height:1.6;min-height:300px;overflow-y:auto;padding:12px;position:relative}.rich-editor:focus{outline:2px solid var(--brand);outline-offset:-2px}.rich-editor img{border-radius:8px;cursor:move;height:auto;margin:8px 0;max-width:100%;transition:all .2s ease;user-select:none}.rich-editor img:hover{box-shadow:0 2px 8px rgba(0,0,0,.15);opacity:.9}.rich-editor img[data-editable=true]{border:2px dashed transparent}.rich-editor img[data-editable=true]:hover{border-color:var(--brand)}.rich-editor iframe{aspect-ratio:16/9;border:0;border-radius:8px;margin:8px 0;width:100%}.rich-editor a{color:var(--brand);text-decoration:underline}@media (max-width:1024px){.admin-table{display:block;min-width:1040px;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table td,.admin-table th{white-space:nowrap}}.admin-table td{font-size:14px}.form-group{margin-bottom:16px}.form-hint{color:var(--muted);font-size:12px;margin-top:-4px}@media (max-width:768px){.form-group input,.form-group select,.form-group textarea{font-size:16px}}.btn.danger{background:#dc3545;border-color:#dc3545;color:#fff}.btn.danger:hover{background:#c82333}.filter-panel{animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-checkboxes,.filter-panel .filter-group{display:flex;flex-direction:column}.filter-checkboxes{gap:4px}.filter-checkbox-item{align-items:center;border-radius:4px;display:flex;gap:8px;padding:6px 8px;transition:background .2s}.filter-checkbox-item:hover{background:var(--hover)}.filter-checkbox-item input[type=checkbox]{cursor:pointer;height:18px;width:18px}.filter-checkbox-item label{cursor:pointer;flex:1;font-size:14px}.sortable{position:relative}.sortable:hover{background:var(--hover)}.sort-icon{color:var(--muted);font-size:12px;margin-left:4px;transition:color .2s}.sortable:hover .sort-icon{color:var(--text)}.user-checkbox{cursor:pointer}#bulkActions{align-items:center;display:none;flex-wrap:wrap;gap:4px}.count-chip{align-items:center;background:rgba(255,122,0,.12);border-radius:999px;color:var(--brand);display:inline-flex;font-size:12px;font-weight:700;justify-content:center;min-width:44px;padding:5px 10px;white-space:nowrap}.count-chip--offline{background:rgba(59,130,246,.12);color:#2563eb}.student-action-buttons{display:flex;flex-wrap:wrap;gap:6px}.student-detail{display:grid;gap:18px}.student-detail-section{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}.student-detail-section h3{font-size:16px;margin:0 0 12px}.student-detail-section h3 span{color:var(--brand);font-size:13px;font-weight:700;margin-left:6px}.student-detail-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0}.student-detail-grid div{background:var(--hover);border-radius:8px;padding:10px 12px}.student-detail-grid dt{color:var(--muted);font-size:12px;margin-bottom:4px}.student-detail-grid dd{color:var(--text);font-size:14px;font-weight:600;margin:0}.student-detail-list{display:grid;gap:8px;list-style:none;margin:0;padding:0}.student-detail-list li{background:var(--hover);border:1px solid var(--border);border-radius:8px;font-size:14px;padding:10px 12px}.detail-empty{padding:10px 0}.modal-actions{display:flex;gap:8px;justify-content:flex-end}.admin-timetable-page .admin-timetable-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.admin-timetable-page .admin-timetable-head .page-title{margin:0 0 6px}.admin-timetable-page .admin-timetable-desc{font-size:14px;line-height:1.5;margin:0}.admin-timetable-page .admin-timetable-head__actions{display:flex;flex-wrap:wrap;gap:8px}.admin-timetable-page .admin-timetable-meta{font-size:14px;font-weight:600;margin:12px 0 16px}.admin-timetable-page .timetable-schedule-cell{font-size:13px;line-height:1.45;white-space:nowrap}.admin-timetable-page .timetable-actions{display:flex;flex-wrap:wrap;gap:6px}.admin-timetable-page .timetable-status{border-radius:6px;display:inline-block;font-size:12px;font-weight:700;padding:4px 10px}.admin-timetable-page .timetable-status--active{background:color-mix(in srgb,var(--success-color,#4caf50) 18%,transparent);color:var(--success-color,#2e7d32)}.admin-timetable-page .timetable-status--archived{background:var(--hover);color:var(--muted)}.admin-timetable-page .admin-timetable-toast{background:var(--success-bg);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.12);color:var(--success-color);font-weight:600;left:50%;max-width:min(90%,420px);opacity:0;padding:12px 16px;pointer-events:none;position:fixed;text-align:center;top:80px;transform:translateX(-50%);transition:opacity .2s ease;z-index:1200}.admin-timetable-page .admin-timetable-toast.is-visible{opacity:1}.admin-timetable-page .admin-timetable-toast.is-error{background:var(--error-bg,#fdecea);color:var(--error-color,#c62828)}.admin-timetable-page .admin-timetable-catalog-modal.modal,.admin-timetable-page .admin-timetable-modal.modal{align-items:flex-start;display:none;inset:0;justify-content:center;overflow-y:auto;padding:20px;position:fixed;z-index:10000}.admin-timetable-page .admin-timetable-catalog-modal.modal.is-open,.admin-timetable-page .admin-timetable-modal.modal.is-open{display:flex}.admin-timetable-page .admin-timetable-catalog-modal.modal[hidden]:not(.is-open),.admin-timetable-page .admin-timetable-modal.modal[hidden]:not(.is-open){display:none!important}.admin-timetable-page .modal-content{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.2);max-height:calc(100vh - 40px);overflow-y:auto;padding:24px;width:min(92vw,720px)}.admin-timetable-page .modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.admin-timetable-page .modal-header h2{font-size:20px;font-weight:800;margin:0}.admin-timetable-page .modal-close{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:28px;line-height:1;padding:0}.admin-timetable-page .modal-close:hover{color:var(--text)}body.admin-timetable-page.modal-open,html.modal-open{overflow:hidden}.admin-timetable-page .admin-timetable-catalog-modal__content,.admin-timetable-page .admin-timetable-modal__content{max-height:min(92vh,900px);overflow-y:auto;width:min(92vw,720px)}.admin-timetable-page .schedule-items-list{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.admin-timetable-page .schedule-item-row{align-items:end;border:1px solid var(--border);border-radius:8px;display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr)) auto;padding:10px}.admin-timetable-page .schedule-items-hint{font-size:13px;margin:0 0 8px}.admin-timetable-page .admin-timetable-copy-section{border:1px solid var(--border);border-radius:10px;padding:12px}.admin-timetable-page .admin-timetable-copy-row{display:flex;flex-wrap:wrap;gap:8px}.admin-timetable-page .admin-timetable-copy-row select{flex:1 1 260px}.admin-timetable-page .admin-timetable-copy-hint{font-size:12px;margin:4px 0 8px}.admin-timetable-page .admin-timetable-detail-fields label{display:block;font-size:13px;font-weight:600;margin:10px 0 6px}.admin-timetable-page .admin-timetable-detail-fields label:first-of-type{margin-top:8px}.admin-timetable-page .admin-timetable-detail-fields input[type=url],.admin-timetable-page .admin-timetable-detail-fields textarea{width:100%}.admin-timetable-page .admin-timetable-detail-hint{font-size:12px;margin:0 0 4px}.admin-timetable-page .admin-timetable-catalog-hint{font-size:14px;margin:0 0 16px}@media (max-width:768px){.admin-timetable-page .schedule-item-row{grid-template-columns:1fr 1fr}}.form-grid{display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:0}.form-group.form-full{grid-column:1/-1}.form-group.form-half{grid-column:span 1}.form-row{display:grid;gap:20px;grid-column:1/-1;grid-template-columns:repeat(2,1fr)}@media (max-width:768px){.form-grid{grid-template-columns:1fr}.form-group.form-half{grid-column:1/-1}.form-row{grid-template-columns:1fr}}.required{color:var(--error-color)}.form-group input,.form-group select,.form-group textarea{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:15px;padding:10px 12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,122,0,.1);outline:none}.note{color:var(--muted);font-size:12px}#statusMsg{font-weight:700;z-index:11050!important}.page-header-row .page-title{margin:0;text-align:left}.page-header-row .desc{color:var(--muted);font-size:14px;line-height:1.5;margin:6px 0 0}.page-header-actions{flex-wrap:wrap}@media (max-width:640px){.page-header-row{align-items:stretch;flex-direction:column}.page-header-actions{justify-content:flex-start}.page-header-actions .btn{flex:1 1 auto}}.toolbar{align-items:center;display:flex;gap:8px;margin:10px 0}.account-user-toolbar{flex-wrap:wrap;margin-bottom:16px}.account-user-toolbar input,.account-user-toolbar select{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;min-height:38px;padding:8px 12px}.account-user-toolbar input{flex:1 1 260px;max-width:360px;width:100%}.account-user-toolbar select{flex:0 1 150px}@media (max-width:640px){.account-user-toolbar input,.account-user-toolbar select{flex-basis:100%;max-width:none}}.admin-table{border-collapse:collapse;font-size:14px;margin-top:6px;width:100%}@media (max-width:1024px){.admin-table{display:block;min-width:920px;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table td,.admin-table th{white-space:nowrap}}.admin-table td,.admin-table th{border:1px solid var(--border);padding:8px;text-align:left}.admin-table th{font-weight:700}.admin-table th,.btn{background:var(--card)}.btn{border:1px solid var(--border);color:var(--text)}.btn:hover{background:var(--hover);transform:translateY(-1px)}.btn.sm{background:var(--card);border:1px solid var(--border);color:var(--text);font-size:12px;padding:4px 8px}.btn.sm:hover{background:var(--hover);transform:translateY(-1px)}.btn.warning{background:#f59e0b;border-color:#f59e0b;color:#fff}.btn.warning:hover{background:#d97706;border-color:#d97706}.admin-warning-box{background:rgba(255,122,0,.08);border-left:4px solid var(--brand);border-radius:8px;color:var(--text);font-size:13px;line-height:1.6;margin-bottom:16px;padding:14px 16px}.admin-warning-box p{color:var(--muted);margin:6px 0 0}.manual-management-badge{background:var(--hover);color:var(--muted);font-size:12px;font-weight:700;padding:5px 10px}.instructor-link-chip,.manual-management-badge{align-items:center;border-radius:999px;display:inline-flex;white-space:nowrap}.instructor-link-chip{font-size:11px;font-weight:800;margin-left:6px;padding:4px 8px}.instructor-link-chip--linked{background:rgba(22,163,74,.12);color:#15803d}.instructor-link-chip--unlinked{background:rgba(100,116,139,.14);color:#475569}.instructor-link-chip--profileOnly{background:rgba(59,130,246,.12);color:#2563eb}.cleanup-dialog{background:var(--bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.25);color:var(--text);max-height:90vh;overflow:auto;padding:24px;position:relative;width:min(760px,100%)}.cleanup-dialog__close{position:absolute;right:14px;top:14px}.cleanup-dialog__header{margin:0 40px 16px 0}.cleanup-dialog__header h2{font-size:20px;margin:0}.cleanup-dialog__header p{color:var(--muted);font-size:13px;margin:6px 0 0}.cleanup-card{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:14px;padding:14px}.cleanup-feedback{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.22);border-radius:10px;color:#b91c1c;font-size:13px;font-weight:800;line-height:1.5;margin:0 0 14px;padding:11px 12px}.cleanup-feedback[data-type=success]{background:rgba(22,163,74,.1);border-color:rgba(22,163,74,.24);color:#15803d}.cleanup-feedback[data-type=info]{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.24);color:#1d4ed8}.cleanup-feedback[hidden]{display:none}.cleanup-card h3{font-size:15px;margin:0 0 10px}.cleanup-target-card{align-items:flex-start;display:flex;gap:12px}.cleanup-target-card>div{display:grid;gap:3px}.cleanup-target-card span{color:var(--muted);font-size:13px}.cleanup-role-badge{align-items:center;background:rgba(255,122,0,.12);border-radius:999px;color:var(--brand)!important;display:inline-flex;font-size:12px!important;font-weight:800;padding:5px 10px;white-space:nowrap}.cleanup-count-grid{display:grid;gap:8px}.cleanup-count-row{align-items:center;background:var(--hover);border-radius:8px;display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:9px 10px}.cleanup-count-row strong{color:var(--brand);white-space:nowrap}.cleanup-two-column{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.cleanup-chip-list{display:flex;flex-wrap:wrap;gap:8px}.cleanup-chip-list span{align-items:center;background:var(--hover);border-radius:999px;color:var(--text);display:inline-flex;font-size:12px;font-weight:700;padding:6px 10px}.cleanup-confirm{background:rgba(220,38,38,.06);border-radius:12px;display:grid;gap:8px;margin-top:18px;padding:14px}.cleanup-confirm label{display:grid;font-size:13px;font-weight:700;gap:4px}.cleanup-confirm label strong{color:#b91c1c}.cleanup-confirm input{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);min-height:42px;padding:10px 12px}.cleanup-dialog__footer{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:20px}@media (max-width:640px){.cleanup-two-column{grid-template-columns:1fr}.cleanup-target-card{display:grid}}.modal{align-items:flex-start;min-height:100vh;width:100vw}.modal,body.modal-open,html.modal-open{height:100vh}.modal-content{border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);max-height:calc(100dvh - 32px);max-width:min(1200px,calc(100vw - 32px))}@media (max-width:768px){.modal{padding:16px}.modal-content{max-height:calc(100dvh - 32px);padding:20px}}.modal-header h2{font-size:20px}.modal-close{line-height:32px;transition:color .2s}.add-form-section{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.account-user-toolbar input,.account-user-toolbar select,.form-group input,.form-group select,.form-group textarea{font-size:16px}}.contact-wrap{margin:0 auto;max-width:var(--container);padding:40px 16px}.contact-grid{display:grid;gap:40px;grid-template-columns:1fr 1fr;margin-top:40px}@media (max-width:768px){.contact-grid{gap:32px;grid-template-columns:1fr;margin-top:32px}}.contact-card{background:var(--card);border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.06);padding:40px}@media (max-width:768px){.contact-card{padding:32px 24px}}.contact-meta{display:flex;flex-direction:column;gap:32px}.contact-phone-section{border-bottom:2px solid var(--border);padding-bottom:32px;text-align:center}.grit-contact-phone{align-items:center;color:var(--brand);display:inline-flex;font-size:36px;font-weight:900;gap:12px;letter-spacing:-.5px;text-decoration:none;transition:all .2s ease}.grit-contact-phone svg{flex-shrink:0}.grit-contact-phone:hover{color:var(--accent);transform:scale(1.05)}@media (max-width:768px){.grit-contact-phone{font-size:28px}}.contact-info-item{display:flex;flex-direction:column;gap:8px}.contact-label{color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.contact-value{color:var(--text);font-size:16px;font-weight:500;line-height:1.6}.contact-map-area{display:flex;flex-direction:column;gap:20px}.grit-map{margin:0}.embed-map,.grit-map{border-radius:16px;overflow:hidden}.embed-map{border:1px solid var(--border);height:clamp(300px,50vw,500px);width:100%}.embed-map iframe{border:0;height:100%;width:100%}.map-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}.map-link-btn{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);display:inline-block;font-size:13px;font-weight:600;padding:10px 20px;text-decoration:none;transition:all .2s ease}.map-link-btn:hover{background:var(--hover);border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}.grit-contact-links{display:flex;gap:12px;justify-content:center;margin:20px 0}.grit-contact-links img{transition:filter .2s ease}#contact-directions-container{margin-top:24px}.contact-directions{background:var(--bg-secondary);border-left:4px solid var(--brand);border-radius:12px;padding:20px}.contact-directions .directions-school{color:var(--brand);font-size:16px;font-weight:700;line-height:1.6;margin:0 0 20px}.contact-directions .directions-section{margin-bottom:20px}.contact-directions .directions-section:last-child{margin-bottom:0}.contact-directions .directions-title{align-items:center;color:var(--text);display:flex;font-size:15px;font-weight:700;gap:6px;line-height:1.5;margin:0 0 12px}.contact-directions .directions-title svg{flex-shrink:0}.contact-directions .directions-list{list-style:none;margin:0;padding-left:20px}.contact-directions .directions-list li{color:var(--text);font-size:14px;line-height:1.8;margin-bottom:12px}.contact-directions .directions-list li:last-child{margin-bottom:0}.contact-directions .directions-detail{color:var(--muted);display:block;font-size:13px;line-height:1.6;margin-top:4px}.contact-directions .directions-bus,.contact-directions .directions-parking{color:var(--text);font-size:14px;line-height:1.8;margin:0}@media (max-width:768px){.contact-directions{padding:16px}.contact-directions .directions-school{font-size:15px}.contact-directions .directions-title{font-size:14px}.contact-directions .directions-bus,.contact-directions .directions-list li,.contact-directions .directions-parking{font-size:13px}}.grit-page-container.contact .contact-location-filter{margin:8px 0 24px}.contact-grid>.contact-card,.contact-grid>.contact-map-area{min-width:0}.contact-map-placeholder{align-items:center;color:var(--muted);display:flex;font-size:14px;justify-content:center;line-height:1.5;min-height:clamp(280px,45vw,480px);padding:32px 20px;text-align:center}.grit-page-container.contact .contact-map-area .embed-map iframe{display:block;vertical-align:top}.home .home-page{background:var(--bg,#fff);color:var(--text,#111827);overflow:hidden;width:100%}.home .home-page section{box-sizing:border-box}.home-reveal{opacity:1;transform:none}.home .home-page>section:not(.home-hero).fade-in{opacity:0;transform:translateY(46px);transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.home .home-page>section:not(.home-hero).fade-in.fade-in-visible{opacity:1;transform:translateY(0)}.home .home-page>section.home-contact-cta.fade-in>*,.home .home-page>section.home-intro.fade-in>h2,.home .home-page>section.home-intro.fade-in>p:not(.home-kicker),.home .home-page>section:not(.home-hero).fade-in .home-instructors-track,.home .home-page>section:not(.home-hero).fade-in .home-kicker,.home .home-page>section:not(.home-hero).fade-in .home-link-card,.home .home-page>section:not(.home-hero).fade-in .home-section-head{opacity:0;transform:translateY(22px);transition:opacity .68s cubic-bezier(.22,1,.36,1),transform .68s cubic-bezier(.22,1,.36,1)}.home .home-page>section.home-contact-cta.fade-in.fade-in-visible>*,.home .home-page>section.home-intro.fade-in.fade-in-visible>h2,.home .home-page>section.home-intro.fade-in.fade-in-visible>p:not(.home-kicker),.home .home-page>section:not(.home-hero).fade-in.fade-in-visible .home-instructors-track,.home .home-page>section:not(.home-hero).fade-in.fade-in-visible .home-kicker,.home .home-page>section:not(.home-hero).fade-in.fade-in-visible .home-link-card,.home .home-page>section:not(.home-hero).fade-in.fade-in-visible .home-section-head{opacity:1;transform:translateY(0)}.home .home-page>section:not(.home-hero).fade-in.fade-in-visible .home-link-card:nth-child(2){transition-delay:.08s}.home .home-page>section:not(.home-hero).fade-in.fade-in-visible .home-link-card:nth-child(3){transition-delay:.16s}.home-hero{align-items:center;display:flex;isolation:isolate;justify-content:center;margin:0;min-height:clamp(520px,82vh,780px);overflow:hidden;padding:clamp(80px,10vw,140px) clamp(20px,5vw,72px);position:relative;text-align:center}.home-hero__media{inset:0;position:absolute;z-index:-2}.home-hero__media img{height:100%;object-fit:cover;object-position:center center;width:100%}.home-hero:after{background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.22) 46%,rgba(0,0,0,.64));content:"";inset:0;position:absolute;z-index:-1}.home-hero__content{color:#fff;max-width:920px;text-shadow:0 4px 24px rgba(0,0,0,.38);transform:translateX(clamp(-220px,-13vw,-120px))}.home-kicker{color:var(--brand,#0b7fab);font-size:clamp(12px,1.4vw,15px);font-weight:800;letter-spacing:.08em;margin:0 0 14px;text-transform:uppercase}.home-hero .home-kicker{color:hsla(0,0%,100%,.88)}.home-title{font-size:clamp(42px,7vw,86px);font-weight:900;letter-spacing:-.06em;line-height:1.02;margin:0 0 18px}.home-subtitle{color:hsla(0,0%,100%,.9);font-size:clamp(18px,2.4vw,30px);font-weight:700;letter-spacing:-.03em;margin:0}.home-intro{margin:0 auto;max-width:1060px;padding:clamp(76px,10vw,126px) 24px clamp(54px,8vw,86px);text-align:center}.home-contact-cta h2,.home-intro h2,.home-section-head h2{color:var(--text,#111827);font-size:clamp(28px,4.5vw,52px);font-weight:900;letter-spacing:-.055em;line-height:1.12;margin:0}.home-contact-cta p:not(.home-kicker),.home-intro p:not(.home-kicker){color:var(--muted,#667085);font-size:clamp(15px,1.7vw,18px);line-height:1.85;margin:24px auto 0;max-width:790px;word-break:keep-all}.home-instructors-sec,.home-quick-links{margin:0 auto;padding:clamp(62px,8vw,96px) 24px}.home-quick-links{max-width:1160px}.home-section-head{margin:0 auto 28px;max-width:1160px}.home-section-head--row{align-items:flex-end;display:flex;gap:24px;justify-content:space-between}.home-link-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.home-link-card{background:linear-gradient(145deg,#fff8ee,#fffdf8);border:1px solid rgba(255,122,0,.24);border-radius:28px;box-shadow:0 14px 38px rgba(56,38,25,.08);color:#2f261f;display:flex;flex-direction:column;min-height:236px;padding:28px;position:relative;text-decoration:none;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.home-link-card:focus-visible,.home-link-card:hover{border-color:#ff7a00;box-shadow:0 18px 46px rgba(255,122,0,.16);transform:translateY(-4px)}.home-link-card__icon{align-items:center;background:rgba(255,122,0,.11);border:1px solid rgba(255,122,0,.18);border-radius:18px;color:#ff7a00;display:flex;flex-shrink:0;height:56px;justify-content:center;margin-bottom:22px;width:56px}.home-link-card__icon svg{fill:none;height:34px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:34px}.home-link-card__label{color:#ff7a00;font-size:13px;font-weight:900;letter-spacing:.08em;margin-bottom:14px}.home-link-card strong{color:#2f261f;font-size:clamp(22px,2.8vw,32px);letter-spacing:-.04em;line-height:1.18;max-width:460px}.home-link-card span:last-child{color:#6d5c4d;line-height:1.7;margin-top:18px;max-width:420px;word-break:keep-all}html[data-theme=dark] .home-link-card{background:linear-gradient(145deg,#241d17,#171412);border-color:rgba(255,122,0,.32);box-shadow:0 14px 38px rgba(0,0,0,.22);color:#fff8ee}html[data-theme=dark] .home-link-card:focus-visible,html[data-theme=dark] .home-link-card:hover{border-color:#ff7a00;box-shadow:0 18px 46px rgba(255,122,0,.2)}html[data-theme=dark] .home-link-card__icon{background:rgba(255,122,0,.14);border-color:rgba(255,122,0,.26);color:#ff7a00}html[data-theme=dark] .home-link-card__label{color:#ff7a00}html[data-theme=dark] .home-link-card strong{color:#fff8ee}html[data-theme=dark] .home-link-card span:last-child{color:#cbb9a8}.home-instructors-sec{background:transparent;max-width:none;--home-inst-card-w:clamp(210px,22vw,286px);--home-inst-gap:22px}.home-text-link{border-bottom:2px solid;color:var(--brand,#0b7fab);flex:0 0 auto;font-size:14px;font-weight:900;padding-bottom:4px;text-decoration:none}.home-instructors-track{box-sizing:border-box;margin:34px -24px 0;-webkit-overflow-scrolling:touch;overflow:hidden;overflow-y:hidden;position:relative;scrollbar-width:none;width:calc(100% + 48px)}.home-instructors-track::-webkit-scrollbar{display:none}.home-instructors-track:after,.home-instructors-track:before{content:"";height:100%;pointer-events:none;position:absolute;top:0;width:clamp(24px,6vw,96px);z-index:2}.home-instructors-track:before{background:linear-gradient(90deg,var(--bg,#fff),hsla(0,0%,100%,0));left:0}.home-instructors-track:after{background:linear-gradient(270deg,var(--bg,#fff),hsla(0,0%,100%,0));right:0}.home-instructors-nav{display:none}.home .home-instructors{align-items:stretch;animation:none;display:flex;flex-wrap:nowrap;gap:0;min-width:100%;overflow:visible;padding:10px 0 22px;scroll-snap-type:none;scrollbar-width:none;width:max-content;will-change:transform}.home-instructors-track.is-marquee.is-marquee-ready .home-instructors{animation:homeInstructorsMarquee 58s linear infinite}.home-instructors-track.is-marquee:not(.is-marquee-ready) .home-instructors{animation:none;transform:translateZ(0)}.home .home-instructors[aria-busy=true]{animation:none;gap:var(--home-inst-gap);padding:10px max(24px,calc(50vw - 556px)) 22px;width:auto}.home-instructors-track.is-marquee-paused .home-instructors,.home-instructors-track:focus-within .home-instructors,.home-instructors-track:hover .home-instructors{animation-play-state:paused}.home-instructors-group{align-items:stretch;box-sizing:border-box;display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:var(--home-inst-gap);padding-right:var(--home-inst-gap)}@keyframes homeInstructorsMarquee{0%{transform:translateZ(0)}to{transform:translate3d(-33.333333%,0,0)}}.home .home-instructors:empty{min-height:360px}.home .inst-card{animation:homeInstructorEnter .72s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--card-delay,0ms);aspect-ratio:3/4;background:var(--card,#fff);border:1px solid var(--border,#d9e2ea);border-radius:28px;box-shadow:0 18px 52px rgba(15,23,42,.12);cursor:pointer;flex:0 0 var(--home-inst-card-w);max-width:none;min-width:0;overflow:hidden;position:relative;scroll-snap-align:start;transition:box-shadow .35s ease,transform .35s ease;width:var(--home-inst-card-w);will-change:transform}.home-instructors-track.is-marquee .inst-card{animation:none;translate:0 0}@keyframes homeInstructorEnter{0%{opacity:0;translate:38px 0}to{opacity:1;translate:0 0}}html[data-theme=dark] .home .inst-card{background:var(--card,#111315);border-color:var(--border,#2a2f36)}.home .inst-card:focus-visible,.home .inst-card:hover{box-shadow:0 24px 68px rgba(0,0,0,.22);outline:none;transform:translateY(-8px) scale(1.015)}.home .inst-card img{display:block;height:100%;max-width:none;object-fit:cover;object-position:center bottom;transition:transform .5s cubic-bezier(.4,0,.2,1);width:100%;will-change:transform}.home .inst-card:focus-visible img,.home .inst-card:hover img{transform:scale(1.06)}.home .inst-overlay{align-items:flex-end;backdrop-filter:blur(0);background:linear-gradient(180deg,transparent 44%,rgba(0,0,0,.76));color:#fff;display:flex;inset:0;padding:24px;position:absolute;transition:backdrop-filter .4s ease,opacity .4s cubic-bezier(.4,0,.2,1)}.home .inst-card:focus-visible .inst-overlay,.home .inst-card:hover .inst-overlay{backdrop-filter:blur(2px)}.home .inst-overlay__inner{display:flex;flex-direction:column;gap:8px;opacity:.92;transform:translateY(10px);transition:opacity .4s ease,transform .4s cubic-bezier(.4,0,.2,1)}.home .inst-card:focus-visible .inst-overlay__inner,.home .inst-card:hover .inst-overlay__inner{opacity:1;transform:translateY(0)}.home .inst-overlay .inst-name{font-size:22px;font-weight:900;letter-spacing:-.04em;text-shadow:0 2px 8px rgba(0,0,0,.5),0 0 20px rgba(0,0,0,.3);transition:text-shadow .3s ease,transform .3s cubic-bezier(.4,0,.2,1)}.home .inst-card:focus-visible .inst-overlay .inst-name,.home .inst-card:hover .inst-overlay .inst-name{text-shadow:0 4px 12px rgba(0,0,0,.7),0 0 30px rgba(255,122,0,.3);transform:scale(1.05)}.home .inst-overlay .inst-subject{color:hsla(0,0%,100%,.82);font-size:13px;font-weight:700;transition:transform .3s cubic-bezier(.4,0,.2,1)}.home .inst-card:focus-visible .inst-overlay .inst-subject,.home .inst-card:hover .inst-overlay .inst-subject{transform:translateY(-2px)}.skeleton-instructor{animation:skeletonPulse 1.4s ease-in-out infinite;aspect-ratio:3/4;background:linear-gradient(90deg,rgba(148,163,184,.16),rgba(148,163,184,.28),rgba(148,163,184,.16));border-radius:28px;flex:0 0 var(--home-inst-card-w);max-width:none;width:var(--home-inst-card-w)}@keyframes skeletonPulse{0%,to{opacity:.7}50%{opacity:1}}.home-contact-cta{background:linear-gradient(135deg,#f97415,#d8893a 48%,#f4b860);border-radius:36px;color:#fff;margin:clamp(48px,7vw,90px) auto clamp(72px,9vw,120px);max-width:1160px;padding:clamp(42px,6vw,72px) 24px;text-align:center}.home-contact-cta .home-kicker,.home-contact-cta h2,.home-contact-cta p{color:#fff;text-shadow:0 2px 12px rgba(116,62,16,.24)}.home-contact-cta p:not(.home-kicker){color:hsla(0,0%,100%,.82);margin-bottom:28px}.home-contact-cta .btn{background:#fff8ee;border-color:hsla(0,0%,100%,.72);box-shadow:0 16px 42px rgba(0,0,0,.24);color:#2f261f}html[data-theme=dark] .home-instructors-sec{background:transparent}html[data-theme=dark] .home-instructors-track:before{background:linear-gradient(90deg,var(--bg,#0f1115),rgba(15,17,21,0))}html[data-theme=dark] .home-instructors-track:after{background:linear-gradient(270deg,var(--bg,#0f1115),rgba(15,17,21,0))}@media (max-width:768px){.home-instructors-sec{--home-inst-card-w:clamp(210px,68vw,286px)}.home-hero{min-height:560px;padding:92px 20px 72px}.home-hero__media img{object-position:80% center}.home-hero__content{text-align:center;transform:none}.home-link-grid{grid-template-columns:1fr}.home-section-head--row{align-items:flex-start;flex-direction:column}.home .inst-card,.skeleton-instructor{flex-basis:var(--home-inst-card-w);width:var(--home-inst-card-w)}.home .inst-card:focus-visible,.home .inst-card:hover{transform:translateY(-4px)}.home .inst-card:focus-visible img,.home .inst-card:hover img{transform:scale(1.03)}.home-contact-cta{border-radius:28px;margin-left:20px;margin-right:20px}}@media (hover:none) and (pointer:coarse) and (orientation:landscape) and (max-height:560px){.home-hero{min-height:clamp(320px,100svh,420px);padding:48px 20px 32px}.home-hero__media img{object-position:center center}.home-hero__content{max-width:760px;transform:none}.home-hero .home-kicker{font-size:12px;margin-bottom:8px}.home-title{font-size:clamp(30px,8vw,54px);letter-spacing:-.05em;margin-bottom:10px}.home-subtitle{font-size:clamp(15px,3vw,22px)}.home-instructors-sec,.home-intro,.home-quick-links{padding:clamp(32px,7vw,48px) 20px}.home-contact-cta h2,.home-intro h2,.home-section-head h2{font-size:clamp(24px,5vw,40px)}.home-contact-cta p:not(.home-kicker),.home-intro p:not(.home-kicker){font-size:15px;line-height:1.65;margin-top:14px}.home-link-card{border-radius:22px;min-height:180px;padding:20px}.home-link-card__icon{height:46px;margin-bottom:14px;width:46px}.home-link-card strong{font-size:clamp(20px,3.4vw,28px)}.home-link-card span:last-child{margin-top:12px}.home-instructors-sec{--home-inst-card-w:clamp(180px,30vw,240px);--home-inst-gap:18px}.home-instructors-track{margin-top:22px}.home .inst-overlay{padding:18px}.home .inst-overlay .inst-name{font-size:19px}.home-contact-cta{border-radius:24px;margin-bottom:48px;margin-top:36px;padding:32px 20px}}@media (prefers-reduced-motion:reduce){.home .home-instructors,.home .home-page>section.fade-in,.home .home-page>section.fade-in *,.home .inst-card,.home .inst-card img,.home .inst-overlay,.home .inst-overlay__inner,.home-instructors-nav,.home-link-card,.home-reveal{animation:none;transition:none}.home .home-instructors,.home .home-page>section.fade-in,.home .home-page>section.fade-in *,.home .inst-card:focus-visible,.home .inst-card:hover,.home-link-card:focus-visible,.home-link-card:hover,.home-reveal{opacity:1;transform:none}}.stat-card{gap:12px}@supports not (gap:12px){.stat-card{gap:0}.stat-card>*{margin-left:12px}.stat-card>:first-child{margin-left:0}}@media (hover:none) and (pointer:coarse){.stat-card:hover{transform:none}.stat-card:active{transform:translateY(-2px)}}.stat-icon{height:44px;width:44px}@media (hover:none) and (pointer:coarse){.stat-card:hover .stat-icon{transform:none}.stat-card:active .stat-icon{transform:scale(1.05)}}.stat-label{font-size:12px}.stat-value{font-size:20px}.progress-table th{text-align:center!important}.progress-table td{text-align:center}.modal{background:rgba(0,0,0,.5);box-sizing:border-box;display:flex;padding:20px;z-index:10000}body.modal-open,html.modal-open{overflow:hidden!important}.modal-content{border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.25);display:flex;flex-direction:column;margin:0;max-height:calc(100vh - 40px);max-width:900px;overflow-y:auto;padding:32px;transition:all .3s ease;width:100%}@media (max-width:768px){.modal-content{border-radius:12px}.modal{padding:10px}.modal-content{max-height:80vh;padding:20px}}.modal-header{border-bottom:2px solid var(--border);margin-bottom:24px;padding-bottom:20px}.modal-header h2{align-items:center;color:var(--text);display:flex;font-size:24px;font-weight:800;gap:12px}.modal-header h2:before{background:linear-gradient(180deg,var(--brand) 0,#ff8c42 100%);border-radius:2px;content:"";height:24px;width:4px}.modal-close{background:var(--hover);border-radius:10px;font-size:24px;height:40px;transition:all .25s cubic-bezier(.4,0,.2,1);width:40px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.modal-close:hover{background:var(--brand);color:#fff;transform:rotate(90deg)}.modal-close:active{transform:rotate(90deg) scale(.95)}@media (hover:none) and (pointer:coarse){.modal-close:hover{transform:none}.modal-close:active{background:var(--brand);color:#fff;transform:rotate(90deg) scale(.95)}}.student-info-section{margin-bottom:40px}.student-info-section:last-child{margin-bottom:0}.student-info-section h3{align-items:center;border-bottom:3px solid var(--border);color:var(--text);display:flex;font-size:20px;font-weight:800;gap:12px;margin:0 0 20px;padding-bottom:12px;position:relative}.student-info-section h3:before{background:linear-gradient(180deg,var(--brand) 0,#ff8c42 100%);border-radius:2px;content:"";height:20px;width:4px}.student-info-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@supports not (gap:20px){.student-info-grid{gap:0}.student-info-grid>*{margin:10px}}.student-info-card{background:var(--card);border:2px solid var(--border);border-radius:16px;overflow:hidden;padding:24px;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.student-info-card:before{background:linear-gradient(90deg,var(--brand) 0,#ff8c42 100%);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.student-info-card:hover{border-color:var(--brand);box-shadow:0 8px 24px rgba(255,122,0,.15);transform:translateY(-4px)}.student-info-card:hover:before{transform:scaleX(1)}@media (hover:none) and (pointer:coarse){.student-info-card:hover{transform:none}.student-info-card:active{transform:translateY(-2px)}}.student-info-label{color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.8px;margin-bottom:12px;text-transform:uppercase}.student-info-value{background:linear-gradient(135deg,var(--brand) 0,#ff8c42 100%);-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:900;-webkit-text-fill-color:transparent;line-height:1.2;margin:0}.student-info-value-text{color:var(--text);font-size:18px;font-weight:700;margin:0}.loading-skeleton-modal{display:flex;flex-direction:column;gap:32px}.skeleton-section{display:flex;flex-direction:column;gap:16px}.skeleton-title{background:var(--hover);border-radius:6px;height:24px;overflow:hidden;position:relative;width:200px}.skeleton-title:after{animation:skeleton-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.5),transparent);content:"";height:100%;left:0;position:absolute;top:0;transform:translateX(-100%);width:100%;will-change:transform}html[data-theme=dark] .skeleton-title:after{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.15),transparent)}.skeleton-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.skeleton-card{background:var(--hover);border-radius:12px;height:120px;overflow:hidden;position:relative}.skeleton-card:after{animation:skeleton-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.5),transparent);content:"";height:100%;left:0;position:absolute;top:0;transform:translateX(-100%);width:100%;will-change:transform}html[data-theme=dark] .skeleton-card:after{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.15),transparent)}.skeleton-checklist{display:flex;flex-direction:column;gap:12px}.skeleton-checklist-item{background:var(--hover);border-radius:12px;height:80px;overflow:hidden;position:relative}.skeleton-checklist-item:after{animation:skeleton-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.5),transparent);content:"";height:100%;left:0;position:absolute;top:0;transform:translateX(-100%);width:100%;will-change:transform}html[data-theme=dark] .skeleton-checklist-item:after{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.15),transparent)}@media (prefers-reduced-motion:reduce){.skeleton-card:after,.skeleton-checklist-item:after,.skeleton-title:after{animation:none;display:none}}.instructor-course-header-badges{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.instructor-enrollments-empty,.instructor-enrollments-error,.instructor-enrollments-message{color:var(--muted);line-height:1.6;padding:28px 16px;text-align:center;word-break:keep-all}.instructor-enrollments-error{color:#c62828}.instructor-course-state{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:40px 24px;text-align:center}.instructor-course-state__title{font-size:1.25rem;font-weight:800;margin:0 0 8px}.instructor-course-state__message{color:var(--muted);line-height:1.6;margin:0 0 20px}.progress-table td,.progress-table th{padding:12px 14px;text-align:left;vertical-align:middle}.instructor-course-content-section{margin-top:8px}.instructor-course-content-panel{display:flex;flex-direction:column;gap:24px}.instructor-course-content-empty,.instructor-week-empty{margin:0;padding:16px;text-align:center}.instructor-week-list--collapsible{gap:12px}.instructor-week-list{display:flex;flex-direction:column;gap:20px}.instructor-week-card{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;padding:0}.instructor-week-list--collapsible .instructor-week-card__toggle{align-items:center;background:var(--hover);border:none;color:var(--text);cursor:pointer;display:flex;font:inherit;gap:12px;padding:16px 20px;text-align:left;transition:background .2s ease;width:100%}.instructor-week-list--collapsible .instructor-week-card__toggle:hover{background:color-mix(in srgb,var(--hover) 70%,var(--brand) 30%)}.instructor-week-list--collapsible .instructor-week-card__toggle:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.instructor-week-card__num{align-items:center;background:var(--brand);border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:15px;font-weight:800;height:36px;justify-content:center;width:36px}.instructor-week-card__heading{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.instructor-week-card__title{font-size:1.05rem;font-weight:800;line-height:1.35;margin:0;word-break:keep-all}.instructor-week-card__meta{color:var(--muted);font-size:13px;font-weight:500}.instructor-week-card__icon{color:var(--muted);flex-shrink:0;font-size:16px;transition:transform .25s ease,color .25s ease}.instructor-week-card.is-expanded .instructor-week-card__icon{color:var(--brand);transform:rotate(180deg)}.instructor-week-card__body{max-height:0;overflow:hidden;padding:0 20px;transition:max-height .35s cubic-bezier(.4,0,.2,1),padding .35s cubic-bezier(.4,0,.2,1)}.instructor-week-card.is-expanded .instructor-week-card__body{max-height:8000px;padding:20px}.instructor-week-card__desc{color:var(--muted);line-height:1.65;margin:0 0 16px;white-space:pre-wrap}.instructor-week-card__videos{display:flex;flex-direction:column;gap:20px}@media (prefers-reduced-motion:reduce){.instructor-week-card__body,.instructor-week-card__icon{transition:none}}.instructor-video-block{display:flex;flex-direction:column;gap:8px}.instructor-video-title{font-size:15px;font-weight:700;margin:0}.instructor-video-embed{background:#000;border-radius:10px;overflow:hidden;padding-bottom:56.25%;position:relative;width:100%}.instructor-video-embed iframe{border:0;height:100%;inset:0;position:absolute;width:100%}.instructor-video-mp4{background:#000;border-radius:10px;max-height:480px;width:100%}.instructor-video-unavailable{margin:0}.instructor-section-toolbar--row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.instructor-section-toolbar--row .instructor-section-title{margin:0}@media (max-width:768px){.progress-table{min-width:560px}}.stat-card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:12px;color:inherit;gap:16px;overflow:hidden;padding:20px;position:relative;text-decoration:none;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1)}@supports not (gap:16px){.stat-card{gap:0}.stat-card>*{margin-left:16px}.stat-card>:first-child{margin-left:0}}.stat-card:before{background:linear-gradient(90deg,var(--brand) 0,#ff8c42 100%);content:"";height:3px;left:0;position:absolute;right:0;top:0;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transition:-webkit-transform .3s ease;transition:transform .3s ease}.stat-card:hover{border-color:var(--brand);box-shadow:0 6px 20px rgba(0,0,0,.12);-webkit-transform:translateY(-4px);transform:translateY(-4px)}.stat-card:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1)}@media (hover:none) and (pointer:coarse){.stat-card:hover{-webkit-transform:none;transform:none}.stat-card:active{-webkit-transform:translateY(-2px);transform:translateY(-2px)}}.stat-icon{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:32px;line-height:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;background:linear-gradient(135deg,rgba(255,122,0,.1),rgba(255,140,66,.1));border-radius:12px;color:var(--brand);height:48px;justify-content:center;-webkit-transition:all .3s ease;transition:all .3s ease;width:48px}.stat-card:hover .stat-icon{background:linear-gradient(135deg,var(--brand) 0,#ff8c42 100%);color:#fff;-webkit-transform:scale(1.1) rotate(5deg);transform:scale(1.1) rotate(5deg)}@media (hover:none) and (pointer:coarse){.stat-card:hover .stat-icon{-webkit-transform:none;transform:none}.stat-card:active .stat-icon{-webkit-transform:scale(1.05);transform:scale(1.05)}}.stat-icon svg{height:32px;width:32px}.stat-content{flex:1}.stat-label{color:var(--muted);font-size:13px;margin-bottom:4px}.stat-value{color:var(--text);font-size:24px;font-weight:700}.progress-table{background:var(--card);border:1px solid var(--border);border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.progress-table thead{background:var(--hover)}.progress-table th{border-bottom:2px solid var(--border);color:var(--text);font-size:14px;font-weight:700;padding:12px;text-align:left}.progress-table td{border-bottom:1px solid var(--border);font-size:14px;padding:12px}.progress-table tbody tr{-webkit-transition:background .2s ease;transition:background .2s ease}.progress-table tbody tr:hover{background:var(--hover)}.progress-table tbody tr:last-child td{border-bottom:none}@media (max-width:640px){#statsGrid{gap:12px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px}.stat-icon{font-size:24px}.stat-value{font-size:20px}.progress-table{font-size:12px}.progress-table td,.progress-table th{padding:8px}}@media (max-width:768px){.grit-section .btn{font-size:14px;padding:8px 12px}.grit-section .btn svg{height:14px;width:14px}#enrollmentCourseFilter,#enrollmentSearch{font-size:14px;padding:6px 10px}}@media (max-width:480px){.grit-section .btn{font-size:12px;padding:6px 10px}.grit-section .btn svg{height:12px;width:12px}#enrollmentSearch{min-width:120px}#enrollmentCourseFilter,#enrollmentSearch{font-size:13px;padding:5px 8px}}.modal{bottom:0;display:none;height:100%;left:0;position:fixed;right:0;top:0;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;background:rgba(0,0,0,.85);justify-content:center;z-index:2000;-webkit-overflow-scrolling:touch;overflow-y:auto}.modal.active{display:flex}.modal-content{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.3);max-width:700px;padding:24px;position:relative;width:90vw}.modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.modal-header h2{font-size:1.5rem;font-weight:700;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:6px;color:var(--muted);cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.modal-close:hover{background:var(--hover);color:var(--text)}.form-group{margin-bottom:20px}.form-group label{color:var(--text);display:block;font-weight:700;margin-bottom:8px}.form-group .required{color:#e74c3c}.form-group input[type=email],.form-group input[type=text],.form-group select,.form-group textarea{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:14px;padding:10px;width:100%}.form-group input[type=checkbox]{margin-right:8px}.notice-pinned{align-items:center;color:var(--brand);display:inline-flex}.notice-pinned svg{height:16px;width:16px}.notice-card{transition:all .2s}.notice-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}@keyframes pulse-badge{0%,to{box-shadow:0 2px 6px rgba(244,67,54,.4);transform:scale(1)}50%{box-shadow:0 4px 12px rgba(244,67,54,.6);transform:scale(1.15)}}.qna-badge{animation:pulse-badge 2s ease-in-out infinite}.instructor-courses-empty{background:var(--card);border:1px dashed var(--border);border-radius:12px;padding:24px;text-align:center;width:100%}.instructor-course-card .instructor-course-badges{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}.instructor-course-badge{align-items:center;background:var(--hover);border:1px solid var(--border);border-radius:999px;color:var(--text);display:inline-flex;font-size:12px;font-weight:700;line-height:1.3;padding:4px 10px}.instructor-course-badge--public{background:rgba(33,150,243,.1);border-color:rgba(33,150,243,.35);color:#1565c0}.instructor-course-badge--member{background:rgba(255,122,0,.1);border-color:rgba(255,122,0,.35);color:var(--brand)}.instructor-course-badge--format{background:var(--card)}.instructor-course-note{font-size:13px;line-height:1.5;margin:8px 0 0}.instructor-course-card__actions{margin-top:12px}.instructor-dashboard-page .instructor-dashboard-section{margin-top:30px}.instructor-dashboard-page .instructor-section-title{align-items:center;display:flex;font-size:1.15rem;font-weight:800;gap:8px;margin:0 0 16px}.instructor-dashboard-page .instructor-stats-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.instructor-section-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.instructor-section-toolbar .instructor-section-title{margin:0}.instructor-section-filters{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.instructor-search-input,.instructor-select{background:var(--card);border:1px solid var(--border);border-radius:8px;box-sizing:border-box;color:var(--text);font-size:14px;min-height:40px;padding:8px 12px}.instructor-search-input{min-width:min(100%,220px)}.instructor-select{min-width:160px}.instructor-table-wrap{overflow-x:auto}.instructor-data-table{margin-top:0;width:100%}.instructor-data-table td,.instructor-data-table th{padding:12px 14px;text-align:left;vertical-align:middle}.instructor-table-title{font-weight:700;word-break:keep-all}.instructor-table-actions{white-space:nowrap}.instructor-table-empty{padding:24px!important;text-align:center}.instructor-section-meta{font-size:14px;margin:0 0 12px}.instructor-pagination{margin-top:16px}.instructor-pagination-inner{align-items:center;display:flex;flex-direction:column;gap:10px}.instructor-pagination-controls{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.instructor-pagination-pages{display:flex;flex-wrap:wrap;gap:4px}.instructor-pagination-num.is-active{background:var(--brand);border-color:var(--brand);color:#fff}.instructor-pagination-info{color:var(--muted);font-size:13px;margin:0}.instructor-section-toolbar--row{flex-wrap:nowrap;gap:16px}.instructor-section-toolbar--row .instructor-toolbar-controls{align-items:center;display:flex;flex:1 1 auto;flex-wrap:nowrap;gap:8px;justify-content:flex-end;margin-left:auto;min-width:0}.instructor-section-toolbar--row .instructor-search-input{flex:1 1 200px;max-width:280px}.instructor-section-toolbar--row .instructor-select{flex:0 1 auto;min-width:120px}.instructor-table-courses{line-height:1.45;max-width:320px;word-break:break-word}.instructor-student-count{font-weight:700;white-space:nowrap}.instructor-student-expand-btn{white-space:nowrap}.instructor-student-detail-row td{background:color-mix(in srgb,var(--muted) 8%,transparent);padding:10px 14px 14px}.instructor-student-detail-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.instructor-student-detail-list li{color:var(--muted);font-size:13px;line-height:1.45}.instructor-student-detail-list strong{color:var(--text);font-weight:600}@media (max-width:960px){.instructor-section-toolbar--row{flex-wrap:wrap}.instructor-section-toolbar--row .instructor-toolbar-controls{flex-wrap:wrap;justify-content:flex-start;margin-left:0;width:100%}.instructor-section-toolbar--row .instructor-search-input{max-width:none;width:100%}}@media (max-width:768px){.instructor-data-table{min-width:640px}#enrollmentCourseFilter,#enrollmentSearch,.form-group input[type=email],.form-group input[type=text],.form-group select,.form-group textarea,.instructor-search-input,.instructor-select{font-size:16px}}body[data-page=instructor-details] .instructor-hero{align-items:start;display:grid;gap:40px;grid-template-columns:400px 1fr;margin:32px 0 48px}body[data-page=instructor-details] .hero-photo-wrapper{aspect-ratio:3/4;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.12);overflow:hidden;width:100%}body[data-page=instructor-details] .hero-photo{aspect-ratio:3/4;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.12);object-fit:cover;object-position:center bottom;width:100%}body[data-page=instructor-details] .hero-content{padding-top:8px}body[data-page=instructor-details] .hero-headline{color:var(--brand);font-size:clamp(12px,1.8vw,14px);font-weight:700;letter-spacing:.05em;margin-bottom:8px;overflow-wrap:break-word;word-break:keep-all}body[data-page=instructor-details] .hero-title{font-size:clamp(2rem,5vw,3.2rem);font-weight:900;line-height:1.1;margin:0 0 16px;overflow-wrap:break-word;word-break:keep-all}body[data-page=instructor-details] .hero-sub{color:var(--muted);display:block;font-size:.6em;margin-top:4px;overflow-wrap:break-word;word-break:keep-all}body[data-page=instructor-details] .hero-keywords{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}body[data-page=instructor-details] .hero-keyword{background:transparent;border:2px solid var(--brand);border-radius:8px;color:var(--brand);font-size:13px;font-weight:700;padding:6px 12px}body[data-page=instructor-details] .hero-lead{font-size:clamp(.95rem,2vw,1.08rem);line-height:1.7;margin:16px 0 24px;overflow-wrap:break-word;word-break:keep-all}@media (max-width:768px){body[data-page=instructor-details] .hero-lead{font-size:.95rem;margin:12px 0 20px}}@media (max-width:480px){body[data-page=instructor-details] .hero-lead{font-size:.9rem;margin:10px 0 16px}}body[data-page=instructor-details] .hero-lead div{margin:8px 0}body[data-page=instructor-details] .hero-lead span[style*="color:var(--brand)"]{font-weight:700}body[data-page=instructor-details] .instructor-bio-formatted{display:flex;flex-direction:column;gap:3px}body[data-page=instructor-details] .hero-lead .instructor-bio-row{line-height:1.6;margin:0}body[data-page=instructor-details] .hero-lead .instructor-bio-prefix{font-weight:700;margin-right:8px}body[data-page=instructor-details] .hero-lead .instructor-bio-prefix.is-current{color:var(--brand)}body[data-page=instructor-details] .hero-lead .instructor-bio-prefix.is-previous{color:var(--muted);font-weight:600}body[data-page=instructor-details] .hero-lead .instructor-bio-text{color:var(--text)}body[data-page=instructor-details] .hero-cta{display:flex;flex-wrap:wrap;gap:10px}body[data-page=instructor-details] .instructor-sections{display:flex;flex-direction:column;gap:28px;margin-top:40px}body[data-page=instructor-details] .section-card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-soft);padding:24px}body[data-page=instructor-details] .courses-mini-grid{box-sizing:border-box;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));width:100%}@media (max-width:768px){body[data-page=instructor-details] .courses-mini-grid{gap:14px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:640px){body[data-page=instructor-details] .courses-mini-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media (max-width:480px){body[data-page=instructor-details] .courses-mini-grid{gap:10px;grid-template-columns:1fr}}.instructor-detail-preview .video-grid,body[data-page=instructor-details] .video-grid{box-sizing:border-box;display:grid;gap:16px;grid-template-columns:minmax(0,1fr);width:100%}.instructor-detail-preview .video-item,body[data-page=instructor-details] .video-item{box-sizing:border-box;min-width:0;transform:none;transition:none;width:100%}body[data-page=instructor-details] .video-item:focus-within,body[data-page=instructor-details] .video-item:hover{transform:none}@media (max-width:768px){.instructor-detail-preview .video-grid,body[data-page=instructor-details] .video-grid{gap:12px;grid-template-columns:1fr}}@media (max-width:480px){.instructor-detail-preview .video-grid,body[data-page=instructor-details] .video-grid{gap:10px}}body[data-page=instructor-details] .video-wrapper{aspect-ratio:16/9;background:#000;border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.14);box-sizing:border-box;min-height:160px;min-width:0;overflow:hidden;position:relative;transform:none;transition:none;width:100%}body[data-page=instructor-details] .video-wrapper:focus-within,body[data-page=instructor-details] .video-wrapper:hover{box-shadow:0 10px 24px rgba(0,0,0,.14);transform:none}body[data-page=instructor-details] .video-wrapper iframe{border:0;height:100%;inset:0;position:absolute;width:100%}body[data-page=instructor-details] .video-media{background:#000;border-radius:12px;display:block;transform:none;transition:none;width:100%}body[data-page=instructor-details] .video-media:focus,body[data-page=instructor-details] .video-media:hover{transform:none}body[data-page=instructor-details] .curriculum-image-wrap{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}body[data-page=instructor-details] .curriculum-image-wrap.is-count-1{grid-template-columns:minmax(0,1fr)}body[data-page=instructor-details] .curriculum-image-wrap.is-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-page=instructor-details] .curriculum-image-wrap.is-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}body[data-page=instructor-details] .curriculum-image-wrap.is-count-4{grid-template-columns:repeat(4,minmax(0,1fr))}body[data-page=instructor-details] .curriculum-image-card{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:16px;cursor:zoom-in;display:flex;height:clamp(190px,18vw,280px);justify-content:center;min-width:0;overflow:hidden;padding:14px;transition:border-color .2s,box-shadow .2s,transform .2s;width:100%}body[data-page=instructor-details] .curriculum-image-card:focus-visible,body[data-page=instructor-details] .curriculum-image-card:hover{border-color:var(--brand);box-shadow:0 10px 24px rgba(0,0,0,.12);outline:0;transform:translateY(-1px)}body[data-page=instructor-details] .curriculum-image-card img{border-radius:12px;display:block;height:100%;margin:0 auto;max-height:100%;max-width:100%;object-fit:contain;transition:filter .2s;width:100%}body[data-page=instructor-details] .curriculum-image-card:focus-visible img,body[data-page=instructor-details] .curriculum-image-card:hover img{filter:brightness(.97)}body.curriculum-lightbox-open{overflow:hidden}body[data-page=instructor-details] .curriculum-lightbox{align-items:center;background:rgba(0,0,0,.82);display:flex;inset:0;justify-content:center;padding:28px;position:fixed;z-index:10000}body[data-page=instructor-details] .curriculum-lightbox[hidden]{display:none}body[data-page=instructor-details] .curriculum-lightbox-image{background:#fff;border-radius:14px;box-shadow:0 24px 80px rgba(0,0,0,.42);display:block;max-height:88vh;max-width:min(1120px,94vw);object-fit:contain;width:auto}body[data-page=instructor-details] .curriculum-lightbox-close{align-items:center;background:rgba(0,0,0,.62);border:1px solid hsla(0,0%,100%,.28);border-radius:999px;color:#fff;cursor:pointer;display:flex;font-size:28px;height:44px;justify-content:center;line-height:1;position:fixed;right:24px;top:24px;width:44px;z-index:10001}body[data-page=instructor-details] .curriculum-lightbox-close:focus-visible,body[data-page=instructor-details] .curriculum-lightbox-close:hover{background:rgba(0,0,0,.82);outline:2px solid #fff;outline-offset:2px}body[data-page=instructor-details] .curriculum-lightbox-nav{align-items:center;background:rgba(0,0,0,.52);border:1px solid hsla(0,0%,100%,.28);border-radius:999px;color:#fff;cursor:pointer;display:flex;font-size:42px;height:56px;justify-content:center;line-height:1;position:absolute;top:50%;transform:translateY(-50%);width:56px;z-index:10001}body[data-page=instructor-details] .curriculum-lightbox-nav[hidden]{display:none}body[data-page=instructor-details] .curriculum-lightbox-nav.is-prev{left:24px}body[data-page=instructor-details] .curriculum-lightbox-nav.is-next{right:24px}body[data-page=instructor-details] .curriculum-lightbox-nav:focus-visible,body[data-page=instructor-details] .curriculum-lightbox-nav:hover{background:rgba(0,0,0,.78);outline:2px solid #fff;outline-offset:2px}body[data-page=instructor-details] .assigned-course-card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 20px rgba(0,0,0,.06);color:var(--text);display:flex;flex-direction:column;gap:12px;min-height:164px;padding:20px;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}body[data-page=instructor-details] .assigned-course-card:hover{border-color:var(--brand);box-shadow:0 12px 28px rgba(0,0,0,.12);transform:translateY(-2px)}body[data-page=instructor-details] .assigned-course-meta{align-items:center;display:inline-flex;flex-wrap:wrap;font-size:12px;font-weight:700;gap:6px;line-height:1;max-width:100%;width:fit-content}body[data-page=instructor-details] .assigned-course-meta-item{border:1px solid transparent;border-radius:999px;display:inline-flex;max-width:100%;padding:7px 10px;white-space:nowrap}body[data-page=instructor-details] .assigned-course-meta-item.is-year{background:#fbf2e6;border-color:#ead6be;color:#8a5a2e}body[data-page=instructor-details] .assigned-course-meta-item.is-grade{background:#edf5fb;border-color:#cfe1ef;color:#3f647d}body[data-page=instructor-details] .assigned-course-meta-item.is-access-public{background:#fff1df;background:color-mix(in srgb,var(--brand,#b97333) 12%,#fff);border-color:#efd0ac;border-color:color-mix(in srgb,var(--brand,#b97333) 28%,#fff);color:var(--brand,#b97333)}body[data-page=instructor-details] .assigned-course-meta-item.is-access-member{background:#f1effc;border-color:#d8d0f1;color:#5f5591}body[data-page=instructor-details] .assigned-course-title{font-size:clamp(18px,2vw,20px);font-weight:800;line-height:1.35;margin:0}body[data-page=instructor-details] .assigned-course-description{color:var(--muted);display:-webkit-box;font-size:14px;line-height:1.55;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}@media (max-width:980px){body[data-page=instructor-details] .instructor-hero{gap:24px;grid-template-columns:1fr}body[data-page=instructor-details] .curriculum-image-wrap.is-count-3,body[data-page=instructor-details] .curriculum-image-wrap.is-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-page=instructor-details] .hero-photo-wrapper{margin:0 auto;max-width:400px}body[data-page=instructor-details] .hero-photo{margin:0 auto}body[data-page=instructor-details] .hero-content,body[data-page=instructor-details] .hero-cta,body[data-page=instructor-details] .hero-keywords{justify-content:center;text-align:center}body[data-page=instructor-details] #bioContent,body[data-page=instructor-details] #bioContent *,body[data-page=instructor-details] .hero-lead,body[data-page=instructor-details] .hero-lead *{text-align:left}}@media (max-width:640px){body[data-page=instructor-details] .instructor-hero{margin:20px 0 28px}body[data-page=instructor-details] .section-card{padding:18px}body[data-page=instructor-details] .courses-mini-grid{grid-template-columns:1fr}body[data-page=instructor-details] .assigned-course-card{min-height:auto;padding:16px}body[data-page=instructor-details] .curriculum-image-wrap{gap:12px;grid-template-columns:1fr}body[data-page=instructor-details] .curriculum-image-card{height:clamp(190px,62vw,260px);padding:10px}body[data-page=instructor-details] .curriculum-lightbox{padding:16px}body[data-page=instructor-details] .curriculum-lightbox-close{height:40px;right:14px;top:14px;width:40px}body[data-page=instructor-details] .curriculum-lightbox-nav{font-size:32px;height:44px;width:44px}body[data-page=instructor-details] .curriculum-lightbox-nav.is-prev{left:10px}body[data-page=instructor-details] .curriculum-lightbox-nav.is-next{right:10px}body[data-page=instructor-details] .curriculum-lightbox-image{max-height:84vh;max-width:94vw}body[data-page=instructor-details] #bioContent,body[data-page=instructor-details] #bioContent *{text-align:left}}@media (max-width:768px) and (min-width:641px){body[data-page=instructor-details] #bioContent,body[data-page=instructor-details] #bioContent *,body[data-page=instructor-details] .hero-lead,body[data-page=instructor-details] .hero-lead *{text-align:left}}@media (max-width:1024px){body[data-page=instructor-details] .section-card{padding:20px}}@media (max-width:768px){body[data-page=instructor-details] .section-card{padding:18px}body[data-page=instructor-details] .section-title{font-size:clamp(1.25rem,3vw,1.5rem);overflow-wrap:break-word;word-break:keep-all}body[data-page=instructor-details] .section-content{overflow-wrap:break-word;word-break:keep-all}.instructor-detail-preview .video-grid,body[data-page=instructor-details] .video-grid{grid-template-columns:1fr!important}}@media (max-width:480px){body[data-page=instructor-details] .section-card{padding:16px}body[data-page=instructor-details] .section-title{font-size:1.25rem;overflow-wrap:break-word;word-break:keep-all}body[data-page=instructor-details] .section-content{overflow-wrap:break-word;word-break:keep-all}}.instructor-offline-class-page .instructor-offline-blocked,.instructor-offline-class-page .instructor-offline-class-summary{display:flex;flex-direction:column;gap:10px}.instructor-offline-class-page .instructor-offline-class-label{align-self:center}.instructor-offline-class-page .instructor-offline-class-dl{display:grid;gap:8px;margin:0}.instructor-offline-class-page .instructor-offline-class-dl>div{display:grid;gap:2px;grid-template-columns:minmax(72px,88px) 1fr}.instructor-offline-class-page .instructor-offline-class-dl dt{color:var(--text);font-size:13px;font-weight:700;margin:0}.instructor-offline-class-page .instructor-offline-class-dl dd{color:var(--muted);font-size:clamp(13px,1.9vw,14px);line-height:1.45;margin:0}.instructor-offline-class-page .instructor-offline-class-desc{color:var(--muted);font-size:14px;line-height:1.5;margin:4px 0 0;white-space:pre-wrap}.instructor-offline-class-page .instructor-offline-access-note{font-size:13px;margin:0 0 12px}.instructor-offline-class-page .instructor-offline-sessions-list{display:flex;flex-direction:column;gap:6px}.instructor-offline-class-page .instructor-offline-sessions-empty{margin:0}.instructor-offline-class-page .instructor-offline-session-card{border:1px solid var(--border);border-radius:10px;overflow:hidden}.instructor-offline-class-page .instructor-offline-session-toggle{align-items:center;background:var(--card);border:0;color:inherit;cursor:pointer;display:flex;gap:8px;justify-content:space-between;padding:10px 12px;text-align:left;width:100%}.instructor-offline-class-page .instructor-offline-session-toggle__row{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:6px 10px;min-width:0}.instructor-offline-class-page .instructor-offline-session-no{font-size:12px;font-weight:700;white-space:nowrap}.instructor-offline-class-page .instructor-offline-session-date{color:var(--muted);font-size:12px;white-space:nowrap}.instructor-offline-class-page .instructor-offline-session-title{flex:1 1 120px;font-size:14px;font-weight:600;min-width:0}.instructor-offline-class-page .instructor-offline-session-toggle__end{align-items:center;display:flex;flex-shrink:0;gap:6px}.instructor-offline-class-page .instructor-offline-session-status{border-radius:4px;font-size:11px;font-weight:700;padding:2px 6px;white-space:nowrap}.instructor-offline-class-page .instructor-offline-session-status--published{background:color-mix(in srgb,var(--success-color,#22c55e) 18%,transparent);color:var(--text)}.instructor-offline-class-page .instructor-offline-session-status--archived,.instructor-offline-class-page .instructor-offline-session-status--legacy{background:color-mix(in srgb,var(--muted) 20%,transparent);color:var(--muted)}.instructor-offline-class-page .instructor-offline-session-video-count{color:var(--muted);font-size:12px;white-space:nowrap}.instructor-offline-class-page .instructor-offline-session-toggle__icon:before{content:"▾";display:inline-block;transition:transform .2s ease}.instructor-offline-class-page .instructor-offline-session-card:not(.is-open) .instructor-offline-session-toggle__icon:before{transform:rotate(-90deg)}.instructor-offline-class-page .instructor-offline-session-panel{border-top:1px solid var(--border);padding:10px 12px 12px}.instructor-offline-class-page .instructor-offline-session-panel[hidden]{display:none}.instructor-offline-class-page .instructor-offline-session-desc{color:var(--muted);font-size:13px;line-height:1.45;margin:0 0 8px;white-space:pre-wrap}.instructor-offline-class-page .instructor-offline-video-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.instructor-offline-class-page .instructor-offline-video-link{align-items:center;border:1px solid var(--border);border-radius:8px;color:inherit;display:flex;gap:8px;justify-content:space-between;padding:8px 10px;text-decoration:none}.instructor-offline-class-page .instructor-offline-video-link:hover{border-color:var(--brand)}.instructor-offline-class-page .instructor-offline-video-link__title{font-size:13px;font-weight:600}.instructor-offline-class-page .instructor-offline-no-videos{font-size:13px;margin:0}.instructor-dashboard-page .instructor-offline-status{border-radius:4px;display:inline-block;font-size:12px;font-weight:700;padding:2px 8px}.instructor-dashboard-page .instructor-offline-status--active{background:color-mix(in srgb,var(--success-color,#22c55e) 18%,transparent)}.instructor-dashboard-page .instructor-offline-status--archived{background:color-mix(in srgb,var(--muted) 22%,transparent);color:var(--muted)}.instructor-dashboard-page .instructor-offline-schedule-cell{font-size:13px;line-height:1.45;min-width:100px;white-space:normal}.instructor-dashboard-page .instructor-offline-class-name{font-weight:700;line-height:1.45;white-space:normal;word-break:break-word}.instructor-offline-class-page .instructor-offline-sessions-pagination{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:12px}.instructor-offline-class-page .instructor-offline-sessions-pagination__info{color:var(--muted);font-size:13px}@media (max-width:640px){.instructor-offline-class-page .instructor-offline-class-dl>div{grid-template-columns:1fr}.instructor-offline-class-page .instructor-offline-session-toggle{align-items:flex-start;flex-direction:column}.instructor-offline-class-page .instructor-offline-session-toggle__end{width:100%}}main.instructors .inst-card{aspect-ratio:3/4;background:var(--card);border-radius:20px;box-shadow:0 8px 24px rgba(0,0,0,.1);cursor:pointer;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);will-change:transform}main.instructors .inst-card:hover{box-shadow:0 20px 60px rgba(0,0,0,.25);transform:translateY(-12px) scale(1.02)}main.instructors .inst-card img{display:block;height:100%;object-fit:cover;object-position:center bottom;transition:transform .6s cubic-bezier(.4,0,.2,1);width:100%;will-change:transform}main.instructors .inst-card:hover img{transform:scale(1.08)}main.instructors .inst-card-text-gradient{background:linear-gradient(180deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.35) 40%,rgba(0,0,0,.15) 70%,transparent);height:50%;left:0;opacity:.8;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .4s cubic-bezier(.4,0,.2,1),background .4s cubic-bezier(.4,0,.2,1);z-index:1}main.instructors .inst-card:hover .inst-card-text-gradient{background:linear-gradient(180deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.65) 40%,rgba(0,0,0,.35) 70%,transparent);opacity:1}html[data-theme=dark] main.instructors .inst-card-text-gradient{background:linear-gradient(180deg,rgba(0,0,0,.6) 0,rgba(0,0,0,.45) 40%,rgba(0,0,0,.2) 70%,transparent);opacity:.85}html[data-theme=dark] main.instructors .inst-card:hover .inst-card-text-gradient{background:linear-gradient(180deg,rgba(0,0,0,.9) 0,rgba(0,0,0,.7) 40%,rgba(0,0,0,.4) 70%,transparent);opacity:1}main.instructors .inst-card-body{align-items:flex-start;background:transparent;display:flex;flex-direction:row;gap:16px;justify-content:space-between;left:0;padding:24px;position:absolute;right:0;top:0;z-index:2}main.instructors .inst-card-subject{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.3);border-radius:20px;box-shadow:0 2px 8px rgba(0,0,0,.2);color:#fff;flex-shrink:0;font-size:14px;font-weight:800;letter-spacing:.02em;padding:6px 14px;position:relative;text-shadow:0 2px 8px rgba(0,0,0,.5);transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}main.instructors .inst-card-subject[data-subject=\AD6D\C5B4],main.instructors .inst-card[data-subject=\AD6D\C5B4] .inst-card-subject{background:rgba(233,80,69,.85);border-color:rgba(233,80,69,.5)}main.instructors .inst-card-subject[data-subject=\C601\C5B4],main.instructors .inst-card[data-subject=\C601\C5B4] .inst-card-subject{background:rgba(47,122,229,.85);border-color:rgba(47,122,229,.5)}main.instructors .inst-card-subject[data-subject=\C218\D559],main.instructors .inst-card[data-subject=\C218\D559] .inst-card-subject{background:rgba(52,168,83,.85);border-color:rgba(52,168,83,.5)}main.instructors .inst-card-subject[data-subject=\ACFC\D559],main.instructors .inst-card[data-subject=\ACFC\D559] .inst-card-subject{background:rgba(246,196,69,.85);border-color:rgba(246,196,69,.5);color:#202225;text-shadow:0 1px 4px hsla(0,0%,100%,.5)}main.instructors .inst-card-subject[data-subject=\CEE8\C124\D305],main.instructors .inst-card[data-subject=\CEE8\C124\D305] .inst-card-subject{background:rgba(142,68,173,.85);border-color:rgba(142,68,173,.5)}main.instructors .inst-card:hover .inst-card-subject{background:hsla(0,0%,100%,.25);box-shadow:0 4px 12px rgba(0,0,0,.3);transform:translateY(-2px) scale(1.05)}main.instructors .inst-card:hover .inst-card-subject[data-subject=\AD6D\C5B4],main.instructors .inst-card[data-subject=\AD6D\C5B4]:hover .inst-card-subject{background:rgba(233,80,69,.95)}main.instructors .inst-card:hover .inst-card-subject[data-subject=\C601\C5B4],main.instructors .inst-card[data-subject=\C601\C5B4]:hover .inst-card-subject{background:rgba(47,122,229,.95)}main.instructors .inst-card:hover .inst-card-subject[data-subject=\C218\D559],main.instructors .inst-card[data-subject=\C218\D559]:hover .inst-card-subject{background:rgba(52,168,83,.95)}main.instructors .inst-card:hover .inst-card-subject[data-subject=\ACFC\D559],main.instructors .inst-card[data-subject=\ACFC\D559]:hover .inst-card-subject{background:rgba(246,196,69,.95)}main.instructors .inst-card:hover .inst-card-subject[data-subject=\CEE8\C124\D305],main.instructors .inst-card[data-subject=\CEE8\C124\D305]:hover .inst-card-subject{background:rgba(142,68,173,.95)}main.instructors .inst-card-name-wrapper{align-items:flex-end;display:flex;flex-direction:column;min-width:0;position:relative}main.instructors .inst-card-intro{color:hsla(0,0%,100%,.95);display:-webkit-box;font-size:14px;-webkit-line-clamp:2;line-height:1.5;margin:0 0 8px;-webkit-box-orient:vertical;font-weight:500;max-height:0;opacity:0;order:1;overflow:hidden;pointer-events:none;position:relative;text-align:right;text-shadow:0 2px 8px rgba(0,0,0,.6),0 0 16px rgba(0,0,0,.4);transform:translateY(-8px);transition:opacity .4s cubic-bezier(.4,0,.2,1),max-height .4s cubic-bezier(.4,0,.2,1),margin .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1)}main.instructors .inst-card:hover .inst-card-intro{margin-bottom:8px;max-height:50px;opacity:1;transform:translateY(0)}main.instructors .inst-card-name{color:#fff;font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:0;order:2;position:relative;text-align:right;text-shadow:0 2px 8px rgba(0,0,0,.5),0 0 20px rgba(0,0,0,.3);transition:transform .3s cubic-bezier(.4,0,.2,1),text-shadow .3s ease,color .3s ease}main.instructors .inst-card:hover .inst-card-name{color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.7),0 0 30px rgba(255,122,0,.3);transform:translateY(-2px)}main.instructors .grid-instructors{gap:32px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:40px}@media (max-width:768px){main.instructors .grid-instructors{gap:20px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}main.instructors .inst-card-body{align-items:flex-start;padding:16px}main.instructors .inst-card-name{font-size:26px}main.instructors .inst-card-subject{border-radius:16px;font-size:15px;padding:6px 12px}main.instructors .inst-card-intro{font-size:15px}main.instructors .inst-card:hover{transform:translateY(-8px) scale(1.01)}}html[data-theme=dark] main.instructors .inst-card{background:var(--card,#111315);border-color:var(--border,#2a2f36)}.auth-wrap:has(#loginForm) .button-spinner{align-items:center;display:inline-flex;justify-content:center;margin-left:8px}.auth-wrap:has(#loginForm) .button-spinner.hidden{display:none}.auth-wrap:has(#loginForm) .btn.primary{align-items:center;display:inline-flex;gap:8px;justify-content:center}.auth-wrap:has(#loginForm) .btn.primary:disabled .button-text{opacity:.7}.auth-wrap:has(#loginForm) .auth-card .signup-section{border-top:1px solid var(--border);margin-top:32px;padding-top:24px;text-align:center}.auth-wrap:has(#loginForm) .auth-card .signup-section p{color:var(--muted);font-size:14px;margin:0 0 16px}.auth-wrap:has(#loginForm) .auth-card .signup-section .btn{background:var(--card);border:1px solid var(--border);color:var(--text);margin-top:0}.auth-wrap:has(#loginForm) .auth-card .signup-section .btn:hover{background:var(--hover);border-color:var(--brand)}@media (max-width:768px){#loginForm input[type=email],#loginForm input[type=password]{font-size:16px;min-height:44px}.auth-wrap:has(#loginForm) .btn{min-height:44px;min-width:44px;padding:12px 20px}.auth-wrap:has(#loginForm) .flex.justify-between.items-center a{align-items:center;display:flex;min-height:44px;padding:8px}}@media (max-width:480px){.auth-wrap:has(#loginForm) .auth-card{padding:24px 16px}.auth-wrap:has(#loginForm) .signup-section{margin-top:24px}.auth-wrap:has(#loginForm) .signup-section .btn{width:100%}}.member-dashboard-hero{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;text-align:left}.member-dashboard-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.member-dashboard-kicker{align-items:center;background:rgba(255,122,0,.1);border-radius:999px;color:var(--brand);display:inline-flex;font-size:13px;font-weight:800;margin:0 0 8px;padding:6px 10px}.member-parent-section{display:block}#memberCoursesCta[hidden],#memberCoursesSection[hidden],#memberTertiarySummaryCard[hidden],.member-parent-section[hidden]{display:none}.member-summary-stats{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0 0 24px}.member-summary-stats[data-purpose=general]{grid-template-columns:minmax(0,240px)}.member-stat-card{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 6px 18px rgba(0,0,0,.04);min-height:116px;padding:18px}.member-stat-label{color:var(--muted);display:block;font-size:13px;font-weight:700}.member-stat-card strong{color:var(--text);display:block;font-size:clamp(24px,4vw,32px);line-height:1.1;margin:10px 0 6px}.member-child-link-card,.member-linked-children-card,.member-summary-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px}.member-section-header{margin-bottom:16px}.member-parent-grid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr)}.member-profile-list{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.member-profile-list div{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px}.member-profile-list dt{color:var(--muted);font-size:13px;font-weight:700;margin-bottom:6px}.member-profile-list dd{color:var(--text);font-weight:800;margin:0;word-break:break-word}.member-course-empty{align-items:center;background:var(--card);border:1px dashed var(--border);border-radius:14px;display:flex;gap:12px;justify-content:space-between;padding:18px}.member-course-empty p{color:var(--muted);font-weight:700;margin:0}.member-child-link-form{display:grid;gap:12px;grid-template-columns:1fr}.member-child-link-form label{color:var(--text);display:grid;font-size:14px;font-weight:800;gap:6px}.member-child-link-form input,.member-child-link-form select{background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);font:inherit;min-height:42px;padding:9px 10px;width:100%}.member-school-search{position:relative}.member-school-options{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 44px rgba(15,23,42,.16);left:0;max-height:240px;overflow:auto;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:20}.member-school-option{background:transparent;border:0;border-radius:8px;color:var(--text);cursor:pointer;font:inherit;font-weight:700;padding:9px 10px;text-align:left;width:100%}.member-school-option:focus-visible,.member-school-option:hover{background:rgba(255,122,0,.1);outline:none}.member-child-link-form button{align-self:end}.member-child-link-message{color:var(--muted);font-weight:800;margin:12px 0 0;min-height:22px}.member-child-link-message[data-type=success]{color:var(--success-color)}.member-child-link-message[data-type=error]{color:var(--error-color)}.member-linked-children{margin:0}.member-linked-children h3{font-size:16px;margin:0 0 10px}.member-linked-children-list{display:grid;gap:10px}.member-linked-child-card{background:var(--card);border:1px solid var(--border);border-radius:12px;display:grid;gap:12px;padding:14px}.member-linked-child-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.member-linked-child-card strong{color:var(--text)}.member-linked-child-card span{color:var(--muted);font-size:13px;font-weight:700}.member-linked-child-date{white-space:nowrap}.member-linked-child-counts{display:flex;flex-wrap:wrap;gap:8px}.member-linked-child-counts span{background:rgba(255,122,0,.1);border-radius:999px;color:var(--brand);padding:5px 8px}.member-child-details{border-top:1px solid var(--border);padding-top:10px}.member-child-details summary{color:var(--text);cursor:pointer;font-weight:800}.member-child-detail-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.member-child-detail-grid section{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px}.member-child-detail-grid h4{font-size:14px;margin:0 0 8px}.member-child-detail-list{display:grid;gap:8px;list-style:none;margin:0;padding:0}.member-child-detail-list li{background:var(--bg);border:1px solid var(--border);border-radius:10px;display:grid;gap:3px;padding:10px 12px}.member-child-detail-list li span{display:block}@media (max-width:768px){.member-course-empty,.member-dashboard-hero,.member-linked-child-head{align-items:stretch;flex-direction:column}.member-child-detail-grid,.member-child-link-form,.member-parent-grid,.member-profile-list,.member-summary-stats{grid-template-columns:1fr}.member-dashboard-actions{justify-content:flex-start}.member-summary-stats[data-purpose=general]{grid-template-columns:1fr}}.policy-container{margin:0 auto;max-width:1000px;padding:40px 16px}.policy-content-inner{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);line-height:1.8;padding:40px}.policy-content-inner h2{color:var(--text);font-size:24px;font-weight:700;margin:32px 0 16px}.policy-content-inner h2:first-child{margin-top:0}.policy-content-inner h3{color:var(--text);font-size:18px;font-weight:600;margin:24px 0 12px}.policy-content-inner p{color:var(--text);margin:12px 0}.policy-content-inner ol,.policy-content-inner ul{margin:12px 0;padding-left:24px}.policy-content-inner li{color:var(--text);margin:8px 0}.policy-meta{border-top:1px solid var(--border);color:var(--muted);font-size:14px;margin-top:32px;padding-top:24px}@media (max-width:768px){.policy-container,.policy-content-inner{padding:24px 16px}}.schedule-page{--schedule-filter-active:var(--brand);--schedule-filter-active-text:#fff;--schedule-filter-inactive:#ececec;--schedule-filter-inactive-text:#1a1a1a;--schedule-filter-tab-active:var(--brand)}html[data-theme=dark] .schedule-page{--schedule-filter-active:var(--brand);--schedule-filter-inactive:#2a2d33;--schedule-filter-inactive-text:#e9ecf1;--schedule-filter-tab-active:var(--brand)}.schedule-page .schedule-page-header{margin-bottom:20px;text-align:center}.schedule-page .schedule-page-header .page-title{font-size:clamp(22px,4vw,28px);margin:0}.schedule-page .schedule-filters-wrap{margin-bottom:20px}.schedule-page .schedule-search-wrap.toolbar-search{margin-bottom:14px;max-width:100%;width:100%}.schedule-page .schedule-search-wrap .admin-toolbar__search-wrap{max-width:100%;min-width:0;width:100%}.schedule-page .schedule-search-wrap .admin-toolbar__search-input{width:100%}.schedule-page .schedule-filter-tier{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.schedule-page .schedule-filter-tier--grade{margin-bottom:8px}.schedule-page .schedule-filter-tier--subject{gap:0 18px;margin-bottom:4px;padding:4px 0 8px}.schedule-page .schedule-filter-tier--school{gap:0 18px;margin-bottom:0;padding:0 0 10px}.schedule-page .schedule-filter-btn{background:var(--schedule-filter-inactive);border:none;border-radius:0;color:var(--schedule-filter-inactive-text);cursor:pointer;flex:1 1 0;font-size:14px;font-weight:700;line-height:1.25;min-height:44px;min-width:0;padding:10px 8px;text-align:center;transition:background .15s ease,color .15s ease}.schedule-page .schedule-filter-btn:not(.on):hover{color:var(--brand);filter:none}.schedule-page .schedule-filter-btn.on{background:var(--schedule-filter-active);color:var(--schedule-filter-active-text)}.schedule-page .schedule-filter-btn.on:hover{filter:brightness(1.08)}.schedule-page .schedule-filter-tab{background:transparent;border:none;border-bottom:3px solid transparent;border-radius:0;color:var(--text);cursor:pointer;font-size:15px;font-weight:600;line-height:1.3;min-height:36px;padding:6px 0;transition:border-color .15s ease,color .15s ease}.schedule-page .schedule-filter-tab.on,.schedule-page .schedule-filter-tab:hover{color:var(--schedule-filter-tab-active)}.schedule-page .schedule-filter-tab.on{border-bottom-color:var(--schedule-filter-tab-active);font-weight:700}.schedule-page .schedule-filter-divider{border:0;border-top:1px solid var(--border);margin:12px 0 0}.schedule-page .schedule-filters-wrap,.schedule-page .schedule-results-section{display:block;visibility:visible}.schedule-page .schedule-empty:not([hidden]){display:block}.schedule-page .schedule-meta{font-size:13px;font-weight:600;margin:0 0 10px}.schedule-page .schedule-list{display:flex;flex-direction:column;gap:8px}.schedule-page .schedule-item{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.schedule-page .schedule-item.is-expanded{border-color:color-mix(in srgb,var(--brand) 40%,var(--border));box-shadow:0 2px 12px rgba(0,0,0,.05)}.schedule-page .schedule-item__main{padding:14px 14px 12px}.schedule-page .schedule-item__title{font-size:17px;font-weight:700;line-height:1.35;margin:0 0 6px}.schedule-page .schedule-item__meta{color:var(--text-secondary,var(--muted));font-size:13px;line-height:1.45;margin:0 0 6px}.schedule-page .schedule-item__schedule{font-size:14px;font-weight:600;line-height:1.45;margin:0 0 6px}.schedule-page .schedule-item__start{color:var(--muted);font-size:12px;margin:0 0 10px}.schedule-page .schedule-item__start time{color:var(--text);font-weight:600}.schedule-page .schedule-item__toggle{background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:13px;font-weight:600;min-height:34px;padding:6px 12px;transition:background .2s ease,border-color .2s ease,color .2s ease}.schedule-page .schedule-item__toggle:hover{border-color:var(--brand);color:var(--brand)}.schedule-page .schedule-item__toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.schedule-page .schedule-item__details{background:color-mix(in srgb,var(--hover) 55%,transparent);border-top:1px solid var(--border);padding:12px 14px 14px}.schedule-page .schedule-item__detail-text{font-size:14px;line-height:1.65;margin:0 0 12px;white-space:normal}.schedule-page .schedule-item__detail-figure{margin:0 0 12px}.schedule-page .schedule-item__detail-image{display:block;height:auto;max-width:100%;object-fit:contain;width:auto}.schedule-page .schedule-item__detail-link-wrap{margin:0}.schedule-page .schedule-item__detail-link{display:inline-flex;text-decoration:none}.schedule-page .schedule-empty{font-size:15px;padding:40px 16px;text-align:center}@media (max-width:640px){.schedule-page .schedule-filter-btn{font-size:12px;min-height:40px;padding:8px 4px}.schedule-page .schedule-filter-tab{font-size:13px;min-height:32px}.schedule-page .schedule-filter-tier--school,.schedule-page .schedule-filter-tier--subject{gap:0 12px}}@media (max-width:400px){.schedule-page .schedule-filter-tier--grade .schedule-filter-btn{flex:1 1 calc(50% - 2px)}.schedule-page .schedule-filter-tier--grade .schedule-filter-btn:first-child{flex:1 1 100%}}.signup-card{max-width:95vw;width:600px}.signup-steps{justify-content:space-between;margin-bottom:32px}.signup-steps,.step-item{align-items:center;display:flex;gap:8px}.step-item{flex:1;flex-direction:column;min-width:0;position:relative}.step-number{align-items:center;background:var(--bg-secondary,#f5f5f5);border:2px solid var(--border-color,#e0e0e0);border-radius:50%;color:var(--text-secondary,#666);display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:32px;justify-content:center;left:50%;position:absolute;top:0;transform:translateX(-50%);transition:all .3s;width:32px}.step-item.active .step-number{background:var(--primary-color,#ff6b35);border-color:var(--primary-color,#ff6b35);color:#fff}.step-item.completed .step-number{background:var(--success-color);border-color:var(--success-color);color:#fff}.step-label{align-items:center;color:var(--text-secondary,#666);display:flex;font-size:11px;justify-content:center;line-height:1.3;margin-top:40px;min-height:28px;text-align:center;white-space:normal;width:100%;word-break:keep-all}.step-item.active .step-label{color:var(--primary-color,#ff6b35);font-weight:600}.step-item.completed .step-label{color:var(--success-color)}.step-connector{align-self:flex-start;background:var(--border-color,#e0e0e0);flex:1;height:2px;margin:15px 4px 0;min-width:16px}.step-connector.completed,.step-item.completed+.step-connector{background:var(--success-color)}@media (max-width:768px){.step-label{font-size:11px;line-height:1.3;margin-top:36px;min-height:28px}.step-number{font-size:12px;height:28px;width:28px}}@media (max-width:480px){.step-label{font-size:10px;line-height:1.2;margin-top:32px;min-height:24px}.step-number{font-size:11px;height:24px;width:24px}.signup-steps{gap:4px}.step-connector{min-width:8px}}.signup-step{display:none}.signup-step.active{display:block}.signup-step.hidden{display:none!important}.radio-group{display:flex;gap:16px}.radio-group.vertical,.radio-label{flex-direction:column}.radio-label{align-items:center;background:var(--card);border:2px solid var(--border);border-radius:12px;cursor:pointer;display:flex;gap:12px;justify-content:center;padding:24px;transition:all .2s}.radio-label:hover{background:var(--hover);border-color:var(--brand)}.radio-label input{display:none}.radio-label .radio-icon{align-items:center;color:var(--text);display:flex;font-size:48px;justify-content:center;margin-bottom:8px}.radio-label .radio-icon svg{height:48px;width:48px}.radio-label .radio-title{font-size:18px;font-weight:700}.radio-label .radio-desc{color:var(--muted);font-size:14px;text-align:center}.radio-label input:checked~.radio-icon~.radio-title{font-weight:700}.radio-label.is-selected,.radio-label:has(input:checked){background:var(--hover);border-color:var(--brand)}.terms-desc{color:var(--muted);font-size:13px;line-height:1.6;margin-bottom:16px}.terms-item-header-content{color:var(--text);cursor:pointer;display:block;font-size:14px;font-weight:500;hyphens:auto;line-height:1.4;margin:0;overflow-wrap:break-word;white-space:normal;word-break:keep-all}.terms-checkbox{cursor:pointer;flex-shrink:0}.agree-all-checkbox,.terms-checkbox{accent-color:var(--brand);height:16px;width:16px}.agree-all-checkbox{margin-right:12px}.verify-label{color:var(--text);display:block;font-weight:600;margin-bottom:8px}.verify-note{color:var(--muted);display:block;font-size:13px;margin-top:8px}.child-info-box{background:var(--hover);border-left:4px solid var(--brand);border-radius:8px;margin:24px 0;padding:16px}.child-info-title{font-size:15px;font-weight:700;margin:0 0 12px}.readonly-input{background:var(--hover);cursor:not-allowed}.terms-box{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:24px}.checkbox-label{align-items:center;background:var(--hover);border-radius:8px;cursor:pointer;display:flex;font-size:15px;gap:12px;margin-bottom:20px;padding:18px 20px}.checkbox-label .agree-all-checkbox{height:16px;width:16px}.terms-list{display:flex;flex-direction:column;gap:0}.terms-item{margin-bottom:0}.terms-item-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:8px;padding:16px 0;width:100%}.terms-item:last-child .terms-item-header{border-bottom:none}.terms-item-header-left{align-items:center;display:flex;flex:0 0 auto;flex-shrink:0}.terms-item-header-center{flex:1;min-width:0;overflow:hidden;padding:0 8px 0 12px;text-align:center}.terms-item-header-right{flex:0 0 auto;flex-shrink:0}.terms-item-header:has(.terms-item-header-center:empty) .terms-item-header-left{flex:0 0 auto}.terms-item-header:has(.terms-item-header-center:empty) .terms-item-header-center{display:none}.terms-view-btn{background:var(--card);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;flex-shrink:0;font-size:12px;font-weight:500;height:28px;min-width:50px;padding:6px 12px;text-align:center;transition:all .2s;white-space:nowrap}.terms-view-btn:hover{background:var(--hover);border-color:var(--brand);color:var(--brand)}@media (max-width:768px){.terms-box{padding:16px}.checkbox-label{font-size:14px;padding:14px 16px}.terms-item-header{gap:8px;padding:12px 0}.terms-item-header-center{padding:0 8px}.terms-item-header-content{font-size:13px}.agree-all-checkbox,.terms-checkbox{height:14px;width:14px}.agree-all-checkbox{margin-right:10px}.terms-view-btn{font-size:10px;height:24px;min-width:38px;padding:4px 8px}.terms-desc{font-size:12px}}@media (max-width:480px){.terms-item-header{gap:4px;padding:10px 0}.terms-item-header-left{flex:0 0 auto}.terms-item-header-center{flex:1;min-width:0;padding:0 6px}.terms-item-header-content{font-size:11px;line-height:1.3}.agree-all-checkbox,.terms-checkbox{height:14px;width:14px}.agree-all-checkbox{margin-right:8px}.terms-view-btn{font-size:9px;height:20px;min-width:32px;padding:3px 6px}}.terms-item-content{background:var(--hover);border-radius:8px;color:var(--text);display:none;font-size:13px;line-height:1.8;margin-top:8px;max-height:300px;overflow-y:auto;padding:16px;white-space:pre-line}.terms-item-content:not(.hidden){display:block}.email-verify-group{align-items:stretch;display:flex;flex-direction:column;gap:10px;width:100%}.email-verify-group input{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);flex:1;font-size:15px;height:48px;min-width:0;padding:0 16px;width:100%}.btn-verify{align-items:center;background:var(--brand);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:14px;font-weight:600;gap:6px;height:48px;justify-content:center;line-height:1.4;padding:0 12px;position:relative;transition:all .2s;white-space:normal;width:100%}.btn-verify:hover{filter:brightness(1.08)}.btn-verify:disabled{cursor:not-allowed;opacity:.6}.verify-group{align-items:stretch;display:flex;flex-direction:column;gap:10px;width:100%}.verify-group input{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);flex:1;font-size:15px;height:48px;min-width:0;padding:0 16px;width:100%}.verify-group input:disabled{background:var(--bg-secondary);cursor:not-allowed;opacity:.7}.verify-group input.verified{background:var(--success-bg);border-color:var(--success-color);color:var(--success-color)}.verify-status-container{gap:4px}.verification-send-meta,.verify-status-container{display:flex;flex-direction:column;margin-top:8px}.verification-send-meta{gap:6px}.verification-send-meta .verify-note{margin:0}.verify-timer{color:var(--brand);display:block;font-size:13px;font-weight:600;margin-top:4px;transition:color .3s}.verify-timer.warning{animation:pulse 1s ease-in-out infinite;color:var(--error-color)}.verify-check-icon{font-size:18px;font-weight:700;margin-left:4px}.send-btn-text,.verify-btn-text,.verify-check-icon{display:inline-block}.send-btn-timer{color:var(--info-color,var(--text-secondary));display:block;font-weight:700;line-height:1.5;margin:0;overflow-wrap:anywhere;transition:color .3s,font-weight .3s;word-break:keep-all}.send-btn-spinner,.verify-btn-spinner{align-items:center;display:inline-flex;justify-content:center}.send-btn-spinner.hidden,.verify-btn-spinner.hidden{display:none}.timer-progress{background:var(--border);border-radius:2px;height:3px;margin-top:4px;overflow:hidden;width:100%}.timer-progress-bar{background:var(--brand);border-radius:2px;height:100%;transition:width 1s linear,background-color .3s}.timer-progress-bar.warning{background:var(--error-color)}.btn-verify.verified{background:var(--success-color);cursor:default}.btn-verify.verified:hover{filter:none}@media (max-width:640px){.signup-card input,.signup-card select,.signup-card textarea{font-size:16px}.email-verify-group,.verify-group{align-items:stretch;flex-direction:column;gap:8px}.btn-verify,.email-verify-group input,.verify-group input{width:100%}.btn-verify{min-height:48px}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.success-message{padding:32px 0;text-align:center}.success-icon{align-items:center;animation:successScale .5s ease-out;background:var(--success-bg);border-radius:50%;color:var(--success-color);display:flex;font-size:48px;font-weight:700;height:80px;justify-content:center;margin:0 auto 24px;width:80px}@keyframes successScale{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.success-info{background:var(--hover);border-radius:8px;margin:16px 0;padding:16px;white-space:pre-line}#loginLinkButton{box-shadow:0 4px 12px rgba(255,122,0,.3);font-weight:800;position:relative}#loginLinkButton:hover{box-shadow:0 6px 16px rgba(255,122,0,.4);transform:translateY(-2px)}.school-search-pagination{align-items:center;display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:16px;padding:12px 0}.school-search-page-btn{background:var(--bg-secondary,#f5f5f5);border:1px solid var(--border-color,#e0e0e0);border-radius:4px;color:var(--text-primary,#333);cursor:pointer;font-size:14px;min-width:36px;padding:6px 12px;transition:all .2s}.school-search-page-btn.active,.school-search-page-btn:hover{background:var(--primary-color,#ff6b35);border-color:var(--primary-color,#ff6b35);color:#fff}.school-search-page-btn.active{font-weight:600}.school-search-page-ellipsis{color:var(--text-secondary,#666);padding:0 8px}.school-search-pagination-info{color:var(--text-secondary,#666);font-size:12px;margin-top:8px;text-align:center;width:100%}@media (max-width:768px){input[type=email],input[type=password],input[type=tel],input[type=text],select{font-size:16px;min-height:44px}.btn{min-height:44px;min-width:44px;padding:12px 20px}input[type=checkbox],input[type=radio]{height:20px;min-height:20px;min-width:20px;width:20px}.form-group{margin-bottom:20px}.success-message .btn{margin-bottom:12px;width:100%}.verification-send-meta .send-btn-timer{font-size:13px}}@media (max-width:480px){.auth-card{padding:24px 16px}.form-actions{flex-direction:column;gap:12px}.form-actions .btn{width:100%}.phone-format-hint{display:block!important;margin-top:4px;position:static!important}.school-search-page-btn{font-size:12px;min-width:32px;padding:4px 8px}.verification-send-meta .send-btn-timer{font-size:12px}}#step1Form .radio-label{align-items:flex-start;display:flex;gap:12px}#step1Form .radio-label input[type=radio]{accent-color:var(--brand,#ff6b35);flex-shrink:0;margin-top:6px}.story .lead{color:var(--muted);margin-top:-6px;text-align:center}.story strong.mark{color:var(--brand);font-weight:800}.story .keyline{color:var(--brand);display:block;font-weight:700;letter-spacing:-.01em;margin:10px 0 14px;text-align:center}.student-learning-page .student-learning-back{margin-bottom:16px}.student-learning-gate{margin:24px 0 48px}.student-learning-gate__card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,.06);margin:0 auto;max-width:480px;padding:40px 32px;text-align:center}.student-learning-gate__icon{background:var(--hover);border-radius:50%;height:64px;margin:0 auto 20px;width:64px}.student-learning-gate--blocked .student-learning-gate__icon{background:rgba(244,67,54,.12)}.student-learning-gate--empty .student-learning-gate__icon{background:rgba(255,122,0,.12)}.student-learning-gate--error .student-learning-gate__icon{background:rgba(33,150,243,.12)}.student-learning-gate__title{color:var(--text);font-size:1.35rem;font-weight:800;margin:0 0 8px}.student-learning-gate__message{color:var(--muted);line-height:1.6;margin:0 0 24px;word-break:keep-all}.student-learning-gate__action{display:inline-flex}.student-learning-empty{align-items:center;background:var(--card);border:2px dashed var(--border);border-radius:16px;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:48px 24px;text-align:center}.student-learning-empty__icon{color:var(--muted);opacity:.6}.student-learning-empty__title{color:var(--text);font-size:1.1rem;font-weight:700;margin:0}.student-learning-empty__hint{color:var(--muted);font-size:14px;line-height:1.5;margin:0}.week-progress-pill{background:var(--hover);border:1px solid var(--border);border-radius:999px;color:var(--muted);flex-shrink:0;font-size:12px;font-weight:700;padding:4px 10px}.week-card.watched .week-progress-pill{background:rgba(76,175,80,.12);border-color:rgba(76,175,80,.35);color:#2e7d32}.week-videos-list{display:flex;flex-direction:column;gap:0}.week-videos-empty{background:var(--hover);border:1px dashed var(--border);border-radius:10px;color:var(--muted);font-size:14px;margin:0;padding:20px 16px;text-align:center}.video-index{align-self:center;background:rgba(255,122,0,.1);border-radius:8px;color:var(--brand);flex-shrink:0;font-size:12px;font-weight:800;min-width:36px;padding:4px 8px;text-align:center}.current-badge{background:var(--brand);border-radius:4px;color:#fff;font-size:11px;font-weight:700;margin-left:8px;padding:2px 8px;vertical-align:middle}.week-header{background:transparent;border:none;font:inherit;text-align:left;width:100%}.course-header{background:linear-gradient(135deg,var(--card) 0,var(--hover) 100%);border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.05);box-sizing:border-box;margin-bottom:32px;overflow:hidden;padding:32px;position:relative;width:100%}.course-header:before{background:linear-gradient(90deg,var(--brand),var(--accent));content:"";height:4px;left:0;position:absolute;right:0;top:0}.course-title{color:var(--text);font-size:clamp(1.5rem,4vw,2rem);font-weight:900;line-height:1.3;margin:12px 0 16px;overflow-wrap:break-word;word-break:keep-all}.course-meta{display:flex;flex-wrap:wrap;gap:16px}.course-instructor{background:var(--hover);border-radius:6px;box-sizing:border-box;display:inline-block;font-size:clamp(12px,1.8vw,14px);font-weight:600;max-width:100%;overflow-wrap:break-word;padding:6px 12px;word-break:keep-all}.progress-bar{overflow:hidden;position:relative}.progress-bar:after{animation:progress-shine 2s infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3),transparent);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.weeks-list{display:flex;flex-direction:column;gap:16px;overflow-x:hidden}.week-card,.weeks-list{box-sizing:border-box;width:100%}.week-card{background:var(--card);border:2px solid var(--border);border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.04);overflow:hidden;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1)}.week-card.watched{background:linear-gradient(135deg,rgba(76,175,80,.03) 0,var(--card) 100%);border-color:#4caf50;box-shadow:0 4px 16px rgba(76,175,80,.1)}.week-card:hover{border-color:var(--brand);box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-4px)}.week-header{align-items:center;background:linear-gradient(135deg,var(--hover) 0,var(--card) 100%);color:var(--text);cursor:pointer;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:24px 28px;position:relative;user-select:none}.week-header:after{background:var(--border);bottom:0;content:"";height:2px;left:0;position:absolute;right:0;transition:all .3s ease}.week-card.expanded .week-header:after{background:var(--brand);opacity:.3}.week-title-section{align-items:center;display:flex;flex:1;gap:12px;min-width:0}.week-number{align-items:center;background:linear-gradient(135deg,var(--brand) 0,var(--accent) 100%);border-radius:14px;box-shadow:0 4px 12px rgba(255,122,0,.3);color:#fff;display:flex;flex-shrink:0;font-size:20px;font-weight:900;height:48px;justify-content:center;transition:all .3s ease;width:48px}.week-number.watched{background:#4caf50}.week-title{color:var(--text);font-size:clamp(1rem,2.5vw,1.25rem);font-weight:800;line-height:1.4;margin:0;overflow-wrap:break-word;transition:color .2s ease;word-break:keep-all}.week-toggle-icon{align-items:center;border-radius:8px;color:var(--muted);display:flex;font-size:18px;height:32px;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:32px}.week-card.expanded .week-toggle-icon{color:var(--brand);transform:rotate(180deg)}.week-content{max-height:0;overflow:hidden;padding:0 24px;transition:max-height .4s cubic-bezier(.4,0,.2,1),padding .4s cubic-bezier(.4,0,.2,1)}.week-card.expanded .week-content{max-height:5000px;padding:24px}.week-description{color:var(--muted);line-height:1.7;margin-bottom:16px;overflow-wrap:break-word;white-space:pre-wrap;word-break:keep-all}.video-item{align-items:center;background:var(--card);border:2px solid var(--border);border-radius:12px;cursor:pointer;display:flex;gap:16px;margin-bottom:12px;overflow:hidden;padding:20px 24px;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent;box-shadow:0 2px 8px rgba(0,0,0,.04);flex-wrap:nowrap;min-width:0;touch-action:manipulation}.video-item:before{background:var(--brand);bottom:0;content:"";left:0;opacity:.1;position:absolute;top:0;transition:width .3s ease;width:0}.video-item:hover{background:linear-gradient(135deg,var(--hover) 0,var(--card) 100%);border-color:var(--brand);box-shadow:0 8px 24px rgba(255,122,0,.15);transform:translateX(8px) translateY(-2px)}.video-item:hover:before{width:4px}.video-item.completed{background:linear-gradient(135deg,rgba(76,175,80,.05) 0,var(--card) 100%);border-left:4px solid;border-color:#4caf50}.video-item.current-learning{border-color:var(--brand);border-width:2px;box-shadow:0 0 0 2px rgba(255,122,0,.1)}.video-icon{align-items:center;background:linear-gradient(135deg,var(--brand) 0,var(--accent) 100%);border-radius:14px;box-shadow:0 4px 12px rgba(255,122,0,.3);color:#fff;display:flex;flex-shrink:0;font-size:22px;height:56px;justify-content:center;transition:all .3s ease;width:56px}.video-item.completed .video-icon{background:#4caf50}.video-info{flex:1 1 auto;min-width:0}.video-name{color:var(--text);font-weight:700;margin-bottom:4px;overflow-wrap:break-word;word-break:keep-all}.video-meta{color:var(--muted);font-size:13px;gap:8px}.video-check,.video-meta{align-items:center;display:flex}.video-check{background:var(--card);border:2px solid var(--border);border-radius:8px;flex-shrink:0;height:28px;justify-content:center;margin-left:auto;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.video-check.checked{background:#4caf50;border-color:#4caf50;color:#fff;transform:scale(1.1)}.video-modal{align-items:center;background:rgba(0,0,0,.9);box-sizing:border-box;display:flex;height:100%;inset:0;justify-content:center;overflow-y:auto;padding:20px;position:fixed;width:100%;z-index:10000}.video-modal-content{background:var(--card);border-radius:12px;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;overflow:hidden;width:100%}.video-modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;padding:20px 24px}.video-modal-header h3{flex:1;font-size:clamp(1rem,2.5vw,1.25rem);font-weight:700;margin:0;min-width:0;overflow-wrap:break-word;word-break:keep-all}.video-modal-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:32px;height:40px;width:40px}.video-modal-body{flex:1;overflow-y:auto;padding:24px}.video-player-wrapper{background:#000;border-radius:8px;height:0;overflow:hidden;padding-bottom:56.25%;position:relative}.video-player-wrapper iframe,.video-player-wrapper video{border:0;height:100%;inset:0;position:absolute;width:100%}.loading-skeleton{display:flex;flex-direction:column;gap:16px}.skeleton-week-card{animation:skeleton-pulse 1.5s ease-in-out infinite;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px 24px}.skeleton-week-header{align-items:center;display:flex;gap:12px}.skeleton-circle{border-radius:12px;height:44px;width:44px}.skeleton-circle,.skeleton-line{animation:skeleton-pulse 1.5s ease-in-out infinite;background:var(--hover)}.skeleton-line{border-radius:4px;height:20px}.completion-modal{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.7);display:flex;height:100%;inset:0;justify-content:center;opacity:0;position:fixed;transition:opacity .3s ease;width:100%;z-index:20000}.completion-modal.show{opacity:1}.completion-modal-content{background:var(--card);border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:500px;padding:48px 32px;text-align:center;transform:scale(.9);transition:transform .3s cubic-bezier(.34,1.56,.64,1);width:90%}.completion-modal.show .completion-modal-content{transform:scale(1)}.completion-badge-container{height:120px;margin:0 auto 24px;position:relative;width:120px}.completion-badge,.completion-badge-container{align-items:center;display:flex;justify-content:center}.completion-badge{animation:badge-rotate 3s linear infinite,badge-pulse 2s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(255,215,0,.4));height:100%;left:0;position:absolute;top:0;width:100%}.completion-icon{align-items:center;animation:bounce 1s ease infinite;display:flex;height:80px;justify-content:center;position:relative;width:80px;z-index:1}.completion-icon svg{height:100%;width:100%}.completion-modal-content h2{color:var(--text);font-size:32px;font-weight:900;margin:0 0 12px}.completion-modal-content p{color:var(--muted);font-size:18px;margin:0 0 32px}.completion-actions{display:flex;gap:12px;justify-content:center}.completion-actions .btn{font-size:16px;font-weight:700;padding:14px 28px}.sr-only,body.completion-modal-open{overflow:hidden}.sr-only{height:1px;margin:-1px;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}@keyframes progress-shine{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes badge-rotate{0%,to{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes badge-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (hover:none) and (pointer:coarse){.video-item:hover,.week-card:hover{transform:none}}@media (max-width:768px){.course-header{border-radius:12px;margin-bottom:24px;padding:20px}.weeks-list{gap:12px}.week-card.expanded .week-content,.week-header{padding:20px}.video-item{gap:12px;padding:16px 20px}.video-modal-content{border-radius:8px;max-height:95vh;max-width:100%}.video-modal-header{padding:16px 20px}.video-modal-body{padding:16px}.completion-modal-content{padding:32px 24px}}@media (max-width:480px){.course-header{margin-bottom:20px;padding:16px}.week-progress-pill{font-size:11px;padding:3px 8px}.video-index{font-size:10px;line-height:1.2;min-width:0;padding:3px 6px}.student-learning-gate__card{padding:32px 20px}.course-instructor{font-size:12px;padding:5px 10px}.weeks-list{gap:10px}.week-card{border-radius:12px}.week-title-section{gap:8px}.week-header{gap:8px;padding:16px}.week-number{border-radius:12px;font-size:18px;height:40px;width:40px}.week-card.expanded .week-content{padding:16px}.video-item{flex-wrap:nowrap;gap:8px;padding:10px 12px}.video-icon{border-radius:10px;font-size:15px;height:36px;width:36px}.video-info{align-items:center;display:flex;flex:1 1 auto;gap:6px}.video-info,.video-name{min-width:0;white-space:nowrap}.video-name{flex:0 1 auto;font-size:13px;margin-bottom:0;overflow:hidden;text-overflow:ellipsis}.video-meta{flex:0 0 auto;font-size:11px;line-height:1.2;white-space:nowrap}.video-check{border-radius:6px;height:22px;width:22px}.video-check svg{height:14px;width:14px}.video-modal-content{border-radius:0;max-height:100vh}.video-modal-header{padding:12px 16px}.video-modal-body{padding:12px}.video-player-wrapper{border-radius:0}}.student-dashboard-page .student-stats-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.student-dashboard-page .student-dashboard-stats-section{margin-bottom:8px}.modal-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;right:0;top:0;z-index:10000;-webkit-overflow-scrolling:touch;overflow-y:auto}.modal-overlay,body.modal-open{height:100%;position:fixed;width:100%}body.modal-open{overflow:hidden}@supports (-webkit-touch-callout:none){body.modal-open{bottom:0;left:0;position:fixed;right:0;top:0}}.modal-overlay .modal-content.auth-card{background:var(--card);border-radius:16px;box-shadow:var(--shadow-soft);max-width:92vw;padding:32px 24px;position:relative;width:500px}.modal-overlay .modal-content.auth-card h1{color:var(--text);font-size:22px;font-weight:800;margin:0 0 16px}.modal-overlay .modal-content.auth-card .desc{color:var(--muted);line-height:1.6;margin-bottom:20px}.modal-overlay .modal-content.auth-card label{color:var(--text);display:block;font-size:14px;font-weight:700;margin:0}.modal-overlay .modal-content.auth-card input,.modal-overlay .modal-content.auth-card select{background:var(--bg);border:1px solid var(--border);border-radius:8px;box-sizing:border-box;color:var(--text);font-size:15px;padding:10px 12px;transition:all .2s;width:100%}.modal-overlay .modal-content.auth-card input:focus,.modal-overlay .modal-content.auth-card select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,122,0,.1);outline:none}.modal-overlay .modal-content.auth-card.student-unenroll-modal button.btn.danger,.modal-overlay .modal-content.auth-card.student-unenroll-modal button.btn.primary{border:0;border-radius:10px;cursor:pointer;font-weight:800;height:44px;margin-top:20px;transition:all .2s;width:100%}.modal-overlay .modal-content.auth-card.student-unenroll-modal button.btn.danger:hover,.modal-overlay .modal-content.auth-card.student-unenroll-modal button.btn.primary:hover{filter:brightness(1.08)}.modal-overlay .modal-content.auth-card.student-unenroll-modal button.btn.danger:disabled,.modal-overlay .modal-content.auth-card.student-unenroll-modal button.btn.primary:disabled{cursor:not-allowed;opacity:.6}.modal-overlay .modal-content.auth-card #editProfileStatus{line-height:1.6;margin-top:12px;min-height:20px;white-space:pre-line}.modal-overlay .modal-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--muted);cursor:pointer;display:flex;font-size:24px;height:34px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s;width:34px}.modal-overlay .modal-close:hover{background:var(--hover);color:var(--text)}@media (max-width:480px){.modal-overlay .modal-content.auth-card{padding:24px 20px;width:95vw}.modal-overlay .modal-content.auth-card h1{font-size:20px;margin-bottom:12px}.modal-overlay .modal-close{font-size:24px;height:28px;right:12px;top:12px;width:28px}}.student-courses-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.student-course-card{background:var(--card);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:10px;padding:16px}.student-course-card h3{font-size:18px;line-height:1.35;margin:0}.student-course-meta{color:var(--muted);font-size:13px;line-height:1.55;margin:0}.student-course-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.student-course-unenroll-btn{margin-left:auto}.student-unenroll-warning{color:var(--text);font-size:14px;line-height:1.55;margin:0 0 16px;padding-left:20px}.student-unenroll-warning li+li{margin-top:6px}.student-unenroll-modal__actions{align-items:stretch;display:flex;flex-direction:row;flex-wrap:nowrap;gap:clamp(8px,2vw,12px);margin-top:16px;width:100%}.modal-overlay .modal-content.auth-card.student-unenroll-modal .student-unenroll-modal__actions .btn{flex:1 1 0;font-size:clamp(13px,2.4vw,15px);height:auto;line-height:1.25;margin-top:0;max-width:none;min-height:clamp(40px,10vw,44px);min-width:0;padding:clamp(8px,2vw,12px) clamp(10px,2.5vw,16px);white-space:nowrap;width:auto}.student-offline-classes-list{display:flex;flex-direction:column;gap:8px}.student-offline-list-row{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:10px;display:grid;gap:8px 14px;grid-template-columns:minmax(0,1.35fr) minmax(0,1.15fr) auto;padding:clamp(10px,2vw,12px) clamp(12px,2.5vw,14px)}.student-offline-list-row__title{font-size:clamp(15px,2.2vw,17px);line-height:1.3;margin:0 0 2px}.student-offline-list-row__meta{color:var(--muted);font-size:clamp(12px,1.8vw,13px);line-height:1.4;margin:0}.student-offline-list-row__schedule{display:flex;flex-direction:column;gap:2px;min-width:0}.student-offline-list-row__schedule-label{color:var(--muted);font-size:clamp(11px,1.6vw,12px);font-weight:700}.student-offline-list-row__schedule-value{font-size:clamp(12px,1.8vw,13px);line-height:1.45}.student-offline-list-row__action{display:flex;justify-content:flex-end}.student-offline-list-row__action .btn{font-size:clamp(12px,1.8vw,13px);min-height:34px;padding:6px 12px;white-space:nowrap}.student-offline-empty{color:var(--muted);font-size:clamp(13px,1.9vw,14px);margin:0;padding:12px 2px}@media (max-width:760px){.student-offline-list-row{align-items:flex-start;gap:8px;grid-template-areas:"main action" "schedule schedule";grid-template-columns:1fr auto}.student-offline-list-row__main{grid-area:main;min-width:0}.student-offline-list-row__schedule{grid-area:schedule}.student-offline-list-row__action{align-self:start;grid-area:action}}.student-course-progress{color:var(--text);font-size:13px;font-weight:600;margin:0}.student-course-empty{background:var(--card);border:1px dashed var(--border);border-radius:12px;color:var(--muted);margin:0;padding:16px}.student-course-filters{display:inline-flex;flex-wrap:wrap;gap:8px}.course-filter-btn.is-active{background:var(--brand);border-color:var(--brand);color:#fff}@media (max-width:1024px){.student-courses-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.student-courses-grid{grid-template-columns:1fr}}@media (max-width:768px){#dashHead .btn{font-size:14px;padding:8px 12px}#dashHead .btn svg{height:14px;width:14px}}@media (max-width:480px){#dashHead .btn{font-size:12px;padding:6px 10px}#dashHead .btn svg{height:12px;width:12px}}@media (max-width:768px){.modal-overlay .modal-content.auth-card input,.modal-overlay .modal-content.auth-card select{font-size:16px}}.student-offline-class-page .student-offline-blocked{display:flex;flex-direction:column;gap:10px}.student-offline-class-page .student-offline-class-info{display:flex;flex-direction:column;gap:6px}.student-offline-class-page .student-offline-class-label{align-self:center;border-radius:6px;color:#fff;display:inline-block;font-size:12px;font-weight:700;margin:0;padding:4px 10px}.student-offline-class-page .student-offline-class-label[data-subject=\AD6D\C5B4]{background:var(--sub-ko)}.student-offline-class-page .student-offline-class-label[data-subject=\C601\C5B4]{background:var(--sub-en)}.student-offline-class-page .student-offline-class-label[data-subject=\C218\D559]{background:var(--sub-ma)}.student-offline-class-page .student-offline-class-label[data-subject=\ACFC\D559]{background:var(--sub-sc)}.student-offline-class-page .student-offline-class-label[data-subject=\CEE8\C124\D305]{background:var(--sub-consult)}.student-offline-class-page .student-offline-class-meta{color:var(--muted);font-size:clamp(13px,1.9vw,14px);line-height:1.45;margin:0}.student-offline-class-page .student-offline-class-meta--schedule{line-height:1.5;margin-top:8px}.student-offline-class-page .student-offline-class-meta--schedule-lines{line-height:1.5;margin-top:6px}.student-offline-class-page .student-offline-class-meta__label{color:var(--text);font-weight:700;margin-right:0}.student-offline-class-page .student-offline-archived-notice{background:color-mix(in srgb,var(--warning-color,#f59e0b) 12%,transparent);border-radius:8px;font-size:13px;margin-top:4px;padding:8px 10px}.student-offline-class-page .student-offline-sessions-head{margin-bottom:8px}.student-offline-class-page .student-offline-sessions-head .section-title{margin:0 0 2px}.student-offline-class-page .student-offline-sessions-head .home-subdesc{margin:0}.student-offline-class-page .student-offline-sessions-list{display:flex;flex-direction:column;gap:6px}.student-offline-class-page .student-offline-sessions-empty{color:var(--muted);font-size:14px;margin:0;padding:16px 2px;text-align:center}.student-offline-class-page .student-offline-session-card{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.student-offline-class-page .student-offline-session-card.is-open{border-color:color-mix(in srgb,var(--brand,#ff7a00) 40%,var(--border))}.student-offline-class-page .student-offline-session-toggle{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;gap:8px;justify-content:space-between;min-height:44px;padding:8px 10px;text-align:left;width:100%}.student-offline-class-page .student-offline-session-toggle:focus-visible{outline:2px solid var(--brand,#ff7a00);outline-offset:-2px}.student-offline-class-page .student-offline-session-toggle__row{align-items:center;display:flex;flex:1;gap:6px;min-width:0;overflow:hidden;white-space:nowrap}.student-offline-class-page .student-offline-session-no{color:var(--brand,#ff7a00);flex-shrink:0;font-size:clamp(12px,1.8vw,13px);font-weight:700}.student-offline-class-page .student-offline-session-date{color:var(--muted);flex-shrink:0;font-size:clamp(11px,1.7vw,12px)}.student-offline-class-page .student-offline-session-title{flex:1;font-size:clamp(13px,1.9vw,14px);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-offline-class-page .student-offline-session-toggle__end{align-items:center;display:inline-flex;flex-shrink:0;gap:6px}.student-offline-class-page .student-offline-session-video-count{color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap}.student-offline-class-page .student-offline-session-toggle__icon{border-bottom:2px solid;border-right:2px solid;flex-shrink:0;height:7px;transform:rotate(45deg);transition:transform .15s ease;width:7px}.student-offline-class-page .student-offline-session-card.is-open .student-offline-session-toggle__icon{transform:rotate(-135deg);translate:0 1px}.student-offline-class-page .student-offline-session-panel{border-top:1px solid var(--border);padding:6px 10px 10px}.student-offline-class-page .student-offline-session-panel[hidden]{display:none}.student-offline-class-page .student-offline-session-desc{color:var(--muted);font-size:12px;line-height:1.45;margin:0 0 8px}.student-offline-class-page .student-offline-video-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.student-offline-class-page .student-offline-video-link{align-items:center;background:color-mix(in srgb,var(--brand,#ff7a00) 8%,var(--card));border:1px solid color-mix(in srgb,var(--brand,#ff7a00) 28%,var(--border));border-radius:6px;color:var(--text);display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:space-between;min-height:36px;padding:8px 10px;text-decoration:none;transition:background .15s ease,border-color .15s ease;width:100%}.student-offline-class-page .student-offline-video-link:hover{background:color-mix(in srgb,var(--brand,#ff7a00) 14%,var(--card));border-color:var(--brand,#ff7a00)}.student-offline-class-page .student-offline-video-link__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-offline-class-page .student-offline-video-link__go{color:var(--brand,#ff7a00);flex-shrink:0;font-size:14px;line-height:1}.student-offline-class-page .student-offline-sessions-pagination{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}.student-offline-class-page .student-offline-sessions-pagination__info{color:var(--muted);font-size:12px;font-weight:600}.student-offline-class-page .student-offline-sessions-pagination .btn{font-size:12px;min-height:32px;padding:5px 10px}.student-offline-debug-panel{background:var(--card);border:1px solid var(--border);border-radius:8px;font-size:12px;line-height:1.45;margin:24px 16px;max-height:40vh;overflow:auto;padding:12px 14px}.student-offline-debug-panel__title{font-size:14px;margin:0 0 8px}.student-offline-debug-panel__hint{font-size:12px;margin:0 0 10px}.student-offline-debug-panel__list{list-style:none;margin:0;padding:0}.student-offline-debug-panel__list li{border-top:1px solid var(--border);padding:6px 0;word-break:break-all}.student-offline-debug-panel__list code{font-size:11px}@media (max-width:640px){.student-offline-class-page .student-offline-session-toggle{min-height:40px;padding:7px 8px}.student-offline-class-page .student-offline-session-toggle__row{gap:4px}}.policy-page-wrap{margin:40px auto;max-width:960px;padding:0 16px}.policy-page-title{color:var(--text);font-size:1.8rem;font-weight:800;margin-bottom:.75rem;text-align:center}.policy-sub-title{color:var(--muted);font-size:.95rem;margin-bottom:1.5rem;text-align:center}.policy-tab-nav{border-bottom:2px solid var(--border);display:flex;gap:4px;margin-bottom:24px}.policy-tab-btn{background:transparent;border:none;border-radius:8px 8px 0 0;color:var(--muted);cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:500;margin-bottom:-2px;padding:12px 24px;position:relative;transition:all .2s}.policy-tab-btn.active{background:var(--card);border:1px solid var(--border);border-bottom-color:var(--card);color:var(--brand);font-weight:600}.policy-tab-btn:not(.active):hover{background:var(--hover);color:var(--text)}.policy-tab-panel-wrap{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-soft);padding:32px 28px}.policy-tab-panel{display:none}.policy-tab-panel.active{display:block}.policy-intro{border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:20px}.policy-intro p{color:var(--text);font-size:.95rem;line-height:1.8}.policy-toc-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.policy-toc-title{color:var(--text);font-size:1.1rem;font-weight:700}.policy-toc-controls{display:flex;gap:8px}.policy-toc-btn{background:var(--card);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-family:inherit;font-size:.85rem;padding:6px 12px;transition:all .2s}.policy-toc-btn:hover{background:var(--hover);border-color:var(--brand);color:var(--brand)}.policy-accordion-item{border:1px solid var(--border);border-radius:8px;margin-bottom:8px;overflow:hidden;transition:all .2s}.policy-accordion-item:hover{border-color:var(--brand)}.policy-accordion-header{align-items:center;background:var(--card);cursor:pointer;display:flex;gap:12px;padding:16px 20px;user-select:none}.policy-accordion-icon{color:var(--muted);flex-shrink:0;height:24px;width:24px}.policy-accordion-title{color:var(--text);flex:1;font-size:.95rem;font-weight:600}.policy-accordion-arrow{color:var(--muted);flex-shrink:0;height:20px;transition:transform .3s;width:20px}.policy-accordion-item.active .policy-accordion-arrow{transform:rotate(180deg)}.policy-accordion-content{background:var(--bg);max-height:0;overflow:hidden;transition:max-height .3s ease-out}.policy-accordion-item.active .policy-accordion-content{max-height:5000px}.policy-accordion-body{color:var(--text);line-height:1.8;padding:20px 24px 24px 56px}.policy-accordion-body h3{color:var(--text);font-size:1rem;font-weight:600;margin:1.1rem 0 .3rem}.policy-accordion-body p{color:var(--text);font-size:.95rem;line-height:1.8;margin:.4rem 0}.policy-accordion-body ul{color:var(--text);font-size:.95rem;margin:.4rem 0 .8rem 1.1rem;padding-left:.4rem}.policy-accordion-body li{line-height:1.7;margin-bottom:.3rem}.policy-tab-panel h2{color:var(--text);font-size:1.2rem;font-weight:700;margin:1.4rem 0 .4rem}.policy-tab-panel h2:first-child{margin-top:0}.policy-tab-panel h3{color:var(--text);font-size:1rem;font-weight:600;margin:1.1rem 0 .3rem}.policy-tab-panel p{color:var(--text);font-size:.95rem;line-height:1.8;margin:.4rem 0}.policy-tab-panel ul{color:var(--text);font-size:.95rem;margin:.4rem 0 .8rem 1.1rem;padding-left:.4rem}.policy-tab-panel li{line-height:1.7;margin-bottom:.3rem}.policy-muted{color:var(--muted);font-size:.85rem;margin-top:1rem}@media (max-width:768px){.policy-page-wrap{padding:24px 16px}.policy-tab-panel-wrap{padding:24px 18px}.policy-page-title{font-size:1.5rem}.policy-tab-nav{border-bottom:none;flex-direction:column;gap:0}.policy-tab-btn{border-bottom:1px solid var(--border);border-left:3px solid transparent;border-radius:0;margin-bottom:0;padding:12px 16px;text-align:left}.policy-tab-btn.active{border-bottom-color:var(--border);border-left-color:var(--brand);border-right:none;border-top:none}.policy-accordion-body{padding:20px 20px 24px}}.tuition-container{margin:0 auto;max-width:1200px;padding:40px 16px}.tuition-tabs{border-bottom:2px solid var(--border);display:flex;gap:12px;margin-bottom:32px;padding-bottom:0}.tuition-tab{background:transparent;border:none;border-bottom:3px solid transparent;color:var(--muted);cursor:pointer;font-family:inherit;font-size:16px;font-weight:500;margin-bottom:-2px;padding:12px 24px;transition:all .2s}.tuition-tab:hover{color:var(--text)}.tuition-tab.active{border-bottom-color:var(--brand);color:var(--brand)}.tuition-content{display:none}.tuition-content.active{display:block}.tuition-pdf-wrapper{background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);height:80vh;margin-bottom:24px;min-height:600px;overflow:hidden;width:100%}.tuition-pdf-wrapper iframe{border:none;height:100%;width:100%}.tuition-fallback{color:var(--muted);padding:40px;text-align:center}.tuition-fallback a{color:var(--brand);text-decoration:underline}@media (max-width:768px){.tuition-pdf-wrapper{height:70vh;min-height:500px}}.tuition-page-nav{align-items:center;border-top:1px solid var(--border);display:flex;justify-content:space-between;margin-top:24px;padding-top:24px}.tuition-nav-btn{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.tuition-nav-btn:hover:not(:disabled){background:var(--hover);border-color:var(--brand)}.tuition-nav-btn:disabled{cursor:not-allowed;opacity:.5}.tuition-page-info{color:var(--muted);font-size:14px}@media (max-width:768px){.tuition-tabs{flex-direction:column;gap:0}.tuition-tab{border-bottom:1px solid var(--border);border-left:3px solid transparent;margin-bottom:0;padding:12px 16px;text-align:left}.tuition-tab.active{border-bottom-color:var(--border);border-left-color:var(--brand)}.tuition-page-nav{flex-direction:column;gap:12px}.tuition-nav-btn{width:100%}}