:root{--primary:#221533;--secondary:#5235e4;--accent-secondary:#7056e8;--accent-rose:#ce3d72;--accent-plum:#7553a0;--text:#191522;--text-muted:#5e5669;--page:#f8f9fc;--surface:#fff;--line:#e6e1eb;--on-primary:#fff;--success:#177c54;--warning:#996200;--danger:#c02621;--shadow-color:#120a1d;--navy:var(--primary);--teal:var(--secondary);--cyan:var(--accent-secondary);--coral:var(--accent-rose);--ink:var(--text);--muted:var(--text-muted);--canvas:var(--page);--border:var(--line);--focus:var(--secondary);--primary-hover:color-mix(in srgb, var(--primary), var(--shadow-color) 22%);--secondary-hover:color-mix(in srgb, var(--secondary), var(--shadow-color) 16%);--primary-soft:color-mix(in srgb, var(--primary) 5%, var(--surface));--secondary-soft:color-mix(in srgb, var(--secondary) 6%, var(--surface));--secondary-tint:color-mix(in srgb, var(--secondary) 10%, var(--surface));--secondary-border:color-mix(in srgb, var(--secondary) 26%, var(--surface));--surface-muted:color-mix(in srgb, var(--text) 4%, var(--surface));--border-strong:color-mix(in srgb, var(--text) 24%, var(--surface));--text-subtle:color-mix(in srgb, var(--text-muted) 82%, var(--surface));--success-soft:color-mix(in srgb, var(--success) 8%, var(--surface));--success-border:color-mix(in srgb, var(--success) 28%, var(--surface));--success-text:color-mix(in srgb, var(--success) 85%, var(--shadow-color));--warning-soft:color-mix(in srgb, var(--warning) 9%, var(--surface));--warning-border:color-mix(in srgb, var(--warning) 32%, var(--surface));--warning-text:color-mix(in srgb, var(--warning) 85%, var(--shadow-color));--danger-soft:color-mix(in srgb, var(--danger) 6%, var(--surface));--danger-border:color-mix(in srgb, var(--danger) 24%, var(--surface));--danger-text:color-mix(in srgb, var(--danger) 85%, var(--shadow-color));--rose-soft:color-mix(in srgb, var(--accent-rose) 7%, var(--surface));--viewer-bg:color-mix(in srgb, var(--primary) 55%, var(--shadow-color));--viewer-canvas:color-mix(in srgb, var(--primary) 28%, var(--shadow-color));--viewer-panel:color-mix(in srgb, var(--primary) 75%, var(--shadow-color));--viewer-border:color-mix(in srgb, var(--primary) 60%, var(--on-primary));--on-dark-muted:color-mix(in srgb, var(--on-primary) 82%, var(--primary));--on-dark-subtle:color-mix(in srgb, var(--on-primary) 62%, var(--primary));--on-dark-accent:color-mix(in srgb, var(--accent-secondary) 32%, var(--on-primary));--on-dark-warning:color-mix(in srgb, var(--warning) 30%, var(--on-primary));--schematic-fill:color-mix(in srgb, var(--primary) 78%, var(--on-primary));--schematic-stroke:color-mix(in srgb, var(--primary) 48%, var(--on-primary));--radius-xs:6px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-pill:9999px;--shadow-xs:0 1px 2px color-mix(in srgb, var(--shadow-color) 4%, transparent);--shadow-sm:0 1px 3px color-mix(in srgb, var(--shadow-color) 4%, transparent), 0 2px 6px color-mix(in srgb, var(--shadow-color) 4%, transparent);--shadow-card:0 1px 3px color-mix(in srgb, var(--shadow-color) 4%, transparent), 0 6px 16px -2px color-mix(in srgb, var(--shadow-color) 6%, transparent), 0 14px 28px -4px color-mix(in srgb, var(--shadow-color) 7%, transparent);--shadow-card-hover:0 2px 6px color-mix(in srgb, var(--shadow-color) 5%, transparent), 0 12px 24px -4px color-mix(in srgb, var(--shadow-color) 9%, transparent), 0 24px 48px -8px color-mix(in srgb, var(--shadow-color) 11%, transparent);--shadow-overlay:0 4px 12px color-mix(in srgb, var(--shadow-color) 6%, transparent), 0 16px 36px -4px color-mix(in srgb, var(--shadow-color) 12%, transparent), 0 36px 72px -8px color-mix(in srgb, var(--shadow-color) 18%, transparent);--shadow-focus-ring:0 0 0 3px color-mix(in srgb, var(--secondary) 24%, transparent);--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--transition-fast:.16s var(--ease-out);--transition-normal:.24s var(--ease-out);--transition-slow:.36s var(--ease-out);--font-family:"DM Sans Variable", "DM Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-family);color:var(--ink);background:var(--canvas);font-synthesis:none}.brand-accent-violet{--course-accent:var(--secondary);--region-accent:var(--secondary);--accent:var(--secondary)}.brand-accent-orchid{--course-accent:var(--accent-secondary);--region-accent:var(--accent-secondary);--accent:var(--accent-secondary)}.brand-accent-rose{--course-accent:var(--accent-rose);--region-accent:var(--accent-rose);--accent:var(--accent-rose)}.brand-accent-plum{--course-accent:var(--accent-plum);--region-accent:var(--accent-plum);--accent:var(--accent-plum)}*{box-sizing:border-box}body{min-width:320px;margin:0}a{color:inherit}.container{width:min(100% - 40px,1280px);margin-inline:auto}.skip-link{background:var(--focus);color:var(--on-primary);z-index:20;padding:10px 16px;position:fixed;top:-60px;left:12px}.skip-link:focus{top:12px}.site-header{background:color-mix(in srgb, var(--surface) 92%, transparent);border-bottom:1px solid color-mix(in srgb, var(--surface) 80%, transparent);z-index:10;align-items:center;height:76px;display:flex;position:relative}.header-inner{justify-content:space-between;align-items:center;gap:24px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-weight:800;text-decoration:none;display:inline-flex}.brand span{background:var(--teal);width:34px;height:34px;color:var(--on-primary);border-radius:10px 10px 10px 3px;place-items:center;font-family:Georgia,serif;font-style:italic;display:grid}.header-inner nav{gap:32px;margin-left:auto;display:flex}.header-inner nav a{color:var(--text);font-size:.94rem;font-weight:650;text-decoration:none}.header-inner nav a:hover,.header-inner nav a:focus-visible,.text-link:hover{text-underline-offset:5px;text-decoration:underline}.button{background:var(--navy);color:var(--on-primary);border-radius:var(--radius-sm);box-shadow:0 5px 14px color-mix(in srgb, var(--shadow-color) 16%, transparent);justify-content:center;align-items:center;gap:18px;padding:15px 22px;font-weight:750;text-decoration:none;display:inline-flex}.button:hover{background:var(--primary-hover)}.button-ghost{color:var(--navy);border:1px solid var(--border);box-shadow:none;background:0 0}.button-secondary{background:var(--teal);margin-top:18px}.text-link{color:var(--navy);text-underline-offset:5px;font-weight:750}.hero{background:linear-gradient(120deg,var(--page) 45%,var(--secondary-soft));padding:88px 0 92px;overflow:hidden}.hero-grid{grid-template-columns:1.04fr .96fr;align-items:center;gap:70px;display:grid}.eyebrow{text-transform:uppercase;color:var(--teal);letter-spacing:.15em;margin:0 0 14px;font-size:.75rem;font-weight:850}.hero h1,.page-intro h1{letter-spacing:-.055em;max-width:780px;margin:0;font-size:clamp(3.1rem,6vw,5.8rem);line-height:.98}.hero h1 em{color:var(--teal);font-family:Georgia,serif;font-weight:400}.hero-actions{align-items:center;gap:26px;display:flex}.orbit{border:1px solid color-mix(in srgb, var(--accent-secondary) 20%, transparent);border-radius:50%;position:absolute}.line-b{width:122px;top:190px;left:36px;transform:rotate(-28deg)}.line-c{width:112px;top:272px;left:48px;transform:rotate(50deg)}.joint{background:var(--coral);border:5px solid var(--surface);width:18px;height:18px;box-shadow:0 3px 10px color-mix(in srgb, var(--shadow-color) 20%, transparent);z-index:2;border-radius:50%;position:absolute}.section{background:var(--surface);padding:92px 0}.section-heading{justify-content:space-between;align-items:end;margin-bottom:34px;display:flex}.section h2{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.08}.learning-paths{background:var(--navy);color:var(--on-primary)}.learning-paths p{color:var(--on-dark-muted)}.learning-paths .eyebrow{color:var(--on-dark-accent)}.split{grid-template-columns:.9fr 1.1fr;align-items:center;gap:100px;display:grid}.page-intro>.container>p:not(.eyebrow){max-width:650px;font-size:1.15rem}.narrow{max-width:720px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media (width<=900px){.hero-grid,.split{grid-template-columns:1fr}.split{gap:45px}}@media (width<=640px){.container{width:min(100% - 28px,1280px)}.site-header{height:auto;padding:14px 0}.header-inner{flex-wrap:wrap}.header-inner nav{border-top:1px solid var(--border);order:3;justify-content:space-between;gap:12px;width:100%;padding-top:12px}.hero{padding:58px 0}.hero-grid{gap:25px}.hero h1{font-size:3.15rem}.hero-actions{flex-direction:column;align-items:flex-start}.section{padding:64px 0}.section-heading{flex-direction:column;align-items:flex-start;gap:18px}.page-intro{padding:70px 0}}.header-actions{align-items:center;gap:10px;display:flex}.mobile-menu{display:none;position:relative}.mobile-menu summary{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--navy);cursor:pointer;padding:10px 13px;font-weight:750;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.header-inner .mobile-menu nav{order:initial;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:min(280px,100vw - 28px);box-shadow:var(--shadow-card);flex-direction:column;gap:2px;padding:10px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.mobile-menu nav a{border-radius:6px;padding:11px 12px;text-decoration:none}.mobile-menu nav a:hover,.mobile-menu nav a:focus-visible{background:var(--canvas)}@media (width<=900px){.desktop-nav{display:none!important}.mobile-menu{display:block}.site-header{height:76px}.header-inner{flex-wrap:nowrap!important}.header-inner .header-actions{margin-left:auto}}@media (width<=420px){.brand{font-size:.92rem}.brand span{width:31px;height:31px}.header-actions .button{padding:9px 11px}.mobile-menu summary{padding:9px 10px}}.breadcrumbs{color:var(--muted);white-space:nowrap;align-items:center;gap:10px;margin-bottom:38px;font-size:.82rem;display:flex;overflow:hidden}.breadcrumbs a{color:var(--navy);text-underline-offset:3px}.breadcrumbs span:last-child{text-overflow:ellipsis;overflow:hidden}.catalogue-intro.compact{padding-bottom:65px}.catalogue-intro h1,.course-hero h1,.region-hero h1{letter-spacing:-.055em;margin:0;font-size:clamp(3rem,6vw,5.5rem);line-height:1}.catalogue-intro h1 em{color:var(--teal);font-family:Georgia,serif;font-weight:400}.catalogue-intro>.container>p:last-child,.region-hero-grid>div>p,.course-hero-grid>div>p{max-width:650px;font-size:1.1rem}.course-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 4px 14px color-mix(in srgb, var(--shadow-color) 5%, transparent);flex-direction:column;display:flex;overflow:hidden}.course-card-body{flex-direction:column;flex:1;padding:22px;display:flex}.course-meta{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:.72rem;font-weight:850;display:flex}.access-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;align-items:center;width:max-content;padding:5px 9px;font-size:.67rem;font-weight:850;display:inline-flex}.access-badge.free{background:var(--success-soft);color:var(--success-text)}.access-badge.premium{background:var(--warning-soft);color:var(--warning-text)}.course-card h3{letter-spacing:-.025em;margin:18px 0 8px;font-size:1.35rem;line-height:1.18}.course-card h3 a{text-decoration:none}.course-card h3 a:after{content:"";position:absolute;inset:0}.course-card{position:relative}.course-card p{margin:0 0 20px;font-size:.9rem}.course-facts{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:auto;font-size:.73rem;display:flex}.course-facts span+span:before{content:"•";color:var(--course-accent);margin-right:12px}.empty-state{border:1px dashed var(--border);border-radius:var(--radius-md);text-align:center;background:var(--canvas);padding:60px 20px}.empty-state b{font-size:1.2rem}.empty-state p{margin:8px auto 20px}.empty-state button{background:var(--navy);color:var(--on-primary);border-radius:var(--radius-sm);cursor:pointer;border:0;padding:12px 18px;font-weight:750}.demo-notice{background:var(--secondary-soft);border-top:1px solid var(--border);padding:28px 0}.demo-notice .container{align-items:center;gap:24px;display:flex}.demo-notice b{white-space:nowrap;color:var(--navy)}.demo-notice p{margin:0;font-size:.85rem}.course-hero{background:linear-gradient(130deg,color-mix(in srgb,var(--course-accent),var(--surface) 90%),var(--page));padding:54px 0 85px}.course-hero-grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:80px;display:grid}.hero-meta{justify-content:flex-start;margin-bottom:20px}.hero-meta>a{color:var(--course-accent);font-weight:850}.course-content h2,.syllabus h2{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,3.2rem)}.review-note{border:1px solid var(--danger-border);border-left:4px solid var(--coral);border-radius:var(--radius-sm);background:var(--danger-soft);align-self:start;padding:22px}.review-note b{color:var(--danger-text)}.review-note p{margin-bottom:0;font-size:.86rem}.syllabus-duration{color:var(--muted);font-size:.85rem}.region-hero{background:linear-gradient(140deg,color-mix(in srgb,var(--region-accent),var(--surface) 90%),var(--page));padding:54px 0 88px}.region-hero-grid{grid-template-columns:1.2fr .8fr;align-items:center;gap:70px;display:grid}.region-hero .eyebrow{color:var(--region-accent)}.region-hero .text-link{margin-top:18px;display:inline-block}.region-mark{place-items:center;display:grid}.region-mark span{background:color-mix(in srgb,var(--region-accent),var(--surface) 80%);width:260px;height:260px;color:var(--region-accent);box-shadow:inset 0 0 0 28px color-mix(in srgb, var(--on-primary) 48%, transparent);border-radius:50% 45% 55% 48%;place-items:center;font:italic 6rem Georgia,serif;display:grid}@media (width<=900px){.course-grid{grid-template-columns:repeat(2,1fr)}.course-hero-grid,.region-hero-grid{grid-template-columns:1fr}}@media (width<=640px){.catalogue-intro{padding:32px 0 55px}.breadcrumbs{margin-bottom:28px}.course-grid{grid-template-columns:1fr}.demo-notice .container{flex-direction:column;align-items:flex-start;gap:4px}.course-hero,.region-hero{padding:32px 0 62px}.region-mark{display:none}}.classroom-container{background:var(--canvas);grid-template-columns:320px 1fr;min-height:calc(100vh - 76px);display:grid}.classroom-sidebar{background:var(--surface);border-right:1px solid var(--border);max-height:calc(100vh - 76px);padding:24px 20px;position:sticky;top:76px;overflow-y:auto}.classroom-main{width:100%;max-width:960px;margin-inline:auto;padding:32px 40px}.media-tabs{border-bottom:2px solid var(--border);gap:8px;margin-bottom:16px;padding-bottom:12px;display:flex}.tab-btn{border-radius:var(--radius-sm);background:var(--canvas);color:var(--muted);cursor:pointer;border:1px solid #0000;padding:8px 16px;font-size:.875rem;font-weight:600;transition:all .12s}.tab-btn.active{background:var(--navy);color:var(--on-primary)}.tab-btn:hover:not(.active){background:var(--surface-muted)}.pricing-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;display:grid}.pricing-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;padding:32px;display:flex;position:relative}.pricing-card.featured{border-color:var(--teal);box-shadow:0 12px 36px color-mix(in srgb, var(--accent-secondary) 15%, transparent)}.pricing-card .price{color:var(--navy);margin:16px 0 6px;font-size:2.6rem;font-weight:800}.pricing-card .price span{color:var(--muted);font-size:1rem;font-weight:500}.feature-list{flex-direction:column;gap:12px;margin:24px 0;padding:0;font-size:.9rem;list-style:none;display:flex}.feature-list li:before{content:"✓";color:var(--teal);margin-right:8px;font-weight:900}.auth-card{background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border);max-width:440px;box-shadow:var(--shadow-card);margin:40px auto;padding:36px}.form-group{flex-direction:column;gap:6px;margin-bottom:18px;display:flex}.form-group label{color:var(--navy);font-size:.82rem;font-weight:700}.form-group input{border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;padding:12px 14px;font-size:.95rem}.form-group input:focus{border-color:var(--focus);outline:none}.admin-table{border-collapse:collapse;background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border);width:100%;margin-top:20px;overflow:hidden}.admin-table th{background:var(--canvas);text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--navy);border-bottom:1px solid var(--border);padding:12px 16px;font-size:.75rem}.admin-table td{border-bottom:1px solid var(--border);padding:14px 16px;font-size:.875rem}@media (width<=900px){.classroom-container{grid-template-columns:1fr}.classroom-sidebar{border-right:none;border-bottom:1px solid var(--border);max-height:none;position:relative;top:0}.pricing-grid{grid-template-columns:1fr}.classroom-main{padding:24px 16px}}.header-actions>.button{white-space:nowrap}.course-meta{flex-wrap:wrap;min-width:0}@media (width<=420px){.header-actions>.button{display:none}}.admin-shell{max-width:1440px;margin:auto;padding:42px 32px 80px}.admin-hero{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.admin-hero h1{color:var(--navy);letter-spacing:-.04em;margin:.15rem 0;font-size:clamp(2.2rem,5vw,3.6rem)}.admin-hero>div:first-child>p:last-child{max-width:760px;color:var(--muted);margin:.5rem 0}.database-pill{border:1px solid var(--success-border);background:var(--success-soft);color:var(--success-text);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:9px 13px;font-size:.78rem;font-weight:800;display:flex}.database-pill span{background:var(--success);width:8px;height:8px;box-shadow:0 0 0 4px var(--success-soft);border-radius:50%}.database-pill.offline{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning-text)}.database-pill.offline span{background:var(--warning);box-shadow:0 0 0 4px var(--warning-soft)}.admin-alert{border:1px solid var(--warning-border);background:var(--warning-soft);color:var(--warning-text);border-radius:10px;margin-bottom:24px;padding:16px 18px}.admin-stats{grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin:24px 0;display:grid}.admin-stats article{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;align-items:center;gap:12px;padding:18px;display:flex}.admin-stats article>span{color:var(--teal);font-size:1.8rem;font-weight:850}.admin-stats strong,.admin-stats small{display:block}.admin-stats small{color:var(--muted);margin-top:2px}.admin-workspace{background:var(--surface);border:1px solid var(--border);min-height:580px;box-shadow:0 18px 50px color-mix(in srgb, var(--shadow-color) 8%, transparent);border-radius:16px;grid-template-columns:280px 1fr;display:grid;overflow:hidden}.admin-nav{background:var(--page);border-right:1px solid var(--border);padding:18px}.admin-nav>p{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:0 10px;font-size:.72rem;font-weight:800}.admin-nav button{text-align:left;width:100%;color:var(--navy);cursor:pointer;background:0 0;border:0;border-radius:9px;margin:5px 0;padding:13px 12px;display:block}.admin-nav button span,.admin-nav button small{display:block}.admin-nav button span{font-weight:800}.admin-nav button small{color:var(--muted);margin-top:4px;line-height:1.35}.admin-nav button.active{background:var(--surface);box-shadow:0 2px 12px color-mix(in srgb, var(--shadow-color) 8%, transparent);color:var(--teal)}.admin-panel{padding:28px}.admin-panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:20px;display:flex}.admin-panel-head h2,.audit-panel h2{color:var(--navy);margin:.15rem 0}.content-list{padding-top:12px}.content-row{border:0;border-bottom:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;width:100%;padding:14px 10px;display:grid}.content-row strong,.content-row small{display:block}.content-row small{color:var(--muted);margin-top:4px}.content-icon{background:var(--secondary-soft);width:42px;height:42px;color:var(--teal);border-radius:10px;place-items:center;font-weight:900;display:grid}.state{text-transform:uppercase;letter-spacing:.05em;background:var(--surface-muted);color:var(--text-muted);border-radius:999px;padding:5px 8px;font-size:.7rem;font-style:normal;font-weight:850}.state-published{background:var(--success-soft);color:var(--success)}.state-review,.state-approved{background:var(--warning-soft);color:var(--warning-text)}.audit-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-top:24px;padding:24px 28px}.audit-panel ol{margin:18px 0 0;padding:0;list-style:none}.audit-panel li{border-top:1px solid var(--line);justify-content:space-between;padding:10px 0;font-size:.85rem;display:flex}.audit-panel time,.muted{color:var(--muted)}#content-editor{width:min(880px,100vw - 32px);box-shadow:0 30px 100px color-mix(in srgb, var(--shadow-color) 30%, transparent);border:0;border-radius:16px;padding:0}#content-editor::backdrop{background:color-mix(in srgb, var(--shadow-color) 62%, transparent);backdrop-filter:blur(3px)}.editor-card{padding:26px}.editor-card header,.editor-card footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.editor-card h2{color:var(--navy);margin:.2rem 0}.editor-card label{color:var(--navy);gap:7px;margin:17px 0;font-weight:800;display:grid}.editor-card select,.editor-card textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;padding:12px}.editor-card textarea{resize:vertical;font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.editor-card footer{justify-content:flex-end;margin-top:18px}.icon-button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:2rem}.form-error{background:var(--danger-soft);color:var(--danger-text);border-radius:8px;padding:12px;font-size:.85rem}.empty-state{text-align:center;color:var(--muted);padding:48px}@media (width<=900px){.admin-shell{padding:28px 16px 60px}.admin-hero{display:block}.database-pill{width:max-content;margin-top:16px}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-workspace{grid-template-columns:1fr}.admin-nav{border-right:0;border-bottom:1px solid var(--border);display:flex;overflow:auto}.admin-nav>p{display:none}.admin-nav button{min-width:190px}.admin-panel{padding:20px}}@media (width<=560px){.admin-stats{grid-template-columns:1fr}.content-row{grid-template-columns:42px 1fr}.content-row .state{grid-column:2}.admin-panel-head{align-items:flex-end}.admin-panel-head .button{padding:9px 11px}.audit-panel li{display:block}.audit-panel time{margin-top:4px;display:block}}.security-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-bottom:24px;padding:24px}.security-card h2{color:var(--navy);margin:.2rem 0}.session-list{margin-top:16px}.session-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.session-row strong,.session-row small{display:block}.session-row small{color:var(--muted);margin-top:5px}.entitlement-chip{background:var(--success-soft);color:var(--success-text);border-radius:999px;align-items:center;gap:5px;margin:2px;padding:4px 7px;font-size:.72rem;font-weight:750;display:inline-flex}.entitlement-chip button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:1rem}.icon{vertical-align:middle;flex:none;display:inline-block}.text-link .icon{margin-inline:2px}.bookmark-icon{display:inline-flex}.bookmark-icon-filled,#bookmark-btn[aria-pressed=true] .bookmark-icon-outline{display:none}#bookmark-btn[aria-pressed=true] .bookmark-icon-filled{display:inline-flex}[hidden]{display:none!important}body{background:var(--canvas);font-size:16px;line-height:1.5}.site-header{background:color-mix(in srgb, var(--on-primary) 94%, transparent);backdrop-filter:blur(16px);border-color:color-mix(in srgb, var(--surface) 90%, transparent);height:72px;position:sticky;top:0}.brand{font-size:1rem}.brand span{background:var(--ink);border-radius:50%;width:36px;height:36px;font:700 1rem/1 ui-sans-serif,system-ui,sans-serif}.header-inner nav a{color:var(--muted);border-radius:999px;padding:9px 13px;font-size:.9rem}.header-inner nav a[aria-current=page]{background:var(--secondary-soft);color:var(--teal)}.button{border:1px solid var(--navy);box-shadow:none;border-radius:999px;gap:9px;padding:13px 19px;font-size:.92rem;transition:transform .18s,background .18s,box-shadow .18s}.button:hover{box-shadow:0 8px 20px color-mix(in srgb, var(--shadow-color) 14%, transparent);transform:translateY(-1px)}.button-small{padding:9px 15px}.button-ghost{background:var(--surface);border-color:var(--border)}.site-footer{background:var(--viewer-bg);padding:38px 0}.quiet-label{color:var(--teal);letter-spacing:.1em;text-transform:uppercase;align-items:center;font-size:.76rem;font-weight:800;display:inline-flex}.card-action{color:var(--ink);justify-content:space-between;align-items:center;margin-top:auto;padding-top:22px;font-size:.86rem;font-weight:800;display:flex}.course-card{box-shadow:none;border-radius:22px;transition:transform .18s,border-color .18s,box-shadow .18s}.course-card h3{margin:18px 0 10px}.course-facts{border-top:1px solid var(--line);padding-top:16px}.course-facts span+span:before{content:"";margin:0}.course-meta{letter-spacing:.05em}.catalogue-intro{background:var(--primary-soft);padding:46px 0 58px}.catalogue-intro h1,.course-hero h1,.region-hero h1{font-size:clamp(2.75rem,5vw,4.75rem)}.catalogue-section{padding:54px 0 84px}.breadcrumbs{margin-bottom:28px}.discovery-type-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.discovery-type{box-shadow:none;border-radius:16px;padding:13px}.discovery-type:hover{box-shadow:none;transform:none}.discovery-filters{background:var(--primary-soft);border-radius:18px;grid-template-columns:minmax(0,2.2fr) minmax(190px,.8fr) auto;padding:14px}.discovery-card{min-height:265px;box-shadow:none;border-radius:21px}.discovery-card:hover{transform:translateY(-3px)}@media (width<=900px){.discovery-type-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.container{width:min(100% - 30px,1180px)}.discovery-type-grid{padding-bottom:4px;display:flex;overflow-x:auto}.discovery-type{min-width:155px}.discovery-filters{grid-template-columns:1fr}}.viewer-info-grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:2fr 1fr;gap:24px;padding:24px;display:grid}.viewer-attribution{border-left:1px solid var(--border);padding-left:24px}.dashboard-grid{grid-template-columns:1.3fr .7fr;gap:36px;display:grid}@media (width<=780px){.viewer-info-grid,.dashboard-grid{grid-template-columns:1fr}.viewer-attribution{border-left:0;border-top:1px solid var(--border);padding:20px 0 0}.viewer-2d-root>div:nth-child(2),.viewer-3d-root>div:nth-child(2){flex-direction:column!important}.viewer-2d-root>div:nth-child(2)>div:last-child,.viewer-3d-root>div:nth-child(2)>div:last-child{border-top:1px solid color-mix(in srgb, var(--on-primary) 8%, transparent);border-left:0!important;width:100%!important}.viewer-3d-root svg{max-width:100%}.session-row{flex-direction:column;align-items:flex-start}}.dashboard-shell{padding-top:54px;padding-bottom:82px}.dashboard-head{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px;display:flex}.dashboard-head h1{letter-spacing:-.05em;margin:9px 0 5px;font-size:clamp(2.25rem,4vw,3.5rem)}.dashboard-head p{margin:0}.continue-card{background:var(--primary);color:var(--on-primary);box-shadow:0 18px 48px color-mix(in srgb, var(--shadow-color) 14%, transparent);border-radius:24px;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr) auto;align-items:center;gap:34px;padding:30px;display:grid}.continue-copy h2{letter-spacing:-.03em;margin:9px 0 6px;font-size:1.55rem}.continue-copy p{color:var(--border-strong);margin:0}.continue-card .button{background:var(--surface);color:var(--navy);border-color:var(--on-primary)}.continue-progress{min-width:0}.dashboard-grid{grid-template-columns:1.25fr .75fr;gap:22px;margin-top:22px}.dashboard-panel{border:1px solid var(--border);background:var(--surface);border-radius:22px;padding:24px}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-bottom:18px;display:flex}.panel-heading h2{margin:5px 0 0;font-size:1.3rem}.panel-heading>span{background:var(--success-soft);min-width:32px;height:32px;color:var(--teal);border-radius:999px;place-items:center;padding:0 8px;font-weight:800;display:grid}.bookmark-list,.quick-tool-list{gap:8px;padding-top:12px;display:grid}.bookmark-list>a,.quick-tool-list>a{border-radius:14px;align-items:center;gap:12px;padding:13px;text-decoration:none;display:flex}.bookmark-list>a:hover,.quick-tool-list>a:hover{background:var(--secondary-soft)}.bookmark-list>a>span,.quick-tool-list>a>div{flex:1;min-width:0}.bookmark-list strong,.bookmark-list small,.quick-tool-list strong,.quick-tool-list small{display:block}.bookmark-list small,.quick-tool-list small{color:var(--muted);text-transform:capitalize;margin-top:3px;font-size:.75rem}.bookmark-list>a>.icon:first-child{color:var(--teal)}.quick-tool-list>a>span{background:var(--secondary-soft);width:42px;height:42px;color:var(--teal);border-radius:12px;place-items:center;display:grid}.panel-empty{padding:28px 4px 8px}.panel-empty p{margin:0 0 8px}.panel-empty a{color:var(--teal);font-weight:750}@media (width<=850px){.continue-card,.dashboard-grid{grid-template-columns:1fr}}@media (width<=600px){.dashboard-shell{padding-top:36px}.dashboard-head{flex-direction:column}.continue-card{padding:23px}}html{background:var(--canvas);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{background:var(--canvas);min-width:0;min-height:100vh;color:var(--ink);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit}:focus-visible{border-radius:var(--radius-xs);outline-offset:2px!important;box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--focus)!important;outline:2px solid #0000!important}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.035em;font-weight:650}h1{line-height:1.04}h2{line-height:1.12}h3,h4{line-height:1.25}p{color:var(--muted);line-height:1.65}a{color:inherit;transition:color var(--transition-fast)}.container{width:min(100% - 48px,1200px)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--teal);color:var(--on-primary);border-radius:var(--radius-pill);box-shadow:var(--shadow-overlay);transition:top var(--transition-fast)}.site-header{background:color-mix(in srgb, var(--surface) 90%, transparent);border-bottom:1px solid var(--border);height:76px;box-shadow:0 1px 3px color-mix(in srgb, var(--shadow-color) 3%, transparent);-webkit-backdrop-filter:blur(20px)saturate(180%);z-index:100;transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);position:sticky;top:0}.header-inner{gap:20px;height:100%}.brand{color:var(--navy);letter-spacing:-.035em;transition:transform var(--transition-fast);gap:10px;font-size:1.04rem;font-weight:750}.brand:hover{transform:translateY(-1px)}.brand .brand-mark{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);width:36px;height:36px;box-shadow:0 2px 8px color-mix(in srgb, var(--shadow-color) 8%, transparent);transition:transform var(--transition-fast), box-shadow var(--transition-fast);place-items:center;display:grid;overflow:hidden}.brand:hover .brand-mark{box-shadow:0 4px 14px color-mix(in srgb, var(--primary) 18%, transparent);transform:scale(1.05)}.brand .brand-logo{object-fit:contain;width:26px;height:26px;display:block}.brand-footer .brand-mark{background:var(--surface);border-color:color-mix(in srgb, var(--on-primary) 15%, transparent);box-shadow:var(--shadow-xs)}.header-inner nav{gap:6px}.header-inner nav a{border-radius:var(--radius-pill);color:var(--text-muted);transition:color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);padding:8px 14px;font-size:.9rem;font-weight:550;text-decoration:none;position:relative}.header-inner nav a:after{display:none}.header-inner nav a:hover,.header-inner nav a:focus-visible{background:var(--secondary-soft);color:var(--navy);text-decoration:none}.header-inner nav a[aria-current=page]{background:var(--secondary-soft);color:var(--teal);font-weight:650}.header-actions{gap:8px}.button{border:1px solid var(--teal);border-radius:var(--radius-pill);background:var(--teal);min-height:42px;color:var(--on-primary);box-shadow:0 2px 8px color-mix(in srgb, var(--secondary) 22%, transparent);cursor:pointer;transition:transform var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:650;line-height:1.2;text-decoration:none;display:inline-flex}.button .icon{transition:transform var(--transition-fast);flex-shrink:0}.button:hover{background:var(--secondary-hover);border-color:var(--secondary-hover);box-shadow:0 6px 18px color-mix(in srgb, var(--secondary) 26%, transparent);transform:translateY(-2px)}.button:hover .icon-arrow-right{transform:translate(3px)}.button:hover .icon-arrow-left{transform:translate(-3px)}.button:active{box-shadow:0 2px 6px color-mix(in srgb, var(--secondary) 18%, transparent);transform:scale(.98)translateY(0)}.button-small{min-height:35px;padding:7px 14px;font-size:.82rem}.button-ghost{background:var(--surface);border-color:var(--border);color:var(--navy);box-shadow:var(--shadow-xs)}.button-ghost:hover{background:var(--secondary-soft);border-color:var(--secondary-border);color:var(--teal);box-shadow:0 4px 14px color-mix(in srgb, var(--secondary) 14%, transparent);transform:translateY(-2px)}.button-ghost:active{transform:scale(.98)translateY(0)}.button-secondary{background:var(--cyan);border-color:var(--cyan)}.button-secondary:hover{background:color-mix(in srgb, var(--cyan), var(--shadow-color) 16%);border-color:color-mix(in srgb, var(--cyan), var(--shadow-color) 16%)}.text-link{color:var(--teal);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--secondary) 34%, transparent);text-underline-offset:4px;transition:color var(--transition-fast), text-decoration-color var(--transition-fast);align-items:center;gap:6px;font-weight:650;text-decoration-thickness:1px;display:inline-flex}.text-link .icon{transition:transform var(--transition-fast);flex-shrink:0}.text-link:hover{color:var(--secondary-hover);text-decoration-color:currentColor}.text-link:hover .icon-arrow-right{transform:translate(3px)}.text-link:hover .icon-arrow-left{transform:translate(-3px)}.mobile-menu summary{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--navy);cursor:pointer;box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);align-items:center;gap:7px;padding:8px 14px;font-size:.84rem;font-weight:650;display:flex}.mobile-menu summary:hover{background:var(--secondary-soft);border-color:var(--secondary-border);color:var(--teal)}.header-inner .mobile-menu nav{border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);border:1px solid var(--border);background:var(--surface)}.mobile-menu nav a{transition:background-color var(--transition-fast);border-radius:var(--radius-xs)!important}.mobile-menu nav a:hover{background:var(--secondary-soft)!important}.mobile-menu nav a:after{display:none}.site-footer{background:var(--primary-hover);color:var(--on-primary);padding:58px 0 0}.brand-footer{color:var(--on-primary)}.footer-grid{grid-template-columns:1.45fr repeat(3,minmax(130px,.7fr));gap:42px;padding-bottom:48px;display:grid}.footer-brand-column p{max-width:330px;color:var(--on-dark-muted);margin:14px 0 0;font-size:.9rem}.footer-column{flex-direction:column;align-items:flex-start;gap:9px;display:flex}.footer-column h2{color:var(--on-primary);letter-spacing:.02em;margin:2px 0 5px;font-size:.85rem;font-weight:700}.footer-column a{color:var(--on-dark-muted);transition:color var(--transition-fast);font-size:.84rem;text-decoration:none}.footer-column a:hover{color:var(--on-primary);text-underline-offset:4px;text-decoration:underline}.footer-bottom{border-top:1px solid color-mix(in srgb, var(--on-primary) 14%, transparent);justify-content:space-between;gap:28px;padding:20px 0 24px;display:flex}.footer-bottom p{color:var(--on-dark-subtle);margin:0;font-size:.76rem;line-height:1.45}.footer-bottom .disclaimer{max-width:720px}.card-action{color:var(--teal);transition:color var(--transition-fast);align-items:center;gap:6px;padding-top:18px;font-size:.82rem;display:flex}.card-action .icon{transition:transform var(--transition-fast)}.eyebrow,.quiet-label{color:var(--teal);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:700}.breadcrumbs{color:var(--muted);gap:9px;margin-bottom:24px;font-size:.79rem}.breadcrumbs a{color:var(--teal);transition:color var(--transition-fast);font-weight:550;text-decoration:none}.breadcrumbs a:hover{color:var(--secondary-hover);text-underline-offset:3px;text-decoration:underline}.catalogue-intro,.region-hero,.course-hero{background:var(--surface);padding:42px 0 50px}.catalogue-intro h1,.course-hero h1,.region-hero h1{letter-spacing:-.055em;max-width:800px;font-size:clamp(2.3rem,4vw,3.8rem)}.catalogue-intro h1 em{color:var(--teal);font-family:inherit;font-style:normal}.catalogue-intro>.container>p:last-child,.region-hero-grid>div>p,.course-hero-grid>div>p{font-size:1rem}.catalogue-section{background:var(--canvas);padding:46px 0 76px}.catalogue-section .container>.course-grid{margin-top:28px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.course-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card);transition:border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal)}.course-card:hover{border-color:var(--secondary-border);box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.course-card:active{transform:translateY(-2px)scale(.995)}.course-card-body{padding:20px}.course-meta{font-size:.65rem}.course-format{color:var(--teal)!important}.course-card h3{margin:13px 0 8px;font-size:1.18rem}.course-card p{font-size:.85rem;line-height:1.55}.course-facts{padding-top:12px;font-size:.72rem}.access-badge{border-radius:var(--radius-pill)}.discovery-catalogue{gap:22px}.discovery-type-grid{gap:10px}.discovery-type{border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast), background-color var(--transition-fast);gap:10px;padding:13px}.discovery-type.is-active{border-color:var(--teal);background:var(--secondary-soft);box-shadow:0 0 0 1px var(--teal), 0 2px 8px color-mix(in srgb, var(--secondary) 14%, transparent)}.discovery-type:hover{border-color:var(--secondary-border);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.discovery-type:active{transform:scale(.98)}.discovery-type-icon{border-radius:var(--radius-xs);background:var(--secondary-tint);width:36px;height:36px;color:var(--teal);transition:transform var(--transition-fast)}.discovery-type:hover .discovery-type-icon{transform:scale(1.06)}.discovery-type-icon.type-topic,.discovery-card-icon.type-topic{background:var(--secondary-tint);color:var(--accent-secondary)}.discovery-type-icon.type-viewer2d,.discovery-card-icon.type-viewer2d{background:var(--secondary-tint);color:var(--teal)}.discovery-type-icon.type-model3d,.discovery-card-icon.type-model3d{background:var(--secondary-tint);color:var(--accent-plum)}.discovery-type-icon.type-course,.discovery-card-icon.type-course{background:var(--rose-soft);color:var(--accent-rose)}.discovery-filters{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);padding:14px 16px}.discovery-filters label{color:var(--ink);font-size:.7rem}.discovery-filters input,.discovery-filters select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--secondary-soft);min-height:44px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast)}.discovery-filters input:focus,.discovery-filters select:focus{background:var(--surface);border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--secondary) 18%, transparent);outline:none}.discovery-grid{gap:18px}.discovery-card{border:1px solid var(--border);border-radius:var(--radius-md);min-height:244px;box-shadow:var(--shadow-card);transition:border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal);padding:22px}.discovery-card:hover{border-color:var(--secondary-border);box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.discovery-card:active{transform:translateY(-2px)scale(.995)}.discovery-card-icon{border-radius:var(--radius-xs);width:42px;height:42px;transition:transform var(--transition-fast)}.discovery-card:hover .discovery-card-icon{transform:scale(1.06)}.discovery-card-copy{padding-top:20px}.discovery-card-region{color:var(--teal);font-size:.68rem}.discovery-card h2{font-size:1.12rem}.discovery-card footer{border-top:1px solid var(--line);color:var(--text-subtle);padding-top:16px}.discovery-card-link{color:var(--teal);transition:color var(--transition-fast)}.discovery-card-link .icon{transition:transform var(--transition-fast)}.discovery-card:hover .discovery-card-link{color:var(--secondary-hover)}.discovery-card:hover .discovery-card-link .icon{transform:translate(4px)}.demo-notice{border-top:1px solid var(--secondary-border);border-bottom:1px solid var(--secondary-border);background:var(--secondary-soft);padding:22px 0}.demo-notice b{color:var(--navy)}.course-hero{background:linear-gradient(180deg, var(--secondary-soft) 0%, var(--surface) 100%)}.course-hero-grid{gap:50px}.course-content{background:var(--surface);padding:64px 0}.course-content h2,.syllabus h2{font-size:clamp(1.75rem,3.2vw,2.7rem)}.review-note{border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);border-color:var(--secondary-border)!important;border-left-color:var(--teal)!important;background:var(--secondary-soft)!important}.syllabus{background:var(--canvas);padding:65px 0}.security-card,.auth-card,.viewer-info-grid,.dashboard-panel,.audit-panel{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.section-heading h2{font-size:clamp(1.6rem,3vw,2.35rem)}.viewer-info-grid{background:var(--surface)}.viewer-attribution{border-color:var(--border)}.classroom-container{background:var(--canvas)}.classroom-sidebar{border-color:var(--border)}.classroom-main{padding-top:42px}.media-tabs{border-color:var(--border)}.tab-btn{border-radius:var(--radius-pill);background:var(--secondary-tint);transition:all var(--transition-fast);border:1px solid #0000}.tab-btn.active{background:var(--teal);color:var(--on-primary);box-shadow:0 2px 8px color-mix(in srgb, var(--secondary) 22%, transparent)}.tab-btn:hover:not(.active){background:var(--secondary-soft);color:var(--navy)}.classroom-lesson-link{border-radius:var(--radius-xs);color:var(--ink);transition:background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);justify-content:space-between;align-items:center;padding:8px 12px;font-size:.82rem;font-weight:500;text-decoration:none;display:flex}.classroom-lesson-link:hover{background:var(--secondary-soft);transform:translate(2px)}.classroom-lesson-link.is-active{background:var(--navy);color:var(--on-primary);box-shadow:var(--shadow-xs);font-weight:700}.classroom-lesson-title{text-overflow:ellipsis;white-space:nowrap;margin-right:8px;overflow:hidden}.classroom-lesson-tier{border-radius:var(--radius-pill);flex:none;padding:2px 7px;font-size:.68rem;font-weight:700}.classroom-lesson-tier.is-free{background:var(--secondary-tint);color:var(--teal)}.classroom-lesson-tier.is-premium{background:var(--rose-soft);color:var(--coral)}.classroom-lesson-link.is-active .classroom-lesson-tier{background:color-mix(in srgb, var(--on-primary) 20%, transparent);color:var(--on-primary)}.classroom-lesson-link.is-completed .lesson-check-icon{color:var(--success);font-weight:800}.classroom-lesson-link.is-active.is-completed .lesson-check-icon{color:var(--on-primary)}.classroom-lesson-tier.is-completed-tag{background:var(--success-soft);color:var(--success-text);border:1px solid var(--success-border)}.classroom-lesson-link.is-active .classroom-lesson-tier.is-completed-tag{background:color-mix(in srgb, var(--on-primary) 25%, transparent);color:var(--on-primary);border-color:#0000}.lesson-content{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card);margin-top:24px;padding:28px}.lesson-content>:first-child{margin-top:0}.lesson-content>:last-child{margin-bottom:0}.lesson-content h2{font-size:1.5rem}.lesson-content h3{font-size:1.2rem}.lesson-content blockquote{border-left:3px solid var(--secondary-border);color:var(--text-muted);margin:1.25rem 0;padding:6px 0 6px 18px}.lesson-content table{border-collapse:collapse;width:100%;margin:1.25rem 0;font-size:.88rem}.lesson-content th,.lesson-content td{border:1px solid var(--border);text-align:left;padding:12px 14px}.lesson-content th{background:var(--secondary-soft);font-weight:650}.page-intro{background:var(--surface);min-height:50vh;padding:78px 0}.page-intro h1{font-size:clamp(2.4rem,4vw,3.75rem)}.auth-card{background:var(--surface);box-shadow:var(--shadow-card);padding:32px}.form-group label{color:var(--ink);font-weight:650}.form-group input{border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.form-group input:focus{border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb, var(--secondary) 18%, transparent);outline:none}.form-error{border-radius:var(--radius-sm);box-shadow:var(--shadow-xs)}.prose{max-width:760px}.prose h1{font-size:clamp(2.2rem,4vw,3.4rem)}.prose h2{margin-top:2.2rem;font-size:1.4rem}.prose h3{margin-top:1.6rem;font-size:1.1rem}.prose li{color:var(--muted);line-height:1.7}.dashboard-shell{padding-top:46px}.dashboard-head h1{font-size:clamp(2rem,3.5vw,3rem)}.continue-card{border-radius:var(--radius-md);background:linear-gradient(125deg, var(--primary), color-mix(in srgb, var(--primary) 85%, black));box-shadow:var(--shadow-card);border:1px solid color-mix(in srgb, var(--on-primary) 10%, transparent);transition:transform var(--transition-normal), box-shadow var(--transition-normal)}.continue-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.continue-card .quiet-label{color:var(--on-dark-accent)}.continue-card .button{color:var(--teal)}.dashboard-panel{box-shadow:var(--shadow-card);padding:24px}.panel-heading{border-color:var(--border)}.panel-heading>span{background:var(--secondary-tint);color:var(--teal)}.bookmark-list>a,.quick-tool-list>a{border-radius:var(--radius-sm);transition:background-color var(--transition-fast), transform var(--transition-fast)}.bookmark-list>a>.icon:last-child,.quick-tool-list>a>.icon:last-child{color:var(--muted);transition:transform var(--transition-fast), color var(--transition-fast)}.bookmark-list>a:hover,.quick-tool-list>a:hover{background:var(--secondary-soft);transform:translate(2px)}.bookmark-list>a:hover>.icon:last-child,.quick-tool-list>a:hover>.icon:last-child{color:var(--teal);transform:translate(3px)}.quick-tool-list>a>span{border-radius:var(--radius-xs);background:var(--secondary-tint);color:var(--teal);transition:transform var(--transition-fast)}.quick-tool-list>a:hover>span{transform:scale(1.06)}.classroom-back-link{color:var(--teal);transition:color var(--transition-fast);align-items:center;gap:7px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.classroom-back-link .icon{transition:transform var(--transition-fast);flex-shrink:0}.classroom-back-link:hover{color:var(--secondary-hover)}.classroom-back-link:hover .icon{transform:translate(-3px)}.classroom-nav-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:48px;padding-top:24px;display:flex}.classroom-nav-btn{white-space:normal}.lesson-complete-btn{background:var(--success);color:var(--on-primary);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast), transform var(--transition-fast);border:none;align-items:center;gap:8px;padding:10px 20px;font-weight:700;display:inline-flex}.lesson-complete-btn:hover{background:color-mix(in srgb, var(--success) 88%, black);transform:translateY(-1px)}.admin-shell{padding-top:36px}.admin-hero h1{color:var(--ink)}.admin-stats article,.admin-workspace{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal)}.admin-stats article:hover{box-shadow:var(--shadow-card-hover);border-color:var(--secondary-border);transform:translateY(-3px)}.admin-stats article>span,.content-icon{color:var(--teal)}.content-icon{background:var(--secondary-tint);border-radius:var(--radius-xs);transition:transform var(--transition-fast)}.content-row:hover .content-icon{transform:scale(1.06)}.admin-nav{background:var(--primary-soft);border-color:var(--border)}.admin-nav button{border-radius:var(--radius-xs);color:var(--ink);transition:all var(--transition-fast)}.admin-nav button:hover{background:var(--secondary-soft);color:var(--teal)}.admin-nav button.active{color:var(--teal);background:var(--surface);box-shadow:var(--shadow-xs)}.admin-panel-head{border-color:var(--border)}.content-row{border-color:var(--border);transition:background-color var(--transition-fast)}.content-row:hover{background:var(--secondary-soft)}.audit-panel{background:var(--surface)}.editor-card{font-family:var(--font-family)}.editor-card select,.editor-card textarea{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--secondary-soft);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.editor-card select:focus,.editor-card textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--secondary) 18%, transparent);outline:none}@media (width<=900px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:32px}.footer-brand-column{grid-column:1/-1}.course-hero-grid{gap:35px}}@media (width<=820px){.course-grid{grid-template-columns:1fr;gap:20px}.continue-card,.dashboard-grid{grid-template-columns:1fr}}@media (width<=640px){.container{width:min(100% - 30px,1200px)}.site-header{height:67px}.brand{font-size:.98rem}.brand .brand-mark{width:32px;height:32px}.brand .brand-mark .brand-logo{width:22px;height:22px}.mobile-menu summary span{display:none}.mobile-menu summary{padding:8px}.catalogue-intro,.region-hero,.course-hero{padding:40px 0 46px}.course-grid{grid-template-columns:1fr;gap:18px}.catalogue-intro h1,.course-hero h1,.region-hero h1{font-size:2.35rem}.catalogue-section,.course-content,.syllabus{padding:42px 0 55px}.discovery-card{border-radius:var(--radius-sm)}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-brand-column,.footer-column:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}.viewer-info-grid{padding:18px}.auth-card{padding:24px}.dashboard-shell{padding-bottom:58px}.admin-shell{padding:28px 15px 52px}}.region-mark span{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--region-accent), var(--surface) 88%);width:220px;height:220px;box-shadow:var(--shadow-card);color:var(--region-accent);font:inherit}.region-mark .icon{color:var(--region-accent)}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-ext-wght-normal.BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-wght-normal.Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.profile-menu{color:var(--text);position:relative}.header-inner .profile-dropdown nav{gap:2px;margin:0;display:grid}.profile-page .mascot-option input{z-index:1;cursor:pointer;width:100%;height:100%;margin:0;inset:0}.profile-menu summary{cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);align-items:center;gap:9px;min-height:48px;padding:5px 10px 5px 5px;list-style:none;transition:box-shadow .2s;display:flex}.profile-menu summary::-webkit-details-marker{display:none}.profile-menu summary:hover,.profile-menu[open] summary{box-shadow:var(--shadow-sm);border-color:var(--secondary-border)}.profile-trigger-name{text-overflow:ellipsis;white-space:nowrap;max-width:110px;font-size:.82rem;font-weight:750;overflow:hidden}.profile-trigger-name small{color:var(--text-muted);font-size:.65rem;font-weight:500;display:block}.profile-chevron{color:var(--text-muted);margin:0 3px}.profile-mascot{flex-shrink:0;display:block}.profile-dropdown{background:var(--surface);border:1px solid var(--line);width:min(310px,100vw - 32px);box-shadow:var(--shadow-overlay);z-index:100;border-radius:22px;padding:12px;position:absolute;top:calc(100% + 12px);right:0}.profile-menu-identity{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:10px 12px 16px}.profile-menu-identity strong,.profile-menu-identity small{display:block}.profile-menu-identity small{color:var(--text-muted);margin:4px 0 12px;font-size:.78rem}.profile-role{letter-spacing:.02em;border-radius:var(--radius-pill);color:var(--secondary);background:var(--secondary-soft);align-items:center;width:fit-content;padding:6px 11px;font-size:.72rem;font-weight:750;display:inline-flex}.profile-dropdown nav{padding:8px 0;display:grid}.profile-dropdown nav a,.profile-logout{color:var(--text);border-radius:12px;align-items:center;gap:11px;padding:12px;font-size:.85rem;text-decoration:none;display:flex}.profile-dropdown nav a:hover{background:var(--secondary-soft);color:var(--secondary)}.profile-dropdown nav a>span{margin-left:auto}.profile-dropdown form{border-top:1px solid var(--line);padding-top:8px}.profile-logout{font:inherit;width:100%;color:var(--danger-text);cursor:pointer;background:0 0;border:0;font-size:.85rem}.profile-logout:hover{background:var(--danger-soft)}.profile-page{padding-top:32px;padding-bottom:80px}.profile-back{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:32px;font-size:.8rem;text-decoration:none;display:inline-flex}.profile-page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.profile-page-heading h1{letter-spacing:-.05em;margin:10px 0;font-size:clamp(2rem,4vw,3rem)}.profile-page-heading p{color:var(--text-muted);max-width:560px;margin:0}.profile-settings-grid{grid-template-columns:minmax(240px,.75fr) minmax(0,1.65fr);align-items:start;gap:26px;display:grid}.profile-identity-card{text-align:center;background:linear-gradient(160deg,var(--secondary-tint),var(--surface) 65%);border:1px solid var(--secondary-border);border-radius:28px;padding:36px 24px;position:relative;overflow:hidden}.profile-large-avatar{place-items:center;margin:5px 0 20px;display:grid;position:relative}.profile-identity-card h2{letter-spacing:-.03em;overflow-wrap:anywhere;margin:0 0 8px;font-size:1.5rem}.profile-email{color:var(--text-muted);overflow-wrap:anywhere;margin:0 0 18px;font-size:.82rem}.profile-identity-note{color:var(--text-muted);margin:28px 0;font-size:.85rem;line-height:1.7}.profile-identity-card .button{width:100%;font-size:.8rem}.profile-orbit-decoration{border:1px dashed var(--secondary-border);border-radius:50%;width:290px;height:290px;position:absolute;top:-150px;left:50%;transform:translate(-50%)}.profile-settings-main{gap:22px;display:grid}.profile-settings-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:28px}.profile-section-heading{align-items:center;gap:14px;margin-bottom:26px;display:flex}.profile-section-heading h2{letter-spacing:-.02em;margin:0 0 6px;font-size:1.13rem}.profile-section-heading p{color:var(--text-muted);margin:0;font-size:.83rem;line-height:1.5}.profile-section-icon{background:var(--secondary-soft);width:44px;height:44px;color:var(--secondary);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.mascot-picker{border:0;min-width:0;margin:0 0 26px;padding:0}.mascot-picker legend{margin-bottom:12px;font-size:.84rem;font-weight:700}.mascot-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.mascot-option{cursor:pointer;position:relative}.mascot-option input{opacity:0;width:1px;height:1px;position:absolute}.mascot-option-body{border:2px solid var(--line);border-radius:18px;flex-direction:column;align-items:center;padding:16px 8px;transition:background .2s,border-color .2s,transform .2s;display:flex;position:relative}.mascot-option-body strong{margin-top:9px;font-size:.84rem}.mascot-option-body small{color:var(--text-muted);text-align:center;margin-top:3px;font-size:.68rem}.mascot-option:hover .mascot-option-body{border-color:var(--secondary-border);transform:translateY(-3px)}.mascot-option input:checked+.mascot-option-body{border-color:var(--secondary);background:var(--secondary-soft)}.mascot-option input:focus-visible+.mascot-option-body{outline:3px solid var(--secondary);outline-offset:4px}.mascot-selected{color:var(--secondary);font-size:.75rem;font-weight:800;display:none;position:absolute;top:7px;right:8px}.mascot-option input:checked+.mascot-option-body .mascot-selected{display:block}.profile-fields{gap:20px;display:grid}.profile-fields label{gap:9px;font-size:.84rem;font-weight:700;display:grid}.profile-fields input{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:12px;padding:13px 14px;font-weight:500}.profile-fields input[readonly]{background:var(--page);color:var(--text-muted);border-color:var(--line)}.profile-fields small{color:var(--text-muted);font-size:.74rem;font-weight:400}.profile-form-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:26px;padding-top:20px;display:flex}.profile-form-footer p{color:var(--text-muted);flex:1;margin:0;font-size:.8rem}.profile-form-footer [data-error]{color:var(--danger-text)}.profile-form-footer .button{flex-shrink:0}.profile-action-list{display:grid}.profile-action-list a{border-top:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:15px;padding:17px 10px;text-decoration:none;display:flex}.profile-action-list a:hover{background:var(--page)}.profile-action-list strong,.profile-action-list small{display:block}.profile-action-list strong{font-size:.87rem}.profile-action-list small{color:var(--text-muted);margin-top:6px;font-size:.77rem;line-height:1.5}.profile-signout-row{background:var(--page);border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:20px;display:flex}.profile-signout-row strong{font-size:.88rem}.profile-signout-row p{color:var(--text-muted);margin:5px 0 0;font-size:.77rem}.profile-signout-row .button{white-space:nowrap}.profile-welcome{background:linear-gradient(110deg,var(--secondary-soft),var(--surface));border:1px solid var(--secondary-border);border-radius:24px;align-items:center;gap:22px;margin-bottom:24px;padding:24px;display:flex}.profile-welcome-copy{flex:1;min-width:0}.profile-welcome-copy h2{letter-spacing:-.025em;overflow-wrap:anywhere;margin:0 0 7px;font-size:1.2rem}.profile-welcome-copy p{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.5}.profile-welcome-actions{flex-wrap:wrap;gap:8px;display:flex}.profile-welcome-actions .button{font-size:.78rem}.profile-learning-stats{flex-wrap:wrap;gap:14px;margin-top:15px;display:flex}.profile-learning-stats span{color:var(--text-muted);font-size:.77rem}.profile-learning-stats b{color:var(--primary);margin-right:4px}@media (width<=760px){.profile-settings-grid{grid-template-columns:1fr}.profile-identity-card{padding:25px}.profile-page-heading{flex-direction:column;align-items:flex-start}.profile-welcome{flex-wrap:wrap;gap:14px}.profile-welcome-actions{width:100%}.profile-welcome>.profile-mascot{width:70px;height:70px}.profile-trigger-name{display:none}}@media (width<=480px){.profile-settings-card{padding:20px 16px}.profile-form-footer,.profile-signout-row{flex-direction:column;align-items:stretch}.profile-signout-row .button{width:100%}.mascot-options{gap:7px}.mascot-option-body{padding:12px 3px}.mascot-option-body small{font-size:.63rem}.mascot-option-body .profile-mascot{width:58px;height:58px}.profile-page-heading h1{font-size:2rem}.profile-menu summary{gap:1px;padding-right:6px}.profile-dropdown{position:fixed;top:80px;right:15px}.profile-welcome-copy h2{font-size:1.05rem}}@media (prefers-reduced-motion:reduce){.mascot-option-body,.profile-menu summary{transition:none}.mascot-option:hover .mascot-option-body{transform:none}}
