:root{--font-mono:"Consolas","Courier New",monospace;--crust:oklch(16% .02 264);--mantle:oklch(18% .02 264);--base:oklch(21% .02 264);--surface0:oklch(27% .02 264);--surface1:oklch(32% .02 264);--overlay0:oklch(44% .02 264);--subtext0:oklch(60% .02 264);--text:oklch(84% .02 264);--lavender:oklch(75% .12 270);--blue:oklch(72% .15 235);--green:oklch(80% .14 152);--teal:oklch(78% .12 185);--red:oklch(72% .18 15);--orange:oklch(82% .18 50);--mauve:oklch(72% .15 300);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--toolbar-h:40px;--pane-header-h:28px;--divider-size:4px;--t-fast:.15s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#app,body,html{block-size:100%;overflow:hidden}body{font-family:var(--font-mono);background:var(--base);color:var(--text)}.app-root{block-size:100dvb;display:flex;flex-direction:column;overflow:hidden}.toolbar{block-size:var(--toolbar-h);flex-shrink:0;display:flex;align-items:center;padding-inline:var(--space-4);gap:var(--space-3);background:var(--mantle);border-block-end:1px solid var(--surface0)}.toolbar .toolbar-title{font-size:15px;font-weight:700;color:var(--mauve)}.toolbar .toolbar-file{font-size:12px;color:var(--subtext0)}.toolbar .toolbar-status{font-size:12px;color:var(--blue)}.restart-btn{margin-inline-start:auto;padding-block:var(--space-1);padding-inline:14px;background:var(--green);color:var(--crust);border:none;border-radius:var(--space-1);cursor:pointer;font-size:12px;font-weight:700;transition:background var(--t-fast)}.restart-btn:hover:not(:disabled){background:var(--teal)}.restart-btn:disabled{opacity:.5;cursor:not-allowed}.workspace{flex:1;min-block-size:0;display:flex;flex-direction:row;overflow:hidden}.h-divider,.v-divider{flex-shrink:0;background:var(--surface0);transition:background var(--t-fast)}:is(.h-divider,.v-divider).active,:is(.h-divider,.v-divider):hover{background:var(--blue)}.v-divider{inline-size:var(--divider-size);cursor:col-resize}.h-divider{block-size:var(--divider-size);cursor:row-resize}.center-col{flex:1;min-inline-size:0;display:flex;flex-direction:column;overflow:hidden}.sidebar{flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;background:var(--mantle)}.sidebar .sidebar-header{padding-block:var(--space-2);padding-inline:var(--space-3);flex-shrink:0;display:flex;justify-content:space-between;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--subtext0);border-block-end:1px solid var(--surface0)}.sidebar .file-list{overflow-y:auto;flex:1}.sidebar .file-item{padding-block:5px;padding-inline:var(--space-3) var(--space-2);cursor:pointer;font-size:13px;display:flex;align-items:center;gap:var(--space-1);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background var(--t-fast)}.sidebar .file-item:hover{background:var(--surface0)}.sidebar .file-item.active{background:var(--surface1);color:var(--blue)}.sidebar .file-item .del-btn{visibility:hidden}.sidebar .file-item .del-btn:focus-visible{visibility:visible}.sidebar .file-item:hover .del-btn{visibility:visible}.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-file-btn{color:var(--green);font-size:22px}.add-file-btn,.del-btn{background:none;border:none;cursor:pointer;line-height:1}.del-btn{color:var(--red);font-size:16px;padding-inline:2px;flex-shrink:0}.editor-pane{flex:1;overflow:hidden;min-block-size:0}.pane-header{padding-block:6px;padding-inline:var(--space-3);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);background:var(--mantle);border-block-end:1px solid var(--surface0);font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--subtext0)}.preview-pane{flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;background:var(--crust)}.preview-url{color:var(--green);text-transform:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-body{flex:1;min-block-size:0;position:relative}.preview-iframe{inline-size:100%;block-size:100%;border:none;background:#fff;display:block}.preview-placeholder{block-size:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);color:var(--subtext0);font-size:13px;text-align:center;padding:20px}.preview-placeholder .placeholder-icon{font-size:32px}.terminal-pane{flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;background:var(--crust)}.terminal-body{flex:1;overflow-y:auto;padding-block:6px;padding-inline:var(--space-2) var(--space-3);font-size:12px}.log-line{margin-block-end:1px;word-break:break-all;white-space:pre-wrap}.log-line.log-log{color:var(--green)}.log-line.log-info{color:var(--text)}.log-line.log-error{color:var(--red)}.log-line.log-warn,.log-line.log-warning{color:var(--orange)}
