:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-color: #242424;--text-color: rgba(255, 255, 255, .87);--link-color: #646cff;--link-hover-color: #535bf2;--btn-bg-color: #1a1a1a;--btn-border-color: transparent;--btn-hover-border-color: #646cff;--border-color: #444;--input-bg: #333;--input-text: #fff}:root.light{--bg-color: #ffffff;--text-color: #213547;--link-color: #646cff;--link-hover-color: #747bff;--btn-bg-color: #f9f9f9;--btn-border-color: transparent;--btn-hover-border-color: #646cff;--border-color: #ddd;--input-bg: #fff;--input-text: #213547}body{margin:0;min-width:320px;min-height:100vh;color:var(--text-color);background-color:var(--bg-color);transition:background-color .3s,color .3s}a{font-weight:500;color:var(--link-color);text-decoration:inherit}a:hover{color:var(--link-hover-color)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid var(--btn-border-color);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--btn-bg-color);color:var(--text-color);cursor:pointer;transition:border-color .25s,background-color .3s,color .3s}button:hover{border-color:var(--btn-hover-border-color)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}#root{width:100%;height:100vh}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.layout-container{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background-color:var(--bg-color);color:var(--text-color);font-family:Inter,sans-serif}.layout-header{height:50px;background-color:var(--bg-color);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0;flex-shrink:0}.layout-body{display:flex;flex:1;overflow:hidden;position:relative}.layout-sidebar{background-color:var(--bg-color);border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0}.layout-main{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.layout-content-area{display:flex;flex:1;overflow:hidden}.layout-editor-area{background-color:var(--bg-color);overflow:hidden}.layout-preview-area{background-color:#fff;position:relative;overflow:hidden}.layout-console-area{background-color:var(--bg-color);overflow:hidden;flex-shrink:0}.resizer-vertical{width:5px;background-color:var(--border-color);cursor:col-resize;flex-shrink:0;transition:background-color .2s;z-index:10}.resizer-vertical:hover,.resizer-vertical:active{background-color:var(--link-color)}.resizer-horizontal{height:5px;background-color:var(--border-color);cursor:row-resize;flex-shrink:0;transition:background-color .2s;z-index:10}.resizer-horizontal:hover,.resizer-horizontal:active{background-color:var(--link-color)}.resizer-horizontal-split{width:5px;background-color:var(--border-color);cursor:col-resize;flex-shrink:0;transition:background-color .2s;z-index:10}.resizer-horizontal-split:hover,.resizer-horizontal-split:active{background-color:var(--link-color)}.pane{height:100%;width:100%;display:flex;align-items:center;justify-content:center;color:#888}.control-bar-container{display:flex;justify-content:flex-start;align-items:center;width:100%;height:100%;padding:0 .5rem;background-color:var(--bg-color);color:var(--text-color);gap:.5rem}.project-name-input input{padding:.4rem .6rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;width:200px;outline:none;background-color:var(--input-bg);color:var(--input-text)}.project-name-input input:focus{border-color:var(--link-color)}.btn-create{padding:.4rem 1rem;background-color:var(--btn-bg-color);border:1px solid var(--btn-border-color);border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s;color:var(--text-color)}.btn-create:hover{background-color:var(--btn-hover-border-color)}.divider{width:1px;height:24px;background-color:var(--border-color);margin:0 .5rem}.icon-btn{background:none;border:none;cursor:pointer;padding:.4rem;border-radius:4px;color:var(--text-color);display:flex;align-items:center;justify-content:center;transition:background-color .2s}.icon-btn:hover{background-color:var(--btn-bg-color)}.btn-run{display:flex;align-items:center;gap:.4rem;padding:.4rem 1.2rem;background-color:var(--btn-bg-color);border:1px solid var(--btn-border-color);border-radius:4px;cursor:pointer;font-size:1rem;font-weight:700;color:var(--text-color);transition:all .2s}.btn-run:hover{background-color:var(--btn-hover-border-color)}.btn-stop{display:flex;align-items:center;gap:.4rem;padding:.4rem 1.2rem;background-color:var(--btn-bg-color);border:1px solid var(--btn-border-color);border-radius:4px;cursor:pointer;font-size:1rem;font-weight:700;color:var(--text-color);transition:all .2s}.btn-stop:hover{background-color:var(--btn-hover-border-color)}.btn-stop svg{color:#d32f2f}.btn-run svg{color:#388e3c}.help-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.help-modal-content{background-color:#fff;color:#333;width:80%;max-width:800px;height:80%;max-height:800px;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-color)}.help-modal-header{padding:16px 24px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background-color:#f5f5f5}.help-modal-header h2{margin:0;font-size:1.2rem;font-weight:600}.help-modal-close{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.help-modal-close:hover{background-color:var(--hover-bg);color:var(--text-primary)}.help-modal-body{padding:24px;overflow-y:auto;line-height:1.6}.help-modal-body h3{margin-top:24px;margin-bottom:12px;font-size:1.1rem;border-bottom:1px solid var(--border-color);padding-bottom:8px;color:var(--accent-color)}.help-modal-body h3:first-child{margin-top:0}.help-modal-body h4{margin-top:16px;margin-bottom:8px;font-size:1rem;font-weight:600}.help-modal-body p{margin-bottom:12px}.help-modal-body ul,.help-modal-body ol{margin-bottom:16px;padding-left:24px}.help-modal-body li{margin-bottom:6px}.help-modal-body code{background-color:#f0f0f0;padding:2px 4px;border-radius:4px;font-family:monospace;font-size:.9em}.help-modal-body pre{background-color:#f0f0f0;padding:16px;border-radius:6px;overflow-x:auto;margin-bottom:16px}.help-modal-body pre code{background-color:transparent;padding:0}.file-tree-container{width:100%;height:100%;display:flex;flex-direction:column;background-color:var(--bg-color);color:var(--text-color);font-size:13px;-webkit-user-select:none;user-select:none}.file-tree-header{padding:10px 20px;font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:1px;color:var(--text-color);background-color:var(--bg-color);border-bottom:1px solid var(--border-color)}.file-tree-content{flex:1;overflow-y:auto;padding-top:5px}.file-item{display:flex;align-items:center;padding:4px 0;cursor:pointer;transition:background-color .1s;position:relative}.file-item:hover{background-color:var(--btn-bg-color)}.file-item.active{background-color:var(--btn-hover-border-color);color:var(--text-color)}.file-arrow{display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:2px;color:var(--text-color);cursor:pointer}.file-icon{margin-right:6px;display:flex;align-items:center;color:var(--text-color)}.file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.file-actions{display:none;align-items:center;margin-left:auto;margin-right:8px;gap:2px}.file-item:hover .file-actions{display:flex}.file-action{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:3px;color:var(--text-color);margin-left:2px;cursor:pointer}.file-action:hover{background-color:var(--btn-bg-color);color:var(--text-color)}.file-menu-trigger{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:3px;color:var(--text-color);margin-left:2px;cursor:pointer}.file-menu-trigger:hover{background-color:var(--btn-bg-color);color:var(--text-color)}.file-menu-dropdown{position:absolute;right:10px;top:24px;background-color:var(--bg-color);border:1px solid var(--border-color);box-shadow:0 4px 6px #0000004d;border-radius:4px;z-index:100;min-width:120px;padding:4px 0}.file-menu-item{padding:6px 12px;display:flex;align-items:center;cursor:pointer;color:var(--text-color)}.file-menu-item:hover{background-color:var(--link-color);color:#fff}.file-menu-item span{margin-left:8px}.file-tree-container.drag-over{border:2px dashed var(--link-color);background-color:#007acc1a}.file-tree-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#888;padding:20px;text-align:center}.reconnect-container{display:flex;flex-direction:column;align-items:center;gap:10px}.btn-reconnect{background-color:var(--link-color);color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:13px}.btn-reconnect:hover{background-color:#0062a3}.editor-container{display:flex;flex-direction:column;height:100%;width:100%;background-color:var(--bg-color)}.editor-tabs{display:flex;background-color:var(--bg-color);overflow-x:auto;height:35px}.editor-tab{display:flex;align-items:center;padding:0 10px;background-color:var(--btn-bg-color);color:var(--text-color);cursor:pointer;border-right:1px solid var(--border-color);min-width:120px;justify-content:space-between;font-size:13px;-webkit-user-select:none;user-select:none;ｂ７}.editor-tab:hover{background-color:var(--btn-hover-border-color);color:var(--text-color)}.editor-tab.active{background-color:var(--bg-color);color:var(--text-color);border-top:1px solid var(--link-color)}.tab-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:8px}.tab-close{display:flex;align-items:center;justify-content:center;border-radius:3px;padding:2px}.tab-close:hover{background-color:var(--btn-hover-border-color);color:var(--text-color)}.editor-body{flex:1;overflow:hidden}.editor-empty-state{height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-color);font-size:14px}.editor-loading{height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-color)}.preview-container{display:flex;flex-direction:column;height:100%;width:100%;background-color:#fff}.preview-header{height:30px;background-color:#f0f0f0;border-bottom:1px solid #ccc;display:flex;align-items:center;justify-content:space-between;padding:0 10px;font-size:12px;color:#333;font-weight:700}.preview-iframe{flex:1;border:none;width:100%;height:100%}.icon-btn-small{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#555}.icon-btn-small:hover{background-color:#0000001a;color:#000}.console-container{display:flex;flex-direction:column;height:100%;width:100%;background-color:var(--bg-color);border-top:1px solid var(--border-color);font-family:Consolas,Monaco,monospace}.console-header{height:28px;background-color:var(--bg-color);display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid var(--border-color)}.console-title{font-size:11px;font-weight:700;color:var(--text-color);text-transform:uppercase}.console-clear-btn{background:none;border:none;cursor:pointer;color:var(--text-color);padding:2px;display:flex;align-items:center}.console-clear-btn:hover{color:var(--text-color);opacity:.8}.console-body{flex:1;overflow-y:auto;padding:4px 0}.console-row{display:flex;align-items:flex-start;padding:2px 10px;font-size:12px;color:var(--text-color);border-bottom:1px solid var(--border-color)}.console-row:hover{background-color:var(--btn-bg-color)}.console-row.error{color:#f14c4c;background-color:#f14c4c1a}.console-row.warn{color:#cca700}.console-icon{margin-right:6px;display:flex;align-items:center;margin-top:2px}.console-message{flex:1;white-space:pre-wrap;word-break:break-all}.console-time{color:#666;font-size:10px;margin-left:10px}.console-empty{padding:10px;color:#666;font-style:italic;text-align:center}
