/* Nexus Scanner — "black / soft" preview theme (Apple-like). Self-contained; replaces nx-a10.css on the preview only. */
:root{
  --bg:#000;--s1:#0b0b0c;--s2:#141416;--s3:#1c1c1e;
  --tx:#f5f5f7;--mu:#a1a1a6;--mu2:#6e6e73;
  --line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);
  --g:#7fe0a8;--g-soft:rgba(127,224,168,.14);
  --r-lg:28px;--r-md:22px;--r-sm:14px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --font:"Sora",-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"SF Mono",ui-monospace,Menlo,Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bg);-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--tx);font-family:var(--font);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
a{color:inherit}
img{max-width:100%}
::selection{background:var(--g-soft);color:#fff}

/* decorative parallax layers from the neon theme are not used here */
.lay,.grid,.sheet,.orb{display:none!important}


/* top bar: frosted */
.bar{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem max(1.4rem,calc((100vw - 1080px)/2));
  background:rgba(0,0,0,.62);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}
.brand{font-weight:600;font-size:1rem;letter-spacing:-.01em;text-decoration:none;color:var(--tx)}
.brand i{font-style:normal;color:var(--mu2);margin:0 .12em}
.back{font-size:.82rem;color:var(--mu);text-decoration:none;padding:.45rem .9rem;border-radius:999px;border:1px solid var(--line);transition:color .3s var(--ease),background .3s var(--ease);white-space:nowrap}
.back:hover{color:var(--tx);background:var(--s3)}

/* hero */
.hero{position:relative;padding:3.2rem 1.4rem 4.5rem;text-align:center}
.hero-in{max-width:880px;margin:0 auto}
.tag{display:inline-block;font-size:.8rem;font-weight:500;letter-spacing:.02em;color:var(--g);padding:.38rem .85rem;border-radius:999px;background:var(--g-soft);margin-bottom:1.4rem}
h1{font-weight:700;font-size:clamp(3rem,10vw,6.4rem);line-height:1;letter-spacing:-.045em;color:var(--tx)}
h1 br{display:none}
h1 em{font-style:normal;color:transparent;background:linear-gradient(180deg,#f5f5f7 0%,#8e8e93 100%);-webkit-background-clip:text;background-clip:text;margin-left:.2em}
.sub{max-width:620px;margin:1.4rem auto 2.2rem;color:var(--mu);font-size:clamp(1.05rem,1.8vw,1.3rem);line-height:1.5;letter-spacing:-.01em}
.cta-row{display:flex;gap:.9rem;justify-content:center;align-items:center;flex-wrap:wrap}

/* pill buttons */
.buy{display:inline-flex;align-items:center;gap:.75rem;padding:.95rem 1.15rem .95rem 1.6rem;border-radius:999px;background:var(--tx);color:#000;text-decoration:none;font-weight:600;font-size:1.02rem;letter-spacing:-.01em;
  box-shadow:0 8px 30px -12px rgba(255,255,255,.22);transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease)}
.buy:hover{transform:translateY(-2px);box-shadow:0 14px 40px -14px rgba(255,255,255,.32)}
.buy:active{transform:scale(.98)}
.buy b{font-weight:600;background:#000;color:var(--g);padding:.32rem .75rem;border-radius:999px;font-size:.92rem}
.buy:focus-visible,.tab:focus-visible,.fchips button:focus-visible,summary:focus-visible,.back:focus-visible,.fl a:focus-visible{outline:2px solid var(--g);outline-offset:3px}
.soon{display:inline-flex;align-items:center;gap:.7rem;padding:.6rem 1.1rem;border-radius:999px;border:1px solid var(--line2);background:rgba(255,255,255,.03)}
.soon svg{width:20px;height:20px;fill:var(--mu)}
.soon span{font-size:.72rem;color:var(--mu2);line-height:1.2;text-align:left}
.soon b{display:block;color:var(--tx);font-size:.92rem;font-weight:600}
.fine{margin-top:1.2rem;font-size:.82rem;color:var(--mu2)}
.fine a{color:var(--mu);text-underline-offset:3px}
.fine a:hover{color:var(--tx)}
.price{color:var(--g);font-weight:600;white-space:nowrap}

/* counter */
.pb-wrap{display:flex;justify-content:center;margin-top:2.2rem}
.pb{display:inline-flex;align-items:center;gap:.9rem;padding:.5rem .55rem .5rem 1.1rem;border-radius:999px;background:rgba(28,28,30,.6);border:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);user-select:none;pointer-events:none;max-width:100%}
.pb[hidden]{display:none}
.pb-t{font-size:.85rem;color:var(--mu)}
.pb-t em{font-style:normal;color:var(--tx);font-weight:600}
.pb .led-dial{display:inline-flex}
.pb .led{font-family:var(--mono);font-weight:600;font-size:1rem;letter-spacing:.06em;color:var(--tx);background:#000;padding:.35rem .75rem;border-radius:999px;font-variant-numeric:tabular-nums}
.pb .led i{font-style:normal;color:var(--mu2);opacity:.6}

/* stats */
.stats{padding:0 1.4rem}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;max-width:1080px;margin:0 auto;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--line)}
.st{background:var(--s1);padding:1.8rem 1rem;text-align:center}
.st b{display:block;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--tx)}
.st span{display:block;margin-top:.45rem;font-size:.82rem;color:var(--mu)}

