@font-face{font-family:Estedad;src:url(Estedad-Thin.ttf) format('truetype');font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:Estedad;src:url(Estedad-ExtraLight.ttf) format('truetype');font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:Estedad;src:url(Estedad-Light.ttf) format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Estedad;src:url(Estedad-Regular.ttf) format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Estedad;src:url(Estedad-SemiBold.ttf) format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Estedad;src:url(Estedad-Bold.ttf) format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Estedad;src:url(Estedad-ExtraBold.ttf) format('truetype');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(vazirmatn.ttf) format('truetype');font-weight:400;font-display:swap}
:root{
  --brand:#6A0DAD; --brand-2:#4E087F; --brand-soft:#F3EAF9; --brand-line:#DFC8EE;
  --gold:#B8860B; --gold-soft:#FBF5E7; --slate:#708090;
  --ink:#28123E; --ink-2:#3F4B57; --muted:#708090; --line:#E2E6EA; --line-2:#CBD2D8;
  --bg:#F5F5F5; --card:#FFFFFF; --dark:#21112F;
  --ok:#1F8A53; --err:#C02F45;
  --space-1:.35rem; --space-2:.55rem; --space-3:.8rem; --space-4:1rem; --space-5:1.35rem; --space-6:1.8rem; --space-7:2.4rem; --space-8:3.2rem;
  --r-sm:10px; --r-md:14px; --r-lg:20px; --r-xl:28px;
  --shadow-sm:0 1px 2px rgba(40,18,62,.05),0 5px 16px rgba(40,18,62,.04);
  --shadow:0 12px 30px -16px rgba(40,18,62,.22);
  --shadow-lg:0 28px 60px -28px rgba(40,18,62,.32);
  --max:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Estedad,Vazirmatn,system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.85;font-size:16px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{line-height:1.45;margin:0 0 .5rem;font-weight:800;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,4.4vw,3.2rem)}
