/* v2 additions on top of app.css: the world tiles, the mismatch, the sameness list (its strike answers the hook's wall),
   the only-you quote, the stall line and the kit per world. */
.opts.worlds{grid-template-columns:1fr 1fr}
.opts.worlds .opt{flex-direction:column;align-items:flex-start;gap:10px;min-height:96px;font-size:17px;line-height:1.2}
.opts.worlds .opt::after{display:none}
.opts.worlds .opt b{font:300 13px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
.opts.worlds .opt.pick b{color:var(--ink)}

.mm-grid{display:grid;gap:12px;margin-bottom:22px}
.mm-they,.mm-you{border-radius:var(--r);padding:18px 18px 16px}
.mm-they{background:linear-gradient(160deg,color-mix(in srgb,var(--their) 20%,var(--black)),var(--black) 75%);border:1px solid color-mix(in srgb,var(--their) 55%,transparent)}
.mm-they .mono{color:var(--their);margin-bottom:12px}
.mm-they blockquote{font-size:clamp(20px,5.2vw,26px);line-height:1.36;quotes:"\201C" "\201D"}
.mm-they blockquote::before{content:open-quote}.mm-they blockquote::after{content:close-quote}
.mm-you{border:1px solid var(--line)}
.mm-you .mono{color:var(--stone);margin-bottom:10px}
.mm-you q{display:block;font:300 clamp(26px,7vw,42px)/.98 var(--disp);text-transform:uppercase;color:var(--soft);quotes:"\201C" "\201D"}
.mm cite{display:block;margin-top:10px;font-style:normal;color:var(--stone)}
.mm-line{font-size:clamp(34px,9vw,64px);line-height:.92;margin-bottom:8px}

.same-h{font-size:clamp(34px,9vw,64px);margin-bottom:16px}
.same-h b{color:var(--their);font-weight:800}
.same-list{list-style:none;margin-bottom:14px;border-top:1px solid var(--line)}
.same-list li{padding:12px 0;border-bottom:1px solid var(--line);font:300 clamp(22px,6vw,34px)/1 var(--disp);text-transform:uppercase;display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.same-list li span:first-child{position:relative}
.same-list li.anyone span:first-child{color:var(--soft)}
.same-list li.anyone span:first-child::after{content:"";position:absolute;left:0;right:0;top:52%;height:.08em;background:var(--orange);transform-origin:left;transform:scaleX(0);transition:transform .9s var(--ease)}
.same-list.on li.anyone span:first-child::after{transform:scaleX(1)}
.same-list li .tag{font:600 10px/1 var(--mono);letter-spacing:.14em;color:var(--stone);white-space:nowrap}
.same-list li.anyone .tag{color:var(--orange)}
.same-list li.yours .tag{color:var(--their)}

.only .line{font-size:clamp(34px,9vw,64px);line-height:.92;margin-bottom:18px}
.only blockquote{font-size:clamp(19px,4.8vw,23px);line-height:1.4;border-left:3px solid var(--their);padding-left:16px;quotes:"\201C" "\201D"}
.only blockquote::before{content:open-quote}.only blockquote::after{content:close-quote}
.only cite{display:block;margin-top:10px;font-style:normal;color:var(--stone)}
.stall .fixl{border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;line-height:1.45}
.stall .fixl .mono{color:var(--their);display:block;margin-bottom:6px}

.pk .lines{list-style:none}
.pk .lines li{padding:7px 0;border-bottom:1px dashed var(--line);font-size:17px;line-height:1.4}
.proof{border-left:3px solid var(--their);padding-left:14px;margin:6px 0 10px;font-size:18px;line-height:1.4}
@media (min-width:900px){
  .mm-grid{grid-template-columns:1.25fr 1fr}
  .opts.worlds{grid-template-columns:1fr 1fr 1fr}
}
@media (prefers-reduced-motion:reduce){ .same-list li.anyone span:first-child::after{transform:scaleX(1)} }

/* review fixes 2026-10-20: the stamp sits in the flow (it overlapped the kicker), the empty hero carries their own first
   words as art, the typed questions can be skipped when we already read the answer */
.offer .stamp{position:static;display:inline-block;transform:rotate(-3deg);margin:10px 0 4px}
.res-hero .ph.none{display:flex;align-items:center;justify-content:center;overflow:hidden}
.res-hero .ph.none::before{content:attr(data-words);font:800 clamp(56px,16vw,190px)/.86 var(--disp);text-transform:uppercase;color:color-mix(in srgb,var(--their) 13%,transparent);padding:0 4vw;text-align:left;word-break:normal;overflow-wrap:normal;hyphens:none}
.skipq{display:inline-block;margin-left:14px;background:none;border:0;color:var(--stone);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* what else a stranger notices: the observation, their own words as evidence, the fix (2026-10-21) */
.notice-list{list-style:none;border-top:1px solid var(--line)}
.notice-list li{padding:16px 0;border-bottom:1px solid var(--line)}
.notice-list .nw{font-size:clamp(19px,4.8vw,22px);line-height:1.35;margin-bottom:8px}
.notice-list .ne{font:500 14px/1.45 var(--mono);color:var(--stone);border-left:2px solid var(--their);padding-left:10px;margin-bottom:8px}
.notice-list .nf{color:var(--soft);font-size:16px}
.notice-list .nf .mono{color:var(--their);margin-right:6px}

.same-nobody{display:block;font-size:.55em;letter-spacing:0;text-transform:none;margin-top:8px;opacity:.85}
/* the full $27: bios, replies, 30 days, the plan (2026-10-21) */
.plat{margin:18px 0 6px}.plat-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.st-part{margin-top:22px}.st-h{margin:22px 0 8px}.st-pitch{font-size:1.1rem;line-height:1.45}.st-wait{opacity:.75}
.st-days,.st-fix{list-style:none;padding:0;margin:0}.st-days li,.st-fix li{padding:14px 0;border-top:1px solid rgba(235,222,208,.12)}.st-idea{font-weight:700;margin:4px 0}
.st-plan{display:grid;gap:16px}@media(min-width:760px){.st-plan{grid-template-columns:repeat(3,1fr)}}.st-plan ul{padding-left:18px;margin:6px 0}
/* the interview (2026-10-21) */
.iv{margin-bottom:28px}.iv-n{opacity:.7;margin-top:10px}.iv-q{font-size:1.15rem;line-height:1.35;margin:6px 0 10px;font-weight:600}
.iv textarea{width:100%;font:inherit;padding:12px;border-radius:inherit;resize:vertical;min-height:120px}.iv-done{margin-top:8px}
.ws-own .chip{text-align:left;white-space:normal}
/* the workshop, the Unmistakable Profile and the side-by-side (2026-10-21) */
.offer .o-sub{font-size:17px;line-height:1.45;margin:0 0 18px;color:#2a2622}
.vs{display:grid;gap:10px;margin:0 0 20px}
.vs-side{border-radius:12px;padding:14px 14px 12px}
.vs-without{background:rgba(6,5,7,.06);border:1px dashed rgba(6,5,7,.25)}
.vs-without .vs-t{color:#6b645d}
.vs-with{background:var(--ink);color:var(--cream)}
.vs-with .mono{color:var(--their)}
.vs-t{font-size:17px;line-height:1.4;margin:8px 0}
.vs-src{font-size:10px!important;opacity:.7}
.workshop,.idfile{display:none}
.workshop.on,.idfile.on{display:block}
.ws-step{border-top:1px solid var(--line);padding:20px 0}
.ws-n{color:var(--their);margin-bottom:10px}
.ws-help{color:var(--stone);font-size:15px;margin-bottom:12px}
.ws-see{font-size:17px;line-height:1.45;margin-bottom:8px}
.ws-see .mono{display:block;color:var(--stone);margin-bottom:2px}
.ws-gap{font:800 clamp(26px,7vw,44px)/.95 var(--disp);text-transform:uppercase;margin-top:12px}
.ws-opts{display:grid;gap:8px;margin-bottom:10px}
.ws-opt::after{display:none}
.ws-k{color:var(--stone);margin:6px 0 8px}
.chip{display:inline-block;margin:0 8px 8px 0;padding:9px 12px;border-radius:999px;border:1px solid rgba(235,222,208,.3);background:none;font-size:15px;cursor:pointer;opacity:.45;text-decoration:line-through}
.chip.on{opacity:1;text-decoration:none;border-color:var(--their)}
.ws-stop .chip.on{text-decoration:line-through;text-decoration-color:var(--orange)}
.ws-never{list-style:none}
.ws-never li{padding:8px 0;border-bottom:1px dashed var(--line)}
.ws-never input{accent-color:var(--orange);margin-right:8px}
#wsReturn blockquote{border-left:3px solid var(--their);padding-left:14px;margin-top:12px;font-size:18px;line-height:1.4}
#wsReturn cite{display:block;font-style:normal;color:var(--stone);margin-top:8px}
.idf{white-space:pre-wrap;font:500 13px/1.55 var(--mono);background:var(--black);border:1px solid var(--line);border-radius:var(--r);padding:16px;max-height:70vh;overflow:auto;color:var(--cream)}
.howto{border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin:16px 0}
.howto .mono{color:var(--their);margin-bottom:6px}
#fileBtn,#kitBtn{width:100%;margin-top:10px}
@media (min-width:900px){ .vs{grid-template-columns:1fr 1fr} }

/* round 2: the reviews step, how it feels, the page facts (2026-10-21) */
.workshop-pre{display:none}
.workshop-pre.on{display:block}
.ws-pre-h{font-size:clamp(34px,9vw,60px);margin-bottom:12px}
#wsRun{width:100%;margin-top:16px}
.ws-sw{display:flex;align-items:center;gap:6px;margin-top:10px}
.ws-sw i{width:22px;height:22px;border-radius:50%;border:1px solid rgba(235,222,208,.25);display:block}
.ws-sw .mono{color:var(--stone);margin-left:6px}
.ws-pf{list-style:none;margin:0 0 14px}
.ws-pf li{padding:6px 0;border-bottom:1px dashed var(--line);font-size:16px}

/* GATE v3: steps are numbered by CSS, so a hidden step never leaves a gap in the count */
.workshop{counter-reset:wsstep}
.ws-step:not(.nonum) .ws-n::before{counter-increment:wsstep;content:counter(wsstep) " \00b7  "}
