.toast{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);z-index:100;opacity:0;pointer-events:none;align-items:center;gap:8px;padding:10px 16px;font-size:13px;transition:all .2s;display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(8px);box-shadow:0 4px 20px #0006}.toast.show{opacity:1;transform:translateY(0)}.toast.success:before{content:"✓";color:var(--green);font-weight:600}.toast.error:before{content:"✕";color:var(--danger);font-weight:600}.toast.info:before{content:"·";color:var(--accent);font-weight:600}@media (width<=640px){.toast{font-size:12px;bottom:16px;left:16px;right:16px}}.btn-google{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);cursor:pointer;align-items:center;gap:10px;margin-top:8px;padding:10px 20px;font-family:DM Sans,sans-serif;font-size:14px;transition:all .15s;display:flex}.btn-google:hover{border-color:var(--accent);color:var(--accent)}.btn-google svg{flex-shrink:0;width:18px;height:18px}.btn-google-sm{margin-top:0;padding:5px 12px;font-size:12px}.btn-google-sm svg{width:14px;height:14px}.auth-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;padding:24px;display:flex}.auth-logo{color:var(--accent);font-family:Crimson Pro,serif;font-size:52px;font-style:italic;font-weight:600;line-height:1}.auth-logo span{color:var(--text-dim);font-weight:300}.auth-tagline{color:var(--text-muted);text-align:center;max-width:300px;font-size:14px;line-height:1.6}.md-body{color:var(--text);font-family:Crimson Pro,serif;font-size:18px;line-height:1.75}.md-body h1,.md-body h2,.md-body h3,.md-body h4{color:var(--text);margin:1.6em 0 .5em;font-family:Crimson Pro,serif;font-weight:600;line-height:1.3}.md-body h1{border-bottom:1px solid var(--border);padding-bottom:.3em;font-size:2em}.md-body h2{border-bottom:1px solid var(--border);padding-bottom:.2em;font-size:1.5em}.md-body h3{font-size:1.25em}.md-body p{margin:.8em 0}.md-body a{color:var(--accent);border-bottom:1px solid var(--accent-dim);text-decoration:none}.md-body a:hover{border-bottom-color:var(--accent)}.md-body code{background:var(--surface2);border:1px solid var(--border);color:#c79ac7;border-radius:3px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:.82em}.md-body pre{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);margin:1.2em 0;padding:18px 20px;overflow-x:auto}.md-body pre code{color:#b8c0cc;background:0 0;border:none;padding:0;font-size:13.5px;line-height:1.6}.md-body blockquote{border-left:3px solid var(--accent);color:var(--text-dim);margin:1.2em 0;padding:4px 20px;font-style:italic}.md-body ul,.md-body ol{margin:.8em 0;padding-left:1.5em}.md-body li{margin:.3em 0}.md-body table{border-collapse:collapse;width:100%;margin:1.2em 0;font-size:.95em}.md-body th,.md-body td{border:1px solid var(--border);text-align:left;padding:8px 14px}.md-body th{background:var(--surface2);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-family:DM Sans,sans-serif;font-size:12px;font-weight:500}.md-body tr:nth-child(2n){background:#ffffff05}.md-body hr{border:none;border-top:1px solid var(--border);margin:2em 0}.md-body img{border-radius:var(--radius);max-width:100%}@media (width<=640px){.md-body{font-size:16px}}.fontlab{--bg:#0b0f0b;--surface:#0f170f;--surface2:#13231a;--border:#2f6d2f;--border-hover:#39ff6a;--text:#c8ffc8;--text-muted:#4f8f52;--text-dim:#7fcf7f;--accent:#39ff6a;--accent-dim:#39ff6a2e;--accent-dim2:#39ff6a14;--danger:#ff5c5c;--danger-dim:#ff5c5c1f;--green:#39ff6a;--radius:0;background:var(--bg);height:100vh;color:var(--text);flex-direction:column;font-family:FontLab ProggyCleanMono,monospace;display:flex;overflow:hidden}.fontlab-header{border-bottom:2px solid var(--border);background:var(--surface);flex-shrink:0;align-items:baseline;gap:16px;padding:14px 20px;display:flex}.fontlab-back{color:var(--text-dim);flex-shrink:0;font-size:13px;text-decoration:none}.fontlab-back:hover{color:var(--accent)}.fontlab-header h1{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);flex:1;font-size:15px;font-weight:400}.fontlab-hint{color:var(--text-muted);font-size:11px}.fontlab-body{flex:1;min-height:0;display:flex}.fontlab-fonts,.fontlab-notes{flex-direction:column;flex-shrink:0;gap:4px;width:220px;padding:10px;display:flex;overflow-y:auto}.fontlab-fonts{border-right:2px solid var(--border)}.fontlab-notes{border-left:2px solid var(--border)}.fontlab-notes-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:4px 8px 8px;font-size:10px}.fontlab-font-option,.fontlab-note{text-align:left;color:var(--text-dim);cursor:pointer;-webkit-font-smoothing:none;font-smooth:never;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:8px 10px;font-size:13px;line-height:1.3;display:flex}.fontlab-font-option{font-family:var(--option-font,inherit)}.fontlab-font-option:hover,.fontlab-note:hover{border-color:var(--border);color:var(--text)}.fontlab-font-option.active,.fontlab-note.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim2)}.fontlab-font-index{color:var(--text-muted);font-size:11px}.fontlab-font-option.active .fontlab-font-index{color:var(--accent)}.fontlab-preview{-webkit-font-smoothing:none;font-smooth:never;flex:1;min-width:0;padding:32px 48px;overflow-y:auto}.fontlab-preview .md-body,.fontlab-preview .md-body *{font-family:inherit}.fontlab-preview .md-body code{color:var(--accent)}.fontlab-preview .md-body pre code{color:var(--text)}.fontlab-doc-title{color:var(--accent);letter-spacing:.02em;margin-bottom:.6em;font-size:22px}.fontlab-empty{color:var(--text-muted);padding:20px 0}@media (width<=640px){.fontlab-header{flex-wrap:wrap;padding:12px 16px}.fontlab-body{flex-direction:column;overflow-y:auto}.fontlab-fonts,.fontlab-notes{border:none;border-bottom:2px solid var(--border);flex-flow:wrap;width:auto}.fontlab-preview{padding:20px 18px}}.doc-view{flex-direction:column;flex:1;display:flex;overflow:hidden}.doc-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 32px 16px;display:flex}.doc-folder{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:11px;overflow:hidden}.doc-title{color:var(--text);font-family:Crimson Pro,serif;font-size:26px;font-weight:600;line-height:1.2}.doc-meta{color:var(--text-muted);margin-top:4px;font-family:JetBrains Mono,monospace;font-size:11px}.doc-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;padding-top:2px;display:flex}.folder-select{text-overflow:ellipsis;background:var(--surface);appearance:auto;max-width:180px}.btn-back{color:var(--text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;align-items:center;gap:4px;margin-bottom:4px;padding:6px 10px;font-family:DM Sans,sans-serif;font-size:13px;transition:all .15s;display:none}.btn-back:hover{color:var(--text)}.doc-scroll{flex:1;overflow-y:auto}.doc-scroll::-webkit-scrollbar{width:4px}.doc-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.doc-content{width:100%;max-width:860px;padding:32px 48px}@media (width<=640px){.btn-back{display:flex}.doc-header{flex-wrap:wrap;gap:10px;padding:14px 16px 12px}.doc-title{font-size:20px}.doc-meta{font-size:10px}.doc-actions{justify-content:flex-end;width:100%}.doc-content{padding:20px 18px}}.public-view{flex-direction:column;flex:1;display:flex;overflow:hidden}.public-header{height:52px;padding:0 24px;padding-top:env(safe-area-inset-top);height:calc(52px + env(safe-area-inset-top));border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:flex-end;padding-bottom:10px;display:flex}.public-header-right{align-items:center;gap:12px;display:flex}.public-branding{color:var(--accent);letter-spacing:-.5px;font-family:Crimson Pro,serif;font-size:20px;font-weight:600}.public-branding span{color:var(--text-dim);font-weight:300}.public-badge{background:var(--accent-dim2);border:1px solid var(--accent-dim);color:var(--accent);white-space:nowrap;border-radius:2px;padding:3px 10px;font-size:11px}.pwd-gate{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex}.pwd-gate-icon{font-size:40px;line-height:1}.pwd-gate h2{font-family:Crimson Pro,serif;font-size:24px;font-weight:600}.pwd-gate p{color:var(--text-muted);text-align:center;max-width:280px;font-size:13px;line-height:1.5}.pwd-gate-form{gap:8px;margin-top:4px;display:flex}.pwd-gate-input{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);outline:none;width:200px;padding:8px 14px;font-family:JetBrains Mono,monospace;font-size:14px;transition:border-color .15s}.pwd-gate-input:focus{border-color:var(--accent)}.pwd-gate-error{color:var(--danger);font-size:12px}@media (width<=640px){.public-header{padding:12px 18px}}.settings-panel{background:var(--surface);border-left:1px solid var(--border);border-bottom:1px solid var(--border);z-index:30;border-bottom-left-radius:8px;width:280px;animation:.15s slideDown;position:fixed;top:52px;right:0;box-shadow:-4px 8px 32px #00000040}.settings-section{border-bottom:1px solid var(--border);padding:16px 20px}.settings-section:last-child{border-bottom:none}.settings-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;font-size:10px;font-weight:500;display:block}.theme-options{flex-wrap:wrap;gap:8px;display:flex}.theme-option{cursor:pointer;border-radius:var(--radius);border:1px solid var(--border);background:0 0;flex-direction:column;flex:72px;align-items:center;gap:7px;padding:8px 4px;font-family:DM Sans,sans-serif;transition:all .15s;display:flex}.theme-option:hover{border-color:var(--border-hover)}.theme-option.active{border-color:var(--accent);background:var(--accent-dim2)}.theme-swatch{border:1px solid #80808033;border-radius:3px;width:40px;height:26px;overflow:hidden}.theme-swatch-dark{background:linear-gradient(135deg,#0f0f0f 50%,#161616 50%);width:100%;height:100%}.theme-swatch-light{background:linear-gradient(135deg,#fff 50%,#f5f5f4 50%);width:100%;height:100%}.theme-swatch-sepia{background:linear-gradient(135deg,#f4efe6 50%,#ede7da 50%);width:100%;height:100%}.theme-swatch-pixel{background:linear-gradient(135deg,#0b0f0b 50%,#0f170f 50%);width:100%;height:100%;position:relative}.theme-swatch-pixel:after{content:"";background:radial-gradient(circle at 30% 30%,#39ff6a 0 3px,#0000 4px);position:absolute;inset:0;box-shadow:inset 0 0 0 8px #0000}.theme-swatch-pixel-light{background:linear-gradient(135deg,#eef6ec 50%,#e2f0dd 50%);width:100%;height:100%;position:relative}.theme-swatch-pixel-light:after{content:"";background:radial-gradient(circle at 30% 30%,#1f8a3d 0 3px,#0000 4px);position:absolute;inset:0}.theme-swatch-pixel-amber{background:linear-gradient(135deg,#140d02 50%,#1c1204 50%);width:100%;height:100%;position:relative}.theme-swatch-pixel-amber:after{content:"";background:radial-gradient(circle at 30% 30%,#ffb000 0 3px,#0000 4px);position:absolute;inset:0}.theme-swatch-pixel-notes{background:linear-gradient(135deg,#fefce8 50%,#fcefd4 50%);width:100%;height:100%;position:relative}.theme-swatch-pixel-notes:after{content:"";background:radial-gradient(circle at 30% 30%,#cc8400 0 3px,#0000 4px);position:absolute;inset:0}.theme-name{color:var(--text-dim);font-size:11px}.theme-option.active .theme-name{color:var(--accent)}.font-options{flex-direction:column;gap:4px;display:flex}.font-option{text-align:left;cursor:pointer;border-radius:var(--radius);border:1px solid var(--border);color:var(--text-dim);font-size:13px;font-family:var(--option-font,inherit);background:0 0;padding:8px 10px;transition:all .15s}.font-option:hover{border-color:var(--border-hover);color:var(--text)}.font-option.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim2)}.settings-user{align-items:center;gap:10px;display:flex}.settings-user-info{flex:1;min-width:0}.settings-user-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.settings-user-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.settings-avatar{border:1px solid var(--border);object-fit:cover;border-radius:50%;flex-shrink:0;width:36px;height:36px}.settings-avatar-ph{background:var(--surface2);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.settings-signout{justify-content:center;width:100%;margin-top:12px;font-size:12px}@media (width<=640px){.settings-panel{border-left:none;border-right:none;border-radius:0;width:100%}}.topbar{height:52px;padding-top:env(safe-area-inset-top);height:calc(52px + env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border);z-index:20;flex-shrink:0;align-items:flex-end;gap:12px;padding-bottom:10px;padding-left:20px;padding-right:20px;display:flex}.topbar-logo{color:var(--accent);letter-spacing:-.5px;font-family:Crimson Pro,serif;font-size:22px;font-weight:600}.topbar-logo span{color:var(--text-dim);font-weight:300}.topbar-sep{background:var(--border);width:1px;height:20px}.topbar-hint{color:var(--text-muted);font-size:12px}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.btn-menu{color:var(--text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:6px 8px;font-size:18px;line-height:1;transition:all .15s;display:none}.btn-menu:hover{color:var(--text);background:var(--surface2)}.settings-btn{cursor:pointer;color:var(--text-muted);border-radius:var(--radius);background:0 0;border:none;align-items:center;padding:6px 8px;line-height:1;transition:all .15s;display:flex}.settings-btn:hover{color:var(--text);background:var(--surface2)}.settings-btn-icon{width:17px;height:14px}@media (width<=640px){.btn-menu{justify-content:center;align-items:center;display:flex}.topbar-sep,.topbar-hint{display:none}}.overlay{z-index:50;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:6px;width:90%;max-width:380px;padding:28px 32px;box-shadow:0 20px 60px #00000080}.dialog h3{margin-bottom:8px;font-family:Crimson Pro,serif;font-size:20px;font-weight:600}.dialog p{color:var(--text-muted);margin-bottom:20px;font-size:13.5px;line-height:1.5}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}@media (width<=640px){.dialog{padding:20px}.dialog h3{font-size:18px}}.edit-mode{flex-direction:column;flex:1;display:flex;overflow:hidden}.edit-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:14px 24px;display:flex}.edit-folder{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;max-width:200px;font-size:12px;overflow:hidden}.filename-input{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);outline:none;width:280px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:13px;transition:border-color .15s}.filename-input:focus{border-color:var(--accent)}.filename-input::placeholder{color:var(--text-muted)}.edit-tabs{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);margin-left:auto;display:flex;overflow:hidden}.tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:5px 14px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;transition:all .15s}.tab-btn.active{background:var(--accent-dim);color:var(--accent)}.tab-btn:hover:not(.active){color:var(--text)}.edit-area{flex:1;display:flex;overflow:hidden}.editor-pane,.preview-pane{flex-direction:column;flex:1;display:flex;overflow:hidden}.editor-pane.hidden{display:none}textarea.editor{background:var(--bg);color:var(--text);resize:none;tab-size:2;border:none;outline:none;flex:1;padding:28px 36px;font-family:JetBrains Mono,monospace;font-size:13.5px;line-height:1.7}textarea.editor::-webkit-scrollbar{width:4px}textarea.editor::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.preview-pane .doc-content{padding:28px 36px}.edit-footer{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:10px;padding:12px 24px;display:flex}.char-count{color:var(--text-muted);margin-right:auto;font-family:JetBrains Mono,monospace;font-size:11px}@media (width<=640px){.edit-header{flex-wrap:wrap;gap:8px;padding:10px 14px}.filename-input{order:1;width:100%;font-size:12px}.edit-tabs{order:2;margin-left:0}textarea.editor{padding:16px 18px;font-size:13px}.preview-pane .doc-content{padding:16px 18px}.edit-footer{flex-wrap:wrap;gap:8px;padding:10px 14px}.char-count{order:3;width:100%;margin-right:0}}.empty-state{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.empty-glyph{color:var(--border);font-family:Crimson Pro,serif;font-size:72px;font-style:italic;line-height:1}.empty-state h2{color:var(--text-dim);font-family:Crimson Pro,serif;font-size:22px;font-weight:400}.empty-state p{color:var(--text-muted);font-size:13px}.empty-state .btn{margin-top:8px}@media (width<=640px){.empty-state{padding:0 24px}.empty-glyph{font-size:52px}.empty-state h2{font-size:18px}}.toggle{flex-shrink:0;width:36px;height:20px;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle-track{background:var(--border);cursor:pointer;border-radius:10px;transition:background .2s;position:absolute;inset:0}.toggle input:checked+.toggle-track{background:var(--green)}.toggle input:disabled+.toggle-track{cursor:not-allowed;opacity:.5}.toggle-thumb{pointer-events:none;background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle input:checked~.toggle-thumb{transform:translate(16px)}.share-panel{background:var(--surface);border-left:1px solid var(--border);border-bottom:1px solid var(--border);z-index:30;border-bottom-left-radius:8px;width:340px;animation:.15s slideDown;position:fixed;top:52px;right:0;box-shadow:-4px 8px 32px #00000040}.share-section{border-bottom:1px solid var(--border);padding:16px 20px}.share-section:last-child{border-bottom:none}.share-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.share-row-info{flex:1;min-width:0}.share-row-title{color:var(--text);font-size:13px;font-weight:500}.share-row-desc{color:var(--text-muted);margin-top:2px;font-size:11px;line-height:1.4}.share-link-box{gap:6px;margin-top:10px;display:flex}.share-link-input{background:var(--surface2);border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius);text-overflow:ellipsis;white-space:nowrap;outline:none;flex:1;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:11px;overflow:hidden}.share-link-copy{padding:5px 10px;font-size:11px}.share-password-area{flex-direction:column;gap:6px;margin-top:10px;display:flex}.share-password-row{gap:6px;display:flex}.share-pwd-input{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);outline:none;flex:1;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:13px;transition:border-color .15s}.share-pwd-input:focus{border-color:var(--accent)}.share-pwd-input::placeholder{color:var(--text-muted)}.share-pwd-submit{padding:5px 12px;font-size:11px}.share-pwd-hint{color:var(--text-muted);font-size:10px;line-height:1.4}.share-pwd-legacy{color:var(--danger);margin-top:4px;font-size:11px;line-height:1.4}.share-pwd-set{color:var(--green);align-items:center;gap:4px;margin-top:4px;font-size:10px;display:flex}@media (width<=640px){.share-panel{border-left:none;border-right:none;border-radius:0;width:100%}}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);z-index:16;flex-direction:column;flex-shrink:0;transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.sidebar-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:500}.sidebar-list{flex:1;padding:6px 0;overflow-y:auto}.sidebar-list::-webkit-scrollbar{width:4px}.sidebar-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.sidebar-loading{text-align:center;color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:20px 16px;font-size:12px;display:flex}.sidebar-empty{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:13px;line-height:1.6}.sidebar-header-actions{gap:2px;display:flex}.btn-new{color:var(--text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:4px 6px;font-size:16px;line-height:1;transition:all .15s}.btn-new:hover{color:var(--accent);background:var(--accent-dim2)}.file-item{cursor:pointer;border-left:2px solid #0000;align-items:center;gap:8px;padding:8px 16px;transition:all .15s;display:flex}.file-item:hover{background:var(--surface2);border-left-color:var(--border-hover)}.file-item.active{background:var(--accent-dim2);border-left-color:var(--accent)}.file-icon{opacity:.5;flex-shrink:0;font-size:12px}.file-info{flex:1;min-width:0}.file-name{white-space:nowrap;text-overflow:ellipsis;color:var(--text);font-size:13px;overflow:hidden}.file-item.active .file-name{color:var(--accent)}.file-item.nested{padding-left:36px}.file-item[draggable]:active{cursor:grabbing}.file-date{color:var(--text-muted);margin-top:1px;font-family:JetBrains Mono,monospace;font-size:10px}.file-badges{flex-shrink:0;gap:3px;display:flex}.file-badge{background:var(--surface2);color:var(--text-muted);border:1px solid var(--border);border-radius:2px;padding:1px 4px;font-size:9px}.file-badge.public{color:var(--green);border-color:var(--green);background:#4caf7214}.file-badge.locked{color:var(--accent);border-color:var(--accent);background:var(--accent-dim2)}.file-delete{opacity:0;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:2px;flex-shrink:0;padding:2px 4px;font-size:14px;transition:all .15s}.file-item:hover .file-delete{opacity:1}.file-delete:hover{color:var(--danger);background:var(--danger-dim)}.folder-row{cursor:pointer;border-left:2px solid #0000;align-items:center;gap:6px;min-height:34px;padding:7px 12px 7px 10px;transition:all .15s;display:flex}.folder-row:hover{background:var(--surface2);border-left-color:var(--border-hover)}.folder-row.drop-target,.sidebar-list.drop-target{background:var(--accent-dim2);outline:1px dashed var(--accent);outline-offset:-1px}.folder-chevron{color:var(--text-muted);flex-shrink:0;width:10px;font-size:10px;transition:transform .15s}.folder-chevron.open{transform:rotate(90deg)}.folder-icon{flex-shrink:0;font-size:13px}.folder-name{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:500;overflow:hidden}.folder-count{color:var(--text-muted);flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:10px}.folder-actions{flex-shrink:0;gap:1px;display:none}.folder-row:hover .folder-actions{display:flex}.folder-row:hover .folder-count{display:none}.folder-actions button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:2px;padding:2px 5px;font-size:13px;line-height:1;transition:all .15s}.folder-actions button:hover{color:var(--accent);background:var(--accent-dim2)}.folder-actions button.danger:hover{color:var(--danger);background:var(--danger-dim)}.folder-empty{color:var(--text-muted);padding:4px 16px 8px 38px;font-size:11px;font-style:italic}.sidebar-name-input{background:var(--surface2);border:1px solid var(--accent);min-width:0;color:var(--text);border-radius:var(--radius);outline:none;flex:1;padding:3px 8px;font-family:DM Sans,sans-serif;font-size:13px}.sidebar-name-input::placeholder{color:var(--text-muted)}.storage-bar{border-top:1px solid var(--border);align-items:center;gap:8px;padding:8px 16px;display:flex}.storage-label{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:10px}.storage-track{background:var(--border);border-radius:1px;flex:1;height:2px;overflow:hidden}.storage-fill{background:var(--accent);border-radius:1px;width:100%;height:100%}.sync-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background .3s;display:inline-block}.sync-dot.syncing{background:var(--accent);animation:1s infinite pulse}.sync-dot.error{background:var(--danger)}.sidebar-overlay{z-index:15;opacity:0;background:#0009;transition:opacity .25s;display:none;position:fixed;inset:0}.sidebar-overlay.show{opacity:1;display:block}@media (width<=640px){.sidebar{width:80vw;max-width:300px;position:fixed;top:52px;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #0006}.sidebar.open{transform:translate(0)}.file-delete{opacity:.6}.folder-actions{display:flex}.folder-count{display:none}}.app-layout{flex:1;display:flex;overflow:hidden}.main{flex-direction:column;flex:1;display:flex;overflow:hidden}:root{--bg:#0f0f0f;--surface:#161616;--surface2:#1e1e1e;--border:#2a2a2a;--border-hover:#404040;--text:#e8e8e8;--text-muted:#666;--text-dim:#999;--accent:#c8a96e;--accent-dim:#c8a96e26;--accent-dim2:#c8a96e14;--danger:#c0392b;--danger-dim:#c0392b1f;--green:#4caf72;--sidebar-w:260px;--radius:4px}[data-theme=light]{--bg:#fff;--surface:#f5f5f4;--surface2:#e8e8e6;--border:#d4d4d0;--border-hover:#a8a8a0;--text:#1a1a18;--text-muted:#9a9a94;--text-dim:#6b6b65;--accent:#a07840;--accent-dim:#a078401f;--accent-dim2:#a078400f;--danger:#c0392b;--danger-dim:#c0392b14;--green:#2e7d52}[data-theme=light] textarea.editor{background:var(--bg)}[data-theme=light] .md-body code{color:#7c3aed}[data-theme=light] .md-body pre code{color:#374151}[data-theme=sepia]{--bg:#f4efe6;--surface:#ede7da;--surface2:#e2d9c8;--border:#cfc4ae;--border-hover:#a89880;--text:#2c1f0e;--text-muted:#9a8470;--text-dim:#7a6858;--accent:#8b5e2a;--accent-dim:#8b5e2a24;--accent-dim2:#8b5e2a12;--danger:#a83222;--danger-dim:#a832221a;--green:#3a6b3a}[data-theme=sepia] textarea.editor{background:var(--bg)}[data-theme=sepia] .md-body code{color:#7c3d8a}[data-theme=sepia] .md-body pre code{color:#3d2b1a}[data-theme=pixel]{--bg:#0b0f0b;--surface:#0f170f;--surface2:#13231a;--border:#2f6d2f;--border-hover:#39ff6a;--text:#c8ffc8;--text-muted:#4f8f52;--text-dim:#7fcf7f;--accent:#39ff6a;--accent-dim:#39ff6a2e;--accent-dim2:#39ff6a14;--danger:#ff5c5c;--danger-dim:#ff5c5c1f;--green:#39ff6a;--radius:0}[data-theme=pixel-light]{--bg:#eef6ec;--surface:#e2f0dd;--surface2:#d2e6ca;--border:#a9cf9d;--border-hover:#2f8a3d;--text:#173617;--text-muted:#5f8f58;--text-dim:#3f6e3a;--accent:#1f8a3d;--accent-dim:#1f8a3d24;--accent-dim2:#1f8a3d12;--danger:#c0392b;--danger-dim:#c0392b14;--green:#1f8a3d;--radius:0}[data-theme=pixel-sepia]{--bg:#f4efe6;--surface:#ede7da;--surface2:#e2d9c8;--border:#cfc4ae;--border-hover:#3a7a3a;--text:#2c1f0e;--text-muted:#9a8470;--text-dim:#7a6858;--accent:#3a7a3a;--accent-dim:#3a7a3a24;--accent-dim2:#3a7a3a12;--danger:#a83222;--danger-dim:#a832221a;--green:#3a7a3a;--radius:0}[data-theme=pixel-amber]{--bg:#140d02;--surface:#1c1204;--surface2:#241805;--border:#6b4a10;--border-hover:#ffb000;--text:#ffcf6e;--text-muted:#8a6a2c;--text-dim:#c99a4a;--accent:#ffb000;--accent-dim:#ffb0002e;--accent-dim2:#ffb00014;--danger:#ff5c5c;--danger-dim:#ff5c5c1f;--green:#ffb000;--radius:0}[data-theme=pixel-notes]{--bg:#fff3b6;--surface:#fffcee;--surface2:#fffa9b;--border:#ffd900;--border-hover:#ffc800;--text:#412c00;--text-muted:#784e29;--text-dim:#7a5c1e;--accent:#ffb000;--accent-dim:#c2a02024;--accent-dim2:#c2a02012;--danger:#d51803;--danger-dim:#c0392b14;--green:#c2a020;--radius:0}[data-theme=pixel-amber-sepia]{--bg:#f4efe6;--surface:#ede7da;--surface2:#e2d9c8;--border:#cfc4ae;--border-hover:#a85f00;--text:#2c1f0e;--text-muted:#9a8470;--text-dim:#7a6858;--accent:#a85f00;--accent-dim:#a85f0024;--accent-dim2:#a85f0012;--danger:#a83222;--danger-dim:#a832221a;--green:#a85f00;--radius:0}[data-font-override]{font-family:var(--ui-font-family)}[data-font-override] *{font-family:inherit!important}[data-font-override] .font-option,[data-font-override] .fontlab-font-option{font-family:var(--option-font,inherit)!important}[data-theme=pixel],[data-theme=pixel-amber],[data-theme=pixel-notes]{-webkit-font-smoothing:none;font-smooth:never}[data-theme=pixel] textarea.editor,[data-theme=pixel-amber] textarea.editor,[data-theme=pixel-notes] textarea.editor{background:var(--bg)}[data-theme=pixel] .md-body code,[data-theme=pixel-amber] .md-body code,[data-theme=pixel-notes] .md-body code{color:var(--accent);background:var(--surface2);border-color:var(--border)}[data-theme=pixel] .md-body pre code,[data-theme=pixel-amber] .md-body pre code,[data-theme=pixel-notes] .md-body pre code{color:var(--text)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);flex-direction:column;height:100vh;font-family:DM Sans,sans-serif;display:flex;overflow:hidden}#root{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:6px 14px;font-family:DM Sans,sans-serif;font-size:12.5px;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#0f0f0f;border-color:var(--accent)}.btn-primary:hover{background:#d4b87a}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{color:var(--text-dim);border-color:var(--border);background:0 0}.btn-ghost:hover{border-color:var(--border-hover);color:var(--text)}.btn-danger{color:var(--danger);background:0 0;border-color:#0000}.btn-danger:hover{background:var(--danger-dim);border-color:var(--danger)}.btn-success{color:var(--green);border-color:var(--green);background:0 0}.btn-success:hover{background:#4caf721a}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@font-face{font-family:FontLab BigBlueTerm;src:url(/fonts/BigBlueTermPlusNerdFontMono-Regular.ttf)format("truetype");font-display:swap}@font-face{font-family:FontLab Tandy1K;src:url(/fonts/AcPlus_Tandy1K-II_200L.ttf)format("truetype");font-display:swap}@font-face{font-family:FontLab ProggyCleanMono;src:url(/fonts/ProggyCleanNerdFontMono-Regular.ttf)format("truetype");font-display:swap}@font-face{font-family:FontLab ProggyClean;src:url(/fonts/ProggyCleanNerdFont-Regular.ttf)format("truetype");font-display:swap}@font-face{font-family:FontLab Inconsolata;src:url(/fonts/InconsolataNerdFontMono-Regular.ttf)format("truetype");font-display:swap}@font-face{font-family:FontLab InconsolataBold;src:url(/fonts/InconsolataNerdFontMono-Bold.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:FontLab FiraCode;src:url(/fonts/FiraCode-VF.ttf)format("truetype-variations");font-weight:300 700;font-display:swap}@font-face{font-family:FontLab C64;src:url(/fonts/C64-Regular.otf)format("opentype");font-display:swap}@font-face{font-family:FontLab DepartureMono;src:url(/fonts/DepartureMono-Regular.otf)format("opentype");font-display:swap}@font-face{font-family:FontLab PressStart2P;src:url(/fonts/PressStart2P-Regular.ttf)format("truetype");font-display:swap}@font-face{font-family:FontLab GeistMono;src:url(/fonts/GeistMono-Regular.otf)format("opentype");font-display:swap}@font-face{font-family:FontLab GeistMono;src:url(/fonts/GeistMono-Italic.otf)format("opentype");font-style:italic;font-display:swap}@font-face{font-family:FontLab GeistMono;src:url(/fonts/GeistMono-Bold.otf)format("opentype");font-weight:700;font-display:swap}@font-face{font-family:FontLab GeistMono;src:url(/fonts/GeistMono-BoldItalic.otf)format("opentype");font-weight:700;font-style:italic;font-display:swap}
