/* Ciel du jour design system. Night-sky identity of @cieldujour.fr: deep blue, gold accents, glyphs.
   One theme (night), by design. Semantic colours: gold = action and highlights, teal = harmony / success,
   rose = tension / error, violet = information. Fonts (SIL OFL 1.1, self-hosted): Cormorant Garamond (display),
   Manrope (text), Noto Sans Symbols subset (astrological glyphs). */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-600.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-500-italic.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-wght.woff2) format("woff2")}
@font-face{font-family:"Astro Glyphs";font-style:normal;font-weight:400;font-display:block;src:url(/fonts/astro-glyphs.woff2) format("woff2");unicode-range:U+260A-260B,U+263D,U+263F-2640,U+2642-2653,U+26B7}

:root{
  --serif:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --glyph:"Astro Glyphs","Noto Sans Symbols","Segoe UI Symbol","DejaVu Sans",sans-serif;
  --night-0:#060a1a;--night-1:#0b1230;--surface:#111a3d;--surface-2:#18234f;--surface-3:#202d61;
  --line:rgba(196,208,255,.16);--line-strong:rgba(196,208,255,.3);
  --ink:#eff1fb;--ink-2:#cdd2ec;--muted:#a3abd0;
  --gold:#e6c57e;--gold-strong:#f3dca6;--gold-deep:#b8913f;--gold-ink:#1a1305;--gold-soft:rgba(230,197,126,.12);
  --teal:#8fdccd;--teal-soft:rgba(143,220,205,.12);--rose:#f6a3a3;--rose-soft:rgba(246,163,163,.12);--violet:#b7abff;--violet-soft:rgba(183,171,255,.12);
  --r-sm:10px;--r:14px;--r-lg:20px;--r-xl:28px;--r-full:999px;
  --sh:0 10px 30px rgba(0,0,0,.35);--sh-lg:0 24px 60px rgba(0,0,0,.5);--glow:0 0 0 1px rgba(230,197,126,.35),0 10px 40px rgba(230,197,126,.18);
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;
  --t-sm:.875rem;--t-base:1rem;--t-lg:1.125rem;--t-xl:1.5rem;--t-2xl:clamp(1.9rem,6vw,2.4rem);--t-3xl:clamp(2.4rem,9vw,3.9rem);
  --ease:cubic-bezier(.2,.7,.2,1);--dur:.2s;
  color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--night-0)}
body{margin:0;min-height:100vh;color:var(--ink);font:400 var(--t-base)/1.65 var(--sans);-webkit-font-smoothing:antialiased;
  background:
    radial-gradient(1.2px 1.2px at 12% 18%,rgba(255,255,255,.7) 50%,transparent 51%),
    radial-gradient(1px 1px at 72% 9%,rgba(255,255,255,.55) 50%,transparent 51%),
    radial-gradient(1.4px 1.4px at 88% 34%,rgba(243,220,166,.7) 50%,transparent 51%),
    radial-gradient(1px 1px at 35% 42%,rgba(255,255,255,.4) 50%,transparent 51%),
    radial-gradient(1px 1px at 55% 25%,rgba(255,255,255,.5) 50%,transparent 51%),
    radial-gradient(1.2px 1.2px at 22% 70%,rgba(255,255,255,.4) 50%,transparent 51%),
    radial-gradient(1px 1px at 80% 78%,rgba(255,255,255,.45) 50%,transparent 51%),
    radial-gradient(900px 600px at 80% -10%,rgba(96,84,200,.28),transparent 60%),
    radial-gradient(700px 500px at -10% 30%,rgba(40,90,190,.22),transparent 60%),
    linear-gradient(180deg,var(--night-1) 0%,var(--night-0) 70%) fixed;
  background-size:420px 420px,380px 380px,520px 520px,300px 300px,460px 460px,350px 350px,410px 410px,auto,auto,auto;
  background-attachment:fixed}
