:root{--bg: #fafafa;--bg-panel: #ffffff;--bg-titlebar: #2b2b2b;--fg: #1f1f1f;--fg-muted: #6e6e6e;--fg-titlebar: #f5f5f5;--fg-titlebar-muted: #b8b8b8;--border: #e1e1e1;--border-strong: #cdcdcd;--accent: #cc7116;--accent-hover: #b86310;--accent-disabled: #d8b793;--shadow-card: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .06);--titlebar-height: 48px;--radius: 6px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font:14px/1.5 Inter,Helvetica Neue,Open Sans,system-ui,sans-serif;color:var(--fg);background:var(--bg);overflow:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:Source Code Pro,SF Mono,Consolas,Ubuntu Mono,Menlo,monospace;font-size:.9em;background:#0000000d;padding:1px 5px;border-radius:3px}.app-shell{display:flex;flex-direction:column;height:100vh;width:100vw}.main-split{flex:1;min-height:0}.titlebar{display:flex;align-items:center;justify-content:space-between;height:var(--titlebar-height);padding:0 20px;background:var(--bg-titlebar);color:var(--fg-titlebar);border-bottom:1px solid #1a1a1a;flex-shrink:0;gap:16px}.titlebar-left{display:flex;align-items:center;gap:18px;min-width:0}.titlebar-title{margin:0;font-size:16px;font-weight:600;letter-spacing:.01em;white-space:nowrap}.titlebar-title a{color:var(--accent)}.titlebar-title a:hover{text-decoration:none}.titlebar-callout{font-size:13px;color:var(--fg-titlebar);background:#cc71162e;border:1px solid rgba(204,113,22,.5);padding:4px 12px;border-radius:999px;text-decoration:none;white-space:nowrap;transition:background .12s ease,border-color .12s ease}.titlebar-callout:hover{background:#cc711652;border-color:var(--accent);text-decoration:none}.titlebar-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--fg-titlebar-muted);white-space:nowrap}.titlebar-meta code{background:#ffffff14;color:var(--fg-titlebar);font-size:11px}.titlebar-stars{display:inline-flex;align-items:center;margin-bottom:-2px}.titlebar-stars img{display:block}.panel{display:flex;flex-direction:column;background:var(--bg-panel);overflow:hidden;min-height:0;min-width:0}.description-panel,.viz-panel{background:var(--bg-panel)}.description{padding:20px 24px;overflow:auto;flex:1;min-height:0;line-height:1.55}.description h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);margin:24px 0 8px}.description p{margin:8px 0}.description ul{margin:6px 0 14px;padding-left:22px}.description li{margin:3px 0}.description code{font-size:12px}.description p.citation{font-size:12px;margin-left:22px}.editor-panel{background:var(--bg-panel)}.editor-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;row-gap:6px;padding:10px 16px;background:#f6f6f6;border-bottom:1px solid var(--border);flex-shrink:0}.example-picker{display:flex;align-items:center;gap:8px;font-size:13px}.example-picker label{color:var(--fg-muted);font-weight:500}.example-picker select{font:inherit;padding:4px 8px;border:1px solid var(--border-strong);border-radius:4px;background:var(--bg-panel);cursor:pointer;max-width:280px}.example-picker select:hover{border-color:var(--fg-muted)}.cm-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font:inherit;font-weight:500;transition:background .12s ease}.cm-button:hover:not(:disabled){background:var(--accent-hover)}.cm-button:disabled{background:var(--accent-disabled);cursor:not-allowed}.generate-button{margin-left:auto;padding:6px 16px;font-size:13px}.toolbar-icon-button{padding:4px 10px;font-size:16px;line-height:1;background:var(--border);color:var(--fg)}.toolbar-icon-button:hover:not(:disabled){background:var(--border-strong)}.toolbar-icon-button:disabled{background:var(--border);color:var(--fg-muted)}.toolbar-icon-button svg{display:block;width:14px;height:14px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none;background:transparent}.toolbar-icon-button svg *{fill:none}.editor-toolbar .cm-button:not(.generate-button):not(.toolbar-icon-button){padding:4px 10px;font-size:13px}.editor-host{flex:1;min-height:0;overflow:hidden}.cm-editor{height:100%;width:100%;font-size:13px}.cm-editor .cm-scroller{font-family:Source Code Pro,SF Mono,Consolas,Ubuntu Mono,Menlo,monospace}.viz-panel{background:#f1f1f1}.viz-content{flex:1;min-height:0;overflow:auto;padding:20px}.flex-container{display:flex;flex-direction:row;align-items:flex-start;gap:8px}.code_panel,.tl_panel{flex-shrink:0}.resize-handle{position:relative;background:var(--border);transition:background .12s ease}.resize-handle:hover,.resize-handle[data-resize-handle-state=hover],.resize-handle[data-resize-handle-state=drag]{background:var(--accent)}.resize-handle-horizontal{height:4px;cursor:row-resize}.resize-handle-vertical{width:4px;cursor:col-resize}.loading-status{padding:24px;color:var(--fg-muted)}.loading-message{font-size:16px;color:var(--fg);margin:0 0 6px}.loading-note{font-size:13px;margin:0;max-width:60ch}.ellipsis:after{display:inline-block;vertical-align:bottom;overflow:hidden;width:0;content:"...";animation:ellipsis 1.5s steps(4,end) infinite}@keyframes ellipsis{to{width:1.5em}}.titlebar-overflow{display:none;position:relative}.titlebar-overflow>summary{list-style:none;cursor:pointer;padding:4px 10px;border-radius:4px;font-size:18px;line-height:1;color:var(--fg-titlebar);-webkit-user-select:none;user-select:none}.titlebar-overflow>summary::-webkit-details-marker{display:none}.titlebar-overflow>summary:hover{background:#ffffff14}.titlebar-overflow[open]>summary{background:#ffffff1f}.titlebar-overflow-popover{position:absolute;right:0;top:calc(100% + 6px);background:var(--bg-titlebar);border:1px solid #1a1a1a;border-radius:6px;padding:6px;min-width:240px;z-index:10;box-shadow:0 6px 16px #00000080;display:flex;flex-direction:column;gap:2px}.titlebar-overflow-item{display:block;padding:6px 10px;color:var(--fg-titlebar);font-size:13px;text-decoration:none;border-radius:4px;white-space:nowrap}a.titlebar-overflow-item:hover{background:#ffffff14;text-decoration:none}.titlebar-overflow-static{color:var(--fg-titlebar-muted);font-family:Source Code Pro,SF Mono,Consolas,Ubuntu Mono,Menlo,monospace;font-size:12px;cursor:default}.titlebar-overflow-callout,.titlebar-overflow-version{display:none}@media (max-width: 920px){.titlebar-version{display:none}.titlebar-overflow{display:inline-block}.titlebar-overflow-version{display:block}}@media (max-width: 620px){.titlebar-callout{display:none}.titlebar-overflow-callout{display:block}}@media (max-width: 540px){.titlebar{padding:0 12px;gap:10px}.editor-toolbar{padding:8px 10px;gap:4px}.example-picker label{display:none}.example-picker select{max-width:200px}.description{padding:16px}.viz-content{padding:12px}}@media (pointer: coarse){.resize-handle-horizontal{height:12px}.resize-handle-vertical{width:12px}}#err_card{background-color:#000;padding:10px;border-radius:5px;max-width:1060px;margin:10px 50px}#err_header{color:red;font-weight:700;margin:0}#error_message{color:#fff;margin:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:13px;white-space:pre-wrap;word-break:break-word}
