:root{--bg: #1a1b1e;--panel: #232529;--border: #2f3239;--text: #d8dade;--muted: #8a8f99;--accent: #6aa9ff;--error: #ff6a6a;--warn: #f5c451;--ok: #7cd17c;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text)}#app{display:grid;grid-template-rows:36px 1fr 24px}header{display:flex;align-items:center;gap:12px;padding:0 12px;background:var(--panel);border-bottom:1px solid var(--border);font-size:13px}header .brand{font-weight:600;letter-spacing:.02em;color:var(--text);text-decoration:none}header .brand:hover{color:var(--accent)}header .brand .mark{background:linear-gradient(135deg,#ffb454,#ff8a3d);-webkit-background-clip:text;background-clip:text;color:transparent}header .docs-link{color:var(--muted);text-decoration:none;font-size:12px}header .docs-link:hover{color:var(--accent)}header .spacer{flex:1}header select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:12px}.status{font-size:12px;padding:2px 8px;border-radius:4px}.status.idle{color:var(--muted)}.status.compiling{color:var(--warn)}.status.ok{color:var(--ok)}.status.error{color:var(--error)}main{display:grid;grid-template-columns:minmax(280px,1fr) 1.2fr;min-height:0}#editor,#viewer{min-height:0;min-width:0;position:relative;overflow:hidden}#editor{border-right:1px solid var(--border)}#editor .cm-editor{height:100%;font-size:13px}#editor .cm-scroller{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}#viewer canvas{display:block;width:100%;height:100%}footer{background:var(--panel);border-top:1px solid var(--border);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;padding:4px 12px;color:var(--muted);white-space:nowrap;overflow-x:auto}footer .diag{margin-right:16px}footer .diag.error{color:var(--error)}footer .diag.warning{color:var(--warn)}