a{color:var(--gold);text-underline-offset:.2em;text-decoration-thickness:.07em}
a:hover{color:var(--gold-strong)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08;letter-spacing:-.01em;text-wrap:balance;margin:0}
h1{font-size:var(--t-3xl)}
h2{font-size:var(--t-2xl);margin:var(--s7) 0 var(--s3)}
h3{font-size:1.45rem}
em.accent,h1 em,h2 em{font-style:italic;font-weight:500;color:var(--gold)}
p{margin:var(--s3) 0}
.wrap{max-width:68rem;margin:0 auto;padding:0 var(--s4)}
.narrow{max-width:42rem;margin-inline:auto}
.muted,.hint{color:var(--muted)}
.hint{font-size:var(--t-sm);font-weight:400}
.small{font-size:var(--t-sm)}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 var(--s3)}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--gold)}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:var(--s4);top:-60px;z-index:50;background:var(--gold);color:var(--gold-ink);padding:var(--s3) var(--s4);border-radius:var(--r);font-weight:700}
.skip:focus{top:var(--s3);color:var(--gold-ink)}
.icon{width:1.2em;height:1.2em;flex:none;vertical-align:-.22em;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.glyph{font-family:var(--glyph);font-style:normal;line-height:1}

/* header / footer */
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:4.25rem}
.brand{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--serif);font-size:1.45rem;font-weight:600;color:var(--ink);text-decoration:none;min-height:44px}
.brand:hover{color:var(--gold-strong)}
.brand svg{width:26px;height:26px;color:var(--gold)}
.head-link{display:inline-flex;align-items:center;min-height:44px;padding:0 .9rem;border:1px solid var(--line);border-radius:var(--r-full);color:var(--ink-2);text-decoration:none;font-size:var(--t-sm);font-weight:600}
.head-link:hover{border-color:var(--gold);color:var(--gold-strong)}
.site-foot{border-top:1px solid var(--line);margin-top:var(--s8);padding:var(--s6) 0 var(--s7);color:var(--muted);font-size:var(--t-sm)}
.site-foot a{color:var(--ink-2)}
.foot-links{display:flex;flex-wrap:wrap;gap:0 var(--s4);list-style:none;padding:0;margin:var(--s3) 0 0}
.foot-links a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:52px;padding:.8rem 1.5rem;border-radius:var(--r-full);border:1px solid transparent;font:inherit;font-weight:700;font-size:1.02rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background-color var(--dur),border-color var(--dur),color var(--dur)}
.btn.primary,button.primary{background:linear-gradient(180deg,var(--gold-strong),var(--gold));color:var(--gold-ink);box-shadow:0 8px 24px rgba(230,197,126,.25),inset 0 1px 0 rgba(255,255,255,.5)}
.btn.primary:hover,button.primary:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(230,197,126,.35),inset 0 1px 0 rgba(255,255,255,.5);color:var(--gold-ink)}
.btn:active{transform:scale(.98)}
.btn.ghost{background:transparent;border-color:var(--line-strong);color:var(--ink)}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold-strong)}
.btn.block{display:flex;width:100%}
.btn[disabled]{opacity:.6;cursor:wait;transform:none}
button.link{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;background:none;border:0;color:var(--gold);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:.2em;cursor:pointer;padding:0}
button.link:hover{color:var(--gold-strong)}
button.link.danger{color:var(--rose)}

/* cards */
.card{position:relative;background:linear-gradient(180deg,rgba(24,35,79,.88),rgba(17,26,61,.92));border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5);margin:var(--s4) 0;box-shadow:var(--sh);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.card>:first-child{margin-top:0}.card>:last-child{margin-bottom:0}
.card.glow{border-color:rgba(230,197,126,.4);box-shadow:var(--glow)}
.notice{display:flex;gap:var(--s3);align-items:flex-start;background:var(--violet-soft);border:1px solid rgba(183,171,255,.3);border-radius:var(--r);padding:var(--s3) var(--s4);font-size:.95rem;color:var(--ink)}
.notice .icon{color:var(--violet);margin-top:.15rem}
.notice.ok{background:var(--teal-soft);border-color:rgba(143,220,205,.35)}.notice.ok .icon{color:var(--teal)}
.notice.bad{background:var(--rose-soft);border-color:rgba(246,163,163,.35)}.notice.bad .icon{color:var(--rose)}
.error{color:var(--rose);font-size:.95rem;margin:var(--s2) 0 0;min-height:1.2em;font-weight:600}
.error:empty{min-height:0;margin:0}
.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .65rem;border-radius:var(--r-full);font-size:.78rem;font-weight:700;background:var(--surface-3);color:var(--ink-2)}
.badge.gold{background:var(--gold-soft);color:var(--gold-strong)}.badge.ok{background:var(--teal-soft);color:var(--teal)}.badge.bad{background:var(--rose-soft);color:var(--rose)}

