:root{--magenta: #D94E8A;--coral: #D94E8A;--orange: #E8875A;--teal: #2ED8C8;--pink: #FF69B4;--red: #D94E8A;--c-growth: #D94E8A;--c-trend: #E8875A;--c-hook: #FF69B4;--c-strategy: #2ED8C8;--gradient: linear-gradient(135deg, #2ED8C8 0%, #D94E8A 50%, #E8875A 100%);--gradient-h: linear-gradient(90deg, #2ED8C8 0%, #D94E8A 50%, #E8875A 100%);--gradient-2: linear-gradient(135deg, #2ED8C8, #D94E8A);--magic-conic: conic-gradient(from 180deg at 50% 50%, #2ED8C8 0deg, #D94E8A 110deg, #E8875A 210deg, #D94E8A 280deg, #2ED8C8 360deg);--bg: #0d1028;--surface: #131630;--surface2: #191c3c;--surface3: #212447;--glass: rgba(19, 22, 48, .8);--glass-sm: rgba(19, 22, 48, .65);--border: rgba(255, 255, 255, .09);--border2: rgba(255, 255, 255, .15);--sep: rgba(255, 255, 255, .06);--text: #e8e8f2;--muted: #6b6b8a;--muted2: #9999bb;--sidebar-w: 20%;--chat-w: 35%}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}#root{display:flex;flex-direction:column;min-height:100vh}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.shell{flex:1;display:flex;overflow:hidden}.app-route-loading{min-height:100vh;background:#04050d}.app-error-boundary{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,rgba(46,216,200,.14),transparent 34%),radial-gradient(circle at 80% 0%,rgba(217,78,138,.16),transparent 30%),var(--bg)}.app-error-panel{width:min(520px,100%);border:1px solid var(--border2);border-radius:8px;background:#131630eb;padding:24px;box-shadow:0 24px 72px #0000005c}.app-error-kicker{color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.app-error-panel h1{font-size:24px;line-height:1.2;margin-bottom:10px}.app-error-panel p{color:var(--muted2);line-height:1.6}.app-error-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.app-error-actions button{height:38px;border:1px solid var(--border2);border-radius:8px;background:#ffffff14;color:var(--text);font-weight:750;padding:0 14px;cursor:pointer}.app-error-actions button:first-child{border-color:#2ed8c880;background:#2ed8c821}.app-error-details{max-height:220px;overflow:auto;margin-top:18px;border:1px solid var(--border);border-radius:8px;padding:12px;color:#ffb4d0;background:#00000038;white-space:pre-wrap}.void-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:#04050d;overflow:hidden;contain:strict}.void-nebula{position:absolute;width:75vmax;height:75vmax;border-radius:50%;background:radial-gradient(circle at center,var(--tint, #5b6bb0) 0%,transparent 62%);will-change:transform;transition:background 1.2s ease}.void-nebula-a{top:-28vmax;left:-18vmax;opacity:.11;animation:nebDriftA 66s ease-in-out infinite alternate}.void-nebula-b{bottom:-32vmax;right:-20vmax;opacity:.085;animation:nebDriftB 84s ease-in-out infinite alternate}.void-nebula-c{top:28%;left:34%;opacity:.06;animation:nebDriftC 104s ease-in-out infinite alternate}@keyframes nebDriftA{0%{transform:translateZ(0)}to{transform:translate3d(7vw,5vh,0)}}@keyframes nebDriftB{0%{transform:translateZ(0)}to{transform:translate3d(-6vw,-4vh,0)}}@keyframes nebDriftC{0%{transform:translate3d(-3vw,2vh,0)}to{transform:translate3d(4vw,-5vh,0)}}.frost{background:linear-gradient(180deg,#a5afeb26,#7882c812);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid rgba(255,255,255,.2);border-radius:16px;box-shadow:0 10px 32px #00000059,inset 0 1px #ffffff1f}.frost-strong{background:linear-gradient(180deg,#a5afeb33,#7882c81a);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid rgba(255,255,255,.28);border-radius:16px;box-shadow:0 12px 40px #00000080,inset 0 1px #fff3}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}@keyframes dotPulse{0%,to{box-shadow:0 0 6px var(--magenta)}50%{box-shadow:0 0 14px var(--magenta),0 0 24px #e83a7d66}}@keyframes typingBounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}@keyframes segIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes wavebar{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
