:root{--bg: #fafafa;--bg-elev: #ffffff;--fg: #1a1a1a;--fg-muted: #5a5a5a;--border: #e5e5e5;--accent: #1a1a1a;--error: #c0392b;--error-bg: #fdecea;--warning: #b7791f;--warning-bg: #fef6e1;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--max-w: 1080px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.55;color:var(--fg);background:var(--bg)}code{font-family:var(--mono);font-size:.92em;background:#f1f1f1;padding:1px 5px;border-radius:3px}a{color:var(--fg);text-decoration:underline;text-underline-offset:2px}a:hover{opacity:.7}.vs-app{display:flex;flex-direction:column;min-height:100%}.vs-landing{padding:96px 24px 64px;border-bottom:1px solid var(--border);background:var(--bg-elev)}.vs-landing-inner{max-width:var(--max-w);margin:0 auto}.vs-landing h1{font-size:48px;letter-spacing:-.02em;margin:0 0 16px;font-weight:600}.vs-tagline{font-size:19px;color:var(--fg-muted);max-width:640px;margin:0 0 12px}.vs-cta{display:inline-block;margin-top:24px;padding:10px 20px;background:var(--fg);color:var(--bg);text-decoration:none;border-radius:4px;font-weight:500}.vs-cta:hover{opacity:.85}.vs-playground{padding:64px 24px;max-width:var(--max-w);margin:0 auto;width:100%}.vs-playground-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:16px;margin-bottom:24px}.vs-playground h2{margin:0;font-size:24px;font-weight:600}.vs-sample-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.vs-sample-label{color:var(--fg-muted);font-size:13px}.vs-sample-chip{font-family:var(--mono);font-size:12px;padding:4px 10px;background:var(--bg-elev);border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--fg)}.vs-sample-chip:hover{border-color:var(--fg)}.vs-dropzone{border:1px dashed var(--border);border-radius:6px;padding:32px 24px;text-align:center;background:var(--bg-elev);color:var(--fg-muted);margin-bottom:24px;transition:border-color 80ms ease,background 80ms ease}.vs-dropzone-active{border-color:var(--fg);background:#f0f0f0}.vs-dropzone p{margin:0}.vs-file-trigger{text-decoration:underline;cursor:pointer}.vs-workbench{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev);overflow:hidden;min-height:480px}@media (max-width: 800px){.vs-workbench{grid-template-columns:1fr}}.vs-workbench-main{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--border)}@media (max-width: 800px){.vs-workbench-main{border-right:none;border-bottom:1px solid var(--border)}}.vs-workbench-titlebar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:12px;color:var(--fg-muted)}.vs-workbench-filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:12px}.vs-status-loading{color:var(--fg-muted)}.vs-status-error{color:var(--error)}.vs-status-ok{color:var(--fg-muted)}.vs-editor{flex:1;min-height:360px}.vs-editor .cm-editor{height:100%}.vs-editor .cm-editor.cm-focused{outline:none}.vs-diag-gutter{width:4px;background:transparent}.vs-gutter{width:4px;height:100%}.vs-gutter-error{background:var(--error)}.vs-gutter-warning{background:var(--warning)}.vs-workbench-side{padding:12px 8px;display:flex;flex-direction:column;min-width:0}.vs-workbench-side h3{margin:4px 8px 8px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted)}.vs-diags-empty{padding:16px 12px;color:var(--fg-muted);font-size:13px}.vs-diags-list{list-style:none;margin:0;padding:0;overflow-y:auto}.vs-diag{border-radius:4px}.vs-diag-button{display:grid;grid-template-columns:56px 1fr;gap:4px 12px;width:100%;text-align:left;background:transparent;border:none;padding:8px 10px;cursor:pointer;border-left:3px solid transparent;font:inherit}.vs-diag-button:hover{background:#f1f1f1}.vs-diag-error .vs-diag-button{border-left-color:var(--error)}.vs-diag-warning .vs-diag-button{border-left-color:var(--warning)}.vs-diag-pos{font-family:var(--mono);font-size:12px;color:var(--fg-muted)}.vs-diag-code{font-family:var(--mono);font-size:11px;color:var(--fg-muted)}.vs-diag-message{grid-column:1 / -1;font-size:13px;color:var(--fg)}.vs-footer{margin-top:auto;padding:24px;border-top:1px solid var(--border);color:var(--fg-muted);font-size:13px;text-align:center}
