:root{
  --night:#0f0a07; --night2:#17100b; --soot:#231a13; --soot2:#2e2219;
  --wax:#f3e6c8; --wax2:#d9c8a4; --waxdim:rgba(243,230,200,.62);
  --flame:#ffb547; --ember:#ff6a2b; --up:#e8c27a; --down:#b6452c;
  --display:"Cormorant Garamond", Georgia, serif;
  --body:"Manrope", system-ui, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, monospace;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--night);color:var(--wax2);font:16px/1.7 var(--body);overflow-x:hidden;
  background-image:radial-gradient(900px 600px at 50% -5%, rgba(255,150,60,.16), transparent 65%), radial-gradient(700px 500px at 100% 60%, rgba(255,106,43,.05), transparent 70%)}
a{color:var(--flame)}
code{font:.86em var(--mono);background:rgba(243,230,200,.07);padding:.05em .35em;border-radius:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:8px;background:var(--flame);color:var(--night);padding:8px 12px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--flame);outline-offset:3px;border-radius:3px}
.muted{color:rgba(217,200,164,.6)}
.over{font:500 italic 1.05rem var(--display);color:var(--flame);margin:0 0 8px;letter-spacing:.02em}

.nav{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px clamp(16px,4vw,44px);background:rgba(15,10,7,.82);backdrop-filter:blur(10px);border-bottom:1px solid rgba(243,230,200,.07)}
.brand{display:flex;align-items:center;gap:10px;color:var(--wax);text-decoration:none;font:600 1.55rem var(--display);letter-spacing:.01em}
.mark{width:28px;height:28px;filter:drop-shadow(0 0 6px rgba(255,181,71,.6))}
.brand.small{font-size:1.15rem}
.nav nav{display:flex;gap:2px;flex-wrap:wrap}
.nav nav a{color:var(--waxdim);text-decoration:none;font:500 .88rem var(--body);padding:7px 12px;border-radius:999px;transition:color .2s}
.nav nav a:hover{color:var(--flame)}

