.hl-error{color:#e54545}.hl-key{color:#d4a0e0}.hl-string{color:#c9a07a}.hl-qescape{color:#d88a72}.hl-punct{color:#7a9a6a}.hl-comment{color:#5a4558;font-style:italic}*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#faf3f0;--fg:#8a6e80;--fg-dim:#b0a0a8;--accent:#2e1a2b;--link:#8b4a6b;--surface:#f0e4e8;--border:#ddc8d0;--error:#e54545;--ok:#5a7a52;--editor:#2b1528;--editor-fg:#e4d2dc;--editor-dim:#7a6075;--editor-border:#3e2538;--mono:"DM Mono", monospace;--serif:"Source Serif 4", Georgia, serif;--editor-line-height:1.6;--editor-pad:12px}html{font-size:13px}body{background:var(--bg);color:var(--fg);font-family:var(--serif);line-height:1.5}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--mono);background:var(--surface);border-radius:3px;padding:1px 4px;font-size:.9rem}.wrap{max-width:720px;margin:0 auto;padding:0 20px}header{align-items:baseline;gap:12px;padding:24px 0 16px;display:flex}header h1{color:var(--accent);font-family:var(--mono);font-size:1.6rem;font-weight:500}header small{text-transform:lowercase;font-size:1.1rem}section{border-top:1px solid var(--border);padding:16px 0}section h2{font-family:var(--mono);text-transform:lowercase;letter-spacing:1px;margin-bottom:8px;font-size:1rem}section h3{color:var(--accent);text-transform:lowercase;margin-bottom:2px;font-size:1rem}.demo{background:var(--editor);border-radius:4px;grid-template-columns:1fr 1fr;display:grid}.pane{flex-direction:column;min-width:0;height:700px;display:flex}.pane+.pane{border-left:1px solid var(--editor-border)}.pane-header{padding:6px var(--editor-pad);font-family:var(--mono);text-transform:lowercase;letter-spacing:1px;color:var(--editor-dim);border-bottom:1px solid var(--editor-border);background:#ffffff0a;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.input-wrap{flex:1;min-height:0;position:relative;overflow:hidden}.input-wrap textarea,.input-wrap .hl-layer,.input-wrap .squiggle-layer{padding:var(--editor-pad);font-family:var(--mono);font-size:1rem;line-height:var(--editor-line-height);white-space:pre;tab-size:2;border:none;margin:0;position:absolute;inset:0;overflow:auto}.input-wrap .hl-layer{pointer-events:none;z-index:0;scrollbar-width:none;color:var(--editor-fg)}.input-wrap .hl-layer::-webkit-scrollbar{display:none}.input-wrap .squiggle-layer{color:#0000}.input-wrap textarea{z-index:1;color:#0000;caret-color:var(--editor-fg);resize:none;overscroll-behavior:none;background:0 0;outline:none}.output-pane{padding:var(--editor-pad);font-family:var(--mono);line-height:var(--editor-line-height);color:var(--editor-fg);white-space:pre;flex:1;overflow:auto}.squiggle{-webkit-text-decoration:underline wavy var(--error);text-decoration:underline wavy var(--error);-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-underline-offset:2px}.status-error{color:var(--error)}.status-ok{color:var(--ok)}.features{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;display:grid}.grammar{background:var(--editor);color:var(--editor-fg);padding:var(--editor-pad) 16px;font-family:var(--mono);line-height:var(--editor-line-height);border-radius:4px;overflow-x:auto}.spec-link{font-size:var(--text-lg);margin-top:10px}.libraries{gap:16px;list-style:none;display:flex}@media (width<=640px){.demo{grid-template-columns:1fr}.pane+.pane{border-left:none;border-top:1px solid var(--editor-border)}.features{grid-template-columns:1fr 1fr}}
