/* ==========================================================================
   TALLYHASH DESIGN SYSTEM v4
   Dark-first · emerald and mint · liquid glass · Apple-inspired structure
   ========================================================================== */

/* ---------- tokens (dark is the default) ---------- */
:root{
  --bg:#000000; --bg-2:#0B0E0D; --surface:#121614; --surface-2:#181D1B; --surface-3:#1F2522;
  --ink:#F4F7F5; --ink-2:#A6AEAA; --ink-3:#7A837E;
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.16);
  --brand:#34E39A; --brand-2:#16B97C; --brand-3:#B6F27C; --mint:#34E39A; --sky:#7CC8FF; --brand-text:#5EF0B2; --on-brand:#03140D;
  --gain:#34E39A; --loss:#FF5F57; --warn:#FFD60A; --warn-fill:#FFD60A;
  --grad:linear-gradient(120deg,#D4FFB8 0%,#6EF2BC 36%,#22C58B 68%,#0FA59B 100%);
  --grad-text:linear-gradient(100deg,#EFFFE6 0%,#8DF5C8 34%,#34E39A 66%,#19BFA3 100%);
  --glass:rgba(24,29,27,.56); --glass-2:rgba(26,31,29,.82);
  --glass-rim-1:rgba(255,255,255,.24); --glass-rim-2:rgba(255,255,255,.03); --glass-tint:rgba(94,240,178,.30); --glass-sheen:rgba(255,255,255,.09);
  --sh-1:0 1px 2px rgba(0,0,0,.5),0 16px 36px -18px rgba(0,0,0,.85);
  --sh-2:0 2px 6px rgba(0,0,0,.5),0 44px 90px -34px rgba(0,0,0,.95);
  --sh-glass:inset 0 1px 0 rgba(255,255,255,.11),inset 0 -1px 0 rgba(255,255,255,.03),0 30px 70px -30px rgba(0,0,0,.9);
  --a1:#0E8A5C; --a2:#0B6F6B; --a3:#1FB07A; --a4:#3F7D16; --ao:.30;
  --grid:rgba(255,255,255,.035);
  --m-top-a:#3B4541; --m-top-b:#1C2220; --m-left-a:#161B19; --m-left-b:#0C0F0E; --m-right-a:#262D2A; --m-right-b:#151A18; --m-edge:#4F5B56; --m-fan:#161B19; --m-blade:#3A4440; --m-dark:#070A09; --m-hl:rgba(255,255,255,.30);
  color-scheme:dark;
  --r-sm:12px; --r:22px; --r-lg:30px;
  --font:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.2,.8,.2,1); --spring:cubic-bezier(.34,1.56,.64,1);
}
:root[data-theme=light]{
  --bg:#F5F5F7; --bg-2:#ECEEED; --surface:#FFFFFF; --surface-2:#F7F8F8; --surface-3:#EEF1EF;
  --ink:#1D1D1F; --ink-2:#424245; --ink-3:#6E6E73;
  --line:rgba(0,0,0,.08); --line-2:rgba(0,0,0,.15);
  --brand:#2FD08E; --brand-2:#0F9D63; --brand-3:#7CC63A; --mint:#16B97C; --sky:#0A84FF; --brand-text:#0A7F4F; --on-brand:#03140D;
  --gain:#0A7F4F; --loss:#D70015; --warn:#8A6A00; --warn-fill:#FFD60A;
  --grad:linear-gradient(120deg,#B7F5A0 0%,#5CE6AE 36%,#1FBF85 68%,#0E9A90 100%);
  --grad-text:linear-gradient(100deg,#0B8F5A 0%,#14A86B 45%,#0E8C82 100%);
  --glass:rgba(255,255,255,.62); --glass-2:rgba(255,255,255,.84);
  --glass-rim-1:rgba(255,255,255,.95); --glass-rim-2:rgba(255,255,255,.12); --glass-tint:rgba(52,227,154,.35); --glass-sheen:rgba(255,255,255,.55);
  --sh-1:0 1px 2px rgba(0,0,0,.05),0 12px 30px -14px rgba(0,0,0,.18);
  --sh-2:0 2px 6px rgba(0,0,0,.05),0 34px 70px -30px rgba(0,0,0,.28);
  --sh-glass:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -1px 0 rgba(255,255,255,.22),0 1px 2px rgba(0,0,0,.05),0 26px 60px -26px rgba(0,0,0,.25);
  --a1:#A7F3D0; --a2:#99F6E4; --a3:#BBF7D0; --a4:#D9F99D; --ao:.55;
  --grid:rgba(0,0,0,.045);
  --m-top-a:#FFFFFF; --m-top-b:#DADFDC; --m-left-a:#C7CEC9; --m-left-b:#AEB7B1; --m-right-a:#E8ECEA; --m-right-b:#CBD2CE; --m-edge:#7F8A84; --m-fan:#EEF1EF; --m-blade:#B5BEB9; --m-dark:#55605A; --m-hl:rgba(255,255,255,.85);
  color-scheme:light;
}
/* always-dark band, also in light mode */
.band-dark{
  --bg:#000000; --bg-2:#0B0E0D; --surface:#121614; --surface-2:#181D1B; --surface-3:#1F2522;
  --ink:#F4F7F5; --ink-2:#A6AEAA; --ink-3:#7A837E;
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.16);
  --brand:#34E39A; --brand-2:#16B97C; --brand-3:#B6F27C; --mint:#34E39A; --sky:#7CC8FF; --brand-text:#5EF0B2; --on-brand:#03140D;
  --gain:#34E39A; --loss:#FF5F57; --warn:#FFD60A; --warn-fill:#FFD60A;
  --grad:linear-gradient(120deg,#D4FFB8 0%,#6EF2BC 36%,#22C58B 68%,#0FA59B 100%);
  --grad-text:linear-gradient(100deg,#EFFFE6 0%,#8DF5C8 34%,#34E39A 66%,#19BFA3 100%);
  --glass:rgba(24,29,27,.56); --glass-2:rgba(26,31,29,.82);
  --glass-rim-1:rgba(255,255,255,.24); --glass-rim-2:rgba(255,255,255,.03); --glass-tint:rgba(94,240,178,.30); --glass-sheen:rgba(255,255,255,.09);
  --sh-1:0 1px 2px rgba(0,0,0,.5),0 16px 36px -18px rgba(0,0,0,.85);
  --sh-2:0 2px 6px rgba(0,0,0,.5),0 44px 90px -34px rgba(0,0,0,.95);
  --sh-glass:inset 0 1px 0 rgba(255,255,255,.11),inset 0 -1px 0 rgba(255,255,255,.03),0 30px 70px -30px rgba(0,0,0,.9);
  --a1:#0E8A5C; --a2:#0B6F6B; --a3:#1FB07A; --a4:#3F7D16; --ao:.30;
  --grid:rgba(255,255,255,.035);
  --m-top-a:#3B4541; --m-top-b:#1C2220; --m-left-a:#161B19; --m-left-b:#0C0F0E; --m-right-a:#262D2A; --m-right-b:#151A18; --m-edge:#4F5B56; --m-fan:#161B19; --m-blade:#3A4440; --m-dark:#070A09; --m-hl:rgba(255,255,255,.30);
  color-scheme:dark;
  background:var(--bg); color:var(--ink);
}

/* ---------- base ---------- */
[hidden]{display:none!important}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--font);letter-spacing:-.003em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}
@media(min-width:720px){body{font-size:17px}}
::selection{background:color-mix(in srgb,var(--brand) 28%,transparent);color:var(--ink)}
a{color:inherit}
img,svg,canvas,video{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
p{margin:0}
h1,h2,h3,h4{margin:0;color:var(--ink);font-family:var(--font);text-wrap:balance}
h2,.h2{font-size:clamp(32px,4.4vw,56px);font-weight:620;letter-spacing:-.042em;line-height:1.03}
h3,.h3{font-size:clamp(18px,1.45vw,21px);font-weight:600;letter-spacing:-.02em;line-height:1.25}
:focus-visible{outline:2.5px solid var(--brand);outline-offset:3px;border-radius:8px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:absolute;left:16px;top:-80px;z-index:200;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:12px;text-decoration:none;font-weight:600}
.skip:focus{top:16px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:1220px;margin:0 auto;padding:0 18px}
@media(min-width:760px){.wrap{padding:0 32px}}
.mono{font-family:var(--mono);font-feature-settings:"tnum" 1,"zero" 1}
.muted{color:var(--ink-2)} .faint{color:var(--ink-3)} .small{font-size:14px} .tiny{font-size:12.5px}
.grad-text{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--ink-2);max-width:62ch}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brand-text)}
.eyebrow::before{content:"";width:18px;height:2px;border-radius:2px;background:var(--grad)}
.tick{animation:tick 1.1s var(--ease)}
@keyframes tick{0%{background:color-mix(in srgb,var(--mint) 40%,transparent);border-radius:4px}100%{background:transparent}}
.ph{background:color-mix(in srgb,var(--warn-fill) 30%,transparent);color:var(--ink);border-radius:5px;padding:0 5px;font-family:var(--mono);font-size:.88em;white-space:nowrap}
.ic{width:18px;height:18px;flex:none}

/* ---------- liquid glass ---------- */
.glass{position:relative;isolation:isolate;background:var(--glass);-webkit-backdrop-filter:blur(var(--blur,22px)) saturate(175%);backdrop-filter:blur(var(--blur,22px)) saturate(175%);box-shadow:var(--sh-glass);border-radius:var(--r)}
.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(520px circle at var(--mx,22%) var(--my,-12%),var(--glass-sheen),transparent 45%);transition:opacity .4s}
.glass::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;padding:1px;background:linear-gradient(145deg,var(--glass-rim-1),var(--glass-rim-2) 30%,var(--glass-tint) 64%,var(--glass-rim-1) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.glass.strong{--glass:var(--glass-2)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass{background:var(--glass-2)}}
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1)}
.lift{transition:transform .5s var(--spring),box-shadow .4s var(--ease),border-color .3s}
.lift:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}

/* aurora + grid backdrops */
.backdrop{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.aurora i{position:absolute;width:64vmax;height:64vmax;border-radius:50%;opacity:var(--ao);background:radial-gradient(closest-side,var(--c) 0%,transparent 72%);will-change:transform;animation:drift var(--t,28s) ease-in-out infinite alternate}
.aurora i:nth-child(1){--c:var(--a1);left:-20vmax;top:-30vmax;--t:26s}
.aurora i:nth-child(2){--c:var(--a2);right:-24vmax;top:-22vmax;--t:33s;animation-delay:-9s}
.aurora i:nth-child(3){--c:var(--a3);left:18%;top:28%;--t:30s;animation-delay:-15s}
.aurora i:nth-child(4){--c:var(--a4);right:2%;bottom:-36vmax;--t:37s;animation-delay:-4s}
@keyframes drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(6vmax,4vmax,0) scale(1.12)}100%{transform:translate3d(-5vmax,7vmax,0) scale(.94)}}
.gridlines{position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(75% 60% at 50% 28%,#000,transparent 78%);mask-image:radial-gradient(75% 60% at 50% 28%,#000,transparent 78%)}

/* ---------- buttons ---------- */
.btn{--h:48px;position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--h);padding:0 22px;border-radius:999px;border:0;font:600 15px/1 var(--font);letter-spacing:-.01em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform .4s var(--spring),box-shadow .3s var(--ease),background-color .3s,color .3s;-webkit-tap-highlight-color:transparent}
.btn:active{transform:scale(.97)}
.btn .ic{width:16px;height:16px;transition:transform .35s var(--spring)}
.btn:hover .i-arrow{transform:translateX(3px)}
.btn-primary{color:var(--on-brand);background:linear-gradient(180deg,#62F3B8 0%,#25CE8C 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(0,40,20,.25),0 12px 30px -12px rgba(52,227,154,.55),0 2px 5px rgba(52,227,154,.2)}
.btn-primary::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);transform:translateX(-130%);transition:transform .9s var(--ease)}
.btn-primary:hover::after{transform:translateX(130%)}
.btn-primary:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(0,40,20,.25),0 18px 40px -14px rgba(52,227,154,.7),0 2px 6px rgba(52,227,154,.3)}
.btn-glass{color:var(--ink);background:var(--glass);-webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);box-shadow:var(--sh-glass)}
.btn-glass:hover{background:var(--glass-2)}
.btn-ghost{color:var(--ink);background:transparent;box-shadow:inset 0 0 0 1px var(--line-2)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1px var(--ink-3);background:color-mix(in srgb,var(--ink) 4%,transparent)}
.btn-ink{color:var(--bg);background:var(--ink)}
.btn-sm{--h:38px;padding:0 16px;font-size:14px}
.btn-lg{--h:58px;padding:0 30px;font-size:16.5px}
.btn-block{width:100%}
.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}
.btn .spin{width:18px;height:18px;border-radius:50%;border:2px solid rgba(3,20,13,.25);border-top-color:#03140D;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--brand-text);text-decoration:none}
.link-arrow:hover{text-decoration:underline;text-underline-offset:4px}
.magnetic{will-change:transform}

/* ---------- nav ---------- */
.nav-wrap{position:fixed;top:12px;left:0;right:0;z-index:80;padding:0 12px;pointer-events:none}
.nav{pointer-events:auto;max-width:1180px;margin:0 auto;height:62px;border-radius:999px;display:flex;align-items:center;gap:10px;padding:0 9px 0 16px;--blur:22px;transition:background-color .4s var(--ease),box-shadow .4s var(--ease)}
.nav-wrap.scrolled .nav{--glass:var(--glass-2)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}
.brand-mark{width:32px;height:32px;filter:drop-shadow(0 4px 12px rgba(52,227,154,.28))}
.brand-word{font:650 19.5px/1 var(--font);letter-spacing:-.04em}
.nav-links{display:none;list-style:none;margin:0 auto;padding:0;gap:2px}
.nav-links a{display:block;padding:9px 13px;border-radius:999px;text-decoration:none;color:var(--ink-2);font-size:14.5px;font-weight:500;transition:background-color .2s,color .2s}
.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}
@media(min-width:1100px){.nav-links{display:flex}}
.nav-end{margin-left:auto;display:flex;align-items:center;gap:4px}
@media(min-width:1100px){.nav-end{margin-left:0}}
.live-pill{display:none;align-items:center;gap:8px;height:36px;padding:0 13px;border-radius:999px;font:500 13px var(--mono);color:var(--ink-2);text-decoration:none;background:color-mix(in srgb,var(--surface) 50%,transparent);box-shadow:inset 0 0 0 1px var(--line)}
@media(min-width:640px){.live-pill{display:inline-flex}}
.dot{position:relative;width:7px;height:7px;border-radius:50%;background:var(--ink-3);flex:none;display:inline-block}
.is-live .dot{background:var(--mint)}
.is-live .dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--mint);animation:ping 2.2s var(--ease) infinite}
@keyframes ping{from{transform:scale(1);opacity:.6}to{transform:scale(3);opacity:0}}
.icon-btn{width:40px;height:40px;border-radius:999px;display:inline-grid;place-items:center;border:0;background:transparent;color:var(--ink-2);cursor:pointer;transition:background-color .2s,color .2s}
.icon-btn:hover{background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink)}
.icon-btn svg{width:19px;height:19px}
.menu-btn{display:inline-grid}
@media(min-width:1100px){.menu-btn{display:none}}
.nav .btn-sm{margin-left:4px}
.sheet{pointer-events:auto;max-width:1180px;margin:8px auto 0;border-radius:26px;padding:10px;--glass:var(--glass-2)}
.sheet[hidden]{display:none}
.sheet a{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:16px;text-decoration:none;color:var(--ink);font-weight:550;font-size:17px}
.sheet a:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}
.sheet .btn{margin-top:8px}

/* mobile buy bar */
.buybar{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:70;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 18px;border-radius:999px;transform:translateY(160%);transition:transform .6s var(--spring)}
.buybar.show{transform:none}
.buybar p{flex:1;min-width:0;font-size:13.5px;line-height:1.25;color:var(--ink-2)}
.buybar b{display:block;color:var(--ink);font-size:15px}
@media(min-width:900px){.buybar{display:none}}

