@font-face{font-family:Hack;font-style:normal;font-weight:400;src:url(./Hack-Regular-DF0EObfw.ttf) format("truetype");font-display:swap}@font-face{font-family:Hack;font-style:normal;font-weight:700;src:url(./Hack-Bold-Di99jFMP.ttf) format("truetype");font-display:swap}@font-face{font-family:Hack;font-style:italic;font-weight:400;src:url(./Hack-Italic-DxiHVGEL.ttf) format("truetype");font-display:swap}@font-face{font-family:Hack;font-style:italic;font-weight:700;src:url(./Hack-BoldItalic-Cacs0-pc.ttf) format("truetype");font-display:swap}:root{--bg: #1e1e1e;--bg-side: #252526;--bg-bar: #323233;--bg-tabrow: #252526;--bg-tab-active: #1e1e1e;--border: #3c3c3c;--text: #cccccc;--text-dim: #8a8a8a;--accent: #4ec9b0;--accent-blue: #0e639c;--hover: #2a2d2e;--selected: #094771;--mono: "Hack", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--ui: "Inter", system-ui, -apple-system, sans-serif}#app[data-theme=light]{--bg: #ffffff;--bg-side: #f3f3f3;--bg-bar: #e8e8e8;--bg-tabrow: #ececec;--bg-tab-active: #ffffff;--border: #d4d4d4;--text: #1e1e1e;--text-dim: #6a6a6a;--accent: #0f7b6c;--accent-blue: #0e639c;--hover: #e8e8e8;--selected: #cfe3ff}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--ui)}#app{height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-size:13px}#titlebar{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:5px 12px;background:var(--bg-bar);border-bottom:1px solid var(--border);font-size:12px}#brand{font-weight:700;letter-spacing:.3px;color:var(--accent)}#filename{color:var(--text-dim)}#status{margin-left:auto;color:var(--text-dim);font-size:11px}#body{flex:1 1 auto;display:flex;min-height:0}#sidebar{flex:0 0 220px;background:var(--bg-side);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;overflow:hidden}.side-head{padding:8px 12px;font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--text-dim)}#filetree{list-style:none;margin:0;padding:0 0 8px;overflow-y:auto;flex:1}#filetree li{padding:3px 12px 3px 22px;cursor:pointer;white-space:nowrap;color:var(--text)}#filetree li.folder{padding-left:12px;color:var(--text-dim);font-weight:600;text-transform:none;cursor:default;margin-top:4px}#filetree li.file:hover{background:var(--hover)}#filetree li.file.active{background:var(--selected)}#editor-wrap{flex:1 1 auto;min-width:140px;overflow:hidden}#editor,.cm-editor{height:100%}.cm-editor .cm-scroller{font-family:var(--mono);font-size:13.5px;line-height:1.5}#split{flex:0 0 6px;cursor:col-resize;background:var(--border)}#split:hover{background:var(--accent)}#panel{flex:0 0 360px;min-width:160px;display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--border)}#tabrow{flex:0 0 auto;display:flex;background:var(--bg-tabrow);border-bottom:1px solid var(--border)}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-dim);padding:7px 14px;font:inherit;font-size:12px;cursor:pointer;border-right:1px solid var(--border);border-top:2px solid transparent}.tab:hover{color:var(--text)}.tab.active{color:var(--text);background:var(--bg-tab-active);border-top:2px solid var(--accent)}#tabbody{flex:1 1 auto;min-height:0;overflow:auto}.tabpane{display:none;height:100%}.tabpane.active{display:block}.mono{font-family:var(--mono);font-size:13px;line-height:1.5;white-space:pre-wrap;padding:10px 12px;color:var(--text)}.dim{color:var(--text-dim)}#terminal .line{color:var(--text)}#terminal .prompt{color:var(--accent)}#run-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--accent-blue);color:#fff;padding:4px 12px;border-radius:3px;font:inherit;font-size:12px;cursor:pointer}.btn:hover{filter:brightness(1.1)}.btn.ghost{background:transparent;color:var(--text)}#run-output{font-family:var(--mono);font-size:13px;white-space:pre-wrap;padding:10px 12px;color:var(--text)}#chat{padding:12px;color:var(--text)}#chat .hint{color:var(--text-dim);font-size:12px}#options{padding:12px;display:flex;flex-direction:column;gap:12px;max-width:420px}.opt-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.opt-row label{color:var(--text-dim)}select,input[type=number]{background:var(--bg-side);color:var(--text);border:1px solid var(--border);border-radius:3px;padding:3px 6px;font:inherit}
