/* Unclamped · case wizard, briefing, built letter and sheet. Lazy-loaded with wizard.js. Tokens in tokens.css */
/* =================== case wizard =================== */
.wz .progress-lines i{animation:none;transition:width var(--dur-paint) var(--ease-paint)}

.tick-sq{border-radius:8px}
.form{display:grid;gap:var(--s-5)}
.field{display:grid;gap:8px}
.field label{font-weight:var(--fw-semibold);font-size:var(--fs-small)}
.inp{width:100%;min-height:58px;padding:14px 16px;border-radius:var(--r-md);border:1.5px solid var(--border-strong);background:rgba(17,17,19,.72);color:var(--text);font:500 1.1875rem/1.3 var(--font-body);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color var(--dur-fast),box-shadow var(--dur-fast);color-scheme:dark}
textarea.inp{min-height:130px;resize:vertical;font-size:1.0625rem}
.inp::placeholder{color:#8E8E94}
.inp:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--c-yellow-glow)}
.inp[autocapitalize="characters"]{text-transform:uppercase;letter-spacing:.06em}
.inp[autocapitalize="characters"]::placeholder{text-transform:none;letter-spacing:0}
.f-hint{margin:var(--s-2) 0 0;font-size:var(--fs-micro);color:var(--text-muted);line-height:1.45}
.callout{margin:var(--s-5) 0 0;padding:12px 14px 12px 16px;border-left:4px solid var(--accent);border-radius:4px var(--r-sm) var(--r-sm) 4px;background:rgba(255,212,0,.07);font-size:var(--fs-small)}
.link-btn{justify-self:center;min-height:var(--tap-min);padding:8px 16px;border:0;background:none;cursor:pointer;font-weight:var(--fw-semibold);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;text-decoration-thickness:2px}
.link-btn.quiet{color:var(--text-muted);text-decoration-color:var(--border-strong);font-weight:500}
.pill-ghost{background:transparent;color:var(--text);box-shadow:inset 0 0 0 2px var(--border-strong)}
.pill-ghost:active{background:rgba(255,255,255,.06)}

