/* ═══════════════════════════════════════════════════════
   TOKENS — brighter tech palette
   ═══════════════════════════════════════════════════════ */
:root {
  --bg:          #0b1929;
  --surface:     rgba(15,30,55,.88);
  --surface2:    rgba(20,38,68,.82);
  --border:      rgba(100,160,220,.18);
  --border-hov:  rgba(100,180,240,.35);
  --text:        #eef3fa;
  --text2:       #9bb5d4;
  --text3:       #5a7899;
  --cyan:        #38bdf8;
  --cyan-glow:   rgba(56,189,248,.18);
  --green:       #4ade80;
  --amber:       #fbbf24;
  --radius:      14px;
  --radius-sm:   10px;
  --mono:  "JetBrains Mono","SF Mono","Cascadia Code","Fira Code","Menlo",monospace;
  --sans:  "Inter",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:#060e1a}
body{
  color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.72;min-height:100vh;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  background-image:
    radial-gradient(rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:22px 22px;
}
::selection{background:rgba(56,189,248,.3);color:#fff}

/* ── Scrollbar: thin, subtle, consistent across OS ── */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(100,160,220,.25);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(100,160,220,.4)}
*{scrollbar-width:thin;scrollbar-color:rgba(100,160,220,.25) transparent}
a{color:var(--cyan);text-decoration:none}
code,pre{font-family:var(--mono)}
:not(pre)>code{font-size:.85em;background:rgba(56,189,248,.08);color:#7dd3fc;padding:.1em .4em;border-radius:4px;border:1px solid rgba(56,189,248,.12)}
pre{background:rgba(8,20,40,.85);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.3rem;overflow-x:auto;font-size:.88em;line-height:1.6;margin:.5rem 0}
pre code{color:#cddbf0;background:none;border:none;padding:0;white-space:pre}

/* ── Layout ── */
.sec{position:relative;z-index:1;width:100%}
.sec-inner{width:100%;max-width:1200px;margin:0 auto;padding:3.5rem 4vw}
@media(max-width:900px){.sec-inner{padding:2rem 5vw}}
@media(max-width:600px){.sec-inner{padding:1.5rem 4vw}}

/* ═══════════════════════════════════════════════════════
   BANNER / HERO
   ═══════════════════════════════════════════════════════ */
.banner{
  position:relative;z-index:1;
  background:transparent;
  border-bottom:1px solid var(--border);
  padding:6rem 4vw 5rem;
  overflow:hidden;
}
.banner::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 50% at 30% 20%,rgba(56,189,248,.05),transparent);
}
.banner-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}
.banner-badge{
  display:inline-flex;align-items:center;gap:.4em;font-family:var(--mono);font-size:.7rem;font-weight:600;
  padding:.25em .7em;border-radius:20px;border:1px solid rgba(56,189,248,.2);
  background:rgba(56,189,248,.06);color:var(--cyan);margin-bottom:1.2rem;
}
.banner-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green)}
.banner-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}
@media(max-width:800px){.banner-grid{grid-template-columns:1fr;gap:1.5rem}}

.banner-text h1{font-size:clamp(1.8rem,4vw,3rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}
.banner-text h1 .gr{background:linear-gradient(135deg,#eef3fa 0%,#7dd3fc 50%,#38bdf8 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.banner-text .desc{font-size:1rem;color:var(--text2);margin-top:.8rem;max-width:500px;line-height:1.7}
.banner-meta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem;font-family:var(--mono);font-size:.72rem;color:var(--text3)}

.banner-cmd{margin-top:2.5rem;background:rgba(8,20,38,.9);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 30px rgba(0,0,0,.3);display:flex;flex-direction:column}
.banner-cmd-hdr{display:flex;align-items:center;justify-content:space-between;padding:0 .9rem 0 0;background:rgba(56,189,248,.04);border-bottom:1px solid rgba(100,160,220,.1);font-family:var(--mono);font-size:.68rem;color:var(--text3);flex-shrink:0}
.cmd-tabs{display:flex;align-items:center}
.cmd-tab{padding:.55rem .9rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text3);font-family:var(--mono);font-size:.68rem;cursor:pointer;transition:all .15s}
.cmd-tab:hover{color:var(--text2)}
.cmd-tab.active{color:var(--cyan);border-bottom-color:var(--cyan)}
.cmd-body{min-height:150px;overflow-y:auto;overflow-x:hidden}
.cmd-tab.ai{color:var(--green);border-bottom-color:transparent}
.cmd-tab.ai.active{color:var(--green);border-bottom-color:var(--green)}
.banner-cmd pre{margin:0;border:none;border-radius:0;padding:1rem 1.1rem;background:transparent;font-size:.87em;line-height:1.6;overflow-x:hidden}
.banner-cmd pre code{color:#c8daf0}
.banner-cmd pre .dim{color:var(--text3)}
.banner-cmd .copy-btn{font-family:var(--mono);font-size:.65rem;font-weight:600;padding:.25em .6em;border-radius:5px;border:1px solid rgba(100,160,220,.2);background:transparent;color:var(--text2);cursor:pointer;transition:all .15s}
.banner-cmd .copy-btn:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(56,189,248,.08)}
.banner-cmd .copy-btn.done{border-color:var(--green);color:var(--green)}
.cmd-pane{display:none}
.cmd-pane.active{display:block}

/* ═══════════════════════════════════════════════════════
   DOWNLOAD — 3 OS cards, variants inside
   ═══════════════════════════════════════════════════════ */
.downloads{border-bottom:1px solid var(--border)}
.downloads h2{font-size:1.1rem;font-weight:700;margin-bottom:1.2rem;display:flex;align-items:center;gap:.5rem}
.os-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}

