*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--toolbar-h: 40px;--sidebar-w: 168px;--radius: 8px;--transition: .15s ease}html,body,#root{width:100%;height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px}.app.dark{--bg: #0f0f1a;--bg-surface: #1a1a2e;--bg-surface2: #252540;--bg-hover: #2a2a4a;--text: #e4e4f0;--text-dim: #8888aa;--border: #2d2d50;--accent: #6366f1;--accent-hover: #818cf8;--danger: #ef4444}.app.light{--bg: #f0f0f5;--bg-surface: #ffffff;--bg-surface2: #f4f4f8;--bg-hover: #e8e8f0;--text: #1a1a2e;--text-dim: #6b7280;--border: #d1d5db;--accent: #6366f1;--accent-hover: #4f46e5;--danger: #ef4444}.app{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}.main-area{flex:1;display:flex;overflow:hidden}.canvas-wrapper{flex:1;position:relative;overflow:hidden;display:flex;flex-direction:column}.canvas-stage{flex:1;position:relative;overflow:hidden}.pages-bar{height:44px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-surface);border-top:1px solid var(--border);box-shadow:0 -1px 3px #0000000a}.pages-bar-inner{display:flex;align-items:center;gap:4px;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding:2px}.pages-bar-inner::-webkit-scrollbar{height:4px}.pages-bar-inner::-webkit-scrollbar-track{background:transparent}.pages-bar-inner::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.page-tab{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 4px 0 8px;background:transparent;color:var(--text-dim);border:1px solid transparent;border-radius:8px;cursor:pointer;font-size:12px;font-weight:500;white-space:nowrap;transition:background var(--transition),color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition);-webkit-user-select:none;user-select:none;position:relative}.page-tab:hover{background:var(--bg-surface2);color:var(--text)}.page-tab.active{background:var(--bg-surface2);color:var(--text);border-color:var(--border);box-shadow:0 1px 2px #0000000f,inset 0 0 0 1px #6366f11f}.page-tab.active:before{content:"";position:absolute;left:8px;right:8px;bottom:-7px;height:2px;border-radius:2px 2px 0 0;background:var(--accent)}.page-tab-name{padding-left:4px;max-width:140px;overflow:hidden;text-overflow:ellipsis}.page-tab-input{background:var(--bg);color:var(--text);border:1px solid var(--accent);border-radius:6px;padding:2px 6px;font-size:12px;font-weight:500;outline:none;width:120px;font-family:inherit}.page-tab-actions{display:inline-flex;align-items:center;gap:2px;opacity:0;margin-left:-4px;max-width:0;overflow:hidden;transition:opacity var(--transition),max-width var(--transition),margin-left var(--transition)}.page-tab:hover .page-tab-actions,.page-tab.active .page-tab-actions{opacity:1;max-width:56px;margin-left:0}.page-tab-btn{background:transparent;color:var(--text-dim);border:none;cursor:pointer;width:22px;height:22px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background var(--transition),color var(--transition)}.page-tab-btn:hover{background:var(--bg-hover);color:var(--text)}.page-tab-close:hover{background:var(--danger);color:#fff}.page-tab-add{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:4px;background:transparent;color:var(--text-dim);border:1px solid transparent;border-radius:8px;cursor:pointer;flex-shrink:0;padding:0;transition:background var(--transition),color var(--transition),border-color var(--transition),transform var(--transition)}.page-tab-add:hover{background:rgba(99,102,241,.1);color:var(--accent);border-color:#6366f14d}.page-tab-add:active{transform:scale(.9)}.pages-bar-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;padding-left:8px;margin-left:4px;border-left:1px solid var(--border)}.pages-bar-action{display:inline-flex;align-items:center;height:26px;padding:0 10px;background:transparent;color:var(--text-dim);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:11.5px;font-weight:500;font-family:inherit;letter-spacing:.01em;transition:background var(--transition),color var(--transition),border-color var(--transition)}.pages-bar-action:hover{background:var(--bg-surface2);color:var(--text);border-color:var(--text-dim)}.pages-bar-action.active{background:var(--accent);color:#fff;border-color:var(--accent)}.pages-bar-action.active:hover{background:var(--accent);border-color:var(--accent);filter:brightness(1.05)}.toolbar{height:var(--toolbar-h);background:var(--bg-surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 12px;gap:4px;z-index:10;flex-shrink:0;overflow-x:auto}.toolbar::-webkit-scrollbar{display:none}.toolbar-group{display:flex;align-items:center;gap:2px}.toolbar-separator{width:1px;height:24px;background:var(--border);margin:0 6px;flex-shrink:0}.tool-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text);border-radius:6px;cursor:pointer;transition:background var(--transition);font-size:16px;flex-shrink:0}.tool-btn svg{width:16px;height:16px;flex-shrink:0}.tool-btn:hover{background:var(--bg-hover)}.tool-btn.active{background:var(--accent);color:#fff}.tool-btn.tool-btn-record{color:#ef4444}.tool-btn.tool-btn-record:hover{background:rgba(239,68,68,.15)}.tool-btn.tool-btn-sync.sync-saved{color:#10b981}.tool-btn.tool-btn-sync.sync-error{color:#ef4444}.tool-btn.tool-btn-sync.sync-loading,.tool-btn.tool-btn-sync.sync-saving,.tool-btn.tool-btn-ai{color:var(--accent)}.tool-btn.tool-btn-ai:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.tool-btn.tool-btn-ai.active{color:#fff}.file-menu-portal{width:0;height:0;background:transparent}.file-menu{position:fixed;min-width:180px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px #0000002e;padding:4px;display:flex;flex-direction:column;gap:1px;z-index:50}.file-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:none;background:transparent;color:var(--text);border-radius:5px;cursor:pointer;font-size:13px;text-align:left;transition:background var(--transition)}.file-menu-item:hover{background:var(--bg-hover)}.file-menu-item svg{width:16px;height:16px;flex-shrink:0}.file-menu-header{padding:8px 10px 6px;border-bottom:1px solid var(--border);margin-bottom:4px;display:flex;flex-direction:column;gap:2px;-webkit-user-select:none;user-select:none}.file-menu-header-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.file-menu-header-email{font-size:11.5px;color:var(--text-muted, var(--text));opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.file-menu-credits{padding:6px 10px 8px;border-bottom:1px solid var(--border);margin-bottom:4px;display:flex;flex-direction:column;gap:3px;-webkit-user-select:none;user-select:none;min-width:200px}.file-menu-credits-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text);opacity:.7;margin-bottom:2px}.file-menu-credits-plan{font-size:10px;font-weight:700;letter-spacing:.04em;padding:1px 6px;border-radius:999px;background:var(--bg-secondary, rgba(124, 92, 255, .12));border:1px solid var(--border);opacity:1}.file-menu-credits-row{display:flex;align-items:center;justify-content:space-between;font-size:12.5px}.file-menu-credits-name{color:var(--text);opacity:.85}.file-menu-credits-value{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.file-menu-credits-value.empty{color:#ff6b8a}.file-menu-credits-grant{color:var(--text);opacity:.55;font-weight:500}.viz-dialog{width:min(1100px,95vw);max-width:none;display:flex;flex-direction:column;gap:12px}.viz-body{display:grid;grid-template-columns:200px 1fr 1fr;gap:12px;min-height:420px}.viz-type-list{display:flex;flex-direction:column;gap:2px;border:1px solid var(--border);border-radius:8px;padding:6px;overflow-y:auto;max-height:460px}.viz-type-section-label{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;padding:6px 8px 2px}.viz-type-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;background:transparent;color:var(--text);border-radius:6px;cursor:pointer;font-size:13px;text-align:left;white-space:nowrap}.viz-type-item:hover{background:var(--bg-hover)}.viz-type-item.active{background:var(--accent);color:#fff}.viz-editor{display:flex;flex-direction:column;gap:8px;min-height:0}.viz-editor textarea,.viz-editor input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface2);color:var(--text);font-size:13px;outline:none;box-sizing:border-box}.viz-editor textarea{flex:1;min-height:260px;font-family:monospace;resize:vertical}.viz-preview{display:flex;align-items:center;justify-content:center;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff;overflow:auto;min-height:260px}.viz-preview-empty{color:var(--text-dim);font-size:13px}.viz-preview-error{color:#e03131;font-family:monospace;font-size:12px;white-space:pre-wrap}.viz-ai-bar{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface2)}.viz-ai-row{display:flex;gap:8px;align-items:stretch}.viz-ai-prompt{flex:1;min-height:48px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);color:var(--text);font-size:13px;font-family:inherit;outline:none;resize:vertical}.viz-ai-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.viz-ai-attach,.viz-ai-generate{white-space:nowrap;padding:6px 12px;font-size:12px}.viz-ai-chips{display:flex;flex-wrap:wrap;gap:6px}.viz-ai-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;font-size:11px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viz-ai-chip button{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;line-height:1;padding:0}.viz-ai-error{color:#e03131;font-size:12px;white-space:pre-wrap}.recorder-controls{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:999px;box-shadow:0 10px 30px #00000040;z-index:200;pointer-events:none}.recorder-controls .recorder-btn{pointer-events:auto}.recorder-indicator{display:flex;align-items:center;gap:8px;padding:0 10px 0 4px;font-size:13px;color:var(--text);-webkit-user-select:none;user-select:none}.recorder-dot{width:10px;height:10px;border-radius:50%;background:#ef4444;box-shadow:0 0 #ef444499;animation:recorder-pulse 1.4s infinite}.recorder-dot.paused{background:#f59e0b;animation:none}@keyframes recorder-pulse{0%{box-shadow:0 0 #ef4444b3}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}.recorder-time{font-variant-numeric:tabular-nums;font-weight:600}.recorder-source{color:var(--text-dim);font-size:12px}.recorder-btn{width:38px;height:38px;border:none;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:filter var(--transition),transform var(--transition)}.recorder-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.recorder-btn-pause{background:#f59e0b}.recorder-btn-discard{background:#ef4444}.recorder-btn-discard svg{stroke:#fff!important}.recorder-btn-download{background:#10b981}.recorder-start-btn{display:inline-flex;align-items:center;background:#ef4444!important}.recorder-start-btn:hover{background:#dc2626!important}.recorder-toggles{display:flex;flex-direction:column;gap:8px}.recorder-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text);-webkit-user-select:none;user-select:none}.recorder-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.cam-box{position:absolute;border-radius:10px;overflow:hidden;box-shadow:0 8px 24px #0006;cursor:move;z-index:150;background:#000;border:2px solid rgba(255,255,255,.9);touch-action:none;-webkit-user-select:none;user-select:none}.cam-box video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.cam-box-actions{position:absolute;top:6px;right:6px;display:flex;gap:4px;opacity:0;transition:opacity var(--transition)}.cam-box:hover .cam-box-actions{opacity:1}.cam-box-btn{width:26px;height:26px;border:none;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition)}.cam-box-btn:hover{background:rgba(0,0,0,.8)}.cam-box-btn svg{width:14px;height:14px}.tool-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:inherit;line-height:1}.zoom-label{font-size:12px;color:var(--text-dim);min-width:40px;text-align:center;-webkit-user-select:none;user-select:none}.sidebar{width:var(--sidebar-w);background:var(--bg-surface);border-right:1px solid var(--border);padding:10px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex-shrink:0;z-index:5;transition:width var(--transition)}.sidebar-collapsed{width:28px;padding:6px 2px;align-items:center;gap:0;overflow:hidden}.sidebar-toggle-row{display:flex;justify-content:flex-end;margin-bottom:-4px}.sidebar-toggle{width:24px;height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition)}.sidebar-toggle:hover{background:var(--bg-hover, rgba(128, 128, 128, .12));color:var(--text);border-color:var(--accent)}.sidebar-toggle svg{width:14px;height:14px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.sidebar-section{display:flex;flex-direction:column;gap:6px}.sidebar-label{font-size:10px;font-weight:600;letter-spacing:.3px;color:var(--text-dim)}.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.color-swatch{aspect-ratio:1;width:100%;border-radius:6px;border:none;padding:0;cursor:pointer;position:relative;box-shadow:inset 0 0 0 1px #80808038;transition:box-shadow var(--transition),transform var(--transition)}.color-swatch:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #80808059,0 2px 6px #00000014}.color-swatch.selected{box-shadow:inset 0 0 0 2px var(--bg-surface),0 0 0 2px var(--accent)}.transparent-swatch{background:linear-gradient(to top right,transparent calc(50% - 1.2px),var(--danger) calc(50% - 1.2px),var(--danger) calc(50% + 1.2px),transparent calc(50% + 1.2px)),repeating-conic-gradient(rgba(0,0,0,.08) 0% 25%,transparent 0% 50%) 50% / 8px 8px}.color-input{aspect-ratio:1;width:100%;display:block;position:relative;background:conic-gradient(from 0deg,#ef4444,#f59e0b,#eab308,#22c55e,#06b6d4,#6366f1,#a855f7,#ef4444);cursor:pointer;border-radius:6px;overflow:hidden;box-shadow:inset 0 0 0 1px #80808038;transition:transform var(--transition),box-shadow var(--transition)}.color-input:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #80808059,0 2px 6px #00000014}.color-input input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:none;background:none;opacity:0;cursor:pointer}.width-buttons{display:flex;gap:3px;padding:2px;background:var(--bg-surface2);border-radius:8px}.width-btn{flex:1;height:26px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-dim);border-radius:6px;cursor:pointer;transition:background var(--transition),color var(--transition),box-shadow var(--transition);font-size:11px;font-weight:500}.width-btn svg{width:16px;height:16px}.width-btn:hover{color:var(--text);background:var(--bg-hover)}.width-btn.active{background:var(--bg-surface);color:var(--accent);box-shadow:0 1px 2px #0000000f,0 0 0 1px #6366f126}.font-family-select{width:100%;height:26px;padding:0 10px;border:none;border-radius:6px;background:var(--bg-surface2);color:var(--text);font-size:11px;cursor:pointer;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 14px) 13px,calc(100% - 10px) 13px;background-size:4px 4px;background-repeat:no-repeat}.font-family-select:hover{background-color:var(--bg-hover)}.sidebar-slider{width:100%;height:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-surface2);border-radius:2px;outline:none;margin-top:2px}.sidebar-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--bg-surface);cursor:pointer;border:none;box-shadow:0 0 0 1.5px var(--accent),0 1px 3px #00000026;transition:transform var(--transition)}.sidebar-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.slider-value{font-size:11px;color:var(--text-dim);text-align:right}.sidebar-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}.app-brand{display:flex;align-items:center;gap:10px}.app-logo{width:36px;height:36px;flex-shrink:0}.app-title{font-weight:700;font-size:16px;color:var(--accent);line-height:1.2}.app-subtitle{font-size:11px;color:var(--text-dim)}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:24px;min-width:360px;max-width:90vw;box-shadow:0 20px 60px #0000004d}.dialog h3{margin-bottom:16px;font-size:18px;font-weight:600}.dialog-field{margin-bottom:12px}.dialog-field label{display:block;font-size:12px;font-weight:500;color:var(--text-dim);margin-bottom:4px}.dialog-field input[type=text],.dialog-field input[type=number]{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface2);color:var(--text);font-size:14px;outline:none;transition:border-color var(--transition)}.dialog-field input:focus{border-color:var(--accent)}.chart-type-buttons{display:flex;gap:4px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.btn-primary{padding:8px 20px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background var(--transition)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{padding:8px 20px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface2);color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:background var(--transition)}.btn-secondary:hover{background:var(--bg-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.canvas-wrapper textarea{font-family:inherit}.storebox-panel{width:240px;background:var(--bg-surface);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;z-index:5;overflow:hidden}.storebox-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border)}.storebox-header h3{font-size:13px;font-weight:600;margin:0}.storebox-close{background:none;border:none;color:var(--text-dim);font-size:18px;cursor:pointer;line-height:1;padding:0 4px;border-radius:4px}.storebox-close:hover{background:var(--bg-hover);color:var(--text)}.storebox-save-section{padding:8px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:5px}.storebox-name-input{width:100%;padding:4px 8px;border:1px solid var(--border);border-radius:5px;background:var(--bg-surface2);color:var(--text);font-size:12px;outline:none}.storebox-name-input:focus{border-color:var(--accent)}.storebox-btn-row{display:flex;gap:4px}.storebox-save-btn{flex:1;padding:4px 8px;font-size:11px;white-space:nowrap}.storebox-save-btn:disabled{opacity:.4;cursor:not-allowed}.storebox-items{flex:1;overflow-y:auto;padding:6px}.storebox-empty{padding:16px 8px;text-align:center;font-size:11px;color:var(--text-dim);line-height:1.4}.storebox-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.storebox-item{background:var(--bg-surface2);border:1px solid var(--border);border-radius:6px;overflow:hidden}.storebox-thumb{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;cursor:pointer;background:repeating-conic-gradient(var(--bg-surface2) 0% 25%,var(--bg) 0% 50%) 50% / 12px 12px;transition:opacity var(--transition);overflow:hidden;padding:4px}.storebox-thumb:hover{opacity:.75}.storebox-thumb img{max-width:100%;max-height:100%;object-fit:contain}.storebox-item-footer{display:flex;align-items:center;justify-content:space-between;padding:2px 5px;gap:2px}.storebox-item-name{font-size:10px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.storebox-delete-btn{background:none;border:none;cursor:pointer;color:var(--text-dim);padding:1px;border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.storebox-delete-btn:hover{background:var(--bg-hover);color:var(--danger)}.storebox-delete-btn svg{width:12px;height:12px}.searchbox-section-label{font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--text-dim);padding:8px 4px 6px}.searchbox-section-label:first-child{padding-top:2px}.searchbox-error{font-size:11px;color:var(--danger);padding:2px 2px 0;line-height:1.3}.manim-panel{width:280px}.manim-input-section{gap:6px}.manim-mode-row{display:flex;gap:4px}.manim-mode-btn{flex:1;padding:4px 8px;font-size:11px;border:1px solid var(--border);background:var(--bg-surface2);color:var(--text);border-radius:5px;cursor:pointer}.manim-mode-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.manim-model-select{width:100%;padding:4px 8px;border:1px solid var(--border);border-radius:5px;background:var(--bg-surface2);color:var(--text);font-size:11px;font-family:inherit;outline:none;cursor:pointer}.manim-model-select:focus{border-color:var(--accent)}.manim-modify-banner{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 8px;background:var(--bg-hover);border:1px solid var(--accent);border-radius:5px;font-size:11px;color:var(--text)}.manim-modify-banner em{font-style:normal;opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;max-width:180px;vertical-align:bottom}.manim-modify-cancel{background:none;border:none;color:var(--text-dim);font-size:14px;cursor:pointer;padding:0 4px;line-height:1}.manim-prompt-input{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:5px;background:var(--bg-surface2);color:var(--text);font-size:12px;font-family:inherit;outline:none;resize:vertical;min-height:60px;box-sizing:border-box}.manim-prompt-input:focus{border-color:var(--accent)}.manim-attachments{display:flex;flex-wrap:wrap;gap:4px}.manim-attachment-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;background:var(--bg-surface2);border:1px solid var(--border);border-radius:10px;font-size:10px;color:var(--text);max-width:100%}.manim-attachment-chip button{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:12px;line-height:1;padding:0}.manim-items{padding:6px}.manim-jobs{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.manim-job{background:var(--bg-surface2);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:11px}.manim-job-running{border-left:3px solid var(--accent)}.manim-job-error{border-left:3px solid var(--danger)}.manim-job-row{display:flex;align-items:center;gap:6px}.manim-job-status{font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.4px}.manim-job-status-running{color:var(--accent);display:inline-flex;align-items:center;gap:5px}.manim-job-status-running:before{content:"";width:8px;height:8px;border-radius:50%;border:2px solid var(--accent);border-top-color:transparent;display:inline-block;animation:manim-spin .8s linear infinite}@keyframes manim-spin{to{transform:rotate(360deg)}}.manim-job-status-error{color:var(--danger)}.manim-job-mode{margin-left:auto;font-size:9px;font-weight:600;color:var(--text-dim);letter-spacing:.4px}.manim-job-prompt{margin-top:3px;color:var(--text);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.manim-job-error-msg{margin-top:4px;padding:4px 6px;background:var(--bg);border-radius:4px;color:var(--danger);font-size:10px;font-family:monospace;max-height:80px;overflow:auto;white-space:pre-wrap;word-break:break-word}.manim-grid{display:flex;flex-direction:column;gap:8px}.manim-card{background:var(--bg-surface2);border:1px solid var(--border);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.manim-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.manim-media-wrap{position:relative;width:100%;aspect-ratio:16 / 9;background:repeating-conic-gradient(var(--bg-surface2) 0% 25%,var(--bg) 0% 50%) 50% / 12px 12px;overflow:hidden}.manim-media-wrap img,.manim-media-wrap video{width:100%;height:100%;object-fit:contain;display:block}.manim-download-btn{position:absolute;top:4px;right:4px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);color:#fff;border-radius:4px;text-decoration:none;opacity:0;transition:opacity var(--transition)}.manim-download-btn svg{width:14px;height:14px}.manim-media-wrap:hover .manim-download-btn,.manim-download-btn:focus-visible{opacity:1}.manim-card-prompt{font-size:11px;color:var(--text);padding:5px 6px 2px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3}.manim-card-actions{display:flex;align-items:center;gap:4px;padding:2px 4px 4px}.manim-card-action{flex:1;padding:3px 6px;font-size:10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer}.manim-card-action:hover{background:var(--bg-hover)}.manim-card-action.active{background:var(--accent);color:#fff;border-color:var(--accent)}.chat-panel{width:420px}.workshop-chat-head-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.chat-mode-tabs{display:inline-flex;background:var(--bg-surface2);border-radius:6px;padding:2px}.chat-mode-tab{padding:4px 12px;font-size:11px;font-weight:600;letter-spacing:.2px;background:transparent;border:none;border-radius:4px;color:var(--text-dim);cursor:pointer;font-family:inherit;transition:color .12s ease,background .12s ease}.chat-mode-tab:hover:not(:disabled):not(.active){color:var(--text)}.chat-mode-tab.active{background:var(--bg-surface);color:var(--accent)}.chat-mode-tab:disabled{opacity:.4;cursor:not-allowed}.chat-clear-btn{background:transparent;border:none;color:var(--text-dim);font-size:11px;font-weight:500;padding:4px 9px;border-radius:5px;cursor:pointer;transition:color .12s ease,background .12s ease;font-family:inherit}.chat-clear-btn:hover{background:var(--bg-hover);color:var(--text)}.chat-clear-btn.is-destructive:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.chat-thread{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.chat-turn{background:var(--bg-surface);border-radius:10px;padding:10px 12px 8px;display:flex;flex-direction:column;gap:8px;transition:background .15s ease}.chat-turn-errored{box-shadow:inset 3px 0 0 var(--danger)}.chat-turn-busy{box-shadow:inset 3px 0 0 var(--accent)}.chat-turn-head{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:20px}.chat-turn-head-right{display:flex;align-items:center;gap:6px}.chat-turn-time{font-size:10px;color:var(--text-dim);opacity:.75;font-feature-settings:"tnum";white-space:nowrap}.chat-turn-tool{display:inline-flex;align-items:center;height:18px;padding:0 8px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-size:9.5px;font-weight:700;letter-spacing:.5px;border-radius:9px;text-transform:uppercase;white-space:nowrap}.chat-turn-tool--chart{background:color-mix(in srgb,#10b981 16%,transparent);color:#047857}.chat-turn-tool--mermaid{background:color-mix(in srgb,#f59e0b 18%,transparent);color:#b45309}.chat-turn-tool--manim{background:color-mix(in srgb,#ec4899 16%,transparent);color:#be185d}.app.dark .chat-turn-tool--chart{color:#6ee7b7}.app.dark .chat-turn-tool--mermaid{color:#fcd34d}.app.dark .chat-turn-tool--manim{color:#f9a8d4}.chat-turn-delete{background:none;border:none;padding:3px;cursor:pointer;color:var(--text-dim);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease}.chat-turn:hover .chat-turn-delete,.chat-turn-delete:focus-visible{opacity:.6}.chat-turn-delete:hover{opacity:1!important;background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.chat-turn-prompt{font-size:12.5px;color:var(--text);line-height:1.45;white-space:pre-wrap;word-break:break-word}.chat-explanation{font-size:11px;color:var(--text-dim);font-style:italic;line-height:1.4}.chat-result{background:#fff;border:1px solid var(--border);border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:6px;min-height:120px;max-height:360px}.chat-result-media{max-width:100%;max-height:340px;object-fit:contain;display:block;border-radius:4px}.chat-result-svg{width:100%;max-height:340px;overflow:auto;display:flex;align-items:center;justify-content:center}.chat-result-svg svg{max-width:100%;height:auto;max-height:340px}.chat-turn-actions{display:flex;align-items:stretch;gap:4px;margin-top:2px}.chat-action{flex:1;height:26px;padding:0 8px;font-size:11px;font-weight:500;font-family:inherit;background:transparent;border:none;border-radius:5px;color:var(--text-dim);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .12s ease,background .12s ease;white-space:nowrap}.chat-action:hover{color:var(--text);background:var(--bg-hover)}.chat-action:active{transform:translateY(.5px)}.chat-action--primary{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);font-weight:600}.chat-action--primary:hover{background:var(--accent);color:#fff}.chat-turn-toggle{flex:0 0 32px;padding:0;color:var(--text-dim)}.chat-turn-toggle svg{display:block;transition:transform .18s ease}.chat-turn-toggle.is-collapsed svg{transform:rotate(180deg)}.chat-turn-collapsed{background:color-mix(in srgb,var(--bg-surface) 94%,var(--bg))}.chat-turn-collapsed .chat-turn-prompt{color:var(--text-dim)}.chat-att-row{display:flex;flex-wrap:wrap;gap:4px}.chat-att-row-history{opacity:.85}.chat-att-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 6px 2px 2px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;font-size:10px;color:var(--text);max-width:200px}.chat-att-chip img{width:22px;height:22px;object-fit:cover;border-radius:50%;flex-shrink:0}.chat-att-chip-static{padding:2px 7px 2px 2px}.chat-att-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.chat-att-chip button{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:13px;line-height:1;padding:0 2px}.chat-composer{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px;background:var(--bg-surface)}.chat-composer-meta{display:flex;align-items:center;gap:8px}.chat-segmented{display:inline-flex;align-items:center;background:var(--bg-surface2);border-radius:6px;padding:2px;gap:0;flex-shrink:0}.chat-segmented-btn{padding:3px 12px;font-size:11px;font-weight:600;background:transparent;border:none;border-radius:4px;color:var(--text-dim);cursor:pointer;font-family:inherit;transition:color .12s ease,background .12s ease}.chat-segmented-btn:hover:not(:disabled):not(.active){color:var(--text)}.chat-segmented-btn.active{background:var(--accent);color:#fff}.chat-segmented-btn:disabled{opacity:.5;cursor:not-allowed}.chat-model-select{flex:1;min-width:0;height:28px;padding:0 10px;border:none;border-radius:6px;background:var(--bg-surface2);color:var(--text);font-size:11px;font-family:inherit;outline:none;cursor:pointer;transition:box-shadow .12s ease}.chat-model-select:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.chat-model-select:disabled{opacity:.5;cursor:not-allowed}.chat-modify-banner{display:flex;align-items:center;gap:6px;padding:5px 8px 5px 10px;background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:6px;font-size:11px;color:var(--text);line-height:1.3}.chat-modify-banner svg{flex-shrink:0;color:var(--accent)}.chat-modify-label{font-weight:600;color:var(--accent)}.chat-modify-prompt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;opacity:.85}.chat-modify-cancel{background:none;border:none;color:var(--text-dim);font-size:15px;line-height:1;cursor:pointer;padding:0 4px;border-radius:3px}.chat-modify-cancel:hover{color:var(--text);background:var(--bg-hover)}.chat-input-wrap{display:flex;flex-direction:column;border-radius:8px;background:var(--bg-surface2);transition:box-shadow .12s ease;overflow:hidden}.chat-input-wrap:focus-within{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 40%,transparent)}.chat-prompt-input{width:100%;padding:10px 12px;border:none;background:transparent;color:var(--text);font-size:12.5px;font-family:inherit;outline:none;resize:none;min-height:64px;box-sizing:border-box;line-height:1.4}.chat-prompt-input:disabled{opacity:.6}.chat-att-row-composer{padding:2px 8px 8px}.chat-composer-actions{display:flex;gap:8px}.chat-composer-attach,.chat-composer-send{flex:1;height:32px;padding:0 14px;border-radius:7px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .12s ease}.chat-composer-attach{background:var(--bg-surface2);border:none;color:var(--text-dim);flex:0 0 auto;padding:0 14px}.chat-composer-attach:hover:not(:disabled){color:var(--text);background:var(--bg-hover)}.chat-composer-attach:disabled{opacity:.5;cursor:not-allowed}.chat-composer-send{background:var(--accent);border:none;color:#fff}.chat-composer-send:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,#000)}.chat-composer-send:disabled{opacity:.45;cursor:not-allowed}.workshop-dialog{background:var(--bg-surface);color:var(--text);border-radius:14px;box-shadow:0 24px 60px #00000059;width:min(1080px,94vw);height:min(780px,90vh);display:flex;flex-direction:column;overflow:hidden}.workshop-header{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.workshop-header h3{font-size:15px;font-weight:700;margin:0;white-space:nowrap}.workshop-tabs{display:flex;gap:4px;margin-left:8px;flex:1}.workshop-tab{padding:5px 14px;border:1px solid var(--border);background:var(--bg-surface2);color:var(--text);border-radius:6px;font-size:12px;font-weight:500;cursor:pointer}.workshop-tab:hover:not(:disabled){background:var(--bg-hover)}.workshop-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.workshop-tab:disabled{opacity:.5;cursor:not-allowed}.workshop-body{flex:1;display:flex;min-height:0;overflow:hidden}.workshop-editor-col{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.workshop-editor-inner{flex:1;display:flex;min-height:0;padding:12px;gap:12px;overflow:hidden}.workshop-editor-sidebar{width:180px;flex-shrink:0;display:flex;flex-direction:column;gap:2px;border:1px solid var(--border);border-radius:8px;padding:8px;overflow-y:auto}.workshop-editor-main{flex:1;min-width:0;display:flex;gap:12px;overflow:hidden}.workshop-chart-main{flex-direction:row}.workshop-chart-form{width:260px;flex-shrink:0;display:flex;flex-direction:column;gap:6px}.workshop-chart-form input{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface2);color:var(--text);font-size:13px;box-sizing:border-box;outline:none}.workshop-chart-form input:focus{border-color:var(--accent)}.workshop-chart-preview{flex:1;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);border-radius:8px;padding:12px;overflow:hidden}.workshop-chart-preview canvas{max-width:100%;max-height:100%}.workshop-mermaid-main{flex-direction:row}.workshop-mermaid-sidebar{width:120px;font-size:12px}.workshop-mermaid-source{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:6px;min-width:0}.workshop-mermaid-source textarea{flex:1;min-height:0;font-family:monospace;font-size:11px;line-height:1.4}.workshop-mermaid-preview{flex:1;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);border-radius:8px;padding:12px;overflow:auto}.workshop-mermaid-preview svg{max-width:100%;max-height:100%}.workshop-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--border);flex-shrink:0;background:var(--bg-surface)}.workshop-footer-hint{font-size:11px;color:var(--text-dim);font-style:italic}.workshop-footer .dialog-actions{display:flex;gap:8px}@media (max-width: 1100px){.workshop-chart-form{width:220px}.workshop-editor-sidebar{width:150px}}@media (max-width: 900px){.workshop-dialog{width:96vw;height:92vh}.workshop-editor-main{flex-direction:column}.workshop-chart-form{width:100%}}.app-loading{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#0b0b14;color:#9a99c1;font-size:13px;letter-spacing:.04em}.app-loading-logo{width:56px;height:56px;opacity:.85;animation:app-loading-pulse 1.6s ease-in-out infinite}@keyframes app-loading-pulse{0%,to{opacity:.45;transform:scale(.96)}50%{opacity:1;transform:scale(1.02)}}.toolbar-signin-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:1px solid transparent;background:linear-gradient(135deg,#7c5cff,#4ad3ff);color:#fff;font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 6px 18px -8px #7c5cffb3;transition:transform .12s ease,box-shadow .12s ease}.toolbar-signin-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px -8px #7c5cffd9}.toolbar-upgrade-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(135deg,#f0a44b 0%,#e668c0 50%,#6a73ff 100%);color:#fff;font-size:12px;font-weight:600;letter-spacing:.2px;cursor:pointer;box-shadow:0 6px 16px -8px #e668c0b3;transition:transform .12s ease,box-shadow .12s ease}.toolbar-upgrade-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px -8px #e668c0f2}.toolbar-upgrade-btn svg{flex-shrink:0}@media (max-width: 720px){.toolbar-upgrade-btn span{display:none}.toolbar-upgrade-btn{padding:6px 8px}}.welcome-offer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:rgba(6,6,14,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:24px;animation:welcome-offer-fade .18s ease-out}@keyframes welcome-offer-fade{0%{opacity:0}to{opacity:1}}.welcome-offer-card{position:relative;width:100%;max-width:720px;background:linear-gradient(180deg,#1b1b2c 0%,#11111e 100%);border:1px solid #34345a;border-radius:22px;padding:36px 36px 24px;color:#ecebff;box-shadow:0 30px 80px -20px #7c5cff8c;overflow:hidden;animation:welcome-offer-rise .24s cubic-bezier(.2,.8,.2,1)}@keyframes welcome-offer-rise{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome-offer-glow{position:absolute;top:-100px;right:-100px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(154,79,255,.4),transparent 60%);pointer-events:none}.welcome-offer-card>*:not(.welcome-offer-glow){position:relative;z-index:1}.welcome-offer-close{position:absolute;top:14px;right:14px;z-index:2;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #25253d;background:rgba(255,255,255,.04);color:#9a99c1;border-radius:8px;cursor:pointer;transition:background .12s ease,color .12s ease}.welcome-offer-close:hover{background:rgba(255,255,255,.08);color:#ecebff}.welcome-offer-eyebrow{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#a3a0d8;margin-bottom:8px}.welcome-offer-title{font-size:22px;font-weight:700;margin:0 0 8px;line-height:1.25}.welcome-offer-sub{font-size:13.5px;color:#b3b1d8;margin:0 0 22px;line-height:1.55}.welcome-offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 640px){.welcome-offer-grid{grid-template-columns:1fr}}.welcome-offer-col{position:relative;padding:22px 20px 20px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;gap:10px}.welcome-offer-col.is-highlight{border-color:#9a4fff8c;background:linear-gradient(180deg,rgba(154,79,255,.1) 0%,rgba(154,79,255,.02) 100%),rgba(255,255,255,.025);box-shadow:0 12px 30px -16px #9a4fffb3}.welcome-offer-badge{position:absolute;top:-10px;right:16px;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fff;padding:4px 10px;border-radius:999px;background:linear-gradient(135deg,#6a73ff,#9a4fff);box-shadow:0 6px 14px -6px #7a73ffb3}.welcome-offer-col-name{font-size:14px;font-weight:600;color:#d6d4f6}.welcome-offer-col-price{display:flex;align-items:baseline;gap:6px}.welcome-offer-col-amount{font-size:30px;font-weight:700;letter-spacing:-.4px;color:#fff}.welcome-offer-col-cadence{font-size:12px;color:#9a99c1}.welcome-offer-col-tagline{font-size:12.5px;color:#b3b1d8;line-height:1.5;min-height:36px}.welcome-offer-col-perks{list-style:none;margin:4px 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}.welcome-offer-col-perks li{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.5;color:#d6d4f6}.welcome-offer-col-perks li svg{flex-shrink:0;margin-top:2px;color:#9a4fff}.welcome-offer-col.is-highlight .welcome-offer-col-perks li svg{color:#b89aff}.welcome-offer-cta{margin-top:auto;padding:11px 14px;border-radius:10px;font-size:13.5px;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease,background .12s ease}.welcome-offer-cta:disabled{opacity:.55;cursor:not-allowed}.welcome-offer-cta-primary{border:none;background:linear-gradient(135deg,#6a73ff 0%,#9a4fff 100%);color:#fff}.welcome-offer-cta-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px -8px #9a4fffb3}.welcome-offer-cta-secondary{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.16);color:#ecebff}.welcome-offer-cta-secondary:hover:not(:disabled){background:rgba(255,255,255,.08);border-color:#ffffff42}.welcome-offer-error{margin-top:14px;padding:10px 12px;border-radius:8px;background:rgba(255,92,122,.1);border:1px solid rgba(255,92,122,.3);color:#ffb1c1;font-size:12.5px;text-align:center}.welcome-offer-trust{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.06);font-size:11.5px;color:#8d8bb6;text-align:center}.welcome-offer-trust svg{color:#9a99c1}.welcome-offer-link{color:#b89aff;text-decoration:none;font-weight:500}.welcome-offer-link:hover{text-decoration:underline}.login-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:rgba(8,8,16,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;animation:login-modal-fade .16s ease-out}@keyframes login-modal-fade{0%{opacity:0}to{opacity:1}}.login-modal-card{position:relative;width:100%;max-width:420px;background:linear-gradient(180deg,#181828 0%,#11111e 100%);border:1px solid #34345a;border-radius:20px;padding:40px 36px 32px;text-align:center;color:#ecebff;box-shadow:0 30px 70px -20px #7c5cff73;overflow:hidden;animation:login-modal-rise .2s cubic-bezier(.2,.8,.2,1)}@keyframes login-modal-rise{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-modal-glow{position:absolute;top:-120px;left:50%;transform:translate(-50%);width:480px;height:280px;background:radial-gradient(ellipse at center,rgba(124,92,255,.42) 0%,rgba(74,211,255,.16) 40%,transparent 70%);pointer-events:none;z-index:0}.login-modal-card>*{position:relative;z-index:1}.login-modal-close{position:absolute;top:14px;right:14px;z-index:2;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #25253d;background:rgba(255,255,255,.04);color:#9a99c1;border-radius:8px;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.login-modal-close:hover{color:#ecebff;border-color:#7c5cff;background:rgba(124,92,255,.12)}.login-modal-logo{width:56px;height:56px;margin:0 auto 18px;display:block}.login-modal-title{font-size:24px;font-weight:800;letter-spacing:-.01em;margin-bottom:10px;color:#ecebff}.login-modal-subtitle{font-size:17px;font-weight:700;letter-spacing:-.01em;margin:22px 0 10px;color:#ecebff}.settings-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--bg);color:var(--text);display:flex;flex-direction:column;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.settings-page-header{flex-shrink:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 24px;background:var(--bg-surface);border-bottom:1px solid var(--border)}.settings-page-back{justify-self:start;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border);color:var(--text);border-radius:8px;padding:7px 12px;font-size:13px;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease}.settings-page-back:hover{background:var(--bg-hover);border-color:var(--text-dim)}.settings-page-brand{display:inline-flex;align-items:center;gap:8px;justify-self:center}.settings-page-logo{width:22px;height:22px;flex-shrink:0}.settings-page-brandname{font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.settings-page-userchip{justify-self:end;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-dim)}.settings-page-useremail{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-page-body{flex:1;display:grid;grid-template-columns:240px 1fr;overflow:hidden}.settings-page-sidebar{border-right:1px solid var(--border);background:var(--bg);padding:20px 16px;display:flex;flex-direction:column;gap:18px;overflow-y:auto}.settings-page-eyebrow,.settings-eyebrow{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-weight:600}.settings-page-nav{display:flex;flex-direction:column;gap:2px}.settings-nav-item{display:inline-flex;align-items:center;gap:10px;padding:8px 10px;background:transparent;color:var(--text);border:1px solid transparent;border-radius:8px;font-size:13.5px;font-weight:500;cursor:pointer;text-align:left;transition:background .12s ease,color .12s ease,border-color .12s ease}.settings-nav-item:hover{background:var(--bg-hover)}.settings-nav-item.is-active{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--text);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.settings-nav-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim);flex-shrink:0}.settings-nav-item.is-active .settings-nav-icon{color:var(--accent)}.settings-page-trust{margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}.settings-trust-badge{display:flex;gap:10px;padding:10px 12px;border-radius:8px;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-dim);font-size:11.5px;line-height:1.45}.settings-trust-badge svg{color:var(--accent);flex-shrink:0;margin-top:1px}.settings-trust-badge strong{display:block;color:var(--text);font-size:12px;font-weight:600;margin-bottom:2px}.settings-trust-badge span{display:block}.settings-page-content{overflow-y:auto;padding:32px 40px 60px}.settings-tab{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.settings-tab-header{margin-bottom:4px}.settings-tab-title{font-size:26px;font-weight:700;letter-spacing:-.015em;margin:0 0 6px;color:var(--text)}.settings-tab-sub{font-size:14px;line-height:1.6;color:var(--text-dim);margin:0;max-width:620px}.settings-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:16px}.settings-card-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}.settings-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-card-title{font-size:15px;font-weight:600;margin:0;color:var(--text)}.settings-card-text{font-size:13.5px;line-height:1.6;color:var(--text-dim);margin:8px 0 0}.settings-card-body{display:flex;flex-direction:column;gap:12px}.settings-card-actions{display:flex;gap:10px;flex-wrap:wrap}.settings-card-actions-stack{flex-direction:column;align-items:flex-start}.settings-plan-card-meta{flex:1 1 280px;min-width:0}.settings-plan-card-name{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:700;letter-spacing:-.02em;margin:4px 0 6px;color:var(--text)}.settings-plan-card-price{font-size:16px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;margin-bottom:8px}.settings-plan-card-tagline{font-size:13px;color:var(--text-dim);line-height:1.55;max-width:480px}.settings-plan-card-cta{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.settings-plan-card-cta-fineprint{font-size:11.5px;color:var(--text-dim)}.settings-status-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:4px 9px;border-radius:999px;line-height:1;vertical-align:middle}.settings-status-badge.is-active{color:#14b66b;background:color-mix(in srgb,#14b66b 14%,transparent);border:1px solid color-mix(in srgb,#14b66b 35%,transparent)}.settings-status-badge.is-warning{color:#d97706;background:color-mix(in srgb,#f59e0b 16%,transparent);border:1px solid color-mix(in srgb,#f59e0b 38%,transparent)}.settings-status-badge.is-error{color:#dc2626;background:color-mix(in srgb,#ef4444 14%,transparent);border:1px solid color-mix(in srgb,#ef4444 35%,transparent)}.settings-status-badge.is-invoice-paid{color:#14b66b;background:color-mix(in srgb,#14b66b 14%,transparent);border:1px solid color-mix(in srgb,#14b66b 30%,transparent)}.settings-status-badge.is-invoice-failed{color:#dc2626;background:color-mix(in srgb,#ef4444 12%,transparent);border:1px solid color-mix(in srgb,#ef4444 30%,transparent)}.settings-status-badge.is-invoice-pending{color:#d97706;background:color-mix(in srgb,#f59e0b 12%,transparent);border:1px solid color-mix(in srgb,#f59e0b 30%,transparent)}.app.dark .settings-status-badge.is-active,.app.dark .settings-status-badge.is-invoice-paid{color:#4ade80}.app.dark .settings-status-badge.is-warning,.app.dark .settings-status-badge.is-invoice-pending{color:#fbbf24}.app.dark .settings-status-badge.is-error,.app.dark .settings-status-badge.is-invoice-failed{color:#f87171}.settings-banner{font-size:13px;line-height:1.55;padding:12px 14px;border-radius:10px;border:1px solid transparent}.settings-banner strong{font-weight:600}.settings-banner-warning{color:var(--text);background:color-mix(in srgb,#f59e0b 12%,transparent);border-color:color-mix(in srgb,#f59e0b 30%,transparent)}.settings-banner-error{color:var(--text);background:color-mix(in srgb,#ef4444 10%,transparent);border-color:color-mix(in srgb,#ef4444 28%,transparent)}.settings-btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;font-size:13px;font-weight:600;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease,opacity .12s ease,transform .12s ease;font-family:inherit;line-height:1.2;white-space:nowrap}.settings-btn:disabled{opacity:.55;cursor:not-allowed}.settings-btn-large{padding:11px 20px;font-size:14px}.settings-btn-primary{background:var(--accent);color:#fff}.settings-btn-primary:hover:not(:disabled){background:var(--accent-hover)}.settings-btn-secondary{background:transparent;color:var(--text);border-color:var(--border)}.settings-btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-dim)}.settings-btn-danger{background:transparent;color:#dc2626;border-color:color-mix(in srgb,#ef4444 35%,transparent)}.settings-btn-danger:hover:not(:disabled){background:color-mix(in srgb,#ef4444 10%,transparent);border-color:color-mix(in srgb,#ef4444 55%,transparent)}.app.dark .settings-btn-danger{color:#f87171}.settings-link{background:transparent;border:none;color:var(--accent);font-size:13px;font-weight:500;cursor:pointer;padding:0;text-decoration:none;font-family:inherit}.settings-link:hover{text-decoration:underline}.settings-link:disabled{opacity:.6;cursor:not-allowed}.settings-link-danger{color:#dc2626}.app.dark .settings-link-danger{color:#f87171}.settings-inline-error{font-size:13px;color:#dc2626;padding:8px 12px;background:color-mix(in srgb,#ef4444 8%,transparent);border:1px solid color-mix(in srgb,#ef4444 26%,transparent);border-radius:8px}.settings-inline-info{font-size:13px;color:var(--text-dim);padding:8px 12px;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:8px}.app.dark .settings-inline-error{color:#f87171}.settings-facts{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:16px;margin:0;padding:0;flex:1 1 360px;min-width:0}.settings-facts-item dt,.settings-facts-item dd,.settings-facts-item small{display:block;margin:0}.settings-facts-item dt{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-weight:600;margin-bottom:4px}.settings-facts-item dd{font-size:14px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.settings-facts-item small{font-size:11.5px;color:var(--text-dim);margin-top:2px}.settings-compare-price{font-size:14px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}.settings-compare-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.settings-compare-row{display:grid;grid-template-columns:1.1fr 1fr 1fr;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border);font-size:13px}.settings-compare-row:first-child{border-top:none}.settings-compare-feature{color:var(--text);font-weight:500}.settings-compare-free{color:var(--text-dim)}.settings-compare-pro{color:var(--text);font-weight:500}.settings-compare-cta{display:flex;justify-content:flex-end;margin-top:8px}.settings-table{border:1px solid var(--border);border-radius:10px;overflow:hidden}.settings-table-head,.settings-table-row{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr;gap:12px;padding:12px 16px;align-items:center}.settings-table-head{background:var(--bg);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-weight:600;border-bottom:1px solid var(--border)}.settings-table-row{font-size:13px;background:var(--bg-surface);border-top:1px solid var(--border)}.settings-table-row:first-of-type{border-top:none}.settings-table-cell-date{color:var(--text);font-weight:500}.settings-table-cell-amount{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.settings-table-actions-col{text-align:right}.settings-table-muted{color:var(--text-dim)}.settings-table-toggle{margin-top:8px;align-self:flex-start}.settings-empty{padding:14px 16px;font-size:13px;color:var(--text-dim);background:var(--bg);border:1px dashed var(--border);border-radius:10px;line-height:1.55}.settings-card-locked{background:color-mix(in srgb,var(--accent) 5%,var(--bg-surface));border-color:color-mix(in srgb,var(--accent) 25%,var(--border))}.settings-byok-secure{display:flex;gap:14px}.settings-byok-icon{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border-radius:8px}.settings-byok-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.settings-byok-list li{font-size:13px;line-height:1.5;color:var(--text-dim);padding-left:18px;position:relative}.settings-byok-list li:before{content:"";position:absolute;left:4px;top:7px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.settings-byok-list em{color:var(--text);font-style:normal;font-weight:500}.settings-byok-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.settings-byok-hint{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;color:var(--text);margin-top:4px}.settings-byok-form{display:flex;flex-direction:column;gap:10px}.settings-input{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:13.5px;outline:none;transition:border-color .12s ease;font-family:inherit}.settings-input:focus{border-color:var(--accent)}.settings-input::placeholder{color:var(--text-dim)}.settings-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:12.5px;color:var(--text-dim);-webkit-user-select:none;user-select:none}.settings-switch input{display:none}.settings-switch-track{width:36px;height:20px;border-radius:999px;background:var(--bg-hover);border:1px solid var(--border);position:relative;transition:background .15s ease,border-color .15s ease}.settings-switch-knob{position:absolute;top:1px;left:1px;width:16px;height:16px;border-radius:50%;background:var(--text);opacity:.6;transition:transform .15s ease,background .15s ease,opacity .15s ease}.settings-switch input:checked+.settings-switch-track{background:var(--accent);border-color:var(--accent)}.settings-switch input:checked+.settings-switch-track .settings-switch-knob{transform:translate(16px);background:#fff;opacity:1}.settings-switch-label{font-weight:500;color:var(--text)}.settings-profile{display:flex;align-items:center;gap:18px}.settings-profile-avatar{width:56px;height:56px;border-radius:50%;flex-shrink:0;border:1px solid var(--border);object-fit:cover}.settings-profile-avatar-fallback{display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-size:22px;font-weight:700}.settings-profile-info{display:flex;flex-direction:column;gap:4px;min-width:0}.settings-profile-name{font-size:16px;font-weight:600;color:var(--text);letter-spacing:-.005em}.settings-profile-email{font-size:13px;color:var(--text-dim)}.settings-profile-meta{font-size:12.5px;color:var(--text-dim);display:inline-flex;align-items:center;gap:6px;margin-top:2px}.settings-profile-meta-sep{opacity:.6}.settings-tag{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text)}.settings-tag.is-pro{background:var(--accent);border-color:var(--accent);color:#fff}.settings-trust-footer{margin-top:4px;padding:4px 0}.settings-trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.settings-trust-item{display:flex;gap:12px;padding:14px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px}.settings-trust-item svg{color:var(--accent);flex-shrink:0;margin-top:2px}.settings-trust-item strong{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}.settings-trust-item span{display:block;font-size:12.5px;color:var(--text-dim);line-height:1.5}@media (max-width: 760px){.settings-page-body{grid-template-columns:1fr}.settings-page-sidebar{border-right:none;border-bottom:1px solid var(--border);padding:12px;flex-direction:row;gap:8px;overflow-x:auto}.settings-page-eyebrow,.settings-page-trust{display:none}.settings-page-nav{flex-direction:row;gap:4px}.settings-page-content{padding:20px 16px 60px}.settings-page-header{padding:12px 14px;grid-template-columns:auto 1fr auto}.settings-page-userchip{display:none}.settings-card{padding:18px}.settings-tab-title{font-size:22px}.settings-table-head,.settings-table-row{grid-template-columns:1fr 1fr .8fr .6fr;padding:10px 12px;gap:8px}.settings-facts{grid-template-columns:1fr 1fr}.settings-plan-card-cta{align-items:stretch;width:100%}}.settings-plan{background:rgba(124,92,255,.07);border:1px solid rgba(124,92,255,.22);border-radius:12px;padding:16px 18px;margin-bottom:18px;display:flex;flex-direction:column;gap:14px}.settings-plan-header{display:flex;flex-direction:column;gap:6px}.settings-plan-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-plan-pill{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px;line-height:1}.settings-plan-pill.is-pro{background:linear-gradient(135deg,#6a73ff,#9a4fff);color:#fff;box-shadow:0 4px 12px #7a73ff59}.settings-plan-pill.is-free{background:rgba(255,255,255,.08);color:#c8c5ff;border:1px solid rgba(255,255,255,.12)}.settings-plan-price{font-size:14px;font-weight:600;color:#ecebff;font-variant-numeric:tabular-nums}.settings-plan-status{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:999px;line-height:1}.settings-plan-status.is-active{color:#50e3c2;background:rgba(80,227,194,.12);border:1px solid rgba(80,227,194,.35)}.settings-plan-status.is-warning{color:#ffb480;background:rgba(255,180,128,.12);border:1px solid rgba(255,180,128,.35)}.settings-plan-status.is-error{color:#ff8aa8;background:rgba(255,138,168,.12);border:1px solid rgba(255,138,168,.35)}.settings-plan-tagline{font-size:12.5px;color:#9a99c1;line-height:1.5;max-width:460px}.settings-plan-cta-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:4px;flex-wrap:wrap}.settings-plan-cta-text{display:flex;flex-direction:column;gap:3px;flex:1 1 200px;min-width:0}.settings-plan-cta-text strong{color:#ecebff;font-size:13.5px;font-weight:600}.settings-plan-cta-text span{color:#9a99c1;font-size:12px;line-height:1.5}.settings-plan-cta-btn{width:auto!important;flex-shrink:0;padding:10px 18px!important;font-size:13px!important;margin:0!important}.settings-plan-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;padding:10px 0 2px;border-top:1px solid rgba(255,255,255,.06)}.settings-plan-meta-item{display:flex;flex-direction:column;gap:2px}.settings-plan-meta-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:#6a698c;font-weight:600}.settings-plan-meta-value{font-size:13px;color:#ecebff;font-weight:600;font-variant-numeric:tabular-nums}.settings-plan-meta-hint{font-size:11px;color:#6a698c}.settings-plan-warning{font-size:12.5px;color:#ffb480;font-weight:500;background:rgba(255,180,128,.08);border:1px solid rgba(255,180,128,.25);padding:8px 10px;border-radius:8px;line-height:1.45}.settings-plan-warning strong{color:#ffd2ad;font-weight:700}.settings-plan-actions{display:flex;gap:8px;flex-wrap:wrap}.settings-plan-action{flex:1 1 auto;min-width:140px;padding:10px 14px;font-size:12.5px;font-weight:600;border-radius:8px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease;border:1px solid transparent}.settings-plan-action.login-modal-primary{width:auto;margin:0}.settings-plan-action-secondary{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);color:#ecebff}.settings-plan-action-secondary:hover:not(:disabled){background:rgba(255,255,255,.08);border-color:#ffffff38}.settings-plan-action-danger{background:transparent;color:#ff8aa8;border:1px solid rgba(255,138,168,.32)}.settings-plan-action-danger:hover:not(:disabled){background:rgba(255,138,168,.08);border-color:#ff8aa88c}.settings-plan-action:disabled{opacity:.55;cursor:not-allowed}.settings-plan-error,.settings-plan-info{margin-top:0;margin-bottom:18px}.settings-invoices{margin-bottom:22px;padding:0 2px}.settings-invoices-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px;gap:12px}.settings-invoices-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#9a99c1;font-weight:600;margin:0}.settings-invoices-refresh{font-size:11.5px}.settings-invoices-empty{font-size:12.5px;color:#6a698c;background:rgba(255,255,255,.02);border:1px dashed rgba(255,255,255,.08);border-radius:8px;padding:12px 14px;line-height:1.5}.settings-invoices-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:10px;overflow:hidden}.settings-invoices-row{display:grid;grid-template-columns:1fr 1fr auto auto;align-items:center;gap:12px;padding:10px 14px;background:rgba(15,16,32,.4);font-size:12.5px;color:#c8c5ff}.settings-invoices-row+.settings-invoices-row{border-top:1px solid rgba(255,255,255,.04)}.settings-invoices-date{color:#ecebff;font-weight:500}.settings-invoices-amount{color:#ecebff;font-variant-numeric:tabular-nums;font-weight:600}.settings-invoices-status{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;padding:3px 8px;border-radius:999px;line-height:1;white-space:nowrap}.settings-invoices-status.is-paid{color:#50e3c2;background:rgba(80,227,194,.12);border:1px solid rgba(80,227,194,.32)}.settings-invoices-status.is-failed{color:#ff8aa8;background:rgba(255,138,168,.12);border:1px solid rgba(255,138,168,.32)}.settings-invoices-status.is-pending{color:#ffb480;background:rgba(255,180,128,.1);border:1px solid rgba(255,180,128,.28)}.settings-invoices-link{text-align:right;font-size:12px}.settings-invoices-link-muted{color:#6a698c}.settings-invoices-toggle{margin-top:8px;font-size:12px}.login-modal-em{background:linear-gradient(135deg,#7c5cff,#4ad3ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-modal-sub{font-size:14px;line-height:1.55;color:#9a99c1;margin-bottom:22px}.login-modal-perks{list-style:none;padding:0;margin:0 0 24px;text-align:left;display:flex;flex-direction:column;gap:8px}.login-modal-perks li{font-size:13px;color:#c8c5ff;padding-left:24px;position:relative}.login-modal-perks li:before{content:"";position:absolute;left:4px;top:6px;width:8px;height:8px;border-radius:50%;background:#50e3c2;box-shadow:0 0 10px #50e3c2b3}.login-modal-btn{display:flex;justify-content:center;margin-bottom:18px;min-height:44px}.login-modal-fineprint{font-size:11.5px;color:#6a698c;line-height:1.5;margin:0}.login-modal-form{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.login-modal-input{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);color:#ecebff;font-size:14px;padding:12px 14px;border-radius:10px;outline:none;transition:border-color .15s ease,background .15s ease}.login-modal-input::placeholder{color:#6a698c}.login-modal-input:focus{border-color:#7a73ff;background:rgba(255,255,255,.06)}.login-modal-code{letter-spacing:6px;text-align:center;font-size:18px;font-variant-numeric:tabular-nums}.login-modal-primary{width:100%;background:linear-gradient(135deg,#6a73ff 0%,#9a4fff 100%);color:#fff;font-weight:600;font-size:14px;padding:12px 14px;border:none;border-radius:10px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.login-modal-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 22px #7a73ff73}.login-modal-primary:disabled{opacity:.55;cursor:not-allowed}.login-modal-divider{display:flex;align-items:center;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#6a698c;margin:14px 0}.login-modal-divider:before,.login-modal-divider:after{content:"";flex:1;height:1px;background:rgba(255,255,255,.08)}.login-modal-link{background:none;border:none;color:#9a8fff;font-size:13px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.login-modal-link:hover{color:#b8aeff}.login-modal-link:disabled{opacity:.5;cursor:not-allowed}.login-modal-altlink{display:inline-block;margin-top:4px}.login-modal-emailline{margin-bottom:16px}.login-modal-error{font-size:12.5px;color:#ff8585;background:rgba(255,90,90,.08);border:1px solid rgba(255,90,90,.25);padding:8px 10px;border-radius:8px;text-align:left}.login-modal-info{font-size:12.5px;color:#8de5c2;margin-bottom:12px;line-height:1.5}.byok-current{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.byok-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.03)}.byok-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.65;margin-bottom:3px}.byok-hint{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.byok-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.byok-switch input{position:absolute;opacity:0;pointer-events:none}.byok-switch-track{position:relative;width:36px;height:20px;border-radius:999px;background:rgba(255,255,255,.18);transition:background .15s ease;flex-shrink:0}.byok-switch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s ease}.byok-switch input:checked+.byok-switch-track{background:#6a73ff}.byok-switch input:checked+.byok-switch-track .byok-switch-knob{transform:translate(16px)}.byok-switch-label{font-size:12.5px;opacity:.85;white-space:nowrap}.byok-secure{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin-bottom:14px;border:1px solid rgba(141,229,194,.28);border-radius:10px;background:rgba(141,229,194,.07);color:inherit;text-align:left}.byok-secure svg{flex-shrink:0;color:#8de5c2;margin-top:1px}.byok-secure-title{font-size:13px;font-weight:600;color:#8de5c2;margin-bottom:6px}.byok-secure-list{margin:0;padding-left:16px;font-size:12px;line-height:1.55;opacity:.88}.byok-secure-list li{margin:0}.byok-secure-list em{font-style:italic;font-weight:600;opacity:1}.user-section{gap:4px}.user-avatar{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);cursor:default;flex-shrink:0}.user-avatar-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;border-radius:50%;cursor:pointer;flex-shrink:0;transition:box-shadow var(--transition)}.user-avatar-btn:hover .user-avatar,.user-avatar-btn.active .user-avatar{border-color:var(--accent)}.user-avatar-btn.active{box-shadow:0 0 0 2px var(--accent-soft, rgba(124, 92, 255, .25))}.user-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:13px;text-transform:uppercase;-webkit-user-select:none;user-select:none}.credit-badge{display:inline-flex;align-items:center;margin-right:4px;padding:3px 4px;border-radius:999px;background:var(--bg-secondary, rgba(124, 92, 255, .1));border:1px solid var(--border);cursor:default;-webkit-user-select:none;user-select:none}.credit-seg{display:inline-block;padding:0 8px;font-size:11px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap}.credit-seg.empty{color:#ff6b8a}.credit-sep{width:1px;height:12px;background:var(--border);flex-shrink:0}@media (max-width: 768px){.credit-badge{display:none}}@media (max-width: 768px){.sidebar{width:150px}.toolbar{padding:0 6px}}@media (max-width: 600px){.sidebar,.storebox-panel,.chat-panel,.ai-chat-panel,.manim-chat-panel{display:none}}.ai-chat-panel{width:360px;background:var(--bg-surface);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;z-index:5;overflow:hidden}.ai-chat-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border);gap:8px}.ai-chat-header h3{font-size:13px;font-weight:600;margin:0}.ai-chat-header-left{display:flex;align-items:center;gap:8px;min-width:0}.ai-chat-header-right{display:flex;align-items:center;gap:6px}.ai-chat-session-picker{position:relative}.ai-chat-session-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:11px;background:var(--bg-surface2);color:var(--text);border:1px solid var(--border);border-radius:5px;font-family:inherit;cursor:pointer;max-width:140px}.ai-chat-session-btn:hover{background:var(--bg-hover)}.ai-chat-session-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat-session-caret{font-size:9px;opacity:.6}.ai-chat-session-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #00000026;z-index:50;padding:4px}.ai-chat-session-item{display:flex;align-items:center;gap:2px;border-radius:5px}.ai-chat-session-item.active{background:var(--bg-hover)}.ai-chat-session-item-name{flex:1;text-align:left;background:none;border:none;color:var(--text);padding:6px 8px;font-size:12px;cursor:pointer;font-family:inherit;border-radius:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat-session-item-name:hover{background:var(--bg-hover)}.ai-chat-session-item-action{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:4px 6px;font-size:12px;border-radius:4px;font-family:inherit}.ai-chat-session-item-action:hover{background:var(--bg-hover);color:var(--text)}.ai-chat-session-new{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;border-top:1px solid var(--border);color:var(--text);font-size:12px;font-weight:500;padding:8px;cursor:pointer;font-family:inherit;margin-top:2px}.ai-chat-session-new:hover:not(:disabled){background:var(--bg-hover)}.ai-chat-session-new:disabled{opacity:.6;cursor:not-allowed}.ai-chat-pro-badge,.project-menu-pro-badge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.05em;background:linear-gradient(135deg,#6a73ff,#9a4fff);color:#fff;padding:2px 6px;border-radius:4px;margin-left:6px}.tool-btn-project{display:inline-flex;align-items:center;gap:4px;padding:0 8px;width:auto;min-width:0;max-width:200px}.project-switcher-label{font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.project-switcher-caret{font-size:9px;opacity:.6}.project-menu{min-width:260px;max-width:320px}.project-menu-list{max-height:320px;overflow-y:auto;padding:2px 0}.project-menu-item{display:flex;align-items:center;gap:2px;border-radius:5px;margin:0 4px}.project-menu-item.active{background:var(--bg-hover)}.project-menu-item-name{flex:1;display:flex;align-items:center;gap:6px;text-align:left;background:none;border:none;color:var(--text);padding:7px 10px;font-size:12px;font-family:inherit;cursor:pointer;border-radius:5px;overflow:hidden}.project-menu-item-name:hover{background:var(--bg-hover)}.project-menu-item-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-menu-item-current{color:var(--accent, #6a73ff);font-size:8px}.project-menu-item-action{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:4px 6px;font-size:13px;border-radius:4px;font-family:inherit}.project-menu-item-action:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.project-menu-item-action:disabled{opacity:.4;cursor:not-allowed}.project-menu-new{border-top:1px solid var(--border);margin-top:4px}.ai-chat-model{font-size:11px;padding:3px 6px;background:var(--bg-surface2);color:var(--text);border:1px solid var(--border);border-radius:5px;font-family:inherit;outline:none}.ai-chat-clear{background:transparent;border:none;color:var(--text-dim);font-size:11px;font-weight:500;padding:4px 8px;border-radius:5px;cursor:pointer;font-family:inherit}.ai-chat-clear:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.ai-chat-clear:disabled{opacity:.4;cursor:not-allowed}.ai-chat-close{background:none;border:none;color:var(--text-dim);font-size:18px;cursor:pointer;line-height:1;padding:0 4px;border-radius:4px}.ai-chat-close:hover{background:var(--bg-hover);color:var(--text)}.ai-chat-thread{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.ai-chat-empty{font-size:12px;color:var(--text-dim);line-height:1.5;padding:8px 4px}.ai-chat-empty ul{margin:6px 0 6px 16px;padding:0}.ai-chat-empty li{margin:2px 0}.ai-chat-msg{border-radius:10px;padding:7px 10px;font-size:12px;line-height:1.45;word-wrap:break-word;max-width:95%}.ai-chat-msg-user{background:var(--accent);color:#fff;align-self:flex-end;white-space:pre-wrap}.ai-chat-msg-assistant{background:var(--bg-surface2);color:var(--text);align-self:flex-start}.ai-md>:first-child{margin-top:0}.ai-md>:last-child{margin-bottom:0}.ai-md p{margin:0 0 8px;white-space:pre-wrap}.ai-md h1,.ai-md h2,.ai-md h3,.ai-md h4,.ai-md h5,.ai-md h6{margin:12px 0 6px;font-weight:700;line-height:1.3}.ai-md h1{font-size:15px}.ai-md h2{font-size:14px}.ai-md h3{font-size:13px}.ai-md h4,.ai-md h5,.ai-md h6{font-size:12px}.ai-md ul,.ai-md ol{margin:4px 0 8px;padding-left:22px}.ai-md li{margin:2px 0}.ai-md hr{border:0;border-top:1px solid var(--border);margin:10px 0}.ai-md code{background:color-mix(in srgb,var(--text) 10%,transparent);padding:1px 5px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.ai-md pre.ai-md-pre{background:color-mix(in srgb,var(--text) 8%,transparent);padding:8px 10px;border-radius:6px;margin:6px 0;overflow-x:auto}.ai-md pre.ai-md-pre code{background:transparent;padding:0;font-size:11px;white-space:pre}.ai-md a{color:var(--accent);text-decoration:underline}.ai-md strong{font-weight:700}.ai-md em{font-style:italic}.ai-chat-msg-error{background:color-mix(in srgb,var(--danger) 12%,var(--bg-surface2))}.ai-chat-error-text{color:var(--danger);font-size:12px}.ai-chat-typing{color:var(--text-dim);font-size:16px;letter-spacing:2px}.ai-chat-msg-clarify{border-left:3px solid var(--accent)}.ai-chat-clarify-text{display:block;font-size:13px;line-height:1.5;color:var(--text)}.ai-chat-clarify-text:before{content:"? ";color:var(--accent);font-weight:700}.ai-chat-actions-summary{margin-top:5px;font-size:11px;color:var(--text-dim);font-style:italic;display:flex;align-items:center;gap:6px}.ai-chat-step-header{display:inline-flex;align-items:center;gap:8px;margin-bottom:6px;font-size:11px}.ai-chat-step-num{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 7px;border-radius:9999px;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#6366f1 30%));color:#fff;font-weight:600;font-size:10px;letter-spacing:.04em;box-shadow:0 1px 2px #6366f140}.ai-chat-step-num:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#fff;opacity:.85}.ai-chat-step-title{color:var(--text);font-weight:500;font-size:12px;letter-spacing:0;text-transform:none}.ai-chat-msg-step{position:relative;border-left:2px solid color-mix(in srgb,var(--accent) 60%,transparent);padding-left:10px}.ai-chat-step-status{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 8px;margin:6px 0;align-self:flex-start;border-radius:9999px;background:color-mix(in srgb,var(--accent) 10%,var(--bg-surface2));border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);font-size:11px;color:var(--text);max-width:100%}.ai-chat-step-status .ai-chat-step-num{padding:3px 10px 3px 8px;font-size:10px}.ai-chat-step-status .ai-chat-step-num:before{animation:ai-chat-step-pulse 1.4s ease-in-out infinite}@keyframes ai-chat-step-pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.ai-chat-step-dots{display:inline-flex;align-items:center;gap:3px;margin-left:2px}.ai-chat-step-dots span{width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.5;animation:ai-chat-step-bounce 1.1s ease-in-out infinite}.ai-chat-step-dots span:nth-child(2){animation-delay:.18s}.ai-chat-step-dots span:nth-child(3){animation-delay:.36s}@keyframes ai-chat-step-bounce{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.ai-chat-stop{align-self:flex-end;padding:6px 16px;font-size:12px;min-width:70px;background:var(--danger);color:#fff;border:1px solid var(--danger);border-radius:6px;cursor:pointer;font-family:inherit}.ai-chat-stop:hover:not(:disabled){filter:brightness(1.1)}.ai-chat-stop:disabled{opacity:.6;cursor:not-allowed}.ai-chat-replay-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text-dim);cursor:pointer;margin-left:auto}.ai-chat-replay-btn:hover{color:var(--text);border-color:var(--text-dim)}.ai-chat-composer{border-top:1px solid var(--border);padding:8px;display:flex;flex-direction:column;gap:6px}.ai-chat-input{width:100%;resize:none;font-family:inherit;font-size:12px;padding:7px 9px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface2);color:var(--text);outline:none;box-sizing:border-box}.ai-chat-input:focus{border-color:var(--accent)}.ai-chat-send{align-self:flex-end;padding:6px 16px;font-size:12px;min-width:70px}.ai-chat-send:disabled{opacity:.5;cursor:not-allowed}.ai-chat-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:6px}.ai-chat-attach{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;font-size:12px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-family:inherit;transition:background var(--transition),border-color var(--transition)}.ai-chat-attach:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent)}.ai-chat-attach:disabled{opacity:.5;cursor:not-allowed}.ai-chat-msg .chat-att-row{margin-top:6px}.format-toolbar{display:flex;align-items:center;gap:2px;padding:4px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #0000002e;-webkit-user-select:none;user-select:none}.format-btn{min-width:28px;height:28px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--text);border:none;border-radius:4px;cursor:pointer;font-size:13px;font-family:inherit;transition:background var(--transition)}.format-btn:hover{background:var(--bg-hover)}.format-sep{width:1px;height:18px;background:var(--border);margin:0 2px;flex-shrink:0}.flow-field-label{font-size:11px;color:var(--text-dim);margin-top:4px}.flow-json-textarea{flex:1;width:100%;min-height:420px;padding:10px 12px;border:none;background:var(--bg-surface2);color:var(--text);font-size:12px;font-family:monospace;outline:none;resize:none;box-sizing:border-box}.tool-btn{transition:background var(--transition),color var(--transition),transform .12s ease,box-shadow .2s ease}.tool-btn:hover{transform:translateY(-1px)}.tool-btn:active{transform:scale(.94);transition-duration:60ms}.tool-btn.active{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 40%,transparent),0 4px 14px color-mix(in srgb,var(--accent) 30%,transparent)}.tool-btn.tool-btn-ai.active{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 50%,transparent),0 0 16px color-mix(in srgb,var(--accent) 35%,transparent)}.dialog-overlay{animation:tb-overlay-in .18s ease-out both}.dialog{animation:tb-dialog-in .22s cubic-bezier(.2,.9,.3,1.2) both;transform-origin:center}@keyframes tb-overlay-in{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}@keyframes tb-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.storebox-panel,.ai-chat-panel,.manim-chat-panel{animation:tb-panel-in .24s cubic-bezier(.2,.7,.2,1) both}.workshop-dialog{animation:tb-dialog-in .24s cubic-bezier(.2,.9,.3,1.2) both;transform-origin:center}@keyframes tb-panel-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.toolbar{animation:tb-toolbar-in .32s ease-out both}@keyframes tb-toolbar-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.storebox-item{transition:transform .14s ease,box-shadow .2s ease}.storebox-item:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 18px #0000002e}.format-toolbar{animation:tb-format-in .16s ease-out both;transform-origin:top left}@keyframes tb-format-in{0%{opacity:0;transform:translateY(-4px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.manim-chat-panel{width:380px;background:var(--bg-surface);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;z-index:5;overflow:hidden}.manim-chat-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border);gap:8px}.manim-chat-header h3{font-size:13px;font-weight:600;margin:0}.manim-chat-header-right{display:flex;align-items:center;gap:6px}.manim-chat-model{font-size:11px;padding:3px 6px;background:var(--bg-surface2);color:var(--text);border:1px solid var(--border);border-radius:5px;font-family:inherit;outline:none}.manim-chat-clear{background:transparent;border:none;color:var(--text-dim);font-size:11px;font-weight:500;padding:4px 8px;border-radius:5px;cursor:pointer;font-family:inherit}.manim-chat-clear:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.manim-chat-clear:disabled{opacity:.4;cursor:not-allowed}.manim-chat-close{background:none;border:none;color:var(--text-dim);font-size:18px;cursor:pointer;line-height:1;padding:0 4px;border-radius:4px}.manim-chat-close:hover{background:var(--bg-hover);color:var(--text)}.manim-chat-thread{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:10px}.manim-chat-empty{font-size:12px;color:var(--text-dim);line-height:1.5;padding:8px 4px}.manim-chat-empty ul{margin:6px 0 6px 16px;padding:0}.manim-chat-empty li{margin:2px 0}.manim-chat-job{background:var(--bg-surface2);border:1px solid var(--border);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:6px;font-size:12px;position:relative}.manim-chat-job-running{border-left:3px solid var(--accent)}.manim-chat-job-errored{border-left:3px solid var(--danger)}.manim-chat-job.is-modifying{outline:2px solid var(--accent);outline-offset:-1px}.manim-chat-job-head{display:flex;align-items:center;gap:6px}.manim-chat-job-mode{font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.manim-chat-job-mode--png{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#d97706}.app.dark .manim-chat-job-mode--png{color:#fbbf24}.manim-chat-job-delete{margin-left:auto;background:none;border:none;color:var(--text-dim);cursor:pointer;padding:2px 4px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition)}.manim-chat-job:hover .manim-chat-job-delete,.manim-chat-job-delete:focus-visible{opacity:1}.manim-chat-job-delete:hover{background:var(--bg-hover);color:var(--danger)}.manim-chat-job-prompt{color:var(--text);line-height:1.4;word-break:break-word;white-space:pre-wrap}.manim-chat-job-explain{font-size:11px;color:var(--text-dim);line-height:1.4;font-style:italic}.manim-job-status-clarify{color:var(--accent)}.manim-chat-job-clarify-msg{font-size:12px;line-height:1.45;padding:8px 10px;border-radius:6px;background:var(--bg-surface2);border-left:3px solid var(--accent);color:var(--text)}.manim-chat-job-media{position:relative;width:100%;background:repeating-conic-gradient(var(--bg) 0% 25%,var(--bg-surface2) 0% 50%) 50% / 12px 12px;border-radius:6px;overflow:hidden}.manim-chat-job-media img,.manim-chat-job-media video{width:100%;display:block;max-height:280px;object-fit:contain;background:transparent}.manim-chat-job-media .manim-download-btn{opacity:0}.manim-chat-job-media:hover .manim-download-btn,.manim-chat-job-media .manim-download-btn:focus-visible{opacity:1}.manim-chat-job-actions{display:flex;gap:6px;flex-wrap:wrap}.manim-chat-job-actions .chat-action{font-size:11px;padding:4px 10px}.manim-chat-job-trash{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;padding:4px 6px}.manim-chat-composer{border-top:1px solid var(--border);padding:8px;display:flex;flex-direction:column;gap:6px}.manim-modify-banner{display:flex;align-items:center;gap:6px;padding:4px 8px;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid var(--accent);border-radius:5px;font-size:11px;color:var(--text)}.manim-modify-banner .manim-modify-label{font-weight:600;flex-shrink:0}.manim-modify-banner em{font-style:normal;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.manim-chat-meta-row{display:flex;align-items:center;gap:8px}.manim-chat-segmented{display:inline-flex;background:var(--bg-surface2);border:1px solid var(--border);border-radius:6px;padding:2px}.manim-chat-segmented-btn{padding:3px 12px;font-size:11px;font-weight:600;background:transparent;border:none;border-radius:4px;color:var(--text-dim);cursor:pointer;font-family:inherit}.manim-chat-segmented-btn.active{background:var(--accent);color:#fff}.manim-chat-input{width:100%;resize:none;font-family:inherit;font-size:12px;padding:7px 9px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface2);color:var(--text);outline:none;box-sizing:border-box}.manim-chat-input:focus{border-color:var(--accent)}.manim-chat-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:6px}.manim-chat-attach{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;font-size:12px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-family:inherit;transition:background var(--transition),border-color var(--transition)}.manim-chat-attach:hover{background:var(--bg-hover);border-color:var(--accent)}.manim-chat-send{align-self:flex-end;padding:6px 16px;font-size:12px;min-width:80px}.manim-chat-send:disabled{opacity:.5;cursor:not-allowed}@keyframes tb-dialog-fadein{0%{opacity:0}to{opacity:1}}@keyframes tb-dialog-pop{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(8,8,16,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:24px;animation:tb-dialog-fadein .16s ease-out}.dialog{width:100%;max-width:440px;background:var(--bg-surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 60px -16px #0000008c,0 8px 20px -8px #00000059;overflow:hidden;animation:tb-dialog-pop .18s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.dialog:before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-hover))}.dialog-success:before{background:linear-gradient(90deg,#10b981,#34d399)}.dialog-error:before{background:linear-gradient(90deg,#ef4444,#f87171)}.dialog-warning:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.dialog-pro:before{background:linear-gradient(90deg,#6366f1,#a855f7,#ec4899)}.dialog-info:before{background:linear-gradient(90deg,var(--accent),var(--accent-hover))}.dialog-header{display:flex;align-items:center;gap:12px;padding:18px 22px 6px}.dialog-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;flex-shrink:0}.dialog-icon-info{background:rgba(99,102,241,.15);color:#818cf8}.dialog-icon-success{background:rgba(16,185,129,.15);color:#34d399}.dialog-icon-warning{background:rgba(245,158,11,.15);color:#fbbf24}.dialog-icon-error{background:rgba(239,68,68,.15);color:#f87171}.dialog-icon-pro{background:linear-gradient(135deg,rgba(99,102,241,.18),rgba(168,85,247,.22));color:#c4b5fd}.dialog-title{font-size:15px;font-weight:600;color:var(--text);margin:0;line-height:1.3;letter-spacing:-.01em}.dialog-body{padding:6px 22px 8px}.dialog-message{font-size:13px;line-height:1.55;color:var(--text-dim);white-space:pre-wrap}.dialog-input{margin-top:14px;width:100%;padding:10px 12px;background:var(--bg-surface2);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:13px;font-family:inherit;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.dialog-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f12e}.dialog-error{margin-top:8px;font-size:12px;color:#f87171}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 22px 18px}.dialog-btn{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;font-family:inherit;border:1px solid transparent;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .06s ease;outline:none}.dialog-btn:focus-visible{box-shadow:0 0 0 3px #6366f159}.dialog-btn:active{transform:translateY(1px)}.dialog-btn-secondary{background:transparent;color:var(--text-dim);border-color:var(--border)}.dialog-btn-secondary:hover{background:var(--bg-hover);color:var(--text)}.dialog-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.dialog-btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.dialog-btn-danger{background:#ef4444;border-color:#ef4444}.dialog-btn-danger:hover{background:#dc2626;border-color:#dc2626}.dialog-btn-pro{background:linear-gradient(135deg,#6366f1,#a855f7);border-color:transparent;box-shadow:0 4px 14px -4px #a855f780}.dialog-btn-pro:hover{background:linear-gradient(135deg,#818cf8,#c084fc)}.app.light .dialog-overlay{background:rgba(40,40,60,.35)}.app.light .dialog{box-shadow:0 24px 60px -16px #28285040,0 8px 20px -8px #28285026}@media (max-width: 540px){.dialog-overlay{padding:16px;align-items:flex-end}.dialog{max-width:100%}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-0cdd387c.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-30da91e8.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-68534840.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-de7701e4.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-1ae6bd74.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-07d8e303.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-5d53e70a.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-3398dd02.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-ed0b7437.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-74444efd.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-9be7ceb8.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-9163df9c.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-51814d27.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-5e28753b.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-1e6f9579.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-0f60d1b8.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-c76c5d69.woff) format("woff"),url(/assets/KaTeX_Main-Bold-138ac28d.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-99cd42a3.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-a6f7ec0d.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-70ee1f64.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-97479ca6.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-f1d6ef86.woff) format("woff"),url(/assets/KaTeX_Main-Italic-0d85ae7c.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-c2342cd8.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-c6368d87.woff) format("woff"),url(/assets/KaTeX_Main-Regular-d0332f52.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-dc47344d.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-850c0af5.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-f9377ab0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-7af58c5e.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-8a8d2445.woff) format("woff"),url(/assets/KaTeX_Math-Italic-08ce98e5.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-e99ae511.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-ece03cfd.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-1ece03f7.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-00b26ac8.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-91ee6750.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-3931dd81.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-68e8c73e.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-11e4dc8a.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-f36ea897.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-036d4e95.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-d96cdf2b.woff) format("woff"),url(/assets/KaTeX_Script-Regular-1c67f068.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-6b47c401.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-c943cc98.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-95b6d2f1.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-d04c5421.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-2014c523.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-a6b2099f.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-6ab6b62e.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-500e04d5.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-a4af7d41.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-99f9c675.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-c647367d.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-71d517d6.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-e14fed02.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-f01f3e87.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.45"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}
