:root{--font-sans:"Inter Variable","Inter","Noto Sans Devanagari Variable","Noto Sans Devanagari",ui-sans-serif,system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono Variable","JetBrains Mono",ui-monospace,"SFMono-Regular","Menlo",monospace;font-family:var(--font-sans);font-feature-settings:"cv02","cv03","cv04","cv11";font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ui-scale:1}html{font-size:calc(var(--ui-scale) * 16px)}:root{--dur-instant:0.1s;--dur-fast:0.12s;--dur-base:0.15s;--dur-slow:0.2s;--dur-theme:0.25s;--ease-out:cubic-bezier(0.4,0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--tap-scale:0.97}.app-main,.chat-panel,.editor-content-wrap,.sidebar,.status-bar,.tab-bar,.workspace-header,body{transition:background-color var(--dur-theme) var(--ease-out),border-color var(--dur-theme) var(--ease-out),color var(--dur-slow) var(--ease-out)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}.graph-node{transition-property:opacity!important;transition-duration:.18s!important}.graph--hover .graph-node.is-hl:not(.is-hovered),.graph-node.is-hovered{transform:none!important}.graph-focus-ring{opacity:.6!important}}:root,[data-theme=light]{--bg-app:#f9f9f8;--bg-surface:#ffffff;--bg-surface-2:#f5f5f4;--bg-surface-3:#ebebea;--bg-overlay:rgba(0,0,0,0.04);--bg-selection:rgba(99,102,241,0.1);--border:#e8e8e6;--border-strong:#d1d1ce;--border-focus:#6366f1;--text-primary:#1a1a18;--text-secondary:#4a4a47;--text-muted:#8f8f8a;--text-placeholder:#bfbfba;--text-inverse:#ffffff;--text-on-accent:#ffffff;--accent:#6366f1;--accent-hover:#4f52e8;--accent-active:#4347d6;--accent-subtle:rgba(99,102,241,0.08);--accent-muted:rgba(99,102,241,0.16);--gradient-accent:linear-gradient(135deg,#6366f1,#3b82f6);--gradient-canvas:radial-gradient(ellipse 1200px 600px at 80% -10%,rgba(99,102,241,0.06) 0%,transparent 60%),radial-gradient(ellipse 900px 500px at 0% 100%,rgba(59,130,246,0.05) 0%,transparent 55%);--danger:#ef4444;--danger-hover:#dc2626;--danger-subtle:rgba(239,68,68,0.08);--success:#22c55e;--success-subtle:rgba(34,197,94,0.1);--warning:#f59e0b;--warning-subtle:rgba(245,158,11,0.1);--shadow-xs:0 1px 2px rgba(0,0,0,0.05);--shadow-sm:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 4px 6px rgba(0,0,0,0.06),0 2px 4px rgba(0,0,0,0.04);--shadow-lg:0 10px 15px rgba(0,0,0,0.06),0 4px 6px rgba(0,0,0,0.04);--shadow-xl:0 20px 25px rgba(0,0,0,0.08),0 8px 10px rgba(0,0,0,0.04);--shadow-focus:0 0 0 3px rgba(99,102,241,0.2);--shadow-soft:0 1px 2px rgba(0,0,0,0.04),0 8px 24px rgba(0,0,0,0.04);--shadow-input:0 1px 3px rgba(0,0,0,0.07),0 6px 20px rgba(0,0,0,0.09);--shadow-elevated:0 1px 2px rgba(0,0,0,0.04),0 20px 60px rgba(0,0,0,0.08);--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-2xl:22px;--radius-full:9999px;--ai-user-bg:rgba(0,0,0,0.06);--ai-user-text:#1a1a18;--ai-bot-bg:transparent;--ai-bot-text:#1a1a18;--scrollbar-thumb:rgba(0,0,0,0.1);--scrollbar-track:transparent}[data-theme=dark]{--bg-app:#131316;--bg-surface:#1c1c1f;--bg-surface-2:#242429;--bg-surface-3:#2c2c32;--bg-overlay:rgba(255,255,255,0.05);--bg-selection:rgba(129,140,248,0.18);--border:#313137;--border-strong:#3f3f47;--border-focus:#818cf8;--text-primary:#ededec;--text-secondary:#a8a8a3;--text-muted:#666662;--text-placeholder:#48483f;--text-inverse:#111110;--text-on-accent:#ffffff;--accent:#818cf8;--accent-hover:#9399fa;--accent-active:#a5abfc;--accent-subtle:rgba(129,140,248,0.1);--accent-muted:rgba(129,140,248,0.18);--gradient-accent:linear-gradient(135deg,#818cf8,#60a5fa);--gradient-canvas:radial-gradient(ellipse 1200px 600px at 80% -10%,rgba(129,140,248,0.08) 0%,transparent 60%),radial-gradient(ellipse 900px 500px at 0% 100%,rgba(96,165,250,0.06) 0%,transparent 55%);--danger:#f87171;--danger-hover:#fca5a5;--danger-subtle:rgba(248,113,113,0.1);--success:#4ade80;--success-subtle:rgba(74,222,128,0.1);--warning:#fcd34d;--warning-subtle:rgba(252,211,77,0.1);--shadow-xs:0 1px 2px rgba(0,0,0,0.2);--shadow-sm:0 1px 3px rgba(0,0,0,0.3),0 1px 2px rgba(0,0,0,0.2);--shadow-md:0 4px 6px rgba(0,0,0,0.3),0 2px 4px rgba(0,0,0,0.2);--shadow-lg:0 10px 15px rgba(0,0,0,0.3),0 4px 6px rgba(0,0,0,0.2);--shadow-xl:0 20px 25px rgba(0,0,0,0.4),0 8px 10px rgba(0,0,0,0.2);--shadow-focus:0 0 0 3px rgba(129,140,248,0.25);--shadow-soft:0 1px 2px rgba(0,0,0,0.15),0 8px 24px rgba(0,0,0,0.15);--shadow-input:0 1px 3px rgba(0,0,0,0.3),0 6px 20px rgba(0,0,0,0.35);--shadow-elevated:0 1px 2px rgba(0,0,0,0.2),0 20px 60px rgba(0,0,0,0.25);--ai-user-bg:rgba(255,255,255,0.07);--ai-user-text:#ededec;--ai-bot-bg:transparent;--ai-bot-text:#ededec;--scrollbar-thumb:rgba(255,255,255,0.1);--scrollbar-track:transparent}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;overflow:hidden}body{background:var(--bg-app);color:var(--text-primary);line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.22)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.18)}::selection{background:var(--bg-selection);color:var(--text-primary)}.titlebar{height:40px;min-height:40px;background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 12px;gap:8px;-webkit-app-region:drag;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;z-index:50}[data-theme=dark] .titlebar{background:rgba(26,26,25,.85)}.titlebar-controls{display:flex;gap:6px;-webkit-app-region:no-drag}.titlebar-dot{width:12px;height:12px;border-radius:50%;cursor:pointer;transition:filter .15s ease}.titlebar-dot:hover{filter:brightness(.85)}.titlebar-dot--close{background:#ff5f57}.titlebar-dot--min{background:#febc2e}.titlebar-dot--max{background:#28c840}.titlebar-center{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;-webkit-app-region:no-drag}.titlebar-logo{width:20px;height:20px;border-radius:6px;background:var(--gradient-accent);display:flex;align-items:center;justify-content:center;color:var(--text-on-accent);box-shadow:var(--shadow-soft);flex-shrink:0}.titlebar-name{font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:-.025em}.titlebar-actions{margin-left:auto;display:flex;align-items:center;gap:4px;-webkit-app-region:no-drag}.app-root{height:calc(100dvh - var(--cookie-banner-h, 0px));color:var(--text-primary)}.app-main{flex:1 1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.workspace-header{--workspace-header-control-h:30px;--workspace-header-bottom-gap:5px;display:flex;flex-shrink:0;align-items:flex-end;min-height:40px;height:40px;box-sizing:border-box;padding-bottom:var(--workspace-header-bottom-gap);background:rgba(255,255,255,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);-webkit-app-region:drag;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:50;position:relative;isolation:isolate}[data-theme=dark] .workspace-header{background:rgba(26,26,25,.85)}.workspace-header-sidebar{flex-shrink:0;display:flex;align-items:flex-end;padding:0 12px;background:transparent;box-sizing:border-box}.workspace-header .titlebar-controls{display:flex;align-items:center;gap:6px;height:var(--workspace-header-control-h);min-height:var(--workspace-header-control-h);max-height:var(--workspace-header-control-h)}.workspace-header-sidebar--collapsed{width:auto;min-width:0}.workspace-header-editor{flex:1 1;min-width:0;display:flex;align-items:flex-end}.workspace-header-toolbar{flex:1 1;width:100%;height:var(--workspace-header-control-h);min-height:var(--workspace-header-control-h);max-height:var(--workspace-header-control-h);display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:8px;gap:8px;padding:0 16px;box-sizing:border-box}.workspace-header-toolbar .editor-tab-switcher{height:100%;padding:2px;box-sizing:border-box;align-self:center}.workspace-header-toolbar .editor-tab{display:flex;align-items:center;height:100%;padding:0 10px;box-sizing:border-box}.workspace-header-toolbar .editor-tab--active{box-shadow:none}.workspace-header-toolbar .editor-url-bar{position:static;left:auto;top:auto;bottom:auto;transform:none;justify-self:center;height:100%;max-height:100%;padding:0 12px;box-sizing:border-box}.workspace-header-toolbar .toolbar-right{display:flex;align-items:center;gap:4px;height:100%;justify-self:end}.workspace-header-divider{flex-shrink:0;width:100%;height:1px;min-height:1px;max-height:1px;background:var(--border);border:none;padding:0;margin:0;position:relative;z-index:60}.workspace-header .editor-tab,.workspace-header .editor-tab-switcher,.workspace-header .icon-btn,.workspace-header .titlebar-controls,.workspace-header .toolbar-right,.workspace-header-toolbar{-webkit-app-region:no-drag}.columns{flex:1 1;min-height:0}.columns,.sidebar{display:flex;overflow:hidden}.sidebar{--sidebar-bg:rgba(255,255,255,0.9);width:240px;min-width:240px;background:rgba(255,255,255,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border);flex-direction:column;position:relative;transition:width .2s cubic-bezier(.4,0,.2,1),min-width .2s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .sidebar{--sidebar-bg:rgba(26,26,25,0.9);background:rgba(26,26,25,.9)}.sidebar.collapsed{width:0;min-width:0}.sidebar-header{padding:14px 12px 12px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--border)}.sidebar-search{position:relative;display:flex;align-items:center}.sidebar-search-icon{position:absolute;left:8px;color:var(--text-muted);pointer-events:none;width:14px;height:14px}.sidebar-search input{width:100%;height:30px;padding:0 8px 0 28px;background:var(--bg-surface-2);border:1px solid transparent;border-radius:var(--radius-sm);font-size:14px;color:var(--text-primary);font-family:inherit;transition:border-color .15s,box-shadow .15s;outline:none}.sidebar-search input::placeholder{color:var(--text-placeholder)}.sidebar-search input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus);background:var(--bg-surface)}.sidebar-nav{display:flex;gap:2px;padding:0 2px}.sidebar-nav-btn{flex:1 1;height:26px;display:flex;align-items:center;justify-content:center;gap:4px;border:none;background:none;border-radius:var(--radius-xs);cursor:pointer;font-size:11px;font-weight:500;color:var(--text-muted);font-family:inherit;transition:background .12s,color .12s}.sidebar-nav-btn:hover{background:var(--bg-overlay);color:var(--text-secondary)}.sidebar-nav-btn.active{background:var(--accent-subtle);color:var(--accent)}.sidebar-main{flex:1 1;min-height:0;display:grid;grid-template:1fr/1fr;overflow:hidden}.sidebar-main>.sidebar-content,.sidebar-main>.system-folder-panel{grid-area:1/1;min-height:0}.sidebar-content{overflow-y:auto;overflow-x:hidden;padding:6px 4px;transition:opacity .22s ease,transform .22s ease}.sidebar-content--covered{opacity:0;transform:translateY(-4px);pointer-events:none}.tree-section{margin-bottom:4px}.tree-section-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;margin-bottom:1px}.tree-section-label{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);-webkit-user-select:none;-moz-user-select:none;user-select:none}.tree-section-action{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:var(--radius-xs);color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s}.tree-section-action:hover{background:var(--bg-overlay);color:var(--text-secondary)}.tree-item{display:flex;align-items:center;gap:4px;padding:0 8px;padding-left:calc(8px + var(--depth, 0) * 22px);height:28px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;color:var(--text-secondary);-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;transition:background .1s,color .1s;width:100%;text-align:left;border:none;background:none;font-family:inherit;min-width:0}.tree-item:hover{background:var(--bg-overlay);color:var(--text-primary)}.tree-item.active{background:var(--accent-subtle);color:var(--accent);font-weight:500}.tree-item--system{cursor:default}.tree-item--system:hover{background:var(--bg-overlay);color:var(--text-primary)}.tree-item.active:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:2px;background:var(--accent);border-radius:0 var(--radius-full) var(--radius-full) 0}.tree-item-label{flex:1 1;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.tree-item--folder-header .tree-item-label{font-size:14px;font-weight:600}.tree-item-badge{font-size:10px;padding:1px 5px;border-radius:var(--radius-full);background:var(--bg-surface-3);color:var(--text-muted);font-weight:500}.tree-item-badge--new{background:var(--accent-2,#6d39f6);color:#fff;font-weight:600;letter-spacing:.03em;flex-shrink:0}.tree-item-chevron{width:14px;height:14px;color:var(--text-muted);transition:transform .15s ease;flex-shrink:0}.tree-item-chevron.open{transform:rotate(90deg)}.tree-item--drop-target{background:var(--accent-subtle)!important;color:var(--accent)!important;outline:1.5px solid var(--accent-muted);outline-offset:-1px}.file-tree--drop-root{outline:1.5px dashed var(--accent-muted);outline-offset:-2px;border-radius:var(--radius-sm);background:var(--accent-subtle)}.tree-item[draggable=true]{cursor:-webkit-grab;cursor:grab;-webkit-user-drag:element}.tree-item[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.tree-item-actions{display:flex;align-items:center;gap:1px;flex-shrink:0}.tree-item-action-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;-webkit-user-drag:none;background:none;border:none;border-radius:var(--radius-xs);cursor:pointer;color:var(--text-muted);padding:0;transition:background .1s,color .1s}.tree-item-action-btn:hover{background:var(--accent-muted);color:var(--accent)}.tree-item--new-input{cursor:default;background:var(--bg-surface-2);border:1px solid var(--border-focus);border-radius:var(--radius-sm)}.sidebar{--tree-row-h:28px}.sidebar--compact{--tree-row-h:22px}.tree-item--folder-header{position:-webkit-sticky;position:sticky;top:calc(var(--depth, 0) * var(--tree-row-h));z-index:calc(10 - var(--depth, 0));background:var(--sidebar-bg,rgba(255,255,255,.9));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.tree-folder-children{display:grid;grid-template-rows:0fr;grid-template-columns:minmax(0,1fr);visibility:hidden;transition:grid-template-rows .18s ease,visibility 0s .18s}.tree-folder-children.open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .18s ease,visibility 0s}.tree-folder-children-inner{overflow:hidden;overflow:clip;min-height:0}.tree-item-name-wrap{flex:1 1;min-width:0;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:1px;padding-right:6px}.tree-item--with-preview{height:auto;min-height:28px;padding-top:4px;padding-bottom:4px;align-items:center}.tree-item-preview{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;min-width:0;max-width:100%}[data-hide-file-subtitle=true] .tree-item-preview{display:none}.tree-item-emoji{font-size:14px;line-height:1;flex-shrink:0;width:16px;text-align:center}.tree-item-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.tree-item-status-dot--dirty{background:var(--warning,#f59e0b)}.tree-item-status-dot--syncing{background:var(--accent);animation:status-pulse 1.2s ease-in-out infinite}.tree-item-status-dot--conflict{background:var(--danger,#ef4444)}button.tree-item-status-dot--clickable{padding:0;border:none;cursor:pointer}button.tree-item-status-dot--clickable:hover{outline:2px solid var(--danger,#ef4444);outline-offset:1px}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.35}}.tree-item-broken-badge{flex-shrink:0;color:var(--warning,#f59e0b);opacity:.85}.tree-item-backlinks-wrap{position:relative;flex-shrink:0}.tree-item-backlinks-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:14px;padding:0 4px;background:var(--bg-surface-3);border:none;border-radius:var(--radius-xs);font-size:9.5px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:background .1s,color .1s;font-family:inherit}.tree-item-backlinks-badge:hover{background:var(--accent-muted);color:var(--accent)}.tree-item-backlinks-popover{position:absolute;right:0;top:calc(100% + 4px);z-index:200;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:160px;max-width:240px;padding:4px}.tree-item-backlinks-popover-title{font-size:10px;font-weight:600;color:var(--text-muted);padding:3px 6px 4px;letter-spacing:.04em;text-transform:uppercase}.tree-item-backlinks-popover-item{display:block;width:100%;text-align:left;padding:5px 8px;background:none;border:none;border-radius:var(--radius-xs);font-size:12.5px;color:var(--text-secondary);cursor:pointer;font-family:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .1s}.tree-item-backlinks-popover-item:hover{background:var(--bg-overlay);color:var(--text-primary)}.sidebar--compact .tree-item{height:22px;font-size:12.5px}.sidebar--compact .tree-item-label{font-size:11.5px}.sidebar--compact .tree-item--folder-header .tree-item-label{font-size:13.5px}.sidebar--compact .tree-item-badge{font-size:9px;padding:0 4px}.sidebar--compact .tree-section-header{padding:2px 8px}.tree-sort-wrap{position:relative}.tree-sort-dropdown{position:absolute;top:calc(100% + 4px);right:0;z-index:200;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px;min-width:148px;box-shadow:0 4px 14px rgba(0,0,0,.12)}.tree-sort-option{width:100%;display:flex;align-items:center;gap:6px;padding:5px 8px;border:none;background:none;font-size:12.5px;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-xs);text-align:left;font-family:inherit}.tree-sort-option:hover{background:var(--bg-overlay);color:var(--text-primary)}.tree-sort-option.active{color:var(--accent);font-weight:500}.tree-section-action.active{color:var(--accent)}.tree-item--selected,.tree-section-action.active{background:var(--accent-subtle)}.tree-item--selected:hover{background:var(--accent-muted)}.tree-selection-counter{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;color:var(--text-on-accent);background:var(--accent);border-radius:8px;line-height:1}.tree-item-drop-line{height:2px;margin:1px 4px 1px 20px;background:var(--accent);border-radius:1px;pointer-events:none;position:relative}.tree-item-drop-line:before{content:"";position:absolute;left:-4px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--accent)}.graph-tab-controls{display:flex;gap:4px;padding:0 8px 4px}.graph-mode-btn{flex:1 1;padding:4px 8px;font-size:11px;color:var(--text-muted);background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,color .15s}.graph-mode-btn:hover:not(:disabled){background:var(--bg-overlay);color:var(--text-primary)}.graph-mode-btn.active{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent-muted);font-weight:500}.graph-mode-btn:disabled{opacity:.4;cursor:not-allowed}.favorites-section{margin-bottom:6px;border-bottom:1px solid var(--border);padding-bottom:4px}.favorites-section-header{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tree-section-chevron{color:var(--text-muted);transition:transform .15s ease;flex-shrink:0}.tree-section-chevron.open{transform:rotate(90deg)}.favorites-list{padding:0 0 2px}.tree-item-favorite-btn{opacity:.6}.tree-item-favorite-btn.active,.tree-item-favorite-btn:hover{opacity:1}.tree-item-favorite-btn.active svg{fill:var(--accent);color:var(--accent)}.tree-item-unfave-btn{opacity:0}.tree-item:hover .tree-item-unfave-btn{opacity:1}.recent-section{margin-bottom:6px;border-bottom:1px solid var(--border);padding-bottom:4px}.recent-section-header{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.recent-list{padding:0 0 2px;max-height:145px;overflow-y:auto}.recent-item-time{margin-left:auto;font-size:10px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.context-menu{position:fixed;z-index:9999;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px;min-width:170px;box-shadow:0 8px 24px rgba(0,0,0,.14);outline:none}.context-menu-separator{height:1px;background:var(--border);margin:3px 0}.context-menu-item{width:100%;display:flex;align-items:center;gap:8px;padding:5px 8px;border:none;background:none;font-size:13px;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-xs);text-align:left;font-family:inherit;transition:background .1s,color .1s}.context-menu-item--active,.context-menu-item:hover{background:var(--bg-overlay);color:var(--text-primary)}.context-menu-item--danger{color:var(--error,#e53935)}.context-menu-item--danger.context-menu-item--active,.context-menu-item--danger:hover{background:rgba(229,57,53,.08);color:var(--error,#e53935)}.context-menu-item--disabled{opacity:.4;cursor:default;pointer-events:none}.context-menu-item-icon{display:flex;align-items:center;flex-shrink:0;color:inherit}.sidebar-toast{position:absolute;bottom:60px;left:8px;right:8px;display:flex;align-items:center;gap:6px;background:var(--bg-surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 8px;font-size:12.5px;color:var(--text-secondary);box-shadow:0 4px 12px rgba(0,0,0,.1);z-index:50}.sidebar-toast-text{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-toast-undo{display:flex;align-items:center;gap:4px;padding:3px 7px;border:1px solid var(--border);background:none;border-radius:var(--radius-xs);font-size:12px;color:var(--accent);cursor:pointer;font-family:inherit;white-space:nowrap;flex-shrink:0;transition:background .1s}.sidebar-toast-undo:hover{background:var(--accent-subtle)}.sidebar-toast-close{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-xs);flex-shrink:0;padding:0;transition:background .1s,color .1s}.sidebar-toast-close:hover{background:var(--bg-overlay);color:var(--text-secondary)}.sidebar-footer-stack{flex-shrink:0;border-top:1px solid var(--border);display:flex;flex-direction:column}.sidebar-footer{padding:8px;display:flex;flex-direction:column;gap:2px}.sidebar-footer-settings-row{display:flex;align-items:center;gap:4px}.sidebar-footer-settings-row>.sidebar-footer-item:first-child{flex:1 1}.sidebar-footer-settings-row>.sidebar-footer-theme{width:36px;flex:0 0 auto;justify-content:center;padding:7px 0}.sidebar-footer-divider{height:1px;background:var(--border);margin:4px 0;flex-shrink:0}.sidebar-footer-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-md);cursor:pointer;font-size:14px;color:var(--text-muted);transition:background .12s,color .12s;border:none;background:none;font-family:inherit;width:100%;text-align:left}.sidebar-footer-item:hover{background:var(--accent-subtle);color:var(--accent)}.sidebar-footer-icons{overflow:hidden;overflow:clip;overflow-clip-margin:3px}.sidebar-footer-icons,.sidebar-footer-page{display:flex;flex-direction:row;align-items:center;gap:2px}.sidebar-footer-page{flex:var(--footer-page-slots,4) 1 0;min-width:0}.sidebar-footer-page--from-right{animation:footerPageInRight .22s cubic-bezier(.4,0,.2,1)}.sidebar-footer-page--from-left{animation:footerPageInLeft .22s cubic-bezier(.4,0,.2,1)}@keyframes footerPageInRight{0%{opacity:0;transform:translateX(30%)}to{opacity:1;transform:translateX(0)}}@keyframes footerPageInLeft{0%{opacity:0;transform:translateX(-30%)}to{opacity:1;transform:translateX(0)}}.sidebar-footer-slot-filler{flex:1 1}.sidebar-footer-caret{color:var(--text-muted)}.sidebar-footer-caret:hover{color:var(--text-primary)}.sidebar-footer-item--icon{width:auto;flex:1 1;justify-content:center;gap:0;padding:7px 0;position:relative}.sidebar-footer-item--icon .sidebar-footer-badge{position:absolute;top:1px;right:3px;margin-left:0;min-width:14px;height:14px;font-size:9px;padding:0 3px}.sidebar-footer-chevron{transition:transform .2s cubic-bezier(.4,0,.2,1);opacity:.5}.sidebar-footer-chevron.open{transform:rotate(90deg);opacity:1}.system-db-entry{display:flex;align-items:center;gap:6px;padding:5px 8px;font-size:12px;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-xs);margin:2px 4px 4px}.system-db-entry:hover{background:var(--accent-subtle);color:var(--accent)}.sidebar-resize-handle{width:4px;flex-shrink:0;cursor:col-resize;position:relative;z-index:10;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-left:-1px}.sidebar-resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);width:2px;background:var(--accent);opacity:0;transition:opacity .15s;border-radius:var(--radius-full)}.sidebar-resize-handle.dragging:after,.sidebar-resize-handle:hover:after{opacity:.5}@media (max-width:768px){.sidebar-resize-handle{display:none}html:not(.is-mobile) .sidebar:not(.collapsed){width:280px!important;min-width:280px!important}html:not(.is-mobile) .workspace-header-sidebar:not(.workspace-header-sidebar--collapsed){width:280px!important;min-width:280px}.sidebar .tree-item{min-height:36px;--tree-row-h:36px}.sidebar .tree-item-actions{gap:2px}.sidebar .tree-item-action-btn{width:30px;height:30px;border-radius:var(--radius-sm)}.sidebar .tree-item-action-btn svg{width:16px!important;height:16px!important}.sidebar .tree-section-action{min-width:36px;min-height:36px}.sidebar .tree-section-header{min-height:36px}.sidebar .sidebar-nav-btn{min-height:36px;height:36px}.sidebar .sidebar-footer-item{min-height:36px}.sidebar .icon-btn,.sidebar .sidebar-footer-panel-close{min-width:36px;min-height:36px}}.editor-area{flex:1 1;flex-direction:column;overflow:hidden;background:var(--bg-app);background-image:var(--gradient-canvas);min-width:0}.editor-area,.editor-toolbar{display:flex;position:relative}.editor-toolbar{height:40px;min-height:40px;background:rgba(255,255,255,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);align-items:center;justify-content:space-between;padding:0 16px;gap:8px;z-index:5;box-sizing:border-box}[data-theme=dark] .editor-toolbar{background:rgba(26,26,25,.85)}.editor-tab-switcher{display:flex;align-items:center;gap:2px;background:rgba(245,245,244,.75);border-radius:var(--radius-md);padding:2px;flex-shrink:0}[data-theme=dark] .editor-tab-switcher{background:rgba(42,42,40,.75)}.editor-tab{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-sm);border:none;background:none;color:var(--text-muted);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .12s,color .12s,box-shadow .12s;white-space:nowrap}.editor-tab--active{background:var(--bg-surface);color:var(--text-primary);box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06)}.editor-tab:not(.editor-tab--active):hover{color:var(--text-secondary)}.editor-tab svg{width:12px;height:12px;flex-shrink:0}.editor-url-bar{display:flex;align-items:center;gap:6px;padding:4px 12px;background:rgba(255,255,255,.8);border:1px solid var(--border);border-radius:var(--radius-full);font-family:var(--font-mono);font-size:12px;color:var(--text-muted);position:absolute;left:50%;transform:translateX(-50%);max-width:min(260px,40%);overflow:hidden;pointer-events:none}.editor-url-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .editor-url-bar{background:rgba(26,26,25,.8)}.editor-url-dot{width:7px;height:7px;min-width:7px;border-radius:50%;background:var(--success);animation:editor-dot-pulse 2.5s ease-in-out infinite}@keyframes editor-dot-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes icon-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.icon-spin{animation:icon-spin 1s linear infinite}.editor-export-btn{height:32px;padding:0 16px;border:none;border-radius:var(--radius-full);background:var(--gradient-accent);color:#ffffff;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;box-shadow:var(--shadow-soft);transition:opacity .12s,transform .1s;white-space:nowrap;flex-shrink:0}.editor-export-btn:hover{opacity:.88}.editor-export-btn:active{transform:scale(.97)}.toolbar-group{display:flex;align-items:center;gap:1px}.toolbar-sep{width:1px;height:18px;background:var(--border);margin:0 4px}.toolbar-btn{height:28px;min-width:28px;padding:0 6px;display:flex;align-items:center;justify-content:center;gap:4px;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);font-size:12px;font-weight:500;font-family:inherit;transition:background .12s,color .12s}.toolbar-btn:hover{background:var(--bg-surface-2);color:var(--text-primary)}.toolbar-btn.active{background:var(--accent-subtle);color:var(--accent)}.toolbar-btn svg{width:14px;height:14px}.toolbar-right{margin-left:auto;display:flex;align-items:center;gap:4px;position:relative}.action-hint{position:absolute;top:calc(100% + 6px);right:0;z-index:70;white-space:nowrap;background:#ffffff;color:#1a1a1a;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px 10px;font-size:12px;line-height:1.3;pointer-events:none;animation:panel-in .14s ease}.toolbar-save-btn{color:var(--text-muted);transition:color .12s,background .12s}.toolbar-save-btn:hover{color:var(--accent);background:var(--accent-subtle)}.toolbar-sync-btn{position:relative}.toolbar-sync-dot{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 1.5px var(--bg-surface);pointer-events:none}.toolbar-sync-notice{max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;color:var(--text-secondary);pointer-events:none}.breadcrumb-entry{display:flex;align-items:center;gap:3px;min-width:0}.breadcrumb-entry:last-child{flex:1 1;min-width:0}.breadcrumb{display:flex;gap:2px;font-size:14px;margin-left:4px;min-width:0;overflow:hidden}.breadcrumb,.breadcrumb-item{align-items:center;color:var(--text-muted)}.breadcrumb-item{display:inline-flex;gap:3px;background:none;border:none;padding:0;font:inherit;font-size:11.5px;transition:color .12s;cursor:pointer;white-space:nowrap}.breadcrumb-item:hover{color:var(--text-secondary)}.breadcrumb-item.current{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-weight:500;cursor:default}.breadcrumb-sep{color:var(--text-placeholder);font-size:11px}.tab-bar{gap:8px;padding:0 8px 0 12px;background:transparent;border-bottom:1px solid var(--border);height:36px;min-height:36px;flex-shrink:0}.tab-bar,.tab-bar-tabs{display:flex;align-items:center}.tab-bar-tabs{gap:2px;flex:1 1;min-width:0;overflow-x:auto;overflow-y:hidden}.tab-bar-actions{gap:4px;flex-shrink:0;margin-left:auto}.tab,.tab-bar-actions{display:flex;align-items:center}.tab{gap:6px;height:26px;padding:0 8px 0 10px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--text-muted);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1px solid transparent;position:relative;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.tab:hover{color:var(--text-secondary);background:var(--bg-overlay)}.tab.active{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border);box-shadow:var(--shadow-xs);font-weight:500}.tab-close{width:16px;height:16px;border:none;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s,background .12s;flex-shrink:0;background:transparent;cursor:pointer;padding:0;outline:none}.tab.active .tab-close,.tab:hover .tab-close{opacity:1}.tab-close:hover{background:var(--bg-surface-3)}.tab--pinned{padding-left:8px;padding-right:8px;gap:4px}.tab--pinned .tab-label{max-width:64px;overflow:hidden;text-overflow:ellipsis;font-size:12px}.tab--dragging{opacity:.5}.tab--drop-before{box-shadow:inset 2px 0 0 0 var(--accent)}.tab--drop-after{box-shadow:inset -2px 0 0 0 var(--accent)}.tab-dirty-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;display:inline-block}.tab-label{display:inline-block;max-width:12ch;overflow:hidden;text-overflow:ellipsis}.editor-content-wrap{padding:20px;overflow:hidden;position:relative}.editor-card,.editor-content-wrap{flex:1 1;display:flex;flex-direction:column;min-height:0}.editor-card{background:var(--bg-surface);border-radius:var(--radius-2xl);overflow-x:hidden;overflow-y:auto}.editor-split-row{flex:1 1;display:flex;flex-direction:row;min-height:0;min-width:0}.editor-split-row>.editor-card{flex:1 1 50%;min-width:320px}.editor-card--focused{box-shadow:0 0 0 2px var(--accent)}.split-divider{flex:0 0 10px;cursor:col-resize;background:transparent;position:relative;align-self:stretch}.split-divider:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%);background:transparent;transition:background .12s ease,width .12s ease}.split-divider--dragging:after,.split-divider:hover:after{background:var(--accent);width:2px}.split-pane-header{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--border);flex:0 0 auto;font-size:13px;color:var(--text-secondary);position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--bg-surface)}.split-pane-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.split-pane-dirty{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:0 0 auto}.split-pane-btn{border:none;background:transparent;cursor:pointer;padding:3px 7px;border-radius:6px;color:var(--text-muted);display:inline-flex;align-items:center;line-height:1}.split-pane-btn:hover{background:var(--bg-surface-2);color:var(--text-secondary)}.split-drop-overlay{position:absolute;top:0;right:0;bottom:0;width:25%;background:color-mix(in srgb,var(--accent) 14%,transparent);border-left:2px dashed var(--accent);border-radius:var(--radius-2xl);pointer-events:none;z-index:5}@media print{.editor-split-row .editor-card:not(.editor-card--focused),.editor-split-row .split-divider,.editor-split-row .split-pane-header,.split-drop-overlay{display:none!important}.editor-split-row .editor-card--focused{flex:1 1 100%!important}}.editor-scroll{flex:1 1;overflow-y:auto;padding:0}.editor-canvas{max-width:var(--editor-max-width,740px);width:100%;margin:0 auto;padding:56px 48px 120px}.main-panel{flex:1 1;background:var(--bg-app);min-width:0}.chat-dialog,.main-panel{display:flex;flex-direction:column;overflow:hidden}.chat-dialog{position:absolute;bottom:16px;right:16px;width:min(500px,calc(100% - 32px));max-height:calc(100% - 32px);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:100}.chat-dialog--history{height:calc(100% - 32px)}.panel-animate{animation:panel-slide-in .2s ease}@keyframes panel-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-dialog-messages{flex:1 1;overflow-y:auto;padding:16px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:20px;min-height:0;animation:chat-history-in .2s ease}@keyframes chat-history-in{0%{opacity:0}to{opacity:1}}.chat-welcome{padding:20px 6px 18px;border-bottom:1px solid var(--border)}.chat-welcome-title{font-family:var(--font-sans);font-size:16px;font-weight:650;letter-spacing:-.01em;line-height:1.3;color:var(--text-primary);margin:0 0 11px;text-wrap:balance;display:flex;align-items:baseline;gap:7px}.chat-welcome-icon{width:15px;height:15px;flex-shrink:0;color:var(--accent);transform:translateY(1px)}.chat-welcome-hint{font-family:var(--font-sans);font-size:11.5px;line-height:1.5;color:var(--text-muted);margin:0;text-wrap:pretty}.chat-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:10px 0 6px}.chat-model-selector{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:var(--radius-sm);border:none;background:var(--bg-surface-2);color:var(--text-muted);font-size:11px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.chat-model-selector:hover{background:var(--bg-surface-3);color:var(--text-secondary)}.chat-model-selector:disabled{opacity:.5;cursor:default}.chat-model-picker{position:absolute;top:calc(100% + 4px);left:0;z-index:200;min-width:200px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg,0 8px 24px rgba(0,0,0,.18));padding:4px;display:flex;flex-direction:column;gap:1px}.chat-model-picker-item{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-size:12px;font-family:inherit;text-align:left;cursor:pointer;transition:background .1s}.chat-model-picker-item:hover:not(:disabled){background:var(--bg-surface-2)}.chat-model-picker-item.is-selected{color:var(--accent,#7c6af7);font-weight:500}.chat-model-picker-item.is-unavailable{opacity:.45;cursor:default}.chat-model-picker-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-model-picker-badges{margin-left:auto;display:flex;align-items:center;gap:4px;flex-shrink:0}.chat-model-picker-cap-badge{font-size:9px;color:var(--warning,#b8860b);background:var(--warning-bg,rgba(184,134,11,.12));border-radius:4px;padding:1px 5px;white-space:nowrap}.chat-model-picker-badge{font-size:10px;color:var(--text-muted);background:var(--bg-surface-2);border-radius:4px;padding:1px 5px;white-space:nowrap}.chat-model-picker-badge--active{color:var(--accent,#7c6af7);background:transparent}.chat-local-warning{display:flex;align-items:flex-start;gap:6px;margin:0 12px 8px;padding:6px 10px;font-size:11px;line-height:1.4;color:var(--text-muted);background:var(--bg-surface-2);border-radius:var(--radius-sm)}.chat-local-warning svg{flex-shrink:0;margin-top:1px}.chat-route-hint{display:flex;align-items:center;gap:5px;margin:6px 12px 0;font-size:11px;line-height:1.4;color:var(--text-muted)}.chat-route-hint svg{flex-shrink:0;opacity:.8}.chat-route-hint--top{margin-bottom:10px}.chat-route-hint-reason{opacity:.75}.chat-model-picker-empty{padding:10px 12px;font-size:11px;color:var(--text-muted);text-align:center}.chat-msg-list{gap:20px}.chat-empty,.chat-msg-list{display:flex;flex-direction:column}.chat-empty{align-items:center;gap:10px;padding-top:40px;padding-bottom:20px}.chat-empty-icon{width:36px;height:36px;border-radius:10px;background:var(--gradient-accent);display:flex;align-items:center;justify-content:center;color:white;box-shadow:var(--shadow-soft)}.chat-empty-icon--plain{background:none;box-shadow:none}.chat-empty-text{font-size:14px;color:var(--text-muted);text-align:center;max-width:200px;line-height:1.6;margin:0}.chat-dialog-header--end{justify-content:flex-end}.chat-no-provider{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 24px 40px}.chat-no-provider-title{font-size:14px;font-weight:600;color:var(--text-primary);text-align:center;margin:0}.chat-no-provider-text{font-size:13px;color:var(--text-muted);text-align:center;max-width:250px;line-height:1.6;margin:0 0 6px}.msg{display:flex;gap:12px;max-width:100%}.msg--ai{align-items:flex-start}.msg-avatar{width:28px;height:28px;min-width:28px;border-radius:var(--radius-md);background:var(--gradient-accent);color:white;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft);flex-shrink:0}.msg-avatar--plain{background:none;box-shadow:none}.msg-content{flex:1 1;min-width:0;padding-top:2px}.msg-text{font-size:14px;line-height:1.625;color:var(--text-primary);word-break:break-word}.msg-text>:first-child{margin-top:0}.msg-text>:last-child{margin-bottom:0}.msg-text p{margin:0 0 10px}.msg-text ol,.msg-text ul{margin:0 0 10px;padding-left:1.4em}.msg-text li,.msg-text li>ol,.msg-text li>ul{margin:3px 0}.msg-text .chat-tasklist{list-style:none;padding-left:0}.msg-text .chat-tasklist li{display:flex;align-items:baseline;gap:6px}.msg-text h1,.msg-text h2,.msg-text h3,.msg-text h4,.msg-text h5,.msg-text h6{margin:16px 0 8px;font-weight:600;line-height:1.35}.msg-text h1{font-size:1.3em}.msg-text h2{font-size:1.18em}.msg-text h3,.msg-text h4,.msg-text h5,.msg-text h6{font-size:1.05em}.msg-text blockquote{margin:0 0 10px;padding:2px 12px;border-left:3px solid var(--border);color:var(--text-secondary)}.msg-text hr{margin:12px 0;border:none;border-top:1px solid var(--border)}.msg-text code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-surface-3);color:var(--accent);padding:1px 5px;border-radius:var(--radius-xs)}.msg-text pre{margin:0 0 10px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;overflow-x:auto}.msg-text pre code{background:none;color:inherit;padding:0;font-size:.85em;line-height:1.5}.msg-text table{width:100%;border-collapse:collapse;margin:0 0 10px;font-size:.92em}.msg-text td,.msg-text th{border:1px solid var(--border);padding:5px 8px;text-align:left}.msg-text th{background:var(--bg-surface-2);font-weight:600;color:var(--text-secondary)}.msg-text a{color:var(--accent)}.msg--user{justify-content:flex-end}.msg-bubble-user{max-width:85%;background:var(--bg-surface-2);border:1px solid rgba(232,232,230,.6);border-radius:var(--radius-2xl);border-top-right-radius:var(--radius-md);padding:10px 14px;font-size:14px;line-height:1.625;color:var(--text-primary);word-break:break-word}[data-theme=dark] .msg-bubble-user{background:var(--bg-surface-3);border-color:rgba(255,255,255,.08)}.streaming-indicator{display:flex;align-items:center;gap:4px;padding:6px 2px;width:-moz-fit-content;width:fit-content;max-width:100%}.streaming-label{margin-left:4px;font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.streaming-label-target{margin-left:5px;color:var(--text-placeholder)}.streaming-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:streaming-pulse 1.2s ease-in-out infinite}.streaming-dot:nth-child(2){animation-delay:.2s}.streaming-dot:nth-child(3){animation-delay:.4s}@keyframes streaming-pulse{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1.1);opacity:1}}.chat-dialog-body{padding:0 12px 12px;display:flex;flex-direction:column;flex-shrink:0}.chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chat-suggestion-chip{padding:4px 10px;border-radius:var(--radius-full);border:1px solid var(--border);background:rgba(255,255,255,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:11px;font-weight:500;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:border-color .12s,color .12s,background .12s;white-space:nowrap}.chat-suggestion-chip:hover{border-color:rgba(99,102,241,.4);color:var(--text-primary);background:var(--bg-surface)}.chat-suggestion-chip:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .chat-suggestion-chip{background:rgba(26,26,25,.6)}.chat-input-wrap{background:var(--bg-surface);border:2px solid var(--border-strong);border-radius:var(--radius-2xl);padding:6px;transition:border-color .15s,box-shadow .15s;box-shadow:var(--shadow-input),0 2px 10px rgba(0,0,0,.06)}.chat-input-wrap:focus-within{border-color:var(--text-muted);box-shadow:var(--shadow-input),0 4px 16px rgba(0,0,0,.1)}.chat-textarea{width:100%;border:none;background:none;resize:none;outline:none;font-size:14px;font-family:inherit;color:var(--text-primary);line-height:1.55;min-height:68px;max-height:200px;overflow-y:auto;padding:10px 12px 6px;display:block;box-sizing:border-box}.chat-textarea::placeholder{color:var(--text-placeholder)}.chat-input-toolbar{display:flex;justify-content:space-between;align-items:center;padding:0 4px 2px}.chat-icon-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:color .12s,background .12s}.chat-icon-btn:hover{color:var(--text-primary);background:var(--bg-surface-2)}.chat-icon-btn:disabled{opacity:.4;cursor:not-allowed}.chat-send-btn{width:30px;height:30px;border-radius:var(--radius-md);border:none;background:var(--gradient-accent);color:white;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:opacity .12s,transform .1s;box-shadow:var(--shadow-soft)}.chat-send-btn:hover{opacity:.88}.chat-send-btn:active{transform:scale(.93)}.chat-send-btn:disabled{background:var(--bg-surface-3);color:var(--text-muted);cursor:not-allowed;box-shadow:none}.chat-attach-wrap{display:flex;align-items:center}.chat-attach-menu{position:absolute;bottom:calc(100% + 6px);left:0;z-index:20;min-width:240px;max-width:min(420px,calc(100vw - 24px));padding:4px;display:flex;flex-direction:column;gap:1px;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-menu,var(--shadow-input));animation:chat-attach-menu-in .12s ease}@keyframes chat-attach-menu-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-attach-menu-hint{margin:4px 2px 2px;font-size:10px;line-height:1.35;color:var(--text-muted);border-top:1px solid var(--border);padding-top:6px}.chat-attach-menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;background:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;font-family:inherit;text-align:left;cursor:pointer;transition:background .12s,color .12s}.chat-attach-menu-item:hover:not(:disabled){background:var(--bg-surface-2);color:var(--text-primary)}.chat-attach-menu-item:disabled{opacity:.4;cursor:not-allowed}.chat-db-toggle{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--text-muted);font-size:10px;font-weight:500;cursor:pointer;transition:all .15s ease;height:22px}.chat-db-toggle:hover{border-color:var(--accent-muted);color:var(--text-secondary)}.chat-db-toggle--on{background:var(--accent-subtle,rgba(109,57,246,.12));border-color:var(--accent-2,#6d39f6);color:var(--accent-2,#6d39f6)}.chat-db-toggle:disabled{opacity:.4;cursor:not-allowed}.chat-mode-toggle{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--text-muted);font-size:10px;font-weight:500;cursor:pointer;transition:all .15s ease;height:22px}.chat-mode-toggle:hover{border-color:var(--accent-muted);color:var(--text-secondary)}.chat-mode-toggle--edit{background:var(--accent-subtle,rgba(109,57,246,.12));border-color:var(--accent-2,#6d39f6);color:var(--accent-2,#6d39f6)}.chat-mode-toggle:disabled{opacity:.4;cursor:not-allowed}.chat-db-confirm-card{margin:6px 0 2px;padding:10px 12px;background:var(--bg-surface-2);border:1px solid var(--accent-muted);border-radius:8px;font-size:12px}.chat-db-confirm-title{display:flex;align-items:center;gap:5px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.chat-db-confirm-ops{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:3px}.chat-db-confirm-op{display:flex;flex-direction:column;align-items:stretch;gap:4px;font-size:11px;color:var(--text-secondary)}.chat-db-confirm-op-head{display:flex;align-items:center;gap:6px}.chat-db-confirm-op-name{font-family:monospace;background:var(--bg-surface-3);padding:1px 4px;border-radius:3px}.chat-db-confirm-op-meta{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-db-confirm-op-body{color:var(--text-muted);white-space:pre-wrap;word-break:break-word;padding-left:4px;border-left:2px solid var(--border-subtle,var(--bg-surface-3))}.chat-db-confirm-op-topic{display:inline-block;margin-right:6px;padding:0 5px;border-radius:4px;font-family:monospace;font-size:10px;color:var(--text-muted);background:var(--bg-surface-3,var(--border-subtle));vertical-align:baseline}.chat-db-confirm-diff{list-style:none;margin:0;padding:0 0 0 4px;display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--border-subtle,var(--bg-surface-3))}.chat-db-confirm-diff-op{display:flex;align-items:baseline;gap:6px;min-width:0}.chat-db-confirm-diff-verb{font-family:monospace;font-size:10px;color:var(--text-muted);flex-shrink:0}.chat-db-confirm-diff-op--deleteBlock .chat-db-confirm-diff-verb{color:var(--danger,#d9534f)}.chat-db-confirm-diff-op--insertBlock .chat-db-confirm-diff-verb{color:var(--success,#4a9e5c)}.chat-db-confirm-diff-id{font-family:monospace;font-size:10px;color:var(--text-muted);flex-shrink:0}.chat-db-confirm-diff-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-db-confirm-table{border-collapse:collapse;font-size:10px;margin-left:4px}.chat-db-confirm-table-key{font-family:monospace;color:var(--text-muted);padding:0 8px 1px 0;vertical-align:top;white-space:nowrap}.chat-db-confirm-table-val{color:var(--text-secondary);word-break:break-word}.chat-db-confirm-actions{display:flex;gap:6px}.chat-db-confirm-btn{flex:1 1;padding:5px 10px;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s ease}.chat-db-confirm-btn--approve{background:var(--accent-2,#6d39f6);color:white;border-color:var(--accent-2,#6d39f6)}.chat-db-confirm-btn--approve:hover{opacity:.88}.chat-db-confirm-btn--session{background:transparent;color:var(--accent-2,#6d39f6);border-color:var(--accent-2,#6d39f6)}.chat-db-confirm-btn--session:hover{background:var(--bg-surface-3)}.chat-db-confirm-btn--reject{background:transparent;color:var(--text-secondary);border-color:var(--border)}.chat-db-confirm-btn--reject:hover{background:var(--bg-surface-3)}.chat-ask-user-question{font-size:12px;line-height:1.45;color:var(--text-primary);margin:4px 0 8px;white-space:pre-wrap}.chat-ask-user-options{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chat-ask-user-chip{padding:4px 10px;border-radius:999px;font-size:11px;cursor:pointer;background:transparent;color:var(--accent-2,#6d39f6);border:1px solid var(--accent-2,#6d39f6);transition:all .15s ease}.chat-ask-user-chip:hover{background:var(--bg-surface-3)}.chat-ask-user-answer{display:flex;gap:6px;align-items:center}.chat-ask-user-input{flex:1 1;min-width:0;padding:5px 10px;border-radius:6px;font-size:12px;color:var(--text-primary);background:var(--bg-surface-2,var(--bg-surface-3));border:1px solid var(--border)}.chat-ask-user-input:focus{outline:none;border-color:var(--accent-2,#6d39f6)}.chat-ask-user-answer .chat-db-confirm-btn{flex:0 0 auto}.chat-ask-user-answer .chat-db-confirm-btn--approve:disabled{opacity:.5;cursor:default}.chat-recording-bar{display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:12px;color:var(--text-secondary);min-height:34px}.chat-recording-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);flex-shrink:0;animation:recording-pulse 1s ease-in-out infinite}@keyframes recording-pulse{0%,to{opacity:1}50%{opacity:.35}}.chat-recording-timer{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px;color:var(--text-primary);min-width:36px}.chat-recording-level{flex:1 1;height:4px;background:var(--bg-surface-3);border-radius:999px;overflow:hidden;max-width:80px}.chat-recording-level-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .08s linear}.chat-recording-action{padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;border:1px solid var(--border);display:inline-flex;align-items:center;gap:4px}.chat-recording-action--cancel{background:transparent;color:var(--text-muted)}.chat-recording-action--cancel:hover{background:var(--bg-surface-3);color:var(--text-primary)}.chat-recording-action--stop{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}.chat-recording-action--stop:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.chat-recording-spinner{animation:spin .8s linear infinite;color:var(--accent)}.chat-recording-transcribing-label{color:var(--text-muted);font-size:12px}.chat-icon-btn--recording{color:var(--danger)!important}.chat-icon-btn-spin{animation:spin .8s linear infinite}.chat-voice-error{display:flex;align-items:center;gap:5px;padding:5px 8px;font-size:11px;color:var(--danger);background:var(--danger-subtle);border-radius:4px;margin:4px 6px 0}.chat-attachments{display:flex;flex-wrap:wrap;gap:4px;padding:6px 6px 0}.chat-attachment-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 8px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:999px;font-size:11px;color:var(--text-primary);max-width:220px}.chat-attachment-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-attachment-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;border-radius:999px;background:none;color:var(--text-muted);cursor:pointer}.chat-attachment-remove:hover{background:var(--bg-surface-3);color:var(--text-primary)}.chat-attachment-chip--file{background:var(--bg-surface);border-color:var(--accent-muted)}.chat-attachment-chip--error{border-color:var(--error,#ef4444);color:var(--error,#ef4444)}.chat-attachment-thumb{width:18px;height:18px;border-radius:3px;object-fit:cover;flex-shrink:0}.chat-attachment-size{font-size:9px;color:var(--text-muted);flex-shrink:0}.chat-dialog--dragover{outline:2px dashed var(--accent);outline-offset:-2px}.chat-drop-overlay,.chat-input-wrap--dragover{background:var(--accent-subtle)}.chat-drop-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:8px;font-size:12px;color:var(--accent);pointer-events:none;z-index:10}.msg-file-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.msg-file-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:6px;font-size:10px;color:var(--text-secondary);max-width:140px;overflow:hidden}.msg-file-chip-thumb{width:14px;height:14px;border-radius:2px;object-fit:cover;flex-shrink:0}.msg-file-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-attachments-label{display:inline-flex;align-items:center;gap:3px;margin-top:3px;padding:1px 6px;font-size:10px;color:var(--text-muted);background:var(--bg-surface-2);border-radius:999px;align-self:flex-end}.skill-picker-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:1000;animation:skill-picker-fade-in .12s ease}@keyframes skill-picker-fade-in{0%{opacity:0}to{opacity:1}}.skill-picker-modal{width:min(420px,92vw);max-height:min(520px,80dvh);display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);overflow:hidden}.skill-picker-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border)}.skill-picker-title{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-primary)}.skill-picker-search{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border)}.skill-picker-search input{flex:1 1;border:none;outline:none;background:none;font-size:13px;color:var(--text-primary);font-family:inherit}.skill-picker-search input::placeholder{color:var(--text-placeholder)}.skill-picker-list{flex:1 1;overflow-y:auto;padding:4px}.skill-picker-item{width:100%;display:flex;align-items:center;gap:8px;padding:6px 8px;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:var(--text-primary);font-family:inherit;font-size:13px}.skill-picker-item:hover:not(:disabled){background:var(--bg-surface-2)}.skill-picker-item:disabled{opacity:.5;cursor:not-allowed}.skill-picker-item-text{flex:1 1;min-width:0}.skill-picker-item-name{font-size:12px;font-weight:500}.skill-picker-item-name,.skill-picker-item-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-picker-item-badge,.skill-picker-item-path{font-size:10px;color:var(--text-muted)}.skill-picker-item-badge{padding:1px 6px;background:var(--bg-surface-2);border-radius:999px}.skill-picker-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:32px 16px;color:var(--text-muted);font-size:12px;text-align:center}.skill-picker-empty p{margin:0}.skill-picker-empty-hint{font-size:11px;color:var(--text-placeholder);max-width:280px}.chat-log{flex:1 1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:14px}.chat-message{margin-bottom:0}.chat-role{font-size:10.5px;color:var(--text-muted);margin-bottom:4px;display:block}.chat-bubble{padding:8px 12px;border-radius:var(--radius-md);font-size:13.5px;line-height:1.6;background:var(--ai-bot-bg);color:var(--ai-bot-text)}.chat-user .chat-bubble{background:var(--ai-user-bg);color:var(--ai-user-text)}.chat-form{padding:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.chat-form textarea{width:100%;border:1px solid var(--border);background:var(--bg-surface-2);border-radius:var(--radius-md);padding:8px 12px;font-size:13.5px;font-family:inherit;color:var(--text-primary);resize:none;outline:none;min-height:60px;transition:border-color .15s,box-shadow .15s}.chat-form textarea:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.chat-form button{align-self:flex-end;height:32px;padding:0 16px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:white;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .12s}.chat-form button:hover{background:var(--accent-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;border:none;transition:background .12s,color .12s,box-shadow .15s,transform .08s;text-decoration:none;white-space:nowrap;outline:none}.btn:active{transform:scale(.97)}.btn:focus-visible{box-shadow:var(--shadow-focus)}.btn--primary{background:var(--accent);color:var(--text-on-accent)}.btn--primary:hover{background:var(--accent-hover)}.btn--secondary{background:var(--bg-surface-2);color:var(--text-secondary);border:1px solid var(--border)}.btn--secondary:hover{background:var(--bg-surface-3);color:var(--text-primary);border-color:var(--border-strong)}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--ghost:hover{background:var(--bg-overlay);color:var(--text-primary)}.btn--danger{background:var(--danger-subtle);color:var(--danger)}.btn--danger:hover{background:var(--danger);color:white}.btn--sm{height:26px;padding:0 8px;font-size:12px}.btn--lg{height:38px;padding:0 18px;font-size:14px}.btn svg{width:14px;height:14px}.icon-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s;flex-shrink:0}.icon-btn:hover{background:var(--bg-overlay);color:var(--text-secondary)}.icon-btn.active{background:var(--accent-subtle)}.icon-btn.active,.icon-btn.icon-btn--encrypted,.icon-btn.icon-btn--encrypted:hover{color:var(--accent)}.icon-btn svg{width:15px;height:15px}.tag{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:var(--radius-full);font-size:11px;font-weight:500;background:var(--bg-surface-3);color:var(--text-secondary);-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default;transition:background .12s,color .12s}.tag--accent,.tag:hover{background:var(--accent-subtle);color:var(--accent)}.tag--danger{background:var(--danger-subtle);color:var(--danger)}.tag--success{background:var(--success-subtle);color:var(--success)}.tag--warning{background:var(--warning-subtle);color:var(--warning)}.tag-chip{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--radius-full);font-size:12px;font-weight:500;background:var(--accent-subtle);color:var(--accent);cursor:pointer;border:none;font-family:inherit;transition:background .12s}.tag-chip:hover{background:var(--accent-muted)}.input{height:34px;padding:0 10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13.5px;color:var(--text-primary);font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-placeholder)}.input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.input:disabled{background:var(--bg-surface-2);color:var(--text-muted);cursor:not-allowed}.theme-toggle{width:30px;height:30px;border-radius:var(--radius-sm);border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.theme-toggle:hover{background:var(--bg-overlay);color:var(--text-secondary)}.status-bar{height:24px;min-height:24px;background:var(--gradient-accent);padding:0 12px;gap:12px;flex-shrink:0}.status-bar,.status-bar-item{display:flex;align-items:center}.status-bar-item{font-size:11.5px;color:rgba(255,255,255,.8);gap:4px}.status-bar-item svg{width:11px;height:11px}.status-bar-item--stats{gap:6px}.status-bar-item--offline{gap:5px;padding:1px 8px;border-radius:var(--radius-full);background:rgba(245,158,11,.18);color:#fbbf24;cursor:default}@media (max-width:599px){.status-bar-item--stats{display:none}}.sync-indicator{font-size:11.5px;color:rgba(255,255,255,.8)}.last-sync{font-size:11px;color:rgba(255,255,255,.6);margin-left:8px}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);font-size:10.5px;font-family:var(--font-mono);color:var(--text-muted);box-shadow:0 1px 0 var(--border-strong)}.kanban-col,kbd{background:var(--bg-surface-2)}.kanban-col{min-width:240px;border-radius:var(--radius-md);padding:10px;display:flex;flex-direction:column;gap:6px}.kanban-col-header{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 6px}.kanban-col-title{font-size:14px;font-weight:600;color:var(--text-secondary)}.kanban-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 11px;cursor:-webkit-grab;cursor:grab;transition:box-shadow .15s,transform .12s,border-color .12s;box-shadow:0 1px 2px rgba(0,0,0,.04)}.kanban-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px);border-color:var(--border-strong)}.kanban-card span[contenteditable]{display:block;font-size:13px;color:var(--text-primary);line-height:1.5;outline:none;word-break:break-word;cursor:text}.kanban-card-title{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:6px;line-height:1.4}.kanban-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.block-kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.kanban-column{background:transparent;border-radius:var(--radius-md);padding:10px 10px 8px;border:1px solid var(--border);display:flex;flex-direction:column;gap:6px;min-height:120px}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.kanban-column-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;line-height:1;outline:none;cursor:text;min-width:0;flex:1 1}.kanban-column-count{font-size:11px;font-weight:500;color:var(--text-muted);background:var(--bg-surface-3);border-radius:999px;padding:1px 7px;line-height:1.6;flex-shrink:0}.kanban-add-btn{display:flex;align-items:center;gap:5px;width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface-2);color:var(--text-muted);font-size:12px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;margin-top:2px;font-family:inherit}.kanban-add-btn:hover{background:var(--bg-surface);color:var(--accent);border-color:var(--accent)}.kanban-add-btn span{font-size:15px;line-height:1;font-weight:400}.kanban-filter-bar{gap:8px 12px;padding:6px 0 10px;font-size:12px}.kanban-filter-bar,.kanban-filter-group{display:flex;flex-wrap:wrap;align-items:center}.kanban-filter-group{gap:4px}.kanban-filter-label{color:var(--text-muted);margin-right:4px}.kanban-filter-chip{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);padding:2px 8px;border-radius:999px;font-size:11px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.kanban-filter-chip:hover{border-color:var(--accent);color:var(--text-primary)}.kanban-filter-chip--on{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.kanban-filter-reset{background:transparent;border:none;color:var(--text-muted);font-size:11px;cursor:pointer;text-decoration:underline;padding:2px 4px}.kanban-filter-reset:hover{color:var(--text-primary)}.kanban-card--hidden{display:none}.block-media iframe,.block-media img,.block-media video{max-width:100%;display:block}.block-media-placeholder{display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 16px;border:1.5px dashed var(--border);border-radius:var(--radius-md);background:var(--bg-surface-2);text-align:center;margin:2px 0}.block-media-placeholder-icon{color:var(--text-muted);opacity:.7}.block-media-placeholder-hint{font-size:12.5px;color:var(--text-secondary);font-weight:500}.block-media-placeholder-form{display:flex;gap:6px;width:100%;max-width:400px}.block-media-placeholder-form input{flex:1 1;min-width:0;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;background:var(--bg-surface);color:var(--text-primary);outline:none;font-family:inherit}.block-media-placeholder-form input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.block-media-placeholder-form button{padding:7px 14px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:var(--text-on-accent);font-size:12px;font-weight:500;cursor:pointer;transition:opacity .12s;font-family:inherit;flex-shrink:0}.block-media-placeholder-form button:hover:not(:disabled){opacity:.88}.block-media-placeholder-form button:disabled{opacity:.4;cursor:not-allowed}.block-media-placeholder--dragover{border-color:var(--accent);background:var(--accent-soft,var(--bg-surface-3))}.block-media-upload{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.block-media-upload-btn{padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .1s}.block-media-upload-btn:hover:not(:disabled){background:var(--bg-surface-3);color:var(--text-primary)}.block-media-upload-btn:disabled{opacity:.4;cursor:not-allowed}.block-media-upload-hint{font-size:11.5px;color:var(--text-muted)}.block-media-error{font-size:11.5px;color:var(--danger,#d33)}.block-media--failed{display:none}.block-media-failed{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px dashed var(--border-strong);border-radius:10px;background:var(--bg-surface-2);color:var(--text-secondary)}.block-media-failed-icon{flex-shrink:0;color:var(--text-muted)}.block-media-failed-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.block-media-failed-title{font-size:13px}.block-media-failed-src{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.block-media-failed-retry{flex-shrink:0;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:12px;cursor:pointer}.block-media-failed-retry:hover{border-color:var(--accent);background:var(--accent-subtle)}html.is-mobile .block-media-failed-retry,html.is-mobile .block-media-placeholder-form button,html.is-mobile .block-media-placeholder-form input,html.is-mobile .block-media-upload-btn{min-height:44px}.block-media-picker{width:100%;max-width:400px;display:flex;flex-direction:column;gap:4px}.block-media-picker-toggle{display:flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:11.5px;cursor:pointer;font-family:inherit;transition:background .1s}.block-media-picker-toggle:hover{background:var(--bg-surface-3);color:var(--text-primary)}.block-media-picker-list{max-height:120px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface)}.block-media-picker-item{display:block;width:100%;text-align:left;padding:5px 10px;border:none;background:transparent;color:var(--text-primary);font-size:11.5px;cursor:pointer;font-family:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.block-media-picker-item:hover{background:var(--accent-subtle);color:var(--accent)}.block-mermaid{display:flex;flex-direction:column;gap:8px;margin:.7rem 0}.block-mermaid textarea{font-family:var(--font-mono);font-size:13px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);resize:vertical}.mermaid-controls{display:flex;gap:4px;align-items:center;padding:4px 0;font-size:11px}.mermaid-controls-spacer{flex:1 1}.mermaid-zoom-btn{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);padding:3px 8px;border-radius:var(--radius-xs);font-size:11px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.mermaid-zoom-btn:hover{border-color:var(--accent);color:var(--text-primary)}.mermaid-zoom-btn--on{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.mermaid-preview-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);overflow:hidden;height:360px;position:relative;touch-action:none}.mermaid-preview{position:absolute;top:0;left:0;padding:12px}.mermaid-preview svg{max-width:none;display:block}.block-calendar{display:flex;flex-direction:column;gap:0}.calendar-controls{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-bottom:12px;font-size:12px}.calendar-view-toggle{display:flex;gap:2px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:8px;padding:2px}.calendar-view-btn{background:transparent;border:none;color:var(--text-secondary);font-size:11.5px;font-weight:500;padding:4px 12px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s;font-family:inherit}.calendar-view-btn--on,.calendar-view-btn:hover{color:var(--text-primary)}.calendar-view-btn--on{background:var(--bg-surface);box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 1px rgba(0,0,0,.06)}.calendar-nav{display:flex;gap:4px;align-items:center}.calendar-nav button{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:14px;cursor:pointer;transition:background .12s,border-color .12s,color .12s;padding:0;font-family:inherit}.calendar-nav button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.calendar-anchor-label{font-size:12px;font-weight:500;color:var(--text-primary);min-width:140px;text-align:center}.calendar-today-btn{margin-left:4px;font-size:11.5px;padding:4px 10px!important;width:auto!important;height:auto!important;border-radius:var(--radius-sm)!important}.calendar-empty{color:var(--text-muted);font-size:12px;padding:16px 0;text-align:center}.calendar-events-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.calendar-add-btn{display:flex;align-items:center;gap:5px;padding:7px 12px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s;font-family:inherit;align-self:flex-start}.calendar-add-btn:hover{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent)}.calendar-add-btn span{font-size:16px;line-height:1;font-weight:300}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;color:var(--text-muted);padding:40px;text-align:center}.command-palette-backdrop,.settings-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:30}.key-missing-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:grid;place-items:center;z-index:9995;padding:16px}.key-missing-dialog{width:min(420px,100%);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-elevated);padding:22px 24px}.key-missing-title{margin:0 0 10px;font-size:15px;font-weight:600;color:var(--text-primary);line-height:1.4}.key-missing-body{margin:0 0 8px;font-size:13px;line-height:1.6;color:var(--text-secondary)}.key-missing-hint{margin:0 0 16px;font-size:12px;line-height:1.55;color:var(--text-muted)}.key-missing-actions{display:flex;gap:8px;justify-content:flex-end}.key-missing-btn{padding:7px 14px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer}.key-missing-btn--primary{border-color:transparent;background:#3b82f6;color:#fff}html.is-mobile .key-missing-btn{padding:10px 18px;font-size:15px}.command-palette-backdrop{align-items:start;padding-top:12dvh}.command-palette{width:min(560px,calc(100vw - 2rem));max-height:60dvh;background:rgba(255,255,255,.96);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-elevated);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}[data-theme=dark] .command-palette{background:rgba(26,26,25,.96)}.command-palette input{border:none;border-bottom:1px solid var(--border);padding:12px 14px;font-size:14px;outline:none;background:transparent;color:var(--text-primary)}.command-palette ul{list-style:none;margin:0;padding:6px 0;overflow-y:auto;max-height:calc(60dvh - 50px)}.command-palette-group{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:10px 14px 4px}.command-palette-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;cursor:pointer;font-size:13px;color:var(--text-primary)}.command-palette-item--active{background:var(--bg-surface-2)}.command-palette-item mark{background:transparent;color:var(--accent);font-weight:600}.command-palette-item kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted);background:var(--bg-surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 6px}.command-palette-item--active kbd{background:var(--bg-surface)}.command-palette-empty{padding:16px 14px;font-size:13px;color:var(--text-muted);text-align:center}.shortcuts-help{width:min(640px,calc(100vw - 2rem));max-height:70dvh;background:var(--bg-surface);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-elevated);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.shortcuts-help-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.shortcuts-help-header h3{margin:0;font-size:14px;font-weight:600}.shortcuts-help-search{border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:13px;background:var(--bg-surface);color:var(--text-primary);outline:none}.shortcuts-help-body{overflow-y:auto;padding:8px 12px 16px}.shortcuts-help-group-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:14px 6px 6px}.shortcuts-help-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px;font-size:13px;color:var(--text-primary);border-radius:6px}.shortcuts-help-row kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted);background:var(--bg-surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 6px}.settings-modal{width:min(960px,calc(100vw - 2rem));background:rgba(255,255,255,.92);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevated);border:1px solid var(--border);max-height:calc(100dvh - 4rem);overflow:auto}[data-theme=dark] .settings-modal{background:rgba(26,26,25,.92)}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.4rem;border-bottom:1px solid var(--border)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem;padding:1.2rem}.settings-card{background:var(--bg-surface-2);border-radius:var(--radius-md);padding:1rem}.settings-card input[type=password],.settings-card input[type=text],.settings-card textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;background:var(--bg-surface);color:var(--text-primary);font-family:inherit;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s;resize:vertical}.settings-card input:focus,.settings-card textarea:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.credits-widget{gap:.75rem;padding:1rem}.storage-meter{height:8px;margin:.5rem 0}.storage-meter-fill{background:var(--accent)}.graph-view{width:100%;min-height:300px;background:radial-gradient(ellipse at 50% 38%,#1d1142 0,#130a2c 55%,#0a0518 100%);border:1px solid var(--border);border-radius:var(--radius-md);touch-action:none}@keyframes graph-fade-in{0%{opacity:0}}.graph-node{cursor:pointer;stroke:rgba(10,5,24,.9);stroke-width:1.5px;transform-box:fill-box;transform-origin:center;transition:opacity .18s ease,transform .25s cubic-bezier(.34,1.56,.64,1),filter .2s ease}.graph-root--enter .graph-node{animation:graph-node-pop .45s cubic-bezier(.34,1.56,.64,1) backwards}@keyframes graph-node-pop{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}.graph-root--enter .graph-halo,.graph-root--enter .graph-label,.graph-root--enter .graph-link,.graph-root--enter .graph-link-glow{animation:graph-fade-in .5s ease .25s backwards}.graph-node.is-hovered{transform:scale(1.35);filter:drop-shadow(0 0 8px currentColor)}.graph--hover .graph-node.is-hl:not(.is-hovered){transform:scale(1.12);filter:drop-shadow(0 0 5px currentColor)}.graph-node--focus{filter:drop-shadow(0 0 6px currentColor)}.graph-halo{pointer-events:none;transition:opacity .25s ease}.graph-links-glow{filter:blur(3px);pointer-events:none}.graph-link-glow{stroke-width:3.5px;stroke-opacity:.45}.graph-link,.graph-link-glow{fill:none;transition:opacity .18s ease}.graph-link{stroke-opacity:.75;stroke-width:1.2px}.graph-arrow{fill:rgba(196,181,253,.55)}.graph-arrow--hl{fill:#f5f3ff}.graph-label{fill:#b6aede;font-size:11px;opacity:0;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:opacity .18s ease}.graph--labels .graph-label,.graph--zoomlabels .graph-label{opacity:1}.graph--hover .graph-node:not(.is-hl){opacity:.15}.graph--hover .graph-halo:not(.is-hl),.graph--hover .graph-link:not(.is-hl){opacity:.06}.graph--hover .graph-link-glow:not(.is-hl){opacity:.05}.graph--hover .graph-link.is-hl{opacity:1;stroke-opacity:1;stroke-width:2px;stroke-dasharray:5 7;animation:graph-flow .5s linear infinite}@keyframes graph-flow{to{stroke-dashoffset:-12}}.graph--hover .graph-label{opacity:0}.graph--hover .graph-label.is-hl{opacity:1;fill:#f4f2ff;text-shadow:0 0 8px rgba(167,139,250,.9)}.graph-label.is-hovered{font-weight:600}.graph-dust{pointer-events:none;opacity:.35;animation:graph-twinkle 3.2s ease-in-out infinite alternate}@keyframes graph-twinkle{0%{opacity:.06}to{opacity:.7}}.graph-focus-ring{fill:none;stroke:#e879f9;stroke-width:2px;pointer-events:none;transform-box:fill-box;transform-origin:center;animation:graph-pulse 2.4s ease-out infinite}@keyframes graph-pulse{0%{transform:scale(1);opacity:.8}70%,to{transform:scale(1.9);opacity:0}}.search-panel{padding:8px 4px}.search-panel input{width:100%;height:30px;padding:0 10px;background:var(--bg-surface-2);border:1px solid transparent;border-radius:var(--radius-sm);font-size:14px;color:var(--text-primary);font-family:inherit;outline:none;transition:border-color .15s}.search-panel input:focus{border-color:var(--border-focus)}.search-panel ul{list-style:none;margin-top:6px}.search-panel li{margin-bottom:2px}.search-panel button{width:100%;text-align:left;padding:6px 8px;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:14px;color:var(--text-secondary);transition:background .1s}.search-panel button:hover{background:var(--bg-overlay);color:var(--text-primary)}.search-panel small{display:block;font-size:10.5px;color:var(--text-muted);margin-top:1px}.search-result-db-head{display:flex;align-items:center;gap:6px;font-size:13px}.search-result-db-badge{display:inline-flex;align-items:center;font-size:9px;font-weight:600;letter-spacing:.02em;padding:1px 5px;border-radius:4px;background:var(--accent-soft,rgba(99,102,241,.14));color:var(--accent,#6366f1)}.search-panel button:disabled{opacity:.55;cursor:default}.search-panel-header{display:flex;align-items:center;padding:0 4px 4px}.search-panel-count{font-size:10.5px;color:var(--text-muted);letter-spacing:.01em}.search-highlight{background:var(--accent-muted,rgba(99,102,241,.18));color:var(--text-primary);border-radius:2px;padding:0 1px;font-style:normal}.search-result-active button{background:var(--accent-subtle)!important;color:var(--text-primary)!important}.search-empty{padding:16px 8px;text-align:center;color:var(--text-muted);font-size:12.5px}.qs-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:9998;display:flex;align-items:flex-start;justify-content:center;padding-top:14dvh}[data-theme=dark] .qs-overlay{background:rgba(0,0,0,.55)}.qs-modal{width:min(520px,calc(100vw - 40px));background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden}.qs-input-wrap{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.qs-input-icon{color:var(--text-muted);flex-shrink:0}.qs-input{flex:1 1;background:none;border:none;outline:none;font-size:15px;color:var(--text-primary);font-family:inherit}.qs-input::placeholder{color:var(--text-placeholder)}.qs-list{list-style:none;max-height:320px;overflow-y:auto;padding:6px}.qs-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s;min-width:0}.qs-item:hover{background:var(--bg-overlay)}.qs-item.active{background:var(--accent-subtle)}.qs-item-icon{color:var(--text-muted);flex-shrink:0}.qs-item-name{font-size:13.5px;color:var(--text-primary);flex-shrink:0;max-width:55%}.qs-item-name,.qs-item-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qs-item-path{font-size:11px;color:var(--text-muted);flex:1 1;min-width:0}.qs-item-recent-icon{color:var(--text-muted);opacity:.55;flex-shrink:0}.qs-empty{padding:24px 20px;text-align:center;color:var(--text-muted);font-size:13px}.emoji-picker{position:fixed;z-index:9999;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);padding:8px;width:248px}.emoji-picker-grid{display:flex;flex-wrap:wrap;gap:1px}.emoji-picker-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-xs);font-size:16px;cursor:pointer;transition:background .1s;line-height:1}.emoji-picker-btn:hover{background:var(--bg-overlay)}.emoji-picker-remove{display:block;width:100%;margin-top:6px;padding:5px 8px;background:none;border:none;border-top:1px solid var(--border);border-radius:0;font-size:12px;color:var(--text-muted);cursor:pointer;text-align:center;font-family:inherit;transition:color .1s}.emoji-picker-remove:hover{color:var(--danger)}.sidebar-footer-panel{background:var(--bg-surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg);animation:slideUpFade .15s ease}.sidebar-footer-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 7px;border-bottom:1px solid var(--border)}.sidebar-footer-panel-title{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--text-primary);letter-spacing:.01em}.sidebar-footer-panel-close{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:3px;border-radius:var(--radius-xs);transition:background .1s,color .1s}.sidebar-footer-panel-close:hover{background:var(--bg-overlay);color:var(--text-primary)}.sidebar-footer-panel-empty{padding:16px 12px;font-size:12px;color:var(--text-muted);text-align:center;margin:0}.system-folder-panel{z-index:1;display:flex;flex-direction:column;overflow:hidden;background:rgba(255,255,255,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transform-origin:bottom center;will-change:transform,opacity}[data-theme=dark] .system-folder-panel{background:rgba(26,26,25,.9)}.system-folder-panel--enter{animation:systemFolderExpandIn var(--system-folder-anim-duration,.3s) cubic-bezier(.4,0,.2,1) forwards}.system-folder-panel--exit{animation:systemFolderExpandOut var(--system-folder-anim-duration,.3s) cubic-bezier(.4,0,.6,1) forwards;pointer-events:none}.system-folder-panel--idle{transform:scaleY(1);opacity:1}@keyframes systemFolderExpandIn{0%{opacity:0;transform:scaleY(.72)}to{opacity:1;transform:scaleY(1)}}@keyframes systemFolderExpandOut{0%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(.72)}}.system-folder-panel-body{flex:1 1;min-height:0;overflow-y:auto;padding:6px 4px}.system-folder-panel>.sidebar-footer-panel{animation:none;box-shadow:none;background:transparent;border:none;flex:1 1;min-height:0;display:flex;flex-direction:column}.system-folder-panel>.sidebar-footer-panel .history-overlay-list{max-height:none;flex:1 1;overflow-y:auto}.cloud-panel-controls{display:flex;align-items:center;gap:4px;padding-right:8px}.cloud-panel-controls .chat-list-search{flex:1 1;min-width:0}.cloud-filter-toggle{display:flex;align-items:center;gap:3px;margin-top:6px;padding:5px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;font-size:10px;line-height:1}.cloud-filter-toggle:hover{color:var(--text-primary)}.cloud-filter-toggle.active{color:var(--accent);border-color:var(--accent)}.cloud-filter-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cloud-panel-notice{margin:6px 8px 0;padding:5px 7px;border-radius:var(--radius-sm);background:var(--bg-overlay);color:var(--text-muted);font-size:11px;line-height:1.35}.cloud-list{display:flex;flex-direction:column;gap:1px}.cloud-row{cursor:pointer}.cloud-row--folder{color:var(--text-secondary)}.cloud-row--error{background:color-mix(in srgb,var(--danger,#ef4444) 8%,transparent)}.cloud-row-status{width:13px;height:13px;flex-shrink:0;margin-left:auto}.cloud-row-status--ok{color:var(--success,#22c55e)}.cloud-row-status--up{color:var(--warning,#f59e0b)}.cloud-row-status--down{color:var(--accent)}.cloud-row-status--warn{color:var(--danger,#ef4444)}.cloud-row-status--muted{color:var(--text-muted);opacity:.6}.cloud-row-retry{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:2px;border:none;border-radius:var(--radius-xs);background:none;color:var(--danger,#ef4444);cursor:pointer}.cloud-row-retry:disabled{opacity:.4;cursor:default}.cloud-panel-footer{display:flex;align-items:center;gap:6px;padding:8px;border-top:1px solid var(--border)}.cloud-panel-button{display:flex;align-items:center;justify-content:center;gap:5px;flex:1 1;min-width:0;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font-size:11px;line-height:1.2;cursor:pointer;text-align:center}.cloud-panel-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.cloud-panel-button:disabled{opacity:.45;cursor:default}.cloud-panel-progress{flex:1 1;font-size:11px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cloud-panel-outcome{display:flex;align-items:flex-start;gap:6px;padding:7px 8px;border-top:1px solid var(--border);background:var(--bg-overlay);color:var(--text-secondary);font-size:11px;line-height:1.35}.cloud-panel-outcome>span{flex:1 1;min-width:0}.chat-list-search{display:flex;align-items:center;gap:6px;margin:6px 8px 0;padding:5px 7px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-muted)}.chat-list-search:focus-within{border-color:var(--accent)}.chat-list-search input{flex:1 1;min-width:0;border:none;outline:none;background:transparent;font-size:12px;color:var(--text-primary)}.chat-list-search-clear{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:1px;color:var(--text-muted);border-radius:var(--radius-xs)}.chat-list-search-clear:hover{color:var(--text-primary)}.chat-list{display:flex;flex-direction:column;gap:1px}.chat-list-item{display:flex;align-items:flex-start;gap:6px;padding:5px 7px;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s}.chat-list-item:hover{background:var(--bg-overlay)}.chat-list-item.active{background:var(--bg-active,var(--bg-overlay))}.chat-list-item-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.chat-list-item-title{font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-list-item-meta{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-muted);min-width:0}.chat-list-item-file{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-list-item-badge{flex-shrink:0;padding:0 4px;border-radius:6px;background:var(--bg-overlay);border:1px solid var(--border);font-size:9px;line-height:13px;white-space:nowrap}.chat-list-item-time{margin-left:auto;flex-shrink:0;white-space:nowrap}.chat-list-item-delete{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:none;border:none;cursor:pointer;padding:2px;border-radius:var(--radius-xs);color:var(--text-muted);opacity:0;transition:opacity .1s,color .1s}.chat-list-item-delete:focus-visible,.chat-list-item:hover .chat-list-item-delete{opacity:1}.chat-list-item-delete:hover{color:var(--danger)}.chat-list-confirm{display:flex;align-items:center;gap:4px;flex-shrink:0}.chat-list-confirm button{border:none;background:none;cursor:pointer;font-size:10px;padding:2px 5px;border-radius:var(--radius-xs)}.chat-list-confirm-yes{background:var(--danger);color:#fff}.chat-list-confirm-no{color:var(--text-muted)}.chat-list-confirm-no:hover{color:var(--text-primary)}.chat-transcript-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px}.chat-transcript-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;width:min(680px,100%);max-height:90dvh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.25)}.chat-transcript-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border)}.chat-transcript-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;min-width:0}.chat-transcript-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-transcript-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:var(--radius-xs)}.chat-transcript-close:hover{background:var(--bg-overlay);color:var(--text-primary)}.chat-transcript-hint{padding:8px 16px;font-size:11.5px;color:var(--text-muted);border-bottom:1px solid var(--border)}.chat-transcript-body{flex:1 1;min-height:0;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:12px}.chat-transcript-role{font-size:10.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);margin-bottom:3px}.chat-transcript-text{font-size:13px;line-height:1.55;color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere}.chat-transcript-msg--user .chat-transcript-text{padding:8px 10px;border-radius:var(--radius-sm);background:var(--bg-overlay)}@keyframes slideUpFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.history-overlay-list{list-style:none;max-height:175px;overflow-y:auto;padding:4px}.history-overlay-item{width:100%;display:flex;align-items:center;gap:6px;padding:5px 8px;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:12px;color:var(--text-secondary);text-align:left;transition:background .1s,color .1s}.history-overlay-item:hover{background:var(--accent-subtle);color:var(--accent)}.history-overlay-label{flex:1 1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.history-overlay-badge{font-size:10px;padding:1px 6px;border-radius:var(--radius-full);background:var(--accent-muted);color:var(--accent);white-space:nowrap;font-weight:500}.history-overlay-empty{padding:16px 12px;font-size:12px;color:var(--text-muted);text-align:center;margin:0}.sidebar-footer-badge{margin-left:auto;font-size:10px;min-width:17px;height:17px;display:flex;align-items:center;justify-content:center;padding:0 4px;border-radius:var(--radius-full);background:var(--bg-surface-3);color:var(--text-muted);font-weight:500}.sidebar-footer-item.active{background:var(--accent-subtle);color:var(--accent)}.sidebar-footer-item.active .sidebar-footer-badge{background:var(--accent-muted);color:var(--accent)}.tags-panel{gap:2px;padding:4px}.file-tree,.tags-panel{display:flex;flex-direction:column}.file-tree{gap:1px}.file-tree-item{display:flex;align-items:center;gap:6px;width:100%;padding:5px 8px;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:14px;color:var(--text-secondary);text-align:left;transition:background .1s,color .1s}.file-tree-item:hover{background:var(--bg-overlay);color:var(--text-primary)}.file-tree-item.active{background:var(--accent-subtle);color:var(--accent);font-weight:500}.file-tree-item small{font-size:10.5px;color:var(--text-muted);margin-left:auto}.file-tree-folder{margin-bottom:1px}.file-tree-folder-header{display:flex;align-items:center;gap:6px;width:100%;padding:5px 8px;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;text-align:left;transition:background .1s}.file-tree-folder-header:hover{background:var(--bg-overlay);color:var(--text-secondary)}.folder-icon{font-size:10px}.conflict-resolver-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:30}.conflict-resolver{width:min(680px,calc(100vw - 2rem));background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--border);padding:1.5rem}.ai-diff-conflict-backdrop,.ai-diff-preview-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.38);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;z-index:40}.ai-diff-conflict-backdrop{z-index:41}.ai-diff-preview{width:min(760px,calc(100vw - 2rem));max-height:calc(100dvh - 4rem);background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.ai-diff-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 18px 8px;border-bottom:1px solid var(--border)}.ai-diff-preview-header h2{margin:0 0 2px;font-size:15px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.ai-diff-preview-subtitle{margin:0;font-size:12px;color:var(--text-muted)}.ai-diff-preview-toolbar{display:flex;gap:6px}.ai-diff-preview-link{font:inherit;font-size:12px;color:var(--text-muted);background:transparent;border:none;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm)}.ai-diff-preview-link:hover{background:var(--bg-overlay);color:var(--text-primary)}.ai-diff-preview-list{list-style:none;padding:6px 12px;margin:0;overflow-y:auto;flex:1 1}.ai-diff-preview-row{display:flex;gap:10px;padding:10px 8px;border-radius:var(--radius-md)}.ai-diff-preview-row+.ai-diff-preview-row{border-top:1px solid var(--border-subtle,var(--border))}.ai-diff-preview-row-check input{margin-top:4px}.ai-diff-preview-row-body{flex:1 1;min-width:0}.ai-diff-preview-row-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.ai-diff-preview-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:500;background:var(--bg-surface-2);color:var(--text-secondary)}.ai-diff-preview-badge--editBlock{background:rgba(59,130,246,.12);color:#2563eb}.ai-diff-preview-badge--insertBlock{background:rgba(34,197,94,.12);color:#15803d}.ai-diff-preview-badge--deleteBlock{background:rgba(239,68,68,.12);color:#b91c1c}.ai-diff-preview-badge--moveBlock{background:rgba(168,85,247,.12);color:#7e22ce}.ai-diff-preview-row-target{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.ai-diff-preview-row-section{margin-top:4px;display:flex;flex-direction:column;gap:2px}.ai-diff-preview-row-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.ai-diff-preview-row-snippet{margin:0;padding:6px 8px;background:var(--bg-surface-2);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;max-height:140px;overflow-y:auto}.ai-diff-preview-row-section--after .ai-diff-preview-row-snippet{background:rgba(34,197,94,.08);color:var(--text-primary)}.ai-diff-preview-row-section--before .ai-diff-preview-row-snippet{background:rgba(239,68,68,.08)}.ai-diff-preview-warning{display:flex;align-items:center;gap:6px;margin:0 14px 6px;padding:7px 10px;font-size:12px;color:#b45309;background:rgba(245,158,11,.12);border-radius:var(--radius-sm)}.ai-diff-preview-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border)}.ai-diff-conflict-btn,.ai-diff-preview-btn{height:32px;padding:0 14px;border-radius:var(--radius-sm);font:inherit;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text-secondary);transition:background .12s,color .12s,border-color .12s}.ai-diff-conflict-btn--ghost,.ai-diff-preview-btn--ghost{background:transparent}.ai-diff-conflict-btn--ghost:hover,.ai-diff-preview-btn--ghost:hover{background:var(--bg-overlay)}.ai-diff-conflict-btn--primary,.ai-diff-preview-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.ai-diff-conflict-btn--primary:hover,.ai-diff-preview-btn--primary:hover{filter:brightness(1.05)}.ai-diff-preview-btn:disabled{cursor:not-allowed;opacity:.55;filter:none}.ai-diff-conflict{width:min(620px,calc(100vw - 2rem));max-height:calc(100dvh - 4rem);background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.ai-diff-conflict-header{display:flex;align-items:center;gap:8px;padding:14px 18px 4px;color:#b45309}.ai-diff-conflict-header h2{margin:0;font-size:14px;font-weight:600}.ai-diff-conflict-intro{margin:0;padding:0 18px 8px;font-size:12px;color:var(--text-muted)}.ai-diff-conflict-list{list-style:none;margin:0;padding:4px 14px 8px;overflow-y:auto;flex:1 1}.ai-diff-conflict-item{padding:10px 8px;border-top:1px solid var(--border)}.ai-diff-conflict-item:first-child{border-top:none}.ai-diff-conflict-item-msg{font-size:12px;color:var(--text-secondary);margin-bottom:6px;line-height:1.45}.ai-diff-conflict-item-choices{display:flex;flex-direction:column;gap:4px}.ai-diff-conflict-choice{display:flex;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent}.ai-diff-conflict-choice:hover{background:var(--bg-overlay)}.ai-diff-conflict-choice--active{background:var(--accent-subtle);border-color:var(--accent)}.ai-diff-conflict-choice input{margin-top:3px}.ai-diff-conflict-choice-label{font-size:12px;font-weight:500;color:var(--text-primary)}.ai-diff-conflict-choice-hint{font-size:11px;color:var(--text-muted);margin-top:1px}.ai-diff-conflict-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 18px;border-top:1px solid var(--border)}.ai-safety-checkbox{display:flex;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);background:var(--bg-surface);align-items:flex-start;width:100%;box-sizing:border-box}.ai-safety-checkbox:hover{background:var(--bg-overlay)}.ai-safety-checkbox input[type=checkbox]{margin-top:2px;flex-shrink:0}.ai-safety-checkbox span{display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--text-primary);min-width:0;flex:1 1}.ai-safety-checkbox strong{overflow-wrap:anywhere;font-weight:500}.ai-safety-checkbox small{font-size:12px;color:var(--text-muted);font-weight:400;line-height:1.4}.editor-content h1{font-size:2rem;font-weight:700}.editor-content h1,.editor-content h2{margin-bottom:.5rem;color:var(--text-primary)}.editor-content h2{font-size:1.5rem;font-weight:600}.editor-content h3{font-size:1.2rem;font-weight:600;margin-bottom:.4rem;color:var(--text-primary)}.editor-content p{font-size:15px;line-height:1.75;color:var(--text-secondary);margin-bottom:.75rem}.editor-content code{font-family:var(--font-mono);font-size:13px;background:var(--bg-surface-3);color:var(--accent);padding:2px 6px;border-radius:var(--radius-xs)}.editor-content pre{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;overflow-x:auto}.editor-content table{width:100%;border-collapse:collapse;margin:1rem 0}.editor-content td,.editor-content th{border:1px solid var(--border);padding:.5rem .75rem;text-align:left}.editor-content th{background:var(--bg-surface-2);font-weight:600;font-size:13px;color:var(--text-secondary)}.block-toolbar{position:fixed;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:1px solid var(--border);padding:4px;display:flex;gap:4px}[data-theme=dark] .block-toolbar{background:rgba(26,26,25,.92)}.slash-menu{position:fixed;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);border:1px solid var(--border);padding:4px;min-width:200px;max-height:min(60dvh,420px);overflow-y:auto}[data-theme=dark] .slash-menu{background:rgba(26,26,25,.94)}.slash-menu ul{list-style:none}.slash-menu button{width:100%;text-align:left;background:transparent;border:none;border-radius:var(--radius-sm);padding:6px 10px;font-family:inherit;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:background .1s}.slash-menu button:hover{background:var(--accent-subtle);color:var(--accent)}.editor{padding:40px 48px 80px;box-sizing:border-box;position:relative}.code-editor-wrap{display:grid;flex:1 1;min-height:0;background:#f6f8fa;overflow:hidden}[data-theme=dark] .code-editor-wrap{background:#161b22}.code-editor-pre,.code-editor-textarea{grid-column:1;grid-row:1;margin:0;padding:40px 48px;font-family:var(--font-mono);font-size:13px;line-height:1.75;-moz-tab-size:2;tab-size:2;white-space:pre-wrap;overflow-wrap:break-word;word-break:normal;box-sizing:border-box}.code-editor-pre{pointer-events:none;background:transparent;border:none;color:#24292f;overflow:hidden;min-height:100%}[data-theme=dark] .code-editor-pre{color:#e6edf3}.code-editor-textarea{background:transparent;color:transparent;caret-color:#24292f;border:none;outline:none;resize:none;overflow:auto;min-height:100%;height:100%;z-index:1;selection-color:transparent}[data-theme=dark] .code-editor-textarea{caret-color:#e6edf3}.code-editor-pre .hljs-tag{color:#116329}.code-editor-pre .hljs-name{color:#0550ae}.code-editor-pre .hljs-attr{color:#953800}.code-editor-pre .hljs-string{color:#0a3069}.code-editor-pre .hljs-comment{color:#6e7781;font-style:italic}.code-editor-pre .hljs-meta{color:#6f42c1}.code-editor-pre .hljs-keyword{color:#cf222e}.code-editor-pre .hljs-literal,.code-editor-pre .hljs-number{color:#0550ae}.code-editor-pre .hljs-section{color:#0550ae;font-weight:700}.code-editor-pre .hljs-bullet{color:#0550ae}.code-editor-pre .hljs-code{color:#6f42c1}.code-editor-pre .hljs-emphasis{font-style:italic}.code-editor-pre .hljs-strong{font-weight:700}.code-editor-pre .hljs-link{color:#0a3069;text-decoration:underline}[data-theme=dark] .code-editor-pre .hljs-tag{color:#7ee787}[data-theme=dark] .code-editor-pre .hljs-name{color:#79c0ff}[data-theme=dark] .code-editor-pre .hljs-attr{color:#ffa657}[data-theme=dark] .code-editor-pre .hljs-string{color:#a5d6ff}[data-theme=dark] .code-editor-pre .hljs-comment{color:#8b949e;font-style:italic}[data-theme=dark] .code-editor-pre .hljs-meta{color:#d2a8ff}[data-theme=dark] .code-editor-pre .hljs-keyword{color:#ff7b72}[data-theme=dark] .code-editor-pre .hljs-literal,[data-theme=dark] .code-editor-pre .hljs-number{color:#79c0ff}[data-theme=dark] .code-editor-pre .hljs-section{color:#79c0ff;font-weight:700}[data-theme=dark] .code-editor-pre .hljs-bullet{color:#79c0ff}[data-theme=dark] .code-editor-pre .hljs-code{color:#d2a8ff}[data-theme=dark] .code-editor-pre .hljs-link{color:#a5d6ff;text-decoration:underline}.editor-preview{overflow-y:auto;pointer-events:none}.editor-preview h1{font-size:2rem;font-weight:700}.editor-preview h1,.editor-preview h2{margin-bottom:.5rem;color:var(--text-primary)}.editor-preview h2{font-size:1.5rem;font-weight:600}.editor-preview h3{font-size:1.2rem;font-weight:600;margin-bottom:.4rem;color:var(--text-primary)}.editor-preview p{font-size:15px;line-height:1.75;color:var(--text-secondary);margin-bottom:.75rem}.editor-preview a{color:var(--accent);text-decoration:underline;pointer-events:auto}.editor-preview code{font-family:var(--font-mono);font-size:13px;background:var(--bg-surface-3);border-radius:var(--radius-xs);padding:2px 6px}.editor-preview pre{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;overflow-x:auto}.editor-preview table{width:100%;border-collapse:collapse;margin:1rem 0}.editor-preview td,.editor-preview th{border:1px solid var(--border);padding:.5rem .75rem;text-align:left}.editor-preview th{background:var(--bg-surface-2);font-weight:600;font-size:13px;color:var(--text-secondary)}.editor-trailing-zone{min-height:140px;width:100%;cursor:text}.block{width:100%;padding:.25rem 0;margin-bottom:.25rem;outline:none}.block,.block-p:empty{min-height:1.5em}.block-h1{font-size:2rem;font-weight:700;line-height:1.2;margin:1.2rem 0 .5rem}.block-h2{font-size:1.5rem;font-weight:700;line-height:1.25;margin:1rem 0 .4rem}.block-h3{font-size:1.25rem;font-weight:700;line-height:1.3;margin:.8rem 0 .3rem}.block-h4{font-size:1.05rem;font-weight:600;line-height:1.35;margin:.6rem 0 .25rem}.block-h5{font-size:.95rem;color:var(--text-primary)}.block-h5,.block-h6{font-weight:600;line-height:1.4;margin:.5rem 0 .2rem}.block-h6{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.block-blockquote{border-left:3px solid var(--accent);background:var(--accent-subtle);padding:.7rem 1rem .7rem 1.1rem;margin:.6rem 0;border-radius:var(--radius-sm);font-style:italic;color:var(--text-secondary);position:relative}.block-blockquote:before{content:'"';position:absolute;top:-2px;left:6px;font-size:1.6rem;color:var(--accent);opacity:.45;font-family:Georgia,serif;line-height:1;pointer-events:none}hr.block-hr{border:0;height:1px;background:linear-gradient(to right,transparent,var(--border-strong) 20%,var(--border-strong) 80%,transparent);margin:1.4rem 0;position:relative}hr.block-hr:after{content:"";position:absolute;top:-3px;left:50%;transform:translateX(-50%);width:6px;height:6px;background:var(--bg-app);border:1px solid var(--border-strong);border-radius:50%}.block-ol,.block-ul{padding-left:1.6rem;margin:.5rem 0;line-height:1.6}.block-ul{list-style:disc}.block-ol{list-style:decimal}.block-ol li,.block-ul li{padding:2px 0}.block-ul li::marker{color:var(--accent)}.block-ol li::marker{color:var(--accent);font-weight:600}.block-code-wrapper{margin:.6rem 0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:transparent}.block-code-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:transparent}.block-code-lang{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xs);padding:2px 6px;font-size:11px;font-family:var(--font-mono);color:var(--text-secondary);cursor:pointer;outline:none}.block-code-lang:hover{border-color:var(--accent)}.block-code-copy{background:transparent;border:none;font-size:11px;color:var(--text-muted);cursor:pointer;padding:2px 6px;border-radius:var(--radius-xs);transition:background .12s,color .12s}.block-code-copy:hover{background:var(--bg-surface);color:var(--text-primary)}.block-code-toolbar-actions{display:flex;align-items:center;gap:4px}.block-code-line-toggle{background:transparent;border:1px solid transparent;font-size:11px;font-family:var(--font-mono);color:var(--text-muted);cursor:pointer;padding:2px 6px;border-radius:var(--radius-xs);transition:background .12s,color .12s,border-color .12s}.block-code-line-toggle:hover{background:var(--bg-surface);color:var(--text-primary)}.block-code-line-toggle--on{border-color:var(--accent);color:var(--accent)}.block-code{margin:0;padding:12px 14px;background:transparent;overflow-x:auto;font-family:var(--font-mono);font-size:13px;line-height:1.55}.block-code code{background:transparent!important;padding:0!important;outline:none;display:block}.block-code-body{display:flex;align-items:stretch;background:transparent}.block-code-gutter{display:flex;flex-direction:column;padding:12px 8px;background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:13px;line-height:1.55;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:2.4em}.block-code-body .block-code{flex:1 1;min-width:0}.block-code-gutter span{display:block}.block a[href],.editor a[href]{cursor:pointer}.block code:not(.math-inline),.editor code:not(.math-inline){background:var(--bg-surface-3);padding:1px 5px;border-radius:4px;font-family:var(--font-mono);font-size:.88em;color:var(--text-primary)}.block[data-placeholder]:empty:focus:before{content:attr(data-placeholder);color:var(--text-placeholder);pointer-events:none;position:absolute;top:.25rem;display:flex;align-items:center;height:1lh;white-space:nowrap;font-size:inherit;line-height:inherit;font-weight:400}.block[data-placeholder]{position:relative}.tree-item-rename-input{flex:1 1;min-width:0;background:var(--bg-surface-2);border:1px solid var(--accent);border-radius:var(--radius-xs);padding:1px 5px;font-size:12px;font-family:inherit;color:var(--text-primary);outline:none}.inline-format-menu{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08);padding:4px;min-width:200px;max-height:calc(100vh - 16px);overflow-y:auto;animation:panel-in .12s ease}.inline-format-menu-section{display:flex;flex-direction:column;gap:1px}.inline-format-menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 10px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;color:var(--text-primary);text-align:left;transition:background .1s}.inline-format-menu-item:hover{background:var(--bg-surface-2)}.inline-format-menu-label{flex:1 1}.inline-format-menu-icon{flex:0 0 auto;display:inline-flex;align-items:center;margin-right:8px;color:var(--text-muted)}.inline-format-menu-shortcut{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);margin-left:12px}.inline-format-menu-divider{height:1px;background:var(--border);margin:4px 0}.inline-format-menu-types{display:flex;gap:2px;padding:3px 2px}.inline-format-menu-type-btn{flex:1 1;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:background .1s,color .1s;display:flex;align-items:center;justify-content:center;min-width:28px}.inline-format-menu-type-btn:hover{background:var(--bg-surface-2);color:var(--text-primary)}.inline-format-menu-type-btn--active{background:var(--accent-subtle);color:var(--accent)}.inline-format-menu-item--submenu{position:relative}.inline-format-menu-item--submenu-open{background:var(--bg-surface-2)}.inline-format-menu-arrow{font-size:16px;line-height:1;color:var(--text-muted);margin-left:8px;font-family:sans-serif}.inline-format-menu-item--disabled{opacity:.38;cursor:default;pointer-events:none}.inline-format-menu-item--danger{color:var(--danger)}.inline-format-menu-item--danger:hover{background:var(--danger-subtle)}.inline-format-menu-check{font-size:12px;color:var(--accent);margin-left:8px}.block-callout{border-radius:var(--radius-sm);border-left:4px solid;padding:10px 14px;margin:4px 0}.block-callout--info{background:rgba(59,130,246,.07);border-color:#3b82f6}.block-callout--warning{background:rgba(245,158,11,.08);border-color:#f59e0b}.block-callout--success{background:rgba(34,197,94,.08);border-color:#22c55e}.block-callout--error{background:rgba(239,68,68,.08);border-color:#ef4444}.block-callout-types{display:none;gap:4px;margin-bottom:6px}.block-callout:focus-within .block-callout-types,.block-callout:hover .block-callout-types{display:flex}.block-callout-type-btn{background:none;border:none;cursor:pointer;font-size:16px;opacity:.45;padding:2px;border-radius:var(--radius-xs);transition:opacity .12s}.block-callout-type-btn--active,.block-callout-type-btn:hover{opacity:1}.block-callout-body{display:flex;gap:10px;align-items:flex-start}.block-callout-icon{font-size:18px;line-height:1.5;flex-shrink:0}.block-callout-text{flex:1 1;font-size:14px;line-height:1.6;color:var(--text-primary);outline:none;min-height:22px}.block-math{padding:14px 18px;background:transparent;border-radius:var(--radius-md);cursor:pointer;text-align:center;overflow-x:auto;transition:background .15s}.block-math:hover{background:var(--bg-surface-2)}.block-math--editing{cursor:default}.block-math--editing:hover{background:transparent}.block-math-input{width:100%;font-family:var(--font-mono);font-size:13px;background:var(--bg-surface);border:1px solid var(--border-focus);border-radius:var(--radius-sm);padding:8px 10px;color:var(--text-primary);resize:vertical;outline:none;box-sizing:border-box;margin-bottom:10px}.block-math-preview{overflow-x:auto;text-align:center}.math-error{color:var(--danger);font-family:var(--font-mono);font-size:12px}code.math-inline{font-family:var(--font-mono);font-size:.88em;background:rgba(99,102,241,.1);color:var(--accent);padding:1px 4px;border-radius:3px}mark.comment{background:rgba(251,191,36,.28);color:inherit;border-radius:2px;padding:1px 2px}a.footnote-ref{font-size:.75em;vertical-align:super;color:var(--accent);text-decoration:none;font-weight:600}a.footnote-ref:hover{text-decoration:underline}.link-dialog-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:10000}.link-dialog{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:24px;width:360px;box-shadow:0 16px 48px rgba(0,0,0,.2)}.link-dialog-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.link-dialog-field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.link-dialog-label{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.link-dialog-input{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:13px;background:var(--bg-surface-2);color:var(--text-primary);outline:none;font-family:inherit}.link-dialog-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.link-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.link-dialog-cancel{padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:13px;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:inherit}.link-dialog-cancel:hover{background:var(--bg-surface-2)}.link-dialog-confirm{padding:6px 14px;border:none;border-radius:var(--radius-md);font-size:13px;background:var(--accent);color:#fff;cursor:pointer;font-weight:500;font-family:inherit}.link-dialog-confirm:hover{opacity:.88}.link-dialog-confirm:disabled{opacity:.35;cursor:not-allowed}.import-dialog-error{font-size:12px;color:var(--danger);margin:-4px 0 12px}.import-dialog-spinner{display:inline-block;animation:spin .8s linear infinite}.template-gallery-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:10000}.template-gallery{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px;width:460px;max-width:calc(100vw - 32px);max-height:min(80vh,640px);display:flex;flex-direction:column;box-shadow:0 16px 48px rgba(0,0,0,.2)}.template-gallery--mobile{width:100%;max-width:100%;max-height:88vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin-top:auto}.template-gallery-overlay:has(.template-gallery--mobile){align-items:flex-end;justify-content:stretch}.template-gallery-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.template-gallery-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.template-gallery-close{display:flex;padding:4px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm)}.template-gallery-close:hover{background:var(--bg-surface-2)}.template-gallery-empty{font-size:13px;color:var(--text-secondary);padding:24px 0;text-align:center}.template-gallery-body{overflow-y:auto;flex:1 1;min-height:0;display:flex;flex-direction:column;gap:14px}.template-gallery-group-title{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:8px}.template-gallery-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.template-gallery--mobile .template-gallery-list{grid-template-columns:1fr}.template-gallery-card{display:flex;flex-direction:column;gap:3px;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface-2);cursor:pointer;font-family:inherit}.template-gallery-card:hover{border-color:var(--accent)}.template-gallery-card--active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.template-gallery-card-name{font-size:13px;font-weight:600;color:var(--text-primary)}.template-gallery-card-summary{font-size:11px;color:var(--text-secondary);line-height:1.35}.template-gallery-form{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.template-gallery-field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.template-gallery-label{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.template-gallery-input{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:13px;background:var(--bg-surface-2);color:var(--text-primary);outline:none;font-family:inherit}.template-gallery-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.template-gallery-check{display:flex;gap:8px;align-items:flex-start;cursor:pointer;margin-bottom:12px}.template-gallery-check input{margin-top:2px}.template-gallery-check-title{display:block;font-size:13px;color:var(--text-primary)}.template-gallery-check-hint{display:block;font-size:11px;color:var(--text-secondary);line-height:1.35}.template-gallery-error{font-size:12px;color:var(--danger,#d33);margin:0 0 10px}.template-gallery-warning{font-size:12px;line-height:1.4;color:var(--warning-text,#8a6d1a);background:var(--warning-bg,rgba(230,180,30,.12));border:1px solid var(--warning-border,rgba(230,180,30,.35));border-radius:8px;padding:8px 10px;margin:0 0 10px}.template-gallery-warning p{margin:0 0 4px;font-weight:600}.template-gallery-warning ul{margin:0;padding-left:18px}.template-gallery-actions{display:flex;gap:8px;justify-content:flex-end}.template-gallery-cancel{padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:13px;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:inherit}.template-gallery-cancel:hover{background:var(--bg-surface-2)}.template-gallery-confirm{padding:6px 14px;border:none;border-radius:var(--radius-md);font-size:13px;background:var(--accent);color:#fff;cursor:pointer;font-weight:500;font-family:inherit}.template-gallery-confirm:hover{opacity:.88}.template-gallery-confirm:disabled{opacity:.35;cursor:not-allowed}.graph-tab-wrap{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.graph-expand-btn{align-self:center;padding:5px 14px;font-size:12px;color:var(--accent);background:none;border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;opacity:.85}.graph-expand-btn:hover{opacity:1;background:var(--accent-subtle)}.graph-expanded-card{display:flex;flex-direction:column;height:100%;background:var(--bg-surface);border-radius:var(--radius-md);overflow:hidden}.graph-expanded-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.graph-expanded-title{font-size:13px;font-weight:600;color:var(--text-primary)}.graph-expanded-close{font-size:12px;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm)}.graph-expanded-close:hover{background:var(--bg-surface-2);color:var(--text-primary)}.graph-view-full{flex:1 1;width:100%;min-height:0;touch-action:none;background:radial-gradient(ellipse at 50% 38%,#1d1142 0,#130a2c 55%,#0a0518 100%);border-radius:var(--radius-md)}.internal-link-list{display:flex;flex-direction:column;max-height:180px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:10px}.internal-link-item{display:block;width:100%;padding:7px 10px;background:none;border:none;border-bottom:1px solid var(--border);text-align:left;font-size:13px;color:var(--text-primary);cursor:pointer}.internal-link-item:last-child{border-bottom:none}.internal-link-item:hover{background:var(--bg-surface-2)}.internal-link-item--create{color:var(--accent);font-style:italic}.internal-link-empty{padding:10px;font-size:13px;color:var(--text-muted);text-align:center}.block-todo{margin:.4rem 0}.todo-item{display:flex;align-items:flex-start;gap:.55rem;padding:4px 6px;border-radius:var(--radius-sm);transition:background .12s}.todo-item:hover{background:var(--bg-surface-2)}.todo-item-text{flex:1 1;outline:none;min-height:22px;line-height:1.5;font-size:14px;color:var(--text-primary)}.todo-item-text[data-placeholder]:empty:before{content:attr(data-placeholder);color:var(--text-placeholder);pointer-events:none}.todo-item--done .todo-item-text,.todo-item-remove{color:var(--text-muted)}.todo-item-remove{opacity:0;background:transparent;border:none;cursor:pointer;font-size:16px;line-height:1;padding:2px 6px;border-radius:var(--radius-xs);transition:opacity .12s,background .12s,color .12s}.todo-item:hover .todo-item-remove{opacity:1}.todo-item-remove:hover{background:var(--danger-subtle);color:var(--danger)}.block-todo-add{margin-top:6px;margin-left:22px;background:transparent;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:background .12s,color .12s}.block-todo-add:hover{background:var(--accent-subtle);color:var(--accent)}.calendar-event{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .12s,box-shadow .12s}.calendar-event:hover{border-color:var(--border-strong);box-shadow:0 1px 3px rgba(0,0,0,.06)}.calendar-event-date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:36px;min-width:36px;height:36px;background:var(--accent-subtle);border-radius:var(--radius-sm);flex-shrink:0}.calendar-event-day{font-size:15px;font-weight:600;color:var(--accent);line-height:1}.calendar-event-month{font-size:9px;font-weight:500;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.calendar-event-body{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.calendar-event-title{font-size:13px;font-weight:500;color:var(--text-primary);width:100%}.calendar-event-date-input,.calendar-event-title{border:none;background:transparent;outline:none;padding:0;font-family:inherit}.calendar-event-date-input{font-size:11px;color:var(--text-muted);width:auto}.calendar-event-legacy{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.block-table{margin:.7rem 0;position:relative}.block-table-scroll{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border)}.block-table table{width:100%;border-collapse:collapse;background:var(--bg-surface)}.block-table td,.block-table th{border:none;border-bottom:1px solid var(--border);padding:0;text-align:left;vertical-align:top;position:relative;min-width:80px}.block-table tr:last-child td{border-bottom:none}.block-table tbody tr:hover td{background:var(--bg-overlay)}.block-table th{background:var(--bg-surface-2);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.block-table-cell-content{padding:8px 12px;outline:none;min-height:22px;line-height:1.5;font-size:14px;word-break:break-word}.block-table-cell-content:focus{box-shadow:inset 0 0 0 2px var(--accent);border-radius:2px}.block-table-cell--formula{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent)}.block-table-cell--error{color:var(--danger);font-feature-settings:normal;font-variant-numeric:normal}.block-table-remove{position:absolute;background:var(--bg-surface);border:1px solid var(--border-strong);color:var(--text-muted);width:18px;height:18px;border-radius:50%;font-size:14px;line-height:1;cursor:pointer;padding:0;opacity:0;transition:opacity .12s,background .12s,color .12s,border-color .12s;z-index:2}.block-table-remove:hover{background:var(--danger);border-color:var(--danger);color:var(--text-on-accent)}.block-table-remove--col{top:-8px;right:4px}.block-table-remove--row{top:50%;right:4px;transform:translateY(-50%)}.block-table th:hover .block-table-remove--col,.block-table tr:hover .block-table-remove--row{opacity:1}.block-table-controls{display:flex;gap:6px;margin-bottom:4px}.block-table-freeze-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:11px;padding:2px 8px;border-radius:var(--radius-xs);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.block-table-freeze-btn:hover{background:var(--bg-surface);color:var(--text-primary)}.block-table-freeze-btn--on{border-color:var(--accent);color:var(--accent)}.block-table-th-inner{display:flex;align-items:center;gap:4px;padding-right:6px}.block-table-th-inner .block-table-cell-content{flex:1 1;font-size:10px}.block-table-sort-indicator{flex-shrink:0;font-size:9px;color:var(--accent);line-height:1}.block-table-col-menu-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;font-size:13px;line-height:1;border-radius:var(--radius-xs);transition:background .12s,color .12s;flex-shrink:0;opacity:0}.block-table-col-menu-btn[aria-expanded=true],.block-table-th:hover .block-table-col-menu-btn{opacity:1}.block-table-col-menu-btn:hover{background:var(--bg-surface);color:var(--text-primary)}.block-table-col-menu-backdrop{position:fixed;inset:0;z-index:40}.block-table-col-menu{position:absolute;top:100%;right:0;z-index:41;min-width:180px;margin-top:2px;padding:4px;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px rgba(0,0,0,.18);text-transform:none;letter-spacing:normal}.block-table-col-menu-item{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--text-primary);font-size:13px;font-weight:400;padding:7px 10px;border-radius:var(--radius-xs);cursor:pointer;white-space:nowrap}.block-table-col-menu-item:hover{background:var(--bg-overlay)}.block-table-col-menu-item--danger{color:var(--danger)}.block-table-col-menu-sep{height:1px;margin:4px 6px;background:var(--border)}.block-table-col-menu-hint{padding:6px 10px 4px;border-top:1px solid var(--border);margin-top:4px;font-size:11px;line-height:1.4;color:var(--text-muted);white-space:normal;max-width:240px}.block-table-col-gap-col{width:18px}.block-table-col-gap,.block-table-col-gap-cell{padding:0;background:var(--bg-surface-2);border-left:1px dashed var(--border-strong)}.block-table-col-gap-btn{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:24px;padding:0;background:transparent;border:none;color:var(--text-muted);font-size:11px;cursor:pointer}.block-table-col-gap-btn:hover{background:var(--bg-overlay);color:var(--text-primary)}.block-table-hidden-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.block-table-hidden-chip,.block-table-show-all{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:11px;padding:2px 8px;border-radius:var(--radius-xs);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.block-table-hidden-chip:hover,.block-table-show-all:hover{background:var(--bg-surface);color:var(--text-primary)}.block-table-show-all{border-style:dashed}.block-table-filter-indicator{flex-shrink:0;display:inline-flex;align-items:center;color:var(--accent)}.block-table-filter-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;color:var(--text-muted)}.block-table-filter-backdrop{position:fixed;inset:0;z-index:40}.block-table-filter{position:absolute;top:100%;right:0;z-index:41;min-width:200px;margin-top:2px;padding:8px;display:flex;flex-direction:column;gap:6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px rgba(0,0,0,.18);text-transform:none;letter-spacing:normal}.block-table-filter-input,.block-table-filter-select{width:100%;padding:6px 8px;font-size:13px;font-weight:400;color:var(--text-primary);background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-xs)}.block-table-filter-actions{display:flex;gap:6px;margin-top:2px}.block-table-filter-apply,.block-table-filter-reset{flex:1 1;padding:7px 10px;font-size:13px;border-radius:var(--radius-xs);cursor:pointer;border:1px solid var(--border)}.block-table-filter-reset{background:transparent;color:var(--text-muted)}.block-table-filter-reset:hover{background:var(--bg-overlay);color:var(--text-primary)}.block-table-filter-apply{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.block-table-col-resize{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:3;-webkit-user-select:none;-moz-user-select:none;user-select:none}.block-table-col-resize:hover{background:var(--accent-subtle)}.block-table--freeze-header .block-table-scroll{max-height:480px;overflow-y:auto}.block-table--freeze-header thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--bg-surface-2);box-shadow:inset 0 -1px 0 var(--border)}.image-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);display:flex;align-items:center;justify-content:center;z-index:1000;animation:lightbox-fade-in .12s ease-out}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.image-lightbox-content{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:rgba(20,20,20,.92);color:#eee;font-size:12px;flex-wrap:wrap;gap:8px}.lightbox-controls-group{display:flex;gap:4px}.lightbox-controls button{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#eee;width:36px;height:32px;border-radius:4px;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.lightbox-controls button:hover:not(:disabled){background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.3)}.lightbox-controls button:disabled{opacity:.3;cursor:not-allowed}.lightbox-counter{color:#aaa;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lightbox-canvas{flex:1 1;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none}.lightbox-canvas img{max-width:90vw;max-height:80dvh;transform-origin:center center;transition:transform .05s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.lightbox-placeholder{color:#aaa;font-size:14px}.lightbox-altbar{background:rgba(20,20,20,.92);padding:10px 20px;color:#eee}.lightbox-altbar label{display:flex;align-items:center;gap:10px;max-width:720px;margin:0 auto}.lightbox-altbar span{font-size:12px;color:#aaa;flex-shrink:0}.lightbox-altbar input{flex:1 1;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#eee;padding:6px 10px;border-radius:4px;font-size:13px;outline:none}.lightbox-altbar input:focus{border-color:rgba(255,255,255,.4)}.lightbox-edit-error{background:rgba(20,20,20,.92);color:var(--danger,#f87171);font-size:12.5px;text-align:center;padding:8px 20px}.image-editor{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.72);padding:24px}.image-editor-content{display:flex;flex-direction:column;gap:12px;max-width:min(92vw,760px);max-height:92vh;background:var(--bg-surface);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-lg,0 12px 40px rgba(0,0,0,.4));padding:14px 16px 16px;overflow:auto}.image-editor-header{display:flex;align-items:center;justify-content:space-between}.image-editor-title{font-size:14px;font-weight:600;color:var(--text-primary)}.image-editor-close{border:none;background:transparent;color:var(--text-secondary);font-size:15px;cursor:pointer;width:30px;height:30px;border-radius:var(--radius-sm)}.image-editor-close:hover{background:var(--bg-surface-3);color:var(--text-primary)}.image-editor-stage{display:flex;align-items:center;justify-content:center;min-height:200px;background:var(--bg-surface-2);border-radius:var(--radius-md);padding:12px;overflow:hidden}.image-editor-frame{position:relative;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;max-width:100%}.image-editor-frame img{pointer-events:none}.image-editor-crop{position:absolute;box-sizing:border-box;border:1.5px solid rgba(255,255,255,.95);box-shadow:0 0 0 9999px rgba(0,0,0,.45);cursor:move;touch-action:none}.image-editor-handle{position:absolute;width:14px;height:14px;background:#fff;border:1px solid rgba(0,0,0,.35);border-radius:3px;touch-action:none}.image-editor-handle--nw{left:-7px;top:-7px;cursor:nwse-resize}.image-editor-handle--n{left:50%;top:-7px;transform:translateX(-50%);cursor:ns-resize}.image-editor-handle--ne{right:-7px;top:-7px;cursor:nesw-resize}.image-editor-handle--e{right:-7px;top:50%;transform:translateY(-50%);cursor:ew-resize}.image-editor-handle--se{right:-7px;bottom:-7px;cursor:nwse-resize}.image-editor-handle--s{left:50%;bottom:-7px;transform:translateX(-50%);cursor:ns-resize}.image-editor-handle--sw{left:-7px;bottom:-7px;cursor:nesw-resize}.image-editor-handle--w{left:-7px;top:50%;transform:translateY(-50%);cursor:ew-resize}.image-editor-warning{font-size:12px;color:var(--text-secondary);background:var(--warning-subtle,rgba(234,179,8,.12));border-radius:var(--radius-sm);padding:6px 10px}.image-editor-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.image-editor-group{display:flex;gap:6px}.image-editor-tool{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer}.image-editor-tool:hover{background:var(--bg-surface-3);color:var(--text-primary)}.image-editor-width{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-secondary)}.image-editor-width input{width:88px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font-size:12.5px;outline:none}.image-editor-width input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.image-editor-actions{display:flex;gap:8px;margin-left:auto}.image-editor-btn{padding:7px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font-size:12.5px;font-weight:500;cursor:pointer;font-family:inherit}.image-editor-btn:hover:not(:disabled){background:var(--bg-surface-3)}.image-editor-btn:disabled{opacity:.5;cursor:not-allowed}.image-editor-btn--primary{background:var(--accent);color:var(--text-on-accent);border-color:transparent}.image-editor-btn--primary:hover:not(:disabled){opacity:.9;background:var(--accent)}.image-editor-error{font-size:12.5px;color:var(--danger,#d33)}html.is-mobile .image-editor{padding:0}html.is-mobile .image-editor-content{max-width:100vw;max-height:100vh;width:100vw;height:100vh;border-radius:0;padding-bottom:max(16px,env(safe-area-inset-bottom))}html.is-mobile .image-editor-handle{width:20px;height:20px}html.is-mobile .image-editor-tool{width:44px;height:44px}html.is-mobile .image-editor-btn{min-height:44px}.block-table-main{display:flex;align-items:stretch;gap:6px}.block-table-main .block-table-scroll{flex:1 1;min-width:0}.block-table-add-col-bar{flex-shrink:0;width:28px;align-self:stretch;border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:transparent;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.block-table-add-col-bar:hover{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent);border-style:solid}.block-table-add-row{margin-top:6px;width:100%;background:transparent;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-muted);font-size:12px;padding:6px 0;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.block-table-add-row:hover{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent);border-style:solid}.drop-zone-active{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-subtle)}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity .2s ease}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity .15s ease}.page-root{position:fixed;inset:0;overflow-y:auto;overflow-x:hidden;padding-bottom:var(--cookie-banner-h,0);background:var(--bg-app);background-image:var(--gradient-canvas);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.page-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.75);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}.dark .page-header,[data-theme=dark] .page-header{background:rgba(17,17,16,.75)}.page-header-inner{max-width:1180px;margin:0 auto;padding:0 1.5rem;height:56px;display:flex;align-items:center;justify-content:space-between;gap:1rem}@media (max-width:560px){.page-header-inner{padding:0 1rem;gap:.75rem}}.page-brand{gap:8px;text-decoration:none;color:inherit}.page-brand,.page-brand-icon{display:flex;align-items:center}.page-brand-icon{width:32px;height:32px;border-radius:9px;background:var(--gradient-accent);justify-content:center;color:white;box-shadow:var(--shadow-soft);flex-shrink:0;transition:transform .15s}.page-brand-icon:hover{transform:scale(1.05)}.page-brand-icon:has(img){background:transparent;box-shadow:none}.page-brand-icon img{width:100%;height:100%;object-fit:contain;border-radius:inherit}.page-brand-name{font-size:15px;font-weight:600;letter-spacing:-.025em}.page-brand-version{font-size:10px;font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-surface-2);padding:2px 6px;border-radius:var(--radius-xs)}.page-back-link{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-muted);text-decoration:none;transition:color .12s}.page-back-link:hover{color:var(--text-primary)}.page-root .lang-switch{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border);border-radius:999px;background:var(--bg-surface-2)}.page-root .lang-switch-opt{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--text-muted);padding:4px 10px;border-radius:999px;line-height:1;transition:color .15s,background .15s}.page-root .lang-switch-opt:hover{color:var(--text-primary)}.page-root .lang-switch-opt.is-active{color:var(--text-primary);background:var(--bg-surface);box-shadow:0 1px 2px rgba(0,0,0,.06)}.auth-layout{min-height:100dvh;display:grid;grid-template-columns:1fr 1.05fr}@media (max-width:1024px){.auth-layout{grid-template-columns:1fr}}.auth-form-panel{display:flex;flex-direction:column;padding:2rem 2.5rem}@media (max-width:640px){.auth-form-panel{padding:1.5rem 1.25rem}}.auth-form-center{flex:1 1;display:flex;align-items:center;justify-content:center;padding:2.5rem 0}.auth-form-box{width:100%;max-width:400px}.auth-page-title{font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-bottom:6px;color:var(--text-primary)}.auth-page-subtitle{font-size:13.5px;color:var(--text-muted);line-height:1.6;margin-bottom:1.75rem}.auth-eyebrow{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);margin-bottom:8px}.auth-field{margin-bottom:1rem}.auth-field label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:5px;padding-left:1px}.auth-input-wrap{display:flex;align-items:center;gap:8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:10px 12px;transition:border-color .15s,box-shadow .15s;box-shadow:var(--shadow-soft)}.auth-input-wrap:focus-within{border-color:rgba(99,102,241,.4);box-shadow:0 0 0 4px rgba(99,102,241,.08),var(--shadow-soft)}.auth-input-wrap svg{width:15px;height:15px;color:var(--text-muted);flex-shrink:0}.auth-input-wrap input{flex:1 1;border:none;background:none;outline:none;font-size:13.5px;font-family:inherit;color:var(--text-primary)}.auth-input-wrap input::placeholder{color:var(--text-placeholder)}.auth-btn-primary{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:var(--radius-lg);border:none;background:var(--gradient-accent);color:white;font-size:13.5px;font-weight:500;font-family:inherit;cursor:pointer;transition:opacity .12s,transform .1s;box-shadow:var(--shadow-soft);margin-top:.5rem}.auth-btn-primary:hover{opacity:.88}.auth-btn-primary:active{transform:scale(.99)}.auth-footer-text{text-align:center;font-size:14px;color:var(--text-muted);margin-top:1.25rem}.auth-footer-text a{color:var(--text-primary);font-weight:500;text-decoration:none}.auth-footer-text a:hover{color:var(--accent)}.auth-showcase-panel{display:none;position:relative;overflow:hidden;border-left:1px solid var(--border);padding:2.5rem;align-items:center;justify-content:center;background-image:var(--gradient-canvas)}@media (min-width:1024px){.auth-showcase-panel{display:flex}}.auth-showcase-content{width:100%;max-width:480px;display:flex;flex-direction:column;gap:16px}.auth-showcase-card{background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-elevated)}.dark .auth-showcase-card,[data-theme=dark] .auth-showcase-card{background:rgba(26,26,25,.85)}.auth-feature-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-lg);background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(232,232,230,.7)}.dark .auth-feature-row,[data-theme=dark] .auth-feature-row{background:rgba(26,26,25,.7);border-color:rgba(46,46,44,.7)}.auth-feature-icon{width:22px;height:22px;border-radius:6px;background:var(--gradient-accent);display:flex;align-items:center;justify-content:center;color:white;flex-shrink:0}.auth-feature-text{font-size:14px;color:var(--text-primary);opacity:.9}.auth-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg-app);background-image:var(--gradient-canvas);padding:1.5rem}.auth-card{width:100%;max-width:420px;background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-xl);padding:2.5rem 2rem;box-shadow:var(--shadow-elevated);text-align:center}.dark .auth-card,[data-theme=dark] .auth-card{background:rgba(26,26,25,.85)}.auth-card h1{font-size:24px;font-weight:600;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:8px}.auth-card p{font-size:13.5px;color:var(--text-muted);line-height:1.6;margin-bottom:1.5rem}.auth-card a{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--radius-lg);background:var(--gradient-accent);color:white;font-size:13.5px;font-weight:500;text-decoration:none;box-shadow:var(--shadow-soft);transition:opacity .12s}.auth-card a:hover{opacity:.88}.settings-page{max-width:1180px;margin:0 auto;padding:2.5rem 1.5rem}.settings-page-title{font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:4px}@media (max-width:560px){.settings-page{padding:1.5rem 1rem 2.5rem}.settings-page-title{font-size:23px}}.settings-page-subtitle{font-size:13.5px;color:var(--text-muted);margin-bottom:2rem}.settings-page-grid{display:grid;grid-template-columns:200px 1fr;grid-gap:2rem;gap:2rem}@media (max-width:768px){.settings-page-grid{grid-template-columns:1fr}}.settings-side-nav{display:flex;flex-direction:column;gap:2px}.settings-side-nav-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius-md);font-size:14px;color:var(--text-muted);cursor:pointer;border:none;background:none;font-family:inherit;width:100%;text-align:left;transition:background .12s,color .12s;text-decoration:none}.settings-side-nav-item:hover{background:var(--bg-overlay);color:var(--text-primary)}.settings-side-nav-item.active{background:var(--bg-surface);color:var(--text-primary);font-weight:500}.settings-section,.settings-side-nav-item.active{border:1px solid var(--border);box-shadow:var(--shadow-soft)}.settings-section{background:rgba(255,255,255,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-xl);overflow:hidden;margin-bottom:1rem}.dark .settings-section,[data-theme=dark] .settings-section{background:rgba(26,26,25,.8)}.settings-section-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.settings-section-header h2{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.settings-section-header p{font-size:12px;color:var(--text-muted)}.settings-section-body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.settings-section-footer{padding:.75rem 1.25rem;border-top:1px solid var(--border);background:rgba(0,0,0,.02);display:flex;align-items:center;justify-content:flex-end;gap:8px}[data-theme=dark] .settings-section-footer{background:rgba(255,255,255,.02)}.settings-field-row{display:flex;flex-direction:column;gap:5px}.settings-field-label{font-size:12px;font-weight:500;color:var(--text-secondary);padding-left:1px}.settings-field-hint{font-size:11px;color:var(--text-muted);padding-left:1px}.settings-input{height:36px;padding:0 11px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;color:var(--text-primary);font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s;box-shadow:var(--shadow-soft)}.settings-input::placeholder{color:var(--text-placeholder)}.settings-input:focus{border-color:rgba(99,102,241,.4);box-shadow:0 0 0 3px rgba(99,102,241,.08),var(--shadow-soft)}.settings-select{height:36px;padding:0 11px;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);outline:none}.settings-btn-primary,.settings-select{border-radius:var(--radius-md);font-size:14px;font-family:inherit;cursor:pointer;box-shadow:var(--shadow-soft)}.settings-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:none;background:var(--gradient-accent);color:white;font-weight:500;transition:opacity .12s,transform .1s}.settings-btn-primary:hover{opacity:.88}.settings-btn-primary:active{transform:scale(.98)}.settings-btn-ghost{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-md);border:none;background:none;color:var(--text-muted);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .12s,color .12s}.settings-btn-ghost:hover{background:var(--bg-surface-2);color:var(--text-primary)}.settings-toggle{position:relative;display:inline-flex;height:20px;width:36px;border-radius:var(--radius-full);cursor:pointer;border:none;background:var(--bg-surface-3);flex-shrink:0;transition:background .2s}.settings-toggle[aria-checked=true]{background:var(--gradient-accent)}.settings-toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:white;box-shadow:0 1px 3px rgba(0,0,0,.15);transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.settings-toggle[aria-checked=true] .settings-toggle-thumb{transform:translateX(16px)}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:10px 0;border-top:1px solid var(--border)}.settings-toggle-row:first-child{border-top:none}.plan-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}@media (max-width:900px){.plan-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.plan-cards-grid{grid-template-columns:1fr}}.plan-card{position:relative;background:rgba(255,255,255,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.5rem;display:flex;flex-direction:column;box-shadow:var(--shadow-soft)}.dark .plan-card,[data-theme=dark] .plan-card{background:rgba(26,26,25,.8)}.plan-card--highlight{border-color:rgba(99,102,241,.3);background:linear-gradient(180deg,rgba(99,102,241,.06),rgba(255,255,255,.8));box-shadow:var(--shadow-elevated)}.dark .plan-card--highlight,[data-theme=dark] .plan-card--highlight{background:linear-gradient(180deg,rgba(129,140,248,.1),rgba(26,26,25,.8))}.plan-badge{position:absolute;top:-10px;right:16px;font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;padding:3px 10px;border-radius:var(--radius-full);background:var(--gradient-accent);color:white;box-shadow:var(--shadow-soft)}.plan-card-icon{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:8px}.plan-card-icon--gradient{background:var(--gradient-accent);color:white;box-shadow:var(--shadow-soft)}.plan-card-icon--border{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary)}.plan-card-name{font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.plan-card-tagline{font-size:11px;color:var(--text-muted);margin-bottom:8px}.plan-price{font-size:40px;font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--text-primary)}.plan-price-unit{font-size:11px;color:var(--text-muted);margin-left:2px}.plan-price-note{font-size:10.5px;color:var(--text-muted);margin-bottom:.85rem;min-height:14px}.plan-cta{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:400;font-family:inherit;cursor:pointer;transition:opacity .12s,transform .1s;border:none;margin-bottom:.9rem}.plan-cta--gradient{background:var(--gradient-accent);color:white;box-shadow:var(--shadow-soft)}.plan-cta--gradient:hover{opacity:.88}.plan-cta--outline{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border)}.plan-cta--outline:hover{background:var(--bg-surface-2)}.plan-features{list-style:none;display:flex;flex-direction:column;gap:6px}.plan-feature-item{display:flex;align-items:flex-start;gap:7px;font-size:11.5px;line-height:1.35;color:var(--text-primary);opacity:.9}.plan-feature-check{width:14px;height:14px;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.plan-feature-check--gradient{background:var(--gradient-accent);color:white}.plan-feature-check--muted{background:var(--bg-surface-2);color:var(--text-muted)}.plan-beta-note{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;border:1px solid var(--border);border-left:3px solid var(--warning);border-radius:var(--radius-md);background:var(--bg-surface-2);font-size:12px;line-height:1.45;color:var(--text-secondary)}.plan-beta-note svg{flex-shrink:0;margin-top:1px;color:var(--warning)}.storage-bar{height:6px;background:var(--bg-surface-3);overflow:hidden;margin:6px 0}.storage-bar,.storage-bar-fill{border-radius:var(--radius-full)}.storage-bar-fill{height:100%;background:var(--gradient-accent);transition:width .3s ease}.storage-bar-fill--warning{background:var(--warning)}.storage-bar-fill--danger{background:var(--danger)}.credit-packs{display:flex;gap:8px;flex-wrap:wrap}.credit-pack-btn{padding:6px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .12s,box-shadow .12s;box-shadow:var(--shadow-soft)}.credit-pack-btn:hover{border-color:rgba(99,102,241,.35);box-shadow:0 0 0 3px rgba(99,102,241,.08),var(--shadow-soft)}.credit-pack-btn:disabled{opacity:.5;cursor:not-allowed}:root{--settings-heading:14px;--settings-text:13px;--settings-hint:11.5px;--settings-btn:13px;--settings-input:14px}html.is-mobile{--settings-heading:16px;--settings-text:14px;--settings-hint:13px;--settings-btn:15px;--settings-input:16px}.settings-card{background:rgba(255,255,255,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:1rem 1.1rem;border:1px solid var(--border);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:10px}[data-theme=dark] .settings-card{background:rgba(34,34,33,.7)}.settings-card h3{font-size:var(--settings-heading);font-weight:600;color:var(--text-primary);letter-spacing:-.025em}.settings-card input[type=email],.settings-card input[type=password],.settings-card input[type=text],.settings-card select,.settings-card textarea{width:100%;padding:8px 10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--settings-input);color:var(--text-primary);font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s;box-shadow:var(--shadow-soft)}.settings-card input:focus,.settings-card select:focus,.settings-card textarea:focus{border-color:rgba(99,102,241,.4);box-shadow:0 0 0 3px rgba(99,102,241,.08),var(--shadow-soft)}.settings-card button{align-self:flex-start;padding:6px 14px;border-radius:var(--radius-sm);border:none;background:var(--gradient-accent);color:white;font-family:inherit;cursor:pointer;transition:opacity .12s;box-shadow:var(--shadow-soft)}.settings-card button,.settings-modal .btn{font-size:var(--settings-btn);font-weight:400}.settings-modal .btn{border-radius:var(--radius-sm)}.settings-card button:hover{opacity:.88}.settings-card label{font-size:var(--settings-text);font-weight:500;color:var(--text-secondary)}.settings-card p{font-size:var(--settings-text);line-height:1.55}.settings-card .settings-field{display:flex;flex-direction:column;gap:4px}.settings-card .settings-hint{font-size:var(--settings-hint);color:var(--text-muted);line-height:1.5}.llm-caps{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface-2)}.llm-caps-title{font-size:12px;font-weight:600;color:var(--text-primary)}.llm-caps-auto{font-size:11.5px;color:var(--text-muted);line-height:1.5;word-break:break-word}.llm-caps-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.llm-caps-label{flex:1 1;min-width:0;font-size:12px;color:var(--text-primary)}.llm-caps-row input[type=number],.llm-caps-row select{flex:0 0 auto;width:auto;max-width:55%;min-width:96px}.llm-caps-row input[type=number]{text-align:right;font-size:12px}html.is-mobile .llm-caps-label,html.is-mobile .llm-caps-title{font-size:14px}html.is-mobile .llm-caps-auto{font-size:13px}html.is-mobile .llm-caps-row{flex-direction:column;align-items:stretch;gap:4px}html.is-mobile .llm-caps-row .settings-dropdown,html.is-mobile .llm-caps-row input[type=number],html.is-mobile .llm-caps-row select{flex:1 1 auto;width:100%;max-width:none}html.is-mobile .llm-caps-row input[type=number]{text-align:left;font-size:14px}.env-editor{display:flex;flex-direction:column;gap:10px}.env-editor--locked{flex-direction:row;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.env-editor-empty,.env-editor-hint{font-size:12px;color:var(--text-muted);line-height:1.5}.env-editor-hint--reveal{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.env-secret-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.env-secret-list li{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.env-secret-list code{font-size:12.5px;color:var(--text-primary)}.env-secret-mask,.env-secret-usage{font-size:12.5px;color:var(--text-muted)}.env-editor-textarea{width:100%;font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:13px;line-height:1.5;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);resize:vertical}.env-editor-errors{font-size:12px;color:var(--danger,#d64545)}.env-editor-errors ul{margin:4px 0 0;padding-left:18px}.env-editor-saved{font-size:12px;color:var(--success,#2f9e44)}.env-editor-actions{display:flex;flex-wrap:wrap;gap:8px}html.is-mobile .env-editor--locked,html.is-mobile .env-secret-list li{font-size:14px}html.is-mobile .env-editor-empty,html.is-mobile .env-editor-hint,html.is-mobile .env-editor-textarea,html.is-mobile .env-secret-list code,html.is-mobile .env-secret-mask,html.is-mobile .env-secret-usage{font-size:13px}.env-secret-row{display:flex;flex-direction:column;gap:2px;padding:6px 0;border-bottom:1px solid var(--border)}.env-secret-row:last-child{border-bottom:none}.env-secret-main{display:flex;align-items:center;gap:8px}.env-secret-name{font-weight:500;flex-shrink:0}.env-secret-value{flex:1 1;min-width:0;overflow-wrap:anywhere}.env-secret-revealed{font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:12.5px;color:var(--text-primary);-webkit-user-select:all;-moz-user-select:all;user-select:all}.env-secret-actions{display:flex;align-items:center;gap:2px;margin-left:auto;flex-shrink:0}.env-editor .env-icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:var(--radius-xs);background:none;box-shadow:none;color:var(--text-muted);cursor:pointer;transition:color .12s,background .12s}.env-editor .env-icon-btn:hover{background:var(--accent-subtle);color:var(--accent);opacity:1}.env-editor .env-icon-btn--danger:hover{background:rgba(214,69,69,.12);color:var(--danger,#d64545)}.env-secret-meta{font-size:11.5px;color:var(--text-muted);overflow-wrap:anywhere}.env-secret-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:12px;color:var(--text-secondary)}.env-draft-form{gap:6px;margin-top:6px;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle,var(--bg-surface))}.env-draft-form,.env-field{display:flex;flex-direction:column}.env-field{gap:3px;font-size:12px;color:var(--text-secondary)}.env-field input{width:100%;padding:6px 8px;font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:12.5px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary)}.env-field-hint{margin:0;font-size:11.5px;color:var(--text-muted);line-height:1.5}.env-editor .env-btn{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);font-family:inherit;font-size:12.5px;font-weight:400;box-shadow:none;cursor:pointer;transition:opacity .12s}.env-editor .env-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--accent)}.env-editor .env-btn:disabled{opacity:.55;cursor:default}.env-editor .env-btn--primary{border-color:transparent;background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-soft)}.env-editor .env-btn--primary:hover:not(:disabled){color:#fff;border-color:transparent;opacity:.88}.env-editor .env-btn--danger{border-color:transparent;background:var(--danger,#d64545);color:#fff}.env-editor .env-btn--danger:hover:not(:disabled){color:#fff;border-color:transparent;opacity:.88}html.is-mobile .env-editor .env-btn,html.is-mobile .env-field input,html.is-mobile .env-secret-revealed{font-size:13px}html.is-mobile .env-field-hint,html.is-mobile .env-secret-meta{font-size:12px}html.is-mobile .env-editor .env-icon-btn{padding:8px}.env-dialog-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px}.env-dialog{background:var(--bg-surface,#fff);border:1px solid var(--border);border-radius:10px;width:100%;max-width:520px;box-shadow:0 12px 40px rgba(0,0,0,.18);display:flex;flex-direction:column;max-height:85dvh}.env-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.env-dialog-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary)}.env-dialog-close{background:none;border:none;cursor:pointer;padding:2px;color:var(--text-muted);display:inline-flex;align-items:center}.env-dialog-close:hover{color:var(--text-primary)}.env-dialog-body{padding:12px 16px 16px;overflow-y:auto}.env-trust-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:10000;padding:16px}.env-trust-dialog{background:var(--bg-surface,#fff);border:1px solid var(--border);border-radius:10px;width:100%;max-width:420px;padding:16px;box-shadow:0 12px 40px rgba(0,0,0,.18)}.env-trust-dialog h3{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text-primary)}.env-trust-dialog p{margin:0 0 14px;font-size:12.5px;line-height:1.55;color:var(--text-secondary);overflow-wrap:anywhere}.env-trust-actions{display:flex;flex-wrap:wrap;gap:8px}.env-trust-actions button{padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);font-family:inherit;font-size:12.5px;cursor:pointer;transition:opacity .12s}.env-trust-actions button:first-child{border-color:transparent;background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-soft)}.env-trust-actions button:hover{opacity:.88}.env-trust-actions .env-trust-deny{color:var(--danger,#d64545)}html.is-mobile .env-trust-actions button,html.is-mobile .env-trust-dialog p{font-size:13px}.theme-picker{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.theme-picker-option{border-radius:var(--radius-md);border:1px solid var(--border);padding:10px 8px;cursor:pointer;background:var(--bg-surface);font-family:inherit;font-size:12px;color:var(--text-secondary);text-align:center;transition:border-color .12s,box-shadow .12s}.theme-picker-option:hover{border-color:rgba(99,102,241,.3)}.theme-picker-option.active{border-color:rgba(99,102,241,.5);box-shadow:0 0 0 3px rgba(99,102,241,.1);color:var(--accent)}.theme-picker-swatch{height:48px;border-radius:var(--radius-sm);border:1px solid var(--border);margin-bottom:6px}.lang-picker{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.lang-option{display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);font-family:inherit;font-size:13px;color:var(--text-muted);white-space:nowrap;cursor:pointer;transition:border-color .12s,background .12s,color .12s}.lang-option:hover{border-color:var(--border-strong);color:var(--text-secondary)}.lang-option.active{background:var(--accent);border-color:var(--accent);color:#fff}.credits-widget{display:flex;align-items:center;gap:10px;background:var(--accent-subtle);border-radius:var(--radius-md);padding:12px;border:1px solid var(--accent-muted)}.credits-label{font-size:14px;font-weight:500;color:var(--text-secondary)}.credits-balance{font-size:18px;font-weight:600;color:var(--accent);margin-left:auto}.credits-warning{font-size:11px;color:var(--warning)}.credits-widget button{padding:5px 12px;border-radius:var(--radius-sm);border:none;background:var(--gradient-accent);color:white;font-size:12px;font-weight:400;font-family:inherit;cursor:pointer}.storage-meter{height:6px;background:var(--bg-surface-3);border-radius:var(--radius-full);overflow:hidden;margin:4px 0}.storage-meter-fill{height:100%;background:var(--gradient-accent);border-radius:var(--radius-full)}.faq-card{background:rgba(255,255,255,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-soft)}.dark .faq-card,[data-theme=dark] .faq-card{background:rgba(26,26,25,.8)}.faq-card h3{font-size:13.5px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.faq-card p{font-size:14px;color:var(--text-muted);line-height:1.6}.billing-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:10px 0;border-bottom:1px solid var(--border)}@media (max-width:560px){.billing-row{flex-direction:column;align-items:flex-start;gap:2px}}.billing-row:last-child{border-bottom:none}.billing-row-label{font-size:14px;font-weight:500;color:var(--text-primary)}.billing-row-value{font-size:14px;color:var(--text-muted)}.billing-row-value strong{color:var(--text-primary);font-weight:600}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:5px}.status-dot--green{background:#22c55e}.status-dot--amber{background:var(--warning)}.status-dot--red{background:var(--danger)}.landing-root{position:fixed;inset:0;overflow-y:auto;overflow-x:hidden}.landing-container{max-width:1140px;margin:0 auto;padding:0 1.5rem}.landing-hero{padding:88px 0 64px;text-align:center}.landing-hero-inner{max-width:680px;margin:0 auto;padding:0 1.5rem}.landing-headline{font-size:clamp(38px,6vw,64px);font-weight:700;letter-spacing:-.04em;line-height:1.06;color:var(--text-primary);margin-bottom:1.25rem}.landing-headline-accent{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-subtext{font-size:16.5px;color:var(--text-secondary);line-height:1.72;margin-bottom:2rem;max-width:540px;margin-left:auto;margin-right:auto}.landing-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.landing-btn-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--radius-lg);background:var(--gradient-accent);color:white;font-size:15px;font-weight:500;text-decoration:none;box-shadow:var(--shadow-md);transition:opacity .12s,transform .12s}.landing-btn-cta:hover{opacity:.88;transform:translateY(-1px)}.landing-btn-cta:active{transform:scale(.98)}.landing-btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--radius-lg);background:var(--bg-surface);color:var(--text-primary);font-size:15px;font-weight:500;text-decoration:none;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:background .12s,border-color .12s,transform .12s}.landing-btn-secondary:hover{background:var(--bg-surface-2);border-color:var(--border-strong);transform:translateY(-1px)}.landing-showcase{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;max-width:920px;margin:56px auto 0;padding:0 1.5rem}@media (max-width:800px){.landing-showcase{grid-template-columns:1fr 1fr}}@media (max-width:520px){.landing-showcase{grid-template-columns:1fr}}.landing-showcase-card{background:rgba(255,255,255,.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.2rem;box-shadow:var(--shadow-elevated);text-align:left}[data-theme=dark] .landing-showcase-card{background:rgba(26,26,25,.88)}.landing-section{padding:80px 0}.landing-section-label{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);margin-bottom:10px;text-align:center}.landing-section-title{font-size:clamp(26px,4vw,36px);font-weight:600;letter-spacing:-.03em;color:var(--text-primary);margin-bottom:10px;text-align:center}.landing-section-subtitle{font-size:15px;color:var(--text-muted);text-align:center;max-width:500px;margin:0 auto 3rem;line-height:1.65}.landing-features-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}@media (max-width:900px){.landing-features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.landing-features-grid{grid-template-columns:1fr}}.landing-feature-card{background:rgba(255,255,255,.65);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.5rem;transition:box-shadow .15s,transform .12s}[data-theme=dark] .landing-feature-card{background:rgba(26,26,25,.65)}.landing-feature-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.landing-feature-icon{width:40px;height:40px;border-radius:11px;background:var(--gradient-accent);display:flex;align-items:center;justify-content:center;color:white;margin-bottom:1rem;box-shadow:var(--shadow-soft);flex-shrink:0}.landing-feature-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.landing-feature-desc{font-size:13.5px;color:var(--text-muted);line-height:1.65}.landing-downloads-section{padding:80px 0;background:var(--bg-surface-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.landing-download-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}@media (max-width:640px){.landing-download-grid{grid-template-columns:1fr}}.landing-download-card{display:flex;flex-direction:column;align-items:center;gap:14px;padding:2rem 1.5rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);text-decoration:none;color:var(--text-primary);transition:box-shadow .15s,transform .12s,border-color .12s;box-shadow:var(--shadow-sm);text-align:center}.landing-download-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--border-strong)}.landing-download-os-icon{width:48px;height:48px;border-radius:14px;background:var(--bg-surface-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.landing-download-platform{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.landing-download-format{font-size:11px;font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-surface-2);padding:2px 8px;border-radius:var(--radius-full);border:1px solid var(--border);margin-top:-6px}.landing-download-btn-row{display:flex;align-items:center;gap:6px;padding:8px 18px;border-radius:var(--radius-full);background:var(--gradient-accent);color:white;font-size:13px;font-weight:500;box-shadow:var(--shadow-soft);margin-top:4px}.landing-cta-section{padding:80px 0;text-align:center}.landing-cta-card{max-width:640px;margin:0 auto;background:var(--gradient-accent);border-radius:var(--radius-2xl);padding:3rem 2rem;box-shadow:var(--shadow-xl);position:relative;overflow:hidden}.landing-cta-card:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 600px 300px at 50% 0,rgba(255,255,255,.12) 0,transparent 60%);pointer-events:none}.landing-cta-title{font-size:28px;font-weight:700;letter-spacing:-.03em;color:white;margin-bottom:10px}.landing-cta-subtitle{font-size:15px;color:rgba(255,255,255,.8);margin-bottom:1.75rem;line-height:1.6}.landing-btn-cta-white{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--radius-lg);background:white;color:var(--accent);font-size:15px;font-weight:600;text-decoration:none;box-shadow:var(--shadow-md);transition:opacity .12s,transform .12s}.landing-btn-cta-white:hover{opacity:.92;transform:translateY(-1px)}.landing-btn-cta-white:active{transform:scale(.98)}.landing-footer{padding:1.75rem 0;border-top:1px solid var(--border)}.landing-footer-inner{max-width:1140px;margin:0 auto;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.landing-footer-copy{font-size:12px;color:var(--text-muted)}.landing-footer-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.landing-footer-link{font-size:12px;color:var(--text-muted);text-decoration:none;transition:color .12s}.landing-footer-link:hover{color:var(--text-primary)}.legal-content{max-width:760px;margin:0 auto;padding:3rem 1.5rem 5rem}@media (max-width:560px){.legal-content{padding:2rem 1rem 3.5rem}}.legal-hero{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.legal-eyebrow{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted);margin-bottom:10px}.legal-title{font-size:clamp(28px,5vw,40px);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--text-primary);margin-bottom:12px}.legal-meta{font-size:12.5px;color:var(--text-muted);font-family:var(--font-mono);display:flex;gap:16px;flex-wrap:wrap}.legal-toc{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:2.5rem;box-shadow:var(--shadow-sm)}.legal-toc-title{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:12px}.legal-toc ol{list-style:decimal;padding-left:1.4rem;margin:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:3px 2rem;gap:3px 2rem}@media (max-width:560px){.legal-toc ol{grid-template-columns:1fr}}.legal-toc li{font-size:13.5px;color:var(--text-muted)}.legal-toc a{color:var(--text-muted);text-decoration:none;transition:color .12s}.legal-toc a:hover{color:var(--accent)}.legal-section{margin-bottom:2.25rem;scroll-margin-top:80px}.legal-section h2{font-size:19px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em;margin-bottom:14px;display:flex;align-items:baseline;gap:10px}.legal-section-num{font-size:11px;font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-surface-2);border:1px solid var(--border);padding:1px 7px;border-radius:var(--radius-full);flex-shrink:0}.legal-section h3{font-size:14.5px;font-weight:600;color:var(--text-primary);margin:1.2rem 0 6px}.legal-section p{font-size:14.5px;line-height:1.8;color:var(--text-secondary);margin-bottom:.85rem}.legal-section ol,.legal-section ul{padding-left:1.5rem;margin-bottom:.85rem}.legal-section li{font-size:14.5px;line-height:1.8;color:var(--text-secondary);margin-bottom:2px}.legal-section a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.legal-notice{display:flex;gap:12px;padding:1rem 1.25rem;background:var(--accent-subtle);border:1px solid var(--accent-muted);border-radius:var(--radius-lg);margin-bottom:.85rem}.legal-notice p{margin:0;font-size:13.5px;color:var(--text-primary);opacity:.88}.legal-divider{height:1px;background:var(--border);border:none;margin:2rem 0}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;padding:14px 20px;background:var(--bg-surface);border-top:1px solid var(--border);box-shadow:0 -4px 24px rgba(0,0,0,.07)}.cookie-banner-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.cookie-banner-text{flex:1 1;min-width:200px;font-size:13px;color:var(--text-secondary);line-height:1.55;margin:0}.cookie-banner-link{color:var(--accent);text-decoration:none}.cookie-banner-link:hover{text-decoration:underline}.cookie-banner-actions{display:flex;gap:8px;flex-shrink:0}.cookie-btn{padding:7px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap;font-family:var(--font-sans)}.cookie-btn--outline{background:transparent;border:1px solid var(--border-strong);color:var(--text-secondary)}.cookie-btn--outline:hover{background:var(--bg-surface-2);border-color:var(--text-muted)}.cookie-btn--primary{background:var(--accent);border:1px solid var(--accent);color:white}.cookie-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.widget-frame{flex:1 1;display:flex;flex-direction:column;min-height:0;background:var(--bg-surface)}.widget-iframe{flex:1 1;width:100%;border:0;background:var(--bg-surface)}.widget-banner{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:12px;border-bottom:1px solid var(--border)}.widget-banner--readonly{background:var(--bg-surface-2);color:var(--text-secondary)}.widget-banner--error{background:rgba(220,38,38,.08);color:#991b1b}.widget-banner--warning{background:rgba(245,158,11,.1);color:#92400e}.widget-banner--ai{background:rgba(99,102,241,.1);color:#4338ca}.ai-trust-warning{color:#92400e;background:rgba(245,158,11,.1);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px}.widget-banner-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-banner-action{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;border:1px solid;border-radius:var(--radius-sm);font-size:11px;font-weight:500;color:inherit;cursor:pointer}.widget-banner-action:hover{background:rgba(0,0,0,.05)}.editor-tab-widget-badge{display:inline-flex;align-items:center;margin-left:6px;color:var(--accent)}.schema-conflict-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:1100}.schema-conflict-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(560px,92vw);max-height:80dvh;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,.18)}.schema-conflict-header{padding:20px 24px 12px;border-bottom:1px solid var(--border)}.schema-conflict-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.schema-conflict-body{padding:16px 24px;overflow-y:auto;color:var(--text-secondary);font-size:13px;line-height:1.5}.schema-conflict-body h3{margin:8px 0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.schema-conflict-body section+section{margin-top:16px}.schema-conflict-fields{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.schema-conflict-fields code{font-family:var(--font-mono);font-size:12px;background:var(--bg-surface-2);padding:2px 6px;border-radius:var(--radius-sm);color:var(--text-primary)}.schema-conflict-fields label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.schema-conflict-type{font-size:11px;color:var(--text-muted)}.schema-conflict-hint{margin:8px 0 0;font-size:12px;color:var(--text-muted)}.schema-conflict-footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.schema-conflict-btn{padding:6px 14px;border:1px solid var(--border);background:var(--bg-surface-2);border-radius:var(--radius-md);font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer}.schema-conflict-btn:hover{background:var(--bg-surface-3)}.schema-conflict-btn--danger{background:rgba(220,38,38,.1);border-color:rgba(220,38,38,.3);color:#991b1b}.schema-conflict-btn--danger:hover{background:rgba(220,38,38,.18)}.schema-conflict-btn--danger:disabled{opacity:.5;cursor:not-allowed}.schema-conflict-btn--muted{color:var(--text-muted)}.schema-conflict-btn--primary{background:var(--accent);border-color:var(--accent);color:white}.schema-conflict-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.snapshot-privacy-pii{margin-left:8px;font-size:11px;color:#b45309;background:rgba(245,158,11,.12);padding:2px 6px;border-radius:var(--radius-sm)}.widget-trust-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:1200}.widget-trust-modal{width:min(420px,92vw);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-strong);display:flex;flex-direction:column;overflow:hidden}.widget-trust-header{padding:.875rem 1rem;border-bottom:1px solid var(--border)}.widget-trust-header h2{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.widget-trust-body{padding:.875rem 1rem;display:flex;flex-direction:column;gap:.5rem}.widget-trust-body p{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.55}.widget-trust-hint{font-size:12px!important;color:var(--text-muted)!important}.widget-trust-file{font-family:var(--font-mono);font-size:12px;background:var(--bg-surface-2);padding:1px 5px;border-radius:var(--radius-sm)}.delete-file-orphans{margin:8px 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.delete-file-orphans li{background:var(--bg-surface-2);padding:6px 8px;border-radius:var(--radius-sm);font-size:12px;display:flex;flex-direction:column;gap:2px}.delete-file-orphan-meta{color:var(--text-muted);font-size:11px}.tree-item-action-btn--danger:hover{color:var(--danger,#dc2626)}.widget-trust-footer{display:flex;flex-direction:column;gap:6px;padding:.75rem 1rem;border-top:1px solid var(--border)}.widget-trust-btn{height:32px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-surface-2);color:var(--text-primary);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .12s;text-align:left}.widget-trust-btn:hover{background:var(--bg-surface-3)}.widget-trust-btn--primary{background:var(--accent);color:white;border-color:var(--accent)}.widget-trust-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.widget-trust-btn--muted{color:var(--text-muted);background:transparent;border-color:transparent}.widget-trust-btn--muted:hover{background:var(--bg-surface-2);color:var(--text-secondary)}.db-corrupt-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1300}.db-corrupt-modal{width:min(480px,92vw);max-height:calc(100dvh - 4rem);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-strong);display:flex;flex-direction:column;overflow:hidden}.db-corrupt-header{display:flex;align-items:center;gap:8px;padding:.875rem 1rem;border-bottom:1px solid var(--border);color:var(--danger,#dc2626)}.db-corrupt-header h2{margin:0;font-size:14px;font-weight:600}.db-corrupt-body{padding:.875rem 1rem;overflow:auto;display:flex;flex-direction:column;gap:.625rem}.db-corrupt-body p{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.55}.db-corrupt-empty,.db-corrupt-loading{font-size:13px;color:var(--text-muted)}.db-corrupt-error{font-size:12px;color:var(--danger,#dc2626)!important}.db-corrupt-backups{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.db-corrupt-backups li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface-2)}.db-corrupt-backup-info{display:flex;flex-direction:column;gap:2px;min-width:0}.db-corrupt-backup-ts{font-size:13px;color:var(--text-primary)}.db-corrupt-backup-size{font-size:11px;color:var(--text-muted)}.db-corrupt-footer{display:flex;flex-direction:column;gap:6px;padding:.75rem 1rem;border-top:1px solid var(--border)}.db-corrupt-btn{height:32px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-surface-2);color:var(--text-primary);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .12s}.db-corrupt-btn:hover:not(:disabled){background:var(--bg-surface-3)}.db-corrupt-btn:disabled{opacity:.5;cursor:default}.db-corrupt-btn--primary{background:var(--accent);color:white;border-color:var(--accent)}.db-corrupt-btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.db-corrupt-btn--muted{color:var(--text-muted);background:transparent;border-color:transparent}.db-corrupt-btn--muted:hover:not(:disabled){background:var(--bg-surface-2);color:var(--text-secondary)}.db-settings-empty{font-size:13px;color:var(--text-muted);margin:0}.db-settings-glossary{display:flex;flex-direction:column;gap:12px;margin:0}.db-settings-glossary dt{font-size:12px;font-weight:600;color:var(--text-primary)}.db-settings-glossary dd{margin:3px 0 0;font-size:11.5px;color:var(--text-muted);line-height:1.5}.db-settings-glossary code{font-size:11px}.db-settings-collections{display:flex;flex-direction:column;gap:.75rem}.db-settings-collection{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.db-settings-collection-header{display:flex;align-items:baseline;gap:8px;padding:6px 10px;background:var(--bg-surface-2);border-bottom:1px solid var(--border)}.db-settings-collection-header code{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text-primary)}.db-settings-desc{font-size:11px;color:var(--text-muted)}.db-settings-fields{list-style:none;margin:0;padding:4px 0}.db-settings-fields li{padding:0}.db-settings-fields label{display:flex;align-items:center;gap:8px;padding:5px 10px;cursor:pointer;font-size:13px;color:var(--text-primary)}.db-settings-fields label:hover{background:var(--bg-surface-2)}.db-settings-fields code{font-family:var(--font-mono);font-size:12px}.db-settings-type{font-size:11px;color:var(--text-muted);margin-left:auto}.db-settings-badge{font-size:10px;font-weight:600;color:#b45309;background:rgba(245,158,11,.12);padding:1px 5px;border-radius:var(--radius-sm);letter-spacing:.03em}.db-settings-trust{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.db-settings-trust li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface-2)}.db-settings-trust-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.db-settings-trust-info code{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text-primary)}.db-settings-trust-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.db-settings-trust-meta,.db-settings-trust-path{font-size:11px;color:var(--text-muted)}.db-settings-revoke{flex-shrink:0;height:28px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--danger);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .12s,color .12s}.db-settings-revoke:hover{background:var(--danger);color:white}.db-settings-revoke:disabled{opacity:.5;cursor:not-allowed}.db-settings-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);padding-bottom:4px;margin-bottom:4px}.db-settings-tab{padding:5px 12px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;border:1px solid transparent;border-bottom:none;background:transparent;color:var(--text-muted);font-size:13px;font-family:inherit;cursor:pointer;transition:background .12s,color .12s}.db-settings-tab:hover{background:var(--surface-hover);color:var(--text)}.db-settings-tab--active{background:var(--bg);color:var(--text);border-color:var(--border);border-bottom-color:var(--bg);margin-bottom:-1px}.db-maint-stats{display:flex;gap:12px;margin:10px 0 12px}.db-maint-stat{flex:1 1;display:flex;flex-direction:column;gap:2px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface)}.db-maint-stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.db-maint-stat-value{font-size:14px;font-weight:500;color:var(--text-primary)}.db-maint-action{padding:6px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);font-size:13px;font-family:inherit;cursor:pointer;transition:background .12s,color .12s}.db-maint-action:hover:not(:disabled){background:var(--surface-hover)}.db-maint-action:disabled{opacity:.5;cursor:not-allowed}.db-maint-result{margin-top:8px;font-size:12px;color:var(--success,#16a34a)}.db-maint-error{margin-top:8px;font-size:12px;color:var(--danger,#ef4444)}.db-orphan-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.db-orphan-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm)}.db-orphan-info{display:flex;flex-direction:column;gap:2px;min-width:0}.db-orphan-meta{font-size:11px;color:var(--text-muted)}.db-orphan-actions{display:flex;gap:6px;flex-shrink:0}.db-orphan-cancel,.db-orphan-confirm,.db-orphan-delete{padding:4px 10px;font-size:12px;font-family:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);cursor:pointer;transition:background .12s,color .12s}.db-orphan-confirm,.db-orphan-delete:hover:not(:disabled){background:var(--danger,#ef4444);color:white;border-color:var(--danger,#ef4444)}.db-orphan-cancel:hover:not(:disabled){background:var(--surface-hover)}.db-orphan-cancel:disabled,.db-orphan-confirm:disabled,.db-orphan-delete:disabled{opacity:.5;cursor:not-allowed}.db-io-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.db-io-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm)}.db-io-info{display:flex;flex-direction:column;gap:2px;min-width:0}.db-io-actions{display:flex;gap:6px;flex-shrink:0}.db-io-actions button{padding:4px 10px;font-size:12px;font-family:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .12s,color .12s}.db-io-actions button:hover:not(:disabled){background:var(--bg-overlay);color:var(--text-primary)}.db-io-actions button:disabled{opacity:.5;cursor:default}.db-io-import{font-weight:600;color:var(--accent,#6366f1)!important;border-color:var(--accent,#6366f1)!important}.db-import-dialog{background:var(--bg-surface,#fff);border-radius:var(--radius-md,8px);box-shadow:var(--shadow-lg);width:min(640px,calc(100vw - 2rem));max-height:calc(100dvh - 4rem);display:flex;flex-direction:column;overflow:hidden}.db-import-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.db-import-header h3{margin:0;font-size:14px}.db-import-close{border:none;background:none;cursor:pointer;color:var(--text-muted);font-size:14px}.db-import-body{padding:14px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.db-import-format{display:flex;align-items:center;gap:16px;font-size:13px}.db-import-file{margin-left:auto;font-size:12px;color:var(--text-muted);cursor:pointer}.db-import-file input{display:block;margin-top:2px}.db-import-textarea{width:100%;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical}.db-import-mapping h4,.db-import-preview h4{margin:0 0 6px;font-size:12px;color:var(--text-muted);font-weight:600}.db-import-map-row{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:12px}.db-import-map-row select{margin-left:auto;font-size:12px;padding:2px 6px}.db-import-preview-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.db-import-preview table{border-collapse:collapse;font-size:11px;width:100%}.db-import-preview td,.db-import-preview th{border:1px solid var(--border);padding:3px 6px;text-align:left;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.db-import-error{color:var(--danger,#dc2626);font-size:12px;margin:0}.db-import-footer{display:flex;justify-content:flex-end;gap:8px}.db-import-btn{padding:6px 14px;font-size:13px;font-family:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.db-import-btn--primary{background:var(--accent,#6366f1);border-color:var(--accent,#6366f1);color:#fff}.db-import-btn:disabled{opacity:.5;cursor:default}.trash-error{font-size:12px;color:var(--danger,#dc2626);margin:0 0 .5rem}.trash-collections{display:flex;flex-direction:column;gap:8px}.trash-collection{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.trash-collection-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;background:var(--bg-surface-2)}.trash-collection-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;font-size:13px;color:var(--text-primary);font-family:inherit}.trash-caret,.trash-count{color:var(--text-muted);font-size:11px}.trash-count{background:var(--bg-surface-3);border-radius:999px;padding:0 7px;min-width:18px;text-align:center}.trash-empty-btn{font-size:11px;padding:3px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--danger,#dc2626);cursor:pointer;font-family:inherit}.trash-empty-btn:hover:not(:disabled){background:rgba(220,38,38,.08)}.trash-empty-btn:disabled{opacity:.5;cursor:default}.trash-rows{list-style:none;margin:0;padding:0}.trash-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-top:1px solid var(--border)}.trash-row-data{display:flex;flex-direction:column;gap:2px;min-width:0}.trash-row-fields{font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-row-meta{font-size:11px;color:var(--text-muted)}.trash-row-actions{display:flex;gap:6px;flex-shrink:0}.trash-action{font-size:11px;padding:3px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-surface-2);color:var(--text-primary);cursor:pointer;font-family:inherit}.trash-action:hover:not(:disabled){background:var(--bg-surface-3)}.trash-action:disabled{opacity:.5;cursor:default}.trash-action--danger{color:var(--danger,#dc2626)}.trash-action--danger:hover:not(:disabled){background:rgba(220,38,38,.08)}.audit-log-viewer{display:flex;flex-direction:column;gap:10px;min-height:0}.audit-stats{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px}.audit-stat-total{font-weight:600;color:var(--text)}.audit-stat-chip{padding:2px 7px;border-radius:10px;font-size:11px;background:var(--surface-hover);color:var(--text-muted)}.audit-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.audit-filters .audit-filter-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;line-height:30px;padding:0 26px 0 8px;background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;cursor:pointer}.audit-filter-search,.audit-filters .audit-filter-select{height:32px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:12px;font-family:inherit}.audit-filter-search{flex:1 1;min-width:140px;padding:0 8px;background:var(--bg)}.audit-filter-refresh{height:32px;width:32px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s}.audit-filter-refresh:hover{background:var(--surface-hover)}.audit-filter-refresh:disabled{opacity:.5;cursor:not-allowed}.audit-export-bar{display:flex;gap:6px}.audit-export-btn{height:28px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:12px;font-family:inherit;cursor:pointer;transition:background .12s}.audit-export-btn:hover{background:var(--surface-hover)}.audit-list{overflow-x:auto;max-height:420px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.audit-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:13px}.audit-table{width:100%;border-collapse:collapse;font-size:12px}.audit-table td,.audit-table th{padding:5px 8px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.audit-table thead th{background:var(--surface);font-weight:600;color:var(--text-muted);position:-webkit-sticky;position:sticky;top:0;z-index:1}.audit-td-check,.audit-th-check{width:32px}.audit-td-ts,.audit-th-ts{width:130px;color:var(--text-muted)}.audit-td-kind,.audit-th-kind{width:140px}.audit-td-desc,.audit-th-desc{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.audit-td-actions,.audit-th-actions{width:56px;text-align:right}.audit-row{cursor:pointer;transition:background .1s}.audit-row:hover{background:var(--surface-hover)}.audit-row--selected{background:color-mix(in srgb,var(--accent) 8%,transparent)}.audit-row--error td{background:color-mix(in srgb,var(--danger) 6%,transparent)}.audit-row--warning td{background:color-mix(in srgb,#f59e0b 6%,transparent)}.audit-row--info td{background:color-mix(in srgb,var(--accent) 6%,transparent)}.audit-row-expanded td{background:var(--surface);padding:0}.audit-kind-badge{display:inline-block;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;background:var(--surface-hover);color:var(--text-muted)}.audit-kind-badge--error{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.audit-kind-badge--bulk_mutation,.audit-kind-badge--scope_violation{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#b45309}.audit-kind-badge--backup_created,.audit-kind-badge--schema_change{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.audit-td-json{padding:8px 12px!important}.audit-json-pre{margin:0;font-size:11px;font-family:var(--font-mono,monospace);white-space:pre-wrap;word-break:break-all;color:var(--text);max-height:300px;overflow-y:auto}.audit-restore-btn{height:24px;width:24px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.audit-restore-btn:hover{background:var(--accent);color:white;border-color:var(--accent)}.audit-restore-btn:disabled{opacity:.5;cursor:not-allowed}.audit-reveal-btn{margin-top:6px;padding:3px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:11px;font-family:inherit;cursor:pointer;transition:background .12s}.audit-reveal-btn:hover{background:var(--surface-hover);color:var(--text)}.audit-error-badge{display:inline-block;padding:1px 5px;border-radius:6px;font-size:10px;font-weight:600;text-transform:uppercase;background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.tool-calls{gap:1px;margin:4px 0;font-size:12px;color:var(--text-muted)}.tool-call,.tool-calls{display:flex;flex-direction:column}.tool-call-row{display:inline-flex;align-items:center;gap:6px;max-width:100%;align-self:flex-start;padding:2px 6px;margin-left:-6px;border:none;background:none;border-radius:6px;color:inherit;font-family:inherit;font-size:12px;line-height:1.4;text-align:left;cursor:pointer;transition:background .12s ease}.tool-call-row:hover{background:var(--surface-hover)}.tool-call-chevron{width:12px;height:12px;flex-shrink:0;opacity:.5;transition:transform .15s ease}.tool-call-chevron.open{transform:rotate(90deg)}.tool-call-status{display:inline-flex;flex-shrink:0;opacity:.7;color:var(--text-muted)}.tool-call-status--error{color:var(--danger);opacity:.9}.tool-call-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.tool-call-detail{margin-left:6px;color:var(--text-muted);font-family:var(--font-mono,monospace);font-size:11px}.tool-call-detail:before{content:"· ";font-family:inherit}@keyframes tool-call-spin{to{transform:rotate(1turn)}}.tool-call-spin{animation:tool-call-spin .9s linear infinite}.tool-call-group-toggle .tool-call-name{font-weight:500}.tool-call-mini-stat{display:inline-flex;align-items:center;gap:3px;flex-shrink:0;opacity:.7;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tool-call-mini-stat--error{color:var(--danger);opacity:.9}.tool-call-group-body{display:flex;flex-direction:column;gap:1px;margin-left:5px;padding-left:8px;border-left:1px solid var(--border)}.tool-call-more{padding:1px 0;font-size:11px;font-style:italic;opacity:.6}.tool-call-mini{display:inline-flex;align-items:center;gap:6px;max-width:100%;align-self:flex-start;padding:2px 0;font-size:11.5px;color:var(--text-muted)}.tool-call-detail-panel{display:flex;flex-direction:column;gap:6px;margin:2px 0 4px 5px;padding-left:10px;border-left:1px solid var(--border)}.tool-call-block-label{margin-bottom:2px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;opacity:.6}.tool-call-block-label--error{color:var(--danger);opacity:.9}.tool-call-block-code{margin:0;max-height:200px;overflow:auto;padding:6px 8px;border-radius:var(--radius-sm);background:var(--surface);font-family:var(--font-mono,monospace);font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--text)}.tool-call-confirm{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.tool-call-confirm-btn{padding:4px 10px;background:var(--accent,#2563eb);color:#fff;border:none;border-radius:var(--radius-sm);font-size:11px;font-weight:500;cursor:pointer}.tool-call-confirm-btn:disabled{opacity:.6;cursor:progress}.tool-call-confirm-error{color:var(--danger,#dc2626);font-size:11px}.tool-call-confirm--done{color:var(--text-muted);font-size:11px;font-style:italic}.chat-stop-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border:none;border-radius:4px;background:var(--danger,#dc2626);color:#fff;font-size:12px;cursor:pointer;flex-shrink:0}.chat-stop-btn:hover{opacity:.85}.chat-stop-btn--soft{background:var(--bg-hover,rgba(0,0,0,.06));color:var(--text-secondary,#6b7280)}.agent-plan{margin:6px 0 8px 34px;padding:8px 10px;border:1px solid var(--border,rgba(0,0,0,.08));border-radius:8px;background:var(--bg-subtle,rgba(0,0,0,.02));font-size:12px}.agent-plan-title{font-weight:600;color:var(--text-secondary,#6b7280);margin-bottom:4px}.agent-plan-step{display:flex;align-items:flex-start;gap:6px;padding:1px 0;color:var(--text,#111827)}.agent-plan-step--done{color:var(--text-secondary,#6b7280);text-decoration:line-through}.agent-plan-check{color:var(--accent,#3b82f6);flex-shrink:0}.agent-notice{margin-top:4px;font-size:11px;color:var(--text-secondary,#6b7280)}.chat-icon-btn--active{color:var(--accent,#3b82f6);background:var(--bg-hover,rgba(0,0,0,.06))}.chat-history-panel{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--bg-base,#fff);z-index:10}.chat-history-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border,#e5e7eb);flex-shrink:0}.chat-history-panel-title{font-size:13px;font-weight:600;color:var(--text-base)}.chat-history-search{padding:6px 10px;border-bottom:1px solid var(--border,#e5e7eb);flex-shrink:0}.chat-history-search-input{width:100%;padding:4px 8px;border:1px solid var(--border,#e5e7eb);border-radius:4px;font-size:12px;background:var(--bg-input,#f9fafb);color:var(--text-base);box-sizing:border-box;outline:none}.chat-history-search-input:focus{border-color:var(--accent,#3b82f6)}.chat-history-empty{padding:24px 12px;text-align:center;font-size:12px;color:var(--text-muted)}.chat-history-list{flex:1 1;overflow-y:auto;padding:4px 0}.chat-history-item{display:flex;align-items:center;gap:4px;padding:6px 10px;cursor:pointer;border-radius:4px;margin:1px 4px;min-height:36px}.chat-history-item:hover{background:var(--bg-hover,rgba(0,0,0,.05))}.chat-history-item.active{background:var(--bg-selected,rgba(59,130,246,.1))}.chat-history-item-body{flex:1 1;min-width:0}.chat-history-item-title{font-size:12px;color:var(--text-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-history-item-date{font-size:10px;color:var(--text-muted);margin-top:1px}.chat-history-item-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .1s}.chat-history-item:hover .chat-history-item-actions{opacity:1}.chat-history-action-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:3px;background:transparent;color:var(--text-muted);cursor:pointer;padding:0}.chat-history-action-btn:hover{background:var(--bg-hover,rgba(0,0,0,.08));color:var(--text-base)}.chat-history-action-btn--danger:hover{background:rgba(220,38,38,.1);color:var(--danger,#dc2626)}.chat-history-rename-input{flex:1 1;min-width:0;padding:2px 6px;border:1px solid var(--accent,#3b82f6);border-radius:3px;font-size:12px;background:var(--bg-input,#f9fafb);color:var(--text-base);outline:none}.chat-created-hint{display:flex;align-items:center;gap:8px;margin:0 0 8px;padding:8px 10px;border:1px dashed var(--border);border-radius:8px;background:var(--bg-surface-2);color:var(--text-muted);font-size:12px}.chat-created-hint-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-created-hint-action{flex-shrink:0;padding:3px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);color:var(--text-primary);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s}.chat-created-hint-action:hover:not(:disabled){background:var(--bg-surface-3)}.chat-created-hint-action:disabled{opacity:.5;cursor:not-allowed}.chat-created-hint-dismiss{display:inline-flex;flex-shrink:0;padding:2px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer}.chat-created-hint-dismiss:hover{color:var(--text-primary)}.msg-imported{margin:4px 0;border:1px dashed var(--border);border-radius:8px;background:var(--bg-surface-2);overflow:hidden}.msg-imported-head{display:flex;align-items:center;gap:6px;width:100%;min-width:0;padding:6px 8px;border:none;background:transparent;color:var(--text-muted);font-size:12px;text-align:left;cursor:pointer}.msg-imported-head:hover{color:var(--text-primary)}.msg-imported-chevron,.msg-imported-icon{width:12px;height:12px;flex-shrink:0}.msg-imported-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-imported-count{flex-shrink:0;font-size:11px;opacity:.75}.msg-imported-body{display:flex;flex-direction:column;gap:8px;padding:4px 8px 8px;border-top:1px dashed var(--border);opacity:.85}.chat-history-import-btn{display:flex;align-items:center;gap:6px;width:100%;margin:4px 0 0;padding:6px 8px;border:1px dashed var(--border);border-radius:6px;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;transition:background .15s}.chat-history-import-btn:hover:not(:disabled){background:var(--bg-surface-2);color:var(--text-primary)}.chat-history-import-btn:disabled{opacity:.5;cursor:not-allowed}.chat-picker-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px}.chat-picker{display:flex;flex-direction:column;width:min(560px,100%);max-height:min(70vh,640px);padding:12px;gap:8px;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface);box-shadow:0 12px 40px rgba(0,0,0,.25)}.chat-picker-header{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.chat-picker-title{flex:1 1;min-width:0;font-size:13px;font-weight:600}.chat-picker-hint{margin:0}.chat-picker-empty,.chat-picker-hint{font-size:12px;color:var(--text-muted)}.chat-picker-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px 8px}.chat-picker-spinner{width:14px;height:14px;animation:spin 1s linear infinite}.chat-picker-list{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.chat-picker-item{display:flex;flex-direction:column;gap:2px;width:100%;min-width:0;padding:8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.chat-picker-item:hover{background:var(--bg-surface-2);border-color:var(--border)}.chat-picker-item-head{display:flex;align-items:baseline;gap:8px;min-width:0}.chat-picker-item-title{flex-shrink:0;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.chat-picker-item-meta,.chat-picker-item-preview{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text-muted)}.chat-picker-item-meta{flex:1 1}.msg-created{margin-top:8px}.msg-created-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.msg-created-btn{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;padding:4px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-surface-2);color:var(--text-primary);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s}.msg-created-btn:hover{background:var(--bg-surface-3)}.msg-created-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-weight:400}.msg-created-more{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;padding:4px 8px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;transition:background .15s}.msg-created-more:hover{background:var(--bg-surface-3)}.msg-created-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:6px;overflow:hidden}.msg-created-item{display:flex;align-items:center;gap:6px;width:100%;min-width:0;padding:4px 8px;border:none;background:transparent;color:var(--text-primary);font-size:12px;text-align:left;cursor:pointer}.msg-created-item:hover{background:var(--bg-surface-3)}.msg-created-item-name{flex-shrink:0;max-width:45%}.msg-created-item-name,.msg-created-item-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-created-item-path{flex:1 1;min-width:0;font-family:monospace;font-size:11px;color:var(--text-muted)}.msg-turn-actions{display:flex;align-items:center;gap:12px;margin-top:6px;flex-wrap:wrap}.write-policy-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}.write-policy-row{display:flex;align-items:center;gap:8px;padding:4px 8px;border:1px solid var(--border-subtle,var(--border,#e5e7eb));border-radius:6px;font-size:12px}.write-policy-tool{font-family:monospace;font-size:11px;font-weight:600}.write-policy-scope{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:monospace;font-size:11px;color:var(--text-muted)}.write-policy-delete{display:inline-flex;align-items:center;padding:2px 4px;border:none;background:transparent;cursor:pointer;color:var(--text-muted);border-radius:4px}.write-policy-delete:hover{color:var(--danger,#dc2626);background:rgba(220,38,38,.08)}.write-policy-reset{padding:2px 10px;font-size:11px;border:1px solid var(--border,#e5e7eb);border-radius:4px;background:transparent;cursor:pointer;color:var(--text-muted)}.write-policy-reset:hover{color:var(--danger,#dc2626);border-color:rgba(220,38,38,.3)}.audit-decision-badge{font-size:10px;padding:1px 6px;border-radius:10px;background:var(--bg-surface-2,rgba(0,0,0,.05));color:var(--text-muted);margin-left:4px}.audit-decision-badge--policy{background:rgba(99,102,241,.12);color:var(--accent,#6366f1)}.turn-diff{margin-top:8px;border:1px solid var(--border-subtle,var(--border,#e5e7eb));border-radius:8px;overflow:hidden;font-size:12px}.turn-diff-header{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 8px 4px 4px}.turn-diff-toggle{display:inline-flex;align-items:center;gap:4px;flex:1 1;min-width:0;padding:2px 4px;border:none;background:transparent;cursor:pointer;color:var(--text-muted);font-size:12px}.turn-diff-toggle:hover{color:var(--text-base)}.turn-diff-chevron{width:12px;height:12px;flex-shrink:0}.turn-diff-title{font-weight:500}.turn-diff-counts{display:inline-flex;align-items:center;gap:6px;font-family:monospace;font-size:11px}.turn-diff-db-n,.turn-diff-files-n{color:var(--text-muted);display:inline-flex;align-items:center;gap:3px}.turn-diff-db-dot{width:6px;height:6px;border-radius:50%;background:var(--accent,#6366f1);display:inline-block}.turn-diff-added{color:var(--success,#16a34a)}.turn-diff-removed{color:var(--danger,#dc2626)}.turn-diff-updated{color:var(--warning,#d97706)}.turn-diff-badge{font-size:10px;padding:0 6px;border-radius:10px;background:var(--bg-surface-2,rgba(0,0,0,.05));color:var(--text-muted);flex-shrink:0}.turn-diff-list{border-top:1px solid var(--border-subtle,var(--border,#e5e7eb));display:flex;flex-direction:column}.turn-diff-file-head{display:flex;align-items:center;gap:6px;width:100%;min-width:0;padding:4px 8px;border:none;background:transparent;cursor:pointer;color:var(--text-base);font-size:12px;text-align:left}.turn-diff-file-head:disabled{cursor:default}.turn-diff-file-head:hover:not(:disabled){background:var(--bg-hover,rgba(0,0,0,.04))}.turn-diff-file-icon{width:12px;height:12px;flex-shrink:0;color:var(--text-muted)}.turn-diff-file-path{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:monospace;font-size:11px}.turn-diff-body-pre{margin:0;padding:6px 8px;max-height:260px;overflow:auto;background:var(--bg-surface-1,rgba(0,0,0,.03));font-family:monospace;font-size:11px;line-height:1.5;white-space:pre}.turn-diff-line{display:block}.turn-diff-line--add{color:var(--success,#16a34a);background:rgba(22,163,74,.08)}.turn-diff-line--del{color:var(--danger,#dc2626);background:rgba(220,38,38,.08)}.turn-diff-line--hunk{color:var(--text-muted);opacity:.8}.turn-diff-db-row{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:12px}.turn-diff-db-collection{font-family:monospace;font-size:11px}.msg-turn-badge{font-size:10px;padding:1px 6px;border-radius:10px;font-weight:500}.msg-turn-badge--failed{background:rgba(220,38,38,.12);color:var(--danger,#dc2626)}.msg-turn-badge--cancelled{background:rgba(100,116,139,.12);color:var(--text-muted)}.msg-copy-btn,.msg-regen-btn,.msg-undo-btn{display:inline-flex;align-items:center;gap:5px;padding:2px;font-size:12px;border:none;border-radius:4px;background:transparent;cursor:pointer;color:var(--text-base);transition:opacity .1s}.msg-copy-btn:hover:not(:disabled),.msg-regen-btn:hover:not(:disabled),.msg-undo-btn:hover:not(:disabled){opacity:.6}.msg-copy-btn:disabled,.msg-regen-btn:disabled,.msg-undo-btn:disabled{opacity:.4;cursor:not-allowed}.msg--error{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border-radius:8px;background:rgba(220,38,38,.07);border:1px solid rgba(220,38,38,.18);margin:2px 0}.msg-error-icon{flex-shrink:0;color:var(--danger,#dc2626);margin-top:1px}.msg-error-body{flex:1 1;min-width:0}.msg-error-text{font-size:13px;line-height:1.5;color:var(--text-base);margin:0 0 6px}.msg-error-action{display:inline-flex;align-items:center;padding:3px 10px;border-radius:5px;border:1px solid rgba(220,38,38,.3);background:rgba(220,38,38,.08);color:var(--danger,#dc2626);font-size:11px;font-weight:500;cursor:pointer;transition:background .15s}.msg-error-action:hover{background:rgba(220,38,38,.14)}.msg--info{display:flex;align-items:flex-start;gap:8px;padding:7px 12px;border-radius:8px;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.15);margin:2px 0}.msg-info-icon{flex-shrink:0;color:#3b82f6;margin-top:1px}.msg-info-text{font-size:13px;line-height:1.5;color:var(--text-base);margin:0}.msg-usage{display:flex;align-items:center;gap:6px;margin-top:4px;opacity:.7}.msg-usage,.msg-usage-served,.msg-usage-voice{font-size:10px;color:var(--text-muted)}.msg-usage-served{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-context-chip{display:flex;align-items:center;gap:4px;padding:3px 8px;margin-bottom:8px;font-size:11px;color:var(--text-muted);overflow:hidden}.chat-context-chip-label{flex-shrink:0}.chat-context-chip-name{font-weight:500;color:var(--text-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.chat-export-wrap{position:relative}.chat-export-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--bg-panel,#fff);border:1px solid var(--border,rgba(0,0,0,.1));border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.12);z-index:200;min-width:150px;overflow:hidden}.dark .chat-export-menu{background:var(--bg-panel,#1e1e2e)}.chat-export-item{display:block;width:100%;padding:8px 12px;text-align:left;font-size:12px;color:var(--text-base);background:transparent;border:none;cursor:pointer;transition:background .1s}.chat-export-item:hover{background:var(--bg-hover,rgba(0,0,0,.05))}.editor-block-wrapper{position:relative;display:block}.editor-block-wrapper:before{content:"";position:absolute;left:-60px;top:0;width:60px;height:100%;pointer-events:auto}.editor-block-wrapper--selected>:not(.block-handle):not(.block-collapse-toggle):not(.block-menu){outline:2px solid var(--accent-muted);outline-offset:2px;border-radius:var(--radius-xs)}.block-handle{position:absolute;left:-44px;top:4px;display:none;align-items:center;gap:0;z-index:10;-webkit-user-select:none;-moz-user-select:none;user-select:none}.block-handle:after{content:"";position:absolute;left:100%;top:0;width:52px;height:100%}.editor-block-wrapper:focus-within>.block-handle,.editor-block-wrapper:hover>.block-handle{display:flex}.block-handle-btn{width:20px;height:26px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s}.block-handle-btn:hover{background:var(--bg-surface-3);color:var(--text-primary)}.block-handle-drag-btn{cursor:-webkit-grab;cursor:grab;font-size:13px;letter-spacing:-2px}.editor-block-wrapper[data-block-type=h1]>.block-handle{top:calc(.25rem + (2rem * 1.2 - 26px) / 2)}.editor-block-wrapper[data-block-type=h2]>.block-handle{top:calc(.25rem + (1.5rem * 1.25 - 26px) / 2)}.editor-block-wrapper[data-block-type=h3]>.block-handle{top:calc(.25rem + (1.25rem * 1.3 - 26px) / 2)}.editor-block-wrapper[data-block-type=h4]>.block-handle{top:calc(.25rem + (1.05rem * 1.35 - 26px) / 2)}.editor-block-wrapper[data-block-type=h5]>.block-handle{top:calc(.25rem + (.95rem * 1.4 - 26px) / 2)}.editor-block-wrapper[data-block-type=h6]>.block-handle{top:calc(.25rem + (.85rem * 1.4 - 26px) / 2)}.block-handle-drag-btn:active{cursor:-webkit-grabbing;cursor:grabbing}.block-collapse-toggle{position:absolute;left:-22px;top:50%;transform:translateY(-50%) rotate(0deg);width:18px;height:18px;padding:0;border:none;background:transparent;color:var(--text-muted);font-size:10px;cursor:pointer;display:none;align-items:center;justify-content:center;border-radius:var(--radius-xs);transition:color .1s,transform .15s;line-height:1}.editor-block-wrapper:hover>.block-collapse-toggle{display:flex}.block-collapse-toggle:not(.block-collapse-toggle--collapsed){transform:translateY(-50%) rotate(90deg)}.block-collapse-toggle:hover{color:var(--text-primary);background:var(--bg-surface-3)}.drop-indicator{height:2px;background:var(--accent);border-radius:var(--radius-full);margin:2px 0;pointer-events:none;position:relative}.drop-indicator:before{content:"";position:absolute;left:-3px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--accent)}@keyframes block-highlight-in{0%{background:var(--accent-muted)}to{background:transparent}}.block--highlighted{animation:block-highlight-in 2s ease forwards;border-radius:var(--radius-sm)}.block-menu{position:fixed;z-index:100;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:4px;min-width:210px;animation:panel-in .1s ease;max-height:min(70dvh,480px);overflow-y:auto}[data-theme=dark] .block-menu{background:var(--bg-surface-2)}.block-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-family:inherit;color:var(--text-primary);text-align:left;transition:background .1s}.block-menu-item:hover{background:var(--bg-surface-2)}[data-theme=dark] .block-menu-item:hover{background:var(--bg-surface-3)}.block-menu-item--active{background:var(--accent-subtle);color:var(--accent)}.block-menu-item--danger{color:var(--danger)}.block-menu-item--danger:hover{background:var(--danger-subtle)}.block-menu-item__icon{width:18px;text-align:center;flex-shrink:0;font-size:13px;color:var(--text-secondary)}.block-menu-item--active .block-menu-item__icon,.block-menu-item--danger .block-menu-item__icon{color:inherit}.block-menu-item__arrow{margin-left:auto;color:var(--text-muted);font-size:12px}.block-menu-sub{background:var(--bg-surface-2);border-radius:var(--radius-sm);margin:2px 4px;padding:2px 0}[data-theme=dark] .block-menu-sub{background:var(--bg-surface-3)}.block-menu-divider{height:1px;background:var(--border);margin:4px 0}.block-menu-colors{padding:6px 8px}.block-menu-colors__label{font-size:11px;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}.block-menu-colors__row{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.block-menu-color-swatch{width:20px;height:20px;border-radius:50%;border:1px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-muted);transition:transform .1s,box-shadow .1s;padding:0;background:var(--bg-surface-3)}.block-menu-color-swatch:hover{transform:scale(1.18);box-shadow:0 0 0 2px var(--accent)}.paste-toast{position:fixed;bottom:calc(24px + var(--cookie-banner-h, 0px));left:50%;transform:translateX(-50%);z-index:200;display:flex;align-items:center;gap:10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:8px 14px;font-size:13px;max-width:420px}[data-theme=dark] .paste-toast{background:var(--bg-surface-2)}.paste-toast__msg{flex:1 1;color:var(--text-primary)}.paste-toast__btn{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 8px;font-size:12px;font-family:inherit;color:var(--accent);cursor:pointer;white-space:nowrap;transition:background .1s}.paste-toast__btn:hover{background:var(--accent-subtle)}.paste-toast__close{background:transparent;border:none;font-size:16px;color:var(--text-muted);cursor:pointer;padding:0 2px;line-height:1}.paste-toast__close:hover{color:var(--text-primary)}.save-toast--success{border-color:var(--accent)}.save-toast--error{border-color:#d14343;background:#fdecec;color:#6a1a1a}.save-toast--error .paste-toast__msg{color:#6a1a1a}.save-toast--error .paste-toast__btn{border-color:#d14343;color:#b32222}.save-toast--error .paste-toast__btn:hover{background:rgba(209,67,67,.12)}[data-theme=dark] .save-toast--error{background:#3a1a1a;color:#ffb3b3;border-color:#b03a3a}[data-theme=dark] .save-toast--error .paste-toast__msg{color:#ffb3b3}[data-theme=dark] .save-toast--error .paste-toast__btn{color:#ffb3b3;border-color:#b03a3a}.update-progress{position:fixed;right:24px;bottom:calc(24px + var(--cookie-banner-h, 0px));z-index:200;display:flex;flex-direction:column;gap:6px;width:280px;max-width:calc(100vw - 48px);padding:10px 14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:13px;animation:panel-in .15s ease}.update-progress__head{display:flex;align-items:baseline;gap:8px}.update-progress__title{flex:1 1;min-width:0;color:var(--text-primary);font-weight:500}.update-progress__pct{color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.update-progress__close{background:transparent;border:none;font-size:16px;line-height:1;padding:0 2px;color:var(--text-muted);cursor:pointer;flex-shrink:0}.update-progress__close:hover{color:var(--text-primary)}.update-progress__track{position:relative;overflow:hidden;height:4px;border-radius:var(--radius-full);background:var(--bg-surface-3)}.update-progress__fill{height:100%;width:0;border-radius:inherit;background:var(--accent);transition:width .2s linear}.update-progress__track--indeterminate .update-progress__fill{width:40%;transition:none;animation:update-progress-slide 1.1s ease-in-out infinite}@keyframes update-progress-slide{0%{transform:translateX(-100%)}to{transform:translateX(250%)}}@media (prefers-reduced-motion:reduce){.update-progress__track--indeterminate .update-progress__fill{animation:none!important;width:100%!important;opacity:.45}}.update-progress__caption{color:var(--text-muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.update-progress--error{border-color:#d14343}.update-progress--error .update-progress__caption{color:#b32222;word-break:break-word}[data-theme=dark] .update-progress--error{border-color:#b03a3a}[data-theme=dark] .update-progress--error .update-progress__caption{color:#ffb3b3}.link-card{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;max-width:480px;margin:4px 0}.link-card a{display:flex;align-items:center;gap:8px;padding:8px 12px;text-decoration:none;color:var(--text-primary);background:var(--bg-surface-2);transition:background .1s}.link-card a:hover{background:var(--bg-surface-3)}.link-card__favicon img{display:block}.link-card__url{font-size:13px;font-weight:500;color:var(--text-primary)}.link-card__full{font-size:11px;color:var(--text-muted);word-break:break-all}.editor-conflict-banner{display:flex;align-items:center;gap:12px;background:var(--warning-subtle);border:1px solid var(--warning);border-radius:var(--radius-md);padding:8px 14px;margin-bottom:16px;font-size:13px}.editor-conflict-banner__label{flex:1 1;color:var(--text-primary)}.editor-conflict-banner__actions{display:flex;gap:6px}.editor-conflict-banner__btn{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 10px;font-size:12px;font-family:inherit;cursor:pointer;transition:background .1s}.editor-conflict-banner__btn:hover{background:var(--bg-surface-2)}.slash-menu-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:6px 10px 2px}.slash-menu-empty{font-size:13px;color:var(--text-muted);padding:8px 12px}.slash-menu-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;text-align:center;font-size:13px;margin-right:6px;color:var(--text-secondary)}.slash-menu-item--highlighted{background:var(--accent-subtle);color:var(--accent)}[data-editor-block-id][data-dragsource=external]{outline:2px dashed var(--accent);outline-offset:4px;border-radius:4px}.tag-autocomplete{min-width:220px;max-width:320px}.tag-autocomplete button{display:flex;align-items:center;gap:4px}.tag-autocomplete-name{flex:1 1;overflow:hidden;text-overflow:ellipsis}.tag-autocomplete-count{font-size:11px;color:var(--text-muted);background:var(--accent-subtle);padding:1px 6px;border-radius:8px;margin-left:auto}.block-columns{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:.5rem 0}.block-columns[data-col-count="3"]{grid-template-columns:1fr 1fr 1fr}.block-columns__col{border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;min-height:48px;outline:none;font-size:15px;line-height:1.6;color:var(--text-primary);background:transparent;transition:border-color .15s}.block-columns__col:focus{border-color:var(--border-focus)}.block-columns__col:empty:before{content:attr(data-placeholder);color:var(--text-placeholder);pointer-events:none}.block-comment-badge{position:absolute;right:-8px;top:4px;background:var(--accent-subtle);border:1px solid var(--accent-muted);border-radius:var(--radius-full);padding:1px 7px;font-size:11px;color:var(--accent);cursor:pointer;white-space:nowrap;transition:background .1s;z-index:5}.block-comment-badge:hover{background:var(--accent-muted)}.block-menu-item__badge{margin-left:auto;background:var(--accent-subtle);border-radius:var(--radius-full);padding:0 6px;font-size:11px;color:var(--accent)}.comment-thread{position:fixed;z-index:100;width:280px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:0;overflow:hidden;animation:panel-in .12s ease}[data-theme=dark] .comment-thread{background:var(--bg-surface-2)}.comment-thread__header{display:flex;align-items:center;padding:10px 14px 8px;border-bottom:1px solid var(--border);gap:8px}.comment-thread__title{flex:1 1;font-size:13px;font-weight:600;color:var(--text-primary)}.comment-thread__close{background:transparent;border:none;font-size:16px;color:var(--text-muted);cursor:pointer;padding:0;line-height:1}.comment-thread__close:hover{color:var(--text-primary)}.comment-thread__empty{font-size:12px;color:var(--text-muted);padding:10px 14px;text-align:center}.comment-thread__list{list-style:none;padding:6px 0;max-height:220px;overflow-y:auto}.comment-thread__resolved summary{font-size:11px;color:var(--text-muted);cursor:pointer;padding:6px 14px}.comment-item{padding:6px 14px;border-bottom:1px solid var(--border)}.comment-item:last-child{border-bottom:none}.comment-item--resolved .comment-item__text{color:var(--text-muted);text-decoration:line-through}.comment-item__meta{display:flex;align-items:center;gap:6px;margin-bottom:3px}.comment-item__author{font-size:12px;font-weight:600;color:var(--text-primary);flex:1 1}.comment-item__time{font-size:11px;color:var(--text-muted)}.comment-item__resolve{background:transparent;border:none;font-size:13px;cursor:pointer;color:var(--text-muted);padding:0;transition:color .1s}.comment-item__resolve:hover{color:var(--accent)}.comment-item__delete{background:transparent;border:none;font-size:12px;cursor:pointer;color:var(--text-muted);padding:0;transition:color .1s}.comment-item__delete:hover{color:var(--danger,#e5484d)}.comment-item__text{font-size:13px;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap}.comment-thread__compose{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-top:1px solid var(--border)}.comment-thread__input{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;font-family:inherit;font-size:12px;color:var(--text-primary);background:var(--bg-surface-2);resize:none;outline:none;transition:border-color .15s}.comment-thread__input:focus{border-color:var(--border-focus)}[data-theme=dark] .comment-thread__input{background:var(--bg-surface-3)}.comment-thread__submit{align-self:flex-end;background:var(--accent);border:none;border-radius:var(--radius-sm);padding:4px 12px;font-size:12px;font-family:inherit;color:var(--text-on-accent);cursor:pointer;transition:background .1s}.comment-thread__submit:disabled{opacity:.5;cursor:default}.comment-thread__submit:not(:disabled):hover{background:var(--accent-hover)}.ask-ai-overlay{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;animation:fade-in .12s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.ask-ai-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevated);width:480px;max-width:95vw;display:flex;flex-direction:column;gap:0;overflow:hidden;animation:panel-in .14s ease}[data-theme=dark] .ask-ai-modal{background:var(--bg-surface-2)}.ask-ai-modal__header{display:flex;align-items:center;gap:8px;padding:14px 16px 10px;border-bottom:1px solid var(--border)}.ask-ai-modal__title{flex:1 1;font-size:14px;font-weight:600;color:var(--accent)}.ask-ai-modal__type{font-size:11px;font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-surface-3);border-radius:var(--radius-xs);padding:1px 6px}.ask-ai-modal__close{background:transparent;border:none;font-size:18px;color:var(--text-muted);cursor:pointer;padding:0;line-height:1}.ask-ai-modal__close:hover{color:var(--text-primary)}.ask-ai-modal__preview{padding:10px 16px;background:var(--bg-surface-2);border-bottom:1px solid var(--border)}[data-theme=dark] .ask-ai-modal__preview{background:var(--bg-surface-3)}.ask-ai-modal__preview-text{font-size:12px;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap;max-height:80px;overflow:hidden}.ask-ai-modal__suggestions{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px 6px}.ask-ai-modal__chip{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-full);padding:3px 10px;font-size:12px;font-family:inherit;color:var(--text-secondary);cursor:pointer;transition:background .1s,color .1s}.ask-ai-modal__chip:hover{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent-muted)}[data-theme=dark] .ask-ai-modal__chip{background:var(--bg-surface-3)}.ask-ai-modal__input{margin:6px 16px;width:calc(100% - 32px);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;font-family:inherit;font-size:13px;color:var(--text-primary);background:var(--bg-surface);resize:none;outline:none;transition:border-color .15s}.ask-ai-modal__input:focus{border-color:var(--border-focus)}[data-theme=dark] .ask-ai-modal__input{background:var(--bg-surface-3)}.ask-ai-modal__error{font-size:12px;color:var(--danger);padding:0 16px 6px}.ask-ai-modal__actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px 14px;border-top:1px solid var(--border)}.ask-ai-modal__cancel{background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);padding:6px 14px;font-size:13px;font-family:inherit;cursor:pointer;color:var(--text-secondary);transition:background .1s}.ask-ai-modal__cancel:hover{background:var(--bg-surface-2)}.ask-ai-modal__submit{background:var(--gradient-accent);border:none;border-radius:var(--radius-md);padding:6px 16px;font-size:13px;font-family:inherit;color:var(--text-on-accent);cursor:pointer;font-weight:500;transition:opacity .1s}.ask-ai-modal__submit:disabled{opacity:.5;cursor:default}.ask-ai-modal__submit:not(:disabled):hover{opacity:.88}.ask-ai-modal__spinner{display:inline-block;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.editor-size-warning{display:flex;align-items:center;gap:12px;background:var(--warning-subtle);border:1px solid var(--warning);border-radius:var(--radius-md);padding:7px 14px;margin-bottom:12px;font-size:13px;color:var(--text-primary)}.editor-size-warning__dismiss{margin-left:auto;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 8px;font-size:12px;font-family:inherit;cursor:pointer;color:var(--text-secondary);transition:background .1s;white-space:nowrap}.editor-size-warning__dismiss:hover{background:var(--bg-surface-2)}.bulk-tags-overlay,.folder-picker-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:9999}.bulk-tags-modal,.folder-picker-modal{background:var(--bg-surface,#fff);border:1px solid var(--border);border-radius:10px;min-width:360px;max-width:480px;box-shadow:0 12px 40px rgba(0,0,0,.18);display:flex;flex-direction:column;max-height:80dvh}.bulk-tags-header,.folder-picker-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.bulk-tags-title,.folder-picker-title{font-size:14px;font-weight:600;color:var(--text-primary)}.bulk-tags-close,.folder-picker-close{background:none;border:none;cursor:pointer;padding:2px;color:var(--text-muted);display:inline-flex;align-items:center}.bulk-tags-close:hover,.folder-picker-close:hover{color:var(--text-primary)}.folder-picker-hint{padding:8px 16px;font-size:12px;color:var(--text-muted);border-bottom:1px solid var(--border)}.folder-picker-tree{overflow-y:auto;padding:6px 0;min-height:200px;max-height:50dvh}.folder-picker-row{display:flex;align-items:center;gap:4px;padding:4px 8px;cursor:pointer;font-size:13px;color:var(--text-secondary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.folder-picker-row:hover{background:var(--bg-overlay);color:var(--text-primary)}.folder-picker-row--selected{background:var(--accent-subtle);color:var(--accent)}.folder-picker-chevron{background:none;border:none;cursor:pointer;padding:0;color:var(--text-muted);display:inline-flex;align-items:center}.folder-picker-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bulk-tags-footer,.folder-picker-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--border)}.bulk-tags-apply,.bulk-tags-cancel,.folder-picker-cancel,.folder-picker-confirm{padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;font-family:inherit;border:1px solid var(--border);background:transparent;color:var(--text-secondary)}.bulk-tags-apply,.folder-picker-confirm{border-color:transparent;background:var(--accent);color:#fff;font-weight:500}.bulk-tags-apply:disabled,.folder-picker-confirm:disabled{opacity:.4;cursor:not-allowed}.bulk-tags-section{padding:12px 16px;border-bottom:1px solid var(--border)}.bulk-tags-section:last-of-type{border-bottom:none}.bulk-tags-section-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.bulk-tags-input-row{display:flex;gap:6px;margin-bottom:8px}.bulk-tags-input{flex:1 1;font-size:13px;color:var(--text-primary)}.bulk-tags-add-btn,.bulk-tags-input{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);font-family:inherit}.bulk-tags-add-btn{font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary)}.bulk-tags-add-btn:disabled{opacity:.4;cursor:not-allowed}.bulk-tags-chips{display:flex;flex-wrap:wrap;gap:6px}.bulk-tags-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:12px;border:1px solid var(--border);border-radius:var(--radius-full,9999px);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;font-family:inherit}.bulk-tags-chip--add{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.bulk-tags-chip--remove{border-color:var(--danger,#ef4444);color:var(--danger,#ef4444);text-decoration:line-through}.find-in-document{position:absolute;top:12px;right:16px;z-index:50;display:flex;align-items:stretch;gap:6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md,8px);box-shadow:var(--shadow-lg);padding:6px 8px;font-size:12px}.find-in-document-mode{display:flex;align-items:center;justify-content:center;width:22px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px}.find-in-document-mode:hover{background:var(--bg-surface-2);color:var(--text-primary)}.find-in-document-fields{display:flex;flex-direction:column;gap:4px;min-width:360px}.find-in-document-row{display:flex;align-items:center;gap:4px}.find-in-document-input{flex:1 1;min-width:0;border:1px solid var(--border);background:var(--bg-surface-2);color:var(--text-primary);border-radius:4px;padding:4px 8px;font-size:12px;outline:none}.find-in-document-input:focus{border-color:var(--accent)}.find-in-document-status{font-size:11px;color:var(--text-muted);min-width:56px;text-align:center;white-space:nowrap}.find-in-document-close,.find-in-document-nav,.find-in-document-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-muted);cursor:pointer}.find-in-document-close:hover,.find-in-document-nav:hover,.find-in-document-toggle:hover{background:var(--bg-surface-2);color:var(--text-primary)}.find-in-document-toggle.active{background:var(--accent-subtle);border-color:var(--accent-muted);color:var(--accent)}.find-in-document-nav:disabled{opacity:.35;cursor:not-allowed}.find-in-document-action{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:4px;padding:3px 8px;font-size:12px;color:var(--text-primary);cursor:pointer}.find-in-document-action:hover{background:var(--accent-subtle);border-color:var(--accent-muted);color:var(--accent)}.find-in-document-action:disabled{opacity:.4;cursor:not-allowed}.editor-history-btn{width:22px;height:22px;pointer-events:auto}.editor-history-btn:disabled{opacity:.35;cursor:not-allowed}.editor-url-bar{pointer-events:auto}[data-focus-mode=true] .editor-area{background:var(--bg-app)}.focus-mode-exit{position:absolute;top:12px;right:16px;z-index:40;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:500;background:var(--bg-surface);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-full,999px);box-shadow:var(--shadow-sm);cursor:pointer;opacity:.65;transition:opacity .15s ease,color .15s ease}.focus-mode-exit:hover{opacity:1;color:var(--text-primary)}.pinned-section{margin-bottom:6px;border-bottom:1px solid var(--border);padding-bottom:4px}.pinned-section-header{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pinned-list{padding:0 0 2px}.tag-filter-anchor{position:relative}.tag-filter-badge{margin-left:4px;font-size:9.5px;font-weight:600;background:var(--accent);color:var(--accent-contrast,#fff);border-radius:999px;padding:0 4px;min-width:12px;height:12px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.tag-filter-popover{position:absolute;top:calc(100% + 4px);right:0;width:240px;z-index:100;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 24px rgba(0,0,0,.14);padding:8px;display:flex;flex-direction:column;gap:6px}.tag-filter-popover-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.tag-filter-popover-title{font-size:12px;font-weight:600;color:var(--text-primary)}.tag-filter-mode-row{display:flex;align-items:center;gap:4px}.tag-filter-mode-btn{flex:0 0 auto;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:11.5px;padding:3px 8px;border-radius:var(--radius-xs);cursor:pointer;font-family:inherit;transition:background .12s,color .12s,border-color .12s}.tag-filter-mode-btn.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.tag-filter-reset-btn{margin-left:auto;display:inline-flex;align-items:center;gap:3px;border:none;background:none;color:var(--text-muted);font-size:11.5px;padding:3px 6px;border-radius:var(--radius-xs);cursor:pointer;font-family:inherit}.tag-filter-reset-btn:hover:not(:disabled){color:var(--text-primary);background:var(--bg-overlay)}.tag-filter-reset-btn:disabled{opacity:.45;cursor:default}.tag-filter-search{width:100%;height:26px;border:1px solid var(--border);background:var(--bg-surface);border-radius:var(--radius-xs);font-size:12px;color:var(--text-primary);font-family:inherit;padding:0 8px;outline:none;box-sizing:border-box}.tag-filter-search:focus{border-color:var(--accent)}.tag-filter-list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.tag-filter-item{display:flex;align-items:center;gap:6px;border:none;background:none;text-align:left;font-family:inherit;font-size:12.5px;color:var(--text-secondary);padding:4px 6px;border-radius:var(--radius-xs);cursor:pointer;transition:background .1s}.tag-filter-item:hover{background:var(--bg-overlay)}.tag-filter-item.checked,.tag-filter-item:hover{color:var(--text-primary)}.tag-filter-item-check{width:13px;height:13px;border:1px solid var(--border);border-radius:3px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent)}.tag-filter-item.checked .tag-filter-item-check{border-color:var(--accent);background:var(--accent-subtle)}.tag-filter-item-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-filter-item-count{font-size:10.5px;color:var(--text-muted);flex-shrink:0}.tag-filter-empty{text-align:center;font-size:12px;color:var(--text-muted);padding:10px 0}.tag-filter-strip{display:flex;align-items:center;gap:6px;padding:4px 8px;margin:0 0 4px;background:var(--accent-subtle);border-radius:var(--radius-xs);font-size:11.5px;color:var(--text-secondary)}.tag-filter-strip-mode{font-weight:600;color:var(--accent);flex-shrink:0}.tag-filter-strip-tags{display:flex;flex-wrap:wrap;gap:3px;flex:1 1;min-width:0}.tag-filter-strip-tag{color:var(--text-primary);white-space:nowrap}.tag-filter-strip-clear{border:none;background:none;color:var(--text-muted);font-size:11.5px;cursor:pointer;font-family:inherit;padding:2px 4px;border-radius:var(--radius-xs);flex-shrink:0}.tag-filter-strip-clear:hover{color:var(--text-primary);background:var(--bg-overlay)}.sidebar-storage{display:flex;flex-direction:column;gap:4px;padding:8px 10px 6px;border:none;background:none;color:inherit;font-family:inherit;text-align:left;border-top:1px solid var(--border);width:100%;box-sizing:border-box;cursor:default}.sidebar-storage--clickable{cursor:pointer;transition:background .12s}.sidebar-storage--clickable:hover{background:var(--bg-overlay)}.sidebar-storage-row{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--text-muted)}.sidebar-storage-value{font-weight:500;color:var(--text-secondary)}.sidebar-storage-bar{height:4px;width:100%;background:var(--bg-overlay);border-radius:2px;overflow:hidden}.sidebar-storage-bar-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .2s ease}.sidebar-storage--warn .sidebar-storage-bar-fill{background:var(--warning,#f59e0b)}.sidebar-storage--high .sidebar-storage-bar-fill{background:var(--danger,#ef4444)}.sidebar-storage--high .sidebar-storage-value{color:var(--danger,#ef4444)}.link-preview{position:fixed;z-index:1100;width:360px;max-height:360px;overflow:hidden;background:var(--bg-elevated,#fff);color:var(--text);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 28px rgba(0,0,0,.18);padding:10px 12px;display:flex;flex-direction:column;gap:6px;animation:linkPreviewIn .12s ease-out;font-size:13px;line-height:1.45}@keyframes linkPreviewIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .link-preview{background:var(--bg-elevated,#1f1f23);box-shadow:0 8px 28px rgba(0,0,0,.4)}.link-preview-header{display:flex;flex-direction:column;gap:2px;padding-bottom:6px;border-bottom:1px solid var(--border)}.link-preview-title{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px}.link-preview-icon{font-size:14px}.link-preview-path{font-size:11px;color:var(--text-muted);font-family:var(--mono-font,ui-monospace,SFMono-Regular,monospace)}.link-preview-tags{display:flex;flex-wrap:wrap;gap:4px}.link-preview-tag{font-size:11px;color:var(--text-muted);background:var(--bg-muted,rgba(0,0,0,.05));padding:1px 6px;border-radius:8px}.link-preview-summary{margin:0;font-size:12px;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.link-preview-body{overflow:hidden;max-height:220px;font-size:12px;position:relative;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}.link-preview-body h1,.link-preview-body h2,.link-preview-body h3{font-size:14px;margin:4px 0}.link-preview-body blockquote,.link-preview-body ol,.link-preview-body p,.link-preview-body ul{margin:4px 0}.link-preview-body *{pointer-events:none}.link-preview-empty,.link-preview-loading{font-size:12px;color:var(--text-muted);padding:8px 0}.link-preview-empty strong{color:var(--text)}.editor-export-wrap{position:relative;display:inline-flex}.editor-export-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:1051;min-width:220px;background:var(--bg-elevated,#fff);border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.15);padding:4px;display:flex;flex-direction:column;gap:2px}[data-theme=dark] .editor-export-menu{background:var(--bg-elevated,#1f1f23);box-shadow:0 6px 18px rgba(0,0,0,.4)}.editor-export-item{text-align:left;background:transparent;border:none;color:var(--text);padding:6px 10px;font-size:12px;border-radius:4px;cursor:pointer}.editor-export-item:focus-visible,.editor-export-item:hover{background:var(--bg-muted,rgba(0,0,0,.06));outline:none}.crash-recovery-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:60;padding:1rem}.crash-recovery-modal{width:min(640px,96vw);max-height:calc(100dvh - 4rem);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-strong,var(--shadow-elevated));display:flex;flex-direction:column;overflow:hidden}.crash-recovery-header{display:flex;align-items:center;gap:8px;padding:.875rem 1rem;border-bottom:1px solid var(--border);color:var(--warning,#d97706)}.crash-recovery-header h2{margin:0;font-size:14px;font-weight:600;flex:1 1;color:var(--text-primary)}.crash-recovery-close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;display:flex;align-items:center;border-radius:var(--radius-xs)}.crash-recovery-close:hover{background:var(--bg-overlay);color:var(--text-primary)}.crash-recovery-body{padding:.875rem 1rem .5rem;overflow:auto;display:flex;flex-direction:column;gap:.75rem}.crash-recovery-body>p{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.55}.crash-recovery-layout{display:grid;grid-template-columns:minmax(180px,240px) 1fr;grid-gap:12px;gap:12px;min-height:220px}.crash-recovery-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;overflow-y:auto;max-height:320px}.crash-recovery-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;background:var(--bg-surface-2)}.crash-recovery-item:hover{background:var(--bg-overlay)}.crash-recovery-item.active{border-color:var(--accent);background:var(--accent-subtle)}.crash-recovery-item input[type=checkbox]{flex-shrink:0;cursor:pointer}.crash-recovery-item-info{display:flex;flex-direction:column;min-width:0;flex:1 1}.crash-recovery-item-path{font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crash-recovery-item-age{font-size:11px;color:var(--text-muted)}.crash-recovery-preview{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface-2);padding:10px 12px;display:flex;flex-direction:column;gap:6px;overflow:hidden;min-width:0}.crash-recovery-preview-header{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.crash-recovery-preview-text{font-size:13px;line-height:1.55;color:var(--text-secondary);white-space:pre-wrap;overflow-y:auto;flex:1 1}.crash-recovery-footer{display:flex;align-items:center;gap:8px;padding:.75rem 1rem;border-top:1px solid var(--border);background:var(--bg-surface-2)}.crash-recovery-spacer{flex:1 1}.crash-recovery-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;font-family:inherit}.crash-recovery-btn:hover:not(:disabled){background:var(--bg-overlay)}.crash-recovery-btn--primary{background:var(--accent);color:white;border-color:var(--accent)}.crash-recovery-btn--primary:hover:not(:disabled){opacity:.9}.crash-recovery-btn--primary:disabled{opacity:.5;cursor:not-allowed}.crash-recovery-btn--ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.crash-recovery-btn--ghost:hover{color:var(--danger,#dc2626);background:var(--bg-overlay)}.import-ai-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:60;padding:1rem}.import-ai-modal{width:min(560px,96vw);max-height:calc(100dvh - 4rem);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-strong,var(--shadow-elevated));display:flex;flex-direction:column;overflow:hidden}.import-ai-header{display:flex;align-items:center;gap:8px;padding:14px 16px 10px}.import-ai-header h2{margin:0;font-size:15px;font-weight:600;flex:1 1}.import-ai-close{display:inline-flex;padding:4px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm)}.import-ai-close:hover{color:var(--text-primary);background:var(--bg-overlay)}.import-ai-body{padding:0 16px 12px;overflow-y:auto}.import-ai-desc{margin:0 0 12px;font-size:13px;color:var(--text-secondary);line-height:1.5}.import-ai-muted{margin:0 0 10px;font-size:13px;color:var(--text-muted)}.import-ai-error{margin:0 0 10px;font-size:13px;color:var(--danger,#dc2626)}.import-ai-status{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:12px;color:var(--text-muted)}.import-ai-status--ok{color:var(--text-primary);font-size:13px}.import-ai-waiting-dot{width:7px;height:7px;margin-left:6px;border-radius:50%;background:var(--accent);animation:import-ai-pulse 1.4s ease-in-out infinite}@keyframes import-ai-pulse{0%,to{opacity:.35}50%{opacity:1}}.import-ai-snippet{margin-bottom:12px}.import-ai-snippet-label{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:4px}.import-ai-snippet pre{margin:0 0 6px;font-size:11px;font-family:var(--font-mono,monospace);background:var(--bg-surface-2,var(--bg-overlay));border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;white-space:pre-wrap;word-break:break-all;line-height:1.6;color:var(--text-primary)}.import-ai-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px 14px;border-top:1px solid var(--border)}.import-ai-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;font-family:inherit}.import-ai-btn:hover:not(:disabled){background:var(--bg-overlay)}.import-ai-btn--primary{background:var(--accent);color:white;border-color:var(--accent)}.import-ai-btn--primary:hover:not(:disabled){opacity:.9;background:var(--accent)}.vault-home{padding:32px 40px 64px;max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:24px;overflow-y:auto}.vault-home-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.vault-home-header-left{display:flex;align-items:center;gap:8px}.vault-home-title{font-size:22px;font-weight:600;margin:0;color:var(--text-primary)}.vault-home-stats{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--text-muted)}.vault-home-stat{display:inline-flex;align-items:center;gap:4px}.vault-home-section{display:flex;flex-direction:column;gap:8px}.vault-home-section-title{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0;background:transparent;border:none;padding:0;cursor:default}.vault-home-section-toggle{cursor:pointer}.vault-home-section-toggle:hover{color:var(--text-primary)}.vault-home-daily{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid var(--border);background:var(--bg-surface);border-radius:8px}.vault-home-daily-content{display:flex;align-items:center;gap:12px}.vault-home-daily-label{font-size:13px;font-weight:600;color:var(--text-primary)}.vault-home-daily-date{font-size:12px;color:var(--text-muted);margin-top:2px}.vault-home-daily-button{background:var(--accent);color:white;border:none;padding:8px 14px;border-radius:6px;font-size:13px;cursor:pointer;font-family:inherit}.vault-home-daily-button:hover{opacity:.9}.vault-home-pinned-row{display:flex;flex-wrap:wrap;gap:6px}.vault-home-recent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.vault-home-file{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;border:1px solid transparent;background:transparent;border-radius:6px;text-align:left;font:inherit;color:var(--text-primary);cursor:pointer}.vault-home-file:hover{background:var(--bg-overlay);border-color:var(--border)}.vault-home-file-icon{font-size:14px;line-height:1}.vault-home-file-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-home-file-meta{font-size:11px;color:var(--text-muted)}.vault-home-empty{color:var(--text-muted);font-size:13px;margin:0}.vault-home-actions{margin-top:8px}.vault-home-cta{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:13px;cursor:pointer}.vault-home-cta:hover{background:var(--bg-overlay);border-color:var(--accent)}.history-overlay-row{display:flex;align-items:stretch;gap:4px}.history-overlay-row .history-overlay-item{flex:1 1}.history-overlay-diff{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:4px;padding:0 8px;cursor:pointer;display:inline-flex;align-items:center}.history-overlay-diff:hover{color:var(--accent);border-color:var(--accent)}.version-diff-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px}.version-diff-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;width:min(1080px,100%);max-height:90dvh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.25)}.version-diff-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.version-diff-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.version-diff-version{font-weight:400;color:var(--text-muted);font-size:12px}.version-diff-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px}.version-diff-close:hover{color:var(--text-primary)}.version-diff-summary{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:12px;color:var(--text-muted);border-bottom:1px solid var(--border)}.version-diff-unchanged-toggle{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font:inherit}.version-diff-unchanged-toggle:hover{color:var(--text-primary)}.version-diff-body{flex:1 1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:12px}.version-diff-empty{text-align:center;color:var(--text-muted);padding:32px 0;margin:0}.version-diff-row{border:1px solid var(--border);border-radius:6px;padding:8px 12px;display:flex;flex-direction:column;gap:8px}.version-diff-row--added{border-left:3px solid #16a34a}.version-diff-row--removed{border-left:3px solid #dc2626}.version-diff-row--changed{border-left:3px solid #ca8a04}.version-diff-row--unchanged{background:var(--bg-overlay);border-style:dashed}.version-diff-row-toggle{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);cursor:pointer}.version-diff-row-kind{font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.version-diff-row-columns{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.version-diff-col{display:flex;flex-direction:column;gap:4px;min-width:0}.version-diff-col-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.version-diff-block{background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;padding:8px;font-size:13px;line-height:1.5;word-break:break-word;overflow-wrap:anywhere}.version-diff-block--placeholder{font-style:italic;color:var(--text-muted);text-align:center}.version-diff-word-add{background:rgba(22,163,74,.15);color:#15803d}.version-diff-word-del{background:rgba(220,38,38,.15);color:#b91c1c;text-decoration:line-through}.version-diff-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.version-diff-cancel,.version-diff-restore-all,.version-diff-restore-selected{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:6px;font:inherit;font-size:13px;cursor:pointer;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary)}.version-diff-cancel:hover,.version-diff-restore-all:hover,.version-diff-restore-selected:hover:not(:disabled){background:var(--bg-overlay)}.version-diff-restore-selected:disabled{opacity:.5;cursor:not-allowed}.version-diff-restore-all{background:var(--accent);color:white;border-color:var(--accent)}.version-diff-restore-all:hover{opacity:.9}.version-diff-loading{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:11000;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:8px 16px;font-size:12px;color:var(--text-muted);box-shadow:0 4px 12px rgba(0,0,0,.15)}.quick-capture-overlay{position:fixed;inset:0;z-index:12000;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center}.quick-capture{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 32px rgba(0,0,0,.22);width:480px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;gap:0;overflow:hidden}.quick-capture-header{padding:12px 16px 8px;font-size:13px;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border);flex-shrink:0}.quick-capture-input{width:100%;box-sizing:border-box;padding:12px 16px;border:none;outline:none;resize:none;background:var(--bg-surface);color:var(--text-primary);font-family:inherit;font-size:14px;line-height:1.6;min-height:120px}.quick-capture-input:disabled{opacity:.6}.quick-capture-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid var(--border);background:var(--bg-surface-2);flex-shrink:0;flex-wrap:wrap}.quick-capture-hint{font-size:11px;color:var(--text-muted);flex-shrink:0}.quick-capture-buttons{display:flex;gap:6px;flex-shrink:0}.quick-capture-btn{height:28px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .1s}.quick-capture-btn:hover:not(:disabled){background:var(--bg-surface-3)}.quick-capture-btn:disabled{opacity:.5;cursor:not-allowed}.quick-capture-btn--primary{background:var(--accent);color:white;border-color:var(--accent)}.quick-capture-btn--primary:hover:not(:disabled){opacity:.88;background:var(--accent)}[data-reading-width=narrow]{--editor-max-width:640px}[data-reading-width=normal]{--editor-max-width:820px}[data-reading-width=wide]{--editor-max-width:1024px}[data-reading-width=full]{--editor-max-width:none}.editor-area--typewriter .editor-card{scroll-padding-block:50dvh}.editor-area--typewriter .editor-canvas{-webkit-padding-after:50dvh;padding-block-end:50dvh}.mermaid-error{padding:12px 14px;border:1px solid rgba(239,68,68,.4);background:rgba(239,68,68,.06);border-radius:8px;color:var(--text-primary);font-size:12.5px}.mermaid-error strong{display:block;margin-bottom:6px;color:#ef4444}.mermaid-error pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:11.5px;color:var(--text-secondary)}.block-calendar-grid{display:flex;flex-direction:column;gap:12px;border-radius:12px;padding:14px;background:var(--bg-surface)}.calgrid-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.calgrid-title{font-size:15px;font-weight:600;color:var(--text-primary);text-transform:capitalize}.calgrid-controls{display:flex;align-items:center;gap:10px}.calgrid-view-toggle{display:flex;gap:2px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:8px;padding:2px}.calgrid-view-btn{background:transparent;border:none;color:var(--text-secondary);font-size:11.5px;font-weight:500;padding:4px 12px;border-radius:6px;cursor:pointer;transition:all .12s ease}.calgrid-view-btn--on,.calgrid-view-btn:hover{color:var(--text-primary)}.calgrid-view-btn--on{background:var(--bg-surface);box-shadow:0 1px 3px rgba(0,0,0,.12)}.calgrid-nav{display:flex;align-items:center;gap:4px}.calgrid-nav button{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);height:26px;min-width:26px;padding:0 8px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;font-size:13px}.calgrid-nav button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.calgrid-today{font-size:11.5px;font-weight:500}.calgrid-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:1px;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}.calgrid-weekday{background:var(--bg-surface-2);text-align:center;font-size:11px;font-weight:600;color:var(--text-muted);padding:6px 0}.calgrid-cell{background:var(--bg-surface);border:none;text-align:left;min-height:84px;padding:4px 6px;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:background .1s ease;font:inherit}.calgrid-grid--week .calgrid-cell{min-height:180px}.calgrid-cell:hover{background:var(--accent-subtle)}.calgrid-cell--muted{background:var(--bg-surface-2)}.calgrid-cell--muted .calgrid-daynum{color:var(--text-muted)}.calgrid-cell--selected{outline:2px solid var(--accent);outline-offset:-2px}.calgrid-daynum{align-self:flex-end;font-size:12px;font-weight:500;color:var(--text-secondary);width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%}.calgrid-daynum--today{background:var(--accent);color:#fff;font-weight:600}.calgrid-cell-events{display:flex;flex-direction:column;gap:2px;overflow:hidden}.calgrid-chip{font-size:10.5px;line-height:1.4;padding:1px 6px;border-radius:4px;background:var(--accent-subtle);color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calgrid-chip--more{background:transparent;color:var(--text-muted)}html.is-mobile .calgrid-grid{align-content:start}html.is-mobile .calgrid-cell{min-height:58px}html.is-mobile .calgrid-grid--week .calgrid-cell{min-height:120px}.calgrid-day-panel{border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:6px}.calgrid-day-panel-head{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;font-weight:600;color:var(--text-primary);text-transform:capitalize}.calgrid-agenda{display:flex;flex-direction:column;gap:6px}.calgrid-agenda-row{display:flex;align-items:center;gap:8px}.calgrid-agenda-date{flex-shrink:0}.calgrid-agenda-title{flex:1 1}.calgrid-agenda-row input{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:12.5px;color:var(--text-primary)}.calgrid-agenda-row input:focus{outline:none;border-color:var(--accent)}.calgrid-del{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;line-height:1;padding:2px 6px;border-radius:5px}.calgrid-del:hover{color:#ef4444;background:rgba(239,68,68,.08)}.calgrid-add{align-self:flex-start;background:transparent;border:1px dashed var(--border);color:var(--text-secondary);font-size:12px;padding:5px 12px;border-radius:7px;cursor:pointer}.calgrid-add:hover{border-color:var(--accent);color:var(--accent)}.calgrid-add--sm{padding:3px 10px;font-size:11.5px}.calgrid-empty{font-size:12px;color:var(--text-muted);padding:6px 0}.block-flashcards{display:flex;flex-direction:column;gap:10px;padding:4px 0}.flashcard-grid{display:flex;flex-wrap:wrap;gap:12px}.flashcard{display:flex;flex-direction:column;width:220px;min-height:132px;perspective:900px}.flashcard-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:6px}.flashcard--flipped .flashcard-label{color:var(--accent)}.flashcard-text{flex:1 1;font-size:14px;line-height:1.4;color:var(--text-primary);outline:none;min-height:44px;border-radius:var(--radius-sm)}.flashcard-text:focus{box-shadow:0 0 0 2px var(--accent-muted)}.flashcard-actions{display:flex;justify-content:flex-end;gap:2px;margin-top:8px}.flashcard-flip,.flashcard-remove{width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s}.flashcard-flip:hover,.flashcard-remove:hover{background:var(--bg-surface-3);color:var(--text-primary)}.flashcard-add{align-self:flex-start;padding:6px 12px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:13px;cursor:pointer;transition:color .1s,border-color .1s}.flashcard-add:hover{color:var(--text-primary);border-color:var(--text-muted)}.block-timeline{display:flex;flex-direction:column;gap:10px;border-radius:12px;padding:12px;background:transparent}.timeline-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:transparent}.timeline-inner{position:relative;min-width:100%}.timeline-months{position:relative;height:22px;border-bottom:1px solid var(--border)}.timeline-month-label{position:absolute;top:4px;font-size:11px;font-weight:600;color:var(--text-secondary);white-space:nowrap;padding-left:4px}.timeline-axis{display:flex;border-bottom:1px solid var(--border)}.timeline-day{flex-shrink:0;text-align:center;font-size:10.5px;color:var(--text-muted);padding:3px 0}.timeline-day--today{color:#fff;background:var(--accent);border-radius:4px;font-weight:600}.timeline-tracks{position:relative;padding:8px 0}.timeline-today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);opacity:.7;z-index:1}.timeline-row{position:relative;height:34px}.timeline-bar{position:absolute;top:5px;height:24px;display:flex;align-items:center;padding:0 10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:7px;font-size:11.5px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 3px rgba(0,0,0,.1);z-index:2}.timeline-empty{font-size:12px;color:var(--text-muted);padding:8px}.timeline-editor{display:flex;flex-direction:column;gap:6px}.timeline-edit-row{display:flex;align-items:center;gap:6px}.timeline-edit-title{flex:1 1}.timeline-edit-row input{background:transparent;border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:12px;color:var(--text-primary)}.timeline-edit-row input:focus{outline:none;border-color:var(--accent)}.timeline-del{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;line-height:1;padding:2px 6px;border-radius:5px}.timeline-del:hover{color:#ef4444;background:rgba(239,68,68,.08)}.timeline-add{align-self:flex-start;display:flex;align-items:center;gap:6px;background:transparent;border:1px dashed var(--border);color:var(--text-secondary);font-size:12px;padding:5px 12px;border-radius:7px;cursor:pointer}.timeline-add:hover{border-color:var(--accent);color:var(--accent)}.block-file{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%}.file-block-icon{color:var(--accent);flex-shrink:0}.file-block-card,.file-block-pick{display:flex;align-items:center;gap:12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;cursor:pointer;font:inherit;color:var(--text-primary);text-align:left;transition:all .12s ease}.file-block-card{flex:1 1;min-width:0}.file-block-card:hover,.file-block-pick:hover{border-color:var(--accent);background:var(--accent-subtle)}.block-file--empty{flex-direction:column;align-items:stretch;gap:6px}.block-file--empty .file-block-pick{width:100%;color:var(--text-secondary)}.file-block-meta{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.file-block-name{font-size:13.5px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-block-sub{font-size:11.5px;color:var(--text-muted);min-width:0;overflow-wrap:anywhere}.file-block-replace{background:transparent;border:1px solid var(--border);border-radius:7px;color:var(--text-secondary);font-size:11.5px;padding:5px 10px;cursor:pointer;flex-shrink:0}.file-block-replace:hover{border-color:var(--accent);color:var(--accent)}.file-block-error{margin:0;font-size:11.5px;color:#ef4444}.file-block-ai-hint{display:flex;flex-direction:column;gap:2px;margin:0;font-size:11.5px;line-height:1.45;color:var(--text-muted)}.file-block-ai-no,.file-block-ai-yes{overflow-wrap:anywhere}.file-block-ai-note{color:var(--text-muted);font-style:italic}[data-theme=dark] .raw-block canvas,[data-theme=dark] .raw-block iframe,[data-theme=dark] .raw-block img,[data-theme=dark] .raw-block picture,[data-theme=dark] .raw-block svg image,[data-theme=dark] .raw-block video,[data-theme=dark] .raw-block>div:not(.raw-block__toolbar){filter:invert(1) hue-rotate(180deg)}html.is-mobile #root{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}html.is-mobile .app-root{height:100%}.mobile-fab-pill{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom) + var(--cookie-banner-h, 0px));z-index:50;display:flex;align-items:center;gap:2px;padding:5px 8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-full);box-shadow:0 4px 18px rgba(0,0,0,.18)}.mobile-fab-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:none;color:var(--text-primary);border-radius:var(--radius-full);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mobile-fab-btn:active{background:var(--bg-overlay)}html:not(.is-mobile) .mobile-fab-pill{bottom:38px}@media (hover:hover){.mobile-fab-btn:hover{background:var(--bg-overlay)}}html:not(.is-mobile) [data-focus-mode=true] .mobile-fab-pill{display:none}html.is-mobile .mobile-island{--island-btn:44px;--island-pad:6px;--island-pad-y:18px;--island-gap:12px;--island-radius:14px;--island-notch-w:15px;--island-notch-radius:10px;--island-hit-w:28px;--island-fillet:16px;--island-notch-fillet:5px;position:fixed;right:0;top:62%;z-index:50;width:calc(var(--island-btn) + var(--island-pad) * 2);pointer-events:none}html.is-mobile .mobile-island--snapping{transition:left .18s ease,top .18s ease}html.is-mobile .mobile-island__panel{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--island-gap);padding:var(--island-pad-y) var(--island-pad);background:#000;color:#fff;box-shadow:0 6px 20px rgba(0,0,0,.3);pointer-events:auto;touch-action:none;transition:transform .2s cubic-bezier(.22,1,.36,1),opacity .16s ease}html.is-mobile .mobile-island[data-side=right] .mobile-island__panel{border-radius:var(--island-radius) 0 0 var(--island-radius)}html.is-mobile .mobile-island[data-side=left] .mobile-island__panel{border-radius:0 var(--island-radius) var(--island-radius) 0}html.is-mobile .mobile-island[data-open=false] .mobile-island__panel{opacity:0;pointer-events:none;transform:translateX(100%)}html.is-mobile .mobile-island[data-open=false][data-side=left] .mobile-island__panel{transform:translateX(-100%)}html.is-mobile .mobile-island--dragging .mobile-island__panel{box-shadow:0 10px 28px rgba(0,0,0,.45)}html.is-mobile .mobile-island__btn{width:var(--island-btn);height:var(--island-btn);display:flex;align-items:center;justify-content:center;padding:0;border:none;background:none;color:inherit;border-radius:var(--radius-full);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:none}html.is-mobile .mobile-island__btn:active{background:rgba(255,255,255,.16)}html.is-mobile .mobile-island__notch{position:absolute;top:0;bottom:0;width:var(--island-hit-w);padding:0;border:none;background:none;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;touch-action:none;transition:opacity .14s ease}html.is-mobile .mobile-island[data-side=right] .mobile-island__notch{right:0}html.is-mobile .mobile-island[data-side=left] .mobile-island__notch{left:0}html.is-mobile .mobile-island[data-open=true] .mobile-island__notch{opacity:0;pointer-events:none}html.is-mobile .mobile-island__notch-bar{position:absolute;top:0;bottom:0;width:var(--island-notch-w);background:#000;transition:width .12s ease}html.is-mobile .mobile-island[data-side=right] .mobile-island__notch-bar{right:0;border-radius:var(--island-notch-radius) 0 0 var(--island-notch-radius)}html.is-mobile .mobile-island[data-side=left] .mobile-island__notch-bar{left:0;border-radius:0 var(--island-notch-radius) var(--island-notch-radius) 0}html.is-mobile .mobile-island__notch:active .mobile-island__notch-bar{width:calc(var(--island-notch-w) + 3px)}html.is-mobile .mobile-island__notch-bar:after,html.is-mobile .mobile-island__notch-bar:before,html.is-mobile .mobile-island__panel:after,html.is-mobile .mobile-island__panel:before{content:"";position:absolute;pointer-events:none}html.is-mobile .mobile-island__panel:after,html.is-mobile .mobile-island__panel:before{width:var(--island-fillet);height:var(--island-fillet)}html.is-mobile .mobile-island__notch-bar:after,html.is-mobile .mobile-island__notch-bar:before{width:var(--island-notch-fillet);height:var(--island-notch-fillet)}html.is-mobile .mobile-island__panel:before{bottom:100%}html.is-mobile .mobile-island__panel:after{top:100%}html.is-mobile .mobile-island__notch-bar:before{bottom:100%}html.is-mobile .mobile-island__notch-bar:after{top:100%}html.is-mobile .mobile-island[data-side=right] .mobile-island__notch-bar:after,html.is-mobile .mobile-island[data-side=right] .mobile-island__notch-bar:before,html.is-mobile .mobile-island[data-side=right] .mobile-island__panel:after,html.is-mobile .mobile-island[data-side=right] .mobile-island__panel:before{right:0}html.is-mobile .mobile-island[data-side=left] .mobile-island__notch-bar:after,html.is-mobile .mobile-island[data-side=left] .mobile-island__notch-bar:before,html.is-mobile .mobile-island[data-side=left] .mobile-island__panel:after,html.is-mobile .mobile-island[data-side=left] .mobile-island__panel:before{left:0}html.is-mobile .mobile-island[data-side=right] .mobile-island__panel:before{background:radial-gradient(circle at 0 0,transparent var(--island-fillet),#000 calc(var(--island-fillet) + .5px))}html.is-mobile .mobile-island[data-side=right] .mobile-island__panel:after{background:radial-gradient(circle at 0 100%,transparent var(--island-fillet),#000 calc(var(--island-fillet) + .5px))}html.is-mobile .mobile-island[data-side=left] .mobile-island__panel:before{background:radial-gradient(circle at 100% 0,transparent var(--island-fillet),#000 calc(var(--island-fillet) + .5px))}html.is-mobile .mobile-island[data-side=left] .mobile-island__panel:after{background:radial-gradient(circle at 100% 100%,transparent var(--island-fillet),#000 calc(var(--island-fillet) + .5px))}html.is-mobile .mobile-island[data-side=right] .mobile-island__notch-bar:before{background:radial-gradient(circle at 0 0,transparent var(--island-notch-fillet),#000 calc(var(--island-notch-fillet) + .5px))}html.is-mobile .mobile-island[data-side=right] .mobile-island__notch-bar:after{background:radial-gradient(circle at 0 100%,transparent var(--island-notch-fillet),#000 calc(var(--island-notch-fillet) + .5px))}html.is-mobile .mobile-island[data-side=left] .mobile-island__notch-bar:before{background:radial-gradient(circle at 100% 0,transparent var(--island-notch-fillet),#000 calc(var(--island-notch-fillet) + .5px))}html.is-mobile .mobile-island[data-side=left] .mobile-island__notch-bar:after{background:radial-gradient(circle at 100% 100%,transparent var(--island-notch-fillet),#000 calc(var(--island-notch-fillet) + .5px))}html.is-mobile .mobile-conflict-fab{position:fixed;left:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;border:1px solid var(--border);background:var(--bg-surface);color:var(--warning);font-size:13px;font-family:inherit;border-radius:var(--radius-full);box-shadow:0 4px 18px rgba(0,0,0,.18);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}html.is-mobile .ask-ai-overlay,html.is-mobile .bulk-tags-overlay,html.is-mobile .chat-drop-overlay,html.is-mobile .cmd-overlay,html.is-mobile .image-lightbox,html.is-mobile .link-dialog-overlay,html.is-mobile .qs-overlay,html.is-mobile .quick-capture-overlay,html.is-mobile .version-diff-overlay{padding-bottom:max(1rem,env(safe-area-inset-bottom));padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}.mobile-format-bar-host{position:fixed;left:0;right:0;bottom:0;z-index:9998;display:flex;flex-direction:column;background:var(--bg-surface);border-top:1px solid var(--border);box-shadow:0 -2px 8px rgba(0,0,0,.08);padding-bottom:max(0px,env(safe-area-inset-bottom,0px) - var(--kb-live,0px))}.mobile-format-bar-host--expanded{padding-bottom:0}.mobile-format-bar{display:flex;justify-content:space-around;align-items:stretch;gap:2px;padding:4px max(6px,env(safe-area-inset-left)) 4px max(6px,env(safe-area-inset-right))}.mobile-format-bar__btn{flex:1 1;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;line-height:1;color:var(--text-primary);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mobile-format-bar__btn:active{opacity:.5}.mobile-format-bar__btn--accent,.mobile-format-bar__btn--active{color:var(--accent)}.mobile-format-bar__btn--danger{color:var(--danger)}.mobile-format-bar__btn:disabled{opacity:.35;pointer-events:none}.mobile-format-bar__sep{flex:0 0 auto;align-self:center;width:1px;height:24px;margin:0 4px;background:var(--border)}.mobile-format-panel{height:max(0px,var(--kb-panel,var(--kb-stored,300px)) - var(--kb-anchor,0px));box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch;border-top:1px solid var(--border)}.mobile-format-panel--closing{pointer-events:none}.mobile-format-panel__inner{padding:10px 8px env(safe-area-inset-bottom,0)}.mobile-format-panel__label{padding:8px 4px 2px;margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.mobile-format-panel__row{display:flex;flex-direction:row;flex-wrap:wrap;gap:4px;padding-bottom:4px}.mobile-format-panel__btn{flex:1 1 auto;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mobile-format-panel__btn:active{opacity:.5}.mobile-format-panel__btn--active{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}html.is-mobile.has-format-bar .mobile-conflict-fab{display:none}html.is-mobile .mobile-offline-chip{position:fixed;left:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);font-size:13px;border-radius:var(--radius-full);box-shadow:0 4px 18px rgba(0,0,0,.18);pointer-events:none}html.is-mobile .mobile-offline-chip--stacked{bottom:calc(62px + env(safe-area-inset-bottom))}html.is-mobile.has-format-bar .mobile-offline-chip{display:none}.kanban-card-move{display:flex;justify-content:flex-end;gap:6px;margin-top:6px}.kanban-card-move-btn{min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;color:var(--text,#1a1a1a);background:var(--hover,rgba(0,0,0,.06));border:1px solid var(--border,rgba(0,0,0,.12));border-radius:6px;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.kanban-card-move-btn:active{background:var(--accent-soft,rgba(59,130,246,.16))}html.is-mobile .sidebar{position:fixed;top:0;bottom:0;left:0;z-index:60;background:var(--bg-surface);--sidebar-bg:var(--bg-surface);backdrop-filter:none;-webkit-backdrop-filter:none;width:90vw;max-width:90vw;height:100%;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);box-shadow:2px 0 16px rgba(0,0,0,.25);transform:translateX(0);transition:transform var(--dur-slow) var(--ease-out)}@media (min-width:768px){html.is-mobile .sidebar{width:50vw;max-width:50vw}}html.is-mobile .sidebar.collapsed{transform:translateX(-100%)}html.is-mobile .sidebar-backdrop{position:fixed;inset:0;z-index:59;background:rgba(0,0,0,.4)}html.is-mobile .sidebar-resize-handle{display:none}html.is-mobile .workspace-header{background:var(--app-chrome-bg,var(--bg-surface))}html.is-mobile .tree-item--folder-header .tree-item-label{font-weight:600}html.is-mobile .sidebar-footer-item:not(.sidebar-footer-item--icon) svg{width:18px!important;height:18px!important}html.is-mobile .sidebar-footer-settings-row{--footer-cell:calc((100% - (var(--footer-icon-count) - 1) * 2px) / var(--footer-icon-count))}html.is-mobile .sidebar-footer-settings-row>.sidebar-footer-item:first-child{padding-left:calc(var(--footer-cell) / 2 - 9px)}html.is-mobile .sidebar-footer-settings-row>.sidebar-footer-theme{width:var(--footer-cell)}html.is-mobile .sidebar-header{padding:0;gap:0}html.is-mobile .sidebar-mobile-bar{display:flex;align-items:center;gap:8px;min-height:48px;padding:6px 10px}html.is-mobile .sidebar-mobile-menu-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;background:none;color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}html.is-mobile .sidebar-mobile-menu-btn.active,html.is-mobile .sidebar-mobile-menu-btn:active{background:var(--bg-overlay)}html.is-mobile .sidebar-mobile-diary{margin-left:auto;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 12px;border:none;background:none;color:var(--text-primary);font-size:15px;font-weight:400;font-family:inherit;border-radius:var(--radius-md);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}html.is-mobile .sidebar-mobile-diary svg{color:var(--text-muted)}html.is-mobile .sidebar-mobile-diary:active{background:var(--bg-overlay)}html.is-mobile .sidebar-mobile-diary.active{color:var(--accent);background:var(--accent-subtle)}html.is-mobile .sidebar-mobile-diary.active svg{color:var(--accent)}html.is-mobile .sidebar-mobile-nav-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1)}html.is-mobile .sidebar-mobile-nav-panel.open{grid-template-rows:1fr}html.is-mobile .sidebar-mobile-nav-panel-inner{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:0 10px;border-bottom:0 solid var(--border);opacity:0;transition:opacity .2s ease,padding .3s cubic-bezier(.4,0,.2,1)}html.is-mobile .sidebar-mobile-nav-panel.open .sidebar-mobile-nav-panel-inner{opacity:1;padding:10px;border-bottom-width:1px}html.is-mobile .sidebar-mobile-nav-panel .sidebar-search input{height:40px}html.is-mobile .sidebar-mobile-nav-panel .sidebar-nav{display:flex;gap:6px;padding:0}html.is-mobile .sidebar-mobile-nav-panel .sidebar-nav-btn{flex:1 1;height:auto;min-height:40px;justify-content:center;font-size:13px}html.is-mobile .workspace-header-toolbar{display:flex;align-items:center;justify-content:flex-end;grid-template-columns:none;overflow:visible}html.is-mobile .mobile-toolbar-trigger,html.is-mobile .titlebar-controls .icon-btn{min-width:46px;min-height:46px}html.is-mobile .mobile-toolbar-trigger svg,html.is-mobile .titlebar-controls .icon-btn svg{width:24px!important;height:24px!important}html.is-mobile .mobile-toolbar-menu{position:relative;display:flex;align-items:center}html.is-mobile .mobile-toolbar-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:70;display:flex;flex-direction:column;gap:10px;min-width:min(78vw,320px);max-width:92vw;padding:12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);-webkit-app-region:no-drag;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}html.is-mobile .mobile-toolbar-panel-name{width:100%}html.is-mobile .mobile-toolbar-panel-name .editor-url-bar{display:flex;position:static;left:auto;transform:none;width:100%;max-width:none;min-width:0;padding:10px 14px;pointer-events:auto}html.is-mobile .mobile-toolbar-panel-name .editor-history-btn,html.is-mobile .mobile-toolbar-panel-name .editor-url-dot{display:none}html.is-mobile .mobile-toolbar-panel-name .breadcrumb{flex:1 1;min-width:0}html.is-mobile .mobile-toolbar-panel-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-evenly;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch}html.is-mobile .mobile-toolbar-panel-actions .editor-tab,html.is-mobile .mobile-toolbar-panel-actions .icon-btn{flex:0 0 auto;min-width:32px;min-height:32px;padding:6px}html.is-mobile .mobile-toolbar-panel-actions .editor-tab svg,html.is-mobile .mobile-toolbar-panel-actions .icon-btn svg{width:16px!important;height:16px!important}html.is-mobile .mobile-toolbar-panel-actions .editor-export-wrap,html.is-mobile .mobile-toolbar-panel-actions .editor-tab-switcher{flex:0 0 auto}html.is-mobile .mobile-toolbar-panel .editor-export-wrap{position:static}html.is-mobile .mobile-toolbar-panel .editor-export-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;width:auto;min-width:0;max-height:55dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:6px}html.is-mobile .editor-export-item{padding:12px 14px;font-size:14px;min-height:44px}html.is-mobile .editor-content-wrap{padding:0}html.is-mobile .editor-card{border-radius:0}html.is-mobile .editor{max-width:none;padding:12px 20px 96px}html.is-mobile .editor .editor-outline-toggle{margin-right:0}html.is-mobile .block-handle{display:none!important}html.is-mobile .block-handle--pinned{display:flex!important;left:auto;right:2px;top:2px;gap:2px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);box-shadow:0 1px 4px rgba(0,0,0,.12);opacity:.9}html.is-mobile .block-handle--pinned:after{content:none}html.is-mobile .block-handle--pinned .block-handle-btn:not(.block-handle-drag-btn){display:none}html.is-mobile .block-handle--pinned .block-handle-drag-btn{width:32px;height:32px;font-size:14px}html.is-mobile .tab-bar{display:none}html.is-mobile .settings-grid{grid-template-columns:1fr}html.is-mobile .settings-modal{width:100vw;max-width:100vw;max-height:100dvh;border-radius:0}html.is-mobile .settings-side-nav-item{width:auto;flex:0 0 auto;white-space:nowrap}html.is-mobile .db-settings-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}html.is-mobile .db-settings-tabs::-webkit-scrollbar{display:none}html.is-mobile .db-settings-tab{flex:0 0 auto;white-space:nowrap}html.is-mobile .command-palette-backdrop,html.is-mobile .settings-modal-backdrop{z-index:1000}html.is-mobile .chat-dialog{position:fixed;top:auto;left:0;right:0;bottom:0;width:100%;max-width:100%;height:auto;max-height:min(60dvh,calc(100dvh - env(safe-area-inset-top, 0px) - 12px));border:none;border-radius:16px 16px 0 0;box-shadow:0 -4px 24px rgba(0,0,0,.25);padding:0 max(0px,env(safe-area-inset-right)) max(0px,env(safe-area-inset-bottom)) max(0px,env(safe-area-inset-left));z-index:200}html.is-mobile .chat-dialog-body{flex-shrink:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}html.is-mobile .chat-welcome{padding:18px 6px 16px}html.is-mobile .chat-dialog:focus-within .chat-welcome{display:none}html.is-mobile .chat-welcome-title{font-size:15px;margin-bottom:10px}html.is-mobile .chat-welcome-hint{font-size:11px}html.is-mobile .chat-welcome-icon{width:14px;height:14px}html.is-mobile .chat-dialog--history{height:100dvh;max-height:100dvh;border-radius:0}html.is-mobile .chat-db-confirm-card{font-size:13px}html.is-mobile .chat-db-confirm-ops{max-height:34dvh;overflow-y:auto;overscroll-behavior:contain}html.is-mobile .chat-db-confirm-actions{flex-wrap:wrap;gap:8px}html.is-mobile .chat-db-confirm-btn{min-height:44px;flex:1 1 40%;min-width:44%;font-size:13px}html.is-mobile .chat-stop-btn{min-height:40px;padding:8px 12px}html.is-mobile .chat-stop-btn-label{display:none}html.is-mobile .chat-send-btn{min-width:40px;min-height:40px}html.is-mobile .chat-textarea{min-height:0;font-size:16px;padding:8px 12px}html.is-mobile .msg-bubble-user,html.is-mobile .msg-text{font-size:16px}html.is-mobile .chat-model-selector-wrap{min-width:0;flex:0 1 auto}html.is-mobile .chat-model-selector{max-width:100%;min-width:0}html.is-mobile .chat-model-selector-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}html.is-mobile .chat-model-picker{max-width:calc(100vw - 24px)}html.is-mobile .chat-model-picker-label{max-width:60vw}html.is-mobile .chat-model-picker-badges{min-width:0;flex-shrink:1;overflow:hidden}html.is-mobile .agent-plan{margin-left:8px}.editor--with-outline{padding-right:264px}.editor-outline{float:right;position:-webkit-sticky;position:sticky;top:16px;width:240px;margin-right:-248px;max-height:calc(100vh - 160px);display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:30;overflow:hidden}.editor-outline__header{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 8px 12px;border-bottom:1px solid var(--border);flex:none}.editor-outline__title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.editor-outline__close{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer}.editor-outline__close:hover{background:var(--bg-surface-2);color:var(--text-primary)}.editor-outline__list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:6px 6px 8px}.editor-outline__item{display:flex;align-items:center;gap:4px;width:100%;padding:4px 8px;background:transparent;border:none;border-radius:6px;text-align:left;font-size:12.5px;line-height:1.35;color:var(--text-muted);cursor:pointer}.editor-outline__item.is-active,.editor-outline__item:hover{background:var(--bg-surface-2);color:var(--text-primary)}.editor-outline__item.is-active{font-weight:500}.editor-outline__item.is-hidden{opacity:.5}.editor-outline__chevron{flex:none;color:var(--text-muted)}.editor-outline__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-outline__empty{padding:12px;font-size:12px;color:var(--text-muted);text-align:center}.editor-outline-toggle{position:absolute;top:12px;right:16px;z-index:20;display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md,8px);color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow-lg)}.editor-outline-toggle:hover{background:var(--bg-surface-2);color:var(--text-primary)}.editor-outline__backdrop{display:none}@media (max-width:900px){.editor--with-outline{padding-right:48px}.editor-outline-toggle{position:-webkit-sticky;position:sticky;float:right;top:8px;right:auto;margin-right:-40px}.editor-outline{position:fixed;float:none;top:auto;left:0;right:0;bottom:var(--cookie-banner-h,0);width:auto;margin:0;max-height:min(60vh,480px);border-radius:12px 12px 0 0;border-bottom:none;z-index:91}.editor-outline__list{padding-bottom:max(8px,env(safe-area-inset-bottom))}.editor-outline__backdrop{display:block;position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.35)}}html.is-mobile .editor-outline-toggle{width:44px;height:44px}html.is-mobile .editor-outline__item{min-height:44px}html.is-mobile .editor-outline__close{width:32px;height:32px}.embed-block{border:1px solid var(--border);border-left:3px solid var(--accent,var(--border));border-radius:var(--radius-md,8px);background:var(--bg-surface-2);margin:6px 0;overflow:hidden}.embed-block__header{display:flex;align-items:center;gap:8px;padding:5px 8px 5px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-muted)}.embed-block__source{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.embed-block__picker{flex:none;max-width:160px;font-size:12px;padding:2px 4px;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);border-radius:4px}.embed-block__open{flex:none;display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer}.embed-block__open:hover{background:var(--bg-surface);color:var(--text-primary)}.embed-block__body{padding:8px 14px}.embed-block__placeholder{padding:8px 4px;font-size:13px;color:var(--text-muted);font-style:italic}.embed-block__nested{font-style:italic}.mentions{width:100%;max-width:var(--editor-max-width,740px);margin:auto auto 8px;padding:0 48px;box-sizing:border-box}.mentions__header{display:flex;align-items:center;gap:6px;width:100%;padding:8px 0;background:transparent;border:none;border-top:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.mentions__header:hover{color:var(--text-primary)}.mentions__chevron{flex:none;transition:transform .12s ease}.mentions__chevron--open{transform:rotate(90deg)}.mentions__body{padding:4px 0 8px}.mentions__status{padding:8px 2px;font-size:13px;color:var(--text-muted);font-style:italic}.mentions__group{margin:8px 0}.mentions__group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.mentions__file{font-size:12.5px;font-weight:600;color:var(--text-secondary,var(--text-primary))}.mentions__link-all{flex:none;background:transparent;border:none;color:var(--accent,var(--text-muted));cursor:pointer;font-size:12px}.mentions__link-all:hover{text-decoration:underline}.mentions__hit{display:flex;align-items:flex-start;gap:8px;padding:4px 0}.mentions__snippet{flex:1 1 auto;text-align:left;background:transparent;border:none;padding:4px 8px;border-radius:6px;color:var(--text-secondary,var(--text-primary));font-size:13px;line-height:1.4;cursor:pointer}.mentions__snippet:hover{background:var(--bg-surface-2)}.mentions__hl{background:var(--accent-soft,rgba(255,213,0,.35));color:inherit;border-radius:2px;padding:0 1px}.mentions__link{flex:none;display:inline-flex;align-items:center;gap:4px;background:transparent;border:1px solid var(--border);border-radius:6px;padding:3px 8px;color:var(--text-muted);cursor:pointer;font-size:12px}.mentions__link:hover{background:var(--bg-surface-2);color:var(--text-primary)}@media (max-width:900px){.mentions{padding:0 24px}}.query-block{border:1px solid var(--border);border-radius:var(--radius-md,8px);background:var(--bg-surface-2);margin:6px 0;padding:8px 10px;font-size:13px}.query-block__toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.query-block__tabs{display:flex;gap:4px}.query-block__tab{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:12px}.query-block__tab.is-active{background:var(--bg-surface);border-color:var(--border);color:var(--text-primary)}.query-block__run{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer}.query-block__run:hover{color:var(--text-primary);background:var(--bg-surface)}.query-block__spin{animation:query-spin .8s linear infinite}@keyframes query-spin{to{transform:rotate(1turn)}}.query-block__ai,.query-block__builder{display:flex;flex-direction:column;gap:6px;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--border)}.query-block__row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.query-block__label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.query-block__input,.query-block__num,.query-block__select{font-size:12px;padding:3px 6px;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);border-radius:5px}.query-block__num{width:64px}.query-block__input{flex:1 1 120px;min-width:100px}.query-block__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px}.query-block__icon:hover{color:var(--text-primary);background:var(--bg-surface)}.query-block__add{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:transparent;border:1px dashed var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:12px}.query-block__add:hover:not(:disabled){color:var(--text-primary);border-color:var(--text-muted)}.query-block__add:disabled{opacity:.5;cursor:default}.query-block__ai-preview{display:flex;align-items:center;gap:8px}.query-block__ai-json{flex:1 1 auto;font-family:var(--font-mono);font-size:12px;color:var(--text-secondary,var(--text-primary))}.query-block__error,.query-block__status{padding:6px 2px;font-size:12.5px;color:var(--text-muted);font-style:italic}.query-block__error{color:var(--danger,#d33)}.query-block__count{font-size:28px;font-weight:700;color:var(--text-primary);padding:4px 2px}.query-block__list{margin:0;padding-left:18px}.query-block__list li{margin:2px 0}.query-block__link{background:none;border:none;padding:0;color:var(--accent,var(--text-primary));cursor:pointer;font-size:13px;text-align:left}.query-block__link:hover{text-decoration:underline}.query-block__table{width:100%;border-collapse:collapse;font-size:12.5px}.query-block__table td,.query-block__table th{border:1px solid var(--border);padding:4px 8px;text-align:left}.query-block__table th{background:var(--bg-surface);color:var(--text-muted);font-weight:600}.query-block__trow{cursor:pointer}.query-block__trow:hover td{background:var(--bg-surface)}.agent-block{border:1px solid var(--border);border-radius:var(--radius-md,8px);background:var(--bg-surface-2);margin:6px 0;padding:8px 10px;font-size:13px}.agent-block__form{display:flex;flex-direction:column;gap:6px}.agent-block__label{font-size:12px;color:var(--text-muted)}.agent-block__input,.agent-block__select,.agent-block__textarea{padding:5px 8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font:inherit;font-size:13px}.agent-block__textarea{resize:vertical;min-height:54px}.agent-block__row{display:flex;flex-wrap:wrap;gap:10px}.agent-block__field{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--text-muted)}.agent-block__scopes{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.agent-block__check{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-primary);cursor:pointer}.agent-block__check--soon{color:var(--text-muted);cursor:default}.agent-block__form-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.agent-block__delete{display:inline-flex;align-items:center;gap:4px;margin-right:auto;padding:5px 10px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--danger,#ef4444);cursor:pointer;font-size:12px}.agent-block__delete:hover{background:var(--danger-subtle,rgba(239,68,68,.08))}.agent-block__done{padding:5px 14px;background:var(--accent,#4f46e5);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px}.agent-block__done:disabled{opacity:.5;cursor:not-allowed}.agent-block__bar{display:flex;align-items:center;gap:8px}.agent-block__run-btn{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:7px;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:500}.agent-block__run-btn:hover:not(:disabled){border-color:var(--accent,#4f46e5)}.agent-block__run-btn:disabled{opacity:.6;cursor:not-allowed}.agent-block__cancel{gap:4px;padding:5px 10px;font-size:12px}.agent-block__cancel,.agent-block__gear{display:inline-flex;align-items:center;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer}.agent-block__gear{justify-content:center;width:26px;height:26px}.agent-block__gear:hover{color:var(--text-primary);background:var(--bg-surface)}.agent-block__spin{animation:query-spin .8s linear infinite}.agent-block__result{margin-top:8px;border-top:1px solid var(--border);padding-top:6px}.agent-block__result-head{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;padding:2px 0}.agent-block__chevron{transition:transform .15s ease}.agent-block__chevron--open{transform:rotate(90deg)}.agent-block__result-body{padding:4px 2px 2px}.agent-block__text{margin:0}.agent-block__muted{color:var(--text-muted);margin:4px 0 0}.agent-block__error{color:var(--danger,#dc2626);margin:0}.agent-block__status{color:var(--text-muted);font-size:12px;margin-top:6px}.agent-block--corrupt{border:1px solid var(--danger,#dc2626);border-radius:8px;padding:10px 12px;background:var(--bg-surface)}.agent-block__corrupt-head{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:var(--danger,#dc2626)}.agent-block__corrupt-hint{margin:6px 0 10px;font-size:12px;line-height:1.45;color:var(--text-muted)}.raw-block--agent-stub{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px dashed var(--border);border-radius:8px;color:var(--text-muted);font-size:13px}.artifact-block{margin:6px 0;border:1px solid var(--border);border-radius:var(--radius-md,8px);background:var(--bg-surface-2);overflow:hidden;font-size:13px}.artifact-block__bar{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text-muted)}.artifact-block__title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.artifact-block__action{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:2px 6px;background:none;border:none;border-radius:4px;color:var(--text-muted);font-size:12px;cursor:pointer}.artifact-block__action:hover{background:var(--bg-surface);color:var(--text-primary)}.artifact-block__action--danger:hover{color:var(--danger,#e5534b)}.artifact-block__notice{padding:14px;color:var(--text-muted);text-align:center}.artifact-block__trust{display:flex;flex-direction:column;gap:6px;padding:12px 14px}.artifact-block__trust-head{display:flex;align-items:center;gap:6px;color:var(--text-primary)}.artifact-block__trust-body{color:var(--text-muted);font-size:12px}.artifact-block__prompt{padding:6px 8px;border-radius:6px;background:var(--bg-surface);color:var(--text-muted);font-size:12px;white-space:pre-wrap}.artifact-block__approve{align-self:flex-start;padding:5px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:12px;cursor:pointer}.artifact-block__approve:disabled{opacity:.5;cursor:default}.artifact-block__frame{position:relative;display:flex;flex-direction:column;min-height:0}.editor[data-block-drag=true] .artifact-block__frame:after{content:"";position:absolute;inset:0;z-index:2}.artifact-block__activate{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:11px;cursor:pointer}.artifact-block__resize{height:8px;cursor:ns-resize;background:var(--bg-surface);border-top:1px solid var(--border)}.artifact-block__resize:hover{background:var(--bg-surface-3,var(--bg-surface))}.artifact-block__compose{display:flex;flex-direction:column;gap:6px;padding:10px 12px}.artifact-block__textarea{padding:6px 8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font:inherit;font-size:13px;resize:vertical;min-height:54px}.artifact-block__error{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border);color:var(--danger,#e5534b);font-size:12px}.artifact-block__error-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artifact-block__source{max-height:260px;margin:0;overflow:auto;padding:8px 10px;border-top:1px solid var(--border);background:var(--bg-surface);font-size:11px;white-space:pre-wrap}.unknown-block{padding:10px 14px;border:1px dashed var(--border);border-radius:8px;color:var(--text-muted);font-size:13px}.unknown-block__row{display:flex;align-items:center;gap:8px}.unknown-block__text{flex:1 1;min-width:0}.unknown-block__toggle{flex-shrink:0;background:none;border:none;padding:2px 6px;color:var(--text-muted);font-size:12px;text-decoration:underline;cursor:pointer}.unknown-block__hint{margin-top:4px;font-size:12px;opacity:.75}.unknown-block__source{max-height:220px;overflow:auto;border-radius:6px;font-size:11px;white-space:pre-wrap;word-break:break-all;-webkit-user-select:text;-moz-user-select:text;user-select:text}.agent-block__gate,.unknown-block__source{margin-top:8px;padding:8px 10px;background:var(--bg-surface)}.agent-block__gate{border:1px solid var(--border);border-radius:7px;font-size:12px}.agent-block__gate--trust{border-color:var(--accent,#4f46e5)}.agent-block__gate-head{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.agent-block__gate-field{margin:3px 0;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.agent-block__gate-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.agent-block__gate-secondary{padding:5px 10px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:12px}.agent-block__undo-row{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.agent-block__clear-btn,.agent-block__copy-btn{border-color:transparent}@media (hover:hover){.agent-block__clear-btn:hover,.agent-block__copy-btn:hover{background:var(--bg-surface);color:var(--text-primary)}}.agent-block__clear-btn:active,.agent-block__copy-btn:active{background:var(--bg-surface-2,var(--bg-surface));color:var(--text-primary)}html.is-mobile .agent-block__bar{flex-wrap:wrap}html.is-mobile .agent-block__run-btn{flex:1 1;justify-content:center;padding:11px 14px}html.is-mobile .agent-block__form--sheet{position:fixed;left:0;right:0;bottom:0;z-index:9995;max-height:85vh;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-2xl,18px) var(--radius-2xl,18px) 0 0;background:var(--bg-surface-2);padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0px));box-shadow:0 -8px 30px rgba(0,0,0,.2);animation:agent-sheet-up .18s ease}@keyframes agent-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}html.is-mobile .agent-block__form--sheet .agent-block__input,html.is-mobile .agent-block__form--sheet .agent-block__select,html.is-mobile .agent-block__form--sheet .agent-block__textarea{font-size:16px}html.is-mobile .agent-block__form--sheet .agent-block__done{width:100%;padding:12px}html.is-mobile .agent-block__form--sheet .agent-block__form-actions{flex-direction:column;align-items:stretch}html.is-mobile .agent-block__form--sheet .agent-block__delete{margin-right:0;justify-content:center;padding:12px}html.is-mobile .agent-block__gate-actions button{flex:1 1}.viz-block{border:1px solid var(--border-color,#e5e5e5);border-radius:8px;padding:.75rem;margin:.5rem 0;background:var(--bg-surface,#fafafa)}.viz-block__toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.viz-block__tabs{display:flex;gap:.25rem}.viz-block__source{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.4rem}.viz-block__toolbar-actions{margin-left:auto;display:inline-flex;align-items:center;gap:.25rem}.viz-block__tab{display:inline-flex;align-items:center;gap:4px;padding:.25rem .6rem;font-size:.8125rem;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;cursor:pointer}.viz-block__tab.is-active{background:var(--bg-base,#fff);border-color:var(--border-color,#e5e5e5)}.viz-block__run{border:none;background:transparent;cursor:pointer;color:var(--text-secondary,#666)}.viz-block__spin{animation:viz-spin .8s linear infinite}@keyframes viz-spin{to{transform:rotate(1turn)}}.viz-block__builder{display:flex;flex-direction:column;gap:.5rem}.viz-block__row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.viz-block__label{font-size:.75rem;color:var(--text-secondary,#666)}.viz-block__enc{display:inline-flex;align-items:center;gap:.25rem}.viz-block__input,.viz-block__select{padding:.25rem .4rem;font-size:.8125rem;border:1px solid var(--border-color,#e5e5e5);border-radius:6px;background:var(--bg-base,#fff);color:inherit}.viz-block__input{min-width:8rem}.viz-block__add,.viz-block__upload{display:inline-flex;align-items:center;gap:4px;padding:.3rem .6rem;font-size:.8125rem;border:1px solid var(--border-color,#e5e5e5);border-radius:6px;background:var(--bg-base,#fff);color:inherit;cursor:pointer}.viz-block__add:disabled{opacity:.55;cursor:default}.viz-block__hint{font-size:.75rem;color:var(--text-secondary,#666)}.viz-block__error{font-size:.75rem;color:var(--danger,#dc2626)}.viz-block__status{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.viz-block__settings{display:flex;flex-direction:column;gap:.5rem;padding:.6rem;border:1px solid var(--border-color,#e5e5e5);border-radius:8px;background:var(--bg-base,#fff)}.viz-block__settings-title{font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary,#666)}.viz-block__settings-grid{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.viz-block__delete-btn{display:inline-flex;align-items:center;justify-content:center;padding:.25rem;border:none;border-radius:6px;background:transparent;color:var(--text-secondary,#666);cursor:pointer;transition:background .15s,color .15s}.viz-block__delete-btn:hover{background:rgba(220,38,38,.12);color:var(--danger,#dc2626)}.viz-block__preview{margin-top:.75rem;display:flex;justify-content:center}.viz-block__empty{padding:2rem;font-size:.8125rem;color:var(--text-secondary,#666);text-align:center}.viz-block__ai{display:flex;flex-direction:column;gap:.5rem}.viz-block__ai-preview{display:flex;align-items:center;gap:.5rem}.viz-block__ai-json{font-size:.75rem;color:var(--text-secondary,#666)}.viz-chart{display:block}html.is-mobile .viz-block__add,html.is-mobile .viz-block__delete-btn,html.is-mobile .viz-block__input,html.is-mobile .viz-block__run,html.is-mobile .viz-block__select,html.is-mobile .viz-block__tab,html.is-mobile .viz-block__upload{min-height:44px}html.is-mobile .viz-block__select{max-width:100%}.publish-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45)}.publish-dialog{width:min(30rem,calc(100vw - 2rem));background:var(--bg-surface,#fff);color:var(--text-primary,#111);border:1px solid var(--border-color,#e5e5e5);border-radius:10px;padding:1.25rem 1.25rem 1rem;box-shadow:0 12px 40px rgba(0,0,0,.3)}.publish-dialog h3{margin:0 0 .75rem;font-size:1.05rem}.publish-dialog__warning{font-size:.875rem;line-height:1.5;padding:.6rem .75rem;border-radius:8px;background:var(--warn-bg,#fff7ed);border:1px solid var(--warn-border,#fed7aa)}.publish-dialog__note{font-size:.875rem;line-height:1.5;opacity:.85}.publish-dialog__urllabel{display:block;font-size:.75rem;opacity:.7;margin:.75rem 0 .25rem}.publish-dialog__urlrow{display:flex;gap:.5rem}.publish-dialog__url{flex:1 1;min-width:0;padding:.4rem .5rem;font-size:.8125rem;border:1px solid var(--border-color,#e5e5e5);border-radius:6px;background:var(--bg-base,#fafafa);color:inherit}.publish-dialog__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.publish-dialog__actions button{padding:.4rem .85rem;font-size:.8125rem;border-radius:6px;border:1px solid var(--border-color,#e5e5e5);background:var(--bg-base,#f5f5f5);color:inherit;cursor:pointer}.publish-dialog__actions button:disabled{opacity:.55;cursor:default}.publish-dialog__primary{background:var(--accent,#2563eb)!important;color:#fff!important;border-color:var(--accent,#2563eb)!important}.publish-dialog__danger,.publish-dialog__error{color:var(--danger,#dc2626)}.publish-dialog__error{margin:.75rem 0 0;font-size:.8125rem}html.is-mobile .publish-overlay{align-items:flex-end}html.is-mobile .publish-dialog{width:100%;border-radius:12px 12px 0 0;padding:1rem max(1rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}html.is-mobile .publish-dialog__actions button,html.is-mobile .publish-dialog__urlrow button{min-height:44px}html.is-mobile .publish-dialog__actions button{flex:1 1 auto}html.is-mobile .publish-dialog__url{min-height:44px;box-sizing:border-box}.gliph-published{position:fixed;inset:0;overflow-y:auto;overflow-x:hidden;padding:3rem 1.25rem calc(4rem + var(--cookie-banner-h, 0px))}.gliph-published__content,.gliph-published__footer{max-width:46rem;margin-inline:auto}.gliph-published__content{line-height:1.6;word-wrap:break-word}.gliph-published__content img{max-width:100%;height:auto}.gliph-published__content pre{overflow-x:auto;max-width:100%}@media (max-width:560px){.gliph-published{padding:2rem 1rem calc(3rem + var(--cookie-banner-h, 0px))}}.gliph-published__content table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:.9375rem;table-layout:fixed}.gliph-published__content td,.gliph-published__content th{border:1px solid var(--border,#e0e0e0);padding:6px 10px;text-align:left;vertical-align:top;word-wrap:break-word}.gliph-published__content th{background:rgba(0,0,0,.04);font-weight:600}.gliph-published__footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border-color,#e5e5e5);font-size:.8125rem;text-align:center;opacity:.7}.gliph-published__footer a{color:inherit;text-decoration:none}.gliph-published__footer a:hover{text-decoration:underline}.diary-section{margin-bottom:6px;border-bottom:1px solid var(--border);padding-bottom:4px}.diary-tree-item{font-weight:500;padding-left:14px}.diary-strip{position:-webkit-sticky;position:sticky;top:0;z-index:5;flex-shrink:0;padding:.75rem 1.25rem 0;border-bottom:1px solid var(--border-color,#e5e5e5);background:var(--bg-surface,#fff)}.diary-strip-days{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:.25rem}.diary-strip-days::-webkit-scrollbar{display:none}.diary-day{display:flex;flex-direction:column;align-items:center;gap:1px;flex-shrink:0;min-width:44px;padding:5px 4px 3px;border:1px solid transparent;border-radius:var(--radius-md,10px);background:transparent;color:var(--text-secondary,#666);font-family:inherit;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.diary-day:hover{background:var(--accent-subtle,rgba(99,102,241,.08))}.diary-day--selected,.diary-day--today .diary-day-num{color:var(--accent,#6366f1)}.diary-day--selected{background:var(--accent-subtle,rgba(99,102,241,.08));border-color:var(--accent-muted,rgba(99,102,241,.16))}.diary-day--selected .diary-day-name,.diary-day--selected .diary-day-num{color:var(--accent,#6366f1)}.diary-day-num{font-size:.9375rem;font-weight:600;line-height:1.2;color:var(--text-primary,#111)}.diary-day-name{font-size:.6563rem;text-transform:capitalize;color:var(--text-muted,#8f8f8a)}.diary-day-dot{width:4px;height:4px;border-radius:50%;background:transparent}.diary-day-dot--filled{background:var(--accent,#6366f1)}.diary-strip-header{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;padding:.875rem 0 .75rem}.diary-strip-weekday{display:block;font-size:.8125rem;font-weight:500;color:var(--accent,#6366f1);text-transform:capitalize}.diary-strip-date{margin:.125rem 0 0;font-size:1.375rem;font-weight:700;line-height:1.25;color:var(--text-primary,#111)}.diary-today-btn{flex-shrink:0;padding:.3rem .75rem;font-size:.8125rem;font-family:inherit;border:1px solid var(--border-color,#e5e5e5);border-radius:var(--radius-md,10px);background:var(--bg-base,#fafafa);color:var(--text-secondary,#666);cursor:pointer;transition:background .15s,color .15s}.diary-today-btn:hover{background:var(--accent-subtle,rgba(99,102,241,.08));color:var(--accent,#6366f1)}html.is-mobile .diary-strip{padding:.5rem .75rem 0}html.is-mobile .diary-day{min-width:46px;min-height:52px}html.is-mobile .diary-today-btn{min-height:44px}html.is-mobile .diary-strip-date{font-size:1.25rem}html.is-mobile .app-root:not([data-theme=dark]){--text-primary:#000000;--text-secondary:#1a1a1a;--text-muted:#2e2e2e}html.is-mobile .workspace-header{position:relative;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}html.is-mobile body{background:var(--app-chrome-bg,var(--bg-surface))}html.is-mobile .workspace-header-divider{display:none}html.is-mobile .mobile-header-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:32px;width:auto;pointer-events:none}html.is-mobile .mobile-popup-scrim.mobile-popup-scrim--header{z-index:65}html.is-mobile .mobile-toolbar-trigger{position:relative;z-index:66}html.is-mobile .block-kanban{display:flex;gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}html.is-mobile .block-kanban .kanban-column{flex:0 0 240px;min-width:240px}html.is-mobile .sidebar-footer .sidebar-footer-divider{margin:4px -8px}html.is-mobile .timeline-edit-row{flex-wrap:wrap}html.is-mobile .timeline-edit-title{flex:1 1 100%}html.is-mobile .timeline-edit-row input[type=date]{flex:1 1;min-width:0;width:auto}html.is-mobile .flashcard-grid{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}html.is-mobile .flashcard,html.is-mobile .flashcard-add{flex-shrink:0}html.is-mobile .block-table td,html.is-mobile .block-table th{min-width:120px}html.is-mobile .viz-block__preview{overflow-x:auto;-webkit-overflow-scrolling:touch}html.is-mobile .viz-block__preview .viz-chart{min-width:520px}html.is-mobile .block-ai{overflow-x:auto;-webkit-overflow-scrolling:touch}html.is-mobile .tree-section-action--new-file{order:99;min-width:0;min-height:0;width:26px;height:26px;padding:0;margin-left:4px;background:var(--accent);color:#ffffff;border-radius:var(--radius-sm)}html.is-mobile .tree-section-action--new-file:active,html.is-mobile .tree-section-action--new-file:hover{background:var(--accent-hover);color:#ffffff}html.is-mobile .tree-section-action--new-file svg{width:14px!important;height:14px!important}html.is-mobile .settings-modal{font-size:15px}html.is-mobile .settings-card input[type=email],html.is-mobile .settings-card input[type=password],html.is-mobile .settings-card input[type=text],html.is-mobile .settings-card select,html.is-mobile .settings-card textarea{padding:11px 12px;min-height:46px;margin-top:6px;margin-bottom:10px}html.is-mobile .settings-card .settings-field .settings-dropdown,html.is-mobile .settings-card .settings-field input[type=email],html.is-mobile .settings-card .settings-field input[type=password],html.is-mobile .settings-card .settings-field input[type=text],html.is-mobile .settings-card .settings-field select,html.is-mobile .settings-card .settings-field textarea{margin-top:2px;margin-bottom:2px}html.is-mobile .settings-card button{padding:10px 18px;min-height:44px;border-radius:var(--radius-md)}html.is-mobile .settings-modal .btn{min-height:44px}html.is-mobile .settings-key-row{flex-direction:column;align-items:stretch}html.is-mobile .settings-key-row button{align-self:stretch}.settings-dropdown{position:relative;width:100%;margin-top:6px;margin-bottom:10px}.settings-field .settings-dropdown{margin-top:2px}.settings-card--dropdown-open{position:relative;z-index:50}html.is-mobile .settings-card .settings-dropdown__trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;align-self:stretch;padding:11px 12px;min-height:46px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);color:var(--text-primary);font-family:inherit;font-size:var(--settings-input);font-weight:400;text-align:left}html.is-mobile .settings-card .settings-dropdown__trigger[aria-expanded=true]{border-color:rgba(99,102,241,.4);box-shadow:0 0 0 3px rgba(99,102,241,.08),var(--shadow-soft)}.settings-dropdown__value{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-dropdown__caret{flex-shrink:0;color:var(--text-muted);font-size:12px}.settings-dropdown__menu{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;max-height:260px;overflow-y:auto;overscroll-behavior:contain;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg,0 8px 24px rgba(0,0,0,.18))}html.is-mobile .settings-card .settings-dropdown__option{display:flex;align-items:center;gap:8px;width:100%;align-self:stretch;padding:10px 8px;min-height:44px;background:none;border:none;border-radius:var(--radius-sm);box-shadow:none;color:var(--text-primary);font-family:inherit;font-size:var(--settings-input);font-weight:400;text-align:left}html.is-mobile .settings-card .settings-dropdown__option--active{background:var(--bg-surface-2)}.settings-dropdown__check{flex-shrink:0;width:1em;color:var(--accent,var(--text-primary))}.settings-dropdown__label{flex:1 1;min-width:0}.settings-dropdown__dot{flex-shrink:0;color:var(--success,var(--text-muted));font-size:18px;line-height:1}html.is-mobile .settings-modal input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:44px;height:26px;margin:0;flex-shrink:0;border:none;border-radius:13px;background:var(--border-strong);transition:background .15s ease;cursor:pointer;-webkit-tap-highlight-color:transparent}html.is-mobile .settings-modal input[type=checkbox]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#ffffff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .15s ease}html.is-mobile .settings-modal input[type=checkbox]:checked{background:var(--accent)}html.is-mobile .settings-modal input[type=checkbox]:checked:after{transform:translateX(18px)}html.is-mobile .settings-modal label:has(>input[type=checkbox]){display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}html.is-mobile .settings-modal label>input[type=checkbox]{order:2}html.is-mobile .db-settings-desc,html.is-mobile .db-settings-empty,html.is-mobile .db-settings-glossary code,html.is-mobile .db-settings-glossary dd,html.is-mobile .db-settings-glossary dt,html.is-mobile .db-settings-trust-meta,html.is-mobile .db-settings-trust-path,html.is-mobile .db-settings-type{font-size:var(--settings-text)!important}html.is-mobile .settings-card>button{width:100%;justify-content:center}html.is-mobile .chat-dialog--history{top:env(safe-area-inset-top);height:auto;max-height:none}html.is-mobile .mobile-popup-scrim{position:fixed;inset:0;z-index:9990;background:rgba(0,0,0,.18);animation:fade-in .12s ease}html.is-mobile .slash-menu{z-index:9999}html.is-mobile .block-table-col-menu--sheet{position:fixed;top:auto;left:0;right:0;bottom:0;z-index:9995;min-width:0;margin:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom, 0px));border:1px solid var(--border);border-radius:var(--radius-2xl,18px) var(--radius-2xl,18px) 0 0;background:var(--bg-surface-2);box-shadow:0 -8px 30px rgba(0,0,0,.2);animation:agent-sheet-up .18s ease}html.is-mobile .block-table-col-menu--sheet .block-table-col-menu-item{font-size:16px;padding:12px 14px;min-height:44px}html.is-mobile .block-table-col-menu--sheet .block-table-col-menu-hint{max-width:none;font-size:13px;padding:10px 14px 4px}html.is-mobile .block-table-hidden-chip,html.is-mobile .block-table-show-all{min-height:36px;padding:6px 12px;font-size:13px}html.is-mobile .block-table-col-gap-btn{min-height:44px}html.is-mobile .block-table-filter--sheet{position:fixed;top:auto;left:0;right:0;bottom:0;z-index:9995;min-width:0;margin:0;padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0px));border-radius:var(--radius-2xl,18px) var(--radius-2xl,18px) 0 0;background:var(--bg-surface-2);box-shadow:0 -8px 30px rgba(0,0,0,.2);animation:agent-sheet-up .18s ease}html.is-mobile .block-table-filter--sheet .block-table-filter-input,html.is-mobile .block-table-filter--sheet .block-table-filter-select{font-size:16px;padding:10px 12px}html.is-mobile .block-table-filter--sheet .block-table-filter-apply,html.is-mobile .block-table-filter--sheet .block-table-filter-reset{min-height:44px}html.is-mobile .paste-toast{bottom:calc(56px + env(safe-area-inset-bottom, 0px));max-width:92vw;z-index:9995}html.is-mobile .crash-recovery-backdrop,html.is-mobile .import-ai-backdrop{padding:max(1rem,env(safe-area-inset-top)) .75rem max(1rem,env(safe-area-inset-bottom))}html.is-mobile .import-ai-modal{width:96vw}html.is-mobile .import-ai-btn,html.is-mobile .import-ai-close{min-height:44px}html.is-mobile .crash-recovery-modal{width:96vw}html.is-mobile .crash-recovery-layout{grid-template-columns:1fr;min-height:0}html.is-mobile .crash-recovery-list{max-height:30dvh}html.is-mobile .crash-recovery-preview{min-height:120px;max-height:32dvh}html.is-mobile .crash-recovery-spacer{display:none}html.is-mobile .crash-recovery-btn--ghost{flex:0 0 auto;padding:10px}html.is-mobile .crash-recovery-btn--ghost .crash-recovery-btn-label{display:none}html.is-mobile .crash-recovery-footer .crash-recovery-btn:not(.crash-recovery-btn--ghost){flex:1 1;justify-content:center;min-height:44px;text-align:center}.dbview{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.dbview--empty{align-items:center;justify-content:center;gap:8px;text-align:center;padding:48px 24px}.dbview-empty-icon{width:40px;height:40px;color:var(--text-muted);margin-bottom:4px}.dbview-empty-title{font-size:15px;font-weight:600;color:var(--text-primary)}.dbview-empty-hint{font-size:13px;color:var(--text-muted);max-width:420px;line-height:1.5}.dbview-banner{flex:0 0 auto;padding:8px 16px;font-size:12.5px;color:var(--text-secondary);background:var(--accent-subtle);border-bottom:1px solid var(--border)}.dbview-body{flex:1 1 auto;display:flex;min-height:0}.dbview-sidebar{flex:0 0 240px;overflow-y:auto;border-right:1px solid var(--border);padding:12px 8px}.dbview-group{margin-bottom:14px}.dbview-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:4px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dbview-collection{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-left:10px;width:calc(100% - 10px);padding:6px 10px;border:none;border-radius:var(--radius-md,8px);background:transparent;color:var(--text-secondary);font-size:13px;text-align:left;cursor:pointer}.dbview-collection:hover{background:var(--bg-surface-2)}.dbview-collection.active{background:var(--accent-subtle);color:var(--text-primary);font-weight:500}.dbview-collection-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dbview-collection-count{flex:0 0 auto;font-size:11px;color:var(--text-muted);background:var(--bg-surface-3);border-radius:999px;padding:1px 7px}.dbview-main{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;min-height:0}.dbview-main-header{flex:0 0 auto;padding:14px 18px 10px;border-bottom:1px solid var(--border)}.dbview-main-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--text-primary)}.dbview-main-title-icon{width:16px;height:16px;color:var(--text-muted)}.dbview-main-desc{margin-top:3px;font-size:12.5px;color:var(--text-muted)}.dbview-main-placeholder{flex:1 1 auto;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px}.dbview-grid-scroll{flex:1 1 auto;overflow:auto;min-height:0}.dbview-grid-scroll--table{padding:0 18px 16px}.dbview-grid-error{padding:16px 18px;color:var(--danger,#dc2626);font-size:13px}.dbview-grid-scroll--table .dbview-grid-error{padding-left:0;padding-right:0}.dbview-grid{border-collapse:collapse;width:max-content;min-width:100%;font-size:13px}.dbview-grid td,.dbview-grid th{border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:left;vertical-align:top}.dbview-grid th{padding:0}.dbview-grid td:first-child,.dbview-grid th:first-child{border-left:1px solid var(--border)}.dbview-grid thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--bg-surface-2);white-space:nowrap;border-top:1px solid var(--border)}.dbview-th{display:flex;align-items:center;gap:2px;padding:0 12px}.dbview-th-sort{display:inline-flex;align-items:center;gap:4px;flex:1 1 auto;background:transparent;border:none;padding:8px 2px;font:inherit;font-weight:600;color:var(--text-secondary);cursor:pointer}.dbview-th-sort:hover{color:var(--text-primary)}.dbview-th-arrow{width:12px;height:12px;flex:0 0 auto}.dbview-th-reveal{display:inline-flex;background:transparent;border:none;padding:4px;color:var(--text-muted);cursor:pointer}.dbview-th-reveal:hover{color:var(--text-primary)}.dbview-th-eye{width:13px;height:13px}.dbview-cell{padding:8px 14px;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.dbview-cell--empty{text-align:center;padding:24px}.dbview-cell--empty,.dbview-cell-masked,.dbview-cell-null{color:var(--text-muted)}.dbview-cell-id{color:var(--text-muted)}.dbview-cell-id,.dbview-cell-json{font-family:var(--font-mono,ui-monospace,monospace);font-size:12px}.dbview-footer{flex:0 0 auto;justify-content:space-between;padding:8px 16px;border-top:1px solid var(--border);font-size:12.5px;color:var(--text-muted)}.dbview-footer,.dbview-pager{display:flex;align-items:center}.dbview-pager{gap:8px}.dbview-pager-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:var(--radius-md,8px);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer}.dbview-pager-btn:disabled{opacity:.4;cursor:default}.dbview-pager-btn:not(:disabled):hover{background:var(--bg-surface-2)}.dbview-pager-icon{width:15px;height:15px}.dbview-pager-label{min-width:92px;text-align:center}.dbview-main-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.dbview-add-btn{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:5px 11px;border:1px solid var(--border);border-radius:var(--radius-md,8px);background:var(--bg-surface);color:var(--text-secondary);font-size:12.5px;font-weight:500;cursor:pointer}.dbview-add-btn:hover{background:var(--bg-surface-2);color:var(--text-primary)}.dbview-add-icon{width:14px;height:14px}.dbview-cell--editable{cursor:text}.dbview-cell--editable:hover{background:var(--accent-subtle)}.dbview-cell-input{width:100%;min-width:90px;box-sizing:border-box;padding:4px 6px;border:1px solid var(--border-focus);border-radius:5px;background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:13px}.dbview-cell-err{margin-top:3px;font-size:11px;color:var(--danger,#dc2626);white-space:normal}.dbview-actions-col{width:40px;text-align:center;padding-left:0;padding-right:0}.dbview-row-delete{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.dbview-row-delete:hover{background:var(--bg-surface-3);color:var(--danger,#dc2626)}.dbview-row-delete-icon{width:14px;height:14px}.dbview-toast{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:40;max-width:420px;padding:10px 16px;border-radius:var(--radius-md,8px);background:var(--text-primary);color:var(--bg-surface);font-size:13px;box-shadow:0 6px 20px rgba(0,0,0,.25)}.dbview-modal-backdrop{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.35)}.dbview-modal{width:100%;max-width:400px;max-height:100%;display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:var(--radius-lg,12px);background:var(--bg-surface);border:1px solid var(--border);box-shadow:0 12px 40px rgba(0,0,0,.3);overflow:auto}.dbview-modal--wide{max-width:480px}.dbview-modal-title{font-size:15px;font-weight:600;color:var(--text-primary)}.dbview-modal-body{font-size:13px;color:var(--text-secondary);line-height:1.5}.dbview-modal-err{font-size:12px;color:var(--danger,#dc2626)}.dbview-modal-actions{display:flex;justify-content:flex-end;gap:8px}.dbview-json-area{width:100%;min-height:180px;box-sizing:border-box;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface-2);color:var(--text-primary);font-family:var(--font-mono,ui-monospace,monospace);font-size:12.5px;resize:vertical}.dbview-btn{padding:7px 14px;border:1px solid var(--border);border-radius:var(--radius-md,8px);background:var(--bg-surface);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer}.dbview-btn:hover{background:var(--bg-surface-2)}.dbview-btn--primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.dbview-btn--primary:hover{background:var(--accent-hover)}.dbview-btn--danger{background:var(--danger,#dc2626);border-color:var(--danger,#dc2626);color:#fff}.dbview-btn--danger:hover{opacity:.9}.dbview-form{display:flex;flex-direction:column;gap:10px}.dbview-form-row{display:flex;align-items:center;gap:12px}.dbview-form-label{flex:0 0 130px;display:flex;flex-direction:column;font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}.dbview-form-type{font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.dbview-form-input{flex:1 1 auto;min-width:0;padding:6px 9px;border:1px solid var(--border);border-radius:7px;background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:13px}.dbview-form-control{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px}.dbview-form-reveal{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.dbview-form-reveal:hover{background:var(--bg-surface-2);color:var(--text-primary)}.dbview-header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.dbview-schema-version{margin-left:10px;font-size:12px;font-weight:400;color:var(--text-muted)}.dbview-schema-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-top:4px}.dbview-schema-fields{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}.dbview-schema-field{display:flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid var(--border);border-radius:7px;background:var(--bg-surface-2);font-size:13px}.dbview-schema-field-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.dbview-schema-field-type{flex:0 0 auto;font-size:11px;color:var(--text-muted);text-transform:uppercase}.dbview-schema-field-pii{flex:0 0 auto;font-size:10px;font-weight:600;color:var(--accent);background:var(--accent-subtle);border-radius:4px;padding:1px 5px}.dbview-schema-field-remove{flex:0 0 auto;display:inline-flex;padding:3px;border:none;border-radius:5px;background:transparent;color:var(--text-muted);cursor:pointer}.dbview-schema-field-remove:hover{background:var(--bg-surface-3);color:var(--danger,#dc2626)}.dbview-schema-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.dbview-schema-add .dbview-form-input{flex:1 1 120px}.dbview-schema-add select.dbview-form-input{flex:0 0 auto}.dbview-schema-sensitive{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--text-secondary)}.dbview-schema-usedby{margin:0;padding-left:18px;font-size:12.5px;color:var(--text-secondary)}.dbview-schema-warn-data{color:var(--danger,#dc2626)}.dbview-toolbar{flex-wrap:wrap;gap:12px;margin-top:10px}.dbview-filter,.dbview-toolbar{display:flex;align-items:center}.dbview-filter{gap:6px;flex:1 1 220px;min-width:160px}.dbview-filter-field{flex:0 0 auto;padding:5px 8px;color:var(--text-secondary);font-size:12.5px}.dbview-filter-field,.dbview-filter-input{border:1px solid var(--border);border-radius:7px;background:var(--bg-surface)}.dbview-filter-input{flex:1 1 auto;min-width:0;padding:6px 10px;color:var(--text-primary);font:inherit;font-size:13px}.dbview-toolbar-toggle{gap:6px;font-size:12.5px;white-space:nowrap}.dbview-refresh-btn,.dbview-toolbar-toggle{display:inline-flex;align-items:center;color:var(--text-secondary)}.dbview-refresh-btn{justify-content:center;padding:5px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);cursor:pointer}.dbview-refresh-btn:hover{background:var(--bg-surface-2);color:var(--text-primary)}.dbview-refresh-icon{width:14px;height:14px}.dbview-export{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-muted)}.dbview-export-icon{width:14px;height:14px}.dbview-export-btn{padding:4px 9px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer}.dbview-export-btn:hover{background:var(--bg-surface-2);color:var(--text-primary)}.dbview-back-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;margin-right:4px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer}.dbview-back-btn:hover{background:var(--bg-surface-2)}.dbview-row-restore{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.dbview-row-restore:hover{background:var(--bg-surface-3);color:var(--accent)}.dbview-row--deleted td{opacity:.55;text-decoration:line-through;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted)}.dbview-row--deleted td.dbview-actions-col{opacity:1;text-decoration:none}.dbview-cards{display:flex;flex-direction:column;gap:10px;padding:12px}.dbview-cards-empty{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:13px}.dbview-card{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--radius-lg,12px);background:var(--bg-surface);overflow:hidden}.dbview-card--deleted{opacity:.6}.dbview-card-body{flex:1 1 auto;min-width:0;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.dbview-card-badge{align-self:flex-start;font-size:10px;font-weight:600;text-transform:uppercase;color:var(--danger,#dc2626);background:var(--bg-surface-3);border-radius:4px;padding:1px 6px}.dbview-card-row{display:flex;gap:10px;font-size:13px}.dbview-card-key{flex:0 0 40%;color:var(--text-muted)}.dbview-card-key,.dbview-card-val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dbview-card-val{flex:1 1 auto;min-width:0;color:var(--text-primary)}.dbview-card-actions{flex:0 0 auto;display:flex;align-items:center;padding:0 8px;border-left:1px solid var(--border)}html.is-mobile .dbview-modal--sheet{position:absolute;bottom:0;left:0;right:0;max-width:100%;max-height:85%;border-radius:var(--radius-2xl,18px) var(--radius-2xl,18px) 0 0}.dbview-modal-backdrop:has(.dbview-modal--sheet){align-items:flex-end;padding:0}html.is-ios{--keyboard-inset:0px}html.is-ios,html.is-ios body{overscroll-behavior:none}html.is-ios .mobile-conflict-fab{bottom:calc(14px + env(safe-area-inset-bottom) + var(--keyboard-inset, 0px))}html.is-ios .chat-dialog,html.is-ios .mobile-format-bar-host{bottom:var(--keyboard-inset,0)}html.is-ios .mobile-format-panel{height:max(0px,var(--kb-panel,var(--kb-stored,300px)) - var(--keyboard-inset,0px))}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-center-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes toast-center-out{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,6px)}}.paste-toast{animation:toast-center-in var(--dur-base) var(--ease-out)}.paste-toast.paste-toast--exiting{animation:toast-center-out var(--dur-base) var(--ease-out) forwards;pointer-events:none}@keyframes sidebar-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sidebar-toast{animation:sidebar-toast-in var(--dur-base) var(--ease-out)}.sidebar-toast.sidebar-toast--exiting{animation:sidebar-toast-in var(--dur-base) var(--ease-out) reverse forwards;pointer-events:none}@keyframes mobile-format-bar-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes mobile-format-bar-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}.mobile-format-bar-host{animation:mobile-format-bar-in var(--dur-base) var(--ease-out)}.mobile-format-bar-host.mobile-format-bar-host--exiting{animation:mobile-format-bar-out .14s var(--ease-out) forwards;pointer-events:none}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.qs-overlay{animation:overlay-in var(--dur-base) var(--ease-out);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.qs-modal{animation:modal-in var(--dur-base) var(--ease-out)}.command-palette-backdrop{animation:overlay-in var(--dur-base) var(--ease-out)}.command-palette{animation:modal-in var(--dur-base) var(--ease-out)}.command-palette-item{transition:background var(--dur-instant) var(--ease-out),color var(--dur-instant) var(--ease-out)}.quick-capture-overlay{animation:overlay-in var(--dur-fast) var(--ease-out)}.quick-capture{animation:modal-in var(--dur-slow) var(--ease-spring)}.todo-check{position:relative;display:block;width:18px;height:18px;margin-top:4px;flex-shrink:0;cursor:pointer}.todo-check input[type=checkbox]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:inherit;z-index:1}.todo-check input[type=checkbox]:disabled{cursor:default}.todo-check-svg{width:18px;height:18px;display:block;pointer-events:none}.todo-check-box{fill:transparent;stroke:var(--border-strong);stroke-width:1.5;transition:fill var(--dur-fast) var(--ease-out),stroke var(--dur-fast) var(--ease-out)}.todo-check-mark{fill:none;stroke:var(--text-on-accent,#fff);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:13;stroke-dashoffset:13;transform:scale(.6);transform-box:fill-box;transform-origin:center;transition:stroke-dashoffset var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-spring)}.todo-check input[type=checkbox]:checked+.todo-check-svg .todo-check-box{fill:var(--accent);stroke:var(--accent)}.todo-check input[type=checkbox]:checked+.todo-check-svg .todo-check-mark{stroke-dashoffset:0;transform:scale(1)}.todo-check input[type=checkbox]:focus-visible+.todo-check-svg .todo-check-box{stroke:var(--border-focus);stroke-width:2}.todo-check input[type=checkbox]:disabled+.todo-check-svg{opacity:.55}.todo-item-text{text-decoration:line-through;-webkit-text-decoration-color:transparent;text-decoration-color:transparent;transition:color var(--dur-base) var(--ease-out),-webkit-text-decoration-color var(--dur-base) var(--ease-out);transition:color var(--dur-base) var(--ease-out),text-decoration-color var(--dur-base) var(--ease-out);transition:color var(--dur-base) var(--ease-out),text-decoration-color var(--dur-base) var(--ease-out),-webkit-text-decoration-color var(--dur-base) var(--ease-out)}.todo-item--done .todo-item-text{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}@keyframes diary-day-pop{0%{transform:scale(1)}45%{transform:scale(1.12)}to{transform:scale(1)}}.diary-day--pop{animation:diary-day-pop var(--dur-slow) var(--ease-out)}.diary-day-dot{transition:transform var(--dur-base) var(--ease-spring),background var(--dur-fast) var(--ease-out)}.diary-day--selected .diary-day-dot--filled{transform:scale(1.5)}.chat-attach-wrap .chat-icon-btn svg{transition:transform var(--dur-base) var(--ease-spring)}.chat-attach-wrap .chat-icon-btn--active svg{transform:rotate(45deg)}.mobile-fab-btn:active,html.is-mobile .mobile-island__btn:active{transform:scale(.92);transition:transform var(--dur-instant) var(--ease-out)}html.is-mobile .sidebar-backdrop{animation:overlay-in var(--dur-slow) var(--ease-out)}.editor-block-wrapper{transition:transform var(--dur-fast) var(--ease-out)}.editor-block-wrapper--drop-shift{transform:translateY(10px)}.editor-block-wrapper--dragged{opacity:.45}@keyframes kanban-card-arrive{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.kanban-card--arrived{animation:kanban-card-arrive var(--dur-base) var(--ease-spring)}.flashcard-inner{position:relative;flex:1 1;min-height:92px;transform-style:preserve-3d;transition:transform var(--dur-slow) var(--ease-out)}.flashcard--flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-face{position:absolute;inset:0;display:flex;flex-direction:column;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface-2);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:auto}.flashcard-face--back{transform:rotateY(180deg);background:var(--accent-subtle);border-color:var(--accent)}@keyframes lightbox-zoom-in{0%{opacity:0;transform:scale(.35)}to{opacity:1;transform:scale(1)}}.image-lightbox-content{transform-origin:center center;animation:lightbox-zoom-in var(--dur-slow) var(--ease-out)}html.is-mobile .chat-dialog{animation:agent-sheet-up var(--dur-slow) var(--ease-spring)}@keyframes chat-sheet-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}html.is-mobile .chat-dialog--closing{animation:chat-sheet-down .2s var(--ease-out) forwards;pointer-events:none}.chat-dialog--closing{animation:overlay-in .2s var(--ease-out) reverse forwards;pointer-events:none}@keyframes chat-msg-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.msg--enter{animation:chat-msg-enter var(--dur-base) var(--ease-out)}.kanban-column{transition:background var(--dur-instant) var(--ease-out),border-color var(--dur-instant) var(--ease-out)}.kanban-column--drop-target{background:var(--accent-subtle);border-color:var(--accent-muted)}@keyframes context-menu-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.context-menu--in{animation:context-menu-in var(--dur-fast) var(--ease-out);transform-origin:left top}@keyframes tree-item-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.tree-item--new-input,.tree-item--pop{animation:tree-item-pop var(--dur-base) var(--ease-spring);transform-origin:left center}.tree-item--dragging{opacity:.45}@keyframes todo-item-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.todo-item--added{animation:todo-item-in var(--dur-fast) var(--ease-out)}@keyframes backlinks-popover-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.tree-item-backlinks-popover{transform-origin:top right;animation:backlinks-popover-in var(--dur-fast) var(--ease-out)}@keyframes kanban-count-pop{0%{transform:scale(1)}45%{transform:scale(1.28)}to{transform:scale(1)}}.kanban-column-count{display:inline-block}.kanban-column-count--pop{animation:kanban-count-pop var(--dur-base) var(--ease-spring)}.flashcard-face{box-shadow:0 1px 2px rgba(0,0,0,.05)}@keyframes flashcard-lift{0%{box-shadow:0 1px 2px rgba(0,0,0,.05)}50%{box-shadow:0 10px 22px rgba(0,0,0,.2)}to{box-shadow:0 1px 2px rgba(0,0,0,.05)}}.flashcard--flipping .flashcard-face{animation:flashcard-lift var(--dur-slow) var(--ease-out)}.flashcard-flip:active,.flashcard-remove:active{transform:scale(.88)}.flashcard-flip,.flashcard-remove{transition:background var(--dur-instant) var(--ease-out),color var(--dur-instant) var(--ease-out),transform var(--dur-instant) var(--ease-spring)}@keyframes tool-call-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tool-call--enter{animation:tool-call-in var(--dur-fast) var(--ease-out)}.mentions__reveal{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows var(--dur-base) var(--ease-out),visibility 0s var(--dur-base)}.mentions__reveal--open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows var(--dur-base) var(--ease-out),visibility 0s}.mentions__reveal-inner{overflow:hidden;overflow:clip;min-height:0}.db-settings-tab{transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.block-table-col-resize{width:10px;right:-5px;background:none}.block-table-col-resize:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);border-radius:var(--radius-full);background:transparent;transition:background var(--dur-instant) var(--ease-out)}.block-table-col-resize:hover{background:none}.block-table-col-resize:hover:after{background:var(--accent)}@keyframes search-panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.search-panel{animation:search-panel-in var(--dur-fast) var(--ease-out)}@keyframes table-insert-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.block-table-cell--inserted .block-table-cell-content,.block-table-cell--inserted .block-table-th-inner,.block-table-row--inserted .block-table-cell-content{animation:table-insert-in var(--dur-base) var(--ease-spring)}.block-toggle{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface-2);padding-left:12px;padding-right:12px}.block-toggle>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;font-weight:500;color:var(--text-primary);outline:none;padding:2px 0}.block-toggle>summary::-webkit-details-marker{display:none}.block-toggle>summary:before{content:"";flex:none;width:6px;height:6px;border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);transform:rotate(-45deg);transition:transform var(--dur-fast) var(--ease-out)}.block-toggle[open]>summary:before{transform:rotate(45deg)}.block-toggle>:not(summary){margin-left:14px}.boot-veil{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:var(--bg-app,#15161a)}.boot-veil-spinner{width:22px;height:22px;border-radius:50%;border:2px solid var(--border,rgba(255,255,255,.15));border-top-color:var(--accent,#6366f1);animation:spin .8s linear infinite,fade-in var(--dur-base) var(--ease-out)}.command-palette-item,.context-menu-item,.qs-item,.sidebar-footer-item,.slash-menu button,.tab,.tree-item{-webkit-tap-highlight-color:transparent}.command-palette-item:active,.context-menu-item:active,.qs-item:active,.sidebar-footer-item:active,.slash-menu button:active,.tab:active,.tree-item:active{background:var(--bg-surface-3);transform:scale(var(--tap-scale));transition-duration:var(--dur-instant)}.tree-item:active{transform-origin:left center}.command-palette-item--active:active,.context-menu-item--active:active,.qs-item.active:active,.tree-item.active:active{background:var(--accent-subtle)}.context-menu-item--danger:active{background:rgba(229,57,53,.08);color:var(--error,#e53935)}.context-menu-item--disabled:active,.tree-item--system:active{background:none;transform:none}.tree-item--system:active{background:var(--bg-overlay)}html.is-mobile .sidebar-footer-item:active,html.is-mobile .tree-item:active{--tap-scale:0.96}.support-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.support-files{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.support-file{display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);font-size:12px;color:var(--text-secondary)}.support-file button{display:inline-flex;border:none;background:none;color:var(--text-muted);cursor:pointer;padding:2px}.support-diag summary{font-size:12px;color:var(--text-muted);cursor:pointer}.support-diag dl{margin:6px 0 0;display:grid;grid-template-columns:max-content 1fr;grid-gap:2px 10px;gap:2px 10px;font-size:12px}.support-diag dl>div{display:contents}.support-diag dt{color:var(--text-muted)}.support-diag dd{margin:0;color:var(--text-secondary);overflow-wrap:anywhere}.support-error{color:var(--danger)}.support-limit-list{margin:6px 0;padding-left:18px;font-size:13px;color:var(--text-secondary)}.support-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.support-list-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-family:inherit;font-size:13px;text-align:left;cursor:pointer}.support-list-number{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500}.support-list-status{color:var(--text-muted);font-size:12px}.support-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:auto;flex-shrink:0}.support-thread{display:flex;flex-direction:column;gap:8px;margin-top:10px}.support-msg{padding:8px 10px;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border);font-size:13px}.support-msg--support{background:var(--accent-subtle)}.support-msg-author{font-size:11px;color:var(--text-muted);margin-bottom:3px}.support-msg-body{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-primary)}.support-msg-files{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;margin-top:6px;font-size:11px;color:var(--text-muted)}.support-msg-file{margin:0;display:flex;flex-direction:column;gap:2px}.support-msg-file img{display:block;max-width:140px;max-height:110px;border:1px solid var(--border);border-radius:var(--radius-sm);object-fit:cover}.support-msg-file-pending{display:inline-flex;align-items:center;justify-content:center;width:60px;height:44px;border:1px dashed var(--border);border-radius:var(--radius-sm)}.support-limit-list button{margin-left:8px;padding:0 4px;font-size:12px}.sidebar-footer-item .support-dot{margin-left:6px}.media-view{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:var(--bg-app)}.media-view-bar{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--border);background:var(--bg-surface)}.media-view-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--text-secondary)}.media-view-stage{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}.media-view-message{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.media-view-message-icon{width:28px;height:28px}.media-view-image,.media-view-player{max-width:100%;max-height:100%;object-fit:contain}.media-view-audio{width:min(480px,100%)}.media-view-frame{width:100%;height:100%;border:0;background:var(--bg-surface)}.media-view-file{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 32px;border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-secondary);font-size:13px;cursor:pointer}.media-view-file:hover{color:var(--text-primary);border-style:solid}.block-media-hoverzone{position:relative}.block-media-edit{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease}.block-media-edit:focus-visible,.block-media-hoverzone:hover .block-media-edit{opacity:1}.block-media-edit:hover{color:var(--text-primary)}html.is-mobile .block-media-edit{opacity:1;width:44px;height:44px}.image-editor-tool--on{color:var(--accent);border-color:var(--accent)}