:root{--bg:#1e1e1e;--bg-secondary:#252526;--bg-elevated:#2d2d30;--text:#d4d4d4;--text-secondary:#9d9d9d;--accent:#569cd6;--accent-hover:#6eb5f0;--accent-muted:rgba(86,156,214,.15);--border:#3c3c3c;--border-subtle:#2d2d30;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#4ade80;--warning:#fbbf24;--danger:#f87171;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:999px;--surface-hover:color-mix(in srgb,var(--bg-secondary) 88%,var(--accent-muted));--focus-ring:0 0 0 3px var(--accent-muted);--shadow-soft:0 8px 24px color-mix(in srgb,var(--shadow) 34%,transparent);--shadow-card:0 10px 28px color-mix(in srgb,var(--shadow) 30%,transparent);--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"Fira Code","Cascadia Code",Consolas,monospace;--text-xs:11px;--text-sm:13px;--text-base:14px;--text-lg:16px;--text-xl:18px;--toolbar-control-height:36px;--toolbar-control-height-compact:31px;--transition-fast:100ms ease;--transition-base:150ms ease;--transition-slow:300ms ease}[data-theme=default]{--bg:#1e1e1e;--bg-secondary:#252526;--bg-elevated:#2d2d30;--text:#d4d4d4;--text-secondary:#9d9d9d;--accent:#569cd6;--accent-hover:#6eb5f0;--accent-muted:rgba(86,156,214,.15);--border:#3c3c3c;--border-subtle:#2d2d30;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#4ade80;--warning:#fbbf24;--danger:#f87171}[data-theme=classic-white]{--bg:#fff;--bg-secondary:#f5f5f5;--bg-elevated:#fff;--text:#333;--text-secondary:#666;--accent:#06c;--accent-hover:#0052a3;--accent-muted:rgba(0,102,204,.12);--border:#e0e0e0;--border-subtle:#f0f0f0;--shadow:rgba(0,0,0,.08);--shadow-strong:rgba(0,0,0,.15);--success:#22c55e;--warning:#f59e0b;--danger:#ef4444}[data-theme=obsidian-light]{--bg:#fff;--bg-secondary:#f5f5f5;--bg-elevated:#fafafa;--text:#383a42;--text-secondary:#6b7280;--accent:#7c3aed;--accent-hover:#6d28d9;--accent-muted:rgba(124,58,237,.12);--border:#e5e5e5;--border-subtle:#f0f0f0;--shadow:rgba(0,0,0,.08);--shadow-strong:rgba(0,0,0,.12);--success:#059669;--warning:#d97706;--danger:#dc2626}[data-theme=ink]{--bg:#f5f5f0;--bg-secondary:#eaeae0;--bg-elevated:#fff;--text:#2c2c2c;--text-secondary:#666;--accent:#1565c0;--accent-hover:#0d47a1;--accent-muted:rgba(21,101,192,.12);--border:#d0d0c0;--border-subtle:#e8e8e0;--shadow:rgba(0,0,0,.1);--shadow-strong:rgba(0,0,0,.2);--success:#22c55e;--warning:#f59e0b;--danger:#ef4444}[data-theme=eye-care]{--bg:#f0ebe0;--bg-secondary:#e5dfd5;--bg-elevated:#f5f0e8;--text:#35302a;--text-secondary:#655e55;--accent:#856e58;--accent-hover:#755e48;--accent-muted:rgba(133,110,88,.1);--border:#d5cec5;--border-subtle:#e5dfd5;--shadow:rgba(45,35,25,.08);--shadow-strong:rgba(45,35,25,.14);--success:#657858;--warning:#9a7840;--danger:#8a4848}[data-theme=github-dark]{--bg:#0d1117;--bg-secondary:#161b22;--bg-elevated:#21262d;--text:#c9d1d9;--text-secondary:#8b949e;--accent:#58a6ff;--accent-hover:#388bfd;--accent-muted:rgba(88,166,255,.15);--border:#30363d;--border-subtle:#21262d;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#3fb950;--warning:#d29922;--danger:#f85149}[data-theme=night]{--bg:#1a1a2e;--bg-secondary:#16213e;--bg-elevated:#1f2544;--text:#eaeaea;--text-secondary:#a0a0a0;--accent:#00d9ff;--accent-hover:#00b8cc;--accent-muted:rgba(0,217,255,.15);--border:#2d2d44;--border-subtle:#252540;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#4ade80;--warning:#fbbf24;--danger:#f87171}[data-theme=one-dark]{--bg:#282c34;--bg-secondary:#21252b;--bg-elevated:#2c313a;--text:#abb2bf;--text-secondary:#5c6370;--accent:#61afef;--accent-hover:#4da8ec;--accent-muted:rgba(97,175,239,.15);--border:#3e4451;--border-subtle:#2c313a;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#98c379;--warning:#e5c07b;--danger:#e06c75}[data-theme=nord]{--bg:#2e3440;--bg-secondary:#3b4252;--bg-elevated:#434c5e;--text:#eceff4;--text-secondary:#d8dee9;--accent:#88c0d0;--accent-hover:#81a1c1;--accent-muted:rgba(136,192,208,.15);--border:#4c566a;--border-subtle:#3b4252;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#a3be8c;--warning:#ebcb8b;--danger:#bf616a}[data-theme=tokyo-night]{--bg:#1a1b26;--bg-secondary:#24283b;--bg-elevated:#2a2f4a;--text:#c0caf5;--text-secondary:#565f89;--accent:#7aa2f7;--accent-hover:#89b4fa;--accent-muted:rgba(122,162,247,.15);--border:#3b4261;--border-subtle:#292e42;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#9ece6a;--warning:#e0af68;--danger:#f7768e}[data-theme=ocean]{--bg:#0a1929;--bg-secondary:#132f4c;--bg-elevated:#1a3a5c;--text:#e0f2f1;--text-secondary:#8fb8b3;--accent:#00bcd4;--accent-hover:#0097a7;--accent-muted:rgba(0,188,212,.15);--border:#173a5e;--border-subtle:#0f2a44;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#4dd0e1;--warning:#ffd54f;--danger:#ef5350}[data-theme=material-ocean]{--bg:#263238;--bg-secondary:#37474f;--bg-elevated:#455a64;--text:#eceff1;--text-secondary:#b0bec5;--accent:#29b6f6;--accent-hover:#03a9f4;--accent-muted:rgba(41,182,246,.15);--border:#546e7a;--border-subtle:#37474f;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#66bb6a;--warning:#ffca28;--danger:#ef5350}[data-theme=forest]{--bg:#1a2f1a;--bg-secondary:#243524;--bg-elevated:#2d4029;--text:#c8e6c8;--text-secondary:#8fb88f;--accent:#4caf50;--accent-hover:#3d9142;--accent-muted:rgba(76,175,80,.15);--border:#2d4a2d;--border-subtle:#243a24;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#81c784;--warning:#ffb74d;--danger:#e57373}[data-theme=gruvbox]{--bg:#282828;--bg-secondary:#3c3836;--bg-elevated:#504945;--text:#ebdbb2;--text-secondary:#a89984;--accent:#fabd2f;--accent-hover:#f0c044;--accent-muted:rgba(250,189,47,.15);--border:#5c4834;--border-subtle:#4a3f30;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#b8bb26;--warning:#fe8019;--danger:#fb4934}[data-theme=base16-green]{--bg:#002b36;--bg-secondary:#073642;--bg-elevated:#094550;--text:#8f93a4;--text-secondary:#686a6e;--accent:#509796;--accent-hover:#42717b;--accent-muted:rgba(80,151,150,.15);--border:#00404e;--border-subtle:#003544;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#8f9366;--warning:#b4885a;--danger:#9c5e5e}[data-theme=zenburn]{--bg:#3f3f3f;--bg-secondary:#4a4a4a;--bg-elevated:#555;--text:#d4d0c8;--text-secondary:#a8a090;--accent:#8db28c;--accent-hover:#7ca674;--accent-muted:rgba(141,178,140,.15);--border:#5f5f5f;--border-subtle:#4f4f4f;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#9db89a;--warning:#e0af68;--danger:#d78787}[data-theme=chocolate]{--bg:#2d1f1f;--bg-secondary:#3d2a2a;--bg-elevated:#4a3333;--text:#f5e6e6;--text-secondary:#b8a0a0;--accent:#d7a86e;--accent-hover:#c49458;--accent-muted:hsla(33,57%,64%,.15);--border:#4d3333;--border-subtle:#3d2828;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#81c784;--warning:#ffb74d;--danger:#ef5350}[data-theme=solarized-dark]{--bg:#002b36;--bg-secondary:#073642;--bg-elevated:#0a4052;--text:#839496;--text-secondary:#586e75;--accent:#2aa198;--accent-hover:#23918a;--accent-muted:rgba(42,161,152,.15);--border:#073642;--border-subtle:#0a3a4a;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#859900;--warning:#b58900;--danger:#dc322f}[data-theme=dracula]{--bg:#282a36;--bg-secondary:#383a4a;--bg-elevated:#44475a;--text:#f8f8f2;--text-secondary:#a8a8b8;--accent:#bd93f9;--accent-hover:#a377e8;--accent-muted:rgba(189,147,249,.15);--border:#44475a;--border-subtle:#383a4a;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#50fa7b;--warning:#f1fa8c;--danger:#f55}[data-theme=catppuccin]{--bg:#1e1e2e;--bg-secondary:#313244;--bg-elevated:#45475a;--text:#cdd6f4;--text-secondary:#a6adc8;--accent:#cba6f7;--accent-hover:#b689d4;--accent-muted:rgba(203,166,247,.15);--border:#585b70;--border-subtle:#45475a;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#a6e3a1;--warning:#f9e2af;--danger:#f38ba8}[data-theme=violet]{--bg:#1f1b2d;--bg-secondary:#2d2840;--bg-elevated:#3a3550;--text:#e8e0f0;--text-secondary:#b0a0c0;--accent:#9b59b6;--accent-hover:#8e47a3;--accent-muted:rgba(155,89,182,.15);--border:#3d3550;--border-subtle:#332a44;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#a8d8a8;--warning:#f0c080;--danger:#d87070}[data-theme=monokai]{--bg:#272822;--bg-secondary:#3e3d32;--bg-elevated:#49483e;--text:#f8f8f2;--text-secondary:#a8a89c;--accent:#f92672;--accent-hover:#d47389;--accent-muted:rgba(249,38,114,.15);--border:#49483e;--border-subtle:#3e3d32;--shadow:rgba(0,0,0,.3);--shadow-strong:rgba(0,0,0,.5);--success:#a6e22e;--warning:#fd971f;--danger:#f92672}[data-theme=rose]{--bg:#2d1f2d;--bg-secondary:#3d2a3d;--bg-elevated:#4a334a;--text:#f5e6f5;--text-secondary:#b8a0b8;--accent:#e91e63;--accent-hover:#c2185b;--accent-muted:rgba(233,30,99,.15);--border:#4d334d;--border-subtle:#3d2840;--shadow:rgba(233,30,99,.2);--shadow-strong:rgba(233,30,99,.4);--success:#81c784;--warning:#ffb74d;--danger:#e91e63}[data-theme=abyss]{--bg:#00040a;--bg-secondary:#0a1428;--bg-elevated:#0f1e38;--text:#cdd9e5;--text-secondary:#8b99a8;--accent:#ff4242;--accent-hover:#e03535;--accent-muted:rgba(255,66,66,.15);--border:#1a2844;--border-subtle:#0f1e38;--shadow:rgba(0,0,0,.5);--shadow-strong:rgba(0,0,0,.8);--success:#54a7a3;--warning:#e39c3d;--danger:#ff4242}[data-theme=cyberpunk]{--bg:#0d0221;--bg-secondary:#150a3d;--bg-elevated:#1a0d4a;--text:#f0f0f0;--text-secondary:#a0a0a0;--accent:#ff2a6d;--accent-hover:#d94a7a;--accent-muted:rgba(255,42,109,.15);--border:#1f0835;--border-subtle:#150a2a;--shadow:rgba(255,42,109,.2);--shadow-strong:rgba(255,42,109,.4);--success:#05ffa1;--warning:#ffb700;--danger:#ff2a6d}.hljs{display:block;overflow-x:auto;padding:var(--space-5);background:var(--bg-elevated);color:var(--text)}.hljs-comment,.hljs-quote{color:var(--text-secondary);font-style:italic}.hljs-addition,.hljs-keyword,.hljs-selector-tag{color:var(--accent)}.hljs-doctag,.hljs-literal,.hljs-meta .hljs-meta-string,.hljs-number,.hljs-regexp,.hljs-string{color:var(--success)}.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-title{color:var(--warning)}.hljs-attr,.hljs-attribute,.hljs-class .hljs-title,.hljs-template-variable,.hljs-type,.hljs-variable{color:var(--accent)}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-meta .hljs-keyword,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-subst,.hljs-symbol{color:var(--text)}.hljs-built_in,.hljs-deletion{color:var(--danger)}.hljs-formula{background:var(--bg-secondary)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent;border-radius:4px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;-webkit-transition:background var(--transition-base);transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}html{scroll-behavior:smooth}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--bg);color:var(--text)}body{display:flex;flex-direction:column}.toolbar{gap:var(--space-3);padding:var(--space-3) var(--space-5);background-color:color-mix(in srgb,var(--bg-elevated) 92%,var(--bg));border-bottom:1px solid color-mix(in srgb,var(--border-subtle) 84%,transparent);flex-wrap:wrap;box-shadow:0 1px 0 color-mix(in srgb,var(--bg) 60%,transparent),0 8px 18px color-mix(in srgb,var(--shadow) 16%,transparent)}.toolbar,.toolbar-group{display:flex;align-items:center}.toolbar-group{gap:var(--space-2)}.toolbar-divider{width:1px;height:24px;background-color:var(--border-subtle);margin:0 var(--space-2)}.auto-save-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:var(--text-sm);line-height:1;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.auto-save-toggle input{accent-color:var(--accent);cursor:pointer}.toolbar-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:500;line-height:1;height:var(--toolbar-control-height);transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.toolbar-btn:hover{background-color:var(--surface-hover);border-color:color-mix(in srgb,var(--accent) 72%,var(--border));box-shadow:0 4px 12px color-mix(in srgb,var(--shadow) 18%,transparent);transform:translateY(-1px)}.toolbar-btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.toolbar-btn:active{box-shadow:none;transform:translateY(0) scale(.98)}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.toolbar-btn.primary{background-color:var(--accent);color:var(--bg);border-color:var(--accent)}.toolbar-btn.primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.toolbar-btn.primary:focus-visible{box-shadow:var(--focus-ring)}.toolbar-btn.primary:active{background-color:var(--accent);transform:scale(.98)}.toolbar-btn.danger{background-color:transparent;color:var(--text-secondary);border-color:var(--border)}.toolbar-btn.danger:hover{background-color:var(--danger);color:#fff;border-color:var(--danger)}.toolbar-btn.home-btn{padding:0;background:transparent;border-color:transparent}.toolbar-btn.home-btn:hover{background:transparent;border-color:transparent;box-shadow:none}.toolbar-btn.icon-only{padding:var(--space-2);min-width:var(--toolbar-control-height);min-height:var(--toolbar-control-height)}.theme-select{padding:var(--space-2) var(--space-3);background-color:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:500;line-height:1;height:var(--toolbar-control-height);transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.theme-select:hover{background-color:var(--surface-hover);border-color:color-mix(in srgb,var(--accent) 72%,var(--border))}.theme-select:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.editor-container{display:flex;flex:1 1;overflow:hidden;position:relative}.ai-diff-pane,.editor-pane,.preview-pane{overflow:auto;padding:var(--space-5);height:100%}.editor-pane{border-right:none;overflow:hidden}.ai-diff-pane,.editor-pane,.preview-pane{flex:0 0 var(--pane-size,calc(50% - 3px));background-color:var(--bg)}.ai-diff-pane,.preview-pane{min-width:200px}.ai-diff-pane{border-inline:1px solid var(--border-subtle);padding:var(--space-3)}.editor-container.has-ai-diff .ai-diff-pane,.editor-container.has-ai-diff .editor-pane,.editor-container.has-ai-diff .preview-pane{min-width:0}.preview-updating{color:var(--text-muted);font-size:12px;line-height:1;white-space:nowrap}.resize-handle{width:6px;background-color:color-mix(in srgb,var(--border-subtle) 88%,var(--bg));cursor:col-resize;flex-shrink:0;transition:background-color var(--transition-fast),box-shadow var(--transition-fast);position:relative;z-index:10}.resize-handle:active,.resize-handle:hover{background-color:color-mix(in srgb,var(--accent) 74%,var(--border-subtle));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.resize-handle-static{cursor:default}.resize-handle-static:active,.resize-handle-static:hover{background-color:var(--border-subtle)}.resize-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:30px;background-color:var(--text);opacity:.24;border-radius:1px}.ai-diff-panel{flex-direction:column;height:100%;min-height:0}.ai-diff-header,.ai-diff-panel{display:flex;gap:var(--space-3)}.ai-diff-header{align-items:flex-start;justify-content:space-between;padding:var(--space-3);border:1px solid color-mix(in srgb,var(--border) 84%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg-elevated) 88%,var(--bg));box-shadow:0 6px 18px color-mix(in srgb,var(--shadow) 12%,transparent)}.ai-diff-header h2{margin:3px 0 0;color:var(--text);font-size:var(--text-base);line-height:1.2}.ai-diff-header p{margin:4px 0 0;color:var(--text-secondary);font-size:var(--text-xs)}.ai-diff-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.ai-diff-apply-all,.ai-diff-dismiss,.ai-diff-region-apply{border:1px solid var(--border);border-radius:999px;background:var(--bg-secondary);color:var(--text);cursor:pointer;font-size:var(--text-xs);font-weight:650;transition:background-color var(--transition-fast),border-color var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.ai-diff-apply-all,.ai-diff-region-apply{padding:6px 10px}.ai-diff-apply-all{border-color:var(--accent);background:var(--accent);color:var(--bg)}.ai-diff-dismiss{width:28px;height:28px;padding:0;font-size:var(--text-lg);line-height:1}.ai-diff-apply-all:hover:not(:disabled),.ai-diff-dismiss:hover,.ai-diff-region-apply:hover:not(:disabled){transform:translateY(-1px);border-color:var(--accent-hover)}.ai-diff-apply-all:hover:not(:disabled){background:var(--accent-hover)}.ai-diff-apply-all:disabled,.ai-diff-region-apply:disabled{cursor:not-allowed;opacity:.5}.ai-diff-fulltext{border:1px solid color-mix(in srgb,var(--border) 84%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg-secondary) 94%,var(--bg));font-family:var(--font-mono);line-height:1.55;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--bg-elevated) 64%,transparent)}.ai-diff-fulltext,.ai-reply-content{min-height:0;overflow:auto;font-size:var(--text-sm)}.ai-reply-content{line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.ai-diff-region{position:relative;min-width:0;border-block:1px solid transparent;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.ai-diff-region:focus-within,.ai-diff-region:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent-muted) 55%,transparent);box-shadow:inset 3px 0 0 color-mix(in srgb,var(--accent) 70%,transparent)}.ai-diff-region-apply{position:absolute;top:var(--space-1);right:var(--space-2);z-index:2;opacity:0;pointer-events:none;border-color:var(--accent);background:var(--accent);color:var(--bg);box-shadow:0 6px 16px color-mix(in srgb,var(--shadow) 42%,transparent)}.ai-diff-region:focus-within .ai-diff-region-apply,.ai-diff-region:hover .ai-diff-region-apply{opacity:1;pointer-events:auto}.ai-diff-region:focus-within .ai-diff-region-apply:disabled,.ai-diff-region:hover .ai-diff-region-apply:disabled{pointer-events:none}.ai-diff-conflict{margin:var(--space-2) var(--space-3);padding:var(--space-2);border:1px solid color-mix(in srgb,var(--danger) 50%,var(--border));border-radius:var(--radius-md);background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger);font-size:var(--text-xs)}.ai-diff-empty{padding:var(--space-4);color:var(--text-secondary)}.ai-diff-line{display:grid;grid-template-columns:42px 18px minmax(0,1fr);align-items:start;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.ai-diff-line-plain{grid-template-columns:minmax(0,1fr)}.ai-diff-line-added{background:color-mix(in srgb,var(--success) 15%,transparent);color:color-mix(in srgb,var(--success) 72%,var(--text))}.ai-diff-line-removed{background:color-mix(in srgb,var(--danger) 15%,transparent);color:color-mix(in srgb,var(--danger) 72%,var(--text))}.ai-diff-line-context{color:var(--text-secondary)}.ai-diff-line-number,.ai-diff-line-prefix{-webkit-user-select:none;-moz-user-select:none;user-select:none;color:color-mix(in srgb,var(--text-secondary) 72%,transparent);white-space:pre}.ai-diff-line-number{padding-right:var(--space-2);text-align:right}.ai-diff-line-text{min-width:0;padding-right:var(--space-3);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.ai-diff-segment-removed{border-radius:3px;background:color-mix(in srgb,var(--danger) 36%,transparent);color:color-mix(in srgb,var(--danger) 88%,var(--text));text-decoration:line-through;text-decoration-thickness:1px}.ai-diff-segment-added{border-radius:3px;background:color-mix(in srgb,var(--success) 34%,transparent);color:color-mix(in srgb,var(--success) 88%,var(--text))}.editor-textarea{width:100%;height:100%;background-color:var(--bg);color:var(--text);border:none;outline:none;resize:none;font-family:var(--font-mono);font-size:var(--text-lg);line-height:1.6;padding:0;overflow-y:auto;caret-color:var(--accent)}.editor-textarea::selection,.markdown-body ::selection{background:color-mix(in srgb,var(--accent) 32%,transparent)}.markdown-body{max-width:900px;margin:0 auto;background-color:var(--bg);line-height:1.7;overflow-wrap:break-word;word-break:break-word;padding-bottom:20px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.3}.markdown-body h1:first-child,.markdown-body h2:first-child,.markdown-body h3:first-child,.markdown-body h4:first-child,.markdown-body h5:first-child,.markdown-body h6:first-child{margin-top:0}.markdown-body h1{font-size:2em}.markdown-body h1,.markdown-body h2{border-bottom:1px solid var(--border);padding-bottom:.3em}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{font-size:.85em;color:var(--text-secondary)}.markdown-body blockquote,.markdown-body details,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:1em}.markdown-body code{background-color:var(--accent-muted);color:var(--accent);padding:.15em .4em;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.9em}.markdown-body pre{background-color:color-mix(in srgb,var(--bg-elevated) 94%,var(--bg));padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--border-subtle) 86%,transparent);box-shadow:0 8px 22px color-mix(in srgb,var(--shadow) 18%,transparent);overflow-x:auto;white-space:pre}.markdown-body pre code{display:block;background-color:transparent;padding:0;color:var(--text);font-size:var(--text-sm);line-height:1.7;white-space:pre;word-break:normal;overflow-wrap:normal}.markdown-body blockquote{border-left:4px solid var(--accent);padding:0 var(--space-4);margin-left:0;color:var(--text-secondary);background:linear-gradient(90deg,var(--accent-muted),transparent 82%);border-radius:0 var(--radius-md) var(--radius-md) 0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:.25em;margin-bottom:.25em}.markdown-body li{margin-bottom:.25em}.markdown-body li>p{margin-bottom:.5em}.markdown-body .contains-task-list{padding-left:1.5em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item input[type=checkbox],.markdown-body .task-list-marker,.markdown-body input[type=checkbox]{margin:0 .5em .2em -1.5em;vertical-align:middle}.markdown-body .task-list-marker{display:inline-block;width:1em;color:var(--accent)}.markdown-body table{display:block;width:100%;max-width:100%;border-collapse:collapse;border-radius:var(--radius-md);overflow-x:auto;border:1px solid color-mix(in srgb,var(--border) 82%,transparent)}.markdown-body td,.markdown-body th{border:1px solid var(--border);padding:var(--space-3) var(--space-4);text-align:left;vertical-align:top}.markdown-body th{background-color:var(--bg-elevated);font-weight:600}.markdown-body tr:nth-child(2n){background-color:var(--bg-secondary)}.markdown-body a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}.markdown-body a:hover{color:var(--accent-hover);text-decoration:underline}.markdown-body a:visited{opacity:.8}.markdown-body img{display:block;max-width:100%;height:auto;margin:1em auto;border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.markdown-body hr{border:none;border-top:1px solid var(--border);margin:2em 0}.katex-display{max-width:100%;margin:1em 0;overflow-x:auto;overflow-y:hidden}.pdf-export-host{position:fixed;left:0;top:0;width:var(--pdf-page-width,794px);min-height:var(--pdf-page-height,1123px);overflow:visible;background:var(--bg,#fff);color:var(--text,#111827);pointer-events:none;z-index:-1;transform:translateX(-120vw)}.pdf-export-root,.pdf-export-root *{box-sizing:border-box;animation:none!important;transition:none!important}.pdf-export-root{--transition-fast:0ms;--transition-base:0ms;--transition-slow:0ms;width:var(--pdf-page-width,794px);min-height:var(--pdf-page-height,1123px);padding:var(--pdf-page-padding,15mm);font-family:var(--font-sans);overflow:visible;overflow-wrap:anywhere;print-color-adjust:exact;-webkit-print-color-adjust:exact}.pdf-export-root,.pdf-export-root .pdf-export-markdown{background:var(--bg,#fff);color:var(--text,#111827);font-size:var(--text-base);line-height:1.7}.pdf-export-root .pdf-export-markdown{width:100%;max-width:none;min-height:0;margin:0;padding:0;overflow:visible;box-shadow:none}.pdf-export-root .pdf-export-markdown *,.pdf-export-root .pdf-export-markdown :after,.pdf-export-root .pdf-export-markdown :before{max-width:100%}.pdf-export-root .pdf-export-markdown h1,.pdf-export-root .pdf-export-markdown h2,.pdf-export-root .pdf-export-markdown h3,.pdf-export-root .pdf-export-markdown h4,.pdf-export-root .pdf-export-markdown h5,.pdf-export-root .pdf-export-markdown h6{break-after:avoid;page-break-after:avoid}.pdf-export-root .pdf-export-markdown img{display:block;max-width:100%;max-height:var(--pdf-page-content-height,267mm);height:auto;object-fit:contain;margin-left:auto;margin-right:auto;box-shadow:none;break-inside:avoid;page-break-inside:avoid}.pdf-export-root .pdf-export-markdown .katex-display,.pdf-export-root .pdf-export-markdown blockquote,.pdf-export-root .pdf-export-markdown pre,.pdf-export-root .pdf-export-markdown table{break-inside:auto;page-break-inside:auto}.pdf-export-root .pdf-export-markdown pre{overflow:visible;-moz-tab-size:2;tab-size:2;box-shadow:none}.pdf-export-root .pdf-export-markdown code:not(pre code),.pdf-export-root .pdf-export-markdown pre,.pdf-export-root .pdf-export-markdown pre code{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.pdf-export-root .pdf-export-markdown table{display:table;width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse;overflow:visible}.pdf-export-root .pdf-export-markdown thead{display:table-header-group}.pdf-export-root .pdf-export-markdown tbody{display:table-row-group}.pdf-export-root .pdf-export-markdown tr{break-inside:avoid;page-break-inside:avoid}.pdf-export-root .pdf-export-markdown td,.pdf-export-root .pdf-export-markdown th{padding:var(--space-2) var(--space-3);word-break:break-word;overflow-wrap:anywhere}.pdf-export-root .pdf-export-markdown .katex-display{max-width:100%;overflow:visible;overflow-wrap:anywhere;word-break:break-word}.pdf-export-root .pdf-export-markdown .katex-display>.katex{max-width:100%;white-space:normal}.pdf-export-root .pdf-image-placeholder{width:100%;min-height:96px;display:flex;align-items:center;justify-content:center;padding:var(--space-4);border:1px dashed var(--border,#d1d5db);border-radius:var(--radius-md);background:var(--bg-secondary,#f9fafb);color:var(--text-secondary,#6b7280);font-size:var(--text-sm);text-align:center;overflow-wrap:anywhere}@media print{body.pdf-exporting,html.pdf-exporting{min-height:100%!important;margin:0!important;padding:0!important;overflow:visible!important;background:var(--bg,#fff)!important;color:var(--text,#111827)!important;font-family:var(--font-sans)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.pdf-exporting>:not(.pdf-export-host){display:none!important}body.pdf-exporting .pdf-export-host{left:auto!important;top:auto!important;display:block!important;overflow:visible!important;pointer-events:none!important;z-index:auto!important;transform:none!important}body.pdf-exporting .pdf-export-host,body.pdf-exporting .pdf-export-root{position:static!important;width:180mm!important;min-height:auto!important;background:var(--bg,#fff)!important;color:var(--text,#111827)!important}body.pdf-exporting .pdf-export-root{padding:0!important}body.pdf-exporting .pdf-export-root .pdf-export-markdown{max-width:none;background:var(--bg,#fff)!important;color:var(--text,#111827)!important}}.upload-zone{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.upload-zone.dragover{background-color:var(--bg-secondary)}.upload-box{width:100%;max-width:500px;padding:60px 40px;border:2px dashed var(--border);border-radius:16px;cursor:pointer;transition:all .3s}.upload-box:hover,.upload-zone.dragover .upload-box{border-color:var(--accent);background-color:var(--bg-secondary)}.upload-icon{font-size:48px;margin-bottom:20px}.upload-title{font-size:20px;font-weight:600;margin-bottom:10px}.upload-subtitle{font-size:14px;opacity:.7;margin-bottom:20px}.hidden-input{display:none}.status-bar{position:relative;gap:var(--space-5);padding:var(--space-2) var(--space-5);background-color:var(--bg-elevated);border-top:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-secondary)}.status-bar,.status-item{display:flex;align-items:center}.status-item{gap:var(--space-2)}.status-expiry{margin-left:auto}.status-item svg{flex-shrink:0;opacity:.7}.status-ai-toggle{position:absolute;left:50%;top:50%;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;line-height:1;transform:translate(-50%,-50%);transition:color var(--transition-fast)}.status-ai-toggle:hover{color:var(--text)}.status-ai-toggle:focus-visible{outline:1px solid var(--border);outline-offset:3px}.status-ai-toggle:active{transform:translate(-50%,-50%)}.loading{display:flex;align-items:center;justify-content:center;height:200px;font-size:var(--text-lg);color:var(--text-secondary)}.notification{position:fixed;top:20px;right:20px;padding:12px 20px;border-radius:var(--radius-lg);font-size:var(--text-sm);z-index:1000;border:1px solid var(--border);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideIn .3s ease}.notification.error{background-color:color-mix(in srgb,var(--danger) 14%,var(--bg-elevated));color:color-mix(in srgb,var(--danger) 86%,var(--text));border-color:color-mix(in srgb,var(--danger) 48%,var(--border))}.notification.success{background-color:color-mix(in srgb,var(--success) 14%,var(--bg-elevated));color:color-mix(in srgb,var(--success) 82%,var(--text));border-color:color-mix(in srgb,var(--success) 48%,var(--border))}@keyframes slideIn{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.upload-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:999}.upload-spinner{background:var(--bg-elevated);padding:20px 40px;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);font-size:var(--text-lg)}.spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-right:12px}@keyframes spin{to{transform:rotate(1turn)}}.filename-input{padding:8px 12px;background-color:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;width:200px;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.filename-input:hover{border-color:color-mix(in srgb,var(--accent) 58%,var(--border))}.filename-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 100px);padding:40px 20px;text-align:center}.error-icon{font-size:64px;margin-bottom:24px;opacity:.9}.error-title{font-size:24px;font-weight:600;margin-bottom:12px;color:var(--text)}.error-description{font-size:15px;color:var(--text);opacity:.7;margin-bottom:32px;max-width:400px}.error-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.error-btn{padding:10px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.error-btn-primary{background-color:var(--accent);color:var(--bg)}.error-btn-primary:hover{opacity:.85}.error-btn-secondary{background-color:var(--bg-secondary);color:var(--text);border:1px solid var(--border)}.error-btn-secondary:hover{background-color:var(--border)}.tab-bar{display:flex;gap:4px;padding:16px 20px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border)}.tab-btn{padding:8px 20px;background-color:transparent;color:var(--text);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.tab-btn:hover{background-color:var(--bg)}.tab-btn.active{background-color:var(--accent);color:var(--bg);border-color:var(--accent)}.file-list-container{flex:1 1;overflow-y:auto;padding:20px}.info-banner{max-width:800px;margin:0 auto 16px;padding:12px 16px;background-color:color-mix(in srgb,var(--accent-muted) 76%,var(--bg-secondary));border:1px solid color-mix(in srgb,var(--accent) 48%,var(--border));border-radius:var(--radius-lg);font-size:13px;display:flex;align-items:center;gap:10px}.info-icon{font-size:16px}.file-list{max-width:800px;margin:0 auto}.file-item{display:flex;align-items:center;gap:16px;padding:16px 20px;background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;cursor:pointer;transition:all .2s}.file-item:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.3)}.file-icon{font-size:32px;flex-shrink:0}.file-info{flex:1 1;min-width:0}.file-name{font-size:16px;font-weight:600;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{font-size:13px;opacity:.7;margin-bottom:2px}.file-expiry{font-size:13px;color:var(--accent)}.file-actions{display:flex;gap:8px;flex-shrink:0}.action-btn{padding:4px 12px;border-radius:var(--radius-md);font-size:12px;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast);border:none}.action-btn:hover{transform:translateY(-1px)}.action-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.action-btn:active{transform:translateY(0) scale(.98)}.action-btn.edit{background-color:var(--accent);color:var(--bg)}.action-btn.edit:hover{opacity:.85}.action-btn.delete{background-color:transparent;color:var(--danger);border:1px solid var(--danger);padding:3px 10px}.action-btn.delete:hover{background-color:var(--danger);color:#fff}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:20px;opacity:.6}.empty-text{font-size:18px;font-weight:600;margin-bottom:8px}.empty-subtext{font-size:14px;opacity:.7}.retry-btn{padding:8px 16px;background-color:var(--accent);color:var(--bg);border:none;border-radius:6px;cursor:pointer;font-size:14px}.retry-btn:hover{opacity:.85}@media (max-width:900px){.home-main,.markdown-body{max-width:100%}}@media (max-width:768px){:root{--toolbar-control-height:var(--toolbar-control-height-compact)}.editor-container{flex-direction:column}.editor-pane{border-right:none;border-bottom:1px solid var(--border)}.ai-diff-pane,.editor-pane,.preview-pane{width:100%;min-width:0;min-height:0}.ai-diff-pane{border-inline:0;border-bottom:1px solid var(--border)}.resize-handle{width:100%;height:6px;cursor:row-resize}.resize-handle:after{width:30px;height:2px}.filename-input{width:min(200px,100%)}.toolbar{padding:8px 12px}.theme-select,.toolbar-btn{padding:6px 12px;font-size:13px}}.home-page{display:flex;flex-direction:column;min-height:100vh;background-color:var(--bg)}.home-header{justify-content:space-between;padding:16px 24px;background-color:color-mix(in srgb,var(--bg-secondary) 94%,var(--bg));border-bottom:1px solid color-mix(in srgb,var(--border) 82%,transparent);box-shadow:0 8px 18px color-mix(in srgb,var(--shadow) 12%,transparent)}.home-header,.home-logo{display:flex;align-items:center}.home-logo{gap:12px;text-decoration:none;color:inherit}.home-logo:active,.home-logo:hover{opacity:1;background:transparent;color:inherit}.logo-icon{font-size:28px}.logo-text{font-size:20px;font-weight:700;color:var(--text)}.header-actions{display:flex;align-items:center;gap:12px}.home-main{flex:1 1;max-width:900px;width:100%;margin:0 auto;padding:40px 24px}.upload-zone{text-align:center;padding:48px 20px;background-color:color-mix(in srgb,var(--bg-secondary) 92%,var(--bg));border:2px dashed color-mix(in srgb,var(--border) 88%,transparent);border-radius:16px;margin-bottom:24px;transition:background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.upload-zone.dragover{border-color:var(--accent);background-color:color-mix(in srgb,var(--accent-muted) 70%,var(--bg-secondary));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent),var(--shadow-soft);transform:translateY(-1px)}.upload-zone .upload-icon{font-size:48px;margin-bottom:16px}.upload-zone .upload-title{font-size:20px;font-weight:600;color:var(--text);margin-bottom:8px}.upload-zone .upload-subtitle{font-size:14px;color:var(--text);opacity:.6}.hero-section{text-align:center;padding:48px 20px;background-color:var(--bg-secondary);border-radius:16px;margin-bottom:24px}.hero-title{font-size:32px;font-weight:700;color:var(--text);margin-bottom:12px}.hero-subtitle{font-size:16px;color:var(--text);opacity:.7;margin-bottom:28px}.quick-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.quick-actions .toolbar-btn{padding:12px 28px;font-size:15px}.quick-actions .toolbar-btn span{margin-right:6px}.warning-banner{display:flex;align-items:center;gap:12px;padding:14px 18px;background-color:color-mix(in srgb,var(--warning) 12%,var(--bg-secondary));border:1px solid color-mix(in srgb,var(--warning) 50%,var(--border));border-radius:10px;margin-bottom:32px;font-size:14px;box-shadow:0 6px 18px color-mix(in srgb,var(--shadow) 12%,transparent)}.warning-icon{font-size:20px;flex-shrink:0}.file-section{margin-top:20px}.section-title{font-size:20px;font-weight:600;color:var(--text);margin-bottom:0;padding-left:4px}.file-grid{display:flex;flex-direction:column;gap:12px}.file-card{display:flex;align-items:center;gap:16px;padding:16px 20px;background-color:color-mix(in srgb,var(--bg-secondary) 94%,var(--bg));border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:12px;cursor:pointer;transition:background-color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);will-change:transform}.file-card:hover{background-color:color-mix(in srgb,var(--bg-secondary) 86%,var(--accent-muted));border-color:color-mix(in srgb,var(--accent) 68%,var(--border));transform:translate3d(0,-1px,0);box-shadow:var(--shadow-card)}.file-card-icon{font-size:36px;flex-shrink:0}.file-card-content{flex:1 1;min-width:0}.file-card-name{font-size:16px;font-weight:600;color:var(--text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-card-meta{font-size:13px;color:var(--text);opacity:.6}.file-card-meta .separator{margin:0 6px}.file-card-meta .expiry{color:var(--accent);opacity:1}.file-card.batch-mode{cursor:pointer}.file-card.batch-mode:hover{background-color:var(--accent-muted)}.file-card.selected{border-color:var(--accent);background-color:color-mix(in srgb,var(--accent-muted) 72%,var(--bg-secondary));box-shadow:inset 3px 0 0 var(--accent),0 0 0 1px var(--accent-muted),var(--shadow-soft)}.file-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--accent);flex-shrink:0}.file-checkbox.select-all{margin:0}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.batch-controls,.section-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.select-all-control{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);cursor:pointer;font-size:13px;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.selected-count{font-size:13px;font-weight:500;color:var(--accent);white-space:nowrap}.batch-toolbar{position:-webkit-sticky;position:sticky;bottom:16px;z-index:10;display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px var(--shadow-strong);margin-top:16px}.batch-info{flex:1 1;font-size:14px;color:var(--text-secondary)}.home-page .batch-controls .toolbar-btn.danger,.home-page .batch-toolbar .toolbar-btn.danger{background-color:var(--danger);color:#fff;border-color:var(--danger)}.home-page .batch-controls .toolbar-btn.danger:hover,.home-page .batch-toolbar .toolbar-btn.danger:hover{opacity:.9}.file-card-actions{display:flex;gap:8px;flex-shrink:0}.action-btn.download{background-color:transparent;color:var(--accent);border:1px solid var(--accent)}.action-btn.download:hover{background-color:var(--accent);color:var(--bg)}.drop-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000}.drop-content{text-align:center;padding:60px;border:3px dashed var(--accent);border-radius:20px;background-color:var(--bg-secondary)}.drop-icon{font-size:64px;margin-bottom:16px}.drop-text{font-size:20px;font-weight:600;color:var(--text)}@media (max-width:768px){.home-main{padding:24px 16px}.hero-section{padding:32px 16px}.hero-title{font-size:24px}.quick-actions{flex-direction:column}.quick-actions .toolbar-btn{width:100%}.section-header{align-items:stretch;flex-direction:column}.batch-controls,.batch-toolbar,.section-actions{width:100%}.batch-controls,.section-actions{justify-content:flex-start}.batch-toolbar,.file-card{flex-wrap:wrap}.batch-toolbar .toolbar-btn{flex:1 1}.file-card-actions{width:100%;justify-content:flex-end;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}}.loading-page{justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--bg) 0,var(--bg-secondary) 100%)}.loading-card,.loading-page{display:flex;align-items:center}.loading-card{flex-direction:column;padding:48px 64px;background-color:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 32px var(--shadow)}.loading-spinner-large{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:24px}.loading-text{font-size:var(--text-lg);font-weight:500;color:var(--text);margin-bottom:8px}.loading-filename{font-size:var(--text-sm);color:var(--text-secondary);font-family:var(--font-mono)}.file-card.skeleton{pointer-events:none}.skeleton-icon{width:36px;height:36px;background:var(--bg-elevated);border-radius:var(--radius-md);animation:shimmer 1.5s infinite}.skeleton-name{height:16px;width:70%;margin-bottom:8px}.skeleton-meta,.skeleton-name{background:var(--bg-elevated);border-radius:var(--radius-sm);animation:shimmer 1.5s infinite}.skeleton-meta{height:13px;width:50%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ai-chat-panel{flex-shrink:0;padding:8px 12px;background:color-mix(in srgb,var(--bg-secondary) 88%,var(--bg));border-top:1px solid color-mix(in srgb,var(--border) 82%,transparent);box-shadow:0 -8px 22px color-mix(in srgb,var(--shadow) 14%,transparent)}.ai-chat-panel.is-expanded{display:flex;flex-direction:column;gap:6px}.ai-chat-header{justify-content:space-between;gap:var(--space-3)}.ai-chat-header,.ai-chat-title{display:flex;align-items:center;min-width:0}.ai-chat-title{gap:8px}.ai-chat-title h2{margin:0;color:var(--text);font-size:var(--text-sm);font-weight:650;line-height:1.2;white-space:nowrap}.ai-chat-scope{min-width:0;padding:2px 7px;border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:999px;background-color:color-mix(in srgb,var(--bg) 54%,transparent);color:var(--text-secondary);font-size:11px;line-height:1.35;white-space:nowrap}.ai-chat-toggle{border:1px solid color-mix(in srgb,var(--border) 86%,transparent);background:color-mix(in srgb,var(--bg-elevated) 90%,var(--bg));color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);min-height:26px;padding:0 10px;border-radius:999px;font-size:12px;line-height:1;white-space:nowrap}.ai-chat-toggle:hover{border-color:color-mix(in srgb,var(--accent) 54%,var(--border));color:var(--text);background:color-mix(in srgb,var(--bg-elevated) 98%,var(--bg))}.ai-chat-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ai-chat-toggle:active{transform:scale(.98)}.ai-chat-form{display:flex;flex-direction:column;gap:4px;min-width:0}.ai-chat-composer{display:flex;align-items:center;gap:8px;padding:4px;border:1px solid color-mix(in srgb,var(--border) 86%,transparent);border-radius:999px;background:color-mix(in srgb,var(--bg-elevated) 90%,var(--bg));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--bg) 42%,transparent);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.ai-chat-composer:focus-within{border-color:color-mix(in srgb,var(--accent) 78%,var(--border));background:color-mix(in srgb,var(--bg-elevated) 98%,var(--bg));box-shadow:var(--focus-ring),inset 0 1px 0 color-mix(in srgb,var(--bg) 42%,transparent)}.ai-chat-input{flex:1 1;min-height:30px;max-height:88px;padding:5px 10px;resize:none;border:0;border-radius:999px;outline:none;background:transparent;color:var(--text);box-shadow:none;font-family:var(--font-sans);font-size:var(--text-sm);line-height:1.35}.ai-chat-input::placeholder{color:color-mix(in srgb,var(--text-secondary) 70%,transparent)}.ai-chat-input:disabled{cursor:not-allowed;opacity:.62}.ai-chat-submit{min-height:30px;padding:0 14px;border:1px solid var(--accent);border-radius:999px;background-color:var(--accent);color:var(--bg);cursor:pointer;font-size:12px;font-weight:650;line-height:1;white-space:nowrap;box-shadow:none;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast)}.ai-chat-submit:hover:not(:disabled){background-color:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}.ai-chat-submit:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ai-chat-submit:active:not(:disabled){transform:scale(.98)}.ai-chat-submit:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.ai-chat-feedback{min-height:14px;padding:0 2px;color:var(--text-secondary);font-size:11px;line-height:1.25}.ai-chat-status{color:inherit}.ai-chat-error{color:var(--danger)}@media (max-width:768px){.ai-chat-panel{padding:7px 10px}.ai-chat-scope{display:none}.ai-chat-title h2{font-size:13px}.ai-chat-submit{padding:0 12px}}@media (max-width:520px){.ai-chat-header{gap:var(--space-2)}.ai-chat-composer{border-radius:var(--radius-lg)}.ai-chat-input{min-width:0}.ai-chat-submit{padding:0 10px}.ai-chat-feedback{padding:0}}