.btn{display:inline-flex;align-items:center;justify-content:center;font:600 .95rem var(--body);padding:13px 24px;border-radius:999px;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .15s, box-shadow .2s}
.btn-flame{background:linear-gradient(180deg,#ffc76b,#ff9a3a);color:#2a1606;box-shadow:0 0 0 1px rgba(255,181,71,.4), 0 10px 30px -10px rgba(255,140,50,.8)}
.btn-flame:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(255,181,71,.6), 0 14px 40px -8px rgba(255,140,50,.9)}
.btn-flame:disabled{opacity:.6;cursor:wait;transform:none}
.btn-wax{border-color:rgba(243,230,200,.3);color:var(--wax)}
.btn-wax:hover{border-color:var(--wax)}

.hero{position:relative;max-width:var(--max);margin:0 auto;padding:clamp(50px,8vw,110px) clamp(16px,4vw,44px) 40px;min-height:560px}
.flame{position:absolute;right:clamp(0px,4vw,60px);top:20px;width:min(420px,46vw);height:520px;pointer-events:none}
.hero-copy{position:relative;max-width:640px}
.hero h1{font:600 clamp(2.8rem,6.6vw,5.4rem)/.98 var(--display);color:var(--wax);margin:0 0 22px;letter-spacing:-.01em}
.hero h1 em{color:var(--flame);font-style:italic;text-shadow:0 0 40px rgba(255,150,60,.45)}
.lede{font-size:1.1rem;max-width:34em;margin:0 0 28px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.tonight{position:relative;margin-top:56px}
.tonight h2{font:600 1.3rem var(--display);color:var(--wax);margin:0 0 12px}
.tonight h2 span{font:400 .8rem var(--body);color:var(--waxdim)}
.trend-row{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:thin;scrollbar-color:var(--soot2) transparent}
.tcard{flex:0 0 auto;display:flex;flex-direction:column;gap:2px;background:linear-gradient(180deg,var(--soot),var(--night2));border:1px solid rgba(243,230,200,.08);border-radius:14px;padding:10px 14px;min-width:170px;cursor:pointer;color:var(--wax);text-align:left;font:inherit;transition:border-color .2s, transform .2s}
.tcard:hover{border-color:rgba(255,181,71,.5);transform:translateY(-2px)}
.tcard .n{font:600 .92rem var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.tcard .p{font:400 .78rem var(--mono);color:var(--waxdim)}
.tcard .c{font:500 .8rem var(--mono)}
.upc{color:var(--up)} .dnc{color:#e0735a}

.drip{height:60px;margin-top:10px;background:var(--soot);
  -webkit-mask:radial-gradient(22px 28px at 30px 0, #000 98%, transparent) 0 0/120px 60px repeat-x, linear-gradient(#000 0 14px, transparent 14px);
  mask:radial-gradient(22px 28px at 30px 0, #000 98%, transparent) 0 0/120px 60px repeat-x, linear-gradient(#000 0 14px, transparent 14px)}

.chart-sec{background:var(--soot);padding:20px clamp(16px,4vw,44px) 60px;margin-top:-1px}
.chart-head,.holder{max-width:var(--max);margin:0 auto}
.chart-head h2{font:600 clamp(2rem,4vw,3rem) var(--display);color:var(--wax);margin:0 0 14px}
.cform{display:flex;gap:10px;flex-wrap:wrap}
.cform input{flex:1 1 320px;min-width:0;font:500 1rem var(--mono);padding:14px 18px;background:var(--night);border:1px solid rgba(243,230,200,.2);border-radius:999px;color:var(--wax)}
.cform input:focus{outline:none;border-color:var(--flame);box-shadow:0 0 0 4px rgba(255,181,71,.15)}
.samples{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:12px;font-size:.85rem;color:var(--waxdim)}
.chip{font:500 .82rem var(--mono);background:rgba(243,230,200,.05);border:1px solid rgba(243,230,200,.15);color:var(--wax);border-radius:999px;padding:5px 13px;cursor:pointer}
.chip:hover{border-color:var(--flame);color:var(--flame)}

.holder{margin-top:26px;background:var(--night);border:1px solid rgba(243,230,200,.08);border-radius:22px;padding:clamp(14px,2.5vw,24px);box-shadow:0 40px 100px -40px rgba(0,0,0,.9), inset 0 1px 0 rgba(243,230,200,.05)}
.pool-bar{display:flex;flex-wrap:wrap;gap:14px 30px;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid rgba(243,230,200,.07)}
.pool-name{font:600 1.7rem/1.1 var(--display);color:var(--wax)}
.pool-sub{font:400 .78rem var(--mono);color:var(--waxdim);word-break:break-all}
.pool-stats{display:flex;flex-wrap:wrap;gap:8px 22px}
.ps .k{display:block;font:500 .66rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--waxdim)}
.ps .v{font:500 1.02rem var(--mono);color:var(--wax)}
.ps .v.big{font-size:1.3rem;color:var(--flame)}
.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 0}
.seg{display:inline-flex;background:var(--soot);border-radius:999px;padding:3px;border:1px solid rgba(243,230,200,.07)}
.seg button{font:500 .82rem var(--mono);background:transparent;border:0;color:var(--waxdim);padding:6px 12px;border-radius:999px;cursor:pointer}
.seg button:hover{color:var(--wax)}
.seg button.on{background:var(--wax);color:var(--night)}
.seg.small button{padding:6px 10px}
.sel select{font:500 .82rem var(--body);background:var(--soot);color:var(--wax);border:1px solid rgba(243,230,200,.12);border-radius:999px;padding:7px 12px;max-width:min(340px,80vw)}
.live-dot{font:400 .74rem var(--mono);color:var(--waxdim);display:inline-flex;align-items:center;gap:6px;margin-left:auto}
.live-dot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--flame);box-shadow:0 0 10px var(--flame);animation:flick 1.6s ease-in-out infinite}
.live-dot.off::before{background:#6b5a48;box-shadow:none;animation:none}
@keyframes flick{50%{opacity:.4;transform:scale(.8)}}
.canvas-wrap{position:relative;height:clamp(320px,52vw,540px);border-radius:14px;overflow:hidden;background:radial-gradient(120% 90% at 85% 0%, rgba(255,150,60,.08), transparent 60%), var(--night2)}
#cv{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:crosshair}
#cv:focus-visible{outline:2px solid var(--flame);outline-offset:-2px}
.tip{position:absolute;pointer-events:none;background:rgba(23,16,11,.94);border:1px solid rgba(255,181,71,.35);border-radius:10px;padding:8px 12px;font:400 .76rem/1.5 var(--mono);color:var(--wax);min-width:170px;box-shadow:0 10px 30px rgba(0,0,0,.6);z-index:2}
.tip b{color:var(--flame);font-weight:500;display:block;margin-bottom:2px}
.tip .r{display:flex;justify-content:space-between;gap:14px}
.empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px;color:var(--waxdim);font:italic 500 1.3rem var(--display)}
.empty[hidden]{display:none}
.cstatus{min-height:1.4em;margin-top:10px;font:400 .82rem var(--mono);color:var(--waxdim)}
.cstatus.err{color:#ff8a6b}
.cstatus button{margin-left:10px;font:600 .78rem var(--body);background:var(--wax);color:var(--night);border:0;border-radius:999px;padding:4px 12px;cursor:pointer}
.range-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:10px}
.rs{background:var(--soot);border-radius:12px;padding:10px 12px}
.rs .k{display:block;font:500 .64rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--waxdim)}
.rs .v{font:500 .98rem var(--mono);color:var(--wax)}

.sec-head{margin-bottom:30px;max-width:760px}
.sec-head h2{font:600 clamp(2.2rem,4.6vw,3.4rem)/1.02 var(--display);color:var(--wax);margin:0}
.ritual,.uses,.reading,.faq,.honest{max-width:var(--max);margin:0 auto;padding:clamp(70px,9vw,120px) clamp(16px,4vw,44px) 0}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.steps li{position:relative;background:linear-gradient(180deg, var(--soot), transparent);border:1px solid rgba(243,230,200,.07);border-radius:20px 20px 6px 6px;padding:24px}
.steps .num{font:600 italic 2rem var(--display);color:var(--flame)}
.steps svg{width:70px;height:70px;display:block;margin:6px 0 10px}
.steps svg *{fill:none;stroke:var(--wax2);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.steps h3{font:600 1.4rem var(--display);color:var(--wax);margin:0 0 6px}
.steps p{margin:0;font-size:.93rem}

.use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.use{padding:26px;border-radius:18px;background:var(--night2);border:1px solid rgba(243,230,200,.06);position:relative;overflow:hidden;transition:border-color .25s}
.use::before{content:"";position:absolute;left:24px;top:0;width:2px;height:22px;background:linear-gradient(var(--flame),transparent)}
.use:hover{border-color:rgba(255,181,71,.35)}
.use h3{font:600 1.45rem var(--display);color:var(--wax);margin:4px 0 6px}
.use p{margin:0;font-size:.94rem}

.read-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:44px;align-items:start}
.read-text p{margin:0 0 16px;font-size:1.02rem}
.read-text strong{color:var(--wax)}
.read-text h3{font:600 1.6rem var(--display);color:var(--wax);margin:28px 0 8px}
.first::first-letter{font:600 4.4rem/.8 var(--display);float:left;color:var(--flame);padding:8px 10px 0 0}
.patterns{background:var(--night2);border:1px solid rgba(243,230,200,.08);border-radius:20px;padding:24px;position:sticky;top:90px}
.patterns h3{font:600 1.4rem var(--display);color:var(--wax);margin:0 0 4px}
.patterns .mt{margin-top:24px}
.pat-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:12px}
.pat-list li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:center}
.pat-list svg{width:30px;height:60px}
.pat-list .wk{stroke:var(--wax2);stroke-width:1.5}
.pat-list .up{fill:var(--up)} .pat-list .dn{fill:var(--down)}
.pat-list b{display:block;color:var(--wax);font-weight:600}
.pat-list span{font-size:.86rem}
.tf-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:10px}
.tf-table th{text-align:left;font:500 .68rem var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--waxdim);border-bottom:1px solid rgba(243,230,200,.12);padding:6px 4px}
.tf-table td{padding:6px 4px;border-bottom:1px dashed rgba(243,230,200,.08);font-family:var(--mono);font-size:.8rem}

