.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);font:var(--type-mono);padding:12px;overflow-x:auto}.chat-markdown .inline-code{background:var(--space-950);border:1px solid var(--hairline);font:var(--type-mono);color:var(--data);border-radius:3px;padding:1px 5px;font-size:13px}.chat-markdown blockquote{border-left:2px solid var(--signal-blue);color:var(--text-muted);margin:8px 0;padding:2px 0 2px 12px}.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;font:var(--type-body-sm);margin:10px 0}.chat-markdown .message-table td{border:1px solid var(--hairline);padding:6px 10px}.chat-markdown em.chat-suggestion{cursor:pointer;border-radius:var(--radius-pill);color:var(--text-primary);font-style:normal;font-family:var(--font-mono);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:#3f7bf51f;border:1px solid #3f7bf573;padding:2px 9px;font-size:12px;line-height:1.5;display:inline-block}.chat-markdown em.chat-suggestion:hover{border-color:var(--link);background:#3f7bf538}.chat-markdown em.chat-suggestion:before{content:"↵";opacity:.6;margin-right:6px}@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:#e5392e52;--signal-cyan:#36c6e0;--signal-blue:#3f7bf5;--signal-violet:#8c7bff;--status-go:#3fbf7f;--status-warn:#e8a93b;--status-fault:#e5392e;--status-idle:#5a6273;--ink-000:#fff;--ink-100:#f4f6fb;--ink-300:#c2c9d6;--ink-500:#8a93a6;--ink-700:#5a6273;--paper:#fff;--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:#fff;--focus-ring:var(--redline-400);--data:var(--signal-cyan);--link:var(--signal-blue);--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);--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 #0006;--shadow-card:0 8px 28px -12px #000000b3;--shadow-pop:0 18px 48px -16px #000c;--glow-accent:0 0 0 1px var(--redline-glow), 0 6px 22px -6px var(--redline-glow);--shadow-paper:0 1px 2px #0b0e160f, 0 12px 32px -16px #0b0e162e;--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{height:100%;margin:0}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%{opacity:.7;transform:scale(1)}80%,to{opacity:0;transform:scale(2.4)}}@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}