/* sections */
.sec{position:relative;padding:7rem 1.4rem}
.wrap{position:relative;max-width:1080px;margin:0 auto}
.sh{font-weight:700;font-size:clamp(2.3rem,5.6vw,4rem);line-height:1.04;letter-spacing:-.04em;margin-bottom:1rem;color:var(--tx)}
.sh em{font-style:normal;color:var(--mu)}
.sl{color:var(--mu);font-size:clamp(1.02rem,1.6vw,1.2rem);max-width:600px;margin-bottom:3rem;letter-spacing:-.005em}
.end{text-align:center}
.end .sl{margin-left:auto;margin-right:auto}

/* frosted glass surfaces */
.panel,.fc,.card,.cmp,.faq details,.call-card{background:linear-gradient(180deg,rgba(28,28,30,.72),rgba(14,14,16,.72));border:1px solid var(--line);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 30px 60px -40px rgba(0,0,0,.9)}

/* tabs */
.tabs{display:inline-flex;flex-wrap:wrap;gap:.25rem;padding:.3rem;border-radius:999px;background:var(--s2);border:1px solid var(--line);margin-bottom:1.4rem}
.tab{font:inherit;font-size:.88rem;font-weight:500;color:var(--mu);background:transparent;border:0;border-radius:999px;padding:.55rem 1.05rem;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease)}
.tab:hover{color:var(--tx)}
.tab.on{background:var(--s3);color:var(--tx);box-shadow:0 2px 10px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06)}
.panel{border-radius:var(--r-lg);padding:2.4rem}
.pane{display:none;grid-template-columns:1.1fr 1fr;gap:2.4rem;align-items:center}
.pane.on{display:grid;animation:fi .5s var(--ease)}
@keyframes fi{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pane h3{font-size:1.6rem;font-weight:600;letter-spacing:-.025em;margin-bottom:.9rem}
.pane ul{list-style:none}
.pane li{color:var(--mu);padding:.4rem 0 .4rem 1.3rem;position:relative;font-size:.98rem}
.pane li::before{content:"";position:absolute;left:0;top:.95rem;width:6px;height:6px;border-radius:50%;background:var(--g)}
.vis{display:grid;place-items:center;min-height:270px;border-radius:var(--r-md);background:radial-gradient(120% 90% at 50% 0%,#1c1c1e,#0b0b0c);border:1px solid var(--line);padding:1.4rem}

/* product mockups */
.doc-m{position:relative;width:160px;height:212px;background:#f5f5f7;border-radius:10px;transform:rotate(-3deg);box-shadow:0 30px 50px -20px rgba(0,0,0,.9);padding:22px 18px;overflow:hidden}
.doc-m i{display:block;height:6px;border-radius:3px;background:#c7c7cc;margin-bottom:13px}
.doc-m i:nth-child(2){width:80%}.doc-m i:nth-child(4){width:65%}
.beam{position:absolute;left:0;right:0;height:2px;background:var(--g);box-shadow:0 0 14px rgba(127,224,168,.8);animation:bm 2.8s ease-in-out infinite}
@keyframes bm{0%,100%{top:8%}50%{top:90%}}
.doc-m u{position:absolute;width:16px;height:16px;border:2.5px solid var(--g)}
.doc-m .c1{left:6px;top:6px;border-right:0;border-bottom:0;border-top-left-radius:6px}
.doc-m .c2{right:6px;top:6px;border-left:0;border-bottom:0;border-top-right-radius:6px}
.doc-m .c3{left:6px;bottom:6px;border-right:0;border-top:0;border-bottom-left-radius:6px}
.doc-m .c4{right:6px;bottom:6px;border-left:0;border-top:0;border-bottom-right-radius:6px}
.filt{text-align:center;width:100%}
.sheetf{width:160px;height:212px;margin:0 auto 1.1rem;background:#f5f5f7;border-radius:10px;padding:22px 18px;box-shadow:0 30px 50px -20px rgba(0,0,0,.9);transition:filter .4s var(--ease);position:relative}
.sheetf i{display:block;height:6px;border-radius:3px;background:#3a3a3c;margin-bottom:13px}
.sheetf i:nth-child(2){width:80%}.sheetf i:nth-child(4){width:60%}
.sheetf::after{content:"";position:absolute;right:18px;bottom:20px;width:44px;height:44px;border-radius:50%;background:#ff6b5e;opacity:.85}
.sheetf.mc{filter:saturate(1.5) contrast(1.1)}.sheetf.or{filter:sepia(.35) brightness(.92)}.sheetf.en{filter:contrast(1.35) brightness(1.08)}
.sheetf.gr{filter:grayscale(1)}.sheetf.bw{filter:grayscale(1) contrast(3)}.sheetf.ebw{filter:grayscale(1) contrast(4) brightness(1.15)}
.fchips{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center}
.fchips button{font:inherit;font-size:.74rem;font-weight:500;color:var(--mu);background:var(--s2);border:1px solid var(--line);border-radius:999px;padding:.4rem .75rem;cursor:pointer;transition:.25s var(--ease)}
.fchips button.on,.fchips button:hover{color:#000;background:var(--tx);border-color:var(--tx)}
.filt small,.sigpad small{display:block;margin-top:.9rem;color:var(--mu2);font-size:.76rem}
.sigpad{text-align:center;border:1px dashed var(--line2);border-radius:var(--r-md);padding:2rem 1.4rem;width:100%;max-width:320px;background:rgba(0,0,0,.35)}
.sigpad svg{width:100%;height:auto;overflow:visible}
.sg{fill:none;stroke:var(--tx);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.pane.on .sg{animation:dr 3.2s ease forwards infinite}
@keyframes dr{0%{stroke-dashoffset:1}60%,100%{stroke-dashoffset:0}}
.files{display:grid;gap:.55rem;width:100%;max-width:300px}
.files span{font-size:.88rem;padding:.75rem 1rem;border-radius:var(--r-sm);background:var(--s2);border:1px solid var(--line);color:var(--tx)}
.files span::before{content:"PDF";font-size:.66rem;font-weight:700;color:var(--g);background:var(--g-soft);padding:.15rem .4rem;border-radius:6px;margin-right:.6rem}
.files .bk::before{content:"ZIP";color:var(--tx);background:rgba(255,255,255,.08)}

/* feature cards */
.feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.fc,.card{border-radius:var(--r-lg);padding:2rem 1.8rem;transition:transform .5s var(--ease),border-color .5s var(--ease)}
.fc:hover,.card:hover{transform:translateY(-4px);border-color:var(--line2)}
.fc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.fc .ic{width:28px;height:28px;color:var(--g)}
.fc .n{font-size:.74rem;font-weight:500;color:var(--mu2);letter-spacing:.04em}
.card .n{display:inline-block;color:var(--g);background:var(--g-soft);padding:.25rem .6rem;border-radius:999px;margin-bottom:1.1rem;font-size:.7rem;font-weight:600;letter-spacing:.06em}
.fc h3,.card h3{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;margin-bottom:.5rem}
.fc p,.card p{color:var(--mu);font-size:.96rem;line-height:1.6}

/* compare */
.cmp{border-radius:var(--r-lg);overflow:hidden}
.cmp .r{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:1rem;padding:1.05rem 1.6rem;border-top:1px solid var(--line);font-size:.96rem;color:var(--mu)}
.cmp .r:first-child{border-top:0}
.cmp .h{font-size:.8rem;font-weight:600;color:var(--tx);background:rgba(255,255,255,.02)}
.cmp .y{color:var(--tx);font-weight:500}
.cmp .y::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--g);margin-right:.55rem;vertical-align:middle}

/* faq */
.faq{display:grid;gap:.7rem;text-align:left;max-width:860px}
.faq details{border-radius:var(--r-md);padding:0 1.5rem;transition:border-color .3s var(--ease)}
.faq details[open]{border-color:var(--line2)}
.faq summary{cursor:pointer;list-style:none;padding:1.2rem 0;font-weight:600;font-size:1.05rem;letter-spacing:-.01em;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--mu);font-weight:400;font-size:1.3rem;line-height:1;transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{color:var(--mu);padding:0 0 1.2rem;font-size:.97rem}
.faq a{color:var(--g)}

/* $35 call card */
.nx-call{padding-top:0}
.call-card{max-width:760px;margin:0 auto;padding:3rem 2.2rem 2.6rem;border-radius:var(--r-lg);text-align:center}
.call-card .sh{font-size:clamp(2rem,4.6vw,3rem)}
.call-card .sl{margin-bottom:2rem}
.call-tag{display:inline-block;font-size:.78rem;font-weight:500;color:var(--g);background:var(--g-soft);padding:.35rem .8rem;border-radius:999px;margin-bottom:1.1rem}
.buy-call{background:var(--s3);color:var(--tx);border:1px solid var(--line2);box-shadow:none}
.buy-call:hover{background:#2c2c2e;box-shadow:none}

/* footer */
.foot{border-top:1px solid var(--line);text-align:center;padding:3rem 1.4rem 3.6rem;color:var(--mu2);font-size:.86rem;line-height:2;background:var(--s1)}
.fl{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1.2rem}
.fl a{font-size:.82rem;text-decoration:none;color:var(--mu);padding:.45rem 1rem;border-radius:999px;border:1px solid var(--line);transition:.3s var(--ease)}
.fl a:hover{color:var(--tx);background:var(--s3)}
.foot a.t{color:var(--mu);text-underline-offset:3px}
.foot a.t:hover{color:var(--tx)}

/* soft reveal on scroll */
.rv{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .beam,.pane.on .sg,.pane.on{animation:none}.sg{stroke-dashoffset:0}
  .buy,.fc,.card{transition:none}
}

/* responsive */
@media (max-width:820px){
  .sec{padding:5rem 1.2rem}
  .pane{grid-template-columns:1fr;gap:1.6rem}
  .panel{padding:1.5rem;border-radius:var(--r-md)}
  .stats .wrap{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  body{font-size:16px}
  .hero{padding:2.2rem 1.2rem 3.4rem}
  h1 em{display:block;margin-left:0}
  .bar{padding:.7rem 1.1rem}
  .back{font-size:.74rem;padding:.4rem .75rem}
  .tabs{display:flex;border-radius:var(--r-md)}
  .tab{flex:1 1 45%;font-size:.82rem;padding:.55rem .6rem}
  .cmp .r{grid-template-columns:1fr 1fr;padding:.9rem 1.1rem;font-size:.88rem}
  .cmp .r span:nth-child(3){grid-column:1/-1;padding-bottom:.2rem;color:var(--mu2)}
  .cmp .h span:nth-child(3){display:none}
  .fc,.card{padding:1.6rem 1.4rem}
  .call-card{padding:2.2rem 1.3rem 2rem}
  .faq details{padding:0 1.1rem}
}

/* Hero title: futuristic display face (Orbitron), title only */
.hero h1{font-family:"Orbitron",var(--font);font-weight:800;text-transform:uppercase;letter-spacing:.1em;line-height:1.02;font-size:clamp(2.1rem,6vw,4.4rem);
  color:transparent;background:linear-gradient(180deg,#ffffff 0%,#e8e8ed 45%,#8e8e93 100%);-webkit-background-clip:text;background-clip:text;margin-right:-.08em}
.hero h1 em{color:transparent;background:linear-gradient(180deg,#d9d9de 0%,#a1a1a6 55%,#6e6e73 100%);-webkit-background-clip:text;background-clip:text;margin-left:.28em}
@media (max-width:560px){.hero h1{font-size:clamp(1.7rem,9.4vw,2.5rem);letter-spacing:.08em}.hero h1 em{margin-left:0}}

/* Dev Portal button: keep the original white moving trace (same as the neon theme) */
@property --nxang{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes nxTraceBuy{to{--nxang:360deg}}
.back.tr{position:relative}
.back.tr::after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;
  background:conic-gradient(from var(--nxang),transparent 0deg,transparent 250deg,rgba(255,255,255,.55) 310deg,#fff 345deg,#f5f5f5 360deg);
  -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 exclude,linear-gradient(#000 0 0);
  animation:nxTraceBuy 2.8s linear infinite}
@media (prefers-reduced-motion:reduce){.back.tr::after{animation:none}}

/* ---- Subpages: policy / terms / privacy (.doc) ---- */
.doc{max-width:760px;margin:0 auto;padding:4.5rem 1.4rem 4rem;position:relative}
.doc .tag{margin-bottom:1.2rem}
.doc h1,.why-page h1.sh{font-family:var(--font);font-weight:600;text-transform:uppercase;letter-spacing:.06em;line-height:1.08;
  color:transparent;background:linear-gradient(180deg,#ffffff 0%,#e8e8ed 45%,#8e8e93 100%);-webkit-background-clip:text;background-clip:text}
.doc h1{font-size:clamp(1.7rem,6.2vw,3.2rem);margin-bottom:.8rem;overflow-wrap:anywhere}
.doc h1 em,.why-page h1.sh em{font-style:normal;color:transparent;background:linear-gradient(180deg,#d9d9de 0%,#a1a1a6 55%,#6e6e73 100%);-webkit-background-clip:text;background-clip:text}
.doc .upd{font-size:.78rem;letter-spacing:.04em;color:var(--mu2);margin-bottom:2.4rem}
.doc h3{font-size:1.15rem;font-weight:600;letter-spacing:-.015em;color:var(--tx);margin:2.2rem 0 .6rem}
.doc p{color:var(--mu);margin-bottom:.9rem;line-height:1.7}
.doc ul{list-style:none;margin:0 0 1rem;padding:1.1rem 1.3rem;border-radius:var(--r-md);background:linear-gradient(180deg,rgba(28,28,30,.72),rgba(14,14,16,.72));border:1px solid var(--line)}
.doc li{position:relative;color:var(--mu);padding:.4rem 0 .4rem 1.2rem;line-height:1.65}
.doc li::before{content:"";position:absolute;left:0;top:1rem;width:5px;height:5px;border-radius:50%;background:var(--g)}
.doc strong{color:var(--tx);font-weight:600}
.doc a{color:var(--g);text-underline-offset:3px}

/* ---- Subpage: why (.why-page), calm version of the same content ---- */
.why-page .sec.end{padding-top:4.5rem!important}
.why-page .why-kicker{display:inline-block;font-size:.8rem;font-weight:500;color:var(--g);background:var(--g-soft);padding:.38rem .85rem;border-radius:999px;margin-bottom:1rem}
.why-page .why-urge{display:block;width:max-content;max-width:100%;margin:0 auto 1.6rem;font-size:.86rem;color:var(--mu);padding:.45rem 1rem;border-radius:999px;border:1px solid var(--line2);background:rgba(255,255,255,.03)}
.why-page h1.sh{font-size:clamp(1.8rem,6vw,3.4rem)}
.why-page .why-lead{max-width:36rem;margin:0 auto 2.4rem;color:var(--mu);font-size:1.08rem;line-height:1.65}
.why-page .why-list{list-style:none;display:grid;gap:.8rem;max-width:38rem;margin:0 auto 2.6rem;text-align:left}
.why-page .why-list li{padding:1.3rem 1.4rem;border-radius:var(--r-md);background:linear-gradient(180deg,rgba(28,28,30,.72),rgba(14,14,16,.72));border:1px solid var(--line);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
.why-page .why-list strong{display:block;font-size:1.08rem;font-weight:600;letter-spacing:-.015em;color:var(--tx);margin-bottom:.35rem}
.why-page .why-list span{color:var(--mu);font-size:.97rem;line-height:1.6}
.why-page .why-hot{color:var(--g)!important;font-weight:600}

/* "Coming soon to Apple" — informational, not a link */
.soon-apple{cursor:default;user-select:none;opacity:.78}
.soon-apple svg{fill:var(--tx);opacity:.85}
.soon-row{display:flex;justify-content:center;margin-top:1rem}

/* Dev Portal button (main page): neon Tetris rain inside the frame, trace stays on the border */
.back.tr{isolation:isolate}
.back.tr .tet-rain{position:absolute;inset:0;border-radius:inherit;overflow:hidden;z-index:-1;pointer-events:none;opacity:1;filter:none;mix-blend-mode:normal}
.back.tr .tet-rain canvas{display:block;width:100%;height:100%}
.back.tr:has(.tet-rain){color:#fff;text-shadow:0 1px 2px #000,0 0 4px #000,0 0 8px #000;background:rgba(0,0,0,.2);opacity:1;filter:none}

/* Brand name "NEXUS / SCANNER" in the top bar uses the display face too */
.brand{font-family:"Orbitron",var(--font);font-weight:700;letter-spacing:.12em;font-size:.86rem}
@media (max-width:560px){.brand{font-size:.74rem;letter-spacing:.1em}}


/* Matched "Coming soon" pair (Google Play + Apple): identical muted pills, informational only */
.soon-pair{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:.6rem}
.soon-pill{cursor:default;user-select:none;opacity:.78;min-width:178px;justify-content:flex-start}
.soon-pill svg{width:20px;height:20px;flex:none;margin-right:.15rem}
@media (max-width:560px){.soon-pair{gap:.5rem}.soon-pill{min-width:0;flex:1 1 150px;padding:.55rem .9rem}}
/* coming-soon pills: centered label */
.soon-pill{justify-content:center;text-align:center}
.soon-pill > span{text-align:center}
.foot .tm{margin-top:.6rem;font-size:.7rem;line-height:1.5;color:var(--mu2);opacity:.85}

/* chrome finish: NEXUS SCANNER title + main-page brand link, same stops as the pill logos (#nxChrome) */
.nx-defs{position:absolute;width:0;height:0;overflow:hidden}
.hero h1,.hero h1 em,.nx-main .brand,.nx-main .brand i{background:linear-gradient(180deg,#f5f5f7 0%,#c7c7cc 22%,#ffffff 40%,#8e8e93 58%,#d1d1d6 76%,#6e6e73 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.hero h1{filter:drop-shadow(0 1px 0 rgba(255,255,255,.08)) drop-shadow(0 6px 18px rgba(0,0,0,.55))}
/* ray-trace glow on the Stripe buy buttons (visual only; ring sits just outside the pill) */
.buy{position:relative}
.buy::after{content:"";position:absolute;inset:-3px;border-radius:999px;padding:1.5px;pointer-events:none;
  background:conic-gradient(from var(--nxang),transparent 0deg,transparent 250deg,rgba(255,255,255,.55) 310deg,#fff 345deg,#f5f5f5 360deg);
  -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 exclude,linear-gradient(#000 0 0);
  animation:nxTraceBuy 2.8s linear infinite}
/* chrome glint on the coming-soon pills: a soft silver blob bouncing around inside each pill (DVD-style).
   X and Y run as independent alternate animations with different durations, so the path keeps changing. */
.soon-pill{position:relative;overflow:hidden;isolation:isolate}
.soon-pill::after{content:"";position:absolute;width:56px;height:56px;margin:-28px 0 0 -28px;left:0;top:0;border-radius:50%;pointer-events:none;z-index:1;
  background:radial-gradient(circle,rgba(255,255,255,.34) 0%,rgba(230,230,236,.18) 32%,rgba(200,200,210,.06) 55%,transparent 70%);
  animation:nxGlintX 3.7s ease-in-out infinite alternate,nxGlintY 2.3s ease-in-out infinite alternate}
.soon-pair .soon-pill:nth-child(2)::after{animation-duration:4.3s,2.9s;animation-delay:-1.6s,-.7s}
.soon-pair .soon-pill:nth-child(1)::after{animation-delay:-.4s,-1.5s}
.soon-row .soon-pill:nth-child(1)::after{animation-duration:3.3s,2.6s;animation-delay:-2.1s,-1.2s}
.soon-row .soon-pill:nth-child(2)::after{animation-duration:3.9s,2.1s;animation-delay:-2.9s,-.3s}
@keyframes nxGlintX{from{left:6%}to{left:94%}}
@keyframes nxGlintY{from{top:8%}to{top:92%}}
@media (prefers-reduced-motion:reduce){.buy::after{animation:none}.soon-pill::after{animation-play-state:paused}}

/* bouncing chrome glint INSIDE the title letters: a radial highlight layered over the chrome gradient
   in the same background-clip:text stack; X and Y animate independently (alternate, different durations) */
.hero h1,.hero h1 em,.nx-main .brand{
  background-image:radial-gradient(closest-side,rgba(255,255,255,.95) 0%,rgba(255,255,255,.45) 38%,rgba(255,255,255,0) 100%),linear-gradient(180deg,#f5f5f7 0%,#c7c7cc 22%,#ffffff 40%,#8e8e93 58%,#d1d1d6 76%,#6e6e73 100%);
  background-size:2.4em 2.4em,100% 100%;background-repeat:no-repeat,no-repeat;
  background-position-x:0%,0%;background-position-y:0%,0%;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  animation:nxTGlintX 3.7s ease-in-out infinite alternate,nxTGlintY 2.3s ease-in-out infinite alternate}
.hero h1 em{animation-duration:4.4s,2.7s;animation-delay:-1.9s,-.8s}
.nx-main .brand{background-size:1.8em 1.8em,100% 100%;animation-duration:3.1s,1.9s;animation-delay:-1.1s,-.5s}
@keyframes nxTGlintX{from{background-position-x:0%,0%}to{background-position-x:100%,0%}}
@keyframes nxTGlintY{from{background-position-y:0%,0%}to{background-position-y:100%,0%}}
@media (prefers-reduced-motion:reduce){.hero h1,.hero h1 em,.nx-main .brand{animation-play-state:paused}}

/* MAX neon rain: boosted canvas, no dark backdrop, neon pulse on the button box (motion off under reduced-motion) */
.back.tr .tet-rain{opacity:1;mix-blend-mode:normal}
.back.tr .tet-rain canvas{filter:brightness(1.6) saturate(1.8) drop-shadow(0 0 2px rgba(0,240,255,.9)) drop-shadow(0 0 4px rgba(255,43,214,.7))}
.back.tr:has(.tet-rain){background:transparent;color:#fff;text-shadow:0 1px 1.5px rgba(0,0,0,.95);animation:nxNeonPulse 3.2s ease-in-out infinite}
@keyframes nxNeonPulse{
 0%,100%{box-shadow:0 0 10px rgba(0,240,255,.75),0 0 22px rgba(0,240,255,.45)}
 25%{box-shadow:0 0 10px rgba(255,43,214,.75),0 0 22px rgba(255,43,214,.45)}
 50%{box-shadow:0 0 10px rgba(57,255,20,.75),0 0 22px rgba(57,255,20,.45)}
 75%{box-shadow:0 0 10px rgba(255,242,0,.75),0 0 22px rgba(255,138,0,.5)}}
@media (prefers-reduced-motion:reduce){.back.tr:has(.tet-rain){animation:none;box-shadow:0 0 10px rgba(0,240,255,.6)}}

/* compact coming-soon pills on mobile (~30-35% smaller); desktop unchanged */
@media (max-width:600px){
  .soon-pair{gap:.4rem;flex-wrap:nowrap}
  .soon-pill{flex:0 1 auto;min-width:0;gap:.38rem;padding:.42rem .7rem}
  .soon-pill svg{width:14px;height:14px;margin-right:0}
  .soon-pill span{font-size:.62rem;line-height:1.1;white-space:nowrap}
  .soon-pill b{display:inline;font-size:.62rem;margin-left:.22em}
  .soon-pill::after{width:38px;height:38px;margin:-19px 0 0 -19px}
}

/* subtle neon accent (Oct 17, final): no canvas filters, no pulse; ray-trace border unchanged */
.back.tr .tet-rain canvas{filter:none}
.back.tr:has(.tet-rain){animation:none;box-shadow:none;text-shadow:0 1px 2px rgba(0,0,0,.9)}

/* RGB neon glow behind the Dev Portal / Back buttons restored (cycles cyan, magenta, lime, yellow/orange); layered under the rain and the ray-trace border */
.back.tr:has(.tet-rain){animation:nxNeonPulseRGB 3.6s ease-in-out infinite}
@keyframes nxNeonPulseRGB{
 0%,100%{box-shadow:0 0 8px rgba(0,240,255,.55),0 0 18px rgba(0,240,255,.28)}
 25%{box-shadow:0 0 8px rgba(255,43,214,.55),0 0 18px rgba(255,43,214,.28)}
 50%{box-shadow:0 0 8px rgba(57,255,20,.55),0 0 18px rgba(57,255,20,.28)}
 75%{box-shadow:0 0 8px rgba(255,242,0,.55),0 0 18px rgba(255,138,0,.3)}}
@media (prefers-reduced-motion:reduce){.back.tr:has(.tet-rain){animation:none;box-shadow:0 0 8px rgba(0,240,255,.5),0 0 16px rgba(255,43,214,.25)}}
/* muted chrome ring on the non-clickable coming-soon pills: thin metallic gradient, no glow, no animation (peak ~.6 x pill opacity .78 = ~.47 visible) */
.soon-pill{border-color:transparent}
.soon-pill::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.25px;pointer-events:none;z-index:2;
  background:conic-gradient(from 200deg,rgba(236,236,242,.6) 0deg,rgba(168,168,176,.4) 70deg,rgba(92,92,100,.24) 150deg,rgba(150,150,158,.34) 220deg,rgba(214,214,222,.52) 290deg,rgba(236,236,242,.6) 360deg);
  -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 exclude,linear-gradient(#000 0 0)}
/* Shared black holographic Buy Now (.buy.holo), used on /nexus/ and /nexus-9bit/: black face, holographic shimmer on the inside (thin drifting inner ring + faint sheen sweep), holographic price chip with dark text,
   pale pink label, soft pulsing pink-violet outer glow. Everything static under reduced motion. */
.buy.holo{isolation:isolate;min-height:52px;border:0;color:#f7defc;text-shadow:0 1px 1px rgba(0,0,0,.6);
  background:
    linear-gradient(105deg,transparent 38%,rgba(255,111,216,.13) 45%,rgba(140,120,255,.12) 50%,rgba(95,227,230,.10) 55%,transparent 62%) 130% 0/280% 100% no-repeat,
    radial-gradient(120% 140% at 50% -20%,#1d1426 0%,#0a0a0f 60%) 0 0/100% 100%;
  animation:nxHSheen 5.2s ease-in-out infinite,nxHGlow 3.2s ease-in-out infinite;
  box-shadow:inset 0 1px 0 rgba(255,214,250,.12),0 0 0 1px rgba(255,140,235,.28),0 10px 30px -12px rgba(255,79,216,.6),0 0 26px -10px rgba(150,70,255,.5);
  transition:transform .25s cubic-bezier(.2,.8,.2,1),filter .25s}
/* inner holographic ring, set 3px inside the edge */
.buy.holo::after{inset:3px;padding:1.5px;border-radius:999px;opacity:1;
  background:linear-gradient(90deg,#ff4fd8,#e040fb,#9b5cff,#4c7dff,#2fd6e0,#9b5cff,#ff4fd8,#e040fb,#ff4fd8);background-size:300% 100%;
  animation:nxHHolo 6s linear infinite}
.buy.holo::before{content:none}
@keyframes nxHSheen{0%,35%{background-position:130% 0,0 0}80%,100%{background-position:-30% 0,0 0}}
@keyframes nxHHolo{0%{background-position:0% 0}100%{background-position:300% 0}}
@keyframes nxHGlow{0%,100%{box-shadow:inset 0 1px 0 rgba(255,214,250,.12),0 0 0 1px rgba(255,140,235,.28),0 10px 30px -12px rgba(255,79,216,.6),0 0 26px -10px rgba(150,70,255,.5)}
  50%{box-shadow:inset 0 1px 0 rgba(255,214,250,.12),0 0 0 1px rgba(255,160,240,.45),0 14px 40px -10px rgba(255,79,216,.85),0 0 46px -6px rgba(150,70,255,.75)}}
@keyframes nxHGlowHot{0%,100%{box-shadow:inset 0 1px 0 rgba(255,214,250,.16),0 0 0 1px rgba(255,170,240,.6),0 18px 44px -10px rgba(255,79,216,.95),0 0 54px -4px rgba(150,70,255,.85)}
  50%{box-shadow:inset 0 1px 0 rgba(255,214,250,.16),0 0 0 1px rgba(255,190,245,.75),0 20px 52px -8px rgba(255,79,216,1),0 0 64px -2px rgba(150,70,255,.95)}}
.buy.holo:hover{transform:translateY(-3px);animation:nxHSheen 1.8s ease-in-out infinite,nxHGlowHot 2.4s ease-in-out infinite}
.buy.holo:active{transform:translateY(1px) scale(.975);filter:brightness(.92);transition-duration:.08s}
.buy.holo:focus-visible{outline:2px solid #ffb3f0;outline-offset:5px}
/* price chip: holographic fill (all stops light enough for the dark text: >= 6:1), drifting with the ring */
.buy.holo b{position:relative;color:#12051c;font-weight:700;letter-spacing:.01em;text-shadow:0 1px 0 rgba(255,255,255,.35);
  background:linear-gradient(180deg,rgba(255,255,255,.35) 0%,rgba(255,255,255,.08) 48%,rgba(255,255,255,0) 52%),
    linear-gradient(90deg,#ff7fdc,#ec7bff,#b593ff,#86a9ff,#6fe3e6,#b593ff,#ff7fdc,#ec7bff,#ff7fdc);
  background-size:100% 100%,300% 100%;animation:nxHChip 6s linear infinite;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -2px 4px rgba(60,0,80,.25),0 0 14px -3px rgba(255,111,216,.6)}
@keyframes nxHChip{0%{background-position:0 0,0% 0}100%{background-position:0 0,300% 0}}
.buy.holo.rv{transition:opacity .9s var(--ease),transform .45s cubic-bezier(.2,.8,.2,1),filter .25s}
@media (prefers-reduced-motion:reduce){.buy.holo,.buy.holo:hover{animation:none;transition:none}.buy.holo::after{animation:none;background-position:40% 0}.buy.holo b{animation:none;background-position:0 0,30% 0}}
