:root{--bg:#1e1e1e;--bg-secondary:#252526;--bg-elevated:#2d2d30;--text:#d4d4d4;--text-secondary:#9d9d9d;--accent:#569cd6;--accent-hover:#6eb5f0;--accent-muted:#569cd626;--border:#3c3c3c;--border-subtle:#2d2d30;--shadow:#0000004d;--shadow-strong:#00000080;--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));--surface-active:color-mix(in srgb, var(--bg-secondary) 82%, 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);--shadow-hover:0 12px 32px color-mix(in srgb, var(--shadow) 38%, 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;--text-muted:var(--text-secondary);--toolbar-control-height:36px;--transition-fast:.1s ease;--transition-base:.15s ease;--transition-slow:.3s ease;--shimmer-bg:linear-gradient(90deg, var(--bg-elevated) 0%, color-mix(in srgb, var(--bg-elevated) 60%, var(--bg)), var(--bg-elevated) 100%)}[data-theme=default]{--bg:#1e1e1e;--bg-secondary:#252526;--bg-elevated:#2d2d30;--text:#d4d4d4;--text-secondary:#9d9d9d;--accent:#569cd6;--accent-hover:#6eb5f0;--accent-muted:#569cd626;--border:#3c3c3c;--border-subtle:#2d2d30;--shadow:#0000004d;--shadow-strong:#00000080;--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:#0066cc1f;--border:#e0e0e0;--border-subtle:#f0f0f0;--shadow:#00000014;--shadow-strong:#00000026;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444}[data-theme=nord]{--bg:#2e3440;--bg-secondary:#3b4252;--bg-elevated:#434c5e;--text:#eceff4;--text-secondary:#d8dee9;--accent:#88c0d0;--accent-hover:#81a1c1;--accent-muted:#88c0d026;--border:#4c566a;--border-subtle:#3b4252;--shadow:#0000004d;--shadow-strong:#00000080;--success:#a3be8c;--warning:#ebcb8b;--danger:#bf616a}[data-theme=dracula]{--bg:#282a36;--bg-secondary:#383a4a;--bg-elevated:#44475a;--text:#f8f8f2;--text-secondary:#a8a8b8;--accent:#bd93f9;--accent-hover:#a377e8;--accent-muted:#bd93f926;--border:#44475a;--border-subtle:#383a4a;--shadow:#0000004d;--shadow-strong:#00000080;--success:#50fa7b;--warning:#f1fa8c;--danger:#f55}*{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0;border-radius:4px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}html{height:100%}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--text)}.toolbar{align-items:center;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;display:flex}.toolbar-group{align-items:center;gap:var(--space-2);display:flex}.toolbar-title-group{flex:220px;min-width:180px}.toolbar-actions-group{margin-left:auto}.toolbar-left-actions{align-items:center;gap:var(--space-3);display:flex}.toolbar-left-wrapper{align-items:center;gap:var(--space-3);flex:1;display:flex}.auto-save-toggle{color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.auto-save-toggle input{accent-color:var(--accent)}.toolbar-btn.home-btn{min-width:auto;box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.toolbar-btn.home-btn:hover{box-shadow:none;background:0 0;border-color:#0000;transform:none}.toolbar-btn.home-btn:active{box-shadow:none;transform:none}.toolbar-btn.home-btn:focus-visible{box-shadow:none;border-color:#0000}.toolbar-btn.home-btn img{transition:filter var(--transition-fast), opacity var(--transition-fast)}.toolbar-btn.home-btn:hover img,.toolbar-btn.home-btn:focus-visible img{filter:brightness(1.08);opacity:.88}.toolbar-btn.icon-only{min-width:var(--toolbar-control-height);padding:var(--space-2)}.toolbar-title-input{padding:var(--space-2) var(--space-3);background-color:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-base);width:240px}.toolbar-title-input:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.toolbar-btn{justify-content:center;align-items: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);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;user-select:none;white-space:nowrap;font-weight:500;line-height:1;display:inline-flex}.toolbar-btn:hover{background-color:var(--surface-hover);border-color:color-mix(in srgb, var(--accent) 72%, var(--border));box-shadow:var(--shadow-hover);transform:translateY(-1px)}.toolbar-btn:active{box-shadow:none;background-color:var(--surface-active);transform:translateY(0)}.toolbar-btn:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.toolbar-btn.primary{background-color:var(--accent);color:var(--bg);border-color:var(--accent);box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 30%, transparent)}.toolbar-btn.primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 40%, transparent)}.toolbar-btn.primary:active{box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 25%, transparent);transform:translateY(0)}.toolbar-btn.danger{color:var(--danger);border-color:var(--danger);background-color:#0000}.toolbar-btn.danger:hover{background-color:var(--danger);color:#fff}.toolbar-btn.has-diff{background-color:var(--accent);color:var(--bg);border-color:var(--accent);animation:2s infinite pulse}.toolbar-pdf-export{display:inline-flex;position:relative}.toolbar-pdf-export:has(.toolbar-btn-caret) .toolbar-btn-split{border-right-width:0;border-top-right-radius:0;border-bottom-right-radius:0}.toolbar-pdf-export .toolbar-btn-caret{padding-left:var(--space-2);padding-right:var(--space-2);border-top-left-radius:0;border-bottom-left-radius:0;min-width:24px}.toolbar-pdf-menu{z-index:50;min-width:240px;padding:var(--space-1);background-color:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-hover);flex-direction:column;gap:2px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.toolbar-pdf-menu-item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text);text-align:left;cursor:pointer;font-size:var(--text-base);background:0 0;border:0;flex-direction:column;gap:2px;line-height:1.3;display:flex}.toolbar-pdf-menu-item:hover,.toolbar-pdf-menu-item:focus-visible{background-color:var(--surface-hover);outline:none}.toolbar-pdf-menu-item-title{font-weight:600}.toolbar-pdf-menu-item-desc{font-size:var(--text-sm,12px);color:var(--text-muted,var(--text));opacity:.75}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.theme-selector{align-items:center;gap:var(--space-2);display:flex}.theme-selector-label{font-size:var(--text-sm);color:var(--text-secondary)}.theme-selector-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-sm);height:var(--toolbar-control-height)}.edit-page{flex-direction:column;height:100vh;min-height:0;display:flex}.edit-container{flex:1;min-height:0;display:flex;overflow:hidden}.ppt-workspace{background-color:var(--bg)}.slide-nav-pane,.source-pane,.ai-source-pane,.ai-diff-pane,.preview-pane,.ai-preview-pane{border-right:1px solid var(--border-subtle);background-color:var(--bg);contain:layout;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.slide-nav-pane{background-color:var(--bg-secondary);border-right:1px solid var(--border-subtle);flex:none;min-width:100px}.source-pane{flex:none;min-width:200px}.ai-diff-pane{flex:none}.preview-pane{contain:layout paint style;border-right:none;flex:auto;min-width:0}.resize-handle{background-color:color-mix(in srgb, var(--border-subtle) 88%, var(--bg));cursor:col-resize;width:6px;transition:background-color var(--transition-fast), box-shadow var(--transition-fast);flex:0 0 6px;position:relative}body.is-resize-dragging .resize-handle,body.is-resize-dragging .pane-body,body.is-resize-dragging .slide-nav-item{transition:none!important}body.is-resize-dragging .ppt-iframe{pointer-events:none}body.is-resize-dragging .preview-pane{contain:layout style;overflow:visible}body.is-resize-dragging .preview-pane-body,body.is-resize-dragging .ppt-iframe-wrap{contain:layout;overflow:visible!important}body.is-resize-dragging .resize-handle,.resize-handle:active{background-color:color-mix(in srgb, var(--accent) 74%, var(--border-subtle));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent), 0 0 8px color-mix(in srgb, var(--accent) 40%, transparent)}body.is-resize-dragging *{cursor:col-resize!important}body.is-resize-dragging .pane-body{background-color:var(--bg-secondary)}.resize-handle:after{content:"";background:color-mix(in srgb, var(--text-secondary) 35%, transparent);border-radius:999px;position:absolute;inset:20% 2px}.pane-header{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:38px;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);background-color:color-mix(in srgb, var(--bg-elevated) 88%, var(--bg));color:var(--text-secondary);font-size:var(--text-sm);flex:none;font-weight:600;display:flex}.pane-header-meta{color:var(--accent);font-size:var(--text-xs);white-space:nowrap}.pane-body{flex:1;min-height:0;overflow:auto}.source-pane-body{flex-direction:column;height:100%;display:flex}.preview-pane-body{background:var(--bg-secondary);contain:layout paint;height:100%;min-height:0;overflow:hidden}.html-source-textarea{resize:none;min-height:0;padding:var(--space-4);background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:var(--text-sm);border:0;outline:none;flex:1;line-height:1.55}.html-source-textarea:focus{box-shadow:inset 0 0 0 1px var(--accent)}.html-source-textarea.readonly{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed;pointer-events:none}.pane-header-actions{align-items:center;gap:var(--space-2);display:flex}.pane-header-button{background:var(--bg-secondary);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-xs);letter-spacing:.02em;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);padding:3px 12px;font-weight:600}.pane-header-button:hover{background:var(--surface-hover);color:var(--accent);border-color:var(--accent)}.pane-header-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.pane-header-button:disabled{opacity:.5;cursor:not-allowed}.slide-nav{height:100%;padding:var(--space-2)}.slide-nav-list{gap:var(--space-2);flex-direction:column;display:flex}.slide-nav-list-virtual{width:100%;display:block}.slide-nav-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg);color:var(--text-secondary);cursor:pointer;text-align:left;transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);grid-template-columns:28px minmax(0,1fr);display:grid}.slide-nav-item:hover,.slide-nav-item.active{border-color:var(--accent);background:var(--accent-muted);color:var(--text);transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast)}.slide-nav-item.active{box-shadow:0 2px 8px var(--accent-muted);transform:scale(1.02)}.slide-nav-item-add{border:1px dashed var(--border);color:var(--text-secondary);cursor:pointer;padding:var(--space-2);text-align:center;height:auto;box-shadow:none;background:0 0;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex;transform:none}.slide-nav-item-add:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.slide-nav-add-icon{font-size:18px;font-weight:400;line-height:1}.slide-nav-item-wrapper{align-items:center;gap:var(--space-2);contain:layout style;display:flex;position:relative}.slide-nav-item-wrapper[data-draggable=true]{cursor:grab;touch-action:none}.slide-nav-item-wrapper[data-draggable=true]:active{cursor:grabbing}.slide-nav-item-wrapper[data-draggable=true]:hover{background:var(--surface-hover);border-radius:var(--radius-md)}.slide-nav-item-delete{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-elevated);width:20px;height:20px;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;font-size:12px;display:inline-flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}@media (hover:none){.slide-nav-item-delete{opacity:1}}@media (hover:hover){.slide-nav-item-wrapper:hover .slide-nav-item-delete{opacity:1}}.slide-nav-item-delete:hover{border-color:var(--danger);background:var(--danger);color:#fff}.slide-context-menu{z-index:3000;min-width:120px;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-card);position:fixed}.slide-context-menu-item{border-radius:var(--radius-sm);width:100%;padding:var(--space-2) var(--space-3);color:var(--text);cursor:pointer;font:inherit;font-size:var(--text-sm);text-align:left;background:0 0;border:0}.slide-context-menu-item:hover,.slide-context-menu-item:focus-visible{background:var(--surface-hover);outline:none}.slide-context-menu-item-danger:hover,.slide-context-menu-item-danger:focus-visible{background:var(--danger);color:#fff;outline:none}.slide-nav-index{border-radius:var(--radius-sm);background:var(--bg-elevated);width:28px;height:28px;color:var(--accent);font-family:var(--font-mono);font-size:var(--text-sm);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.slide-nav-title{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);overflow:hidden}.slide-nav-item.source-page{border-style:dashed}.slide-nav-item.source-page .slide-nav-index{background:var(--accent);color:#fff}.slide-nav-actions{gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);display:flex}.slide-nav-action{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);height:32px;color:var(--text-muted);font-size:var(--text-lg);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);flex:1;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.slide-nav-action.add{height:26px;font-size:var(--text-base);flex:none;padding:0 10px}.slide-nav-action:hover{border-color:var(--accent);background:var(--accent-muted);color:var(--accent)}.ai-proposal-actions{gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--border-subtle);background:var(--bg-secondary);flex:none;display:flex}.ppt-container{height:100%;min-height:100%;padding:var(--space-4);justify-content:center;align-items:flex-start;display:flex;overflow:hidden}.ppt-iframe-wrap{width:100%;height:100%;position:relative;overflow:hidden}.ppt-iframe-stage{width:var(--slide-width,1280px);height:var(--slide-height,720px);margin-left:calc(var(--slide-width,1280px) / -2);margin-top:calc(var(--slide-height,720px) / -2);transform-origin:50%;position:absolute;top:50%;left:50%;overflow:hidden;transform:scale(1)}.ppt-iframe{border:none;width:100%;height:100%;display:block}.ppt-wheel-overlay{z-index:2;background:0 0;position:absolute;inset:0}@keyframes slideEnter{0%{opacity:0;transform:scale(.96)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes slideExit{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.96)translateY(-12px)}}.ppt-iframe-wrap.is-transitioning.is-exiting .ppt-iframe{animation:.15s ease-in forwards slideExit}.ppt-iframe-wrap.is-transitioning.is-entering .ppt-iframe{animation:.15s ease-out forwards slideEnter}.pdf-export-iframe{pointer-events:none;border:none;position:fixed;top:0;left:-9999px}.ai-diff-panel{flex-direction:column;height:100%;display:flex}.ai-diff-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.ai-diff-header h3{font-size:var(--text-base);font-weight:600}.ai-diff-slide-count{font-size:var(--text-sm);color:var(--accent)}.ai-diff-tabs{border-bottom:1px solid var(--border);display:flex}.ai-diff-tab{padding:var(--space-3);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;flex:1}.ai-diff-tab:hover{color:var(--text)}.ai-diff-tab.active{color:var(--accent);border-bottom:2px solid var(--accent)}.ai-diff-content{flex-direction:column;flex:1;min-height:0;display:flex}.ai-diff-content-preview{padding:0;overflow:hidden}.ai-diff-content-html{padding:var(--space-4);overflow:auto}.ai-diff-preview{flex:1;min-height:0;display:flex}.ai-diff-source{height:100%;min-height:0}.ai-diff-fulltext{border:1px solid color-mix(in srgb, var(--border) 84%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-secondary) 70%, var(--bg));font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.55;overflow:auto}.ai-diff-empty{padding:var(--space-4);color:var(--text-secondary)}.ai-diff-line{min-width:100%;padding:2px var(--space-2);white-space:pre;transition:background-color var(--transition-fast);grid-template-columns:42px 18px minmax(0,1fr) auto;align-items:start;display:grid;position:relative}.ai-diff-line:hover{background-color:color-mix(in srgb, var(--bg-elevated) 50%, transparent)}.ai-diff-line-added{background:color-mix(in srgb, var(--success) 12%, transparent);color:color-mix(in srgb, var(--success) 72%, var(--text))}.ai-diff-line-added:hover{background:color-mix(in srgb, var(--success) 18%, transparent)}.ai-diff-line-removed{background:color-mix(in srgb, var(--danger) 12%, transparent);color:color-mix(in srgb, var(--danger) 72%, var(--text))}.ai-diff-line-removed:hover{background:color-mix(in srgb, var(--danger) 18%, transparent)}.ai-diff-line-context{color:var(--text-secondary)}.ai-diff-line-apply{margin-right:var(--space-2);border:1px solid var(--accent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent) 15%, var(--bg-elevated));color:var(--accent);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;padding:2px 8px;font-size:11px;display:none}.ai-diff-line:hover .ai-diff-line-apply{display:inline-flex}.ai-diff-line-apply:hover{background:var(--accent);color:var(--bg)}.ai-diff-line-number,.ai-diff-line-prefix{-webkit-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;word-break:break-word}.ai-diff-segment-added{background:color-mix(in srgb, var(--success) 34%, transparent);color:color-mix(in srgb, var(--success) 88%, var(--text));border-radius:3px}.ai-diff-segment-removed{background:color-mix(in srgb, var(--danger) 36%, transparent);color:color-mix(in srgb, var(--danger) 88%, var(--text));border-radius:3px;text-decoration:line-through;text-decoration-thickness:1px}.ai-diff-segment-equal{color:inherit}.ai-diff-actions{gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--border);display:flex}.ai-diff-cancel,.ai-diff-apply{padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);flex:1;font-weight:500}.ai-diff-cancel{border:1px solid var(--border);color:var(--text);background:0 0}.ai-diff-cancel:hover{background:var(--bg-secondary);box-shadow:0 4px 12px color-mix(in srgb, var(--shadow) 18%, transparent);transform:translateY(-1px)}.ai-diff-apply{background:var(--accent);border:1px solid var(--accent);color:var(--bg);box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 30%, transparent)}.ai-diff-apply:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 40%, transparent);transform:translateY(-2px)}.ai-diff-apply:active{transform:translateY(0)}.ai-chat-panel{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);flex-shrink:0;padding:8px 12px}.ai-chat-panel.is-expanded{flex-direction:column;gap:6px;display:flex}.ai-chat-header{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.ai-chat-title{align-items:center;gap:8px;min-width:0;display:flex}.ai-chat-title h2{color:var(--text);font-size:var(--text-sm);white-space:nowrap;margin:0;font-weight:650;line-height:1.2}.ai-chat-scope{border:1px solid color-mix(in srgb, var(--border) 78%, transparent);background-color:color-mix(in srgb, var(--bg) 54%, transparent);min-width:0;color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:11px;line-height:1.35}.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);white-space:nowrap;border-radius:999px;min-height:26px;padding:0 10px;font-size:12px;line-height:1}.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{box-shadow:var(--focus-ring);outline:none}.ai-chat-toggle:active{transform:scale(.98)}.ai-chat-form{flex-direction:column;gap:4px;min-width:0;display:flex}.ai-chat-composer{border:1px solid color-mix(in srgb, var(--border) 86%, transparent);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);border-radius:999px;align-items:center;gap:8px;padding:4px;display:flex}.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{resize:none;min-height:30px;max-height:88px;color:var(--text);box-shadow:none;font-family:var(--font-sans);font-size:var(--text-sm);background:0 0;border:0;border-radius:999px;outline:none;flex:1;padding:5px 10px;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{border:1px solid var(--accent);background-color:var(--accent);min-height:30px;color:var(--bg);cursor:pointer;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);border-radius:999px;padding:0 14px;font-size:12px;font-weight:650;line-height:1}.ai-chat-submit:hover:not(:disabled){background-color:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}.ai-chat-submit:focus-visible{box-shadow:var(--focus-ring);outline:none}.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;color:var(--text-secondary);padding:0 2px;font-size:11px;line-height:1.25}.ai-chat-status{color:inherit}.ai-chat-error{color:var(--danger)}.ai-chat-stream{flex-direction:column;gap:4px;margin-top:6px;display:flex}.ai-chat-stream-header{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.ai-chat-stream-title{font-weight:500}.ai-chat-stream-toggle{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:3px 8px;font-size:11px;line-height:1}.ai-chat-stream-toggle:hover{color:var(--text);border-color:var(--text-secondary)}.ai-chat-stream-output{color:var(--text-secondary);background:var(--surface-2,#00000008);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:6px;max-height:min(32vh,280px);margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;line-height:1.45;overflow:auto}@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 8px}.ai-chat-feedback{padding:0}}.status-bar{align-items:center;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);display:flex;position:relative}.status-bar-left{align-items:center;gap:var(--space-5);display:flex}.status-bar-right{align-items:center;gap:var(--space-5);margin-left:auto;display:flex}.status-item{align-items:center;gap:var(--space-2);display:flex}.status-ai-toggle{color:inherit;cursor:pointer;font:inherit;transition:color var(--transition-fast);background:0 0;border:0;padding:0;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.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%)}.home-page{background-color:var(--bg);flex-direction:column;display:flex}.home-header{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);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.home-logo{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.home-logo:hover,.home-logo:active{opacity:1;color:inherit;background:0 0}.logo-icon{font-size:28px}.logo-text{color:var(--text);font-size:20px;font-weight:700}.header-actions{align-items:center;gap:12px;display:flex}.home-main{width:100%;max-width:900px;margin:0 auto;padding:40px 24px}.warning-banner{background-color:color-mix(in srgb, var(--warning) 12%, var(--bg-secondary));border:1px solid color-mix(in srgb, var(--warning) 50%, var(--border));box-shadow:0 6px 18px color-mix(in srgb, var(--shadow) 12%, transparent);border-radius:10px;align-items:center;gap:12px;margin-bottom:32px;padding:14px 18px;font-size:14px;display:flex}.warning-icon{flex-shrink:0;font-size:20px}.presentations-section{margin-top:20px}.section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.section-title{color:var(--text);margin-bottom:0;padding-left:4px;font-size:20px;font-weight:600}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-icon{opacity:.6;margin-bottom:20px;font-size:64px}.empty-text{margin-bottom:8px;font-size:18px;font-weight:600}.empty-subtext{opacity:.7;font-size:14px}.skeleton-name{background:var(--bg-elevated);border-radius:var(--radius-sm);background-image:var(--shimmer-bg);background-size:200% 100%;width:70%;height:16px;margin-bottom:8px;animation:1.8s infinite shimmer}.skeleton-meta{background:var(--bg-elevated);border-radius:var(--radius-sm);background-image:var(--shimmer-bg);background-size:200% 100%;width:50%;height:13px;animation:1.8s .15s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-page{background:linear-gradient(135deg, var(--bg) 0%, var(--bg-secondary) 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.loading-card{background-color:var(--bg-elevated);border:1px solid var(--border);box-shadow:0 8px 32px var(--shadow);border-radius:16px;flex-direction:column;align-items:center;padding:48px 64px;display:flex}.loading-spinner-large{border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;margin-bottom:24px;animation:1s linear infinite spin}.loading-text{font-size:var(--text-lg);color:var(--text);margin-bottom:var(--space-2);font-weight:500}.loading-filename{font-size:var(--text-sm);color:var(--text-secondary);font-family:var(--font-mono)}@keyframes spin{to{transform:rotate(360deg)}}.error-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.error-icon{width:64px;height:64px;margin-bottom:var(--space-4);border:1px solid var(--border);color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:28px;display:flex}.error-title{color:var(--text);margin-bottom:var(--space-3);font-size:24px;font-weight:600}.error-description{color:var(--text-secondary);margin-bottom:var(--space-6)}.error-actions{gap:var(--space-3);display:flex}.error-btn{padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base)}.error-btn-primary{background:var(--accent);color:var(--bg);border:1px solid var(--accent)}.error-btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.toast-container{z-index:1000;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed;top:20px;right:20px}.toast{align-items:center;gap:var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-sm);box-shadow:var(--shadow-hover);pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:12px 16px;animation:.35s cubic-bezier(.16,1,.3,1) toastSlideIn;display:flex}.toast.visible{opacity:1}.toast.hidden{opacity:0;animation:.25s forwards toastSlideOut}.toast-success{background-color:color-mix(in srgb, var(--success) 12%, var(--bg-elevated));color:color-mix(in srgb, var(--success) 90%, var(--text));border:1px solid color-mix(in srgb, var(--success) 40%, var(--border))}.toast-error{background-color:color-mix(in srgb, var(--danger) 12%, var(--bg-elevated));color:color-mix(in srgb, var(--danger) 90%, var(--text));border:1px solid color-mix(in srgb, var(--danger) 40%, var(--border))}.toast-info{background-color:color-mix(in srgb, var(--accent) 12%, var(--bg-elevated));color:color-mix(in srgb, var(--accent) 90%, var(--text));border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border))}.toast-warning{background-color:color-mix(in srgb, var(--warning) 12%, var(--bg-elevated));color:color-mix(in srgb, var(--warning) 90%, var(--text));border:1px solid color-mix(in srgb, var(--warning) 40%, var(--border))}.toast-icon{background-color:color-mix(in srgb, currentColor 15%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.status-error{color:var(--danger)}.toast-message{flex:1;min-width:0}.toast-close{color:inherit;cursor:pointer;opacity:.6;transition:opacity var(--transition-fast);background:0 0;border:none;flex-shrink:0;padding:2px;font-size:16px;line-height:1}.toast-close:hover{opacity:1}@keyframes toastSlideIn{0%{opacity:0;transform:translate(calc(100% + 20px))}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(calc(100% + 20px))}}@media (max-width:768px){.toolbar{padding:var(--space-2) var(--space-3);gap:var(--space-2);flex-wrap:wrap}.toolbar-group{gap:var(--space-2);flex-wrap:wrap}.toolbar-title-input{width:auto;min-width:120px;font-size:var(--text-sm);flex:200px}.toolbar-btn{height:32px;padding:6px 10px;font-size:13px}.toolbar-btn.icon-only{min-width:32px;padding:6px}.auto-save-toggle{font-size:12px}.toolbar-group:has(>.auto-save-toggle){flex-wrap:nowrap;flex:none}.edit-container{flex-direction:column}.resize-handle{display:none}.slide-nav-pane,.source-pane,.ai-source-pane,.ai-diff-pane,.preview-pane,.ai-preview-pane,.has-ai-proposal .slide-nav-pane,.has-ai-proposal .source-pane,.has-ai-proposal .ai-source-pane,.has-ai-proposal .ai-diff-pane,.has-ai-proposal .preview-pane,.has-ai-proposal .ai-preview-pane{border-right:0;border-bottom:1px solid var(--border-subtle);flex:none;width:100%;max-width:none}.slide-nav-pane{min-width:0}.slide-nav-pane,.has-ai-proposal .slide-nav-pane{min-height:120px;overflow:hidden}.source-pane,.ai-source-pane,.has-ai-proposal .source-pane,.has-ai-proposal .ai-source-pane{min-height:80px;max-height:110px;flex:none!important}.preview-pane,.has-ai-proposal .preview-pane,.ai-preview-pane,.has-ai-proposal .ai-preview-pane{flex:2 auto;min-height:240px}.slide-nav-pane .pane-header,.source-pane .pane-header,.ai-source-pane .pane-header,.ai-diff-pane .pane-header,.preview-pane .pane-header,.ai-preview-pane .pane-header{padding:6px 10px;font-size:12px}.slide-nav-list{flex-direction:row;gap:6px;padding:4px 8px;overflow:auto hidden}.slide-nav-item{flex-shrink:0;width:auto;min-width:0;max-width:220px;height:auto;min-height:44px;padding:6px 10px}.slide-nav-item-wrapper{flex-shrink:0}.slide-nav-item-add{flex-shrink:0;width:auto;min-width:0;max-width:140px;height:auto;min-height:44px;padding:0 10px;font-size:12px}.slide-nav-add-icon{font-size:14px}.slide-nav-title{white-space:normal;line-height:1.3}.slide-nav-item:active{opacity:.85;transform:scale(.97)}.toolbar-btn:active{opacity:.75;transform:scale(.98)}.html-source-textarea{padding:var(--space-3);font-size:12px}.slide-nav-actions{display:none}.ai-diff-pane,.has-ai-proposal .ai-diff-pane{min-height:280px}.home-header{gap:var(--space-2);flex-wrap:wrap;padding:12px 16px}.home-logo{min-width:0}.logo-text{font-size:16px}.header-actions{margin-left:auto}.home-main{padding:24px 16px}.section-header{gap:var(--space-2);flex-wrap:wrap}.section-actions{flex-wrap:wrap;width:100%}.batch-controls{justify-content:flex-start;width:100%}.file-card{flex-direction:column;align-items:stretch;gap:10px;min-height:0;padding:12px 14px}.file-card-preview{border-radius:8px;order:-1;width:100%;height:96px}.file-card-content{width:100%}.file-card-name{font-size:15px}.file-card-meta{flex-wrap:wrap;gap:4px;font-size:12px}.file-card-actions{justify-content:flex-end;gap:6px;width:100%}.action-btn{padding:4px 10px;font-size:12px}.batch-toolbar{flex-wrap:wrap;margin-top:12px;padding:10px 14px;bottom:12px}.batch-toolbar .toolbar-btn{padding:6px 12px;font-size:13px}.warning-banner{padding:12px 14px;font-size:13px}.presentations-grid{grid-template-columns:1fr}.hero-section{padding:28px 16px}.hero-title{font-size:22px}.hero-subtitle{font-size:14px}.quick-actions{flex-direction:column}.quick-actions .toolbar-btn{justify-content:center;width:100%}.status-bar{flex-wrap:wrap;gap:8px;padding:6px 12px;font-size:12px;position:relative}.status-item{font-size:12px}.status-ai-toggle{margin-left:auto;position:static;transform:none}.status-ai-toggle:active{transform:none}}@media (max-width:420px){.toolbar{gap:6px;padding:6px 10px}.toolbar-btn{height:30px;padding:5px 8px;font-size:12px}.toolbar-btn.icon-only{min-width:30px;padding:5px}.toolbar-title-input{padding:5px 8px;font-size:13px}.auto-save-toggle span{display:none}.home-header{padding:8px 12px}.logo-text{text-overflow:ellipsis;white-space:nowrap;max-width:50vw;font-size:14px;overflow:hidden}.header-actions .toolbar-btn{padding:5px 10px;font-size:12px}.home-main{padding:16px 12px}.section-title{font-size:18px}.file-card{gap:8px;padding:10px 12px}.file-card-preview{height:80px}.file-card-name{font-size:14px}.file-card-actions{gap:4px}.action-btn{padding:3px 8px;font-size:11px}.file-card-badge{padding:1px 4px;font-size:10px}.status-bar{gap:4px;padding:4px 6px;font-size:11px}.status-item{font-size:11px}.preview-pane,.has-ai-proposal .preview-pane{min-height:320px}.ai-chat-panel{padding:8px 10px}.ai-chat-input{font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.upload-zone{text-align:center;background-color:color-mix(in srgb, var(--bg-secondary) 92%, var(--bg));border:2px dashed color-mix(in srgb, var(--border) 88%, transparent);transition:background-color var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);border-radius:16px;margin-bottom:24px;padding:48px 20px}.upload-zone:hover,.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{margin-bottom:16px;font-size:48px}.upload-zone .upload-title{color:var(--text);margin-bottom:8px;font-size:20px;font-weight:600}.upload-zone .upload-subtitle{color:var(--text);opacity:.6;font-size:14px}.upload-input{display:none}.hero-section{text-align:center;background:linear-gradient(135deg, var(--bg-secondary) 0%, color-mix(in srgb, var(--bg-secondary) 70%, var(--bg)) 100%);border:1px solid color-mix(in srgb, var(--border) 60%, transparent);border-radius:16px;margin-bottom:24px;padding:40px 20px}.hero-title{color:var(--text);margin-bottom:8px;font-size:28px;font-weight:700}.hero-subtitle{color:var(--text);opacity:.7;margin-bottom:24px;font-size:15px}.quick-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.quick-actions .toolbar-btn{padding:10px 24px;font-size:14px}.quick-actions .toolbar-btn span{margin-right:6px}.file-list{gap:var(--space-2);flex-direction:column;display:flex}.file-card{background-color:color-mix(in srgb, var(--bg-secondary) 94%, var(--bg));border:1px solid color-mix(in srgb, var(--border) 88%, transparent);cursor:pointer;min-height:80px;transition:background-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);will-change:transform;border-radius:12px;align-items:center;gap:16px;padding:16px 20px;display:flex}.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));box-shadow:var(--shadow-hover);transform:translateY(-2px)}.file-card-icon{flex-shrink:0;font-size:36px}.file-card-preview{border:1px solid color-mix(in srgb, var(--border) 60%, transparent);pointer-events:none;border-radius:6px;flex-shrink:0;width:80px;height:45px;overflow:hidden}.file-card-preview-iframe{border:none;width:100%;height:100%;display:block}.file-card-preview-placeholder{background:linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-elevated) 100%);width:100%;height:100%}.file-card-content{flex:1;min-width:0}.file-card-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:16px;font-weight:600;overflow:hidden}.file-card-meta{color:var(--text);opacity:.6;font-size:13px}.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{cursor:pointer;width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.file-checkbox.select-all{margin:0}.file-card-badge{border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;margin-left:8px;padding:1px 6px;font-size:11px;display:inline-block}.file-card-actions{flex-shrink:0;gap:8px;display:flex}.batch-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.select-all-control{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:inline-flex}.selected-count{color:var(--accent);white-space:nowrap;font-size:13px;font-weight:500}.batch-toolbar{z-index:10;background-color:var(--bg-elevated);border:1px solid var(--border);box-shadow:0 8px 24px var(--shadow-strong);border-radius:12px;align-items:center;gap:12px;margin-top:16px;padding:12px 16px;display:flex;position:sticky;bottom:16px}.batch-info{color:var(--text-secondary);flex:1;font-size:14px}.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.skeleton{pointer-events:none}.skeleton-card-icon{background:var(--bg-elevated);border-radius:var(--radius-md);width:40px;height:40px;animation:1.5s infinite shimmer}.skeleton-card-content{flex-direction:column;gap:6px;display:flex}.skeleton-card-name{background:var(--bg-elevated);border-radius:var(--radius-sm);width:180px;height:14px;animation:1.5s infinite shimmer}.skeleton-card-meta{background:var(--bg-elevated);border-radius:var(--radius-sm);width:120px;height:12px;animation:1.5s infinite shimmer}.file-section{margin-top:20px}.file-grid{flex-direction:column;gap:12px;display:flex}.file-grid.file-grid-virtual{width:100%;display:block;position:relative}.file-grid-virtual-item{padding-bottom:12px}.file-grid-virtual-item:last-child{padding-bottom:0}.section-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.action-btn{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);padding:6px 12px;font-size:13px}.action-btn:hover{border-color:var(--accent);background:var(--accent-muted);color:var(--text);box-shadow:0 4px 12px color-mix(in srgb, var(--shadow) 18%, transparent);transform:translateY(-1px)}.action-btn:active{box-shadow:none;transform:translateY(0)}.action-btn:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.action-btn.delete:hover{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 15%, var(--bg));color:var(--danger);box-shadow:0 4px 12px color-mix(in srgb, var(--danger) 20%, transparent)}.action-btn.download{color:var(--accent);border:1px solid var(--accent);box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 20%, transparent);background-color:#0000}.action-btn.download:hover{background-color:var(--accent);color:var(--bg);border-color:var(--accent);box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 35%, transparent);transform:translateY(-1px)}.upload-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.upload-spinner{background:var(--bg-elevated);border-radius:var(--radius-lg);color:var(--text);padding:20px 40px;font-size:14px}@media print{body *{visibility:hidden}.ppt-iframe-wrap,.ppt-iframe-wrap *{visibility:visible}.ppt-iframe-wrap{width:100%;height:auto;position:fixed;top:0;left:0}}.template-modal-overlay{z-index:1100;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.template-modal{background:var(--bg-elevated);border-radius:18px;flex-direction:column;width:100%;max-width:min(1180px,100vw - 48px);max-height:80vh;display:flex;overflow:hidden;box-shadow:0 16px 40px #00000059}.template-modal-header{border-bottom:1px solid var(--border-subtle);background:linear-gradient(180deg, color-mix(in srgb, var(--bg-elevated) 92%, var(--bg)) 0%, var(--bg-elevated) 100%);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:16px 20px 12px;display:flex}.template-modal-title{color:var(--text);letter-spacing:-.2px;margin:0;font-size:17px;font-weight:700}.template-modal-subtitle{color:var(--text-secondary);margin:4px 0 0;font-size:12px;line-height:1.4}.template-modal-close{background:color-mix(in srgb, var(--bg) 80%, var(--bg-elevated));border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:12px;flex-shrink:0;padding:8px 12px;font-size:18px;line-height:1;transition:all .15s}.template-modal-close:hover{background:var(--surface-hover);color:var(--text);border-color:color-mix(in srgb, var(--accent) 40%, var(--border));transform:translateY(-1px)}.template-modal-content{flex:1;padding:14px 20px 20px;overflow-y:auto}.template-grid{grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:12px;display:grid}.template-card{background:var(--bg);border:2px solid var(--border-subtle);cursor:pointer;text-align:left;content-visibility:auto;contain-intrinsic-size:auto 240px;will-change:transform;border-radius:14px;flex-direction:column;align-items:stretch;gap:0;padding:0;transition:transform .15s;display:flex;overflow:hidden;box-shadow:0 1px 4px #0000000f}.template-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.template-preview-wrapper{aspect-ratio:16/9;background:var(--bg-secondary);border:none;border-bottom:1px solid var(--border-subtle);border-radius:0;width:100%;margin-bottom:0;position:relative;overflow:hidden}.template-preview-iframe{pointer-events:none;border:none;width:100%;height:100%}.template-preview-placeholder{background:linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-elevated) 100%);border:none;border-radius:0;width:100%;height:100%}.template-card-body{flex-direction:column;gap:5px;padding:12px 14px;display:flex}.template-card-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.template-name{color:var(--text);letter-spacing:-.1px;font-size:14px;font-weight:700}.template-description{color:var(--text-secondary);font-size:12px;line-height:1.4}.template-pages{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:12px;font-weight:600}.template-tags{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.template-tag{color:var(--text-secondary);background:color-mix(in srgb, var(--bg-secondary) 70%, var(--bg));border:1px solid var(--border-subtle);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:500;line-height:1.3}.template-group{flex-direction:column;gap:10px;margin-bottom:22px;display:flex}.template-group:last-child{margin-bottom:0}.template-group-header{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:2px;padding:2px 2px 8px;display:flex}.template-group-title{color:var(--text);letter-spacing:-.1px;margin:0;font-size:14px;font-weight:700}.template-group-description{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.4}.template-filter-bar{z-index:2;background:color-mix(in srgb, var(--bg-elevated) 95%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:8px;margin:-14px -20px 14px;padding:10px 12px 12px;display:flex;position:sticky;top:0}.template-filter-bar-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.template-filter-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.template-filter-reset{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:3px 10px;font-size:11px;transition:all .15s}.template-filter-reset:hover{border-color:var(--accent);color:var(--text)}.template-tag-cloud{flex-wrap:wrap;gap:6px;max-height:96px;padding-right:4px;display:flex;overflow-y:auto}.template-tag-chip{color:var(--text-secondary);background:color-mix(in srgb, var(--bg-secondary) 70%, var(--bg));border:1px solid var(--border-subtle);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:500;line-height:1.3;transition:all .12s;display:inline-flex}.template-tag-chip:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));color:var(--text)}.template-tag-chip--active{background:var(--accent);color:#fff;border-color:var(--accent)}.template-tag-chip--active:hover{filter:brightness(1.05);color:#fff}.template-tag-chip-count{opacity:.75;font-variant-numeric:tabular-nums;font-size:10px}.template-filter-summary{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:11px}.template-group-toggle{border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border-radius:6px 6px 0 0;justify-content:space-between;align-items:center;gap:12px;padding:6px 2px 8px;transition:background .12s;display:flex}.template-group-toggle:hover{background:var(--surface-hover)}.template-group-toggle-main{flex-direction:column;gap:2px;min-width:0;display:flex}.template-group-toggle-meta{flex-shrink:0;align-items:center;gap:10px;display:flex}.template-group-count{color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-subtle);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.template-group-chevron{color:var(--text-secondary);text-align:center;width:14px;font-size:12px}.template-group-body{padding-top:10px;display:block}.template-group-body[data-collapsed=true]{display:none}.template-empty-state{text-align:center;color:var(--text-secondary);padding:40px 20px;font-size:13px}@media (max-width:420px){.template-modal-overlay{padding:12px}.template-modal{max-width:min(1180px,100vw - 24px)}.template-modal-header{padding:14px 16px}.template-modal-content{padding:12px}}.template-filler-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1200;background:#000000b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.template-filler-modal{background:var(--bg-elevated);border-radius:22px;flex-direction:column;width:100%;max-width:700px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #0006}.filler-header{border-bottom:1px solid var(--border-subtle);background:linear-gradient(180deg, color-mix(in srgb, var(--bg-elevated) 92%, var(--bg)) 0%, var(--bg-elevated) 100%);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:24px 28px 20px;display:flex}.filler-title-section h2{color:var(--text);letter-spacing:-.3px;margin:0 0 6px;font-size:20px;font-weight:700}.filler-template-name{color:var(--text-secondary);margin:0;font-size:14px}.filler-close{background:color-mix(in srgb, var(--bg) 80%, var(--bg-elevated));border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:12px;flex-shrink:0;padding:8px 12px;font-size:18px;line-height:1;transition:all .15s}.filler-close:hover{background:var(--surface-hover);color:var(--text);border-color:color-mix(in srgb, var(--accent) 40%, var(--border));transform:translateY(-1px)}.filler-content{flex:1;padding:24px 28px 28px;overflow-y:auto}.filler-section{margin-bottom:24px}.filler-section:last-child{margin-bottom:0}.filler-section-title{color:var(--accent);border-bottom:1px solid var(--border-subtle);letter-spacing:-.2px;margin:0 0 14px;padding-bottom:8px;font-size:14px;font-weight:700}.filler-fields{flex-direction:column;gap:12px;display:flex}.filler-field{flex-direction:column;gap:6px;display:flex}.filler-field label{color:var(--text-secondary);font-size:13px;font-weight:500}.filler-field input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:12px;width:100%;padding:12px 14px;font-size:14px;transition:all .15s}.filler-field input:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.filler-field input::placeholder{color:var(--text-secondary);opacity:.5}.filler-actions{border-top:1px solid var(--border-subtle);background:linear-gradient(180deg, var(--bg-elevated) 0%, color-mix(in srgb, var(--bg-elevated) 92%, var(--bg)) 100%);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 28px 24px;display:flex}.filler-actions-right{gap:10px;display:flex}.btn-skip{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:500;transition:all .15s}.btn-skip:hover{background:var(--surface-hover);color:var(--text);border-color:color-mix(in srgb, var(--accent) 30%, var(--border));transform:translateY(-1px)}.btn-cancel{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:500;transition:all .15s}.btn-cancel:hover{background:var(--surface-hover);border-color:color-mix(in srgb, var(--accent) 30%, var(--border));transform:translateY(-1px)}.btn-submit{background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 25%, transparent);border:none;border-radius:12px;padding:10px 22px;font-size:14px;font-weight:600;transition:all .15s}.btn-submit:hover{background:var(--accent-hover);box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 35%, transparent);transform:translateY(-1px)}
