:root{font-family:Segoe UI,system-ui,sans-serif;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}a{color:inherit;text-decoration:none}body{margin:0;min-height:100vh;background:var(--page-bg);color:var(--text-primary)}button,input,textarea{font:inherit}#root{min-height:100vh}:root{--bg-dark: #000000;--panel-bg: rgba(0, 0, 0, .92);--panel-border: rgba(255, 255, 255, .1);--accent-primary: #38bdf8;--accent-secondary: #a855f7;--accent-green: #4ade80;--text-primary: #ffffff;--text-muted: #b8c4d0;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Courier New", monospace;--glow-cyan: 0 0 20px rgba(56, 189, 248, .4), 0 0 60px rgba(56, 189, 248, .1);--glow-purple: 0 0 20px rgba(168, 85, 247, .4), 0 0 60px rgba(168, 85, 247, .1);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1)}body{background-color:#000;color:var(--text-primary);font-family:var(--font-sans);font-weight:400;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#starfield-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.nebula-layer{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:hidden}.nebula-layer:before,.nebula-layer:after{content:"";position:absolute;border-radius:50%;filter:blur(120px);opacity:.12;mix-blend-mode:screen}.nebula-layer:before{width:700px;height:700px;background:radial-gradient(circle,#38bdf8 0%,transparent 70%);top:-15%;left:-10%;animation:nebulaFloat1 28s ease-in-out infinite}.nebula-layer:after{width:600px;height:600px;background:radial-gradient(circle,#a855f7 0%,transparent 70%);bottom:-20%;right:-10%;animation:nebulaFloat2 32s ease-in-out infinite}@keyframes nebulaFloat1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(120px,80px) scale(1.15)}66%{transform:translate(-60px,40px) scale(.9)}}@keyframes nebulaFloat2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-100px,-60px) scale(1.1)}66%{transform:translate(80px,-30px) scale(.85)}}.crt-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.025) 2px,rgba(0,0,0,.025) 4px);animation:scanlines 10s linear infinite}.crt-vignette{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.55) 100%)}@keyframes scanlines{0%{background-position:0 0}to{background-position:0 120px}}.glass-panel{background:var(--panel-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--panel-border);border-radius:var(--radius-md);box-shadow:0 8px 32px #000c,inset 0 1px #ffffff12;transition:border-color .4s var(--ease-smooth),box-shadow .4s var(--ease-smooth)}.glass-panel:hover{border-color:#ffffff38;box-shadow:0 8px 32px #000c,0 0 20px #ffffff0a,inset 0 1px #ffffff17}.glass-header{flex-shrink:0;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;z-index:50;background:#000;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 0 48px #000c,0 1px #ffffff14;text-transform:uppercase;letter-spacing:.1em}.glass-header:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,transparent 25%,rgba(255,255,255,.7) 45%,rgba(255,255,255,.5) 55%,transparent 75%,transparent 100%);background-size:300% 100%;animation:beamSweep 4s ease-in-out infinite}@keyframes beamSweep{0%{background-position:100% 0}to{background-position:-100% 0}}.app-container{position:relative;width:100vw;height:100vh;display:flex;flex-direction:column;z-index:1}.main-area{flex:1;position:relative;overflow:hidden;min-height:0}.graph-viewport{position:absolute;inset:0;z-index:1}.hud-top-right{position:absolute;top:80px;right:20px;z-index:10;display:flex;flex-direction:column;gap:1rem;width:280px}.ratio-insights-bar{flex-shrink:0;display:flex;align-items:center;padding:0 1.5rem;height:44px;background:#000000d1;border-top:1px solid rgba(255,255,255,.04);gap:1.5rem;z-index:10;overflow:hidden}.player-bar{flex-shrink:0;display:flex;align-items:center;gap:1rem;padding:0 1.5rem 28px;height:80px;background:#000000eb;border-top:1px solid rgba(56,189,248,.08);z-index:10}.player-bar:hover{background:#000000f5}.hud-panel-animated{position:relative;border:none!important;background:var(--panel-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-md);overflow:hidden}.hud-panel-animated:before{content:"";position:absolute;inset:0;border-radius:var(--radius-md);padding:1px;background:conic-gradient(from var(--border-angle, 0deg),transparent 20%,rgba(255,255,255,.35) 35%,rgba(255,255,255,.6) 50%,rgba(255,255,255,.35) 65%,transparent 80%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:borderRotate 6s linear infinite;pointer-events:none;z-index:1}@keyframes borderRotate{to{--border-angle: 360deg}}@property --border-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.hud-panel-animated:after{content:"";position:absolute;inset:0;border-radius:var(--radius-md);box-shadow:0 8px 32px #000000b3,inset 0 1px #ffffff0a;pointer-events:none}.menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.6rem .75rem;background:transparent;border:none;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:var(--radius-sm);font-size:.85rem;transition:background .2s,color .2s,transform .15s;position:relative;overflow:hidden}.menu-item:after{content:"";position:absolute;bottom:0;left:.75rem;right:.75rem;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:scaleX(0);transition:transform .3s var(--ease-smooth)}.menu-item:hover{background:#ffffff12;color:#fff}.menu-item:hover:after{transform:scaleX(1)}.menu-item:active{transform:scale(.97)}.menu-btn{width:100%;padding:.65rem 1rem;background:#ffffff12;border:1px solid rgba(255,255,255,.2);color:#fff;font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.1em;cursor:pointer;border-radius:var(--radius-sm);text-transform:uppercase;transition:all .25s var(--ease-smooth)}.menu-btn:hover:not(:disabled){background:#ffffff21;box-shadow:0 0 16px #ffffff1a;transform:translateY(-1px)}.menu-btn:active:not(:disabled){transform:translateY(0) scale(.97)}.menu-btn:disabled{opacity:.35;cursor:not-allowed}.app-title{font-weight:700;font-size:1.05rem;letter-spacing:.05em;color:#fff;text-shadow:0 0 12px rgba(255,255,255,.25)}@keyframes titleGlow{0%,to{filter:brightness(1)}50%{filter:brightness(1.1)}}.view-toggle{display:flex;background:#000000b3;padding:3px;border-radius:8px;border:1px solid rgba(255,255,255,.12);gap:2px}.view-pill{flex:1;background:transparent;border:none;color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem;font-weight:600;padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:all .3s var(--ease-smooth);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;position:relative}.view-pill:hover{color:var(--text-primary);background:#38bdf80f}.view-pill.active{background:#ffffff1f;color:#fff;box-shadow:inset 0 0 8px #ffffff14;text-shadow:0 0 8px rgba(255,255,255,.4)}.icon-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:8px;border-radius:var(--radius-sm);transition:all .2s var(--ease-smooth);line-height:1}.icon-btn:hover{background:#ffffff0f;color:var(--text-primary);transform:scale(1.05)}.icon-btn:active{transform:scale(.93)}.icon-btn.active{color:#fff;text-shadow:0 0 8px rgba(255,255,255,.5)}.status-badge{font-size:.75rem;font-family:var(--font-mono);padding:3px 12px;border-radius:var(--radius-pill);background:#ffffff0d;color:#ffffffb3;border:1px solid rgba(255,255,255,.14);letter-spacing:.05em;transition:all .4s var(--ease-smooth)}.status-badge.processing{color:#fff;border-color:#ffffff47;background:#ffffff14;animation:pulseBadge 1.5s ease-in-out infinite}@keyframes pulseBadge{0%,to{box-shadow:none}50%{box-shadow:0 0 12px #fff3}}input[type=range]{width:100%;accent-color:var(--accent-primary);height:4px;border-radius:2px;background:#ffffff0f;cursor:pointer;transition:box-shadow .3s}input[type=range]:hover{box-shadow:0 0 8px #38bdf826}input[type=range]::-webkit-slider-thumb{box-shadow:0 0 10px #38bdf899,0 0 20px #38bdf833;transition:box-shadow .3s}input[type=range]:active::-webkit-slider-thumb{box-shadow:0 0 16px #38bdf8cc,0 0 32px #38bdf84d}.menu-section{padding:.6rem .75rem;border-bottom:1px solid rgba(255,255,255,.03);display:flex;flex-direction:column;gap:.4rem}.menu-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;font-family:var(--font-mono)}.menu-select{background:#00000080;border:1px solid rgba(255,255,255,.15);color:#fff;padding:.4rem .5rem;font-family:var(--font-mono);font-size:.72rem;width:100%;outline:none;border-radius:var(--radius-sm);transition:border-color .3s,box-shadow .3s}.menu-select:focus{border-color:#ffffff59;box-shadow:0 0 8px #ffffff12}.menu-select option{background:#020817}.modal-overlay{position:fixed;inset:0;background:#000000d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:modalFadeIn .3s var(--ease-smooth)}.modal-content{width:90%;max-width:800px;max-height:82vh;overflow-y:auto;padding:2rem;animation:modalScaleIn .35s var(--ease-spring);position:relative}.modal-content:before{content:"";position:absolute;inset:-2px;border-radius:calc(var(--radius-md) + 2px);background:linear-gradient(135deg,rgba(56,189,248,.2),rgba(168,85,247,.15),transparent);z-index:-1;filter:blur(12px);opacity:.6}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1.5rem}.scenario-card{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.6rem;cursor:pointer;border:1px solid rgba(56,189,248,.12);background:#060b198c;border-radius:var(--radius-md);transition:all .35s var(--ease-spring);position:relative;overflow:hidden}.scenario-card:before{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(105deg,transparent 35%,rgba(56,189,248,.08) 45%,rgba(168,85,247,.06) 50%,rgba(56,189,248,.08) 55%,transparent 65%);transition:left .6s var(--ease-smooth);pointer-events:none}.scenario-card:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#38bdf8,#a855f7);opacity:0;transition:opacity .3s}.scenario-card:hover{background:#38bdf80d;border-color:#38bdf873;transform:translateY(-4px) scale(1.01);box-shadow:0 12px 40px #00000080,0 0 30px #38bdf814}.scenario-card:hover:before{left:140%}.scenario-card:hover:after{opacity:1}.scenario-card:active{transform:translateY(-2px) scale(.99)}.scenario-title{color:#e2e8f0;font-weight:700;font-size:.95rem;letter-spacing:.03em}.scenario-desc{font-size:.8rem;color:var(--text-muted);line-height:1.5}.scenario-tag{align-self:flex-start;font-size:.62rem;padding:2px 10px;background:#38bdf814;border:1px solid rgba(56,189,248,.2);border-radius:3px;color:#38bdf8;font-family:var(--font-mono);letter-spacing:.08em}.scenario-card.full-arc{border-color:#22c55e33}.scenario-card.full-arc:after{background:linear-gradient(90deg,#22c55e,#38bdf8)}.scenario-card.full-arc:hover{border-color:#22c55e80;box-shadow:0 12px 40px #00000080,0 0 30px #22c55e14}.scenario-card.full-arc .scenario-tag{background:#22c55e14;border-color:#22c55e40;color:#22c55e}.scenario-card.full-arc .scenario-title{color:#86efac}.scenario-card.safety-arc{border-color:#f59e0b33}.scenario-card.safety-arc:after{background:linear-gradient(90deg,#f59e0b,#ef4444)}.scenario-card.safety-arc:hover{border-color:#f59e0b80;box-shadow:0 12px 40px #00000080,0 0 30px #f59e0b14}.scenario-card.safety-arc .scenario-tag{background:#f59e0b14;border-color:#f59e0b40;color:#f59e0b}.scenario-card.safety-arc .scenario-title{color:#fcd34d}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;height:100%;padding:2rem;text-align:center;animation:modalFadeIn .8s ease}.empty-state-icon{width:80px;height:80px;border-radius:50%;border:2px solid rgba(56,189,248,.25);display:flex;align-items:center;justify-content:center;position:relative;animation:rotateBorder 10s linear infinite}.empty-state-icon:before{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px dashed rgba(56,189,248,.15);animation:rotateBorder 14s linear infinite reverse}@keyframes rotateBorder{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state-title{font-size:1rem;font-weight:600;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.06em}.empty-state-hint{font-size:.75rem;color:#94a3b88c;max-width:200px;line-height:1.55}.quick-start-btn{padding:.65rem 1.4rem;background:#38bdf81a;border:1px solid rgba(56,189,248,.3);color:#38bdf8;font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.08em;cursor:pointer;border-radius:var(--radius-sm);text-transform:uppercase;transition:all .3s var(--ease-spring)}.quick-start-btn:hover{background:#38bdf82e;box-shadow:0 0 24px #38bdf833;transform:translateY(-2px)}.quick-start-btn:active{transform:translateY(0) scale(.97)}.selected-node-banner{padding:.4rem .75rem;background:#38bdf81a;border-top:1px solid rgba(56,189,248,.18);display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:.68rem;color:#38bdf8;animation:modalFadeIn .2s ease;flex-shrink:0}.highlight-message{background:#38bdf80f!important;border-color:#38bdf859!important;box-shadow:0 0 20px #38bdf81f;transition:all .4s var(--ease-smooth)}.playback-btn{width:34px;height:34px;border-radius:50%;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);color:#38bdf8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s var(--ease-smooth);flex-shrink:0}.playback-btn:hover{background:#38bdf838;box-shadow:0 0 16px #38bdf84d;transform:scale(1.08)}.playback-btn:active{transform:scale(.93)}.playback-btn.playing{background:#38bdf82e;box-shadow:0 0 20px #38bdf866;animation:pulsePlay 1.8s ease-in-out infinite}@keyframes pulsePlay{0%,to{box-shadow:0 0 12px #38bdf84d}50%{box-shadow:0 0 28px #38bdf899}}.turn-label{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);letter-spacing:.08em;white-space:nowrap;-webkit-user-select:none;user-select:none}.turn-count{color:#38bdf8;font-weight:700}.export-btn{display:flex;align-items:center;gap:.5rem;padding:.4rem .8rem;background:#a855f714;border:1px solid rgba(168,85,247,.25);color:#a855f7;font-family:var(--font-mono);font-size:.65rem;font-weight:600;letter-spacing:.08em;cursor:pointer;border-radius:var(--radius-sm);text-transform:uppercase;transition:all .25s var(--ease-smooth)}.export-btn:hover{background:#a855f729;box-shadow:0 0 20px #a855f733;transform:translateY(-1px)}.export-btn:active{transform:translateY(0) scale(.97)}.kbd{display:inline-flex;align-items:center;justify-content:center;padding:1px 6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:4px;font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#38bdf826;border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:#38bdf859}.identity-token{padding:.2rem .5rem;font-size:.72rem;background:#00000040;border:1px solid rgba(255,255,255,.08);border-radius:4px;display:flex;align-items:center;gap:.3rem;color:#fff;transition:all .25s var(--ease-smooth)}.identity-token:hover{border-color:#38bdf873;box-shadow:0 0 10px #38bdf833;transform:translateY(-1px)}.influence-highlight{color:#38bdf8;font-weight:700;text-shadow:0 0 8px rgba(56,189,248,.5);border-bottom:1px solid rgba(56,189,248,.35);cursor:default;transition:all .3s}.influence-highlight:hover{text-shadow:0 0 14px rgba(56,189,248,.9);color:#7dd3fc}.neural-spinner{width:20px;height:20px;border:2px solid rgba(56,189,248,.15);border-top-color:#38bdf8;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes msgSlideIn{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-message{animation:msgSlideIn .35s var(--ease-spring) both}.chat-message-active{position:relative}.chat-message-active:before{content:"";position:absolute;left:-6px;top:0;bottom:0;width:3px;border-radius:2px;background:linear-gradient(180deg,#38bdf8,#a855f7);animation:accentPulse 2s ease-in-out infinite}@keyframes accentPulse{0%,to{opacity:.6;box-shadow:0 0 4px #38bdf84d}50%{opacity:1;box-shadow:0 0 10px #38bdf899}}.glass-input{width:100%;background:#0000004d;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);color:#fff;padding:.5rem;font-family:var(--font-mono);font-size:.75rem;outline:none;transition:border-color .3s,box-shadow .3s;resize:vertical}.glass-input:focus{border-color:#38bdf873;box-shadow:0 0 0 3px #38bdf814,0 0 12px #38bdf81a}.strength-bar-track{height:4px;background:#ffffff0a;border-radius:2px;overflow:hidden;position:relative}.strength-bar-fill{height:100%;border-radius:2px;transition:width .6s var(--ease-smooth);position:relative}.strength-bar-fill:after{content:"";position:absolute;top:0;left:-50%;bottom:0;width:50%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);animation:shimmerBar 2.5s ease-in-out infinite}@keyframes shimmerBar{0%{left:-50%}to{left:150%}}.error-toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#fca5a5;padding:.65rem 1.25rem;border-radius:var(--radius-md);font-family:var(--font-mono);font-size:.75rem;z-index:200;display:flex;align-items:center;gap:.75rem;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:toastSlideIn .35s var(--ease-spring)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.app-container.light{--text-primary: #0f172a;--text-muted: #475569;--panel-bg: rgba(255, 255, 255, .95);--panel-border: rgba(0, 0, 0, .1);background:#f1f5f9}.app-container.light .glass-header{background:#fff;border-bottom-color:#0000001a;box-shadow:0 1px #00000012,0 2px 12px #0000000d}.app-container.light .glass-header:after{background:linear-gradient(90deg,transparent 0%,transparent 25%,rgba(0,0,0,.18) 45%,rgba(0,0,0,.12) 55%,transparent 75%,transparent 100%);background-size:300% 100%}.app-container.light .app-title{color:#0f172a}.app-container.light .glass-header svg{color:#0f172a}.app-container.light .glass-panel{background:#fffffff5;border-color:#00000017;box-shadow:0 4px 20px #00000014,inset 0 1px #ffffffe6}.app-container.light .glass-panel:hover{border-color:#00000029;box-shadow:0 6px 24px #0000001a}.app-container.light .view-toggle{border-color:#00000024;background:#0000000a}.app-container.light .view-pill{color:#475569}.app-container.light .view-pill.active{background:#0f172a;color:#fff;box-shadow:none}.app-container.light .view-pill:hover:not(.active){background:#00000012;color:#0f172a}.app-container.light .icon-btn{color:#475569;border-color:#00000024}.app-container.light .icon-btn:hover{background:#0000000f;color:#0f172a;border-color:#00000038}.app-container.light .icon-btn.active{background:#0f172a;color:#fff;border-color:#0f172a}.app-container.light .menu-btn{color:#475569;border-color:#0000002e}.app-container.light .status-badge{color:#475569;border-color:#00000024}.app-container.light .hud-panel-animated:before{background:conic-gradient(from var(--angle, 0deg),transparent 20%,rgba(0,0,0,.4) 40%,rgba(0,0,0,.6) 50%,rgba(0,0,0,.4) 60%,transparent 80%)}.app-container.light .player-bar{background:#fffffff5;border-top-color:#0000001a}.app-container.light .modal-overlay{background:#0f172a66}.app-container.light .modal-content{background:#fffffffa;border-color:#0000001a}.app-container.light .kbd{background:#00000012;border-color:#0000002e;color:#475569}.identity-chip{background:#ffffff0f;border:1px solid rgba(255,255,255,.18);color:#fff}.identity-chip-dot{background:#fff6}.app-container.light .identity-token{background:#0000000a;color:#0f172a}.app-container.light .identity-chip{background:#0000000f;border-color:#0000002e;color:#1e293b}.app-container.light .identity-chip-dot{background:#0006}.graph-viewport{background:#060812;color:#fff}