/* hero */
.hero{display:grid;gap:var(--s6);padding:var(--s5) 0 var(--s4);align-items:start}
.hero-intro .lead{margin-bottom:0}
@media(min-width:60rem){.hero{grid-template-columns:1fr 26rem;grid-template-areas:"intro form" "proofs form";gap:var(--s6) var(--s7);padding-top:var(--s7)}.hero-intro{grid-area:intro}.hero .proofs{grid-area:proofs}#birth{grid-area:form;margin:0}}
.hero .lead{font-size:var(--t-lg);color:var(--ink-2);max-width:34rem;margin:var(--s4) 0 var(--s5)}
.proofs{list-style:none;padding:0;margin:0;display:grid;gap:var(--s3)}
.proofs li{display:flex;gap:var(--s3);align-items:flex-start;color:var(--ink-2);margin:0}
.proofs .ic{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--gold-soft);color:var(--gold);border:1px solid rgba(230,197,126,.3)}
.proofs strong{color:var(--ink)}
.hero-art{display:none}
@media(min-width:60rem){.hero-art{display:block;margin-top:var(--s6);opacity:.85}}

/* stepper form */
.form-card{padding:var(--s5) var(--s5) var(--s5)}
.steps-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s4)}
.steps-head h2{font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0}
.dots{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.dots li{width:26px;height:4px;border-radius:2px;background:var(--surface-3);margin:0;transition:background-color .3s var(--ease)}
.dots li.on{background:var(--gold)}
.step{animation:stepin .35s var(--ease) both}
.step[hidden]{display:none}
.step-title{font-family:var(--serif);font-size:1.55rem;line-height:1.15;margin:0 0 var(--s2)}
.step-sub{color:var(--muted);margin:0 0 var(--s4);font-size:.95rem}
@keyframes stepin{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.step.back{animation-name:stepback}
@keyframes stepback{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
label{display:block;font-weight:650;margin:var(--s4) 0 6px;font-size:.95rem}
.field-row{display:grid;grid-template-columns:4.6rem 1fr 5.6rem;gap:var(--s2)}
.field-row label{margin-top:0;font-size:.8rem;color:var(--muted);font-weight:600}
fieldset{border:0;padding:0;margin:0;min-width:0}
legend{padding:0;font-weight:650;font-size:.95rem;margin-bottom:6px}
input[type=text],input[type=date],input[type=time],input[type=email],input[type=number],select{
  width:100%;min-height:52px;font:inherit;font-size:1.06rem;padding:.75rem .9rem;border:1px solid var(--line-strong);border-radius:var(--r);background:rgba(6,10,26,.55);color:var(--ink);transition:border-color var(--dur),box-shadow var(--dur);-moz-appearance:textfield}
input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
input::placeholder{color:#7f88b3}
input:hover,select:hover{border-color:rgba(196,208,255,.45)}
input:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(230,197,126,.18)}
input[aria-invalid=true]{border-color:var(--rose)}
input:disabled{opacity:.45}
input[type=time]::-webkit-calendar-picker-indicator{filter:invert(.85)}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e6c57e' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:18px;padding-right:2.2rem}
.check{display:flex;gap:var(--s3);align-items:flex-start;font-weight:500;font-size:.95rem;line-height:1.5;margin:var(--s3) 0 0;padding:var(--s3);border-radius:var(--r);border:1px solid var(--line);background:rgba(6,10,26,.35);cursor:pointer;min-height:44px}
.check input{margin-top:.1rem;width:22px;height:22px;flex:none;accent-color:var(--gold)}
.step-actions{display:flex;gap:var(--s3);align-items:center;margin-top:var(--s5)}
.step-actions .primary{flex:1}
.why{display:flex;gap:var(--s2);align-items:flex-start;color:var(--muted);font-size:var(--t-sm);margin:var(--s3) 0 0}
.why .icon{color:var(--violet);margin-top:.1rem}

.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;border-radius:var(--r-full);background:rgba(6,10,26,.5);border:1px solid var(--line)}
.seg label{margin:0;display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:var(--r-full);cursor:pointer;font-weight:600;color:var(--ink-2);transition:background-color var(--dur),color var(--dur)}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label:has(input:checked){background:var(--gold);color:var(--gold-ink)}
.seg label:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}

/* place autocomplete */
.ac{position:relative}
.ac .ic{position:absolute;left:.9rem;top:26px;transform:translateY(-50%);color:var(--muted);pointer-events:none;z-index:1}
.ac input{padding-left:2.6rem}
.ac ul{list-style:none;margin:6px 0 0;padding:6px;border:1px solid var(--line-strong);border-radius:var(--r);background:#0e1636;max-height:300px;overflow-y:auto;box-shadow:var(--sh-lg);position:relative;z-index:5}
.ac li{margin:0}
.ac li[role=option]{display:flex;flex-direction:column;justify-content:center;min-height:48px;padding:.45rem .75rem;border-radius:var(--r-sm);cursor:pointer;line-height:1.3}
.ac li[role=option] b{font-weight:700;color:var(--gold-strong)}
.ac li[role=option] small{color:var(--muted);font-size:.82rem}
.ac li[role=option][aria-selected=true],.ac li[role=option]:hover{background:var(--surface-3)}
.ac li.empty{padding:.7rem .75rem;color:var(--muted);font-size:.92rem}
.place-chosen{display:flex;gap:var(--s2);align-items:center;margin:var(--s2) 0 0;color:var(--teal);font-size:.9rem;min-height:1.4em}
.place-chosen:empty{min-height:0;margin:0}

/* loading orbit */
.orbit{width:120px;height:120px;margin:var(--s6) auto var(--s4);position:relative;border-radius:50%;border:1px solid var(--line-strong)}
.orbit::before{content:"";position:absolute;inset:26px;border-radius:50%;border:1px dashed rgba(230,197,126,.45)}
.orbit i{position:absolute;top:-6px;left:calc(50% - 6px);width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 18px var(--gold);transform-origin:6px 66px;animation:spin 2.2s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-text{text-align:center;color:var(--ink-2);font-family:var(--serif);font-size:1.4rem}

/* teaser */
.reveal-head{text-align:center;padding:var(--s5) 0 0}
.reveal-head .sub{color:var(--muted);margin-top:var(--s2)}
.chart-wrap{display:grid;gap:var(--s5);align-items:center;margin-top:var(--s5)}
@media(min-width:60rem){.chart-wrap{grid-template-columns:1.1fr .9fr}}
figure.wheel{margin:0 auto;width:100%;max-width:520px}
figure.wheel svg{display:block;width:100%;height:auto;overflow:visible}
figure.wheel figcaption{text-align:center;color:var(--muted);font-size:var(--t-sm);margin-top:var(--s3)}
.wheel .ring{fill:none;stroke:rgba(196,208,255,.28);stroke-width:1}
.wheel .ring.gold{stroke:rgba(230,197,126,.55)}
.wheel .seg-a{fill:rgba(255,255,255,.035)}.wheel .seg-b{fill:transparent}
.wheel .tick{stroke:rgba(196,208,255,.35);stroke-width:1}
.wheel .sign{font-family:var(--glyph);font-size:15px;fill:var(--gold);text-anchor:middle;dominant-baseline:central}
.wheel .cusp{stroke:rgba(196,208,255,.22);stroke-width:1}
.wheel .axis{stroke:var(--gold);stroke-width:1.6}
.wheel .axis-label{font:700 11px var(--sans);fill:var(--gold-strong);text-anchor:middle;dominant-baseline:central;letter-spacing:.06em}
.wheel .hnum{font:600 9.5px var(--sans);fill:#8f98c2;text-anchor:middle;dominant-baseline:central}
.wheel .planet text{font-family:var(--glyph);font-size:17px;fill:var(--ink);text-anchor:middle;dominant-baseline:central}
.wheel .planet .retro{font:700 8px var(--sans);fill:var(--rose)}
.wheel .planet circle.bg{fill:#0d1534;stroke:rgba(196,208,255,.25)}
.wheel .planet.lum circle.bg{stroke:var(--gold)}
.wheel .planet .sun{fill:none;stroke:var(--ink);stroke-width:1.5}
.wheel .planet .sun-dot{fill:var(--ink)}
.wheel .pin{stroke:var(--ink-2);stroke-width:1.2}
.wheel .asp{stroke-width:1.1;opacity:.75}
.wheel .asp.harmony{stroke:var(--teal)}
.wheel .asp.tension{stroke:var(--rose)}
.wheel .asp.other{stroke:var(--violet)}
.wheel .core{fill:rgba(6,10,26,.6)}
.wheel.anim .draw{stroke-dasharray:1300;stroke-dashoffset:1300;animation:draw 1.6s var(--ease) forwards}
.wheel.anim .fade{opacity:0;animation:fadein .6s var(--ease) forwards}
.wheel.anim .asp{opacity:0;animation:aspin .8s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fadein{to{opacity:1}}
@keyframes aspin{to{opacity:.75}}
.legend{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);justify-content:center;font-size:.82rem;color:var(--muted);margin-top:var(--s2);list-style:none;padding:0}
.legend li{display:flex;align-items:center;gap:6px;margin:0}
.legend i{width:16px;height:2px;border-radius:1px}
.legend .h{background:var(--teal)}.legend .t{background:var(--rose)}

.big3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}
.big3>div{text-align:center;padding:var(--s4) var(--s2);border-radius:var(--r);border:1px solid var(--line);background:rgba(6,10,26,.45);animation:rise .6s var(--ease) both}
.big3>div:nth-child(2){animation-delay:.15s}.big3>div:nth-child(3){animation-delay:.3s}
.big3 .g{font-family:var(--glyph);font-size:2rem;line-height:1;color:var(--gold)}
.big3 .n{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-top:var(--s2);font-weight:700}
.big3 .s{font-family:var(--serif);font-size:1.45rem;font-weight:600;line-height:1.1;margin-top:2px}
.big3 .d{font-size:.8rem;color:var(--muted)}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.positions{margin-top:var(--s4);border:1px solid var(--line);border-radius:var(--r);background:rgba(6,10,26,.35)}
.positions summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 var(--s4);cursor:pointer;font-weight:650;list-style:none}
.positions summary::-webkit-details-marker{display:none}
.positions table{width:100%;border-collapse:collapse;font-size:.92rem;font-variant-numeric:tabular-nums}
.positions td,.positions th{padding:.45rem var(--s4);border-top:1px solid var(--line);text-align:left}
.positions th{font-weight:600;color:var(--ink-2)}
.chev{width:20px;height:20px;transition:transform var(--dur)}
details[open]>summary .chev{transform:rotate(180deg)}

.reading{max-width:40rem;margin-inline:auto}
.reading p{font-family:var(--serif);font-size:1.28rem;line-height:1.6;color:#e7e9f6;margin:0 0 var(--s4)}
.reading .label,.read-label{display:flex;align-items:center;gap:.6rem;font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:var(--s6) 0 var(--s3)}
.read-label .glyph{font-size:1.2rem;letter-spacing:0}
.reading h2{border-top:1px solid var(--line);padding-top:var(--s6);margin-top:var(--s7)}
.reading section:first-child h2{border-top:0;padding-top:0;margin-top:var(--s4)}
.teaser-para{animation:rise .7s var(--ease) both}

.locked-head{text-align:center;margin:var(--s8) auto var(--s5);max-width:36rem}
.locked-head h2{margin:var(--s2) 0}
.locked{list-style:none;padding:0;margin:0;display:grid;gap:var(--s3)}
@media(min-width:48rem){.locked{grid-template-columns:1fr 1fr}}
.locked li{position:relative;margin:0;padding:var(--s4);border-radius:var(--r);border:1px solid var(--line);background:rgba(17,26,61,.75);overflow:hidden}
.locked .lt{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3);font-weight:650}
.locked .lt .icon{color:var(--gold)}
.locked .lw{font-size:.82rem;color:var(--muted);white-space:nowrap;font-weight:600}
.locked .blur{display:grid;gap:7px;margin-top:var(--s3);filter:blur(3px);opacity:.75}
.locked .blur i{display:block;height:9px;border-radius:5px;background:linear-gradient(90deg,rgba(205,210,236,.35),rgba(205,210,236,.18))}
.locked .blur i:nth-child(2){width:92%}.locked .blur i:nth-child(3){width:76%}

.offer-zone{margin-top:var(--s7)}
.offers{display:grid;gap:var(--s3)}
@media(min-width:40rem){.offers.two{grid-template-columns:1fr 1fr}}
.offer{position:relative;display:block;margin:0;padding:var(--s4) var(--s4) var(--s4) 3.2rem;border:1.5px solid var(--line-strong);border-radius:var(--r-lg);background:rgba(6,10,26,.45);cursor:pointer;font-weight:400;transition:border-color var(--dur),box-shadow var(--dur),transform var(--dur) var(--ease)}
.offer:hover{border-color:rgba(230,197,126,.6)}
.offer:active{transform:scale(.99)}
.offer:has(input:checked){border-color:var(--gold);box-shadow:var(--glow);background:rgba(230,197,126,.06)}
.offer:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:3px}
.offer input{position:absolute;left:1.1rem;top:1.35rem;width:20px;height:20px;accent-color:var(--gold);margin:0}
.offer .price{font-family:var(--serif);font-size:2.3rem;font-weight:600;line-height:1}
.offer .per{color:var(--muted);font-size:.92rem}
.offer .name{display:block;font-weight:700;margin-top:var(--s2)}
.offer ul{margin:var(--s2) 0 0;padding:0;list-style:none;font-size:.93rem;color:var(--ink-2)}
.offer li{position:relative;padding-left:1.3rem;margin:.25rem 0}
.offer li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:var(--teal)}
.promise{display:flex;gap:var(--s2);align-items:flex-start;font-size:.9rem;color:var(--ink-2);margin:var(--s4) 0 0;padding:var(--s3);border-radius:var(--r);background:var(--teal-soft)}
.promise .icon{color:var(--teal);margin-top:.15rem}
.pay-note{font-size:.85rem;color:var(--muted);text-align:center;margin-top:var(--s3)}
.restart{text-align:center;margin-top:var(--s5)}
.stickybar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3) var(--s4) calc(var(--s3) + env(safe-area-inset-bottom));background:rgba(9,14,38,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .3s var(--ease)}
.stickybar{visibility:hidden}.stickybar.show{transform:none;visibility:visible}
.stickybar .p{font-weight:700;line-height:1.2}.stickybar .p small{display:block;color:var(--muted);font-weight:500;font-size:.78rem}
.stickybar .btn{min-height:46px;padding:.6rem 1.1rem}
@media(min-width:60rem){.stickybar{display:none}}

