:root{
  --bg:#07070a;
  --surface:rgba(255,255,255,.035);
  --surface-2:rgba(255,255,255,.07);
  --border:rgba(255,255,255,.09);
  --border-strong:rgba(255,255,255,.24);
  --text:#f4f4f6;
  --muted:#9a9aa6;
  --accent:#8b5cf6;
  --accent-2:#38bdf8;
  --discord:#5865f2;
  --radius:18px;
}
*{box-sizing:border-box}
html{color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%}
html,body{margin:0;background:var(--bg);color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{min-height:100%;overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom)}
[hidden]{display:none!important}
a{color:inherit}

.bg{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
   radial-gradient(760px 440px at 10% -10%,rgba(139,92,246,.24),transparent 60%),
   radial-gradient(680px 420px at 95% 0%,rgba(56,189,248,.16),transparent 60%),
   linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/48px 48px,
   linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/48px 48px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 20%,transparent 78%);
          mask-image:radial-gradient(ellipse at 50% 0%,#000 20%,transparent 78%)}

/* top navigation */
.nav{position:sticky;top:0;z-index:20;padding-top:env(safe-area-inset-top);
  background:rgba(7,7,10,.72);border-bottom:1px solid var(--border);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
.nav-in{max-width:1040px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;letter-spacing:-.01em}
.brand img{border-radius:8px;background:#000}
.nav-links{display:flex;align-items:center;gap:6px}
.nav-links a{padding:8px 12px;border-radius:10px;color:var(--muted);text-decoration:none;font-size:14px;font-weight:550;transition:color .15s,background .15s}
.nav-links a:hover{color:var(--text);background:var(--surface-2)}
.nav-links .nav-cta{color:#fff;background:var(--discord)}
.nav-links .nav-cta:hover{background:#6b77f6}

.wrap{position:relative;z-index:1;max-width:1040px;margin:0 auto;padding:0 20px 40px}

/* hero */
.hero{text-align:center;max-width:640px;margin:0 auto;padding:64px 0 30px}
.logo{display:block;margin:0 auto 22px;width:88px;height:88px;border-radius:22px;background:#000;
  border:1px solid var(--border-strong);box-shadow:0 18px 50px rgba(139,92,246,.3)}
h1{margin:0 0 14px;font-size:clamp(34px,6.4vw,54px);line-height:1.05;letter-spacing:-.03em;font-weight:780}
.grad{background:linear-gradient(90deg,#c4b5fd,#7dd3fc);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{margin:0 auto;color:var(--muted);font-size:17px;line-height:1.65;max-width:560px}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.hint{margin:14px 0 0;min-height:18px;color:var(--muted);font-size:13px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;border-radius:12px;
  border:1px solid transparent;font:inherit;font-size:15px;font-weight:650;text-decoration:none;cursor:pointer;
  transition:transform .15s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,opacity .2s}
.btn:focus-visible,.link:focus-visible,.nav-links a:focus-visible,.brand:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px}
.btn:active{transform:scale(.985)}
.ico{flex:none}
.primary{background:#fff;color:#0a0a0f;box-shadow:0 10px 30px rgba(255,255,255,.12)}
.primary:hover{transform:translateY(-1px);box-shadow:0 14px 38px rgba(255,255,255,.2)}
.primary[disabled]{opacity:.55;cursor:default;transform:none}
.ghost{background:var(--surface-2);color:var(--text);border-color:var(--border)}
.ghost:hover{border-color:var(--border-strong);transform:translateY(-1px)}
.solid{width:100%;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;box-shadow:0 10px 28px rgba(99,102,241,.35)}
.solid:hover{transform:translateY(-1px);box-shadow:0 14px 36px rgba(99,102,241,.5)}
.solid.rec{box-shadow:0 0 0 3px rgba(139,92,246,.35),0 14px 36px rgba(99,102,241,.5)}
.discord{background:var(--discord);color:#fff;box-shadow:0 10px 28px rgba(88,101,242,.4);white-space:nowrap}
.discord:hover{transform:translateY(-1px);background:#6b77f6}

.link{display:block;margin-top:14px;text-align:center;color:var(--muted);font-size:14px;text-decoration:none;transition:color .15s}
.link:hover{color:var(--text)}

.diag{text-align:left;white-space:pre-wrap;margin:16px auto 0;max-width:560px;padding:12px 14px;border-radius:12px;
  background:rgba(0,0,0,.5);border:1px solid var(--border);color:#d4d4dc;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

/* sections */
.section{padding:44px 0 6px}
.section-head{text-align:center;margin-bottom:26px}
.section-head h2{margin:0 0 8px;font-size:clamp(24px,4vw,30px);letter-spacing:-.02em}
.section-head p{margin:0;color:var(--muted);font-size:15px}

/* download tiles */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tile{display:flex;flex-direction:column;align-items:stretch;padding:24px;border-radius:20px;background:var(--surface);
  border:1px solid var(--border);box-shadow:0 20px 60px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.04);
  transition:border-color .2s,transform .2s}
.tile:hover{border-color:var(--border-strong);transform:translateY(-2px)}
.tile-ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;margin-bottom:16px;color:#fff;
  background:linear-gradient(145deg,rgba(139,92,246,.35),rgba(56,189,248,.22));border:1px solid var(--border)}
.tile h3{margin:0 0 4px;font-size:19px;letter-spacing:-.01em}
.meta{margin:0 0 20px;color:var(--muted);font-size:13.5px}
.fine{margin:14px 0 0;color:var(--muted);font-size:12.5px;line-height:1.55}
.tile .link{margin-top:10px}

/* guides */
.guide{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.card{padding:24px;border-radius:20px;background:var(--surface);border:1px solid var(--border);transition:border-color .2s,box-shadow .2s}
.card.active{border-color:rgba(139,92,246,.6);box-shadow:0 0 0 3px rgba(139,92,246,.12)}
.card h3{margin:0 0 18px;font-size:17px;letter-spacing:-.01em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tag{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:650;color:#fff;
  background:linear-gradient(90deg,rgba(139,92,246,.6),rgba(56,189,248,.45))}
.card ol{margin:0;padding:0;list-style:none;counter-reset:s;display:grid;gap:14px;color:#d6d6de;font-size:14.5px;line-height:1.55}
.card li{counter-increment:s;position:relative;padding-left:38px}
.card li::before{content:counter(s);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;
  display:grid;place-items:center;font-size:12.5px;font-weight:700;background:var(--surface-2);border:1px solid var(--border);color:#fff}
.note{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--border);color:var(--muted);font-size:13px;line-height:1.55}
.pulse{animation:pulse .9s ease 2}
@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(139,92,246,.28)}}

/* community */
.community{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:54px;padding:26px 28px;
  border-radius:22px;background:linear-gradient(135deg,rgba(88,101,242,.18),rgba(139,92,246,.08));border:1px solid rgba(88,101,242,.35)}
.community h2{margin:0 0 6px;font-size:20px;letter-spacing:-.01em}
.community p{margin:0;color:var(--muted);font-size:14.5px}

.foot{margin-top:40px;padding-top:22px;border-top:1px solid var(--border);text-align:center}
.foot a{color:var(--muted);font-size:14px;text-decoration:none}
.foot a:hover{color:var(--text)}

/* responsive */
@media (max-width:900px){
  .tiles{grid-template-columns:1fr}
  .guide{grid-template-columns:1fr}
}
@media (max-width:640px){
  .nav-links a:not(.nav-cta){display:none}
  .hero{padding-top:44px}
  .community{flex-direction:column;align-items:stretch;text-align:center}
  .community .btn{width:100%}
  .hero-actions .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* hosted-site additions */
.target{max-width:620px;margin:26px auto 0;padding:16px 18px;border-radius:16px;background:var(--surface);border:1px solid var(--border);text-align:left}
.target .label{margin:0 0 6px;color:var(--muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.target code{display:block;word-break:break-all;font:600 15px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#fff}
.target .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.target .warn{margin:12px 0 0;color:var(--muted);font-size:12.5px;line-height:1.55}
.target .btn{padding:9px 14px;font-size:13.5px;border-radius:10px}
.pick{max-width:560px;margin:28px auto 0;display:flex;gap:10px;flex-wrap:wrap}
.field{flex:1 1 260px;min-width:0;padding:13px 16px;border-radius:12px;border:1px solid var(--border-strong);background:rgba(0,0,0,.45);color:#fff;font:inherit;font-size:15px}
.field:focus{outline:2px solid var(--accent-2);outline-offset:2px}
.pick .btn{flex:0 0 auto}
.err{max-width:560px;margin:12px auto 0;color:#fca5a5;font-size:13.5px;min-height:18px}
.status{margin:10px 0 0;color:var(--muted);font-size:12.5px;min-height:16px;text-align:center}
.btn.solid[aria-busy="true"]{opacity:.7;cursor:progress}

.recbox{margin:0 0 30px;padding:24px;border-radius:20px;background:linear-gradient(135deg,rgba(52,211,153,.10),rgba(56,189,248,.06));border:1px solid rgba(52,211,153,.35)}
.recbox h3{margin:12px 0 8px;font-size:19px;letter-spacing:-.01em}
.recbox p{margin:0 0 12px;color:#d6d6de;font-size:14.5px;line-height:1.55}
.recbox .tag{background:linear-gradient(90deg,rgba(52,211,153,.7),rgba(56,189,248,.5))}
.recbox .btn{margin-top:6px}
.plain{margin:0 0 14px;padding-left:18px;color:#d6d6de;font-size:14px;line-height:1.65}
.subhead{margin:0 0 14px;font-size:15px;color:var(--muted);font-weight:600;letter-spacing:.02em}
.warnbox{margin-top:18px;padding:16px 20px;border-radius:16px;background:var(--surface);border:1px solid var(--border)}
.warnbox summary{cursor:pointer;font-weight:650;font-size:15px}
.warnbox p{color:#d6d6de;font-size:14px;line-height:1.6}
.warnbox code{display:inline-block;max-width:100%;overflow-wrap:anywhere;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#c4b5fd}

/* v2: OS boxes, detected device, app name */
.section.top{padding-top:8px}
.os-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch;margin-bottom:26px}
.os{position:relative;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.04)}
.os.detected{border-color:rgba(139,92,246,.75);box-shadow:0 0 0 3px rgba(139,92,246,.18),0 20px 60px rgba(0,0,0,.4)}
.os .badge{display:none;position:absolute;top:16px;right:16px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:700;color:#fff;background:linear-gradient(90deg,#8b5cf6,#38bdf8)}
.os.detected .badge{display:inline-block}
.os-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.os-head .tile-ico{margin:0;width:46px;height:46px;flex:none}
.os-head h3{margin:0;font-size:19px}
.os-head .meta{margin:2px 0 0}
.os .btn.solid{margin-bottom:4px}
.os .status{margin:6px 0 10px}
.os .link{margin:8px 0 14px}
.os ol{margin-top:16px}
.os .btn.solid+ol,.os .status+ol,.os .link+ol{margin-top:6px}
.os .note{margin-top:auto;padding-top:14px}
.os ol+.note{margin-top:18px}
.sub{margin:6px 0 12px;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.os ol+.sub{margin-top:20px}
@media (max-width:900px){.os-grid{grid-template-columns:1fr}.os.detected{order:-1}}