/* snap your ticket */
.snap{display:grid;gap:var(--s-4)}
.snap-drop{display:grid;justify-items:center;gap:6px;padding:28px 18px;border-radius:var(--r-lg);border:2px dashed rgba(255,212,0,.55);background:rgba(17,17,19,.55);text-align:center;cursor:pointer;transition:transform var(--dur-base) var(--ease-squish),border-color var(--dur-fast)}
.snap-drop:active{transform:scale(.98)}
.snap-drop:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}
.snap-ico{width:56px;height:56px;color:var(--accent)}
.snap-t{font-family:var(--font-display);font-weight:var(--fw-display);font-stretch:var(--stretch-display);font-size:1.5rem;line-height:1.1}
.snap-d{color:var(--text-muted);font-size:var(--fs-small)}
.snap-row{display:flex;gap:14px;align-items:center;padding:12px;border-radius:var(--r-lg);background:var(--surface-glass);border:1.5px solid var(--border-glass)}
.snap-img{width:78px;height:98px;object-fit:cover;border-radius:10px;flex:none;background:#222}
.snap-st{display:grid;gap:6px;font-size:var(--fs-small);color:var(--text-muted);flex:1}
.snap-st b{color:var(--text);font-size:var(--fs-body)}
.bar{display:block;height:6px;border-radius:3px;background:var(--border-glass);overflow:hidden}
.bar i{display:block;height:100%;width:calc(var(--p) * 100%);background:var(--accent);transition:width 200ms linear}
.found{border:0;margin:0;padding:0;display:grid;gap:8px}
.found-row{display:flex;gap:12px;align-items:center;min-height:52px;padding:10px 14px;border-radius:var(--r-md);background:var(--surface-glass);border:1.5px solid var(--border-glass);cursor:pointer}
.found-row input{width:22px;height:22px;accent-color:var(--accent);flex:none}
.found-row .fk{color:var(--text-muted);font-size:var(--fs-small);min-width:7.5em}
.found-row .fv{font-weight:var(--fw-semibold);word-break:break-word}
.found-row:has(input:not(:checked)) .fv{text-decoration:line-through;opacity:.55}

/* evidence */
.ev-list{display:grid;gap:var(--s-3)}
.ev{padding:14px 12px 14px 16px;border-radius:var(--r-lg);background:var(--surface-glass);border:1.5px solid var(--border-glass);backdrop-filter:blur(var(--blur-glass));-webkit-backdrop-filter:blur(var(--blur-glass));animation:rise var(--dur-slow) var(--ease-out) both;animation-delay:calc(var(--i,0) * var(--stagger-item))}
.ev-have{border-color:rgba(95,208,139,.55)}
.ev-top{display:flex;gap:12px;align-items:flex-start}
.ev-tick{flex:none;width:24px;height:24px;margin-top:2px;border-radius:50%;border:2px solid var(--border-strong);display:grid;place-items:center}
.ev-have .ev-tick{background:var(--success);border-color:var(--success)}
.ev-have .ev-tick::after{content:"";width:10px;height:6px;border:solid var(--c-ink);border-width:0 0 2.5px 2.5px;transform:translateY(-1px) rotate(-45deg)}
.ev-txt{flex:1;display:grid;gap:3px}
.ev-txt b{font-weight:var(--fw-semibold)}
.ev-txt span{color:var(--text-muted);font-size:var(--fs-small);line-height:1.4}
.ev-add{flex:none;width:48px;height:48px;border-radius:50%;background:var(--accent);color:var(--c-ink);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-pill);transition:transform var(--dur-base) var(--ease-squish)}
.ev-add:active{transform:scale(.9)}
.ev-add:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}
.ev-add svg{width:24px;height:24px}
.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0 36px}
.thumb{position:relative;width:64px;height:64px}
.thumb img{width:100%;height:100%;object-fit:cover;border-radius:10px;background:#222}
.thumb-x{position:absolute;top:-8px;right:-8px;width:30px;height:30px;border-radius:50%;border:2px solid var(--bg);background:#3A3A3F;color:var(--text);font-size:18px;line-height:1;cursor:pointer;display:grid;place-items:center}

/* =================== your case (briefing) =================== */
.brief .step-inner{padding-bottom:64px}
.chip{display:inline-block;margin:0 0 var(--s-4);padding:6px 12px;border-radius:var(--r-pill);border:1px solid rgba(255,212,0,.5);color:var(--text-accent);font-size:var(--fs-micro);font-weight:var(--fw-semibold);background:rgba(17,17,19,.6)}
.brief .q{font-size:clamp(2.6rem,11vw,4rem)}
.lead{margin:var(--s-4) 0 var(--s-6);font-size:var(--fs-lead);line-height:1.3;font-weight:var(--fw-semibold);letter-spacing:-.015em}
.memo{margin:0 0 var(--s-5);padding:2px 0 2px 16px;border-left:3px solid var(--accent)}
.memo p{margin:6px 0 0;font-size:var(--fs-body)}
.memo .eyebrow{margin-bottom:4px!important}
.ev-cta .pill{--h:52px;margin-top:12px;font-size:1.1rem}
.card{margin:0 0 var(--s-3);padding:18px 18px 16px;border-radius:var(--r-lg);background:var(--surface-glass-strong);border:1.5px solid var(--border-glass);backdrop-filter:blur(var(--blur-glass));-webkit-backdrop-filter:blur(var(--blur-glass));box-shadow:var(--shadow-card)}
.card p{margin:6px 0 0}
.card ul{margin:0;padding:0;list-style:none}
.eyebrow{margin:0!important;font-size:var(--fs-micro);font-weight:var(--fw-semibold);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}
.h3,.card h4{margin:6px 0 0;font-family:var(--font-display);font-weight:var(--fw-display);font-stretch:var(--stretch-display);font-size:1.6rem;line-height:1.05;letter-spacing:-.01em}
.card h4{font-size:1.45rem}
.sec{margin:var(--s-8) 0 var(--s-3);font-family:var(--font-display);font-weight:var(--fw-display);font-stretch:var(--stretch-display);font-size:var(--fs-h3);color:var(--text-accent)}
/* strength meter: four road dashes */
.meter-card{display:grid;gap:12px}
.meter{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.meter i{height:14px;border-radius:3px;background:rgba(242,239,232,.12);position:relative;overflow:hidden}
.meter i::after{content:"";position:absolute;inset:0;background:var(--accent) var(--line-wear) center/220% auto;background-blend-mode:multiply;transform:scaleX(0);transform-origin:left}
.meter.go i.on::after{transform:scaleX(1);transition:transform 420ms var(--ease-paint) calc(var(--k) * 140ms)}
.meter-txt{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.meter-txt b{font-family:var(--font-display);font-weight:var(--fw-black);font-stretch:var(--stretch-display);font-size:2rem;line-height:1;color:var(--text-accent)}
.meter-txt span{font-size:var(--fs-micro);color:var(--text-muted)}
/* deadlines */
.dl{display:grid;gap:14px;margin-top:12px!important}
.dl li{display:flex;gap:14px;align-items:flex-start}
.dl-n{flex:none;width:64px;display:grid;justify-items:center;padding:8px 0 6px;border-radius:var(--r-sm);background:rgba(255,212,0,.1);border:1.5px solid rgba(255,212,0,.45)}
.dl-n b{font-family:var(--font-display);font-weight:var(--fw-black);font-stretch:var(--stretch-display);font-size:1.9rem;line-height:1;color:var(--text-accent);font-variant-numeric:tabular-nums}
.dl-n small{font-size:.75rem;color:var(--text-muted)}
.k-info .dl-n{background:transparent;border-color:var(--border-glass)}.k-info .dl-n b{color:var(--text)}
.passed .dl-n{background:transparent;border-color:rgba(255,122,110,.5)}.passed .dl-n b{color:var(--danger);font-size:1rem;padding:8px 0}
.dl-n b.today{font-size:1.05rem;padding:9px 0 8px}
.dl-t{display:grid;gap:2px;font-size:var(--fs-small)}
.dl-t b{font-size:var(--fs-body)}
.dl-t span{color:var(--text)}
.dl-t small{color:var(--text-muted);line-height:1.4}
/* POFA timeline */
.pofa-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;position:relative}
.pofa-row::before{content:"";position:absolute;left:8%;right:8%;top:50%;height:0;border-top:3px dashed rgba(242,239,232,.25)}
.pofa-row span{position:relative;display:grid;gap:2px;justify-items:center;padding:8px 4px;border-radius:var(--r-sm);background:var(--bg);border:1.5px solid var(--border-glass);text-align:center}
.pofa-row small{font-size:.72rem;color:var(--text-muted)}
.pofa-row span.late{border-color:var(--accent)}.pofa-row .late b{color:var(--text-accent)}
.pofa p small{display:block;margin-top:4px;color:var(--text-muted);font-size:var(--fs-micro)}
/* grounds */
.ground{animation:rise var(--dur-slow) var(--ease-out) both;animation-delay:calc(var(--i,0) * 80ms + 120ms)}
.g-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.tag{display:inline-block;padding:4px 10px;border-radius:var(--r-pill);font-size:var(--fs-micro);font-weight:700;letter-spacing:.01em}
.t-strong{background:var(--accent);color:var(--c-ink)}
.t-good{background:rgba(242,239,232,.14);color:var(--text);box-shadow:inset 0 0 0 1.5px var(--border-strong)}
.t-weak{color:var(--danger);box-shadow:inset 0 0 0 1.5px rgba(255,122,110,.6)}
.t-long{color:var(--text-muted);box-shadow:inset 0 0 0 1.5px var(--border-glass)}
.g-out{font-size:var(--fs-micro);color:var(--text-muted)}
.ground>p{color:var(--text)}
.why{margin-top:10px!important;display:grid;gap:6px}
.why li{position:relative;padding-left:18px;font-size:var(--fs-small)}
.why li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:3px;border-radius:2px;background:var(--accent)}
.ev-h{margin-top:14px!important;font-size:var(--fs-micro);font-weight:var(--fw-semibold);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}
.evl{display:grid;gap:6px;margin-top:6px!important}
.evl li{display:flex;gap:10px;align-items:baseline;font-size:var(--fs-small)}
.evl li>span{flex:none;width:14px;height:14px;border-radius:4px;border:2px solid var(--border-strong);transform:translateY(2px)}
.evl li.have>span{background:var(--success);border-color:var(--success)}
.evl small{color:var(--text-muted)}
.basis{margin-top:12px!important;padding-top:10px;border-top:1px solid var(--border-glass);font-size:var(--fs-micro);color:var(--text-muted);line-height:1.5}
.basis a,.excl a{color:var(--text);text-decoration-color:var(--accent);text-underline-offset:3px}
.flags li,.notes li{position:relative;padding-left:20px;font-size:var(--fs-small);margin:4px 0}
.flags li::before{content:"!";position:absolute;left:0;top:0;font-weight:800;color:var(--text-accent)}
.notes li::before{content:"";position:absolute;left:2px;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--text-muted)}
.excl{margin-top:var(--s-6)}
.excl ul{margin:8px 0 0;padding-left:18px;display:grid;gap:6px}
.disclaimer{margin:var(--s-6) 0 0;font-size:var(--fs-micro);color:var(--text-muted);text-align:center;line-height:1.5}
.tbc{color:var(--text-accent)}

/* =================== the letter, built =================== */
.letter.built{font-size:3.3cqi;line-height:1.36;padding:7cqi 7cqi}
.letter.built p{margin:0 0 2cqi}
.l-meta{display:flex;justify-content:space-between;gap:4cqi;font-size:.9em;color:#3E3E43}
.letter .l-head,.paper .l-head{font-weight:700;margin-top:2.5cqi}
.l-encl{font-style:italic}
.l-addr{white-space:pre-line;color:#3E3E43}
/* full-letter sheet */
.sheet{width:100%;max-width:640px;max-height:100svh;height:100svh;margin:0 auto;padding:calc(16px + env(safe-area-inset-top)) var(--gutter) calc(20px + env(safe-area-inset-bottom));border:0;background:var(--bg-deep);color:var(--text);overflow:auto;overscroll-behavior:contain}
.sheet::backdrop{background:rgba(0,0,0,.7)}
.sheet[open]{animation:sheet-up var(--dur-slow) var(--ease-out)}
@keyframes sheet-up{from{transform:translateY(24px);opacity:0}}
.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.sheet-h{font-size:var(--fs-h2)}
.sheet-x{width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.08);cursor:pointer;display:grid;place-items:center;color:var(--text)}
.sheet-x svg{width:24px;height:24px}
.sheet-status{margin:10px 0 16px;padding:10px 14px;border-radius:var(--r-sm);background:rgba(255,212,0,.08);border-left:4px solid var(--accent);font-size:var(--fs-micro);color:var(--text)}
.paper{position:relative;background:var(--c-paper);color:var(--text-on-paper);border-radius:4px;padding:26px 22px 40px;font:1rem/1.55 var(--font-letter);box-shadow:var(--shadow-paper)}
.paper p{margin:0 0 .85em}
.paper .ref{font-weight:700}
.paper .sample{position:absolute;right:14px;bottom:12px;font:600 .72rem/1 var(--font-body);color:#5E5E63}
.paper .l-meta{display:grid;gap:4px}
.sheet-acts{display:grid;gap:12px;margin-top:20px}
@media (min-width:640px){.sheet{height:auto;max-height:92svh;margin-top:4svh;border-radius:var(--r-xl)}}

@media (prefers-reduced-motion: reduce){
  .ev,.ground,.sheet[open]{animation:none}
  .meter.go i.on::after{transition:none}
  .wz .progress-lines i,.bar i{transition:none}
}
:root[data-motion="reduce"] .ev,:root[data-motion="reduce"] .ground,:root[data-motion="reduce"] .sheet[open]{animation:none}
:root[data-motion="reduce"] .meter.go i.on::after,:root[data-motion="reduce"] .wz .progress-lines i,:root[data-motion="reduce"] .bar i{transition:none}

/* =================== pricing: paywall, verdict, pay-it, credit-back (preview) =================== */
.price-list{display:grid;gap:10px;margin-top:10px!important}
.price-list li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-size:var(--fs-small)}
.price-list b{flex:none;font-family:var(--font-display);font-weight:var(--fw-display);font-stretch:var(--stretch-display);font-size:1.35rem;line-height:1;color:var(--text-accent);font-variant-numeric:tabular-nums}
.price-list .total{padding-top:10px;border-top:1px solid var(--border-glass);font-weight:var(--fw-semibold);font-size:var(--fs-body)}
.price-list .total b{font-size:1.6rem}
.verdict{border-color:rgba(255,212,0,.5)}
.verdict-h{margin:6px 0 0;font-family:var(--font-display);font-weight:var(--fw-black);font-stretch:var(--stretch-display);font-size:clamp(2.6rem,12vw,3.6rem);line-height:1;letter-spacing:-.02em;color:var(--text-accent)}
.verdict-h .ch{display:inline-block}
.verdict-h.reveal .ch{animation:letter-in 520ms var(--ease-squish) both;animation-delay:calc(160ms + var(--i) * var(--stagger-letter))}
.honest{margin:0 0 var(--s-3)}
.payit .dl{margin-bottom:6px!important}
.reminder{display:grid;gap:8px;margin-top:16px}
.reminder .pill{--h:56px;font-size:1.15rem}
.reminder .f-hint{margin:0 0 6px;text-align:center}
.reminder .hint{min-height:0}
.nofee{padding-top:10px;margin-top:12px!important;border-top:1px solid var(--border-glass);font-size:var(--fs-small)}
.demo-note{margin:0;font-size:var(--fs-micro);color:var(--text-muted);text-align:center}
@media (prefers-reduced-motion: reduce){.verdict-h.reveal .ch{animation:none}}
:root[data-motion="reduce"] .verdict-h.reveal .ch{animation:none}
/* links inside the small print (legal pages, checkout) */
.disclaimer a,.f-hint a{color:var(--text);text-decoration-color:var(--accent);text-underline-offset:3px}