/* report page */
.report-hero{text-align:center;padding:var(--s5) 0 var(--s4)}
.report-hero h1{font-size:clamp(2.2rem,8vw,3.4rem)}
.toc{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:center;list-style:none;padding:0;margin:var(--s5) 0 0}
.toc li{margin:0}
.toc a{display:inline-flex;align-items:center;min-height:44px;padding:0 .9rem;border-radius:var(--r-full);border:1px solid var(--line);color:var(--ink-2);text-decoration:none;font-size:.88rem;font-weight:600;background:rgba(6,10,26,.4)}
.toc a:hover{border-color:var(--gold);color:var(--gold-strong)}
.daily{border-color:rgba(230,197,126,.4)}
.daily .reading p{font-size:1.18rem}
.report-actions{display:flex;flex-wrap:wrap;gap:var(--s3);justify-content:center;margin-top:var(--s6)}

/* account */
.status-line{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}
dialog{border:1px solid var(--line-strong);border-radius:var(--r-xl);padding:var(--s5);max-width:26rem;width:calc(100% - 2rem);background:var(--surface);color:var(--ink);box-shadow:var(--sh-lg)}
dialog::backdrop{background:rgba(3,5,15,.7)}
dialog h2{font-size:1.7rem;margin:0 0 var(--s3)}
.dialog-actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s5)}
.btn.danger{background:var(--rose);color:#2a0a0a}
.btn.danger:hover{background:#ffb8b8;color:#2a0a0a}

/* legal prose */
.prose{max-width:44rem;margin-inline:auto}
.prose h1{font-size:clamp(2.2rem,7vw,3rem);margin:var(--s5) 0 var(--s4)}
.prose p{color:var(--ink-2)}
.prose strong{color:var(--ink)}

/* motion preferences */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .wheel.anim .draw{stroke-dashoffset:0}.wheel.anim .fade{opacity:1}.wheel.anim .asp{opacity:.75}.orbit i{animation:none}}
.m0{margin:0}.mt0{margin-top:0}.mt{margin-top:var(--s4)}
.center{text-align:center}
.presale{display:flex;gap:var(--s2);align-items:flex-start;margin:0 0 var(--s4);padding:var(--s3);border-radius:var(--r);background:var(--gold-soft);border:1px solid rgba(230,197,126,.4);color:var(--ink);font-size:.92rem;line-height:1.45}
.presale .icon{color:var(--gold);margin-top:.1rem}
.offer .badge{margin-top:var(--s2)}
.toc-box .toc{padding:0 var(--s3) var(--s3);margin-top:0;justify-content:flex-start}
@media(max-width:47.99rem){.locked li{padding:var(--s3) var(--s4)}.locked .blur{margin-top:var(--s2);gap:5px}.locked .blur i:nth-child(3){display:none}}
.howto{margin-top:var(--s7)}.howto .small{color:var(--ink-2);padding:0 var(--s4) var(--s4);margin:0}
