:root{--bg: #0b1020;--bg-2: #0f1530;--fg: #d8e1ff;--muted: #6b7aa6;--accent: #22d3ee;--ok: #4ade80;--warn: #facc15;--hl: #f472b6;--line: #1f2a4a}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:radial-gradient(ellipse at top,rgba(34,211,238,.08) 0%,transparent 60%),var(--bg);color:var(--fg);line-height:1.55;-webkit-font-smoothing:antialiased;font-size:15px;min-height:100vh}a{color:inherit;text-decoration:none}.back{position:fixed;top:16px;left:16px;z-index:5;font-size:13px;color:var(--muted);background:var(--bg-2);padding:6px 12px;border:1px solid var(--line);border-radius:4px}.back:hover{color:var(--accent);border-color:var(--accent)}.window{max-width:920px;margin:64px auto 24px;background:var(--bg-2);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 32px 64px #0006}.chrome{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#00000059;border-bottom:1px solid var(--line)}.chrome-dot{width:12px;height:12px;border-radius:50%;background:var(--line)}.chrome-dot:nth-child(1){background:#ef4444}.chrome-dot:nth-child(2){background:var(--warn)}.chrome-dot:nth-child(3){background:var(--ok)}.chrome-title{margin-left:12px;font-size:12px;color:var(--muted)}.screen{padding:32px;min-height:60vh}.line{margin:0 0 12px;word-wrap:break-word}.prompt{color:var(--accent);margin-right:8px;font-weight:700}.out{color:var(--muted);margin-bottom:24px;padding-left:20px}.block{padding:16px 20px;margin:0 0 24px 20px;background:#0000004d;border-left:2px solid var(--accent);border-radius:4px;font-size:14px;white-space:pre;overflow-x:auto;line-height:1.7}.comment{color:var(--muted);font-style:italic}.muted{color:var(--muted)}.ok{color:var(--ok)}.hl{color:var(--hl);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.hl:hover{color:var(--accent)}.cursor{display:inline-block;width:9px;height:18px;background:var(--accent);vertical-align:text-bottom;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion: reduce){.cursor{animation:none}}.status{max-width:920px;margin:0 auto 64px;padding:12px 24px;display:flex;flex-wrap:wrap;gap:24px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}.status code{color:var(--fg)}.status code.ok{color:var(--ok)}
