*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--toolbar-height: 48px;--tab-height: 36px;--drawer-open-height: 50vh}@media(prefers-color-scheme:light){:root{--bg-base: #ffffff;--bg-surface: #f6f8fa;--bg-elevated: #eaeef2;--border: #d0d7de;--text-primary: #24292f;--text-secondary: #57606a;--text-muted: #8c959f;--accent: #0969da;--accent-hover: #0860ca;--success: #1a7f37;--warning: #9a6700;--error: #cf222e;--info: #0969da}}@media(prefers-color-scheme:dark){:root{--bg-base: #0d1117;--bg-surface: #161b22;--bg-elevated: #1f2937;--border: #30363d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #484f58;--accent: #58a6ff;--accent-hover: #79b8ff;--success: #3fb950;--warning: #d29922;--error: #f85149;--info: #58a6ff}}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-base);color:var(--text-primary);overflow:hidden}#app{display:flex;flex-direction:column;height:100vh}#toolbar{display:flex;align-items:center;justify-content:space-between;height:var(--toolbar-height);padding:0 16px;background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;gap:16px;z-index:10}.toolbar-left,.toolbar-right{flex:1}.toolbar-right{display:flex;justify-content:flex-end;align-items:center;gap:12px}.toolbar-center{display:flex;align-items:center;gap:8px}.brand{display:flex;align-items:baseline;gap:6px;text-decoration:none}.brand-name{font-size:16px;font-weight:700;color:var(--accent);letter-spacing:-.3px}.brand-tag{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.brand-version{font-size:11px;font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s;outline:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active{opacity:.85}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary)}.btn-secondary:hover{border-color:var(--text-muted)}.btn:disabled{opacity:.45;cursor:not-allowed}#status-indicator{font-size:12px;padding:3px 10px;border-radius:12px;font-weight:500;white-space:nowrap}.status-idle{background:#8b949e1f;color:var(--text-secondary)}.status-running{background:#58a6ff26;color:var(--info)}.status-ok{background:#3fb95026;color:var(--success)}.status-error{background:#f8514926;color:var(--error)}.status-warning{background:#d2992226;color:var(--warning)}#main-layout{display:flex;flex:1;overflow:hidden}#editor-pane{flex:1;min-width:0;border-right:1px solid var(--border);display:flex;flex-direction:column}#editor-container{flex:1;overflow:hidden}#output-pane{width:45%;min-width:300px;display:flex;flex-direction:column;background:var(--bg-base)}#output-tabs{display:flex;align-items:center;border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;height:var(--tab-height)}.tab-btn{padding:0 16px;height:100%;font-size:12px;font-weight:500;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}#drawer-toggle{display:none;align-items:center;justify-content:center;margin-left:auto;margin-right:8px;padding:4px 8px;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:color .15s,background .15s;flex-shrink:0}#drawer-toggle:hover{color:var(--text-primary);background:var(--bg-elevated)}#drawer-chevron{transition:transform .25s ease}.drawer-open #drawer-chevron{transform:rotate(180deg)}#output-content{flex:1;overflow:hidden;position:relative}.tab-panel{display:none;height:100%}.tab-panel.active{display:flex;flex-direction:column}.output-pre{flex:1;padding:14px 16px;font-family:Fira Code,Cascadia Code,JetBrains Mono,ui-monospace,monospace;font-size:13px;line-height:1.6;color:var(--text-primary);overflow:auto;white-space:pre-wrap;word-break:break-word}.output-hint{color:var(--text-muted);font-style:italic}.output-error{color:var(--error)}.output-success{color:var(--success)}#go-source-editor-container{flex:1;overflow:hidden}.diagnostics-container{flex:1;overflow-y:auto;padding:8px}.diagnostic-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;margin-bottom:4px;border-radius:6px;font-size:12px;line-height:1.5;background:var(--bg-surface);border:1px solid var(--border);cursor:pointer}.diagnostic-item:hover{border-color:var(--text-muted)}.diagnostic-icon{flex-shrink:0;margin-top:1px;font-size:13px}.diagnostic-error{border-left:3px solid var(--error)}.diagnostic-warning{border-left:3px solid var(--warning)}.diagnostic-info{border-left:3px solid var(--info)}.diagnostic-location{color:var(--text-muted);font-family:ui-monospace,monospace;font-size:11px;margin-top:2px}.diagnostics-empty{color:var(--text-muted);text-align:center;padding:40px 20px;font-size:13px}#wasm-loading-overlay{position:fixed;inset:0;background:#0d1117e6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:100;font-size:14px;color:var(--text-secondary)}#wasm-loading-overlay.hidden{display:none}.loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#pane-resizer{width:4px;cursor:col-resize;background:var(--border);flex-shrink:0;transition:background .15s}#pane-resizer:hover,#pane-resizer.dragging{background:var(--accent)}@media(max-width:640px){#toolbar{height:auto;flex-wrap:wrap;padding:8px 12px;gap:6px}.toolbar-left{flex:1;min-width:0}.toolbar-right{flex:none;gap:8px}.toolbar-center{order:1;flex:0 0 100%;gap:6px}.btn{padding:6px 12px;font-size:13px}#main-layout{flex-direction:column}#editor-pane{flex:1;min-height:0;border-right:none}#pane-resizer{display:none}#output-pane{width:100%;min-width:0;max-height:var(--tab-height);overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1);border-top:1px solid var(--border)}#output-pane.drawer-open{max-height:var(--drawer-open-height)}#drawer-toggle{display:flex}#output-pane.drawer-open #drawer-chevron{transform:rotate(180deg)}.monaco-editor .overflow-guard,.monaco-editor .monaco-scrollable-element{touch-action:pan-y!important;-webkit-overflow-scrolling:touch}}.monaco-editor .inputarea{font-size:16px!important}.monaco-editor .iPadShowKeyboard{display:none!important}
