/* demo.html 页面样式 */
.demo-hero{padding:calc(var(--envbar-h) + 9rem) 0 5rem}
.demo-hero h1{font-size:clamp(40px,4.8vw,64px);line-height:1.16}
.fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
@media(max-width:900px){.fleet-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.fleet-grid{grid-template-columns:1fr}}
.fleet-card{border:1px solid var(--line);border-radius:10px;padding:1.8rem 2rem;background:#fff;box-shadow:0 10px 30px rgba(0,51,79,.06)}
.fc-head{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem}
.fc-dot{width:1rem;height:1rem;border-radius:50%;background:#1db777;box-shadow:0 0 8px rgba(29,183,119,.6)}
.fleet-card.offline .fc-dot{background:#e0a418;box-shadow:none}
.fc-name{font-weight:600;font-size:1.55rem}
.fc-type{margin-left:auto;font-family:var(--font-mono);font-size:1.15rem;color:var(--ink-3)}
.fc-lat{font-family:var(--font-mono);font-size:2.6rem;font-weight:600;color:#00334f;line-height:1.1}
.fc-lat small{font-size:1.3rem;color:var(--ink-3);font-weight:400}
.fc-spark{width:100%;height:44px;display:block;margin-top:.8rem}
.alt{background:#f6fafd}
.demo-console{max-width:760px;margin:0 auto;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#08141f;color:#f5f6fa;padding:2.4rem 2.6rem;box-shadow:0 24px 70px rgba(0,51,79,.35)}
.dc-head{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;flex-wrap:wrap;margin-bottom:1.6rem}
.dc-title{font-family:var(--font-mono);letter-spacing:.08em;font-size:1.35rem;color:#9db9cc}
.dc-toggle{display:inline-flex;align-items:center;gap:.8rem;cursor:pointer;user-select:none}
.dc-toggle input{position:absolute;opacity:0;width:0;height:0}
.dc-toggle i{width:3.4rem;height:1.9rem;border-radius:99rem;background:rgba(255,255,255,.22);position:relative;transition:background .2s}
.dc-toggle i::after{content:"";position:absolute;top:.25rem;left:.25rem;width:1.4rem;height:1.4rem;border-radius:50%;background:#fff;transition:transform .22s cubic-bezier(.22,.61,.36,1)}
.dc-toggle input:checked+i{background:#00e1ff;box-shadow:0 0 10px rgba(0,225,255,.45)}
.dc-toggle input:checked+i::after{transform:translateX(1.5rem)}
.dc-toggle b{font-family:var(--font-mono);font-size:1.25rem;letter-spacing:.06em}
.dc-toggle em{font-style:normal;font-family:var(--font-mono);font-size:1.2rem;padding:.2rem .7rem;border-radius:99rem;background:rgba(255,255,255,.08);color:#f5f6fa99}
.demo-console.is-offline .em-on,.dc-toggle input:checked~em{background:rgba(0,225,255,.16);color:#00e1ff}
.dc-chart{width:100%;height:180px;display:block}
.grid-line{stroke:rgba(245,246,250,.14);fill:none;stroke-width:1}
.ln{fill:none;stroke-width:2.2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ln.edge{stroke:#00e1ff;filter:drop-shadow(0 0 6px rgba(0,225,255,.5))}
.ln.cloud{stroke:rgba(255,255,255,.92);stroke-dasharray:6 4;transition:opacity .3s}
.dot.edge{fill:#00e1ff}.dot.cloud{fill:#fff;transition:opacity .3s}
.demo-console.is-offline .ln.cloud,.demo-console.is-offline .dot.cloud{opacity:.18}
.area.edge{fill:url(#dcGrad);opacity:.85}
.dc-metrics{display:flex;gap:1.2rem;justify-content:center;margin-top:1.4rem;font-family:var(--font-mono);color:#cfe4f2;font-size:1.35rem;flex-wrap:wrap}
.dc-metrics b{color:#00e1ff}
.code-panel{max-width:760px;margin:0 auto;background:#0a1826;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}
.code-head{display:flex;align-items:center;gap:.7rem;padding:1.2rem 1.6rem;background:#0d2033;border-bottom:1px solid rgba(255,255,255,.08)}
.code-head .dot{width:1.1rem;height:1.1rem;border-radius:50%;background:#2b4a63;display:inline-block}
.code-head .file{margin-left:1rem;font-family:var(--font-mono);font-size:1.25rem;color:#9db9cc}
.copy-btn{margin-left:auto;background:transparent;border:1px solid rgba(0,225,255,.4);color:#00e1ff;font-family:var(--font-mono);font-size:1.2rem;padding:.4rem 1.2rem;border-radius:6px;cursor:pointer}
.copy-btn:hover{background:rgba(0,225,255,.12)}
.code-panel pre{margin:0;padding:2rem 2.2rem;overflow-x:auto}
.code-panel code{font-family:"JetBrains Mono",Menlo,monospace;font-size:1.35rem;line-height:1.75;color:#d7e9f5}
.cta-strip{background:linear-gradient(135deg,var(--hero-bg-1),var(--hero-bg-2));color:#f5f6fa;padding:6rem 0;text-align:center}
.cta-strip h2{color:#fff;font-size:clamp(24px,2.6vw,34px);margin:0 0 1rem}
.cta-strip .section-sub{color:rgba(245,246,250,.72)}
.center{text-align:center}
