/* Preview pages: extends /assets/styles.css (v6) */
:root{--truth:#d2283c;--truth-2:#f06a5a;--love:#2e9e5b;--love-2:#8fd19e;--light:#2f6fd6;--light-2:#86b8f2;--soft:#f6f4f1;--line:color-mix(in srgb,var(--text) 8%,transparent)}
@media (prefers-color-scheme:dark){:root{--soft:#161616}}
.ph{outline:1px dashed color-mix(in srgb,#d9a400 70%,transparent);outline-offset:4px;border-radius:6px}
.ph-tag{display:inline-block;font:500 .66rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#a67c00;background:color-mix(in srgb,#ffd84d 22%,transparent);padding:4px 8px;border-radius:999px;margin-bottom:8px}
.page{max-width:1100px;margin:0 auto;padding:40px 44px 120px}
.page-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;padding:24px 0 72px}
.page h1{font:700 clamp(2.6rem,5.6vw,5rem)/1.04 var(--serif);letter-spacing:-.02em;margin-bottom:24px;text-wrap:balance}
.page h2{font:700 clamp(1.8rem,3.4vw,2.8rem)/1.1 var(--serif);letter-spacing:-.01em;margin-bottom:16px;text-wrap:balance}
.page h3{font:400 1.3rem/1.3 var(--sans);margin-bottom:10px}
.lead{font:300 clamp(1.05rem,1.3vw,1.2rem)/1.7 var(--sans);color:var(--text-2);max-width:34em}
.lead+.lead{margin-top:14px}
.eyebrow{font:500 .74rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--text-3);margin-bottom:18px;display:block}
.btns{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:30px}
.pill-ghost{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--text) 22%,transparent)}
.card{background:var(--card);border-radius:24px;box-shadow:var(--shadow);padding:30px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.section{padding:56px 0}
.muted{color:var(--text-3)}
.art-img{display:block;width:100%;height:auto;border-radius:18px}
.float{animation:float 7s ease-in-out infinite}
@media (max-width:860px){.page{padding:20px 22px 80px}.page-hero{grid-template-columns:1fr;gap:28px;padding-bottom:40px}.page-hero .media{order:-1}.grid3,.grid2{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.float{animation:none}}
/* Lens chips */
.lens{display:inline-flex;align-items:center;gap:8px;font:500 .78rem/1 var(--sans);letter-spacing:.08em;padding:8px 14px;border-radius:999px;background:var(--soft)}
.lens i{width:10px;height:10px;border-radius:50%;display:inline-block}
.lens.truth i{background:linear-gradient(135deg,var(--truth),var(--truth-2))}
.lens.love i{background:linear-gradient(135deg,var(--love),var(--love-2))}
.lens.light i{background:linear-gradient(135deg,var(--light),var(--light-2))}
/* Learn */
.tll-map{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0 36px}
.tll-map button{cursor:pointer;border:0;font:500 .82rem/1 var(--sans);letter-spacing:.06em;color:var(--text)}
.tll-map button[aria-pressed="true"]{background:var(--primary);color:var(--on-primary)}
.spectrum{height:10px;border-radius:999px;background:linear-gradient(90deg,var(--truth),var(--truth-2) 22%,var(--love) 40%,var(--love-2) 58%,var(--light-2) 76%,var(--light));margin:8px 0 6px;opacity:.9}
.spectrum-labels{display:flex;justify-content:space-between;font:500 .72rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--text-3)}
.lessons{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.lesson-card{display:flex;flex-direction:column;gap:10px;text-decoration:none;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.lesson-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hi)}
.lesson-card h3{font:700 1.6rem/1.15 var(--serif);margin:6px 0 0}
.lesson-card .src{font-size:.82rem}
.tll{display:flex;gap:6px}.tll-dot{width:14px;height:14px;border-radius:50%;opacity:.55}.tll-dot.primary{opacity:1;transform:scale(1.25)}
.lesson-head{max-width:720px;margin:0 auto 28px;text-align:center}.lesson-head .back{text-decoration:none;font-size:.88rem;display:inline-block;margin-bottom:22px}
.lesson-cover{max-width:720px;margin:0 auto 36px}
.lens-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:900px;margin:0 auto 22px}
.lens-card{position:relative;overflow:hidden;padding:24px}.lens-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--g)}
.lens-card p{margin-top:14px;font-size:.95rem;color:var(--text-2)}
.media-slots{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px;margin:0 auto 56px}.slot{padding:22px}.slot audio,.slot video{width:100%;margin-top:10px;border-radius:12px}
.lesson-body{max-width:680px;margin:0 auto}
.lesson-body p{font:300 1.12rem/1.8 var(--sans);color:var(--text-2);margin-bottom:18px}
.lesson-body strong{color:var(--text);font-weight:500}.lesson-body em{font-style:italic}
.sep{text-align:center;color:var(--text-3);margin:28px 0}
.path{max-width:720px;margin:56px auto 0;padding:34px;position:relative;overflow:hidden}.path::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--g)}
.path .prompt{font:300 1.3rem/1.5 var(--sans)}
.path.flash{animation:rise .6s cubic-bezier(.2,.7,.2,1) both}
.choice.truth{background:var(--truth);color:#fff}.choice.love{background:var(--love);color:#fff}.choice.light{background:var(--light);color:#fff}
button.pill{border:0;cursor:pointer}
@media (max-width:860px){.lessons,.lens-row,.media-slots{grid-template-columns:1fr}}
/* Book */
.formats .card{display:flex;flex-direction:column;gap:12px}
.formats .card .pill{margin-top:auto;align-self:flex-start}
.topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.topics span{font:400 .85rem/1 var(--sans);padding:9px 14px;border-radius:999px;background:var(--soft);color:var(--text-2)}
.gap-note{font-size:.85rem;color:#a67c00}
/* Donate */
.amounts{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.amounts .pill{min-width:92px}
/* Learn v2 (Vizier format) */
.center{text-align:center;justify-content:center;margin-left:auto;margin-right:auto}
.small{font-size:.85rem}
.tll-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.col{background:var(--card);border-radius:24px;box-shadow:var(--shadow);padding:24px 18px;position:relative;overflow:hidden}
.col::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--g)}
.col header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.82rem}
.col ul{list-style:none;padding:0;margin:0}
.node a,.node.off{display:grid;grid-template-columns:14px 1fr;column-gap:12px;row-gap:2px;padding:11px 10px;border-radius:14px;text-decoration:none}
.node a:hover{background:var(--soft)}
.node .dot{width:12px;height:12px;border-radius:50%;margin-top:6px;grid-row:span 2}
.node .t{font:400 .98rem/1.35 var(--sans)}
.node .meta{font-size:.74rem;color:var(--text-3);letter-spacing:.04em}
.node.off{opacity:.42}
.node.built .t{font-weight:500}.node.built .dot{box-shadow:0 0 0 4px color-mix(in srgb,currentColor 12%,transparent)}
.lesson-head{display:flex;flex-direction:column;align-items:center;gap:6px}
.stage{max-width:760px;margin:12px auto 0;padding:44px 36px;border-radius:28px;background:var(--card);box-shadow:var(--shadow);position:relative;overflow:hidden;text-align:center}
.stage::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--g)}
.stage.flash{animation:rise .6s cubic-bezier(.2,.7,.2,1) both}
.quote{font:700 clamp(1.5rem,3vw,2.2rem)/1.3 var(--serif);margin:22px auto;max-width:28ch;text-wrap:balance}
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.door{position:relative;border:0;cursor:pointer;min-height:220px;border-radius:999px 999px 22px 22px;background:var(--g);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:22px 10px;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;box-shadow:0 18px 40px -18px rgba(0,0,0,.45)}
.door:hover{transform:translateY(-6px)}
.door .glow{position:absolute;inset:-30%;background:radial-gradient(closest-side,rgba(255,255,255,.45),transparent);animation:float 6s ease-in-out infinite;pointer-events:none}
.door .lbl{position:relative;font:500 1rem/1.2 var(--sans)}.door .sub{position:relative;font-size:.75rem;opacity:.85;letter-spacing:.14em;text-transform:uppercase;margin-top:4px}
.progress{display:flex;gap:6px;justify-content:center;margin-top:16px}.progress i{width:26px;height:4px;border-radius:4px;background:var(--soft)}.progress i.on{background:var(--text)}
.stage audio,.stage video{width:100%;margin:12px 0;border-radius:12px}
.q{border:0;padding:0;margin:26px 0 0;text-align:left}.q legend{font:400 1.1rem/1.4 var(--sans);margin-bottom:12px}
.opt{display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:14px;background:var(--soft);margin-bottom:8px;cursor:pointer}
.opt input{accent-color:var(--text)}
.branches{display:grid;gap:10px;margin:14px 0 26px}
.branch{display:block;text-align:left;padding:16px 20px;border-radius:16px;text-decoration:none;color:#fff;background:var(--g);font:500 .98rem/1.3 var(--sans)}
.tint{height:6px;border-radius:6px;background:var(--g);max-width:680px;margin:0 auto 34px}
@media (max-width:860px){.tll-cols{grid-template-columns:1fr}.doors{grid-template-columns:1fr}.door{min-height:120px;border-radius:22px}.stage{padding:34px 20px}}
@media (prefers-reduced-motion:reduce){.door .glow,.stage.flash{animation:none}}
.series-next a{text-decoration:underline;text-underline-offset:3px}.series-next a:hover{color:var(--text)}
