:root{--bg: #f6f7fd;--panel: #ffffff;--text: #1e2235;--text-muted: #636a87;--accent: #6366f1;--accent-2: #a855f7;--accent-3: #ec4899;--gradient: linear-gradient(135deg, #6366f1 0%, #a855f7 55%, #ec4899 100%);--border: #e5e7f4;--danger: #e11d48;--ring: rgba(99, 102, 241, .28);--shadow-sm: 0 1px 2px rgba(30, 34, 53, .06), 0 1px 3px rgba(30, 34, 53, .08);--shadow-md: 0 8px 30px rgba(30, 34, 53, .1);--shadow-lg: 0 24px 60px rgba(30, 34, 53, .16);--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font-family:inherit}::selection{background:#6366f138}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.muted{color:var(--text-muted);font-size:13px}.danger{color:var(--danger)}.hidden{visibility:hidden}.auth-page{position:relative;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4f46e5,#7c3aed 45%,#db2777);padding:24px}.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.45;pointer-events:none;z-index:0}.blob-1{width:440px;height:440px;top:-140px;left:-140px;background:#a5b4fc;animation:float 18s ease-in-out infinite}.blob-2{width:400px;height:400px;bottom:-160px;right:-120px;background:#f9a8d4;animation:float 22s ease-in-out infinite reverse}.blob-3{width:320px;height:320px;top:42%;left:52%;background:#c4b5fd;animation:float 26s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(34px,-30px) scale(1.06)}}.auth-card{position:relative;z-index:1;width:100%;max-width:400px;background:var(--panel);border-radius:20px;padding:34px 32px;box-shadow:var(--shadow-lg);animation:fadeUp .5s cubic-bezier(.16,1,.3,1);overflow:hidden}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--gradient)}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-logo{display:flex;align-items:center;gap:10px;justify-content:center}.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--gradient);color:#fff;font-weight:700;font-size:15px;flex-shrink:0;box-shadow:0 4px 12px #7c3aed59}.logo-mark.big{width:56px;height:56px;border-radius:16px;font-size:28px;box-shadow:0 10px 30px #7c3aed66}.logo-name{font-size:21px;font-weight:700;letter-spacing:-.3px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.25)}.auth-tagline{text-align:center;color:var(--text-muted);margin:10px 0 22px;font-size:14px}.auth-tabs{display:flex;background:#eef0fd;border-radius:10px;padding:4px;margin-bottom:18px}.auth-tabs button{flex:1;padding:9px;border-radius:8px;font-size:14px;font-weight:600;color:var(--text-muted);transition:all .18s}.auth-tabs button.active{background:#fff;color:var(--accent);box-shadow:0 2px 8px #1e22351f}.auth-card form label{display:block;font-size:13px;font-weight:600;color:var(--text);margin:14px 0 6px}.auth-card form input{width:100%;padding:11px 13px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;background:#fff;color:var(--text);transition:border-color .18s,box-shadow .18s}.auth-card form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}.auth-error{margin-top:12px;background:#fff1f2;color:#be123c;padding:9px 12px;border-radius:10px;font-size:13px;border:1px solid #fecdd3}.auth-info{margin-top:12px;background:#eef2ff;color:#4338ca;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.5;border:1px solid #c7d2fe}.auth-success{margin-top:12px;background:#ecfdf5;color:#047857;padding:10px 12px;border-radius:10px;font-size:13px;border:1px solid #a7f3d0}.auth-link-btn{display:block;margin:14px auto 0;font-size:13px;font-weight:600;color:var(--text-muted);transition:color .15s}.auth-link-btn:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.btn-primary{background:var(--gradient);background-size:140% 140%;color:#fff;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600;box-shadow:0 6px 18px #7c3aed52;transition:transform .15s,box-shadow .2s,background-position .3s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px #7c3aed6b;background-position:100% 50%}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:default;transform:none}.auth-submit{width:100%;margin-top:20px;padding:12px}.boot-screen{height:100%;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);font-size:14px}.spinner{width:22px;height:22px;border-radius:50%;border:3px solid rgba(99,102,241,.2);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app{position:relative;display:flex;height:100vh;overflow:hidden}.top-glow{position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient);z-index:20;pointer-events:none}.hamburger{display:none;position:fixed;top:10px;left:10px;z-index:40;width:40px;height:40px;border-radius:11px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;justify-content:center;gap:4px}.hamburger span{width:18px;height:2px;border-radius:2px;background:var(--text);transition:transform .2s,opacity .2s}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d102880;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:25;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar-close{display:none;margin-left:auto;width:34px;height:34px;border-radius:9px;color:#e0e7ff;font-size:15px;align-items:center;justify-content:center;transition:background .15s}.sidebar-close:hover{background:#ffffff24;color:#fff}.sidebar{width:280px;flex-shrink:0;background:linear-gradient(180deg,#1e1b4b,#3b0764 55%,#581c87);border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;min-height:0;position:relative;color:#e0e7ff}.sidebar-glow{position:absolute;top:0;left:0;right:0;height:90px;background:radial-gradient(60% 100% at 20% 0%,rgba(168,85,247,.35),transparent 70%);pointer-events:none}.sidebar-header{position:relative;display:flex;align-items:center;gap:10px;padding:16px 16px 10px}.sidebar .logo-name{color:#fff;text-shadow:none}.new-page-wrap{position:relative;margin:10px 12px}.new-page-btn{display:flex;align-items:center;justify-content:center;width:100%;background:#fff;color:#4f46e5;box-shadow:0 6px 18px #00000040}.new-page-btn:hover{background:#fff;color:#4f46e5;box-shadow:0 10px 24px #00000052}.new-page-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;animation:fadeUp .18s cubic-bezier(.16,1,.3,1)}.new-page-menu-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:6px 8px}.new-page-option{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:9px;font-size:14px;font-weight:500;color:var(--text);text-align:left;transition:background .14s}.new-page-option:hover{background:#eef0fd}.new-page-option-emoji{font-size:18px;width:24px;text-align:center}.search-box{position:relative;padding:4px 12px 10px}.search-box input{width:100%;padding:9px 12px;border:1px solid rgba(255,255,255,.14);border-radius:10px;font-size:14px;background:#ffffff1f;color:#fff;transition:background .18s,border-color .18s,box-shadow .18s}.search-box input::placeholder{color:#e0e7ff8c}.search-box input:focus{background:#ffffff2e;outline:none;border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa40}.section-label{font-size:11px;font-weight:700;color:#a5b4fc;text-transform:uppercase;letter-spacing:.07em;padding:10px 16px 8px}.tree,.search-results,.trash-view{overflow-y:auto;flex:1;min-height:0}.tree-row{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:8px;margin:1px 8px;cursor:pointer;font-size:14px;white-space:nowrap;color:#e0e7ff;transition:background .15s}.tree-row:hover{background:#ffffff17}.tree-row.active{background:#fff;color:#4f46e5;font-weight:600;box-shadow:0 2px 10px #0003}.tree-row.active .tree-toggle{color:#6366f1}.tree-toggle{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:9px;color:#a5b4fc;flex-shrink:0;border-radius:5px}.tree-toggle:hover{background:#ffffff24}.tree-icon{width:20px;height:20px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;box-shadow:0 2px 6px #00000040}.tree-icon svg{width:12px;height:12px}.tree-icon-emoji{background:none!important;box-shadow:none!important;font-size:16px;line-height:1}.tree-title{overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;color:inherit}.tree-actions{display:none;align-items:center;flex-shrink:0;gap:2px}.tree-row:hover .tree-actions,.trash-row:hover .tree-actions{display:inline-flex}.tree-btn{width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;color:#c7d2fe}.tree-btn:hover{background:#ffffff29;color:#fff}.tree-btn.danger:hover{color:#fda4af}.tree-btn.starred{color:#f59e0b}.tree-children{margin-left:14px}.tree-empty{padding:8px 16px;color:#a5b4fc;font-size:13px}.search-result{display:block;width:calc(100% - 16px);margin:1px 8px;padding:7px 10px;border-radius:8px;text-align:left;color:#e0e7ff;transition:background .15s}.search-result:hover{background:#ffffff17}.result-title{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e0e7ff}.result-meta{font-size:12px;color:#a5b4fc}.trash-row{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:14px;border-radius:8px;margin:0 6px;color:#e0e7ff}.trash-row:hover{background:#ffffff17}.trash-row .tree-title{flex:1;color:inherit}.sidebar-footer{position:relative;border-top:1px solid rgba(255,255,255,.12);padding:12px}.footer-btn{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:8px;font-size:14px;color:#e0e7ff;transition:background .15s}.footer-btn:hover{background:#ffffff1a}.footer-btn.active{background:#ffffff29;color:#fff}.user-box{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px;border-top:1px solid rgba(255,255,255,.12);font-size:13px}.avatar{width:26px;height:26px;border-radius:50%;background:var(--gradient);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;box-shadow:0 2px 8px #0000004d}.user-email{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a5b4fc}.user-box .footer-btn{width:auto;padding:5px 8px;color:#c7d2fe}.favorites-list{padding-bottom:4px}.favorite-row{display:flex;align-items:center;gap:8px;width:calc(100% - 16px);margin:1px 8px;padding:5px 8px;border-radius:8px;color:#e0e7ff;font-size:14px;text-align:left;transition:background .15s}.favorite-row:hover{background:#ffffff17}.editor-pane{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg)}.editor-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 28px;border-bottom:1px solid var(--border);background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:6}.save-status{font-size:13px;font-weight:500;display:flex;align-items:center;gap:6px}.save-status.saving{color:#d97706}.save-status.saved{color:#059669}.save-status.error{color:var(--danger)}.save-status:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.7}.save-status.saving:before{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.25}50%{opacity:.9}}.editor-actions{display:flex;align-items:center;gap:8px;position:relative}.editor-action-wrap{position:relative;display:inline-flex}.mode-btn{padding:7px 13px;border-radius:8px;font-size:13px;color:var(--text-muted);font-weight:600;transition:all .18s}.mode-btn:hover{background:#eef0fd;color:var(--text)}.mode-btn.active{background:var(--gradient);color:#fff;box-shadow:0 4px 14px #7c3aed59}.mode-btn.star.active{color:#f59e0b;background:#fff7e6;box-shadow:none}.editor-scroll{flex:1;overflow-y:auto;background:radial-gradient(700px 340px at 18% 0%,rgba(99,102,241,.05),transparent 70%)}.editor-wrap{max-width:780px;margin:0 auto;padding:40px 32px 130px;animation:fadeUp .4s cubic-bezier(.16,1,.3,1)}.page-cover{height:150px;border-radius:14px;margin-bottom:26px;box-shadow:inset 0 0 0 1px #1e22350f,var(--shadow-md)}.page-head{position:relative;margin-bottom:6px}.page-icon-btn{width:56px;height:56px;border-radius:14px;font-size:34px;display:flex;align-items:center;justify-content:center;background:#6366f114;border:1.5px dashed rgba(99,102,241,.35);transition:background .15s,transform .15s}.page-icon-btn:hover{background:#6366f129;transform:scale(1.05)}.page-icon-btn.open{border-color:var(--accent);border-style:solid}.page-icon-placeholder{font-size:22px;color:var(--accent);font-weight:600}.icon-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15}.icon-picker{position:absolute;top:66px;left:0;z-index:16;width:330px;max-width:86vw;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:10px;animation:fadeUp .18s cubic-bezier(.16,1,.3,1)}.icon-picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;max-height:230px;overflow-y:auto}.icon-picker-emoji{height:36px;font-size:21px;border-radius:9px;display:flex;align-items:center;justify-content:center;transition:background .12s,transform .12s}.icon-picker-emoji:hover{background:#eef0fd;transform:scale(1.12)}.icon-picker-remove{margin-top:8px;padding:8px;width:100%;border-radius:9px;font-size:13px;color:var(--danger);font-weight:600}.icon-picker-remove:hover{background:#fff1f2}.cover-picker{position:absolute;top:calc(100% + 6px);right:0;z-index:16;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:10px;animation:fadeUp .18s cubic-bezier(.16,1,.3,1)}.cover-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cover-swatch{width:54px;height:40px;border-radius:10px;border:2px solid transparent;box-shadow:var(--shadow-sm);color:var(--text-muted);font-weight:600;display:flex;align-items:center;justify-content:center}.cover-swatch.active{border-color:var(--accent);transform:scale(1.05)}.page-title{width:100%;border:none;outline:none;font-size:40px;font-weight:700;letter-spacing:-.03em;color:var(--text);background:transparent;margin-bottom:18px}.page-title::placeholder{color:#1e223547}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:6px 8px;margin-bottom:16px;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:5}.toolbar button{min-width:31px;height:29px;padding:0 7px;border-radius:7px;font-size:13px;color:var(--text);display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.toolbar button:hover{background:#eef0fd;color:var(--accent)}.toolbar button:active{transform:scale(.94)}.toolbar .sep{width:1px;height:18px;background:var(--border);margin:0 5px}.editor-content{min-height:400px;font-size:16px;line-height:1.65;outline:none;word-wrap:break-word;color:var(--text)}.editor-content p{margin:0 0 .4em}.editor-content h1,.editor-content h2,.editor-content h3{margin:.9em 0 .3em;font-weight:600}.editor-content h1{font-size:1.75em}.editor-content h2{font-size:1.4em}.editor-content h3{font-size:1.2em}.editor-content blockquote{margin:.6em 0;padding:2px 0 2px 14px;border-left:3px solid #a855f7;color:var(--text-muted);background:linear-gradient(90deg,rgba(168,85,247,.07),transparent);border-radius:0 8px 8px 0}.editor-content pre{background:#1f2440;border:none;border-radius:12px;padding:14px 16px;font-family:var(--mono);font-size:14px;color:#e2e8f0;overflow-x:auto;box-shadow:var(--shadow-sm)}.editor-content ul,.editor-content ol{padding-left:24px;margin:.4em 0}.editor-content li{margin:.15em 0}.editor-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.editor-content [style*="text-decoration: line-through"],.editor-content [style*=line-through]{color:var(--text-muted)}.editor-content li input[type=checkbox],.markdown-body li input[type=checkbox]{width:15px;height:15px;margin:0 8px 0 0;accent-color:var(--accent);cursor:pointer;vertical-align:middle;position:relative;top:-1px}.editor-content ul:has(li>input[type=checkbox]),.markdown-body ul:has(li>input[type=checkbox]){list-style:none;padding-left:4px}.callout{display:flex;gap:12px;align-items:flex-start;margin:.8em 0;padding:14px 16px;border-radius:12px;border:1px solid transparent}.callout-emoji{font-size:20px;line-height:1.4;flex-shrink:0}.callout-body{flex:1;min-width:0}.callout-body p{margin:0}.callout-note{background:#eef2ff;border-color:#c7d2fe}.callout-info{background:#f0f9ff;border-color:#bae6fd}.callout-tip{background:#f0fdf4;border-color:#bbf7d0}.callout-warn{background:#fffbeb;border-color:#fde68a}.slash-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12}.slash-menu{position:fixed;z-index:13;width:240px;max-width:82vw;max-height:320px;overflow-y:auto;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;animation:fadeUp .15s cubic-bezier(.16,1,.3,1)}.slash-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:8px;font-size:14px;font-weight:500;color:var(--text);text-align:left}.slash-item.active{background:#eef0fd}.slash-item-emoji{font-size:18px;width:24px;text-align:center}.slash-empty{padding:14px;color:var(--text-muted);text-align:center;font-size:13px}.editor-hint{display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;margin-top:20px;padding-top:14px;border-top:1px solid var(--border);font-size:12.5px;color:var(--text-muted);line-height:1.9}.hint-stats{font-weight:600;color:var(--text);opacity:.75}.hint-shortcuts code{font-family:var(--mono);background:#eef0fd;border:1px solid var(--border);border-radius:5px;padding:1px 6px;font-size:12px;color:#4338ca}.hint-date{color:var(--text-muted)}.preview-wrap{position:relative}.markdown-body{font-size:16px;line-height:1.65;word-wrap:break-word;color:var(--text)}.markdown-body h1,.markdown-body h2,.markdown-body h3{font-weight:600;margin:1em 0 .4em;scroll-margin-top:90px}.markdown-body h1{font-size:1.75em}.markdown-body h2{font-size:1.4em}.markdown-body h3{font-size:1.2em}.markdown-body p{margin:.6em 0}.markdown-body ul,.markdown-body ol{padding-left:26px;margin:.6em 0}.markdown-body li{margin:.2em 0}.markdown-body blockquote{margin:.8em 0;padding:2px 0 2px 14px;border-left:3px solid #a855f7;color:var(--text-muted);background:linear-gradient(90deg,rgba(168,85,247,.07),transparent);border-radius:0 8px 8px 0}.markdown-body code{font-family:var(--mono);background:#eef0fd;border-radius:5px;padding:2px 6px;font-size:.9em;color:#4338ca}.markdown-body pre{background:#1f2440;border:none;border-radius:12px;padding:14px 16px;overflow-x:auto}.markdown-body pre code{background:none;padding:0;color:#e2e8f0}.markdown-body a{color:var(--accent);text-underline-offset:2px}.markdown-body hr{border:none;border-top:1.5px solid var(--border);margin:1.4em 0}.markdown-body img{max-width:100%;border-radius:8px;box-shadow:var(--shadow-sm)}.toc{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.toc-title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.toc-link{display:block;width:100%;text-align:left;padding:5px 8px;border-radius:7px;font-size:13.5px;color:var(--text-muted);font-weight:500;transition:background .12s,color .12s}.toc-link:hover{background:#eef0fd;color:var(--text)}.toc-d2{padding-left:18px}.toc-d3{padding-left:30px;font-size:13px}.empty-pane{flex:1;display:flex;align-items:center;justify-content:center;background:radial-gradient(700px 400px at 50% 40%,rgba(99,102,241,.06),transparent 70%)}.empty-inner{text-align:center;animation:fadeUp .5s cubic-bezier(.16,1,.3,1)}.empty-inner h2{font-size:24px;margin:20px 0 6px;color:var(--text);letter-spacing:-.02em}.empty-inner p{margin:0 0 22px}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d102873;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.palette{width:min(560px,92vw);background:#fff;border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden;animation:fadeUp .18s cubic-bezier(.16,1,.3,1)}.palette-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.palette-kbd{font-size:12px;color:var(--text-muted);background:#eef0fd;border:1px solid var(--border);border-radius:6px;padding:2px 7px;font-weight:600}.palette-input-row input{flex:1;border:none;outline:none;font-size:16px;font-weight:500;color:var(--text);background:transparent}.palette-list{max-height:46vh;overflow-y:auto;padding:6px}.palette-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:9px;font-size:14px;font-weight:500;color:var(--text);text-align:left}.palette-item.active{background:#eef0fd}.palette-item-icon{font-size:16px;width:22px;text-align:center;flex-shrink:0}.palette-item-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-item-fav{color:#f59e0b}.palette-empty{padding:14px;color:var(--text-muted);font-size:14px;text-align:center}.back-fab{position:fixed;z-index:18;width:48px;height:48px;border-radius:50%;background:var(--gradient);background-size:140% 140%;color:#fff;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px #7c3aed61;animation:fadeUp .3s cubic-bezier(.16,1,.3,1);transition:transform .15s,box-shadow .2s,background-position .3s;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.back-fab:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 12px 28px #7c3aed80;background-position:100% 50%}.back-fab:active{transform:scale(.94)}.back-fab.dragging{transform:none;transition:none;cursor:grabbing;box-shadow:0 14px 32px #7c3aed8c}.page-meta{position:fixed;right:22px;bottom:calc(22px + env(safe-area-inset-bottom));z-index:10;display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-size:12px;line-height:1.45;color:var(--text-muted);background:#ffffffd9;border:1px solid var(--border);border-radius:10px;padding:8px 12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm);pointer-events:none;white-space:nowrap}.page-meta-item{display:inline-flex;align-items:baseline;gap:6px}.page-meta-label{font-weight:600;color:var(--text);opacity:.85}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:14px;font-size:13px}.breadcrumb-item{display:inline-flex;align-items:center;gap:6px}.breadcrumb-sep{color:var(--text-muted);opacity:.6}.breadcrumb-link{color:var(--text-muted);padding:3px 7px;margin:-2px;border-radius:6px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s,background .15s}.breadcrumb-link:hover{color:var(--accent);background:#eef0fd;text-decoration:underline;text-underline-offset:2px}.breadcrumb-current{color:var(--text);font-weight:600}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#64748b59;border-radius:6px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#64748b8c;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}@media (max-width: 768px){.hamburger{display:flex}.sidebar-close{display:inline-flex}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(84vw,320px);transform:translate(-100%);visibility:hidden;transition:transform .28s cubic-bezier(.32,.72,0,1),visibility 0s .28s;z-index:30;box-shadow:8px 0 30px #0000004d}.app.sidebar-open .sidebar{transform:translate(0);visibility:visible;transition:transform .28s cubic-bezier(.32,.72,0,1)}.app.sidebar-open .hamburger{display:none}.editor-topbar{padding:12px 16px 12px 60px;gap:8px}.editor-actions{gap:4px}.mode-btn{padding:8px 12px}.editor-wrap{padding:20px 16px 110px}.page-title{font-size:30px}.sidebar-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.editor-scroll{padding-bottom:env(safe-area-inset-bottom)}.tree-row{padding:8px}.tree-toggle{width:26px;height:26px;font-size:11px}.tree-btn{width:30px;height:30px;font-size:15px}.new-page-btn,.btn-primary{padding:12px 16px}.footer-btn{padding:10px 12px}.search-box input{padding:11px 12px}}@media (max-width: 480px){.toolbar button{min-width:34px;height:32px}.editor-topbar{flex-wrap:wrap;justify-content:flex-end}.save-status{order:2;width:100%}.page-title{font-size:27px}.page-cover{height:110px}.auth-card{padding:28px 22px}.back-fab{width:44px;height:44px;left:14px;bottom:calc(16px + env(safe-area-inset-bottom));font-size:18px}.page-meta{right:14px;bottom:calc(16px + env(safe-area-inset-bottom));font-size:11px;padding:6px 10px}.breadcrumb-link{max-width:140px}}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--border);background:var(--panel);color:var(--text);border-radius:10px;padding:8px 13px;font-size:13px;font-weight:600;transition:border-color .15s,box-shadow .15s}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-ghost:disabled{opacity:.55;cursor:default}.btn-danger{display:inline-flex;align-items:center;justify-content:center;border:1.5px solid #fecdd3;background:#fff1f2;color:var(--danger);border-radius:10px;padding:8px 13px;font-size:13px;font-weight:600;transition:background .15s}.btn-danger:hover{background:#ffe4e6}.btn-danger:disabled{opacity:.55;cursor:default}.btn-sm{padding:5px 10px;font-size:12px;border-radius:8px}.admin-page{min-height:100%;padding:32px clamp(16px,4vw,48px);max-width:1080px;margin:0 auto}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.admin-title{display:flex;align-items:center;gap:14px}.admin-title h1{margin:0;font-size:22px}.admin-title p{margin:2px 0 0}.admin-actions{display:flex;gap:10px;align-items:center}.admin-error{background:#fff1f2;color:#be123c;padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:16px;border:1.5px solid #fecdd3}.admin-table-wrap{background:var(--panel);border:1.5px solid var(--border);border-radius:16px;overflow:auto;box-shadow:var(--shadow-sm)}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th{text-align:left;padding:12px 16px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1.5px solid var(--border);white-space:nowrap}.admin-table td{padding:12px 16px;border-bottom:1px solid #eef0f8;vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:#fafbff}.admin-row-disabled{opacity:.6}.admin-id{font-family:var(--mono);font-size:12px;color:var(--text-muted)}.admin-email{font-weight:600}.admin-actions .btn-ghost,.admin-actions .btn-danger{margin-right:8px}.admin-reset-row{display:inline-flex;gap:8px;align-items:center}.admin-reset-row input{padding:6px 10px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;width:170px}.admin-reset-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}.badge-ok{background:#ecfdf5;color:#047857}.badge-danger{background:#fff1f2;color:#be123c}.badge-admin{background:#eef2ff;color:#4338ca;margin-left:8px}.admin-add{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--panel);border:1.5px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.admin-add input{padding:8px 12px;border:1.5px solid var(--border);border-radius:9px;font-size:13px;min-width:200px}.admin-add input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}
