*{box-sizing:border-box;margin:0;padding:0}:root{--bg-deep:#1e1a24;--bg-soft:#2b2735;--bg-surface:#342e42;--fg-cream:#eee8d5;--fg-muted:#938aaf;--fg-dim:#6b6080;--purple:#bb9af7;--amber:#ff9e64;--blue:#7aa2f7;--green:#9ece6a;--red:#f7768e;--cyan:#73daca;--border:#3d3654;--radius:8px;--sidebar-w:300px;--topbar-h:56px}body{background:var(--bg-deep);color:var(--fg-cream);display:flex;flex-direction:column;font-family:Urbanist,sans-serif;height:100vh;overflow:hidden}.topbar{background:var(--bg-soft);border-bottom:1px solid var(--border);flex-shrink:0;gap:16px;height:var(--topbar-h);padding:0 20px;z-index:10}.logo-link,.topbar{align-items:center;display:flex}.logo-link{gap:8px;text-decoration:none}.logo-icon{flex-shrink:0}.logo-cursor{animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.logo-text{color:var(--purple);font-size:18px;font-weight:800;letter-spacing:.5px}.topbar h1{color:var(--fg-cream);font-size:20px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.topbar h1 span{color:var(--purple)}.theme-banner{color:var(--fg-muted);font-size:12px;gap:8px;margin-left:auto;margin-right:12px}.theme-banner,.theme-btn{align-items:center;display:flex}.theme-btn{background:var(--purple);border-radius:5px;color:var(--bg-deep);font-size:11px;font-weight:700;gap:5px;letter-spacing:.5px;padding:4px 10px;text-decoration:none;text-transform:uppercase;transition:opacity .2s}.theme-btn:hover{opacity:.8}.theme-btn i{font-size:10px}.topbar-actions{display:flex;gap:8px}.topbar-btn{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg-muted);cursor:pointer;display:flex;font-size:14px;height:36px;justify-content:center;transition:all .2s;width:36px}.topbar-btn:hover{border-color:var(--purple);color:var(--purple)}.layout{flex:1;height:calc(100vh - var(--topbar-h))}.layout,.sidebar{display:flex;overflow:hidden}.sidebar{background:var(--bg-soft);border-right:1px solid var(--border);flex-direction:column;min-width:var(--sidebar-w);transition:width .3s ease,min-width .3s ease;width:var(--sidebar-w)}.sidebar.collapsed{border-right:none;min-width:0;width:0}.sidebar-expand{align-items:center;background:var(--bg-soft);border:1px solid var(--border);border-left:none;border-radius:0 6px 6px 0;color:var(--fg-muted);cursor:pointer;display:none;font-size:12px;height:48px;justify-content:center;left:0;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s;width:24px;z-index:15}.sidebar-expand:hover{border-color:var(--purple);color:var(--purple);width:28px}.layout.sidebar-collapsed .sidebar-expand{display:flex}.sidebar-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 16px 12px}.sidebar-label{color:var(--fg-dim);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:3px;text-transform:uppercase}.sidebar-toggle{background:none;border:none;color:var(--fg-muted);cursor:pointer;font-size:14px;padding:4px;transition:color .2s}.sidebar-toggle:hover{color:var(--purple)}.sidebar-nav{flex:1;overflow-y:auto;padding:8px 0}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.nav-section{margin-bottom:4px}.nav-section-header{align-items:center;cursor:pointer;display:flex;gap:10px;padding:10px 16px;transition:background .15s;user-select:none}.nav-section-header:hover{background:rgba(187,154,247,.06)}.nav-section-icon{align-items:center;border-radius:6px;display:flex;flex-shrink:0;font-size:13px;height:28px;justify-content:center;width:28px}.nav-section-icon.html{background:rgba(255,158,100,.15);color:var(--amber)}.nav-section-icon.css{background:rgba(122,162,247,.15);color:var(--blue)}.nav-section-icon.js{background:rgba(158,206,106,.15);color:var(--green)}.nav-section-title{color:var(--fg-cream);flex:1;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.nav-section-arrow{color:var(--fg-dim);font-size:10px;transition:transform .2s}.nav-section.open>.nav-section-header .nav-section-arrow{transform:rotate(90deg)}.nav-items{display:none;padding:2px 0 6px}.nav-section.open>.nav-items{display:block}.nav-item{align-items:center;border-left:2px solid transparent;color:var(--fg-muted);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:7px 16px 7px 36px;transition:all .15s}.nav-item:hover{background:rgba(187,154,247,.06);color:var(--fg-cream)}.nav-item.active{background:rgba(187,154,247,.1);border-left-color:var(--purple);color:var(--purple);font-weight:600}.nav-item-dot{background:var(--fg-dim);border-radius:50%;flex-shrink:0;height:5px;width:5px}.nav-item.active .nav-item-dot,.nav-new-btn{background:var(--purple)}.nav-new-btn{align-items:center;border-radius:var(--radius);color:var(--bg-deep);cursor:pointer;display:flex;font-size:13px;font-weight:700;gap:8px;letter-spacing:.5px;margin:8px 10px 4px;padding:10px 16px;text-transform:uppercase;transition:all .2s}.nav-new-btn i{font-size:11px}.nav-new-btn:hover{opacity:.85;transform:translateY(-1px)}.nav-custom-empty{align-items:center;color:var(--fg-dim);display:flex;flex-direction:column;font-size:12px;gap:8px;line-height:1.6;padding:32px 16px;text-align:center}.nav-custom-empty i{color:var(--fg-dim);font-size:28px;opacity:.5}.nav-item-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item-delete{background:none;border:none;border-radius:4px;color:var(--fg-dim);cursor:pointer;display:none;flex-shrink:0;font-size:11px;padding:2px 4px;transition:all .15s}.nav-item:hover .nav-item-delete{display:flex}.nav-item-delete:hover{background:rgba(247,118,142,.15);color:var(--red)}.nav-item-dot.custom-dot.html{background:var(--amber)}.nav-item-dot.custom-dot.css{background:var(--blue)}.nav-item-dot.custom-dot.javascript{background:var(--green)}.nav-section-icon.custom{background:rgba(187,154,247,.15);color:var(--purple)}.modal-overlay{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.6);display:flex;inset:0;justify-content:center;position:fixed;z-index:100}.modal{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.4);max-width:90vw;padding:24px;width:340px}.modal h3{color:var(--fg-cream);font-size:16px;font-weight:800;margin:0 0 16px}.modal label{color:var(--fg-muted);display:block;font-size:12px;font-weight:600;letter-spacing:1px;margin-bottom:6px;text-transform:uppercase}.modal input[type=text]{background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;color:var(--fg-cream);font-family:inherit;font-size:14px;margin-bottom:16px;outline:none;padding:10px 12px;transition:border-color .2s;width:100%}.modal input[type=text]:focus{border-color:var(--purple)}.modal input[type=text]::placeholder{color:var(--fg-dim)}.modal-tech-options{display:flex;gap:8px;margin-bottom:20px}.modal-tech-btn{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;color:var(--fg-dim);cursor:pointer;display:flex;flex:1;font-size:12px;font-weight:700;gap:6px;justify-content:center;padding:8px;transition:all .2s}.modal-tech-btn:hover{border-color:var(--fg-dim);color:var(--fg-cream)}.modal-tech-btn.active.html{background:rgba(255,158,100,.1);border-color:var(--amber);color:var(--amber)}.modal-tech-btn.active.css{background:rgba(122,162,247,.1);border-color:var(--blue);color:var(--blue)}.modal-tech-btn.active.javascript{background:rgba(158,206,106,.1);border-color:var(--green);color:var(--green)}.modal-actions{display:flex;gap:8px;justify-content:flex-end}.modal-btn{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:700;padding:8px 20px;transition:all .2s}.modal-btn.cancel{background:var(--bg-surface);border:1px solid var(--border);color:var(--fg-muted)}.modal-btn.cancel:hover{color:var(--fg-cream)}.modal-btn.confirm{background:var(--purple);color:var(--bg-deep)}.modal-btn.confirm:hover{opacity:.85}.modal-btn.danger{background:var(--red);color:var(--bg-deep)}.modal-btn.danger:hover{opacity:.85}.modal-confirm-text{color:var(--fg-muted);font-size:14px;line-height:1.6;margin-bottom:20px}.modal-confirm-text strong{color:var(--fg-cream)}.editor-area{display:flex;flex:1;flex-direction:column;overflow:hidden}.editor-header{align-items:center;background:var(--bg-soft);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;height:44px;justify-content:space-between;padding:0 16px}.tech-tabs{display:flex;flex-shrink:1;gap:4px;min-width:0;overflow-x:auto;scrollbar-color:var(--border) transparent;scrollbar-width:thin}.tech-tabs::-webkit-scrollbar{height:4px}.tech-tabs::-webkit-scrollbar-track{background:transparent}.tech-tabs::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.tech-tab{background:none;border:1px solid transparent;border-radius:6px;color:var(--fg-dim);cursor:pointer;font-size:12px;font-weight:700;letter-spacing:1px;padding:6px 16px;text-transform:uppercase;transition:all .2s}.tech-tab:hover{background:var(--bg-surface);color:var(--fg-cream)}.tech-tab.active.html{background:rgba(255,158,100,.12);border-color:rgba(255,158,100,.3);color:var(--amber)}.tech-tab.active.css{background:rgba(122,162,247,.12);border-color:rgba(122,162,247,.3);color:var(--blue)}.tech-tab.active.js{background:rgba(158,206,106,.12);border-color:rgba(158,206,106,.3);color:var(--green)}.tech-tab.active.custom{background:rgba(187,154,247,.12);border-color:rgba(187,154,247,.3);color:var(--purple)}.editor-actions{display:flex;gap:8px}.run-btn{align-items:center;background:var(--purple);border:none;border-radius:6px;color:var(--bg-deep);cursor:pointer;display:flex;font-size:12px;font-weight:700;gap:6px;letter-spacing:1px;padding:6px 16px;text-transform:uppercase;transition:all .2s}.run-btn:hover{opacity:.85;transform:translateY(-1px)}.run-btn i{font-size:10px}.editor-body,.panel{display:flex;flex:1;overflow:hidden}.panel{flex-direction:column}.panel+.panel{border-left:1px solid var(--border)}.panel-header{align-items:center;background:var(--bg-surface);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;height:36px;justify-content:space-between;padding:8px 16px}.panel-label{color:var(--fg-dim);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase}.panel-label i{margin-right:6px}.panel-actions{display:flex;gap:4px}.panel-btn{background:none;border:none;color:var(--fg-dim);cursor:pointer;font-size:12px;padding:4px;transition:color .2s}.panel-btn:hover{color:var(--purple)}.copy-btn.copied{color:var(--green)!important}#code-editor{flex:1;overflow:hidden}#code-editor .CodeMirror{font-family:JetBrains Mono,monospace;font-size:14px;height:100%;line-height:1.7}.cm-s-amethyst-pulse.CodeMirror{background:#1e1a24;color:#eee8d5}.cm-s-amethyst-pulse .CodeMirror-cursor{border-left:2px solid #ff9e64}.cm-s-amethyst-pulse .CodeMirror-focused .CodeMirror-selected,.cm-s-amethyst-pulse .CodeMirror-selected{background:#6b608099!important}.cm-s-amethyst-pulse .CodeMirror-line::selection,.cm-s-amethyst-pulse .CodeMirror-line>span::selection,.cm-s-amethyst-pulse .CodeMirror-line>span>span::selection{background:#6b608099}.cm-s-amethyst-pulse .CodeMirror-activeline-background{background:#3d334d}.cm-s-amethyst-pulse .CodeMirror-gutters{background:#1e1a24;border-right:1px solid #312a3d}.cm-s-amethyst-pulse .CodeMirror-linenumber{color:#4a3b5c}.cm-s-amethyst-pulse .CodeMirror-activeline .CodeMirror-linenumber{color:#bb9af7}.cm-s-amethyst-pulse .CodeMirror-matchingbracket{background:#3d334d;color:#EE8D5!important;font-weight:700}.cm-s-amethyst-pulse .CodeMirror-nonmatchingbracket{color:#f7768e!important}.cm-s-amethyst-pulse .CodeMirror-gutter-filler,.cm-s-amethyst-pulse .CodeMirror-scrollbar-filler{background:#1e1a24}.cm-s-amethyst-pulse span.cm-keyword{color:#bb9af7;font-weight:700}.cm-s-amethyst-pulse span.cm-keyword.cm-keyword{color:#bb9af7}.cm-s-amethyst-pulse span.cm-def{color:#7aa2f7}.cm-s-amethyst-pulse span.cm-number,.cm-s-amethyst-pulse span.cm-string,.cm-s-amethyst-pulse span.cm-string-2{color:#ff9e64}.cm-s-amethyst-pulse span.cm-comment{color:#6b6080;font-style:italic}.cm-s-amethyst-pulse span.cm-variable{color:#eee8d5}.cm-s-amethyst-pulse span.cm-variable-2{color:#b4f9f8}.cm-s-amethyst-pulse span.cm-type,.cm-s-amethyst-pulse span.cm-variable-3{color:#4ec9b0}.cm-s-amethyst-pulse span.cm-property{color:#b4f9f8}.cm-s-amethyst-pulse span.cm-operator{color:#89ddff}.cm-s-amethyst-pulse span.cm-atom{color:#bb9af7;font-weight:700}.cm-s-amethyst-pulse span.cm-tag{color:#4ec9b0}.cm-s-amethyst-pulse span.cm-attribute{color:#bb9af7;font-style:italic}.cm-s-amethyst-pulse span.cm-bracket{color:#89ddff}.cm-s-amethyst-pulse span.cm-meta{color:#ff9e64}.cm-s-amethyst-pulse span.cm-builtin{color:#7aa2f7}.cm-s-amethyst-pulse span.cm-qualifier{color:#bb9af7}.cm-s-amethyst-pulse span.cm-link{color:#4ec9b0;text-decoration:underline}.cm-s-amethyst-pulse span.cm-error{color:#f7768e}.cm-s-amethyst-pulse span.cm-punctuation{color:#89ddff}.cm-s-amethyst-pulse span.cm-keyword.css{color:#bb9af7}.cm-s-amethyst-pulse span.cm-atom.css,.cm-s-amethyst-pulse span.cm-number.css{color:#ff9e64}.cm-s-amethyst-pulse span.cm-def.css{color:#b4f9f8}.cm-s-amethyst-pulse span.cm-variable.css{color:#eee8d5}.cm-s-amethyst-pulse span.cm-variable-2.css{color:#4ec9b0}.cm-s-amethyst-pulse span.cm-property.css{color:#b4f9f8}.cm-s-amethyst-pulse span.cm-keyword.css.css{color:#4ec9b0}.cm-s-amethyst-pulse span.cm-qualifier.css{color:#ff9e64;font-weight:700}.cm-s-amethyst-pulse span.cm-builtin.css,.cm-s-amethyst-pulse span.cm-tag.css{color:#4ec9b0}.cm-s-amethyst-pulse .cm-searching{background:#ff9e64;color:#1e1a24}.html-panel{border-left:1px solid var(--border)}#html-viewer{flex:1;overflow:hidden}#html-viewer .CodeMirror{font-family:JetBrains Mono,monospace;font-size:13px;height:100%;line-height:1.6}.editor-body.maximized .panel{display:none!important}.editor-body.maximized .panel.maximized{display:flex!important;flex:1!important}.maximize-btn{transition:color .2s}#preview-frame{background:#fff;border:none;flex:1;width:100%}.editor-footer{align-items:center;background:var(--bg-soft);border-top:1px solid var(--border);display:flex;flex-shrink:0;height:36px;justify-content:space-between;padding:0 16px}.credit-link{color:var(--fg-dim);flex-shrink:0;font-size:11px;text-decoration:none;transition:color .2s}.credit-link:hover{color:var(--purple)}.hint-bar{align-items:center;color:var(--fg-dim);display:flex;font-size:12px;gap:8px}.hint-bar i{color:var(--purple);font-size:12px}@media (max-width:900px){.sidebar{min-width:240px;width:240px}.editor-body{flex-direction:column}.panel+.panel{border-left:none;border-top:1px solid var(--border)}}@media (max-width:600px){.sidebar{height:calc(100vh - var(--topbar-h));position:absolute;top:var(--topbar-h);z-index:20}.sidebar.collapsed{min-width:0;width:0}.tech-tab{font-size:11px;padding:4px 10px}}.CodeMirror-hints{background:#1e1a24!important;border:1px solid #312a3d!important;border-radius:4px!important;box-shadow:0 4px 12px rgba(0,0,0,.4)!important;font-family:JetBrains Mono,monospace!important;font-size:13px!important;max-height:240px!important;padding:4px 0!important}.CodeMirror-hint{border-radius:2px!important;color:#eee8d5!important;cursor:pointer!important;padding:4px 10px!important;transition:background-color .15s ease!important}.CodeMirror-hint:hover{background:#3d334d!important}li.CodeMirror-hint-active{background:#6b6080!important;color:#fff!important}.CodeMirror-hints::-webkit-scrollbar{width:6px!important}.CodeMirror-hints::-webkit-scrollbar-track{background:#1e1a24!important}.CodeMirror-hints::-webkit-scrollbar-thumb{background:#4a3b5c!important;border-radius:3px!important}.CodeMirror-hints::-webkit-scrollbar-thumb:hover{background:#bb9af7!important}