*{margin:0;padding:0;box-sizing:border-box}body:not(.preload) *{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease,text-shadow .3s ease}:root{--bg-primary: #e8e8e8;--bg-secondary: #f5f5f5;--bg-tertiary: #eee;--text-primary: #333;--text-secondary: #888;--border: #e0e0e0;--accent: #d0d0d0;--brand-pink: #e91e8c;--brand-purple: #7b3ff2;--brand-cyan: #00d4ff;--red: #e91e8c;--green: #00d4ff;--yellow: #e91e8c;--blue: #00d4ff;--purple: #7b3ff2;--aqua: #00d4ff;--orange: #7b3ff2;--gray: #999}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #242424;--bg-tertiary: #2a2a2a;--text-primary: #e0e0e0;--text-secondary: #999;--border: #3a3a3a;--accent: #444;--brand-pink: #ff2d96;--brand-purple: #9357ff;--brand-cyan: #00e5ff;--red: #ff2d96;--green: #00e5ff;--yellow: #ff2d96;--blue: #00e5ff;--purple: #9357ff;--aqua: #00e5ff;--orange: #9357ff;--gray: #888}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg-primary)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--bg-primary)}*::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}#app{display:flex;flex-direction:column;height:100vh;width:100vw}header{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;border-bottom:2px solid transparent;border-image:linear-gradient(90deg,var(--brand-pink) 0%,var(--brand-purple) 50%,var(--brand-cyan) 100%) 1;background:var(--bg-secondary);box-shadow:0 2px 8px #0000000d;overflow:visible;position:relative}header:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--brand-pink) 0%,var(--brand-purple) 16.67%,var(--brand-cyan) 33.33%,#00d4ff 41.67%,#9c4dff 58.33%,var(--brand-pink) 75%,var(--brand-purple) 91.67%,var(--brand-cyan) 100%);background-size:300% 100%;opacity:0;transition:opacity .3s ease}header.searching:after{opacity:1;animation:gradientSlide 2s linear infinite}header.searching{box-shadow:0 2px 8px #0000000d,0 0 20px #e91e8c26,0 0 40px #00d4ff1a}.app-logo.compact~.nav-controls~#new-btn~.breadcrumb~.actions,header:has(.app-logo.compact):after{opacity:1;animation:gradientSlide 3.3s linear forwards}header{transition:box-shadow .5s ease}header:hover{box-shadow:0 2px 8px #0000000d,0 0 20px #e91e8c26,0 0 40px #00d4ff1a}header:has(.app-logo.compact){box-shadow:0 2px 8px #0000000d,0 0 20px #e91e8c26,0 0 40px #00d4ff1a}@keyframes gradientSlide{0%{background-position:0% 0%}to{background-position:300% 0%}}.app-logo{display:flex;align-items:center;font-family:Oswald,Impact,sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:.056em;flex-shrink:0;filter:drop-shadow(0 0 6px rgb(233 30 140 / 42.1875%)) drop-shadow(0 0 12px rgb(255 45 150 / 28.125%)) drop-shadow(0 0 20px rgb(200 30 200 / 28.125%)) drop-shadow(0 0 30px rgb(100 120 220 / 22.5%)) drop-shadow(0 0 45px rgb(0 212 255 / 21.0938%))}[data-theme=dark] .app-logo{filter:drop-shadow(0 0 15px rgb(255 45 150 / 50%)) drop-shadow(0 0 25px rgb(255 45 150 / 40%)) drop-shadow(0 0 35px rgb(255 45 150 / 30%))}.app-logo span{display:inline-block;transition:opacity .8s ease;background:linear-gradient(135deg,#e91e8c,#ff2d96 30%,#00d4ff 70%,#00b8e6);background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px rgb(128 128 128 / 40%)}.app-logo span:nth-child(3){margin-right:.3em}[data-theme=dark] .app-logo span{background:linear-gradient(135deg,#00d4ff,#00e5ff 30%,#ff2d96 70%,#e91e8c);background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px rgb(255 255 255 / 30%)}body:not(.preload) .app-logo span{transition:opacity .8s ease,color .3s ease,text-shadow .3s ease}@keyframes letterDisappear{0%{opacity:1;width:auto;margin:0}to{opacity:0;width:0;margin:0}}@keyframes letterAppear{0%{opacity:0;width:0;margin:0}to{opacity:1;width:auto;margin:0}}.app-logo.compact:not(.animating) span:nth-child(2),.app-logo.compact:not(.animating) span:nth-child(3),.app-logo.compact:not(.animating) span:nth-child(5),.app-logo.compact:not(.animating) span:nth-child(6),.app-logo.compact:not(.animating) span:nth-child(7),.app-logo.compact:not(.animating) span:nth-child(8),.app-logo.compact:not(.animating) span:nth-child(9),.app-logo.compact:not(.animating) span:nth-child(10){opacity:0;width:0;margin:0}.app-logo.compact:not(.animating) span:nth-child(1){transform:scale(1.3);margin-right:.15em}.app-logo.compact:not(.animating) span:nth-child(3){margin-right:0}.app-logo.compact.animating span:nth-child(3){transition:margin-right .15s ease 1.2s;margin-right:0}.app-logo.compact:not(.animating) span:nth-child(4){transform:scale(1.3)}.app-logo.compact.animating span:nth-child(1),.app-logo.compact.animating span:nth-child(4){transform:scale(1);margin-right:0}.app-logo.compact.animating span:nth-child(2),.app-logo.compact.animating span:nth-child(3),.app-logo.compact.animating span:nth-child(5),.app-logo.compact.animating span:nth-child(6),.app-logo.compact.animating span:nth-child(7),.app-logo.compact.animating span:nth-child(8),.app-logo.compact.animating span:nth-child(9),.app-logo.compact.animating span:nth-child(10){opacity:1;width:auto;margin:0}.app-logo.expanded:not(.animating) span:nth-child(2),.app-logo.expanded:not(.animating) span:nth-child(3),.app-logo.expanded:not(.animating) span:nth-child(5),.app-logo.expanded:not(.animating) span:nth-child(6),.app-logo.expanded:not(.animating) span:nth-child(7),.app-logo.expanded:not(.animating) span:nth-child(8),.app-logo.expanded:not(.animating) span:nth-child(9),.app-logo.expanded:not(.animating) span:nth-child(10){opacity:1;width:auto;margin:0}.app-logo.expanded.animating span:nth-child(2),.app-logo.expanded.animating span:nth-child(3),.app-logo.expanded.animating span:nth-child(5),.app-logo.expanded.animating span:nth-child(6),.app-logo.expanded.animating span:nth-child(7),.app-logo.expanded.animating span:nth-child(8),.app-logo.expanded.animating span:nth-child(9),.app-logo.expanded.animating span:nth-child(10){opacity:0;width:0;margin:0}.app-logo.expanded span:nth-child(1){transform:scale(1);margin-right:0}.app-logo.expanded span:nth-child(3){margin-right:.3em!important}.app-logo.expanded.animating span:nth-child(3){transition:margin-right .15s ease 0s;margin-right:.3em!important}.app-logo.expanded span:nth-child(4){transform:scale(1)}.app-logo.compact.animating span:nth-child(10){animation:letterDisappear .15s ease 0s forwards}.app-logo.compact.animating span:nth-child(9){animation:letterDisappear .15s ease .15s forwards}.app-logo.compact.animating span:nth-child(8){animation:letterDisappear .15s ease .3s forwards}.app-logo.compact.animating span:nth-child(7){animation:letterDisappear .15s ease .45s forwards}.app-logo.compact.animating span:nth-child(6){animation:letterDisappear .15s ease .6s forwards}.app-logo.compact.animating span:nth-child(5){animation:letterDisappear .15s ease .75s forwards}.app-logo.compact.animating span:nth-child(3){animation:letterDisappear .15s ease .9s forwards}.app-logo.compact.animating span:nth-child(2){animation:letterDisappear .15s ease 1.05s forwards}.app-logo.expanded.animating span:nth-child(2){animation:letterAppear 75ms ease 0s forwards}.app-logo.expanded.animating span:nth-child(3){animation:letterAppear 75ms ease 75ms forwards}.app-logo.expanded.animating span:nth-child(5){animation:letterAppear 75ms ease .15s forwards}.app-logo.expanded.animating span:nth-child(6){animation:letterAppear 75ms ease .225s forwards}.app-logo.expanded.animating span:nth-child(7){animation:letterAppear 75ms ease .3s forwards}.app-logo.expanded.animating span:nth-child(8){animation:letterAppear 75ms ease .375s forwards}.app-logo.expanded.animating span:nth-child(9){animation:letterAppear 75ms ease .45s forwards}.app-logo.expanded.animating span:nth-child(10){animation:letterAppear 75ms ease .525s forwards}@keyframes accordionSpread{0%{transform:scale(.95);opacity:.7}50%{transform:scale(1.02);opacity:.85}to{transform:scale(1);opacity:1}}.app-logo.compact~.nav-controls{animation:accordionSpread .0625s ease 75ms forwards}.app-logo.compact~.nav-controls~#new-btn{animation:accordionSpread .0625s ease .125s forwards}.app-logo.compact~.nav-controls~#new-btn~.breadcrumb{animation:accordionSpread .0625s ease .225s forwards}.app-logo.compact~.nav-controls~#new-btn~.breadcrumb~.actions{animation:accordionSpread .0625s ease .325s forwards}.nav-controls{display:flex;gap:0;flex-shrink:0}.nav-controls button{padding:.3187rem .5313rem;min-width:1.7rem}#new-btn{padding:.3187rem .5313rem;min-width:1.7rem;margin-right:.75rem;flex-shrink:0}.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary);flex:1;overflow:auto visible;white-space:nowrap}.breadcrumb::-webkit-scrollbar{height:4px}.breadcrumb::-webkit-scrollbar-thumb{background:var(--accent);border-radius:2px}.breadcrumb::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.breadcrumb-item{position:relative;cursor:pointer;color:var(--text-secondary);transition:color .15s ease}.breadcrumb-item:hover{color:var(--brand-pink)}.breadcrumb-item:not(:last-child):after{content:"›";margin-left:.5rem;color:var(--border);cursor:default}.breadcrumb-item:last-child{color:var(--text-primary);font-weight:500}.breadcrumb-placeholder{color:var(--text-secondary);opacity:.5;font-weight:400;font-style:italic;cursor:default}.breadcrumb-ellipsis{color:var(--text-secondary);cursor:default;opacity:.7}.breadcrumb-ellipsis:hover{color:var(--text-secondary)}.breadcrumb-item.has-changes:after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--orange);margin-left:.375rem;vertical-align:middle;position:relative;top:-1px}.breadcrumb-input{background:transparent;border:none;outline:none;font-size:.875rem;font-family:inherit;color:var(--text-primary);font-weight:500;padding:0;min-width:150px;width:auto;position:relative;caret-color:transparent}.breadcrumb-cursor{position:absolute;top:0;display:inline-block;width:.7em;height:1.2em;background:var(--brand-pink);pointer-events:none;animation:cursor-blink 1.2s steps(2,start) infinite}[data-theme=dark] .breadcrumb-cursor{background:var(--brand-pink)}.breadcrumb-input::placeholder{color:var(--text-secondary);opacity:.5;font-weight:400}.autocomplete-container{position:relative;display:inline-block}.autocomplete-dropdown{position:fixed;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;max-height:200px;overflow-y:auto;z-index:10000;min-width:500px;max-width:800px;box-shadow:0 4px 12px #00000026}.autocomplete-item{padding:.5rem .75rem;cursor:pointer;font-size:.875rem;color:var(--text-primary);transition:background .15s ease;white-space:normal}.autocomplete-item-name{font-weight:500;color:var(--text-primary);line-height:1.4;display:flex;align-items:center;gap:.5rem}.autocomplete-item-name .material-symbols-outlined{font-size:1.125rem;color:var(--text-secondary);flex-shrink:0;transition:color .15s ease}.autocomplete-item:hover .material-symbols-outlined,.autocomplete-item.selected .material-symbols-outlined{color:var(--primary)}.autocomplete-item-path{font-size:.75rem;color:var(--text-secondary);margin-top:.125rem;line-height:1.3;opacity:.8}.autocomplete-item:hover,.autocomplete-item.selected{background:#e91e8c14}[data-theme=dark] .autocomplete-item:hover,[data-theme=dark] .autocomplete-item.selected{background:#ff2d961a}.breadcrumb-item:last-child:not(:only-child):after{content:"›";margin-left:.5rem;margin-right:.5rem;color:var(--border);cursor:default}.actions{display:flex;gap:0;flex-shrink:0;align-items:center}.autosave-toggle{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary);cursor:pointer;transition:color .15s ease;margin-right:.75rem}.autosave-toggle:hover{color:var(--text-primary)}.autosave-toggle input[type=checkbox]{width:1rem;height:1rem;cursor:pointer;accent-color:var(--brand-pink)}.autosave-toggle span{transition:opacity .5s ease,transform .5s ease}.autosave-toggle span.fade-out{opacity:0;transform:translate(-8px)}.autosave-toggle span.hidden{display:none}button{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:.3187rem .7438rem;font-size:.6906rem;font-family:inherit;cursor:pointer;border-radius:4px;transition:all .15s ease;font-weight:400}button:hover{background:var(--bg-secondary);border-color:var(--brand-pink);color:var(--brand-pink)}button:active{transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed}.material-symbols-outlined{font-size:1.0625rem;vertical-align:middle;line-height:1;user-select:none}#dark-mode-toggle .material-symbols-outlined{transform:scaleX(-1)}.nav-controls,.actions{display:flex;gap:0}.nav-controls button,.actions button:not(.hidden){border-radius:0;margin-left:-1px}.nav-controls button:first-child,.actions button:not(.hidden):first-of-type{border-top-left-radius:16px;border-bottom-left-radius:16px;margin-left:0}.nav-controls button:last-child,.actions button:not(.hidden):last-of-type{border-top-right-radius:16px;border-bottom-right-radius:16px}.actions button:not(.hidden):only-of-type{border-radius:16px}.nav-controls button:hover,.actions button:hover{position:relative;z-index:1}.version-banner{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border-bottom:1px solid var(--border);box-shadow:0 2px 8px #0000000d;z-index:100;max-height:60px;overflow:hidden;transition:max-height .3s ease,opacity .3s ease}.version-banner.hidden{max-height:0;opacity:0;border-bottom:none}.version-banner-content{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;gap:1rem}.version-banner-message{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-primary);font-weight:500}.version-banner-icon{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;background:linear-gradient(135deg,var(--brand-pink),var(--brand-purple));color:#fff;font-size:.875rem;font-weight:700;flex-shrink:0}.version-banner-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.version-banner-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:.3187rem .7438rem;font-size:.6906rem;font-family:inherit;cursor:pointer;border-radius:4px;transition:all .15s ease;font-weight:500;white-space:nowrap}.version-banner-btn-primary{background:var(--brand-pink);border-color:var(--brand-pink);color:#fff}.version-banner-btn-primary:hover{background:var(--brand-purple);border-color:var(--brand-purple);transform:translateY(-1px);box-shadow:0 2px 8px #e91e8c4d}.version-banner-btn-primary:active{transform:translateY(0)}.version-banner-btn-secondary{padding:.3187rem .5313rem;font-size:1.0625rem;line-height:1;min-width:auto}.version-banner-btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--text-secondary);color:var(--text-primary)}.version-banner-btn-secondary:active{transform:translateY(0)}@media(width<=768px){.version-banner-content{padding:.625rem 1rem;flex-direction:column;align-items:stretch;gap:.75rem}.version-banner-message{justify-content:center;font-size:.8125rem}.version-banner-actions{width:100%}.version-banner-btn{flex:1}.version-banner-btn-secondary{flex:0;min-width:2.5rem}}button:disabled:hover{background:transparent;border-color:var(--border);color:var(--text-secondary)}.file-picker{position:relative;background:var(--bg-secondary);border-bottom:1px solid var(--border);height:var(--file-picker-height, 300px);overflow-y:auto;z-index:10;box-shadow:0 2px 4px #0000001a}.hidden{display:none!important}.file-picker.hidden{display:none}.file-list{display:flex;flex-direction:column}.file-item{padding:0 16px;min-height:40px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s ease;display:flex;align-items:center;gap:8px;position:relative}.file-item:hover{background:#e91e8c14}[data-theme=dark] .file-item:hover{background:#ff2d961a}.file-item-icon{font-size:24px;width:24px;height:24px;text-align:center;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-item-name{font-size:16px;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-item.is-directory{font-weight:500}.file-item.is-directory .file-item-name{color:var(--text-secondary)}.file-item.has-unsaved-changes .file-item-name:after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--orange);margin-left:.5rem;vertical-align:middle;position:relative;top:-1px}.file-item-metadata{font-size:14px;color:var(--text-secondary);opacity:.7;margin-left:8px;white-space:nowrap;flex-shrink:0}.file-item:hover .file-item-metadata{opacity:.9}[data-theme=dark] .file-item-metadata{opacity:.8}[data-theme=dark] .file-item:hover .file-item-metadata{opacity:1}.file-item-lock{font-size:20px;width:20px;height:20px;color:var(--text-secondary);opacity:.6;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:8px}.file-item-delete{opacity:0;width:40px;height:40px;padding:8px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;margin-left:auto;display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-item-delete .material-symbols-outlined{font-size:24px}.file-item:hover .file-item-delete{opacity:1}.file-item-delete:hover{background:#f444441a;color:#f44;border-radius:50%}.file-item-delete:active{transform:scale(.9)}.file-item-delete-confirm{display:flex;align-items:center;gap:8px;margin-left:auto}.file-item-delete-confirm-text{font-size:14px;color:var(--text-secondary);white-space:nowrap}.file-item-delete-confirm-btn{width:40px;height:40px;padding:8px;border:none;background:transparent;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-item-delete-confirm-btn .material-symbols-outlined{font-size:24px}.file-item-delete-confirm-btn.confirm{color:#4caf50}.file-item-delete-confirm-btn.confirm:hover{background:#4caf501a;border-radius:50%}.file-item-delete-confirm-btn.cancel{color:var(--text-secondary)}.file-item-delete-confirm-btn.cancel:hover{background:#0000000d;border-radius:50%}[data-theme=dark] .file-item-delete-confirm-btn.cancel:hover{background:#ffffff0d}.file-item-delete-confirm-btn:active{transform:scale(.9)}.file-picker-resize-handle{height:8px;background:var(--border);cursor:ns-resize;position:relative;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease;z-index:10;user-select:none}.file-picker-resize-handle:hover{background:var(--accent)}.file-picker-resize-handle.dragging{background:var(--brand-pink);box-shadow:0 2px 4px #e91e8c33}[data-theme=dark] .file-picker-resize-handle.dragging{box-shadow:0 2px 4px #ff2d9640}.file-picker-resize-handle .resize-grip{font-size:16px;color:var(--text-secondary);opacity:.4;transition:opacity .15s ease;pointer-events:none;transform:rotate(90deg)}.file-picker-resize-handle:hover .resize-grip{opacity:.7}.file-picker-resize-handle.dragging .resize-grip{opacity:1;color:var(--brand-pink)}.snackbar{position:fixed;bottom:24px;left:24px;background:#323232;color:#fff;padding:14px 16px;border-radius:4px;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;display:flex;align-items:center;gap:24px;z-index:1000;font-size:14px;min-width:288px;max-width:568px;opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.snackbar.visible{opacity:1;transform:translateY(0);pointer-events:auto}[data-theme=dark] .snackbar{background:#3e3e3e}.snackbar-message{flex:1}.snackbar-action{background:transparent;border:none;color:#4caf50;font-size:14px;font-weight:500;text-transform:uppercase;cursor:pointer;padding:8px;margin:-8px -4px -8px 0;letter-spacing:.5px;transition:background .15s ease;border-radius:4px;flex-shrink:0}.snackbar-action:hover{background:#4caf501a}.snackbar-action:active{background:#4caf5033}.welcome-content{padding:3rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem}.welcome-text{font-size:.875rem;color:var(--text-secondary);max-width:400px;line-height:1.6}.welcome-actions{display:flex;gap:1rem}.welcome-btn{background:var(--bg-secondary);border:1px solid var(--brand-pink);color:var(--brand-pink);padding:.6375rem 1.275rem;font-size:.875rem;font-family:inherit;cursor:pointer;border-radius:4px;transition:all .15s ease;font-weight:400;box-shadow:0 1px 3px #0000001f;display:flex;align-items:center;gap:.5rem}.welcome-btn:hover{background:var(--brand-pink);color:#fff;border-color:var(--brand-pink);transform:translateY(-1px);box-shadow:0 4px 8px #e91e8c66}.welcome-btn .material-symbols-outlined{font-size:1.125rem}.welcome-btn:active{transform:translateY(0)}#editor{flex:1;overflow:auto;padding:1.5rem;transition:filter .2s ease}#editor.blurred{filter:blur(3px);opacity:.7}.cm-editor{height:100%;background:var(--bg-primary);font-size:.9375rem;font-family:MesloLGS NF,Meslo LG,Menlo,Monaco,Courier New,monospace}.cm-placeholder{color:var(--text-secondary);opacity:.6;font-style:italic}.cm-scroller{overflow:auto;line-height:1.6}.cm-gutters{background:var(--bg-primary);border-right:none;color:#aaa;padding-right:.5rem;opacity:1}.cm-activeLineGutter{background:var(--bg-primary);opacity:1}.cm-lineNumbers .cm-gutterElement{padding:0 .75rem;font-size:.75rem;min-width:2.5rem;text-align:right;color:#aaa}[data-theme=dark] .cm-gutters{background:var(--bg-primary);border-right:none;color:#3d3d3d}[data-theme=dark] .cm-lineNumbers .cm-gutterElement{color:#3d3d3d}[data-theme=dark] .cm-activeLineGutter{background:var(--bg-primary)}.cm-line{padding:0 .5rem}.cm-activeLine{background:#00d4ff14!important}[data-theme=dark] .cm-activeLine{background:#00e5ff14!important}.cm-selectionBackground{background:var(--bg-tertiary)!important}.cm-focused .cm-selectionBackground{background:#e91e8c26!important}.cm-cursor{border-left:none!important;width:.7em!important;background:var(--brand-pink)!important;animation:cursor-blink 1.2s steps(2,start) infinite}[data-theme=dark] .cm-cursor{background:var(--brand-pink)!important}@keyframes cursor-blink{0%,70%{opacity:1}70.01%,to{opacity:0}}.cm-content{caret-color:var(--brand-pink)}[data-theme=dark] .cm-content{caret-color:#e0e0e0}.ͼ1.cm-focused{outline:none}.cm-keyword{color:var(--red);font-weight:500}.cm-operator{color:var(--orange)}.cm-variable,.cm-variableName{color:var(--blue)}.cm-string{color:var(--green)}.cm-number,.cm-bool{color:var(--purple)}.cm-comment{color:var(--gray);font-style:italic}.cm-tag{color:var(--aqua)}.cm-attribute{color:var(--yellow)}.cm-property{color:var(--aqua)}.cm-propertyName{color:var(--blue)}.cm-function{color:var(--green);font-weight:500}.cm-className,.cm-typeName{color:var(--yellow)}.cm-name{color:var(--aqua)}.cm-regexp{color:var(--orange)}.cm-escape{color:var(--red)}.cm-meta{color:var(--aqua)}.cm-bracket,.cm-punctuation{color:var(--text-secondary)}.cm-definition{color:var(--yellow)}.cm-local{color:var(--blue)}.cm-constant{color:var(--purple)}@media(width<=768px){header{padding:.5rem 1rem;gap:.5rem}.breadcrumb{font-size:.8125rem}.nav-controls button{padding:.25rem .5rem;font-size:.75rem}#new-btn{padding:.25rem .5rem;font-size:.75rem;margin-right:.5rem}.actions button{padding:.25rem .625rem;font-size:.75rem}#editor{padding:1rem}.cm-editor{font-size:.875rem}.file-item{padding:.5rem 1rem}.welcome-content{padding:2rem 1rem}.welcome-actions{flex-direction:column;width:100%;max-width:300px}.welcome-btn{width:100%}}.milkdown{min-height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:1rem;line-height:1.6;padding:0 15% 0 1.5rem;display:flex;justify-content:flex-start}.milkdown>*{width:100%;max-width:none}@media(width<=768px){.milkdown>*{max-width:95%}}.milkdown .editor{min-height:100%;outline:none}.milkdown .ProseMirror{outline:none;min-height:0;padding:2rem 0 7rem}.milkdown .ProseMirror-focused{outline:none}.milkdown h1{font-size:2em;font-weight:600;color:var(--text-primary);margin:1.5rem 0 1rem;line-height:1.2}.milkdown h2{font-size:1.5em;font-weight:600;color:var(--text-primary);margin:1.25rem 0 .75rem;line-height:1.3}.milkdown h3{font-size:1.25em;font-weight:600;color:var(--text-primary);margin:1rem 0 .5rem;line-height:1.4}.milkdown h4,.milkdown h5,.milkdown h6{font-size:1em;font-weight:600;color:var(--text-primary);margin:.75rem 0 .5rem}.milkdown p{margin:.5rem 0}.milkdown ul,.milkdown ol{margin:.5rem 0;padding-left:2rem;color:var(--text-primary)}.milkdown li{margin:.25rem 0}.milkdown code{background:var(--bg-tertiary);color:var(--brand-purple);padding:.125rem .25rem;border-radius:3px;font-family:MesloLGS NF,Meslo LG,Menlo,Monaco,Courier New,monospace;font-size:.9em}.milkdown pre{background:var(--bg-tertiary);color:var(--text-primary);padding:1rem;border-radius:4px;overflow-x:auto;margin:.5rem 0;font-family:MesloLGS NF,Meslo LG,Menlo,Monaco,Courier New,monospace}.milkdown pre code{background:none;padding:0;color:inherit}.milkdown a{color:var(--brand-purple);text-decoration:underline}.milkdown a:hover{color:var(--brand-pink)}.milkdown strong{font-weight:600;color:var(--text-primary)}.milkdown em{font-style:italic;color:var(--text-secondary)}.milkdown blockquote{border-left:4px solid var(--border);padding-left:1rem;margin:.5rem 0;color:var(--text-secondary);font-style:italic}.milkdown hr{border:none;border-top:1px solid var(--border);margin:1.5rem 0}.milkdown table{border-collapse:collapse;width:100%;margin:.5rem auto}.milkdown th,.milkdown td{border:1px solid var(--border);padding:.5rem;text-align:left}.milkdown th{background:var(--bg-tertiary);font-weight:600}.milkdown .ProseMirror-cursor{background:var(--gray)}.milkdown.theme-nord{--nord-bg: var(--bg-primary);--nord-fg: var(--text-primary)}#editor.syncing{filter:blur(2px);opacity:.6;transition:filter .3s ease,opacity .3s ease;pointer-events:none}@keyframes sync-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.98)}}@keyframes sync-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}#breadcrumb.syncing{animation:sync-pulse 1s ease-in-out infinite;position:relative;overflow:hidden}#breadcrumb.syncing:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgb(138 180 248 / 15%) 50%,transparent 100%);background-size:200% 100%;animation:sync-shimmer 1.5s ease-in-out infinite;pointer-events:none}.file-reload-toast{position:fixed;bottom:20px;right:20px;background:var(--bg-secondary);color:var(--text-secondary);padding:8px 16px;border-radius:6px;border:1px solid var(--border);box-shadow:0 2px 8px #00000014;font-size:13px;opacity:0;transform:translateY(10px);transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);z-index:10000;pointer-events:none;backdrop-filter:blur(8px)}.file-reload-toast.show{opacity:.9;transform:translateY(0)}#editor-wrapper{display:flex;flex-direction:column;flex:1;overflow:hidden;position:relative}.markdown-sidebar{display:flex;flex-direction:column;width:300px;background:var(--bg-primary);border-right:1px solid var(--border);user-select:none;overflow:hidden auto;flex-shrink:0;padding:20px .5em;gap:28px}.markdown-sidebar.hidden{display:none}.markdown-toc{display:flex;flex-direction:column;gap:16px}.toc-title{font-size:11px;font-weight:600;color:var(--text-secondary);margin:0;padding:0 8px 6px;text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border)}.toc-content,.toc-item-container{display:flex;flex-direction:column;gap:2px}.toc-item-container.hidden{display:none}.toc-item{display:flex;align-items:center;gap:6px;padding:8px;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:13px;line-height:1.4;color:var(--text-primary);min-height:36px;user-select:none}.toc-item:hover{background-color:var(--bg-secondary)}.toc-item:active{transform:scale(.98)}.toc-chevron{font-size:16px;color:var(--text-secondary);cursor:pointer;user-select:none;transition:color .2s ease;flex-shrink:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center}.toc-chevron:hover{color:var(--text-primary)}.toc-chevron-spacer{width:16px;flex-shrink:0}.toc-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;user-select:none}.toc-text:hover{color:var(--brand)}.toc-empty{font-size:13px;color:var(--text-secondary);padding:16px 12px;margin:0;font-style:italic;text-align:center}.suggested-links{display:flex;flex-direction:column;gap:16px}.suggested-links-title{font-size:12px;font-weight:600;color:var(--text-secondary);margin:0;padding:0 12px 8px;text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border)}.suggested-links-content{display:flex;flex-direction:column;gap:4px}.suggested-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px;line-height:1.5;color:var(--text-primary);min-height:40px;user-select:none}.suggested-link:hover{background-color:var(--bg-secondary)}.suggested-link:active{transform:scale(.98)}.suggested-link .material-symbols-outlined{font-size:18px;color:var(--text-secondary);flex-shrink:0}.suggested-link-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggested-links-empty{font-size:13px;color:var(--text-secondary);padding:16px 12px;margin:0;font-style:italic;text-align:center}.suggested-links-mobile{display:none;padding:24px 16px;background:var(--bg-primary);border-top:1px solid var(--border);gap:16px}.suggested-links-mobile.hidden{display:none!important}@media(width>=769px){#editor-wrapper{flex-direction:row;width:100%}#editor{flex:1;overflow:hidden auto}.markdown-sidebar{order:-1}.suggested-links-mobile{display:none!important}}@media(width<=768px){#editor-wrapper{flex-direction:column}.markdown-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border);max-height:40vh;order:-1;padding:16px;gap:24px}.markdown-sidebar .suggested-links{display:none}#editor{flex:1;overflow-y:auto;order:0}.suggested-links-mobile{display:flex;flex-direction:column;gap:16px;order:1}.suggested-links-mobile.hidden{display:none!important}}.app-footer{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;font-size:.75rem;color:var(--text-secondary);opacity:.5;transition:opacity .2s ease;z-index:10}.app-footer:hover{opacity:.8}.app-footer.hidden{display:none}.footer-separator{opacity:.3}.footer-link{color:var(--text-secondary);text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color .2s ease}.footer-link:hover{color:var(--brand-pink)}.footer-link svg{vertical-align:middle}body[data-has-workspace=true] .app-footer{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.comment-highlight{outline:2px solid var(--comment-highlight-color);outline-offset:-1px;border-radius:2px;background-color:var(--comment-highlight-bg);cursor:pointer;transition:all .2s ease}.comment-highlight:hover{outline-width:3px;background-color:var(--comment-highlight-bg-hover)}.comment-highlight.active{outline:3px solid var(--comment-highlight-active-color);background-color:var(--comment-highlight-active-bg)}.comment-toolbar{position:fixed;z-index:1000;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:4px;box-shadow:0 2px 8px #00000026;display:none;pointer-events:auto}.comment-toolbar.visible{display:flex;align-items:center;gap:4px}.comment-toolbar-btn{padding:6px 12px;background:#ff69b4;color:#fff;border:1px solid #ff1493;border-radius:4px;cursor:pointer;font-size:13px;font-family:inherit;display:flex;align-items:center;gap:6px;transition:all .2s ease}.comment-toolbar-btn:hover{background:#ff1493;border-color:#ff1493;color:#fff}.comment-toolbar-btn:active{transform:scale(.98)}.comment-panel{position:fixed;z-index:2000;width:380px;max-height:500px;background:var(--bg-secondary, #f5f5f5);border:1px solid var(--border, #ddd);border-radius:8px;box-shadow:0 4px 20px #0003;display:none;flex-direction:column;overflow:hidden}:root[data-theme=dark] .comment-panel,body.dark .comment-panel{background:var(--bg-secondary, #242424);border-color:var(--border, #333)}.comment-panel.visible{display:flex}.comment-panel-header{padding:12px 16px;border-bottom:1px solid var(--border, #ddd);display:flex;justify-content:space-between;align-items:center;background:var(--bg-tertiary, #eee);cursor:move}.comment-panel-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.comment-panel-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;font-size:18px;line-height:1;transition:color .2s ease}.comment-panel-close:hover{color:var(--text-primary)}.comment-panel-body{padding:16px;overflow-y:auto;flex:1}.comment-thread{display:flex;flex-direction:column;gap:12px}.comment-item{display:flex;flex-direction:column;gap:8px}.comment-header{display:flex;justify-content:space-between;align-items:center}.comment-user{font-size:13px;font-weight:600;color:var(--brand-pink)}.comment-timestamp{font-size:11px;color:var(--text-secondary)}.comment-text{font-size:13px;color:var(--text-primary);line-height:1.5;overflow-wrap:break-word;white-space:pre-wrap}.comment-actions{display:flex;gap:8px;margin-top:4px}.comment-action-btn{padding:4px 8px;font-size:11px;color:var(--text-secondary);background:none;border:1px solid var(--border);border-radius:3px;cursor:pointer;transition:all .2s ease}.comment-action-btn:hover{color:var(--text-primary);background:var(--bg-secondary)}.comment-reply-form{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.comment-input{width:100%;padding:8px;border:1px solid var(--border);border-radius:4px;font-size:13px;font-family:inherit;color:var(--text-primary);background:var(--bg-primary);resize:vertical;min-height:60px;margin-bottom:8px}.comment-input:focus{outline:none;border-color:var(--brand-pink)}.comment-form-actions{display:flex;gap:8px;justify-content:flex-end}.comment-submit-btn{padding:6px 14px;background:#ff69b4;color:#fff;border:1px solid #ff1493;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.comment-submit-btn:hover{background:#ff1493;border-color:#ff1493;color:#fff}.comment-submit-btn:disabled{opacity:.5;cursor:not-allowed}.comment-item.resolved{opacity:.6}.comment-item.resolved .comment-text{text-decoration:line-through}.comment-empty-state{text-align:center;padding:32px 16px;color:var(--text-secondary);font-size:13px}:root{--comment-highlight-color: rgb(74 144 226 / 60%);--comment-highlight-bg: rgb(74 144 226 / 8%);--comment-highlight-bg-hover: rgb(74 144 226 / 15%);--comment-highlight-active-color: rgb(74 144 226 / 90%);--comment-highlight-active-bg: rgb(74 144 226 / 20%)}[data-theme=dark]{--comment-highlight-color: rgb(139 186 239 / 70%);--comment-highlight-bg: rgb(139 186 239 / 10%);--comment-highlight-bg-hover: rgb(139 186 239 / 18%);--comment-highlight-active-color: rgb(139 186 239 / 95%);--comment-highlight-active-bg: rgb(139 186 239 / 25%)}.skeletal-loader{padding:8px 0}.skeletal-line{height:14px;background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--accent) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:3px;margin-bottom:8px}.skeletal-line:last-child{margin-bottom:0}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
