*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d1117;--bg2: #161b22;--bg3: #21262d;--border: #30363d;--text: #c9d1d9;--text-dim: #8b949e;--accent: #58a6ff;--green: #3fb950;--red: #f85149;--yellow: #d29922;--term-green: #39d353;--term-bg: #010409;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", ui-monospace, "SF Mono", Menlo, monospace;--radius: 8px}html,body{height:100%;background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:14px;line-height:1.6}#app{max-width:900px;margin:0 auto;padding:24px 16px 48px;display:flex;flex-direction:column;gap:16px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:16px}.header-left{display:flex;flex-direction:column;gap:2px}.logo{font-size:1.3rem;font-weight:700;color:var(--accent);letter-spacing:-.5px}.subtitle{font-size:.78rem;color:var(--text-dim)}.status-bar{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-dim)}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.dot.connected{background:var(--green);box-shadow:0 0 6px var(--green);animation:pulse 2s ease-in-out infinite}.dot.disconnected{background:var(--red);box-shadow:0 0 4px var(--red)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.browser-warning{background:#2d2209;border:1px solid var(--yellow);border-radius:var(--radius);padding:10px 14px;font-size:.82rem;color:#e3b341;line-height:1.5}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:14px}.card h2{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn{font-family:var(--font-mono);font-size:.85rem;font-weight:600;padding:7px 16px;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:opacity .15s,filter .15s;white-space:nowrap}.btn:disabled{opacity:.35;cursor:not-allowed}.btn:not(:disabled):hover{filter:brightness(1.15)}.btn.primary{background:var(--accent);color:#0d1117;border-color:var(--accent)}.btn.danger{background:transparent;color:var(--red);border-color:var(--red)}.btn.secondary{background:var(--bg3);color:var(--text-dim);border-color:var(--border)}.device-info table{border-collapse:collapse;font-size:.85rem}.device-info td{padding:3px 12px 3px 0;vertical-align:top}.device-info td:first-child{color:var(--text-dim);min-width:80px}.device-info code{background:var(--bg3);padding:1px 6px;border-radius:4px;font-family:var(--font-mono);font-size:.82rem;color:var(--term-green)}.update-badge{display:inline-block;background:#2d1f02;border:1px solid var(--yellow);color:#e3b341;border-radius:4px;padding:1px 8px;font-size:.8rem;font-weight:600;letter-spacing:.2px}.update-link{color:var(--accent);font-size:.8rem;opacity:.8;margin-left:6px}.update-link:hover{opacity:1}.up-to-date{color:var(--green);font-size:.82rem}.btn.btn-install{background:#1a2d1a;color:var(--green);border-color:var(--green);font-size:.85rem;margin-top:4px}.btn.btn-install:not(:disabled):hover{background:#213521;filter:none}.btn.btn-install:disabled{opacity:.6;cursor:wait}.auth-prompt{background:#0e1e2e;border:1px solid #1f6feb;border-radius:var(--radius);padding:12px 16px;font-size:.85rem;line-height:1.7}.auth-prompt .hint{color:var(--text-dim);font-size:.8rem;margin-top:4px}.cmd-input{font-family:var(--font-mono);font-size:.9rem;flex:1;min-width:200px;padding:7px 12px;background:var(--term-bg);border:1px solid var(--border);border-radius:6px;color:var(--text);outline:none;transition:border-color .15s}.cmd-input:focus{border-color:var(--accent)}.cmd-input::placeholder{color:var(--text-dim);opacity:.5}.quick-cmds{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.78rem}.quick-cmds .label{color:var(--text-dim);margin-right:2px}.btn-quick{font-family:var(--font-mono);font-size:.75rem;padding:3px 10px;background:var(--bg3);border:1px solid var(--border);border-radius:4px;color:var(--accent);cursor:pointer;transition:background .1s,color .1s}.btn-quick:hover{background:#1c2128;border-color:var(--accent)}.output{background:var(--term-bg);border:1px solid var(--border);border-radius:var(--radius);padding:14px;min-height:200px;max-height:500px;overflow-y:auto;font-family:var(--font-mono);font-size:.82rem;line-height:1.55;color:var(--term-green);white-space:pre-wrap;word-break:break-all;scroll-behavior:smooth}.output:empty:before{content:"# Output will appear here…";color:var(--text-dim);opacity:.4}.error-banner{background:#2d0f0f;border:1px solid var(--red);border-radius:var(--radius);padding:10px 16px;color:#ff7b72;font-size:.85rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.hidden{display:none!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}
