/* Nexus Launcher page: violet theme on top of the shared site styles. */
.theme-nexus{
  --orange:#b44dff;--orange-2:#8f3dff;
  --nx-ink:#0b0614;--nx-deep:#170a2e;--nx-core:#7a1fff;--nx-orchid:#b44dff;--nx-lilac:#ff8cf5;
  --nx-text:#f3eefc;--nx-muted:#a99dc4;--nx-faint:#6f6488;--nx-line:rgba(190,150,255,.15);
  background:var(--nx-ink);color:var(--nx-text);
}
.theme-nexus::before{background:
  radial-gradient(ellipse at 78% 8%,rgba(122,31,255,.2),transparent 38%),
  radial-gradient(ellipse at 6% 62%,rgba(180,77,255,.07),transparent 34%),
  linear-gradient(180deg,#0b0614 0%,#0c0717 70%,#080410 100%)}
.theme-nexus .ambient-one{background:#7a1fff}
.theme-nexus .ambient-two{background:#b44dff}

/* Header and footer recolor */
.theme-nexus .site-header{background:rgba(11,6,20,.82)}
.theme-nexus .site-header::after{background:linear-gradient(90deg,transparent,rgba(180,77,255,.6),rgba(255,255,255,.08),rgba(180,77,255,.6),transparent)}
.theme-nexus .brand-mark{filter:drop-shadow(0 0 10px rgba(180,77,255,.3))}
.theme-nexus .nx-brand-mark{width:50px;height:32px;object-fit:contain}
.theme-nexus .footer-brand .nx-brand-mark{width:42px;height:27px}
.theme-nexus .brand-copy small{color:var(--nx-orchid)}
.theme-nexus .nav-link{color:#a99dc4}
.theme-nexus .nav-link:hover,.theme-nexus .nav-link.active,.theme-nexus .nav-link[aria-current="page"]{color:#fff}
.theme-nexus .nav-link.active::after{display:none}
.theme-nexus .nav-link[aria-current="page"]::after{content:"";display:block;width:14px;height:2px;background:var(--nx-orchid);margin:5px auto -7px;border-radius:3px}
.theme-nexus .nav-cta{border-color:rgba(180,77,255,.5);background:rgba(122,31,255,.14)}
.theme-nexus .nav-cta:hover{background:rgba(122,31,255,.3);border-color:var(--nx-orchid)}
.theme-nexus .language-switch{border-color:var(--nx-line)}
.theme-nexus .language-switch button.is-active{background:rgba(180,77,255,.18);box-shadow:0 0 12px rgba(180,77,255,.12)}
.theme-nexus .site-footer{background:#07030e;border-top-color:var(--nx-line)}
.theme-nexus .footer-bottom{border-top-color:var(--nx-line)}
.theme-nexus .menu-toggle:focus-visible,.theme-nexus .nav-link:focus-visible,.theme-nexus .button:focus-visible,
.theme-nexus .nx-copy:focus-visible,.theme-nexus .faq-item summary:focus-visible{outline:2px solid var(--nx-lilac);outline-offset:3px}

/* Buttons */
.theme-nexus .button-primary{background:linear-gradient(115deg,#a24bff,#6e1fff 62%,#4f14e0);box-shadow:0 10px 32px rgba(122,31,255,.32);animation:none}
.theme-nexus .button-primary:hover{box-shadow:0 12px 42px rgba(150,70,255,.5)}
.theme-nexus .button-ghost{border-color:rgba(190,150,255,.28);background:rgba(190,150,255,.05)}
.theme-nexus .button-ghost:hover{border-color:rgba(210,170,255,.6);background:rgba(190,150,255,.1)}
.theme-nexus .nx-download-btn{min-height:54px;padding:0 24px;font-size:13px}

/* Hero */
.nx-hero{position:relative;padding:72px 0 104px;overflow:hidden}
.nx-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:center}
.nx-hero h1{max-width:600px;margin:0 0 24px;font:700 clamp(36px,4.5vw,58px)/1.1 var(--display);letter-spacing:-2px;color:var(--nx-text)}
.nx-lead{max-width:500px;margin:0 0 34px;color:var(--nx-muted);font-size:15px;line-height:1.85}
.nx-actions{display:flex;flex-wrap:wrap;gap:12px}
.nx-note{margin:20px 0 0;color:var(--nx-faint);font-size:12px}
.nx-stage{position:relative;display:grid;place-items:center;isolation:isolate;min-height:420px}
.nx-stage::before{content:"";position:absolute;width:74%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(122,31,255,.6),rgba(122,31,255,0) 68%);filter:blur(36px);z-index:-1}
.nx-ring{position:absolute;width:104%;aspect-ratio:1/.4;border:1px solid rgba(190,150,255,.2);border-radius:50%;rotate:-22deg;z-index:-1}
.nx-stage img{display:block;width:min(100%,500px);height:auto;filter:drop-shadow(0 26px 60px rgba(122,31,255,.38));animation:nx-arrive 1.2s cubic-bezier(.2,.8,.2,1) both}
@keyframes nx-arrive{from{opacity:0;transform:translateY(22px) scale(.94)}to{opacity:1;transform:none}}

/* Features: a plain ruled list instead of cards */
.nx-features{padding:100px 0;border-top:1px solid var(--nx-line)}
.nx-features-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:84px;align-items:start}
.nx-features-head{position:sticky;top:116px}
.nx-features h2,.nx-faq h2{margin:0 0 16px;font:700 clamp(32px,3.5vw,44px)/1.14 var(--display);letter-spacing:-1.8px}
.nx-features-head p{max-width:400px;margin:0;color:var(--nx-muted);font-size:14px;line-height:1.85}
.nx-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--nx-line)}
.nx-list li{display:grid;grid-template-columns:46px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--nx-line)}
.nx-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(180,77,255,.3);border-radius:12px;background:rgba(122,31,255,.1);color:var(--nx-orchid)}
.nx-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nx-list h3{margin:3px 0 8px;font:600 18px var(--display)}
.nx-list p{max-width:520px;margin:0;color:var(--nx-muted);font-size:13px;line-height:1.85}
.nx-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.nx-chips span{padding:5px 12px;border:1px solid rgba(180,77,255,.32);border-radius:999px;background:rgba(122,31,255,.12);color:#e2ccff;font:600 12px var(--display)}

/* Download panel */
.nx-download{padding:20px 0 104px}
.nx-panel{position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;padding:56px 60px;border:1px solid rgba(180,77,255,.3);border-radius:18px;background:radial-gradient(ellipse at 12% 110%,rgba(122,31,255,.3),transparent 52%),linear-gradient(130deg,#150a2b,#0d0719 70%)}
.nx-panel::after{content:"";position:absolute;right:-60px;bottom:-70px;width:340px;height:215px;background:url(assets/nexus-mark.webp) center/contain no-repeat;opacity:.07;pointer-events:none}
.nx-panel-main,.nx-spec{position:relative;z-index:1}
.nx-panel h2{margin:0 0 16px;font:700 clamp(30px,3.3vw,42px)/1.14 var(--display);letter-spacing:-1.6px}
.nx-panel-main p{max-width:460px;margin:0 0 30px;color:#b3a7cc;font-size:14px;line-height:1.85}
.nx-spec{margin:0;align-self:center}
.nx-spec>div{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:14px 0;border-bottom:1px solid var(--nx-line)}
.nx-spec>div:first-child{border-top:1px solid var(--nx-line)}
.nx-spec dt{color:var(--nx-faint);font-size:12px}
.nx-spec dd{margin:0;font:600 14px var(--display);text-align:right}
.nx-spec .nx-hash{display:block}
.nx-hash dd{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:10px;text-align:left}
.nx-hash code{display:block;max-width:100%;overflow-wrap:anywhere;color:#cdb8ee;font:500 11.5px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}
.nx-copy{cursor:pointer;padding:7px 14px;border:1px solid rgba(180,77,255,.4);border-radius:7px;background:rgba(122,31,255,.14);color:#efe3ff;font:700 11px var(--display);transition:background .2s,border-color .2s}
.nx-copy:hover{background:rgba(122,31,255,.32);border-color:var(--nx-orchid)}

/* FAQ */
.nx-faq{padding:96px 0 120px;border-top:1px solid var(--nx-line)}
.nx-faq-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:84px}
.theme-nexus .faq-list{border-top-color:var(--nx-line)}
.theme-nexus .faq-item{border-bottom-color:var(--nx-line)}
.theme-nexus .faq-item summary{font-size:14px}
.theme-nexus .faq-item summary:hover{color:#dcbfff}
.theme-nexus .faq-item p{color:var(--nx-muted);font-size:13px}
.theme-nexus .faq-plus{border-color:rgba(180,77,255,.35)}
.theme-nexus .faq-item[open] .faq-plus{background:rgba(180,77,255,.16)}
.theme-nexus .back-to-top{border-color:rgba(180,77,255,.7);color:#d6a8ff}

@media(max-width:1000px){
  .nx-hero-grid{gap:20px}.nx-features-grid,.nx-faq-grid{gap:48px}.nx-panel{padding:44px;gap:34px}
}
@media(max-width:760px){
  .theme-nexus .nav-link[aria-current="page"]::after{display:none}
  .nx-hero{padding:44px 0 72px}
  .nx-hero-grid{grid-template-columns:1fr}
  .nx-hero h1{font-size:clamp(34px,9vw,48px);letter-spacing:-1.6px}
  .nx-stage{min-height:0;margin-top:20px}
  .nx-stage img{width:min(82%,380px)}
  .nx-features{padding:72px 0}
  .nx-features-grid,.nx-faq-grid{grid-template-columns:1fr;gap:30px}
  .nx-features-head{position:static}
  .nx-list li{grid-template-columns:40px 1fr;gap:16px;padding:22px 0}
  .nx-icon{width:40px;height:40px;border-radius:10px}
  .nx-download{padding-bottom:72px}
  .nx-panel{grid-template-columns:1fr;padding:32px 24px;gap:28px}
  .nx-panel::after{width:240px;height:152px;right:-50px;bottom:-40px}
  .nx-faq{padding:72px 0 90px}
}
@media(max-width:420px){
  .nx-actions .button{width:100%}
  .nx-panel{padding:28px 20px}
  .nx-panel .nx-download-btn{width:100%;padding:0 14px}
}
@media(prefers-reduced-motion:reduce){.nx-stage img{animation:none}}

/* CTA label: white and compact; only the arrow keeps the accent color. */
.theme-nexus .nav-cta>span:first-child{color:#fff;font-size:11px}
.theme-nexus .nav-cta>span[aria-hidden]{color:var(--nx-orchid);font-size:15px}

/* ===== Nexus motion ===== */
.theme-nexus{--fx:190,110,255;--fx-edge:200,120,255}
.theme-nexus .fx-progress{background:linear-gradient(90deg,#ff8cf5,#b44dff,#6a1bff)}
.nx-hero::before,.nx-hero::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(90px);pointer-events:none}
.nx-hero::before{width:480px;height:480px;right:-60px;top:-80px;background:rgba(122,31,255,.36);animation:nx-drift 14s ease-in-out infinite alternate}
.nx-hero::after{width:360px;height:360px;left:-120px;bottom:-140px;background:rgba(255,92,235,.15);animation:nx-drift 18s ease-in-out infinite alternate-reverse}
@keyframes nx-drift{to{transform:translate(-70px,50px) scale(1.16)}}
.nx-stage img{animation:nx-arrive 1.2s cubic-bezier(.2,.8,.2,1) both,nx-float 7s ease-in-out 1.3s infinite}
@keyframes nx-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
/* a small light travelling around the logo's orbit */
.nx-ring::after{content:"";position:absolute;left:0;top:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:radial-gradient(circle,#fff,#ff8cf5 55%,transparent 72%);box-shadow:0 0 18px 6px rgba(255,140,245,.65);animation:nx-ox 6s cubic-bezier(.37,0,.63,1) infinite alternate,nx-oy 6s cubic-bezier(.37,0,.63,1) -3s infinite alternate}
@keyframes nx-ox{from{left:0}to{left:100%}}
@keyframes nx-oy{from{top:0}to{top:100%}}
.nx-list li{position:relative;transition:padding-left .35s cubic-bezier(.2,.8,.2,1)}
.nx-list li:hover{padding-left:12px}
.nx-icon{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .3s,background .3s}
.nx-list li:hover .nx-icon{transform:rotate(-8deg) scale(1.1);background:rgba(122,31,255,.28);box-shadow:0 0 26px rgba(150,70,255,.5)}
.nx-chips span{transition:transform .25s,background .25s,box-shadow .25s}
.nx-chips span:hover{transform:translateY(-3px);background:rgba(150,70,255,.3);box-shadow:0 6px 18px rgba(122,31,255,.35)}
.theme-nexus .nav-cta{animation:nx-glow 3.6s ease-in-out infinite}
@keyframes nx-glow{0%,100%{box-shadow:0 0 0 rgba(180,77,255,0)}50%{box-shadow:0 0 22px rgba(180,77,255,.4)}}
.nx-panel{transition:box-shadow .4s}.nx-panel:hover{box-shadow:0 22px 80px rgba(122,31,255,.22)}
@media(prefers-reduced-motion:reduce){.nx-hero::before,.nx-hero::after,.nx-ring::after,.nx-stage img,.theme-nexus .nav-cta{animation:none!important}}

/* ===== Changelog ===== */
.nx-release{display:flex;align-items:center;gap:12px;margin-bottom:20px;color:var(--nx-muted);font-size:13px}
.nx-ver{padding:5px 14px;border:1px solid rgba(180,77,255,.4);border-radius:999px;background:rgba(122,31,255,.18);color:#f1e6ff;font:700 15px var(--display)}
.nx-log{position:relative;margin:0;padding:0 0 0 30px;list-style:none}
.nx-log::before{content:"";position:absolute;left:5px;top:12px;bottom:12px;width:2px;background:linear-gradient(var(--nx-orchid),rgba(180,77,255,.06))}
.nx-log li{position:relative;display:flex;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--nx-line)}
.nx-log li:last-child{border-bottom:0}
.nx-log li::before{content:"";position:absolute;left:-30px;top:23px;width:12px;height:12px;border-radius:50%;background:var(--nx-ink);border:2px solid var(--nx-orchid);box-shadow:0 0 12px rgba(180,77,255,.6)}
.nx-tag{flex:0 0 auto;padding:3px 10px;border-radius:6px;background:rgba(122,31,255,.2);color:#dcbfff;font:700 11px var(--display)}
.nx-log p{margin:0;color:#cfc4e6;font-size:14px;line-height:1.7}
@media(max-width:760px){.nx-log li{flex-direction:column;gap:8px}}
