.chat-markdown{font:var(--type-body);color:var(--text-secondary)}.chat-markdown p{margin:0 0 10px}.chat-markdown p:last-child{margin-bottom:0}.chat-markdown strong{color:var(--text-primary)}.chat-markdown .message-header{font:var(--weight-semibold) var(--text-md)/1.35 var(--font-sans);color:var(--text-primary);margin:14px 0 8px}.chat-markdown h3.message-header:first-child,.chat-markdown h4.message-header:first-child{margin-top:0}.chat-markdown .message-divider{border:none;border-top:1px solid var(--hairline);margin:12px 0}.chat-markdown pre{background:var(--space-950);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:12px;overflow-x:auto;font:var(--type-mono)}.chat-markdown .inline-code{background:var(--space-950);border:1px solid var(--hairline);border-radius:3px;padding:1px 5px;font:var(--type-mono);font-size:13px;color:var(--data)}.chat-markdown blockquote{border-left:2px solid var(--signal-blue);margin:8px 0;padding:2px 0 2px 12px;color:var(--text-muted)}.chat-markdown .message-list{margin:6px 0 10px;padding-left:22px}.chat-markdown .message-list li{margin-bottom:4px}.chat-markdown .message-table{border-collapse:collapse;margin:10px 0;font:var(--type-body-sm)}.chat-markdown .message-table td{border:1px solid var(--hairline);padding:6px 10px}.chat-markdown em.chat-suggestion{font-style:normal;cursor:pointer;display:inline-block;padding:2px 9px;border-radius:var(--radius-pill);background:#3f7bf51f;border:1px solid rgba(63,123,245,.45);color:var(--text-primary);font-family:var(--font-mono);font-size:12px;line-height:1.5;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.chat-markdown em.chat-suggestion:hover{background:#3f7bf538;border-color:var(--link)}.chat-markdown em.chat-suggestion:before{content:"↵";margin-right:6px;opacity:.6}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexMono-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexMono-600.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexSans-400-italic.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexSans-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexSans-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexSans-600.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/IBMPlexSans-700.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/SpaceGrotesk-400.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/SpaceGrotesk-500.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/SpaceGrotesk-600.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/SpaceGrotesk-700.woff2) format("woff2")}:root{--space-black: #05070C;--space-950: #07090F;--space-900: #0B0E16;--space-850: #0F131D;--space-800: #131826;--space-700: #1A2030;--space-600: #232A3D;--space-500: #333C53;--hairline: #232A3B;--redline-700: #A8231A;--redline-600: #C62A1E;--redline-500: #E5392E;--redline-400: #FF5247;--redline-300: #FF8278;--redline-glow: rgba(229, 57, 46, .32);--signal-cyan: #36C6E0;--signal-blue: #3F7BF5;--signal-violet: #8C7BFF;--status-go: #3FBF7F;--status-warn: #E8A93B;--status-fault: #E5392E;--status-idle: #5A6273;--ink-000: #FFFFFF;--ink-100: #F4F6FB;--ink-300: #C2C9D6;--ink-500: #8A93A6;--ink-700: #5A6273;--paper: #FFFFFF;--paper-50: #F5F6F8;--paper-100:#ECEFF3;--paper-line:#DCE0E7;--ink-on-light: #0B0E16;--ink-on-light-soft:#444C5C;--bg-app: var(--space-900);--bg-backdrop: var(--space-950);--surface-panel: var(--space-800);--surface-card: var(--space-700);--surface-raised: var(--space-600);--border-subtle: var(--hairline);--border-strong: var(--space-500);--text-primary: var(--ink-100);--text-secondary: var(--ink-300);--text-muted: var(--ink-500);--text-disabled: var(--ink-700);--accent: var(--redline-500);--accent-hover: var(--redline-400);--accent-press: var(--redline-600);--accent-on: #FFFFFF;--focus-ring: var(--redline-400);--data: var(--signal-cyan);--link: var(--signal-blue)}:root{--font-display: "Space Grotesk", system-ui, -apple-system, sans-serif;--font-sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-md: 18px;--text-lg: 22px;--text-xl: 28px;--text-2xl: 36px;--text-3xl: 46px;--text-4xl: 60px;--text-5xl: 78px;--weight-regular: 400;--weight-medium: 500;--weight-semibold:600;--weight-bold: 700;--leading-tight: 1.05;--leading-snug: 1.2;--leading-normal: 1.5;--leading-relaxed:1.65;--tracking-display: -.02em;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-label: .14em;--tracking-mono: .01em;--type-display: var(--weight-medium) var(--text-4xl)/var(--leading-tight) var(--font-display);--type-h1: var(--weight-medium) var(--text-3xl)/var(--leading-snug) var(--font-display);--type-h2: var(--weight-medium) var(--text-2xl)/var(--leading-snug) var(--font-display);--type-h3: var(--weight-semibold) var(--text-lg)/var(--leading-snug) var(--font-display);--type-body: var(--weight-regular) var(--text-base)/var(--leading-relaxed) var(--font-sans);--type-body-sm: var(--weight-regular) var(--text-sm)/var(--leading-normal) var(--font-sans);--type-mono: var(--weight-regular) var(--text-sm)/var(--leading-normal) var(--font-mono)}:root{--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-xs: 3px;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--radius-card: var(--radius-lg);--border-hair: 1px;--border-thick:2px;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow-card: 0 8px 28px -12px rgba(0,0,0,.7);--shadow-pop: 0 18px 48px -16px rgba(0,0,0,.8);--glow-accent: 0 0 0 1px var(--redline-glow), 0 6px 22px -6px var(--redline-glow);--shadow-paper: 0 1px 2px rgba(11,14,22,.06), 0 12px 32px -16px rgba(11,14,22,.18);--dur-fast: .12s;--dur: .2s;--dur-slow: .36s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--maxw-content: 1200px;--maxw-prose: 68ch}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none}a:hover{color:var(--redline-400)}::selection{background:#e5392e4d}.psai-scroll{scrollbar-width:thin;scrollbar-color:var(--space-600) transparent}.psai-scroll::-webkit-scrollbar{width:9px;height:9px}.psai-scroll::-webkit-scrollbar-thumb{background:var(--space-600);border-radius:6px}input,textarea,button,select{font-family:inherit}@keyframes psaiToast{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes psaiFade{0%{opacity:0}to{opacity:1}}@keyframes psai-ping{0%{transform:scale(1);opacity:.7}80%,to{transform:scale(2.4);opacity:0}}@keyframes psaiTyping{0%,60%,to{opacity:.25}30%{opacity:1}}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}.psai-navbtn:focus-visible{outline-offset:-4px}