.faq-list{display:grid;gap:10px;max-width:900px}
.faq details{background:var(--night2);border:1px solid rgba(243,230,200,.07);border-radius:16px;transition:border-color .2s}
.faq details[open]{border-color:rgba(255,181,71,.35)}
.faq summary{cursor:pointer;list-style:none;padding:18px 56px 18px 22px;font:600 1.3rem var(--display);color:var(--wax);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:24px;top:50%;width:8px;height:14px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:var(--waxdim);transform:translateY(-50%);transition:background .2s, box-shadow .2s}
.faq details[open] summary::after{background:var(--flame);box-shadow:0 0 12px var(--flame)}
.faq details p{margin:0;padding:0 22px 18px}

.honest-box{border-radius:22px;padding:clamp(20px,4vw,36px);background:linear-gradient(180deg, rgba(255,181,71,.07), transparent), var(--night2);border:1px solid rgba(255,181,71,.3)}
.honest-box h2{font:600 2rem var(--display);color:var(--wax);margin:0 0 10px}
.honest-box ul{margin:0;padding-left:20px}
.honest-box li{margin-bottom:8px}
.honest-box b{color:var(--wax)}

.foot{margin-top:100px;border-top:1px solid rgba(243,230,200,.08);padding:30px clamp(16px,4vw,44px)}
.foot-inner{max-width:var(--max);margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 30px;font-size:.86rem;color:var(--waxdim)}
.foot p{margin:0}

@media (max-width:1000px){
  .flame{opacity:.45}
  .steps{grid-template-columns:repeat(2,1fr)}
  .use-grid{grid-template-columns:repeat(2,1fr)}
  .read-cols{grid-template-columns:1fr}
  .patterns{position:static}
  .range-stats{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:640px){
  .nav nav{display:none}
  .flame{width:70vw;right:-10vw;opacity:.35}
  .steps,.use-grid{grid-template-columns:1fr}
  .range-stats{grid-template-columns:repeat(2,1fr)}
  .live-dot{margin-left:0}
  .pool-name{font-size:1.4rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
#cv{touch-action:pan-y}
.v.upc,.r .upc{color:var(--up)!important}.v.dnc,.r .dnc{color:#e0735a!important}
.flame{-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.hero{overflow-x:clip}
.read-cols>*{min-width:0}
@media (max-width:1000px){.read-cols{grid-template-columns:minmax(0,1fr)}}
