:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--mono:ui-monospace, "SF Mono", "SFMono-Regular", "Cascadia Code", "Cascadia Mono", Menlo, Consolas, "Liberation Mono", monospace;--bg:#fff;--fg:#3b3b3b;--header-bg:#f8f8f8;--header-fg:#3b3b3b;--bar-bg:#f8f8f8;--border:#e5e5e5;--muted:#6e7681;--control-bg:#fff;--control-fg:#3b3b3b;--accent:#005fb8;--sidebar-bg:#f8f8f8;--selected-bg:#e4e6f1;--hover-bg:#f0f0f0;--skeleton-sheen:#ffffffa6;--cm-bg:#fff;--cm-fg:#3b3b3b;--cm-cursor:#005fb8;--cm-selection:#add6ff;--cm-active-line:#0000000d;--cm-gutter-fg:#6e7681;--tok-comment:green;--tok-keyword:#00f;--tok-string:#a31515;--tok-number:#098658;--tok-function:#795e26;--tok-type:#267f99;--tok-variable:#001080;--tok-operator:#3b3b3b}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1f1f1f;--fg:#ccc;--header-bg:#181818;--header-fg:#ccc;--bar-bg:#181818;--border:#2b2b2b;--muted:#9d9d9d;--control-bg:#313131;--control-fg:#ccc;--accent:#0078d4;--sidebar-bg:#181818;--selected-bg:#37373d;--hover-bg:#2a2d2e;--skeleton-sheen:#ffffff12;--cm-bg:#1f1f1f;--cm-fg:#d4d4d4;--cm-cursor:#aeafad;--cm-selection:#2f5e9e;--cm-active-line:#ffffff0f;--cm-gutter-fg:#6e7681;--tok-comment:#6a9955;--tok-keyword:#569cd6;--tok-string:#ce9178;--tok-number:#b5cea8;--tok-function:#dcdcaa;--tok-type:#4ec9b0;--tok-variable:#9cdcfe;--tok-operator:#d4d4d4}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1f1f1f;--fg:#ccc;--header-bg:#181818;--header-fg:#ccc;--bar-bg:#181818;--border:#2b2b2b;--muted:#9d9d9d;--control-bg:#313131;--control-fg:#ccc;--accent:#0078d4;--sidebar-bg:#181818;--selected-bg:#37373d;--hover-bg:#2a2d2e;--skeleton-sheen:#ffffff12;--cm-bg:#1f1f1f;--cm-fg:#d4d4d4;--cm-cursor:#aeafad;--cm-selection:#2f5e9e;--cm-active-line:#ffffff0f;--cm-gutter-fg:#6e7681;--tok-comment:#6a9955;--tok-keyword:#569cd6;--tok-string:#ce9178;--tok-number:#b5cea8;--tok-function:#dcdcaa;--tok-type:#4ec9b0;--tok-variable:#9cdcfe;--tok-operator:#d4d4d4}*{box-sizing:border-box}html,body{height:100%;font:14px/1.4 var(--mono);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}#app{grid-template-columns:var(--col-sidebar,220px) var(--gutter-w) var(--col-editor,1fr) var(--gutter-w) var(--col-preview,1fr);--gutter-w:1px;grid-template-rows:1fr auto;height:100%;display:grid}.gutter{cursor:col-resize;background:var(--border);position:relative}.gutter-grip{z-index:6;background:var(--bar-bg);border:1px solid var(--border);width:13px;height:28px;color:var(--muted);border-radius:5px;justify-content:center;align-items:center;transition:color .1s,border-color .1s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gutter:hover .gutter-grip,.gutter.is-dragging .gutter-grip{color:var(--accent);border-color:var(--accent)}.gutter-grip svg{fill:currentColor;stroke:none;width:16px;height:16px}.settings{align-items:center;display:flex;position:relative}.settings-panel{z-index:20;background:var(--header-bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:8px;padding:10px;display:flex;position:absolute;bottom:calc(100% + 6px);right:0;box-shadow:0 6px 20px #00000040}.settings-panel[hidden]{display:none}.settings-panel button{text-align:left;white-space:nowrap}.settings-panel .setting-row{color:var(--header-fg);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.settings-panel .setting-row select{flex:none}#statusbar{background:var(--statusbar-bg,var(--accent));height:22px;color:var(--statusbar-fg,#fff);border-top:1px solid var(--border);-webkit-user-select:none;user-select:none;grid-column:1/-1;align-items:center;gap:16px;padding:0 10px;font-size:12px;display:flex;overflow:visible}#statusbar .settings .icon-btn{color:inherit;width:20px;height:20px}#status{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.status-info{flex:none;align-items:center;gap:14px;display:flex}.status-info span{white-space:nowrap}.status-info span:empty{display:none}#diagnostics[data-errors]{font-weight:700}.pane{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.loading-overlay{background:var(--bg);z-index:5;position:absolute;inset:35px 0 0;overflow:hidden}.pane.sidebar .loading-overlay{background:var(--sidebar-bg)}.loading-overlay[hidden]{display:none}.skeleton{background:var(--border);border-radius:3px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, var(--skeleton-sheen), transparent);animation:1.3s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation-duration:3s}}.sk-tree{padding:4px 0}.sk-row{align-items:center;gap:6px;height:22px;padding:0 8px;display:flex}.sk-row.indent{padding-left:22px}.sk-ico{flex:none;width:14px;height:14px}.sk-bar{height:9px}.sk-editor{padding:8px 0}.sk-line{align-items:center;gap:12px;height:19.5px;padding:0 10px 0 8px;display:flex}.sk-num{opacity:.55;flex:none;width:13px;height:9px}.sk-code{height:9px}.sk-preview{flex-direction:column;display:flex}.sk-preview-body{flex-direction:column;flex:1;gap:12px;padding:20px;display:flex}.sk-preview-body .skeleton{height:12px}.sk-preview-body .sk-title{height:26px;margin-bottom:6px}.sk-preview .loading-label{color:var(--muted);text-align:center;padding:8px 16px;font-size:12px}.loading-overlay[data-error] .sk-preview-body{display:none}.loading-overlay[data-error] .loading-label{color:#e5534b;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.error-overlay{background:var(--bg);z-index:6;padding:16px;position:absolute;inset:35px 0 0;overflow:auto}.error-overlay[hidden]{display:none}.error-card{background:var(--control-bg);border:1px solid #e5534b;border-radius:6px;overflow:hidden}.error-head{color:#e5534b;background:#e5534b1f;border-bottom:1px solid #e5534b;align-items:center;gap:8px;padding:8px 10px;font-weight:700;display:flex}.error-title{overflow-wrap:anywhere;flex:1;min-width:0}.error-dismiss{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:16px;line-height:1}.error-dismiss:hover{border-color:#0000}.error-message{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--fg);font:12px/1.5 var(--mono);margin:0;padding:10px}.pane>.bar{box-sizing:border-box;background:var(--bar-bg);border-bottom:1px solid var(--border);height:35px;color:var(--fg);align-items:center;gap:6px;padding:0 10px;display:flex}.pane.sidebar{background:var(--sidebar-bg)}.preview-header{justify-content:space-between;padding:0 6px 0 10px}.preview-header #previewTitle{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-header #previewReload{opacity:0;flex:none;transition:opacity .1s}.pane:hover .preview-header #previewReload,.pane:focus-within .preview-header #previewReload{opacity:1}.tree-header{justify-content:space-between;padding:0 6px 0 8px}.tree-title{letter-spacing:.04em;text-transform:uppercase;color:var(--fg);-webkit-user-select:none;user-select:none;align-items:center;gap:2px;font-size:11px;font-weight:700;display:flex;overflow:hidden}.tree-title .chevron{width:16px;height:16px;color:var(--muted);flex:none}.tree-actions{opacity:0;gap:1px;transition:opacity .1s;display:flex}.pane.sidebar:hover .tree-actions,.pane.sidebar:focus-within .tree-actions{opacity:1}.pane.sidebar.tree-loading .tree-actions{display:none}.icon-btn{width:22px;height:22px;color:var(--fg);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:var(--hover-bg);border-color:#0000}.icon-btn:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.icon-btn svg,.tree-title .chevron{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.icon-btn svg{width:16px;height:16px}#tree{--trees-bg-override:var(--sidebar-bg);--trees-fg-override:var(--fg);--trees-fg-muted-override:var(--muted);--trees-accent-override:var(--accent);--trees-border-color-override:var(--border);--trees-selected-bg-override:var(--selected-bg);--trees-selected-fg-override:var(--fg);--trees-selected-focused-border-color-override:var(--accent);--trees-focus-ring-color-override:var(--accent);--trees-focus-ring-width-override:1px;--trees-focus-ring-offset-override:-1px;--trees-theme-list-hover-bg:var(--hover-bg);--trees-item-height:22px;--trees-border-radius-override:0px;--trees-item-margin-x-override:0px;--trees-padding-inline-override:0px;flex:1;min-height:0;overflow:auto}#filename{color:var(--muted);font-size:12px}#editor{background:var(--bg);flex:1;min-height:0;overflow:hidden}#editor .cm-editor{height:100%}#editor .cm-scroller{font:13px/1.5 var(--mono);font-variant-ligatures:none}.preview-body{flex:1;min-height:0;display:flex;position:relative}.preview-body>.loading-overlay,.preview-body>.error-overlay{inset:0}#preview{background:#fff;border:0;flex:1}.console{border-top:1px solid var(--border);background:var(--bg);flex-direction:column;min-height:0;display:flex}.console.is-collapsed .console-log{display:none}.console-log{height:30vh;min-height:0;font-family:var(--mono,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-size:12px;line-height:1.5;overflow-y:auto}.console-bar{box-sizing:border-box;background:var(--bar-bg);border-bottom:1px solid var(--border);align-items:center;gap:10px;height:35px;padding:0 10px;display:flex}.console.is-collapsed .console-bar{border-bottom:0}.console-toggle{color:var(--fg);font:inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:11px;font-weight:700;display:flex}.console-toggle:hover{border:0}.console-toggle .chevron{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;color:var(--muted);transition:transform .12s;transform:rotate(-90deg)}.console:not(.is-collapsed) .console-toggle .chevron{transform:rotate(0)}.console-filters{flex:1;gap:2px;min-width:0;display:flex;overflow:hidden}.console-filter{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:10px;padding:1px 7px;font-size:11px}.console-filter:hover{background:var(--hover-bg);border-color:#0000}.console-filter.is-active{color:var(--fg);background:var(--hover-bg)}.console-count{font-variant-numeric:tabular-nums;margin-left:4px}.console-count:empty{display:none}.console-clear{flex:none}.console-row{border-bottom:1px solid var(--border);white-space:pre-wrap;word-break:break-word;color:var(--fg);gap:8px;padding:2px 10px;display:flex}.console-log[data-filter=error] .console-row:not([data-level=error]),.console-log[data-filter=warn] .console-row:not([data-level=warn]),.console-log[data-filter=info] .console-row:not([data-level=info]),.console-log[data-filter=log] .console-row:not([data-level=log]),.console-log[data-filter=debug] .console-row:not([data-level=debug]){display:none}.console-row[data-level=error]{color:#f85149;background:#f8514917}.console-row[data-level=warn]{color:#d29922;background:#d2992217}.console-row[data-level=debug]{color:var(--muted)}.console-repeat{background:var(--hover-bg);min-width:16px;color:var(--muted);text-align:center;border-radius:8px;flex:none;align-self:center;padding:0 5px;font-size:10px}.console-log:empty:before{content:"No console output yet.";color:var(--muted);padding:8px 10px;font-style:italic;display:block}button,select{font:inherit;background:var(--control-bg);color:var(--control-fg);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:2px 8px}button:hover{border-color:var(--accent)}button:focus-visible{outline:1px solid var(--accent);outline-offset:1px}
