:root{
  --bg:#0a0d0b; --bg-2:#101511; --panel:rgba(214,236,200,.035); --panel-2:rgba(214,236,200,.07); --solid:#121812;
  --line:rgba(214,236,200,.09); --line-2:rgba(214,236,200,.18);
  --text:#eef2e6; --muted:#9ca796; --dim:#66705f;
  --sap:#a5e36b; --sap-2:#d4f5a6; --sap-soft:rgba(165,227,107,.12);
  --resin:#d9b45a; --clay:#c65f43;
  /* retention scale: dry clay -> rust -> ochre -> moss -> sap */
  --r0:#2b1715; --r1:#5c2a22; --r2:#874227; --r3:#8f6a2c; --r4:#7f8a33; --r5:#5d9e43; --r6:#86cf56; --r7:#c2f082;
  --grad:linear-gradient(120deg,#d4f5a6 0%,#a5e36b 50%,#6fbf4a 100%);
  --r:16px; --r-sm:10px;
  --display:'Bricolage Grotesque',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  --goo:cubic-bezier(.34,1.45,.5,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;background:var(--bg);color:var(--text)}
body{font:14px/1.55 'Manrope',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
[hidden]{display:none!important}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.small{font-size:12.5px} .muted{color:var(--muted)} .dim{color:var(--dim)}
svg{stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* slow sap light pooling at the top: this brand's "aurora" */
.sap{position:fixed;inset:-25vh -10vw auto;height:95vh;pointer-events:none;z-index:0;
  background:radial-gradient(55% 50% at 30% 0%,rgba(140,210,90,.13),transparent 70%),radial-gradient(35% 40% at 85% 8%,rgba(217,180,90,.08),transparent 70%);
  animation:sap 18s ease-in-out infinite alternate}
@keyframes sap{to{transform:translateY(3vh) scale(1.05);opacity:.8}}

.top{position:sticky;top:0;z-index:30;background:rgba(10,13,11,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top-in{max-width:1180px;margin:0 auto;height:58px;padding:0 20px;display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:9px;font:800 19px var(--display);letter-spacing:-.02em}
.mark{width:26px;height:26px;stroke:none} .mark-f{fill:var(--sap)} .mark-h{fill:var(--bg)}
.nav{display:flex;gap:2px}
.nav a{padding:7px 11px;border-radius:var(--r-sm);color:var(--muted);font-weight:500;white-space:nowrap;transition:color .15s,background .15s}
.nav a:hover{color:var(--text);background:var(--panel-2)}
.search{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);transition:border-color .15s,box-shadow .2s}
.search:focus-within{border-color:rgba(165,227,107,.5);box-shadow:0 0 0 4px rgba(165,227,107,.08)}
.search svg{width:16px;height:16px;color:var(--dim);flex:none}
.search input{flex:1;min-width:0;background:none;border:0;outline:0}
.search input::placeholder{color:var(--dim)}
.search.mini{margin-left:auto;width:290px;height:36px;padding:0 10px}
.search.big{height:58px;padding:0 8px 0 16px;border-radius:14px;margin-top:26px;background:rgba(214,236,200,.05)}
.search.big input{font-size:15px}

.btn{height:38px;padding:0 16px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--panel-2);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;transition:filter .15s,border-color .15s,transform .08s}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--grad);border-color:transparent;color:#11200a;box-shadow:0 10px 30px -12px rgba(140,210,90,.7)}
.btn-primary:hover{filter:brightness(1.07)}
.btn-ghost{background:transparent}
.btn:disabled{opacity:.45;cursor:default}
.link{background:none;border:0;color:var(--sap);cursor:pointer;padding:0;font-size:12px}

main{position:relative;z-index:1;width:100%;max-width:1180px;margin:0 auto;padding:0 20px 40px;flex:1}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-top:18px;backdrop-filter:blur(6px)}
h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;margin:0}
h3{font-size:17px;font-weight:700}

/* hero */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:64px 0 30px}
.eyebrow{color:var(--sap);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px}
.hero h1{font-size:clamp(40px,6vw,68px);line-height:1.02;font-weight:800}
.stuck{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative;display:inline-block}
.stuck::after{content:"";position:absolute;left:62%;top:88%;width:9px;height:0;background:var(--sap);border-radius:0 0 9px 9px;animation:drip 3.4s var(--ease) 1s infinite}
@keyframes drip{0%{height:0;opacity:1}55%{height:26px;opacity:1}75%{height:30px;opacity:0}100%{height:0;opacity:0}}
.lede{color:var(--muted);font-size:16px;max-width:520px;margin:18px 0 0}
.err{color:#f0a08c;margin:12px 0 0}
.recent{margin-top:22px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.chip{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--panel);font-size:12.5px;cursor:pointer;transition:border-color .15s}
.chip:hover{border-color:var(--line-2)}
.chip b{color:var(--sap);font-family:var(--mono);font-weight:600}
.hero-art{position:relative}
.drip-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;filter:url(#goo);padding:10px}
.drip-grid i{aspect-ratio:1;border-radius:7px;transform:scale(0);animation:spread 1s var(--goo) forwards}
.art-note{position:absolute;bottom:-6px;right:10px;margin:0;font-size:11px;color:var(--dim)}

/* the signature: cells spread like glue, greener = more retained */
@keyframes spread{0%{transform:scale(0) translate(-40%,-40%);border-radius:50%}60%{border-radius:40%}100%{transform:scale(1);border-radius:7px}}

/* progress */
.progress{max-width:640px;margin:60px auto 0}
.prog-head{display:flex;gap:14px;align-items:center}
.spin{width:30px;height:30px;border-radius:50%;background:conic-gradient(var(--sap),transparent 70%);-webkit-mask:radial-gradient(circle,transparent 9px,#000 10px);mask:radial-gradient(circle,transparent 9px,#000 10px);animation:rot 1s linear infinite}
@keyframes rot{to{transform:rotate(1turn)}}
.stages{list-style:none;padding:0;margin:18px 0;display:grid;gap:8px}
.stages li{color:var(--dim);padding-left:22px;position:relative}
.stages li::before{content:"";position:absolute;left:4px;top:7px;width:8px;height:8px;border-radius:50%;border:1.5px solid currentColor}
.stages li.on{color:var(--text)} .stages li.on::before{background:var(--sap);border-color:var(--sap);box-shadow:0 0 0 4px var(--sap-soft)}
.stages li.done{color:var(--muted)} .stages li.done::before{background:var(--muted);border-color:var(--muted)}
.stages li .num{color:var(--sap);margin-left:6px;font-size:12px}
.bar{height:6px;border-radius:9px;background:var(--panel-2);overflow:hidden}
.bar i{display:block;height:100%;width:0;background:var(--grad);border-radius:9px;transition:width .5s var(--ease)}

/* result */
.tok{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.tok img{width:52px;height:52px;border-radius:14px;object-fit:cover;background:var(--panel-2)}
.tok-id{flex:1;min-width:0}
.tok-id h2{font-size:24px;overflow-wrap:anywhere}
.tok-id .num{overflow-wrap:anywhere}
.tok-meta{display:flex;gap:14px;align-items:center;color:var(--muted);flex-wrap:wrap}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px;min-width:0}
.kpi .k{font-size:12px;color:var(--muted);font-weight:600}
.kpi .v{font:700 28px var(--mono);letter-spacing:-.03em;margin-top:4px}
.kpi .s{font-size:11.5px;color:var(--dim);margin-top:2px}
.kpi.na .v{color:var(--dim);font-size:20px}

.gridp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.legend{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--dim)}
.ramp{width:120px;height:8px;border-radius:9px;background:linear-gradient(90deg,var(--r1),var(--r2),var(--r3),var(--r4),var(--r5),var(--r6),var(--r7))}
.cohort-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cohort{position:relative;min-width:520px}
.c-row{display:grid;grid-template-columns:120px 44px 1fr;gap:4px;margin-bottom:4px;align-items:stretch}
.c-cells{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:4px}
.c-cells.goo{filter:url(#goo)}
.c-row.head{font-size:11px;color:var(--dim);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.c-row.head .c-cells > div{padding:0 2px 4px;text-align:center}
.c-row.head > div:first-child{text-align:left}
.c-lab{font:12px var(--mono);color:var(--muted);display:flex;align-items:center;white-space:nowrap}
.c-n{font:11px var(--mono);color:var(--dim);display:flex;align-items:center;justify-content:center}
.c-cell{position:relative;height:30px}
.c-cell .g{position:absolute;inset:0;border-radius:7px;transform:scale(0);animation:spread .9s var(--goo) forwards}
.c-cell .t{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:600 11.5px var(--mono);color:rgba(10,13,11,.88);opacity:0;animation:fade .4s ease forwards;z-index:1}
.c-cell.lo .t{color:rgba(238,242,230,.85)}
.c-cell.open .g{background-image:repeating-linear-gradient(135deg,rgba(10,13,11,.35) 0 4px,transparent 4px 8px)}
.c-cell.empty .g{background:transparent!important;border:1px dashed var(--line);animation:none;transform:none}
.c-cell.empty .t{color:var(--dim);opacity:1;animation:none}
@keyframes fade{to{opacity:1}}

.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.two .panel{margin-top:18px;min-width:0}
.churn{display:flex;align-items:flex-end;gap:3px;height:120px;margin-top:14px;overflow-x:auto}
.churn .b{flex:1 0 8px;max-width:28px;display:flex;flex-direction:column;justify-content:flex-end;height:100%;position:relative}
.churn .b i{display:block;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--clay),var(--r2));min-height:2px;transform-origin:bottom;animation:grow .7s var(--goo) both}
.churn .b.partial i{opacity:.45}
@keyframes grow{from{transform:scaleY(0)}}
.top-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.top-list li{display:flex;align-items:center;gap:10px;font-size:12.5px}
.top-list .num{color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-list .p{font-family:var(--mono);color:var(--text);width:62px;text-align:right}
.tag{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px;border:1px solid var(--line);color:var(--dim);white-space:nowrap}
.tag.d{color:var(--sap);border-color:rgba(165,227,107,.35);background:var(--sap-soft)}
.window ul{margin:10px 0 0;padding-left:18px;color:var(--muted)}
.window li{margin:4px 0}
.window b{color:var(--text);font-weight:600}
.explain .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:12px;color:var(--muted);font-size:13px}
.explain b{color:var(--text)}
.explain ul{color:var(--muted);padding-left:18px;margin:10px 0 0}
.explain li{margin:5px 0}
.foot{border-top:1px solid var(--line);margin-top:30px;position:relative;z-index:1}
.foot-in{max-width:1180px;margin:0 auto;padding:18px 20px}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:40px}
  .hero-art{max-width:420px}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .two,.explain .cols{grid-template-columns:1fr}
  .nav{display:none}
}
@media (max-width:520px){
  main{padding:0 16px 30px}
  .top-in{padding:0 16px;gap:10px}
  .search.mini{width:auto;flex:1}
  .search.big{height:auto;flex-wrap:wrap;padding:8px}
  .search.big input{flex:1 1 100%;padding:8px 6px}
  .search.big .btn{width:100%}
  .search.big > svg{display:none}
  .kpi .v{font-size:23px}
  .panel{padding:16px}
  .c-row{grid-template-columns:86px 34px 1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .stuck::after{display:none}
}

/* guide content */
.guide{margin-top:56px}
.g-title{font:800 clamp(24px,3.4vw,36px)/1.15 var(--display);letter-spacing:-.02em;margin:6px 0 12px;max-width:820px}
.g-lede{color:var(--muted);font-size:15.5px;max-width:760px;margin:0 0 22px}
.g-lede b{color:var(--text)}
.cards3,.cards4{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cards4{grid-template-columns:repeat(4,1fr);margin-top:12px}
.gcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.gcard h4{margin:6px 0 6px;font:700 16px var(--display);display:flex;align-items:center;gap:8px}
.gcard p{margin:0;color:var(--muted);font-size:13.5px}
.gnum{font:600 12px var(--mono);color:var(--sap)}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.read-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start;margin:8px 0 18px}
.mini-grid{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.mg-head,.mg-row{display:grid;grid-template-columns:70px repeat(3,1fr);gap:6px;align-items:center;margin-bottom:6px}
.mg-head span{font:600 11px var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.06em}
.mg-row span{font:600 12px var(--mono);color:var(--muted)}
.mg-row i{font:600 12.5px var(--mono);font-style:normal;color:#0d120c;text-align:center;padding:10px 0;border-radius:8px}
.mg-row i.na{background:var(--panel-2);color:var(--dim)}
.read-list{margin:0;padding-left:18px;color:var(--muted);font-size:14px}
.read-list li{margin:0 0 9px}
.read-list b{color:var(--text)}
.safe-in{display:flex;gap:16px;align-items:flex-start;background:var(--sap-soft);border:1px solid rgba(165,227,107,.28);border-radius:var(--r);padding:18px 20px}
.safe-in svg{width:30px;height:30px;color:var(--sap);flex:none}
.safe-in h4{margin:0 0 4px;font:700 16px var(--display)}
.safe-in p{margin:0;color:var(--muted);font-size:13.5px}
.faq{display:grid;gap:8px;max-width:860px;margin-top:8px}
.faq details{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 16px}
.faq summary{cursor:pointer;font-weight:700;font-size:14.5px}
.faq p{margin:8px 0 2px;color:var(--muted);font-size:13.5px}
@media (max-width:860px){
  .cards3,.cards4,.read-wrap{grid-template-columns:1fr}
  .nav{display:none}
  .guide{margin-top:40px}
}

/* coin CA */
.ca-box{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:10px 12px;border-radius:12px;border:1px solid var(--line-2);background:var(--panel-2);max-width:560px}
.ca-tag{font-weight:700;font-size:13.5px;color:var(--sap);flex:1}
.ca-copy{height:32px;padding:0 12px;font-size:13px}
.ca-addr{flex:1 1 100%;font-family:var(--mono);font-size:13px;color:var(--muted);word-break:break-all}
.ca-foot{font-family:var(--mono);font-size:12px;word-break:break-all}
.ca-mini{background:none;border:1px solid var(--line-2);color:var(--text);border-radius:6px;padding:1px 8px;font-size:12px;cursor:pointer}
.xlink{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--panel-2);color:var(--text);flex:none}
.xlink:hover{border-color:rgba(165,227,107,.4)}
.xlink svg{width:15px;height:15px;fill:currentColor;stroke:none}
.foot a{color:var(--muted)}
.top-in .search.mini{flex:1 1 auto;min-width:0}
.top-in .search.mini input{min-width:0;width:100%}
@media (max-width:520px){.top-in{gap:10px}}