.os-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .2s}
.os-card:hover{border-color:var(--border-hov)}
.os-card-top{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.2rem 1.5rem 1.2rem}
.os-icon-big{width:90px;height:90px;border-radius:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-bottom:.8rem}
.os-icon-big svg{width:54px;height:54px}
.os-icon-big.mac{background:linear-gradient(135deg,#3a3a3a,#1e1e1e)}
.os-icon-big.lnx{background:linear-gradient(135deg,#f97316,#c2410c)}
.os-icon-big.win{background:linear-gradient(135deg,#2563eb,#1d4ed8)}
.os-card-top .os-title{font-size:1.15rem;font-weight:700}
.os-card-top .os-sub{font-size:.78rem;color:var(--text3);margin-top:.15rem}

.os-variants{border-top:1px solid rgba(255,255,255,.04)}
.os-var{display:flex;align-items:center;gap:.8rem;padding:.75rem 1.5rem;color:inherit;text-decoration:none;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.02)}
.os-var:last-child{border-bottom:none}
.os-var:hover{background:rgba(56,189,248,.04)}
.os-var .v-arch{font-family:var(--mono);font-size:.78rem;font-weight:600;color:var(--text);min-width:90px}
.os-var .v-fn{font-family:var(--mono);font-size:.72rem;color:var(--text2);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.os-var .v-size{font-family:var(--mono);font-size:.65rem;color:var(--text3);white-space:nowrap}
.os-var .v-arrow{font-family:var(--mono);font-size:.7rem;color:var(--cyan);white-space:nowrap}
.os-var .v-ext{color:var(--text3)}

/* ═══════════════════════════════════════════════════════
   STEPS
   ═══════════════════════════════════════════════════════ */
.steps{border-bottom:1px solid var(--border)}
.steps h2{font-size:1.1rem;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.steps-grid{display:flex;flex-direction:column;gap:.55rem}
.step-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem 1.1rem}
.step-card .sn{font-family:var(--mono);font-size:.68rem;font-weight:700;color:var(--cyan);margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.04em}
.step-card h4{font-size:.82rem;font-weight:700;margin-bottom:.3rem}
.step-card p,.step-card li{font-size:.88em;color:var(--text2)}
.step-card ul{padding-left:1.2rem;margin-top:.2rem}
.step-card code{font-size:.82em}
.step-card table{width:100%;font-size:.78em;border-collapse:collapse}
.step-card table td{padding:.15rem .3rem}

/* ═══════════════════════════════════════════════════════
   TOOLS
   ═══════════════════════════════════════════════════════ */
.tools{border-bottom:1px solid var(--border)}
.tools h2{font-size:1.1rem;font-weight:700;margin-bottom:.8rem;display:flex;align-items:center;gap:.5rem}
.tools-flow{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:1rem;font-family:var(--mono);font-size:.8rem;color:var(--text2)}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.55rem}
.tool-col h5{font-size:.77rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text3);margin-bottom:.4rem}
.tool-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.3rem 0;border-bottom:1px solid rgba(255,255,255,.02);font-size:.82em}
.tool-row .tn{font-family:var(--mono);font-size:.8em;color:var(--cyan);white-space:nowrap}
.tool-row .td{color:var(--text2);text-align:right;font-size:.85em}
.tool-row .ts{font-family:var(--mono);font-size:.65em;color:var(--text3);background:rgba(20,38,68,.6);padding:.1em .4em;border-radius:4px;white-space:nowrap;margin-left:.3em}

/* ── FAQ ── */
.faq-list{display:flex;flex-direction:column;gap:2px}
.faq-item{font-size:.88em;color:var(--text2);padding:.55rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;line-height:1.65}
.faq-item b{color:var(--text);display:block;margin-bottom:2px}
.faq-item code{font-size:.9em}

/* ── CALLOUT ── */
.callout{border-left:3px solid var(--amber);padding:.6rem 1rem;margin:.8rem 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.82em;background:rgba(251,191,36,.05)}
.callout.info{border-left-color:var(--cyan);background:rgba(56,189,248,.06)}

/* ── FOOTER ── */
.foot{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border);color:var(--text3);font-size:.73rem;font-family:var(--mono);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;position:relative;z-index:1}
