/* Shared styles for /learn pages. Nav + footer come from chrome.css. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&family=Playfair+Display:ital,wght@0,600;0,700;0,800;1,600;1,700&display=swap');
:root{--ink:#070708;--panel:#141418;--panel-2:#1A1A1F;--line:#26262E;--line-soft:#1E1E25;
--text:#FAFAFC;--read:#CBCBD5;--muted:#9595A0;--muted-2:#63636E;--pink:#FF3D8B;--orange:#FF7A2F;
--grad:linear-gradient(95deg,#FF7A2F,#FF3D8B 55%,#7B5BFF);--font:'Inter',-apple-system,sans-serif;
--display:'Playfair Display',Georgia,serif;--mono:'JetBrains Mono',ui-monospace,Menlo,monospace;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--pink);color:#fff}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
[hidden]{display:none!important}
.wrap{max-width:880px;margin:0 auto;padding:0 24px}
.wrap-wide{max-width:1120px;margin:0 auto;padding:0 24px}

/* buttons */
.btn{font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;border-radius:6px;padding:11px 18px;display:inline-flex;align-items:center;gap:7px;transition:.15s;white-space:nowrap;cursor:pointer;border:0;font-family:var(--font)}
.btn-primary{background:#fff;color:#111}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px -10px rgba(255,255,255,.45)}
.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--muted-2)}
.btn-lg{padding:15px 26px;font-size:13px}

