.netos{--netos-bg:#000;--netos-panel:#060a07;--netos-panel-raised:#0a130d;--netos-border:#12331f;--netos-border-dim:#0c1f14;--netos-green:#39ff14;--netos-green-dim:#1fa80c;--netos-green-deep:#0b3d07;--netos-white:#e8ffe8;--netos-text-dim:#8fb79a;--netos-mute:#3e6b4c;--netos-red:#ff3b30;--netos-amber:#ffb000;--netos-cyan:#22d3ee;--netos-radius:8px;--netos-radius-sm:4px;--netos-glow:0 0 24px rgba(57,255,20,.18);--netos-display:var(--font-vt323),ui-monospace,monospace;--netos-mono:var(--font-jetbrains-mono),ui-monospace,SFMono-Regular,monospace}.netos-surface{position:relative;background:var(--netos-bg);border:1px solid var(--netos-border);border-radius:var(--netos-radius);overflow:hidden}.netos-scanlines:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,rgba(57,255,20,.012) 0 1px,transparent 1px 3px)}.netos-display{font-family:var(--netos-display);text-transform:uppercase;line-height:1.05;letter-spacing:.02em;color:var(--netos-white)}.netos-label{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:700;color:var(--netos-green-dim)}.netos-body,.netos-label{font-family:var(--netos-mono)}.netos-body{color:var(--netos-text-dim);line-height:1.7}.netos-glow-text{color:var(--netos-green);text-shadow:0 0 18px rgba(57,255,20,.35)}.netos-panel{background:var(--netos-panel);border:1px solid var(--netos-border);border-radius:var(--netos-radius);transition:transform .2s ease-in-out,border-color .2s ease-in-out}.netos-panel:hover{border-color:var(--netos-green-dim);transform:translateY(-3px)}.netos-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .9rem;border:1px solid var(--netos-border);border-radius:999px;background:var(--netos-panel);font-family:var(--netos-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--netos-white)}.netos-pill:before{content:"▹";color:var(--netos-green)}.netos-btn,.netos-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.3rem;border-radius:var(--netos-radius-sm);font-family:var(--netos-mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:all .2s ease-in-out;white-space:nowrap}.netos-btn{background:var(--netos-green);border:1px solid var(--netos-green);color:#000;box-shadow:var(--netos-glow)}.netos-btn:hover{background:var(--netos-white);border-color:var(--netos-white)}.netos-btn-ghost{background:transparent;border:1px solid var(--netos-green-dim);color:var(--netos-green)}.netos-btn-ghost:hover{background:rgba(57,255,20,.08);border-color:var(--netos-green)}.netos-terminal{background:var(--netos-panel);border:1px solid var(--netos-border);border-radius:var(--netos-radius);overflow:hidden}.netos-terminal-bar{display:flex;align-items:center;gap:.4rem;padding:.6rem .9rem;background:var(--netos-panel-raised);border-bottom:1px solid var(--netos-border-dim)}.netos-terminal-dot{width:8px;height:8px;border-radius:50%;background:var(--netos-border);flex-shrink:0}.netos-terminal-dot--live{background:var(--netos-green)}.netos-terminal-title{margin-left:auto;font-family:var(--netos-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--netos-mute)}.netos-terminal-body{padding:1rem .9rem 1.2rem;font-family:var(--netos-mono);font-size:12px;line-height:1.9;overflow-x:auto}.netos-terminal-body>*{white-space:nowrap}.netos-prompt{color:var(--netos-green)}.netos-out{color:var(--netos-text-dim)}.netos-cursor{display:inline-block;width:.55em;height:1em;vertical-align:text-bottom;background:var(--netos-green);animation:netos-blink 1.1s step-end infinite}@keyframes netos-blink{50%{opacity:0}}.netos-radar{position:relative;aspect-ratio:1;border-radius:50%;overflow:hidden;background:repeating-radial-gradient(circle,transparent 0 13%,rgba(57,255,20,.14) 13% calc(13% + 1px)),radial-gradient(circle,rgba(57,255,20,.08) 0,transparent 70%);border:1px solid var(--netos-border)}.netos-radar:after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(57,255,20,.32) 0deg,rgba(57,255,20,.06) 40deg,transparent 80deg,transparent 1turn);animation:netos-sweep 6s linear infinite}@keyframes netos-sweep{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.netos-cursor,.netos-radar:after{animation:none}.netos-panel,.netos-panel:hover{transform:none;transition:border-color .2s ease-in-out}}