@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&family=Geist:wght@300;400;500;600;700&display=swap");:root{--bg:#fafaf7;--fg:#0b0b0c;--fg-2:#3a3a3c;--fg-3:#6e6e73;--line:#1111110d;--line-strong:#11111122;--accent-1:#6fd5d0;--accent-2:#0e3f55;--green:#22c55e;--amber:#f59e0b;--red:#ef4444;--radius:2px;--mono:"JetBrains Mono",ui-monospace,monospace;--sans:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:"Instrument Serif","Times New Roman",serif}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow:hidden}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.4}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");mix-blend-mode:multiply;opacity:.5}::selection{background:var(--accent-1);color:var(--accent-2)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:2px}.mono{font-size:11px;letter-spacing:.08em}.kicker,.mono{font-family:var(--mono);text-transform:uppercase}.kicker{font-size:10px;letter-spacing:.12em;color:var(--fg-3)}.grad{background:linear-gradient(92deg,var(--accent-1),var(--accent-2) 70%);-webkit-background-clip:text;background-clip:text;color:transparent}.dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;display:inline-block}.dot-green{background:var(--green);animation:pulse 2s ease-in-out infinite}.dot-amber{background:var(--amber)}.dot-red{background:var(--red)}.dot-grey{background:var(--fg-3)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.typing-dot{width:5px;height:5px;border-radius:50%;background:var(--fg-3);animation:typing 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3}30%{opacity:1}}.exec-ok{color:#22c55e}.exec-info{color:#6fd5d0}.exec-warn{color:#f59e0b}.exec-err{color:#ef4444}