/* ---------- sections ---------- */
.section{position:relative;isolation:isolate;padding:clamp(84px,11vw,148px) 0}
.section.tight{padding:clamp(56px,7vw,96px) 0}
.section.alt{background:var(--bg-2)}
.section.clip{overflow:hidden}
.sec-head{display:grid;gap:16px;max-width:780px;margin-bottom:clamp(38px,5vw,64px)}
.sec-head.center{margin-inline:auto;text-align:center;justify-items:center}
.sec-head .lede{margin-inline:inherit}
.js .rv{opacity:0;transform:translate3d(0,26px,0);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
.js .rv-blur{filter:blur(8px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease);transition-delay:var(--d,0s)}
.js .rv-blur.in{filter:none}

/* ---------- hero ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(128px,15vw,172px) 0 clamp(72px,9vw,112px)}
.hero-grid{display:grid;gap:56px;align-items:center}
@media(min-width:1080px){.hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:36px}}
.hero-chip{display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 16px 0 12px;border-radius:999px;font:500 13px/1 var(--mono);color:var(--ink-2);text-decoration:none}
.hero-chip b{color:var(--ink);font-weight:600}
.hero-chip .sep{width:1px;height:14px;background:var(--line-2)}
.hero h1{margin:26px 0 24px;font-size:clamp(44px,5.8vw,84px);font-weight:640;letter-spacing:-.055em;line-height:.95}
.hero h1 .line{display:block}
.js .hero h1 .line{animation:rise 1.1s var(--ease) both;animation-delay:var(--d,0s)}
@keyframes rise{from{opacity:0;transform:translate3d(0,.45em,0);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
.js .hero .rise{animation:rise 1.1s var(--ease) both;animation-delay:var(--d,.3s)}
.hero .lede{max-width:56ch}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.trust{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;margin:30px 0 0;padding:0;font-size:14px;color:var(--ink-2)}
.trust li{display:flex;align-items:center;gap:8px}
.trust .ic{width:16px;height:16px;color:var(--gain)}
.stage{position:relative;width:100%;max-width:620px;margin:0 auto;aspect-ratio:1/0.98}
.stage .mach{position:absolute;left:8%;top:2%;width:86%;filter:drop-shadow(0 50px 70px rgba(0,0,0,.55))}
.stage .today{position:absolute;left:0;bottom:2%;z-index:3;width:min(330px,60%);padding:18px 18px 16px;border-radius:24px}
.stage .float-a{position:absolute;right:0;top:9%;padding:12px 14px;border-radius:18px;animation:float 7s ease-in-out infinite}
.stage .float-b{position:absolute;right:0;bottom:3%;z-index:2;padding:12px 14px;border-radius:18px;animation:float 8s ease-in-out -3s infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.today-h{display:flex;align-items:center;justify-content:space-between;gap:10px;font:500 12px/1 var(--mono);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}
.today-h .tl{display:inline-flex;align-items:center;gap:7px}
.today dl{margin:12px 0 0;padding:0;font:500 13.5px/1.5 var(--mono)}
.today dl div{display:flex;justify-content:space-between;gap:10px;padding:4px 0;color:var(--ink-2)}
.today dd{margin:0;color:var(--ink);white-space:nowrap}
.today .neg dd{color:var(--loss)}
.today .paid{margin:6px -8px;padding:7px 8px;border-radius:10px;background:color-mix(in srgb,var(--mint) 14%,transparent)}
.today .paid dd{color:var(--gain);font-weight:600}
.today-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.today-total span{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.today-total b{font-size:32px;font-weight:650;letter-spacing:-.04em;line-height:1}
.today small{display:block;margin-top:8px;font-size:11.5px;color:var(--ink-3)}
.float-row{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.3}
.float-row b{display:block;font-weight:600;color:var(--ink)}
.float-row span{color:var(--ink-3);font-family:var(--mono);font-size:12px}
.float-ico{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;color:var(--on-brand);background:var(--grad);box-shadow:0 8px 18px -8px rgba(52,227,154,.6)}
.float-ico.mint{background:linear-gradient(135deg,#A9DCFF,#5EF0B2)}
.float-ico .ic{width:17px;height:17px}
@media(max-width:899px){.stage .float-b{display:none}}
@media(max-width:560px){.stage .today{width:76%}.stage .float-a{top:0}}
@media(max-width:479px){.hero-chip .sep,.hero-chip .hp{display:none}}

/* machine illustration */
.mach .ft{fill:url(#mTop)} .mach .fl{fill:url(#mLeft)} .mach .fr{fill:url(#mRight)}
.mach .edge{fill:none;stroke:var(--m-edge);stroke-width:1.2;stroke-linejoin:round}
.mach .hl{fill:none;stroke:var(--m-hl);stroke-width:1.2;stroke-linecap:round}
.mach .cut{fill:var(--m-dark);opacity:.9;stroke:var(--m-edge);stroke-width:.8}
.mach .board{fill:color-mix(in srgb,var(--brand) 12%,var(--m-dark));stroke:color-mix(in srgb,var(--brand) 45%,transparent);stroke-width:.8}
.mach .chip{fill:url(#mChip);opacity:.35}
.mach .chip.on{animation:chipglow 2.6s ease-in-out infinite;animation-play-state:paused}
.mach.playing .chip.on{animation-play-state:running}
@keyframes chipglow{0%,100%{opacity:.28}50%{opacity:1}}
.mach .ring{fill:var(--m-fan);stroke:var(--m-edge);stroke-width:1.1}
.mach .blade{fill:var(--m-blade);stroke:var(--m-edge);stroke-width:.5}
.mach .hub{fill:var(--m-top-a);stroke:var(--m-edge);stroke-width:.9}
.mach .vent{stroke:var(--m-edge);stroke-width:1.2;stroke-linecap:round;opacity:.6}
.mach .plate{font:600 8.5px var(--mono);fill:var(--brand-text);letter-spacing:.08em}
.mach .shadow{fill:url(#mShadow)}
.mach .glow{fill:url(#mGlow)}

/* ---------- live stats ---------- */
.stats{display:grid;gap:14px}
@media(min-width:640px){.stats{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{display:flex;flex-direction:column;gap:6px;padding:22px;min-height:214px}
.stat .k{display:flex;justify-content:space-between;align-items:center;font:500 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.stat .v{margin-top:14px;font-size:clamp(30px,2.9vw,40px);font-weight:600;letter-spacing:-.045em;line-height:1.05;font-feature-settings:"tnum" 1}
.stat .v small{font-size:15px;font-weight:500;letter-spacing:0;color:var(--ink-3)}
.stat .u{font:500 13px var(--mono);color:var(--ink-3)}
.stat .s{margin-top:auto;padding-top:14px;font-size:14px;color:var(--ink-2)}
.stat .s b{color:var(--ink);font-weight:600}
.hashline{font:500 11.5px/1.5 var(--mono);color:var(--ink-3);word-break:break-all}
.hashline b,.hz b{color:var(--brand-text);font-weight:600}
.spark{width:100%;height:56px;margin-top:4px;overflow:visible}
.spark .sl{fill:none;stroke:url(#sparkGrad);stroke-width:2;vector-effect:non-scaling-stroke}
.spark .sa{fill:url(#sparkFill)}
.meter{height:8px;border-radius:99px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden;margin-top:12px}
.meter i{display:block;height:100%;border-radius:99px;background:var(--grad);width:64%;transition:width 1.2s var(--ease)}
.src{margin-top:20px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:500 13px var(--mono);color:var(--ink-3)}
.src a{color:var(--ink-2)}

/* ---------- steps ---------- */
.steps{position:relative;display:grid;gap:18px;list-style:none;margin:0;padding:0;counter-reset:s}
@media(min-width:900px){.steps{grid-template-columns:repeat(4,1fr);gap:22px}}
.steps::before{content:"";position:absolute;left:28px;right:28px;top:28px;height:2px;background:linear-gradient(90deg,var(--brand),var(--brand-2),var(--brand-3));transform-origin:0 50%;transform:scaleX(var(--prog,0));transition:transform 1.6s var(--ease);display:none}
@media(min-width:900px){.steps::before{display:block}}
.steps.in{--prog:1}
.step{position:relative;counter-increment:s}
.step-ico{position:relative;width:56px;height:56px;border-radius:18px;display:grid;place-items:center;color:var(--brand-text);margin-bottom:20px}
.step-ico .ic{width:24px;height:24px}
.step-ico::before{content:counter(s);position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:600 11px var(--mono);color:var(--on-brand);background:var(--grad)}
.step p{margin-top:8px;color:var(--ink-2);font-size:15.5px}

/* ---------- product ---------- */
.prod{display:grid;gap:24px;align-items:stretch}
@media(min-width:1060px){.prod{grid-template-columns:1.3fr 1fr}}
.drawing{position:relative;overflow:hidden;padding:14px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}
.drawing .gridlines{z-index:0}
.drawing svg{position:relative;width:100%;height:auto}
.dwg .lead{fill:none;stroke:var(--brand);stroke-width:1}
.dwg .ldot{fill:var(--brand)}
.dwg .lt{font:600 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;fill:var(--brand-text)}
.dwg .ld{font:400 12.5px var(--font);fill:var(--ink-2)}
.dwg .tb{fill:none;stroke:var(--line-2);stroke-width:1}
.dwg .tbt{font:500 9.5px var(--mono);fill:var(--ink-2);letter-spacing:.06em}
.dwg .tbt.b{fill:var(--ink);font-weight:600}
.dwg .air{fill:none;stroke:var(--ink-3);stroke-width:1.2;stroke-dasharray:2 4}
.dwg-specs{display:none;list-style:none;margin:10px 4px 2px;padding:0;gap:8px;grid-template-columns:1fr 1fr;font-size:13.5px;color:var(--ink-2)}
.dwg-specs b{color:var(--brand-text);font-family:var(--mono);font-weight:600}
@media(max-width:699px){.dwg .co{display:none}.dwg-specs{display:grid}}
.passport{display:flex;flex-direction:column;padding:clamp(22px,2.6vw,32px)}
.pp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.pp-head p{font:500 11.5px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.pp-head h3{margin-top:6px;font-size:24px}
.badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);background:color-mix(in srgb,var(--ink) 7%,transparent);box-shadow:inset 0 0 0 1px var(--line-2);white-space:nowrap}
.badge .ic{width:13px;height:13px}
.badge.mint{color:var(--gain);background:color-mix(in srgb,var(--mint) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mint) 35%,transparent)}
.rows{margin:6px 0 0;padding:0}
.rows div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.rows div:last-child{border-bottom:0}
.rows dt{font:500 12px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.rows dd{margin:0;font-size:15px}
.price-line{display:flex;align-items:baseline;gap:10px;margin-top:auto;padding-top:22px}
.price-line b{font-size:38px;font-weight:650;letter-spacing:-.045em}
.price-line span{color:var(--ink-3);font-size:14px}
.includes{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:22px 0 0;padding:0}
.includes li{display:flex;align-items:center;gap:8px;height:40px;padding:0 15px;border-radius:999px;font-size:14px;color:var(--ink-2);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.includes .ic{width:15px;height:15px;color:var(--gain)}

/* ---------- pricing ---------- */
.plans{display:grid;gap:18px;align-items:stretch}
@media(min-width:980px){.plans{grid-template-columns:repeat(3,1fr)}}
.plan{display:flex;flex-direction:column;gap:18px;padding:clamp(24px,2.4vw,32px);border-radius:var(--r-lg)}
.plan.feat{box-shadow:var(--sh-glass),0 0 0 1.5px color-mix(in srgb,var(--brand) 55%,transparent)}
.plan-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.plan h3{font-size:21px}
.plan .amt{font-size:clamp(38px,3.6vw,48px);font-weight:650;letter-spacing:-.05em;line-height:1}
.plan .amt small{display:block;margin-top:8px;font-size:14px;font-weight:500;letter-spacing:0;color:var(--ink-3)}
.plan dl{margin:0;padding:16px 0 0;border-top:1px solid color-mix(in srgb,var(--ink) 10%,transparent);display:grid;gap:10px;font-size:14.5px}
.plan dl div{display:flex;justify-content:space-between;gap:12px;color:var(--ink-2)}
.plan dd{margin:0;font-family:var(--mono);color:var(--ink);text-align:right}
.plan .est{padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--mint) 12%,transparent);font-size:13.5px;color:var(--ink-2)}
.plan .est b{font:600 16px var(--mono);color:var(--gain)}
.plan .btn{margin-top:auto}
.ratecard{display:grid;margin-top:22px;border-radius:var(--r);overflow:hidden}
@media(min-width:760px){.ratecard{grid-template-columns:repeat(4,1fr)}}
.ratecard div{padding:16px 18px;border-bottom:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}
@media(min-width:760px){.ratecard div{border-right:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}.ratecard div:nth-child(4n){border-right:0}.ratecard div:nth-last-child(-n+4){border-bottom:0}}
.ratecard span{display:block;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.ratecard b{display:block;margin-top:6px;font:600 15px var(--font);letter-spacing:-.01em}

/* ---------- calculator ---------- */
.sim{display:grid;gap:18px;align-items:start}
@media(min-width:1060px){.sim{grid-template-columns:390px minmax(0,1fr)}}
.controls{display:grid;gap:22px;padding:clamp(22px,2.4vw,30px)}
.flabel{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14.5px;font-weight:600}
.flabel output{font:600 14px var(--mono);color:var(--brand-text);text-align:right}
.hint{font-size:12.5px;color:var(--ink-3);line-height:1.45}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:30px;background:transparent;margin:0;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:9px;background:linear-gradient(90deg,var(--brand) 0,var(--brand-2) var(--p,50%),color-mix(in srgb,var(--ink) 12%,transparent) var(--p,50%))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;margin-top:-10px;background:linear-gradient(180deg,#fff,#EEF2FB);box-shadow:0 0 0 1px rgba(10,16,34,.12),0 6px 14px -4px rgba(30,41,99,.45),inset 0 1px 0 #fff;transition:transform .2s var(--spring)}
input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}
input[type=range]::-moz-range-track{height:6px;border-radius:9px;background:color-mix(in srgb,var(--ink) 12%,transparent)}
input[type=range]::-moz-range-progress{height:6px;border-radius:9px;background:var(--brand)}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;border:0;background:#fff;box-shadow:0 0 0 1px rgba(10,16,34,.12),0 6px 14px -4px rgba(30,41,99,.45)}
.seg{display:flex;gap:4px;padding:4px;border-radius:999px;background:color-mix(in srgb,var(--ink) 6%,transparent)}
.seg label{flex:1;position:relative}
.seg input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}
.seg span{display:block;text-align:center;padding:9px 6px;border-radius:999px;font-size:14px;font-weight:600;color:var(--ink-2);transition:all .3s var(--ease)}
.seg input:checked+span{background:var(--surface);color:var(--ink);box-shadow:var(--sh-1)}
.seg input:focus-visible+span{outline:2.5px solid var(--brand);outline-offset:2px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.live-note{font-size:13px;color:var(--ink-3);padding-top:16px;border-top:1px solid var(--line);line-height:1.5}
.live-note b{color:var(--ink);font-family:var(--mono);font-weight:600}
.results{display:grid;gap:18px;padding:clamp(22px,2.4vw,30px)}
.verdict{border-radius:18px;padding:20px 22px;background:color-mix(in srgb,var(--loss) 8%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--loss) 28%,transparent)}
.verdict[data-tone=good]{background:color-mix(in srgb,var(--mint) 10%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mint) 38%,transparent)}
.verdict[data-tone=mid]{background:color-mix(in srgb,var(--warn-fill) 12%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warn-fill) 45%,transparent)}
.v-k{font:500 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.v-title{margin:8px 0;font-size:clamp(30px,3.2vw,42px);font-weight:650;letter-spacing:-.045em;line-height:1;color:var(--loss)}
.verdict[data-tone=good] .v-title{color:var(--gain)}
.verdict[data-tone=mid] .v-title{color:var(--warn)}
.v-text{color:var(--ink-2);max-width:66ch}
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:640px){.kpis{grid-template-columns:repeat(4,1fr)}}
.kpi{padding:14px;border-radius:14px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}
.kpi span{display:block;font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.kpi b{display:block;margin-top:8px;font:600 clamp(18px,1.9vw,23px)/1.1 var(--mono);letter-spacing:-.03em;white-space:nowrap}
.chart-wrap{position:relative}
.chart{width:100%;display:block;overflow:visible;touch-action:pan-y}
.chart .gl{stroke:var(--line);stroke-width:1}
.chart .zl{stroke:var(--ink-3);stroke-width:1.2}
.chart .yl{fill:var(--ink-3);font:11px var(--mono);text-anchor:end}
.chart .xl{fill:var(--ink-3);font:11px var(--mono);text-anchor:middle}
.chart .ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chart .ln.you{stroke:var(--brand);stroke-width:3.4}
.chart .ln.bull{stroke:var(--sky)}
.chart .ln.flat{stroke:var(--ink-3);opacity:.75}
.chart .ln.bear{stroke:var(--loss);opacity:.75}
.chart .area{fill:url(#areaGrad)}
.chart .hl{stroke:var(--ink-2);stroke-dasharray:4 4}
.chart .hlt{fill:var(--ink-2);font:600 11px var(--mono)}
.chart .lab{font:600 11px var(--mono)}
.chart .guide{stroke:var(--ink-3);stroke-width:1}
.chart .hdot{fill:var(--brand);stroke:var(--surface);stroke-width:2.5}
.chart .pdot{fill:var(--surface);stroke:var(--brand);stroke-width:2.5}
.tip{position:absolute;top:0;pointer-events:none;padding:8px 11px;border-radius:12px;font:500 12px/1.5 var(--mono);white-space:nowrap;transform:translate(-50%,-115%);color:var(--ink);--glass:var(--glass-2)}
.legend{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin:0;padding:0;font:500 12.5px var(--mono);color:var(--ink-2)}
.legend li{display:flex;align-items:center;gap:8px}
.legend i{width:18px;height:3px;border-radius:3px;display:inline-block}
.assume{border-top:1px solid var(--line);padding-top:14px}
.assume summary{cursor:pointer;font-weight:600;font-size:14.5px}
.assume ul{margin:10px 0 0;padding-left:18px;color:var(--ink-2);font-size:14px;display:grid;gap:4px}

/* kWh flow tiles */
.flow{display:grid;gap:12px;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;margin:0 -2px;list-style:none}
.flow li{scroll-snap-align:start;position:relative;padding:20px;border-radius:20px;min-height:200px;display:flex;flex-direction:column;gap:10px}
.flow .n{font-size:clamp(26px,2.4vw,32px);font-weight:620;letter-spacing:-.04em;line-height:1.05}
.flow .n small{font-size:.5em;font-weight:500;letter-spacing:0;color:var(--ink-3)}
.flow h3{font-size:16px}
.flow p{font-size:14px;color:var(--ink-2)}
.flow .stepn{font:500 11px var(--mono);letter-spacing:.14em;color:var(--brand-text)}

/* ---------- demo (band-dark) ---------- */
.demo-grid{display:grid;gap:16px}
@media(min-width:1000px){.demo-grid{grid-template-columns:1fr 1fr}}
.panel{padding:clamp(20px,2.4vw,30px)}
.step-tag{font:600 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brand-text);margin-bottom:14px}
.panel h3{margin-bottom:10px}
.panel .muted{font-size:15px}
.hdr{margin:18px 0 12px;padding:16px;border-radius:14px;background:color-mix(in srgb,#000 30%,transparent);box-shadow:inset 0 0 0 1px var(--line);font:500 13px/1.75 var(--mono);word-break:break-all;letter-spacing:.02em}
.h-ver{color:#9AA39F}.h-prev{color:#7CC8FF}.h-merkle{color:#C4B5FD}.h-time{color:#FFD60A}.h-bits{color:#5EF0B2}.h-nonce{color:#D4FF7A;background:rgba(212,255,122,.14);border-radius:3px}
.legend-h{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;margin:0;padding:0;font:500 12px var(--mono);color:var(--ink-2)}
.legend-h li{display:flex;align-items:center;gap:6px}
.legend-h i{width:10px;height:10px;border-radius:3px;display:inline-block}
.decode{margin-top:14px;display:grid;gap:4px;font:13px/1.5 var(--mono);color:var(--ink-2)}
.decode b{color:var(--ink);font-weight:500}
.verify-out{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.bigline{font:500 13.5px/1.6 var(--mono);word-break:break-all;color:var(--ink-2);margin-top:6px}
.bigline b{color:var(--brand-text);font-weight:600}
.okline{margin-top:12px;display:flex;gap:10px;align-items:flex-start;font-size:15px}
.okline i{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:#04120C;font-style:normal;font-weight:700;font-size:12px;margin-top:1px}
.okline[data-ok=false] i{background:var(--warn)}
.mstats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 0;padding:0}
.mstats div{padding:12px;border-radius:14px;background:color-mix(in srgb,#000 25%,transparent);box-shadow:inset 0 0 0 1px var(--line)}
.mstats dt{font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.mstats dd{margin:6px 0 0;font:600 clamp(16px,1.8vw,21px)/1.1 var(--mono);letter-spacing:-.02em;white-space:nowrap}
.zbar{height:6px;border-radius:9px;background:color-mix(in srgb,#fff 8%,transparent);margin:16px 0 4px;overflow:hidden}
.zbar i{display:block;height:100%;width:0;background:var(--grad);transition:width .3s}
.tapelist{list-style:none;margin:12px 0 0;padding:0;font:12px/1.7 var(--mono);color:var(--ink-3);height:104px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}
.tapelist li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.try .btn{margin:22px 0 4px}
.btn.on{background:var(--ink);color:var(--bg);box-shadow:none}
.lbars{display:grid;gap:14px;margin-top:18px}
.lbar{display:grid;grid-template-columns:110px 1fr;gap:6px 16px;align-items:center;font-size:14px}
@media(min-width:640px){.lbar{grid-template-columns:150px 1fr 120px}}
.lbar b{font:600 14px var(--mono)}
@media(min-width:640px){.lbar b{text-align:right}}
.ltrack{height:10px;border-radius:99px;background:color-mix(in srgb,#fff 7%,transparent);overflow:hidden}
.ltrack i{display:block;height:100%;border-radius:99px;background:var(--grad);transition:width 1s var(--ease)}
.punch{margin-top:20px;font-size:clamp(17px,1.6vw,20px);line-height:1.5;max-width:72ch}
.punch b{color:var(--brand-text);font-weight:600}

/* ---------- checker ---------- */
.chk{display:grid;gap:18px;align-items:start}
@media(min-width:960px){.chk{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}
.chk-form{display:grid;gap:18px;padding:clamp(22px,2.4vw,30px)}
.chk-out{display:grid;gap:18px;padding:clamp(22px,2.4vw,30px)}
.stamp-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.stamp{display:inline-block;font:700 clamp(18px,2.2vw,26px)/1 var(--font);letter-spacing:.04em;text-transform:uppercase;padding:11px 18px;border-radius:12px;color:var(--loss);border:3px solid currentColor;transform:rotate(-3deg);box-shadow:inset 0 0 0 2px var(--surface),inset 0 0 0 4px currentColor;background:color-mix(in srgb,currentColor 7%,transparent)}
.stamp[data-tone=warn]{color:var(--warn)}
.stamp[data-tone=ok]{color:var(--gain)}
.stamp.slam{animation:slam .55s var(--spring)}
@keyframes slam{from{transform:rotate(-10deg) scale(1.7);opacity:0}to{transform:rotate(-3deg) scale(1);opacity:1}}
.tests{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tests li{display:grid;grid-template-columns:30px 1fr;gap:12px;padding:16px;border-radius:16px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}
.tests i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:700 14px/1 var(--font);font-style:normal;color:#fff;background:var(--loss)}
.tests li[data-s=warn] i{background:var(--warn-fill);color:#2A1E00}
.tests li[data-s=ok] i{background:var(--gain);color:var(--on-brand)}
.tests b{display:block;font-size:15.5px;margin-bottom:2px}
.tests p{font-size:14.5px;color:var(--ink-2)}
.flags{display:grid;gap:10px;margin-top:36px;counter-reset:f}
@media(min-width:640px){.flags{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1060px){.flags{grid-template-columns:repeat(4,1fr)}}
.flag{padding:18px;border-radius:18px;counter-increment:f}
.flag::before{content:"0" counter(f);display:block;font:600 12px var(--mono);color:var(--loss);margin-bottom:10px}
.flag b{display:block;font-size:16.5px;font-weight:600;letter-spacing:-.015em;margin-bottom:6px}
.flag p{font-size:14px;color:var(--ink-2)}
.flag.more{display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(140deg,color-mix(in srgb,var(--brand) 20%,var(--surface)),var(--surface));color:var(--ink);text-decoration:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 35%,transparent)}
.flag.more::before{content:"→";color:var(--brand-text)}
.flag.more b{color:var(--ink)}
.flag.more p{color:var(--ink-2)}

/* ---------- chain ---------- */
.chain{list-style:none;margin:0;padding:0;display:grid;gap:22px}
@media(min-width:1100px){.chain{grid-template-columns:repeat(5,1fr);gap:18px}}
.blk{position:relative;padding:18px;border-radius:18px;display:flex;flex-direction:column;gap:10px}
.blk::after{content:"";position:absolute;left:30px;bottom:-23px;width:2px;height:24px;background:repeating-linear-gradient(var(--line-2) 0 4px,transparent 4px 7px)}
.blk:last-child::after{display:none}
@media(min-width:1100px){.blk::after{left:auto;right:-19px;bottom:auto;top:42px;width:20px;height:2px;background:repeating-linear-gradient(90deg,var(--line-2) 0 4px,transparent 4px 7px)}}
.bh{display:flex;justify-content:space-between;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.bh b{color:var(--brand-text)}
.blk h3{font-size:18px}
.blk p{font-size:14.5px;color:var(--ink-2)}
.bx{margin-top:auto;padding-top:10px;border-top:1px dashed var(--line-2);display:grid;gap:3px;font:11px/1.5 var(--mono);color:var(--ink-3);word-break:break-all}
.bx span{color:var(--ink-2)}

/* ---------- faq / learn / final ---------- */
.faq{display:grid;gap:10px;max-width:920px}
.faq details{border-radius:18px;padding:0 22px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .3s}
.faq details[open]{box-shadow:inset 0 0 0 1px var(--line-2),var(--sh-1)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-size:clamp(16.5px,1.4vw,18px);font-weight:600;letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--brand) 10%,transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3v10M3 8h10' stroke='%2334E39A' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .35s var(--spring)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 22px;color:var(--ink-2);max-width:74ch}
.learn{display:grid;gap:16px}
@media(min-width:860px){.learn{grid-template-columns:repeat(3,1fr)}}
.lcard{display:flex;flex-direction:column;gap:12px;padding:26px;border-radius:var(--r-lg);text-decoration:none;color:inherit}
.lcard .tag{font:500 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brand-text)}
.lcard h3{font-size:22px}
.lcard p{color:var(--ink-2);font-size:15px}
.lcard .meta{margin-top:auto;padding-top:14px;font:500 12.5px var(--mono);color:var(--ink-3);display:flex;justify-content:space-between}
.final{text-align:center}
.final-card{max-width:980px;margin:0 auto;padding:clamp(40px,7vw,88px) clamp(22px,5vw,64px);border-radius:36px;display:grid;justify-items:center;gap:22px}
.final h2{font-size:clamp(40px,6.6vw,84px);font-weight:650;letter-spacing:-.055em;line-height:.96}
.final .lede{margin:0 auto;text-align:center}
.final .brand-mark{width:72px;height:72px}

/* ---------- footer ---------- */
.foot{position:relative;padding:72px 0 40px;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-2);background:var(--bg)}
.foot-grid{display:grid;gap:36px}
@media(min-width:900px){.foot-grid{grid-template-columns:1.6fr repeat(4,1fr)}}
.foot h4{margin:0 0 14px;font:500 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot a{text-decoration:none}
.foot a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.foot .about{max-width:40ch;margin-top:16px}
.foot-base{margin-top:48px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;font-size:13px;color:var(--ink-3)}
.risk{margin-top:18px;font-size:12.5px;line-height:1.65;color:var(--ink-3);max-width:118ch}
.toast{position:fixed;left:50%;bottom:24px;z-index:90;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;font-size:14px;font-weight:500;transform:translate(-50%,24px);opacity:0;transition:all .5s var(--spring);max-width:calc(100vw - 32px);--glass:var(--glass-2)}
.toast.show{transform:translate(-50%,0);opacity:1}

/* ---------- forms (buy, checkout) ---------- */
.field{display:grid;gap:7px}
.label{font-size:14px;font-weight:550;color:var(--ink)}
.label .opt{font-weight:400;color:var(--ink-3)}
.input,.select{width:100%;height:52px;padding:0 16px;border-radius:14px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font:400 16px var(--font);transition:border-color .2s,box-shadow .2s}
.input.mono{font-family:var(--mono);font-size:15px}
.input::placeholder{color:color-mix(in srgb,var(--ink-3) 75%,transparent)}
.input:focus,.select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 18%,transparent)}
.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--loss);box-shadow:0 0 0 4px color-mix(in srgb,var(--loss) 12%,transparent)}
.select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%235D6884' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px}
.err{font-size:13px;color:var(--loss);display:none}
.err.show{display:block}
.ok-msg{font-size:13px;color:var(--gain);display:none}
.ok-msg.show{display:block}
.grid-2{display:grid;gap:14px}
@media(min-width:620px){.grid-2{grid-template-columns:1fr 1fr}}
.check{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;font-size:14.5px;color:var(--ink-2);cursor:pointer;line-height:1.5}
.check input{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:0;border-radius:7px;border:1.5px solid var(--line-2);background:var(--surface);display:grid;place-items:center;cursor:pointer;transition:background-color .2s,border-color .2s}
.check input:checked{background:var(--brand);border-color:var(--brand)}
.check input:checked::after{content:"";width:6px;height:11px;border:solid var(--on-brand);border-width:0 2px 2px 0;transform:translate(0,-1px) rotate(45deg)}
.check input[aria-invalid=true]{border-color:var(--loss)}
.check a{color:var(--brand-text)}
.radio-card{position:relative;display:grid;grid-template-columns:22px 44px 1fr auto;gap:14px;align-items:center;padding:16px 18px;border-radius:18px;border:1px solid var(--line-2);background:var(--surface);cursor:pointer;transition:border-color .25s,box-shadow .25s,background-color .25s}
.radio-card:hover{border-color:var(--ink-3)}
.radio-card:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent);background:color-mix(in srgb,var(--brand) 4%,var(--surface))}
.radio-card input{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:0;border-radius:50%;border:1.5px solid var(--line-2);transition:border .2s}
.radio-card input:checked{border:6px solid var(--brand)}
.radio-card .pm-ico{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);color:var(--brand-text)}
.radio-card .pm-ico .ic{width:22px;height:22px}
.radio-card b{display:block;font-size:15.5px;font-weight:600}
.radio-card span.d{display:block;font-size:13.5px;color:var(--ink-3)}
.radio-card .tagr{font:500 11px var(--mono);letter-spacing:.06em;color:var(--ink-3);text-align:right}
.stepper{display:inline-flex;align-items:center;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-2);padding:4px}
.stepper button{width:40px;height:40px;border-radius:50%;border:0;background:transparent;color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:background-color .2s}
.stepper button:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.stepper button:disabled{opacity:.35;cursor:not-allowed}
.stepper input{width:52px;text-align:center;border:0;background:transparent;font:600 18px var(--mono);color:var(--ink);-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.stepper .ic{width:16px;height:16px}
.quick{display:flex;flex-wrap:wrap;gap:8px}
.quick button{height:36px;padding:0 14px;border-radius:999px;border:0;background:color-mix(in srgb,var(--ink) 6%,transparent);font:600 13.5px var(--font);color:var(--ink-2);cursor:pointer;transition:all .2s}
.quick button[aria-pressed=true]{background:var(--ink);color:var(--bg)}

/* ---------- buy page ---------- */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font:500 13px var(--mono);color:var(--ink-3)}
.crumbs a{text-decoration:none;color:var(--ink-2)}
.crumbs a:hover{text-decoration:underline}
.buy-hero{padding:clamp(112px,13vw,140px) 0 48px;position:relative;isolation:isolate;overflow:hidden}
.buy-grid{display:grid;gap:28px;align-items:start}
@media(min-width:1060px){.buy-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px}}
.gallery{position:relative;border-radius:var(--r-lg);padding:20px;overflow:hidden;min-height:420px;display:grid;place-items:center}
.gallery .mach{width:min(560px,100%)}
.gal-tabs{position:absolute;left:16px;top:16px;display:flex;gap:6px;z-index:2}
.gal-tabs button{height:34px;padding:0 13px;border-radius:999px;border:0;font:600 13px var(--font);color:var(--ink-2);background:color-mix(in srgb,var(--surface) 60%,transparent);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer}
.gal-tabs button[aria-selected=true]{background:var(--ink);color:var(--bg);box-shadow:none}
.gal-view[hidden]{display:none}
.gal-cap{position:absolute;right:16px;bottom:14px;font:500 12px var(--mono);color:var(--ink-3)}
.buy-title h1{margin:14px 0 12px;font-size:clamp(34px,4.6vw,56px);font-weight:640;letter-spacing:-.05em;line-height:1}
.rating-free{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.config{position:sticky;top:96px;padding:clamp(22px,2.4vw,30px);border-radius:var(--r-lg);display:grid;gap:20px}
.config-price{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.config-price b{font-size:40px;font-weight:650;letter-spacing:-.05em;line-height:1}
.config-price span{color:var(--ink-3);font-size:14px}
.qty-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.nudge{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--brand) 8%,transparent);font-size:13.5px;color:var(--ink-2)}
.nudge .ic{color:var(--brand-text);margin-top:2px}
.nudge.done{background:color-mix(in srgb,var(--mint) 12%,transparent)}
.nudge.done .ic{color:var(--gain)}
.sum{margin:0;padding:0;display:grid;gap:9px;font-size:14.5px}
.sum div{display:flex;justify-content:space-between;gap:12px;color:var(--ink-2)}
.sum dd{margin:0;font-family:var(--mono);color:var(--ink);text-align:right}
.sum .tot{padding-top:12px;margin-top:4px;border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent);color:var(--ink);font-weight:600}
.sum .tot dd{font-size:20px;font-weight:600;letter-spacing:-.02em}
.sum .later{font-size:13px}
.est-box{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.est-box div{padding:12px;border-radius:14px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}
.est-box span{display:block;font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.est-box b{display:block;margin-top:6px;font:600 18px var(--mono);letter-spacing:-.02em}
.pay-icons{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-3)}
.pay-icons span{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line)}
.pay-icons .ic{width:14px;height:14px}
.feature-grid{display:grid;gap:14px}
@media(min-width:760px){.feature-grid{grid-template-columns:repeat(3,1fr)}}
.feature{padding:24px;border-radius:var(--r)}
.feature .fi{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:var(--on-brand);background:var(--grad);box-shadow:0 10px 22px -10px rgba(52,227,154,.55);margin-bottom:16px}
.feature .fi .ic{width:21px;height:21px}
.feature p{margin-top:6px;color:var(--ink-2);font-size:15px}
.spec-table{width:100%;border-collapse:collapse;font-size:15px}
.spec-table th,.spec-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line)}
.spec-table th{width:42%;font-weight:500;color:var(--ink-2)}
.spec-table td{font-family:var(--mono);color:var(--ink)}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:0}
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:0}
.timeline li{position:relative;display:grid;grid-template-columns:44px 1fr;gap:16px;padding-bottom:26px}
.timeline li::before{content:"";position:absolute;left:21px;top:44px;bottom:0;width:2px;background:linear-gradient(var(--line-2),var(--line))}
.timeline li:last-child::before{display:none}
.tl-dot{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:var(--brand-text);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-2)}
.tl-dot .ic{width:20px;height:20px}
.timeline li.done .tl-dot{background:var(--gain);color:var(--on-brand);box-shadow:none}
.timeline li.now .tl-dot{background:var(--brand);color:var(--on-brand);box-shadow:0 0 0 6px color-mix(in srgb,var(--brand) 18%,transparent)}
.timeline h3{font-size:17px;margin-top:2px}
.timeline p{font-size:14.5px;color:var(--ink-2);margin-top:4px}
.timeline .when{font:500 12px var(--mono);color:var(--ink-3)}
.mbar{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:70;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 18px;border-radius:999px}
.mbar p{flex:1;min-width:0;font-size:13px;color:var(--ink-3);line-height:1.25}
.mbar b{display:block;font-size:17px;color:var(--ink);letter-spacing:-.02em}
@media(min-width:1060px){.mbar{display:none}}

/* ---------- checkout ---------- */
.co-top{position:sticky;top:0;z-index:60;border-bottom:1px solid var(--line);--glass:var(--glass-2);border-radius:0}
.co-top::after{display:none}
.co-top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:68px}
.co-secure{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:550;color:var(--ink-2)}
.co-secure .ic{color:var(--gain)}
.testmode{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;font-size:13.5px;font-weight:500;color:#2A1E00;background:linear-gradient(90deg,#F6C94A,#FFE08A);text-align:center}
.co{display:grid;gap:32px;padding-top:36px;padding-bottom:96px;align-items:start}
@media(min-width:1000px){.co{grid-template-columns:minmax(0,1fr) 420px;gap:48px}}
.co-steps{display:flex;align-items:center;gap:10px;list-style:none;margin:0 0 26px;padding:0;font-size:13.5px;font-weight:550;color:var(--ink-3);flex-wrap:wrap}
.co-steps li{display:flex;align-items:center;gap:8px}
.co-steps li+li::before{content:"";width:22px;height:1px;background:var(--line-2);margin-right:2px}
.co-steps .n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:600 12px var(--mono);box-shadow:inset 0 0 0 1.5px var(--line-2)}
.co-steps li.on{color:var(--ink)}
.co-steps li.on .n{background:var(--brand);color:var(--on-brand);box-shadow:none}
.co-steps li.done .n{background:var(--gain);color:var(--on-brand);box-shadow:none}
.co-steps button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.co-steps button:focus-visible{outline:2.5px solid var(--brand);outline-offset:3px;border-radius:6px}
.co-panel{display:grid;gap:18px}
.co-panel[hidden]{display:none}
.js .co-panel.enter{animation:panelIn .55s var(--ease) both}
@keyframes panelIn{from{opacity:0;transform:translate3d(18px,0,0)}to{opacity:1;transform:none}}
.co h1{font-size:clamp(28px,3vw,36px);font-weight:640;letter-spacing:-.04em}
.co-panel h2{font-size:22px;font-weight:620;letter-spacing:-.03em}
.co-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px}
.co-box{padding:20px;border-radius:18px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.addr-ok{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--gain)}
.co-sum{position:sticky;top:92px;padding:24px;border-radius:var(--r-lg);display:grid;gap:18px}
.co-item{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center}
.co-thumb{width:64px;height:64px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 16%,var(--surface)),color-mix(in srgb,var(--brand-3) 16%,var(--surface)));box-shadow:inset 0 0 0 1px var(--line);position:relative}
.co-thumb svg{width:50px}
.co-thumb .q{position:absolute;top:-7px;right:-7px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;font:600 11.5px var(--mono);color:var(--bg);background:var(--ink-2)}
.co-item b{display:block;font-size:15px}
.co-item span{font-size:13px;color:var(--ink-3)}
.co-sum-toggle{display:none}
@media(max-width:999px){
  .co-sum{position:static;order:-1}
  .co-sum-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:transparent;padding:0;cursor:pointer;font:600 15px var(--font);color:var(--brand-text)}
  .co-sum.collapsed .co-sum-body{display:none}
}
.secure-list{display:grid;gap:8px;font-size:13px;color:var(--ink-3)}
.secure-list span{display:flex;align-items:center;gap:8px}
.secure-list .ic{width:15px;height:15px;color:var(--gain)}

/* ---------- success ---------- */
.ok-hero{padding:clamp(120px,14vw,160px) 0 40px;text-align:center;position:relative;isolation:isolate;overflow:hidden}
.ok-badge{width:104px;height:104px;margin:0 auto 26px;border-radius:34px;display:grid;place-items:center}
.ok-badge svg{width:52px;height:52px}
.ok-badge path{fill:none;stroke:var(--gain);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:drawck .9s var(--ease) .35s forwards}
@keyframes drawck{to{stroke-dashoffset:0}}
.ok-hero h1{font-size:clamp(38px,5.6vw,68px);font-weight:640;letter-spacing:-.05em;line-height:1}
.order-no{display:inline-flex;align-items:center;gap:10px;margin-top:22px;height:44px;padding:0 8px 0 18px;border-radius:999px;font:600 15px var(--mono)}
.ok-grid{display:grid;gap:20px;padding-bottom:96px;align-items:start}
@media(min-width:1000px){.ok-grid{grid-template-columns:1.1fr .9fr}}
.wire{display:grid;gap:0;margin-top:10px;border-radius:16px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.wire div{display:grid;grid-template-columns:140px 1fr auto;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);font-size:14.5px}
.wire div:last-child{border-bottom:0}
.wire span{color:var(--ink-3);font-size:13px}
.wire b{font-family:var(--mono);font-weight:500;word-break:break-all}
.copy{border:0;background:transparent;color:var(--brand-text);cursor:pointer;font:600 12.5px var(--font);padding:6px 8px;border-radius:8px}
.copy:hover{background:color-mix(in srgb,var(--brand) 10%,transparent)}
#confetti{position:fixed;inset:0;pointer-events:none;z-index:95}

/* ---------- payouts ledger ---------- */
.ledger-stats{display:grid;gap:14px;margin-bottom:22px}
@media(min-width:760px){.ledger-stats{grid-template-columns:repeat(4,1fr)}}
.ledger-stats div{padding:20px;border-radius:var(--r)}
.ledger-stats span{display:block;font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.ledger-stats b{display:block;margin-top:10px;font-size:28px;font-weight:620;letter-spacing:-.04em;font-feature-settings:"tnum" 1}
.ledger{border-radius:var(--r-lg);overflow:hidden}
.ledger-head,.ledger-row{display:grid;grid-template-columns:1.1fr 1.6fr 1fr .9fr auto;gap:16px;align-items:center;padding:14px 22px}
.ledger-head{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
.ledger-row{border-bottom:1px solid color-mix(in srgb,var(--ink) 7%,transparent);font-size:14.5px}
.ledger-row:last-child{border-bottom:0}
.ledger-row .amt{font-family:var(--mono);font-weight:600;color:var(--gain)}
.ledger-row .when{font-family:var(--mono);color:var(--ink-2);font-size:13.5px}
.addr{font-family:var(--mono);font-size:14px;white-space:nowrap;display:inline-flex;align-items:center}
.addr .vis{color:var(--ink)}
.addr .mask{filter:blur(4.5px);opacity:.75;user-select:none;-webkit-user-select:none;pointer-events:none;color:var(--ink-2)}
.ledger-row a.tx{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--brand-text);text-decoration:none;white-space:nowrap}
.ledger-row a.tx:hover{text-decoration:underline}
.ledger-row .sample{font:600 10px var(--mono);letter-spacing:.1em;color:#2A1E00;background:var(--warn-fill);border-radius:6px;padding:2px 6px;margin-left:8px}
@media(max-width:820px){
  .ledger-head{display:none}
  .ledger-row{grid-template-columns:1fr auto;gap:6px 12px;padding:16px 18px}
  .ledger-row .when{grid-column:1/-1}
}
.empty{padding:clamp(36px,6vw,64px) 24px;text-align:center;display:grid;justify-items:center;gap:14px}
.empty .ei{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;color:var(--on-brand);background:var(--grad);box-shadow:0 14px 30px -12px rgba(52,227,154,.55)}
.empty .ei .ic{width:28px;height:28px}
.empty p{max-width:56ch;color:var(--ink-2)}
.sample-banner{display:flex;gap:10px;align-items:center;justify-content:center;padding:10px 16px;margin-bottom:16px;border-radius:14px;font-size:14px;font-weight:600;color:#2A1E00;background:linear-gradient(90deg,#F6C94A,#FFE08A)}

/* ---------- prose (articles, legal) ---------- */
.article-layout{display:grid;gap:48px;padding:clamp(112px,13vw,136px) 0 96px}
@media(min-width:1080px){.article-layout{grid-template-columns:minmax(0,720px) 1fr;gap:72px;align-items:start}}
.article-layout .kick{margin-top:26px;font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brand-text)}
.article-layout article h1{margin:14px 0 18px;font-size:clamp(36px,5.2vw,60px);font-weight:640;letter-spacing:-.05em;line-height:1.02}
.article-layout .meta{margin-top:20px;padding-bottom:28px;border-bottom:1px solid var(--line);font:500 13px var(--mono);color:var(--ink-3);display:flex;flex-wrap:wrap;gap:6px 18px}
.article-layout article h2{margin:56px 0 14px;font-size:clamp(26px,2.8vw,34px);font-weight:620;letter-spacing:-.035em;line-height:1.1;scroll-margin-top:100px}
.article-layout article h3{margin:30px 0 8px;font-size:20px}
.article-layout article p,.article-layout article li{color:var(--ink-2)}
.article-layout article p{margin:14px 0}
.article-layout article strong{color:var(--ink);font-weight:600}
.article-layout article ul,.article-layout article ol{padding-left:22px;margin:14px 0}
.article-layout article li{margin:6px 0}
.article-layout article a{color:var(--brand-text);text-underline-offset:3px}
.tldr{margin:28px 0 8px;padding:22px 24px;border-radius:18px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-left:4px solid var(--brand)}
.tldr p{margin:0!important;color:var(--ink)!important}
.tldr b{display:block;margin-bottom:10px;font:500 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brand-text)}
.formula{margin:20px 0;padding:22px;border-radius:16px;background:#0B0F0D;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);color:#E8EFEA;font:500 clamp(14px,1.6vw,16.5px)/1.6 var(--mono);overflow-x:auto}
.formula small{display:block;margin-top:8px;color:#8E9893;font-size:12.5px}
.tablewrap{margin:20px 0;overflow-x:auto;border-radius:16px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.tablewrap table{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
.tablewrap th,.tablewrap td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}
.tablewrap th{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2)}
.tablewrap td.n{font-family:var(--mono);text-align:right;white-space:nowrap;color:var(--ink)}
.tablewrap th.n{text-align:right}
.tablewrap tr:last-child td{border-bottom:0}
.note{font-size:13.5px!important;color:var(--ink-3)!important}
.live{display:grid;gap:12px;margin:24px 0;padding:22px;border-radius:20px;background:var(--glass);-webkit-backdrop-filter:blur(20px) saturate(170%);backdrop-filter:blur(20px) saturate(170%);box-shadow:var(--sh-glass)}
.live .lk{display:flex;align-items:center;gap:8px;font:500 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.live .lk i{width:8px;height:8px;border-radius:50%;background:var(--mint);display:inline-block}
.live .lv{font-size:clamp(32px,4vw,46px);font-weight:640;letter-spacing:-.045em;line-height:1}
.live .lv small{font-size:.42em;font-weight:500;letter-spacing:0;color:var(--ink-3)}
.live .ls{font-size:14.5px;color:var(--ink-2)}
.live .bar{height:10px;border-radius:99px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden}
.live .bar i{display:block;height:100%;width:64%;border-radius:99px;background:var(--grad)}
.checks{list-style:none;padding:0!important}
.checks li{position:relative;padding-left:32px}
.checks li::before{content:"";position:absolute;left:0;top:5px;width:20px;height:20px;border-radius:7px;box-shadow:inset 0 0 0 2px var(--brand)}
ol.flags{counter-reset:f;list-style:none;padding:0!important;display:block}
ol.flags li{counter-increment:f;position:relative;padding:14px 16px 14px 56px;border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);margin:10px 0}
ol.flags li::before{content:"0" counter(f);position:absolute;left:16px;top:15px;font:600 13px var(--mono);color:var(--loss)}
aside.side{position:sticky;top:100px;display:grid;gap:16px}
@media(max-width:1079px){aside.side{position:static}}
.toc{padding:20px 22px;border-radius:20px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.toc p{margin:0 0 10px;font:500 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.toc ol{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14.5px}
.toc a{text-decoration:none;color:var(--ink-2)}
.toc a:hover{color:var(--ink);text-decoration:underline}
.cta{padding:24px;border-radius:22px;background:linear-gradient(160deg,#101714,#060B09);box-shadow:inset 0 0 0 1px rgba(94,240,178,.16);color:#F4F7F5;display:grid;gap:12px;position:relative;overflow:hidden;isolation:isolate}
.cta::before{content:"";position:absolute;inset:-40% -20% auto auto;width:300px;height:300px;border-radius:50%;background:radial-gradient(closest-side,rgba(52,227,154,.32),transparent);z-index:-1}
.cta h2,.cta h3{margin:0!important;font-size:23px!important;font-weight:620;letter-spacing:-.03em;color:#fff}
.cta p{margin:0!important;color:#A6AEAA!important;font-size:15px}
.cta .btn{justify-self:start}
.cta.wide{margin-top:56px;padding:32px}
.prodcard{padding:20px;border-radius:22px;display:grid;gap:12px}
.prodcard .mach{width:100%;max-width:240px;margin:-6px auto -4px}
.prodcard b{font-size:17px}
.prodcard .pp{display:flex;align-items:baseline;gap:8px}
.prodcard .pp strong{font-size:26px;font-weight:650;letter-spacing:-.04em}
.related{display:grid;gap:10px}
.related a{display:block;padding:16px 18px;border-radius:16px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;color:var(--ink);font-size:16px;font-weight:600;letter-spacing:-.015em;line-height:1.3}
.related a span{display:block;font:500 11.5px var(--mono);color:var(--ink-3);margin-bottom:4px;letter-spacing:.08em;text-transform:uppercase}
.related a:hover{box-shadow:inset 0 0 0 1px var(--line-2),var(--sh-1)}
.prose-faq details{border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);padding:0 18px;margin:10px 0}
.prose-faq summary{cursor:pointer;padding:16px 0;font-size:17px;font-weight:600;color:var(--ink)}
.prose-faq details p{margin:0 0 16px!important}
.draft{display:flex;gap:10px;align-items:flex-start;margin:24px 0;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--warn-fill) 22%,transparent);font-size:14.5px;color:var(--ink)}

/* ---------- 404 ---------- */
.nf{min-height:100vh;display:grid;place-items:center;padding:120px 18px 60px;position:relative;isolation:isolate;overflow:hidden;text-align:center}
.nf-card{max-width:560px;padding:44px 32px;border-radius:32px;display:grid;gap:16px;justify-items:center}
.nf-code{font:600 13px var(--mono);letter-spacing:.2em;color:var(--brand-text)}

/* ---------- print (receipts) ---------- */
@media print{
  .nav-wrap,.buybar,.mbar,.foot,.no-print,#confetti,.backdrop{display:none!important}
  body{background:#fff;color:#000}
  .glass,.card{box-shadow:none!important;background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:1px solid #ccc}
  .glass::after,.glass::before{display:none}
  .ok-hero{padding-top:20px}
}

/* ---------- motion preferences ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js .rv,.js .rv-blur{opacity:1;transform:none;filter:none}
  .aurora i{animation:none}
}


/* ==========================================================================
   v4 additions: Apple-inspired layout pieces, our own details
   ========================================================================== */
.link-more{display:inline-flex;align-items:center;gap:4px;font-size:17px;font-weight:500;color:var(--brand-text);text-decoration:none;white-space:nowrap}
.link-more::after{content:"›";font-size:1.3em;line-height:1;margin-top:-2px;transition:transform .35s var(--spring)}
.link-more:hover{text-decoration:underline;text-underline-offset:4px}
.link-more:hover::after{transform:translateX(3px)}
.hero.center{text-align:center;padding-bottom:clamp(56px,7vw,96px)}
.hero.center .hero-copy{max-width:1000px;margin:0 auto;display:grid;justify-items:center}
.hero.center h1{font-size:clamp(50px,8.6vw,116px);letter-spacing:-.058em;line-height:.93;margin:26px 0 22px}
.hero.center .lede{margin:0 auto;font-size:clamp(18px,1.75vw,23px);line-height:1.45;max-width:44ch}
.hero.center .cta-row{justify-content:center;align-items:center;gap:14px 24px}
.stage-wide{position:relative;max-width:1080px;margin:clamp(40px,6vw,72px) auto 0;aspect-ratio:16/9.2}
.stage-wide .halo{position:absolute;left:50%;top:48%;width:78%;height:86%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(52,227,154,.26),rgba(52,227,154,.06) 55%,transparent 72%);pointer-events:none}
.stage-wide .mach{position:absolute;left:50%;top:0;width:min(660px,66%);transform:translateX(-50%);filter:drop-shadow(0 60px 80px rgba(0,0,0,.6))}
.stage-wide .today{position:absolute;right:0;bottom:6%;width:min(330px,36%);padding:18px;border-radius:24px;z-index:3;text-align:left}
.stage-wide .float-a{position:absolute;left:1%;top:16%;padding:12px 14px;border-radius:18px;text-align:left;animation:float 7s ease-in-out infinite}
.stage-wide .float-b{position:absolute;left:5%;bottom:12%;padding:12px 14px;border-radius:18px;text-align:left;z-index:2;animation:float 8s ease-in-out -3s infinite}
@media(max-width:860px){
  .stage-wide{aspect-ratio:auto;display:grid;gap:0}
  .stage-wide .mach{position:relative;left:auto;transform:none;width:min(520px,100%);margin:0 auto}
  .stage-wide .today{position:relative;right:auto;bottom:auto;width:100%;max-width:420px;margin:-24px auto 0}
  .stage-wide .float-a,.stage-wide .float-b{display:none}
}
.highlights{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 16px;max-width:1060px;margin:clamp(48px,6vw,72px) auto 0;padding:0;list-style:none;text-align:center}
@media(min-width:820px){.highlights{grid-template-columns:repeat(4,1fr)}}
.highlights li{display:grid;gap:8px;justify-items:center;padding:0 8px}
.highlights b{font-size:clamp(32px,3.6vw,50px);font-weight:620;letter-spacing:-.05em;line-height:1;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.highlights span{font-size:14.5px;line-height:1.4;color:var(--ink-2);max-width:22ch}
.bento{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:900px){.bento{grid-template-columns:repeat(6,1fr)}.bento .s2{grid-column:span 2}.bento .s3{grid-column:span 3}.bento .s4{grid-column:span 4}.bento .s6{grid-column:span 6}}
.tile{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r-lg);background:var(--surface);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:12px;min-height:300px;box-shadow:inset 0 0 0 1px var(--line)}
.tile .kicker{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brand-text)}
.tile h3{font-size:clamp(24px,2.3vw,32px);font-weight:620;letter-spacing:-.035em;line-height:1.08}
.tile p{color:var(--ink-2);font-size:16px;max-width:46ch}
.tile .big{margin-top:auto;font-size:clamp(44px,5vw,70px);font-weight:640;letter-spacing:-.055em;line-height:1;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.tile .big small{font-size:.34em;letter-spacing:-.01em;font-weight:500;-webkit-text-fill-color:var(--ink-3);color:var(--ink-3)}
.tile.glow::before{content:"";position:absolute;right:-18%;bottom:-38%;width:78%;height:90%;border-radius:50%;background:radial-gradient(closest-side,rgba(52,227,154,.20),transparent);z-index:-1}
.tile .tile-art{margin-top:auto;display:grid;place-items:center}
.tile .tile-art .mach{width:min(420px,100%)}
.tile.pass .rows div{grid-template-columns:110px 1fr}
.sec-head.center h2{font-size:clamp(36px,5.2vw,68px)}
.buy-page .gallery{position:sticky;top:96px;min-height:min(70vh,640px)}
@media(max-width:1059px){.buy-page .gallery{position:relative;top:auto;min-height:380px}}
.opt-group{display:grid;gap:14px;padding:30px 0;border-top:1px solid var(--line)}
.opt-group:first-of-type{border-top:0;padding-top:8px}
.opt-title{font-size:clamp(22px,2vw,27px);font-weight:620;letter-spacing:-.03em;line-height:1.15}
.opt-title span{color:var(--ink-3)}
.opts{display:grid;gap:12px}
@media(min-width:560px){.opts.two{grid-template-columns:1fr 1fr}}
.opt{position:relative;display:grid;gap:4px;width:100%;padding:18px 20px;border-radius:18px;border:0;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-2);cursor:pointer;text-align:left;color:inherit;font:inherit;transition:box-shadow .25s,background-color .25s,transform .45s var(--spring)}
.opt:hover{box-shadow:inset 0 0 0 1px var(--ink-3)}
.opt:active{transform:scale(.985)}
.opt[aria-checked=true]{box-shadow:inset 0 0 0 2px var(--brand);background:color-mix(in srgb,var(--brand) 7%,var(--surface))}
.opt .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.opt b{font-size:17px;font-weight:600}
.opt .p{font-family:var(--mono);font-size:14.5px;color:var(--ink);white-space:nowrap}
.opt .d{font-size:13.5px;color:var(--ink-3)}
.opt .badge{position:absolute;top:-11px;right:14px;background:var(--surface-3)}
.opt.static{cursor:default}
.opt.static:hover{box-shadow:inset 0 0 0 1px var(--line-2)}
.opt.static[aria-current=true]{box-shadow:inset 0 0 0 2px var(--brand);background:color-mix(in srgb,var(--brand) 7%,var(--surface))}
.opt.static[aria-current=true]:hover{box-shadow:inset 0 0 0 2px var(--brand)}
.sumbar{position:fixed;left:0;right:0;bottom:0;z-index:65;border-radius:0;border-top:1px solid var(--line);--glass:var(--glass-2);transform:translateY(0);transition:transform .5s var(--spring)}
.sumbar::after{display:none}
.sumbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;min-height:78px;padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom));flex-wrap:wrap}
.sumbar .s1{display:grid;gap:2px}
.sumbar .s1 b{font-size:21px;font-weight:620;letter-spacing:-.03em}
.sumbar .s1 > span{font-size:13.5px;color:var(--ink-3)}
.sumbar .s2{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.buy-page main{padding-bottom:80px}
.foot-note{font-size:12.5px;line-height:1.6;color:var(--ink-3)}
.buy-page .foot{padding-bottom:120px}
.options{min-width:0}
.est-box{grid-template-columns:1fr 1fr}
@media(max-width:640px){.sumbar .s1 > span,.sumbar .link-more{display:none}.sumbar .wrap{flex-wrap:nowrap;min-height:70px}.sumbar .s1 b{font-size:18px}.sumbar .btn-lg{--h:48px;padding:0 22px}}
.buy-page .buy-hero .buy-grid{align-items:stretch}
.gal-view{width:100%;display:grid;place-items:center}

/* ==========================================================================
   v5 APPLE LAYER: closer to Apple's interface language, emerald instead of blue
   ========================================================================== */
:root{
  --bg:#000000; --bg-2:#0A0A0A; --surface:#161617; --surface-2:#1D1D1F; --surface-3:#2A2A2D;
  --ink:#F5F5F7; --ink-2:#A1A1A6; --ink-3:#86868B;
  --line:rgba(255,255,255,.10); --line-2:#424245;
  --brand:#2BD98E; --brand-text:#3DDC97; --btn:#08875A; --btn-hover:#0A9463;
  --glass:rgba(22,22,23,.72); --glass-2:rgba(29,29,31,.86);
  --glass-rim-1:rgba(255,255,255,.16); --glass-rim-2:rgba(255,255,255,.02); --glass-tint:rgba(61,220,151,.18); --glass-sheen:rgba(255,255,255,.06);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"SF Mono","Geist Mono",ui-monospace,Menlo,monospace;
  --r:18px; --r-lg:28px;
}
:root[data-theme=light]{
  --bg:#FFFFFF; --bg-2:#F5F5F7; --surface:#F5F5F7; --surface-2:#FFFFFF; --surface-3:#E8E8ED;
  --ink:#1D1D1F; --ink-2:#424245; --ink-3:#6E6E73;
  --line:rgba(0,0,0,.08); --line-2:#D2D2D7;
  --brand:#08875A; --brand-text:#06764E; --btn:#08875A; --btn-hover:#0A9463;
  --glass:rgba(255,255,255,.72); --glass-2:rgba(255,255,255,.88);
}
body{font-size:17px;line-height:1.47;letter-spacing:-.022em}
h1,h2,h3,h4{letter-spacing:-.025em}
h2,.h2{font-size:clamp(34px,4.6vw,56px);font-weight:600;letter-spacing:-.028em;line-height:1.07}
h3,.h3{font-weight:600;letter-spacing:-.02em}
.lede{font-size:clamp(17px,1.5vw,21px);line-height:1.43;letter-spacing:-.015em;color:var(--ink-2)}
.eyebrow{font:600 17px/1.2 var(--font);letter-spacing:-.01em;text-transform:none;color:var(--ink-2)}
.eyebrow::before{display:none}
.mono{letter-spacing:0}
.grad-text{background:linear-gradient(95deg,#E9FFF3 0%,#8DF2C5 40%,#3DDC97 70%,#1FB8A0 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
:root[data-theme=light] .grad-text{background:linear-gradient(95deg,#0B6E47 0%,#0A8F5C 50%,#0E8A7E 100%);-webkit-background-clip:text;background-clip:text}

/* Apple-style buttons: flat pill, white label */
.btn{font:400 17px/1 var(--font);letter-spacing:-.022em;--h:44px;padding:0 22px;transition:background-color .25s,transform .3s var(--spring),box-shadow .25s}
.btn-primary{color:#fff;background:var(--btn);box-shadow:none}
.btn-primary:hover{background:var(--btn-hover);box-shadow:none}
.btn-primary::after{display:none}
.btn-glass{color:var(--ink);background:transparent;box-shadow:inset 0 0 0 1px var(--brand-text);-webkit-backdrop-filter:none;backdrop-filter:none}
.btn-glass:hover{background:color-mix(in srgb,var(--brand) 12%,transparent)}
.btn-ghost{box-shadow:inset 0 0 0 1px var(--line-2)}
.btn-sm{--h:36px;padding:0 16px;font-size:14px}
.btn-xs{--h:28px;padding:0 12px;font-size:12px;font-weight:400}
.btn-lg{--h:52px;padding:0 30px;font-size:17px}
.btn .spin{border-color:rgba(255,255,255,.35);border-top-color:#fff}
.link-more{font-size:17px;font-weight:400;color:var(--brand-text)}
.link-more::after{font-size:1.15em;margin-top:0}

/* Global nav (thin, translucent) + local nav (sticky, with Buy) */
.gnav{position:sticky;top:0;z-index:90;height:48px;background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}
.has-lnav .gnav{position:relative}
.gnav-in{height:48px;display:flex;align-items:center;gap:12px}
.gnav .brand-mark{width:24px;height:24px;filter:none}
.gnav .brand-word{font:600 17px/1 var(--font);letter-spacing:-.022em}
.gnav-links{display:none;list-style:none;margin:0 auto;padding:0;gap:4px}
.gnav-links a{display:block;padding:6px 12px;font-size:12px;letter-spacing:-.01em;color:var(--ink);opacity:.82;text-decoration:none;transition:opacity .2s}
.gnav-links a:hover,.gnav-links a[aria-current=page]{opacity:1}
@media(min-width:1000px){.gnav-links{display:flex}}
.gnav-end{margin-left:auto;display:flex;align-items:center;gap:2px}
@media(min-width:1000px){.gnav-end{margin-left:0}}
.gnav .live-pill{height:28px;padding:0 10px;font-size:11.5px;box-shadow:none;background:color-mix(in srgb,var(--ink) 8%,transparent)}
.gnav .icon-btn{width:36px;height:36px}
.gnav .icon-btn svg{width:17px;height:17px}
.gnav .menu-btn{display:inline-grid}
@media(min-width:1000px){.gnav .menu-btn{display:none}}
.gnav .sheet{position:absolute;left:0;right:0;top:48px;margin:0;border-radius:0 0 22px 22px;background:var(--glass-2);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line);padding:8px 18px 20px}
.gnav .sheet a{font-size:24px;font-weight:600;letter-spacing:-.02em;padding:12px 4px;border-radius:10px}
.lnav{position:sticky;top:0;z-index:85;height:52px;background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}
.lnav-in{height:52px;display:flex;align-items:center;gap:20px}
.lnav-title{font-size:21px;font-weight:600;letter-spacing:-.02em;text-decoration:none;color:var(--ink);white-space:nowrap}
.lnav-links{display:none;list-style:none;margin:0 0 0 auto;padding:0;gap:22px}
.lnav-links a{font-size:12px;color:var(--ink);opacity:.8;text-decoration:none}
.lnav-links a:hover{opacity:1;color:var(--brand-text)}
@media(min-width:860px){.lnav-links{display:flex}}
.lnav .btn{margin-left:auto}
@media(min-width:860px){.lnav .btn{margin-left:0}}

/* calmer canvas: no grid, product glow only */
.gridlines{display:none}
.hero .aurora,.buy-hero .aurora{opacity:.45}
.section.alt{background:var(--bg-2)}
.hero{padding:clamp(56px,7vw,96px) 0 clamp(56px,7vw,96px)}
.hero.center h1{font-size:clamp(48px,7.4vw,96px);font-weight:600;letter-spacing:-.03em;line-height:1.02;margin:14px 0 18px}
.hero .prod-name{font-size:clamp(22px,2.4vw,32px);font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.hero.center .lede{font-size:clamp(19px,1.9vw,24px);max-width:36ch;color:var(--ink-2)}
.hero .price-sub{margin-top:14px;font-size:17px;color:var(--ink-2)}
.hero-chip{margin-top:26px;height:32px;font-size:12px;background:color-mix(in srgb,var(--ink) 7%,transparent);box-shadow:none}
.hero-chip::before,.hero-chip::after{display:none}
.stage-wide .halo{background:radial-gradient(closest-side,rgba(43,217,142,.22),rgba(43,217,142,.05) 55%,transparent 72%)}
.highlights b{font-weight:600;letter-spacing:-.03em}

/* tiles = Apple surfaces */
.card,.tile,.stat,.plan,.lcard,.feature,.flag:not(.more),.blk,.panel,.controls,.results,.chk-form,.chk-out,.passport,.gallery,.config,.ledger,.ledger-stats div,.co-sum,.final-card{background:var(--surface);box-shadow:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}
.card::before,.card::after,.tile::before,.stat::before,.stat::after,.plan::before,.plan::after,.lcard::before,.lcard::after,.blk::before,.blk::after,.panel::before,.panel::after,.controls::before,.controls::after,.results::before,.results::after,.chk-form::before,.chk-form::after,.chk-out::before,.chk-out::after,.gallery::before,.gallery::after,.final-card::before,.final-card::after,.co-sum::before,.co-sum::after,.ledger::before,.ledger::after,.ledger-stats div::before,.ledger-stats div::after{display:none}
.blk::after{display:block}
.tile{border-radius:var(--r-lg)}
.tile.glow::before{display:block}
.lift:hover{transform:none;box-shadow:none}
.lcard:hover{background:var(--surface-2)}
.plan.feat{box-shadow:inset 0 0 0 2px var(--brand)}
.kpi,.est-box div,.mstats div,.tests li,.co-box,.hdr{background:var(--surface-2);box-shadow:none}
.band-dark{--surface:#161617;--surface-2:#1D1D1F;--ink:#F5F5F7;--ink-2:#A1A1A6;--ink-3:#86868B;--line:rgba(255,255,255,.1);--line-2:#424245;--brand:#2BD98E;--brand-text:#3DDC97}
.badge{text-transform:none;letter-spacing:-.01em;font:600 12px/1 var(--font);height:24px}
.stat .k,.tile .kicker,.lcard .tag,.step-tag,.v-k,.kpi span,.est-box span,.ratecard span,.mstats dt,.bh,.pp-head p,.rows dt,.ledger-head,.ledger-stats span{font-family:var(--font);letter-spacing:-.005em;text-transform:none;font-weight:600;font-size:13px}
.tile .kicker,.lcard .tag,.step-tag{color:var(--brand-text)}
.float-ico,.feature .fi,.empty .ei,.step-ico::before{background:var(--btn);color:#fff;box-shadow:none}
.float-ico.mint{background:#1D1D1F;color:var(--brand-text);box-shadow:inset 0 0 0 1px var(--line-2)}
.step-ico{background:var(--surface);box-shadow:none}
.steps::before{background:var(--line-2)}

/* Apple-style "Get to know" carousel */
.car-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.car-head h2{font-size:clamp(34px,4.4vw,56px)}
.carousel{position:relative}
.car-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;list-style:none;margin:0;padding:6px max(18px,calc((100vw - 1220px)/2 + 32px)) 10px;scrollbar-width:none;overscroll-behavior-x:contain}
.car-track::-webkit-scrollbar{display:none}
.car-card{flex:0 0 min(372px,84vw);min-height:500px;scroll-snap-align:start;scroll-margin-left:max(18px,calc((100vw - 1220px)/2 + 32px));border-radius:28px;background:var(--surface);padding:30px 30px 32px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;isolation:isolate}
.car-card .cc-k{font-size:17px;font-weight:600;color:var(--ink)}
.car-card .cc-t{font-size:clamp(24px,2.2vw,28px);font-weight:600;letter-spacing:-.025em;line-height:1.14;color:var(--ink)}
.car-card .cc-t em{font-style:normal;color:var(--ink-2)}
.car-card .cc-big{margin-top:auto;font-size:clamp(46px,4.6vw,64px);font-weight:600;letter-spacing:-.04em;line-height:1}
.car-card .cc-big small{display:block;margin-top:8px;font-size:15px;font-weight:400;letter-spacing:-.01em;color:var(--ink-2)}
.car-card::after{content:"";position:absolute;right:-30%;bottom:-30%;width:90%;height:70%;border-radius:50%;background:radial-gradient(closest-side,rgba(43,217,142,.16),transparent);z-index:-1}
.car-nav{display:flex;justify-content:flex-end;gap:14px;margin-top:22px}
.paddle{width:38px;height:38px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;color:var(--ink);background:color-mix(in srgb,var(--ink) 14%,transparent);transition:background-color .2s,opacity .2s}
.paddle:hover{background:color-mix(in srgb,var(--ink) 22%,transparent)}
.paddle:disabled{opacity:.35;cursor:default}
.paddle svg{width:18px;height:18px}
@media(max-width:640px){.car-head{flex-wrap:wrap;align-items:flex-start;gap:10px 20px}.car-card{min-height:420px}}

/* Apple-style compare (pricing) */
.compare{display:grid;gap:0;margin-top:8px}
@media(min-width:900px){.compare{grid-template-columns:repeat(3,1fr)}}
.cmp-col{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:36px 28px;border-top:1px solid var(--line)}
@media(min-width:900px){.cmp-col{border-top:0;border-left:1px solid var(--line)}.cmp-col:first-child{border-left:0}}
.cmp-new{font-size:12px;font-weight:600;color:var(--brand-text);min-height:16px}
.cmp-col h3{font-size:clamp(28px,2.6vw,36px);font-weight:600;letter-spacing:-.025em}
.cmp-sub{font-size:17px;color:var(--ink-2)}
.cmp-price{font-size:17px;font-weight:600;margin-top:6px}
.cmp-cta{display:flex;align-items:center;gap:18px;margin:10px 0 18px;flex-wrap:wrap;justify-content:center}
.cmp-feats{list-style:none;margin:0;padding:0;display:grid;gap:0;width:100%;max-width:300px}
.cmp-feats li{display:grid;justify-items:center;gap:8px;padding:20px 0;border-top:1px solid var(--line);font-size:14px;color:var(--ink-2);line-height:1.35}
.cmp-feats li .ic{width:26px;height:26px;color:var(--brand-text)}
.cmp-feats li b{display:block;font-size:17px;font-weight:600;color:var(--ink);letter-spacing:-.02em}

/* Apple-style accordion */
.faq{max-width:980px;gap:0}
.faq details{border-radius:0;background:transparent;box-shadow:none;padding:0;border-bottom:1px solid var(--line)}
.faq details[open]{box-shadow:none}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{font-size:clamp(18px,1.7vw,21px);font-weight:600;letter-spacing:-.02em;padding:26px 0}
.faq summary::after{width:22px;height:22px;background:none;border-radius:0;content:"+";display:grid;place-items:center;font:300 28px/1 var(--font);color:var(--ink-2);transition:transform .35s var(--spring)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{font-size:17px;line-height:1.5;padding-bottom:28px}

/* footnote markers + Apple footer */
.fn{font-size:.6em;vertical-align:super;line-height:0;margin-left:1px}
.fn a{color:inherit;text-decoration:none}
.fn a:hover{text-decoration:underline}
.afoot{background:var(--surface);color:var(--ink-3);font-size:12px;line-height:1.34;letter-spacing:-.01em;padding:28px 0 22px}
.afoot a{color:var(--ink-2);text-decoration:none}
.afoot a:hover{text-decoration:underline}
.afoot-notes{padding-bottom:18px;border-bottom:1px solid var(--line-2)}
.afoot-notes ol{margin:0 0 12px;padding-left:16px;display:grid;gap:8px}
.afoot-notes p{margin:0 0 8px}
.afoot-dir{display:grid;gap:20px 30px;grid-template-columns:repeat(2,1fr);padding:22px 0;border-bottom:1px solid var(--line-2)}
@media(min-width:800px){.afoot-dir{grid-template-columns:repeat(5,1fr)}}
.afoot-dir h3{font-size:12px;font-weight:600;color:var(--ink);margin:0 0 10px;letter-spacing:-.01em}
.afoot-dir ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.afoot-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:16px}
.afoot-legal nav{display:flex;flex-wrap:wrap;gap:0}
.afoot-legal nav a{padding:0 10px;border-left:1px solid var(--line-2)}
.afoot-legal nav a:first-child{padding-left:0;border-left:0}
@media(max-width:640px){.afoot-legal nav{gap:6px 18px}.afoot-legal nav a{padding:0;border-left:0}}

/* Apple-style floating labels (checkout) */
.fl{position:relative}
.fl .input,.fl .select{height:56px;padding:20px 16px 4px;border-radius:12px;font-size:17px;border-color:var(--line-2);background:var(--surface)}
.fl label{position:absolute;left:17px;top:17px;font-size:17px;color:var(--ink-3);pointer-events:none;transition:top .2s var(--ease),font-size .2s var(--ease)}
.fl .input:focus+label,.fl .input:not(:placeholder-shown)+label,.fl .select:valid+label,.fl .select:focus+label{top:8px;font-size:12px}
.fl .input::placeholder{color:transparent}
.fl .input:focus::placeholder{color:var(--ink-3)}
.fl .opt-tag{position:absolute;right:16px;top:19px;font-size:13px;color:var(--ink-3);pointer-events:none}
.input:focus,.select:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 30%,transparent)}
.radio-card{border-radius:12px;border-color:var(--line-2);background:var(--surface)}
.radio-card:has(input:checked){border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:var(--surface)}
.radio-card .pm-ico{background:var(--surface-2);box-shadow:none}
.opt{border-radius:12px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-2)}
.opt[aria-checked=true],.opt.static[aria-current=true]{box-shadow:inset 0 0 0 2px var(--brand);background:var(--surface)}
.co-top{background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:none}
.co-top::before{display:none}
.co h1{font-size:clamp(32px,3.6vw,48px);font-weight:600;letter-spacing:-.03em}
.co-steps li.on .n,.co-steps li.done .n,.timeline li.now .tl-dot,.timeline li.done .tl-dot{color:#fff}
.co-steps li.on .n,.timeline li.now .tl-dot{background:var(--btn)}
.co-steps li.done .n,.timeline li.done .tl-dot{background:#2A2A2D;color:var(--brand-text)}
:root[data-theme=light] .co-steps li.done .n,:root[data-theme=light] .timeline li.done .tl-dot{background:#E8E8ED}
.check input:checked{background:var(--btn);border-color:var(--btn)}
.check input:checked::after{border-color:#fff}
.sumbar,.buybar{background:var(--glass-2);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}
.buy-hero{padding-top:28px}
.buy-title h1{font-size:clamp(40px,5vw,64px);font-weight:600;letter-spacing:-.03em}
.article-layout{padding-top:48px}
.ok-hero{padding-top:72px}
.nf{padding-top:60px}
.final-card{background:transparent}
.final h2{font-weight:600;letter-spacing:-.035em}
.section{padding:clamp(80px,10vw,140px) 0}
.hero.center .lede{text-wrap:balance}
.ok-page main,.co-page main{min-height:70vh}

/* ==========================================================================
   v6 FUTURE LAYER: energy field, spatial depth, holographic glass, live 3D chain
   ========================================================================== */
@property --ang{syntax:'<angle>';inherits:false;initial-value:0deg}
.fx-field{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;opacity:0;transition:opacity 1.8s var(--ease)}
.fx-field.on{opacity:1}
:root[data-theme=light] .fx-field{display:none}
.has-field .aurora{display:none}
:root[data-theme=light] .has-field .aurora{display:block}
.hero.has-field::after,.final.has-field::after,.buy-hero.has-field::after{content:"";position:absolute;left:0;right:0;bottom:0;height:160px;background:linear-gradient(transparent,var(--bg));z-index:-1;pointer-events:none}

/* HUD micro-type */
.hud{display:inline-block;font:500 10.5px/1.2 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--brand-text);opacity:.9}
.readout{position:absolute;z-index:4;display:grid;gap:6px;padding:12px 14px 13px;border-radius:14px;text-align:left;background:rgba(8,12,10,.58);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);box-shadow:inset 0 0 0 1px rgba(94,240,178,.24),0 20px 40px -20px rgba(0,0,0,.8)}
.readout b{font:600 17px/1 var(--font);letter-spacing:-.02em;color:var(--ink)}
.readout .hud{font-size:9.5px}
.readout::before{content:"";position:absolute;top:50%;width:46px;height:1px;background:linear-gradient(90deg,rgba(94,240,178,.7),transparent)}
.readout.r1{right:9%;top:4%}
.readout.r1::before{right:100%;background:linear-gradient(270deg,rgba(94,240,178,.7),transparent)}
:root[data-theme=light] .readout{background:rgba(255,255,255,.7)}

/* product stage: depth, scan, grid floor */
.stage-wide{transform:perspective(1600px) rotateX(var(--tiltx,0deg)) rotateY(var(--tilty,0deg));transition:transform .9s var(--ease)}
.stage-wide .mach{transform:translateX(-50%) translateY(calc(var(--sp,0) * -36px)) scale(calc(1 + var(--sp,0) * .05));transition:translate .5s var(--ease)}
.stage-wide .today,.stage-wide .float-a,.stage-wide .float-b,.stage-wide .readout{transition:translate .5s var(--ease)}
.floor{position:absolute;left:50%;bottom:-6%;width:130%;height:62%;transform:translateX(-50%) perspective(520px) rotateX(70deg);transform-origin:50% 100%;background-image:linear-gradient(rgba(94,240,178,.26) 1px,transparent 1px),linear-gradient(90deg,rgba(94,240,178,.26) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(50% 60% at 50% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(50% 60% at 50% 40%,#000 20%,transparent 75%);animation:floor 5s linear infinite;pointer-events:none}
@keyframes floor{to{background-position:0 46px,0 0}}
.scan{position:absolute;left:20%;right:20%;top:-4%;height:96%;pointer-events:none;z-index:2;background:linear-gradient(180deg,transparent 0,transparent 47%,rgba(141,242,197,.28) 50%,transparent 53%,transparent 100%);background-size:100% 240%;animation:scan 7s cubic-bezier(.45,0,.2,1) infinite;-webkit-mask-image:radial-gradient(55% 50% at 50% 46%,#000 35%,transparent 72%);mask-image:radial-gradient(55% 50% at 50% 46%,#000 35%,transparent 72%)}
@keyframes scan{0%{background-position:0 -130%}55%,100%{background-position:0 230%}}
:root[data-theme=light] .floor,:root[data-theme=light] .scan{opacity:.5}

/* holographic edge: a light that travels around the glass rim */
.holo::after{background:conic-gradient(from var(--ang),rgba(94,240,178,.10) 0deg,rgba(94,240,178,.10) 210deg,rgba(186,255,222,.95) 268deg,rgba(94,240,178,.10) 326deg) !important;animation:holo 7s linear infinite}
@keyframes holo{to{--ang:360deg}}
.final-card.holo{background:rgba(10,16,13,.45);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%)}
.final-card.holo::after{display:block;content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}

/* live 3D chain */
.chain-stage{position:relative;margin:4px 0 30px}
.chain-stage::before{content:"";position:absolute;left:50%;top:55%;width:min(900px,90%);height:160px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(43,217,142,.20),transparent);pointer-events:none}
.chain3d{--rx:-14deg;--ry:-26deg;--s:146px;position:relative;list-style:none;margin:0 auto;padding:46px 0 64px;display:flex;justify-content:center;align-items:center;gap:46px;perspective:1700px;min-height:260px}
.cube{position:relative;width:var(--s);height:var(--s);flex:none}
.cube+.cube::before{content:"";position:absolute;right:100%;top:50%;width:46px;height:2px;background:linear-gradient(90deg,rgba(94,240,178,.12),rgba(94,240,178,.65));box-shadow:0 0 12px rgba(61,220,151,.5)}
.cube-in{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform 1s var(--spring)}
.cube .f{position:absolute;inset:0;border-radius:14px;background:linear-gradient(150deg,rgba(43,217,142,.20),rgba(5,16,11,.94) 72%);box-shadow:inset 0 0 0 1px rgba(94,240,178,.36),inset 0 0 34px rgba(61,220,151,.10);backface-visibility:hidden}
.cube .front{transform:translateZ(calc(var(--s) / 2));display:grid;align-content:space-between;padding:14px 14px 13px;text-align:left}
.cube .back{transform:rotateY(180deg) translateZ(calc(var(--s) / 2))}
.cube .right{transform:rotateY(90deg) translateZ(calc(var(--s) / 2));background:linear-gradient(150deg,rgba(43,217,142,.12),rgba(3,10,7,.96))}
.cube .left{transform:rotateY(-90deg) translateZ(calc(var(--s) / 2))}
.cube .top{transform:rotateX(90deg) translateZ(calc(var(--s) / 2));background:linear-gradient(150deg,rgba(141,242,197,.30),rgba(8,26,18,.92))}
.cube .bottom{transform:rotateX(-90deg) translateZ(calc(var(--s) / 2))}
.cube .front b{font-size:18px;font-weight:600;letter-spacing:-.01em;color:#fff}
.cube .c-row{display:flex;justify-content:space-between;gap:8px;font:500 10.5px var(--mono);color:#A6AEAA}
.cube .c-pool{font-size:12px;color:#E8EFEA;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cube .c-ago{font:500 10px var(--mono);color:#5EF0B2}
.cube.newest .f{box-shadow:inset 0 0 0 1px rgba(186,255,222,.8),inset 0 0 44px rgba(61,220,151,.26)}
.cube.newest .cube-in{filter:drop-shadow(0 0 28px rgba(61,220,151,.35))}
.cube.pending .f{background:rgba(5,16,11,.28);box-shadow:inset 0 0 0 1px rgba(94,240,178,.5)}
.cube.pending .front{background:repeating-linear-gradient(180deg,rgba(94,240,178,.06) 0 2px,transparent 2px 6px),rgba(5,16,11,.35)}
.cube.pending .cube-in{animation:hoverc 4.5s ease-in-out infinite}
.cube.pending .c-ago{animation:blink 1.4s steps(2,start) infinite}
@keyframes hoverc{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes blink{to{opacity:.3}}
.cube.drop .cube-in{animation:drop 1.2s var(--spring) both}
@keyframes drop{from{translate:0 -140px;opacity:0}to{translate:0 0;opacity:1}}
.chain-cap{text-align:center;margin-top:-18px}
@media(max-width:699px){.chain3d{--s:104px;gap:30px;padding:34px 0 48px;min-height:200px}.cube+.cube::before{width:30px}.cube .front{padding:10px}.cube .front b{font-size:14px}.cube .c-row{display:none}.cube .c-pool{font-size:11px}}

/* section titles catch the light once when they arrive */
.sec-head h2{background:linear-gradient(100deg,var(--ink) 0%,var(--ink) 44%,#FFFFFF 50%,var(--ink) 56%,var(--ink) 100%);background-size:260% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent}
.js .sec-head.in h2{animation:shine 2.4s var(--ease) .25s both}
@keyframes shine{from{background-position:100% 0}to{background-position:0 0}}
:root[data-theme=light] .sec-head h2{background-image:linear-gradient(100deg,var(--ink) 0%,var(--ink) 44%,#2BD98E 50%,var(--ink) 56%,var(--ink) 100%)}

/* horizon dividers, glow details, cursor light */
.horizon{height:1px;max-width:1120px;margin:0 auto;background:linear-gradient(90deg,transparent,rgba(94,240,178,.55),transparent);box-shadow:0 0 28px 1px rgba(61,220,151,.4)}
.btn-primary{box-shadow:inset 0 0 0 1px rgba(141,242,197,.22),0 10px 34px -12px rgba(43,217,142,.6)}
.btn-primary:hover{box-shadow:inset 0 0 0 1px rgba(141,242,197,.45),0 12px 44px -10px rgba(43,217,142,.8)}
.tile,.car-card,.stat,.cmp-col,.panel,.controls,.results{box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.cmp-col{box-shadow:none}
.cursor-light{position:fixed;left:0;top:0;width:640px;height:640px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(closest-side,rgba(61,220,151,.075),transparent);opacity:0;transition:opacity .5s}
.cursor-light.on{opacity:1}
:root[data-theme=light] .cursor-light{display:none}
.hero-chip,.live-pill{box-shadow:inset 0 0 0 1px rgba(94,240,178,.18)}
@media (prefers-reduced-motion:reduce){.floor,.scan,.holo::after,.cube.pending .cube-in{animation:none!important}}

/* pricing ladder: $100 hashrate plans → whole machines → rack */
.ladder{display:grid;gap:16px}
@media(min-width:700px){.ladder{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1060px){.ladder{grid-template-columns:repeat(3,1fr)}}
.rung{display:flex;flex-direction:column;gap:10px;padding:26px 26px 24px;border-radius:var(--r-lg);position:relative;overflow:hidden;isolation:isolate;transition:transform .5s var(--spring),box-shadow .4s}
.rung::before{display:block;content:"";position:absolute;right:-35%;top:-45%;width:85%;height:85%;border-radius:50%;background:radial-gradient(closest-side,rgba(43,217,142,.13),transparent);z-index:-1}
.rung:hover{transform:translateY(-4px)}
.rung-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.rung-term{font:500 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.rung h3{font-size:24px;margin-top:8px}
.rung-price{font-size:clamp(34px,3.2vw,44px);font-weight:600;letter-spacing:-.04em;line-height:1}
.rung-what{font-size:14.5px;color:var(--ink-2)}
.rung-what b{color:var(--ink);font-weight:600}
.rung-est{margin:6px 0 6px;padding:14px 0 0;border-top:1px solid var(--line);display:grid;gap:8px}
.rung-est div{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--ink-2)}
.rung-est dd{margin:0;font-family:var(--mono);color:var(--ink);font-weight:500;white-space:nowrap}
.rung .btn{margin-top:auto;align-self:flex-start}
.rung.feat{box-shadow:inset 0 0 0 1.5px rgba(94,240,178,.55),inset 0 1px 0 rgba(255,255,255,.05)}
.ladder-note{max-width:900px;margin:24px auto 0;text-align:center}
@media (prefers-reduced-motion:reduce){.rung:hover{transform:none}}

/* ==========================================================================
   v8 QA fixes: light-mode surfaces (Apple nesting: white cards on gray sections, gray tiles inside white cards)
   ========================================================================== */
:root[data-theme=light] .section.alt{--surface:#FFFFFF;--surface-2:#F5F5F7}
:root[data-theme=light] .est-box div{background:var(--surface)}
:root[data-theme=light] .lcard:hover{background:var(--surface);box-shadow:0 14px 34px -16px rgba(0,0,0,.22)}

/* ==========================================================================
   v9: Tallyhashs mining rights · live bars · 3D scene · power savings · compare · reviews · taxes
   ========================================================================== */
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- live bars under the nav ---------- */
.tickers{position:relative;z-index:80;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:saturate(170%) blur(18px);backdrop-filter:saturate(170%) blur(18px);border-bottom:1px solid var(--line);font-size:12.5px;letter-spacing:-.005em}
.tk{height:34px;position:relative;overflow:hidden}
.tk + .tk{border-top:1px solid var(--line)}
.tk-in{display:flex;align-items:center;gap:14px;height:100%}
.tk-label{flex:none;display:inline-flex;align-items:center;gap:7px;font:600 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--brand-text)}
.tk-label .dot{width:6px;height:6px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 0 rgba(43,217,142,.6);animation:tkPulse 2s infinite}
.tk-label-mkt{color:var(--ink-3)}
@keyframes tkPulse{0%{box-shadow:0 0 0 0 rgba(43,217,142,.55)}70%{box-shadow:0 0 0 7px rgba(43,217,142,0)}100%{box-shadow:0 0 0 0 rgba(43,217,142,0)}}
.tk-rot{position:relative;flex:1;min-width:0;height:100%;overflow:hidden}
.tk-item{position:absolute;inset:0;display:flex;align-items:center;gap:9px;white-space:nowrap;color:var(--ink-2);opacity:0;transform:translate3d(0,100%,0);filter:blur(5px);transition:transform .7s var(--spring),opacity .45s var(--ease),filter .6s var(--ease)}
.tk-item.in{opacity:1;transform:none;filter:none}
.tk-item.out{opacity:0;transform:translate3d(0,-100%,0);filter:blur(5px);transition-timing-function:var(--ease)}
.tk-t{overflow:hidden;text-overflow:ellipsis;min-width:0}
.tk-item b{color:var(--ink);font-weight:600}
.tk-item .m{color:var(--ink-3)}
.tk-item a{color:var(--brand-text);text-decoration:none}
.tk-item a:hover{text-decoration:underline}
.ti{flex:none;width:19px;height:19px;border-radius:6px;display:inline-grid;place-items:center;font:700 10.5px/1 var(--mono);color:var(--brand-text);background:rgba(43,217,142,.14);box-shadow:inset 0 0 0 1px rgba(43,217,142,.22)}
.ti-tx{color:#7CC8FF;background:rgba(124,200,255,.12);box-shadow:inset 0 0 0 1px rgba(124,200,255,.22)}
.ti-buy,.ti-pay{color:#04140D;background:linear-gradient(135deg,#D4FFB8,#2BD98E)}
.tk-stats{flex:none;display:flex;gap:18px;color:var(--ink-3);font:500 11.5px/1 var(--mono)}
.tk-stats b{color:var(--ink);font-weight:500}
.tk-pause{flex:none;width:26px;height:26px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--ink-3);background:transparent;transition:background-color .2s,color .2s}
.tk-pause:hover,.tk-pause:focus-visible{color:var(--ink);background:color-mix(in srgb,var(--ink) 10%,transparent)}
.tk-pause .ic{width:13px;height:13px}
.tk-pause .tk-ipl,.tk-pause[aria-pressed=true] .tk-ip{display:none}
.tk-pause[aria-pressed=true] .tk-ipl{display:block}
.tk-view{flex:1;min-width:0;height:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent)}
.tk-track{display:flex;width:max-content;height:100%}
.tk-track.run{animation:tkScroll var(--dur,60s) linear infinite}
.tk-track.paused,.tk-view:hover .tk-track{animation-play-state:paused}
.tk-copy{display:flex;height:100%}
@keyframes tkScroll{to{transform:translate3d(-50%,0,0)}}
.mk{display:inline-flex;align-items:center;gap:8px;height:100%;padding:0 18px;white-space:nowrap;border-right:1px solid var(--line);border-radius:6px;transition:background-color .6s}
.mk-wait{color:var(--ink-3)}
.mk-ic{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font:700 10px/1 var(--font);color:#04140D;background:linear-gradient(135deg,#B8FFE0,#2BD98E)}
.mk-net .mk-ic{background:linear-gradient(135deg,#D4FFB8,#19BFA3)}
.mk-sym{color:var(--ink);font-weight:600}
.mk-px{color:var(--ink);font:500 12px/1 var(--mono)}
.mk-u{color:var(--ink-3);font-size:11px}
.mk-ch{font:500 11px/1 var(--mono);padding:3px 6px;border-radius:6px}
.mk-ch.up{color:#3DDC97;background:rgba(61,220,151,.12)}
.mk-ch.down{color:#FF6B81;background:rgba(255,107,129,.12)}
.mk-bars{width:54px;height:16px;display:block;overflow:visible}
.mk-bars.wide{width:70px}
.mk-bars rect{transform-box:fill-box;transform-origin:50% 100%;animation:barUp .9s var(--spring) both}
.mk-bars.up rect{fill:#2BD98E;opacity:.85}
.mk-bars.down rect{fill:#FF6B81;opacity:.85}
.mk-net .mk-bars rect{fill:#5EF0B2}
.mk-bars rect.last{opacity:1;fill:#D4FF7A}
@keyframes barUp{from{transform:scaleY(.08);opacity:.2}}
.mk.flash-up{animation:mkUp 1.4s var(--ease)}
.mk.flash-down{animation:mkDown 1.4s var(--ease)}
@keyframes mkUp{0%{background:rgba(61,220,151,.22)}100%{background:transparent}}
@keyframes mkDown{0%{background:rgba(255,107,129,.2)}100%{background:transparent}}
.tk-src{flex:none;font-size:11px;color:var(--ink-3);text-decoration:none}
.tk-src:hover{color:var(--ink)}
@media(max-width:899px){.tk-stats,.tk-src{display:none}.tk-in{gap:10px}.tk{height:32px}}
@media(max-width:520px){.tk-label-mkt{display:none}}
:root[data-theme=light] .tickers{background:color-mix(in srgb,#fff 86%,transparent)}
:root[data-theme=light] .mk-ch.up{color:#06764E;background:rgba(8,135,90,.1)}
:root[data-theme=light] .mk-ch.down{color:#C42B47;background:rgba(196,43,71,.09)}
:root[data-theme=light] .mk-bars.up rect,:root[data-theme=light] .mk-net .mk-bars rect{fill:#0A9463}
:root[data-theme=light] .mk-bars.down rect{fill:#D9425E}
:root[data-theme=light] .mk-bars rect.last{fill:#06764E}
:root[data-theme=light] .ti-tx{color:#1F6FB2}

/* ---------- 3D scene behind the page ---------- */
.scene{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;opacity:0;transition:opacity 1.8s var(--ease)}
.scene.on{opacity:1}
.has-scene .hero .aurora,.has-scene .final .aurora,.has-scene .buy-hero .aurora{display:none}
.has-scene .section.alt{background:color-mix(in srgb,var(--bg-2) 58%,transparent)}
.has-scene .band-dark{background:color-mix(in srgb,#000 64%,transparent)}
.has-scene .hero.center::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(46% 30% at 50% 36%,color-mix(in srgb,var(--bg) 34%,transparent),transparent 76%)}
:root[data-theme=light] .has-scene .hero .aurora{display:block;opacity:.55}
@media print{.scene,.tickers{display:none!important}}

/* ---------- hero card: power included ---------- */
.today .inc dd{color:var(--brand-text);font-weight:600}
.today small b{color:var(--loss);font-weight:600}

/* ---------- pricing: six tiers, live estimates, 3D tilt and glare ---------- */
.rung-est div.save{margin-top:2px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--mint) 12%,transparent)}
.rung-est div.save dt,.rung-est div.save dd{color:var(--brand-text)}
.rung-price{font-variant-numeric:tabular-nums}
.js .ladder .rung.in{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translate3d(0,var(--lift,0px),0)}
.js .ladder .rung.in:hover{--lift:-6px}
.js .ladder .rung.in.tilting{transition:transform .14s ease-out,box-shadow .4s,opacity 1s}
.rung::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.09),transparent 42%)}
.rung:hover::after{opacity:1}
:root[data-theme=light] .rung::after{background:radial-gradient(420px circle at var(--gx,50%) var(--gy,0%),rgba(8,135,90,.07),transparent 42%)}
.rung.feat{background:linear-gradient(180deg,color-mix(in srgb,var(--mint) 10%,var(--surface)),var(--surface) 46%)}

/* ---------- power section ---------- */
.pw-grid{display:grid;gap:16px}
@media(min-width:980px){.pw-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
.pw-card{padding:clamp(22px,3vw,36px);border-radius:var(--r-lg);display:grid;gap:26px;align-content:start}
.pw-chips{display:flex;flex-wrap:wrap;gap:8px}
.pw-chips button{border:0;cursor:pointer;padding:9px 14px;border-radius:999px;font:500 14px/1 var(--font);color:var(--ink-2);background:color-mix(in srgb,var(--ink) 8%,transparent);transition:background-color .25s,color .25s,transform .25s var(--spring)}
.pw-chips button:hover{color:var(--ink);transform:translateY(-1px)}
.pw-chips button[aria-checked=true]{background:var(--btn);color:#fff;box-shadow:0 8px 24px -10px rgba(43,217,142,.7)}
.pw-bars{display:grid;gap:18px}
.pw-row{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:baseline}
.pw-row > span{font-size:14.5px;color:var(--ink-2)}
.pw-row > span b{color:var(--ink);font-weight:600}
.pw-row > b{font:600 clamp(20px,2vw,24px)/1 var(--mono);color:var(--ink);font-variant-numeric:tabular-nums}
.pw-row.home > b{color:var(--loss)}
.pw-track{grid-column:1/-1;height:16px;border-radius:999px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden;position:relative}
.pw-track i{display:block;height:100%;width:var(--w,0%);border-radius:inherit;transition:width 1.3s var(--spring);position:relative;overflow:hidden}
.pw-card:not(.in) .pw-track i{width:0}
.pw-row.home .pw-track i{background:linear-gradient(90deg,#B4233F,#FF5F57 60%,#FF8FA0)}
.pw-row.ours .pw-track i{background:linear-gradient(90deg,#08875A,#2BD98E 60%,#B8FFE0)}
.pw-track i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(-100%);animation:pwFlow 2.8s var(--ease) infinite}
@keyframes pwFlow{to{transform:translateX(100%)}}
.pw-save{display:grid;gap:6px;padding-top:22px;border-top:1px solid var(--line)}
.pw-save > span{font-size:14.5px;color:var(--ink-2)}
.pw-save > b{font-size:clamp(46px,6vw,76px);font-weight:600;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums;background:linear-gradient(95deg,#E9FFF3 0%,#8DF2C5 40%,#3DDC97 70%,#1FB8A0 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.pw-save small{color:var(--ink-3);font-size:13.5px}
:root[data-theme=light] .pw-save > b{background:linear-gradient(95deg,#0B6E47,#0A8F5C 50%,#0E8A7E)}
.pw-side{display:grid;gap:16px;align-content:start}
.pw-stat{padding:22px 24px;border-radius:var(--r-lg)}
.pw-stat .k{margin:0;font-size:14px;color:var(--ink-2)}
.pw-stat .v{margin:8px 0 6px;font:600 clamp(28px,3vw,34px)/1 var(--mono);font-variant-numeric:tabular-nums}
.pw-stat .u{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink-3)}
.pw-stat .u b{color:var(--ink-2)}
.pw-stat.bad .v{color:var(--loss)}
.pw-stat.good .v{color:var(--brand-text)}
.kpi.good b{color:var(--brand-text)}
.est-box div.save{background:color-mix(in srgb,var(--mint) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mint) 30%,transparent)}
.est-box div.save b{color:var(--brand-text)}
.est-box{grid-template-columns:repeat(2,minmax(0,1fr))}
.sum .save dt,.sum .save dd{color:var(--brand-text)}
.spec-table td.neg{color:var(--loss)}

/* ---------- comparison table ---------- */
.cmp-wrap{overflow-x:auto;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.cmp{width:100%;border-collapse:separate;border-spacing:0;font-size:14.5px;line-height:1.45}
.cmp-full{min-width:1020px}
.cmp-short{min-width:820px}
.cmp th,.cmp td{padding:15px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}
.cmp thead th{font-size:15px;font-weight:600;color:var(--ink);vertical-align:bottom;padding-top:20px}
.cmp thead th small{display:block;margin-top:3px;font-size:12.5px;font-weight:400;color:var(--ink-3)}
.cmp tbody th{width:168px;font-weight:500;color:var(--ink-2);position:sticky;left:0;z-index:1;background:var(--surface)}
.cmp td{color:var(--ink-2)}
.cmp td b{color:var(--ink)}
.cmp .us{background:color-mix(in srgb,var(--mint) 9%,var(--surface));color:var(--ink)}
.cmp thead .us{color:var(--brand-text);box-shadow:inset 0 3px 0 var(--brand)}
.cmp td.fixed{color:var(--ink-3)}
.cmp td.pos [data-margin]{color:var(--brand-text);font-family:var(--mono)}
.cmp td.neg [data-margin]{color:var(--loss);font-family:var(--mono)}
.cmp a{color:var(--ink-2)}
.live-tag{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:6px;font:600 9.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--brand-text);background:color-mix(in srgb,var(--mint) 14%,transparent);vertical-align:2px}
.js .rv .cmp tbody tr{opacity:0;transform:translate3d(0,10px,0);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .rv.in .cmp tbody tr{opacity:1;transform:none}
.js .rv.in .cmp tbody tr:nth-child(2){transition-delay:.05s}.js .rv.in .cmp tbody tr:nth-child(3){transition-delay:.1s}.js .rv.in .cmp tbody tr:nth-child(4){transition-delay:.15s}.js .rv.in .cmp tbody tr:nth-child(5){transition-delay:.2s}.js .rv.in .cmp tbody tr:nth-child(6){transition-delay:.25s}.js .rv.in .cmp tbody tr:nth-child(7){transition-delay:.3s}.js .rv.in .cmp tbody tr:nth-child(8){transition-delay:.35s}.js .rv.in .cmp tbody tr:nth-child(9){transition-delay:.4s}.js .rv.in .cmp tbody tr:nth-child(10){transition-delay:.45s}
.ask-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:ask}
@media(min-width:760px){.ask-list{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.ask-list{grid-template-columns:repeat(3,1fr)}}
.ask-list li{counter-increment:ask;padding:22px 24px;border-radius:var(--r-lg);display:grid;gap:8px}
.ask-list li::before{content:counter(ask,decimal-leading-zero);font:600 12px/1 var(--mono);letter-spacing:.12em;color:var(--brand-text)}
.ask-list b{font-size:17px;color:var(--ink)}
.ask-list p{margin:0;font-size:14.5px;color:var(--ink-2)}

/* ---------- reviews ---------- */
.rv-summary{display:grid;gap:22px;padding:clamp(22px,3vw,32px);border-radius:var(--r-lg);margin-bottom:16px}
@media(min-width:760px){.rv-summary{grid-template-columns:240px 1fr;align-items:center}}
.rv-score{display:grid;gap:6px;justify-items:start}
.rv-score b{font-size:64px;font-weight:600;letter-spacing:-.04em;line-height:1}
.rv-score > span:last-child{color:var(--ink-3);font-size:14px}
.stars{display:inline-flex;gap:2px;font-size:18px;line-height:1;letter-spacing:0}
.stars i{font-style:normal;color:color-mix(in srgb,var(--ink) 18%,transparent)}
.stars i.on{color:var(--brand)}
.rv-dist{display:grid;gap:8px}
.rv-bar{display:grid;grid-template-columns:42px 1fr 28px;gap:10px;align-items:center;font:500 13px/1 var(--mono);color:var(--ink-2)}
.rv-track{height:8px;border-radius:999px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden}
.rv-track i{display:block;height:100%;width:var(--w,0%);border-radius:inherit;background:linear-gradient(90deg,#08875A,#2BD98E);transition:width 1.2s var(--spring)}
.rv-list{display:grid;gap:14px}
@media(min-width:900px){.rv-list{grid-template-columns:repeat(2,1fr)}}
.rv-list .empty{grid-column:1/-1}
.rv-card{padding:24px;border-radius:var(--r-lg);display:grid;gap:10px;align-content:start;opacity:0;transform:translate3d(0,14px,0);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0s)}
.rv-card.in,.no-js .rv-card{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv-card{opacity:1;transform:none}}
.rv-card.is-sample{outline:2px dashed color-mix(in srgb,var(--warn) 70%,transparent);outline-offset:-2px}
.rv-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.rv-card h3{margin:0;font-size:18px}
.rv-card p{margin:0;color:var(--ink-2);font-size:15px}
.rv-meta{font-size:13px!important;color:var(--ink-3)!important}
.rv-reply{margin-top:6px;padding:12px 14px;border-radius:14px;background:var(--surface-2);box-shadow:inset 3px 0 0 var(--brand)}
.rv-reply b{font-size:13px;color:var(--brand-text)}

/* ---------- taxes ---------- */
.tax-grid{display:grid;gap:14px}
@media(min-width:760px){.tax-grid{grid-template-columns:repeat(2,1fr)}}
.tax-card{padding:24px;border-radius:var(--r-lg);display:grid;gap:10px;align-content:start;position:relative}
.tax-card h3{margin:0;font-size:18px}
.tax-card p{margin:0;font-size:15px;color:var(--ink-2)}
.tax-cc{position:absolute;top:20px;right:22px;font:600 11px/1 var(--mono);letter-spacing:.14em;color:var(--ink-3)}
.tax-src{font-size:13.5px!important}
.tax-src a{color:var(--brand-text)}
.tx-form{padding:clamp(20px,3vw,30px);border-radius:var(--r-lg);display:grid;gap:14px;max-width:760px}
.tx-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.tx-status{font-size:14px;color:var(--ink-3)}
.tx-form .err{display:block;min-height:1em}
.tx-form .err:empty{display:none}
.tx-out{margin-top:22px;display:grid;gap:14px}
.tx-sum{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.tx-tot{padding:16px 18px;border-radius:16px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);display:grid;gap:4px}
.tx-tot span{font-size:13px;color:var(--ink-3)}
.tx-tot b{font:600 20px/1.1 var(--mono);color:var(--ink)}
.tx-tot small{font:500 12px/1 var(--mono);color:var(--ink-3)}
.tx-tot.yr b{color:var(--brand-text)}
.tx-table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
.tx-table th,.tx-table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line)}
.tx-table th{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2)}
.tx-table a{color:var(--brand-text);text-decoration:none}
@media print{.tx-form,.afoot,.gnav,.tickers{display:none!important}.tx-out{display:grid!important}}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  .tk-track,.tk-track.run{animation:none}
  .tk-view{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .tk-item{transition:none;filter:none}
  .tk-label .dot,.pw-track i::after,.mk-bars rect{animation:none}
  .js .ladder .rung.in{transform:none}
}

/* ==========================================================================
   v10: liquid glass everywhere (except the home hero copy and fine print) · spring motion
   ========================================================================== */
:root{
  --ease-out:cubic-bezier(.16,1,.3,1);
  --spring:cubic-bezier(.34,1.3,.64,1);
  --spring-soft:cubic-bezier(.22,1.1,.36,1);
  --lg-fill:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.028) 48%,rgba(255,255,255,.05));
  --lg-tint:rgba(18,20,20,.44);
  --lg-rim:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(255,255,255,.05),inset 0 0 0 1px rgba(255,255,255,.08);
  --lg-depth:0 22px 60px -30px rgba(0,0,0,.85),0 4px 14px -8px rgba(0,0,0,.5);
  --lg-blur:20px;--lg-sat:175%;
  --lg-inner:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
}
@supports (transition-timing-function:linear(0,1)){:root{
  --spring:linear(0, 0.042 2.9%, 0.146 5.9%, 0.284 8.8%, 0.434 11.8%, 0.581 14.7%, 0.714 17.6%, 0.827 20.6%, 0.918 23.5%, 0.987 26.5%, 1.034 29.4%, 1.064 32.4%, 1.079 35.3%, 1.084 38.2%, 1.080 41.2%, 1.071 44.1%, 1.059 47.1%, 1.047 50.0%, 1.035 52.9%, 1.024 55.9%, 1.014 58.8%, 1.007 61.8%, 1.001 64.7%, 0.997 67.6%, 0.995 70.6%, 0.993 73.5%, 0.993 76.5%, 0.994 82.4%, 0.996 88.2%, 0.998 94.1%, 1);
  --spring-soft:linear(0, 0.030 2.9%, 0.105 5.9%, 0.204 8.8%, 0.313 11.8%, 0.422 14.7%, 0.526 17.6%, 0.620 20.6%, 0.702 23.5%, 0.772 26.5%, 0.830 29.4%, 0.878 32.4%, 0.915 35.3%, 0.945 38.2%, 0.967 41.2%, 0.983 44.1%, 0.994 47.1%, 1.002 50.0%, 1.007 52.9%, 1.010 55.9%, 1.011 61.8%, 1.009 70.6%, 1.006 76.5%, 1.004 82.4%, 1.002 88.2%, 1.001 94.1%, 1);
}}
:root[data-theme=light]{
  --lg-fill:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.62) 50%,rgba(255,255,255,.74));
  --lg-tint:rgba(255,255,255,.42);
  --lg-rim:inset 0 1px 0 rgba(255,255,255,1),inset 0 -1px 0 rgba(0,0,0,.035),inset 0 0 0 1px rgba(0,0,0,.065);
  --lg-depth:0 22px 60px -32px rgba(10,40,28,.32),0 4px 14px -8px rgba(10,40,28,.16);
  --lg-inner:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.45));
}

/* ---------- the material ---------- */
.glass,.card,.tile,.stat,.lcard,.feature,.flag:not(.more),.blk,.panel,.controls,.results,.chk-form,.chk-out,.ledger,.co-sum,.final-card,.rung,
.pw-card,.pw-stat,.cmp-wrap,.rv-card,.rv-summary,.tax-card,.ask-list li,.tx-form,.ratecard,.faq,.gallery,.sec-head,.car-card,.cta,.prodcard,
.fleet-band,.wheel-card,.ledger-stats div,.article-layout>article,.toc,.opt,.co-panel,.timeline li,.spec-table-wrap,.buy-grid .card{
  background:var(--lg-fill),var(--lg-tint)!important;
  -webkit-backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-sat));
  backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-sat));
  box-shadow:var(--lg-rim),var(--lg-depth)!important;
  border:0!important;
}
/* small tiles inside glass: lighter, no second blur */
.kpi,.est-box div,.tx-tot,.mstats div,.tests li,.co-box,.hdr,.today .paid{
  background:var(--lg-inner)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 0 0 1px rgba(255,255,255,.06)!important;border:0!important;
  -webkit-backdrop-filter:none;backdrop-filter:none}
:root[data-theme=light] :is(.kpi,.est-box div,.tx-tot,.mstats div,.tests li,.co-box,.hdr){box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px rgba(0,0,0,.06)!important}
.est-box div.save,.kpi.good,.rung-est div.save{background:linear-gradient(180deg,color-mix(in srgb,var(--mint) 20%,transparent),color-mix(in srgb,var(--mint) 9%,transparent))!important}
/* selected states stay obvious on glass */
.opt[aria-checked=true]{box-shadow:inset 0 0 0 2px var(--brand),var(--lg-rim),0 14px 40px -20px rgba(43,217,142,.55)!important}
.rung.feat{box-shadow:inset 0 0 0 1.5px rgba(94,240,178,.6),var(--lg-rim),var(--lg-depth)!important}
/* the home hero copy stays exactly as it is */
.hero .hero-copy,.hero .hero-copy *{-webkit-backdrop-filter:none;backdrop-filter:none}

/* ---------- text in glass panels; fine print stays plain ---------- */
.sec-head{padding:clamp(22px,3vw,34px) clamp(22px,3.4vw,42px);border-radius:32px;width:fit-content;max-width:100%}
.sec-head.center{margin-left:auto;margin-right:auto}
.faq{padding:6px clamp(18px,3vw,32px);border-radius:30px}
.article-layout>article{padding:clamp(24px,4vw,48px);border-radius:32px}
.toc{padding:18px 20px;border-radius:24px}
.foot-note,.tiny,.hint,.src,.ladder-note,.live-note,.afoot-notes{background:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}

/* ---------- floating liquid-glass capsules: header, local nav, live bars ---------- */
.gnav{background:transparent!important;border:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;height:auto;padding:10px 12px 0;pointer-events:none}
.gnav .gnav-in{pointer-events:auto;max-width:1180px;margin:0 auto;height:54px;padding:0 10px 0 18px;border-radius:20px;position:relative;isolation:isolate}
.lnav{background:transparent!important;border:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;height:auto;padding:8px 12px 0;pointer-events:none}
.lnav .lnav-in{pointer-events:auto;max-width:1180px;margin:0 auto;height:50px;padding:0 8px 0 20px;border-radius:18px;position:relative}
.gnav .gnav-in,.lnav .lnav-in,.tickers{
  background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.03) 55%,rgba(255,255,255,.06)),rgba(14,16,16,.5)!important;
  -webkit-backdrop-filter:blur(26px) saturate(190%);backdrop-filter:blur(26px) saturate(190%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(255,255,255,.06),inset 0 0 0 1px rgba(255,255,255,.09),0 18px 50px -24px rgba(0,0,0,.9)!important}
:root[data-theme=light] :is(.gnav .gnav-in,.lnav .lnav-in,.tickers){background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.62) 55%,rgba(255,255,255,.75)),rgba(255,255,255,.35)!important;box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px rgba(0,0,0,.07),0 18px 50px -26px rgba(10,40,28,.35)!important}
.gnav.scrolled .gnav-in{box-shadow:inset 0 1px 0 rgba(255,255,255,.32),inset 0 0 0 1px rgba(255,255,255,.1),0 24px 60px -24px rgba(0,0,0,.95)!important}
.tickers{max-width:1180px;margin:8px max(12px,calc((100% - 1180px) / 2)) 0;border-radius:18px;overflow:hidden;border:0!important}
.tickers .tk-in{padding-inline:16px}
.sheet{position:absolute!important;top:70px!important;left:12px!important;right:12px!important;border-radius:22px!important;pointer-events:auto;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.04)),rgba(14,16,16,.72)!important;-webkit-backdrop-filter:blur(26px) saturate(190%)!important;backdrop-filter:blur(26px) saturate(190%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 0 0 1px rgba(255,255,255,.09),0 30px 70px -30px rgba(0,0,0,.9)!important;border:0!important}
:root[data-theme=light] .sheet{background:rgba(255,255,255,.86)!important}
@media(max-width:760px){.gnav{padding:8px 8px 0}.gnav .gnav-in{height:50px;border-radius:18px;padding:0 6px 0 14px}.lnav{padding:6px 8px 0}.lnav .lnav-in{border-radius:16px;height:46px}.tickers{margin:6px 8px 0;border-radius:16px}}
/* sliding liquid highlight behind nav links */
.gnav-links,.lnav-links{position:relative;isolation:isolate}
.nav-pill{position:absolute;top:50%;left:0;height:32px;margin-top:-16px;border-radius:999px;pointer-events:none;opacity:0;z-index:-1;
  background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(255,255,255,.05));box-shadow:inset 0 1px 0 rgba(255,255,255,.32),inset 0 0 0 1px rgba(255,255,255,.1),0 6px 16px -8px rgba(0,0,0,.6);
  transition:transform .6s var(--spring),width .6s var(--spring),opacity .35s var(--ease-out)}
:root[data-theme=light] .nav-pill{background:linear-gradient(180deg,#fff,rgba(255,255,255,.7));box-shadow:inset 0 0 0 1px rgba(0,0,0,.06),0 6px 16px -8px rgba(10,40,28,.3)}
.gnav-links a,.lnav-links a{transition:opacity .25s,color .25s}
/* entrance */
@keyframes lgIn{from{opacity:0;transform:translate3d(0,-12px,0) scale(.985)}to{opacity:1;transform:none}}
.js .gnav .gnav-in{animation:lgIn .9s var(--ease-out) both}
.js .lnav .lnav-in{animation:lgIn .9s var(--ease-out) .07s both}
.js .tickers{animation:lgIn .9s var(--ease-out) .14s both}

/* ---------- liquid buttons ---------- */
.btn{transition:transform .55s var(--spring),box-shadow .35s var(--ease-out),filter .35s var(--ease-out),background-color .35s}
.btn:active{transform:scale(.962);transition-duration:.14s}
.btn-primary{color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,0) 52%),linear-gradient(180deg,#12AE73 0%,#08875A 60%,#06784F 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 4px rgba(0,30,18,.32),inset 0 0 0 1px rgba(255,255,255,.1),0 12px 30px -12px rgba(43,217,142,.8),0 2px 6px -2px rgba(0,0,0,.45)!important}
.btn-primary:hover{filter:brightness(1.08) saturate(1.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 4px rgba(0,30,18,.3),inset 0 0 0 1px rgba(255,255,255,.14),0 16px 40px -12px rgba(43,217,142,.95),0 2px 6px -2px rgba(0,0,0,.45)!important}
.btn-ghost{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.04))!important;-webkit-backdrop-filter:blur(14px) saturate(170%);backdrop-filter:blur(14px) saturate(170%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),inset 0 0 0 1px rgba(255,255,255,.13),0 8px 22px -14px rgba(0,0,0,.7)!important}
:root[data-theme=light] .btn-ghost{background:linear-gradient(180deg,#fff,rgba(255,255,255,.7))!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1),0 8px 22px -16px rgba(10,40,28,.35)!important}
.icon-btn{transition:background-color .25s,transform .45s var(--spring)}
.icon-btn:active{transform:scale(.9)}

/* ---------- motion: smoother reveals (translate/scale, so hover can use transform freely) ---------- */
.js .rv{transform:none;translate:0 22px;scale:.985;opacity:0;
  transition:opacity .95s var(--ease-out) var(--d,0s),translate 1.1s var(--ease-out) var(--d,0s),scale 1.1s var(--ease-out) var(--d,0s),transform .6s var(--spring),box-shadow .4s var(--ease-out)}
.js .rv.in{opacity:1;translate:0 0;scale:1}
.js .rv.in:is(.tile,.feature,.lcard,.pw-stat,.tax-card,.rv-card,.ask-list li,.stat,.blk,.flag):hover{transform:translate3d(0,-4px,0)}
@keyframes valSwap{0%{opacity:0;transform:translate3d(0,.34em,0);filter:blur(3px)}100%{opacity:1;transform:none;filter:none}}
.tick{display:inline-block;animation:valSwap .7s var(--ease-out)}
.tk-item{transition:transform .8s var(--spring-soft),opacity .5s var(--ease-out),filter .6s var(--ease-out)}
@supports (animation-timeline:view()){
  .hero.center .hero-copy{animation:heroOut linear both;animation-timeline:view();animation-range:exit 5% exit 85%}
  @keyframes heroOut{to{opacity:0;transform:translate3d(0,-56px,0) scale(.965)}}
}

/* ---------- miners: live 3D with a rendered poster underneath ---------- */








.tile-art .mach-img{width:min(460px,100%)}
.mach-img{display:block;width:100%;height:auto}
.co-thumb img{width:56px;height:42px;object-fit:contain}
.prodcard .mach-img{max-width:240px;margin:-6px auto -4px}
/* tier miners: half physical, half digital */
.rung-art{position:relative;margin:-6px -6px 4px;border-radius:22px;overflow:hidden;aspect-ratio:4/3;background:radial-gradient(70% 55% at 50% 62%,color-mix(in srgb,var(--mint) 16%,transparent),transparent 72%)}
.rung-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 26px rgba(0,0,0,.5));transition:transform .8s var(--spring)}
.rung:hover .rung-art img{transform:scale(1.04) translate3d(0,-4px,0)}
.rung-art::after{content:"";position:absolute;inset:-20% 0;background:linear-gradient(100deg,transparent 42%,rgba(141,242,197,.16) 50%,transparent 58%);transform:translate3d(-100%,0,0);animation:artSweep 5.5s var(--ease-out) infinite;pointer-events:none}
.rung:nth-child(2) .rung-art::after{animation-delay:.6s}.rung:nth-child(3) .rung-art::after{animation-delay:1.2s}.rung:nth-child(4) .rung-art::after{animation-delay:1.8s}.rung:nth-child(5) .rung-art::after{animation-delay:2.4s}.rung:nth-child(6) .rung-art::after{animation-delay:3s}
@keyframes artSweep{0%{transform:translate3d(-100%,0,0)}55%,100%{transform:translate3d(100%,0,0)}}
.rung-share{font:500 11.5px/1.3 var(--mono);letter-spacing:.04em;color:var(--ink-3)}
.opt:has(.opt-art){display:grid;grid-template-columns:72px 1fr;column-gap:14px;align-items:center}
.opt .opt-art{grid-row:1/span 3;width:72px;height:54px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}
.opt:has(.opt-art)>.badge{grid-column:2}

/* ---------- stats band ---------- */
.fleet-band{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-radius:28px;overflow:hidden}
@media(min-width:760px){.fleet-band{grid-template-columns:repeat(5,1fr)}}
.fb{padding:22px 24px;display:grid;gap:6px;position:relative}
.fb+.fb::before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:1px;background:var(--line)}
@media(max-width:759px){.fb:nth-child(odd)::before{display:none}.fb:nth-child(n+3){border-top:1px solid var(--line)}}
.fb b{font-size:clamp(26px,3vw,36px);font-weight:600;letter-spacing:-.035em;line-height:1.05;font-variant-numeric:tabular-nums}
.fb span{font-size:13.5px;color:var(--ink-2)}
.fleet-note{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 0;font-size:14px;color:var(--ink-2)}
.fleet-note .dot{width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 0 rgba(43,217,142,.55);animation:tkPulse 2s infinite}
.ph.ph-fact{font-size:inherit}

/* ---------- welcome wheel (real random draw, odds shown) ---------- */
.wheel-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.42);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .45s var(--ease-out)}
.wheel-modal.open{opacity:1}
.wheel-card{position:relative;width:min(440px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:26px 24px 22px;border-radius:30px;text-align:center;display:grid;gap:12px;transform:translate3d(0,18px,0) scale(.96);transition:transform .7s var(--spring)}
.wheel-modal.open .wheel-card{transform:none}
.wheel-card h2{margin:0;font-size:clamp(22px,4vw,26px);letter-spacing:-.025em}
.wheel-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:50%;cursor:pointer;color:var(--ink-2);background:color-mix(in srgb,var(--ink) 8%,transparent);font-size:18px;line-height:1}
.wheel-wrap{position:relative;width:min(260px,70vw);aspect-ratio:1;margin:4px auto}
.wheel{width:100%;height:100%;display:block;transition:transform 4.6s cubic-bezier(.12,.8,.16,1)}
.wheel-pin{position:absolute;top:-6px;left:50%;width:0;height:0;margin-left:-11px;border:11px solid transparent;border-top:20px solid #fff;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5))}
.wheel-hub{position:absolute;inset:39%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#3DDC97,#08875A);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 6px 16px rgba(0,0,0,.45)}
.wheel-result{min-height:1.4em;margin:0;font-size:18px;font-weight:600}
.wheel-result.win{color:var(--brand-text)}
.wheel-odds{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;margin:0;padding:10px 12px;border-radius:14px;background:var(--lg-inner);font:500 12.5px/1.4 var(--mono);color:var(--ink-2)}
.wheel-odds i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.wheel-card .cta-row{justify-content:center;margin:2px 0 0}
.promo-row dt,.promo-row dd{color:var(--brand-text)!important}

/* ---------- Phantom at checkout ---------- */
.btn-phantom{color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 52%),linear-gradient(180deg,#9F8FF6,#6E5BE6)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 0 0 1px rgba(255,255,255,.12),0 10px 26px -12px rgba(140,120,240,.8)!important}
.phantom-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:2px 0 6px}
.phantom-row .small{color:var(--ink-3)}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  .js .rv{translate:0 0;scale:1;opacity:1;transition:none}
  .js .gnav .gnav-in,.js .lnav .lnav-in,.js .tickers{animation:none}
  .rung-art::after,.fleet-note .dot{animation:none}
  .hero.center .hero-copy{animation:none}
  .wheel{transition:none}
  .tick{animation:none}
}
.rv-buy{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:14px;background:var(--lg-inner)}
.rv-buy img{width:64px;height:48px;object-fit:contain;flex:none}
.rv-buy span{font-size:13.5px;color:var(--ink-2)}
.rv-buy b{color:var(--ink);font-weight:600}

.ph{white-space:normal!important;-webkit-box-decoration-break:clone;box-decoration-break:clone;overflow-wrap:anywhere}



/* ===== v10.1: Quasar flagship tier ===== */
@property --flag-a{syntax:'<angle>';inherits:false;initial-value:0deg}
.ladder .rung.rung-flag{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:0;padding:0;align-items:stretch;
  background:radial-gradient(90% 80% at 22% 45%,color-mix(in srgb,var(--mint) 14%,transparent),transparent 62%),linear-gradient(180deg,color-mix(in srgb,var(--mint) 7%,var(--surface)),var(--surface))!important}
@media(min-width:900px){.ladder .rung.rung-flag{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}}
.ladder .rung-flag::before{inset:0;width:auto;height:auto;border-radius:inherit;padding:1.5px;z-index:3;pointer-events:none;
  background:conic-gradient(from var(--flag-a),transparent 0deg,rgba(94,240,178,.85) 40deg,rgba(255,255,255,.95) 62deg,rgba(150,255,212,.55) 90deg,transparent 140deg,transparent 220deg,rgba(94,240,178,.7) 260deg,rgba(235,255,246,.9) 282deg,transparent 330deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:flagSpin 9s linear infinite}
@keyframes flagSpin{to{--flag-a:360deg}}
.rung-flag .flag-art{position:relative;width:100%;aspect-ratio:4/3;background:radial-gradient(60% 55% at 50% 56%,color-mix(in srgb,var(--mint) 18%,transparent),transparent 72%)}
@media(min-width:900px){.rung-flag .flag-art{aspect-ratio:auto;min-height:470px;align-self:stretch}}
.flag-hud{position:absolute;left:18px;bottom:18px;right:18px;display:flex;gap:8px;flex-wrap:wrap;z-index:2;pointer-events:none}
.flag-hud span{display:grid;gap:3px;padding:9px 12px;border-radius:14px;font-size:11.5px;color:var(--ink-3);background:color-mix(in srgb,var(--bg) 58%,transparent);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}
.flag-hud b{font:600 15px/1.1 var(--mono);color:var(--ink);letter-spacing:-.01em}
.flag-cap{position:absolute;top:16px;right:16px;z-index:2;font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.rung-flag .flag-body{display:flex;flex-direction:column;gap:10px;padding:26px 24px 26px;min-width:0}
@media(min-width:900px){.rung-flag .flag-body{padding:38px 40px 34px 10px}}
.rung-flag h3{font-size:clamp(32px,3.4vw,44px);letter-spacing:-.035em;margin-top:6px;color:transparent;-webkit-background-clip:text;background-clip:text;
  background-image:linear-gradient(100deg,var(--ink) 35%,#bff5dc 50%,var(--ink) 65%);background-size:250% 100%;animation:flagSheen 7s var(--ease-out) infinite}
@keyframes flagSheen{0%,45%{background-position:100% 0}100%{background-position:0 0}}
.rung-flag .rung-price{font-size:clamp(42px,4.2vw,58px)}
.flag-lede{font-size:15px;line-height:1.5;color:var(--ink-2);max-width:46ch}
@media(min-width:620px){.rung-flag .rung-est{grid-template-columns:1fr 1fr;column-gap:28px}.rung-flag .rung-est div.save{grid-column:1/-1}}
.flag-perks{list-style:none;margin:2px 0 4px;padding:0;display:grid;gap:9px}
.flag-perks li{position:relative;padding-left:26px;font-size:14px;line-height:1.45;color:var(--ink-2)}
.flag-perks li::before{content:"";position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:50%;
  background:radial-gradient(circle,var(--mint) 0 3px,transparent 3.5px),color-mix(in srgb,var(--mint) 18%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mint) 45%,transparent)}
.flag-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.rung-flag .btn{margin-top:0;align-self:auto}
.badge.lux{color:#06261a;background:linear-gradient(120deg,#f2fff8,#b8f5d8 45%,#6fe3b0 70%,#e6fff3);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 6px 20px rgba(94,240,178,.28)}
:root[data-theme=light] .flag-hud span{background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
@media(prefers-reduced-motion:reduce){.ladder .rung-flag::before,.rung-flag h3{animation:none}}

/* ===== v10.2: technical view (buy gallery) ===== */
#gv2{width:100%}
.tech{width:100%;display:grid;gap:14px;padding-top:48px}
.tech-fig{margin:0;display:grid;place-items:center}
.tech-stage{position:relative;width:min(100%,460px,53vh);aspect-ratio:4/3}
.tech-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 26px 34px rgba(0,0,0,.5))}
.tech-air{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.tech-air path{fill:none;stroke:var(--mint);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:3 6;vector-effect:non-scaling-stroke;opacity:.85;animation:airFlow 1s linear infinite}
@keyframes airFlow{to{stroke-dashoffset:-18}}
.tech-airlbl{position:absolute;right:0;top:36.5%;font:600 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brand-text)}
.pin{position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent}
.pin i{position:relative;z-index:1;display:grid;place-items:center;width:100%;height:100%;border-radius:50%;font:700 12px/1 var(--mono);font-style:normal;color:#04150d;background:linear-gradient(180deg,#c9fbe3,var(--mint));box-shadow:0 0 0 4px color-mix(in srgb,var(--mint) 24%,transparent),0 8px 20px rgba(0,0,0,.45);transition:scale .45s var(--spring)}
.pin::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--mint);opacity:0;animation:pinPulse 2.8s var(--ease-out) infinite;pointer-events:none}
.pin[data-n="2"]::before{animation-delay:.55s}.pin[data-n="3"]::before{animation-delay:1.1s}.pin[data-n="4"]::before{animation-delay:1.65s}.pin[data-n="5"]::before{animation-delay:2.2s}
@keyframes pinPulse{0%{opacity:.8;scale:.6}100%{opacity:0;scale:1.6}}
.pin:hover i,.pin:focus-visible i,.pin.on i{scale:1.16}
.pin .tip{position:absolute;left:50%;bottom:calc(100% + 10px);translate:-50% 6px;white-space:nowrap;padding:7px 11px;border-radius:11px;font:600 12.5px/1 var(--font);color:var(--ink);background:color-mix(in srgb,var(--bg) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px var(--line-2),0 10px 24px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .25s,translate .45s var(--spring)}
.pin:hover .tip,.pin:focus-visible .tip,.pin.on .tip{opacity:1;translate:-50% 0}
.tech-key{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}
.tech-key li{display:grid;grid-template-columns:22px 1fr;column-gap:10px;row-gap:2px;align-items:start;padding:10px 12px;border-radius:14px;background:var(--lg-inner);box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,box-shadow .3s}
.tech-key li::before{content:attr(data-n);grid-row:1/span 2;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:700 11px/1 var(--mono);color:#04150d;background:var(--mint)}
.tech-key b{font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.3}
.tech-key span{font-size:12.5px;line-height:1.38;color:var(--ink-3)}
.tech-key li.on{background:color-mix(in srgb,var(--mint) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mint) 50%,transparent)}
.tech-specs{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border-radius:16px;overflow:hidden;background:var(--line)}
.tech-specs div{padding:11px 12px;background:color-mix(in srgb,var(--bg) 62%,transparent)}
.tech-specs dt{font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.tech-specs dd{margin:7px 0 0;font:600 14px/1.2 var(--mono);color:var(--ink);letter-spacing:-.01em}
@media(max-width:560px){.tech-specs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tech-src{margin:0;font-size:11.5px;line-height:1.5;color:var(--ink-3)}
.tech-src a{color:var(--ink-2);text-decoration:underline;text-underline-offset:2px}
.gallery:has(#gv2:not([hidden])) .gal-cap{display:none}
:root[data-theme=light] .tech-specs div{background:rgba(255,255,255,.75)}

/* ===== v10.2: demo data ===== */
.smp{text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:color-mix(in srgb,var(--mint) 80%,transparent);text-decoration-thickness:1.5px;text-underline-offset:.2em;cursor:help}
.demo-pill{position:fixed;left:16px;bottom:16px;z-index:150;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:7px 7px 7px 14px;border-radius:999px;font-size:12.5px;line-height:1.2;color:var(--ink-2);
  background:color-mix(in srgb,var(--bg) 70%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 0 0 1px rgba(255,255,255,.1),0 16px 40px -14px rgba(0,0,0,.65);animation:demoIn .8s var(--spring) 1s both}
@keyframes demoIn{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
.demo-pill .dot{width:8px;height:8px;background:var(--mint);box-shadow:0 0 0 4px color-mix(in srgb,var(--mint) 22%,transparent)}
.demo-pill.off .dot{background:var(--ink-3);box-shadow:none}
.demo-pill b{color:var(--ink);font-weight:600;white-space:nowrap}
.demo-pill button{flex:none;height:30px;padding:0 13px;border:0;border-radius:999px;font:600 12px var(--font);color:var(--ink);background:color-mix(in srgb,var(--ink) 9%,transparent);cursor:pointer;transition:background .2s}
.demo-pill button:hover{background:color-mix(in srgb,var(--ink) 16%,transparent)}
body:has(#sumbar) .demo-pill,body:has(#buybar.show) .demo-pill{bottom:100px}
@media(max-width:640px){.demo-pill span{display:none}.demo-pill{left:10px;bottom:10px}body:has(#sumbar) .demo-pill,body:has(#buybar.show) .demo-pill{bottom:92px}}
:root[data-theme=light] .demo-pill{background:rgba(255,255,255,.82);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),0 16px 40px -18px rgba(0,0,0,.3)}
@media print{.demo-pill{display:none}}

/* ===== v10.2: shared text button + nav dashboard link ===== */
.tlink{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;font:500 16px/1.2 var(--font);color:var(--brand-text);cursor:pointer;text-decoration:none}
.tlink:hover{text-decoration:underline;text-underline-offset:3px}
.gnav-end .acct-btn{display:inline-grid;place-items:center;text-decoration:none;color:inherit}

/* ===== v10.2: dashboard key card (order confirmation) ===== */
.kc-wrap{padding-top:0}
.kc{position:relative;isolation:isolate;overflow:hidden;max-width:760px;margin:0 auto;padding:30px 30px 26px;border-radius:28px;display:grid;gap:16px}
.kc-glow{position:absolute;right:-25%;top:-70%;width:75%;height:150%;background:radial-gradient(closest-side,color-mix(in srgb,var(--mint) 22%,transparent),transparent);pointer-events:none;z-index:-1}
.kc-head{display:flex;align-items:center;gap:16px}
.kc-head h2{font-size:clamp(24px,2.6vw,32px);letter-spacing:-.025em;line-height:1.1}
.kc-ico{flex:none;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:#04150d;background:linear-gradient(160deg,#d5fdea,var(--mint) 60%,#1fb8a0);box-shadow:0 12px 30px -10px color-mix(in srgb,var(--mint) 70%,transparent)}
.kc-ico svg{width:24px;height:24px}
.kc-sub{margin:0;color:var(--ink-2);font-size:15.5px;line-height:1.5;max-width:60ch}
.kc-key{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 14px 14px 18px;border-radius:18px;background:color-mix(in srgb,var(--bg) 55%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mint) 40%,transparent),0 0 0 6px color-mix(in srgb,var(--mint) 7%,transparent)}
.kc-key code{flex:1;min-width:0;font:600 clamp(15px,2.2vw,21px)/1.25 var(--mono);letter-spacing:.06em;color:var(--ink);overflow-wrap:anywhere}
.kc-tips{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.kc-tips li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.kc-tips svg{flex:none;width:16px;height:16px;margin-top:2px;color:var(--brand-text)}
.kc-cta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:2px}
.kc-test{margin:0;font-size:12.5px;color:var(--ink-3)}
:root[data-theme=light] .kc-key{background:rgba(255,255,255,.7)}

/* ===== v10.2: scam watch ===== */
.sw-live{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media(max-width:900px){.sw-live{grid-template-columns:1fr}}
.sw-stat{padding:24px 24px 22px;border-radius:24px;display:grid;gap:8px;align-content:start}
.sw-stat .k{margin:0;font-size:14px;color:var(--ink-3)}
.sw-stat .v{margin:0;font:600 clamp(32px,3.6vw,46px)/1 var(--mono);letter-spacing:-.03em;color:var(--ink)}
.sw-stat .u{margin:0;font-size:13.5px;color:var(--ink-2);line-height:1.45}
.sw-stat.bad .v{color:var(--loss)}
.sw-check{margin-top:16px;padding:30px;border-radius:28px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:30px;align-items:center}
@media(max-width:900px){.sw-check{grid-template-columns:1fr;padding:22px}}
.sw-check h3{font-size:22px;letter-spacing:-.02em;margin-bottom:14px}
.sw-in{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:17px;color:var(--ink-2)}
.sw-in input[type=number]{width:120px;height:58px;padding:0 10px;border-radius:16px;border:0;font:600 26px var(--mono);text-align:center;color:var(--ink);background:var(--lg-inner);box-shadow:inset 0 0 0 1px var(--line-2)}
.sw-in input[type=number]:focus{outline:2px solid var(--mint);outline-offset:2px}
.sw-range{width:100%;margin-top:18px;accent-color:var(--mint)}
.sw-scale{display:flex;justify-content:space-between;font:500 11px/1 var(--mono);color:var(--ink-3);margin-top:6px}
.sw-out{display:grid;gap:12px}
.sw-verdict{display:inline-flex;align-items:center;gap:8px;justify-self:start;height:32px;padding:0 14px;border-radius:999px;font-weight:600;font-size:14px}
.sw-verdict[data-tone=ok]{color:var(--gain);background:color-mix(in srgb,var(--mint) 14%,transparent)}
.sw-verdict[data-tone=warn]{color:var(--ink);background:color-mix(in srgb,var(--ink) 11%,transparent)}
.sw-verdict[data-tone=bad]{color:#fff;background:var(--loss)}
.sw-big{margin:0;font-size:clamp(22px,2.4vw,30px);font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--ink)}
.sw-sub{margin:0;font-size:15px;color:var(--ink-2);line-height:1.55}
.sw-flags{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media(max-width:1060px){.sw-flags{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.sw-flags{grid-template-columns:1fr}}
.sw-flag{padding:22px;border-radius:22px;display:grid;gap:10px;align-content:start}
.sw-ico{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:var(--loss);background:color-mix(in srgb,var(--loss) 13%,transparent)}
.sw-ico svg{width:20px;height:20px}
.sw-flag h3{font-size:17px;letter-spacing:-.015em}
.sw-flag p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.5}
.sw-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media(max-width:860px){.sw-cases{grid-template-columns:1fr}}
.case{position:relative;padding:26px 26px 22px;border-radius:26px;display:grid;gap:14px;align-content:start}
.case-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.case h3{font-size:25px;letter-spacing:-.025em}
.case-meta{margin:6px 0 0;font:500 11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.case-stamp{flex:none;rotate:-6deg;margin-top:4px;padding:6px 11px;border-radius:8px;border:2px solid color-mix(in srgb,var(--loss) 75%,transparent);font:700 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--loss) 85%,var(--ink));white-space:nowrap}
.case dl{margin:0;display:grid;gap:12px}
.case dt{font:600 10.5px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.case dd{margin:6px 0 0;font-size:14.5px;color:var(--ink-2);line-height:1.5}
.case-amt{font:600 15px/1 var(--mono);color:var(--ink)}
.case-src{margin:0;font-size:13px;color:var(--ink-3)}
.case-src a{color:var(--brand-text)}
.sw-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media(max-width:760px){.sw-tools{grid-template-columns:1fr}}
.sw-tool{padding:24px;border-radius:24px;display:grid;gap:12px;align-content:start}
.sw-tool h3{font-size:20px;letter-spacing:-.02em}
.sw-tool>p{margin:0;font-size:14.5px;color:var(--ink-2);line-height:1.5}
.sw-links{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sw-links a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--lg-inner);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);font-weight:600;font-size:14.5px;text-decoration:none;transition:background .2s}
.sw-links a:hover{background:color-mix(in srgb,var(--mint) 10%,transparent)}
.sw-links small{display:block;font-weight:400;font-size:12.5px;color:var(--ink-3);margin-top:2px}
.sw-links svg{flex:none;width:16px;height:16px;color:var(--ink-3)}
.sw-us{position:relative;isolation:isolate;overflow:hidden;text-align:center;padding:44px 28px;border-radius:30px;display:grid;justify-items:center;gap:14px}
.sw-us::before{content:"";position:absolute;inset:-40% 10% auto;height:90%;background:radial-gradient(closest-side,color-mix(in srgb,var(--mint) 16%,transparent),transparent);z-index:-1}
.sw-us h2{font-size:clamp(28px,3.4vw,42px);letter-spacing:-.03em;max-width:22ch;line-height:1.08}
.sw-us p{margin:0;color:var(--ink-2);max-width:60ch;line-height:1.55}
.sw-us .cta-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:6px}
@media(prefers-reduced-motion:reduce){.pin::before,.tech-air path,.dash-status .dot,.demo-pill{animation:none}}

/* v10.2b: technical view fits the sticky gallery on desktop */
.pin .tip{white-space:normal;width:max-content;max-width:230px;text-align:left;line-height:1.38;font-weight:500;color:var(--ink-2)}
.pin .tip b{display:block;margin-bottom:3px;font-weight:600;color:var(--ink)}
.pin[data-n="2"] .tip{bottom:auto;top:calc(100% + 10px);translate:-50% -6px}
.pin[data-n="2"]:hover .tip,.pin[data-n="2"]:focus-visible .tip,.pin[data-n="2"].on .tip{translate:-50% 0}
@media(min-width:1060px){
  .tech-key{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
  .tech-key li{grid-template-columns:20px minmax(0,1fr);align-items:center;padding:9px 10px}
  .tech-key li::before{grid-row:auto;width:20px;height:20px}
  .tech-key span{display:none}
  .tech-key b{font-size:12.5px;line-height:1.25}
}

/* v10.2c: QA fixes */
@media(max-width:540px){.gate-form .gate-in{flex:none}}
.tlink{min-height:36px}
.gate-alt a{display:inline-flex;align-items:center;min-height:36px}

/* v10.2d: technical readout line; sample banners in brand mint (no yellow/orange) */
.tech-read{margin:-4px 0 0;min-height:20px;text-align:center;font-size:13.5px;line-height:1.45;color:var(--ink-3)}
.tech-read b{color:var(--ink);font-weight:600}
@media(max-width:1059px){.tech-read{display:none}}
.sample-banner{color:var(--ink)!important;background:color-mix(in srgb,var(--mint) 12%,var(--surface))!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mint) 38%,transparent)!important}
.sample-banner svg{color:var(--brand-text)}

/* ===== presentation polish (part 1) ===== */
/* placeholders and draft notes in brand mint instead of warning yellow */
.ph{background:color-mix(in srgb,var(--mint) 11%,transparent);color:var(--brand-text);border:1px dashed color-mix(in srgb,var(--mint) 48%,transparent);border-radius:6px;padding:0 5px}
.draft{background:color-mix(in srgb,var(--mint) 8%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mint) 30%,transparent);color:var(--ink-2)}
.draft svg{color:var(--brand-text)}
.draft strong,.draft b{color:var(--ink)}
/* demo badge collapses to a small chip */
.demo-pill{cursor:pointer;transition:padding .35s var(--spring),background .2s}
.demo-pill.mini{padding:7px 13px 7px 12px}
.demo-pill.mini span,.demo-pill.mini button{display:none}
/* ticker: the outgoing line fades first, so two lines never overlap */
.tk-item.out{transition:transform .55s var(--ease-out),opacity .18s linear,filter .3s var(--ease-out)}
.tk-item.in{transition-delay:.08s}

/* ===== presentation polish (part 2) ===== */
/* "Read the full guide": a clear arrow after the title instead of a tiny glyph above it */
.flag.more::before{content:none}
.flag.more b::after{content:" →";color:var(--brand-text)}
/* checkout panels are glass, so they need breathing room inside */
.co-panel{padding:26px 26px 28px;border-radius:24px}
@media(max-width:640px){.co-panel{padding:18px 16px 20px;border-radius:20px}}
/* test-mode and sample markers in brand mint */
.testmode{color:var(--ink);background:linear-gradient(90deg,color-mix(in srgb,var(--mint) 16%,var(--surface)),color-mix(in srgb,var(--mint) 8%,var(--surface)));box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--mint) 30%,transparent)}
.testmode svg{color:var(--brand-text)}
.ledger-row .sample{color:#04150d;background:var(--mint)}
.rv-card.is-sample{outline:1.5px dashed color-mix(in srgb,var(--mint) 55%,transparent)}
/* four steps in one row */
@media(min-width:1060px){.feature-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:700px) and (max-width:1059px){.feature-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* timelines read as one clean line, not stacked glass slabs */
.timeline li{background:none!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:0}

/* ===== presentation polish (part 3) ===== */
/* pages with no sidebar (legal) center their single column instead of leaving the right half empty */
@media(min-width:1000px){.article-layout:not(:has(aside)){grid-template-columns:minmax(0,800px);justify-content:center}}
/* aurora's fourth colour was olive; keep every glow in the green-teal family */
:root,:root[data-theme=dark]{--a4:#127F68}
:root[data-theme=light]{--a4:#BDF5DE}
@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--a4:#BDF5DE}}

/* ===== presentation polish (part 4: phones) ===== */
/* hero miner: a later scroll-motion rule re-applied the desktop translateX(-50%) and pushed it off-screen on phones */
@media(max-width:860px){.stage-wide .mach{transform:translateY(calc(var(--sp,0) * -18px)) scale(calc(1 + var(--sp,0) * .04))}}
/* comfortable tap targets on checkout and the confirmation page */
@media(max-width:999px){.co-sum-toggle{min-height:44px}}
.order-no .copy{min-height:34px;padding:0 12px}
/* the flagship art caption stays legible over the rack */
.flag-cap{padding:5px 8px;border-radius:8px;background:color-mix(in srgb,var(--bg) 60%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

/* phones/tablets: the efficiency readout overlapped the centred miner (its two sibling chips are already hidden there) */
@media(max-width:860px){.stage-wide .readout{display:none}}

/* ===== IA cleanup: home plan strip ===== */
.plan-strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.plan-strip li{display:flex;min-width:0}
.ps-card{position:relative;flex:1;display:grid;align-content:start;justify-items:start;gap:3px;padding:12px 12px 14px;border-radius:20px;text-decoration:none;color:inherit;transition:transform .5s var(--spring),box-shadow .3s}
.ps-card:hover{transform:translateY(-4px)}
.ps-card img{width:100%;aspect-ratio:4/3;object-fit:contain;margin-bottom:6px;filter:drop-shadow(0 10px 16px rgba(0,0,0,.45));transition:transform .7s var(--spring)}
.ps-card:hover img{transform:scale(1.05)}
.ps-card b{font-size:16px;font-weight:600;letter-spacing:-.015em;color:var(--ink)}
.ps-price{font:600 20px/1.1 var(--font);letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums}
.ps-est{display:grid;gap:2px;margin-top:6px;font:500 12px/1.3 var(--mono);color:var(--brand-text)}
.ps-est small{font-size:11px;color:var(--ink-3)}
.ps-card .badge{position:absolute;top:10px;right:10px;height:20px;padding:0 8px;font-size:10.5px;z-index:1}
.ps-card.ps-flag{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--mint) 55%,transparent),var(--lg-rim),var(--lg-depth)!important}
@media(max-width:1180px){.plan-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){
  .plan-strip{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:44%;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;margin:0 -2px;scrollbar-width:none}
  .plan-strip::-webkit-scrollbar{display:none}
  .plan-strip li{scroll-snap-align:start}
}
/* ===== IA cleanup: explore grid ===== */
.explore-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media(max-width:1060px){.explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ex-card{position:relative;display:grid;align-content:start;gap:8px;min-height:176px;padding:22px 22px 46px;border-radius:24px;text-decoration:none;color:inherit;transition:transform .5s var(--spring),box-shadow .3s}
.ex-card:hover{transform:translateY(-4px)}
.ex-card.glass:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mint) 45%,transparent),var(--lg-rim),var(--lg-depth)!important}
.ex-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#04150d;background:linear-gradient(160deg,#c9fbe3,var(--mint))}
.ex-ico svg{width:20px;height:20px}
.ex-card b{margin-top:6px;font-size:18px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.ex-d{font-size:14px;line-height:1.5;color:var(--ink-2)}
.ex-go{position:absolute;right:20px;bottom:18px;color:var(--brand-text);transition:translate .4s var(--spring)}
.ex-go svg{width:18px;height:18px}
.ex-card:hover .ex-go{translate:4px 0}
@media(max-width:560px){
  .explore-grid{grid-template-columns:1fr;gap:10px}
  .ex-card{min-height:0;gap:4px;padding:16px 44px 16px 72px}
  .ex-ico{position:absolute;left:16px;top:16px}
  .ex-card b{margin-top:0;font-size:17px}
  .ex-d{font-size:13.5px}
  .ex-go{right:16px;bottom:auto;top:50%;translate:0 -50%}
  .ex-card:hover .ex-go{translate:4px -50%}
}
/* ===== scam watch: "already paid" tip in the report card ===== */
.sw-tip{margin:0;padding:12px 14px;border-radius:14px;font-size:13.5px;line-height:1.5;color:var(--ink-2);background:color-mix(in srgb,var(--loss) 9%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--loss) 26%,transparent)}
.sw-tip b{color:var(--ink)}

/* ===== IA cleanup, part 2 ===== */
.ps-card img{height:auto}
/* scam watch: the two checks share one tabbed card */
.sw-tabs{margin-top:16px;display:grid;gap:12px}
.sw-tablist{display:inline-flex;justify-self:start;gap:4px;padding:4px;border-radius:999px;background:color-mix(in srgb,var(--ink) 6%,transparent);box-shadow:inset 0 0 0 1px var(--line)}
.sw-tablist button{height:36px;padding:0 16px;border:0;border-radius:999px;font:600 14px var(--font);color:var(--ink-2);background:none;cursor:pointer;transition:background .25s,color .25s}
.sw-tablist button[aria-selected=true]{color:var(--bg);background:var(--ink)}
.sw-tabs .sw-check{margin-top:0}
.sw-tabs [role=tabpanel][hidden]{display:none}
/* phones: long lists of cards become swipeable rows instead of tall stacks */
@media(max-width:700px){
  .ladder,.sw-flags,.sw-cases,.chain{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;align-items:start;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;padding:4px 18px 16px;margin-left:-18px;margin-right:-18px;scroll-padding-inline:18px;scrollbar-width:none}
  .ladder::-webkit-scrollbar,.sw-flags::-webkit-scrollbar,.sw-cases::-webkit-scrollbar,.chain::-webkit-scrollbar{display:none}
  .ladder>*,.sw-flags>*,.sw-cases>*,.chain>*{scroll-snap-align:start}
  .ladder .rung.rung-flag{grid-column:auto}
  .chain{grid-auto-columns:72%}
}

/* phones: the flagship card is the last item in the plan row; drop its extras so it matches the other cards' height */
@media(max-width:700px){.ladder .rung-flag .flag-lede,.ladder .rung-flag .flag-perks{display:none}}

/* ===== v11: 3D miners you can turn ===== */








/* ===== v11 performance: smooth on integrated graphics ===== */
/* 1. Smoked glass. Content cards keep their rim, depth and gradient but no longer blur whatever is behind them:
      each live blur is its own GPU layer that has to be redone whenever the backdrop moves, and pages had 20-30. */
:root{--lg-solid:linear-gradient(180deg,rgba(33,35,34,.93),rgba(17,18,18,.93) 48%,rgba(22,24,23,.93))}
:root[data-theme=light]{--lg-solid:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,255,255,.9) 50%,rgba(255,255,255,.94))}
.glass,.card,.tile,.stat,.lcard,.feature,.flag:not(.more),.blk,.panel,.controls,.results,.chk-form,.chk-out,.ledger,.co-sum,.rung,.pw-card,.pw-stat,.cmp-wrap,.rv-card,.rv-summary,.tax-card,.ask-list li,.tx-form,.ratecard,.faq,.gallery,.sec-head,.car-card,.cta,.prodcard,.fleet-band,.wheel-card,.ledger-stats div,.article-layout>article,.toc,.opt,.co-panel,.timeline li,.spec-table-wrap,.buy-grid .card{
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:var(--lg-solid)!important}
.live,.btn-ghost,.btn-glass,.flag-cap{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
/* real blur stays on the small floating pieces, where it reads as glass and costs little */
.buybar.glass,.sumbar.glass,.toast.glass,.co-top.glass,.stage-wide .float-a,.stage-wide .float-b,.stage-wide .today,.final-card{
  -webkit-backdrop-filter:blur(20px) saturate(175%)!important;backdrop-filter:blur(20px) saturate(175%)!important;background:var(--lg-fill),var(--lg-tint)!important}

/* 2. Animations that repainted every frame now run on the compositor (transform and opacity only) */
/* pulsing dots: an expanding ring instead of an animated box-shadow */
.tk-label .dot,.fleet-note .dot,.dash-status .dot{position:relative;animation:none!important;box-shadow:none!important}
.tk-label .dot::after,.fleet-note .dot::after,.dash-status .dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--mint);animation:ping 2.2s var(--ease) infinite}
/* hero grid floor: the grid slides by transform inside the masked plane */
.floor{background-image:none!important;animation:none!important}
.floor::before{content:"";position:absolute;inset:-46px 0 0 0;background-image:linear-gradient(rgba(94,240,178,.26) 1px,transparent 1px),linear-gradient(90deg,rgba(94,240,178,.26) 1px,transparent 1px);background-size:46px 46px;animation:floorMove 5s linear infinite}
@keyframes floorMove{to{transform:translate3d(0,46px,0)}}
/* hero scan line: a band moved by transform */
.scan{background:none!important;animation:none!important;overflow:hidden}
.scan::before{content:"";position:absolute;left:0;right:0;top:0;height:14%;background:linear-gradient(180deg,transparent,rgba(141,242,197,.28),transparent);animation:scanMove 7s cubic-bezier(.45,0,.2,1) infinite}
@keyframes scanMove{0%{transform:translate3d(0,-110%,0)}55%,100%{transform:translate3d(0,760%,0)}}
/* the light that travels round .holo cards: a rotating gradient inside a masked ring (site.js adds the two elements) */
.holo::after{content:none!important;animation:none!important}
.rim{position:absolute;inset:0;z-index:1;border-radius:inherit;padding:1px;overflow:hidden;pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
.rim>i{position:absolute;left:50%;top:50%;width:var(--rim-d,160%);height:var(--rim-d,160%);margin:calc(var(--rim-d,160%)/-2) 0 0 calc(var(--rim-d,160%)/-2);
  background:conic-gradient(rgba(94,240,178,.10) 0deg,rgba(94,240,178,.10) 210deg,rgba(186,255,222,.95) 268deg,rgba(94,240,178,.10) 326deg);animation:rimSpin 7s linear infinite}
@keyframes rimSpin{to{transform:rotate(360deg)}}
/* flagship card: its border light and title sheen play once when it scrolls in and again on hover, instead of forever */
.ladder .rung-flag::before{animation:none}
.ladder .rung-flag.in::before{animation:flagSpin 3.6s cubic-bezier(.3,.1,.2,1) .25s 1 both}
.ladder .rung-flag:hover::before{animation:flagSpinH 7s linear infinite}
@keyframes flagSpinH{to{--flag-a:360deg}}
.rung-flag h3{animation:none}
.rung-flag.in h3{animation:flagSheen 2.8s var(--ease-out) .5s 1 both}
.rung-flag:hover h3{animation:flagSheenH 2.4s var(--ease-out) 1 both}
@keyframes flagSheenH{0%{background-position:100% 0}100%{background-position:0 0}}
@media(prefers-reduced-motion:reduce){.floor::before,.scan::before,.rim>i,.tk-label .dot::after,.fleet-note .dot::after,.dash-status .dot::after{animation:none!important}}

/* 3. Fonts load without blocking the first paint; these fallbacks match the web fonts' metrics so nothing jumps on swap */
/* Web fonts are served from /assets/fonts/, so no font request leaves the site. These are Google Fonts' builds of Inter v20 and Geist Mono v6 (SIL Open Font License; the licence files sit beside them). */
@font-face{font-family:"Inter";font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/inter-v20-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/inter-v20-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/inter-v20-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/geist-mono-v6-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/geist-mono-v6-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Fallback";src:local("Arial");size-adjust:107.4%;ascent-override:90.2%;descent-override:22.48%;line-gap-override:0%}
@font-face{font-family:"Geist Mono Fallback";src:local("Menlo"),local("Consolas"),local("Courier New");size-adjust:99.6%}
:root{--font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter","Inter Fallback","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"SF Mono","Geist Mono","Geist Mono Fallback",ui-monospace,Menlo,monospace}

/* ===== v11 layers ===== */
.anim-done{animation:none!important}
/* ticker charts: two paths per chart (was 24 animated rects each, 776 GPU layers in total) */
.mk-bars path{fill:#2BD98E;opacity:.85}
.mk-bars.down path{fill:#FF6B81}
.mk-net .mk-bars path{fill:#5EF0B2}
.mk-bars path.last{opacity:1;fill:#D4FF7A}
:root[data-theme=light] .mk-bars.up path,:root[data-theme=light] .mk-net .mk-bars path{fill:#0A9463}
:root[data-theme=light] .mk-bars.down path{fill:#D9425E}
:root[data-theme=light] .mk-bars path.last{fill:#06764E}
/* dashboard chart bars: the entrance no longer stays applied after it ends */

/* ===== v11: hero plan explorer ===== */
.tier-pick{display:grid;justify-items:center;gap:14px;margin-top:clamp(18px,3vw,30px)}
.tier-rail{position:relative;display:flex;gap:2px;max-width:100%;padding:5px;border-radius:999px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;
  background:var(--lg-fill),var(--lg-tint);-webkit-backdrop-filter:blur(20px) saturate(175%);backdrop-filter:blur(20px) saturate(175%);box-shadow:var(--lg-rim),var(--lg-depth)}
.tier-rail::-webkit-scrollbar{display:none}
.tier-rail button{position:relative;z-index:1;flex:none;display:grid;gap:4px;justify-items:center;min-width:94px;padding:10px 16px 11px;border:0;border-radius:999px;background:none;color:var(--ink-2);cursor:pointer;transition:color .35s var(--ease-out)}
.tier-rail button b{font:600 14.5px/1 var(--font);letter-spacing:-.01em}
.tier-rail button span{font:500 11.5px/1 var(--mono);color:var(--ink-3);transition:color .35s var(--ease-out)}
.tier-rail button:hover{color:var(--ink)}
.tier-rail button[aria-checked=true]{color:var(--bg)}
.tier-rail button[aria-checked=true] span{color:color-mix(in srgb,var(--bg) 62%,transparent)}
.tier-rail button:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
.tier-pill{position:absolute;z-index:0;left:0;top:5px;bottom:5px;width:0;border-radius:999px;background:var(--ink);box-shadow:0 6px 18px -8px rgba(0,0,0,.6);opacity:0}
.tier-rail.ready .tier-pill{opacity:1;transition:transform .6s var(--spring),width .5s var(--spring),opacity .3s}
.tier-cta{margin:0;display:flex;gap:22px;flex-wrap:wrap;justify-content:center}
.tier-cta .link-more{display:inline-flex;font-size:16px}
@media(max-width:760px){.tier-rail{border-radius:22px;scroll-snap-type:x proximity}.tier-rail button{min-width:84px;padding:10px 12px 11px;border-radius:17px;scroll-snap-align:center}.tier-pill{border-radius:17px}}
@media(prefers-reduced-motion:reduce){.tier-rail.ready .tier-pill{transition:none}}
/* the share readout sits clear of the bigger rack models */
.stage-wide .readout b{font:600 15px/1.2 var(--font);letter-spacing:-.01em;white-space:nowrap}

/* phones: the rotate hint would sit on the card below the miner */


/* ===== v11: moving between pages ===== */
/* same-site navigations cross-fade instead of flashing (Chrome, Edge, Safari 18.2+; other browsers navigate as usual) */
@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}
::view-transition-old(root),::view-transition-new(root){animation-duration:.26s;animation-timing-function:cubic-bezier(.3,0,.2,1)}

/* ===== v11: quick search (Cmd/Ctrl+K) ===== */
html.ck-open{overflow:hidden;padding-right:var(--ck-sb,0px)}
.cmdk{position:fixed;inset:0;z-index:300;display:grid;justify-items:center;align-items:start;padding:min(14vh,128px) 16px 16px;background:rgba(0,0,0,.52);
  -webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);opacity:0;transition:opacity .2s var(--ease-out)}
.cmdk.open{opacity:1}
.cmdk[hidden]{display:none}
.ck-box{width:min(640px,100%);max-height:min(580px,calc(100vh - min(14vh,128px) - 32px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-radius:22px;overflow:hidden;
  background:var(--lg-solid);box-shadow:var(--lg-rim),0 50px 140px -30px rgba(0,0,0,.95),0 0 0 1px rgba(0,0,0,.4);transform:translate3d(0,-12px,0) scale(.975);transition:transform .5s var(--spring)}
.cmdk.open .ck-box{transform:none}
.ck-top{display:flex;align-items:center;gap:12px;padding:16px 16px 16px 18px;border-bottom:1px solid var(--line)}
.ck-top>svg{flex:none;width:20px;height:20px;color:var(--ink-3)}
.ck-in{flex:1;min-width:0;height:28px;padding:0;border:0;outline:0;background:none;color:var(--ink);font:500 18px/1.3 var(--font);letter-spacing:-.012em}
.ck-in::placeholder{color:var(--ink-3)}
.cmdk kbd{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:6px;font:500 11px/1 var(--mono);color:var(--ink-2);background:color-mix(in srgb,var(--ink) 8%,transparent);box-shadow:inset 0 0 0 1px var(--line-2)}
.ck-esc{cursor:pointer}
.ck-list{list-style:none;margin:0;padding:8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.ck-h{padding:12px 10px 6px;font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.ck-list li[role=option]{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 12px 8px 8px;border-radius:13px;cursor:pointer;scroll-margin:8px}
.ck-list li[aria-selected=true]{background:color-mix(in srgb,var(--mint) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mint) 30%,transparent)}
.ck-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:var(--ink-2);background:color-mix(in srgb,var(--ink) 7%,transparent);transition:background .2s,color .2s}
.ck-ic svg{width:17px;height:17px}
.ck-list li[aria-selected=true] .ck-ic{color:#04150d;background:linear-gradient(160deg,#c9fbe3,var(--mint))}
.ck-t{min-width:0;display:grid;gap:2px}
.ck-t b{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ck-t small{font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ck-k{font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.ck-empty{padding:30px 18px;text-align:center;font-size:14.5px;color:var(--ink-3)}
.ck-foot{display:flex;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-3)}
.ck-foot span{display:inline-flex;align-items:center;gap:5px}
.ck-tip{margin-left:auto}
@media(max-width:640px){.cmdk{padding:10px 10px 0}.ck-box{max-height:calc(100dvh - 20px);border-radius:20px}.ck-in{font-size:17px}.ck-foot{display:none}.ck-list li[role=option]{padding:10px 12px 10px 8px}}
@media(prefers-reduced-motion:reduce){.cmdk,.ck-box{transition:none}}
:root[data-theme=light] .cmdk{background:rgba(20,30,26,.28)}
:root[data-theme=light] .ck-box{box-shadow:var(--lg-rim),0 40px 110px -30px rgba(10,40,28,.45)}

/* ===== v11: small layout fixes ===== */
/* hero explorer links: comfortable tap targets */
.tier-cta .link-more{min-height:36px;align-items:center}

/* ===== v11 accessibility ===== */
/* muted text measured 4.3-4.5:1 on cards (3.7:1 inside the lighter inner tiles); now at least 4.5:1 everywhere */
:root,:root[data-theme=dark]{--ink-3:#97979D}
:root[data-theme=dark] :is(.kpi,.est-box div,.tx-tot,.mstats div,.tests li,.co-box,.hdr,.tech-key li,.mlist li,.sw-links a,.rv-buy,.wheel-odds,.addr-val,.sec-key,.tech-specs div,.flag-hud span){--ink-3:var(--ink-2)}
/* white on the bright red was 3:1 */
.sw-verdict[data-tone=bad]{background:#D5303C}
/* primary buttons: the gloss stays in the top third and the green is a shade deeper, so the white label has 4.6:1 or more */
.btn-primary{background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 38%),linear-gradient(180deg,#0B8457 0%,#077449 55%,#056341 100%)!important}

/* ===== v11 light mode ===== */
/* .band-dark is dark in both themes, so it carries the dark glass tokens too; in light mode its cards were white under white text */
.band-dark{color-scheme:dark;--ink-3:#97979D;
  --lg-fill:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.028) 48%,rgba(255,255,255,.05));--lg-tint:rgba(18,20,20,.44);
  --lg-rim:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(255,255,255,.05),inset 0 0 0 1px rgba(255,255,255,.08);
  --lg-depth:0 22px 60px -30px rgba(0,0,0,.85),0 4px 14px -8px rgba(0,0,0,.5);
  --lg-inner:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  --lg-solid:linear-gradient(180deg,rgba(33,35,34,.93),rgba(17,18,18,.93) 48%,rgba(22,24,23,.93))}
.band-dark :is(.kpi,.mstats div,.tests li,.hdr){--ink-3:var(--ink-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 0 0 1px rgba(255,255,255,.06)!important}
:root[data-theme=light] .band-dark,:root[data-theme=light] .has-scene .band-dark{background:#07090A}
/* the block being mined is translucent: on a light page it needs a darker body for its light text */
:root[data-theme=light] .cube.pending .f{background:rgba(8,26,18,.6)}
:root[data-theme=light] .cube.pending .front{background:repeating-linear-gradient(180deg,rgba(94,240,178,.08) 0 2px,transparent 2px 6px),rgba(8,26,18,.72)}
:root[data-theme=light] .badge.mint{color:#06704A}

/* the block cubes are dark glass in both themes, so their text keeps the dark theme's colours in light mode */
:root[data-theme=light] .chain3d{--ink:#F4F7F5;--ink-2:#A6AEAA;--ink-3:#97979D;--brand-text:#5EF0B2}
:root[data-theme=light] .cube .hud{color:#8DF2C5}
:root[data-theme=light] .cube.pending .f{background:rgba(8,26,18,.8)}
:root[data-theme=light] .cube.pending .front{background:repeating-linear-gradient(180deg,rgba(94,240,178,.08) 0 2px,transparent 2px 6px),rgba(8,26,18,.92)}

/* ===== v11: dashboard opens without a jump; footer brand row ===== */
.afoot-brand{display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap;padding:6px 0 22px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.afoot-brand .brand{display:inline-flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none}
.afoot-brand .brand-mark{width:26px;height:26px}
.afoot-brand .brand-word{font:600 17px/1 var(--font);letter-spacing:-.02em}
.afoot-brand p{margin:0;font-size:14px;color:var(--ink-2)}
.afoot-live{display:inline-flex;align-items:center;gap:8px;margin-left:auto;font:500 12px/1 var(--mono);color:var(--ink-2);text-decoration:none}
.afoot-live .dot{background:var(--mint)}
.afoot-live:hover{color:var(--ink)}
.afoot-k{display:inline-flex;align-items:center;gap:10px;height:34px;padding:0 8px 0 13px;border:0;border-radius:999px;font:500 13px/1 var(--font);color:var(--ink-2);background:color-mix(in srgb,var(--ink) 7%,transparent);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;transition:color .2s,background .2s}
.afoot-k:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 11%,transparent)}
.afoot-k kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:6px;font:500 11px/1 var(--mono);color:var(--ink-2);background:color-mix(in srgb,var(--ink) 9%,transparent)}
@media(max-width:700px){.afoot-live{margin-left:0;width:100%}.afoot-k kbd{display:none}.afoot-k{padding:0 14px}}
@media print{.afoot-brand{display:none}}

/* dashboard: the aurora glow keeps a fixed height, so it doesn't slide when the page grows from the key form to the full dashboard */

/* ===== v11 phones: tap targets and the stats band ===== */
@media(pointer:coarse){.link-more{min-height:40px}.gnav .brand{min-height:44px;display:inline-flex;align-items:center}.pw-chips button{min-height:38px}}
/* an odd last stat spans the row instead of sitting alone in the first column */
@media(max-width:700px){.fleet-band>:last-child:nth-child(odd){grid-column:1/-1}}

/* guides: the article link colour was winning over the button label (mint text on a green button) */
.article-layout a.btn-primary,.cta a.btn-primary{color:#fff!important;text-decoration:none}


/* ===== feed state =====
   site.js sets html[data-feed] to live, connecting, stale or snapshot, and .is-live only while the feed really is live.
   Words bound with data-live="feed" change with it; here the status dots and tags stop glowing when it isn't. */
html:not(.is-live) .tk-label .dot,html:not(.is-live) .afoot-live .dot{background:var(--ink-3)}
html:not(.is-live) .tk-label .dot::after{content:none}
html:not(.is-live) .tk-label:not(.tk-label-mkt){color:var(--ink-2)}
html:not(.is-live) .live-tag,html:not(.is-live) .feed-badge{color:var(--ink-2);background:color-mix(in srgb,var(--ink) 7%,transparent);box-shadow:inset 0 0 0 1px var(--line-2)}
.ti-snap{color:var(--ink-2);background:color-mix(in srgb,var(--ink) 9%,transparent);box-shadow:inset 0 0 0 1px var(--line-2)}
.tickers.no-coins .tk-src{visibility:hidden}
.mk[data-k="snap"] .mk-ic{color:var(--ink-2);background:color-mix(in srgb,var(--ink) 9%,transparent);box-shadow:inset 0 0 0 1px var(--line-2)}


/* ===== checkout: one page, three short parts ===== */
.co1 h1{margin:14px 0 12px}
.co-lede{margin:0 0 22px;font-size:17px;line-height:1.45;color:var(--ink-2);max-width:54ch}
.co1 .co-steps{margin-bottom:22px}
.co1 #coForm{display:grid;gap:16px}
.co1 .co-panel{scroll-margin-top:92px}
.co-ph{display:flex;align-items:center;gap:12px}
.co-ph h2{flex:1;min-width:0}
.co-ph h2:focus{outline:0}
.co-n{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:600 13px/1 var(--mono);color:var(--ink-2);box-shadow:inset 0 0 0 1.5px var(--line-2);transition:background-color .3s var(--ease),box-shadow .3s var(--ease)}
/* a part ticks itself off the moment it's complete */
.co-panel.is-done .co-n{background:var(--btn);box-shadow:none;font-size:0}
.co-panel.is-done .co-n::after,.co1 .co-steps li.done .n::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.co1 .co-steps li.done .n{font-size:0}
.co1 .co-steps li.done .n::after{width:5px;height:9px;border-color:var(--brand-text)}
.co1 .co-steps li.done{color:var(--ink-2)}
@media(prefers-reduced-motion:no-preference){.co-panel.is-done .co-n{animation:coTick .45s var(--ease-out,ease-out)}}
@keyframes coTick{0%{transform:scale(.6)}60%{transform:scale(1.12)}100%{transform:scale(1)}}

/* optional fields stay out of the way until asked for */
.co-more>summary{display:inline-flex;align-items:center;gap:8px;min-height:32px;cursor:pointer;list-style:none;font-size:14.5px;font-weight:550;color:var(--brand-text);border-radius:8px}
.co-more>summary::-webkit-details-marker{display:none}
.co-more>summary::before{content:"+";width:14px;text-align:center;font:600 17px/1 var(--mono)}
.co-more[open]>summary::before{content:"\2212"}
.co-more>summary:hover{text-decoration:underline;text-underline-offset:3px}
.co-more>summary:focus-visible{outline:2.5px solid var(--brand);outline-offset:3px}
.co-more>.grid-2{margin-top:12px}

/* payout address: paste in one tap */
.fl.has-btn .input{padding-right:92px}
.fl-btn{position:absolute;right:8px;top:8px;height:40px;padding:0 15px;border:0;border-radius:9px;cursor:pointer;font:600 13.5px/1 var(--font);color:var(--brand-text);background:color-mix(in srgb,var(--mint) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mint) 28%,transparent);transition:background-color .2s}
.fl-btn:hover{background:color-mix(in srgb,var(--mint) 22%,transparent)}
.fl-btn:focus-visible{outline:2.5px solid var(--brand);outline-offset:2px}
.fl-btn[hidden]{display:none}
.co1 .ok-msg.show{display:flex;align-items:center;gap:7px}
.co1 .ok-msg .ic{flex:none;width:15px;height:15px}
.co1 .phantom-row{margin:0}

/* payment: three compact choices side by side */
.co1 .pay3{gap:10px}
@media(min-width:680px){.co1 .pay3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.co1 .pay3 .radio-card{grid-template-columns:20px 38px minmax(0,1fr);gap:11px;padding:13px 14px}
.co1 .pay3 .pm-ico{width:38px;height:38px;border-radius:11px}
.co1 .pay3 .pm-ico .ic{width:20px;height:20px}
.co1 .pay3 .radio-card b{font-size:15px}
.co1 .pay3 .radio-card span.d{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.co-pay{width:100%;justify-content:center;gap:10px;min-height:58px;font-size:18px;margin-top:4px}
.co-pay .ic{width:18px;height:18px}
.co-fine{margin:0;font-size:13px;line-height:1.5;color:var(--ink-3);text-align:center}

/* order summary: the plan's own artwork, and a plan switcher so nobody has to leave */
.co1 .co-item{grid-template-columns:76px minmax(0,1fr) auto}
.co-art{position:relative;width:76px;height:76px;border-radius:18px;overflow:hidden;background:#06080A;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.co-art img{width:100%;height:100%;object-fit:cover;transform:scale(1.18)}
.co-plan{margin-top:10px}
.co-change{all:unset;cursor:pointer;display:inline-flex;align-items:center;min-height:28px;font-size:14px;font-weight:550;color:var(--brand-text);border-radius:6px}
.co-change:hover{text-decoration:underline;text-underline-offset:3px}
.co-change:focus-visible{outline:2.5px solid var(--brand);outline-offset:3px}
.plan-pick{display:grid;gap:12px;margin-top:10px;padding:14px;border-radius:16px;background:var(--lg-inner);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 0 0 1px rgba(255,255,255,.06)}
:root[data-theme=light] .plan-pick{box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.plan-pick[hidden]{display:none}
.pp-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pp-chip{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:4px;justify-items:center;padding:10px 4px;border-radius:11px;box-shadow:inset 0 0 0 1px var(--line-2);transition:box-shadow .2s,background-color .2s}
.pp-chip b{font-size:13.5px;font-weight:600;line-height:1}
.pp-chip span{font:500 11.5px/1 var(--mono);color:var(--ink-2)}
.pp-chip:hover{box-shadow:inset 0 0 0 1px var(--ink-3)}
.pp-chip[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px var(--brand);background:color-mix(in srgb,var(--brand) 14%,transparent)}
.pp-chip:focus-visible{outline:2.5px solid var(--brand);outline-offset:2px}
.pp-custom label{display:block;margin-bottom:7px;font-size:12.5px;color:var(--ink-2)}
.pp-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.pp-row .input{height:42px;padding:0 12px 0 26px;border-radius:10px;font:500 15px var(--mono)}
.pp-cur{position:absolute;left:12px;top:50%;transform:translateY(-50%);font:500 15px var(--mono);color:var(--ink-3);pointer-events:none}
.pp-row .btn{height:42px}

/* phones: a bar that always shows the total and the next step */
.co-bar{display:none}
@media(max-width:999px){
  .co-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:70;padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:var(--lg-fill),var(--lg-tint);-webkit-backdrop-filter:blur(20px) saturate(175%);backdrop-filter:blur(20px) saturate(175%);box-shadow:0 -1px 0 var(--line-2);transition:transform .4s var(--ease),opacity .25s}
  .co-bar[hidden]{display:none}
  .co-bar.away{transform:translateY(110%);opacity:0;pointer-events:none}
  .co-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px}
  .co-bar span{display:block;font-size:12px;color:var(--ink-2)}
  .co-bar b{display:block;font:600 18px/1.25 var(--mono);letter-spacing:-.02em}
  .co-bar .btn{min-width:148px;min-height:46px;justify-content:center}
  .co-page .co{padding-bottom:132px}
}
/* phones: the three parts stay on one row */
@media(max-width:560px){
  .co1 .co-steps{flex-wrap:nowrap;justify-content:space-between;gap:6px;font-size:13px}
  .co1 .co-steps li{gap:6px;white-space:nowrap}
  .co1 .co-steps li+li::before{display:none}
  .co1 .co-steps button{gap:6px}
  .co1 .co-steps .n{width:22px;height:22px;font-size:11.5px}
  .co-lede{font-size:16px;margin-bottom:18px}
}


/* ===== home: from plan to payout =====
   Three small vignettes built from the real interface, with live figures. The art panels are always dark, like screens. */
.p2p{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.p2p-card{display:grid;align-content:start;gap:10px;padding:14px 14px 26px;border-radius:26px}
.p2p-card>p{margin:0;padding:0 10px;font-size:15px;line-height:1.5;color:var(--ink-2)}
.p2p-t{display:flex;align-items:center;gap:10px;padding:8px 10px 0}
.p2p-t h3{font-size:20px;font-weight:620;letter-spacing:-.025em}
.p2p-n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:600 12.5px/1 var(--mono);color:var(--brand-text);background:color-mix(in srgb,var(--mint) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mint) 30%,transparent)}
.p2p-art{--pa-ink:#F5F5F7;--pa-ink2:rgba(245,245,247,.64);--pa-line:rgba(255,255,255,.12);position:relative;height:172px;border-radius:16px;overflow:hidden;display:grid;place-items:center;
  background:radial-gradient(120% 95% at 50% 0%,rgba(61,220,151,.16),transparent 62%),#07090A;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.p2p-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 26px;margin:30px 0 0}
/* 1: the plan rail */
.pa-rail{display:flex;gap:2px;margin-bottom:30px;padding:4px;border-radius:999px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px var(--pa-line)}
.pa-rail span{display:grid;gap:4px;justify-items:center;min-width:68px;padding:8px 10px 9px;border-radius:999px;font:600 12.5px/1 var(--font);color:var(--pa-ink2)}
.pa-rail i{font:500 10px/1 var(--mono);font-style:normal;opacity:.8}
.pa-rail .on{background:#F5F5F7;color:#0B0C0D}
.pa-line{position:absolute;left:0;right:0;bottom:24px;margin:0;display:flex;justify-content:center;align-items:baseline;gap:12px;font:500 12px/1 var(--mono);color:var(--pa-ink2)}
.pa-line b{font-weight:600;color:var(--pa-ink)}
/* 2: the invoice (the tile pattern is decoration, not a code anyone could scan) */
.pa-inv{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;min-width:238px;padding:14px 18px 14px 14px;border-radius:16px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--pa-line)}
.pa-qr{display:grid;grid-template-columns:repeat(3,14px);gap:4px;padding:9px;border-radius:11px;background:#F5F5F7}
.pa-qr i{width:14px;height:14px;border-radius:3px;background:#0B0C0D}
.pa-qr i:nth-child(2),.pa-qr i:nth-child(6),.pa-qr i:nth-child(7){background:transparent;box-shadow:inset 0 0 0 2.5px #0B0C0D}
.pa-qr i:nth-child(5){background:#12A56F}
.pa-inv div span{display:block;font:500 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--pa-ink2)}
.pa-inv div b{display:block;margin:8px 0 7px;font:600 20px/1 var(--mono);letter-spacing:-.02em;color:var(--pa-ink)}
.pa-inv div em{display:block;font:500 11.5px/1 var(--font);font-style:normal;color:var(--pa-ink2)}
.pa-paid{position:absolute;right:-10px;top:-12px;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 11px 0 8px;border-radius:999px;font:600 11.5px/1 var(--font);color:#04140D;background:linear-gradient(180deg,#8DF2C5,#3DDC97);box-shadow:0 6px 18px rgba(61,220,151,.32)}
.pa-paid .ic{width:13px;height:13px}
/* 3: the wallet */
.pa-wal{display:grid;justify-items:center;gap:9px}
.pa-wal-h{display:inline-flex;align-items:center;gap:7px;font:500 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--pa-ink2)}
.pa-wal-h .ic{width:14px;height:14px;color:#3DDC97}
.pa-sats{font:600 30px/1 var(--mono);letter-spacing:-.03em;color:#8DF2C5}
.pa-cap{font:500 11.5px/1 var(--font);color:var(--pa-ink2)}
.pa-days{display:flex;gap:6px;margin-top:5px}
.pa-days i{width:20px;height:5px;border-radius:3px;background:rgba(141,242,197,.72)}
/* each vignette plays once as its card arrives */
@media(prefers-reduced-motion:no-preference){
  .js .p2p-card.in .pa-rail .on,.js .p2p-card.in .pa-paid{animation:paPop .6s var(--spring,ease-out) .45s backwards}
  .js .p2p-card.in .pa-paid{animation-delay:.8s}
  .js .p2p-card.in .pa-sats{animation:paUp .6s var(--ease-out,ease-out) .5s backwards}
  .js .p2p-card.in .pa-days i{animation:paDay .45s var(--ease-out,ease-out) backwards}
  .js .p2p-card.in .pa-days i:nth-child(1){animation-delay:.70s}.js .p2p-card.in .pa-days i:nth-child(2){animation-delay:.78s}.js .p2p-card.in .pa-days i:nth-child(3){animation-delay:.86s}
  .js .p2p-card.in .pa-days i:nth-child(4){animation-delay:.94s}.js .p2p-card.in .pa-days i:nth-child(5){animation-delay:1.02s}.js .p2p-card.in .pa-days i:nth-child(6){animation-delay:1.10s}.js .p2p-card.in .pa-days i:nth-child(7){animation-delay:1.18s}
}
@keyframes paPop{0%{opacity:0;transform:scale(.7)}100%{opacity:1;transform:none}}
@keyframes paUp{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:none}}
@keyframes paDay{0%{opacity:.18;transform:scaleX(.35)}100%{opacity:1;transform:none}}
@media(max-width:900px){
  .p2p{grid-template-columns:1fr;gap:12px}
  .p2p-art{height:150px}
  .p2p-card{padding-bottom:22px}
}

/* phone plan rail: fade the edge that has more plans beyond it */
.tier-rail.more-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 46px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 46px),transparent)}
.tier-rail.more-l{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 46px),transparent);mask-image:linear-gradient(270deg,#000 calc(100% - 46px),transparent)}
.tier-rail.more-l.more-r{-webkit-mask-image:linear-gradient(90deg,transparent,#000 46px,#000 calc(100% - 46px),transparent);mask-image:linear-gradient(90deg,transparent,#000 46px,#000 calc(100% - 46px),transparent)}
/* Phantom's own lavender with dark text (white on it was 2.7:1) */
.btn-phantom{color:#17123A!important;text-shadow:none;background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,0) 52%),linear-gradient(180deg,#B8ADF7,#9486EC)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 0 0 1px rgba(255,255,255,.14),0 8px 22px rgba(124,108,230,.28)!important}
/* order summary rows: an amount never breaks across lines; a long discount code drops under its label instead */
.co1 .sum dt{min-width:0}
.co1 .sum dd{flex:none;white-space:nowrap}
.co1 .promo-row dt .mono{display:block;margin-top:3px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}


/* ===== v13: photographs =====
   Real photos replace the rendered miners. Every picture sits in a .pic frame with its credit; a .shot can swap its picture. */
.pic{position:relative;margin:0;border-radius:28px;overflow:hidden;background:#050706;isolation:isolate}
.pic>img{display:block;width:100%;height:100%;object-fit:cover}
.pic::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.09);pointer-events:none;z-index:1}
.pic>figcaption{position:absolute;left:10px;bottom:10px;z-index:2;display:flex;max-width:calc(100% - 20px)}
.pic-cr{display:inline-flex;align-items:center;min-height:24px;padding:3px 10px;border-radius:999px;font:500 10.5px/1.25 var(--mono);letter-spacing:.01em;color:rgba(245,245,247,.82);background:rgba(4,8,7,.66);text-decoration:none;transition:color .2s,background .2s}
a.pic-cr:hover{color:#fff;background:rgba(4,8,7,.86)}
.shot{aspect-ratio:4/3}
.shot>img{position:absolute;inset:0;transition:opacity .45s var(--ease-out)}
.shot>img.in,.shot>img.out{opacity:0}
/* hero stage */
.stage-wide .mach.shot{width:min(720px,72%);filter:none;box-shadow:0 50px 90px -30px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.04)}
@media(max-width:860px){.stage-wide .mach.shot{width:min(560px,100%);border-radius:24px}}
/* plan cards: the picture fills the art slot */
.rung-art{background:#050706}
.rung-art img{object-fit:cover;filter:none}
.rung:hover .rung-art img{transform:scale(1.045)}
.opt .opt-art{object-fit:cover;border-radius:10px;filter:none}
.co-art img{transform:none}
/* flagship */
.rung-flag .flag-art.pic{background:#050706;border-radius:24px}
.rung-flag .flag-art.pic>img{position:absolute;inset:0}
.flag-art.pic>figcaption{left:auto;right:12px;top:12px;bottom:auto}
.flag-art.pic .flag-hud{z-index:2}
/* galleries, cards, dashboard */
.gal-view .shot{width:min(560px,100%)}
.gallery>.shot{width:min(560px,100%)}
.mach-img{border-radius:18px;aspect-ratio:4/3;object-fit:cover;background:#050706}
.tech-stage>img{border-radius:18px}
.tech-pic{margin:10px 2px 0;font-size:12.5px;line-height:1.5;color:var(--ink-3)}
.tech-pic .pic-cr{display:inline;padding:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:2px;font:inherit}
/* credits page */
.cr-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:24px 26px;border-radius:26px;margin-bottom:22px}
.cr-note>.ic{width:22px;height:22px;margin-top:3px;color:var(--brand-text)}
.cr-note h2{font-size:21px;letter-spacing:-.02em;margin:0 0 8px}
.cr-note p{margin:0 0 8px;font-size:15.5px;line-height:1.55;color:var(--ink-2)}
.cr-note p:last-child{margin:0}
.cr-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.cr{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:22px;padding:14px;border-radius:26px;scroll-margin-top:140px}
.cr:target{box-shadow:0 0 0 2px color-mix(in srgb,var(--mint) 60%,transparent)}
.cr-th{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:6px;align-content:start}
.cr-th img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px;background:#050706}
.cr-th img:first-child:nth-last-child(1){grid-column:1/-1}
.cr-th img:first-child:nth-last-child(3){grid-column:1/-1}
.cr-b{padding:6px 10px 6px 0;min-width:0}
.cr-b h3{font-size:18px;letter-spacing:-.02em;margin:0 0 6px;overflow-wrap:anywhere}
.cr-b>p{margin:0 0 12px;font-size:15px;line-height:1.5;color:var(--ink-2)}
.cr-b dl{margin:0;display:grid;gap:0}
.cr-b dl div{display:grid;grid-template-columns:132px minmax(0,1fr);gap:12px;padding:8px 0;border-top:1px solid var(--line)}
.cr-b dt{font-size:13px;color:var(--ink-3)}
.cr-b dd{margin:0;font-size:14px;line-height:1.45;color:var(--ink)}
.cr-b dd a{display:inline-block;padding:4px 0;margin:-4px 0;color:var(--brand-text);text-underline-offset:2px}
@media(max-width:760px){.cr{grid-template-columns:1fr;gap:12px}.cr-b{padding:0 6px 8px}.cr-b dl div{grid-template-columns:104px minmax(0,1fr)}.cr-note{grid-template-columns:1fr;padding:20px}}


/* ===== v13: home hero on a photograph ===== */
/* the header (nav + two bars) is in the flow above; pull the hero up under it so the glass has the photograph behind it */
.hero-photo{--hdr:150px;margin-top:calc(-1 * var(--hdr));padding-top:calc(var(--hdr) + clamp(28px,4.2vw,60px))}
@media(max-width:760px){.hero-photo{--hdr:136px}}
.hero-bg{position:absolute;left:0;right:0;top:0;height:min(100svh,940px);min-height:640px;z-index:-1;overflow:hidden;background:#000}
.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:76% 46%}
.hero-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.18) 26%,rgba(0,0,0,.2) 58%,#000 100%),
  radial-gradient(64% 58% at 50% 46%,rgba(0,0,0,.74),rgba(0,0,0,.3) 62%,transparent 100%)}
.has-scene .hero-photo.center::before{content:none}
.hero-photo .hero-copy{text-shadow:0 1px 24px rgba(0,0,0,.55)}
.hero-photo .lede{color:#D2D7D4}
.hero-cr{position:absolute;right:max(16px,calc((100vw - 1180px)/2));top:calc(max(640px,min(100svh,940px)) - 44px);margin:0;z-index:1}
/* wide screens: the copy takes the dark side of the hall and the wall of machines takes the other */
@media(min-width:1100px){
  .hp-split .hero-bg img{object-position:100% 46%;width:122%;left:auto;right:-6%}
  .hp-split .hero-bg::after{background:
    linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.1) 24%,rgba(0,0,0,.12) 60%,#000 100%),
    linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.88) 30%,rgba(0,0,0,.42) 47%,rgba(0,0,0,.04) 62%,rgba(0,0,0,.18) 100%)}
  .hp-split.center .hero-copy{max-width:none;margin:0;justify-items:start;text-align:left}
  .hp-split.center h1{font-size:clamp(56px,6vw,88px);max-width:9.5em;margin:10px 0 16px}
  .hp-split.center .lede{margin:0;max-width:41ch;font-size:clamp(18px,1.5vw,21px)}
  .hp-split.center .cta-row{justify-content:flex-start}
  .hp-split .cash{justify-self:start}
}
/* the money strip */
.cash{display:grid;grid-template-columns:repeat(3,auto);gap:0;margin:24px 0 0;padding:0;border-radius:20px;background:rgba(6,10,9,.62);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),inset 0 1px 0 rgba(255,255,255,.12);text-shadow:none;text-align:left;overflow:hidden}
.cash div{display:grid;gap:7px;align-content:start;padding:14px 20px 15px;min-width:0}
.cash div+div{box-shadow:inset 1px 0 0 rgba(255,255,255,.09)}
.cash dt{font:500 11px/1.25 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:#A6AEAA}
.cash dt .fn{letter-spacing:0}
.cash dd{margin:0;font:600 clamp(22px,2.3vw,30px)/1 var(--mono);letter-spacing:-.04em;color:#F4F7F5;font-variant-numeric:tabular-nums}
.cash .hot{background:linear-gradient(180deg,rgba(61,220,151,.2),rgba(61,220,151,.07))}
.cash .hot dd{color:#8DF2C5}
.hero-photo .hero-chip{margin-top:16px}
.hero-photo .cta-row{margin-top:26px}
@media(max-width:700px){
  .cash{grid-template-columns:1fr 1fr;width:100%}
  .cash .hot{grid-column:1/-1;box-shadow:inset 0 -1px 0 rgba(255,255,255,.09)}
  .cash div+div{box-shadow:none}
  .cash div:last-child{box-shadow:inset 1px 0 0 rgba(255,255,255,.09)}
  .cash div{padding:13px 16px 14px}
  .hero-cr{position:static;display:flex;justify-content:center;margin:14px 0 0}
}
/* hero stage: the credit sits clear of the floating chips */
.stage-wide .shot>figcaption{left:auto;right:12px;top:12px;bottom:auto}
/* today card: the term figure and the meter */
.today-term{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:9px;font:500 12px/1.3 var(--mono);color:var(--ink-2)}
.today-term b{font-weight:600;color:var(--ink);white-space:nowrap}
.earn-meter{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px -8px 0;padding:8px 10px;border-radius:10px;font:500 11.5px/1.3 var(--mono);color:var(--ink-2);background:color-mix(in srgb,var(--mint) 10%,transparent)}
.earn-meter[hidden]{display:none}
.earn-meter span{display:inline-flex;align-items:center;gap:7px}
.earn-meter b{font-weight:600;color:var(--gain);white-space:nowrap;font-variant-numeric:tabular-nums}

/* ===== v13: where the money comes from ===== */
.payflow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;position:relative}
.flow-card{position:relative;display:grid;gap:10px;align-content:start;padding:24px 24px 26px;border-radius:26px}
.flow-card+.flow-card::before{content:"";position:absolute;left:-14px;top:50%;width:14px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--mint) 70%,transparent))}
.flow-k{font:500 11.5px/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.flow-k .fn{letter-spacing:0}
.flow-n{font:600 clamp(34px,4vw,54px)/1 var(--mono);letter-spacing:-.05em;color:var(--ink);font-variant-numeric:tabular-nums}
.flow-s{font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.flow-card.hot{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mint) 46%,transparent),0 30px 70px -40px color-mix(in srgb,var(--mint) 60%,transparent)}
.flow-card.hot .flow-n{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.truth{margin-top:14px;padding:8px 24px 22px;border-radius:26px}
.truth dl{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.truth dl div{display:grid;gap:8px;padding:18px 20px 18px 0}
.truth dl div+div{padding-left:22px;border-left:1px solid var(--line)}
.truth dt{font-size:13.5px;line-height:1.35;color:var(--ink-3)}
.truth dd{margin:0;font:600 clamp(22px,2.4vw,30px)/1 var(--mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.truth .hot dd{color:var(--brand-text)}
.truth p{margin:4px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:15px;line-height:1.55;color:var(--ink-2)}
.truth p a{color:var(--brand-text);text-underline-offset:3px;white-space:nowrap}
@media(max-width:860px){
  .payflow{grid-template-columns:1fr}
  .flow-card+.flow-card::before{left:50%;top:-14px;width:1px;height:14px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--mint) 70%,transparent))}
  .truth{padding:4px 20px 20px}
  .truth dl{grid-template-columns:1fr}
  .truth dl div{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:14px;padding:14px 0}
  .truth dl div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}
}

/* ===== v13: hardware gallery ===== */
.hw-grid{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);grid-template-rows:auto auto auto;gap:14px}
.hw-grid .pic{border-radius:28px;min-height:0}
.hw-grid .pic>img{position:absolute;inset:0;transition:transform 1.2s var(--ease-out)}
.hw-grid .pic:hover>img{transform:scale(1.035)}
.b-hall{grid-row:1/span 2;aspect-ratio:auto;min-height:520px}
.b-chip,.b-unit{aspect-ratio:16/10.4}
.b-site{grid-column:1/-1;aspect-ratio:21/8.2}
.b-t{position:absolute;left:0;right:0;bottom:0;z-index:2;display:grid;gap:5px;padding:54px 22px 20px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.82) 62%);color:#F4F7F5;pointer-events:none}
.b-t b{font-size:22px;font-weight:620;letter-spacing:-.025em}
.b-t span{font-size:14.5px;line-height:1.45;color:#C5CCC8;max-width:42ch}
.hw-grid .pic>figcaption{left:auto;right:12px;top:12px;bottom:auto}
@media(max-width:900px){
  .hw-grid{grid-template-columns:1fr}
  .b-hall{grid-row:auto;min-height:0;aspect-ratio:4/3}
  .b-chip,.b-unit{aspect-ratio:4/3}
  .b-site{aspect-ratio:4/3}
  .b-t{padding:44px 18px 16px}.b-t b{font-size:20px}
}

/* plan cards: the break-even price */
.rung-est .be dt{color:var(--ink-2)}
.rung-est .be dd{color:var(--brand-text)}

/* the photographic hero is dark in both themes, so its gradient word keeps the bright ramp in light mode too */
:root[data-theme=light] .hero-photo .grad-text{background:linear-gradient(95deg,#E9FFF3 0%,#8DF2C5 40%,#3DDC97 70%,#1FB8A0 100%);-webkit-background-clip:text;background-clip:text}
:root[data-theme=light] .band-dark .readout{background:rgba(8,12,10,.58)}
@media(pointer:coarse){.pic-cr{min-height:30px;padding:4px 12px}}

/* a centred photographic hero (pricing): the picture fills the band, darkest behind the copy */
.has-lnav .hero-photo{--hdr:208px}
@media(max-width:760px){.has-lnav .hero-photo{--hdr:190px}}
.hp-c{padding-bottom:clamp(40px,5vw,64px)!important}
.hp-c .hero-bg{height:100%;min-height:0}
.hp-c .hero-bg img{object-position:50% 38%}
.hp-c .hero-bg::after{background:
  linear-gradient(180deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,.2) 34%,rgba(0,0,0,.3) 70%,#000 100%),
  radial-gradient(58% 70% at 50% 50%,rgba(0,0,0,.84),rgba(0,0,0,.5) 60%,rgba(0,0,0,.12) 100%)}
.hp-c .cash{justify-self:center}
.hp-c .hero-cr{top:auto;bottom:14px}

/* release builds: a band of figures that lost some cells closes up around the rest */
@media(min-width:760px){.fleet-band[data-n="1"]{grid-template-columns:1fr}.fleet-band[data-n="2"]{grid-template-columns:repeat(2,1fr)}.fleet-band[data-n="3"]{grid-template-columns:repeat(3,1fr)}.fleet-band[data-n="4"]{grid-template-columns:repeat(4,1fr)}}
.fb.fb-first::before{display:none}

/* release builds write facts into the page: a fact with no value is an empty element, and its cell, row, card or phrase is left out,
   even before scripts run. (The working build never has an empty fact: it shows a [placeholder] or a labelled sample.) */
:is(.fb,.fleet-note,li,article.stat,.feature,[data-fact-box]):has(>[data-fact]:empty){display:none}
dl>div:has(>dd[data-fact]:empty,>dd>[data-fact]:empty){display:none}
[data-fact-group]:not(:has([data-fact]:not(:empty))){display:none}
dl>div:has(>dd[data-r="co2Term"]:empty){display:none}


/* ===== v15: paying to an address =====
   The checkout's last step when the operator takes payment straight to their own addresses. */
.pay{display:grid;gap:16px}
.pay[hidden]{display:none}
.pay-id{margin:0;font:500 13px/1.3 var(--mono);color:var(--ink-3)}
.pay-id b{color:var(--ink);font-weight:600}
.pay-test{display:flex;align-items:center;gap:10px;margin:0;padding:11px 14px;border-radius:14px;font-size:14px;font-weight:500;color:var(--ink);background:color-mix(in srgb,var(--mint) 14%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mint) 34%,transparent)}
.pay-test[hidden]{display:none}
.pay-test .ic{flex:none;width:17px;height:17px;color:var(--brand-text)}
.pay-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:26px;align-items:center;padding:22px;border-radius:28px}
.pay-qr{width:212px;height:212px;border-radius:18px;overflow:hidden;background:#fff;transition:opacity .3s}
.pay-qr svg{display:block;width:100%;height:100%}
.pay-rows{display:grid;gap:18px;min-width:0}
.pay-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:center}
.pay-k{grid-column:1/-1;font:500 11.5px/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.pay-amt{font:600 clamp(23px,2.6vw,30px)/1.1 var(--mono);letter-spacing:-.03em;font-variant-numeric:tabular-nums;transition:opacity .3s}
.pay-amt .g{margin-left:.2em}
.pay-amt .id{color:var(--brand-text)}
.pay-amt small{margin-left:8px;font-size:.52em;font-weight:500;letter-spacing:.02em;color:var(--ink-2)}
.pay-addr{font:500 14.5px/1.45 var(--mono);overflow-wrap:anywhere;color:var(--ink)}
.pay-sub{grid-column:1/-1;font-size:13px;line-height:1.4;color:var(--ink-3)}
.pay-rows>.btn{justify-self:start}
.pay-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 18px;padding:14px 18px;border-radius:18px;font-size:14.5px;line-height:1.4;color:var(--ink);background:color-mix(in srgb,var(--mint) 9%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mint) 26%,transparent)}
.pay-status>span:first-child{display:inline-flex;align-items:center;gap:10px;min-width:0}
.pay-status .dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--mint)}
.pay-status a{color:var(--brand-text);text-underline-offset:3px;font-family:var(--mono)}
.pay-timer{font:500 13px/1 var(--mono);color:var(--ink-2);white-space:nowrap}
.pay-timer b{color:var(--ink);font-variant-numeric:tabular-nums}
.pay-timer[hidden]{display:none}
.pay-notes{margin:0;padding:0 0 0 20px;display:grid;gap:7px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.pay-notes b{color:var(--ink);font-weight:600;overflow-wrap:anywhere}
.pay-notes a{color:var(--brand-text);text-underline-offset:3px}
.pay-acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:4px}
.pay.expired .pay-qr,.pay.expired .pay-amt{opacity:.22}
.pay.expired #payOpen{display:none}
.pay.expired .pay-status{background:color-mix(in srgb,var(--ink) 7%,transparent);box-shadow:inset 0 0 0 1px var(--line)}
.pay.expired .pay-status .dot{background:var(--ink-3)}
.pay.seen .pay-status{background:color-mix(in srgb,var(--mint) 20%,transparent)}
.paying .co-plan{display:none}
@media(max-width:640px){
  .pay-card{grid-template-columns:1fr;justify-items:center;gap:18px;padding:18px}
  .pay-qr{width:min(232px,68vw);height:min(232px,68vw)}
  .pay-rows{width:100%}
  .pay-rows>.btn{justify-self:stretch;text-align:center;justify-content:center}
}
/* paying to an address is on-chain only: the Lightning choice on the buy page is an invoice feature */
.pay-direct #payOpts [data-pay="ln"]{display:none}
/* a release build with no dashboard service: no way in, no promise of one */
.no-dash .acct-btn,.no-dash a[href="/account/"]{display:none!important}


/* ===== v15: backed by ===== */
.backed{padding:6px 0 30px}
.backed[hidden]{display:none}
.backed-in{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:8px 16px;margin:0;font-size:17px;line-height:1.5;color:var(--ink-2);text-align:center}
.backed-k{font:500 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.backed-list{font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.backer{color:var(--ink);font-weight:600}
a.backer{text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--mint) 60%,transparent);text-underline-offset:4px}
a.backer:hover{color:var(--brand-text)}
[data-backers-wrap]:has([data-backers]:empty){display:none}
dl>div:has(>dd[data-backers]:empty){display:none}

/* ---------- sale (SALE in config.js): band, bar, struck list prices. Shown by site.js only inside the sale's window ---------- */
[data-sale-show][hidden]{display:none!important}
.was{font-weight:500;color:color-mix(in srgb,currentColor 66%,transparent);text-decoration:line-through;text-decoration-thickness:1.5px;margin-right:.4em}
.now{font-weight:inherit}
.cut{display:none;font-style:normal}
.rung-price .was{display:block;margin:0 0 8px;font-size:.42em;letter-spacing:-.01em;line-height:1}
.rung-price .now{color:var(--brand-text)}
.rung-price .cut{display:inline-block;vertical-align:middle;margin-left:.7em;padding:5px 9px;border-radius:999px;font:600 12px/1 var(--mono);letter-spacing:0;color:#03140D;background:#8DF2C5;transform:translateY(-.35em)}
.opt .p .now{color:var(--brand-text)}
.tier-rail button[aria-checked=true] .was{color:inherit}
.salebar{position:relative;z-index:80;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 14px;max-width:1180px;margin:8px max(12px,calc((100% - 1180px) / 2)) 0;padding:10px 18px;border-radius:16px;font-size:13.5px;line-height:1.35;text-align:center;text-decoration:none;color:#F5F5F7;background:#000;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 18px 50px -26px rgba(0,0,0,.6)}
.salebar b{font-weight:600;color:#8DF2C5}
.salebar .sb-t{color:#C9CDCB}
.salebar .sb-go{font-weight:600;color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:3px}
a.salebar:hover .sb-go{text-decoration-color:#8DF2C5}
a.salebar:focus-visible{outline:2.5px solid #8DF2C5;outline-offset:2px}
@media(max-width:760px){.salebar{margin:6px 8px 0;border-radius:14px;font-size:13px}}
.sale-band.band-dark{position:relative;isolation:isolate;overflow:hidden;padding:clamp(52px,6.5vw,92px) 0;background:#000;color:#F5F5F7;border-block:1px solid rgba(255,255,255,.1)}
.sale-band::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(55% 70% at 14% 35%,rgba(43,217,142,.24),transparent 70%),radial-gradient(40% 55% at 92% 85%,rgba(182,242,124,.10),transparent 70%)}
.sale-in{display:grid;gap:clamp(28px,4vw,64px);align-items:center}
@media(min-width:960px){.sale-in{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}
.sale-k{font:600 12px/1.3 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#8DF2C5}
.sale-band h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 .12em;margin:14px 0 20px;font-size:clamp(88px,15vw,208px);font-weight:700;line-height:.86;letter-spacing:-.065em;font-variant-numeric:tabular-nums}
.sale-pct{padding-right:.04em;background:linear-gradient(95deg,#E9FFF3 0%,#8DF2C5 38%,#3DDC97 68%,#1FB8A0 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.sale-off{font-size:.42em;letter-spacing:-.045em;color:#F5F5F7}
.sale-lede{max-width:46ch;font-size:clamp(17px,1.5vw,21px);line-height:1.45;letter-spacing:-.015em;color:#D2D7D4}
.sale-band .cta-row{margin-top:26px}
.sale-list{list-style:none;margin:0;padding:6px;border-radius:24px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.sale-list a{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:13px 16px;border-radius:18px;font-size:16.5px;color:#F5F5F7;text-decoration:none;transition:background-color .2s}
.sale-list li + li{border-top:1px solid rgba(255,255,255,.07)}
.sale-list a:hover{background:rgba(255,255,255,.08)}
.sale-list a:focus-visible{outline:2.5px solid #8DF2C5;outline-offset:-2px}
.sale-list b{font-weight:600}
.sale-list [data-price]{display:flex;align-items:baseline;justify-content:flex-end;gap:14px;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.sale-list .was{margin:0;font-size:14px}
.sale-list .now{min-width:8.5ch;text-align:right;font-size:18px;font-weight:600;color:#8DF2C5}
.sale-terms{margin-top:clamp(26px,3vw,40px);max-width:98ch;font-size:13px;line-height:1.6;color:#A6AEAA}
.sale-terms a{color:#C9CDCB}
.sale-line{margin:14px 0 2px;padding:12px 14px;border-radius:14px;font-size:14px;line-height:1.5;color:var(--ink-2);background:color-mix(in srgb,var(--brand) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 34%,transparent)}
.sale-line b{color:var(--ink);font-weight:600}
.sale-preview{position:fixed;right:16px;bottom:16px;z-index:150;max-width:min(430px,calc(100vw - 32px));padding:9px 14px;border-radius:14px;font-size:12.5px;line-height:1.4;color:#1B1500;background:#FFD60A;text-decoration:underline;text-decoration-color:rgba(27,21,0,.4);text-underline-offset:3px;box-shadow:0 16px 40px -18px rgba(0,0,0,.5)}
body:has(#sumbar) .sale-preview,body:has(#buybar.show) .sale-preview{bottom:100px}
@media(max-width:640px){.sale-preview{right:10px;bottom:58px}body:has(#sumbar) .sale-preview,body:has(#buybar.show) .sale-preview{bottom:140px}}
@media print{.salebar,.sale-preview{display:none!important}}

/* ==========================================================================
   STOREFRONT ALIGNMENT (Nov 2026)
   The pages on this stylesheet share the store pages' look (store.css): the same night
   ground, the Inter face, capital page headlines and mint pill buttons. The navigation
   and footer come from shell.css. Dark only: the light theme is retired.
   ========================================================================== */
:root,:root[data-theme=dark]{--bg:#05080a;--bg-2:#080d10;--font:"Inter","Inter Fallback",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
html,body{background:#05080a}
body{overflow-x:clip}   /* clip, not hidden: a hidden body becomes its own scroller when the menu locks the page, and the header would stop sticking */
html{scroll-padding-top:150px}
main h1{text-transform:uppercase;font-weight:700!important;letter-spacing:-.02em!important;line-height:.98}
.article-layout h1{text-transform:none;letter-spacing:-.03em!important;line-height:1.04}   /* long article titles read better as written */
.sec-head h2{text-transform:uppercase;font-weight:700!important;letter-spacing:-.015em!important;line-height:1.02}
.btn-primary{background:#34e39a!important;color:#03140d!important;box-shadow:none!important}
.btn-primary::after{display:none!important}
@media (hover:hover) and (pointer:fine){.btn-primary:hover{background:#6ff0bb!important;box-shadow:0 12px 32px -12px rgba(52,227,154,.75)!important}}
.btn-primary:active{transform:scale(.97)}
.co-top{background:rgba(5,8,10,.86)!important;-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px)}
.lnav{background:rgba(8,13,16,.86)!important}
