:root{--primary-color:#20638f;--secondary-color:#1e1e1e;--dark-color:#123850;--light-color:#e8f4fc;--lighter-blue:#f0f8ff;--accent-blue:#5dade2;--text-color:#2c3e50;--code-bg:#eef7fd}body{margin:0}.playground-container{background-color:#f0f4f8;flex-direction:column;height:100vh;font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;display:flex;overflow:hidden}.playground-header{background-color:var(--secondary-color);color:#fff;justify-content:space-between;align-items:center;padding:2px;display:flex;box-shadow:0 2px 4px #0000001a}.playground-header h1{margin:0;font-size:1rem;font-weight:700}.header-icon-button{color:var(--header-icon-color);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px 8px;transition:background-color .2s;display:flex}.header-icon-button:hover{background-color:var(--hover-bg)}.save-status{align-items:center;display:flex}.save-status-item{align-items:center;gap:4px;display:flex}.save-status-item.saved{color:var(--success-color)}.save-status-item.saving{color:var(--info-color)}.save-status-item.unsaved{color:var(--warning-color)}.current-file-path{color:var(--lightningcss-light,#cbd5e0)var(--lightningcss-dark,#a0aec0);font-family:monospace;font-size:11px}.spinning{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.playground-content{flex:1;min-height:0;display:flex;overflow:hidden}.playground-footer{background-color:var(--lightningcss-light,var(--dark-color))var(--lightningcss-dark,var(--secondary-color));color:#fff;border-top:1px solid var(--lightningcss-light,#2c5282)var(--lightningcss-dark,#3e3e42);justify-content:space-between;align-items:center;min-height:24px;padding:4px 12px;font-size:12px;display:flex}.footer-left{align-items:center;gap:16px;display:flex}.footer-right{align-items:center;gap:12px;display:flex}.footer-item{align-items:center;gap:4px;display:flex}.execution-time{color:var(--lightningcss-light,#67b8e3)var(--lightningcss-dark,#67b8e3);letter-spacing:.3px;background-color:var(--lightningcss-light,#67b8e326)var(--lightningcss-dark,#67b8e333);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500}.file-tree-panel{resize:horizontal;width:250px;min-width:200px;max-width:400px;overflow:auto}.left-panel{flex-direction:column;flex:1;min-width:0;display:flex}.right-panel{flex:1;min-width:0}.editor-container{flex-direction:column;height:50%;display:flex}.editor{height:100%}.right-panel{flex-direction:column;height:100%;display:flex}.editor-header{background-color:var(--secondary-color);height:32px;color:var(--light-color);justify-content:space-between;align-items:center;gap:8px;padding:4px;display:flex}.editor-header.output{border-bottom:none;justify-content:flex-end;height:auto;min-height:32px}.editor-actions{color:var(--light-color);background:0 0;justify-content:space-between;align-items:center;gap:4px;padding:4px;display:flex}.editor-header h2{margin:0 0 0 4px;padding:4px;font-size:.8rem;font-weight:500}.editor-content{flex:1;overflow:hidden}.button{color:#3182ce;cursor:pointer;background-color:#0000;border:none;padding:4px 12px;font-size:.875rem;font-weight:600;transition:background-color .2s}.run-button{padding:4px 16px}.button:hover{color:#88acd2;font-weight:600}.save-button{justify-content:center;align-items:center;min-width:80px;display:inline-flex}.save-button-content{justify-content:center;align-items:center;gap:4px;width:100%;display:flex}.format-button:disabled,.run-button:disabled{cursor:not-allowed;background-color:#a0aec0}.result-container{height:100%}.loading-message,.empty-message{color:#718096;background-color:var(--secondary-color);height:100%;padding:16px}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--accent-blue:var(--lightningcss-light,#4299e1)var(--lightningcss-dark,#5dade2);--primary-color:var(--lightningcss-light,#3182ce)var(--lightningcss-dark,#3a8ec5);--secondary-color:var(--lightningcss-light,#f7fafc)var(--lightningcss-dark,#2a2a2a);--dark-color:var(--lightningcss-light,#2c5282)var(--lightningcss-dark,#1a4c6b);--light-color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#e8f4fc);--lighter-blue:var(--lightningcss-light,#ebf8ff)var(--lightningcss-dark,#1e2a38);--text-color:var(--lightningcss-light,#2d3748)var(--lightningcss-dark,#e2e8f0);--code-bg:var(--lightningcss-light,#f7fafc)var(--lightningcss-dark,#2d3748);--select-fg:var(--lightningcss-light,#333)var(--lightningcss-dark,#d4d4d4);--select-bg:var(--lightningcss-light,#f5f5f5)var(--lightningcss-dark,#2d2d30);--border:var(--lightningcss-light,#ccc)var(--lightningcss-dark,#3e3e42);--header-icon-color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#ccc);--success-color:var(--lightningcss-light,#48bb78)var(--lightningcss-dark,#68d391);--info-color:var(--lightningcss-light,#4299e1)var(--lightningcss-dark,#63b3ed);--warning-color:var(--lightningcss-light,#ed8936)var(--lightningcss-dark,#f6ad55);--hover-bg:var(--lightningcss-light,#ffffff1a)var(--lightningcss-dark,#ffffff1a);--tree-bg:var(--lightningcss-light,#f7fafc)var(--lightningcss-dark,#252526);--tree-border:var(--lightningcss-light,#e2e8f0)var(--lightningcss-dark,#3e3e42);--tree-header-bg:var(--lightningcss-light,#edf2f7)var(--lightningcss-dark,#2d2d30);--tree-title-color:var(--lightningcss-light,#4a5568)var(--lightningcss-dark,#ccc);--tree-item-color:var(--lightningcss-light,#2d3748)var(--lightningcss-dark,#ccc);--tree-item-hover-bg:var(--lightningcss-light,#edf2f7)var(--lightningcss-dark,#2a2d2e);--tree-item-selected-bg:var(--lightningcss-light,#bee3f8)var(--lightningcss-dark,#37373d);--tree-item-selected-color:var(--lightningcss-light,#2c5282)var(--lightningcss-dark,#fff);--tree-empty-color:var(--lightningcss-light,#718096)var(--lightningcss-dark,#858585);--scrollbar-track:var(--lightningcss-light,#f7fafc)var(--lightningcss-dark,#252526);--scrollbar-thumb:var(--lightningcss-light,#cbd5e0)var(--lightningcss-dark,#424242);--scrollbar-thumb-hover:var(--lightningcss-light,#a0aec0)var(--lightningcss-dark,#4e4e4e);--context-menu-bg:var(--lightningcss-light,#fff)var(--lightningcss-dark,#2d2d30);--context-menu-item-hover-bg:var(--lightningcss-light,#edf2f7)var(--lightningcss-dark,#37373d)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}.playground-header{background-color:var(--lightningcss-light,var(--dark-color))var(--lightningcss-dark,var(--secondary-color));color:#fff}.editor-header{background-color:var(--lightningcss-light,#edf2f7)var(--lightningcss-dark,var(--secondary-color));color:var(--lightningcss-light,var(--text-color))var(--lightningcss-dark,var(--light-color))}.loading-message,.empty-message{color:var(--lightningcss-light,#718096)var(--lightningcss-dark,#a0aec0);background-color:var(--lightningcss-light,#f7fafc)var(--lightningcss-dark,var(--secondary-color))}.logo-icon{background-color:#0000;width:32px;height:32px}@media (width<=1024px) and (width>=769px){.editor-header{height:auto;min-height:32px;padding:4px 2px}.editor-actions{flex-wrap:wrap;gap:2px;padding:2px}.dropdown{margin-right:4px;padding:4px 8px;font-size:12px}.button{white-space:nowrap;padding:4px 8px;font-size:.75rem}.run-button{padding:4px 12px;font-weight:700}.label{margin-left:2px;font-size:12px}.label div{white-space:nowrap}.editor-header h2{font-size:.75rem}.editor-header.code,.editor-header.output{height:auto;min-height:40px}}@media (width<=768px){.header-icon-button{padding:4px}.footer-left{gap:8px}.current-file-path{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.left-panel,.right-panel{flex:1;width:100%}.playground-content{flex-direction:column;overflow-y:auto}.editor-container{height:auto;min-height:250px}.editor-content{min-height:150px}.editor-header{flex-wrap:wrap}.editor-header.code,.editor-header.output{height:auto}.editor-header h2{font-size:.75rem}.editor-actions{flex-wrap:wrap;justify-content:flex-start;padding:2px}.format-button,.run-button{padding:3px 8px;font-size:.75rem}}.dropdown{appearance:none;cursor:pointer;background-color:var(--select-bg);border:1px solid var(--border);color:var(--select-fg);border-radius:4px;margin-right:8px;padding:6px 12px;font-size:13px}.label{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-color);align-items:center;margin-left:4px;font-size:13px;display:flex}.tab-container{background-color:var(--lightningcss-light,#e8eef5)var(--lightningcss-dark,#252526);border-bottom:1px solid var(--lightningcss-light,#d0d7de)var(--lightningcss-dark,#3e3e42);align-items:center;gap:0;height:35px;display:flex;overflow:auto hidden}.tab-container::-webkit-scrollbar{height:3px}.tab-container::-webkit-scrollbar-track{background:0 0}.tab-container::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.tab-container::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.tab{cursor:pointer;color:var(--lightningcss-light,#586069)var(--lightningcss-dark,#969696);white-space:nowrap;background-color:#0000;border:none;border-right:1px solid var(--lightningcss-light,#d0d7de)var(--lightningcss-dark,#3e3e42);justify-content:center;align-items:center;height:100%;padding:6px 16px;font-size:12px;font-weight:500;transition:background-color .1s;display:flex}.tab:hover{background-color:var(--lightningcss-light,#f3f4f6)var(--lightningcss-dark,#2d2d30)}.tab.active{color:var(--lightningcss-light,#24292e)var(--lightningcss-dark,#ccc);border-bottom:2px solid var(--accent-blue);background-color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1e1e1e)}.tab-bar{background-color:var(--lightningcss-light,#e8eef5)var(--lightningcss-dark,#252526);border-bottom:1px solid var(--lightningcss-light,#d0d7de)var(--lightningcss-dark,#3e3e42);align-items:center;height:35px;display:flex;overflow:auto hidden}.tab-bar::-webkit-scrollbar{height:3px}.tab-bar::-webkit-scrollbar-track{background:0 0}.tab-bar::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.tab-bar::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.tab-item{cursor:pointer;color:var(--lightningcss-light,#586069)var(--lightningcss-dark,#969696);white-space:nowrap;background-color:#0000;border-right:1px solid var(--lightningcss-light,#d0d7de)var(--lightningcss-dark,#3e3e42);justify-content:space-between;align-items:center;gap:4px;min-width:100px;max-width:200px;padding:6px 8px;font-size:12px;transition:background-color .1s;display:flex}.tab-item:hover{background-color:var(--lightningcss-light,#f3f4f6)var(--lightningcss-dark,#2d2d30)}.tab-item.active{color:var(--lightningcss-light,#24292e)var(--lightningcss-dark,#ccc);border-bottom:2px solid var(--accent-blue);background-color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1e1e1e)}.tab-content{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.tab-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tab-dirty-indicator{color:var(--lightningcss-light,#d97706)var(--lightningcss-dark,#f59e0b);flex-shrink:0}.tab-close-button{color:var(--lightningcss-light,#6a737d)var(--lightningcss-dark,#858585);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:2px;transition:opacity .1s,background-color .1s;display:flex}.tab-item:hover .tab-close-button,.tab-item.active .tab-close-button{opacity:1}.tab-close-button:hover{color:var(--lightningcss-light,#24292e)var(--lightningcss-dark,#ccc);background-color:var(--lightningcss-light,#e1e4e8)var(--lightningcss-dark,#3e3e42)}.file-tree-container{background-color:var(--tree-bg);border-right:1px solid var(--tree-border);border-top:1px solid var(--tree-border);flex-direction:column;height:100%;display:flex;overflow:hidden}.file-tree-header{justify-content:space-between;align-items:center;height:40px;display:flex}.file-tree-header-left{align-items:center;display:flex}.file-tree-title{color:var(--tree-title-color);letter-spacing:.5px;margin-left:8px;font-size:11px;font-weight:600}.file-tree-actions{gap:4px;display:flex}.file-tree-action-btn{cursor:pointer;color:var(--tree-title-color);background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:4px;transition:background-color .2s;display:flex}.file-tree-action-btn:hover{background-color:var(--tree-border)}.file-tree-content{flex:1;padding:4px 0;position:relative;overflow:hidden auto}.file-tree-content.drag-over-root{box-shadow:inset 0 0 0 2px var(--vscode-focusBorder,#007acc);background:linear-gradient(#007acc0d,#007acc1a);border-radius:4px;transition:background .2s,box-shadow .2s}.file-tree-node{-webkit-user-select:none;user-select:none}.file-tree-item{cursor:pointer;color:var(--tree-item-color);white-space:nowrap;align-items:center;gap:4px;padding:4px 8px;font-size:13px;transition:background-color .1s;display:flex;overflow:hidden}.file-tree-item:hover{background-color:var(--tree-item-hover-bg)}.file-tree-item.selected{background-color:var(--tree-item-selected-bg);color:var(--tree-item-selected-color)}.file-tree-item.dragging{opacity:.5;cursor:move;transition:opacity .15s,transform .15s;transform:scale(.98)}.file-tree-item.drag-over{box-shadow:inset 0 0 0 2px var(--vscode-focusBorder,#007acc);background-color:#007acc26;border-radius:4px;transition:background-color .15s,box-shadow .15s}.file-tree-chevron{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.file-tree-spacer{flex-shrink:0;width:16px;height:16px}.file-tree-name{text-overflow:ellipsis;white-space:nowrap;margin-left:4px;overflow:hidden}.file-tree-rename-input{background-color:var(--vscode-input-background,#3c3c3c);color:var(--vscode-input-foreground,#ccc);border:1px solid var(--vscode-focusBorder,#007acc);border-radius:2px;outline:none;flex:1;margin-left:4px;padding:2px 4px;font-family:inherit;font-size:13px}.file-tree-rename-input:focus{border-color:var(--vscode-focusBorder,#007acc);box-shadow:0 0 0 1px var(--vscode-focusBorder,#007acc)}.file-tree-empty{text-align:center;color:var(--tree-empty-color);padding:16px;font-size:12px}.file-tree-content::-webkit-scrollbar{width:10px}.file-tree-content::-webkit-scrollbar-track{background:var(--scrollbar-track)}.file-tree-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:5px}.file-tree-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.context-menu{background-color:var(--context-menu-bg);border:1px solid var(--tree-border);z-index:10000;border-radius:4px;min-width:200px;padding:4px 0;position:fixed;box-shadow:0 4px 12px #00000026}.context-menu-item{cursor:pointer;color:var(--tree-item-color);align-items:center;gap:8px;padding:6px 12px;font-size:13px;transition:background-color .1s;display:flex}.context-menu-item:hover:not(.disabled){background-color:var(--context-menu-item-hover-bg)}.context-menu-item.disabled{opacity:.5;cursor:not-allowed}.context-menu-icon{justify-content:center;align-items:center;width:16px;height:16px;display:flex}.context-menu-label{flex:1}.confirm-dialog-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{background-color:var(--vscode-editorWidget-background,#252526);border:1px solid var(--vscode-editorWidget-border,#454545);border-radius:4px;min-width:400px;max-width:500px;box-shadow:0 4px 12px #0000004d}.confirm-dialog-header{border-bottom:1px solid var(--vscode-editorWidget-border,#454545);padding:16px 20px}.confirm-dialog-header h3{color:var(--vscode-foreground,#ccc);margin:0;font-size:14px;font-weight:600}.confirm-dialog-body{padding:20px}.confirm-dialog-body p{color:var(--vscode-foreground,#ccc);margin:0;font-size:13px;line-height:1.5}.confirm-dialog-footer{border-top:1px solid var(--vscode-editorWidget-border,#454545);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.confirm-dialog-button{cursor:pointer;border:none;border-radius:2px;padding:6px 16px;font-family:inherit;font-size:13px;transition:background-color .1s}.confirm-dialog-button.cancel{background-color:var(--vscode-button-secondaryBackground,#3a3d41);color:var(--vscode-button-secondaryForeground,#ccc)}.confirm-dialog-button.cancel:hover{background-color:var(--vscode-button-secondaryHoverBackground,#45494e)}.confirm-dialog-button.confirm{background-color:var(--vscode-button-background,#0e639c);color:var(--vscode-button-foreground,#fff)}.confirm-dialog-button.confirm:hover{background-color:var(--vscode-button-hoverBackground,#17b)}.confirm-dialog-button:active{transform:translateY(1px)}
