:root{color-scheme:dark;--font-body:"Inter","Helvetica Neue","Segoe UI",sans-serif;--font-heading:"Space Grotesk","Inter",sans-serif;--font-mono:"JetBrains Mono","SFMono-Regular","Menlo",monospace;--color-bg:#0f1113;--color-panel:#15181b;--color-panel-2:#191d22;--color-border:rgba(43,48,54,.7);--color-border-soft:rgba(43,48,54,.4);--color-text:#e8eaed;--color-text-dim:#aeb4ba;--color-accent:#9ac5ff;--color-accent-soft:rgba(154,197,255,.18);--color-ring:rgba(154,197,255,.35);--shadow-soft:0 25px 60px rgba(0,0,0,.35);--rail-width:54px;--explorer-width:260px;--chat-width:260px}*{box-sizing:border-box}body,html{padding:0;margin:0;min-height:100%;font-family:var(--font-body);letter-spacing:.1px;background:radial-gradient(circle at 20% 20%,#15181b 0,var(--color-bg) 60%);color:var(--color-text)}body{display:block}.ide-shell,body{min-height:100vh}.ide-shell{display:grid;grid-template-columns:var(--rail-width) var(--explorer-width) minmax(0,1fr);width:100%;background:rgba(15,17,19,.85);transition:grid-template-columns .3s ease}.ide-shell[data-panel-open=none]{--explorer-width:0px}.sidebar{width:100%;background:var(--color-panel-2);border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:1.25rem 1.25rem 1.25rem .65rem;gap:1rem;transition:width .3s ease,padding .3s ease,border-color .3s ease}.sidebar.chat{border-right:none;border-left:1px solid var(--color-border)}.sidebar.collapsed{padding:0;border:none}.sidebar.collapsed .sidebar-content,.sidebar.collapsed .sidebar-header{display:none}.sidebar-header{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-dim)}.sidebar-content{flex:1 1;font-size:.9rem;color:var(--color-text);overflow:auto;padding-bottom:.5rem}.sidebar-toolbar{display:flex;gap:.6rem;margin-bottom:.85rem;flex-wrap:wrap}.sidebar-toolbar button{border:1px solid var(--color-border-soft);background:hsla(0,0%,100%,.03);color:var(--color-text);padding:.35rem .75rem;border-radius:6px;cursor:pointer;font-size:.8rem}.tree-group{margin-bottom:1.25rem}.tree-heading{margin:0 0 .35rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-dim)}.file-tree-wrapper{flex:1 1;display:flex;flex-direction:column;gap:.75rem;overflow-y:auto}.sidebar-footer{padding-top:.75rem}.file-tree{list-style:none;margin:0;padding:0}.file-tree.nested{margin:.15rem 0 0;padding-left:0}.file-node{list-style:none}.file-entry{width:100%;display:flex;align-items:center;gap:.5rem;padding:.35rem .4rem;border:none;background:transparent;color:var(--color-text-dim);border-radius:6px;cursor:pointer;transition:background .2s ease,color .2s ease;justify-content:flex-start}.file-entry.active,.file-entry.drag-target,.file-entry:hover{background:rgba(154,197,255,.12);color:var(--color-text)}.file-entry.drag-target{outline:1px dashed rgba(154,197,255,.5)}.file-entry.folder{color:var(--color-text)}.file-entry .file-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-rename-input{flex:1 1;background:hsla(0,0%,100%,.02);border:1px solid var(--color-border-soft);border-radius:4px;color:var(--color-text);font:inherit;padding:.1rem .3rem}.file-icon{display:inline-flex;align-items:center;justify-content:center;margin-right:.15rem}.file-icon,.file-icon svg{width:14px;height:14px}.folder-caret{width:12px;display:flex;align-items:center;justify-content:center;transform:rotate(0deg);transition:transform .2s ease,opacity .2s ease}.folder-caret.open{transform:rotate(90deg)}.folder-caret.spacer{opacity:0}.root-dropzone{border:1px dashed rgba(154,197,255,.25);border-radius:8px;padding:0;font-size:.75rem;text-align:left;color:var(--color-text-dim);transition:border .2s ease,color .2s ease,padding .2s ease,opacity .2s ease;opacity:0;pointer-events:none;height:0}.root-dropzone.active{border-color:var(--color-accent);color:var(--color-accent);padding:.35rem .5rem;opacity:1;pointer-events:auto;height:auto}.explorer-tips{margin-top:.75rem;padding:.75rem;border:1px solid var(--color-border-soft);border-radius:10px;background:hsla(0,0%,100%,.02);font-size:.8rem;color:var(--color-text-dim)}.explorer-tips p{margin:0 0 .45rem}.explorer-tips p:last-child{margin-bottom:0}.tips-heading{text-transform:uppercase;letter-spacing:.15em;margin-bottom:.4rem}.tips-heading,kbd{font-size:.75rem;color:var(--color-text)}kbd{display:inline-block;padding:.05rem .35rem;border-radius:4px;border:1px solid var(--color-border-soft);background:hsla(0,0%,100%,.04);font-family:var(--font-mono)}.welcome-modal-overlay{position:fixed;inset:0;background:rgba(3,5,7,.78);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem}.welcome-modal{width:min(720px,100%);background:var(--color-panel-2);border:1px solid var(--color-border-soft);border-radius:20px;padding:1.75rem;box-shadow:0 40px 80px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:1.5rem}.welcome-header{display:flex;gap:1rem;align-items:center}.welcome-logo{border-radius:16px;border:1px solid hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.02)}.welcome-kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;margin:0;color:var(--color-text-dim)}.welcome-header h2{margin:0;font-size:1.65rem;letter-spacing:.04em}.welcome-subtitle{margin:.3rem 0 0;color:var(--color-text-dim)}.welcome-demo{border:1px solid var(--color-border-soft);border-radius:18px;padding:1.25rem;background:rgba(10,12,15,.8);display:flex;flex-direction:column;gap:.85rem}.demo-meta{display:flex;justify-content:space-between;font-size:.8rem;color:var(--color-text-dim);gap:.5rem}.demo-step{text-transform:uppercase;letter-spacing:.15em;font-weight:600;color:var(--color-accent)}.demo-editor{border-radius:12px;border:1px solid hsla(0,0%,100%,.08);background:rgba(17,20,24,.9);padding:1rem;min-height:110px;display:flex;align-items:center}.demo-line{width:100%;font-family:var(--font-mono);font-size:.95rem;color:var(--color-text)}.demo-typed{white-space:pre-wrap}.demo-text{display:block;margin-bottom:.35rem}.demo-text:last-child{margin-bottom:0}.demo-text.highlight{position:relative;padding:.15rem .35rem;border-radius:6px;transition:background .25s ease,color .25s ease}.demo-text.highlight.selected{background:rgba(154,197,255,.15);color:var(--color-text);box-shadow:inset 0 0 0 1px rgba(154,197,255,.25)}.demo-text.highlight.suggesting{background:rgba(154,197,255,.25);box-shadow:inset 0 0 0 1px rgba(154,197,255,.45)}.demo-text.highlight.accepted{background:transparent;color:var(--color-text);box-shadow:none}.demo-ghost{margin-left:.1rem;opacity:0;transition:opacity .25s ease}.demo-ghost.ghost{opacity:.7}.demo-ghost.accepted{opacity:0}.demo-replacement{display:flex;flex-direction:column;gap:.4rem}.demo-line.demo-replacement .demo-text{margin:0}.demo-line.demo-replacement .demo-text+.demo-text{margin-top:.35rem}.demo-original{color:var(--color-text-dim)}.demo-original.replaced{text-decoration:line-through}.demo-helper{margin:0;font-size:.85rem;color:var(--color-text-dim)}.demo-line.ghost-inline{font-style:italic;color:var(--color-text-dim)}.demo-carousel{display:flex;gap:.4rem;justify-content:center;margin-top:.75rem}.carousel-dot{width:10px;height:10px;border-radius:999px;border:1px solid hsla(0,0%,100%,.35);background:transparent;cursor:pointer;padding:0}.carousel-dot.active{background:var(--color-accent);border-color:var(--color-accent)}.welcome-actions{display:flex;justify-content:flex-end;gap:.6rem}.sidebar-content.chat-placeholder{display:flex;flex-direction:column;gap:.5rem}.muted{color:var(--color-text-dim);font-size:.85rem}.muted.small{font-size:.78rem}.workspace{padding:2.5rem;background:var(--color-panel);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);box-shadow:var(--shadow-soft);min-height:100vh}.rail{width:var(--rail-width);background:#0d0f11;flex-direction:column;padding:1rem .5rem;gap:.5rem;border-right:1px solid hsla(0,0%,100%,.05)}.rail,.rail-logo{display:flex;align-items:center}.rail-logo{width:36px;height:36px;border-radius:12px;border:1px solid hsla(0,0%,100%,.08);justify-content:center;margin-bottom:.5rem;overflow:hidden}.rail-logo img{width:100%;height:100%;object-fit:cover}.rail.right-rail{border-right:none;border-left:1px solid hsla(0,0%,100%,.05)}.rail-icon{width:36px;height:36px;border-radius:10px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.08);color:var(--color-text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,border .2s ease}.rail-icon.active{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent)}.workspace-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--color-border-soft)}.workspace-header h1{margin:0 0 .5rem;font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,1.75rem);line-height:1.15;letter-spacing:.08em;font-weight:600;text-transform:uppercase}.view-toggle{display:inline-flex;gap:.5rem;margin-top:.5rem}.view-toggle button{border:1px solid var(--color-border-soft);background:hsla(0,0%,100%,.015);color:var(--color-text-dim);padding:.4rem 1rem;border-radius:10px 10px 0 0;cursor:pointer;font-size:.875rem;transition:background .2s ease,color .2s ease;min-height:40px}.view-toggle button.active{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 0 20px rgba(94,167,255,.2)}.subtitle{margin:0 0 1.5rem;color:var(--color-text-dim);font-size:.95rem}.workspace-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.ghost-button{background:hsla(0,0%,100%,.02);border:1px solid var(--color-border-soft);border-radius:8px;padding:.4rem .85rem;font-size:.8rem;color:var(--color-text);cursor:pointer}.ghost-button.primary{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent)}.ghost-button.secondary{background:transparent;border-color:var(--color-border-soft);color:var(--color-text-dim)}.editor-tabs{display:flex;background:#0f1113;border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);border-top:1px solid var(--color-border)}.editor-tab{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem 1rem;border:none;border-right:1px solid hsla(0,0%,100%,.08);background:transparent;color:var(--color-text-dim);font-size:.85rem;cursor:pointer;min-width:0}.editor-tab.active{background:var(--color-panel);color:var(--color-text)}.editor-tab .tab-close{font-size:.85rem;cursor:pointer;color:inherit}.editor-tab.add{width:44px;justify-content:center;font-size:1rem}.tab-spacer{flex:1 1;border-right:1px solid hsla(0,0%,100%,.08)}.tab-toggle{display:inline-flex;border-left:1px solid hsla(0,0%,100%,.08)}.tab-toggle button{border:none;padding:.45rem .9rem;background:transparent;color:var(--color-text-dim);cursor:pointer}.tab-toggle button.active{color:var(--color-accent)}.tab-label{display:inline-flex;align-items:center;gap:.15rem}.tab-rename-input{width:120px;background:hsla(0,0%,100%,.04);border:1px solid var(--color-border-soft);border-radius:4px;color:var(--color-text);font:inherit;padding:.1rem .3rem}.tab-actions{display:flex;align-items:center;gap:.65rem;padding-right:.85rem}.save-button{border:1px solid var(--color-border-soft);background:hsla(0,0%,100%,.04);color:var(--color-text-dim);width:30px;height:30px;border-radius:6px;cursor:pointer;transition:background .2s ease,color .2s ease,border .2s ease;display:inline-flex;align-items:center;justify-content:center;padding:0}.save-button.dirty{background:rgba(154,197,255,.12);border-color:rgba(154,197,255,.4);color:var(--color-accent)}.save-button svg{width:16px;height:16px}.save-status-text{font-size:.75rem;color:var(--color-text-dim);min-width:50px;text-align:right}.save-button:disabled{opacity:.4;cursor:not-allowed}.editor-container{position:relative;border:1px solid var(--color-border);border-radius:0;background:linear-gradient(135deg,rgba(21,24,27,.95),rgba(16,19,22,.95))}.editor-surface{padding:0;border-radius:inherit;background:var(--color-panel)}.editor,.editor-surface{position:relative;min-height:320px;overflow:auto}.editor{line-height:1.65;font-size:15px;letter-spacing:.1px;outline:none;caret-color:var(--color-accent);caret-shape:bar;caret-width:2px;white-space:pre-wrap;word-break:break-word;z-index:1;padding:1.25rem;border-radius:0;background:var(--color-panel-2);border-top:1px solid var(--color-border-soft)}.editor.hidden{display:none}.editor:empty:before{content:"Write Markdown here...";color:hsla(210,8%,71%,.85)}.editor:empty:after{content:"👻";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(232,234,237,.08);font-size:5rem;pointer-events:none}.ghost-inline{color:rgba(232,234,237,.38);pointer-events:none;font-style:normal;font-weight:400}.ghost-inline-structure,.ghost-inline.ghost-replacement.ghost-inline-structure,.ghost-inline.structure{color:rgba(232,234,237,.45)}.ghost-original{text-decoration:line-through;color:hsla(210,8%,71%,.65)}.preview-pane{min-height:320px;padding:1rem 1.25rem;color:#e2e5e9;line-height:1.65;overflow:auto;font-family:var(--font-body),"Inter",sans-serif;background:var(--color-panel-2);border-radius:0;border-top:1px solid var(--color-border-soft)}.preview-pane h1,.preview-pane h2,.preview-pane h3,.preview-pane h4,.preview-pane h5,.preview-pane h6{font-family:var(--font-heading),"Space Grotesk",sans-serif;letter-spacing:.03em;margin-top:1.4rem;margin-bottom:.75rem;color:#f0f1f2;font-variation-settings:"wght" 520}.preview-pane pre{background:#1f2328;padding:.9rem;border-radius:12px;overflow:auto;border:1px solid hsla(0,0%,100%,.06)}.preview-pane code{font-family:var(--font-mono),"JetBrains Mono",monospace;font-size:.95rem}.ghost-placeholder{opacity:.9;display:inline-block;min-width:2ch}.ghost-loading-dots{animation:ghostDots 5.4s steps(3) infinite}.ghost-loading-wave{animation:ghostWave 5s ease-in-out infinite}.ghost-loading-glow{animation:ghostGlow 5.8s ease-in-out infinite}@keyframes ghostDots{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}@keyframes ghostWave{0%{transform:translateY(0);opacity:.4}50%{transform:translateY(-2px);opacity:.9}to{transform:translateY(0);opacity:.4}}@keyframes ghostGlow{0%{text-shadow:0 0 0 rgba(148,163,184,.2);opacity:.5}50%{text-shadow:0 0 6px rgba(148,163,184,.6);opacity:1}to{text-shadow:0 0 0 rgba(148,163,184,.2);opacity:.5}}.editor,.preview-pane,button{transition:background .2s ease,border-color .2s ease}.editor:focus-visible,.preview-pane:focus-visible,button:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}button:hover:not(:disabled){background:hsla(0,0%,100%,.03)}button:active:not(:disabled){background:rgba(0,0,0,.1);border-top:1px solid hsla(0,0%,100%,.04)}button:disabled{opacity:.6;cursor:not-allowed}.editor::-webkit-scrollbar,.preview-pane::-webkit-scrollbar{width:8px}.editor::-webkit-scrollbar-track,.preview-pane::-webkit-scrollbar-track{background:var(--color-bg)}.editor::-webkit-scrollbar-thumb,.preview-pane::-webkit-scrollbar-thumb{background:#2b3036;border-radius:999px}.editor-surface:after{content:"";position:absolute;inset:0;background-image:linear-gradient(0deg,hsla(0,0%,100%,.03) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.03) 1px,transparent 0);background-size:28px 28px;pointer-events:none;opacity:.15;border-radius:inherit}.template-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,17,19,.9);z-index:2;pointer-events:auto}.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.75rem;gap:.75rem;padding:2rem;width:min(520px,90%)}.template-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;border:1px dashed var(--color-border);background:hsla(0,0%,100%,.02);border-radius:12px;padding:1rem;color:var(--color-text);cursor:pointer;transition:background .2s ease,border-color .2s ease}.template-card:hover{background:hsla(0,0%,100%,.04);border-color:var(--color-accent)}.template-icon{font-size:1.5rem}.template-icon svg{width:24px;height:24px}.file-context-menu{position:fixed;z-index:1000;background:var(--color-panel-2);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,.45);padding:.35rem 0;min-width:170px}.file-context-menu button{width:100%;background:transparent;border:none;color:var(--color-text);text-align:left;padding:.45rem .85rem;font-size:.85rem;cursor:pointer}.file-context-menu button:hover:not(:disabled){background:hsla(0,0%,100%,.05)}.file-context-menu button:disabled{opacity:.5;cursor:not-allowed}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:.75rem}