:root{--bg0:#f4f6f9;--bg1:#e7edf5;--bg2:#d5e0ec;--ink:#0a1628;--muted:#5c6b7a;--accent:#1b4f8a;--accent-deep:#0f2f5c;--highlight:#c4a35a;--teal:var(--accent);--teal-deep:var(--accent-deep);--hero-from:#08111f;--hero-mid:#122845;--hero-to:#1b4f8a;--hero-text:#f5f8fc;--line:#0a16281c;--surface:#ffffffe0;--danger:#9b3b32;--ok:#1f6b4a;--accent-soft:#1b4f8a1c;--highlight-soft:#c4a35a2e;--grid-ink:#0a162809;--font-display:"Fraunces", Georgia, serif;--font-body:"Source Sans 3", "Segoe UI", sans-serif;--shadow:0 16px 48px #0a162817;--shadow-deep:0 24px 64px #0a162824;--radius:8px;--max:1120px;--ease-out:cubic-bezier(.22, 1, .36, 1);--dur:.52s}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--ink);font-family:var(--font-body);background:linear-gradient(165deg, var(--bg0) 0%, var(--bg1) 55%, var(--bg2) 100%);background-attachment:fixed;margin:0}body:before{content:"";pointer-events:none;opacity:.35;background-image:linear-gradient(var(--grid-ink) 1px, transparent 1px), linear-gradient(90deg, var(--grid-ink) 1px, transparent 1px);z-index:0;background-size:28px 28px;position:fixed;inset:0}#root{z-index:1;position:relative}a{color:var(--accent);text-decoration:none;transition:color .18s}a:hover{color:var(--accent-deep)}h1,h2,h3,.brand{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}.shell{flex-direction:column;min-height:100vh;display:flex}.topnav{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg0) 90%, white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.4rem;display:flex;position:sticky;top:0}.topnav .brand{letter-spacing:-.03em;color:var(--ink);transition:opacity .18s ease, transform .18s var(--ease-out);font-size:1.35rem}.topnav .brand:hover{opacity:.85}.topnav-right{align-items:center;gap:1rem;display:flex}.topnav-links{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.topnav-links a,.topnav-links button.linkish{color:var(--ink);cursor:pointer;font-weight:500;font:inherit;background:0 0;border:none;padding:0;transition:color .18s;position:relative}.topnav-links a:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .22s var(--ease-out);border-radius:2px;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.topnav-links a:hover:after,.topnav-links a.active:after{transform:scaleX(1)}.nav-menu{position:relative}.nav-account{appearance:none;border:1px solid var(--line);background:color-mix(in srgb, white 88%, var(--bg1));cursor:pointer;width:2.5rem;height:2.5rem;transition:border-color .16s ease, box-shadow .16s ease, transform .16s var(--ease-out);border-radius:50%;place-items:center;padding:0;display:grid}.nav-account:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));transform:translateY(-1px)}.nav-account-avatar{letter-spacing:.02em;width:2.05rem;height:2.05rem;color:var(--hero-text);background:linear-gradient(145deg, var(--accent-deep), var(--accent));border-radius:50%;place-items:center;font-size:.92rem;font-weight:700;display:grid}.nav-menu.is-open .nav-account{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}.nav-menu-panel{border:1px solid var(--line);background:color-mix(in srgb, white 96%, var(--bg1));width:min(20rem,100vw - 2rem);max-height:min(28rem,100vh - 5rem);box-shadow:0 18px 40px color-mix(in srgb, var(--ink) 12%, transparent);z-index:40;animation:fade-down .18s var(--ease-out);border-radius:14px;gap:.75rem;padding:.85rem;display:grid;position:absolute;top:calc(100% + .55rem);right:0;overflow:hidden auto}.nav-menu-panel[hidden]{display:none!important}.nav-menu-profile{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;align-items:center;gap:.75rem;padding-bottom:.75rem;display:grid}.nav-menu-avatar{width:2.6rem;height:2.6rem;color:var(--hero-text);background:linear-gradient(145deg, var(--accent-deep), var(--accent));border-radius:50%;place-items:center;font-weight:700;display:grid}.nav-menu-profile strong{font-size:.98rem;display:block}.nav-menu-profile p{color:var(--muted);word-break:break-all;margin:.15rem 0 .35rem;font-size:.82rem}.nav-menu-section{gap:.45rem;display:grid}.nav-menu-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem;font-weight:700}.nav-menu-locale{background:color-mix(in srgb, var(--bg1) 65%, white);border:1px solid var(--line);border-radius:999px;grid-template-columns:1fr 1fr;gap:.3rem;padding:.25rem;display:grid}.nav-menu-locale button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.4rem;font-size:.85rem;font-weight:700}.nav-menu-locale button.active{color:var(--accent-deep);box-shadow:0 3px 10px color-mix(in srgb, var(--ink) 8%, transparent);background:#fff}.nav-menu-item,.nav-menu-mobile-links a{text-align:left;width:100%;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.55rem .65rem;font-weight:600;text-decoration:none;display:block}.nav-menu-item:hover,.nav-menu-mobile-links a:hover,.nav-menu-mobile-links a.active{background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--accent-deep)}.nav-menu-danger{border-top:1px solid var(--line);margin-top:.15rem;color:var(--danger)!important;border-radius:0 0 8px 8px!important;padding-top:.75rem!important}.nav-menu-mobile-links,.nav-menu-desktop-only{display:none}@media (width<=780px){.topnav-primary{display:none}.nav-menu-mobile-links{border-bottom:1px solid var(--line);gap:.15rem;padding-bottom:.55rem;display:grid}.nav-menu-desktop-only{display:none!important}}@media (width>=781px){.topnav-admin-link{display:none}.nav-menu-desktop-only{display:block}}.locale-switch{border:1px solid var(--line);background:color-mix(in srgb, white 70%, var(--bg1));border-radius:999px;grid-template-columns:1fr 1fr;gap:2px;min-width:92px;padding:3px;display:inline-grid;box-shadow:inset 0 1px #ffffffa6}.locale-switch button{cursor:pointer;font:inherit;letter-spacing:.04em;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:.32rem .7rem;font-size:.82rem;font-weight:700;transition:background .18s,color .18s,transform .14s,box-shadow .18s}.locale-switch button:hover:not(.active){color:var(--ink);background:color-mix(in srgb, var(--ink) 4%, transparent)}.locale-switch button:active{transform:scale(.97)}.locale-switch button.active{background:var(--accent);color:#fff;box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 28%, transparent)}.locale-switch-dark{border-color:color-mix(in srgb, var(--hero-text) 28%, transparent);background:color-mix(in srgb, var(--hero-text) 10%, transparent);box-shadow:none}.locale-switch-dark button{color:color-mix(in srgb, var(--hero-text) 72%, transparent)}.locale-switch-dark button:hover:not(.active){color:var(--hero-text);background:color-mix(in srgb, var(--hero-text) 12%, transparent)}.locale-switch-dark button.active{background:var(--hero-text);color:var(--accent-deep);box-shadow:0 4px 14px #0000002e}.btn-nav-cta{box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 26%, transparent);font-size:.92rem;background:var(--accent)!important;color:#fff!important;border:1px solid #0000!important;border-radius:999px!important;padding:.42rem .95rem!important;font-weight:700!important}.btn-nav-cta:hover{transform:translateY(-1px);background:var(--accent-deep)!important;color:#fff!important}.btn-nav-cta:after{display:none!important}.btn-nav-cta-on-dark{box-shadow:0 8px 20px #0003;background:var(--hero-text)!important;color:var(--accent-deep)!important}.btn-nav-cta-on-dark:hover{color:var(--accent-deep)!important;background:#fff!important}.btn-block{width:100%}.main{width:min(var(--max), calc(100% - 2rem));flex:1;margin:0 auto;padding:1.5rem 0 3rem}.btn{font:inherit;cursor:pointer;transition:transform .18s var(--ease-out), background .18s ease, color .18s ease, box-shadow .18s ease, border-color .18s ease;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.65rem 1.1rem;font-weight:600;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-deep);box-shadow:0 8px 22px color-mix(in srgb, var(--accent) 28%, transparent)}.btn-ghost{border-color:var(--line);color:var(--ink);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent-deep)}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn-lift:hover{transform:translateY(-2px)}.field{flex-direction:column;gap:.35rem;margin-bottom:.9rem;display:flex}.field label{color:var(--muted);font-size:.92rem}.field input,.field textarea,.field select{border:1px solid var(--line);font:inherit;color:var(--ink);background:#fff;border-radius:8px;padding:.65rem .75rem;transition:border-color .18s,box-shadow .18s}.field input:focus,.field textarea:focus,.field select:focus{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field textarea{resize:vertical;min-height:120px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .22s var(--ease-out), box-shadow .22s ease;padding:1.1rem 1.25rem}.muted{color:var(--muted)}.error{color:var(--danger);margin:.5rem 0}.admin-ai-error{border:1px solid color-mix(in srgb, var(--danger) 35%, var(--line));background:color-mix(in srgb, var(--danger) 8%, white);border-radius:var(--radius);padding:.85rem 1rem}.ok{color:var(--ok)}.save-toast{z-index:50;border:1px solid color-mix(in srgb, var(--ok) 35%, var(--line));background:color-mix(in srgb, white 92%, var(--ok));color:color-mix(in srgb, var(--ink) 82%, var(--ok));box-shadow:0 12px 28px color-mix(in srgb, var(--ink) 12%, transparent);animation:save-toast-in .28s var(--ease-out);border-radius:10px;align-items:center;gap:.55rem;padding:.7rem .95rem;font-weight:600;display:inline-flex;position:fixed;bottom:1.25rem;right:1.25rem}.save-toast-check{color:#fff;background:var(--ok);width:1.45rem;height:1.45rem;animation:save-check-pop .36s var(--ease-out);border-radius:50%;place-items:center;font-size:.85rem;font-weight:800;display:grid}.btn-primary.is-saved{background:var(--ok);border-color:var(--ok);animation:save-btn-flash .42s var(--ease-out)}@keyframes save-toast-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes save-check-pop{0%{opacity:.4;transform:scale(.5)}70%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes save-btn-flash{0%{transform:scale(1)}40%{transform:scale(1.03)}to{transform:scale(1)}}.page-loading{text-align:center;color:var(--muted);padding:3rem}.landing-hero{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.landing-nav{width:100%;position:absolute;inset:0 0 auto;background:0 0!important;border:0!important}.landing-nav-brand,.landing-nav-link{color:var(--hero-text)!important}.landing-nav .topnav-links a:not(.btn):after{background:var(--hero-text)}.landing-nav .topnav-links{gap:.7rem}.hero-plane{background:radial-gradient(900px 420px at 78% 18%, color-mix(in srgb, var(--highlight) 16%, transparent), transparent 55%), radial-gradient(1100px 520px at 20% 80%, color-mix(in srgb, var(--accent) 28%, transparent), transparent 60%), linear-gradient(135deg, var(--hero-from) 0%, var(--hero-mid) 48%, var(--hero-to) 100%);min-height:100vh;color:var(--hero-text);align-items:end;display:grid;position:relative;overflow:hidden}.hero-plane:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--highlight) 55%, transparent), transparent);z-index:2;height:1px;position:absolute;top:0;left:0;right:0}.hero-plane:after{content:"";background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:42px 42px;animation:32s linear infinite grid-drift;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 25%,#0000 92%);mask-image:linear-gradient(#000 25%,#0000 92%)}.hero-orb{filter:blur(48px);opacity:.28;pointer-events:none;z-index:0;border-radius:50%;position:absolute}.hero-orb-a{background:color-mix(in srgb, var(--highlight) 40%, var(--hero-text));width:min(48vw,440px);height:min(48vw,440px);animation:orb-float 12s var(--ease-out) infinite alternate;top:6%;right:4%}.hero-orb-b{background:color-mix(in srgb, var(--accent) 55%, white);width:min(36vw,300px);height:min(36vw,300px);animation:orb-float 15s var(--ease-out) infinite alternate-reverse;bottom:16%;left:6%}.hero-copy{z-index:2;width:min(720px,100% - 2.5rem);margin:auto auto 8vh;padding-top:4.5rem;position:relative}.hero-field{z-index:1;pointer-events:none;color:var(--hero-text);opacity:0;animation:fadein 1.1s var(--ease-out) .28s both;position:absolute;inset:0;-webkit-mask-image:linear-gradient(105deg,#0000 8%,#000 42% 100%);mask-image:linear-gradient(105deg,#0000 8%,#000 42% 100%)}.hero-field-svg{width:100%;height:100%;display:block}.hf-axes line{stroke:currentColor;stroke-width:1px;opacity:.18}.hf-orbit-ring{fill:none;stroke-width:1.35px}.hf-orbit-ring.a{stroke:url(#hf-orbit)}.hf-orbit-ring.b{stroke:#f5f8fc47;stroke-dasharray:5 11;animation:22s linear infinite dash-flow}.hf-sun-core{fill:#c4a35af2}.hf-sun-glow{animation:orb-float 10s var(--ease-out) infinite alternate;transform-origin:50%;transform-box:fill-box}.hf-spin.outer .hf-body{transform-origin:0 0;animation:26s linear infinite hf-spin}.hf-spin.inner .hf-body-fast{transform-origin:0 0;animation:14s linear infinite reverse hf-spin}.hf-planet{fill:#f5f8fcf2}.hf-planet-halo{fill:#c4a35a33}.hf-moon{fill:#f5f8fcb8}.hf-wave{stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:10 14;animation:16s linear infinite dash-flow}.hf-wave.ghost{stroke:#f5f8fc29;stroke-width:1.35px;stroke-dasharray:6 12;animation-duration:22s;animation-direction:reverse}.hf-probe{fill:#c4a35af2;offset-path:path("M380 490 C430 430, 480 550, 530 490 S630 430, 680 490 S780 550, 830 490 S930 430, 980 490 S1080 550, 1120 490");offset-rotate:0deg;animation:hf-probe 8s var(--ease-out) 1.2s infinite;opacity:0}.hf-glyph{fill:#f5f8fc47;font-family:var(--font-display);animation:hf-float 9s var(--ease-out) infinite alternate;font-size:42px}.hf-glyph.g2{font-size:34px;animation-duration:11s;animation-delay:-2s}.hf-glyph.g3{font-size:36px;animation-duration:10s;animation-delay:-4s}.hf-glyph.g4{fill:#c4a35a61;font-size:30px;animation-duration:12s;animation-delay:-1s}.hf-glyph.g5{font-size:28px;animation-duration:8s;animation-delay:-3s}.hf-glyph.g6{font-size:32px;animation-duration:13s;animation-delay:-5s}.hf-stars circle{fill:#f5f8fc73;animation:3.6s ease-in-out infinite hf-twinkle}.hf-stars .s2{animation-delay:.7s}.hf-stars .s3{animation-delay:1.4s}.hf-stars .s4{animation-delay:.3s}.hf-stars .s5{animation-delay:1.9s}@keyframes hf-spin{to{transform:rotate(360deg)}}@keyframes hf-probe{0%{offset-distance:0%;opacity:0}8%{opacity:1}92%{opacity:1}to{offset-distance:100%;opacity:0}}@keyframes hf-float{0%{opacity:.55;transform:translateY(0)}to{opacity:1;transform:translateY(-14px)}}@keyframes hf-twinkle{0%,to{opacity:.25}50%{opacity:.9}}@media (width<=820px){.hero-field{-webkit-mask-image:linear-gradient(#000 0% 50%,#0000 90%);mask-image:linear-gradient(#000 0% 50%,#0000 90%)}.hero-field-svg{opacity:.65}.hf-glyph{font-size:30px}.hero-copy{width:min(100%,100% - 2rem)}}.brand-hero{font-family:var(--font-display);margin:0 0 .55rem;font-size:clamp(2.8rem,7vw,4.8rem);line-height:.95}.hero-plane h1,.landing-hero h1{max-width:22ch;margin:0 0 .65rem;font-size:clamp(1.25rem,2.8vw,1.75rem);font-weight:500}.hero-plane .hero-copy>p,.landing-hero p{max-width:42ch;color:color-mix(in srgb, var(--hero-text) 88%, transparent);margin:0 0 1.4rem;font-size:1.08rem}.cta-row{flex-wrap:wrap;gap:.7rem;display:flex}.landing .btn-primary.btn-lift,.hero-plane .btn-primary{background:var(--hero-text);color:var(--accent-deep)}.landing .btn-primary.btn-lift:hover,.hero-plane .btn-primary:hover{background:#fff;box-shadow:0 12px 32px #00000047}.hero-plane .btn-ghost{border-color:color-mix(in srgb, var(--hero-text) 42%, transparent);color:var(--hero-text)}.hero-plane .btn-ghost:hover{border-color:color-mix(in srgb, var(--highlight) 70%, var(--hero-text));color:var(--hero-text);background:color-mix(in srgb, var(--hero-text) 8%, transparent)}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes grid-drift{0%{background-position:0 0,0 0}to{background-position:40px 40px,40px 40px}}@keyframes orb-float{0%{transform:translate(0,0)scale(1)}to{transform:translate(18px,-24px)scale(1.06)}}@keyframes stagger-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes soft-glow{0%,to{box-shadow:0 8px 24px #0000002e}50%{box-shadow:0 12px 36px color-mix(in srgb, var(--highlight) 35%, #0003)}}@keyframes node-pop{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pipeline-draw{0%{stroke-dashoffset:420px}to{stroke-dashoffset:0}}@keyframes hero-sheen{0%{opacity:.15;transform:translate(-30%)skew(-12deg)}50%{opacity:.35}to{opacity:.15;transform:translate(130%)skew(-12deg)}}.anim-rise{animation:rise var(--dur) var(--ease-out) both}.anim-fade-down{animation:fade-down .48s var(--ease-out) both}.fade-in{animation:.42s both fadein}.page-enter{animation:page-enter .42s var(--ease-out) both}.delay-1{animation-delay:80ms}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}.delay-4{animation-delay:.32s}.reveal{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:none}.reveal.is-visible .audience-node{animation:node-pop .52s var(--ease-out) both}.reveal.is-visible .format-visual{animation:stagger-in .56s var(--ease-out) both}.reveal.is-visible.viz-draw .viz-pipeline line,.reveal.is-visible .viz-draw .viz-pipeline line{stroke-dasharray:420;animation:pipeline-draw 1.1s var(--ease-out) both}.reveal.is-visible.viz-draw .viz-pipeline circle,.reveal.is-visible .viz-draw .viz-pipeline circle{animation:node-pop .48s var(--ease-out) both}.hero-plane .btn-glow{animation:3.2s ease-in-out infinite soft-glow}.hero-grid-pulse{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-grid-pulse:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--hero-text) 10%, transparent), transparent);width:28%;animation:9s ease-in-out infinite hero-sheen;position:absolute;top:0;bottom:0}.stack{gap:1rem;display:grid}.catalog-page{gap:1.6rem;display:grid}.page-hero-strip{padding:0 0 .15rem}.page-hero-strip h1{margin:0 0 .35rem;font-size:clamp(1.7rem,3.2vw,2.3rem)}.page-hero-lead{max-width:54ch;color:var(--muted);margin:0;font-size:1.05rem;line-height:1.5}.catalog-section{gap:.9rem;display:grid}.catalog-section-head{flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:.45rem .75rem;display:flex}.catalog-section-head h2{margin:0;font-size:clamp(1.25rem,2.4vw,1.55rem)}.catalog-section-count{color:var(--ink);margin:0;font-size:.95rem}.catalog-section-count strong{font-variant-numeric:tabular-nums;font-weight:800}.catalog-layout{grid-template-columns:minmax(220px,260px) minmax(0,1fr);grid-template-areas:"side main";align-items:start;gap:1.25rem;display:grid}.catalog-main{grid-area:main;gap:1rem;min-width:0;display:grid}.catalog-sections-bar{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 6%, white), white 40%), color-mix(in srgb, var(--surface) 96%, white);box-shadow:var(--shadow);grid-area:side;align-content:start;gap:.45rem;padding:.85rem .7rem;display:grid;position:sticky;top:4.6rem}.catalog-sections-bar h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);margin:0;padding:0 .45rem .35rem;font-size:.78rem;font-weight:700}.catalog-sections-nav{gap:.2rem;display:grid}.catalog-section-btn{appearance:none;text-align:left;width:100%;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:space-between;align-items:baseline;gap:.55rem;padding:.65rem .7rem;font-size:.95rem;line-height:1.3;transition:background .14s,color .14s,border-color .14s;display:flex}.catalog-section-btn:hover{background:color-mix(in srgb, var(--bg1) 55%, white);border-color:var(--line)}.catalog-section-btn.is-active{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 35%, var(--line));color:var(--accent-deep);box-shadow:inset 3px 0 0 var(--accent);font-weight:650}.catalog-section-btn-count{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.82rem}.catalog-section-btn.is-active .catalog-section-btn-count{color:var(--accent-deep)}@media (width<=820px){.catalog-layout{grid-template-columns:1fr;grid-template-areas:"side""main"}.catalog-sections-bar{padding:.7rem;position:static}.catalog-sections-nav{flex-wrap:wrap;gap:.35rem;display:flex}.catalog-section-btn{width:auto;max-width:100%;box-shadow:none}.catalog-section-btn.is-active{box-shadow:none}}.course-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:stretch;gap:1rem;display:grid}.course-card{border:1px solid var(--line);background:linear-gradient(165deg, color-mix(in srgb, white 92%, var(--bg1)), white 55%), white;color:inherit;transition:border-color .2s ease, transform .24s var(--ease-out), box-shadow .24s ease;animation:stagger-in .48s var(--ease-out) both;border-radius:14px;flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden}.course-card-hit{min-height:0;color:inherit;flex-direction:column;flex:1;text-decoration:none;display:flex}.course-card-hit:hover{color:inherit}.course-card:has(.course-card-edit) .course-card-body{padding-right:6.2rem}.course-card-edit{z-index:2;letter-spacing:.01em;border:1px solid var(--line);background:color-mix(in srgb, white 90%, var(--bg1));color:var(--accent-deep);border-radius:999px;padding:.28rem .6rem;font-size:.78rem;font-weight:700;text-decoration:none;position:absolute;top:.7rem;right:.7rem}.course-card-edit:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));color:var(--accent-deep);background:#fff}.catalog-page .course-card{height:278px}.course-card:first-child{animation-delay:40ms}.course-card:nth-child(2){animation-delay:90ms}.course-card:nth-child(3){animation-delay:.14s}.course-card:nth-child(4){animation-delay:.19s}.course-card-accent{background:linear-gradient(90deg, var(--hero-from), var(--hero-mid), var(--accent));flex:none;height:4px}.course-card.tone-2 .course-card-accent{background:linear-gradient(90deg, var(--accent-deep), var(--accent))}.course-card.tone-3 .course-card-accent{background:linear-gradient(90deg, var(--hero-mid), var(--accent), color-mix(in srgb, var(--accent) 55%, white))}.course-card-body{flex:1;grid-template-rows:auto minmax(0,1fr) auto auto auto;align-content:start;gap:.45rem;min-height:0;padding:1rem 1.15rem 1.05rem;display:grid}.course-card-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);font-size:.72rem;font-weight:700}.course-card h3{font-size:1.15rem;line-height:1.25;font-family:var(--font-display);-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.course-card-desc{color:var(--muted);-webkit-line-clamp:3;word-break:break-word;-webkit-box-orient:vertical;min-height:0;margin:0;font-size:.92rem;line-height:1.4;display:-webkit-box;overflow:hidden}.course-card-meta{color:var(--muted);flex-wrap:nowrap;gap:.45rem .75rem;min-width:0;font-size:.86rem;font-weight:600;display:flex;overflow:hidden}.course-card-meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.course-card-tags{flex-wrap:nowrap;gap:.35rem;min-height:1.55rem;display:flex;overflow:hidden}.course-card-tags span{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 55%, white);color:var(--accent-deep);border-radius:999px;flex:none;padding:.22rem .5rem;font-size:.75rem;font-weight:700}.course-card-cta{color:var(--accent-deep);transition:transform .18s var(--ease-out);font-size:.92rem;font-weight:700}.course-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));box-shadow:0 16px 36px color-mix(in srgb, var(--ink) 10%, transparent);color:inherit;transform:translateY(-4px)}.course-card:hover .course-card-cta{transform:translate(3px)}.cabinet-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}@media (width<=640px){.cabinet-stats{grid-template-columns:1fr}}.cabinet-stat{border:1px solid var(--line);background:#fff;border-radius:12px;padding:1rem 1.1rem}.cabinet-stat strong{font-size:1.55rem;font-family:var(--font-display);color:var(--accent-deep);line-height:1.1;display:block}.cabinet-stat span{color:var(--muted);font-size:.88rem;font-weight:600}.cabinet-empty{border:1px dashed color-mix(in srgb, var(--accent) 30%, var(--line));background:color-mix(in srgb, var(--bg1) 40%, white);border-radius:12px;justify-items:start;gap:.9rem;padding:1.4rem 1.2rem;display:grid}.progress-track{background:color-mix(in srgb, var(--bg1) 80%, white);border:1px solid var(--line);border-radius:99px;height:7px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent-deep), var(--accent));height:100%;transition:width .42s var(--ease-out)}.progress-card{height:210px}.progress-card .course-card-body{grid-template-rows:minmax(0,1fr) auto auto;align-content:space-between;gap:.75rem;height:100%;padding:1.1rem 1.2rem 1.05rem;display:grid}.progress-card-head{align-content:start;gap:.5rem;min-width:0;display:grid}.progress-card-head h3{-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;margin:0;font-size:1.18rem;line-height:1.25;display:-webkit-box;overflow:hidden}.progress-card-head .lesson-status{white-space:nowrap;justify-self:start}.progress-card-bar{align-self:end}.progress-card .course-card-meta{flex-wrap:nowrap;margin:0}.progress-card .course-card-desc{min-height:0}.auth-screen{background:var(--bg0);grid-template-columns:minmax(280px,.95fr) minmax(0,1.1fr);min-height:100vh;display:grid}.auth-aside{color:var(--hero-text);background:radial-gradient(520px 320px at 70% 20%, color-mix(in srgb, var(--highlight) 22%, transparent), transparent 60%), radial-gradient(480px 360px at 20% 80%, color-mix(in srgb, var(--accent) 35%, transparent), transparent 65%), linear-gradient(160deg, var(--hero-from), var(--hero-mid) 55%, var(--hero-to));flex-direction:column;justify-content:flex-end;padding:2.2rem 2.4rem;display:flex;position:relative;overflow:hidden}.auth-aside-glow{filter:blur(50px);opacity:.28;background:color-mix(in srgb, var(--highlight) 50%, white);width:280px;height:280px;animation:orb-float 14s var(--ease-out) infinite alternate;border-radius:50%;position:absolute;top:8%;right:-40px}.auth-aside-grid{background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:36px 36px;animation:36s linear infinite grid-drift;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}.auth-aside-orbit{opacity:.55;width:min(70%,360px);color:var(--hero-text);position:absolute;top:12%;right:6%}.auth-aside-orbit ellipse{fill:none;stroke:#f5f8fc59;stroke-width:1.2px}.auth-aside-orbit ellipse:first-child{stroke:color-mix(in srgb, var(--highlight) 70%, white)}.auth-aside-sun{fill:var(--highlight)}.auth-aside-spin{transform-origin:210px 210px;animation:22s linear infinite hf-spin}.auth-aside-spin circle{fill:#f5f8fce6}.auth-aside-content{z-index:1;max-width:34ch;position:relative}.auth-aside-brand{font-family:var(--font-display);color:var(--hero-text);font-size:clamp(2rem,4vw,2.8rem);line-height:1;text-decoration:none}.auth-aside-tagline{color:color-mix(in srgb, var(--hero-text) 82%, transparent);margin:.85rem 0 1.3rem;font-size:1.05rem;line-height:1.45}.auth-aside-points{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.auth-aside-points li{color:color-mix(in srgb, var(--hero-text) 88%, transparent);padding-left:1.15rem;font-size:.95rem;line-height:1.4;position:relative}.auth-aside-points li:before{content:"";background:var(--highlight);border-radius:50%;width:.45rem;height:.45rem;position:absolute;top:.5em;left:0}.auth-panel{background:radial-gradient(640px 280px at 90% -10%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 55%), var(--bg0);flex-direction:column;min-height:100vh;padding:1.25rem 1.5rem 1.5rem;display:flex}.auth-panel-top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.auth-back{color:var(--muted);align-items:center;gap:.4rem;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.auth-back:hover{color:var(--accent-deep)}.auth-panel-card{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb, white 94%, var(--bg1));width:min(440px,100%);box-shadow:0 1px 0 #fffc inset, 0 22px 50px color-mix(in srgb, var(--ink) 8%, transparent);margin:auto;padding:1.7rem 1.65rem 1.75rem}.auth-mode-switch{background:color-mix(in srgb, var(--bg1) 70%, white);border:1px solid var(--line);border-radius:999px;grid-template-columns:1fr 1fr;gap:.3rem;margin-bottom:1.25rem;padding:.28rem;display:grid}.auth-mode-switch a{text-align:center;color:var(--muted);border-radius:999px;padding:.5rem .6rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .16s,color .16s,box-shadow .16s}.auth-mode-switch a:hover{color:var(--ink)}.auth-mode-switch a.active{color:var(--accent-deep);box-shadow:0 4px 14px color-mix(in srgb, var(--ink) 8%, transparent);background:#fff}.auth-panel-card h1{margin:0 0 .35rem;font-size:clamp(1.55rem,3vw,1.9rem)}.auth-subtitle{color:var(--muted);margin:0 0 1.3rem;line-height:1.45}.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}.auth-form .field{margin-bottom:.85rem}.auth-input-row{border:1px solid var(--line);background:color-mix(in srgb, white 96%, var(--bg1));border-radius:10px;grid-template-columns:auto 1fr;align-items:stretch;transition:border-color .18s,box-shadow .18s;display:grid;overflow:hidden}.auth-input-row-password{grid-template-columns:auto 1fr auto}.auth-input-row:focus-within{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));box-shadow:0 0 0 3px var(--accent-soft)}.auth-input-icon{width:2.7rem;color:var(--muted);pointer-events:none;place-items:center;display:grid}.auth-input-row:focus-within .auth-input-icon{color:var(--accent-deep)}.auth-field .auth-input-row input{min-width:0;padding:.85rem .75rem .85rem 0;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important}.auth-field .auth-input-row input::placeholder{color:var(--muted);opacity:.95}.field-hint{color:var(--muted);margin:.35rem 0 0;font-size:.82rem;line-height:1.35}.field-hint-error{color:var(--danger);margin:.35rem 0 0;font-size:.82rem;line-height:1.35}.field-warn{color:#0000;min-height:1.15rem;margin:.25rem 0 0;font-size:.82rem;line-height:1.35}.field-warn.is-on{color:color-mix(in srgb, var(--highlight) 35%, var(--danger))}.field-invalid .auth-input-row{border-color:color-mix(in srgb, var(--danger) 55%, var(--line))}.field-valid .auth-input-row{border-color:color-mix(in srgb, var(--ok) 45%, var(--line))}.input-action{color:var(--accent-deep);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 .85rem;font-size:.82rem;font-weight:600}.input-action-icon{min-width:2.7rem;color:var(--muted);place-items:center;display:grid}.input-action:hover{background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--accent-deep)}.rule-list{gap:.28rem;margin:.45rem 0 .2rem;padding:0;list-style:none;display:grid}.rule-list li{align-items:flex-start;gap:.4rem;font-size:.82rem;line-height:1.35;transition:color .16s;display:flex}.rule-mark{flex-shrink:0;place-items:center;width:1rem;height:1rem;margin-top:.1rem;display:grid}.rule-ok{color:var(--ok)}.rule-pending{color:var(--muted)}.pass-strength{align-items:center;gap:.65rem;min-height:1.2rem;margin:0 0 .55rem;display:flex}.pass-strength-idle .pass-strength-label{color:var(--muted)}.pass-strength-bars{grid-template-columns:repeat(3,1fr);gap:.28rem;width:5.5rem;display:grid}.pass-strength-bars span{background:var(--line);border-radius:99px;height:4px;transition:background .18s}.pass-strength-weak .pass-strength-bars span.on{background:var(--danger)}.pass-strength-fair .pass-strength-bars span.on{background:var(--highlight)}.pass-strength-strong .pass-strength-bars span.on{background:var(--ok)}.pass-strength-label{color:var(--muted);font-size:.8rem;font-weight:600}.pass-strength-strong .pass-strength-label{color:var(--ok)}.auth-error{background:color-mix(in srgb, var(--danger) 10%, white);border:1px solid color-mix(in srgb, var(--danger) 25%, transparent);border-radius:10px;margin:.4rem 0 .85rem;padding:.7rem .8rem;font-size:.92rem}.auth-submit{border-radius:10px;min-height:2.85rem;margin-top:.35rem}.auth-submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none!important;transform:none!important}.auth-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite hf-spin}.auth-demo{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:.55rem;margin-top:1.35rem;padding-top:1.1rem;display:grid}.auth-demo-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);grid-column:1/-1;margin-bottom:.1rem;font-size:.8rem;font-weight:700}.auth-demo-card{text-align:left;border:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 45%, white);color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;gap:.15rem;padding:.7rem .75rem;transition:border-color .16s,background .16s,transform .14s,box-shadow .16s;display:grid}.auth-demo-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));box-shadow:0 8px 18px color-mix(in srgb, var(--ink) 6%, transparent);background:#fff;transform:translateY(-1px)}.auth-demo-role{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);font-size:.72rem;font-weight:700}.auth-demo-email{font-size:.88rem;font-weight:600}.auth-demo-hint{color:var(--muted);font-size:.75rem}.auth-legal-note{text-align:center;width:min(440px,100%);color:var(--muted);margin:1rem auto 0;font-size:.8rem;line-height:1.4}.auth-legal-note a{color:var(--accent-deep);font-weight:600}.oauth-stack{gap:.7rem;margin:0 0 1.15rem;display:grid}.oauth-stack-link{margin:0}.oauth-btn{border:1px solid var(--line);min-height:2.85rem;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:.7rem;padding:0 1rem;font-weight:650;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .14s,background .16s;display:flex}.oauth-btn:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));box-shadow:0 8px 18px color-mix(in srgb, var(--ink) 6%, transparent);background:color-mix(in srgb, var(--bg1) 35%, white);transform:translateY(-1px)}.oauth-btn:disabled,.oauth-btn:disabled:hover{opacity:.58;cursor:not-allowed;box-shadow:none;border-color:var(--line);background:color-mix(in srgb, var(--bg1) 40%, white);color:var(--muted);transform:none}.oauth-btn svg{flex-shrink:0}.oauth-soon{background:color-mix(in srgb, var(--accent) 10%, white);color:var(--accent-deep);letter-spacing:.06em;text-transform:uppercase;border-radius:99px;margin-left:.15rem;padding:.12rem .45rem;font-size:.68rem;font-style:normal;font-weight:750}.oauth-telegram{min-height:2.85rem;position:relative}.oauth-telegram-btn{width:100%}.oauth-telegram-widget{opacity:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.oauth-telegram-widget.is-ready{opacity:1;pointer-events:auto;justify-content:center;min-height:40px;display:flex;position:static;overflow:visible}.oauth-divider{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:.7rem;margin:.15rem 0;font-size:.78rem;font-weight:700;display:grid}.oauth-divider:before,.oauth-divider:after{content:"";background:var(--line);height:1px}.cabinet-linked{background:color-mix(in srgb, var(--ok) 10%, white);border:1px solid color-mix(in srgb, var(--ok) 25%, transparent);color:var(--ok);border-radius:10px;margin:0 0 1rem;padding:.75rem .9rem;font-weight:600}.cabinet-accounts{margin:0 0 1.5rem}.cabinet-accounts h2{margin:0 0 .7rem;font-size:1.05rem}.cabinet-account-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.cabinet-account-card{border:1px solid var(--line);background:#fff;border-radius:12px;gap:.7rem;padding:1rem 1.05rem;display:grid}.cabinet-account-head{align-items:center;gap:.55rem;display:flex}.cabinet-account-head strong{font-size:.95rem}.cabinet-account-head span{color:var(--muted);margin-left:auto;font-size:.82rem}.cabinet-account-on{color:var(--ok);margin:0;font-size:.88rem;font-weight:650}@media (width<=640px){.cabinet-account-grid{grid-template-columns:1fr}}@media (width<=900px){.auth-screen{grid-template-columns:1fr}.auth-aside{justify-content:flex-end;min-height:220px;padding:1.5rem 1.4rem 1.3rem}.auth-aside-orbit{opacity:.4;width:200px;top:8%}.auth-aside-tagline,.auth-aside-points{display:none}.auth-panel{flex:1;min-height:auto}.auth-demo{grid-template-columns:1fr}}.split-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=900px){.split-2{grid-template-columns:1fr}}.course-detail{gap:1.1rem;display:grid}.course-detail-hero{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:linear-gradient(145deg, color-mix(in srgb, var(--highlight) 10%, white), transparent 50%), color-mix(in srgb, var(--surface) 94%, white);box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.1rem 1.5rem;padding:1.2rem 1.3rem 1.35rem;display:grid}.course-detail-hero h1{margin:.25rem 0 .5rem;font-size:clamp(1.6rem,2.5vw,2.15rem);line-height:1.15}.course-detail-lead{max-width:48rem;color:var(--muted);margin:0;line-height:1.5}.course-detail-meta{flex-wrap:wrap;gap:.4rem;margin-top:.85rem;display:flex}.course-detail-meta span{border:1px solid var(--line);background:color-mix(in srgb, white 70%, var(--bg0));color:var(--muted);border-radius:999px;padding:.28rem .6rem;font-size:.82rem}.course-detail-actions{justify-items:end;gap:.7rem;min-width:10rem;display:grid}.course-detail-progress{text-align:right;gap:.25rem;width:min(14rem,100%);display:grid}.course-detail-progress strong{font-family:var(--font-display);font-size:1.4rem;line-height:1}.course-detail-progress span{color:var(--muted);font-size:.86rem}.course-detail-grid.is-split{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.course-detail-panel{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb, var(--surface) 94%, white);box-shadow:var(--shadow);padding:1.05rem 1.15rem 1.15rem}.course-detail-panel h2{margin:0 0 .65rem;font-size:1.15rem}.course-comp-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.course-comp-list li{grid-template-columns:auto 1fr;align-items:start;gap:.65rem;display:grid}.course-comp-list code{background:var(--accent-soft);color:var(--accent-deep);border-radius:4px;padding:.15rem .4rem;font-size:.82rem}.course-modules,.course-module-list{gap:.85rem;display:grid}.course-module-card{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb, var(--surface) 96%, white);box-shadow:var(--shadow);overflow:hidden}.course-module-head{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 40%, white);grid-template-columns:auto 1fr;gap:.85rem;padding:1rem 1.1rem .85rem;display:grid}.course-module-head h3{margin:0 0 .25rem;font-size:1.2rem}.course-module-head .muted{margin:0}.course-module-idx{font-family:var(--font-display);color:var(--accent);padding-top:.15rem;font-size:1.35rem;line-height:1}.course-lesson-list{margin:0;padding:.35rem 0;list-style:none}.course-lesson-list li+li{border-top:1px solid color-mix(in srgb, var(--line) 80%, transparent)}.course-lesson-link{color:inherit;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.75rem 1.1rem;transition:background .16s;display:grid}.course-lesson-link:hover{background:var(--accent-soft);color:inherit}.course-lesson-num{border:1px solid var(--line);width:1.5rem;height:1.5rem;color:var(--muted);border-radius:999px;place-items:center;font-size:.78rem;display:grid}.course-lesson-link.is-open .course-lesson-num{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:var(--accent-soft);color:var(--accent-deep)}.course-lesson-link.is-done .course-lesson-num{border-color:color-mix(in srgb, var(--ok) 40%, var(--line));background:color-mix(in srgb, var(--ok) 14%, white);color:var(--ok)}.course-lesson-title{font-weight:600}.course-lesson-link .lesson-status{padding:.22rem .55rem;font-size:.78rem}@media (width<=900px){.course-detail-hero{grid-template-columns:1fr}.course-detail-actions{justify-items:start}.course-detail-grid.is-split{grid-template-columns:1fr}}.lesson-page{gap:1rem;display:grid}.main:has(.lesson-page){width:min(1680px,100% - 2rem);padding-top:1.1rem}:is(.main:has(.admin-page),.main:has(.catalog-page)){padding-top:1.1rem}.main:has(.catalog-page){width:min(1280px,100% - 2rem)}.main:has(.latex-editor){width:min(1680px,100% - 1.5rem)}.lesson-hero{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 8%, white), transparent 55%), color-mix(in srgb, var(--surface) 92%, white);box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr);gap:.35rem;padding:.85rem 1.15rem .95rem;display:grid}.lesson-title-row{flex-wrap:wrap;align-items:center;gap:.55rem .75rem;margin-top:.15rem;display:flex}.lesson-hero h1{margin:0;font-size:clamp(1.45rem,2.2vw,1.9rem);line-height:1.15}.lesson-status{letter-spacing:.02em;border:1px solid var(--line);border-radius:999px;flex-shrink:0;align-items:center;padding:.28rem .65rem;font-size:.82rem;font-weight:600;display:inline-flex}.lesson-status.is-done{color:var(--ok);background:color-mix(in srgb, var(--ok) 12%, white);border-color:color-mix(in srgb, var(--ok) 28%, white)}.lesson-status.is-open{color:var(--accent-deep);background:var(--accent-soft)}.lesson-status.is-idle{color:var(--muted);background:color-mix(in srgb, var(--bg1) 40%, white)}.lesson-position{color:var(--ink);margin:.35rem 0 0;font-size:.98rem}.lesson-position strong{font-variant-numeric:tabular-nums;font-weight:800}.lesson-crumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;font-size:.92rem;display:flex}.lesson-crumb a{color:var(--accent-deep)}.lesson-hero-note{max-width:46rem;color:var(--muted);margin:0;line-height:1.45}.lesson-studied-note{color:var(--ok);margin:0;font-weight:600}.lesson-error{margin:0}.lesson-shell{grid-template-columns:minmax(0,1fr) minmax(420px,560px);align-items:start;gap:1.15rem;display:grid}.lesson-pager{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.35rem;padding-top:1.1rem;display:grid}.lesson-pager-link{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, white 78%, var(--bg0));min-width:0;color:inherit;gap:.2rem;padding:.7rem .85rem;text-decoration:none;transition:border-color .16s,background .16s;display:grid}.lesson-pager-link:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:var(--accent-soft)}.lesson-pager-link.is-next{text-align:right;justify-items:end}.lesson-pager-link.is-disabled{color:var(--muted);background:color-mix(in srgb, var(--bg1) 45%, white);border-color:color-mix(in srgb, var(--line) 80%, transparent);cursor:default;pointer-events:none;opacity:.72}.lesson-pager-link.is-disabled .lesson-pager-title{font-weight:500}.lesson-pager-dir{color:var(--muted);font-size:.8rem}.lesson-pager-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;overflow:hidden}.lesson-main{gap:1rem;min-width:0;display:grid}@media (width<=1280px){.lesson-shell{grid-template-columns:minmax(0,1fr) minmax(360px,440px)}}@media (width<=960px){.lesson-shell{grid-template-columns:1fr}.lesson-side{order:2;height:auto;max-height:none;position:static}.lesson-main{order:1}}.lesson-read{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb, var(--surface) 94%, white);box-shadow:var(--shadow);min-width:0;padding:1rem 1.25rem 1.35rem}.lesson-read .latex-preview>:first-child{margin-top:0}.lesson-read-foot{border-top:1px solid var(--line);justify-items:start;gap:.55rem;margin-top:1.4rem;padding-top:1rem;display:grid}.lesson-read-foot .muted{margin:0;font-size:.92rem}.lesson-side{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb, var(--surface) 96%, white);box-shadow:var(--shadow);grid-template-rows:auto minmax(0,1fr);align-self:start;gap:0;width:100%;min-width:0;height:min(78vh,880px);max-height:min(78vh,880px);display:grid;position:sticky;top:4.6rem;overflow:hidden}.lesson-tabs{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 55%, white);grid-template-columns:1fr 1fr;display:grid}.lesson-side-head{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 55%, white);padding:.85rem 1rem}.lesson-side-head h2{font-size:1rem;font-family:var(--font-display);margin:0}.lesson-tutor-balance{margin:.25rem 0 0;font-size:.82rem}.lesson-tutor-model{gap:.3rem;font-size:.82rem;font-weight:650;display:grid}.lesson-tutor-model select{font:inherit;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;padding:.45rem .55rem;font-weight:500}.lesson-tutor-quote{color:var(--muted);margin:0;font-size:.82rem}.lesson-tutor-quote.is-low{color:#b42318;font-weight:650}.lesson-tutor-alert{border-radius:var(--radius);border:1px solid color-mix(in srgb, #b42318 28%, var(--line));color:#7a1a12;background:#f9eded;margin:0;padding:.65rem .75rem;font-size:.9rem;line-height:1.4}.ai-model-search{border:1px solid var(--line);border-radius:var(--radius);width:100%;font:inherit;margin-bottom:.75rem;padding:.55rem .7rem}.ai-model-list{gap:.35rem;max-height:32rem;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.ai-model-row{cursor:pointer;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.45rem .5rem;display:grid}.ai-model-row:hover{background:var(--accent-soft)}.ai-model-copy{gap:.1rem;min-width:0;display:grid}.ai-model-copy strong{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;min-width:0;display:flex;overflow:hidden}.ai-model-free{letter-spacing:.02em;text-transform:uppercase;color:#0f7b3a;background:#e2efe7;border-radius:999px;flex:none;padding:.12rem .45rem;font-size:.68rem;font-weight:700}.ai-model-health{letter-spacing:.01em;border-radius:999px;flex:none;padding:.12rem .45rem;font-size:.68rem;font-weight:700}.ai-model-health.is-up{color:#0f7b3a;background:#e2efe7}.ai-model-health.is-checking{color:var(--accent-deep);background:var(--accent-soft)}.ai-model-health.is-down{color:#b42318;background:#f8e9e8}.ai-model-price{white-space:nowrap;text-align:right;color:var(--ink);gap:.12rem;font-size:.78rem;display:grid}.admin-grant-tokens{flex-wrap:wrap;align-items:end;gap:.5rem;margin-top:.85rem;display:flex}.admin-grant-tokens label{flex:1;gap:.3rem;min-width:12rem;font-size:.85rem;font-weight:650;display:grid}.admin-grant-tokens input{font:inherit;border:1px solid var(--line);border-radius:var(--radius);padding:.45rem .55rem;font-weight:500}.lesson-tab{appearance:none;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:.4rem;padding:.85rem .75rem;font-weight:600;transition:color .16s,background .16s;display:inline-flex}.lesson-tab:hover{color:var(--ink);background:#ffffff8c}.lesson-tab.is-active{color:var(--accent-deep);box-shadow:inset 0 -2px 0 var(--accent);background:#fff}.lesson-tab-count{background:var(--accent-soft);min-width:1.25rem;height:1.25rem;color:var(--accent-deep);border-radius:999px;place-items:center;padding:0 .35rem;font-size:.75rem;display:inline-grid}.lesson-tab-panel{flex-direction:column;height:100%;min-height:0;padding:1rem;display:flex;overflow:auto}.lesson-tab-panel>.lesson-practice,.lesson-tab-panel>.lesson-tutor{flex:1;min-height:0}.lesson-empty{justify-items:start;gap:.55rem;padding:1.1rem .2rem;display:grid}.lesson-empty strong{font-family:var(--font-display);font-size:1.15rem}.lesson-empty .muted{max-width:28rem;margin:0}.lesson-tutor-empty{text-align:center;border:1px dashed color-mix(in srgb, var(--line) 85%, transparent);border-radius:calc(var(--radius) + 2px);background:color-mix(in srgb, var(--bg1) 28%, white);flex:1;align-content:center;justify-items:center;min-height:18rem;padding:2rem 1rem}.lesson-tutor-empty .muted{max-width:22rem}.lesson-tutor-empty .btn{margin-top:.35rem}.lesson-quiz-list{flex-wrap:wrap;gap:.45rem;margin-bottom:.9rem;display:flex}.lesson-quiz-item{appearance:none;border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:.4rem .75rem;transition:border-color .16s,background .16s}.lesson-quiz-item:hover,.lesson-quiz-item.is-active{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--accent-soft)}.lesson-quiz-body{gap:1rem;display:grid}.lesson-inline-quiz{border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:color-mix(in srgb, var(--accent-soft) 40%, white);margin:0;padding:1rem 1.05rem 1.1rem}.lesson-inline-quiz-head h3{font-family:var(--font-display);margin:0 0 .75rem;font-size:1.15rem}.lesson-q-prompt{margin-bottom:.45rem}.lesson-q-options{gap:.4rem;display:grid}.lesson-option{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, white 80%, var(--bg0));cursor:pointer;align-items:flex-start;gap:.55rem;padding:.55rem .7rem;transition:border-color .16s,background .16s;display:flex}.lesson-option:hover,.lesson-option.is-selected{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:var(--accent-soft)}.lesson-option input{margin-top:.2rem}.lesson-option-text{flex:1;min-width:0}.lesson-option-text .latex-preview{font-size:inherit}.lesson-q-feedback{border-radius:var(--radius);border:1px solid var(--line);gap:.35rem;margin-top:.55rem;padding:.55rem .7rem;display:grid}.lesson-q-feedback.is-correct{border-color:color-mix(in srgb, var(--ok) 45%, var(--line));background:color-mix(in srgb, var(--ok) 8%, white)}.lesson-q-feedback.is-wrong{border-color:color-mix(in srgb, var(--danger) 45%, var(--line));background:color-mix(in srgb, var(--danger) 8%, white)}.lesson-score{margin:0;font-weight:600}.lesson-score.is-pass{color:var(--ok)}.lesson-score.is-fail{color:var(--danger)}.lesson-practice{min-height:0}.lesson-tutor{flex-direction:column;flex:1;gap:.7rem;height:100%;min-height:0;display:flex}.lesson-tutor .lesson-chat-box{flex:1}.lesson-tutor .lesson-composer{flex-shrink:0}.lesson-tutor-head{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.lesson-chat-tabs{flex-wrap:wrap;gap:.4rem;min-width:0;display:flex}.lesson-chat-chip{appearance:none;border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:999px;max-width:10rem;padding:.35rem .7rem;font-size:.88rem;transition:border-color .16s,color .16s,background .16s;overflow:hidden}.lesson-chat-chip:hover,.lesson-chat-chip.is-active{color:var(--accent-deep);border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:var(--accent-soft)}.lesson-chat-box{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, color-mix(in srgb, var(--bg1) 35%, white), white);flex-direction:column;gap:.6rem;min-height:12rem;padding:.75rem;display:flex;overflow:auto}.lesson-chat-hint{text-align:center;margin:auto 0;padding:1.2rem .5rem}.lesson-composer{gap:.55rem;display:grid}.lesson-composer textarea{resize:vertical;border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:4.5rem;font:inherit;color:var(--ink);background:#fff;padding:.7rem .8rem}.lesson-composer textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:1px;border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.bubble.is-streaming{opacity:.92;border:1px dashed color-mix(in srgb, var(--accent) 30%, var(--line))}.bubble.is-error{border:1px solid color-mix(in srgb, #b42318 28%, var(--line));color:#7a1a12;background:#f9eded;align-self:stretch;padding-bottom:.7rem}.bubble.is-error .chat-md-p{margin:0}.lesson-tutor-retry{appearance:none;border:1px solid color-mix(in srgb, var(--accent) 40%, var(--line));color:var(--accent-deep);font:inherit;cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.4rem;margin-top:.7rem;padding:.4rem .7rem;font-size:.86rem;font-weight:650;display:inline-flex}.lesson-tutor-retry:hover:not(:disabled){background:var(--accent-soft)}.lesson-tutor-retry:disabled{opacity:.55;cursor:not-allowed}.lesson-tutor-retry svg{flex:none}.bubble-excerpt{border-left:3px solid color-mix(in srgb, var(--accent) 55%, var(--line));background:color-mix(in srgb, white 55%, var(--accent-soft));color:var(--ink);white-space:pre-wrap;margin:0 0 .45rem;padding:.35rem .5rem;font-size:.86rem}.lesson-ask-chip{border:1px solid var(--line);border-radius:var(--radius);background:var(--accent-soft);gap:.2rem;padding:.5rem 1.8rem .5rem .65rem;display:grid;position:relative}.lesson-ask-chip-label{color:var(--accent-deep);font-size:.75rem;font-weight:650}.lesson-ask-chip p{white-space:pre-wrap;max-height:4.8rem;margin:0;font-size:.86rem;overflow:auto}.lesson-ask-chip-x{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:1.1rem;line-height:1;position:absolute;top:.2rem;right:.25rem}.lesson-selbar{z-index:60;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;border-radius:14px;align-items:stretch;gap:.55rem;padding:.45rem;display:flex;position:fixed;transform:translate(-50%,-100%)}.lesson-selbar.is-below{transform:translate(-50%)}.lesson-selbar-btn{min-height:2.55rem;font:inherit;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:.55rem 1.05rem;font-size:.95rem;font-weight:650;line-height:1.2;display:inline-flex}.lesson-selbar-btn.is-ask{background:var(--accent);color:#fff}.lesson-selbar-btn.is-ask:hover{filter:brightness(1.05)}.lesson-selbar-btn.is-report{background:color-mix(in srgb, white 70%, var(--bg1));color:var(--ink);border-color:var(--line)}.lesson-selbar-btn.is-report:hover{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.latex-preview mark.lp-report-hl{color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#f7d26c;border-radius:.22em;padding:.08em .14em;animation:1.1s lp-hl-pulse;box-shadow:0 0 0 2px #d4a01747}@keyframes lp-hl-pulse{0%{box-shadow:0 0 #d4a0178c}to{box-shadow:0 0 0 6px #0000}}.lesson-hl-note{margin:0 0 .7rem}.lesson-hl-banner{border:1px solid color-mix(in srgb, #d4a017 35%, var(--line));border-radius:var(--radius);background:#fdf5dd;margin:0 0 1rem;padding:.7rem .85rem}.lesson-hl-banner p{margin:0 0 .4rem;font-weight:650}.lesson-hl-banner blockquote{white-space:pre-wrap;margin:0;font-weight:500}.report-overlay{z-index:80;background:color-mix(in srgb, var(--ink) 38%, transparent);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.report-modal{border-radius:calc(var(--radius) + 4px);background:var(--surface);width:min(36rem,100%);max-height:min(90vh,42rem);box-shadow:var(--shadow);gap:.85rem;padding:1.1rem 1.15rem 1rem;display:grid;overflow:auto}.report-modal-head h2{margin:0 0 .25rem}.report-fields{gap:.35rem;margin:0;display:grid}.report-fields>div{grid-template-columns:6.5rem 1fr;align-items:baseline;gap:.45rem;display:grid}.report-fields dt{color:var(--muted);margin:0;font-size:.86rem}.report-fields dd{margin:0;font-weight:600}.report-modal label,.report-excerpt-label{gap:.35rem;font-weight:650;display:grid}.report-modal textarea{resize:vertical;border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:5rem;font:inherit;color:var(--ink);background:#fff;padding:.65rem .75rem}.report-excerpt{color:var(--ink);background:color-mix(in srgb, var(--bg1) 70%, white)!important}.report-count{justify-self:end;font-weight:500}.report-modal-foot{justify-content:flex-end;gap:.5rem;display:flex}.report-list{gap:.7rem}.report-card{gap:.4rem;display:grid!important}.report-card-meta{flex-wrap:wrap;align-items:baseline;gap:.4rem .75rem;display:flex}.report-card-where{margin:0;font-size:.9rem}.report-card-excerpt{border-left:3px solid color-mix(in srgb, var(--accent) 55%, var(--line));background:color-mix(in srgb, white 55%, var(--accent-soft));white-space:pre-wrap;margin:0;padding:.45rem .6rem;font-size:.9rem}.report-card-desc{white-space:pre-wrap;margin:0}.report-status{letter-spacing:.02em;text-transform:uppercase;font-size:.78rem;font-weight:700}.report-status.is-open{color:var(--accent-deep)}.report-status.is-resolved{color:var(--muted)}@media (width<=960px){.lesson-tab-panel,.lesson-tutor{min-height:22rem}.lesson-chat-box{max-height:min(48vh,360px)}}.latex-preview{line-height:1.65;overflow-x:auto}.latex-preview ul,.latex-preview ol{margin:.65rem 0 .85rem;padding-left:1.4rem}.latex-preview li{margin:.25rem 0}.latex-preview .lp-section{font-family:var(--font-display);margin:1.2rem 0 .5rem;scroll-margin-top:5rem;font-size:1.45rem}.latex-preview .lp-subsection{font-family:var(--font-display);margin:1rem 0 .4rem;scroll-margin-top:5rem;font-size:1.15rem}.latex-preview .lp-subsec-sheet{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb, var(--surface) 94%, white);box-shadow:var(--shadow);margin:0 0 1.2rem;padding:1rem 1.25rem 1.3rem}.latex-preview .lp-subsec-sheet:last-child{margin-bottom:0}.latex-preview .lp-subsec-sheet>:first-child{margin-top:0}.lesson-read:has(.lp-subsec-sheet){box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.lesson-read:has(.lp-subsec-sheet) .lesson-read-foot{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb, var(--surface) 94%, white);box-shadow:var(--shadow);margin-top:1.2rem;padding:1rem 1.25rem 1.15rem}.latex-preview-pane:has(.lp-subsec-sheet){box-shadow:none;background:0 0;border:none;padding-left:0;padding-right:0}.latex-preview .lp-subsubsection{font-family:var(--font-display);margin:.85rem 0 .35rem;scroll-margin-top:5rem;font-size:1.05rem}.latex-preview .lp-toc{border:1px solid var(--line);background:color-mix(in srgb, white 82%, var(--bg1));border-radius:6px;margin:.35rem 0 1.25rem;padding:.85rem 1rem 1rem}.latex-preview .lp-toc-title{font-family:var(--font-display);margin:0 0 .65rem;font-size:1.25rem;font-weight:700}.latex-preview .lp-toc-list{gap:.28rem;margin:0;padding:0;list-style:none;display:grid}.latex-preview .lp-toc-item{margin:0}.latex-preview .lp-toc-link{color:var(--ink);grid-template-columns:auto 1fr;align-items:baseline;gap:.55rem;line-height:1.35;text-decoration:none;display:grid}.latex-preview .lp-toc-link:hover{color:var(--accent-deep)}.latex-preview .lp-toc-num{font-variant-numeric:tabular-nums;color:var(--accent-deep);min-width:1.6rem;font-weight:700}.latex-preview .lp-toc-level-1 .lp-toc-text{font-weight:700}.latex-preview .lp-toc-level-2{padding-left:1.1rem}.latex-preview .lp-toc-level-3{padding-left:2.2rem}.latex-preview .lp-toc-level-3 .lp-toc-text{font-size:.95rem}.latex-preview .lp-toc-empty{margin:0}.latex-preview .lp-figure-slot{width:100%;margin:1rem 0}.latex-preview .lp-figure{text-align:center;margin:0 auto;display:block;position:relative}.latex-preview .lp-figure img{border:1px solid var(--line);pointer-events:none;background:#fff;border-radius:6px;width:100%;max-width:100%;height:auto;display:block}.latex-preview .lp-figure.is-editable{cursor:grab;touch-action:none}.latex-preview .lp-figure.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.latex-preview .katex-display{margin:.8rem 0;overflow:auto hidden}.latex-preview .lp-box{--lp-def:#005541;--lp-thm:#78283c;--lp-prf:#5a5a5a;--lp-note:#2d557d;--lp-ex:#2d557d;--lp-task:#5a5a5a;--lp-box-frame:var(--lp-def);border:1.2px solid var(--lp-box-frame);box-shadow:none;border-radius:0;margin:.85rem 0 1.05rem;position:relative;overflow:visible}.latex-preview .lp-box-head{font-family:var(--font-display);letter-spacing:.01em;color:#fff;background:var(--lp-box-frame);align-items:center;gap:.45rem;margin:0;padding:.38rem .85rem;font-size:.98rem;font-weight:700;line-height:1.3;display:flex}.latex-preview .lp-box-head-title{flex:1;min-width:0}.latex-preview .lp-box-body{color:var(--ink);background:color-mix(in srgb, var(--lp-box-frame) 12%, white);padding:.55rem .9rem .65rem}.latex-preview .lp-box-body>:first-child{margin-top:0}.latex-preview .lp-box-body>:last-child{margin-bottom:0}.latex-preview .lp-box-body p{margin:.4rem 0}.latex-preview .lp-box-body .katex-display,.latex-preview .lp-box-body .lp-display{margin:.55rem 0}.latex-preview .lp-display{margin:.75rem 0;scroll-margin-top:5rem;overflow:auto hidden}.latex-preview .lp-eqref,.latex-preview .lp-ref{color:var(--accent-deep);white-space:nowrap;font-weight:650;text-decoration:none}.latex-preview .lp-eqref:hover,.latex-preview .lp-ref:hover{text-decoration:underline}.latex-preview .lp-lessonlink{color:var(--accent-deep);text-underline-offset:.15em;font-weight:650;text-decoration:underline}.latex-preview .lp-lessonlink:hover{color:var(--accent)}.latex-preview .lp-table-wrap{margin:1.05rem 0 1.2rem}.latex-preview .lp-table-tools{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;margin-bottom:.5rem;display:flex}.latex-preview .lp-table-tool-group{border:1px solid var(--line);background:color-mix(in srgb, white 92%, var(--bg1));border-radius:9px;display:inline-flex;overflow:hidden;box-shadow:inset 0 1px #ffffffb3}.latex-preview .lp-table-tool{border:0;border-right:1px solid var(--line);color:var(--ink);font:inherit;letter-spacing:.01em;cursor:pointer;background:0 0;align-items:center;gap:.35rem;margin:0;padding:.38rem .7rem;font-size:.78rem;font-weight:650;line-height:1;display:inline-flex}.latex-preview .lp-table-tool:last-child{border-right:0}.latex-preview .lp-table-tool:hover{background:var(--accent-soft);color:var(--accent-deep)}.latex-preview .lp-table-tool:disabled{opacity:.38;cursor:not-allowed}.latex-preview .lp-table-tool-group.is-danger .lp-table-tool:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 12%, white);color:var(--danger)}.latex-preview .lp-table-tool-icon{flex:none;display:block}.latex-preview .lp-table-frame{border:1px solid color-mix(in srgb, var(--accent) 16%, var(--line));box-shadow:0 10px 28px color-mix(in srgb, var(--accent-deep) 7%, transparent);background:#fff;border-radius:12px;overflow:auto}.latex-preview .lp-table{border-collapse:collapse;background:#fff;width:100%}.latex-preview .lp-table td{border:1px solid color-mix(in srgb, var(--line) 82%, var(--accent) 18%);vertical-align:middle;min-width:5rem;padding:.55rem .75rem}.latex-preview .lp-table tbody tr.is-head td{background:color-mix(in srgb, var(--accent) 8%, white);color:var(--accent-deep);font-weight:650}.latex-preview .lp-table tbody tr:not(.is-head):nth-child(2n) td{background:color-mix(in srgb, var(--bg1) 28%, white)}.latex-preview .lp-table tbody tr:hover td{background:color-mix(in srgb, var(--accent) 6%, white)}.latex-preview .lp-table-wrap.is-editable .lp-table td{padding:0}.latex-preview .lp-table-cell,.latex-preview .lp-table-input{width:100%;min-height:2.35rem;font:inherit;font-weight:inherit;color:inherit;text-align:inherit;background:0 0;border:0;padding:.5rem .7rem;display:block}.latex-preview .lp-table-cell{cursor:text;text-align:left}.latex-preview .lp-table-cell:hover{background:color-mix(in srgb, var(--accent) 7%, transparent)}.latex-preview .lp-table td.is-selected{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 9%, white)!important}.latex-preview .lp-table td.is-editing{box-shadow:inset 0 0 0 2px var(--accent);background:#fff!important}.latex-preview .lp-table-input:focus{outline:none}.latex-preview .lp-table-empty{color:color-mix(in srgb, var(--muted) 55%, white);font-size:.78rem;font-weight:500}.latex-preview .lp-quiz-slot.is-flash{outline:2px solid var(--accent);outline-offset:4px;border-radius:10px;animation:1.4s lp-quiz-flash}@keyframes lp-quiz-flash{0%{background:color-mix(in srgb, var(--accent) 18%, white)}to{background:0 0}}.latex-preview .lp-box-definition{--lp-box-frame:var(--lp-def)}.latex-preview .lp-box-theorem{--lp-box-frame:var(--lp-thm)}.latex-preview .lp-box-proof{--lp-box-frame:var(--lp-prf)}.latex-preview .lp-box-proof .lp-box-head{cursor:pointer;-webkit-user-select:none;user-select:none}.latex-preview .lp-box-proof .lp-box-head:after{content:"▾";opacity:.9;font-size:.82em}.latex-preview .lp-box-proof.is-closed .lp-box-head:after{content:"▸"}.latex-preview .lp-box.is-editable .lp-box-head{cursor:pointer}.latex-preview .lp-box-color-btn{background:color-mix(in srgb, white 35%, var(--lp-box-frame));cursor:pointer;border:1.5px solid #ffffffe6;border-radius:50%;flex-shrink:0;width:1.05rem;height:1.05rem;padding:0;box-shadow:0 0 0 1px #0000002e}.latex-preview .lp-box-notitle .lp-box-color-btn{z-index:2;position:absolute;top:.4rem;right:.45rem}.latex-preview .lp-box-color-pop{z-index:30;border:1px solid var(--line);min-width:13.5rem;color:var(--ink);box-shadow:0 10px 28px color-mix(in srgb, var(--ink) 14%, transparent);background:#fff;border-radius:8px;padding:.65rem .7rem;position:absolute;top:2.15rem;right:.4rem}.latex-preview .lp-box-notitle .lp-box-color-pop{top:1.7rem}.latex-preview .lp-box-color-pop-title{margin:0 0 .4rem;font-size:.86rem;font-weight:700}.latex-preview .lp-box-note{--lp-box-frame:var(--lp-note)}.latex-preview .lp-box-notitle .lp-box-body{padding-top:.7rem;padding-bottom:.7rem}.latex-preview .lp-box-example{--lp-box-frame:var(--lp-ex)}.latex-preview .lp-box-task{--lp-box-frame:var(--lp-task);border-style:dashed}.latex-preview .lp-task-solution{border-top:1px dashed color-mix(in srgb, var(--lp-box-frame) 35%, var(--line));gap:.45rem;margin-top:.85rem;padding-top:.75rem;display:grid}.latex-preview .lp-task-solution-label{font-size:.92rem;font-weight:700}.latex-preview .lp-task-solution textarea{resize:vertical;width:100%;min-height:5.5rem;font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:.55rem .7rem}.latex-preview .lp-quiz-slot{margin:1.15rem 0 1.35rem}.quiz-slot-form,.quiz-slot-card{border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:color-mix(in srgb, var(--accent-soft) 40%, white);padding:1rem 1.05rem 1.1rem}.quiz-slot-form{gap:.65rem;display:grid}.quiz-slot-form .field{margin:0}.quiz-slot-form .field label{font-size:.82rem}.quiz-slot-form-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);margin:0;font-size:.75rem;font-weight:700}.quiz-slot-card{gap:.2rem;display:grid}.quiz-slot-card-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.quiz-slot-card-top .btn{flex-shrink:0}.quiz-slot-card strong{font-family:var(--font-display);font-size:1.12rem}.quiz-slot-card .muted{margin:0}.quiz-slot-card-prompt{white-space:pre-wrap;overflow-wrap:anywhere;margin:.45rem 0 0;font-size:.92rem}.quiz-slot-form-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.latex-preview .lp-figure-handle{background:var(--accent);touch-action:none;z-index:2;border:2px solid #fff;border-radius:2px;width:.85rem;height:.85rem;padding:0;position:absolute;box-shadow:0 0 0 1px #00000040}.latex-preview .lp-figure-handle-nw{cursor:nwse-resize;top:-.28rem;left:-.28rem}.latex-preview .lp-figure-handle-ne{cursor:nesw-resize;top:-.28rem;right:-.28rem}.latex-preview .lp-figure-handle-sw{cursor:nesw-resize;bottom:-.28rem;left:-.28rem}.latex-preview .lp-figure-handle-se{cursor:nwse-resize;bottom:-.28rem;right:-.28rem}.latex-editor{width:100%;min-width:0}.latex-source-pane{grid-template-rows:auto auto minmax(0,1fr);align-content:start;align-self:start;gap:.45rem;min-width:0;max-height:calc(100vh - 5.2rem);display:grid;position:sticky;top:4.6rem}.latex-toolbar{border:1px solid var(--line);background:color-mix(in srgb, white 88%, var(--bg1));border-bottom:0;border-radius:8px 8px 0 0;flex-wrap:wrap;align-items:center;gap:.25rem .18rem;padding:.35rem .4rem;display:flex}.latex-tool-group{align-items:center;gap:.12rem;display:inline-flex}.latex-tool-sep{background:var(--line);flex-shrink:0;width:1px;height:1.55rem;margin:0 .3rem}.latex-tool{min-width:2.35rem;min-height:2.35rem;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;padding:.25rem;transition:background .14s,color .14s;display:inline-flex}.latex-tool:hover,.latex-tool.is-open{background:var(--accent-soft);color:var(--accent-deep)}.latex-tool-text{color:var(--muted);gap:.35rem;padding:.25rem .55rem;font-size:.9rem;font-weight:600}.latex-heading-label{line-height:1}.latex-heading-wrap{position:relative}.latex-heading-menu{z-index:20;border:1px solid var(--line);min-width:10.5rem;box-shadow:0 8px 24px color-mix(in srgb, var(--ink) 12%, transparent);background:#fff;border-radius:8px;gap:.1rem;padding:.3rem;display:grid;position:absolute;top:calc(100% + .25rem);left:0}.latex-heading-item{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:0;border-radius:6px;padding:.4rem .55rem;font-family:Georgia,Times New Roman,serif;display:block}.latex-heading-item:hover{background:var(--accent-soft);color:var(--accent-deep)}.latex-link-menu{min-width:14rem;max-width:22rem;max-height:18rem;left:auto;right:0;overflow:auto}.latex-color-panel{z-index:20;border:1px solid var(--line);min-width:15.5rem;box-shadow:0 8px 24px color-mix(in srgb, var(--ink) 12%, transparent);background:#fff;border-radius:8px;gap:.4rem;padding:.7rem .75rem;display:grid;position:absolute;top:calc(100% + .25rem);right:0}.latex-color-panel-title{margin:0 0 .15rem;font-size:.88rem;font-weight:700}.latex-color-panel-hint{color:var(--muted);margin:0 0 .35rem;font-size:.75rem;line-height:1.35}.latex-color-types{flex-wrap:wrap;gap:.3rem;margin-bottom:.45rem;display:flex}.latex-color-type{appearance:none;border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.3rem;padding:.22rem .45rem;font-size:.75rem;display:inline-flex}.latex-color-type.is-active{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--accent-soft);color:var(--accent-deep)}.latex-color-type-dot{border:1px solid #00000026;border-radius:50%;width:.7rem;height:.7rem}.box-color-palette{gap:.5rem;display:grid}.box-color-sv{border:1px solid var(--line);cursor:crosshair;touch-action:none;background-image:linear-gradient(#0000,#000),linear-gradient(90deg,#fff,#0000);border-radius:8px;height:7.4rem;position:relative}.box-color-sv-thumb{pointer-events:none;border:2px solid #fff;border-radius:50%;width:.9rem;height:.9rem;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000073}.box-color-hue{border:1px solid var(--line);cursor:ew-resize;touch-action:none;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:999px;height:.9rem;position:relative}.box-color-hue-thumb{pointer-events:none;background:#fff;border:2px solid #fff;border-radius:4px;width:.72rem;height:1.2rem;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0006}.box-color-custom{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.box-color-preview{border:1px solid #0000002e;border-radius:50%;flex-shrink:0;width:1.45rem;height:1.45rem}.box-color-hex{border:1px solid var(--line);width:6.4rem;font:inherit;border-radius:4px;padding:.18rem .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.latex-heading-item.level-section{font-size:1rem;font-weight:700}.latex-heading-item.level-subsection{font-size:.92rem;font-weight:600}.latex-heading-item.level-subsubsection{font-size:.86rem;font-weight:600}.latex-tool-icon{flex-shrink:0;display:block}.latex-source-wrap{border:1px solid var(--line);background:#fff;border-radius:0 0 8px 8px;min-width:0;position:relative}.latex-source-wrap:focus-within{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));box-shadow:0 0 0 3px var(--accent-soft)}.latex-source-pane .latex-source-wrap textarea.latex-source{box-sizing:border-box;width:100%;color:var(--ink);white-space:pre;tab-size:2;overflow-wrap:normal;word-break:normal;z-index:1;resize:vertical;background:0 0;border:0;border-radius:0;height:min(62vh,640px);min-height:min(62vh,640px);max-height:calc(100vh - 12rem);margin:0;padding:.7rem .8rem .7rem 1.35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;line-height:1.45;position:relative;overflow:auto}.latex-diff-gutter{z-index:2;pointer-events:none;width:.95rem;position:absolute;top:0;bottom:0;left:0;overflow:hidden}.latex-diff-gutter-inner{pointer-events:none}.latex-diff-slot{pointer-events:none;position:relative}.latex-diff-bar,.latex-diff-tick{pointer-events:auto;cursor:pointer;border:0;padding:0;position:absolute}.latex-diff-bar{border-radius:1px;width:3px;top:1px;bottom:1px;left:4px}.latex-diff-bar.is-add{background:#2ea043}.latex-diff-bar.is-mod{background:#c69026}.latex-diff-bar.is-del{background:#f85149}.latex-diff-tick{background:0 0;width:14px;height:14px;top:-6px;left:0}.latex-diff-tick:after{content:"";border:5px solid #0000;border-left:7px solid #f85149;border-right-width:0;position:absolute;top:2px;left:3px}.latex-diff-tick:hover,.latex-diff-bar:hover{filter:brightness(.85)}.latex-diff-peek{z-index:4;border:1px solid color-mix(in srgb, var(--line) 80%, #8aa);background:#fff;border-radius:6px;grid-template-rows:auto minmax(0,1fr);max-height:min(16rem,42%);display:grid;position:absolute;left:.85rem;right:.55rem;overflow:hidden;transform:translateY(-100%);box-shadow:0 8px 28px #14284629}.latex-diff-peek.is-below{transform:translateY(1.35em)}.latex-diff-peek-head{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 55%, white);justify-content:space-between;align-items:center;gap:.5rem;padding:.28rem .45rem .28rem .65rem;font-size:.75rem;font-weight:700;display:flex}.latex-diff-peek-head em{color:var(--muted);margin-left:.35rem;font-style:normal;font-weight:650}.latex-diff-peek-actions{gap:.15rem;display:flex}.latex-diff-peek-body{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.45;overflow:auto}.latex-peek-line{white-space:pre-wrap;overflow-wrap:anywhere;grid-template-columns:1.2rem minmax(0,1fr);min-height:1.45em;display:grid}.latex-peek-sign{text-align:center;-webkit-user-select:none;user-select:none;font-weight:700}.latex-peek-code{padding:0 .55rem 0 .2rem}.latex-peek-line.is-del{box-shadow:inset 3px 0 #f85149}.latex-peek-line.is-del .latex-peek-sign{color:#b42318}.latex-peek-line.is-ins{box-shadow:inset 3px 0 #2ea043}.latex-peek-line.is-ins .latex-peek-sign{color:#1f7a38}.latex-peek-line.is-blank .latex-peek-code{color:var(--muted);font-style:italic}.latex-peek-char.is-del{background:#fdcecc;text-decoration:line-through}.latex-peek-char.is-ins{background:#c4e4ca}.lesson-draft-bar{border:1px solid color-mix(in srgb, #d4a017 35%, var(--line));border-radius:var(--radius);background:#fbf6e8;flex-wrap:wrap;align-items:center;gap:.55rem .85rem;margin:.35rem 0 .7rem;padding:.55rem .75rem;font-size:.9rem;display:flex}.lesson-draft-pill{color:#6b4e00;letter-spacing:.04em;text-transform:uppercase;background:#f6eacc;border-radius:999px;align-items:center;padding:.12rem .5rem;font-size:.75rem;font-weight:750;display:inline-flex}.vsc-diff{border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:#fff;grid-template-columns:minmax(11rem,15rem) minmax(0,1fr);min-height:min(62vh,640px);display:grid;overflow:hidden}.vsc-diff-files{border-right:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 45%, white);padding:.7rem .45rem .85rem;overflow:auto}.vsc-diff-files-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 .4rem .5rem;font-size:.72rem;font-weight:750}.vsc-diff-file{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:baseline;gap:.4rem;margin:0 0 .15rem;padding:.4rem .5rem;font-size:.84rem;display:flex}.vsc-diff-file:hover,.vsc-diff-file.is-active{background:color-mix(in srgb, var(--accent) 12%, white)}.vsc-diff-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.vsc-diff-file-stat{font-variant-numeric:tabular-nums;flex:none;font-size:.72rem;font-weight:700}.vsc-diff-file-stat em{color:#1f7a38;margin-right:.3rem;font-style:normal}.vsc-diff-file-stat strong{color:#b42318;font-weight:700}.vsc-diff-main{grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.vsc-diff-toolbar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 30%, white);justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .7rem;font-weight:650;display:flex}.vsc-diff-split{grid-template-columns:1fr 1fr;min-height:0;display:grid}.vsc-diff-col{border-left:1px solid var(--line);grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.vsc-diff-col:first-child{border-left:0}.vsc-diff-col-head{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);background:color-mix(in srgb, var(--bg1) 55%, white);border-bottom:1px solid var(--line);padding:.35rem .7rem;font-size:.75rem;font-weight:750}.vsc-diff-scroll{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.45;overflow:auto}.vsc-hunk-skip{background:color-mix(in srgb, var(--bg1) 70%, white);color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.22rem .7rem;font-size:.72rem}.vsc-line{white-space:pre;grid-template-columns:3.1rem minmax(0,1fr);min-height:1.45em;display:grid}.vsc-gutter{text-align:right;color:color-mix(in srgb, var(--muted) 70%, white);-webkit-user-select:none;user-select:none;border-right:1px solid color-mix(in srgb, var(--line) 80%, transparent);padding:0 .4rem}.vsc-code{overflow-wrap:normal;padding:0 .65rem}.vsc-line.is-ins{box-shadow:inset 3px 0 #2ea043}.vsc-line.is-ins .vsc-gutter{color:#1f7a38}.vsc-line.is-del{box-shadow:inset 3px 0 #f85149}.vsc-line.is-del .vsc-gutter{color:#b42318}.vsc-line.is-blank .vsc-code{color:var(--muted);visibility:visible;font-style:italic}.vsc-line.is-empty{background:0 0}.vsc-line.is-empty .vsc-code{visibility:hidden}@media (width<=900px){.vsc-diff{grid-template-columns:1fr}.vsc-diff-files{border-right:0;border-bottom:1px solid var(--line);max-height:10rem}.vsc-diff-split{grid-template-columns:1fr}}.latex-source-pane .latex-source,.latex-source-pane textarea.latex-source{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;background:#fff;border-radius:0 0 8px 8px;height:min(62vh,640px);min-height:min(62vh,640px);max-height:calc(100vh - 12rem);margin:0;padding:.7rem .8rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;line-height:1.45}.latex-source-pane textarea.latex-source:focus{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));box-shadow:0 0 0 3px var(--accent-soft);outline:none}.latex-source-pane .latex-source-wrap textarea.latex-source:focus{box-shadow:none;outline:none}.editor-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.15rem;width:100%;display:grid}.latex-preview-pane{align-self:start;min-width:0;max-width:100%;max-height:calc(100vh - 5.2rem);position:sticky;top:4.6rem;overflow:auto}.latex-preview-pane .latex-preview{overflow-wrap:anywhere;word-break:break-word;min-width:0}.latex-preview-pane .katex-display,.latex-preview-pane .lp-display{max-width:100%;overflow:auto hidden}@media (width<=1100px){.editor-grid{grid-template-columns:1fr}.latex-source-pane,.latex-preview-pane{max-height:none;position:static}.latex-source-pane .latex-source,.latex-source-pane textarea.latex-source{height:min(50vh,480px)}}.media-slots{gap:.75rem;margin-top:1rem;display:grid}.media-slot{border:1px dashed var(--line);background:#ffffffa6;border-radius:8px;grid-template-columns:96px 1fr auto;align-items:center;gap:.75rem;padding:.75rem;transition:border-color .18s,transform .18s;display:grid}.media-slot:hover{border-color:var(--accent)}.media-slot img{object-fit:cover;border:1px solid var(--line);background:#fff;border-radius:4px;width:96px;height:72px}.media-slot .ph{background:color-mix(in srgb, var(--bg1) 80%, white);width:96px;height:72px;color:var(--muted);border-radius:4px;place-items:center;font-size:.8rem;display:grid}.media-slot-meta{gap:.28rem;min-width:0;display:grid}.media-slot-width{color:var(--muted);align-items:center;gap:.4rem;font-size:.82rem;display:flex}.media-slot-scale{border:1px solid var(--line);width:4.2rem;font:inherit;color:var(--ink);background:#fff;border-radius:6px;padding:.22rem .4rem;font-size:.9rem}.chat-box{flex-direction:column;gap:.6rem;max-height:420px;display:flex;overflow:auto}.bubble{background:color-mix(in srgb, var(--bg1) 70%, white);white-space:pre-wrap;animation:rise .28s var(--ease-out) both;border-radius:10px;padding:.65rem .8rem}.bubble.user{background:var(--accent-soft);align-self:flex-end}.bubble.assistant{white-space:normal;align-self:stretch;padding-bottom:1.35rem;position:relative}.bubble-latency{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.01em;-webkit-user-select:none;user-select:none;font-size:.72rem;line-height:1;position:absolute;bottom:.32rem;right:.7rem}.chat-md{gap:.55rem;font-size:.95rem;line-height:1.45;display:grid}.chat-md-h{font-family:var(--font-display);margin:.15rem 0 0;font-weight:700;line-height:1.25}.chat-md h1.chat-md-h{font-size:1.15rem}.chat-md h2.chat-md-h{font-size:1.05rem}.chat-md h3.chat-md-h,.chat-md h4.chat-md-h{font-size:1rem}.chat-md-p{margin:0}.chat-md-list{margin:0;padding-left:1.2rem}.chat-md-list li+li{margin-top:.2rem}.chat-md-hr{border:0;border-top:1px solid var(--line);margin:.2rem 0}.chat-md-display{padding:.15rem 0;overflow-x:auto}.chat-md code{background:color-mix(in srgb, var(--bg1) 70%, white);border-radius:4px;padding:.05rem .28rem;font-size:.88em}.chat-md-tex{color:var(--muted);font-size:.92em}.chat-md .katex-display{margin:.35rem 0}.admin-kv{gap:.55rem;margin:0;display:grid}.admin-kv>div{grid-template-columns:7rem 1fr;align-items:baseline;gap:.5rem;display:grid}.admin-kv dt{color:var(--muted);margin:0;font-size:.86rem}.admin-kv dd{margin:0;font-weight:600}.admin-mini-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.admin-mini-list li{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, white 78%, var(--bg0));flex-wrap:wrap;align-items:baseline;gap:.45rem .75rem;padding:.45rem .55rem;font-size:.9rem;display:flex}.admin-mini-list code{color:var(--accent-deep);font-size:.78rem}.admin-scroll-list{overscroll-behavior:contain;max-height:260px;padding-right:.15rem;overflow-y:auto}.admin-mini-list li.is-active{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--accent-soft)}.admin-chat-item{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;margin:0;padding:0;display:flex}.admin-chat-item:disabled{opacity:.65;cursor:wait}.admin-chats-hint{margin:0 0 .55rem;font-size:.86rem}.admin-chat-transcript{border-top:1px solid var(--line);margin-top:1.1rem;padding-top:1rem}.admin-chat-msgs{overscroll-behavior:contain;gap:.55rem;max-height:420px;padding-right:.15rem;display:grid;overflow-y:auto}.admin-chat-msg{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, white 78%, var(--bg0));margin:0;padding:.65rem .75rem}.admin-chat-msg.role-user{border-left:3px solid var(--accent)}.admin-chat-msg.role-assistant{border-left:3px solid color-mix(in srgb, var(--ink) 35%, var(--line))}.admin-chat-msg header{flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;margin-bottom:.35rem;font-size:.86rem;display:flex}.admin-chat-msg p{white-space:pre-wrap;word-break:break-word;margin:0;font-size:.92rem;line-height:1.45}.admin-chat-excerpt{margin:0 0 .35rem!important;font-size:.84rem!important}.admin-user-detail h4{margin:0 0 .55rem}.admin-layout{gap:1rem;min-width:0;display:grid}.admin-tabs{border:1px solid var(--line);background:color-mix(in srgb, white 82%, var(--bg0));box-shadow:var(--shadow-soft,0 1px 0 color-mix(in srgb, var(--ink) 4%, transparent));border-radius:10px;flex-wrap:wrap;gap:.2rem;padding:.2rem;display:flex}.admin-tabs a{color:var(--muted);border-radius:7px;align-items:center;padding:.42rem .85rem;font-size:.92rem;font-weight:500;text-decoration:none;transition:background .16s,color .16s;display:inline-flex}.admin-tabs a:hover{color:var(--accent-deep);background:color-mix(in srgb, var(--bg1) 55%, white)}.admin-tabs a.active{color:var(--accent-deep);background:var(--accent-soft);font-weight:600}.admin-content{min-width:0}.topnav-right .online-indicator{flex-shrink:0;padding:.32rem .55rem;font-size:.82rem}@media (width<=520px){.topnav-right .online-indicator .online-label{font-size:.78rem}}.admin-page{gap:1rem;display:grid}.admin-crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;font-size:.9rem;display:flex}.admin-crumbs a{color:var(--accent-deep);font-weight:600}.admin-page-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.65rem 1.2rem;display:flex}.admin-page-head h1{margin:0 0 .25rem;font-size:clamp(1.45rem,2.2vw,1.9rem);line-height:1.15}.admin-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.72rem;font-weight:700}.admin-lead{max-width:52rem;color:var(--muted);margin:0;font-size:.95rem;line-height:1.45}.admin-page-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.admin-inline-error{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.admin-sheet{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:var(--surface);box-shadow:var(--shadow);gap:0;display:grid;overflow:hidden}.admin-sheet-compact{max-width:720px}.admin-block{border-bottom:1px solid var(--line);padding:1rem 1.1rem 1.15rem}.admin-block:last-child{border-bottom:0}.admin-block-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;margin-bottom:.75rem;display:flex}.admin-block-head h2{margin:0 0 .2rem;font-size:1.1rem}.admin-block-head p{color:var(--muted);margin:0;font-size:.9rem}.admin-fields{gap:.75rem;display:grid}.admin-fields-2{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width<=720px){.admin-fields-2{grid-template-columns:1fr}}.admin-choice-grid{grid-template-columns:repeat(auto-fill,minmax(160px,200px));gap:.5rem;display:grid}.admin-choice-grid-sm{grid-template-columns:repeat(auto-fill,minmax(140px,180px))}.admin-choice-card{appearance:none;text-align:left;border-radius:var(--radius);border:1px solid var(--line);color:inherit;cursor:pointer;font:inherit;background:#fff;gap:.15rem;padding:.65rem .7rem;transition:border-color .16s,background .16s;display:grid}.admin-choice-card:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}.admin-choice-card.is-active{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--accent-soft)}.admin-choice-idx{color:var(--accent);letter-spacing:.04em;font-size:.75rem;font-weight:700}.admin-choice-card strong{font-size:.98rem;line-height:1.25}.admin-choice-card em{color:var(--muted);font-size:.78rem;font-style:normal}.admin-tile-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:.6rem;display:grid}.admin-tile{appearance:none;border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);text-align:center;cursor:pointer;min-height:4.6rem;font:inherit;color:inherit;background:#fff;align-content:center;justify-items:center;gap:.22rem;padding:.85rem .9rem .8rem;transition:border-color .16s,background .16s,box-shadow .16s;display:grid}.admin-tile strong{font-size:.98rem;font-weight:700;line-height:1.2}.admin-tile span{color:var(--muted);letter-spacing:.02em;font-size:.75rem}.admin-tile:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:color-mix(in srgb, var(--accent-soft) 55%, white)}.admin-tile.is-active{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));background:var(--accent-soft);color:var(--accent-deep);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent)}.admin-tile.is-active span{color:color-mix(in srgb, var(--accent-deep) 70%, var(--muted))}.admin-seg{background:color-mix(in srgb, var(--bg1) 70%, white);border:1px solid var(--line);border-radius:999px;gap:.1rem;padding:.15rem;display:inline-flex}.admin-seg-wide{width:fit-content;display:flex}.admin-seg button{appearance:none;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.4rem .85rem;font-size:.86rem;font-weight:600}.admin-seg button.is-active,.admin-seg button.active{color:var(--accent-deep);background:#fff;box-shadow:0 2px 8px #0a16280f}.admin-sheet-foot{background:color-mix(in srgb, var(--bg1) 35%, white);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:.85rem 1.1rem;display:flex}.admin-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}@media (width<=900px){.admin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-metric{border-radius:calc(var(--radius) + 2px);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);gap:.25rem;padding:.85rem .95rem;display:grid}.admin-metric span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700}.admin-metric strong{font-family:var(--font-display);color:var(--ink);font-size:1.55rem;line-height:1}.admin-quick-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.65rem;display:grid}.admin-quick-card{border-radius:calc(var(--radius) + 2px);border:1px solid var(--line);background:var(--surface);color:inherit;box-shadow:var(--shadow);gap:.2rem;padding:.9rem 1rem;text-decoration:none;transition:border-color .16s;display:grid}.admin-quick-card:hover{color:inherit;border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}.admin-quick-card strong{font-family:var(--font-display);font-size:1.05rem}.admin-quick-card span{color:var(--muted);font-size:.88rem}.admin-quick-card.is-accent{background:color-mix(in srgb, var(--accent-soft) 70%, white)}.admin-section-board{gap:.75rem;display:grid}.admin-section-panel{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.admin-section-panel>header{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 40%, white);justify-content:space-between;align-items:start;gap:1rem;padding:.85rem 1rem;display:flex}.admin-section-panel>header h2{margin:.1rem 0;font-size:1.15rem}.admin-section-panel>header em{color:var(--accent-deep);background:var(--accent-soft);border-radius:999px;padding:.25rem .55rem;font-size:.8rem;font-style:normal;font-weight:700}.admin-section-panel.tone-2>header,.admin-section-panel.tone-3>header{background:color-mix(in srgb, var(--bg1) 40%, white)}.admin-empty-line{margin:0;padding:.9rem 1rem 1rem}.admin-course-rows{margin:0;padding:.25rem 0;list-style:none}.admin-course-rows li{border-top:1px solid color-mix(in srgb, var(--line) 80%, transparent);grid-template-columns:1fr auto auto auto;align-items:center;gap:.65rem;padding:.7rem 1rem;display:grid}.admin-course-rows li:first-child{border-top:0}.admin-course-rows strong{display:block}.admin-course-rows .muted{font-size:.82rem}.admin-draft-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.admin-draft-card{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb, var(--surface) 94%, white);box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.85rem 1.1rem;padding:.95rem 1.05rem;display:grid}.admin-draft-card-body strong{font-size:1.05rem;display:block}.admin-draft-card-body .muted{margin:.2rem 0 0}.admin-draft-snippet{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:.45rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;overflow:hidden}.admin-draft-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}@media (width<=720px){.admin-draft-card{grid-template-columns:1fr}}.catalog-form-lead{max-width:62ch;margin:-.35rem 0 .25rem;line-height:1.45}.catalog-form h3,.catalog-form h2{margin-top:0}.admin-quiz-list{gap:.45rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.admin-quiz-list li{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:.65rem;padding:.45rem .65rem;display:grid}.admin-quiz-list-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.admin-quiz-list-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.35rem;display:flex}.quiz-options-editor{gap:.5rem;margin:.35rem 0 1rem;display:grid}.quiz-option-row{border:1px solid var(--line);background:linear-gradient(165deg, color-mix(in srgb, white 94%, var(--bg1)), white);box-shadow:0 1px 0 color-mix(in srgb, var(--ink) 3%, transparent);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.55rem;padding:.55rem .6rem .55rem .65rem;transition:border-color .16s,box-shadow .16s,background .16s;display:grid}.quiz-option-row:focus-within{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));box-shadow:0 0 0 3px var(--accent-soft)}.quiz-option-row.is-correct{border-color:color-mix(in srgb, var(--ok) 40%, var(--line));background:linear-gradient(165deg, color-mix(in srgb, var(--ok) 7%, white), white)}.quiz-option-letter{letter-spacing:.04em;width:1.85rem;height:1.85rem;color:var(--accent-deep);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 18%, var(--line));border-radius:9px;flex-shrink:0;place-items:center;font-size:.78rem;font-weight:750;display:inline-grid}.quiz-option-row.is-correct .quiz-option-letter{color:var(--ok);background:color-mix(in srgb, var(--ok) 12%, white);border-color:color-mix(in srgb, var(--ok) 28%, white)}.quiz-option-row input{width:100%;min-width:0;font:inherit;color:var(--ink);box-shadow:none!important;background:0 0!important;border:0!important;padding:.35rem .15rem!important}.quiz-option-row input::placeholder{color:color-mix(in srgb, var(--muted) 78%, white)}.quiz-option-row input:focus{outline:none}.quiz-correct-chip{appearance:none;border:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 40%, white);color:var(--muted);font:inherit;letter-spacing:.02em;cursor:pointer;border-radius:999px;padding:.35rem .7rem;font-size:.78rem;font-weight:650;transition:background .14s,border-color .14s,color .14s}.quiz-correct-chip:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--line));color:var(--accent-deep)}.quiz-correct-chip.is-on{border-color:color-mix(in srgb, var(--ok) 40%, var(--line));background:color-mix(in srgb, var(--ok) 14%, white);color:var(--ok)}.quiz-option-remove{appearance:none;width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;font-size:1.2rem;line-height:1;transition:background .14s,color .14s;display:inline-grid}.quiz-option-remove:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, white);color:var(--danger)}.quiz-option-remove:disabled{opacity:.28;cursor:not-allowed}.quiz-option-add{appearance:none;border:1px dashed color-mix(in srgb, var(--accent) 35%, var(--line));background:color-mix(in srgb, var(--accent) 4%, white);color:var(--accent-deep);font:inherit;cursor:pointer;border-radius:11px;justify-self:start;align-items:center;gap:.4rem;padding:.55rem .85rem;font-size:.9rem;font-weight:650;transition:background .14s,border-color .14s;display:inline-flex}.quiz-option-add span{background:var(--accent-soft);border-radius:999px;place-items:center;width:1.3rem;height:1.3rem;font-size:1rem;line-height:1;display:inline-grid}.quiz-option-add:hover:not(:disabled){background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 55%, var(--line))}.quiz-option-add:disabled{opacity:.4;cursor:not-allowed}@media (width<=640px){.quiz-option-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"letter input remove""letter correct remove"}.quiz-option-letter{grid-area:letter}.quiz-option-row input{grid-area:input}.quiz-correct-chip{grid-area:correct;justify-self:start}.quiz-option-remove{grid-area:remove}}.i18n-field{border:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 35%, white);border-radius:10px;margin-bottom:.9rem;padding:.85rem .95rem}.i18n-field-head{margin-bottom:.55rem}.i18n-field-head strong,.field-tip-label{font-size:.95rem}.i18n-field-grid{margin-top:0}.field-tip-row{align-items:center;gap:.4rem;display:inline-flex}.field-tip-row label,.field-tip-label{color:var(--ink);margin:0;font-size:.9rem;font-weight:600}.field-tip-btn{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));background:color-mix(in srgb, var(--accent) 8%, white);width:1.25rem;height:1.25rem;color:var(--accent-deep);font:inherit;cursor:help;border-radius:50%;flex-shrink:0;place-items:center;padding:0;font-size:.75rem;font-weight:800;line-height:1;display:inline-grid}.field-tip-btn:hover,.field-tip-btn:focus-visible{background:var(--accent);color:#fff;border-color:var(--accent);outline:none}.field input::placeholder,.field textarea::placeholder{color:color-mix(in srgb, var(--muted) 75%, transparent)}.catalog-index-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.catalog-index-head h1{margin:0 0 .35rem}.catalog-form-wide{max-width:760px}.format-checks{flex-wrap:wrap;gap:.5rem;display:flex}.format-check{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .7rem;font-size:.88rem;font-weight:600;display:inline-flex}.format-check:has(input:checked){border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:color-mix(in srgb, var(--accent) 8%, white);color:var(--accent-deep)}.section-chips{flex-wrap:wrap;gap:.45rem;display:flex}.section-chip{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .7rem;font-size:.88rem;font-weight:600;display:inline-flex}.section-chip em{color:var(--accent-deep);background:color-mix(in srgb, var(--accent) 10%, white);border-radius:999px;padding:.1rem .4rem;font-size:.75rem;font-style:normal;font-weight:800}.status-pill{letter-spacing:.03em;border:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 55%, white);border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.status-pill.status-published{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 35%, var(--line));background:color-mix(in srgb, var(--ok) 8%, white)}.status-pill.status-draft{color:var(--accent-deep)}.status-pill.status-archived{color:var(--muted)}.btn-sm{padding:.35rem .7rem!important;font-size:.85rem!important}.catalog-tabs{margin-bottom:.2rem}.structure-tree{gap:.85rem;display:grid}.structure-module{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.structure-module>header{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 40%, white);align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex}.structure-module-meta{flex:1;min-width:0}.structure-module h3{margin:0;font-size:1.05rem}.structure-module header .muted{margin:.2rem 0 0;font-size:.82rem}.structure-inline-form{border-top:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 28%, white);gap:.75rem;padding:.9rem 1rem 1rem;display:grid}.structure-module.structure-inline-form{border-style:dashed;border-top-width:0;border-top-color:currentColor}.structure-inline-title{color:var(--ink);margin:0;font-size:.95rem;font-weight:700}.structure-index{width:1.7rem;height:1.7rem;color:var(--hero-text);background:var(--accent-deep);border-radius:50%;flex-shrink:0;place-items:center;font-size:.85rem;font-weight:800;display:grid}.structure-lessons{margin:0;padding:.35rem 0;list-style:none}.structure-lessons li{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.65rem 1rem;display:grid}.structure-lessons li:first-child{border-top:0}.structure-lesson-idx{color:var(--muted);font-size:.78rem;font-weight:700}.structure-lessons strong{margin-bottom:.25rem;display:block}.structure-empty{grid-template-columns:1fr!important;display:block!important}.online-indicator{border:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 50%, white);color:var(--ink);border-radius:999px;align-items:center;gap:.45rem;padding:.4rem .65rem;font-size:.86rem;font-weight:700;text-decoration:none;transition:border-color .16s,background .16s,transform .16s;display:inline-flex}.online-indicator:hover{border-color:color-mix(in srgb, var(--ok) 40%, var(--line));background:#fff;transform:translateY(-1px)}.online-indicator.is-live{border-color:color-mix(in srgb, var(--ok) 35%, var(--line));background:color-mix(in srgb, var(--ok) 8%, white)}.online-indicator.is-error{opacity:.7}.online-dot{background:var(--muted);width:.55rem;height:.55rem;box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 35%, transparent);border-radius:50%;flex-shrink:0}.online-indicator.is-live .online-dot,.online-badge .online-dot{background:var(--ok);animation:1.8s ease-in-out infinite online-pulse}.online-badge{color:var(--ok);align-items:center;gap:.35rem;font-size:.86rem;font-weight:700;display:inline-flex}@keyframes online-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 40%, transparent)}50%{box-shadow:0 0 0 6px #0000}}.table tbody tr.row-selected{background:color-mix(in srgb, var(--accent) 10%, transparent)}.role-pill{letter-spacing:.03em;background:color-mix(in srgb, var(--bg1) 70%, white);border:1px solid var(--line);border-radius:999px;padding:.12rem .5rem;font-size:.78rem;font-weight:700;display:inline-block}.role-pill.role-admin{background:color-mix(in srgb, var(--accent) 12%, white);color:var(--accent-deep);border-color:color-mix(in srgb, var(--accent) 30%, var(--line))}.role-pill.role-superadmin{background:color-mix(in srgb, var(--accent) 22%, white);color:var(--accent-deep);border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.role-pill.role-reviewer{background:color-mix(in srgb, var(--highlight) 16%, white);color:var(--ink)}.admin-detail-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.admin-detail-grid h4{margin:0 0 .45rem;font-size:.9rem}.admin-detail-stack{gap:1.15rem;display:grid}.admin-detail-split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.15rem;display:grid}.admin-detail-panel{grid-template-rows:auto auto auto;align-content:start;gap:.45rem;min-width:0;display:grid}.admin-detail-panel h4{min-height:1.35rem;margin:0;font-size:.95rem;line-height:1.25}.admin-panel-lead{min-height:2.8em;margin:0;font-size:.86rem;line-height:1.4}.admin-detail-panel .admin-scroll-list{margin:0}.admin-detail-panel .admin-mini-list li{padding:.55rem .65rem}.admin-detail-panel .admin-chat-item strong{-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.admin-enrollment-detail{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));background:color-mix(in srgb, var(--accent) 5%, white);border-radius:10px;gap:.55rem;margin-top:.35rem;padding:.75rem .8rem;display:grid}.admin-enrollment-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.45rem .75rem;display:flex}.admin-enrollment-detail-head strong{font-size:.95rem;line-height:1.3}.admin-lesson-progress-list{max-height:180px;overflow-y:auto}.admin-lesson-progress-list strong{-webkit-line-clamp:1;-webkit-box-orient:vertical;flex:1;min-width:0;display:-webkit-box;overflow:hidden}@media (width<=900px){.admin-detail-split{grid-template-columns:1fr}}.admin-pre{white-space:pre-wrap;word-break:break-word;background:color-mix(in srgb, var(--bg1) 55%, white);border:1px solid var(--line);border-radius:8px;max-height:320px;margin:0;padding:.7rem .8rem;font-size:.82rem;line-height:1.4;overflow:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:.55rem .4rem;font-size:.95rem}.table tbody tr{transition:background .14s}.table tbody tr:hover{background:color-mix(in srgb, var(--accent) 5%, transparent)}.tabs{gap:.4rem;margin-bottom:.8rem;display:flex}.tabs button{border:1px solid var(--line);cursor:pointer;font:inherit;background:#fff;border-radius:999px;padding:.3rem .8rem;transition:background .16s,color .16s,border-color .16s}.tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.8rem;display:grid}.stat{border:1px solid var(--line);transition:transform .2s var(--ease-out), box-shadow .2s ease;animation:stagger-in .48s var(--ease-out) both;background:#fff;border-radius:8px;padding:.9rem}.stat:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.stat strong{font-size:1.4rem;font-family:var(--font-display);display:block}.stat span{color:var(--muted);font-size:.9rem}.list-plain{margin:0;padding-left:1.1rem}.row-actions{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.landing{min-height:100vh}.landing-main{width:min(var(--max), calc(100% - 2rem));margin:0 auto;padding:0 0 3rem}.landing-section{border-bottom:1px solid var(--line);padding:3.4rem 0 2.2rem}.landing-section:last-of-type{border-bottom:0}.landing-cta-band{border-bottom:0;grid-template-columns:1.3fr auto;align-items:end;gap:1.6rem 2rem;margin-bottom:.5rem;display:grid}.cta-band-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}@media (width<=800px){.landing-cta-band{grid-template-columns:1fr}.cta-band-actions{justify-content:flex-start}}.landing-kicker{letter-spacing:.14em;text-transform:uppercase;color:#0000;background:linear-gradient(90deg, var(--accent), var(--highlight));-webkit-background-clip:text;background-clip:text;margin:0 0 .55rem;font-size:.78rem;font-weight:700}.landing-section h2{max-width:22ch;margin:0 0 .85rem;font-size:clamp(1.55rem,3.2vw,2.15rem)}.landing-promise{line-height:1.2;max-width:28ch!important;font-size:clamp(1.7rem,3.6vw,2.4rem)!important}.landing-lead{max-width:56ch;color:var(--muted);margin:0;font-size:1.05rem;line-height:1.55}.landing-band{padding-left:max(1rem, calc(50vw - var(--max) / 2));padding-right:max(1rem, calc(50vw - var(--max) / 2));background:color-mix(in srgb, var(--bg1) 70%, white);border-bottom:1px solid var(--line);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.viz{width:100%;height:auto;display:block}.viz-label{fill:var(--muted);font-size:12px;font-family:var(--font-body)}.viz-title{fill:var(--ink);font-size:14px;font-weight:700;font-family:var(--font-display)}.viz-tiny{fill:var(--muted);font-size:11px;font-family:var(--font-body)}.viz-node{fill:var(--accent-deep);font-size:14px;font-weight:700;font-family:var(--font-display)}.viz-math{fill:var(--accent-deep);font-size:18px;font-family:var(--font-display)}.viz-dash{animation:18s linear infinite dash-flow}.viz-wave{stroke-dasharray:180;animation:3.6s ease-in-out infinite alternate wave-draw}@keyframes dash-flow{to{stroke-dashoffset:-140px}}@keyframes wave-draw{0%{stroke-dashoffset:40px}to{stroke-dashoffset:-40px}}.viz-split{grid-template-columns:1.05fr 1fr;align-items:center;gap:2rem 2.4rem;display:grid}.viz-split-reverse>:first-child{order:2}@media (width<=860px){.viz-split{grid-template-columns:1fr}.viz-split-reverse>:first-child{order:0}}.viz-frame{border:1px solid var(--line);background:radial-gradient(420px 180px at 80% 0%, color-mix(in srgb, var(--highlight) 12%, transparent), transparent 70%), linear-gradient(180deg, color-mix(in srgb, var(--bg1) 55%, white), white);padding:1.1rem 1.2rem .9rem}.viz-frame-wide{margin-top:1.2rem}.viz-caption{color:var(--muted);text-align:center;margin:.55rem 0 0;font-size:.82rem}.landing-lead.short{max-width:40ch;font-size:.98rem}.feature-mosaic{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}@media (width<=900px){.feature-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.feature-mosaic{grid-template-columns:1fr}}.feature-tile{border-top:2px solid color-mix(in srgb, var(--accent) 55%, var(--highlight));background:linear-gradient(180deg, color-mix(in srgb, var(--bg1) 65%, white), white);transition:transform .22s var(--ease-out), border-color .22s ease, box-shadow .22s ease;padding:1.15rem 1.1rem 1.2rem}.feature-tile.is-visible:hover{border-top-color:var(--highlight);box-shadow:0 10px 28px color-mix(in srgb, var(--accent) 10%, transparent);transform:translateY(-3px)}.feature-tile-icon{width:2.4rem;height:2.4rem;color:var(--accent-deep);place-items:center;margin-bottom:.7rem;display:grid}.feature-glyph,.format-glyph{width:100%;height:100%}.feature-tile h3{margin:0 0 .45rem;font-size:1.05rem;line-height:1.25}.feature-tile p{color:var(--muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:.92rem;line-height:1.45;display:-webkit-box;overflow:hidden}.landing-bullets{gap:.7rem;max-width:62ch;margin:1.1rem 0 0;padding:0;list-style:none;display:grid}.landing-bullets.compact{gap:.55rem;max-width:48ch}.landing-bullets li{color:var(--ink);padding-left:1.2rem;line-height:1.5;position:relative}.landing-bullets li:before{content:"";background:var(--accent);border-radius:50%;width:.45rem;height:.45rem;position:absolute;top:.55em;left:0}.how-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.4rem;display:grid}@media (width<=900px){.how-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.how-rail{grid-template-columns:1fr}}.how-rail-item{border-top:1px solid var(--line);padding-top:.75rem}.how-rail-item h3{margin:0 0 .4rem;font-size:.98rem}.how-rail-item p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.45}.format-visual-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:1.4rem;display:grid}@media (width<=780px){.format-visual-grid{grid-template-columns:1fr}}.format-visual{text-align:left;padding:1.1rem .2rem .4rem}.format-visual .format-glyph{width:3rem;height:3rem;color:var(--accent-deep);margin-bottom:.65rem}.format-visual h3{margin:0 0 .4rem;font-size:1.1rem}.format-visual p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.5}.course-visual-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.4rem;display:grid}@media (width<=860px){.course-visual-grid{grid-template-columns:1fr}}.course-visual{border:1px solid var(--line);transition:border-color .18s ease, transform .18s var(--ease-out);background:#fff;padding:1.15rem 1.1rem 1.25rem}.course-visual.is-visible:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));transform:translateY(-3px)}.course-visual-top{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.65rem;display:flex}.course-visual .viz-mini{flex-shrink:0;width:7.2rem}.demo-course-section{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);font-size:.72rem;font-weight:700;display:inline-block}.course-visual h3{margin:0 0 .45rem;font-size:1.15rem}.course-visual p{color:var(--muted);margin:0;font-size:.93rem;line-height:1.5}.demo-course-meta{margin-top:.55rem!important;font-size:.86rem!important}.landing-cta-inline{margin-top:1.5rem}.audience-constellation{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:1.5rem;display:flex}.audience-node{border:1px solid var(--line);background:#fff;align-items:center;gap:.45rem;padding:.55rem .95rem;font-size:.95rem;display:inline-flex;position:relative}.audience-node:before{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.audience-node.n2:before{background:var(--highlight)}.audience-node.n3:before{background:var(--accent-deep)}.audience-node.n2{translate:0 6px}.audience-node.n3{translate:0 -4px}.reveal.is-visible .audience-node.n2{animation-name:node-pop}.audience-node:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.forms-split{grid-template-columns:1fr 1fr;gap:2.2rem 2.5rem;display:grid}@media (width<=800px){.forms-split{grid-template-columns:1fr}}.landing-form{max-width:640px;margin-top:1.2rem}.marketing-page{background:radial-gradient(900px 360px at 10% -10%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 60%), var(--bg0);flex-direction:column;min-height:100vh;display:flex}.marketing-nav{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;background:color-mix(in srgb, var(--surface) 88%, transparent)!important}.marketing-main{width:min(var(--max), calc(100% - 2rem));flex:1;margin:0 auto;padding:2.4rem 0 3rem}.marketing-page-head{max-width:52ch;margin-bottom:2rem}.marketing-page-head h1{margin:0 0 .7rem;font-size:clamp(1.8rem,3.5vw,2.5rem)}.contact-panel{padding:1.3rem 0 .4rem}.legal-main{max-width:68ch}.legal-para{color:var(--muted);margin:0 0 1rem;line-height:1.6}.site-footer{border-top:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--bg1) 55%, white), color-mix(in srgb, var(--bg1) 80%, white));margin-top:auto}.site-footer-inner{width:min(var(--max), calc(100% - 2rem));margin:0 auto;padding:2.6rem 0 1.4rem}.site-footer-grid{grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:1.8rem 1.5rem;display:grid}@media (width<=860px){.site-footer-grid{grid-template-columns:1fr 1fr}}@media (width<=520px){.site-footer-grid{grid-template-columns:1fr}}.site-footer-brand{font-family:var(--font-display);color:var(--ink);font-size:1.45rem;text-decoration:none}.site-footer-brand:hover{color:var(--accent-deep)}.site-footer-tagline{color:var(--muted);max-width:34ch;margin:.65rem 0 0;font-size:.92rem;line-height:1.5}.site-footer-heading{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 .7rem;font-size:.78rem;font-weight:700}.site-footer-links{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.site-footer-links a{color:var(--ink);font-size:.95rem;text-decoration:none}.site-footer-links a:hover{color:var(--accent-deep);text-underline-offset:3px;text-decoration:underline}.site-footer-bottom{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.2rem;margin-top:2rem;padding-top:1.1rem;font-size:.86rem;display:flex}.site-footer-bottom p{margin:0}.landing>.site-footer{margin-top:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-plane:after,.hero-orb,.hero-grid-pulse:after,.hf-spin .hf-body,.hf-spin .hf-body-fast,.hf-wave,.hf-probe,.hf-glyph,.hf-stars circle,.hf-orbit-ring.b,.hf-sun-glow,.auth-aside-glow,.auth-aside-grid,.auth-aside-spin{animation:none!important}.hero-field,.reveal{opacity:1!important;transform:none!important}.hf-probe{opacity:.85;offset-distance:45%}}
