:root{--primary:#0c2d50;--primary-2:#163f69;--on-primary:#fff;--on-primary-soft:#dfeaf3;--on-primary-muted:#b9cad9;--on-primary-faint:#93a9bd;--action:#e7a11a;--action-hover:#efad2d;--on-action:#0c2d50;--highlight:#e7a11a;--highlight-soft:#ffd98b;--on-highlight:#0c2d50;--accent-text:#8a5900;--ink:#102a43;--muted:#60758a;--canvas:#f3f7fa;--surface:#fff;--surface-2:#edf3f7;--line:#d9e4ec;--success:#237454;--success-bg:#e7f5ef;--danger:#a73832;--danger-bg:#fcecea;--focus:#e7a11a7a;--shadow:0 18px 50px #0c2d5017;--radius-scale:1;--button-radius:10px;--font-heading:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--ink);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{background:var(--canvas);min-width:320px;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{border:0}h1,h2,h3,p{margin-top:0}h1,h2,h3,h4,legend,.brand strong,.button{font-family:var(--font-heading)}h1{color:var(--primary);letter-spacing:-.045em;margin-bottom:12px;font-size:clamp(2rem,4vw,3.25rem);line-height:1.05}h2{color:var(--primary);letter-spacing:-.025em;font-size:1.4rem}h3{color:var(--primary)}p{line-height:1.65}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.app-shell{min-height:100dvh}.sidebar{z-index:30;border-right:1px solid color-mix(in srgb, var(--on-primary) 8%, transparent);background:var(--primary);width:264px;color:color-mix(in srgb, var(--on-primary) 75%, var(--on-primary-soft));flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-top{align-items:center;height:92px;padding:0 28px;display:flex}.brand{color:var(--primary);align-items:center;gap:12px;display:inline-flex}.brand-light,.sidebar .brand{color:var(--on-primary)}.brand-mark{border-radius:calc(12px * var(--radius-scale));background:var(--highlight);width:39px;height:39px;color:var(--on-highlight);place-items:center;font-size:1.45rem;font-weight:800;display:grid}.brand-logo{object-fit:contain;max-width:180px;max-height:44px;display:block}.brand>span:last-child{line-height:1.05;display:grid}.brand strong{letter-spacing:-.025em;font-size:1.07rem}.brand small{letter-spacing:.08em;opacity:.7;text-transform:uppercase;margin-top:5px;font-size:.67rem;font-weight:600}.sidebar-nav{gap:7px;padding:24px 16px;display:grid}.nav-link{border-radius:calc(12px * var(--radius-scale));min-height:48px;color:color-mix(in srgb, var(--on-primary) 68%, transparent);align-items:center;gap:13px;padding:0 14px;font-size:.91rem;font-weight:600;transition:background .18s,color .18s,transform .18s;display:flex}.nav-link:hover{background:color-mix(in srgb, var(--on-primary) 7%, transparent);color:var(--on-primary);transform:translate(2px)}.nav-link-active{background:color-mix(in srgb, var(--highlight) 16%, transparent);color:var(--highlight-soft)}.sidebar-profile{border-top:1px solid color-mix(in srgb, var(--on-primary) 10%, transparent);grid-template-columns:38px minmax(0,1fr) 40px;align-items:center;gap:10px;margin-top:auto;padding:22px 18px;display:grid}.avatar{border-radius:calc(12px * var(--radius-scale));background:color-mix(in srgb, var(--highlight) 20%, transparent);width:38px;height:38px;color:var(--highlight-soft);place-items:center;font-weight:800;display:grid}.profile-copy{min-width:0;display:grid}.profile-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.profile-copy span{color:color-mix(in srgb, var(--on-primary) 55%, transparent);margin-top:4px;font-size:.71rem}.language-switcher{border:1px solid var(--line);border-radius:calc(9px * var(--radius-scale));background:var(--surface-2);gap:2px;width:fit-content;padding:2px;display:inline-flex}.language-option{border-radius:calc(7px * var(--radius-scale));min-width:38px;min-height:30px;color:var(--muted);cursor:pointer;letter-spacing:.04em;background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:.72rem;font-weight:800;display:inline-flex}.language-flag{opacity:.7;border-radius:2px;flex:none;width:18px;height:12px;box-shadow:0 0 0 1px #0c2d5024}.language-option-active .language-flag,.language-option:hover .language-flag{opacity:1}.language-option:hover{color:var(--primary)}.language-option-active{background:var(--surface);color:var(--primary);box-shadow:0 1px 3px #0c2d501f}.sidebar-language{border-color:color-mix(in srgb, var(--on-primary) 14%, transparent);background:color-mix(in srgb, var(--on-primary) 6%, transparent);margin:0 18px 14px}.sidebar-language .language-option{color:color-mix(in srgb, var(--on-primary) 60%, transparent)}.sidebar-language .language-option:hover{color:var(--on-primary)}.sidebar-language .language-option-active{background:color-mix(in srgb, var(--on-primary) 16%, transparent);color:var(--on-primary);box-shadow:none}.login-language{position:absolute;top:24px;right:24px}.main-content{min-height:100dvh;margin-left:264px}.mobile-header,.menu-backdrop{display:none}.page{width:min(100%,1320px);margin:0 auto;padding:48px 56px 80px}.page-header{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:35px;display:flex}.page-header p{max-width:650px;color:var(--muted);margin-bottom:0}.page-header-actions{align-items:center}.dashboard-header{padding:8px 0 5px}.header-date{color:var(--muted);text-transform:capitalize;flex:none;align-items:center;gap:8px;font-size:.8rem;display:flex}.eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:800;color:var(--accent-text)!important;margin-bottom:10px!important}.muted{color:var(--muted)}.button{border-radius:var(--button-radius);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 17px;font-size:.86rem;font-weight:750;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.button:active{transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.55}.button-primary{background:var(--action);color:var(--on-action);box-shadow:0 8px 24px color-mix(in srgb, color-mix(in srgb, var(--action) 79%, black) 16%, transparent)}.button-primary:hover{background:var(--action-hover)}.button-secondary{border:1px solid var(--line);background:var(--surface);color:var(--primary)}.button-secondary:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--surface));background:var(--surface-2)}.button-ghost{color:var(--muted);background:0 0}.button-large{min-height:51px}.icon-button{border-radius:var(--button-radius);width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;place-items:center;display:inline-grid}.icon-button:hover{background:#ffffff14}.text-button{min-height:44px;color:var(--primary-2);cursor:pointer;background:0 0;align-items:center;gap:7px;font-weight:700;display:inline-flex}.breadcrumbs{margin-bottom:25px}.breadcrumbs ol{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 0;margin:0;padding:0;font-size:.8rem;font-weight:700;list-style:none;display:flex}.breadcrumbs li{align-items:center;min-width:0;max-width:100%;display:inline-flex}.breadcrumbs li+li:before{color:var(--line);content:"/";margin:0 9px}.breadcrumbs a,.breadcrumbs button,.breadcrumbs span{text-overflow:ellipsis;white-space:nowrap;max-width:260px;line-height:32px;display:inline-block;overflow:hidden}.breadcrumbs a,.breadcrumbs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.breadcrumbs a:hover,.breadcrumbs button:hover{color:var(--primary);text-decoration:underline}.breadcrumbs [aria-current=page]{color:var(--primary)}button.back-link{cursor:pointer;background:0 0;border:0;padding:0}.back-link{min-height:44px;color:var(--muted);align-items:center;gap:8px;margin-bottom:25px;font-size:.83rem;font-weight:700;display:inline-flex}.learning-summary{border:1px solid var(--line);border-radius:calc(16px * var(--radius-scale));background:var(--line);align-items:stretch;gap:1px;margin-bottom:48px;display:flex;overflow:hidden}.learning-summary>div,.learning-summary>a{background:var(--surface);min-height:80px;color:var(--muted);flex:1;align-items:center;gap:12px;padding:20px 25px;display:flex}.learning-summary svg{color:var(--accent-text)}.learning-summary strong{color:var(--primary);margin-right:5px;font-size:1.2rem}.learning-summary a>svg:last-child{color:var(--primary);margin-left:auto}.section-block,.editor-section{margin-top:44px}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px;display:flex}.section-heading h2{margin-bottom:6px}.section-heading p{color:var(--muted);margin:0;font-size:.88rem}.course-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:22px;display:grid}.course-card{border:1px solid var(--line);border-radius:calc(16px * var(--radius-scale));background:var(--surface);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.course-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.course-cover{aspect-ratio:16/9;color:#ffffff29;place-items:center;font-size:6rem;font-weight:800;display:grid;position:relative;overflow:hidden}.course-cover:not(.has-image):after{background:var(--highlight);opacity:.92;content:"";border-radius:50%;width:150px;height:150px;position:absolute;bottom:-60px;right:-60px}.course-cover img,.course-mini-cover img{object-fit:cover;width:100%;height:100%;display:block}.course-cover.has-image{background:var(--surface-2)}.course-card-body{flex-direction:column;flex:1;gap:18px;padding:24px;display:flex}.course-card-body h3{margin:8px 0;font-size:1.22rem}.course-card-body p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.83rem;display:-webkit-box;overflow:hidden}.course-card-body .button{width:100%;margin-top:auto}.course-card-progress>div:first-child{color:var(--muted);justify-content:space-between;margin-bottom:7px;font-size:.72rem;display:flex}.course-card-progress strong{color:var(--primary)}.progress-track{background:var(--surface-2);border-radius:999px;height:5px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--highlight);height:100%;display:block}.status-label{border-radius:calc(7px * var(--radius-scale));background:var(--surface-2);width:fit-content;min-height:25px;color:var(--primary-2);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:3px 8px;font-size:.65rem;font-weight:800;display:inline-flex}.status-success{background:var(--success-bg);color:var(--success)}.status-danger{background:var(--danger-bg);color:var(--danger)}.login-page{background:var(--surface);grid-template-columns:minmax(360px,.85fr) minmax(460px,1.15fr);min-height:100dvh;display:grid}.activation-page{background:var(--canvas);align-content:center;place-items:center;gap:28px;min-height:100dvh;padding:30px 20px;display:grid;position:relative}.activation-card{border:1px solid var(--line);border-radius:calc(16px * var(--radius-scale));background:var(--surface);width:min(100%,500px);box-shadow:var(--shadow);gap:18px;padding:32px;display:grid}.activation-card h1{margin-bottom:0;font-size:2rem}.activation-card>p:not(.eyebrow){color:var(--muted);margin:0}.activation-done{text-align:center;justify-items:center}.activation-done svg{color:var(--success)}.login-intro{background:var(--primary);min-height:100dvh;color:var(--on-primary-soft);flex-direction:column;justify-content:space-between;padding:clamp(36px,5vw,76px);display:flex}.login-message{max-width:570px}.login-message h1{color:#f8fbfd;font-size:clamp(2.5rem,5vw,4.6rem)}.login-message p:not(.eyebrow){max-width:510px;color:var(--on-primary-muted);font-size:1.03rem}.login-footnote{color:var(--on-primary-faint);margin:0;font-size:.76rem}.login-form-section{place-items:center;min-height:100dvh;padding:48px;display:grid;position:relative}.login-form{gap:22px;width:min(100%,430px);display:grid}.login-form h2{margin-bottom:7px;font-size:1.85rem}.login-form p{margin-bottom:0;font-size:.9rem}.login-help-link{width:fit-content;min-height:28px;margin-top:-12px;font-size:.78rem}.demo-accounts{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8px;padding-top:18px;display:grid}.demo-accounts strong{color:var(--muted);grid-column:1/-1;font-size:.72rem}.demo-accounts button{border-radius:calc(9px * var(--radius-scale));background:var(--surface-2);min-height:40px;color:var(--primary);cursor:pointer;font-size:.74rem;font-weight:700}.field{min-width:0;color:var(--ink);align-content:start;gap:7px;font-size:.78rem;font-weight:700;display:grid}.field input,.field textarea,.field select,.inline-create input,.inline-create select,td select{border:1px solid var(--line);border-radius:calc(9px * var(--radius-scale));background:var(--surface);width:100%;min-height:44px;color:var(--ink);outline:none;padding:10px 12px}.field textarea{resize:vertical}.drip-field{border:1px solid var(--line);border-radius:calc(12px * var(--radius-scale));gap:10px;margin:0;padding:14px 16px;display:grid}.drip-interval{align-items:center;gap:10px;font-size:.82rem;font-weight:700;display:flex}.drip-interval input{border:1px solid var(--line);border-radius:calc(9px * var(--radius-scale));width:90px;min-height:40px;padding:8px 10px}.field-hint{color:var(--muted);font-size:.7rem;font-weight:500}.field input:focus,.field textarea:focus,.field select:focus,.inline-create input:focus,td select:focus{border-color:var(--accent-text);box-shadow:0 0 0 3px color-mix(in srgb, var(--highlight) 16%, transparent)}.input-with-icon{border:1px solid var(--line);border-radius:calc(10px * var(--radius-scale));background:var(--surface);align-items:center;gap:10px;min-height:49px;padding:0 13px;display:flex}.input-with-icon:focus-within{border-color:var(--accent-text);box-shadow:0 0 0 3px color-mix(in srgb, var(--highlight) 16%, transparent)}.input-with-icon svg{color:color-mix(in srgb, var(--muted) 85%, var(--surface));flex:none}.input-with-icon input{width:100%;height:45px;color:var(--ink);background:0 0;border:0;outline:0}.password-field{border-radius:calc(9px * var(--radius-scale));gap:0;min-height:44px;padding:0 4px 0 0}.field .password-field input,.field .password-field input:focus{height:42px;min-height:42px;box-shadow:none;background:0 0;border:0}.input-with-icon .password-toggle{border-radius:calc(8px * var(--radius-scale));width:40px;height:40px;color:color-mix(in srgb, var(--muted) 85%, var(--surface));cursor:pointer;background:0 0;flex:none;place-items:center;display:inline-grid}.password-toggle:hover,.password-toggle:focus-visible{color:var(--primary)}.password-generate{justify-self:start;min-height:32px;font-size:.74rem}.password-field-icon{gap:10px;min-height:49px;padding-left:13px}.field .password-field-icon input,.field .password-field-icon input:focus{height:45px}.check-field{align-items:center;gap:10px;min-height:44px;font-size:.8rem;font-weight:650;display:flex}.check-field input{width:18px;height:18px;accent-color:var(--accent-text)}.inline-error,.inline-success{border-radius:calc(10px * var(--radius-scale));align-items:center;gap:8px;min-height:44px;padding:10px 13px;font-size:.8rem;font-weight:650;display:flex}.inline-error{background:var(--danger-bg);color:var(--danger);border:1px solid #eac4c0}.mail-test-error{border-radius:calc(10px * var(--radius-scale));background:var(--danger-bg);color:var(--danger);border:1px solid #f1c3c3;gap:6px;padding:12px 14px;font-size:.8rem;display:grid}.mail-test-error p{color:var(--ink);margin:0}.mail-test-error .mail-test-hint{color:var(--muted)}.mail-test-error summary{cursor:pointer;font-weight:700}.mail-test-error code{color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap;margin-top:6px;font-size:.72rem;display:block}.inline-success{background:var(--success-bg);color:var(--success);border:1px solid #bedfce}.notice{border-radius:calc(12px * var(--radius-scale));gap:12px;margin-bottom:22px;padding:16px 18px;display:grid}.notice p{color:var(--ink);margin:0;font-size:.85rem}.notice code{overflow-wrap:anywhere;border-radius:calc(8px * var(--radius-scale));background:color-mix(in srgb, var(--primary) 6%, transparent);padding:10px 12px;font-size:.85rem;display:block}.notice-warning{border:1px solid var(--highlight);background:color-mix(in srgb, var(--highlight) 11%, var(--surface))}.course-page{min-height:100dvh}.course-header{background:var(--surface);padding:38px 48px 26px}.course-title-row{justify-content:space-between;align-items:end;gap:25px;display:flex}.course-title-row>div:first-child{max-width:760px}.course-title-row h1{margin-top:10px;font-size:clamp(1.9rem,3.2vw,3rem)}.course-title-row p{color:var(--muted);margin-bottom:0}.course-header-side{flex:none;justify-items:end;gap:12px;display:grid}.course-header-cover{aspect-ratio:16/9;border-radius:calc(12px * var(--radius-scale));color:#fff;place-items:center;width:280px;font-size:2.4rem;font-weight:800;display:grid;overflow:hidden}.course-header-cover img{object-fit:cover;width:100%;height:100%}.course-progress-number{text-align:right;flex:none;display:grid}.course-progress-number strong{color:var(--primary);font-size:1.65rem}.course-progress-number span{color:var(--muted);font-size:.7rem}.course-workspace{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 320px;min-height:calc(100dvh - 220px);display:grid}.course-workspace-overview{grid-template-columns:minmax(0,1fr)}.curriculum-toggle{display:none}.curriculum{border-left:1px solid var(--line);background:var(--surface);order:2;padding:25px 18px 50px}.curriculum-module{margin-bottom:26px}.curriculum-module h2{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin:0 10px 10px;font-size:.71rem}.lesson-link{border-radius:calc(11px * var(--radius-scale));width:100%;min-height:58px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;padding:9px 10px;display:grid}.lesson-link:hover:not(:disabled){background:var(--surface-2)}.lesson-link-active{background:color-mix(in srgb, var(--highlight) 13%, transparent)}.lesson-link:disabled{cursor:not-allowed;opacity:.62}.lesson-state{border:1px solid var(--line);border-radius:calc(9px * var(--radius-scale));width:29px;height:29px;color:var(--primary-2);place-items:center;display:grid}.lesson-link>span:last-child{gap:4px;display:grid}.lesson-link strong{text-overflow:ellipsis;white-space:nowrap;font-size:.77rem;overflow:hidden}.lesson-link small{color:var(--muted);font-size:.65rem}.quiz-link{margin-top:4px}.overview-link{margin-bottom:18px}.next-module-link{border-top:1px solid var(--line);border-radius:0 0 calc(11px * var(--radius-scale)) calc(11px * var(--radius-scale));margin-top:8px;padding-top:14px}.next-module-link small{text-transform:uppercase;letter-spacing:.06em;font-weight:700}.course-overview{width:min(100%,1080px);margin:0 auto;padding:45px 48px 90px}.overview-progress{border:1px solid var(--line);border-radius:calc(16px * var(--radius-scale));background:var(--surface);justify-content:space-between;align-items:center;gap:24px;padding:24px 26px;display:flex}.overview-progress>div{flex:auto;gap:8px;max-width:460px;display:grid}.overview-progress strong{color:var(--primary);font-size:2rem;line-height:1}.overview-progress small{color:var(--muted);font-size:.75rem}.overview-heading{margin:38px 0 16px;font-size:1.3rem}.module-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.module-card{border:1px solid var(--line);border-radius:calc(16px * var(--radius-scale));background:var(--surface);color:var(--ink);cursor:pointer;text-align:left;flex-direction:column;padding:0;transition:box-shadow .18s,transform .18s;display:flex;overflow:hidden}.module-card:hover:not(:disabled){box-shadow:var(--shadow);transform:translateY(-2px)}.module-card:focus-visible{outline:3px solid var(--highlight);outline-offset:2px}.module-card:disabled{cursor:not-allowed}.module-card:disabled .module-card-image img{filter:grayscale(.7);opacity:.6}.module-card-image{aspect-ratio:16/9;background:var(--primary);color:color-mix(in srgb, var(--on-primary) 20%, transparent);place-items:center;font-size:4rem;font-weight:800;display:grid;position:relative;overflow:hidden}.module-card-image img{object-fit:cover;width:100%;height:100%;display:block}.module-card-lock,.module-card-check{width:36px;height:36px;color:var(--primary);background:#fffffff0;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.module-card-check{background:var(--success);color:#fff}.module-card-body{flex:auto;align-content:start;gap:8px;padding:18px 20px 20px;display:grid}.module-card-body small{color:var(--accent-text);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:800}.module-card-body strong{color:var(--primary);font-size:1.05rem}.module-card-body p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 4px;font-size:.8rem;display:-webkit-box;overflow:hidden}.module-card-body .progress-track{margin-top:auto}.module-card-status{color:var(--muted);justify-content:space-between;font-size:.72rem;font-weight:650;display:flex}.module-card-done .module-card-status span:first-child{color:var(--success)}.lesson-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.lesson-actions .button{min-height:52px}.lesson-next{margin-left:auto}.lesson-next>span,.overview-progress .button>span{text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:320px;display:grid;overflow:hidden}.lesson-next small,.overview-progress .button small{color:inherit;opacity:.8;font-size:.66rem;font-weight:650}.editor-module-thumb{aspect-ratio:16/9;border-radius:calc(6px * var(--radius-scale));object-fit:cover;flex:none;width:72px}.editor-module-header>div:first-of-type{flex:auto}.editor-module-image{border-bottom:1px solid var(--line);background:var(--surface-2);padding:0 18px 20px 57px}.editor-module-image h4{margin:4px 0;font-size:.9rem}.editor-module-image p{color:var(--muted);margin:0;font-size:.75rem}.editor-module-image .cover-editor-current{grid-template-columns:minmax(0,300px) auto}.lesson-content{width:min(100%,840px);margin:0 auto;padding:55px 48px 90px}.lesson-content>h2{margin-bottom:25px;font-size:clamp(1.75rem,3vw,2.45rem)}.lesson-meta{color:var(--accent-text);text-transform:uppercase;gap:15px;margin-bottom:12px;font-size:.7rem;font-weight:800;display:flex}.lesson-text{color:var(--ink);margin-bottom:30px;font-size:.98rem}.rich-text>*{margin:0 0 14px}.rich-text>:last-child{margin-bottom:0}.rich-text h3{margin-top:26px;font-size:1.22rem}.rich-text h4{margin-top:22px;font-size:1.02rem}.rich-text>:first-child{margin-top:0}.rich-text ul,.rich-text ol{padding-left:22px}.rich-text li{margin-bottom:6px}.rich-text li::marker{color:var(--accent-text)}.rich-text strong{font-weight:800}.rich-text em{font-style:italic}.rich-text code{border-radius:calc(6px * var(--radius-scale));background:var(--surface-2);overflow-wrap:anywhere;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.rich-text blockquote{border-left:3px solid var(--highlight);color:var(--primary-2);margin-left:0;padding:2px 0 2px 16px}.rich-badge{border:1px solid var(--line);background:var(--surface-2);color:var(--primary-2);letter-spacing:.02em;vertical-align:middle;white-space:nowrap;border-radius:999px;align-items:center;margin-left:8px;padding:2px 10px;font-size:.68rem;font-weight:800;display:inline-flex}.rich-callout{border:1px solid color-mix(in srgb, var(--highlight) 45%, transparent);border-radius:calc(12px * var(--radius-scale));background:color-mix(in srgb, var(--highlight) 10%, transparent);padding:14px 18px}.rich-callout>*{margin:0 0 8px}.rich-callout>:last-child{margin-bottom:0}.rich-callout-title{color:var(--accent-text);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:7px;font-size:.72rem;font-weight:800;display:flex}.rich-callout-note,.rich-callout-tip{border-color:var(--line);background:var(--surface-2)}.rich-callout-note .rich-callout-title,.rich-callout-tip .rich-callout-title{color:var(--primary-2)}.rich-callout-caution{background:var(--danger-bg);border-color:#a7383259}.rich-callout-caution .rich-callout-title{color:var(--danger)}.rich-table{border:1px solid var(--line);border-radius:calc(12px * var(--radius-scale));background:var(--surface);overflow-x:auto}.rich-table td{vertical-align:top;font-size:.86rem}.rich-table td strong{display:inline}.rich-table th,.rich-table td{padding:10px 14px}.rich-text ul.task-list{padding-left:2px;list-style:none}.task-item label{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.task-item input{width:18px;height:18px;accent-color:var(--accent-text);cursor:pointer;flex:none;margin-top:3px}.task-item input:disabled{cursor:default}.task-item input:checked+span{color:var(--muted)}.rich-tabs{border:1px solid var(--line);border-radius:calc(12px * var(--radius-scale));background:var(--surface)}.rich-tabs-list{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;padding:6px 6px 0;display:flex}.rich-tabs-list button{border-radius:calc(9px * var(--radius-scale)) calc(9px * var(--radius-scale)) 0 0;min-height:40px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:8px 14px;font-size:.84rem;font-weight:700;display:inline-flex}.rich-tabs-list button:hover{color:var(--ink)}.rich-tabs-list button[aria-selected=true]{border-color:var(--line);border-bottom-color:var(--surface);background:var(--surface);color:var(--primary-2);box-shadow:inset 0 3px 0 var(--highlight)}.rich-tabs-list button:focus-visible{outline:2px solid var(--highlight);outline-offset:2px}.rich-tabs-panel{padding:16px 18px}.rich-tabs-panel>*{margin:0 0 14px}.rich-tabs-panel>:last-child{margin-bottom:0}.rich-image{margin-left:0;margin-right:0}.rich-image>a{cursor:zoom-in;width:fit-content;max-width:100%;display:block}.rich-image>a>img{border:1px solid var(--line);border-radius:calc(10px * var(--radius-scale));background:var(--surface-2);max-width:100%;height:auto;display:block}.rich-image figcaption{color:var(--muted);margin-top:7px;font-size:.8rem}.image-lightbox{border-radius:calc(14px * var(--radius-scale));color:#f3f7fa;background:#0b1a2b;border:0;width:min(96vw,1600px);max-width:none;height:min(94dvh,1200px);max-height:none;margin:auto;padding:0;overflow:hidden}.image-lightbox[open]{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.image-lightbox::backdrop{background:#040e1ad1}.image-lightbox-bar{justify-content:flex-end;gap:6px;padding:10px;display:flex}.image-lightbox .image-lightbox-action{border-radius:calc(9px * var(--radius-scale));min-height:38px;color:inherit;cursor:pointer;background:#ffffff14;border:0;align-items:center;gap:6px;padding:8px 12px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.image-lightbox .image-lightbox-action:hover{background:#ffffff29}.image-lightbox .image-lightbox-action:focus-visible{outline:2px solid var(--highlight);outline-offset:2px}.image-lightbox img{object-fit:contain;cursor:zoom-out;place-self:center;width:auto;max-width:calc(100% - 32px);height:auto;min-height:0;max-height:100%}.image-lightbox-caption{color:#c9d6e2;text-align:center;margin:0;padding:12px 18px 16px;font-size:.86rem}.rich-image-missing{border:1px dashed var(--line);border-radius:calc(10px * var(--radius-scale));color:var(--muted);align-items:center;gap:10px;padding:14px 16px;display:flex}.rich-image-missing figcaption{margin:0}.module-outcome{color:var(--muted);margin:0 10px 10px;font-size:.7rem;line-height:1.45}.lesson-outcome{border-radius:calc(10px * var(--radius-scale));background:var(--surface-2);color:var(--primary-2);gap:10px;margin-bottom:22px;padding:11px 14px;font-size:.84rem;display:flex}.lesson-outcome strong{flex:none}.code-block pre{border:1px solid var(--line);border-radius:calc(10px * var(--radius-scale));background:var(--surface-2);margin:0;padding:42px 16px 14px;overflow-x:auto}.code-block{position:relative}.code-copy{border:1px solid var(--line);border-radius:calc(8px * var(--radius-scale));background:var(--surface);color:var(--primary-2);cursor:pointer;align-items:center;gap:6px;padding:6px 10px;font-size:.7rem;font-weight:700;display:inline-flex;position:absolute;top:7px;right:7px}.code-copy:hover,.code-copy:focus-visible{border-color:var(--accent-text);color:var(--accent-text)}.code-copy-done{border-color:var(--success);color:var(--success)}.connection-panel{gap:20px;display:grid}.connection-note{color:var(--ink);margin:0;font-size:.82rem}.connection-block{gap:7px;display:grid}.connection-block h3{margin:0;font-size:.88rem}.connection-block p{color:var(--muted);margin:0;font-size:.78rem}.connection-endpoint{border-radius:calc(6px * var(--radius-scale));background:var(--surface-2);overflow-wrap:anywhere;padding:2px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-block}.code-block pre code{white-space:pre;background:0 0;padding:0;font-size:.84rem}.rich-text a{color:var(--primary-2);text-underline-offset:2px;overflow-wrap:anywhere;text-decoration:underline}.rich-text a:hover,.rich-text a:focus-visible{color:var(--accent-text)}.video-frame{border-radius:calc(16px * var(--radius-scale));aspect-ratio:16/9;background:#000;margin-bottom:28px;position:relative;overflow:hidden}.video-frame iframe,.video-frame video{border:0;width:100%;height:100%;position:absolute;inset:0}.download-card{border:1px solid var(--line);border-radius:calc(14px * var(--radius-scale));background:var(--surface);color:var(--primary);align-items:center;gap:14px;margin-bottom:24px;padding:16px 18px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.download-card:hover,.download-card:focus-visible{border-color:var(--accent-text);box-shadow:var(--shadow)}.download-card svg{color:var(--accent-text);flex:none}.download-card span{gap:3px;min-width:0;display:grid}.download-card strong{overflow-wrap:anywhere}.download-card small{color:var(--muted);font-size:.74rem}.quiz-lesson-card{border:1px solid var(--line);border-radius:calc(16px * var(--radius-scale));background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:20px;padding:20px 22px;display:grid}.quiz-lesson-card>svg{color:var(--accent-text)}.quiz-lesson-card h3{margin:0 0 4px;font-size:1.05rem}.quiz-lesson-card p{color:var(--muted);margin:0;font-size:.8rem}.quiz-lesson-passed{background:var(--success-bg);border-color:#bedfce}.quiz-lesson-passed>svg{color:var(--success)}.video-placeholder{border-radius:calc(16px * var(--radius-scale));background:var(--primary);min-height:300px;color:color-mix(in srgb, var(--on-primary-muted) 60%, var(--on-primary-faint));text-align:center;place-items:center;margin-bottom:28px;display:grid}.video-placeholder svg{color:var(--highlight)}.video-placeholder span{margin-top:-90px;font-size:.76rem}.certificate-callout{border:1px solid color-mix(in srgb, var(--highlight) 45%, var(--line));border-radius:calc(16px * var(--radius-scale));background:color-mix(in srgb, var(--highlight) 8%, var(--surface));color:var(--primary);grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-top:38px;padding:22px;display:grid}.certificate-callout h3,.certificate-callout p{margin:0}.certificate-callout p{color:var(--muted);margin-top:4px;font-size:.78rem}.quiz-page{max-width:880px}.quiz-form{gap:18px;display:grid}.question-block{border:1px solid var(--line);border-radius:calc(16px * var(--radius-scale));background:var(--surface);margin:0;padding:25px}.question-block legend{color:var(--primary);align-items:center;gap:12px;padding:0 4px;font-size:1rem;font-weight:800;display:flex}.question-block legend span{border-radius:calc(9px * var(--radius-scale));background:var(--primary);width:29px;height:29px;color:var(--on-primary);place-items:center;font-size:.72rem;display:grid}.question-hint{color:var(--muted);margin:6px 0 14px 45px;font-size:.74rem}.answer-list{gap:8px;display:grid}.answer-option{border:1px solid var(--line);border-radius:calc(10px * var(--radius-scale));cursor:pointer;align-items:center;gap:11px;min-height:49px;padding:10px 13px;font-size:.82rem;display:flex}.answer-option-selected{border-color:color-mix(in srgb, var(--highlight) 85%, var(--primary));background:color-mix(in srgb, var(--highlight) 10%, var(--surface))}.answer-option input{width:18px;height:18px;accent-color:var(--accent-text)}.quiz-result{border-radius:calc(16px * var(--radius-scale));grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:30px;display:grid}.quiz-result h2,.quiz-result p{margin:0}.quiz-result p{margin-top:5px}.quiz-result-success{background:var(--success-bg);color:var(--success);border:1px solid #bedfce}.quiz-result-failed{background:var(--danger-bg);color:var(--danger);border:1px solid #eac4c0}.certificate-list,.admin-list{gap:10px;display:grid}.certificate-row,.admin-list-row,.product-row{border:1px solid var(--line);border-radius:calc(14px * var(--radius-scale));background:var(--surface);align-items:center;gap:16px;min-width:0;padding:18px;display:grid}.certificate-row{grid-template-columns:auto 1fr auto}.certificate-row h2,.certificate-row p,.product-row h2,.product-row p{margin:0}.certificate-row h2,.product-row h2{font-size:1rem}.certificate-row p,.product-row p{color:var(--muted);margin:4px 0;font-size:.75rem}.product-row p{white-space:pre-line}.certificate-row small,.product-row small{color:var(--muted);font-size:.66rem}.metric-grid{border:1px solid var(--line);border-radius:calc(16px * var(--radius-scale));background:var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.metric-item{background:var(--surface);align-content:space-between;min-height:160px;padding:22px;display:grid}.metric-item svg{color:var(--accent-text)}.metric-item strong{color:var(--primary);font-size:2rem}.metric-item span{color:var(--muted);font-size:.75rem;font-weight:700}.admin-welcome{border-radius:calc(16px * var(--radius-scale));background:var(--primary);color:color-mix(in srgb, var(--on-primary-soft) 85%, var(--on-primary-muted));justify-content:space-between;align-items:center;gap:25px;margin-top:28px;padding:28px 30px;display:flex}.admin-welcome h2{color:var(--on-primary);margin-bottom:7px}.admin-welcome p{max-width:650px;color:var(--on-primary-muted);margin:0}.panel{border:1px solid var(--line);border-radius:calc(16px * var(--radius-scale));background:var(--surface);padding:24px}.panel-heading{margin-bottom:4px}.panel-heading h2,.panel-heading p{margin:0}.panel-heading p{color:var(--muted);margin-top:5px;font-size:.78rem}.form-grid,.compact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:25px;display:grid}.field-full{grid-column:1/-1}.rich-text-field .rich-text-toolbar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rich-text-field .icon-button{width:36px;height:36px}.rich-text-preview-toggle{border-radius:calc(9px * var(--radius-scale));border:1px solid #0000;min-height:36px;margin-left:auto;padding:0 10px;font-size:.74rem}.rich-text-preview-toggle.is-active{border-color:var(--accent-text);background:var(--surface-2)}.rich-text-preview{border:1px dashed var(--line);border-radius:calc(9px * var(--radius-scale));background:var(--surface);min-height:120px;color:var(--ink);padding:14px 16px;font-size:.9rem;font-weight:500}.form-actions{justify-content:flex-end;gap:10px;display:flex}.admin-list-row{grid-template-columns:50px minmax(0,1fr) auto auto}.admin-list-row h2,.admin-list-row p{margin:0}.admin-list-row h2{font-size:1rem}.admin-list-row p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:.75rem;overflow:hidden}.course-mini-cover{border-radius:calc(12px * var(--radius-scale));color:#fff;place-items:center;width:50px;height:50px;font-size:1.4rem;font-weight:800;display:grid;overflow:hidden}.cover-editor{margin-top:22px}.cover-editor-current{grid-template-columns:minmax(0,360px) auto;align-items:center;gap:22px;margin-top:18px;display:grid}.cover-preview{border-radius:calc(12px * var(--radius-scale));font-size:4rem}.product-cover{aspect-ratio:16/9;background:var(--surface-2);color:var(--accent-text);place-items:center;display:grid;overflow:hidden}.product-cover img{object-fit:cover;width:100%;height:100%;display:block}.product-row-cover{border-radius:calc(11px * var(--radius-scale));background:color-mix(in srgb, var(--highlight) 15%, transparent);width:56px;height:56px;color:var(--accent-text);place-items:center;display:grid;overflow:hidden}.product-row-cover img{object-fit:cover;width:100%;height:100%;display:block}.cover-editor-actions{flex-wrap:wrap;gap:10px;display:flex}.cover-editor-actions label.button{cursor:pointer}.cover-editor-actions label.button:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--highlight) 30%, transparent)}.cover-cropper{gap:14px;max-width:640px;margin-top:18px;display:grid}.cover-crop-frame{aspect-ratio:16/9;border-radius:calc(12px * var(--radius-scale));background:var(--surface-2);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.cover-crop-frame:active{cursor:grabbing}.cover-crop-frame:focus-visible{outline:3px solid var(--highlight);outline-offset:2px}.cover-crop-frame img{pointer-events:none;max-width:none;position:absolute}.cover-zoom input[type=range]{min-height:auto;accent-color:var(--primary);border:0;padding:0}.cover-hint{color:var(--muted);margin:0;font-size:.78rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.editor-modules{gap:14px;display:grid}.icon-button{border:1px solid var(--line);border-radius:calc(9px * var(--radius-scale));background:var(--surface);width:34px;height:34px;color:var(--primary);cursor:pointer;place-items:center;display:inline-grid}.icon-button:hover:not(:disabled),.icon-button:focus-visible{border-color:var(--accent-text)}.icon-button:disabled{opacity:.35;cursor:default}.icon-button-danger{color:var(--danger)}.icon-button-danger:hover:not(:disabled),.icon-button-danger:focus-visible{border-color:var(--danger);background:var(--danger-bg)}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.move-select{border:1px solid var(--line);border-radius:calc(9px * var(--radius-scale));background:var(--surface);max-width:190px;min-height:34px;color:var(--primary);padding:4px 8px;font-size:.74rem}.button-small{min-height:34px;padding:6px 12px;font-size:.74rem}.button-attention{border-color:var(--highlight);background:color-mix(in srgb, var(--highlight) 11%, var(--surface))}.editor-module-header>div:first-of-type{gap:3px;display:grid}.rename-form{flex-wrap:wrap;flex:1;gap:8px;display:flex}.rename-form input{border:1px solid var(--line);border-radius:calc(9px * var(--radius-scale));flex:1;min-width:180px;min-height:38px;padding:6px 10px}.rename-form input[name=outcome]{flex-basis:100%}.lesson-image-list{gap:8px;margin:0 0 10px;padding:0;list-style:none;display:grid}.lesson-image-list li{border:1px solid var(--line);border-radius:calc(10px * var(--radius-scale));grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px;display:grid}.lesson-image-list img{border-radius:calc(6px * var(--radius-scale));background:var(--surface-2);object-fit:cover;width:56px;height:42px}.lesson-image-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;display:block;overflow:hidden}.lesson-image-list small{color:var(--muted);font-size:.72rem}.module-outcome-admin{color:var(--muted);margin:2px 0 4px;font-size:.76rem}.editor-lesson-icon{border-radius:calc(9px * var(--radius-scale));background:var(--surface-2);width:32px;height:32px;color:var(--primary);place-items:center;display:grid}.editor-lesson-main{gap:2px;min-width:0;display:grid}.editor-lesson-main small{color:var(--muted);overflow-wrap:anywhere;font-size:.72rem}.editor-lesson-editing{display:block}.editor-lesson-questions{border-top:1px dashed var(--line);grid-column:1/-1;padding-top:12px}.lesson-editor{margin:0}.lesson-editor h3{margin:0;font-size:.95rem}.add-lesson{margin:6px 18px 10px}.file-field{gap:10px;display:grid}.file-current{border:1px solid var(--line);border-radius:calc(10px * var(--radius-scale));flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:.78rem;font-weight:600;display:flex}.file-current .text-button{min-height:auto;margin-left:auto;font-size:.74rem}.file-pending{border-style:dashed}.file-picker{cursor:pointer;width:fit-content}.file-picker:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--highlight) 30%, transparent)}.questions-editor{gap:10px;display:grid}.question-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.legacy-quiz-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.legacy-quiz-head h3{margin:0 0 4px}.editor-module{border:1px solid var(--line);border-radius:calc(14px * var(--radius-scale));background:var(--surface);overflow:hidden}.editor-module-header{background:var(--surface-2);justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.editor-module-header h3{margin:0;font-size:.95rem}.editor-module-header span{color:var(--muted);font-size:.7rem}.editor-lesson{border-bottom:1px solid var(--line);grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:49px;padding:10px 18px;font-size:.8rem;display:grid}.editor-lesson small{color:var(--muted)}.editor-module>.text-button{margin:6px 18px}.inline-create{grid-template-columns:minmax(180px,1fr) minmax(90px,.25fr) auto;gap:10px;margin-top:13px;display:grid}.inline-create input:first-child:last-of-type{grid-column:1/3}.compact-form{border-top:1px solid var(--line);margin:10px 18px 18px;padding-top:18px}.quiz-admin{margin-bottom:12px}.quiz-admin>div:first-child{justify-content:space-between;align-items:center;gap:15px;display:flex}.quiz-admin h3,.quiz-admin p{margin:0}.quiz-admin p{color:var(--muted);font-size:.75rem}.quiz-question-list{gap:12px;margin:16px 0 6px;padding-left:20px;font-size:.82rem;display:grid}.quiz-question-list>li>strong{margin-right:8px}.quiz-question-kind{color:var(--muted);font-size:.7rem}.quiz-question-list ul{color:var(--muted);gap:3px;margin:6px 0 0;padding:0;list-style:none;display:grid}.quiz-question-list ul li{align-items:center;gap:6px;padding-left:20px;display:flex}.quiz-question-list ul li.is-correct{color:var(--success);padding-left:0;font-weight:700}.table-wrap{border:1px solid var(--line);border-radius:calc(15px * var(--radius-scale));background:var(--surface);overflow:hidden}table{border-collapse:collapse;width:100%}th{background:var(--surface-2);color:var(--muted);letter-spacing:.05em;text-align:left;text-transform:uppercase;font-size:.67rem}th,td{border-bottom:1px solid var(--line);padding:14px 16px}tr:last-child td{border-bottom:0}td{color:var(--ink);font-size:.78rem}td strong,td small{display:block}td small{color:var(--muted);margin-top:4px}td select{min-width:170px}.security-controls{gap:7px;min-width:180px;display:grid}.security-controls select{min-width:0}.security-controls small{margin:0}.product-row{grid-template-columns:auto minmax(0,1fr) auto}.danger-zone{border-color:#f1c3c3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:44px;display:flex}.danger-zone h2{margin:0 0 4px;font-size:1rem}.danger-zone p{max-width:620px;color:var(--muted);margin:0;font-size:.78rem}.product-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.button-danger-text{color:var(--danger)}.button-danger-text:hover,.button-danger-text:focus-visible{background:var(--danger-bg)}.mapping-form{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:12px;padding-top:16px;display:grid}.product-form{margin-bottom:0}fieldset.field{border:1px solid var(--line);border-radius:calc(12px * var(--radius-scale));gap:2px;margin:0;padding:12px 16px;display:grid}fieldset.field legend{padding:0 6px}.digistore-fieldset{gap:12px}.digistore-fieldset .mapping-list{margin-top:0}.mapping-picker{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:12px;display:grid}.price-inputs{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.price-fieldset .field-hint a{color:var(--primary-2);font-weight:700}.mapping-chip-pending{background:var(--surface);border-style:dashed}.mapping-form-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}.mapping-status{color:var(--muted);grid-column:1/-1;margin:0;font-size:.74rem}.mapping-status-error{color:var(--danger)}.mapping-status .text-button{align-items:center;gap:4px;min-height:auto;margin-left:6px;display:inline-flex}.mapping-list{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.mapping-empty{color:var(--muted);font-size:.7rem}.mapping-chip{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:999px;align-items:center;gap:7px;padding:3px 4px;font-size:.72rem;display:inline-flex}.mapping-chip .status-label{padding:2px 8px;font-size:.62rem}.mapping-chip button{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.mapping-chip button:hover,.mapping-chip button:focus-visible{background:var(--danger-bg);color:var(--danger)}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.filter-bar{flex-wrap:wrap;gap:8px;display:flex}.filter-chip{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--muted);cursor:pointer;border-radius:999px;padding:6px 15px;font-size:.78rem;font-weight:700}.filter-chip:hover,.filter-chip:focus-visible{border-color:var(--primary-2);color:var(--primary-2)}.filter-chip-active{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.library{gap:14px;display:grid}.library-panel{border:1px solid var(--line);border-radius:calc(16px * var(--radius-scale));background:var(--surface);overflow:hidden}.library-panel-locked{background:var(--surface-2);border-style:dashed}.library-panel-head{text-align:left;cursor:pointer;background:0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:20px 22px;display:grid}.library-panel-cover{display:block;position:relative}.library-panel-icon{border-radius:calc(13px * var(--radius-scale));background:color-mix(in srgb, var(--highlight) 15%, transparent);width:64px;height:64px;color:var(--accent-text);place-items:center;display:grid;overflow:hidden}.library-panel-icon img{object-fit:cover;width:100%;height:100%}.library-panel-locked .library-panel-icon{background:var(--line);color:var(--muted)}.library-panel-locked .library-panel-icon.has-image img{filter:grayscale(.65);opacity:.75}.library-panel-lock{border:2px solid var(--surface);background:var(--primary);width:24px;height:24px;color:var(--on-primary);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-5px;right:-5px}.library-panel-title{gap:5px;min-width:0;display:grid}.library-panel-title strong{color:var(--primary);font-size:1.05rem}.library-panel-title small{color:var(--muted);white-space:pre-line;font-size:.8rem}.library-panel-locked .library-panel-title strong{color:var(--muted)}.library-panel-meta{color:var(--muted);white-space:nowrap;align-items:center;gap:12px;font-size:.76rem;font-weight:700;display:flex}.library-price{background:color-mix(in srgb, var(--highlight) 16%, transparent);color:var(--primary);border-radius:999px;padding:4px 10px}.caret{transition:transform .18s}.caret-open{transform:rotate(180deg)}.library-panel-body{border-top:1px solid var(--line);justify-items:start;gap:14px;padding:18px 22px 22px;display:grid}.library-empty{color:var(--muted);margin:0;font-size:.82rem}.library-course-list{gap:10px;width:100%;margin:0;padding:0;list-style:none;display:grid}.library-course{border:1px solid var(--line);border-radius:calc(12px * var(--radius-scale));background:var(--surface);grid-template-columns:auto minmax(0,1fr) 150px 160px;align-items:center;gap:14px;padding:13px 16px;display:grid}.library-course .button{justify-self:stretch}.library-course>svg{color:var(--accent-text);flex-shrink:0}.library-course-title{gap:3px;min-width:0;display:grid}.library-course-title strong{color:var(--primary);font-size:.9rem}.library-course-title small{color:var(--muted);white-space:pre-line;font-size:.74rem}.library-course-progress{gap:5px;display:grid}.library-course-progress small{color:var(--muted);font-size:.7rem}.library-course-link{color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}.library-course-link:hover{border-color:var(--highlight);box-shadow:0 4px 14px color-mix(in srgb, var(--primary) 8%, transparent)}.library-course-link:focus-visible{outline:2px solid var(--highlight);outline-offset:2px}.library-course-cover{aspect-ratio:16/9;border-radius:calc(8px * var(--radius-scale));background:var(--surface-2);width:112px;color:var(--accent-text);place-items:center;display:grid;overflow:hidden}.library-course-cover img{object-fit:cover;width:100%;height:100%}.library-course-locked{background:0 0;border-style:dashed;grid-template-columns:auto minmax(0,1fr)}.library-course-locked>svg,.library-course-locked .library-course-title strong{color:var(--muted)}.transfer-block{border:1px solid var(--line);border-radius:calc(16px * var(--radius-scale));background:var(--surface);gap:16px;margin-bottom:18px;padding:24px;display:grid}.transfer-heading h3{margin:0 0 5px;font-size:1.02rem}.transfer-heading p{color:var(--muted);margin:0;font-size:.8rem}.transfer-grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:14px;display:grid}.transfer-column{border:1px solid var(--line);border-radius:calc(13px * var(--radius-scale));background:var(--surface-2);align-content:start;gap:10px;min-height:170px;padding:14px;display:grid}.transfer-column-over{border-color:var(--highlight);background:color-mix(in srgb, var(--highlight) 12%, transparent)}.transfer-column h4{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;margin:0;font-size:.7rem;font-weight:800;display:flex}.transfer-count{background:var(--surface);border-radius:999px;padding:2px 8px;font-size:.68rem}.transfer-column ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.transfer-empty{color:var(--muted);margin:0;font-size:.78rem}.transfer-item label{border:1px solid var(--line);border-radius:calc(10px * var(--radius-scale));background:var(--surface);cursor:grab;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.transfer-item label:hover{border-color:var(--primary-2)}.transfer-item span{gap:2px;min-width:0;display:grid}.transfer-item strong{color:var(--primary);font-size:.85rem}.transfer-item small{color:var(--muted);font-size:.72rem}.transfer-item-locked label{cursor:not-allowed;opacity:.72}.transfer-item-locked svg{color:var(--accent-text)}.transfer-controls{align-content:center;gap:8px;display:grid}.transfer-controls .button{justify-content:center;min-width:44px}.transfer-footer{border:1px solid var(--line);border-radius:calc(16px * var(--radius-scale));background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px 22px;display:flex}.transfer-summary{color:var(--muted);align-items:center;gap:7px;margin:0;font-size:.82rem;display:flex}.transfer-summary strong{color:var(--primary)}.settings-form{gap:16px;display:grid}.secrets-panel{gap:10px;display:grid}.secrets-panel .panel-heading{gap:12px;display:flex}.secret-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:44px;font-size:.8rem;display:flex}.secrets-panel small{color:var(--muted);line-height:1.5}.empty-state{border-radius:calc(16px * var(--radius-scale));background:var(--surface);text-align:center;border:1px dashed #b8c8d5;align-content:center;place-items:center;min-height:260px;padding:28px;display:grid}.empty-state svg{color:var(--accent-text);margin-bottom:10px}.empty-state h3{margin-bottom:4px}.empty-state p{max-width:430px;color:var(--muted);margin:0;font-size:.82rem}.app-loading{gap:20px;width:min(100%,600px);margin:80px auto;padding:40px;display:grid}.skeleton{border-radius:calc(12px * var(--radius-scale));background:linear-gradient(100deg, var(--surface-2) 20%, #f8fafc 40%, var(--surface-2) 60%);background-size:200% 100%}.skeleton-logo{width:160px;height:42px}.skeleton-line{width:100%;height:18px}.skeleton-title{width:340px;max-width:75%;height:58px;margin-bottom:34px}.skeleton-summary{height:80px;margin-bottom:35px}.skeleton-card{min-height:290px}.sortable-item{position:relative}.sortable-dragging{opacity:.45}.sortable-item[data-drop]:before{background:var(--highlight);content:"";border-radius:999px;height:3px;position:absolute;left:0;right:0}.sortable-item[data-drop=before]:before{top:0}.sortable-item[data-drop=after]:before{bottom:0}.drag-handle{width:24px;color:var(--muted);cursor:grab;flex-shrink:0;place-items:center;display:grid}.sortable-dragging .drag-handle{cursor:grabbing}.editor-lessons{display:grid}.editor-lessons-empty{border:1px dashed var(--line);border-radius:calc(10px * var(--radius-scale));color:var(--muted);margin:0;padding:14px 16px;font-size:.8rem}@media (prefers-reduced-motion:no-preference){.skeleton{animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position-x:-200%}}.sortable-item{transition:opacity .15s,box-shadow .2s}.sortable-item[data-drop]:before{animation:.16s ease-out drop-marker}@keyframes drop-marker{0%{opacity:0;transform:scaleX(.3)}to{opacity:1;transform:scaleX(1)}}.sortable-landed{animation:.65s ease-out landed}@keyframes landed{0%{background-color:color-mix(in srgb, var(--highlight) 32%, transparent)}to{background-color:#0000}}.caret{transition:transform .18s}}@media (width<=1160px){.page{padding-left:35px;padding-right:35px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.mobile-header{z-index:25;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 96%, transparent);justify-content:space-between;align-items:center;height:69px;padding:0 18px;display:flex;position:sticky;top:0}.mobile-header .brand-mark{border-radius:calc(10px * var(--radius-scale));width:34px;height:34px}.sidebar{width:min(84vw,310px);box-shadow:20px 0 50px color-mix(in srgb, var(--primary) 24%, transparent);transition:transform .22s;transform:translate(-105%)}.sidebar-open{transform:translate(0)}.sidebar-top{height:80px}.menu-backdrop{z-index:29;background:color-mix(in srgb, var(--primary) 45%, transparent);display:block;position:fixed;inset:0}.main-content{margin-left:0}.page{padding:32px 20px 80px}.course-header{padding:27px 20px 22px}.course-workspace{grid-template-columns:1fr}.curriculum-toggle{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);width:100%;min-height:52px;color:var(--primary);justify-content:space-between;align-items:center;padding:0 20px;font-weight:800;display:flex}.curriculum-toggle svg{transition:transform .18s}.curriculum-toggle .rotate{transform:rotate(180deg)}.curriculum{border-left:0;border-bottom:1px solid var(--line);order:0;padding:20px 14px;display:none}.curriculum-open{display:block}.lesson-content{padding:36px 20px 80px}.course-overview{padding:28px 20px 80px}.overview-progress,.lesson-actions{flex-direction:column;align-items:stretch}.lesson-next{margin-left:0}.course-title-row{align-items:start}.settings-grid,.login-page{grid-template-columns:1fr}.login-intro{min-height:340px;padding:30px 24px}.login-message h1{margin-top:50px;font-size:clamp(2.2rem,10vw,3.6rem)}.login-message p:not(.eyebrow){display:none}.login-form-section{min-height:auto;padding:50px 22px 70px}}@media (width<=640px){h1{font-size:2.05rem}.page-header,.page-header-actions,.course-title-row,.section-heading,.admin-welcome{flex-direction:column;align-items:stretch}.page-header-actions .button,.admin-welcome .button{width:100%}.header-date{display:none}.learning-summary{flex-direction:column}.learning-summary>div,.learning-summary>a{min-height:67px}.course-cover{font-size:4.5rem}.course-card-body{padding:22px}.cover-editor-current,.editor-module-image .cover-editor-current{grid-template-columns:1fr}.editor-module-image{padding-left:18px}.course-progress-number{display:none}.course-header-side{justify-items:stretch}.course-header-cover{width:100%}.video-placeholder{min-height:220px}.quiz-lesson-card{grid-template-columns:1fr}.certificate-callout,.certificate-row,.quiz-result,.product-row{grid-template-columns:1fr;align-items:stretch}.library-product{grid-template-columns:auto minmax(0,1fr);align-items:start}.library-panel-head{grid-template-columns:auto minmax(0,1fr)}.library-panel-meta{grid-column:1/-1;justify-content:space-between}.library-course{grid-template-columns:auto minmax(0,1fr)}.library-course-progress,.library-course .button{grid-column:1/-1}.transfer-grid{grid-template-columns:minmax(0,1fr)}.transfer-controls{grid-auto-flow:column;justify-content:center}.transfer-controls .button:first-child svg,.transfer-controls .button:last-child svg{transform:rotate(90deg)}.certificate-row .button,.quiz-result .button,.product-row .button{width:100%}.metric-grid{grid-template-columns:1fr 1fr}.metric-item{min-height:130px;padding:18px}.form-grid,.compact-form,.mapping-form,.mapping-picker{grid-template-columns:1fr}.field-full,.mapping-form{grid-column:auto}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}.admin-list-row{grid-template-columns:50px minmax(0,1fr) auto;align-items:start}.admin-list-row .status-label{grid-column:2/-1}.editor-lesson{grid-template-columns:auto auto minmax(0,1fr)}.editor-lesson .row-actions{grid-column:1/-1;justify-content:flex-start}.editor-module-header{flex-wrap:wrap}.inline-create{grid-template-columns:1fr}.inline-create input:first-child:last-of-type{grid-column:auto}.inline-create .button{width:100%}.question-block{padding:20px 15px}.question-hint{margin-left:0}.demo-accounts{grid-template-columns:1fr}.table-wrap,.rich-table{background:0 0;border:0;overflow:visible}.rich-table td{text-align:left!important}.rich-tabs-panel{padding:14px 12px}table,thead,tbody,tr,th,td{display:block}thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}tbody{gap:12px;display:grid}tr{border:1px solid var(--line);border-radius:calc(14px * var(--radius-scale));background:var(--surface);padding:11px}td{border-bottom:1px solid var(--line);grid-template-columns:110px minmax(0,1fr);align-items:center;min-height:42px;padding:8px;display:grid}td:last-child{border-bottom:0}td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;font-size:.65rem;font-weight:800}td select{min-width:0}}.design-settings{grid-column:1/-1;gap:22px;display:grid}.design-form{grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);align-items:start;gap:24px;display:grid}.design-controls{gap:20px;display:grid}.design-group{border:0;border-top:1px solid var(--line);gap:14px;min-width:0;margin:0;padding:18px 0 0;display:grid}.design-group legend,.design-group h3{color:var(--primary);margin:0 0 4px;padding:0;font-size:.95rem;font-weight:800}.template-options{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.template-option{border:1px solid var(--line);border-radius:calc(12px * var(--radius-scale));background:var(--surface);cursor:pointer;color:var(--ink);gap:10px;padding:12px;font-size:.82rem;display:grid}.template-option input,.radius-options input{opacity:0;pointer-events:none;position:absolute}.template-option.is-selected,.radius-options .is-selected{border-color:var(--accent-text);box-shadow:0 0 0 2px var(--focus)}.template-option:focus-within,.radius-options label:focus-within{outline:3px solid var(--focus);outline-offset:2px}.template-swatches{border-radius:calc(8px * var(--radius-scale));height:30px;display:flex;overflow:hidden}.template-swatches span{flex:1}.design-group>.button-ghost{justify-self:start}.color-field{grid-template-columns:48px minmax(0,1fr);align-items:start;gap:12px;display:grid}.color-field input[type=color]{border:1px solid var(--line);border-radius:calc(9px * var(--radius-scale));background:var(--surface);cursor:pointer;width:48px;height:44px;margin-top:21px;padding:3px}.radius-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.radius-options label{border:1px solid var(--line);border-radius:calc(9px * var(--radius-scale));background:var(--surface);cursor:pointer;place-items:center;min-height:44px;font-weight:700;display:grid;position:relative}.design-side{gap:14px;display:grid;position:sticky;top:24px}.design-preview{border:1px solid var(--line);border-radius:calc(16px * var(--radius-scale));background:var(--canvas);color:var(--ink);font-family:var(--font-body);grid-template-columns:150px minmax(0,1fr);display:grid;overflow:hidden}.design-preview-sidebar{background:var(--primary);align-content:start;gap:6px;padding:16px 10px;display:grid}.design-preview-sidebar .brand{gap:8px;margin-bottom:12px}.design-preview-sidebar .brand-mark{width:30px;height:30px;font-size:1.1rem}.design-preview-sidebar .brand strong{font-size:.85rem}.design-preview-sidebar .nav-link{min-height:36px;font-size:.78rem}.design-preview-main{align-content:start;gap:10px;padding:18px;display:grid}.design-preview-main h3{margin:0;font-size:1.3rem}.design-preview-main p{margin:0;font-size:.82rem}.design-preview-card{border:1px solid var(--line);border-radius:calc(12px * var(--radius-scale));background:var(--surface);gap:8px;padding:12px;display:grid}.design-preview-card small{color:var(--muted);font-size:.72rem}.design-preview-main .button{justify-self:start}.design-warnings{align-items:flex-start}.design-warnings p{margin:0;line-height:1.45}.brand-images{gap:10px}.brand-image-row{border:1px solid var(--line);border-radius:calc(12px * var(--radius-scale));grid-template-columns:96px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:10px 12px;display:grid}.brand-image-preview{border-radius:calc(8px * var(--radius-scale));background:var(--surface-2);height:52px;color:var(--muted);place-items:center;font-size:.7rem;display:grid;overflow:hidden}.brand-image-row.is-dark .brand-image-preview{background:var(--primary);color:var(--on-primary-muted)}.brand-image-preview img{object-fit:contain;max-width:88px;max-height:44px}.brand-image-copy{gap:3px;display:grid}.brand-image-copy small{color:var(--muted);font-size:.74rem;line-height:1.4}@media (width<=900px){.design-form{grid-template-columns:1fr}.design-side{position:static}.brand-image-row{grid-template-columns:72px minmax(0,1fr)}}@media (prefers-color-scheme:dark){:root{--ink:#e5edf3;--muted:#9db0c0;--canvas:#071b2e;--surface:#0d2944;--surface-2:#153753;--line:#294c68;--success-bg:#123d31;--danger-bg:#462523;--shadow:0 18px 50px #00000040}h1,h2,h3,.button-secondary,.metric-item strong,.learning-summary strong,.course-progress-number strong{color:#edf5fa}.mobile-header{background:color-mix(in srgb, var(--canvas) 96%, transparent)}.button-primary{color:var(--on-action)}.filter-chip-active{border-color:var(--highlight);background:var(--highlight);color:var(--on-highlight)}.library-panel-title strong,.library-course-title strong,.transfer-item strong,.transfer-summary strong{color:#edf5fa}.certificate-callout,.answer-option-selected{background:color-mix(in srgb, var(--highlight) 18%, var(--canvas))}.skeleton{background:linear-gradient(100deg, var(--surface-2) 20%, color-mix(in srgb, var(--surface-2) 85%, white) 40%, var(--surface-2) 60%);background-size:200% 100%}}
