@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=JetBrains+Mono:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Space+Grotesk:wght@500;600;700&display=swap");:root{--bg-canvas:#090b0e;--surface-sunken:#06070a;--surface-0:#0d1016;--surface-1:#131720;--surface-2:#191f2b;--surface-3:#222938;--border-subtle:#1c222e;--border-default:#262e3d;--border-strong:#374257;--border-focus:#4ade80;--accent-primary:#4ade80;--accent-secondary:#22c55e;--accent-dim:#133a24;--accent-muted:rgba(74,222,128,.08);--accent-glow:rgba(74,222,128,.25);--status-active:#4ade80;--status-active-bg:rgba(74,222,128,.08);--status-active-border:rgba(74,222,128,.25);--status-pending:#f59e0b;--status-pending-bg:rgba(245,158,11,.08);--status-pending-border:rgba(245,158,11,.25);--status-error:#ef4444;--status-error-bg:rgba(239,68,68,.08);--status-error-border:rgba(239,68,68,.25);--status-neutral:#64748b;--status-neutral-bg:rgba(100,116,139,.08);--status-neutral-border:rgba(100,116,139,.25);--font-mono:"JetBrains Mono","SFMono-Regular",Consolas,Menlo,monospace;--font-heading:"Space Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;--font-body:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,sans-serif;--text-bright:#f8fafc;--text-normal:#cbd5e1;--text-muted:#8392a5;--text-faint:#475569;--text-accent:#4ade80;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-none:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--duration-instant:80ms;--duration-fast:150ms;--ease-tech:cubic-bezier(0.16,1,0.3,1);--entity-bar-bg:rgba(13,16,22,.97);--overlay-bg:rgba(5,8,12,.85)}[data-theme=light]{--bg-canvas:#eef1f6;--surface-sunken:#e3e8f0;--surface-0:#f7f9fc;--surface-1:#fff;--surface-2:#edf1f7;--surface-3:#dfe6f0;--border-subtle:#dde3ec;--border-default:#c7d0dd;--border-strong:#a5b1c4;--border-focus:#15803d;--accent-primary:#16a34a;--accent-secondary:#15803d;--accent-dim:#d9f3e2;--accent-muted:rgba(22,163,74,.08);--accent-glow:rgba(22,163,74,.25);--status-active:#15803d;--status-active-bg:rgba(21,128,61,.1);--status-active-border:rgba(21,128,61,.3);--status-pending:#b45309;--status-pending-bg:rgba(180,83,9,.1);--status-pending-border:rgba(180,83,9,.3);--status-error:#dc2626;--status-error-bg:rgba(220,38,38,.08);--status-error-border:rgba(220,38,38,.28);--status-neutral:#64748b;--status-neutral-bg:rgba(100,116,139,.1);--status-neutral-border:rgba(100,116,139,.28);--text-bright:#0b1220;--text-normal:#273244;--text-muted:#55627a;--text-faint:#8a96aa;--text-accent:#15803d;--entity-bar-bg:hsla(0,0%,100%,.97);--overlay-bg:rgba(15,23,42,.45)}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;background-color:var(--bg-canvas);color:var(--text-normal);font-family:var(--font-body);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface-sunken)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-xs)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--text-bright);letter-spacing:-.025em;font-weight:600}h1{font-size:20px;letter-spacing:-.035em}h2{font-size:16px;letter-spacing:-.02em}h3{font-size:13px;letter-spacing:-.01em;text-transform:uppercase}.mono,code,pre{font-family:var(--font-mono);font-size:12px}.tech-panel{background-color:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);position:relative;overflow:hidden;transition:border-color var(--duration-fast) var(--ease-tech)}.tech-panel:hover{border-color:var(--border-strong)}.tech-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background-color:var(--surface-2);border-bottom:1px solid var(--border-subtle)}.tech-panel-title{font-family:var(--font-heading);font-size:12px;font-weight:600;color:var(--text-bright);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:8px}.tech-panel-body{padding:14px}.led-indicator{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.led-dot{width:6px;height:6px;border-radius:50%;position:relative}.led-dot.active{background-color:var(--status-active);box-shadow:0 0 6px var(--status-active)}.led-dot.active:after{content:"";position:absolute;top:-2px;left:-2px;width:10px;height:10px;border-radius:50%;border:1px solid var(--status-active);opacity:.7;animation:radar-pulse 1.8s cubic-bezier(.2,.8,.2,1) infinite}.led-dot.pending{background-color:var(--status-pending);box-shadow:0 0 6px var(--status-pending);animation:led-blink 1s infinite alternate}.led-dot.error{background-color:var(--status-error);box-shadow:0 0 5px var(--status-error)}.led-dot.idle{background-color:var(--status-neutral)}@keyframes radar-pulse{0%{transform:scale(.7);opacity:.9}to{transform:scale(2.2);opacity:0}}@keyframes led-blink{0%{opacity:.35}to{opacity:1}}.tech-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:var(--radius-xs);font-family:var(--font-mono);font-size:11px;font-weight:500;line-height:1.2;letter-spacing:-.01em;border:1px solid transparent}.tech-badge.success{background-color:var(--status-active-bg);border-color:var(--status-active-border);color:var(--status-active)}.tech-badge.warning{background-color:var(--status-pending-bg);border-color:var(--status-pending-border);color:var(--status-pending)}.tech-badge.error{background-color:var(--status-error-bg);border-color:var(--status-error-border);color:var(--status-error)}.tech-badge.neutral{background-color:var(--status-neutral-bg);border-color:var(--status-neutral-border);color:var(--text-muted)}.tech-input{width:100%;background-color:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:8px 12px;font-family:var(--font-mono);font-size:13px;color:var(--text-bright);transition:border-color var(--duration-fast) var(--ease-tech);outline:none}.tech-input::placeholder{color:var(--text-faint);font-family:var(--font-mono);font-size:12px}.tech-input:focus{border-color:var(--border-focus)}.tech-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:7px 14px;border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer;border:1px solid transparent;transition:all var(--duration-fast) var(--ease-tech);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tech-btn-primary{background-color:var(--accent-primary);color:#05140b;border-color:var(--accent-primary)}.tech-btn-primary:hover{background-color:#38c870;border-color:#38c870}.tech-btn-primary:active{transform:translateY(1px)}.tech-btn-primary:disabled{background-color:#1a2f22;color:#3b664d;border-color:#1a2f22;cursor:not-allowed}.tech-btn-secondary{background-color:var(--surface-2);color:var(--text-normal);border-color:var(--border-default)}.tech-btn-secondary:hover{background-color:var(--surface-3);color:var(--text-bright);border-color:var(--border-strong)}.tech-terminal{background-color:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:11.5px;line-height:1.6;color:var(--text-normal);padding:10px 14px;max-height:180px;overflow-y:auto;position:relative}.terminal-line{display:flex;gap:8px;align-items:baseline;padding:1px 0;word-break:break-all}.terminal-prefix{color:var(--text-faint);-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.terminal-tag{color:var(--accent-primary);font-weight:600;flex-shrink:0}.terminal-text{color:var(--text-normal)}.tech-table{width:100%;border-collapse:collapse;text-align:left}.tech-table th{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);padding:8px 12px;border-bottom:1px solid var(--border-default);background-color:var(--surface-2);font-weight:500}.tech-table td{padding:8px 12px;border-bottom:1px solid var(--border-subtle);font-size:12px;color:var(--text-normal);transition:background-color var(--duration-fast) var(--ease-tech)}.tech-table tr:hover td{background-color:var(--accent-muted)}.tech-table .mono-cell{font-family:var(--font-mono);font-size:12px;color:var(--text-bright)}.tech-progress-track{width:100%;height:3px;background-color:var(--surface-2);border-radius:var(--radius-none);overflow:hidden;position:relative}.tech-progress-bar{height:100%;background-color:var(--accent-primary);transition:width .2s ease}.tech-progress-bar.indeterminate{width:30%;position:absolute;animation:tech-scan-line 1.2s ease-in-out infinite}@keyframes tech-scan-line{0%{left:-30%}to{left:100%}}.intel-briefing{background-color:var(--surface-0);border:1px solid var(--border-subtle);border-left:2px solid var(--accent-primary);padding:10px 14px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:12px;color:var(--text-muted);line-height:1.5;margin-bottom:14px}.intel-briefing-title{font-family:var(--font-heading);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-bright);margin-bottom:4px;display:flex;align-items:center;gap:6px}.beginner-steps{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 14px;background:var(--surface-0);border-bottom:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:10px;color:var(--text-faint)}.beginner-steps .active{color:var(--accent-primary);font-weight:600}.beginner-briefing{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-bottom:14px}.beginner-briefing>div{background:var(--surface-0);border:1px solid var(--border-default);border-left:2px solid var(--accent-primary);border-radius:var(--radius-sm);padding:10px 12px;display:flex;flex-direction:column;gap:3px}.beginner-briefing strong{color:var(--text-bright);font-size:12px}.beginner-briefing span,.live-input-preview{color:var(--text-muted);font-size:11px}.live-input-preview{margin-top:6px;font-family:var(--font-mono)}.entity-bar{position:fixed;z-index:20;bottom:30px;left:16px;right:16px;background:var(--entity-bar-bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:0 -8px 30px rgba(0,0,0,.3)}.entity-bar-header{display:flex;justify-content:space-between;align-items:center;padding:7px 12px;color:var(--text-normal);font-family:var(--font-mono);font-size:11px;border-bottom:1px solid var(--border-subtle)}.entity-bar-kicker{color:var(--accent-primary);font-weight:600;margin-right:8px}.entity-bar-toggle{color:var(--text-muted);background:none;border:0;cursor:pointer}.entity-bar-content{display:flex;gap:6px;align-items:flex-start;overflow-x:auto;padding:8px 12px}.entity-bar-empty{color:var(--text-faint);font-family:var(--font-mono);font-size:11px}.entity-chip-wrap{position:relative;flex-shrink:0}.entity-chip{display:flex;align-items:center;gap:6px;padding:5px 8px;background:var(--surface-2);color:var(--text-normal);border:1px solid var(--border-default);border-radius:var(--radius-xs);cursor:pointer;font-family:var(--font-mono);font-size:11px}.entity-chip small{color:var(--text-faint);font-size:9px}.entity-dot{width:6px;height:6px;border-radius:50%}.entity-actions{position:absolute;bottom:calc(100% + 5px);left:0;display:flex;flex-direction:column;min-width:170px;padding:4px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-xs)}.entity-actions button{display:flex;gap:6px;align-items:center;border:0;background:transparent;color:var(--text-normal);padding:6px 8px;text-align:left;cursor:pointer;font-family:var(--font-mono);font-size:10px}.entity-actions button:hover{background:var(--surface-3);color:var(--accent-primary)}.shadowscan-toast{position:fixed;z-index:30;right:18px;bottom:88px;padding:9px 12px;color:#05140b;background:var(--accent-primary);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:11px;font-weight:600}@keyframes spin{to{transform:rotate(1turn)}}.onboarding-overlay{position:fixed;inset:0;z-index:50;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;padding:16px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.onboarding-cards{display:flex;flex-direction:column;gap:10px;max-width:520px;width:100%}.onboarding-card{background:var(--surface-1);border:1px solid var(--border-strong);border-left:3px solid var(--accent-primary);border-radius:var(--radius-sm);padding:12px 16px}.onboarding-card-icon{font-size:20px;margin-bottom:4px}.onboarding-card h3{margin:0 0 4px;font-family:var(--font-heading);font-size:13.5px;color:var(--text-bright)}.onboarding-card p{margin:0;font-size:11.5px;line-height:1.5;color:var(--text-muted)}@media (max-width:700px){.beginner-briefing{grid-template-columns:1fr}.chat-dock,.entity-bar{left:8px;right:8px}.chat-dock{width:calc(100vw - 16px);bottom:88px;max-height:62vh}}.chat-fab{position:fixed;z-index:40;right:18px;bottom:96px;width:42px;height:42px;display:grid;place-items:center;background:var(--accent-primary);color:#05140b;border:0;border-radius:50%;cursor:pointer;box-shadow:0 6px 20px var(--accent-glow);transition:transform var(--duration-fast) var(--ease-tech)}.chat-fab:hover{transform:scale(1.08)}.chat-fab-pulse{position:absolute;inset:0;border-radius:50%;border:2px solid var(--accent-primary);animation:radar-pulse 2.2s cubic-bezier(.2,.8,.2,1) infinite}.chat-dock{position:fixed;z-index:41;right:18px;bottom:88px;width:380px;max-height:min(560px,72vh);display:flex;flex-direction:column;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:0 18px 50px rgba(0,0,0,.45);animation:ss-fade-up .2s var(--ease-tech) both;overflow:hidden}.chat-dock-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--border-subtle)}.chat-title{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--text-bright);letter-spacing:.05em}.chat-icon-btn{background:none;border:0;color:var(--text-muted);cursor:pointer;padding:4px;display:grid;place-items:center;border-radius:var(--radius-xs)}.chat-icon-btn:hover{color:var(--text-bright);background:var(--surface-3)}.chat-scroll{flex:1 1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--surface-sunken)}.chat-row{display:flex}.chat-row.right{justify-content:flex-end}.chat-bubble{position:relative;max-width:86%;padding:8px 11px;border-radius:var(--radius-sm);font-size:12.5px;line-height:1.55;color:var(--text-normal);background:var(--surface-1);border:1px solid var(--border-default)}.chat-row.right .chat-bubble{background:var(--accent-dim);border-color:var(--status-active-border);color:var(--text-bright)}.chat-bubble.error{border-color:var(--status-error-border);background:var(--status-error-bg);color:var(--status-error)}.chat-inline-code{font-family:var(--font-mono);font-size:11.5px;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:2px;padding:0 4px;color:var(--text-accent)}.chat-copy{position:absolute;top:5px;right:5px;background:none;border:0;color:var(--text-faint);cursor:pointer;padding:3px;opacity:0;transition:opacity var(--duration-fast)}.chat-bubble:hover .chat-copy{opacity:1}.chat-copy:hover{color:var(--accent-primary)}.chat-bubble.typing{display:inline-flex;gap:5px;padding:11px 13px}.chat-bubble.typing span{width:6px;height:6px;border-radius:50%;background:var(--accent-primary);animation:chat-typing 1s ease-in-out infinite}.chat-bubble.typing span:nth-child(2){animation-delay:.15s}.chat-bubble.typing span:nth-child(3){animation-delay:.3s}@keyframes chat-typing{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.chat-chips{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 10px;background:var(--surface-sunken)}.chat-chip{background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-muted);font-family:var(--font-mono);font-size:10.5px;padding:4px 8px;border-radius:10px;cursor:pointer;transition:all var(--duration-fast) var(--ease-tech)}.chat-chip:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.chat-input-row{display:flex;gap:6px;padding:10px 12px;background:var(--surface-1)}.chat-foot,.chat-input-row{border-top:1px solid var(--border-subtle)}.chat-foot{padding:5px 12px;font-family:var(--font-mono);font-size:9.5px;color:var(--text-faint);background:var(--surface-0)}main>*{animation:ss-fade-up .25s var(--ease-tech) both}@keyframes ss-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.entity-bar-toggle,.entity-chip,.tech-btn,nav button{transition:all var(--duration-fast) var(--ease-tech)}.entity-chip:hover{border-color:var(--accent-primary);color:var(--text-bright);transform:translateY(-1px)}nav button:hover{color:var(--text-bright);background:var(--accent-muted)}.tech-btn:focus-visible,.tech-input:focus-visible,nav button:focus-visible,select:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.shadowscan-toast{animation:ss-toast-in .25s var(--ease-tech) both}@keyframes ss-toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.onboarding-card{animation:ss-fade-up .35s var(--ease-tech) both}.onboarding-card:nth-child(2){animation-delay:.08s}.onboarding-card:nth-child(3){animation-delay:.16s}.tech-input{transition:border-color var(--duration-fast) var(--ease-tech),box-shadow var(--duration-fast) var(--ease-tech)}.tech-input:focus{box-shadow:0 0 0 3px var(--accent-muted)}