/* hero */
.hero{padding:72px 0 44px;text-align:center;border-bottom:1px solid var(--line-soft)}
.crumbs{font-size:12.5px;color:var(--muted-2);margin-bottom:20px}
.crumbs a:hover{color:var(--muted)}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--pink);margin-bottom:16px}
.h1{font-family:var(--display);font-size:clamp(30px,4.4vw,48px);font-weight:700;line-height:1.12;letter-spacing:-.025em;max-width:800px;margin:0 auto 18px}
.h1 em{font-style:italic;color:#5C5C66}
.sub{font-size:18px;color:var(--read);max-width:600px;margin:0 auto 28px;line-height:1.6}
.ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* body */
.body{padding:56px 0}
.body .wrap{max-width:720px}
.block{margin-bottom:56px;scroll-margin-top:90px}
.block:last-child{margin-bottom:0}
.label{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--pink);margin-bottom:10px}
.h2{font-family:var(--display);font-size:clamp(24px,3vw,31px);font-weight:700;letter-spacing:-.02em;margin-bottom:14px;line-height:1.2}
.p{font-size:17px;color:var(--read);line-height:1.75;margin-bottom:14px}
.p:last-child{margin-bottom:0}
.p b,.list b{color:#fff;font-weight:600}
.code-inline{font-family:var(--mono);font-size:14px;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:#EAD9F5}

/* simple bullet list */
.list{list-style:none;display:grid;gap:10px;margin:6px 0 0}
.list li{position:relative;padding-left:22px;font-size:16.5px;color:var(--read);line-height:1.6}
.list li::before{content:"";position:absolute;left:4px;top:10px;width:7px;height:7px;border-radius:50%;background:var(--pink)}

/* numbered steps */
.steps{margin-top:6px}
.step{display:flex;gap:16px;padding:16px 0;border-top:1px solid var(--line-soft)}
.step:last-child{border-bottom:1px solid var(--line-soft)}
.step-n{flex:none;width:28px;height:28px;border-radius:8px;background:rgba(255,61,139,.13);border:1px solid rgba(255,61,139,.3);color:var(--pink);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.step-t{font-weight:600;font-size:16.5px;color:#fff}
.step-d{font-size:15.5px;color:var(--read);line-height:1.6;margin-top:2px}

/* toc */
.toc{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 22px}
.toc h4{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin-bottom:10px;font-weight:700}
.toc ol{list-style:none;counter-reset:t;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.toc li{counter-increment:t}
.toc a{color:var(--text);display:flex;gap:11px;align-items:baseline;padding:6px 0;font-size:15px}
.toc a::before{content:counter(t,decimal-leading-zero);color:var(--pink);font-family:var(--mono);font-size:12px;font-weight:600;flex:none}
.toc a:hover{color:var(--pink)}
.toc a.hl{color:var(--pink);font-weight:600}

/* callout */
.callout{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--pink);border-radius:0 14px 14px 0;padding:18px 22px;margin:16px 0}
.callout .clbl{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pink);margin-bottom:6px}
.callout p{font-size:16px;color:var(--read);line-height:1.7;margin:0}
.callout p b{color:#fff}

/* prompt template (the main takeaway) */
.prompt{background:#0C0C10;border:1px solid rgba(255,61,139,.35);border-radius:14px;margin:14px 0 18px;overflow:hidden;box-shadow:0 0 0 4px rgba(255,61,139,.05)}
.prompt-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line-soft);background:var(--panel)}
.prompt-top .lbl{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pink)}
.copy{font-family:var(--font);font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#111;background:#fff;border:0;border-radius:6px;padding:7px 13px;cursor:pointer;transition:.15s}
.copy:hover{transform:translateY(-1px)}
.copy.done{background:var(--pink);color:#fff}
.prompt pre{margin:0;padding:18px 20px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;font-family:var(--mono);font-size:13.5px;line-height:1.7;color:#D8D2E6}
.prompt pre .fill{color:#FFB3D1;background:rgba(255,61,139,.12);border-radius:4px;padding:0 3px}
.hint{font-size:14px;color:var(--muted);margin:-8px 0 16px}
.hint b{color:var(--read)}

/* checklist */
.checklist{list-style:none;display:grid;gap:8px;margin:12px 0}
.checklist li{display:flex;gap:12px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:13px 16px;font-size:15.5px;color:var(--read);line-height:1.55}
.checklist li b{color:#fff;font-weight:600}
.checklist .ck{flex:none;width:22px;height:22px;border-radius:6px;background:rgba(255,61,139,.13);border:1px solid rgba(255,61,139,.35);color:var(--pink);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px}
.checklist.bad .ck{background:rgba(255,255,255,.04);border-color:var(--line);color:var(--muted)}

/* carousel */
.carousel{position:relative;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel)}
.car-stage{position:relative;aspect-ratio:16/9;background:#0d0d10}
.car-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .35s}
.car-img.active{opacity:1}
.car-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(10,10,14,.75);border:1px solid var(--line);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;z-index:3;transition:.15s}
.car-nav:hover{background:rgba(10,10,14,.95)}
.car-nav.prev{left:12px}.car-nav.next{right:12px}
.car-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;border-top:1px solid var(--line-soft)}
.car-cap{font-size:14px;color:var(--read)}
.car-dots{display:flex;gap:7px;flex:none}
.car-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.22);cursor:pointer;transition:.15s}
.car-dots span.active{background:#fff;width:20px;border-radius:100px}
.car-tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--pink);margin-bottom:10px}

/* faq */
.faq details{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:0 20px;margin:10px 0}
.faq summary{cursor:pointer;font-weight:600;padding:15px 0;list-style:none;font-size:16px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--pink);font-weight:700;font-size:20px;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq details p{padding:0 0 15px;color:var(--read);font-size:15.5px;line-height:1.7}

/* lesson cards */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:10px}
.card{display:block;background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.18s}
.card:hover{border-color:var(--muted-2);transform:translateY(-3px)}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--line-soft)}
.card-b{padding:16px 18px 18px}
.card-k{font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--pink);margin-bottom:6px}
.card-t{font-size:16.5px;font-weight:600;color:#fff;line-height:1.4}
.card-d{font-size:14.5px;color:var(--muted);margin-top:6px;line-height:1.5}

/* hub categories */
.cat{padding:56px 0;border-top:1px solid var(--line-soft);scroll-margin-top:80px}
.cat-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.cat-n{font-family:var(--mono);font-size:12px;color:var(--pink);font-weight:600;margin-bottom:6px}
.cat-d{font-size:16px;color:var(--read);max-width:620px}
.count{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);border:1px solid var(--line);border-radius:100px;padding:5px 12px}
.cards.four{grid-template-columns:repeat(4,1fr)}
.soon{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.soon-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;scroll-margin-top:90px}
.soon-card .cat-n{margin-bottom:8px}
.soon-card h3{font-size:16.5px;font-weight:700;margin-bottom:6px}
.soon-card p{font-size:14.5px;color:var(--muted);line-height:1.55}
.soon-tag{display:inline-block;margin-top:14px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);border:1px solid var(--line);border-radius:100px;padding:4px 10px}
.jump{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:26px}
.jump a{font-size:13px;color:var(--read);background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:100px;padding:7px 14px;transition:.15s}
.jump a:hover{border-color:var(--pink);color:#fff}
.jump a.on{border-color:rgba(255,61,139,.5);color:#fff}

/* cta */
.cta{text-align:center;padding:88px 24px;border-top:1px solid var(--line-soft);margin-top:72px}
.cta h2{font-family:var(--display);font-size:clamp(26px,3.4vw,40px);font-weight:700;letter-spacing:-.02em;margin-bottom:12px}
.cta p{color:var(--read);margin-bottom:28px;font-size:17px}

@media(max-width:900px){.cards.four{grid-template-columns:repeat(2,1fr)}.soon{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){
  .toc ol,.cards,.cards.four,.soon{grid-template-columns:1fr}
  .body{padding:40px 0}
  .cta{padding:56px 24px;margin-top:48px}
  .car-foot{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* tags (a lesson can sit in several categories) */
.tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:-10px 0 26px}
.tag{font-size:12px;font-weight:600;color:var(--read);background:rgba(255,61,139,.08);border:1px solid rgba(255,61,139,.28);border-radius:100px;padding:5px 12px;transition:.15s}
a.tag:hover{border-color:var(--pink);color:#fff}
.card .tags{justify-content:flex-start;margin:10px 0 0;gap:6px}
.card .tag{font-size:11px;padding:3px 9px}

/* hub filters */
.filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:26px}
.filters button{font-family:var(--font);font-size:13px;color:var(--read);background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:100px;padding:7px 14px;cursor:pointer;transition:.15s}
.filters button:hover{border-color:var(--muted-2);color:#fff}
.filters button.on{background:#fff;color:#111;border-color:#fff;font-weight:600}
.filters button .n{opacity:.55;margin-left:5px;font-size:12px}
.empty{background:var(--panel);border:1px dashed var(--line);border-radius:16px;padding:40px 24px;text-align:center;color:var(--read)}
.empty b{color:#fff}
.soon-card.link{cursor:pointer;transition:.18s}
.soon-card.link:hover{border-color:var(--muted-2);transform:translateY(-2px)}
.soon-tag.live{color:var(--pink);border-color:rgba(255,61,139,.4)}

/* course map: one card per module */
.mods{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.mod-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;cursor:pointer;transition:.18s;display:flex;flex-direction:column}
.mod-card:hover{border-color:var(--muted-2);transform:translateY(-2px)}
.mod-card.live{border-color:rgba(255,61,139,.45);background:linear-gradient(180deg,rgba(255,61,139,.08),var(--panel) 60%)}
.mod-top{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px}
.mod-n{font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--pink);white-space:nowrap}
.mod-top .soon-tag{margin:0;font-size:10px;padding:3px 8px;white-space:nowrap}
.mod-card h3{font-size:16px;font-weight:700;line-height:1.3;margin-bottom:6px}
.mod-card p{font-size:13.5px;color:var(--muted);line-height:1.5}
.mod-go{margin-top:auto;padding-top:12px;font-size:13px;font-weight:600;color:#fff}
.filters{justify-content:flex-start;margin-top:4px}
@media(max-width:1100px){.mods{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.mods{grid-template-columns:1fr 1fr}.mod-card p{display:none}}

/* search */
.search{position:relative;max-width:560px;margin:0 auto}
.search svg{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted);pointer-events:none}
.search input{width:100%;font-family:var(--font);font-size:16px;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:15px 52px 15px 48px;outline:none;transition:.15s}
.search input::placeholder{color:var(--muted-2)}
.search input:focus{border-color:rgba(255,61,139,.6);box-shadow:0 0 0 4px rgba(255,61,139,.12)}
.search input::-webkit-search-cancel-button{-webkit-appearance:none}
.search kbd{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:12px;color:var(--muted-2);border:1px solid var(--line);border-radius:6px;padding:2px 7px;pointer-events:none}
.search input:focus + kbd{display:none}
.q-hint{min-height:20px;margin-top:10px;font-size:13px;color:var(--muted)}

/* wide carousels: break out of the 720px reading column so 5-panel sheets keep their detail */
.block.wide{width:min(1120px,calc(100vw - 48px));position:relative;left:50%;transform:translateX(-50%)}
.car-img{cursor:zoom-in}
.car-zoom{font-size:12.5px;color:var(--muted-2);margin-top:8px;text-align:right}
/* prompt settings + aspect ratio guide */
.settings{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}
.set{font-size:13px;color:var(--read);background:var(--panel);border:1px solid rgba(255,61,139,.35);border-radius:8px;padding:7px 12px}
.set b{color:var(--pink);font-weight:600;margin-right:6px}
.ratio{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 16px}
.ratio-box{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}
.ratio-box.good{border-color:rgba(255,61,139,.45)}
.ratio-shape{display:flex;gap:3px;background:#2a2a31;border-radius:6px;padding:5px;margin-bottom:10px}
.ratio-shape i{flex:1;background:#6b6b75;border-radius:3px}
.r169{aspect-ratio:16/9;max-width:220px}
.r11{aspect-ratio:1/1;max-width:124px}
.ratio-box.bad .ratio-shape i{background:#4a4a52}
.ratio-t{font-size:14px;font-weight:600;color:#fff}
.ratio-box.good .ratio-t{color:var(--pink)}
.ratio-d{font-size:13.5px;color:var(--muted);margin-top:3px;line-height:1.5}
@media(max-width:620px){.ratio{grid-template-columns:1fr}}
.set-note{color:var(--muted);font-size:12px;margin-left:2px}

/* before / after (derived look) */
.ba{display:grid;gap:10px}
.ba-item{margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel)}
.ba-item img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#0d0d10;cursor:zoom-in}
.ba-lbl{display:flex;align-items:center;gap:10px;padding:11px 16px;font-size:14px;font-weight:600;color:#fff;border-bottom:1px solid var(--line-soft)}
.ba-n{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:100px;padding:3px 9px}
.ba-n.out{color:var(--pink);border-color:rgba(255,61,139,.45)}
.ba-arrow{text-align:center;font-size:13px;color:var(--read);font-family:var(--mono);padding:4px 12px}

/* ===== Article reading mode: long-form, one idea per paragraph, serif body — on the site's dark theme ===== */
main.article{padding:56px 0 72px}
.article .wrap{max-width:888px}
.article p,.article li{font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.6;color:#E4E4EA}
.article p{margin:0 0 18px}
.article b{color:#fff;font-weight:700}
.article h2{font-family:var(--font);font-size:26px;font-weight:800;letter-spacing:-.015em;line-height:1.25;color:#fff;margin:48px 0 14px;scroll-margin-top:90px}
.article ol,.article ul{margin:0 0 20px 1.3em}
.article li{margin:4px 0;padding-left:4px}
.article li::marker{color:var(--pink)}
.article a:not(.card):not(.btn){color:var(--pink);text-decoration:underline;text-underline-offset:3px}
.article .block{margin:28px 0 32px}
/* images run the same width as the text, like the reference */
.article .block.wide{width:auto;left:auto;transform:none}
.article .car-cap{font-family:var(--font)}
.article .car-zoom{font-family:var(--font);font-size:13px;line-height:1.4;margin:8px 0 0;color:var(--muted-2)}
.article .prompt{margin:18px 0 22px}
.article .prompt pre{font-size:14px}
.prompt-foot{display:flex;flex-wrap:wrap;gap:6px 18px;padding:10px 16px;border-top:1px solid var(--line-soft);font-family:var(--font);font-size:12.5px;color:#9a9aa6}
.prompt-foot b{color:#fff}
.article .ba-lbl{font-family:var(--font)}
.article .faq summary{font-family:var(--font)}
.article .faq details p{font-size:17px}
.article .cards{margin-top:6px}
@media(max-width:620px){.article p,.article li{font-size:18px}.article h2{font-size:23px}}

/* ===== Light theme (Learn pages only). Toggle lives in the nav; choice saved in localStorage. ===== */
.theme-toggle{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s;flex:none}
.theme-toggle:hover{border-color:var(--muted-2)}
.theme-toggle svg{width:18px;height:18px}
.theme-toggle .i-sun{display:block}.theme-toggle .i-moon{display:none}
html[data-theme="light"] .theme-toggle .i-sun{display:none}
html[data-theme="light"] .theme-toggle .i-moon{display:block}

html[data-theme="light"]{--ink:#FAF9F6;--panel:#FFFFFF;--panel-2:#F1EFEA;--line:#E2DFD7;--line-soft:#EAE7E0;--text:#15171A;--read:#2B2D33;--muted:#5F626A;--muted-2:#8B8E96;--pink:#D81B60;color-scheme:light}
html[data-theme="light"] body{background:var(--ink);color:var(--text)}
html[data-theme="light"] ::selection{color:#fff}
/* nav + mobile menu + footer (shared chrome.css uses fixed white text) */
html[data-theme="light"] .nav.scrolled{background:rgba(250,249,246,.88)}
html[data-theme="light"] .menu a,html[data-theme="light"] .nav-trig{color:rgba(21,23,26,.72)}
html[data-theme="light"] .menu a:hover,html[data-theme="light"] .nav-trig:hover{color:#000}
html[data-theme="light"] .menu a.on{color:var(--pink)}
html[data-theme="light"] .login{color:#15171A}
html[data-theme="light"] .login:hover{background:rgba(0,0,0,.06)}
html[data-theme="light"] .start{background:#15171A;color:#fff}
html[data-theme="light"] .mburger span{background:#15171A}
html[data-theme="light"] .mnav-close,html[data-theme="light"] .mnav-link{color:#15171A}
html[data-theme="light"] .mnav-link.on{color:var(--pink)}
html[data-theme="light"] .mnav-foot .m-login{color:#15171A}
html[data-theme="light"] .mnav-foot .m-book{background:#15171A;color:#fff}
html[data-theme="light"] .fbrand-name{color:#15171A}
html[data-theme="light"] .fcol a{color:rgba(21,23,26,.75)}
html[data-theme="light"] .fcol a:hover{color:#000}
/* learn components with fixed white/dark values */
html[data-theme="light"] .btn-primary{background:#15171A;color:#fff}
html[data-theme="light"] .btn-primary:hover{box-shadow:0 10px 24px -10px rgba(0,0,0,.35)}
html[data-theme="light"] .h1 em{color:#9A9DA5}
html[data-theme="light"] .p b,html[data-theme="light"] .list b,html[data-theme="light"] .checklist li b,html[data-theme="light"] .callout p b,
html[data-theme="light"] .step-t,html[data-theme="light"] .card-t,html[data-theme="light"] .mod-go,html[data-theme="light"] .ratio-t,
html[data-theme="light"] .ba-lbl,html[data-theme="light"] .answer b,html[data-theme="light"] .cs-h3{color:#111}
html[data-theme="light"] .article p,html[data-theme="light"] .article li{color:#1F2126}
html[data-theme="light"] .article b,html[data-theme="light"] .article h2{color:#111}
html[data-theme="light"] .code-inline{color:#8E1E52}
html[data-theme="light"] .car-stage,html[data-theme="light"] .ba-item img{background:#ECEAE4}
html[data-theme="light"] .car-dots span{background:rgba(0,0,0,.18)}
html[data-theme="light"] .car-dots span.active{background:#15171A}
html[data-theme="light"] .filters button.on{background:#15171A;color:#fff;border-color:#15171A}
html[data-theme="light"] .ratio-shape{background:#E4E1DA}
html[data-theme="light"] .ratio-shape i{background:#A7A39A}
html[data-theme="light"] .ratio-box.bad .ratio-shape i{background:#CFCBC2}
html[data-theme="light"] .card:hover,html[data-theme="light"] .mod-card:hover{border-color:#BDB9B0}
/* the prompt box stays dark in both themes, like a code block */
html[data-theme="light"] .prompt{background:#0C0C10;border-color:rgba(216,27,96,.45)}
html[data-theme="light"] .prompt-top{background:#141418;border-bottom-color:#1E1E25}
html[data-theme="light"] .prompt-foot{border-top-color:#1E1E25}
html[data-theme="light"] .prompt pre{color:#D8D2E6}

/* prompt box actions: generate CTA next to copy */
.prompt-top{flex-wrap:wrap}
.prompt-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gen{font-family:var(--font);font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,61,139,.55);border-radius:6px;padding:6px 12px;transition:.15s;white-space:nowrap}
.gen:hover{background:rgba(255,61,139,.14);border-color:var(--pink)}
.article .prompt-top a.gen{color:#fff;text-decoration:none}
@media(max-width:620px){.prompt-actions{width:100%}.prompt-actions .gen,.prompt-actions .copy{flex:1 1 100%;text-align:center;padding:9px 12px}}

/* inline example (sample prompt in the flow of the text) */
.article .example{margin:0 0 20px;padding:4px 0 4px 20px;border-left:3px solid var(--pink);font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:19px;line-height:1.65;color:var(--read)}

/* prompt ↔ example image slider. Image is the base; the prompt layer is revealed from the left up to --pos.
   --pos 0% = only the image, 100% = only the prompt. */
/* fixed height; the image keeps its aspect ratio (width follows), centred on a neutral backdrop */
.cmp{position:relative;overflow:hidden;height:460px;background:#1A1A1F;user-select:none;touch-action:pan-y;cursor:ew-resize}
@media(max-width:620px){.cmp{height:300px}}
.cmp-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.cmp-prompt{position:absolute;inset:0;background:#0C0C10;overflow:auto;clip-path:inset(0 calc(100% - var(--pos)) 0 0);-webkit-clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.cmp-prompt pre{min-height:100%;padding-top:46px}
.cmp-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:44px;margin-left:-22px;background:none;border:0;padding:0;cursor:ew-resize;z-index:3;touch-action:none}
.cmp-handle::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:var(--pink);box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.cmp-handle span{position:absolute;top:50%;left:50%;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;background:var(--pink);box-shadow:0 4px 14px rgba(0,0,0,.35)}
.cmp-handle span::before,.cmp-handle span::after{content:"";position:absolute;top:50%;width:0;height:0;margin-top:-5px;border:5px solid transparent}
.cmp-handle span::before{left:6px;border-right-color:#fff}
.cmp-handle span::after{right:6px;border-left-color:#fff}
.cmp-handle:focus-visible span{outline:3px solid #fff;outline-offset:2px}
.cmp-tag{position:absolute;top:10px;z-index:2;font-family:var(--font);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:100px;pointer-events:none}
.cmp-tag-prompt{left:10px;background:rgba(255,61,139,.9);color:#fff}
.cmp-tag-img{right:10px;background:rgba(10,10,14,.75);color:#fff}
.cmp-hint{font-family:var(--font);font-size:12.5px;color:#9a9aa6;padding:9px 16px;border-top:1px solid #1E1E25}
.cmp.dragging{cursor:grabbing}

/* lesson hero video */
.lvideo{max-width:880px;margin:8px auto 0;text-align:left}
.lvideo-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.lvideo-k{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--pink)}
.lvideo-voices{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--panel)}
.lvoice{font-family:var(--font);font-size:13px;font-weight:600;color:var(--muted);background:transparent;border:0;border-radius:999px;padding:7px 14px;cursor:pointer;white-space:nowrap;transition:.15s}
.lvoice:hover{color:var(--text)}
.lvoice.on{background:var(--pink);color:#fff}
.lvoice:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
@media (max-width:640px){.lvideo-voices{width:100%}.lvoice{flex:1;padding:7px 6px;font-size:12px}}
.lvideo-dot{width:8px;height:8px;border-radius:50%;background:var(--pink);box-shadow:0 0 10px var(--pink)}
.lvideo video{display:block;width:100%;aspect-ratio:16/9;border-radius:14px;border:1px solid var(--line);background:#070708;box-shadow:0 24px 70px rgba(0,0,0,.45)}
@media (max-width:640px){.lvideo video{border-radius:10px}}

/* image lightbox */
.article .car-img,.article .cmp-img,.article .ba-item img{cursor:zoom-in}
.lbx{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:64px 20px 24px;background:rgba(7,7,8,.93)}
.lbx.open{display:flex}
.lbx-fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:100%;max-height:100%}
.lbx-img{display:block;max-width:min(94vw,1600px);max-height:calc(100vh - 140px);width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 30px 90px rgba(0,0,0,.6);cursor:default}
.lbx-cap{font-size:14px;color:#CBCBD5;text-align:center;max-width:720px}
.lbx-x{position:fixed;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(20,20,24,.9);color:#fff;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
.lbx-x:hover{background:#FF3D8B;border-color:#FF3D8B}
.lbx-x:focus-visible{outline:2px solid #FF3D8B;outline-offset:2px}
html.lbx-lock,html.lbx-lock body{overflow:hidden}

/* ── Tables, figures, camera cards (added for Basics / Script lessons) ── */
.ltable{margin:26px 0 30px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ltable table{width:100%;border-collapse:collapse;font-family:var(--font);font-size:16px;line-height:1.45;min-width:520px}
.ltable th{text-align:left;font-weight:700;color:var(--text);padding:12px 14px;border-bottom:2px solid var(--pink);white-space:nowrap}
.ltable td{padding:12px 14px;border-bottom:1px solid var(--line);color:var(--read);vertical-align:top}
.ltable td:first-child{color:var(--text);font-weight:600}
.ltable tr:last-child td{border-bottom:0}
.ltable-cap{font-family:var(--font);font-size:14px;color:var(--muted);margin-top:10px}
.lfig{margin:28px 0 32px}
.lfig svg,.lfig img{display:block;width:100%;height:auto;border-radius:14px;background:var(--panel);border:1px solid var(--line)}
.lfig figcaption{font-family:var(--font);font-size:14px;color:var(--muted);margin-top:10px;line-height:1.5}
.camgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0 36px}
.camcard{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.camcard-fig{background:var(--panel-2);border-bottom:1px solid var(--line)}
.camcard-fig svg{display:block;width:100%;height:auto}
.camcard-b{padding:16px 18px 18px}
.camcard-t{font-family:var(--font);font-weight:800;font-size:19px;color:var(--text);margin-bottom:6px}
.article .camcard-b p{font-family:var(--font);font-size:15.5px;line-height:1.5;color:var(--read);margin:0 0 12px}
.camcard-p{font-family:var(--mono);font-size:12.5px;line-height:1.5;color:var(--read);background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:9px 11px}
.camcard-p span{display:block;font-family:var(--font);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pink);margin-bottom:3px}
.camcard-ai{font-family:var(--font);font-size:14px;line-height:1.45;color:var(--muted);margin-top:10px}
.camcard-ai b{color:var(--text)}
@media(max-width:700px){.camgrid{grid-template-columns:1fr}}
/* diagram strokes */
.camsvg{color:var(--muted)}
.camsvg .fig circle,.camsvg .fig path{fill:none;stroke:var(--read);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.camsvg .fig .eye{fill:var(--read);stroke:none}
.camsvg .cam rect,.camsvg .cam path{fill:var(--pink);stroke:none}
.camsvg .gnd{stroke:var(--line);stroke-width:2}
.camsvg .sight{stroke:var(--pink);stroke-width:1.6;stroke-dasharray:4 4;opacity:.75}
.camsvg .guide{fill:none;stroke:var(--muted-2);stroke-width:1.4;stroke-dasharray:3 5}
.camsvg .cone{fill:var(--pink);opacity:.14}
.camsvg .arr{fill:none;stroke:var(--muted);stroke-width:1.8}
.camsvg .ahp{fill:var(--muted)}
.camsvg .obj{fill:var(--muted-2);opacity:.6}
.camsvg .frame{fill:none;stroke:var(--pink);stroke-width:2.5}
.camsvg .blur{stroke:var(--pink);stroke-width:2;opacity:.45;stroke-linecap:round}
.camsvg .lbl{font-family:var(--font);font-size:11px;fill:var(--muted)}
.camsvg.sizes .sz{fill:none;stroke:var(--pink);stroke-width:1.6}
.camsvg.sizes .sz0{stroke:var(--muted-2)}
.camsvg .szl{font-family:var(--font);font-size:15px;fill:var(--read)}
.camsvg .szn,.camsvg .szt{font-weight:700;fill:var(--pink)}
.camsvg .szt{font-family:var(--font);font-size:10px}
@media (prefers-reduced-motion:reduce){.camsvg animate,.camsvg animateMotion,.camsvg animateTransform{display:none}}
html[data-theme="light"] .ltable td:first-child,html[data-theme="light"] .ltable th,html[data-theme="light"] .camcard-t{color:#111}
.camsvg.pipe .pbox{fill:var(--panel);stroke:var(--line);stroke-width:1.5}
.camsvg.pipe .pbox.hot{stroke:var(--pink);stroke-width:2}
.camsvg.pipe .pn{font-family:var(--display);font-weight:800;font-size:22px;fill:var(--pink)}
.camsvg.pipe .pt{font-family:var(--font);font-weight:800;font-size:16px;fill:var(--text)}
.camsvg.pipe .pd{font-family:var(--font);font-size:12.5px;fill:var(--muted)}
.lfig .camsvg.pipe{background:var(--panel-2)}
/* TTS pace walkthrough (script lesson) */
.ttsanim{--cyc:15s;background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:16px 18px 18px;font-family:var(--font)}
.ta-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.ta-tab{font-size:12.5px;font-weight:700;padding:6px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted);animation:taTab var(--cyc) infinite;animation-delay:calc(var(--i) * 3s)}
@keyframes taTab{0%,19%{background:var(--pink);color:#fff;border-color:var(--pink)}20%,100%{background:transparent;color:var(--muted);border-color:var(--line)}}
.ta-stage{position:relative;height:250px}
.ta-st{position:absolute;inset:0;opacity:0;animation:taSt var(--cyc) infinite;animation-delay:calc(var(--i) * 3s);color:var(--read);font-size:15.5px;line-height:1.6}
@keyframes taSt{0%{opacity:0;transform:translateY(8px)}3%,17%{opacity:1;transform:none}20%,100%{opacity:0;transform:translateY(-6px)}}
.ta-h{font-weight:800;color:var(--text);font-size:17px;margin-bottom:8px}
.ta-mono{font-family:var(--mono);font-size:12.5px;line-height:1.6;background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--read)}
.ta-mono b{color:var(--text)}.ta-hl{color:var(--pink)}
.ta-wave{display:flex;align-items:center;gap:4px;height:120px;margin-top:10px}
.ta-wave i{flex:1;height:var(--h);background:var(--pink);border-radius:3px;opacity:.85;animation:taWave .9s ease-in-out infinite alternate;animation-delay:var(--d)}
@keyframes taWave{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
.ta-cap{font-size:13px;color:var(--muted);margin-top:10px}
.ta-scale{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin:14px 0 6px}
.ta-track{position:relative;height:16px;border-radius:8px;background:var(--line)}
.ta-zone{position:absolute;left:37.5%;width:37.5%;top:0;bottom:0;border-radius:8px;background:rgba(110,231,160,.35)}
.ta-needle{position:absolute;top:-8px;width:4px;height:32px;border-radius:2px;background:var(--pink);left:var(--from);animation:taNeedle var(--cyc) infinite;animation-delay:9s}
@keyframes taNeedle{0%,6%{left:var(--from)}13%,100%{left:var(--to)}}
.ta-read{display:flex;flex-direction:column;gap:6px;margin-top:22px;font-size:14.5px}
.ta-read .bad{color:var(--pink)}.ta-read .good{color:#3FB97A}
.ta-rows{display:flex;flex-direction:column;gap:6px}
.ta-row{display:flex;gap:12px;font-size:14.5px}.ta-t{font-family:var(--mono);font-size:12.5px;color:var(--pink);min-width:78px;padding-top:2px}
@media (prefers-reduced-motion:reduce){.ta-stage{height:auto}.ta-st{position:static;opacity:1;animation:none;margin-bottom:16px}.ta-tab,.ta-needle,.ta-wave i{animation:none}}
@media(max-width:620px){.ta-stage{height:300px}.ta-st{font-size:14px}}
.laudio{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 26px}
.laudio figure{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px}
.laudio figcaption{font-family:var(--font);font-size:14px;color:var(--read);margin-bottom:10px}.laudio figcaption b{color:var(--text)}
.laudio audio{width:100%}
@media(max-width:620px){.laudio{grid-template-columns:1fr}}
html[data-theme="light"] .laudio figcaption b{color:#111}
.ltable table:has(th:nth-child(6)){min-width:860px;font-size:15px}
.byline{display:flex;align-items:center;justify-content:center;gap:10px;margin:-12px 0 26px;font-family:var(--font);font-size:14px;color:var(--muted)}
.byline img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}
.byline b{color:var(--text);font-weight:600}
html[data-theme="light"] .byline b{color:#111}
.lfig.lclip video,.lfig.lvid video{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line);background:#070708}
/* Google-Docs-style template (stays light in both themes, like a real doc) */
.gdoc{margin:26px 0 32px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#F8F9FA;font-family:Arial,Helvetica,sans-serif}
.gdoc-bar{display:flex;align-items:center;gap:12px;padding:12px 18px;background:#fff;border-bottom:1px solid #DADCE0}
.gdoc-name{font-size:16px;color:#202124}.gdoc-menu{font-size:12.5px;color:#5F6368;margin-top:2px}
.gdoc-sheet{padding:26px 22px}
.gdoc-page{background:#fff;max-width:640px;margin:0 auto;padding:40px 48px;box-shadow:0 1px 3px rgba(60,64,67,.3),0 4px 8px rgba(60,64,67,.15);color:#202124;font-size:15px;line-height:1.6}
.gdoc .gd-title{font-size:24px;margin-bottom:18px}
.gdoc .gd-h{font-size:17px;font-weight:700;margin:20px 0 6px}
.gdoc .gd-sub{font-size:15px;font-weight:700;color:#3C4043;margin:8px 0 2px}
.gdoc ul{margin:4px 0 8px 1.3em}.gdoc li{margin:3px 0;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.55;color:#202124}
.gdoc li::marker{color:#202124}.gdoc b{color:#202124}
.gdoc .gd-ph{background:#FEF7C8;border-radius:3px;padding:0 3px;color:#5F6368}
.gdoc .gd-note{color:#80868B;font-weight:400}
@media(max-width:620px){.gdoc-page{padding:26px 20px}.gdoc-sheet{padding:14px 10px}}
html[data-theme="light"] .gdoc b,html[data-theme="light"] .gdoc li{color:#202124}

/* Script lesson graphics: roadmap, speech bar, argument chain, rewrite cards */
.sroad{display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,1fr));gap:10px}
.article .sroad a.sroad-s{display:flex;flex-direction:column;gap:3px;padding:14px 12px 13px;border-radius:14px;background:var(--panel);border:1px solid var(--line);color:var(--read);text-decoration:none;font-family:var(--font);transition:border-color .2s,transform .2s}
.article .sroad a.sroad-s:hover{border-color:var(--pink);transform:translateY(-2px)}
.sroad-n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:#fff;font-weight:800;font-size:13px;margin-bottom:6px}
.article .sroad-s b{font-size:15px;color:var(--text);line-height:1.2}
.sroad-s i{font-style:normal;font-size:12.5px;line-height:1.35;color:var(--muted)}
@media(max-width:760px){.sroad{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:460px){.sroad{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

.sbar{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px 22px 18px;font-family:var(--font)}
.sbar-track{display:flex;height:54px;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.sbar-sp{flex:0 0 85%;display:flex;align-items:center;padding-left:16px;background:var(--grad);color:#fff;font-weight:700;font-size:15px}
.sbar-br{flex:1;display:grid;place-items:center;color:var(--muted);font-size:13px;font-weight:600;background:repeating-linear-gradient(135deg,var(--panel-2) 0 7px,var(--panel) 7px 14px)}
.sbar-ax{display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;color:var(--muted-2);margin-top:7px}
.sbar-math{margin-top:12px;font-size:18px;color:var(--read)}
.article .sbar-math b{color:var(--text)}
.sbar-math em{font-style:normal;color:var(--pink);font-weight:700;margin:0 2px}

.schain{display:flex;flex-direction:column;gap:12px;font-family:var(--font)}
.schain-r{position:relative;display:grid;grid-template-columns:168px 1fr;gap:18px;align-items:center;padding:15px 18px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}
.schain-r:not(:last-child)::after{content:"";position:absolute;left:92px;bottom:-13px;width:2px;height:12px;background:var(--pink)}
.schain-r.key{border-color:var(--pink);background:color-mix(in srgb,var(--pink) 7%,var(--panel))}
.schain-j span{display:inline-block;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--pink);border:1px solid color-mix(in srgb,var(--pink) 45%,transparent);border-radius:6px;padding:3px 8px}
.schain-j i{display:block;font-style:normal;font-size:13px;color:var(--muted);margin-top:6px}
.schain-l{font-size:17px;line-height:1.45;color:var(--text)}
.schain-l em{display:block;font-style:normal;font-size:13px;font-weight:600;color:var(--pink);margin-top:6px}
@media(max-width:620px){.schain-r{grid-template-columns:1fr;gap:8px}.schain-r:not(:last-child)::after{left:30px}}

.srw{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;font-family:var(--font)}
.srw-c{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.srw-k{font-family:var(--mono);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--pink);margin-bottom:10px}
.srw-x,.srw-o{font-size:16px;line-height:1.45}
.srw-x{color:var(--muted);margin-bottom:8px}
.srw-x s{text-decoration-color:color-mix(in srgb,var(--pink) 60%,transparent)}
.srw-o{color:var(--text);font-weight:600}
.srw-x span,.srw-o span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin-bottom:2px}
@media(max-width:620px){.srw{grid-template-columns:1fr}}

/* Pace lesson: speed player */
.spd{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px;font-family:var(--font)}
.spd-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.spd-play{width:46px;height:46px;border-radius:50%;border:0;background:var(--pink);color:#fff;font-size:17px;cursor:pointer;flex:0 0 auto}
.spd-play.on{background:var(--text);color:var(--ink)}
.spd-rates{display:flex;gap:6px;flex-wrap:wrap}
.spd-rates button{font-family:var(--mono);font-size:14px;padding:8px 12px;border-radius:9px;border:1px solid var(--line);background:var(--panel-2);color:var(--read);cursor:pointer}
.spd-rates button.on{border-color:var(--pink);color:var(--pink);background:color-mix(in srgb,var(--pink) 10%,var(--panel))}
.spd-meter{position:relative;margin:22px 0 4px;height:12px;border-radius:6px;background:var(--panel-2);border:1px solid var(--line)}
.spd-zone{position:absolute;top:0;bottom:0;left:37.5%;width:27.5%;background:color-mix(in srgb,#6EE7A0 30%,transparent);border-radius:6px}
.spd-needle{position:absolute;top:-6px;width:4px;height:22px;margin-left:-2px;border-radius:2px;background:var(--pink);left:50%;transition:left .25s}
.spd-scale{position:absolute;top:18px;left:0;right:0;display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--muted-2)}
.spd-read{margin-top:26px;font-size:17px;color:var(--read)}
.article .spd-read b{color:var(--text)}
.spd-v{color:var(--muted)}
.spd-v.bad{color:var(--pink)}
@media(max-width:460px){.spd-rates button{font-size:12.5px;padding:7px 8px}.spd-top{gap:10px}}

/* "Feels slow? This is the shortcut." — the prep box on every lesson (a quiet callout with a thin stepper) */
.prep{margin:30px 0 8px;padding:22px 24px 20px;border-radius:0 16px 16px 0;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--pink);font-family:var(--font)}
.prep-h{font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.01em;margin-bottom:8px}
.prep-h em{font-style:normal;color:var(--pink)}
.prep .prep-why{font-size:17px;line-height:1.6;color:var(--read);margin:0 0 22px}
.prep-path{position:relative;display:flex;align-items:flex-start}
.prep-path::before{content:"";position:absolute;left:6%;right:6%;top:7px;height:2px;background:var(--line)}
.prep .prep-path .prep-s,.prep-v{position:relative;flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;text-decoration:none;color:var(--muted);font-size:13px;line-height:1.2}
.prep .prep-path .prep-s::before,.prep-v::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--ink);border:2px solid var(--muted-2);position:relative;z-index:1}
.prep .prep-s b{font-weight:600;color:inherit}
.prep .prep-path a.prep-s:hover{color:var(--pink)}
.prep .prep-path .prep-s.done{color:var(--read)}
.prep .prep-path .prep-s.done::before{background:var(--pink);border-color:var(--pink)}
.prep .prep-path .prep-s.on{color:var(--text)}
.prep .prep-path .prep-s.on b{font-weight:800}
.prep .prep-path .prep-s.on::before{width:16px;height:16px;margin-top:-2px;background:var(--pink);border-color:var(--pink);box-shadow:0 0 0 5px color-mix(in srgb,var(--pink) 22%,transparent)}
.prep .prep-path .prep-s.locked{color:var(--muted-2);cursor:default}
.prep-s.locked .lock-i{width:12px;height:12px;margin-top:-4px;opacity:.8}
.prep-arrow{display:none}
.prep-v{color:var(--text);font-weight:700}
.prep-v::before{border-radius:3px;border-style:dashed}
.prep-ax{display:flex;justify-content:space-between;gap:16px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line-soft);font-family:var(--mono);font-size:12px;color:var(--muted)}
.prep-ax span:last-child{text-align:right;color:var(--pink)}
.prep .prep-foot{font-size:15px;line-height:1.55;color:var(--read);margin:12px 0 0}
.prep .prep-foot a{color:var(--pink);font-weight:600;white-space:nowrap}
@media(max-width:620px){.prep{padding:18px 14px 16px}.prep .prep-path .prep-s,.prep-v{font-size:11.5px}.prep-ax{flex-direction:column;gap:4px}.prep-ax span:last-child{text-align:left}}


/* locks: modules and lessons without content yet */
.lock-i{display:inline-block;vertical-align:-2px;flex:none}
a.mod-card{color:inherit;text-decoration:none}
.mods{grid-auto-rows:1fr}
.mod-card h3{min-height:2.6em}
.mod-card.locked{cursor:default;opacity:.62}
.mod-card.locked:hover{transform:none;border-color:var(--line)}
.mod-card.locked .soon-tag{display:inline-flex;align-items:center;gap:5px}
.card.locked{cursor:default;position:relative}
.card.locked img{filter:grayscale(1) brightness(.6)}
.card.locked .card-t,.card.locked .card-d{color:var(--muted)}
.card.locked:hover{transform:none}
.card-lock{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.lk{color:var(--read);white-space:nowrap}
.lk .lock-i{width:12px;height:12px;margin-left:4px;color:var(--muted-2)}

/* previous / next lesson cards at the end of every lesson */
.cards.pn{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cards.pn .pn-next:only-child{grid-column:2}
.cards.pn .pn-mod{display:flex;align-items:center;min-height:180px}
@media(max-width:620px){.cards.pn{grid-template-columns:1fr}.cards.pn .pn-next:only-child{grid-column:auto}}
.article .prep .prep-path a.prep-s{text-decoration:none;color:var(--read)}
.article .prep .prep-path a.prep-s:hover{color:var(--pink)}

/* the prep box sits behind a one-line CTA: "Why you shouldn't skip this step" */
.prep-d{margin:26px 0 6px}
.prep-cta{display:inline-flex;align-items:center;gap:10px;list-style:none;cursor:pointer;user-select:none;font-family:var(--font);font-size:14.5px;font-weight:700;color:var(--pink);border:1px solid color-mix(in srgb,var(--pink) 45%,transparent);border-radius:999px;padding:8px 14px 8px 16px;background:color-mix(in srgb,var(--pink) 6%,transparent);transition:background .2s}
.prep-cta::-webkit-details-marker{display:none}
.prep-cta:hover{background:color-mix(in srgb,var(--pink) 12%,transparent)}
.prep-cta i{font-style:normal;font-size:18px;line-height:1;transition:transform .2s}
.prep-d[open] .prep-cta i{transform:rotate(45deg)}
.prep-d .prep{margin:12px 0 0}
.mod-card.live.on{border-color:var(--pink);box-shadow:0 0 0 1px var(--pink)}

/* locked content: Unlock now → course offer */
.unlock{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--pink);background:rgba(255,61,139,.08);border:1px solid rgba(255,61,139,.45);border-radius:999px;padding:5px 12px;cursor:pointer}
.unlock:hover{background:rgba(255,61,139,.16)}
.unlock .lock-i{width:12px;height:12px}
.card-lock:has(.unlock){border:0;padding:0}
.mod-top .unlock{margin:0;font-size:10px;padding:3px 9px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.card.locked,.mod-card.locked{cursor:default}
.buy-d{position:fixed;inset:0;margin:auto;height:fit-content;max-height:calc(100vh - 32px);border:1px solid var(--line);border-radius:22px;background:var(--ink);color:var(--text);padding:34px 34px 28px;width:min(420px,calc(100vw - 32px));text-align:center;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.buy-d::backdrop{background:rgba(0,0,0,.55)}
.buy-d .buy-k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin-bottom:10px}
.buy-d h3{font-size:28px;line-height:1.15;margin:0 0 8px}
.buy-d .buy-p{font-size:40px;font-weight:800;margin:14px 0 2px}.buy-d .buy-p small{font-size:15px;font-weight:600;color:var(--muted)}
.buy-d .buy-s{font-size:14px;color:var(--muted);margin:0 0 22px}
.buy-d .buy-x{font:inherit;font-weight:700;font-size:14px;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:999px;padding:9px 22px;cursor:pointer}

/* ===== Course layout (Profound-University style): sticky syllabus left, lesson right. Inter everywhere. ===== */
body.is-course{--hl:rgba(255,255,255,.05);--hl2:rgba(255,255,255,.1);--body:rgba(236,235,233,.9);--navh:74px}
html[data-theme="light"] body.is-course{--hl:rgba(0,0,0,.04);--hl2:rgba(0,0,0,.07);--body:#2B2D33}
.course{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);max-width:1480px;margin:0 auto;border-top:1px solid var(--line-soft)}
.syl{position:sticky;top:var(--navh);height:calc(100vh - var(--navh));display:flex;flex-direction:column;border-right:1px solid var(--line-soft);min-width:0}
.syl-head{padding:24px 24px 16px;border-bottom:1px solid var(--line-soft)}
.syl-course{display:block;font-size:22px;font-weight:500;letter-spacing:-.01em;color:var(--text)}
.syl-meta,.cmeta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--muted);margin-top:6px}
.syl-meta>i,.cmeta>i{width:1px;height:12px;background:var(--line)}
.lvl{display:inline-flex;align-items:flex-end;gap:2px}.lvl b{width:3px;border-radius:1px;background:var(--muted);display:block}
.lvl b:nth-child(1){height:5px}.lvl b:nth-child(2){height:8px;opacity:.35}.lvl b:nth-child(3){height:11px;opacity:.35;margin-right:5px}
.syl-prog{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:12px;color:var(--muted);white-space:nowrap}
.syl-bar{flex:1;height:4px;border-radius:4px;background:var(--line);overflow:hidden}.syl-bar i{display:block;height:100%;width:0;background:var(--pink);border-radius:4px;transition:width .3s}
.syl-q{display:block;margin-top:14px;width:100%;height:36px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--text);padding:0 12px;font:inherit;font-size:14px;outline:none}
.syl-q:focus{border-color:var(--muted-2)}
.syl-toggle{display:none}
.syl-list{flex:1;overflow-y:auto;padding:4px 12px 16px;overscroll-behavior:contain}
.syl-mod{font-size:12px;color:var(--muted);padding:16px 12px 8px;margin-top:6px;border-top:1px solid var(--line-soft)}
.syl-mod:first-child{border-top:0;margin-top:0}
.syl-mod span{font-family:var(--mono);font-size:11px;color:var(--muted-2);margin-right:6px}
.syl-mod span::after{content:" ·"}
.syl-l,.syl-l.unlock{display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px;border-radius:8px;font:inherit;font-size:14.5px;line-height:1.45;letter-spacing:0;text-transform:none;font-weight:400;color:var(--read);text-align:left;background:none;border:0;cursor:pointer;text-decoration:none}
.syl-l:hover,.syl-l.unlock:hover{background:var(--hl)}
.syl-l.on{background:var(--hl2);color:var(--text)}
.syl-ic{flex:none;width:18px;display:grid;place-items:center;color:var(--muted)}
.syl-ic .lock-i{width:14px;height:14px}
.syl-done-i{display:none;color:#3DD68C}
.syl-l.done .syl-ic svg:first-child{display:none}.syl-l.done .syl-done-i{display:block}
.syl-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.syl-l em{font-style:normal;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.syl-l.locked{color:var(--muted)}.syl-l.locked em{color:var(--pink);font-weight:600;font-size:12px}
.syl-empty{font-size:13px;color:var(--muted);padding:16px 12px}
.syl-foot{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line-soft)}
.syl-nav{flex:none;width:38px;height:38px;border-radius:8px;border:1px solid var(--line);display:grid;place-items:center;font-size:22px;line-height:1;color:var(--text)}
.syl-nav:hover{background:var(--hl)}.syl-nav.off{opacity:.3}
.syl-mark{flex:1;height:38px;border-radius:8px;border:1px solid var(--line);background:var(--hl2);color:var(--text);font:inherit;font-size:14px;font-weight:500;cursor:pointer;display:grid;place-items:center}
.syl-mark.off{color:var(--muted);cursor:default;background:none}
.syl-mark.is-done{background:rgba(61,214,140,.12);border-color:rgba(61,214,140,.45);color:#3DD68C}
main.lesson{min-width:0;padding:28px 40px 80px}
.lesson .lvideo{max-width:1000px;margin:0 auto 36px}
.lesson .lvideo video{border-radius:12px;box-shadow:none}
.lx{max-width:768px;margin:0 auto}
.lesson .crumbs{margin-bottom:12px}
.lx-k{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pink);margin-bottom:10px}
.lx-h1{font-family:var(--font);font-size:32px;font-weight:500;line-height:1.3;letter-spacing:-.006em;color:var(--text);margin:0 0 10px}
.lx-sub{font-size:16px;line-height:1.6;color:var(--muted);margin:0 0 18px}
.lesson .byline{justify-content:flex-start;margin:0 0 28px}
.lx-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:0 0 32px}
.lx-tabs button{font:inherit;font-size:13px;font-weight:500;color:var(--muted);background:none;border:0;border-bottom:2px solid transparent;padding:10px 0;margin-bottom:-1px;cursor:pointer}
.lx-tabs button[aria-selected="true"]{color:var(--text);border-bottom-color:var(--text)}
.course .article p,.course .article li,.lx-tr p,.lx-copy p{font-family:var(--font);font-size:16px;line-height:1.8;color:var(--body)}
.course .article p,.lx-tr p,.lx-copy p{margin:0 0 24px}
.course .article li{margin:6px 0}
.course .article b{font-weight:600}
.course .article h2,.lx-h2{font-family:var(--font);font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.005em;color:var(--text);margin:48px 0 16px}
.lx-h2:first-child{margin-top:0}
.course .article .faq details p{font-size:15.5px}
html[data-theme="light"] .course .article p,html[data-theme="light"] .course .article li{color:var(--body)}
/* course home */
.chero{border-bottom:1px solid var(--line-soft);background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:44px 44px;background-position:-1px -1px}
.chero-in{max-width:1480px;margin:0 auto;padding:88px 40px 72px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:center}
.chero-l{background:var(--ink);box-shadow:0 0 0 24px var(--ink)}
.chero-k{font-size:13px;color:var(--muted);margin-bottom:14px}
.chero h1{font-family:var(--font);font-size:clamp(36px,4.4vw,52px);font-weight:500;letter-spacing:-.02em;line-height:1.1;margin:0 0 16px;color:var(--text)}
.chero p{font-size:16px;line-height:1.65;color:var(--read);max-width:470px}
.chero .cmeta{margin:24px 0 32px}
.cstart{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#111;border-radius:10px;padding:12px 18px;font-size:15px;font-weight:600}
.cstart:hover{transform:translateY(-1px)}
html[data-theme="light"] .cstart{background:#15171A;color:#fff}
.chero-r img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:14px;border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.45)}
.lx-mods{list-style:none;margin:0;padding:0;border:1px solid var(--line-soft);border-radius:12px;overflow:hidden}
.lx-mods li{display:flex;flex-direction:column;gap:2px;padding:14px 18px;border-top:1px solid var(--line-soft)}
.lx-mods li:first-child{border-top:0}
.lx-mods b{font-size:15px;font-weight:600;color:var(--text)}.lx-mods span{font-size:14px;color:var(--muted)}
.mentor{display:flex;align-items:center;gap:14px}.mentor img{border-radius:50%;object-fit:cover;border:1px solid var(--line)}
.mentor b{display:block;font-size:16px;font-weight:600;color:var(--text)}.mentor span{font-size:13px;color:var(--muted)}
.is-course main.lesson:has(.lx-h2:first-child){padding-top:48px}
@media(max-width:1000px){
  .course{grid-template-columns:1fr}
  .syl{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line-soft)}
  .syl-head{padding:16px}
  .syl-list,.syl-q,.syl-prog{display:none}
  .syl.open .syl-list,.syl.open .syl-q{display:block}.syl.open .syl-prog{display:flex}
  .syl.open .syl-list{max-height:60vh}
  .syl-toggle{display:flex;align-items:center;justify-content:space-between;margin-top:12px;width:100%;height:40px;border:1px solid var(--line);border-radius:8px;background:none;color:var(--text);font:inherit;font-size:14px;font-weight:500;padding:0 14px;cursor:pointer}
  .syl-toggle::after{content:"▾";color:var(--muted)}.syl.open .syl-toggle::after{content:"▴"}
  main.lesson{padding:20px 16px 64px}
  .chero-in{grid-template-columns:1fr;padding:48px 16px 40px;gap:28px}
  .lx-h1{font-size:26px}
}

/* ===== Knowledge checks (Profound style): idle / selected / correct / incorrect options, feedback after Check answers ===== */
.qz-k{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);margin-bottom:10px}
.qz-k i{width:1px;height:12px;background:var(--line)}
.qz{margin-top:28px}
.qz-q{border:0;margin:0 0 40px;padding:0;min-width:0}
.qz-q legend{display:block;padding:0;font-size:16px;font-weight:500;line-height:1.55;color:var(--text)}
.qz-n{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-bottom:8px}
.qz-hint{font-size:13px;line-height:1.5;color:var(--muted);margin:8px 0 16px}
.qz-hint a{color:var(--text);font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
.qz-opts{display:flex;flex-direction:column;gap:8px}
.qz-o{display:flex;align-items:center;gap:12px;padding:16px;border-radius:8px;border:1px solid var(--line-soft);background:var(--ink);font-size:14px;line-height:1.5;color:var(--text);cursor:pointer;transition:border-color .2s,background-color .2s}
.qz-o:hover{border-color:var(--line);background:var(--hl)}
.qz-o input{flex:none;width:16px;height:16px;margin:0;accent-color:var(--text)}
.qz-o[data-state="selected"]{border-color:var(--muted);background:var(--hl2)}
.qz-o[data-state="correct"]{border-color:#3DD68C;background:rgba(61,214,140,.1);color:#3DD68C;cursor:default}
.qz-o[data-state="incorrect"]{border-color:#F2555A;background:rgba(242,85,90,.1);color:#F2555A;cursor:default}
html[data-theme="light"] .qz-o[data-state="correct"]{color:#15803D;border-color:#22A559}
html[data-theme="light"] .qz-o[data-state="incorrect"]{color:#C62828;border-color:#E0484D}
.qz.checked .qz-o{cursor:default}
.qz-fb{margin-top:12px;border-radius:10px;border:1px solid var(--line-soft);background:var(--panel);padding:16px}
.qz-fb b{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.qz-fb.ok b{color:#3DD68C}.qz-fb.no b{color:#F2555A}
html[data-theme="light"] .qz-fb.ok b{color:#15803D}html[data-theme="light"] .qz-fb.no b{color:#C62828}
.qz-fb p{font-size:14px;line-height:1.6;color:var(--read);margin:0}
.qz-res{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 20px;padding:18px 20px;border-radius:12px;border:1px solid var(--line);background:var(--panel)}
.qz-res b{font-size:22px;font-weight:600;color:var(--text)}.qz-res span{font-size:14px;color:var(--muted)}
.qz-res.pass{border-color:rgba(61,214,140,.45)}.qz-res.pass b{color:#3DD68C}
.qz-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line-soft);padding-top:20px}
.qz-sp{flex:1}
.qz-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 16px;border-radius:8px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;border:1px solid var(--line);background:none;color:var(--text);text-decoration:none}
.qz-btn.primary{background:#fff;color:#111;border-color:#fff}
html[data-theme="light"] .qz-btn.primary{background:#15171A;color:#fff;border-color:#15171A}
.qz-btn:disabled{opacity:.4;cursor:not-allowed}
.qz-btn.ghost:hover{background:var(--hl)}

/* Buy course CTA + paywall (no pay button yet) */
.cacts{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cbuy{display:inline-flex;align-items:center;gap:8px;border-radius:10px;padding:12px 18px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;color:#fff;background:var(--pink);border:1px solid var(--pink)}
.cbuy span{font-weight:500;opacity:.85}
.cbuy:hover{filter:brightness(1.08)}
.syl-buy{display:block;width:100%;margin-top:14px;height:38px;border-radius:8px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;color:#fff;background:var(--pink);border:1px solid var(--pink)}
.syl-buy:hover{filter:brightness(1.08)}
.buy-d{width:min(460px,calc(100vw - 32px));text-align:left;padding:30px 28px 24px;overflow-y:auto}
.buy-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}
.buy-close:hover{color:var(--text)}
.buy-d .buy-p{margin:10px 0 18px}
.buy-l{list-style:none;margin:0 0 18px;padding:18px 0 0;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:14px}
.buy-l li{display:flex;gap:12px;align-items:flex-start}
.buy-l i{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(255,61,139,.14);color:var(--pink)}
.buy-l b{display:block;font-size:15px;font-weight:600;color:var(--text);line-height:1.35}
.buy-l span{display:block;font-size:13.5px;color:var(--muted);line-height:1.45;margin-top:2px}
.buy-soon{font-size:13px;color:var(--muted);margin:0 0 16px;padding:10px 12px;border-radius:8px;background:var(--hl,rgba(255,255,255,.05));border:1px dashed var(--line)}
.buy-d .buy-x{width:100%}
.buy-plans{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 18px}
.buy-plan{border:1px solid var(--line);border-radius:12px;padding:14px 14px 12px}
.buy-plan span{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--muted)}
.buy-plan span em{font-style:normal;font-size:10.5px;font-weight:700;color:#fff;background:var(--pink);border-radius:999px;padding:2px 7px}
.buy-plan b{display:block;font-size:28px;font-weight:800;color:var(--text);margin:6px 0 2px}
.buy-plan small{font-size:12px;color:var(--muted)}
.buy-plan.best{border-color:var(--pink);background:rgba(255,61,139,.07)}
.chero-r .lvideo{max-width:none;margin:0}
.chero-r .lvideo video{border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.45)}

/* ===== Paywall v2: video + selectable plans (left), the bundle (right) ===== */
.buy-d{width:min(1000px,calc(100vw - 32px));padding:0;border-radius:22px;max-height:calc(100vh - 32px)}
.buy-d::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(3px)}
.buy-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}
.buy-left{padding:30px 28px 26px}
.buy-right{padding:30px 28px 26px;background:linear-gradient(160deg,rgba(255,61,139,.14),rgba(255,61,139,.03) 55%);border-left:1px solid var(--line-soft)}
.buy-d .buy-k{margin-bottom:8px}
.buy-d h3{font-size:26px;line-height:1.2;font-weight:700;letter-spacing:-.01em;margin:0 40px 16px 0}
.buy-d h3 em{font-style:normal;color:var(--pink)}
.buy-v{display:block;width:100%;aspect-ratio:16/9;border-radius:12px;border:1px solid var(--line);background:#000}
.buy-d .buy-plans{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 14px}
.buy-plan{position:relative;text-align:left;font:inherit;color:inherit;cursor:pointer;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;background:transparent;transition:border-color .15s,background .15s}
.buy-plan:hover{border-color:var(--muted-2)}
.buy-plan.on{border-color:var(--pink);background:rgba(255,61,139,.08)}
.buy-pk{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--muted)}
.buy-pk em{font-style:normal;font-size:10.5px;font-weight:700;color:#fff;background:var(--pink);border-radius:999px;padding:2px 7px}
.buy-plan b{display:block;font-size:26px;font-weight:800;color:var(--text);margin:4px 0 0}
.buy-plan small{display:block;font-size:11.5px;color:var(--muted);line-height:1.4}
.buy-dot{position:absolute;top:12px;right:12px;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--muted-2)}
.buy-plan.on .buy-dot{border-color:var(--pink);background:radial-gradient(var(--pink) 45%,transparent 50%)}
.buy-go{width:100%;display:flex;flex-direction:column;align-items:center;gap:2px;border:0;border-radius:12px;padding:12px;font:inherit;background:var(--pink);color:#fff;cursor:not-allowed;opacity:.85}
.buy-go b{font-size:15px;font-weight:700}.buy-go span{font-size:12.5px;opacity:.9}
.buy-bundle{font-size:15px;color:var(--read);margin:2px 0 14px}
.buy-bundle b{font-size:34px;font-weight:900;color:var(--pink);letter-spacing:-.02em;margin-right:4px}
.buy-d .buy-l{list-style:none;margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:8px}
.buy-d .buy-l li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--ink);border:1px solid var(--line-soft)}
.buy-d .buy-l i{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-size:18px;background:rgba(255,61,139,.12);color:inherit}
.buy-d .buy-l div{flex:1;min-width:0}
.buy-d .buy-l b{display:block;font-size:14.5px;font-weight:700;color:var(--text);line-height:1.3}
.buy-d .buy-l span{display:block;font-size:12.5px;color:var(--muted);line-height:1.4;margin-top:1px}
.buy-d .buy-l u{flex:none;text-decoration:none;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#3DD68C;border:1px solid rgba(61,214,140,.45);border-radius:999px;padding:3px 8px}
html[data-theme="light"] .buy-d .buy-l u{color:#15803D;border-color:rgba(21,128,61,.4)}
.buy-foot{margin:14px 0 0;font-size:13.5px;font-weight:600;color:var(--read)}
@media(max-width:820px){.buy-grid{grid-template-columns:1fr}.buy-right{border-left:0;border-top:1px solid var(--line-soft)}.buy-d h3{font-size:22px}}

/* Paywall v3: scrollable, social proof, our-work strip */
.buy-d{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.buy-d .buy-close{position:sticky;top:14px;float:right;margin:14px 14px -46px 0;z-index:3;background:var(--ink)}
.buy-proof{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--read);margin:-6px 0 14px}
.buy-proof b{color:var(--text)}
.buy-av{display:inline-flex}.buy-av i{font-style:normal;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;border:2px solid var(--ink);margin-left:-7px}
.buy-av i:first-child{margin-left:0;background:#FF3D8B}.buy-av i:nth-child(2){background:#7B5BFF}.buy-av i:nth-child(3){background:#FF7A2F}.buy-av i:nth-child(4){background:#1F9D5B}
.buy-work{padding:22px 28px 28px;border-top:1px solid var(--line-soft)}
.buy-workh{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.buy-workh b{font-size:16px;font-weight:700;color:var(--text)}.buy-workh a{font-size:13px;font-weight:600;color:var(--pink)}
.buy-wrow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.buy-w,.buy-wv{position:relative;display:block;width:100%;aspect-ratio:9/16;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#000;padding:0;cursor:pointer}
.buy-w img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.buy-w:hover img{transform:scale(1.04)}
.buy-w i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,61,139,.92);color:#fff;font-style:normal;font-size:14px}
.buy-w span{position:absolute;left:0;right:0;bottom:0;padding:18px 8px 8px;font-size:11px;font-weight:700;color:#fff;text-align:left;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.buy-wv{object-fit:cover;cursor:default}
@media(max-width:820px){.buy-wrow{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:42%;overflow-x:auto;scroll-snap-type:x mandatory}.buy-w,.buy-wv{scroll-snap-align:start}}
.buy-wrow.wide{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px}
.buy-wrow.wide .buy-w,.buy-wrow.wide .buy-wv{aspect-ratio:16/9}
.buy-wv{object-fit:contain}
@media(max-width:820px){.buy-wrow.wide{grid-auto-columns:85%}}
/* Learn top nav: logo · theme switch · Start / Resume course */
.nav-learn .nav-in{justify-content:space-between}
.nav-learn .nav-right{display:flex;align-items:center;gap:12px;margin-left:auto}
.nav-learn .nav-course{white-space:nowrap}

/* ===== Courses page (/learn/) ===== */
main.courses{border-top:1px solid var(--line-soft)}
.courses-in{max-width:1180px;margin:0 auto;padding:56px 40px 72px}
.courses-sub{font-size:15px;color:var(--muted);margin:-6px 0 26px}
.ccards{display:flex;flex-direction:column;gap:16px}
.ccard{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:0;width:100%;text-align:left;font:inherit;color:inherit;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel);cursor:pointer;padding:0;transition:border-color .2s,transform .2s}
.ccard:hover{border-color:var(--muted-2);transform:translateY(-2px)}
.ccard-img{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000}
.ccard-img img{width:100%;height:100%;object-fit:cover;display:block}
.ccard.locked .ccard-img img{filter:blur(6px) brightness(.6);transform:scale(1.08)}
.ccard-img i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.25);color:#fff}
.ccard-img i .lock-i{width:24px;height:24px}
.ccard-b{padding:26px 30px;display:flex;flex-direction:column;justify-content:center}
.ccard-n{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2)}
.ccard h3{font-size:26px;font-weight:600;letter-spacing:-.01em;color:var(--text);margin:6px 0 8px}
.ccard p{font-size:15px;line-height:1.6;color:var(--read);margin:0}
.ccard .cmeta{margin-top:14px}.ccard .cmeta .lock-i{width:13px;height:13px;vertical-align:-2px}
.ccard-go{margin-top:16px;font-size:14px;font-weight:700;color:var(--text)}.ccard-go.pink{color:var(--pink)}
.cband{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding:24px 28px;border-radius:16px;border:1px solid rgba(255,61,139,.45);background:linear-gradient(120deg,rgba(255,61,139,.14),rgba(255,61,139,.03))}
.cband b{display:block;font-size:20px;color:var(--text)}.cband span{display:block;font-size:14px;color:var(--read);margin-top:4px}
@media(max-width:820px){.courses-in{padding:40px 16px 56px}.ccard{grid-template-columns:1fr}.ccard-b{padding:20px}.cband{flex-direction:column;align-items:flex-start}}
/* paywall: the four courses as the hero of the bundle */
.buy-cs{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}
.buy-cs li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--ink);border:1.5px solid rgba(255,61,139,.35)}
.buy-cs em{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:14px;color:#fff;background:var(--pink)}
.buy-cs div{flex:1;min-width:0}.buy-cs b{display:block;font-size:15px;font-weight:700;color:var(--text);line-height:1.3}.buy-cs span{display:block;font-size:12.5px;color:var(--muted);line-height:1.4}
.buy-cs u{flex:none;text-decoration:none;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--pink);border:1px solid rgba(255,61,139,.45);border-radius:999px;padding:3px 8px}
.buy-cs u.now{color:#3DD68C;border-color:rgba(61,214,140,.45)}
.buy-plus{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:16px 0 8px}
