:root{--bg:#0a0a0a;--bg2:#111;--bg3:#1a1a1a;--border:#2a2a2a;--green:#ff2020;--green-dim:#c11;--green-faint:#2a0000;--amber:#ffb300;--red:#f33;--text:#ccc;--text-dim:#666;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-mono);font-size:14px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--green-dim)}.app{flex-direction:column;max-width:1200px;height:100%;margin:0 auto;padding:0 16px;display:flex}.app-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px 0 12px;display:flex}.app-header h1{color:var(--green);letter-spacing:2px;text-transform:uppercase;font-size:20px}.app-header .tagline{color:var(--text-dim);font-size:12px}.app-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.tab-content{flex:1;padding:20px 0;overflow-y:auto}.tab-bar{border-bottom:1px solid var(--border);gap:2px;padding-top:12px;display:flex;overflow-x:auto}.tab-bar button{color:var(--text-dim);cursor:pointer;font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 16px;font-size:12px;transition:color .15s,border-color .15s}.tab-bar button:hover{color:var(--text)}.tab-bar button.active{border-bottom-color:var(--green);color:var(--green)}.tab-tooltip{background:var(--bg3);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);letter-spacing:0;pointer-events:none;text-transform:none;white-space:nowrap;z-index:1001;border-radius:4px;padding:6px 10px;font-size:11px;position:fixed;transform:none}label{color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;font-size:11px}textarea,input,select{background:var(--bg2);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);border-radius:4px;outline:none;width:100%;padding:8px 12px;font-size:13px;transition:border-color .15s}textarea:focus,input:focus,select:focus{border-color:var(--green-dim)}textarea{resize:vertical;min-height:100px}select option{background:var(--bg2)}.btn{border:1px solid var(--green-dim);color:var(--green);cursor:pointer;font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;background:0 0;border-radius:4px;padding:8px 18px;font-size:12px;transition:background .15s,box-shadow .15s}.btn:hover:not(:disabled){background:var(--green-faint);box-shadow:0 0 8px #00ff4133}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--green-faint);border-color:var(--green)}.btn-secondary{border-color:var(--border);color:var(--text-dim)}.btn-secondary:hover:not(:disabled){background:var(--bg3);box-shadow:none;color:var(--text)}.btn-danger{border-color:var(--red);color:var(--red)}.btn-danger:hover:not(:disabled){box-shadow:none;background:#ff33331a}.btn-icon{letter-spacing:0;padding:6px 10px;font-size:14px}.btn-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.os-selector{flex-wrap:wrap;gap:6px;display:flex}.os-chip{background:var(--bg2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;border-radius:3px;padding:4px 10px;font-size:11px;transition:all .15s}.os-chip:hover{border-color:var(--green-dim);color:var(--text)}.os-chip.active{background:var(--green-faint);border-color:var(--green);color:var(--green)}.code-block-wrap{border:1px solid var(--border);border-radius:4px;overflow:hidden}.code-block-toolbar{background:var(--bg3);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.code-block-lang{color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;font-size:11px}.code-block-actions{gap:6px;display:flex}.sec-badge{letter-spacing:.5px;border-radius:3px;align-items:center;gap:6px;padding:3px 8px;font-size:11px;display:inline-flex}.sec-badge.low{color:#0c3;background:#00cc3314;border:1px solid #00cc334d}.sec-badge.medium{color:var(--amber);background:#ffb30014;border:1px solid #ffb3004d}.sec-badge.high{color:var(--red);background:#ff333314;border:1px solid #ff33334d}.sec-badge.unknown{background:var(--bg3);border:1px solid var(--border);color:var(--text-dim)}.panel{background:var(--bg2);border:1px solid var(--border);border-radius:4px;margin-bottom:16px;padding:16px}.panel-title{color:var(--green);letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;font-size:11px}.form-row{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form-inline{flex-wrap:wrap;gap:12px;display:flex}.form-inline .form-row{flex:1;min-width:140px}.result-list{flex-direction:column;gap:4px;list-style:none;display:flex}.result-list li{background:var(--bg3);border-left:2px solid var(--green-dim);padding:6px 10px;font-size:13px;line-height:1.5}.result-list li.warn{border-left-color:var(--amber)}.result-list li.danger{border-left-color:var(--red)}.spinner{border:2px solid var(--green-faint);border-top-color:var(--green);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.error-msg{color:var(--red);background:#ff333314;border:1px solid #ff33334d;border-radius:4px;padding:8px 12px;font-size:12px}.screenshot-zone{border:1px dashed var(--border);cursor:pointer;text-align:center;color:var(--text-dim);border-radius:4px;padding:20px;font-size:12px;transition:border-color .15s}.screenshot-zone:hover{border-color:var(--green-dim);color:var(--text)}.screenshot-preview{border:1px solid var(--border);border-radius:4px;max-width:100%;max-height:200px;margin:8px auto 0;display:block}.btn-voice{border-color:var(--amber);color:var(--amber)}.btn-voice:hover:not(:disabled){background:#ffb30014;box-shadow:0 0 8px #ffb30033}.btn-voice.recording{animation:1s ease-in-out infinite pulse-amber}@keyframes pulse-amber{0%,to{box-shadow:0 0 4px #ffb3004d}50%{box-shadow:0 0 12px #ffb30099}}.cheat-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-bottom:14px;display:grid}.cheat-chip{background:var(--bg2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;font-family:var(--font-mono);text-align:left;border-radius:4px;padding:10px 14px;font-size:12px;transition:all .15s}.cheat-chip:hover{border-color:var(--green-dim);color:var(--green)}.cheat-chip.active{background:var(--green-faint);border-color:var(--green);color:var(--green)}.stream-panel{align-items:center;gap:10px;padding:10px 16px;display:flex}.mono{font-family:var(--font-mono)}.text-green{color:var(--green)}.text-amber{color:var(--amber)}.text-red{color:var(--red)}.text-dim{color:var(--text-dim)}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.modal-overlay{z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg2);border:1px solid var(--border);border-radius:6px;width:100%;max-width:480px;padding:24px}.modal-title{color:var(--green);letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;font-size:13px}.settings-tabs{border-bottom:1px solid var(--border);gap:2px;margin-bottom:20px;display:flex}.settings-tabs button{color:var(--text-dim);cursor:pointer;font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 14px;font-size:11px;transition:color .15s,border-color .15s}.settings-tabs button:hover{color:var(--text)}.settings-tabs button.active{border-bottom-color:var(--green);color:var(--green)}.modal-wide{max-width:720px;max-height:80vh;overflow-y:auto}.about-section{margin-bottom:20px}.about-heading{color:var(--green-dim);letter-spacing:2px;text-transform:uppercase;border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:4px;font-size:11px}.about-section ul{flex-direction:column;gap:5px;list-style:none;display:flex}.about-section ul li{color:var(--text);padding-left:12px;font-size:12px;position:relative}.about-section ul li:before{content:"–";color:var(--green-dim);position:absolute;left:0}.about-tabs{flex-direction:column;gap:8px;display:flex}.about-tab{grid-template-columns:110px 1fr;gap:10px;font-size:12px;line-height:1.6;display:grid}.about-tab-name{color:var(--green);white-space:nowrap;font-weight:600}.about-section code{background:var(--bg3);border:1px solid var(--border);font-family:var(--font-mono);border-radius:3px;padding:1px 5px;font-size:11px}.about-install-step{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.about-step-label{color:var(--green-dim);letter-spacing:1px;text-transform:uppercase;font-size:11px}.about-code{background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);white-space:pre;border-radius:4px;margin:0;padding:10px 14px;font-size:11px;line-height:1.7;overflow-x:auto}.about-link{color:var(--green-dim);text-decoration:none}.about-link:hover{color:var(--green);text-decoration:underline}.no-key-badge{color:var(--red);cursor:pointer;letter-spacing:.5px;background:#ff33331a;border:1px solid #f336;border-radius:3px;padding:4px 8px;font-size:11px}.no-key-badge:hover{background:#ff33332e}@media (width<=640px){.app{padding:0 10px}.app-header{padding:10px 0 8px}.app-header h1{font-size:15px}.app-header .tagline{display:none}.tab-bar{flex-wrap:wrap;gap:0;padding-top:8px}.tab-bar button{letter-spacing:0;padding:6px 8px;font-size:10px}.panel{padding:12px}.btn{padding:7px 12px;font-size:11px}.form-inline{flex-direction:column}}
