:root{--navy-950:#071a31;--navy-900:#0b2445;--blue-800:#003379;--blue-700:#0b4b96;--blue-600:#1767b2;--blue-100:#e6f0fb;--blue-50:#f2f7fc;--red-700:#a70f18;--red-600:#c21919;--red-500:#e52a30;--red-50:#fff1f1;--ink:#142238;--muted:#617086;--muted-2:#7e8ba0;--line:#dfe5ed;--line-strong:#cbd4e0;--surface:#f5f7fa;--surface-2:#edf1f6;--white:#ffffff;--success:#117a4b;--success-bg:#eaf8f1;--warning:#9b5d00;--warning-bg:#fff4dc;--shadow-sm:0 1px 2px rgba(7,26,49,0.05),0 5px 18px rgba(7,26,49,0.05);--shadow-md:0 18px 50px rgba(7,26,49,0.12);--radius-sm:10px;--radius:18px;--radius-lg:26px;--content:1180px}*{box-sizing:border-box}html{min-width:320px;color-scheme:light;scroll-behavior:smooth}body,html{background:var(--surface)}body{min-height:100vh;margin:0;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a,button{color:inherit}a{text-decoration:none}img{display:block;max-width:100%}dd,dl,h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{text-wrap:balance}h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.05;letter-spacing:-.045em}h2{font-size:clamp(1.5rem,2.5vw,2.15rem);line-height:1.15;letter-spacing:-.03em}h3{font-size:1.15rem;line-height:1.25;letter-spacing:-.015em}:focus-visible{outline:3px solid rgba(23,103,178,.42);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-frame{min-height:100vh}.app-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:minmax(230px,1fr) auto minmax(230px,1fr);align-items:center;min-height:72px;padding:10px max(24px,calc((100vw - var(--content)) / 2));border-bottom:1px solid rgba(203,212,224,.76);background:rgba(255,255,255,.95);box-shadow:0 2px 16px rgba(7,26,49,.04);backdrop-filter:blur(16px)}.app-brand{display:inline-flex;align-items:center;gap:12px;width:max-content}.app-brand img{width:102px;height:34px;object-fit:contain}.app-brand>span{display:flex;flex-direction:column;padding-left:12px;border-left:1px solid var(--line);line-height:1.2}.app-brand strong{color:var(--navy-900);font-size:.9rem}.app-brand small{color:var(--red-600);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.app-nav{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.app-nav a{min-height:38px;padding:9px 16px;border-radius:999px;color:var(--muted);font-size:.88rem;font-weight:700;line-height:1;transition:.16s ease}.app-nav a.active,.app-nav a:hover{color:var(--blue-800)}.app-nav a.active{background:var(--white);box-shadow:var(--shadow-sm)}.header-status{justify-self:end;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.78rem}.header-status strong{display:inline-grid;place-items:center;min-width:38px;height:38px;margin-left:7px;padding:0 10px;border-radius:999px;background:var(--navy-900);color:var(--white);font-size:.78rem}.network-dot{width:8px;height:8px;border-radius:50%;background:var(--warning);box-shadow:0 0 0 4px rgba(155,93,0,.12)}.network-dot.online{background:var(--success);box-shadow:0 0 0 4px rgba(17,122,75,.11)}.demo-notice{position:relative;z-index:10;padding:7px 20px;border-bottom:1px solid #f0ddaa;background:#fff8e8;color:#765423;font-size:.75rem;font-weight:600;text-align:center}.section-shell{width:min(calc(100% - 40px),var(--content));margin-inline:auto}.eyebrow{display:inline-block;margin-bottom:10px;color:var(--blue-700);font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 18px;border:1px solid transparent;border-radius:12px;cursor:pointer;font-weight:750;line-height:1.2;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.button:not(:disabled):hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.42}.button.primary{background:var(--blue-800);box-shadow:0 8px 24px rgba(0,51,121,.2);color:var(--white)}.button.primary:not(:disabled):hover{background:var(--blue-700);box-shadow:0 10px 28px rgba(0,51,121,.26)}.button.secondary{border-color:var(--line-strong);background:var(--white);color:var(--navy-900)}.button.ghost:not(:disabled):hover,.button.secondary:not(:disabled):hover{border-color:#9fb2ca;background:var(--blue-50)}.button.ghost{border-color:var(--line);background:transparent;color:var(--blue-800)}.button.quiet{min-height:42px;border-color:var(--line);background:var(--white)}.button.full{width:100%}.text-button{padding:3px;font-size:.82rem;font-weight:750}.danger-text{color:var(--red-600)!important}input,select{width:100%;min-height:46px;padding:10px 13px;border:1px solid var(--line-strong);border-radius:10px;background:var(--white);color:var(--ink);transition:border .15s ease,box-shadow .15s ease}input:hover,select:hover{border-color:#9aaac0}input:focus,select:focus{border-color:var(--blue-600);box-shadow:0 0 0 4px rgba(23,103,178,.12);outline:none}label>span:first-child,legend{display:block;margin-bottom:7px;color:var(--navy-900);font-size:.8rem;font-weight:750}.page-loading,.viewer-loading{display:grid;place-items:center;min-height:48vh;color:var(--muted);font-weight:700}.entry-hero{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(380px,.84fr);gap:clamp(40px,7vw,92px);align-items:center;min-height:min(720px,calc(100vh - 105px));padding:clamp(54px,7vw,96px) max(24px,calc((100vw - var(--content)) / 2));overflow:hidden;background:radial-gradient(circle at 5% 5%,rgba(23,103,178,.09),transparent 30%),radial-gradient(circle at 92% 94%,rgba(194,25,25,.06),transparent 28%),var(--white)}.entry-copy{max-width:690px}.entry-copy h1{max-width:670px;margin-bottom:24px;color:var(--navy-950)}.entry-copy h1:after{display:block;width:76px;height:5px;margin-top:24px;border-radius:999px;background:linear-gradient(90deg,var(--red-500),var(--red-600));content:""}.hero-lead{max-width:620px;margin-bottom:34px;color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.65}.pilot-facts{display:flex;gap:28px}.pilot-facts>div{display:flex;flex-direction:column;min-width:92px;padding-right:28px;border-right:1px solid var(--line)}.pilot-facts>div:last-child{padding-right:0;border-right:0}.pilot-facts strong{color:var(--navy-900);font-size:1.55rem;line-height:1.1}.pilot-facts span{margin-top:4px;color:var(--muted-2);font-size:.78rem}.entry-card{padding:clamp(25px,3vw,38px);border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.96);box-shadow:var(--shadow-md)}.card-kicker{display:inline-flex;align-items:center;min-height:28px;margin-bottom:14px;padding:6px 10px;border-radius:999px;background:var(--blue-100);color:var(--blue-800);font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.entry-card h2,.registration-card h2{margin-bottom:10px;color:var(--navy-900)}.entry-card>p{margin-bottom:24px;color:var(--muted);font-size:.9rem}.role-grid{display:grid;gap:10px}.role-option{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;min-height:72px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--white);transition:.16s ease}.role-option:hover{border-color:#9fb3cc;background:var(--blue-50);transform:translateY(-1px)}.role-option.role-student{border-color:#b7cee6;background:linear-gradient(135deg,#f4f9ff,#ffffff)}.role-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--blue-800);color:var(--white);font-size:1rem;font-weight:850}.role-mark.admin{background:var(--navy-900)}.role-option>span:nth-child(2){display:flex;flex-direction:column}.role-option strong{color:var(--navy-900);font-size:.95rem}.role-option small{margin-top:2px;color:var(--muted);font-size:.75rem}.role-arrow{color:var(--blue-700);font-size:1.2rem}.entry-divider{display:flex;align-items:center;gap:12px;margin:22px 0 16px;color:var(--muted-2);font-size:.68rem;font-weight:700;text-transform:uppercase}.entry-divider:after,.entry-divider:before{flex:1;height:1px;background:var(--line);content:""}.invite-inline>div{display:grid;grid-template-columns:1fr auto;gap:8px}.invite-inline input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.entry-card .microcopy,.microcopy{margin:12px 0 0;color:var(--muted-2);font-size:.7rem;line-height:1.45}.entry-features{padding-block:72px 90px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-heading.compact{margin-bottom:26px}.section-heading .eyebrow{margin-bottom:6px}.section-heading h2{margin-bottom:0;color:var(--navy-900)}.section-count{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border-radius:999px;background:var(--blue-100);color:var(--blue-800);font-weight:800}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.feature-grid article{min-height:190px;padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm)}.feature-index{display:inline-block;margin-bottom:27px;color:var(--red-600);font-size:.75rem;font-weight:850}.feature-grid h3{margin-bottom:9px;color:var(--navy-900)}.feature-grid p{margin:0;color:var(--muted);font-size:.88rem}.admin-page,.dashboard-page{padding-block:44px 76px}.dashboard-welcome{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;margin-bottom:48px;padding:31px 34px;border:1px solid #ccdae9;border-radius:var(--radius-lg);background:linear-gradient(125deg,rgba(230,240,251,.96),rgba(255,255,255,.97)),var(--white)}.dashboard-welcome h1{margin-bottom:12px;color:var(--navy-950);font-size:clamp(2rem,4vw,3rem)}.dashboard-welcome p{max-width:650px;margin-bottom:0;color:var(--muted)}.overall-progress{display:flex;align-items:center;gap:14px;min-width:260px;padding-left:28px;border-left:1px solid #c5d4e4}.progress-ring{--progress:0%;position:relative;display:grid;place-items:center;width:72px;height:72px;flex:0 0 72px;border-radius:50%;background:conic-gradient(var(--blue-700) var(--progress),#dce6f0 0)}.progress-ring:before{position:absolute;width:56px;height:56px;border-radius:50%;background:#f8fbff;content:""}.progress-ring span{position:relative;color:var(--navy-900);font-size:.86rem;font-weight:850}.overall-progress>div:last-child{display:flex;flex-direction:column}.overall-progress strong{color:var(--navy-900);font-size:.88rem}.overall-progress>div:last-child span{max-width:130px;margin-top:3px;color:var(--muted);font-size:.7rem}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.course-card{position:relative;overflow:hidden;padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-sm)}.course-card:before{position:absolute;inset:0 0 auto;height:5px;background:var(--blue-700);content:""}.course-card.accent-red:before{background:var(--red-600)}.course-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.course-code,.mini-course-code{display:inline-grid;place-items:center;min-width:52px;height:30px;padding:0 9px;border-radius:8px;background:var(--blue-100);color:var(--blue-800);font-size:.72rem;font-weight:850;letter-spacing:.06em}.accent-red .course-code,.invite-course-mark.accent-red,.mini-course-code.accent-red{background:var(--red-50);color:var(--red-700)}.expiry{padding:5px 9px;border-radius:999px;background:var(--success-bg);color:var(--success);font-size:.68rem;font-weight:800}.expiry.warning{background:var(--warning-bg);color:var(--warning)}.course-card h3{max-width:490px;margin-bottom:8px;color:var(--navy-900);font-size:clamp(1.3rem,2.4vw,1.65rem)}.course-variant{display:inline-flex;width:fit-content;margin-bottom:10px;padding:4px 8px;border:1px solid #cbd9e8;border-radius:999px;background:var(--surface);color:var(--navy-700);font-size:.68rem;font-weight:800}.course-card>p{min-height:54px;margin-bottom:23px;color:var(--muted);font-size:.88rem}.course-meta{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:13px;margin-bottom:24px;padding:16px 0;border-block:1px solid var(--line)}.course-meta>div{min-width:0}.course-meta dt{margin-bottom:4px;color:var(--muted-2);font-size:.64rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.course-meta dd{margin-bottom:0;overflow:hidden;color:var(--navy-900);font-size:.75rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.course-progress{margin-bottom:21px}.course-progress>div:first-child{display:flex;justify-content:space-between;margin-bottom:7px;color:var(--muted);font-size:.75rem}.course-progress strong{color:var(--navy-900)}.module-mini-progress,.progress-track{display:block;height:6px;overflow:hidden;border-radius:999px;background:#e4e9ef}.module-mini-progress span,.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--blue-700)}.accent-red .progress-track span{background:var(--red-600)}.course-action{justify-content:space-between;width:100%}.local-data-card{display:flex;gap:16px;align-items:flex-start;margin-top:28px;padding:20px 22px;border:1px solid #cfdbe8;border-radius:var(--radius);background:var(--blue-50)}.local-data-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--blue-800);color:var(--white);font-family:Georgia,serif;font-weight:800}.local-data-card strong{color:var(--navy-900)}.local-data-card p{max-width:920px;margin:4px 0 0;color:var(--muted);font-size:.8rem}.viewer-frame .app-header{min-height:62px}.course-viewer{min-height:calc(100vh - 94px);background:#e9edf2}.viewer-toolbar{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;min-height:64px;padding:9px max(20px,calc((100vw - 1440px) / 2));border-bottom:1px solid var(--line);background:var(--white)}.viewer-title{display:flex;align-items:center;gap:12px}.viewer-title>a{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;color:var(--blue-800);font-weight:800}.viewer-title>div{display:flex;flex-direction:column}.viewer-title span{color:var(--red-600);font-size:.64rem;font-weight:850;letter-spacing:.08em}.viewer-title h1{margin:0;color:var(--navy-900);font-size:1rem;letter-spacing:-.015em}.viewer-title small{margin-top:1px;color:var(--muted-2);font-size:.58rem;font-weight:750}.viewer-progress-copy{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:.75rem}.viewer-progress-copy strong{color:var(--blue-800)}.viewer-progress-line{position:absolute;right:0;bottom:0;left:0;height:3px;background:#e6eaf0}.viewer-progress-line span{display:block;height:100%;background:linear-gradient(90deg,var(--blue-700),var(--red-500));transition:width .18s ease}.viewer-layout{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:calc(100vh - 158px);max-width:1500px;margin-inline:auto}.module-panel{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--line-strong);background:var(--white)}.module-panel-head{display:flex;justify-content:space-between;gap:12px;padding:22px 19px 13px}.module-panel-head .eyebrow{margin-bottom:4px}.module-panel-head h2{margin-bottom:0;color:var(--navy-900);font-size:1.05rem}.icon-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--white);cursor:pointer}.module-close{display:none}.module-list{flex:1;margin:0;padding:0 10px 18px;list-style:none}.module-list li+li{margin-top:3px}.module-link{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;width:100%;padding:10px;border:1px solid transparent;border-radius:11px;background:transparent;cursor:pointer;text-align:left;transition:.14s ease}.module-link:hover{background:var(--surface)}.module-link.active{border-color:#c6d9ec;background:var(--blue-50)}.module-number{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line-strong);border-radius:8px;color:var(--muted);font-size:.68rem;font-weight:850}.module-link.active .module-number{border-color:var(--blue-700);background:var(--blue-700);color:var(--white)}.module-number.complete{border-color:#b4dfca;background:var(--success-bg);color:var(--success)}.module-copy{min-width:0}.module-copy small,.module-copy strong{display:block}.module-copy strong{margin-bottom:2px;overflow:hidden;color:var(--navy-900);font-size:.76rem;line-height:1.3;text-overflow:ellipsis}.module-copy small{margin-bottom:7px;color:var(--muted-2);font-size:.61rem}.module-mini-progress{height:3px}.module-panel-foot{display:flex;justify-content:space-between;padding:15px 19px;border-top:1px solid var(--line);color:var(--muted);font-size:.7rem}.module-panel-foot strong{color:var(--blue-800)}.module-scrim{display:none}.slide-stage{min-width:0;padding:17px clamp(16px,2.3vw,36px) 26px}.slide-stage-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;max-width:1080px;margin:0 auto 13px}.module-trigger{display:none}.current-module{min-width:0}.current-module span,.current-module strong{display:block}.current-module span{color:var(--muted-2);font-size:.61rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.current-module strong{overflow:hidden;color:var(--navy-900);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.economy-toggle{display:flex;align-items:center;gap:9px;cursor:pointer}.economy-toggle>input{position:absolute;width:1px;height:1px;opacity:0}.toggle-track{display:flex;align-items:center;width:40px;height:23px;padding:3px;border-radius:999px;background:#b6c0cd;transition:.15s ease}.toggle-track span{width:17px;height:17px;border-radius:50%;background:var(--white);box-shadow:0 1px 4px rgba(7,26,49,.25);transition:.15s ease}.economy-toggle input:checked+.toggle-track{background:var(--success)}.economy-toggle input:checked+.toggle-track span{transform:translateX(17px)}.economy-toggle input:focus-visible+.toggle-track{outline:3px solid rgba(23,103,178,.36);outline-offset:3px}.economy-toggle>span:last-child{display:flex;flex-direction:column}.economy-toggle strong{color:var(--navy-900);font-size:.7rem}.economy-toggle small{color:var(--muted-2);font-size:.58rem}.slide-canvas{position:relative;display:grid;place-items:center;width:min(100%,1080px);aspect-ratio:16/9;margin-inline:auto;overflow:hidden;border:1px solid #c8d0da;border-radius:7px;background:#dfe4ea;box-shadow:0 16px 40px rgba(7,26,49,.14)}.slide-image-button{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:var(--white);cursor:zoom-in;opacity:0;transition:opacity .16s ease}.slide-image-button.loaded{opacity:1}.slide-image-button img{width:100%;height:100%;object-fit:contain}.zoom-hint{position:absolute;right:12px;bottom:12px;padding:6px 9px;border-radius:8px;background:rgba(7,26,49,.78);color:var(--white);font-size:.62rem;font-weight:700;opacity:1;transform:none;transition:.15s ease}.slide-image-button:focus-visible .zoom-hint,.slide-image-button:hover .zoom-hint{opacity:1;transform:none}.viewer-zoom-guide{display:flex;gap:9px;align-items:center;width:min(100%,1080px);margin:11px auto 0;padding:10px 13px;border:1px solid #c9d9e9;border-radius:10px;background:#edf5fc;color:var(--blue-800);font-size:.7rem;font-weight:700;line-height:1.4}.viewer-zoom-guide-icon{flex:0 0 auto;font-size:1.15rem;line-height:1}.viewer-zoom-guide-mobile{display:none}.slide-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;gap:8%;justify-content:center;padding:10%;background:linear-gradient(110deg,#e2e7ed 20%,#f5f7f9 42%,#e2e7ed 66%);background-size:300% 100%;animation:slide-loading 1.4s linear infinite}.slide-placeholder span{display:block;width:74%;height:8%;border-radius:8px;background:rgba(255,255,255,.75)}.slide-placeholder span:first-child{width:48%;height:13%}.slide-placeholder span:last-child{width:62%}@keyframes slide-loading{to{background-position:-300% 0}}.slide-error{max-width:430px;padding:28px;text-align:center}.slide-error strong{color:var(--navy-900);font-size:1.1rem}.slide-error p{margin:8px 0 18px;color:var(--muted);font-size:.82rem}.viewer-controls{display:grid;grid-template-columns:minmax(135px,auto) minmax(220px,1fr) minmax(135px,auto);gap:15px;align-items:center;max-width:1080px;margin:18px auto 0}.nav-button{min-height:48px}.jump-control{min-width:0}.jump-control>label{display:block;margin-bottom:4px;color:var(--muted-2);font-size:.58rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.jump-control>input[type=range]{--range-progress:0%;width:100%;min-height:4px;height:4px;padding:0;border:0;border-radius:999px;background:linear-gradient(90deg,var(--blue-700) var(--range-progress),#cfd6df var(--range-progress));box-shadow:none;appearance:none}.jump-control input[type=range]::-webkit-slider-thumb{width:17px;height:17px;border:3px solid var(--white);border-radius:50%;background:var(--blue-700);box-shadow:0 1px 5px rgba(7,26,49,.3);appearance:none}.jump-control form{display:flex;justify-content:center;gap:5px;align-items:center;margin-top:7px;color:var(--muted);font-size:.64rem}.jump-control form label{color:var(--muted)}.jump-control input[type=number]{width:55px;min-height:28px;height:28px;padding:2px 5px;border-radius:7px;font-size:.68rem;font-weight:750;text-align:center}.keyboard-tip{margin:8px auto 0;color:var(--muted-2);font-size:.59rem;text-align:center}.zoom-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px 64px;background:rgba(3,12,23,.94);backdrop-filter:blur(10px);overflow:hidden;overscroll-behavior:contain;touch-action:none;user-select:none;-webkit-user-select:none}.zoom-overlay:before{position:absolute;inset:-28px;background:var(--zoom-slide) center /cover no-repeat;content:"";filter:blur(22px) brightness(.45) saturate(.8);opacity:0;pointer-events:none;transform:scale(1.08)}.zoom-overlay img{width:100%;height:100%;max-width:1500px;max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);object-fit:contain;box-shadow:0 24px 70px rgba(0,0,0,.4);-webkit-touch-callout:none}.zoom-close,.zoom-nav{position:absolute;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:rgba(255,255,255,.1);color:var(--white);cursor:pointer;font-size:1.5rem}.zoom-close{top:18px;right:20px;width:44px;height:44px}.zoom-nav{top:50%;width:48px;height:70px;transform:translateY(-50%)}.zoom-nav.previous{left:12px}.zoom-nav.next{right:12px}.zoom-nav:disabled{opacity:.28}.zoom-counter{position:absolute;bottom:16px;left:50%;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.1);color:var(--white);font-size:.72rem;transform:translateX(-50%)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:62vh;text-align:center}.empty-code{margin-bottom:18px;padding:7px 12px;border-radius:999px;background:var(--red-50);color:var(--red-600);font-size:.72rem;font-weight:850}.empty-state h1{margin-bottom:12px;color:var(--navy-900);font-size:2.2rem}.empty-state p{margin-bottom:24px;color:var(--muted)}.admin-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.admin-heading h1{margin-bottom:12px;color:var(--navy-950);font-size:clamp(2rem,4vw,3.1rem)}.admin-heading p{max-width:720px;margin-bottom:0;color:var(--muted)}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.admin-stats article{display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm)}.admin-stats span{color:var(--muted);font-size:.75rem;font-weight:700}.admin-stats strong{margin:5px 0 2px;color:var(--navy-900);font-size:2rem;line-height:1}.admin-stats small{color:var(--muted-2);font-size:.65rem}.admin-notice{display:flex;align-items:center;gap:9px;margin-bottom:16px;padding:11px 14px;border:1px solid #b9dfcd;border-radius:12px;background:var(--success-bg);color:#0c6840;font-size:.8rem;font-weight:700}.admin-notice>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--success);color:var(--white);font-size:.7rem}.admin-notice button{margin-left:auto;border:0;background:transparent;cursor:pointer;color:inherit;font-size:1.2rem}.admin-main-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:18px;margin-bottom:18px}.admin-card{padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm)}.admin-card-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.admin-card-head .eyebrow{margin-bottom:3px}.admin-card-head h2{margin-bottom:0;color:var(--navy-900);font-size:1.35rem}.step-badge{padding:5px 9px;border-radius:999px;background:var(--blue-100);color:var(--blue-800);font-size:.65rem;font-weight:800}.invite-builder form>label,.registration-card form>label{display:block;margin-bottom:15px}.form-row{display:grid;grid-template-columns:1.5fr .7fr;gap:12px;margin-bottom:16px}.invite-builder fieldset{margin:0 0 20px;padding:0;border:0}.choice-row{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.choice{display:grid;place-items:center;min-height:41px;border:1px solid var(--line-strong);border-radius:10px;background:var(--white);color:var(--muted);cursor:pointer;font-size:.72rem;font-weight:750}.choice input{position:absolute;width:1px;height:1px;opacity:0}.choice.active{border-color:var(--blue-700);background:var(--blue-50);color:var(--blue-800);box-shadow:inset 0 0 0 1px var(--blue-700)}.created-codes{margin-top:18px;padding:17px;border:1px solid #bdd3e8;border-radius:13px;background:var(--blue-50)}.created-codes>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.created-codes>div:first-child strong{color:var(--navy-900);font-size:.85rem}.created-codes ul{margin:0;padding:0;list-style:none}.created-codes li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #d7e4f1}.created-codes code,.invite-code-row code,.invite-registry code,.invite-status-card>code{color:var(--blue-800);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;font-weight:800}.created-codes li small{color:var(--muted);font-size:.63rem}.created-codes>p{margin:11px 0 0;color:var(--muted);font-size:.68rem}.learner-profile{display:flex;gap:12px;align-items:center;margin-bottom:19px;padding:14px;border-radius:13px;background:var(--surface)}.profile-avatar{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:var(--navy-900);color:var(--white);font-size:.72rem;font-weight:800}.learner-profile>div{display:flex;min-width:0;flex-direction:column}.learner-profile strong{color:var(--navy-900);font-size:.84rem}.learner-profile small,.learner-profile span{overflow:hidden;color:var(--muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.enrollment-list{margin:0;padding:0;list-style:none}.enrollment-list>li{padding:14px 0;border-top:1px solid var(--line)}.enrollment-list>li>div:first-child{display:flex;gap:10px;align-items:center}.mini-course-code{min-width:48px;height:29px}.enrollment-list>li>div:first-child>span:last-child{display:flex;flex-direction:column}.enrollment-list strong{color:var(--navy-900);font-size:.8rem}.enrollment-list small{color:var(--muted);font-size:.65rem}.extend-actions{display:flex;gap:7px;margin-top:10px;padding-left:58px}.extend-actions button{min-height:32px;padding:5px 9px;border:1px solid var(--line-strong);border-radius:8px;background:var(--white);color:var(--blue-700);cursor:pointer;font-size:.65rem;font-weight:750}.invite-registry{margin-bottom:18px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.75rem}th{padding:10px 11px;border-bottom:1px solid var(--line-strong);color:var(--muted-2);font-size:.63rem;letter-spacing:.04em;text-align:left;text-transform:uppercase}td{padding:12px 11px;border-bottom:1px solid var(--line);color:var(--muted);vertical-align:middle}td small,td strong{display:block}td strong{max-width:270px;color:var(--navy-900);font-size:.74rem}td small{margin-top:2px;color:var(--muted-2);font-size:.62rem}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:var(--warning-bg);color:var(--warning);font-size:.62rem;font-weight:800;white-space:nowrap}.status-pill:before{width:6px;height:6px;border-radius:50%;background:currentColor;content:""}.status-pill.activated{background:var(--success-bg);color:var(--success)}.status-pill.cancelled{background:var(--surface-2);color:var(--muted)}.audit-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px;margin:0;padding:0;list-style:none}.audit-list li{display:flex;gap:11px;padding:10px 0;border-top:1px solid var(--line)}.audit-dot{width:9px;height:9px;flex:0 0 9px;margin-top:5px;border:2px solid var(--white);border-radius:50%;background:var(--blue-700);box-shadow:0 0 0 1px #a8c1db}.audit-list div{display:flex;flex-direction:column}.audit-list strong{color:var(--navy-900);font-size:.72rem}.audit-list time{margin-top:2px;color:var(--muted-2);font-size:.61rem}.invite-page{display:grid;place-items:center;min-height:calc(100vh - 110px);padding:52px 20px 70px;background:radial-gradient(circle at 10% 15%,rgba(23,103,178,.1),transparent 29%),radial-gradient(circle at 90% 84%,rgba(194,25,25,.06),transparent 28%),var(--surface)}.invite-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.78fr);width:min(100%,1030px);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-md)}.invite-course-panel{position:relative;padding:clamp(30px,5vw,56px);overflow:hidden;background:radial-gradient(circle at 100% 0,rgba(255,255,255,.13),transparent 35%),var(--navy-900);color:var(--white)}.invite-course-panel:after{position:absolute;right:-70px;bottom:-95px;width:240px;height:240px;border:46px solid rgba(255,255,255,.035);border-radius:50%;content:""}.invite-course-panel .eyebrow{color:#a9cdf0}.invite-course-mark{display:grid;place-items:center;width:65px;height:65px;margin:9px 0 23px;border-radius:17px;background:rgba(255,255,255,.12);color:var(--white);font-size:.9rem;font-weight:850;letter-spacing:.07em}.invite-course-panel h1{max-width:540px;margin-bottom:15px;color:var(--white);font-size:clamp(2rem,4vw,3rem)}.invite-course-panel>p{max-width:540px;color:#bfcbd9;font-size:.9rem}.invite-course-panel dl{position:relative;z-index:1;margin:29px 0;border-top:1px solid rgba(255,255,255,.13)}.invite-course-panel dl>div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.13)}.invite-course-panel dt{color:#8da0b8;font-size:.68rem}.invite-course-panel dd{margin:0;color:#edf3f9;font-size:.72rem;font-weight:700}.invite-code-row{position:relative;z-index:1;display:flex;flex-direction:column;width:max-content;padding:11px 14px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(255,255,255,.07)}.invite-code-row span{color:#8fa1b8;font-size:.6rem}.invite-code-row code{color:var(--white)}.registration-card{padding:clamp(30px,4vw,46px)}.registration-card>p{color:var(--muted);font-size:.85rem}.registration-card label small{display:block;margin-top:5px;color:var(--muted-2);font-size:.64rem}.form-error,.invite-state{margin-bottom:14px;padding:10px 12px;border:1px solid #efc5c5;border-radius:10px;background:var(--red-50);color:var(--red-700);font-size:.72rem;font-weight:700}.invite-state.activated{border-color:#bfdece;background:var(--success-bg);color:var(--success)}.consent-copy{margin:11px 0 0;color:var(--muted-2);font-size:.63rem;line-height:1.45;text-align:center}.invite-status-card{display:flex;flex-direction:column;align-items:center;width:min(100%,540px);padding:42px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-md);text-align:center}.invite-status-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:20px;border-radius:50%;background:var(--success-bg);color:var(--success);font-size:1.6rem;font-weight:850}.invite-status-card.invalid .invite-status-icon{background:var(--warning-bg);color:var(--warning)}.invite-status-card h1{margin-bottom:12px;color:var(--navy-900);font-size:2.15rem}.invite-status-card>p{margin-bottom:21px;color:var(--muted)}.invite-status-card>code{margin-bottom:22px;padding:7px 11px;border-radius:8px;background:var(--surface)}.activated-summary{display:flex;gap:12px;align-items:center;width:100%;margin-bottom:23px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface);text-align:left}.activated-summary>div{display:flex;min-width:0;flex-direction:column}.activated-summary strong{color:var(--navy-900);font-size:.78rem}.activated-summary small{color:var(--muted);font-size:.66rem}@media (max-width:1050px){.app-header{grid-template-columns:minmax(180px,1fr) auto auto}.app-brand>span{display:none}.entry-hero{grid-template-columns:minmax(0,1fr) minmax(350px,.85fr);gap:38px}.viewer-layout{grid-template-columns:minmax(0,1fr)}.module-panel{position:fixed;inset:0 auto 0 0;z-index:91;width:min(88vw,340px);box-shadow:var(--shadow-md);transform:translateX(-105%);transition:transform .2s ease}.module-panel.open{transform:none}.module-close{display:grid}.module-scrim{position:fixed;inset:0;z-index:90;display:block;border:0;background:rgba(3,12,23,.48)}.slide-stage-head{grid-template-columns:auto minmax(0,1fr) auto}.module-trigger{display:inline-flex}.admin-main-grid{grid-template-columns:1fr}.access-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:0 22px}.access-card .admin-card-head{grid-column:1/-1}.enrollment-list{border-left:1px solid var(--line);padding-left:22px}}@media (max-width:820px){.app-header{grid-template-columns:1fr auto;min-height:64px;padding:8px 16px}.app-brand img{width:88px}.app-nav{position:fixed;right:14px;bottom:12px;left:14px;z-index:60;display:grid;grid-template-columns:repeat(2,1fr);padding:5px;box-shadow:0 12px 36px rgba(7,26,49,.22)}.app-nav a{display:grid;place-items:center;min-height:44px;text-align:center}.header-status>span:not(.network-dot),.viewer-frame .app-nav{display:none}.demo-notice{padding-inline:12px;font-size:.67rem}.entry-hero{grid-template-columns:1fr;min-height:auto;padding:46px 20px 58px}.entry-copy{text-align:center}.entry-copy h1:after,.hero-lead{margin-inline:auto}.pilot-facts{justify-content:center}.entry-card{width:min(100%,590px);margin-inline:auto}.entry-features{padding-block:55px 100px}.feature-grid{grid-template-columns:1fr}.feature-grid article{min-height:0}.feature-index{margin-bottom:17px}.admin-page,.dashboard-page{padding-bottom:105px}.dashboard-welcome{grid-template-columns:1fr}.overall-progress{padding:18px 0 0;border-top:1px solid #c5d4e4;border-left:0}.course-grid{grid-template-columns:1fr}.slide-stage{padding-inline:13px}.viewer-controls{grid-template-columns:1fr 1fr}.jump-control{grid-column:1/-1;grid-row:1}.admin-stats{grid-template-columns:repeat(2,1fr)}.audit-list,.invite-layout{grid-template-columns:1fr}.invite-layout{max-width:620px}.invite-course-panel{padding:34px}.invite-course-panel dl{margin-bottom:20px}}@media (max-width:620px){.section-shell{width:min(calc(100% - 28px),var(--content))}h1{font-size:2.35rem}.header-status strong{display:none}.pilot-facts{gap:12px}.pilot-facts>div{min-width:0;padding-right:12px}.pilot-facts strong{font-size:1.25rem}.entry-card{padding:22px}.invite-inline>div{grid-template-columns:1fr}.admin-page,.dashboard-page{padding-top:28px}.dashboard-welcome{margin-bottom:34px;padding:24px}.admin-heading h1,.dashboard-welcome h1{font-size:2.1rem}.course-card{padding:23px}.course-meta{grid-template-columns:1fr .75fr}.course-meta>div:last-child{display:none}.local-data-card{padding:17px}.viewer-frame .app-header{display:none}.viewer-frame .demo-notice{font-size:.61rem}.course-viewer{min-height:calc(100vh - 32px)}.viewer-toolbar{min-height:59px;padding-inline:12px}.viewer-title>a{width:36px;height:36px}.viewer-title h1{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-progress-copy span{display:none}.viewer-progress-copy strong:after{content:" изучено";color:var(--muted);font-size:.62rem;font-weight:600}.slide-stage{padding-top:11px;padding-bottom:97px}.slide-stage-head{grid-template-columns:auto minmax(0,1fr);gap:8px}.module-trigger{min-height:42px;padding:8px 11px;font-size:.72rem}.current-module strong{font-size:.69rem}.economy-toggle{grid-column:1/-1;justify-self:end}.economy-toggle small{display:none}.slide-canvas{width:calc(100% + 26px);margin-left:-13px;border-right:0;border-left:0;border-radius:0;box-shadow:0 8px 24px rgba(7,26,49,.13)}.keyboard-tip,.zoom-hint{display:none}.viewer-zoom-guide{gap:8px;margin-top:9px;padding:10px 12px;border-right:0;border-left:0;border-radius:0;font-size:.67rem}.viewer-zoom-guide-desktop{display:none}.viewer-zoom-guide-mobile{display:inline}.viewer-controls{position:fixed;right:0;bottom:0;left:0;z-index:45;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line-strong);background:rgba(255,255,255,.97);box-shadow:0 -8px 30px rgba(7,26,49,.1);backdrop-filter:blur(12px)}.viewer-controls .jump-control{display:none}.nav-button{min-width:0;min-height:48px;padding:9px 10px;font-size:.74rem}.zoom-overlay{padding:0;background:#02060b;backdrop-filter:none;cursor:zoom-out}.zoom-overlay,.zoom-overlay img{width:100vw;width:100dvw;height:100vh;height:100dvh}.zoom-overlay img{max-width:none;max-height:none;object-fit:contain;box-shadow:none}.zoom-close,.zoom-counter,.zoom-nav{display:none}.admin-heading{align-items:flex-start;flex-direction:column}.admin-stats{gap:8px}.admin-stats article{padding:16px}.admin-card{padding:19px}.form-row{grid-template-columns:1fr}.choice-row{grid-template-columns:repeat(2,1fr)}.created-codes li{align-items:flex-start;flex-direction:column;gap:2px}.access-card{display:block}.enrollment-list{padding-left:0;border-left:0}.table-wrap{overflow:visible}.invite-registry table,.invite-registry tbody,.invite-registry td,.invite-registry tr{display:block;width:100%}.invite-registry thead{display:none}.invite-registry tr{margin-bottom:10px;padding:13px;border:1px solid var(--line);border-radius:12px}.invite-registry td{display:grid;grid-template-columns:100px 1fr;gap:10px;padding:6px 0;border:0}.invite-registry td:before{color:var(--muted-2);content:attr(data-label);font-size:.62rem;font-weight:750;text-transform:uppercase}.invite-registry td:last-child:empty{display:none}.invite-page{padding:30px 14px 100px}.invite-course-panel,.registration-card{padding:26px 23px}.invite-course-panel h1{font-size:2rem}.invite-course-panel dl>div{grid-template-columns:90px 1fr}.invite-status-card{padding:30px 22px}}@media (max-height:620px) and (max-width:950px),(max-width:620px){.zoom-overlay{width:100vw;width:100dvw;height:100vh;height:100dvh;padding:0;background:#02060b;backdrop-filter:none;cursor:zoom-out}.zoom-overlay:before{opacity:.68}.zoom-overlay img{position:relative;z-index:1;width:100vw;width:100dvw;height:100vh;height:100dvh;max-width:none;max-height:none;object-fit:contain;box-shadow:none}.zoom-close,.zoom-counter,.zoom-nav{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.mode-tabs{display:flex;gap:8px;margin:0 0 16px;padding:5px;border:1px solid var(--line);border-radius:999px;width:max-content;background:var(--surface)}.mode-tabs button{border:0;border-radius:999px;background:transparent;padding:8px 15px;color:var(--muted);font-weight:700;cursor:pointer}.mode-tabs button.active{color:var(--blue-800)}.media-player,.mode-tabs button.active{background:var(--white);box-shadow:var(--shadow-sm)}.media-player{display:grid;gap:12px;max-width:1040px;margin:0 auto;padding:18px;border:1px solid var(--line);border-radius:var(--radius)}.media-player video{width:100%;max-height:62vh;background:var(--navy-950);border-radius:12px}.media-video-wrap{position:relative}.media-player-tools{display:flex;justify-content:flex-end;color:var(--muted);font-size:.9rem}.media-player select{margin-left:6px;border:1px solid var(--line-strong);border-radius:7px;padding:4px;background:var(--white)}.media-player small{color:var(--muted)}.media-error{padding:30px;border-radius:var(--radius);background:var(--warning-bg);color:var(--warning);text-align:center}.text-button{border:0;padding:3px 6px;background:transparent;color:var(--blue-700);cursor:pointer;font-weight:700}.admin-table-wrap{overflow-x:auto}.admin-card form{display:grid;gap:14px;margin:18px 0 26px}.admin-card form label{display:grid;gap:6px}.admin-card>.button{margin:8px 8px 0 0}.admin-page>.admin-card,.admin-page>.admin-main-grid{margin-top:20px}.admin-card>h2:not(:first-child){margin-top:26px}.admin-table-wrap table{width:100%;border-collapse:collapse}.admin-table-wrap td,.admin-table-wrap th{padding:11px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:.9rem}.admin-table-wrap th{color:var(--muted);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.media-player.audio video{height:88px;aspect-ratio:auto}.viewer-progress-copy strong:after{content:none}.course-quiz-wrap{width:min(1040px,calc(100% - 32px));margin:22px auto 40px}.module-quiz,.quiz-result{padding:clamp(18px,3vw,30px);border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm)}.module-quiz-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.module-quiz h2{margin:5px 0 0;font-size:clamp(1.25rem,3vw,1.7rem)}.module-quiz-best{margin:0}.module-quiz-best,.module-quiz-empty,.module-quiz-note{color:var(--muted)}.quiz-questions{display:grid;gap:18px;margin:20px 0;padding-left:25px}.quiz-questions fieldset{display:grid;gap:10px;border:0;padding:0}.quiz-questions legend{margin-bottom:10px;font-weight:750;line-height:1.45}.quiz-option{display:flex;align-items:start;gap:10px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.quiz-option:has(input:checked){border-color:var(--blue-700);background:var(--blue-50,#eff6ff)}.quiz-option input{margin-top:4px;accent-color:var(--blue-700)}.quiz-result h3{margin-top:0}.quiz-result.passed{border-color:#92c8ab}.quiz-feedback{margin:14px 0;padding:12px 14px;border-left:3px solid var(--line-strong);background:var(--surface)}.quiz-feedback p{margin:7px 0 0}.quiz-review-page .admin-card{margin-top:20px}.quiz-review-select{display:grid;gap:8px;max-width:520px;font-weight:700}.quiz-review-select select{min-height:44px;border:1px solid var(--line-strong);border-radius:8px;padding:8px;background:var(--white)}.quiz-review-questions{display:grid;gap:14px;margin:22px 0}.quiz-review-questions article{padding:16px;border:1px solid var(--line);border-radius:10px}.quiz-review-questions h3{margin:0 0 10px;font-size:1rem}.quiz-review-questions li{margin:5px 0}.quiz-review-questions li.correct{font-weight:700;color:var(--blue-800)}.quiz-source{color:var(--muted)}@media (max-width:680px){.mode-tabs{width:100%}.mode-tabs button{flex:1;padding-inline:8px}.header-status strong{display:none}.header-status .text-button{display:inline-flex}}