:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8fb;--surface:#fff;--surface-2:#f0f2f7;--ink:#14161c;--ink-2:#434856;--muted:#666d7c;--line:#14161c1a;--line-strong:#14161c3d;--accent:#2b5cff;--accent-hover:#1f4be0;--accent-deep:#1d46d8;--accent-soft:#2b5cff1a;--accent-wash:#e4ebff;--sun-tint:#fff2a8;--sun-deep:#c2410c;--teal-tint:#cdeff1;--teal-deep:#0b6b74;--coral-tint:#ffe0d6;--coral-deep:#b42c17;--mint-tint:#d5f4dc;--mint-deep:#0f6b3a;--hl:#ffe14d;--display:"Noto Kufi Arabic", "Noto Sans Arabic", system-ui, sans-serif;--font:"Noto Sans Arabic", system-ui, sans-serif;--latin:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", "Noto Sans Arabic", ui-monospace, "SF Mono", Menlo, monospace;--gutter:clamp(20px, 5vw, 56px);--max:1160px;--r-ctrl:10px;--r-card:18px;--r-panel:28px;--shadow-sm:0 1px 2px #14161c0a, 0 2px 8px -2px #14161c0f;--shadow-md:0 2px 4px #14161c0a, 0 20px 48px -20px #14161c2e;--ease:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--fast:.15s;--dir:-1}[data-stage="01"]{--tint:var(--sun-tint);--deep:var(--sun-deep)}[data-stage="02"]{--tint:var(--teal-tint);--deep:var(--teal-deep)}[data-stage="03"]{--tint:var(--coral-tint);--deep:var(--coral-deep)}[data-stage="04"]{--tint:var(--mint-tint);--deep:var(--mint-deep)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}body{-webkit-tap-highlight-color:transparent;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.8;overflow-x:hidden}a{color:inherit;text-decoration:none}h1,h2,h3,p,ul,ol,blockquote,figure,dl,dd,pre{margin:0;padding:0}ul,ol{list-style:none}svg{flex-shrink:0}img{max-width:100%}::selection{background:var(--hl);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.display{font-family:var(--display)}.latin{font-family:var(--latin);unicode-bidi:isolate}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.latin.mono{font-family:var(--mono)}.wrap{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.skip{inset-inline-start:16px;z-index:100;border-radius:var(--r-ctrl);background:var(--ink);color:#fff;padding:8px 14px;font-weight:600;position:absolute;top:-60px}.skip:focus{top:12px}.btn{border-radius:var(--r-ctrl);min-height:46px;font:600 15px/1.2 var(--font);white-space:nowrap;cursor:pointer;transition:background var(--fast) var(--ease), color var(--fast) var(--ease), border-color var(--fast) var(--ease), transform var(--fast) var(--ease), box-shadow var(--fast) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:0 20px;display:inline-flex}.btn svg{width:18px;height:18px}.btn:active{transform:scale(.98)}.btn-lg{min-height:52px;padding:0 24px;font-size:16px}.btn-sm{gap:8px;min-height:38px;padding:0 14px;font-size:14px}.btn-sm svg{width:16px;height:16px}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 1px 2px #2b5cff33,0 8px 20px -10px #2b5cff99}.btn-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.btn-paper{color:var(--accent-deep);background:#fff}.btn-ghost{color:#fff;border-color:#ffffff80}.link{color:var(--accent-deep);text-underline-offset:.25em;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--accent-deep) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--accent-deep) 35%, transparent);transition:text-decoration-color var(--fast) var(--ease);font-weight:600}.link svg{vertical-align:-2px;width:14px;height:14px;margin-inline-start:4px}@media (hover:hover){.btn-primary:hover{background:var(--accent-hover)}.btn-secondary:hover{border-color:var(--ink)}.btn-paper:hover{background:var(--surface-2)}.btn-ghost:hover{background:#ffffff1f;border-color:#fffc}.link:hover{-webkit-text-decoration-color:var(--accent-deep);text-decoration-color:var(--accent-deep)}}.status{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;align-items:center;gap:10px;padding:6px 14px;font-size:13.5px;font-weight:600;display:inline-flex}.status-dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.hero-note{color:var(--ink);font-family:var(--display);align-items:center;gap:14px;font-size:15px;font-weight:600;display:inline-flex}.hero-note:before,.hero-note:after{content:"";background:var(--ink);opacity:.35;width:28px;height:1.5px}.hero-note-mark{isolation:isolate;padding:2px 10px 4px;position:relative}.hero-note-mark:before{content:"";z-index:-1;background:var(--hl);transform-origin:100%;animation:mark-in .7s var(--ease-out) .45s both;border-radius:3px 14px 5px 11px/11px 4px 13px 5px;position:absolute;inset:22% -2px 4%;transform:rotate(-1.5deg)skew(-10deg)}@keyframes mark-in{0%{transform:rotate(-1.5deg)skew(-10deg)scaleX(0)}}.top{inset-inline:0;z-index:50;padding-inline:var(--gutter);pointer-events:none;position:fixed;top:14px}.top-pill{pointer-events:auto;padding:6px;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);max-width:880px;transition:box-shadow .2s var(--ease), border-color .2s var(--ease);background:#ffffffe6;border-radius:999px;align-items:center;gap:16px;margin-inline:auto;padding-inline-start:18px;display:flex}.top.is-scrolled .top-pill{box-shadow:var(--shadow-sm);border-color:var(--line-strong)}.brand{font-family:var(--latin);letter-spacing:-.01em;align-items:center;gap:9px;font-size:17px;font-weight:600;display:inline-flex}.brand svg{width:18px;height:18px;color:var(--accent-deep)}.top-nav{gap:4px;margin-inline:auto;display:flex}.top-nav a{color:var(--ink-2);transition:background var(--fast) var(--ease), color var(--fast) var(--ease);border-radius:999px;padding:6px 14px;font-size:15px;font-weight:500}.top-nav a:hover{background:var(--surface-2);color:var(--ink)}.top-ask{--wa:#25d366;background:var(--ink);color:#fff;border-radius:999px;gap:10px;min-height:42px;padding-block:0;padding-inline:6px 18px;font-size:14.5px;box-shadow:inset 0 1px #ffffff24,0 6px 16px -8px #14161c8c}.top-ask-icon{background:var(--wa);color:#fff;width:30px;height:30px;transition:transform .2s var(--ease-out);border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 -2px #0000001f}.top-ask-icon svg{width:17px;height:17px}@media (hover:hover){.top-ask:hover{background:#262a34;box-shadow:inset 0 1px #ffffff24,0 10px 22px -10px #14161c99}.top-ask:hover .top-ask-icon{transform:rotate(-12deg)scale(1.06)}}.hero{padding-top:clamp(128px,17vh,176px);position:relative;overflow:hidden}.hero-wash{background:radial-gradient(ellipse 60% 50% at 50% 0%, var(--accent-wash), transparent 70%), radial-gradient(circle, var(--line-strong) 1px, transparent 1.2px) 0 0 / 28px 28px;pointer-events:none;height:820px;position:absolute;inset:0 0 auto;-webkit-mask-image:radial-gradient(70% 60% at 50% 20%,#000 10%,#0000 75%);mask-image:radial-gradient(70% 60% at 50% 20%,#000 10%,#0000 75%)}.hero-inner{text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.h1{text-wrap:balance;max-width:20ch;margin-top:24px;font-size:clamp(38px,6vw,76px);font-weight:700;line-height:1.22}.accent{color:var(--accent-deep)}.lead{max-width:34rem;color:var(--ink-2);margin-top:22px;font-size:clamp(17px,1.6vw,20px);line-height:1.8}.actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px;display:flex}.hero-btn{border-radius:999px;gap:12px;min-height:56px;font-size:16px}.hero-btn-icon{width:40px;height:40px;transition:transform .22s var(--ease-out), background var(--fast) var(--ease);border-radius:50%;flex:none;place-items:center;display:grid}.hero-btn-icon svg{width:20px;height:20px}.hero-follow{background:linear-gradient(180deg, #3d6bff 0%, var(--accent) 55%, var(--accent-deep) 100%);color:#fff;padding-inline:8px 24px;box-shadow:inset 0 1px #ffffff40,0 1px 2px #1d46d840,0 12px 28px -12px #2b5cffbf}.hero-follow .hero-btn-icon{color:#fff;background:radial-gradient(circle at 30% 107%,#fdf497 0% 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%);box-shadow:0 0 0 2px #ffffffe6}.hero-plan{border-color:var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);padding-inline:24px 8px}.hero-plan .hero-btn-icon{background:var(--accent-wash);color:var(--accent-deep)}@media (hover:hover){.hero-follow:hover{background:linear-gradient(180deg, #3463ff 0%, var(--accent-hover) 55%, #1a3fc4 100%);box-shadow:inset 0 1px #ffffff40,0 1px 2px #1d46d840,0 16px 32px -12px #2b5cffd9}.hero-follow:hover .hero-btn-icon{transform:rotate(-10deg)scale(1.06)}.hero-plan:hover{border-color:var(--line-strong)}.hero-plan:hover .hero-btn-icon{background:var(--accent);color:#fff;transform:translateY(3px)}}.hero-tech{margin-top:clamp(36px,5vw,52px)}.hero-tech-label{color:var(--muted);font-size:13.5px;font-weight:600}.hero-tech .chips{justify-content:center;margin-top:14px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips li{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:14px;font-weight:600;line-height:1.5;display:inline-flex}.chips i{background:var(--c);border-radius:50%;width:9px;height:9px}.chips-sm{gap:6px;margin-top:10px}.chips-sm li{padding:3px 10px;font-size:12.5px}.chips-sm i{width:7px;height:7px}.rise{animation:rise .6s var(--ease-out) var(--d,0s) both}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.preview-wrap{margin-top:clamp(48px,7vw,80px);position:relative}.preview{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);max-width:1040px;box-shadow:var(--shadow-md);text-align:start;margin-inline:auto;overflow:hidden}.preview-bar{border-bottom:1px solid var(--line);background:var(--surface-2);justify-content:center;align-items:center;height:46px;display:flex;position:relative}.preview-dots{gap:6px;display:flex;position:absolute;inset-inline-end:16px}.preview-dots i{background:var(--line-strong);border-radius:50%;width:10px;height:10px}.preview-dots i:first-child{background:#ff5f57}.preview-dots i:nth-child(2){background:#febc2e}.preview-dots i:nth-child(3){background:#28c840}.preview-url{background:var(--surface);color:var(--muted);border-radius:8px;padding:3px 18px;font-size:12.5px}.preview-tag{background:var(--accent-soft);color:var(--accent-deep);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;position:absolute;inset-inline-start:16px}.preview-body{grid-template-columns:minmax(0,1fr) 300px;display:grid}.lesson{border-inline-end:1px solid var(--line);min-width:0;padding:20px 22px 22px}.lesson-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;display:flex}.lesson-kicker{color:var(--deep);font-size:12.5px;font-weight:600}.lesson-title{margin-top:2px;font-size:18px;font-weight:700;line-height:1.5}.lesson-files{color:var(--muted);gap:14px;font-size:12.5px;font-weight:500;display:flex}.lesson-files li{border-bottom:2px solid #0000;padding:2px 0}.lesson-files .is-on{color:var(--ink);border-color:var(--deep)}.listing{border:1px solid var(--line);background:var(--surface-2);min-width:0;color:var(--ink-2);font:500 13px/1.9 var(--mono);white-space:pre;border-radius:12px;margin-top:14px;padding:14px 16px 16px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.ln{opacity:0;display:block}.is-in .ln{animation:line-in .4s var(--ease-out) calc(.3s + var(--l) * 60ms) forwards}.ln-n{width:2.4em;color:var(--muted);-webkit-user-select:none;user-select:none;display:inline-block}.t-k{color:#5b3fd6;font-weight:600}.t-f{color:var(--accent-deep)}.t-s{color:var(--mint-deep)}.t-n{color:var(--coral-deep)}.t-c{color:#717786}.t-p{color:var(--ink-2)}@keyframes line-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.lesson-learn{gap:6px;margin-top:14px;display:grid}.lesson-learn li{color:var(--ink-2);align-items:flex-start;gap:8px;font-size:14px;line-height:1.6;display:flex}.lesson-learn svg{width:16px;height:16px;color:var(--deep);margin-top:3px}.preview-side{background:var(--bg);align-content:start;gap:12px;padding:18px;display:grid}.panel{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:14px 16px}.panel-title{font-size:14px;font-weight:700;line-height:1.6}.road{margin-top:8px;display:grid}.road li{align-items:center;gap:10px;padding-block:6px;display:flex;position:relative}.road li:not(:last-child):after{content:"";inset-inline-start:11px;background:var(--line);border-radius:2px;width:2px;position:absolute;top:32px;bottom:-4px}.road-dot{border:2px solid var(--deep);background:var(--tint);width:24px;height:24px;color:var(--deep);border-radius:50%;place-items:center;font-size:10px;font-weight:600;display:grid}.road-name{color:var(--ink-2);font-size:14px;font-weight:500;line-height:1.5}.is-first .road-name{color:var(--ink);font-weight:600}.road em{background:var(--accent-soft);color:var(--accent-deep);border-radius:999px;margin-inline-start:auto;padding:0 8px;font-size:12px;font-style:normal;font-weight:600}.notes{gap:8px;padding-inline:4px;display:grid}.notes li{color:var(--ink-2);align-items:flex-start;gap:8px;font-size:13.5px;line-height:1.6;display:flex}.note-icon svg{width:15px;height:15px;color:var(--ink);margin-top:3px}.facts{border-block:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));max-width:960px;margin:clamp(48px,7vw,80px) auto 0;display:grid}.fact{text-align:center;justify-items:center;gap:6px;padding:22px 12px;display:grid}.fact+.fact{border-inline-start:1px solid var(--line)}.fact dd{font-variant-numeric:tabular-nums;order:-1;font-size:32px;font-weight:500;line-height:1.1}.fact dt{color:var(--muted);justify-items:center;gap:8px;font-size:14px;display:grid}.fact-sw{align-items:center;gap:4px;display:inline-flex}.sw{background:var(--deep);border-radius:3px;width:10px;height:10px}.dot{background:var(--c);border-radius:50%;width:8px;height:8px}.section{padding-top:clamp(88px,12vw,144px);scroll-margin-top:calc(24px - clamp(88px,12vw,144px))}.section-head{text-align:center;max-width:720px;margin:0 auto clamp(40px,6vw,64px)}.eyebrow{color:var(--accent-deep);font-size:13.5px;font-weight:600}.h2{text-wrap:balance;margin-top:10px;font-size:clamp(30px,4.2vw,52px);font-weight:700;line-height:1.3}.section-lead{max-width:36rem;color:var(--ink-2);margin:14px auto 0;font-size:clamp(16px,1.5vw,18px)}[data-reveal]{opacity:0;transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);transition-delay:calc(var(--i,0) * 80ms);transform:translateY(24px)}[data-reveal].is-in{opacity:1;transform:none}.features{gap:clamp(32px,5vw,64px);display:grid}.feature{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,72px);display:grid}.feature:nth-child(2n) .feature-visual{order:-1}.feature-kicker{color:var(--deep);align-items:center;gap:10px;font-size:14px;font-weight:600;display:inline-flex}.feature-n{background:var(--tint);color:var(--deep);border-radius:999px;padding:2px 10px;font-size:12.5px}.feature-title{text-wrap:balance;margin-top:12px;font-size:clamp(24px,2.8vw,36px);font-weight:700;line-height:1.4}.points{gap:8px;margin-top:18px;display:grid}.points li{color:var(--ink-2);align-items:flex-start;gap:12px;font-size:16px;line-height:1.7;display:flex}.points svg{background:var(--tint);width:22px;height:22px;color:var(--deep);border-radius:50%;margin-top:3px;padding:4px}.feature-visual{border-radius:var(--r-panel);background:var(--tint);min-height:320px;display:grid;position:relative;overflow:hidden}.viz{align-self:center;width:100%;max-width:440px;margin-inline:auto;position:relative}.viz-page{gap:12px;padding:32px;display:grid}.viz-page>div>*{opacity:0;transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);transform:translateY(8px)}.is-in .viz-page>div>*{opacity:1;transform:none}.vp-nav,.vp-hero{background:var(--surface);box-shadow:var(--shadow-sm);border-radius:10px;padding:14px}.vp-nav{align-items:center;gap:8px;display:flex}.vp-nav i{background:var(--ink);border-radius:4px;width:18px;height:18px;margin-inline-end:auto}.vp-nav b{background:var(--line-strong);border-radius:3px;width:34px;height:6px}.vp-hero{justify-items:start;gap:8px;display:grid}.vp-hero i{background:var(--ink);border-radius:3px;width:80%;height:10px}.vp-hero i+i{background:var(--line-strong);width:55%}.vp-hero span{background:var(--deep);border-radius:6px;width:76px;height:22px;margin-top:4px}.vp-cards{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.vp-cards i{background:var(--surface);height:52px;box-shadow:var(--shadow-sm);border-radius:10px}.is-in .vp-nav>:nth-child(n){transition-delay:.15s}.is-in .vp-hero>*{transition-delay:.35s}.is-in .vp-hero>:nth-child(3){transition-delay:.5s}.is-in .vp-cards>:first-child{transition-delay:.62s}.is-in .vp-cards>:nth-child(2){transition-delay:.72s}.is-in .vp-cards>:nth-child(3){transition-delay:.82s}.viz-table{padding:32px;font-size:13.5px}.vt-q{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink);border-radius:8px;padding:4px 12px;font-size:12.5px;font-weight:500;display:inline-block}.vt-q b{color:var(--deep);font-weight:600}.viz-table table{border-collapse:separate;border-spacing:0;background:var(--surface);width:100%;box-shadow:var(--shadow-sm);text-align:left;border-radius:10px;margin-top:14px;overflow:hidden}.viz-table th,.viz-table td{padding:8px 14px}.viz-table th{border-bottom:1px solid var(--line);color:var(--muted);font-weight:500}.viz-table td{font-weight:500}.viz-table td:first-child,.viz-table td:last-child{color:var(--muted)}.viz-table tbody tr{animation:row-hl 3.6s var(--ease) calc(var(--r) * 1.2s) infinite}@keyframes row-hl{0%,30%{background:var(--hl)}34%,to{background:0 0}}.viz-api{justify-content:center;align-items:center;padding:32px;display:flex}.va-node{border:2px solid var(--c);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink);border-radius:10px;flex-shrink:0;padding:10px 16px;font-size:15px;font-weight:600}.va-wire{background:repeating-linear-gradient(90deg, var(--line-strong) 0 6px, transparent 6px 11px);flex:1;min-width:40px;height:2px;position:relative}.va-wire i{background:var(--deep);border-radius:50%;width:10px;height:10px;animation:2.4s ease-in-out infinite alternate travel;position:absolute;top:-4px;left:0}.va-wire em{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink-2);white-space:nowrap;border-radius:6px;padding:2px 10px;font-size:11.5px;font-style:normal;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}@keyframes travel{to{left:calc(100% - 10px)}}.viz-git{place-items:center;padding:32px;display:grid}.viz-git svg{width:100%;overflow:visible}.g-main{stroke:var(--ink);stroke-width:3px;stroke-linecap:round}.g-branch{stroke:var(--deep);stroke-width:3px;stroke-linecap:round;stroke-dasharray:340;stroke-dashoffset:340px;transition:stroke-dashoffset 1.2s var(--ease-out) .3s}.is-in .g-branch{stroke-dashoffset:0}.g-dot{fill:var(--surface);stroke:var(--ink);stroke-width:3px}.g-dot.is-branch{stroke:var(--deep)}.viz-git text{fill:var(--ink-2);font-family:var(--mono);font-size:11px;font-weight:500}.tags-wrap{margin-top:22px;position:relative}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:500 12.5px/1.6 var(--mono);cursor:help;transition:color var(--fast) var(--ease), border-color var(--fast) var(--ease), background var(--fast) var(--ease);border-radius:999px;align-items:center;gap:7px;padding:4px 12px;display:inline-flex}.tag-dot{background:var(--c);border-radius:50%;width:8px;height:8px}.tag-btn:hover,.tag-btn.is-open{border-color:var(--c,var(--accent));background:color-mix(in srgb, var(--c,var(--accent)) 8%, var(--surface));color:var(--ink)}.tip{bottom:calc(100% + 8px);z-index:5;border:1px solid var(--line);border-top:3px solid var(--c);background:var(--surface);box-shadow:var(--shadow-md);transform-origin:var(--ax) 100%;animation:tip-in .2s var(--ease-out) both;border-radius:12px;padding:14px 16px 12px;font-size:14.5px;line-height:1.7;position:absolute;inset-inline:0}.tip:before{content:"";top:100%;left:calc(var(--ax) - 7px);border:7px solid #0000;border-top-color:var(--surface);filter:drop-shadow(0 1px 0 var(--line));position:absolute}.tip:after{content:"";top:100%;height:14px;position:absolute;inset-inline:0}@keyframes tip-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tip-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.tip-dot{background:var(--c);border-radius:50%;width:10px;height:10px}.tip-name{font-size:16px;font-weight:600}.tip-kind{color:var(--muted);margin-inline-start:auto;font-size:12.5px;font-weight:500}.tip-row{color:var(--ink-2)}.tip-row+.tip-row{margin-top:4px}.tip-row b{color:var(--ink);font-weight:700}.teacher{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);max-width:920px;margin-inline:auto;overflow:hidden}.teacher-main{text-align:center;padding:clamp(28px,5vw,56px)}.quote{text-wrap:balance;max-width:24ch;margin-inline:auto;font-size:clamp(22px,2.6vw,34px);font-weight:700;line-height:1.6}.teacher-who{text-align:start;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 18px;margin-top:32px;display:flex}.avatar{object-fit:cover;background:var(--accent-soft);width:56px;height:56px;box-shadow:0 0 0 3px var(--surface), 0 0 0 4px var(--line);border-radius:50%;flex:none}.teacher-name{font-size:17px;font-weight:700;line-height:1.5}.teacher-latin{color:var(--muted);margin-inline-start:6px;font-size:14px;font-weight:500}.teacher-role{color:var(--muted);font-size:15px;line-height:1.6}.teacher-place{border:1px solid var(--line);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13.5px;font-weight:500;display:inline-flex}.teacher-place svg{width:15px;height:15px;color:var(--muted)}.proof{border-top:1px solid var(--line);background:var(--surface-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.proof-item{text-align:center;padding:20px 24px}.proof-item+.proof-item{border-inline-start:1px solid var(--line)}.proof dt{color:var(--muted);justify-content:center;align-items:center;gap:8px;font-size:13.5px;display:flex}.proof dt svg{width:16px;height:16px;color:var(--accent-deep)}.proof dd{font-variant-numeric:tabular-nums;margin-top:6px;font-size:24px;font-weight:600;line-height:1.3}.proof-cert dd{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 14px;font-size:17px;display:flex}.cta{border-radius:var(--r-panel);background:var(--accent);color:#fff;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(28px,5vw,64px);padding:clamp(28px,5vw,64px);display:grid;position:relative;overflow:hidden}.cta:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff47 1px,#0000 1.2px) 0 0/28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 70%,#000 20%,#0000 80%);mask-image:radial-gradient(70% 70%,#000 20%,#0000 80%)}.cta>*{position:relative}.cta :focus-visible{outline-color:#fff}.cta-status{color:#fff;background:#ffffff1f;border-color:#ffffff59}.cta .status-dot{background:var(--hl)}.cta-title{text-wrap:balance;max-width:14ch;margin-top:18px;font-size:clamp(32px,4.6vw,56px);font-weight:700;line-height:1.3}.cta-accent{color:var(--hl)}.cta-note{color:#ffffffd9;max-width:30rem;margin-top:16px;font-size:16px}.cta-actions{justify-content:flex-start;margin-top:28px}.cta-card{background:var(--surface);color:var(--ink);border-radius:20px;padding:22px 24px 24px;box-shadow:0 24px 60px -24px #0006}.cta-card-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:16px;display:flex}.cta-card-mark{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-deep);border-radius:12px;flex:none;place-items:center;display:grid}.cta-card-mark svg{width:20px;height:20px}.cta-card-title{font-size:16px;font-weight:700;line-height:1.5}.cta-card-handle{color:var(--muted);font-size:13px}.cta-fields{display:grid}.cta-fields>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;display:flex}.cta-fields dt{color:var(--muted);font-size:14px}.cta-fields dd{font-size:18px;font-weight:600;line-height:1.4}.cta-card-tech{margin-top:16px}.cta-card-label{color:var(--muted);font-size:13px;font-weight:600}.foot{border-top:1px solid var(--line);margin-top:clamp(64px,9vw,104px)}.foot-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding-block:28px;display:flex}.foot-brand{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.foot-brand p{color:var(--muted);font-size:14px}.socials{gap:4px;display:flex}.socials a{width:38px;height:38px;color:var(--muted);transition:color var(--fast) var(--ease), background var(--fast) var(--ease);border-radius:50%;place-items:center;display:grid}.socials a:hover{color:var(--ink);background:var(--surface-2)}.socials svg{width:19px;height:19px}.foot-top{color:var(--ink-2);align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.foot-top svg{width:16px;height:16px;transform:rotate(180deg)}.foot-top:hover{color:var(--ink)}@media (width<=1000px){.preview-body{grid-template-columns:minmax(0,1fr) 260px}}@media (width<=900px){.preview-body{grid-template-columns:1fr}.lesson{border-inline-end:0;border-bottom:1px solid var(--line)}.preview-side{grid-template-columns:1fr 1fr}.notes{grid-column:1/-1}.facts{grid-template-columns:1fr 1fr}.fact:nth-child(3){border-inline-start:0}.fact:nth-child(n+3){border-top:1px solid var(--line)}.feature{grid-template-columns:1fr;gap:24px}.feature:nth-child(2n) .feature-visual{order:0}.feature-visual{min-height:260px}.proof{grid-template-columns:1fr}.proof-item{padding:16px 24px}.proof-item+.proof-item{border-inline-start:0;border-top:1px solid var(--line)}.cta{grid-template-columns:1fr}.cta-title{max-width:none}}@media (width<=720px){.top-nav{display:none}.top-pill{justify-content:space-between}.preview-side{grid-template-columns:1fr}.lesson{padding:16px}.listing{font-size:12px}.cta-fields>div{padding:0 14px}.teacher-who{text-align:center;flex-direction:column}}@media (width<=480px){.actions .btn{width:100%}.top-ask{width:42px;padding:0}.top-ask-label{display:none}.feature-visual{min-height:220px}.viz-page,.viz-table,.viz-api,.viz-git{padding:20px}.fact dd{font-size:28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}[data-reveal]{opacity:1;transform:none}.ln{opacity:1}}
