*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font:"IBM Plex Mono", monospace;--bg:#fff;--surface:#fafafa;--surface2:#f5f5f5;--border:#e8e8e8;--border2:#d0d0d0;--text:#000;--text-muted:#666;--text-dim:#aaa;--text-faint:#ddd;--input-bg:#fff;--accent:#000}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;min-height:100vh}h1,h2,h3{font-family:var(--font);color:#000;font-weight:600}input,textarea{background:var(--input-bg);width:100%;color:var(--text);font-family:var(--font);border:1px solid #e0e0e0;border-radius:0;outline:none;padding:10px 12px;font-size:13px;transition:border-color .15s}input:focus,textarea:focus{border-color:#000}input::placeholder,textarea::placeholder{color:var(--text-dim)}textarea{resize:vertical;line-height:1.6}button{cursor:pointer;font-family:var(--font)}@keyframes blink{50%{opacity:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes barGrow{0%{width:0}}.cursor{vertical-align:text-bottom;background:#000;width:2px;height:14px;animation:.9s step-end infinite blink;display:inline-block}