h2{font-size:clamp(1.4rem,2.6vw,2.1rem)}
h3{font-size:1.12rem}
p{margin:0 0 1rem}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
table{border-collapse:collapse;width:100%}
input,select,textarea,button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.container{max-width:var(--max);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);width:100%}
.narrow-container{max-width:820px}
main{display:block;min-height:60vh}
.muted{color:var(--muted)}
.center-link{text-align:center;margin-top:2rem}
.dot{width:7px;height:7px;border-radius:50%;background:var(--brand);display:inline-block}
.pill{display:inline-block;background:var(--brand-soft);color:var(--brand-2);border-radius:999px;padding:.25rem .7rem;font-size:.74rem;font-weight:700;line-height:1.7;white-space:nowrap}
.eyebrow{display:inline-flex;align-items:center;gap:.45rem;color:var(--brand);font-size:.8rem;font-weight:800;letter-spacing:.02em;margin-bottom:.6rem}
.visual-glyph{font-size:2.1rem;color:rgba(255,255,255,.9)}
.visual-label{font-size:.72rem;letter-spacing:.14em;color:rgba(255,255,255,.75);font-weight:700}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1.5px solid transparent;border-radius:12px;padding:.72rem 1.35rem;font-weight:800;font-size:.92rem;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 10px 22px -12px rgba(124,31,209,.75)}
.btn-primary:hover{background:var(--brand-2)}
.btn-outline{background:#fff;border-color:var(--brand-line);color:var(--brand-2)}
.btn-outline:hover{border-color:var(--brand);background:var(--brand-soft)}
.btn-gold{background:var(--gold);color:#fff}
.btn-light{background:#fff;color:var(--brand-2)}
.btn-small{padding:.5rem 1rem;font-size:.84rem;border-radius:10px}
.btn.full{width:100%}
.inline-link{color:var(--brand);font-weight:800;border-bottom:2px solid var(--brand-line);padding-bottom:2px}
.inline-link:hover{border-color:var(--brand)}
.text-button{background:none;border:0;color:inherit;cursor:pointer;padding:0;text-align:start;font-weight:700}

/* notice */
.notice{border-radius:var(--r-md);padding:.8rem 1.1rem;margin:1rem 0;font-weight:700;font-size:.9rem;border:1.5px solid}
.notice.success{background:#eefaf3;border-color:#bfe7d1;color:#146b41}
.notice.error{background:#fdeef1;border-color:#f5c6d0;color:#9a1f33}
.field-error{display:block;color:#9a1f33;font-size:.78rem;font-weight:700;margin-top:.35rem}
input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"]{border-color:#c92f49;box-shadow:0 0 0 3px rgba(201,47,73,.1)}

/* header */
.site-header{background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60}
.header-inner{display:flex;align-items:center;gap:1.2rem;min-height:72px}
.brand{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.brand img{height:48px;width:auto;max-width:171px;object-fit:contain}.brand-name{font-size:1.25rem;font-weight:900;letter-spacing:-.03em;color:var(--ink)}
.main-nav{display:flex;gap:.35rem;margin-inline-start:auto;flex-wrap:wrap}
.main-nav a{padding:.5rem .8rem;border-radius:10px;font-weight:700;font-size:.9rem;color:var(--ink-2);transition:background .15s,color .15s}
.main-nav a:hover{background:var(--brand-soft);color:var(--brand-2)}
.main-nav a.active{color:var(--brand);background:var(--brand-soft)}
.header-actions{display:flex;gap:.5rem;align-items:center}
.menu-toggle{display:none;background:#fff;border:1.5px solid var(--line-2);border-radius:10px;font-size:1.1rem;padding:.35rem .7rem;cursor:pointer;line-height:1}
.mobile-nav{display:none;flex-direction:column;border-top:1px solid var(--line);padding:.6rem clamp(1rem,4vw,2rem) 1rem}
.mobile-nav a{padding:.65rem .5rem;border-radius:10px;font-weight:700;color:var(--ink-2)}
.mobile-nav a:hover{background:var(--brand-soft)}
.mobile-nav.open{display:flex}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2rem,4vw,3.5rem);align-items:center;padding-block:5rem}
.hero-copy,.hero-display{min-width:0}
.hero h1{margin-block:.4rem 1rem}
.hero h1 em{font-style:normal;color:var(--brand)}
.hero-copy p{font-size:1.06rem;color:var(--ink-2);max-width:44ch}
.hero-buttons{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.4rem 0 1.2rem}
.hero-proof{display:flex;gap:1.1rem;flex-wrap:wrap;color:var(--muted);font-size:.86rem;font-weight:700}
.hero-display{position:relative}
.hero-window{background:linear-gradient(160deg,#241a3d,#160f2a);border-radius:var(--r-xl);padding:0 0 1rem;box-shadow:var(--shadow-lg);overflow:hidden;color:#e8e2f5}
.window-top{display:flex;align-items:center;gap:.7rem;padding:.9rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.08);font-size:.78rem;color:#b9aed4}
.window-dots{letter-spacing:.2em;color:#6f5f96}
.window-top span:nth-child(2){margin-inline-start:auto;font-family:ui-monospace,monospace;direction:ltr}
.code-label{background:#f0b429;color:#241a3d;border-radius:6px;padding:.1rem .5rem;font-weight:800;font-size:.68rem}
.nova-bubble{display:flex;gap:.75rem;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);margin:1.1rem;padding:.85rem 1rem}
.nova-bubble img{width:52px;height:52px;flex-shrink:0}
.nova-bubble strong{display:block;font-size:.92rem}
.nova-bubble small{color:#b9aed4;font-size:.78rem}
.hero-window pre{margin:0 1.1rem;background:#120c22;border:1px solid rgba(255,255,255,.08);border-radius:var(--r-md);padding:1rem 1.1rem;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;line-height:2;direction:ltr;text-align:left;white-space:pre-wrap}
.code-blue{color:#7db3ff}.code-purple{color:#c08bff}.code-yellow{color:#f0b429}.code-green{color:#6fe3a1}
.window-footer{display:flex;align-items:center;gap:.6rem;margin:1.1rem 1.1rem 0;font-size:.8rem;color:#cfc6e6;flex-wrap:wrap}
.window-footer a{margin-inline-start:auto;color:#f0b429;font-weight:800}
.status-dot{width:7px;height:7px;border-radius:50%;background:#6fe3a1;display:inline-block;margin-inline-end:.4rem}
.floating-note{position:absolute;inset-inline-start:-14px;bottom:-18px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow);padding:.6rem .9rem;display:flex;align-items:center;gap:.55rem;font-size:.8rem}
.floating-note span{color:var(--brand);font-weight:800}
.floating-note strong{display:block;font-size:.84rem}
.floating-note small{color:var(--muted)}

/* metrics */
.metrics{background:#fff;border-block:1px solid var(--line)}
.metrics-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding-block:1.8rem;text-align:center}
.metrics-inner strong{display:block;font-size:1.6rem;color:var(--brand);font-weight:800}
.metrics-inner span{color:var(--muted);font-size:.85rem;font-weight:700}

/* sections */
.section{padding-block:clamp(2.5rem,6vw,4.5rem)}
.alt-section{background:#fff;border-block:1px solid var(--line)}
.section-header{max-width:62ch;margin-bottom:2rem}
.section-header p{color:var(--ink-2);margin:0}
.section-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.section-row .section-header{margin-bottom:2rem}

/* features */
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.feature{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.6rem;box-shadow:var(--shadow-sm);transition:transform .18s,box-shadow .18s}
.feature:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.feature-icon{width:44px;height:44px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:1.25rem;margin-bottom:.9rem}
.feature-n{display:block;font-size:.7rem;letter-spacing:.14em;color:var(--muted);font-weight:800;margin-bottom:.3rem}
.feature p{margin:0;color:var(--ink-2);font-size:.92rem}


/* course workspace */
.course-workspace{padding:clamp(1.2rem,3vw,2.5rem);max-width:1500px;margin-inline:auto}
.workspace-header{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-end;margin-bottom:1.5rem}
.workspace-header h1{margin:.35rem 0 .5rem;font-size:clamp(1.5rem,3vw,2.4rem)}
.workspace-header p{margin:0;color:var(--ink-2);max-width:70ch;line-height:1.9}
.workspace-meta{display:flex;gap:.6rem;flex-wrap:wrap;flex-shrink:0}
.workspace-meta span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.55rem .8rem;color:var(--muted);font-size:.82rem;font-weight:800}
.workspace-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.2rem;align-items:start}
.workspace-main{min-width:0}
.video-placeholder{aspect-ratio:16/9;background:linear-gradient(135deg,#171329,#30204d);border:1px solid #453365;border-radius:var(--r-lg);display:grid;place-items:center;overflow:hidden;box-shadow:0 24px 60px -35px rgba(29,15,58,.8)}
.video-placeholder.has-aparat{display:block;background:#141027}
.aparat-embed,.aparat-embed iframe{display:block;width:100%;height:100%;border:0}
.workspace-video-note{font-size:.83rem;color:var(--muted);margin:.7rem .25rem 0;line-height:1.8}
.video-placeholder-inner{display:grid;place-items:center;gap:.65rem;text-align:center;color:#e9ddff;padding:1rem}
.workspace-breadcrumb{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-bottom:1.15rem;font-size:.85rem;color:var(--muted)}
.workspace-breadcrumb a{color:var(--brand);font-weight:800;text-decoration:none}
.workspace-breadcrumb a:hover{text-decoration:underline}
.workspace-breadcrumb a:focus-visible,.workspace-lesson:focus-visible,.lesson-nav-link:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.demo-course-notice{margin:0 0 1.2rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--brand-soft);color:var(--ink-2);line-height:1.8}
.video-placeholder-inner strong{font-size:1rem;color:#fff}
.video-placeholder-inner>span:last-child{font-size:.85rem;color:#cbb9e8;max-width:40ch}
.video-play{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;padding-inline-start:.2rem;background:#fff;color:var(--brand);font-size:1.35rem;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.current-lesson{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.2rem,3vw,2rem);margin-top:1.2rem}
.workspace-kicker{color:var(--brand);font-size:.8rem;font-weight:900}
.current-lesson h2{margin:.45rem 0 .6rem;font-size:clamp(1.25rem,2.4vw,1.8rem)}
.current-lesson p{color:var(--ink-2);line-height:2;margin:1rem 0 0;white-space:pre-line}
.current-lesson-meta{display:flex;gap:.7rem;flex-wrap:wrap;color:var(--muted);font-size:.82rem;font-weight:800}
.lesson-quiz-question{border:0;border-top:1px solid var(--line);padding:1rem 0;margin:0;min-width:0}
.lesson-quiz-question legend{font-weight:800;padding-top:.8rem;overflow-wrap:anywhere}
.lesson-quiz-question label{display:flex;align-items:flex-start;gap:.6rem;padding:.65rem 0;line-height:1.8;cursor:pointer;overflow-wrap:anywhere}
.lesson-quiz-question input{flex:none;margin-top:.5rem}
.lesson-quiz .btn{max-width:100%;white-space:normal}
.lesson-navigation{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1.2rem}
.lesson-nav-link{display:flex;flex-direction:column;gap:.35rem;border:1px solid var(--line);background:#fff;border-radius:var(--r-md);padding:.9rem 1rem;color:var(--ink);text-decoration:none;min-width:0}
.lesson-nav-link span{color:var(--muted);font-size:.78rem;font-weight:800}.lesson-nav-link strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-nav-link.is-next{text-align:start}.lesson-nav-link.is-disabled{opacity:.55;cursor:default}
.workspace-sidebar{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;position:sticky;top:1rem}
.workspace-sidebar-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.1rem;border-bottom:1px solid var(--line)}
.workspace-sidebar-head strong{font-size:.8rem;color:var(--muted)}
.workspace-lesson-list{display:grid;padding:.55rem}
.workspace-lesson{display:grid;grid-template-columns:38px 1fr 18px;gap:.65rem;align-items:center;padding:.8rem .65rem;border-radius:var(--r-md);color:var(--ink);text-decoration:none;min-width:0}
.workspace-lesson:hover{background:var(--bg)}.workspace-lesson.is-active{background:var(--brand-soft);color:var(--brand-2)}
.workspace-lesson-number{font-weight:900;color:var(--muted)}.workspace-lesson.is-active .workspace-lesson-number{color:var(--brand)}
.workspace-lesson-copy{display:grid;gap:.2rem;min-width:0}.workspace-lesson-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-lesson-copy small{color:var(--muted);font-size:.76rem}.workspace-lesson-indicator{color:var(--brand);font-size:.7rem;text-align:center}
.workspace-lesson-status{font-size:.76rem;font-weight:800;overflow-wrap:anywhere;color:var(--muted)}
.workspace-lesson-status.is-in_progress{color:var(--brand-2)}
.workspace-lesson-status.is-completed{color:#16794a}
.workspace-empty{margin-top:1rem}.workspace-error{padding:2rem}.workspace-error .empty-state{text-align:center;max-width:620px;margin:auto}
@media(max-width:900px){.workspace-header{align-items:flex-start;flex-direction:column}.workspace-layout{grid-template-columns:1fr}.workspace-sidebar{position:static;order:2}.workspace-main{order:1}}
@media(max-width:560px){.course-workspace{padding:1rem .8rem}.workspace-meta{width:100%}.workspace-meta span{flex:1;text-align:center}.lesson-navigation{grid-template-columns:1fr}.lesson-nav-link.is-next{text-align:start}}
/* courses */
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.course-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.6rem;transition:transform .18s,box-shadow .18s}
.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.course-card h3{margin:0}
.course-card p{margin:0;color:var(--ink-2);font-size:.9rem}
.course-card .inline-link{margin-top:auto;align-self:flex-start;font-size:.88rem}
.course-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:1.05rem;color:#fff}
.icon-0{background:linear-gradient(135deg,#7c1fd1,#a855f7)}
.icon-1{background:linear-gradient(135deg,#0f766e,#14b8a6)}
.icon-2{background:linear-gradient(135deg,#b45309,#f59e0b)}
.icon-3{background:linear-gradient(135deg,#1d4ed8,#3b82f6)}
.meta-row{display:flex;gap:.6rem;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--muted);font-weight:700;flex-wrap:wrap}

/* projects */
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.project-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.project-visual{position:relative;aspect-ratio:16/9;display:grid;place-items:center;gap:.2rem;grid-auto-flow:row}
.visual-0{background:linear-gradient(135deg,#2b1a4d,#5a12a0)}
.visual-1{background:linear-gradient(135deg,#0d3b3a,#0f766e)}
.visual-2{background:linear-gradient(135deg,#4a2a06,#b45309)}
.visual-3{background:linear-gradient(135deg,#101d4a,#1d4ed8)}
.visual-number{position:absolute;inset-block-start:.7rem;inset-inline-start:.9rem;font-size:.78rem;color:rgba(255,255,255,.55);font-weight:800;letter-spacing:.1em}
.project-info{padding:1.3rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.project-info h3{margin:.2rem 0 0}
.project-info p{margin:0;color:var(--ink-2);font-size:.89rem}
.project-bottom{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:auto;padding-top:.8rem;border-top:1px solid var(--line);flex-wrap:wrap}
.project-bottom span{font-size:.74rem;color:var(--muted)}
.project-bottom a{color:var(--brand);font-weight:800;font-size:.85rem}

/* dark band */
.dark-band{background:var(--dark);color:#efeaf9}
.band-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:center}
.dark-band h2{color:#fff}
.dark-band p{color:#c4b8dd}
.dark-band .eyebrow{color:#c08bff}
.band-steps{display:grid;gap:.9rem}
.band-steps>div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-md);padding:.9rem 1.1rem;display:grid;grid-template-columns:auto 1fr;gap:.2rem .9rem;align-items:center}
.band-steps span{grid-row:span 2;color:#c08bff;font-weight:800;font-size:1rem}
.band-steps strong{display:block;font-size:.95rem}
.band-steps small{color:#b0a4cc;font-size:.78rem}

/* pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;align-items:start}
.price-card{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-lg);padding:1.4rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:var(--shadow-sm);position:relative}
.price-card.featured{border-color:var(--gold);box-shadow:0 18px 40px -22px rgba(192,138,18,.5);transform:translateY(-6px)}
.card-top{display:flex;justify-content:space-between;align-items:center;gap:.4rem;min-height:26px}
.popular{background:var(--gold);color:#fff;font-size:.68rem;font-weight:800;border-radius:999px;padding:.15rem .6rem}
.price-card h3{font-size:1.25rem;margin:0}
.price-card .muted{font-size:.8rem;margin:0;min-height:2.6em}
.price{font-size:1.5rem;font-weight:800;color:var(--brand);margin-top:.3rem;display:flex;flex-direction:column}
.price small{font-size:.72rem;color:var(--muted);font-weight:700}
.card-divider{height:1px;background:var(--line);margin:.5rem 0}
.check-list{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}
.check-list li{position:relative;padding-inline-start:1.4rem;font-size:.86rem;color:var(--ink-2)}
.check-list li::before{content:"✓";position:absolute;inset-inline-start:0;color:var(--brand);font-weight:800}
.price-card .btn{margin-top:auto}
.compare-wrap{margin-top:.5rem}
.compare-table{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;font-size:.88rem}
.compare-table th,.compare-table td{padding:.85rem 1rem;text-align:center;border-bottom:1px solid var(--line)}
.compare-table thead th{background:var(--brand-soft);color:var(--brand-2);font-weight:800;font-size:.9rem}
.compare-table tbody th{text-align:start;font-weight:700;color:var(--ink-2);background:#fcfbfe;position:sticky;inset-inline-start:0}
.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td{border-bottom:0}
.compare-table tbody tr:hover td{background:#faf7ff}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cta-panel{background:linear-gradient(135deg,#2b1a4d,#5a12a0);color:#fff;border-radius:var(--r-xl);padding:clamp(2rem,5vw,3.2rem);text-align:center;box-shadow:var(--shadow-lg)}
.cta-panel h2{color:#fff}
.cta-panel p{color:#d6c9f0;max-width:56ch;margin-inline:auto}
.cta-panel .eyebrow{color:#e2c9ff}
.cta-panel .btn{margin-top:.8rem}

/* page hero */
.page-hero{padding-block:clamp(2.5rem,5vw,4rem) 0;max-width:820px}
.page-hero h1{margin-block:.3rem .7rem}
.page-hero p{color:var(--ink-2);font-size:1.04rem}

/* article */
.article{padding-block:clamp(2rem,5vw,3.5rem)}
.course-overview-hero{background:linear-gradient(180deg,#fbf9ff 0%,#fff 100%);border-bottom:1px solid var(--line);padding-block:clamp(2.8rem,7vw,5.5rem)}
.course-overview-hero h1{max-width:850px;font-size:clamp(2rem,5vw,4rem);line-height:1.15;margin-block:.6rem 1rem}
.course-overview-hero .lead{max-width:700px}
.course-hero-actions{margin-top:1.5rem}
.course-overview-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:2rem;align-items:center}
.course-overview-grid h2{margin-block:.4rem .7rem}
.course-audience-list{display:grid;gap:.7rem}
.course-audience-list span{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:.8rem 1rem;color:var(--ink-2);font-weight:700}
.course-benefits{grid-template-columns:repeat(4,1fr)}
.course-benefits .feature{min-height:150px}
.lesson-list{display:grid;gap:1rem}
.lesson-card{display:grid;grid-template-columns:48px 1fr;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.25rem;box-shadow:var(--shadow-sm)}
.lesson-number{background:var(--brand-soft);color:var(--brand);border-radius:12px;width:48px;height:48px;display:grid;place-items:center;font-weight:900}
.lesson-card h3{margin:.5rem 0 .35rem}
.lesson-card p{margin:0;color:var(--ink-2);white-space:pre-line}
.course-final-cta{margin-top:2.5rem;text-align:center}
.course-final-cta .eyebrow{color:#e2c9ff}


.article h1{margin-block:.4rem .8rem}
.lead{font-size:1.08rem;color:var(--ink-2)}
.article-meta{display:flex;gap:1.2rem;flex-wrap:wrap;color:var(--muted);font-size:.82rem;font-weight:700;border-block:1px solid var(--line);padding-block:.7rem;margin-block:1.4rem}
.article-section{padding-block:1.2rem;border-bottom:1px solid var(--line)}
.article-section:last-of-type{border-bottom:0}
.article-section h2{display:flex;gap:.7rem;align-items:flex-start;font-size:1.2rem}
.article-section h2 span{background:var(--brand-soft);color:var(--brand);border-radius:9px;min-width:30px;height:30px;display:grid;place-items:center;font-size:.85rem;flex-shrink:0;margin-top:.35rem}
.article-section p{margin:0;color:var(--ink-2)}
.article-footer{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line);align-items:center}
.article-toc{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:1rem 1.2rem;margin-bottom:1.2rem;box-shadow:var(--shadow-sm)}
.article-toc strong{display:block;font-size:.82rem;color:var(--brand-2);margin-bottom:.5rem}
.article-toc ol{margin:0;padding-inline-start:1.3rem;color:var(--ink-2);font-size:.88rem;display:grid;gap:.3rem}
.article-section.takeaways{background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:var(--r-md);padding:1.2rem 1.3rem;margin-top:1.2rem}
.article-section.takeaways h2{margin-top:0}
.reading-progress{position:fixed;top:0;inset-inline:0;height:3px;background:transparent;z-index:60}
.reading-progress span{display:block;height:100%;width:0;background:var(--brand)}
.access-card{text-align:center;padding-block:clamp(2.5rem,6vw,4rem);max-width:620px}
.access-card h1{font-size:clamp(1.3rem,3vw,1.9rem)}
.access-card p{color:var(--ink-2)}
.access-card .btn{margin-top:1rem}
.demo-plan-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.demo-plan-grid .price-card{padding:1.1rem;gap:.4rem}
.demo-plan-grid .price-card .btn{margin-top:auto}
.demo-plan-grid .price-card p{margin:0;font-size:.85rem;font-weight:700;color:var(--brand-2)}

.about-hero,.community-hero{background:radial-gradient(circle at 10% 0%,#efe6ff 0,#fbf9ff 35%,#fff 76%);border-bottom:1px solid var(--brand-line);padding-block:clamp(3rem,7vw,5.8rem)}
.about-hero-grid,.community-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.about-hero h1,.community-hero h1{font-size:clamp(2.2rem,5vw,4.5rem);line-height:1.18;max-width:760px;margin:.5rem 0 1rem}
.about-hero .lead,.community-hero .lead{max-width:680px;line-height:2;color:var(--ink-2)}
.hero-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.5rem}
.about-hero-card,.community-hero-card{background:var(--dark);color:#fff;border-radius:28px;padding:clamp(1.5rem,4vw,2.2rem);box-shadow:0 24px 55px -30px rgba(57,21,102,.65)}
.about-hero-card strong,.community-hero-card strong{display:block;font-size:1.25rem;margin:1rem 0 .5rem}.about-hero-card p,.community-hero-card p{color:#d9cdec;line-height:1.9;margin:0}
.about-card-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:linear-gradient(135deg,#a855f7,var(--brand));font-size:1.5rem;font-weight:900;color:#fff}
.about-mini-stats{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.15);color:#c9bfe4;font-size:.78rem}.about-mini-stats span{display:grid;gap:.25rem}.about-mini-stats b{color:#fff;font-size:1.05rem}
.about-intro{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);gap:clamp(2rem,7vw,6rem);align-items:start}.about-intro h2{font-size:clamp(1.7rem,3vw,2.6rem);margin:.4rem 0}.about-intro p{color:var(--ink-2);line-height:2;margin:0 0 .8rem}.about-values-section,.community-feed-section,.help-faq-section{background:#faf8fe;border-block:1px solid var(--line)}.about-values{grid-template-columns:repeat(4,1fr)}.about-values .feature{min-height:220px}.about-process{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.3rem,3vw,2.5rem);box-shadow:var(--shadow-sm)}.about-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.about-process-grid>div{position:relative;padding:1rem;border-top:3px solid var(--brand-line)}.about-process-grid span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--brand);color:#fff;font-weight:800}.about-process-grid h3{margin:.8rem 0 .35rem}.about-process-grid p{color:var(--ink-2);font-size:.9rem;line-height:1.8;margin:0}.about-cta{text-align:center}.about-cta p{margin-inline:auto}
.community-guidelines{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,6rem);align-items:start}.community-guidelines h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:.4rem 0 .7rem}.community-guidelines>div>p{line-height:2}.guideline-list{display:grid;gap:.8rem}.guideline-list article{display:grid;grid-template-columns:40px 1fr;gap:.9rem;align-items:start;padding:1rem;border:1px solid var(--line);border-radius:var(--r-md);background:#fff}.guideline-list article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--brand-soft);color:var(--brand);font-weight:900}.guideline-list h3{margin:0 0 .25rem}.guideline-list p{color:var(--ink-2);margin:0;line-height:1.8;font-size:.9rem}.community-compose{display:grid;grid-template-columns:.75fr 1.25fr;gap:2rem;align-items:start;margin-bottom:1.5rem}.community-compose h2{margin:.4rem 0}.community-join{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.community-join h2{margin:.4rem 0}.community-join p{margin:0}.community-join .btn{flex:none}
.help-hero{background:linear-gradient(130deg,var(--brand-soft),#fff 75%);border-bottom:1px solid var(--brand-line)}.help-hero-inner{padding-block:clamp(3rem,7vw,5.5rem)}.help-hero h1{font-size:clamp(2.1rem,5vw,4rem);margin:.45rem 0 .8rem}.help-hero p{max-width:700px;color:var(--ink-2);line-height:2}.help-search-hint{display:flex;align-items:center;gap:.7rem;max-width:700px;margin-top:1.5rem;padding:1rem 1.2rem;background:#fff;border:1px solid var(--brand-line);border-radius:var(--r-md);color:var(--muted);font-size:.88rem}.help-search-hint span:first-child{font-size:1.5rem;color:var(--brand)}.help-topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.help-topic{display:grid;grid-template-columns:44px 1fr;gap:1rem;padding:1.4rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.help-topic-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--brand-soft);color:var(--brand);font-weight:900}.help-topic h2{font-size:1.15rem;margin:.25rem 0 .5rem}.help-topic p{color:var(--ink-2);font-size:.9rem;line-height:1.85;margin:0 0 .8rem}.help-faq{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.help-faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:1rem 1.2rem}.help-faq summary{cursor:pointer;font-weight:800}.help-faq p{color:var(--ink-2);line-height:1.9;margin:.8rem 0 0}.help-contact{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:clamp(1.3rem,4vw,2.2rem);border-radius:var(--r-lg);background:var(--dark);color:#fff}.help-contact h2{margin:.45rem 0}.help-contact p{color:#d9cdec;line-height:1.8;margin:0}.help-contact .eyebrow{color:#e2c9ff}

@media(max-width:900px){.about-hero-grid,.community-hero-grid,.about-intro,.community-guidelines{grid-template-columns:1fr}.about-values,.help-topic-grid{grid-template-columns:repeat(2,1fr)}.about-process-grid{grid-template-columns:repeat(2,1fr)}.community-compose{grid-template-columns:1fr}.help-faq{grid-template-columns:1fr}}
@media(max-width:560px){.about-values,.help-topic-grid,.about-process-grid{grid-template-columns:1fr}.help-contact{display:block}.help-contact .hero-actions{margin-top:1.2rem}.help-contact .btn{width:100%;text-align:center}.about-hero-card,.community-hero-card{border-radius:20px}}

.terms-hero{background:linear-gradient(130deg,var(--brand-soft),#fff 75%);border-bottom:1px solid var(--brand-line)}
.terms-hero-inner{padding-block:clamp(3rem,6vw,5rem);max-width:var(--max)}
.terms-hero h1{font-size:clamp(2rem,4vw,3.3rem);margin:.45rem 0 1rem}
.terms-hero p{max-width:68ch;line-height:2;color:var(--ink-2);margin:0}
.terms-layout{display:grid;grid-template-columns:minmax(200px,250px) minmax(0,1fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem);padding-block:clamp(2rem,5vw,4rem)}
.terms-nav{position:sticky;top:1.5rem;padding:1.3rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.terms-nav strong{display:block;margin-bottom:.7rem;color:var(--brand-2)}
.terms-nav ol{margin:0;padding-inline-start:1.3rem;display:grid;gap:.25rem}
.terms-nav a{display:block;padding:.55rem .4rem;border-radius:8px;color:var(--ink-2);text-decoration:none;line-height:1.7}
.terms-nav a:hover,.terms-nav a:focus-visible{background:var(--brand-soft);color:var(--brand-2)}
.terms-nav a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.terms-content{min-width:0;max-width:790px}
.terms-intro{background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:var(--r-lg);padding:1.35rem 1.5rem;margin-bottom:1rem}
.terms-intro strong{color:var(--brand-2)}
.terms-intro p{margin:.3rem 0 0;line-height:2;color:var(--ink-2)}
.terms-section{padding:1.6rem 0;border-bottom:1px solid var(--line);scroll-margin-top:2rem}
.terms-section-heading{display:flex;align-items:center;gap:.9rem}
.terms-section-heading span{display:grid;place-items:center;flex:none;width:2.4rem;height:2.4rem;border-radius:10px;background:var(--brand-soft);color:var(--brand-2);font-weight:800}
.terms-section h2{font-size:clamp(1.1rem,2vw,1.35rem);margin:0}
.terms-section p{margin:.75rem 3.3rem 0 0;line-height:2.1;color:var(--ink-2)}
.terms-hero-facts{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.2rem}
.terms-hero-facts span{border:1px solid var(--brand-line);background:#fff;border-radius:999px;padding:.3rem .85rem;font-size:.78rem;font-weight:700;color:var(--brand-2)}
.terms-points{margin:.85rem 3.3rem 0 0;padding:0;list-style:none;display:grid;gap:.45rem}
.terms-points li{position:relative;padding-inline-start:1.4rem;line-height:2;color:var(--ink-2)}
.terms-points li::before{content:"◇";position:absolute;inset-inline-start:0;color:var(--brand);font-weight:800}
.terms-contact{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2rem;padding:1.5rem;border:1px solid var(--brand-line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow-sm)}
.terms-contact h2{font-size:1.15rem;margin:0 0 .3rem}
.terms-contact p{color:var(--ink-2);margin:0;line-height:1.8}
@media(max-width:760px){.terms-layout{grid-template-columns:1fr}.terms-nav{position:static}.terms-nav ol{grid-template-columns:repeat(2,minmax(0,1fr))}.terms-section p,.terms-points{margin-inline-start:0}}
@media(max-width:480px){.terms-nav ol{grid-template-columns:1fr}.terms-contact .btn{width:100%;text-align:center}}

/* code workspace */
.code-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:1.2rem;align-items:start;margin-bottom:1.4rem}
.code-col{display:flex;flex-direction:column;gap:.8rem}
.code-bar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
.code-bar .muted{font-size:.78rem}
.code-input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;line-height:1.75;background:#1e1832;color:#e8e2f7;border:1px solid #352c53;border-radius:var(--r-md);padding:.9rem 1rem;width:100%;resize:vertical;tab-size:4}
.code-input::placeholder{color:#8d81ad}
.code-input:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:transparent}
.code-output{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.8;background:#f6f3fb;border:1px dashed var(--brand-line);border-radius:var(--r-md);padding:.9rem 1rem;margin:0;white-space:pre-wrap;word-break:break-word;min-height:120px;color:var(--ink-2)}
.code-plots{display:grid;gap:1rem}
.code-plots:empty{display:none}
.code-plot{display:block;max-width:100%;height:auto;border:1px solid var(--brand-line);border-radius:var(--r-md);background:#fff}
.code-block{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.8;background:#1e1832;color:#e8e2f7;border-radius:var(--r-md);padding:1rem;margin:0;overflow-x:auto;white-space:pre;direction:ltr;text-align:left}
.code-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.code-actions .muted{font-size:.78rem;margin-inline-start:auto}

/* chat + activity */
.chat-bubble{border-radius:var(--r-md);padding:.9rem 1.1rem;margin-bottom:.7rem;max-width:88%}
.chat-bubble p{margin:0;color:var(--ink-2)}
.chat-bubble small{color:var(--muted);font-size:.74rem}
.chat-bubble.is-user{background:var(--brand-soft);border:1px solid var(--brand-line);margin-inline-start:auto}
.chat-bubble.is-nova{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.chat-bubble .chip{display:inline-block;background:var(--brand);color:#fff;border-radius:7px;padding:.1rem .55rem;font-size:.72rem;font-weight:800;margin-bottom:.4rem}
.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;align-items:end;min-height:140px;margin-top:1rem}
.week-cell{display:grid;justify-items:center;gap:.35rem;height:100%;align-content:end}
.week-cell strong{font-size:.82rem;color:var(--brand-2)}
.week-bar{width:100%;max-width:26px;background:var(--brand);border-radius:6px;min-height:4px}
.week-cell small{font-size:.7rem;color:var(--muted)}
.quick-links{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.9rem}
.activity-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:.6rem;align-items:end;min-height:160px;margin:1.1rem 0 .4rem}
.activity-day{display:grid;justify-items:center;align-content:end;gap:.45rem;height:100%}
.activity-bar{width:100%;max-width:34px;min-height:6px;border-radius:7px;background:linear-gradient(180deg,var(--brand) 0%,var(--brand-2) 100%)}
.activity-day small{font-size:.7rem;color:var(--muted);white-space:nowrap}
.activity-day .activity-bar[style*="height:0%"]{min-height:6px;background:var(--line)}
.plan-limits{margin-top:.9rem;padding-top:.8rem;border-top:1px dashed var(--brand-line)}
.plan-limits table{width:100%;border-collapse:collapse;margin-top:.5rem}
.plan-limits th,.plan-limits td{text-align:start;padding:.32rem 0;font-size:.8rem;border:0}
.plan-limits th{color:var(--muted);font-weight:600}
.plan-limits td{color:var(--ink-2);font-weight:800;text-align:end}
@media (max-width:900px){.code-layout{grid-template-columns:1fr}}
@media(max-width:640px){.activity-strip{gap:.35rem}.activity-day small{font-size:.6rem}}

.workspace-files{display:grid;gap:.65rem;padding:.7rem;background:#f8f6fc;border:1px solid var(--brand-line);border-radius:var(--r-md)}
.file-tree{display:flex;gap:.4rem;flex-wrap:wrap;min-height:2rem}
.file-item{border:1px solid var(--brand-line);border-radius:8px;background:#fff;color:var(--ink-2);padding:.35rem .65rem;cursor:pointer;font:700 .75rem ui-monospace,SFMono-Regular,Menlo,monospace;direction:ltr}
.file-item.is-active{background:var(--brand);border-color:var(--brand);color:#fff}
.file-actions{display:flex;gap:.5rem;align-items:center}.file-name-input{min-width:0;flex:1;border:1px solid var(--brand-line);border-radius:8px;padding:.5rem .65rem;font:.78rem ui-monospace,SFMono-Regular,Menlo,monospace;direction:ltr}
.package-status{border:1px solid var(--brand-line);border-radius:8px;padding:.55rem .7rem;background:#faf8ff;color:var(--muted);font-size:.78rem;direction:rtl}

.workspace-files-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.file-upload-label{cursor:pointer}.editor-tabs{display:flex;align-items:center;gap:.7rem;border:1px solid #352c53;border-bottom:0;border-radius:0;background:#171229;color:#e8e2f7;padding:.55rem .75rem;margin-bottom:-.8rem}.code-layout .code-col:first-child .code-input{border-radius:0 0 var(--r-md) var(--r-md)}.editor-tab{font:700 .76rem ui-monospace,SFMono-Regular,Menlo,monospace;direction:ltr}

/* terminal */
.terminal{background:#120e22;border:1px solid #2c2444;border-radius:var(--r-md);padding:.9rem 1rem;min-height:190px;max-height:320px;overflow-y:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.85;direction:ltr;text-align:left}
.term-line{display:block;white-space:pre-wrap;word-break:break-word}
.term-cmd{color:#b79df5}
.term-out{color:#cfc7e6}
.term-error{color:#ff9c9c}
.term-hint{color:#7d719c}
.terminal-form{display:flex;align-items:center;gap:.5rem;background:#120e22;border:1px solid #2c2444;border-radius:var(--r-md);padding:.5rem .7rem}
.term-prompt{color:#8ee6a8;font-family:ui-monospace,Menlo,monospace;font-weight:700}
.term-input{flex:1;background:transparent;border:0;color:#e8e2f7;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem;padding:.3rem 0;min-width:0}
.term-input:focus{outline:none}
.term-input::placeholder{color:#6f6490}

.account-summary{margin-top:1.2rem}
.account-summary dl{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1rem 0 0}
.account-summary dl div{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);padding:.8rem 1rem}
.account-summary dt{color:var(--muted);font-size:.78rem;font-weight:700}
.account-summary dd{margin:.25rem 0 0;font-weight:800;overflow-wrap:anywhere}
.course-progress-card{margin-top:1.2rem}
.course-progress-details{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1rem 0}
.course-progress-details div{display:grid;gap:.2rem}
.course-progress-details span{color:var(--muted);font-size:.82rem}
.course-progress-details strong{color:var(--brand-2);font-size:1.15rem}
.course-progress-card .inline-link{display:inline-block;margin-top:1rem}
.course-active-lesson{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
.course-active-lesson span{color:var(--muted);font-size:.85rem}
.course-active-lesson .btn{margin-inline-start:auto}
.course-active-lesson.is-completed{display:block}
.course-active-lesson.is-completed span{display:block;margin-top:.35rem}
.course-active-lesson.is-completed p{margin:.8rem 0}
.course-active-lesson.is-completed .btn{margin:0 .6rem .5rem 0}
.chat-card{display:flex;flex-direction:column;gap:.8rem}
.live-badge{display:inline-flex;align-items:center;gap:.4rem;background:#eafaf0;color:#16794a;border:1px solid #bde9cf;border-radius:999px;padding:.2rem .7rem;font-size:.74rem;font-weight:800}
.live-dot{width:8px;height:8px;border-radius:50%;background:#19a05f;animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}
.chat-log{display:flex;flex-direction:column;gap:.7rem;max-height:340px;overflow-y:auto;padding:.2rem}
.chat-empty{color:var(--muted);font-size:.85rem;text-align:center;padding:1.4rem 0}
.chat-msg{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:.7rem .9rem;box-shadow:var(--shadow-sm);max-width:88%}
.chat-msg.is-mine{background:var(--brand-soft);border-color:var(--brand-line);margin-inline-start:auto}
.chat-msg p{margin:.2rem 0 0;color:var(--ink-2);font-size:.9rem}
.chat-meta{display:flex;justify-content:space-between;gap:.6rem;align-items:baseline}
.chat-meta strong{font-size:.82rem;color:var(--brand-2)}
.chat-meta small{color:var(--muted);font-size:.72rem}
.chat-form{display:flex;gap:.6rem;align-items:center}
.chat-form input{flex:1;border:1.5px solid var(--line-2);border-radius:11px;padding:.6rem .9rem;background:#fdfcff;min-width:0}
.chat-form input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}

/* nova review */
.review-output{margin-top:1rem}
.review-output h3{font-size:.95rem;margin-bottom:.5rem}
.review-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.review-list li{display:flex;gap:.6rem;align-items:flex-start;background:#faf8ff;border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;font-size:.86rem;color:var(--ink-2)}
.review-tag{flex-shrink:0;border-radius:7px;padding:.1rem .5rem;font-size:.71rem;font-weight:800;background:#eee7fa;color:var(--brand-2)}
/* symbolic checkout */
.checkout-card{border-color:var(--brand-line);box-shadow:var(--shadow)}
.checkout-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.check-row{display:flex!important;flex-direction:row;align-items:center;gap:.5rem;font-weight:600}
.check-row input{width:auto}
.receipt{margin-top:1.2rem;border:1px dashed var(--brand-line);border-radius:var(--r-md);padding:1rem 1.1rem;background:var(--brand-soft)}
.receipt h3{margin-top:0;font-size:1rem}
.receipt-list{list-style:none;margin:0 0 .6rem;padding:0;display:grid;gap:.45rem}
.receipt-list li{display:flex;justify-content:space-between;gap:1rem;font-size:.88rem;color:var(--ink-2);border-bottom:1px dashed var(--brand-line);padding-bottom:.4rem}
.receipt-list li:last-child{border-bottom:0}
.receipt p{margin:0;font-size:.78rem}

.review-bad .review-tag{background:#fdeaea;color:#b42318}
.review-warn .review-tag{background:#fdf3e2;color:#96590f}
.review-ok .review-tag{background:#eafaf0;color:#16794a}
.split{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}

/* contact */
.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:1.6rem;align-items:start}
.contact-hero{background:linear-gradient(125deg,var(--brand-soft),#fff 78%);border-bottom:1px solid var(--brand-line);padding-block:clamp(2.8rem,6vw,5rem)}
.contact-hero h1{font-size:clamp(2rem,4vw,3.25rem);margin:.5rem 0 1rem}
.contact-hero p{color:var(--ink-2);max-width:65ch;line-height:1.9;margin:0}
.contact-quick-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}
.contact-page-layout{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(1rem,3vw,2rem)}
.contact-form-card{min-width:0;padding:clamp(1.25rem,3vw,2.25rem)}
.contact-form-card h2,.contact-info-card h2,.contact-social h2{font-size:clamp(1.2rem,2vw,1.5rem);margin:.4rem 0 .5rem}
.contact-form-card .muted,.contact-side p{line-height:1.9;margin:0 0 1.2rem}
.contact-form-card .stack-form{margin-top:1.5rem}
.contact-form-card .stack-form input,.contact-form-card .stack-form textarea{width:100%;min-width:0}
.contact-form-card .stack-form .btn{min-height:44px;align-self:flex-start}
.contact-footnote{font-size:.85rem;line-height:1.9;color:var(--muted);margin:1.2rem 0 0}
.contact-side{display:grid;gap:1rem;min-width:0}
.contact-info-card,.contact-social{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.25rem,3vw,1.8rem);box-shadow:var(--shadow-sm)}
.contact-info-card{background:var(--brand-soft);border-color:var(--brand-line)}
.contact-info-card .inline-link{display:inline-flex;min-height:44px;align-items:center}
.contact-page-layout .social-column{gap:.6rem}
.contact-page-layout .social-column a{min-height:48px}
.contact-page-layout .social-column a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media(max-width:760px){.contact-page-layout{grid-template-columns:1fr}}
@media(max-width:480px){.contact-quick-links .btn,.contact-form-card .stack-form .btn{width:100%;text-align:center}}
.social-column{display:grid;gap:.8rem}
.social-column a{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:.9rem 1.1rem;display:flex;justify-content:space-between;align-items:center;gap:.6rem;box-shadow:var(--shadow-sm);transition:transform .16s,border-color .16s}
.social-column a:hover{transform:translateY(-2px);border-color:var(--brand-line)}
.social-column strong{font-size:.95rem}
.social-column span{color:var(--muted);font-size:.82rem;direction:ltr}

/* panel cards & forms */
[hidden]{display:none!important}
.panel-card,.price-card,.project-card,.course-card,.feature,.plan-tile{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.panel-card:hover,.price-card:hover,.project-card:hover,.course-card:hover,.feature:hover,.plan-tile:hover{transform:translateY(-3px);box-shadow:0 22px 45px -25px rgba(90,18,160,.35)}
@media (prefers-reduced-motion:reduce){.panel-card,.price-card,.project-card,.course-card,.feature,.plan-tile{transition:none}.panel-card:hover,.price-card:hover,.project-card:hover,.course-card:hover,.feature:hover,.plan-tile:hover{transform:none}}

.panel-card,.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}
.panel-card.soft{background:var(--brand-soft);border-color:var(--brand-line)}
.panel-card.narrow,.panel-card.narrow-left{width:100%;max-width:800px;min-width:0;margin-inline:auto}
.panel-card.narrow-left{margin-bottom:1.6rem}
.panel-heading{margin-bottom:1.5rem}
.panel-heading p{color:var(--muted);margin:0}
.panel-welcome{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.6rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;box-shadow:var(--shadow-sm);margin-bottom:1.4rem}
.panel-welcome h1{font-size:clamp(1.3rem,2.4vw,1.8rem);margin:.2rem 0 .4rem}
.panel-welcome p{margin:0;color:var(--muted)}
.stack-form{display:grid;gap:1rem}
.stack-form label{display:grid;gap:.4rem;font-weight:700;font-size:.88rem;color:var(--ink-2)}
.stack-form input,.stack-form select,.stack-form textarea{border:1.5px solid var(--line-2);border-radius:11px;padding:.7rem .9rem;background:#fdfcff;transition:border-color .15s,box-shadow .15s;width:100%}
.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}
.stack-form input:disabled{background:#f4f2f8;color:var(--muted)}
.stack-form textarea{resize:vertical;min-height:90px}
.stack-form button{justify-self:start}
.fine-print{font-size:.78rem;color:var(--muted);margin:.9rem 0 0}

/* auth */
.auth-page{display:grid;place-items:center;padding:clamp(2rem,6vw,4.5rem) 1rem}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.6rem,4vw,2.5rem);box-shadow:var(--shadow-lg);max-width:560px;width:100%;text-align:center}
.auth-card img{width:70px;height:70px;margin-bottom:.6rem}
.auth-card .stack-form{text-align:start;margin-top:1.2rem}
.auth-card .inline-link{display:inline-block;margin-top:1rem;font-size:.86rem}
.auth-card .stack-form button{justify-self:stretch}

.captcha-box{display:flex;align-items:center;justify-content:space-between;gap:.7rem;border:1px dashed var(--brand-line);border-radius:11px;background:var(--brand-soft);padding:.7rem .85rem;margin-top:.2rem}.captcha-box strong{letter-spacing:.22em;font:800 1.15rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--brand-2)}.captcha-box span{font-size:.72rem;color:var(--muted)}

.panel-content{position:relative;isolation:isolate;overflow:hidden}.dashboard-code-floats{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.dashboard-code-floats span{position:absolute;display:block;max-width:28vw;overflow:hidden;white-space:nowrap;border:1px solid rgba(124,31,209,.12);border-radius:12px;background:rgba(255,255,255,.58);box-shadow:0 18px 40px -28px rgba(90,18,160,.35);color:rgba(91,44,135,.4);font:700 .72rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;direction:ltr;padding:.55rem .8rem;animation:dashboardCodeFloat 11s ease-in-out infinite alternate}.dashboard-code-a{inset-block-start:1.5rem;inset-inline-start:4%}.dashboard-code-b{inset-block-start:20rem;inset-inline-end:3%;animation-delay:-4s}.dashboard-code-c{inset-block-end:4rem;inset-inline-start:22%;animation-delay:-7s}@keyframes dashboardCodeFloat{from{transform:translate3d(0,0,0) rotate(-1deg)}to{transform:translate3d(12px,10px,0) rotate(1deg)}}
@media (max-width:900px){.dashboard-code-floats{display:none}.github-fields{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.dashboard-code-floats span{animation:none}}

body.is-panel{display:grid;grid-template-columns:264px 1fr;background:#f7f5fb}
.sidebar{background:var(--dark);color:#e9e3f7;padding:1.4rem 1rem;display:flex;flex-direction:column;gap:1rem;min-height:100vh;position:sticky;top:0;align-self:start}
.panel-brand{display:flex;align-items:center;gap:.65rem;font-weight:900;font-size:1.15rem;color:#fff}.panel-brand img{width:42px;height:42px;object-fit:contain;border-radius:12px}.panel-brand span{letter-spacing:-.03em}
.panel-brand span{background:var(--brand);border-radius:9px;width:28px;height:28px;display:grid;place-items:center;font-size:.85rem}
.sidebar-caption{font-size:.72rem;color:#9c8fc0;font-weight:700;letter-spacing:.03em;border-bottom:1px solid rgba(255,255,255,.09);padding-bottom:.8rem}
.sidebar nav{display:grid;gap:.2rem}
.sidebar nav a{padding:.6rem .8rem;border-radius:10px;font-size:.9rem;font-weight:700;color:#cfc6e6;transition:background .15s,color .15s}
.sidebar nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.sidebar nav a.selected{background:rgba(124,31,209,.32);color:#fff}
.sidebar-bottom{margin-top:auto;display:grid;gap:.6rem;font-size:.84rem;color:#cfc6e6;border-top:1px solid rgba(255,255,255,.09);padding-top:1rem}
.sidebar-bottom a{font-weight:700}
.sidebar-bottom .text-button{color:#ef9aa9}
.panel-body{min-width:0;display:flex;flex-direction:column}
.panel-top{display:flex;align-items:center;gap:1rem;background:#fff;border-bottom:1px solid var(--line);padding:.9rem clamp(1rem,3vw,2rem);position:sticky;top:0;z-index:20;font-weight:700;font-size:.9rem}
.panel-avatar{margin-inline-start:auto;background:var(--brand);color:#fff;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800}
.panel-menu{display:none;background:none;border:0;font-size:1.15rem;cursor:pointer}
.panel-content{padding:clamp(1.2rem,3vw,2rem);display:flex;flex-direction:column;gap:1.3rem}
.demo-switch{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;background:#eee7fa;border:1px solid var(--brand-line);border-radius:var(--r-md);padding:.65rem 1rem;color:var(--brand-2);font-size:.8rem;font-weight:700}
.demo-switch span{margin-inline-end:auto}
.demo-switch a{border:1px solid var(--brand-line);border-radius:8px;padding:.2rem .8rem;background:#fff}
.demo-switch a.selected{background:var(--brand);border-color:var(--brand);color:#fff}
.demo-notice{font-size:.83rem;margin-top:1rem;margin-bottom:0}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.stat-card{display:grid;gap:.3rem;padding:1.2rem 1.3rem}
.stat-card span{color:var(--muted);font-size:.82rem;font-weight:700}
.stat-card strong{font-size:1.6rem;color:var(--brand);font-weight:800}
.panel-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.panel-columns .panel-card{display:flex;flex-direction:column;gap:.5rem}
.panel-columns .panel-card .btn{align-self:flex-start;margin-top:auto}
.panel-list{display:grid;gap:1rem}
.list-item{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:1.1rem 1.3rem;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;box-shadow:var(--shadow-sm);flex-wrap:wrap}
.list-item h3{margin:.3rem 0 .2rem}
.list-item p{margin:0;color:var(--ink-2);font-size:.9rem}
.list-item a{color:var(--brand);font-weight:800;font-size:.86rem;flex-shrink:0}
.list-item small{color:var(--muted);font-size:.76rem}
.empty-state{background:#fff;border:1.5px dashed var(--line-2);border-radius:var(--r-md);padding:2rem;text-align:center;color:var(--muted)}
.empty-state a{color:var(--brand);font-weight:800}
.panel-card table{font-size:.88rem}
.panel-card thead th{background:#faf7ff;color:var(--brand-2);font-weight:800;font-size:.84rem;text-align:start;padding:.7rem .9rem;border-bottom:1px solid var(--line)}
.panel-card tbody td{padding:.7rem .9rem;border-bottom:1px solid var(--line);color:var(--ink-2)}
.panel-card tbody tr:last-child td{border-bottom:0}

/* community */
.community-list{display:grid;gap:1.3rem;margin-top:1.6rem}
.post-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem;box-shadow:var(--shadow-sm)}
.post-card h2{font-size:1.15rem;margin:.5rem 0}
.post-card>p{color:var(--ink-2);white-space:pre-line}
.replies{display:grid;gap:.7rem;margin:1rem 0;padding-inline-start:1rem;border-inline-start:3px solid var(--brand-soft)}
.reply{background:#fbf9ff;border-radius:var(--r-sm);padding:.7rem .9rem}
.reply strong{display:block;font-size:.84rem;color:var(--brand-2)}
.reply p{margin:.2rem 0 0;font-size:.9rem;color:var(--ink-2);white-space:pre-line}
.reply-form{display:grid;gap:.6rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.reply-form textarea{border:1.5px solid var(--line-2);border-radius:11px;padding:.7rem .9rem;background:#fdfcff;width:100%;resize:vertical}
.reply-form button{justify-self:start}

/* pager */
.pager{display:flex;gap:.8rem;align-items:center;justify-content:center;margin-top:1.6rem;font-size:.86rem;font-weight:700;color:var(--muted)}
.pager a{color:var(--brand);border:1.5px solid var(--brand-line);border-radius:9px;padding:.35rem .9rem}
.pager a:hover{background:var(--brand-soft)}
.pager .is-disabled{opacity:.45}

/* footer */
.footer{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#21112f 0%,#2c1642 58%,#3b1b58 100%);color:#cfc4df;padding-block:clamp(2.8rem,6vw,4.5rem) 1.2rem;margin-top:clamp(2rem,5vw,4rem)}
.footer::before,.footer::after{content:"";position:absolute;z-index:-1;border:1px solid rgba(255,255,255,.1);border-radius:50%;pointer-events:none}.footer::before{width:25rem;height:25rem;inset-inline-end:-10rem;top:-14rem}.footer::after{width:16rem;height:16rem;inset-inline-start:-8rem;bottom:-10rem;border-color:rgba(184,134,11,.22)}
.footer-shell{position:relative}.footer-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(2rem,6vw,5rem);align-items:start;padding-bottom:2.8rem;border-bottom:1px solid rgba(255,255,255,.12)}
.footer-intro{max-width:34rem}.footer-brand{display:inline-flex;align-items:center;gap:.7rem;color:#fff;font-weight:900;font-size:1.35rem;letter-spacing:-.03em;margin-bottom:.9rem}.footer-brand:hover{color:#fff}.footer-brand .footer-mark{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:.85rem;background:var(--brand);color:#fff;font-size:1.05rem;box-shadow:4px 4px 0 var(--gold)}
.footer-intro p{max-width:34ch;color:#cfc4df;font-size:.92rem;line-height:2;margin:0}.footer-status{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.2rem;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:.4rem .75rem;color:#e9e0f4;font-size:.75rem;font-weight:700}.footer-status-dot{width:7px;height:7px;border-radius:50%;background:#56d98f;box-shadow:0 0 0 4px rgba(86,217,143,.12)}
.footer-callout{display:grid;gap:.35rem;padding:1.35rem 1.45rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);background:rgba(255,255,255,.07);box-shadow:0 20px 45px -30px rgba(0,0,0,.45)}.footer-kicker{color:#d8b2f4;font-size:.75rem;font-weight:800}.footer-callout strong{color:#fff;font-size:1.05rem}.footer-callout>span:not(.footer-kicker){font-size:.82rem;color:#bdb0d2}.footer-cta{justify-self:start;margin-top:.7rem;background:#fff;color:var(--brand-2);border-color:#fff;min-height:40px}.footer-cta:hover{background:#f6effb;color:var(--brand-2);border-color:#f6effb}
.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding-block:2.4rem}.footer-column h3{color:#fff;font-size:.9rem;margin:0 0 .8rem}.footer-column>a{display:block;width:max-content;max-width:100%;padding:.28rem 0;color:#cfc4df;font-size:.84rem;transition:color .15s,transform .15s}.footer-column>a:hover{color:#fff;transform:translateX(-3px)}.footer-socials{display:flex;flex-wrap:wrap;gap:.45rem}.footer-socials a{display:inline-flex!important;align-items:center;gap:.4rem;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:.4rem .65rem!important;color:#e5dbef!important;font-size:.76rem!important}.footer-socials a:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);transform:none!important}.footer-socials a span{color:#d8b2f4}.footer-social-column small{display:block;max-width:24ch;color:#9f91b7;font-size:.73rem;line-height:1.8;margin-top:.8rem}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.08);color:#9f91b7;font-size:.76rem}.footer-bottom-links{display:flex;align-items:center;gap:1rem}.footer-bottom-links a{display:inline-block!important;padding:0;color:#bdb0ce;font-size:.76rem}.footer-bottom-links a:hover{color:#fff}.footer-signature{color:#c8b9d8}
@media(max-width:760px){.footer-top{grid-template-columns:1fr}.footer-links{grid-template-columns:repeat(2,1fr);gap:1.8rem 1rem}.footer-social-column{grid-column:span 2}}
@media(max-width:480px){.footer-links{grid-template-columns:1fr}.footer-social-column{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column}.footer-bottom-links{order:3;width:100%;justify-content:space-between}.footer-callout{padding:1.1rem}.footer-cta{width:100%}}

/* responsive */
/* panel — analytics charts */
.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.chart-bars{display:flex;align-items:flex-end;gap:.5rem;height:150px;background:var(--brand-soft);border-radius:var(--r-md);padding:.9rem}
.chart-bars span{flex:1;background:var(--brand);border-radius:6px 6px 3px 3px;min-height:4px;transition:opacity .15s}
.chart-bars.is-gold span{background:var(--gold)}
.chart-bars span:hover{opacity:.8}

.chat-card{direction:rtl}.chat-log{display:flex;flex-direction:column;align-items:stretch;gap:.65rem;direction:rtl;max-height:420px;overflow:auto;padding:.8rem;background:linear-gradient(145deg,#faf7ff,#fff);border:1px solid var(--brand-line);border-radius:var(--r-lg)}.chat-msg{align-self:flex-start;max-width:min(78%,620px);padding:.75rem .95rem;border:1px solid var(--line);border-radius:16px 16px 16px 5px;background:#fff;box-shadow:var(--shadow-sm);text-align:right}.chat-msg.is-mine{align-self:flex-end;background:var(--brand-soft);border-color:var(--brand-line);border-radius:16px 16px 5px 16px}.chat-meta{display:flex;justify-content:space-between;gap:1rem;direction:rtl;font-size:.75rem;color:var(--muted)}.chat-msg p{margin:.25rem 0 0;white-space:pre-wrap;word-break:break-word}.chat-form{display:flex;gap:.6rem;direction:rtl;margin-top:.75rem}.chat-form input{flex:1;min-width:0;border:1px solid var(--line-2);border-radius:12px;padding:.7rem .9rem}.comment-list{display:grid;gap:.5rem;margin-top:.8rem}.comment{padding:.65rem .8rem;border-inline-start:3px solid var(--brand-line);background:#faf8ff;border-radius:10px}.comment p{margin:.2rem 0 0;color:var(--ink-2)}.comment-form{display:flex;gap:.6rem;align-items:end;margin-top:.7rem}.comment-form textarea{flex:1;min-height:42px;border:1px solid var(--line-2);border-radius:10px;padding:.55rem;resize:vertical}.profile-link{border:0;background:var(--brand-soft);color:var(--brand-2);border-radius:999px;padding:.25rem .7rem;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.ticket-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.2rem;box-shadow:var(--shadow-sm);margin-bottom:.8rem}.ticket-thread{display:grid;gap:.6rem;margin:1rem 0}.ticket-message{padding:.7rem .85rem;border-radius:12px;background:#f7f3fc;border:1px solid var(--line);text-align:right}.ticket-message.is-user{background:#fff}.ticket-message p{margin:.25rem 0 0;white-space:pre-wrap}.ticket-reply-form{display:flex;gap:.6rem;align-items:end}.ticket-reply-form textarea{flex:1;border:1px solid var(--line-2);border-radius:10px;padding:.6rem;resize:vertical}

.member-profile{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.member-profile form{margin-inline-start:auto}.member-preview:not([hidden]){display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;padding:.8rem;margin:.6rem 0;background:#faf8ff;border:1px solid var(--brand-line);border-radius:12px}.member-preview span{color:var(--muted);font-size:.85rem}.member-preview button{margin-inline-start:auto}.profile-link{text-decoration:none}.comment-form textarea,.ticket-reply-form textarea{min-width:0}@media(max-width:640px){.chat-msg{max-width:92%}.chat-form,.comment-form,.ticket-reply-form{flex-wrap:wrap}.chat-form .btn,.comment-form .btn,.ticket-reply-form .btn{width:100%}}

.sub-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.subscription-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;max-width:720px;margin-top:1.25rem}.subscription-form label{display:grid;gap:.55rem;min-width:0;font-size:.88rem;font-weight:800}.subscription-form select{width:100%;min-height:48px;border:1.5px solid var(--brand-line);border-radius:12px;background:#fff;padding:.65rem 1rem;color:var(--ink-2)}.subscription-form .btn{min-height:48px}@media(max-width:640px){.subscription-form{grid-template-columns:1fr}.subscription-form .btn{width:100%}}

.plan-tile{background:var(--dark);color:#efeaf9;border-radius:var(--r-lg);padding:1.5rem;display:flex;flex-direction:column;gap:.4rem;box-shadow:var(--shadow)}
.plan-tile h2{color:#fff;margin:0}
.plan-tile p{color:#c4b8dd;margin:0;font-size:.88rem}
.plan-tile .eyebrow{color:#c08bff;margin-bottom:.2rem}
.plan-tile .btn{align-self:flex-start;margin-top:auto}
.usage-row{display:flex;justify-content:space-between;align-items:center;font-size:.86rem;font-weight:700;color:var(--ink-2);margin-top:.8rem}
.usage-row strong{color:var(--brand);font-weight:800}
.progress{height:9px;background:#f0ecf7;border-radius:999px;overflow:hidden;margin-top:.45rem}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#a855f7);border-radius:999px}

/* panel — challenges */
.challenge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.challenge-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.6rem}
.challenge-card h3{margin:.2rem 0 0;font-size:1.05rem}
.challenge-card .muted{font-size:.82rem}
.challenge-card .btn{margin-top:auto}
.challenge-card .xp{color:var(--gold);font-weight:800;font-size:.82rem}
.challenge-card .is-done{color:var(--ok);border-color:#bfe7d1;background:#eefaf3}

/* panel — gamification */
.skill-row{margin-bottom:.9rem}
.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.badge{background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:var(--r-md);padding:.7rem;display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:700;color:var(--brand-2)}
.badge span{font-size:1.05rem}

/* panel — community reactions */
.react-row{display:flex;gap:1.2rem;align-items:center;border-top:1px solid var(--line);margin-top:.9rem;padding-top:.7rem;font-size:.84rem;color:var(--muted);flex-wrap:wrap}
.react-row .text-button{color:var(--muted);font-weight:700}
.react-row .text-button:hover{color:var(--brand)}
.react-form{margin:0}

/* panel — announcements & content */
.announce-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:1rem 1.3rem;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;box-shadow:var(--shadow-sm);border-inline-end:3px solid var(--brand)}
.announce-card h2{font-size:1rem;margin:0 0 .3rem}
.announce-card p{margin:0;color:var(--ink-2);font-size:.88rem}
.announce-card small{color:var(--muted);font-size:.76rem;white-space:nowrap}
.content-list{display:grid;gap:.6rem;margin-top:.8rem}
.content-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px dashed var(--line-2);border-radius:var(--r-md);padding:.8rem 1rem}
.content-row h3{margin:0 0 .2rem;font-size:.98rem}
.content-row .muted{font-size:.8rem}
.content-actions{display:flex;align-items:center;gap:.6rem}
.content-actions form{margin:0}
.icon-btn{color:var(--muted);font-size:1rem}

/* panel — settings */
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.setting-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.2rem 1.4rem;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.setting-card h3{margin:0;font-size:1rem}
.setting-card .muted{font-size:.8rem}
.setting-form{display:flex;gap:.5rem;align-items:center;margin:0}
.setting-form input{border:1.5px solid var(--line-2);border-radius:10px;padding:.45rem .7rem;background:#fdfcff;font-size:.86rem;min-width:150px}
.setting-form input:focus{border-color:var(--brand);outline:none}

/* panel — profile */
.profile-head{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:var(--shadow-sm);flex-wrap:wrap}
.profile-head>div{display:flex;align-items:center;gap:1rem}
.profile-head img{width:56px;height:56px;flex-shrink:0}
.profile-head h2{margin:0 0 .2rem;font-size:1.15rem}
.profile-head p{margin:0;font-size:.84rem}

/* 3d depth + ambient code background */
body.is-panel{background:linear-gradient(180deg,var(--bg),#f4f0fa)}
.code-glow{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.code-glow::before,.code-glow::after{content:"";position:absolute;border-radius:50%;filter:blur(70px);opacity:.5}
.code-glow::before{width:420px;height:420px;inset-block-start:-90px;inset-inline-end:-80px;background:radial-gradient(circle,#c9a9f7,#7c1fd1 60%,transparent 72%)}
.code-glow::after{width:380px;height:380px;inset-block-end:-120px;inset-inline-start:-90px;background:radial-gradient(circle,#9fd8ff,#0f766e 62%,transparent 74%)}
.glow-grid{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(124,31,209,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(124,31,209,.07) 1px,transparent 1px);background-size:86px 86px;mask-image:radial-gradient(circle at 50% 25%,#000 15%,transparent 72%);-webkit-mask-image:radial-gradient(circle at 50% 25%,#000 15%,transparent 72%)}
.glow-orbit{position:absolute;inset:0}
.orbit-chip{position:absolute;max-width:calc((100vw - var(--max))/2 - 3rem);overflow:hidden;white-space:nowrap;background:rgba(255,255,255,.86);border:1px solid var(--brand-line);border-radius:999px;padding:.4rem .8rem;box-shadow:var(--shadow);font-size:.74rem;color:var(--brand-2);font-weight:700;direction:ltr;animation:orbitDrift 13s ease-in-out infinite alternate}
.orbit-chip:nth-child(1){inset-block-start:13%;inset-inline-end:1rem}
.orbit-chip:nth-child(2){inset-block-start:70%;inset-inline-end:1rem;animation-duration:17s}
.orbit-chip:nth-child(3){inset-block-start:26%;inset-inline-start:1rem;animation-duration:15s}
.orbit-chip:nth-child(4){inset-block-start:78%;inset-inline-start:1rem;animation-duration:19s}
@media (max-width:1600px){.glow-orbit{display:none}}
@keyframes orbitDrift{
  from{transform:translate3d(0,0,0) rotate(-1.5deg)}
  to{transform:translate3d(.4rem,-1.3rem,0) rotate(1.5deg)}
}
/* 3d surface + hover depth */
.card-3d{transform-style:preserve-3d;transition:transform .3s ease,box-shadow .3s ease}
.card-3d:hover{transform:perspective(1100px) rotateX(4deg) rotateY(-5deg) translateY(-6px);box-shadow:0 36px 70px -30px rgba(90,18,160,.42),0 0 0 1px var(--brand-line)}
.section-3d{position:relative;border-radius:var(--r-xl)}
.section-3d::after{content:"";position:absolute;inset:auto 8% -26px;height:52px;background:linear-gradient(180deg,rgba(124,31,209,.22),transparent);filter:blur(22px);z-index:-1}
.panel-card,.course-card,.project-card,.feature,.challenge-card,.plan-tile,.stat-card{transform-style:preserve-3d}
.panel-card{box-shadow:0 2px 4px rgba(28,20,48,.04),0 18px 40px -26px rgba(90,18,160,.4)}
.panel-card:hover{box-shadow:0 4px 8px rgba(28,20,48,.05),0 30px 56px -30px rgba(90,18,160,.46)}
.panel-card h2{position:relative;padding-inline-start:.7rem}
.panel-card h2::before{content:"";position:absolute;inset-inline-start:0;inset-block:16% 16%;width:4px;border-radius:999px;background:linear-gradient(180deg,var(--brand),#a855f7)}
.challenge-card,.stat-card{transition:transform .3s ease,box-shadow .3s ease}
.challenge-card:hover,.stat-card:hover{transform:perspective(1000px) rotateX(3deg) translateY(-5px);box-shadow:0 30px 60px -28px rgba(90,18,160,.4)}
.hero-window{position:relative;transform-style:preserve-3d;transition:transform .35s ease,box-shadow .35s ease}
.hero-window:hover{transform:perspective(1200px) rotateX(3.5deg) rotateY(4deg) translateY(-6px)}
.hero-window::after{content:"";position:absolute;inset:auto 10% -30px;height:60px;background:linear-gradient(180deg,rgba(124,31,209,.5),transparent);filter:blur(26px);z-index:-1}
.code-input:focus,.terminal{box-shadow:0 0 0 3px var(--brand-soft),0 20px 44px -28px rgba(90,18,160,.45)}
.btn{transform-style:preserve-3d}
.btn:active{transform:translateY(1px)}
.hero{position:relative;isolation:isolate}
.hero-code-floats{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.code-float{position:absolute;display:block;padding:.7rem 1rem;border:1px solid rgba(124,31,209,.22);border-radius:12px;background:rgba(255,255,255,.88);box-shadow:0 20px 45px -24px rgba(90,18,160,.55);color:var(--brand-2);font:700 .75rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;direction:ltr;animation:codeSlide 8s ease-in-out infinite alternate}
.code-float-a{inset-block-start:1rem;inset-inline-start:8%}
.code-float-b{inset-block-end:1rem;inset-inline-end:8%;animation-direction:alternate-reverse;animation-delay:-3s}
@keyframes codeSlide{from{transform:translate3d(-1rem,0,0)}to{transform:translate3d(1rem,0,0)}}
.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
@media (max-width:900px){.help-grid{grid-template-columns:1fr}.code-float{display:none}}
@media (prefers-reduced-motion:reduce){.code-float{animation:none}}

.hero h1 em{background:linear-gradient(100deg,var(--brand-2),#a855f7 45%,var(--brand-2) 75%);background-size:220% auto;background-clip:text;-webkit-background-clip:text;color:transparent;animation:textShimmer 5s ease-in-out infinite}.hero-copy .eyebrow{animation:eyebrowLift .8s ease both}.hero-copy .eyebrow .dot{animation:dotPulse 1.8s ease-in-out infinite}.panel-heading h1,.page-hero h1{animation:titleRise .7s cubic-bezier(.2,.75,.25,1) both}.panel-heading p,.page-hero p{animation:copyRise .8s .1s ease both}.cta-panel h2{background:linear-gradient(100deg,#fff,#e3c8ff,#fff);background-size:200% auto;background-clip:text;-webkit-background-clip:text;color:transparent;animation:textShimmer 6s ease-in-out infinite}@keyframes textShimmer{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}@keyframes eyebrowLift{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes dotPulse{0%,100%{box-shadow:0 0 0 0 rgba(124,31,209,.3)}50%{box-shadow:0 0 0 7px rgba(124,31,209,0)}}@keyframes titleRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes copyRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
@media (hover:none){
  .card-3d:hover,.challenge-card:hover,.stat-card:hover,.hero-window:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){.orbit-chip,.hero h1 em,.hero-copy .eyebrow,.hero-copy .eyebrow .dot,.panel-heading h1,.page-hero h1,.panel-heading p,.page-hero p,.cta-panel h2{animation:none}.card-3d:hover,.challenge-card:hover,.stat-card:hover,.hero-window:hover{transform:none}}

@media (max-width:1080px){
  .pricing-grid{grid-template-columns:repeat(3,1fr)}
  .chart-grid,.sub-layout,.settings-grid{grid-template-columns:1fr}
  .challenge-grid{grid-template-columns:repeat(2,1fr)}
  .price-card.featured{transform:none}
  .course-grid,.project-grid,.features-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .stat-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .main-nav{display:none}
  .menu-toggle{display:block;margin-inline-start:auto}
  .header-actions{display:none}
  .hero{grid-template-columns:1fr;padding-block:2.5rem}
  .hero-display{order:-1}
  .band-inner,.contact-layout,.panel-columns,.split{grid-template-columns:1fr}
  .course-overview-grid{grid-template-columns:1fr;gap:1.2rem}
  .metrics-inner{grid-template-columns:repeat(2,1fr)}
  body.is-panel{grid-template-columns:1fr}
  .sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:264px;z-index:80;transform:translateX(100%);transition:transform .22s ease}
  [dir=rtl] .sidebar{transform:translateX(100%)}
  body.nav-open .sidebar{transform:translateX(0)}
  .panel-menu{display:block}
  .panel-top{justify-content:flex-start}
}
@media (max-width:640px){
  .course-grid,.project-grid,.features-grid,.pricing-grid,.challenge-grid,.badge-grid{grid-template-columns:1fr}
  .course-benefits{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:1fr}
  .account-summary dl,.course-progress-details{grid-template-columns:1fr}
  .chart-bars{height:120px}
  .footer-grid{grid-template-columns:1fr}
  .hero-buttons .btn{width:100%}
  .floating-note{position:static;margin-top:1rem}
  .compare-table{font-size:.8rem}
  .compare-table th,.compare-table td{padding:.6rem .6rem}
  .panel-welcome{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .btn:hover,.feature:hover,.course-card:hover,.project-card:hover,.social-column a:hover{transform:none}
}
.noventix-loading:not([hidden]){position:fixed;inset:0;z-index:100;background:#f5f5f5;display:grid;place-items:center;padding:1rem;pointer-events:none}
.noventix-loading-card{display:flex;align-items:center;flex-direction:column;gap:.65rem;color:#28123e;text-align:center}
.noventix-loading-mark{display:grid;place-items:center;width:68px;height:68px;border-radius:18px;background:#6a0dad;color:#fff;font:800 2.4rem/1 Estedad,system-ui,sans-serif;box-shadow:5px 5px 0 #b8860b}
.noventix-loading-card strong{font-size:1.4rem;letter-spacing:.03em}
.noventix-loading-card p{margin:0;color:#475668}
.noventix-loading-track{width:126px;height:4px;border-radius:4px;background:#cbd2d8;overflow:hidden;margin-block:.4rem}
.noventix-loading-track span{display:block;width:35%;height:100%;border-radius:4px;background:#6a0dad;animation:noventix-loading-slide 1.3s ease-in-out infinite alternate}
@keyframes noventix-loading-slide{to{transform:translateX(-185%)}}
.noventix-not-found{min-height:70vh;background:#f5f5f5;display:grid;place-items:center;padding:clamp(2rem,6vw,5rem) 1rem;color:#28123e}
.noventix-not-found-content{width:min(100%,740px);text-align:center}
.noventix-not-found-label{color:#465666;font-size:.78rem;font-weight:800;letter-spacing:.2em}
.noventix-not-found-art{width:min(100%,380px);height:210px;margin:1rem auto 1.6rem;position:relative;display:grid;place-items:center}
.noventix-not-found-orbit{position:absolute;inset:14px 28px;border:2px solid #708090;border-radius:48% 52% 46% 54%;transform:rotate(-14deg)}
.noventix-not-found-code{position:relative;font:800 clamp(5rem,18vw,9rem)/1 Estedad,system-ui,sans-serif;color:#6a0dad;letter-spacing:-.07em;direction:ltr}
.noventix-not-found-dot{position:absolute;width:18px;height:18px;border-radius:50%;background:#b8860b;top:12px;right:32px}
.noventix-not-found h1{font-size:clamp(1.65rem,4vw,2.7rem);margin-bottom:.6rem}
.noventix-not-found p{color:#465666;font-size:1.05rem}
.noventix-not-found-actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:1.6rem}
.noventix-not-found-actions .btn-primary{background:#6a0dad;box-shadow:none}
.noventix-not-found-actions .btn-primary:hover{background:#501080}
.noventix-not-found-actions .btn-outline{border-color:#708090;color:#28123e}
.noventix-not-found-actions [hidden]{display:none}
.cohort-card{overflow:hidden}
.cohort-table{min-width:760px}
.cohort-table th,.cohort-table td{padding:.75rem .65rem;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap}
.cohort-table thead th{color:var(--muted);font-size:.78rem}
.cohort-table tbody th{text-align:start;color:var(--ink-2)}
.glossary-search{display:flex;gap:.7rem;max-width:760px;margin:0 auto 1.5rem}.glossary-search input{flex:1;min-width:0}.glossary-categories{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 1.5rem}.glossary-categories a{border:1px solid var(--line);border-radius:999px;padding:.45rem .8rem;color:var(--ink-2);background:var(--paper)}.glossary-categories a.active{background:var(--brand);color:#fff;border-color:var(--brand)}.glossary-categories small{opacity:.75}.glossary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.glossary-card,.glossary-entry{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);padding:1.25rem;box-shadow:var(--shadow-sm)}.glossary-card h2{font-size:1.2rem;margin:.8rem 0}.glossary-card h2 a{color:var(--ink)}.glossary-card p{color:var(--muted);line-height:2;margin:0 0 1rem}.glossary-entry{max-width:820px;margin:1rem auto 3rem}.glossary-entry h1{font-size:2.4rem;margin:1rem 0}.glossary-definition{font-size:1.2rem;line-height:2.3;margin:0 0 2rem}.related-terms{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 2rem}.related-terms .pill{color:var(--brand)}
@media(max-width:860px){.glossary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.glossary-grid{grid-template-columns:1fr}.glossary-search{flex-direction:column}.glossary-entry h1{font-size:1.8rem}}
.cohort-table td strong{color:var(--brand-2)}
.cohort-table td small{color:var(--muted);font-size:.72rem}
@media (max-width:480px){.noventix-not-found-art{height:160px}.noventix-not-found-actions{flex-direction:column}.noventix-not-found-actions .btn{width:100%}}
@media (prefers-reduced-motion:reduce){.noventix-loading-track span{animation:none;width:100%}}

/* Shared visual foundation */
html{background:var(--bg)}
body{background:var(--bg);color:var(--ink);font-size:clamp(.96rem, .2vw + .92rem, 1.04rem)}
body:has(.site-header){background:linear-gradient(180deg,#fff 0,var(--bg) 22rem)}
.site-header{background:color-mix(in srgb,var(--card) 92%,transparent);box-shadow:0 1px 0 rgba(40,18,62,.04)}
.header-inner{min-height:76px}
.brand img{display:block}
.main-nav a,.mobile-nav a{min-height:42px;display:inline-flex;align-items:center}
.btn{min-height:44px;border-radius:var(--r-md);transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}
.btn:focus-visible,.main-nav a:focus-visible,.mobile-nav a:focus-visible,.sidebar nav a:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 30%,transparent);outline-offset:2px}
.btn-primary{background:var(--brand);box-shadow:0 10px 22px -14px color-mix(in srgb,var(--brand) 80%,transparent)}
.btn-primary:hover{background:var(--brand-2);box-shadow:0 14px 28px -15px color-mix(in srgb,var(--brand) 80%,transparent)}
.btn-outline{border-color:var(--line-2);color:var(--brand-2)}
.btn-outline:hover{border-color:var(--brand);background:var(--brand-soft)}
.section{padding-block:clamp(3rem,7vw,5.5rem)}
.section-header{margin-bottom:clamp(1.4rem,3vw,2.2rem)}
.section-header h2{color:var(--ink);letter-spacing:-.025em}
.feature,.course-card,.project-card,.panel-card,.stat-card,.price-card,.challenge-card,.profile-card,.post-card,.contact-info-card,.contact-social{border-color:var(--line);box-shadow:var(--shadow-sm)}
.feature:hover,.course-card:hover,.project-card:hover,.panel-card:hover,.price-card:hover,.challenge-card:hover{border-color:var(--brand-line);box-shadow:var(--shadow)}
.stack-form input,.stack-form select,.stack-form textarea,.profile-search input,.chat-form input,.reply-form textarea{min-height:44px;border-color:var(--line-2);background:var(--card)}
.stack-form textarea,.reply-form textarea{min-height:100px}
input::placeholder,textarea::placeholder{color:#87929c;opacity:1}
.empty-state{background:color-mix(in srgb,var(--card) 78%,var(--brand-soft));border-color:var(--line-2)}
.pill{background:var(--brand-soft);color:var(--brand-2)}
.eyebrow{color:var(--brand-2)}
.metrics-inner strong,.stat-card strong,.price,.course-progress-details strong{color:var(--brand)}
.dark-band,.footer,.plan-tile{background:var(--dark)}
.sidebar{background:linear-gradient(180deg,#21112f 0%,#2b1640 100%)}
.panel-top{box-shadow:0 1px 0 rgba(40,18,62,.04)}
@media(max-width:900px){
  .header-inner{min-height:68px}
  .brand img{height:42px;max-width:150px}
  .panel-content{padding:1rem}
}
@media(max-width:560px){
  .container{padding-inline:1rem}
  .hero,.page-hero{padding-block:2.5rem}
  .hero h1{font-size:clamp(2rem,11vw,3rem)}
  .section{padding-block:3rem}
  .profile-hero,.profile-card,.panel-card{padding:1.1rem}
  .profile-actions,.profile-actions .btn{width:100%}
  .profile-actions .btn{text-align:center}
}
@media(prefers-reduced-motion:reduce){body:has(.site-header){background:var(--bg)}}

/* glossary landing */
.glossary-page{background:#f5f5f5;padding-bottom:4rem}.glossary-hero{background:#fff;border-bottom:1px solid var(--line);padding:clamp(2.7rem,8vw,5.7rem) 0 2.4rem}.glossary-hero h1{max-width:720px;font-size:clamp(2rem,5vw,4rem);line-height:1.2;margin:.7rem 0}.glossary-hero p{color:var(--muted);font-size:clamp(1rem,2vw,1.25rem);margin:0}.glossary-hero-stats{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:2rem;color:var(--muted);font-size:.84rem}.glossary-hero-stats span{display:flex;gap:.35rem;align-items:baseline}.glossary-hero-stats strong{color:var(--brand);font-size:1.15rem}.glossary-content{margin-top:-1.2rem;position:relative}.glossary-search-panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:.65rem;margin-bottom:2.5rem}.glossary-search-field{display:flex;align-items:center;gap:.7rem}.glossary-search-field>span{color:var(--brand);font-size:1.65rem;padding-inline-start:.55rem}.glossary-search-field input{border:0;box-shadow:none;flex:1;min-width:0;font-size:1rem;padding:.8rem .2rem}.glossary-search-field input:focus{outline:0}.glossary-search-field .btn{white-space:nowrap}.glossary-browse,.glossary-directory{margin-bottom:2.5rem}.section-header.compact{margin-bottom:1rem}.section-header.compact h2,.glossary-directory h2{margin:.35rem 0 0;font-size:clamp(1.35rem,3vw,2rem)}.glossary-alphabet{display:flex;gap:.4rem;flex-wrap:wrap}.glossary-alphabet a{display:grid;place-items:center;min-width:2.35rem;height:2.35rem;border:1px solid var(--line);border-radius:.65rem;background:#fff;color:var(--ink-2);font-weight:800;direction:ltr;transition:border-color .2s,background .2s,color .2s}.glossary-alphabet a:first-child{padding-inline:.75rem;min-width:auto;font-size:.78rem;direction:rtl}.glossary-alphabet a:hover,.glossary-alphabet a.active{background:var(--brand);border-color:var(--brand);color:#fff}.glossary-alphabet a.is-empty{color:#a3adb6}.glossary-alphabet a small{font-size:.62rem;font-weight:600;color:var(--muted)}.glossary-alphabet a.active small,.glossary-alphabet a:hover small{color:#fff}.glossary-directory-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.glossary-result-count{color:var(--muted);font-size:.85rem;white-space:nowrap}.glossary-categories{display:flex;gap:.55rem;flex-wrap:wrap;margin:0}.glossary-categories a{border:1px solid var(--line);border-radius:999px;padding:.55rem .85rem;color:var(--ink-2);background:#fff}.glossary-categories a:hover,.glossary-categories a.active{background:var(--brand);color:#fff;border-color:var(--brand)}.glossary-categories small{opacity:.72}.glossary-categories a.active small{color:#fff}.glossary-active-filter{display:flex;justify-content:space-between;gap:1rem;align-items:center;border:1px solid #decde9;border-radius:var(--r-md);background:#fbf8fd;color:var(--ink-2);padding:.75rem 1rem;margin-bottom:1.25rem;font-size:.85rem}.glossary-active-filter a{color:var(--brand);font-weight:800;white-space:nowrap}.glossary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.glossary-card{display:flex;flex-direction:column;min-height:260px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;padding:1.25rem;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.glossary-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(17,17,17,.08)}.glossary-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.glossary-letter{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.6rem;background:#f0e5f6;color:var(--brand);font-weight:900;direction:ltr}.glossary-term{color:var(--muted);font-size:.83rem;margin-top:1rem}.glossary-card h3{font-size:1.25rem;margin:.35rem 0 .65rem}.glossary-card h3 a{color:var(--ink)}.glossary-card p{color:var(--muted);line-height:2;margin:0 0 1.2rem}.glossary-card .inline-link{margin-top:auto}.glossary-empty{text-align:center;padding:3rem 1rem}.glossary-empty-mark{display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:50%;margin:0 auto 1rem;background:#f0e5f6;color:var(--brand);font-size:1.7rem}.glossary-empty p{color:var(--muted)}.glossary-empty .btn{margin-top:.7rem}.glossary-pager{margin-top:1.5rem}
@media(max-width:900px){.glossary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.glossary-search-field{flex-wrap:wrap}.glossary-search-field input{flex-basis:calc(100% - 3rem)}.glossary-search-field .btn{width:100%}.glossary-directory-head{align-items:start;flex-direction:column}.glossary-grid{grid-template-columns:1fr}.glossary-active-filter{align-items:flex-start;flex-direction:column;gap:.45rem}.glossary-hero-stats{gap:.7rem;flex-direction:column}.glossary-card{min-height:0}}

/* skill profile & members */
.profile-page{padding:2rem 0 4rem}
.profile-crumb{display:flex;gap:.6rem;align-items:center;font-size:.82rem;color:var(--muted);margin-bottom:1rem}
.profile-crumb a{color:var(--brand);font-weight:700}
.profile-hero{background:linear-gradient(135deg,#fff 0%,var(--brand-soft) 100%);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.6rem;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:flex-start;gap:1.2rem;flex-wrap:wrap;margin-bottom:1.4rem}
.profile-identity{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.profile-identity h1{margin:.1rem 0 .3rem;font-size:1.55rem}
.profile-identity p{margin:0;font-size:.85rem}
.profile-avatar{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:800;font-size:1.5rem;flex-shrink:0}
.skill-level{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1.5px solid var(--brand-line);border-radius:999px;padding:.25rem .8rem;font-size:.78rem;color:var(--brand-2)}
.skill-level strong{font-size:1rem}
.skill-level.is-large{padding:.45rem 1rem}
.profile-actions,.profile-summary-links{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.profile-search{display:flex;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap}
.profile-search input{flex:1;min-width:220px;border:1.5px solid var(--line-2);border-radius:12px;padding:.7rem .9rem;background:#fff;font-family:inherit;font-size:.9rem}
.profile-search input:focus{border-color:var(--brand);outline:none}
.profile-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.2rem;align-items:start}
.profile-column{display:flex;flex-direction:column;gap:1.2rem;min-width:0}
.profile-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem;box-shadow:var(--shadow-sm)}
.profile-card h2{margin:.2rem 0 .8rem;font-size:1.12rem}
.profile-progress-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.skill-stats,.profile-summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem;margin:.6rem 0 1rem}
.skill-stat{background:var(--brand-soft);border-radius:var(--r-md);padding:.8rem .9rem;display:flex;flex-direction:column;gap:.15rem}
.skill-stat span{font-size:.76rem;color:var(--muted);font-weight:700}
.skill-stat strong{font-size:1.25rem;color:var(--brand-2)}
.skill-stat small{font-size:.72rem;color:var(--muted)}
.skill-next{margin:.2rem 0 .6rem;font-size:.85rem;color:var(--ink-2)}
.skill-meter{position:relative;height:10px;border-radius:999px;background:var(--line);overflow:hidden;margin:.35rem 0 .9rem}
.skill-meter>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand),#b8860b)}
.skill-meter small{position:absolute;inset-inline-end:.4rem;top:-1.35rem;font-size:.72rem;color:var(--muted)}
.skill-topic-list,.completion-list,.thread-list,.learner-grid,.message-thread{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.skill-topic-head{display:flex;justify-content:space-between;gap:.8rem;font-size:.86rem;flex-wrap:wrap}
.skill-topic-head span{color:var(--muted);font-size:.78rem}
.completion-list li{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:.55rem}
.completion-list li:last-child{border-bottom:0;padding-bottom:0}
.completion-title{font-weight:700;flex:1;min-width:140px}
.completion-meta{font-size:.78rem;color:var(--muted)}
.learner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.9rem}
.learner-card a{display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.2rem 1rem;box-shadow:var(--shadow-sm)}
.learner-card a:hover{border-color:var(--brand-line);transform:translateY(-2px)}
.learner-card strong{color:var(--ink)}
.learner-card .muted{font-size:.78rem}
.message-compose{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;min-width:260px}
.message-compose label{font-size:.8rem;font-weight:700;color:var(--ink-2)}
.message-compose textarea{border:1.5px solid var(--line-2);border-radius:12px;padding:.6rem .8rem;font-family:inherit;font-size:.88rem;resize:vertical}
.message-compose textarea:focus{border-color:var(--brand);outline:none}
.message-compose .btn{align-self:flex-start}
.message-compose .fine-print{margin:0;font-size:.75rem;color:var(--muted)}
.thread-item{border:1px solid var(--line);border-radius:var(--r-md);padding:.75rem .9rem;background:#fff}
.thread-item.is-unread{border-color:var(--brand-line);background:var(--brand-soft)}
.thread-item>a{display:flex;flex-direction:column;gap:.2rem;color:inherit}
.thread-item strong{color:var(--ink)}
.thread-preview{font-size:.85rem;color:var(--ink-2);overflow-wrap:anywhere}
.thread-actions{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}
.message-thread{max-height:460px;overflow-y:auto;padding:.4rem;margin-bottom:1rem}
.message-bubble{max-width:78%;background:var(--brand-soft);border-radius:14px;padding:.6rem .9rem;align-self:flex-start}
.message-bubble.is-mine{align-self:flex-end;background:#fff;border:1px solid var(--brand-line)}
.message-bubble p{margin:0;font-size:.88rem;overflow-wrap:anywhere}
.message-bubble small{display:block;margin-top:.3rem;font-size:.7rem;color:var(--muted)}
.glossary-entry-header{border-bottom:1px solid var(--line);padding-bottom:1.5rem}.glossary-entry-header h1{font-size:clamp(2rem,6vw,3.4rem);margin:.55rem 0 .25rem;direction:ltr;text-align:right}.glossary-term-fa{font-size:1.25rem;color:var(--muted);margin:0 0 .8rem}.glossary-abbreviation{color:var(--muted);margin:.4rem 0}.glossary-entry-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:1.15rem}.glossary-entry-meta .pill{color:var(--brand)}.glossary-difficulty{border:1px solid var(--line);border-radius:999px;padding:.35rem .7rem;color:var(--muted);font-size:.82rem}.glossary-entry-body{max-width:760px}.glossary-detail-section{margin:2rem 0}.glossary-detail-section h2{font-size:1.35rem;margin:0 0 .7rem;color:var(--ink)}.glossary-detail-copy{color:var(--ink-2);line-height:2.25;white-space:normal}.glossary-detail-list{margin:0;padding-inline-start:1.3rem;color:var(--ink-2);line-height:2.2}.glossary-code{direction:ltr;text-align:left;overflow:auto;background:#1d1721;color:#f8f4fa;border-radius:var(--r-md);padding:1rem;line-height:1.7;font-size:.86rem}.related-term-card{display:flex;flex-direction:column;gap:.25rem;border:1px solid var(--line);border-radius:var(--r-md);padding:.75rem 1rem;background:#fff;color:var(--ink)}.related-term-card span{color:var(--muted);font-size:.8rem}.glossary-sources{padding-inline-start:1.4rem;color:var(--ink-2);line-height:2}.glossary-sources li{padding:.3rem 0}.glossary-sources a{color:var(--brand)}.glossary-sources small{display:block;color:var(--muted)}.glossary-reviewed{border-top:1px solid var(--line);padding-top:1rem;color:var(--muted);font-size:.82rem}
.glossary-clear{border:0;background:transparent;color:var(--muted);font-size:1.5rem;line-height:1;padding:.25rem .5rem;cursor:pointer}.glossary-suggestions{position:absolute;z-index:5;inset-inline:3.2rem .5rem;top:calc(100% + .45rem);background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 12px 26px rgba(17,17,17,.1);overflow:hidden;color:var(--muted);padding:.75rem}.glossary-suggestions a{display:flex;justify-content:space-between;gap:1rem;padding:.65rem .5rem;border-radius:.5rem;color:var(--ink-2)}.glossary-suggestions a:hover{background:var(--brand-soft)}.glossary-suggestions a strong{color:var(--ink)}.glossary-suggestions a span{direction:ltr;font-size:.8rem;color:var(--muted)}.glossary-retry{border:0;background:none;color:var(--brand);font-weight:800;cursor:pointer;margin-inline-start:.7rem}
.glossary-page{background:linear-gradient(180deg,#fbf9fe 0%,#f5f3f9 42%,#faf9fc 100%);padding-bottom:clamp(3rem,7vw,6rem)}
.glossary-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#25123e 0%,#4c187c 58%,#7528b9 100%);border:0;padding:clamp(3.4rem,8vw,6.5rem) 0 clamp(3rem,7vw,5rem);color:#fff}
.glossary-hero::before,.glossary-hero::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%;z-index:-1}.glossary-hero::before{width:28rem;height:28rem;inset-inline-end:-10rem;top:-15rem}.glossary-hero::after{width:20rem;height:20rem;inset-inline-start:-9rem;bottom:-13rem}
.glossary-hero .container{position:relative}.glossary-hero .eyebrow{color:#e9d7ff}.glossary-hero h1{max-width:720px;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.2;margin:.7rem 0 1rem;letter-spacing:-.04em}.glossary-hero p{max-width:620px;color:#eadcf6;font-size:clamp(1rem,2vw,1.2rem);margin:0}.glossary-hero-stats{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2.2rem;color:#e4d5f3;font-size:.82rem}.glossary-hero-stats span{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);padding:.5rem .8rem}.glossary-hero-stats strong{color:#fff;font-size:1.05rem}
.glossary-content{margin-top:-1.8rem;position:relative;z-index:1}.glossary-search-panel{position:relative;max-width:900px;background:rgba(255,255,255,.96);border:1px solid rgba(228,212,248,.9);border-radius:var(--r-xl);box-shadow:0 18px 50px rgba(43,18,69,.14);padding:.7rem;margin-bottom:2.2rem}.glossary-search-field{min-height:3.55rem;display:flex;align-items:center;gap:.55rem}.glossary-search-field>span{display:grid;place-items:center;width:2.5rem;height:2.5rem;flex:none;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:1.45rem;padding:0}.glossary-search-field input{border:0;box-shadow:none;flex:1;min-width:0;background:transparent;font-size:1rem;padding:.8rem .25rem}.glossary-search-field input::placeholder{color:#948aa5}.glossary-search-field input:focus{outline:0}.glossary-search-field .btn{min-height:2.85rem;border-radius:var(--r-md);padding-inline:1.3rem;white-space:nowrap}.glossary-browse,.glossary-directory{background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);padding:clamp(1.1rem,3vw,1.7rem);margin-bottom:1.35rem}.section-header.compact{margin-bottom:1.1rem}.section-header.compact h2,.glossary-directory h2{margin:.25rem 0 0;font-size:clamp(1.25rem,3vw,1.8rem)}.glossary-alphabet{display:grid;grid-template-columns:repeat(auto-fit,minmax(3.2rem,1fr));gap:.5rem}.glossary-alphabet a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;min-width:0;min-height:3.65rem;padding:.35rem .25rem;border:1px solid var(--line-2);border-radius:var(--r-md);background:#fff;color:var(--ink-2);font-weight:800;line-height:1.2;direction:ltr;transition:transform .2s,border-color .2s,background .2s,color .2s,box-shadow .2s}.glossary-alphabet a:first-child{grid-column:span 2;min-width:0;padding-inline:.65rem;font-size:.82rem;direction:rtl;white-space:nowrap}.glossary-alphabet a small{display:inline-flex;align-items:center;justify-content:center;min-width:1.3rem;height:1.15rem;border-radius:999px;background:#f1edf6;color:var(--muted);font-size:.65rem;font-weight:700;line-height:1}.glossary-alphabet a:hover,.glossary-alphabet a.active{transform:translateY(-2px);background:var(--brand);border-color:var(--brand);box-shadow:0 7px 16px rgba(124,31,209,.2);color:#fff}.glossary-alphabet a.active small,.glossary-alphabet a:hover small{background:rgba(255,255,255,.18);color:#fff}.glossary-alphabet a.is-empty{opacity:.55}.glossary-directory-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.glossary-result-count{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;background:var(--brand-soft);color:var(--brand-2);font-size:.8rem;font-weight:800;padding:.45rem .75rem;white-space:nowrap}.glossary-categories{display:flex;gap:.55rem;flex-wrap:wrap;margin:0}.glossary-categories a{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.65rem;border:1px solid var(--line-2);border-radius:999px;padding:.5rem .85rem;color:var(--ink-2);background:#fff;transition:transform .2s,border-color .2s,background .2s,color .2s}.glossary-categories a:hover,.glossary-categories a.active{transform:translateY(-1px);background:var(--brand);color:#fff;border-color:var(--brand)}.glossary-categories small{display:inline-flex;align-items:center;justify-content:center;min-width:1.45rem;height:1.35rem;padding-inline:.28rem;border-radius:999px;background:#f1edf6;color:var(--muted);font-size:.66rem;line-height:1}.glossary-categories a.active small{background:rgba(255,255,255,.18);color:#fff}
.glossary-active-filter{display:flex;justify-content:space-between;gap:1rem;align-items:center;border:1px solid #decde9;border-radius:var(--r-md);background:#fbf8fd;color:var(--ink-2);padding:.85rem 1rem;margin-bottom:1.25rem;font-size:.85rem}.glossary-active-filter a{color:var(--brand);font-weight:800;white-space:nowrap}.glossary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.glossary-card{display:flex;flex-direction:column;min-height:285px;border:1px solid var(--line);border-radius:var(--r-xl);background:rgba(255,255,255,.96);padding:1.3rem;box-shadow:var(--shadow-sm);transition:transform .22s,box-shadow .22s,border-color .22s}.glossary-card:hover{transform:translateY(-4px);border-color:var(--brand-line);box-shadow:0 18px 35px rgba(41,20,62,.12)}.glossary-card-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.glossary-letter{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.75rem;background:var(--brand-soft);color:var(--brand);font-weight:900;direction:ltr}.glossary-term{display:block;color:var(--muted);font-size:.82rem;margin-top:1.15rem;overflow-wrap:anywhere}.glossary-card h3{font-size:1.22rem;margin:.35rem 0 .65rem}.glossary-card h3 a{color:var(--ink)}.glossary-card p{color:var(--muted);line-height:2;margin:0 0 1.2rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.glossary-card .inline-link{margin-top:auto}.glossary-empty{text-align:center;padding:3rem 1rem}.glossary-empty-mark{display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:50%;margin:0 auto 1rem;background:var(--brand-soft);color:var(--brand);font-size:1.7rem}.glossary-empty p{color:var(--muted)}.glossary-empty .btn{margin-top:.7rem}.glossary-pager{margin-top:1.5rem}
.glossary-entry{max-width:920px;margin:1.25rem auto 3rem;border:1px solid var(--line);border-radius:var(--r-xl);background:rgba(255,255,255,.96);padding:clamp(1.2rem,4vw,2.2rem);box-shadow:0 18px 45px rgba(41,20,62,.08)}.glossary-entry-header{position:relative;border:1px solid var(--brand-line);border-radius:var(--r-lg);background:linear-gradient(135deg,#fff 0%,#fbf7ff 100%);padding:clamp(1.2rem,3vw,2rem);overflow:hidden}.glossary-entry-header::after{content:"";position:absolute;width:10rem;height:10rem;border:1px solid var(--brand-line);border-radius:50%;inset-inline-end:-4rem;top:-4rem;opacity:.65}.glossary-entry-header h1{position:relative;z-index:1;font-size:clamp(2rem,6vw,3.7rem);margin:.55rem 0 .25rem;direction:ltr;text-align:right;overflow-wrap:anywhere}.glossary-term-fa{position:relative;z-index:1;font-size:1.25rem;color:var(--muted);margin:0 0 .8rem}.glossary-definition{position:relative;z-index:1;font-size:1.08rem;line-height:2.15;max-width:760px;margin:0}.glossary-entry-meta{position:relative;z-index:1;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:1.15rem}.glossary-detail-section{margin:2.2rem 0}.glossary-detail-section h2{font-size:1.35rem;margin:0 0 .75rem;color:var(--ink)}.glossary-detail-copy{color:var(--ink-2);line-height:2.25;max-width:74ch}.related-terms{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem;margin:1rem 0 2rem}.related-term-card{display:flex;flex-direction:column;gap:.25rem;border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem;background:#fff;color:var(--ink);transition:transform .2s,border-color .2s,box-shadow .2s}.related-term-card:hover{transform:translateY(-2px);border-color:var(--brand-line);box-shadow:var(--shadow)}
@media(max-width:900px){.glossary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.glossary-content{margin-top:-1rem}.glossary-search-panel{border-radius:var(--r-lg);padding:.55rem}.glossary-search-field{min-height:0;flex-wrap:wrap}.glossary-search-field input{flex:1 1 calc(100% - 3.1rem);padding-block:.65rem}.glossary-search-field .btn{width:100%;margin-top:.2rem}.glossary-alphabet{grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem}.glossary-alphabet a{min-height:3.35rem}.glossary-alphabet a:first-child{grid-column:span 5}.glossary-directory-head{align-items:flex-start;flex-direction:column}.glossary-grid{grid-template-columns:1fr}.glossary-active-filter{align-items:flex-start;flex-direction:column;gap:.45rem}.glossary-hero-stats{gap:.55rem;flex-direction:column;align-items:flex-start}.glossary-card{min-height:0}.glossary-entry{border-radius:var(--r-lg);padding:.8rem}.glossary-entry-header{border-radius:var(--r-md)}.glossary-entry h1{font-size:2rem}.related-terms{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.glossary-alphabet a,.glossary-card,.related-term-card,.glossary-categories a{transition:none}.glossary-alphabet a:hover,.glossary-card:hover,.related-term-card:hover,.glossary-categories a:hover{transform:none}}

/* Hover interaction layer */
@media (hover:hover){
  .feature,.course-card,.project-card,.price-card,.challenge-card,.post-card,.profile-card,.glossary-card,.related-term-card,.stat-card,.panel-card{position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.2,.75,.25,1),box-shadow .28s ease,border-color .28s ease}
  .feature::after,.course-card::after,.project-card::after,.price-card::after,.challenge-card::after,.post-card::after,.profile-card::after,.glossary-card::after,.related-term-card::after,.stat-card::after,.panel-card::after{content:"";position:absolute;inset:-35% auto auto -15%;width:55%;height:70%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 13%,transparent),transparent 70%);opacity:0;pointer-events:none;transform:translate(-20px,-20px);transition:opacity .3s ease,transform .4s ease}
  .feature:hover,.course-card:hover,.project-card:hover,.price-card:hover,.challenge-card:hover,.post-card:hover,.profile-card:hover,.glossary-card:hover,.related-term-card:hover,.stat-card:hover,.panel-card:hover{transform:translateY(-7px);border-color:var(--brand-line);box-shadow:0 24px 48px -26px rgba(40,18,62,.35)}
  .feature:hover::after,.course-card:hover::after,.project-card:hover::after,.price-card:hover::after,.challenge-card:hover::after,.post-card:hover::after,.profile-card:hover::after,.glossary-card:hover::after,.related-term-card:hover::after,.stat-card:hover::after,.panel-card:hover::after{opacity:1;transform:translate(0,0)}
  .feature-icon,.course-icon,.project-visual,.about-card-mark,.help-topic-icon{transition:transform .3s cubic-bezier(.2,.75,.25,1),filter .3s ease}
  .feature:hover .feature-icon,.course-card:hover .course-icon,.help-topic:hover .help-topic-icon{transform:translateY(-3px) rotate(-4deg) scale(1.08);filter:saturate(1.12)}
  .project-card:hover .project-visual{transform:scale(1.035)}
  .project-card:hover .visual-glyph{transform:translateY(-4px) scale(1.12);transition:transform .3s ease}
  .project-card .visual-glyph{transition:transform .3s ease}
  .inline-link,.footer-column>a,.footer-bottom-links a,.main-nav a{position:relative}
  .inline-link::after,.footer-column>a::after,.footer-bottom-links a::after{content:"";position:absolute;inset-inline:0;inset-block-end:-.15rem;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:var(--link-origin,right);transition:transform .25s ease}
  [dir="rtl"] .inline-link::after,[dir="rtl"] .footer-column>a::after,[dir="rtl"] .footer-bottom-links a::after{transform-origin:right}
  .inline-link:hover::after,.footer-column>a:hover::after,.footer-bottom-links a:hover::after{transform:scaleX(1)}
  .section-header h2{transition:color .25s ease,transform .25s ease}.section-header:hover h2{color:var(--brand-2);transform:translateX(-4px)}
  .section-header p{transition:color .25s ease}.section-header:hover p{color:var(--ink-2)}
  .footer-callout{transition:transform .28s ease,background-color .28s ease,border-color .28s ease}.footer-callout:hover{transform:translateY(-4px);background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.28)}
}
@media(prefers-reduced-motion:reduce){.feature,.course-card,.project-card,.price-card,.challenge-card,.post-card,.profile-card,.glossary-card,.related-term-card,.stat-card,.panel-card,.feature-icon,.course-icon,.project-visual,.about-card-mark,.help-topic-icon,.footer-callout{transition:none!important}.section-header h2{transition:none}.section-header:hover h2{transform:none}}

.pricing-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#21112f 0%,#4a176e 62%,#6A0DAD 100%);color:#fff;padding-block:clamp(3.2rem,8vw,6rem) clamp(3rem,6vw,4.5rem)}
.pricing-hero::after{content:"";position:absolute;width:28rem;height:28rem;border:1px solid rgba(255,255,255,.14);border-radius:50%;inset-inline-end:-11rem;top:-15rem;z-index:-1}.pricing-hero .container{position:relative}.pricing-hero .eyebrow{color:#e8cfff}.pricing-hero h1{max-width:760px;margin:.65rem 0 .9rem;font-size:clamp(2rem,5vw,4rem);line-height:1.2}.pricing-hero p{max-width:680px;color:#eadcf6;line-height:2;margin:0}.pricing-hero-facts{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.8rem}.pricing-hero-facts span{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(255,255,255,.08);padding:.45rem .8rem;color:#e5d8f0;font-size:.78rem}.pricing-hero-facts strong{color:#fff;font-size:.95rem}.pricing-grid-active{grid-template-columns:minmax(280px,390px);justify-content:start}.pricing-grid-active .price-card{width:100%}.pricing-status-section{background:#fbf8fd;border-block:1px solid var(--line)}.pricing-status{display:flex;align-items:flex-start;gap:1rem;max-width:850px;margin:auto;padding:clamp(1.3rem,4vw,2rem);border:1px solid var(--brand-line);border-radius:var(--r-xl);background:#fff;box-shadow:var(--shadow-sm)}.pricing-status-icon{display:grid;place-items:center;flex:none;width:2.5rem;height:2.5rem;border-radius:50%;background:#eaf8f0;color:var(--ok);font-weight:900}.pricing-status h2{font-size:clamp(1.2rem,3vw,1.7rem);margin:.25rem 0 .45rem}.pricing-status p{color:var(--ink-2);line-height:2;margin:0}.pricing-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.pricing-facts article{padding:1.25rem;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow-sm)}.pricing-facts article>span{display:grid;place-items:center;width:2.15rem;height:2.15rem;border-radius:.7rem;background:var(--brand-soft);color:var(--brand);font-weight:900;font-size:.8rem}.pricing-facts h3{margin:.9rem 0 .35rem}.pricing-facts p{color:var(--ink-2);font-size:.88rem;line-height:1.9;margin:0}@media(max-width:900px){.pricing-facts{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.pricing-grid-active{grid-template-columns:1fr}.pricing-status{align-items:flex-start;flex-direction:column}.pricing-facts{grid-template-columns:1fr}.pricing-hero-facts{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.pricing-facts article,.pricing-status{transition:none}}

/* Three.js visual layer */
body:has(.hero-canvas){background:radial-gradient(circle at 78% 8%,rgba(155,77,221,.12),transparent 27rem),linear-gradient(180deg,#fbf8ff 0,var(--bg) 34rem)}
body:has(.hero-canvas) .site-header{background:rgba(250,247,255,.78);border-bottom-color:rgba(106,13,173,.14)}
.hero-display{min-height:470px;perspective:1400px}
.hero-canvas{display:none;width:100%;height:360px;position:relative;z-index:0;opacity:.92;filter:drop-shadow(0 20px 34px rgba(106,13,173,.16))}
.scene-ready .hero-canvas{display:block}
.scene-controls{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}
.scene-controls p{font-size:.75rem;color:var(--ink-2);margin:0;flex:1;min-width:160px}
.scene-controls [hidden]{display:none}
.scene-ready .hero-window{display:none}
.hero-window{z-index:1}
.hero-display::before{content:"";position:absolute;inset:-7% -5%;z-index:-1;border:1px solid rgba(106,13,173,.12);border-radius:38% 62% 48% 52%;background:linear-gradient(135deg,rgba(255,255,255,.32),rgba(243,234,249,.08));transform:rotate(-4deg);pointer-events:none}
body:has(.hero-canvas) .metrics{background:rgba(255,255,255,.72);backdrop-filter:blur(14px)}
body:has(.hero-canvas) .feature,body:has(.hero-canvas) .course-card,body:has(.hero-canvas) .project-card,body:has(.hero-canvas) .price-card{background:rgba(255,255,255,.82);backdrop-filter:blur(10px)}
body:has(.hero-canvas) .dark-band{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(120deg,#160d25,#391054 56%,#21112f)}
body:has(.hero-canvas) .dark-band::after{content:"";position:absolute;width:28rem;height:28rem;inset-inline-start:-12rem;top:-16rem;border:1px solid rgba(192,139,255,.28);border-radius:50%;box-shadow:0 0 0 28px rgba(192,139,255,.04),0 0 0 56px rgba(192,139,255,.025);pointer-events:none}
@media(max-width:900px){.hero-display{min-height:390px}.hero-canvas{width:100%;height:320px}}
@media(max-width:640px){.hero-display{min-height:330px}.hero-canvas{height:280px;opacity:.85}.hero-display::before{inset:-3% -2%}}
@media(prefers-reduced-motion:reduce){.hero-canvas{opacity:.55}.hero-display::before{transform:none}}