/* 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;max-height:420px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,61,139,.45) transparent;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)}
/* the logo file is white: the light theme swaps in the dark-ink file (nav and footer); no filter, which can render soft */
html[data-theme="light"] .brand-logo-dark{display:none!important}
html[data-theme="light"] .brand-logo-light{display:block!important}
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)}
.article .example.long{max-height:560px;overflow:auto;padding:16px 20px;font-family:var(--mono);font-style:normal;font-size:13.5px;line-height:1.6;background:var(--panel);border-radius:0 10px 10px 0}

/* 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;touch-action:pan-y}
@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%;max-height:none;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,.cmp.dragging *{cursor:ew-resize;user-select:none}

/* 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.tall{max-width:380px;margin-left:auto;margin-right:auto}   /* portrait (9:16) media: phone-sized, centred */
.lreplay .replay{aspect-ratio:16/10;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#070708}
.lreplay iframe{display:block;width:100%;height:100%;border:0}
.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}
.lvideo-yt{width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#070708}
.lvideo-yt iframe{display:block;width:100%;height:100%;border:0}
.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}
a.buy-go{cursor:pointer;opacity:1;text-decoration:none;transition:filter .15s,transform .15s}
a.buy-go:hover{filter:brightness(1.08);transform:translateY(-1px)}
a.buy-go:focus-visible{outline:2px solid #fff;outline-offset:2px}
.buy-d .buy-plans.solo{grid-template-columns:1fr}
.buy-plans.solo .buy-plan{cursor:default}
.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)}
/* ---------- paywall (.pw): one column, one path — hook, headline, price, one button ---------- */
.buy-d.pw{width:min(540px,calc(100vw - 24px))}
/* the close button sits on the dark thumbnail in both themes, so it stays dark with a white x */
.buy-d.pw .buy-close{background:rgba(7,7,8,.72);color:#fff;border-color:rgba(255,255,255,.28);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.buy-d.pw .buy-close:hover{background:rgba(7,7,8,.9);color:#fff}
.pw-vid{position:relative;aspect-ratio:16/9;background:#000;border-bottom:1px solid var(--line-soft)}
.pw-vid video{width:100%;height:100%;object-fit:cover;display:block}
.pw-play{position:absolute;inset:0;border:0;background:transparent;cursor:pointer}
.pw-play:hover{background:rgba(255,255,255,.04)}
/* sits exactly on the play circle drawn into the thumbnail (centre 74.7% / 53.9%, 150px of 1600) */
.pw-pb,.vplay .pb{position:absolute;left:74.69%;top:53.89%;width:9.375%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:#FF3D8B;display:grid;place-items:center;box-shadow:0 0 0 5px rgba(255,255,255,.28),0 12px 30px -8px rgba(0,0,0,.7);transition:transform .15s}
.pw-pb svg{width:44%;height:44%;margin-left:8%}
.pw-play:hover .pw-pb{transform:translate(-50%,-50%) scale(1.07)}
.pw-vid.loading .pw-pb svg,.lv-wrap.loading .pw-pb svg{display:none}
.pw-vid.loading .pw-pb::after,.lv-wrap.loading .pw-pb::after{content:"";width:42%;height:42%;border-radius:50%;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;animation:pwSpin .7s linear infinite}
@keyframes pwSpin{to{transform:rotate(360deg)}}
.pw-play:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.pw-vid.on .pw-play,.lv-wrap.on .pw-play{display:none}
.lv-wrap{position:relative}
.pw-body{padding:24px 30px 26px}
.pw-k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin:0 0 10px}
.pw-h{font-size:27px;line-height:1.15;font-weight:800;letter-spacing:-.02em;margin:0 0 12px;color:var(--text)}
.pw-h span{color:var(--pink)}
.pw-proof{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--read);margin-bottom:20px}
.pw-proof b{color:var(--text)}
.pw-price{display:flex;align-items:baseline;gap:8px;margin-bottom:14px}
.pw-price b{font-size:44px;font-weight:900;letter-spacing:-.035em;line-height:1;color:var(--text)}
.pw-price span{font-size:15px;color:var(--muted);white-space:nowrap}
.pw-price em{margin-left:auto;align-self:center;font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#46E08A;background:rgba(70,224,138,.1);border:1px solid rgba(70,224,138,.28);border-radius:100px;padding:4px 10px;white-space:nowrap}
.pw-go{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 20px;border-radius:12px;background:var(--pink);color:#fff;font-size:16.5px;font-weight:800;letter-spacing:-.01em;text-decoration:none;box-shadow:0 14px 34px -14px rgba(255,61,139,.75);transition:transform .15s,filter .15s}
.pw-go:hover{transform:translateY(-1px);filter:brightness(1.07)}
.pw-go:focus-visible{outline:2px solid #fff;outline-offset:3px}
.pw-go svg{transition:transform .15s}.pw-go:hover svg{transform:translateX(3px)}
.pw-next{margin:9px 0 0;text-align:center;font-size:12.5px;color:var(--muted)}
/* pay-first email step (replaces the button once pressed) */
.pw-pay{display:grid;gap:10px}
/* "Get all courses": the email step only, then Razorpay */
.pw.quick .pw-vid,.pw.quick .pw-proof,.pw.quick .pw-more,.pw.quick .pw-barw{display:none}
.pw-pay[hidden]{display:none}
.pw-pay label{font-size:13px;font-weight:700;color:var(--text)}
.pw-pay input{width:100%;padding:14px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;font-size:16px}
.pw-pay input:focus{outline:2px solid var(--pink);outline-offset:1px;border-color:transparent}
.pw-pay button.pw-go{border:0;cursor:pointer;font-family:inherit}
.pw-pay button.pw-go:disabled{opacity:.7;cursor:progress;transform:none}
.pw-pay button.busy svg{display:none}
.pw-err{margin:0;font-size:13px;color:#ff6b6b}
.pw-err:empty{display:none}
.pw-alt{display:none;margin:0;text-align:center;font-size:13px;color:var(--muted)}
.pw-alt.on{display:block}
.pw-alt a{color:var(--text);text-decoration:underline;text-underline-offset:2px}
.pw-g li svg{flex:none;margin-top:2px;color:#46E08A}
.pw-more{margin-top:20px;border-top:1px solid var(--line-soft)}
.pw-more summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:14px 0 2px;font-size:14px;font-weight:600;color:var(--read)}
.pw-more summary::-webkit-details-marker{display:none}
.pw-more summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-4px 4px 0 0;transition:transform .2s}
.pw-more[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.pw-more summary:hover{color:var(--text)}
.pw-more summary:focus-visible{outline:2px solid var(--pink);outline-offset:3px;border-radius:4px}
.pw-g{margin-top:14px;padding-top:12px;border-top:1px solid var(--line-soft)}
.pw-g:first-of-type{border-top:0;padding-top:4px}
.pw-g h4{margin:0 0 10px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--read)}
.pw-g ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.pw-g li{display:flex;gap:10px;align-items:flex-start}
.pw-g li b{display:block;font-size:14px;font-weight:600;color:var(--text);line-height:1.35}
.pw-g li i{display:block;font-style:normal;font-size:12.5px;color:var(--muted);line-height:1.45}
.pw-logos{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}
.pw-logos span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#fff;border:1px solid rgba(0,0,0,.06)}
.pw-logos img{width:62%;height:62%;object-fit:contain}
.pw-credit{margin:14px 0 0;padding:11px 13px;border-radius:11px;background:rgba(255,255,255,.04);border:1px solid var(--line);font-size:12.5px;line-height:1.5;color:var(--read)}
.pw-credit b{color:var(--text)}
/* the bar takes no space until it shows: a zero-height sticky rail holds it at the bottom */
.pw-barw{position:sticky;bottom:0;z-index:4;height:0}
.pw-bar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;background:var(--ink);border-top:1px solid var(--line);
  transform:translateY(100%);opacity:0;pointer-events:none;transition:transform .2s,opacity .2s}
.pw-bar.on{transform:none;opacity:1;pointer-events:auto}
.pw-bar span{font-size:13.5px;color:var(--read)}.pw-bar b{font-size:17px;color:var(--text)}
.pw-go.sm{width:auto;padding:11px 18px;font-size:14.5px;box-shadow:none}
html[data-theme="light"] .pw-g li svg,html[data-theme="light"] .pw-price em{color:#15803D}
html[data-theme="light"] .pw-price em{border-color:rgba(21,128,61,.35);background:rgba(21,128,61,.08)}
html[data-theme="light"] .pw-credit{background:rgba(0,0,0,.03)}
@media(max-width:560px){
  .buy-d.pw{width:100vw;max-width:100vw;max-height:100dvh;border-radius:0}
  .pw-body{padding:20px 20px 22px}
  .pw-h{font-size:24px}
  .pw-price b{font-size:40px}
  .pw-price em{display:none}
  .pw-bar{padding:10px 14px}
  /* email step: Instagram's Android browser doesn't resize for the keyboard, so the form goes to the top */
  .buy-d.pw.paying{margin-top:0;border-radius:0 0 18px 18px}
  .pw.paying .pw-vid,.pw.paying .pw-h,.pw.paying .pw-proof{display:none}
}
@media(prefers-reduced-motion:reduce){ .pw-bar,.pw-go,.pw-go svg,.pw-more summary::after{transition:none} }
@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}

/* Phones: the lesson starts at the top. A one-line course bar (syllabus opens on tap), then title, summary,
   author, the video, the article, and Previous / Mark as complete / Next at the end. */
.lx-foot{display:none}
@media(max-width:1000px){
  .syl-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px}
  .syl-course{font-size:15px;font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .syl-meta,.syl-buy{display:none}
  .syl-toggle{margin-top:0;width:auto;flex:none;height:34px;font-size:13px;gap:8px}
  .syl.open .syl-meta,.syl.open .syl-prog,.syl.open .syl-buy,.syl.open .syl-q{flex:1 1 100%}
  .syl.open .syl-meta{display:flex}.syl.open .syl-buy{display:block;margin-top:4px}
  .syl > .syl-foot{display:none}
  .lx-foot{display:flex;padding:20px 0 0;margin-top:40px;border-top:1px solid var(--line-soft)}
  main.lesson{display:flex;flex-direction:column;padding-top:20px}
  main.lesson > .lx{display:contents}
  main.lesson > .lx > *{order:3;width:100%}
  main.lesson > .lx > .crumbs,main.lesson > .lx > .lx-k,main.lesson > .lx > .lx-h1,main.lesson > .lx > .lx-sub,main.lesson > .lx > .byline{order:1}
  main.lesson > .lvideo{order:2;width:100%;margin:0 0 28px}
  .lesson .byline{margin-bottom:22px}
  .lesson .crumbs{display:none}
  .lx-k{font-size:11px;letter-spacing:.05em}
}
/* Phones: Previous / Next beside the syllabus button in the course bar */
.syl-tnav{display:none}
@media(max-width:1000px){
  .syl-tnav{display:flex;gap:6px;flex:none}
  .syl-tnav .syl-nav{width:34px;height:34px;font-size:20px}
  .syl.open .syl-tnav{display:none}
}

.shotcard .camcard-p pre{margin:0;white-space:pre-wrap;font:inherit;color:inherit}
.shot-lbl{display:flex;justify-content:space-between;align-items:center;font-family:var(--font);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pink);margin-bottom:5px}
.shot-copy{font-family:var(--font);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:none;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:999px;padding:2px 10px;cursor:pointer}
.shot-copy:hover{border-color:var(--pink);color:var(--pink)}
.shot-ex{display:inline-block;margin-top:10px;font-family:var(--font);font-size:14px;font-weight:600;color:var(--pink);text-decoration:none}
.shot-ex:hover{text-decoration:underline}
.shotcard .camcard-p pre .fill{display:inline;font-family:inherit;font-size:inherit;font-weight:400;letter-spacing:0;text-transform:none;margin:0;color:#FFB3D1;background:rgba(255,61,139,.12);border-radius:4px;padding:0 3px}
[data-theme="light"] .shotcard .camcard-p pre .fill{color:#C2185B}

.camcard-fig img{display:block;width:100%;height:auto;aspect-ratio:760/480;object-fit:cover}
.vs-noimg{aspect-ratio:760/480;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;font-family:var(--font);font-size:15px;color:var(--muted)}

.shot-more{margin-top:12px;border-top:1px solid var(--line);padding-top:10px;font-family:var(--font)}
.shot-more summary{cursor:pointer;font-size:13.5px;font-weight:700;color:var(--text);list-style:none}
.shot-more summary::-webkit-details-marker{display:none}
.shot-more summary::before{content:"+ ";color:var(--pink)}
.shot-more[open] summary::before{content:"\2212  "}
.shot-more dl{margin:10px 0 0}
.shot-more dt{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pink);margin-top:10px}
.shot-more dd{margin:3px 0 0;font-size:15px;line-height:1.5;color:var(--read)}
.camsvg .dim{fill:var(--ink);opacity:.62}
.camsvg path.gnd{fill:none}

.shot-vid{margin-top:12px}
.shot-vid video{display:block;width:100%;aspect-ratio:16/9;background:#000;border-radius:10px;border:1px solid var(--line)}

.wip{display:flex;gap:12px;align-items:flex-start;margin:0 0 24px;padding:14px 16px;border:1px solid #c98a1a;background:rgba(255,179,71,.10);border-radius:12px;font-family:var(--font);font-size:15.5px;line-height:1.5;color:var(--read)}
.wip b{color:var(--text)}
.wip-i{font-size:22px;line-height:1}
.syl-wip{font-size:12px;margin-left:4px}

.shot-tags{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 8px}
.shot-tags span{font-family:var(--font);font-size:11.5px;font-weight:600;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 8px}

.finder{position:sticky;top:calc(var(--navh) + 8px);z-index:5;margin:8px 0 28px;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.finder-q{width:100%;box-sizing:border-box;font:500 16px var(--font);color:var(--text);background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:11px 14px;outline:none}
.finder-q:focus{border-color:var(--pink)}
.finder-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;max-height:64px;overflow:hidden}
.finder.open .finder-tags{max-height:none}
.finder-tags button{font:600 12.5px var(--font);color:var(--read);background:transparent;border:1px solid var(--line);border-radius:999px;padding:4px 10px;cursor:pointer}
.finder-tags button i{font-style:normal;color:var(--muted);margin-left:4px}
.finder-tags button.on{background:var(--pink);border-color:var(--pink);color:#fff}
.finder-tags button.on i{color:#fff}
.finder-tags .more{color:var(--pink);border-style:dashed}
.finder-n{margin-top:8px;font:13px var(--font);color:var(--muted)}
.shotcard[hidden],.finder-hide{display:none!important}
.shot-tags span.on{color:var(--pink);border-color:var(--pink)}

/* Resource pages (framing, angles, movements, time, lighting): wide card grid, explanations in a modal */
main.lesson.rs .lx{max-width:1180px}
main.lesson.rs .lx-sub{max-width:820px}
main.lesson.rs .camgrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
main.lesson.rs .article > h2{margin-top:36px}
.rs-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 18px}
.rs-about{font:700 14.5px var(--font);color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:9px 16px;cursor:pointer}
.rs-about::before{content:"?";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:8px;border-radius:50%;background:var(--pink);color:#fff;font-size:12px}
.rs-about:hover{border-color:var(--pink)}
.rs-wip{font:600 13px var(--font);color:#c98a1a;border:1px solid #c98a1a;border-radius:999px;padding:6px 12px;background:rgba(255,179,71,.10)}
.rs-modal{margin:auto;inset:0;position:fixed;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--bg,#0b0b0d);color:var(--read);width:min(760px,calc(100vw - 32px));max-height:min(86vh,900px)}
html[data-theme="light"] .rs-modal{background:#fff}
.rs-modal::backdrop{background:rgba(0,0,0,.6)}
.rs-modal-in{display:flex;flex-direction:column;max-height:inherit}
.rs-modal-top{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--line)}
.rs-modal-top h2{margin:0;font:800 20px var(--font);color:var(--text)}
.rs-x{font-size:26px;line-height:1;background:none;border:0;color:var(--muted);cursor:pointer}
.rs-modal-body{overflow:auto;padding:6px 22px 22px}

.shot-img{margin:14px 0 0}.shot-img img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:var(--panel-2)}
.shot-img figcaption{font-size:12px;line-height:1.4;color:var(--muted-2);margin-top:6px}.shot-img figcaption a{color:var(--muted);text-decoration:underline}.shot-watch{white-space:nowrap}
/* focal-length ladder (lens lesson) */
.lad{--acc:var(--pink);--wash:rgba(255,61,139,.12);margin:18px 0 26px}
.lad .lad-lead{font-size:16px;color:var(--read);margin-bottom:12px}
.ladbox{display:grid;grid-template-columns:1fr;gap:16px}
.lad .panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;min-width:0}
.ladsvg{width:100%;height:auto;display:block;background:var(--panel-2);border-radius:10px}
.lad .fmm{display:flex;align-items:baseline;gap:12px;margin:14px 0 6px}
.lad .fmm b{font:700 32px var(--mono);letter-spacing:-.02em;color:var(--text)}
.lad .fmm span{font:600 13px var(--mono);color:var(--acc)}
.lad input[type=range]{width:100%;accent-color:var(--acc);height:28px;cursor:pointer;margin-top:10px}
.lad .stops{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.lad .stops button{font:500 12px var(--mono);color:var(--read);background:transparent;border:1px solid var(--line);border-radius:7px;padding:4px 9px;cursor:pointer}
.lad .stops button.on{background:var(--acc);color:#fff;border-color:var(--acc)}
.lad .ladph{margin:8px 0 0}
.lad .ladph img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;display:block;background:var(--panel-2)}
.lad .ladph figcaption{font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:6px}
.lad .ladph figcaption a{text-decoration:underline}
.lad .read{display:grid;gap:7px;margin:0}
.lad .read div{display:grid;grid-template-columns:112px 1fr;gap:10px;font-size:14px;color:var(--read);padding-bottom:7px;border-bottom:1px dashed var(--line)}
.lad .read dt{font:600 11px/1.9 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.lad .read dd{margin:0}.lad .read dd b{color:var(--text);font-weight:600}
.lad .meter{display:inline-block;width:64px;height:6px;border-radius:3px;background:var(--panel-2);vertical-align:middle;margin-right:8px;overflow:hidden}
.lad .meter i{display:block;height:100%;background:var(--acc)}
.lad .lbl{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--acc);margin:16px 0 8px}
.lad .pr{background:#141418;border:1px solid #26262E;border-radius:10px;padding:12px 14px;font:13.5px/1.6 var(--mono);color:#EAD9F5}
.lad .cp{margin-top:10px;font:600 13px var(--font);color:#fff;background:var(--acc);border:0;border-radius:8px;padding:7px 14px;cursor:pointer}
.d-line{stroke:var(--line);stroke-width:1.5;fill:none}.d-fig{fill:var(--read)}.d-fig2{fill:var(--muted)}.d-cam{fill:var(--pink)}
.d-ray{stroke:var(--pink);stroke-width:1.5;stroke-dasharray:4 4;fill:none}.d-txt{fill:var(--muted);font:500 10px var(--mono)}
.d-acc{fill:var(--pink);font:600 10px var(--mono)}.d-frame{stroke:var(--pink);stroke-width:2;fill:none}.d-cone{fill:var(--pink);opacity:.16}
.d-sun{fill:var(--pink);opacity:.4}.d-hill{fill:var(--muted);opacity:.55}.d-sky{fill:var(--panel-2)}.d-gnd{fill:var(--panel)}
@media(max-width:520px){.lad .read div{grid-template-columns:90px 1fr}}
/* Desktop: collapsible syllabus (thin rail when collapsed) */
.syl-head{position:relative}
.syl-collapse{position:absolute;top:22px;right:16px;width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}
.syl-collapse:hover{color:var(--text);background:var(--hl)}
.syl-head .syl-course{padding-right:44px}
.course{transition:grid-template-columns .2s ease}
@media(min-width:1001px){
  .course.syl-min{grid-template-columns:60px minmax(0,1fr)}
  .course.syl-min .syl>:not(.syl-head),.course.syl-min .syl-head>:not(.syl-collapse){display:none}
  .course.syl-min .syl-head{padding:0;border:0;height:100%}
  .course.syl-min .syl-collapse{left:12px;right:auto;top:20px}
  .course.syl-min .syl-collapse svg{transform:scaleX(-1)}
}
@media(max-width:1000px){.syl-collapse{display:none}.syl-head .syl-course{padding-right:0}}
/* ladder: readout beside the diagram on wide screens */
@media(min-width:1180px){.ladbox{grid-template-columns:1.3fr 1fr}}
/* course page: lesson thumbnails under each module */
.mc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.mc{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--text);position:relative}
.mc-img{position:relative;display:block;border-radius:10px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9;background:var(--panel-2);transition:transform .18s,border-color .18s}
.mc-img img{width:100%;height:100%;object-fit:cover;display:block}
a.mc:hover .mc-img{transform:translateY(-3px);border-color:var(--muted-2)}
.mc-len{position:absolute;left:8px;bottom:8px;font-size:11.5px;font-weight:600;color:#fff;background:rgba(7,7,8,.78);border-radius:6px;padding:2px 7px}
.lx-mods .mc-t{font-size:13.5px;font-weight:500;color:var(--read);line-height:1.35}
a.mc:hover .mc-t{color:var(--text)}
.mc.locked .mc-img{opacity:.45}
.mc-lock{position:absolute;right:8px;top:8px;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#fff;background:rgba(7,7,8,.8);border-radius:6px;padding:3px 7px}
@media(max-width:720px){.mc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* course page "What's inside": calmer layout */
.lx-mods{border:0;border-radius:0;overflow:visible;display:flex;flex-direction:column;gap:0;margin-top:8px}
.lx-mods li{padding:0;border:0;gap:6px}
.lx-mods li+li{border-top:1px solid var(--line-soft);margin-top:40px;padding-top:40px}
.lx-mods b{font-size:19px;font-weight:600;letter-spacing:-.01em}
.lx-mods li>span{font-size:15px;line-height:1.55;color:var(--muted);max-width:640px}
.mc-grid{gap:30px 22px;margin-top:22px}
.mc{gap:12px}
.mc-img{border:1px solid rgba(255,255,255,.06);border-radius:12px;box-shadow:0 10px 28px -12px rgba(0,0,0,.7)}
a.mc:hover .mc-img{transform:translateY(-3px);border-color:rgba(255,61,139,.45);box-shadow:0 14px 34px -14px rgba(255,61,139,.45)}
.mc-len{left:10px;bottom:10px;font-size:11px;font-weight:600;letter-spacing:.02em;padding:3px 7px;border-radius:5px;background:rgba(0,0,0,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.lx-mods .mc-t{font-size:14.5px;font-weight:500;color:var(--text);opacity:.86;padding:0 2px}
a.mc:hover .mc-t{opacity:1;color:var(--text)}
html[data-theme="light"] .mc-img{border-color:var(--line);box-shadow:0 10px 24px -14px rgba(0,0,0,.35)}
@media(max-width:720px){.mc-grid{gap:22px 14px}.lx-mods li+li{margin-top:30px;padding-top:30px}}
/* extra card media: AI clip, real-footage embeds */
.shot-media{margin:14px 0 0}
.shot-media .shot-embed{display:block;width:100%;aspect-ratio:16/9;border:1px solid var(--line);border-radius:10px;background:#000}
.shot-media figcaption{font-size:12px;line-height:1.4;color:var(--muted-2);margin-top:6px}.shot-media figcaption a{color:var(--muted);text-decoration:underline}
/* SFX library play buttons */
.camcard-t .sfx-play{float:right;display:inline-flex;align-items:center;gap:6px;margin-left:10px;font:600 12.5px var(--font);color:#fff;background:var(--pink);border:0;border-radius:999px;padding:6px 12px 6px 10px;cursor:pointer}
.camcard-t .sfx-play:hover{filter:brightness(1.1)}
.camcard-t .sfx-play.on{background:var(--text);color:var(--ink)}
.camcard-t .sfx-play.on svg{display:none}
.sfx-note{font-size:14px;color:var(--muted);margin:10px 0 0}
/* prompt + output slider: tall (9:16) outputs, video outputs with a sound toggle, the output's caption */
.cmp.cmp-tall{height:620px}
@media(max-width:620px){.cmp.cmp-tall{height:460px}}
.cmp-snd{position:absolute;right:10px;bottom:10px;z-index:4;width:38px;height:38px;border-radius:50%;border:0;background:rgba(10,10,14,.75);color:#fff;font-size:17px;line-height:38px;text-align:center;cursor:pointer;padding:0}
.cmp-snd[aria-pressed="true"]{background:var(--pink)}
.cmp-cap{font-family:var(--font);font-size:13px;color:#c9c9d2;padding:10px 16px 0}
.cmp-prompt{user-select:text;cursor:text}
.cmp-restart{position:absolute;top:8px;right:10px;z-index:4;border:0;border-radius:100px;background:rgba(10,10,14,.8);color:#fff;font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:.04em;padding:6px 12px;cursor:pointer}
.cmp-restart:hover{background:var(--pink)}
.cmp-video .cmp-tag-img{top:44px}
/* where a prompt goes: Claude/ChatGPT, a template filled in a chat then OpenDirector, or straight into OpenDirector */
.prompt-where{font-family:var(--font);font-size:13px;line-height:1.55;color:#c9c9d2;padding:10px 16px;border-bottom:1px solid var(--line-soft);background:#101015}
.prompt-where b{color:#fff;margin-right:4px}
.prompt-where .pw-on{display:inline-block;font-weight:700;font-size:12px;color:#fff;background:rgba(255,61,139,.16);border:1px solid rgba(255,61,139,.45);border-radius:100px;padding:1px 9px;margin-right:6px}
.prompt-where .pw-on a{color:#fff;text-decoration:none}
.prompt-where .pw-arrow{color:var(--pink);margin-right:6px}
html[data-theme="light"] .prompt-where{background:#101015;border-bottom-color:#1E1E25}

/* ── Prompt kinds (2026-10-17): a TEMPLATE (fill it in) never looks like an EXAMPLE (what we actually sent). ── */
.prompt .pk{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.08em;border-radius:100px;padding:2px 8px;margin-right:8px;vertical-align:1px}
.prompt .pk-tpl{color:#ffd166;border:1px dashed #ffd166;background:rgba(255,209,102,.08)}
.prompt .pk-ex{color:#0C0C10;background:var(--pink);border:1px solid var(--pink)}
.prompt.is-tpl{border:2px dashed rgba(255,209,102,.6);box-shadow:none;background:#0F0E0A}
.prompt.is-tpl .prompt-top{background:#16140D}
.prompt.is-tpl pre{background:repeating-linear-gradient(0deg,transparent 0 27px,rgba(255,209,102,.04) 27px 28px)}
.prompt-how{font-family:var(--font);font-size:13.5px;line-height:1.6;color:#e6e2d4;padding:12px 16px 12px;border-bottom:1px dashed rgba(255,209,102,.35);background:#14120B}
.prompt-how .how-h{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#ffd166;margin-bottom:4px}
.prompt-how ol{margin:0;padding-left:20px}
.prompt-how li{margin:3px 0}
.prompt-how a{color:#fff}
.prompt-how .fill{display:inline-block;color:#FFB3D1;background:rgba(255,61,139,.14);border-radius:4px;padding:0 5px;margin:2px 4px 2px 0;font-family:var(--mono);font-size:12.5px}
.prompt-how .more{color:#bbb;font-size:12.5px}
.prompt-how .att-need{display:inline-block;color:#fff;background:rgba(255,255,255,.06);border:1px dashed rgba(255,255,255,.35);border-radius:6px;padding:1px 8px;margin:2px 6px 2px 0;font-size:12.5px}
.prompt-att{position:sticky;bottom:0;z-index:3;padding:10px 14px 12px;border-top:1px solid var(--line-soft);background:rgba(12,12,16,.96);backdrop-filter:blur(6px)}
.prompt-att .att-h{font-family:var(--font);font-size:12px;font-weight:700;color:#fff;margin-bottom:8px}
.prompt-att .att-row{display:flex;gap:10px;overflow-x:auto;scrollbar-width:thin}
.prompt-att .att{flex:none;position:relative;display:flex;flex-direction:column;gap:4px;width:116px;text-decoration:none;color:#c9c9d2}
.prompt-att .att img,.prompt-att .att video{width:116px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:#1A1A1F;display:block}
.prompt-att .att span{font-family:var(--font);font-size:11.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.prompt-att .att-v i{position:absolute;left:46px;top:24px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-style:normal;font-size:11px;display:grid;place-items:center}
.prompt-att .att-a{width:220px}
.prompt-att .att-a audio{width:220px;height:32px}
.article .prompt-att a,.article .prompt-att a:hover{text-decoration:none;color:#c9c9d2;border:0}
.article .prompt-how ol,.article .prompt-how li,html[data-theme="light"] .article .prompt-how li{color:#ECE7D6}
.article .prompt-how li::marker{color:#ffd166;font-weight:700}
.article .prompt-how a,html[data-theme="light"] .article .prompt-how a{color:#ffd166;text-decoration:underline;text-underline-offset:2px}
html[data-theme="light"] .prompt-att .att-h{color:#fff}
.article .prompt-foot b,html[data-theme="light"] .article .prompt-foot b{color:#fff}
.prompt.is-ex{overflow:clip}
.article .prompt-att .att span,.article .prompt-att a span{color:#c9c9d2;text-decoration:none}

/* Attachment thumbnails v2 (2026-10-17): the whole file fits its tile (no crop), the attach order sits on the tile,
   a click opens it in a popup (.att-modal, learn.js); the 1-2 word name below is plain text. */
.prompt-att .att{flex:none;width:112px;display:flex;flex-direction:column;gap:5px}
.prompt-att .att-open{position:relative;display:block;width:112px;height:76px;padding:0;border:1px solid var(--line);border-radius:8px;background:#1A1A1F;overflow:hidden;cursor:zoom-in}
.prompt-att .att-open:hover{border-color:var(--pink)}
.prompt-att .att-open:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
.prompt-att .att-open img,.prompt-att .att-open video{width:100%;height:100%;object-fit:contain;display:block;border:0;border-radius:0;background:none}
.prompt-att .att-n{position:absolute;left:5px;top:5px;min-width:18px;height:18px;padding:0 4px;border-radius:100px;background:rgba(0,0,0,.72);color:#fff;font:700 11px/18px var(--font);text-align:center}
.prompt-att .att-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-style:normal;font-size:11px;display:grid;place-items:center}
.prompt-att .att-wave{display:grid;place-items:center;height:100%;font-size:26px;color:#FFB3D1}
.prompt-att .att > span,.article .prompt-att .att > span{font-family:var(--font);font-size:12px;line-height:1.3;color:#c9c9d2;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.att-modal{border:0;padding:0;background:transparent;max-width:min(92vw,1200px);max-height:90vh;overflow:visible}
.att-modal::backdrop{background:rgba(5,5,8,.82)}
.att-modal .am-in{position:relative;display:flex;flex-direction:column;gap:10px;align-items:center}
.att-modal img,.att-modal video{display:block;max-width:min(92vw,1200px);max-height:80vh;border-radius:10px;background:#111}
.att-modal audio{width:min(80vw,480px)}
.att-modal .am-cap{font:500 14px var(--font);color:#eee;text-align:center;max-width:70ch}
.att-modal .am-x{position:absolute;right:-6px;top:-40px;width:34px;height:34px;border-radius:50%;border:1px solid #444;background:#1a1a1f;color:#fff;font-size:20px;line-height:1;cursor:pointer}
/* tiles share the strip's width and wrap: nothing runs off the edge */
.prompt-att .att-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;overflow:visible}
.prompt-att .att{width:auto;min-width:0}
.prompt-att .att-open{width:100%;height:auto;aspect-ratio:3/2}
.att-modal{position:fixed;inset:0;margin:auto;width:fit-content;height:fit-content}
/* Compact prompt actions (2026-10-17): "Try ↗" and a copy icon instead of two big buttons. */
.prompt-actions .gen.gen-sm{font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;padding:4px 10px;border-radius:6px;line-height:1.4}
.prompt-actions .copy.copy-i{display:inline-grid;place-items:center;width:30px;height:28px;padding:0;border-radius:6px;font-size:13px;line-height:1}
.prompt-actions .copy.copy-i.done{background:var(--pink);color:#fff}
@media(max-width:620px){.prompt-actions{width:auto}.prompt-actions .gen.gen-sm,.prompt-actions .copy.copy-i{flex:none;padding:4px 10px}.prompt-actions .copy.copy-i{padding:0}}
/* 2026-10-17: the attachment strip is a plain row at the bottom of the box (not sticky); prompt boxes have a fixed,
   moderate height (the prompt scrolls inside); attach-order badges in pink so they read on any image. */
.prompt-att{position:static;backdrop-filter:none;background:#0C0C10}
.prompt pre,.article .prompt pre{height:320px;max-height:320px}
.cmp{height:360px}
@media(max-width:620px){.cmp{height:280px}.prompt pre,.article .prompt pre{height:260px;max-height:260px}}
.cmp .cmp-prompt pre{height:100%;max-height:none}
.prompt-att .att-n{background:var(--pink);color:#fff}
.cmp.cmp-tall,.cmp.cmp-video,.cmp.cmp-tall.cmp-video{height:360px}
@media(max-width:620px){.cmp.cmp-tall,.cmp.cmp-video{height:280px}}
/* planned lessons: not made yet */
.syl-l.soon{cursor:default}.syl-l.soon:hover{background:none}.syl-l.soon em{color:var(--muted);font-weight:500}
.mc.soon .mc-img{opacity:.35}
/* templates: steps up front, the template folded away (2026-10-19) */
.prompt-how{font-size:15px;padding:16px 20px}
.prompt-how ol{padding-left:22px}.prompt-how li{margin:8px 0}
.prompt-how .copy-step{display:inline-flex;align-items:center;gap:7px;font:700 14px var(--font);color:#141006;background:#ffd166;border:0;border-radius:8px;padding:7px 13px;cursor:pointer}
.prompt-how .copy-step svg{stroke:#141006}
.prompt-how .copy-step.done{background:#9be39b}
.prompt-how i{color:#fff}
.tpl-full{border-top:1px solid rgba(255,255,255,.06)}
.tpl-full summary{cursor:pointer;list-style:none;padding:12px 20px;font:600 13.5px var(--font);color:#ffd166}
.tpl-full summary::-webkit-details-marker{display:none}
.tpl-full summary:before{content:"▸ ";}.tpl-full[open] summary:before{content:"▾ ";}
.tpl-full summary span{color:#9a9486;font-weight:400}
html[data-theme="light"] .prompt-how i{color:#fff}
/* module path: Step k of N (2026-10-19) */
.mpath{margin:0 0 28px;border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--panel-2)}
.mpath-h{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--pink);margin-bottom:10px}
.mpath ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.mpath li{display:flex;gap:10px;align-items:baseline;font-size:15px;color:var(--muted);margin:0}
.mpath .mp-n{flex:none;width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;font-size:12.5px;font-weight:700;border:1px solid var(--line);color:var(--muted)}
.mpath .mp-on{color:var(--text)}.mpath .mp-on .mp-n{background:var(--pink);border-color:var(--pink);color:#fff}
.mpath .mp-past .mp-n{color:var(--text)}
.mpath a{color:inherit;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.mpath a:hover{color:var(--text)}
.mpath em{font-style:normal;font-size:12px;margin-left:8px;padding:1px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.mpath .mp-ch{margin-left:6px}
.mpath-how{margin:12px 0 0;font-size:14.5px;color:var(--read)}
.prompt-how .copy-step{text-transform:none;letter-spacing:0}
/* several videos in a row: one swipeable row (2026-10-19) */
.vcar-wrap{position:relative;margin:8px 0 22px}
.vcar{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:6px}
.vcar .vcar-i{flex:0 0 auto;width:min(300px,78%);margin:0;scroll-snap-align:start}
.vcar .vcar-i:not(.tall){width:min(560px,88%)}
.vcar .vcar-i video{width:100%;height:auto;max-height:none}
.vcar-nav{position:absolute;top:42%;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:rgba(10,10,12,.85);color:#fff;font-size:22px;line-height:1;cursor:pointer;z-index:2}
.vcar-nav.prev{left:-6px}.vcar-nav.next{right:-6px}
.vcar-hint{margin:6px 0 0;font-size:12.5px;color:var(--muted)}
/* course page: a quiz card after the lesson it follows (2026-10-22) */
.mc-img.mc-qz{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(255,61,139,.16),rgba(255,61,139,.04)),var(--panel-2);color:var(--pink)}
.mc-img.mc-qz svg{width:44px;height:44px;stroke-width:1.6}
