:root{--bg: #0f1115;--bg-elevated: #1a1d24;--bg-hover: #232730;--border: #2a2f3a;--text: #e4e6eb;--text-muted: #8b919e;--primary: #4f8cff;--primary-hover: #3b78f0;--danger: #ef4444;--success: #22c55e;--warning: #f59e0b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{background:var(--bg);color:var(--text);overflow:hidden}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:6px;font-size:13px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);transition:background .15s}.btn:hover{background:var(--bg-hover)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-danger{color:var(--danger)}.btn-icon{padding:8px;min-width:34px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:13px;color:var(--text-muted)}.input{padding:10px 12px;border-radius:6px;background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:14px;outline:none}.input:focus{border-color:var(--primary)}.auth-wrap{height:100%;display:flex;align-items:center;justify-content:center}.auth-card{width:360px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:28px}.auth-title{font-size:20px;font-weight:600;margin-bottom:4px}.auth-subtitle{font-size:13px;color:var(--text-muted);margin-bottom:22px}.auth-error{color:var(--danger);font-size:13px;margin-bottom:12px;min-height:18px}.auth-footer{margin-top:16px;font-size:13px;color:var(--text-muted);text-align:center}.auth-footer a{color:var(--primary);text-decoration:none}.editor-layout{height:100%;display:flex;flex-direction:column;position:relative}.editor-body{flex:1;display:flex;min-height:0}.editor-canvas{flex:1;position:relative;overflow:hidden;background:#0b0d10}.toolbar{display:flex;align-items:center;gap:4px;padding:0 12px;height:44px;background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-shrink:0}.toolbar-group{display:flex;align-items:center;gap:4px}.toolbar-divider{width:1px;height:22px;background:var(--border);margin:0 4px}.toolbar-spacer{flex:1}.btn-sm{padding:6px 10px;font-size:12px}.btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.btn:disabled{opacity:.4;cursor:not-allowed}.zoom-label{font-size:12px;color:var(--text-muted);min-width:38px;text-align:center}.bg-color-label{font-size:12px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.bg-color-input{width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:6px;background:none;cursor:pointer}.bg-color-input::-webkit-color-swatch-wrapper{padding:2px}.bg-color-input::-webkit-color-swatch{border:none;border-radius:4px}.user-name{font-size:12px;color:var(--text-muted)}.editor-sidebar{width:220px;display:flex;flex-direction:column;border-left:1px solid var(--border);flex-shrink:0;overflow:hidden;transition:width .2s ease}.editor-sidebar.collapsed{width:0;border-left:none}.editor-left{width:340px;display:flex;flex-direction:column;border-right:1px solid var(--border);flex-shrink:0;overflow:hidden;transition:width .2s ease}.editor-left.collapsed{width:0;border-right:none}.left-toggle,.right-toggle{width:14px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);color:var(--text-muted);font-size:11px;cursor:pointer;flex-shrink:0}.left-toggle{border-right:1px solid var(--border)}.right-toggle{border-left:1px solid var(--border)}.left-toggle:hover,.right-toggle:hover{color:var(--text);background:var(--bg-hover)}.layer-panel{background:var(--bg-elevated);display:flex;flex-direction:column;border-bottom:1px solid var(--border);flex-shrink:0;max-height:50%}.layer-panel.collapsed{max-height:40px}.layer-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-size:13px;font-weight:600;border-bottom:1px solid var(--border)}.layer-panel-toggle{font-size:11px;color:var(--text-muted);padding:2px 4px}.layer-panel-toggle:hover{color:var(--text)}.layer-list{overflow-y:auto;padding:6px}.layer-empty{font-size:12px;color:var(--text-muted);padding:16px 8px;text-align:center}.layer-row{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:12px;margin-bottom:2px;border:1px solid transparent;-webkit-user-select:none;user-select:none}.layer-row:hover{background:var(--bg-hover)}.layer-row.selected{background:#4f8cff26;color:var(--primary)}.layer-row.drag-over{border-color:var(--primary)}.layer-row-grip{color:var(--text-muted);cursor:grab;font-size:10px;letter-spacing:-2px}.layer-row-icon{width:16px;text-align:center}.layer-row-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-row-eye{background:transparent;color:var(--text-muted);font-size:13px;padding:0 2px}.layer-row-eye:hover{color:var(--text)}.layer-row-edit{flex:1;min-width:0;background:var(--bg);border:1px solid var(--primary);color:var(--text);font-size:12px;padding:2px 4px;border-radius:3px;outline:none}.ctx-menu{position:fixed;z-index:1000;min-width:150px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:4px;box-shadow:0 8px 24px #0006}.ctx-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:13px;color:var(--text);border-radius:5px;text-align:left}.ctx-item:hover{background:var(--bg-hover)}.ctx-item.danger{color:var(--danger)}.ctx-item.danger:hover{background:#ef44441f}.ctx-divider{height:1px;background:var(--border);margin:4px 0}.sidebar{flex:1;background:var(--bg-elevated);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-size:13px;font-weight:600;border-bottom:1px solid var(--border)}.sidebar-list{flex:1;overflow-y:auto;padding:6px}.sidebar-empty{font-size:12px;color:var(--text-muted);padding:16px 8px;text-align:center}.sidebar-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13px;margin-bottom:2px}.sidebar-item:hover{background:var(--bg-hover)}.sidebar-item.active{background:#4f8cff26;color:var(--primary)}.sidebar-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-item-actions{display:none;gap:4px}.sidebar-item:hover .sidebar-item-actions{display:flex}.btn-icon-sm{font-size:12px;padding:2px 6px;border-radius:4px;background:transparent;color:var(--text-muted)}.btn-icon-sm:hover{background:var(--bg);color:var(--text)}.btn-icon-sm.danger:hover{color:var(--danger)}.input-sm{padding:4px 6px;font-size:13px}.minimap{position:absolute;right:16px;bottom:16px;width:180px;height:120px;background:#1a1d24eb;border:1px solid var(--border);border-radius:8px;overflow:hidden;cursor:pointer;z-index:10}.minimap-inner{position:relative;width:100%;height:100%}.minimap-dot{position:absolute;opacity:.7;border-radius:1px}.minimap-viewport{position:absolute;border:1.5px solid #4f8cff;background:#4f8cff1a;border-radius:1px}.chat-panel{flex:1;display:flex;flex-direction:column;background:var(--bg);min-height:0;position:relative}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid var(--border)}.chat-header-actions{display:flex;align-items:center;gap:6px}.chat-header-new-btn{font-size:11px;font-weight:400;padding:3px 8px;white-space:nowrap}.chat-header-toggle{font-size:11px;font-weight:400;padding:3px 8px;border-radius:5px;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer}.chat-header-toggle.on{color:var(--primary);border-color:var(--primary);background:#4f8cff1a}.chat-header-toggle:hover{color:var(--text)}.debuglog-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;background:var(--bg);animation:debuglog-in .16s ease}@keyframes debuglog-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.debuglog-header{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0}.debuglog-title{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--text)}.debuglog-live{width:7px;height:7px;border-radius:50%;background:var(--text-muted);opacity:.4;flex-shrink:0}.debuglog-live.on{background:var(--success);opacity:1;animation:debuglog-pulse 1s ease-in-out infinite}@keyframes debuglog-pulse{0%,to{box-shadow:0 0 #22c55e80}50%{box-shadow:0 0 0 4px #22c55e00}}.debuglog-count{font-size:10px;font-weight:600;color:var(--primary);background:#4f8cff1f;border-radius:8px;padding:1px 6px;min-width:18px;text-align:center}.debuglog-header-actions{display:flex;align-items:center;gap:4px}.debuglog-action{font-size:11px;padding:3px 8px;border-radius:5px;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.debuglog-action:hover{color:var(--text);border-color:var(--text-muted)}.debuglog-action.on{color:var(--primary);border-color:var(--primary);background:#4f8cff1a}.debuglog-action.close:hover{color:var(--danger);border-color:var(--danger)}.debuglog-list{flex:1;overflow-y:auto;padding:6px;min-height:0}.debuglog-list::-webkit-scrollbar{width:6px}.debuglog-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.debuglog-empty{font-size:12px;color:var(--text-muted);text-align:center;padding:28px 10px}.debuglog-row{border-radius:6px;margin-bottom:4px;overflow:hidden;border:1px solid transparent;animation:debuglog-row-in .18s ease}@keyframes debuglog-row-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.debuglog-row:hover{border-color:var(--border)}.debuglog-row-head{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;font-size:12px;text-align:left;cursor:pointer;background:transparent;color:var(--text)}.debuglog-row-head:hover{background:var(--bg-hover)}.debuglog-badge{font-size:10px;font-weight:600;padding:1px 6px;border-radius:4px;flex-shrink:0;line-height:1.5}.debuglog-badge.request{color:var(--primary);background:#4f8cff24}.debuglog-badge.event{color:var(--success);background:#22c55e1f}.debuglog-badge.error{color:var(--danger);background:#ef444424}.debuglog-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:11px}.debuglog-row.kind-error .debuglog-name{color:var(--danger)}.debuglog-time{font-size:10px;color:var(--text-muted);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;flex-shrink:0}.debuglog-chevron{font-size:10px;color:var(--text-muted);transition:transform .15s ease;flex-shrink:0}.debuglog-chevron.open{transform:rotate(180deg)}.debuglog-detail{margin:0;padding:8px 10px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:11px;line-height:1.5;color:var(--text);background:var(--bg-elevated);border-top:1px solid var(--border);white-space:pre-wrap;word-break:break-all;max-height:240px;overflow-y:auto}.debuglog-detail::-webkit-scrollbar{width:5px}.debuglog-detail::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.conversation-dropdown{position:relative;flex:1;min-width:0}.conversation-dropdown-trigger{display:flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--border);border-radius:5px;background:var(--bg-elevated);color:var(--text);font-size:12px;cursor:pointer;max-width:140px;white-space:nowrap}.conversation-dropdown-trigger:hover{background:var(--bg-hover);border-color:var(--primary)}.conversation-dropdown-label{overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.conversation-dropdown-arrow{font-size:10px;transition:transform .15s ease;flex-shrink:0}.conversation-dropdown-arrow.open{transform:rotate(180deg)}.conversation-dropdown-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:100;min-width:200px;max-width:280px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);box-shadow:0 4px 16px #00000026;overflow:hidden}.conversation-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-size:11px;color:var(--text-muted);font-weight:600;border-bottom:1px solid var(--border)}.conversation-dropdown-list{max-height:240px;overflow-y:auto;padding:4px}.conversation-dropdown-list::-webkit-scrollbar{width:4px}.conversation-dropdown-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.conversation-dropdown-empty{font-size:12px;color:var(--text-muted);padding:10px;text-align:center}.conversation-dropdown-item{display:flex;align-items:center;gap:4px;padding:5px 8px;border-radius:5px;cursor:pointer}.conversation-dropdown-item:hover{background:var(--bg-hover)}.conversation-dropdown-item.active{background:#4f8cff1a}.conversation-dropdown-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:var(--text)}.conversation-dropdown-item.active .conversation-dropdown-item-name{color:var(--primary);font-weight:500}.conversation-dropdown-item-actions{display:none;gap:2px;flex-shrink:0}.conversation-dropdown-item:hover .conversation-dropdown-item-actions{display:flex}.conversation-input{width:100%;height:24px;padding:2px 6px;font-size:12px}.chat-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.chat-empty{font-size:12px;color:var(--text-muted);text-align:center;padding:24px 8px}.chat-row{display:flex}.chat-row-user{justify-content:flex-end}.chat-row-assistant{justify-content:flex-start}.chat-bubble{position:relative;max-width:90%;padding:8px 12px;border-radius:8px;font-size:13px;line-height:1.6;word-break:break-word}.chat-bubble-user{background:var(--primary);color:#fff}.chat-bubble-assistant{background:var(--bg-elevated);border:1px solid var(--border)}.chat-msg-delete{position:absolute;top:2px;right:4px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:currentColor;opacity:0;font-size:15px;line-height:1;cursor:pointer;transition:opacity .15s,background .15s}.chat-bubble:hover .chat-msg-delete{opacity:.5}.chat-msg-delete:hover{opacity:1!important;background:#00000026;color:var(--danger)}.chat-typing{color:var(--text-muted);font-style:italic}.chat-cursor{display:inline-block;animation:blink 1s step-end infinite;color:var(--primary)}@keyframes blink{50%{opacity:0}}.chat-images{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chat-image{width:120px;height:auto;max-height:160px;object-fit:contain;border-radius:6px;border:1px solid var(--border);cursor:zoom-in}.chat-image[draggable=true]{cursor:grab}.chat-image[draggable=true]:active{cursor:grabbing}.chat-error-tag{margin-top:6px;font-size:11px;color:var(--danger)}.chat-error-row{display:flex;align-items:center;gap:8px;margin-top:6px}.chat-error-row .chat-error-tag{margin-top:0}.chat-resend-btn{padding:1px 8px;font-size:11px;border-radius:4px;border:1px solid var(--primary);background:transparent;color:var(--primary);white-space:nowrap}.chat-resend-btn:hover{background:var(--primary);color:#fff}.chat-duration{margin-top:4px;font-size:11px;color:var(--text-muted);text-align:right}.chat-add-to-board{align-self:flex-start;font-size:12px;padding:4px 10px;border-radius:6px;background:var(--bg-elevated);border:1px solid var(--primary);color:var(--primary);cursor:pointer}.chat-add-to-board:hover{background:var(--primary);color:#fff}.reasoning-collapsible{margin-bottom:8px;border:1px dashed var(--border);border-radius:6px;overflow:hidden}.reasoning-toggle{display:flex;align-items:center;gap:4px;width:100%;padding:4px 8px;font-size:12px;color:var(--text-muted);text-align:left;cursor:pointer;background:var(--bg)}.reasoning-toggle:hover{color:var(--text)}.reasoning-arrow{display:inline-block;transition:transform .15s ease}.reasoning-arrow.open{transform:rotate(90deg)}.reasoning-content{padding:8px;font-size:12px;color:var(--text-muted);border-top:1px solid var(--border);background:var(--bg)}.tool-collapsible{margin-bottom:8px;border:1px dashed var(--border);border-radius:6px;overflow:hidden}.tool-toggle{display:flex;align-items:center;gap:4px;width:100%;padding:4px 8px;font-size:12px;color:var(--text-muted);text-align:left;cursor:pointer;background:var(--bg)}.tool-toggle:hover{color:var(--text)}.tool-arrow{display:inline-block;transition:transform .15s ease}.tool-arrow.open{transform:rotate(90deg)}.tool-content{padding:8px;border-top:1px solid var(--border);background:var(--bg)}.tool-call-item{margin-bottom:8px}.tool-call-item:last-child{margin-bottom:0}.tool-call-name{font-size:12px;font-weight:600;color:var(--accent);margin-bottom:4px}.tool-call-args pre{margin:0;padding:6px 8px;font-size:11px;color:var(--text-muted);background:var(--bg-secondary);border-radius:4px;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.chat-input-area{border-top:1px solid var(--border);padding:8px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.chat-active-model{font-size:11px;color:var(--text-muted);text-align:center;padding:2px 0}.mention-input-wrap{position:relative}.mention-textarea{width:100%;resize:vertical;min-height:60px;max-height:160px;padding:8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font-size:13px;font-family:inherit}.mention-textarea:focus{outline:none;border-color:var(--primary)}.mention-textarea:disabled{opacity:.6}.mention-input-wrap.drag-over .mention-textarea{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--bg-elevated))}.mention-upload-tip{margin-top:4px;font-size:12px;color:var(--text-muted)}.mention-thumbs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.mention-thumb{position:relative;width:44px;height:44px;border-radius:6px;overflow:hidden;border:1px solid var(--border)}.mention-thumb img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}.mention-thumb-remove{position:absolute;top:0;right:0;width:16px;height:16px;font-size:12px;line-height:14px;text-align:center;background:#0009;color:#fff;border-radius:0 6px}.mention-popup{position:absolute;bottom:100%;left:0;right:0;max-height:220px;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0006;z-index:1000;margin-bottom:4px}.mention-popup-title{padding:6px 10px;font-size:11px;color:var(--text-muted);border-bottom:1px solid var(--border)}.mention-popup-section-title{padding:6px 10px 2px;font-size:11px;font-weight:600;color:var(--text-muted)}.mention-popup-divider{height:1px;background:var(--border);margin:4px 0}.mention-popup-list{display:flex;flex-direction:column}.mention-popup-item{display:flex;align-items:center;gap:8px;padding:6px 10px;text-align:left;cursor:pointer;border:none;background:none;color:var(--text)}.mention-popup-item:hover{background:var(--bg-hover)}.mention-popup-img{width:32px;height:32px;object-fit:cover;border-radius:4px}.mention-popup-name{font-size:12px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chat-model-trigger-wrap{position:relative;flex:1;min-width:0}.chat-btn-model{display:flex;align-items:center;gap:4px;width:100%;height:30px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font-size:12px;cursor:pointer}.chat-btn-model:hover{border-color:var(--primary)}.chat-btn-model-icon{flex-shrink:0}.chat-btn-model-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.chat-btn-model-arrow{flex-shrink:0;transition:transform .15s}.chat-btn-model-arrow.open{transform:rotate(180deg)}.chat-model-panel{position:absolute;bottom:calc(100% + 4px);left:0;right:0;z-index:100;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:8px;border:1px solid var(--border);background:var(--bg-elevated);box-shadow:0 4px 16px #00000040}.chat-model-panel-title{font-size:12px;font-weight:600;color:var(--text-muted)}.chat-model-field{display:flex;align-items:center;gap:6px}.chat-model-label{font-size:11px;color:var(--text-muted);white-space:nowrap;width:32px;flex-shrink:0}.chat-model-field .model-selector{flex:1;min-width:0}.chat-model-divider{height:1px;background:var(--border);margin:2px 0}.model-selector{flex:1;min-width:0;height:30px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font-size:12px}.model-selector:focus{outline:none;border-color:var(--primary)}.model-selector:disabled{opacity:.6;cursor:not-allowed}.chat-btn-image,.chat-btn-send{white-space:nowrap}.markdown-body{font-size:13px;line-height:1.6;word-break:break-word}.markdown-body p{margin:4px 0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:8px 0 4px;font-weight:600}.markdown-body h1{font-size:16px}.markdown-body h2{font-size:15px}.markdown-body h3{font-size:14px}.markdown-body ul,.markdown-body ol{margin:4px 0;padding-left:20px}.markdown-body li{margin:2px 0}.markdown-body blockquote{margin:4px 0;padding:4px 10px;border-left:3px solid var(--border);color:var(--text-muted)}.markdown-body table{border-collapse:collapse;margin:6px 0;font-size:12px}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:4px 8px}.markdown-body th{background:var(--bg-elevated)}.markdown-body a{color:var(--primary);text-decoration:underline}.markdown-body img,.markdown-img{max-width:100%;border-radius:6px;cursor:zoom-in}.markdown-pre{background:#0b0d10;border:1px solid var(--border);border-radius:6px;padding:8px;overflow-x:auto;font-size:12px;margin:6px 0}.markdown-code-inline{background:var(--bg-hover);padding:1px 4px;border-radius:3px;font-size:12px}.markdown-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;cursor:zoom-out}.markdown-lightbox img{max-width:90vw;max-height:90vh;object-fit:contain}.image-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:9999;overflow:hidden;-webkit-user-select:none;user-select:none}.image-preview-overlay img{max-width:90vw;max-height:90vh;object-fit:contain;transition:none;will-change:transform}.image-preview-tip{position:absolute;bottom:16px;left:50%;transform:translate(-50%);color:#fff9;font-size:12px;pointer-events:none}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:5000}.confirm-dialog{width:360px;max-width:90vw;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:20px;box-shadow:0 8px 32px #0006}.confirm-title{font-size:14px;font-weight:600;margin-bottom:8px;color:var(--text)}.confirm-message{font-size:13px;color:var(--text-muted);line-height:1.5;margin-bottom:16px}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.chromakey-dialog{width:420px;max-width:92vw;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:20px;box-shadow:0 8px 32px #0006}.chromakey-preview{width:100%;height:220px;margin-bottom:14px;border-radius:6px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:#1e1e1e;background-image:linear-gradient(45deg,#2a2a2a 25%,transparent 25%),linear-gradient(-45deg,#2a2a2a 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#2a2a2a 75%),linear-gradient(-45deg,transparent 75%,#2a2a2a 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.chromakey-preview img{max-width:100%;max-height:100%;object-fit:contain}.chromakey-loading{font-size:12px;color:var(--text-muted)}.chromakey-slider-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text)}.chromakey-slider-row input[type=range]{flex:1;accent-color:var(--primary, #4f8cff)}.chromakey-value{min-width:28px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-muted)}.chromakey-hint{font-size:11px;color:var(--text-muted);margin:6px 0 14px}.ask-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:5000}.ask-dialog{width:440px;max-width:92vw;max-height:85vh;display:flex;flex-direction:column;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:20px;box-shadow:0 8px 32px #0006}.ask-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ask-title{font-size:14px;font-weight:600;color:var(--text)}.ask-progress{font-size:12px;color:var(--text-muted)}.ask-question{font-size:14px;color:var(--text);line-height:1.5;margin-bottom:12px}.ask-question-type{margin-left:6px;font-size:12px;color:var(--text-muted)}.ask-options{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.ask-option{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;cursor:pointer;transition:border-color .15s,background .15s}.ask-option:hover{background:var(--bg-hover)}.ask-option.selected{border-color:var(--primary);background:#4f8cff1f}.ask-option-mark{flex:0 0 auto;width:16px;height:16px;border:1.5px solid var(--text-muted);background:transparent;position:relative}.ask-option-mark.radio{border-radius:50%}.ask-option-mark.checkbox{border-radius:3px}.ask-option-mark.on{border-color:var(--primary)}.ask-option-mark.radio.on:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--primary)}.ask-option-mark.checkbox.on:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--primary);border-width:0 2px 2px 0;transform:rotate(45deg)}.ask-option-text{flex:1 1 auto}.ask-input-wrap{margin-bottom:16px}.ask-input{width:100%;box-sizing:border-box;padding:9px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;outline:none}.ask-input:focus{border-color:var(--primary)}.ask-input::placeholder{color:var(--text-muted)}.ask-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.ask-skip{color:var(--text-muted)}.ask-nav{display:flex;gap:8px}.asset-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:5000}.asset-detail-dialog{width:420px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 32px #0006;overflow:hidden}.asset-detail-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.asset-detail-title{font-size:14px;font-weight:600;color:var(--text)}.asset-detail-close{background:none;border:none;color:var(--text-muted);font-size:20px;line-height:1;cursor:pointer;padding:0 4px}.asset-detail-close:hover{color:var(--text)}.asset-detail-body{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.asset-detail-loading,.asset-detail-error{padding:24px;text-align:center;font-size:13px;color:var(--text-muted)}.asset-detail-error{color:var(--danger)}.asset-detail-thumb{width:100%;max-height:220px;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border);border-radius:6px;overflow:hidden}.asset-detail-thumb img{max-width:100%;max-height:220px;object-fit:contain}.asset-detail-source-row{display:flex;align-items:center}.asset-detail-badge{display:inline-block;padding:2px 8px;font-size:11px;border-radius:10px;font-weight:500}.asset-detail-badge.ai{background:#4f8cff2e;color:var(--primary);border:1px solid rgba(79,140,255,.4)}.asset-detail-badge.upload{background:#8b919e2e;color:var(--text-muted);border:1px solid var(--border)}.asset-detail-row{display:flex;align-items:flex-start;gap:12px;font-size:12px}.asset-detail-label{flex-shrink:0;width:64px;color:var(--text-muted)}.asset-detail-value{flex:1;min-width:0;color:var(--text);word-break:break-all}.asset-detail-divider{height:1px;background:var(--border);margin:4px 0}.asset-detail-row-prompt{align-items:flex-start}.asset-detail-prompt{white-space:pre-wrap;line-height:1.5;background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:6px 8px}.admin-page{height:100%;display:flex;flex-direction:column;background:var(--bg)}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:48px;background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-shrink:0}.admin-title{font-size:15px;font-weight:600}.admin-body{flex:1;overflow-y:auto;padding:16px}.admin-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border)}.admin-tab{padding:8px 16px;font-size:13px;color:var(--text-muted);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent}.admin-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.admin-tab:hover{color:var(--text)}.config-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}.config-table{width:100%;border-collapse:collapse;font-size:13px}.config-table th,.config-table td{border:1px solid var(--border);padding:8px 10px;text-align:left}.config-table th{background:var(--bg-elevated);font-weight:600}.config-table tr:hover td{background:var(--bg-hover)}.config-actions{display:flex;gap:6px}.config-action-btn{font-size:12px;padding:2px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer}.config-action-btn:hover{border-color:var(--primary);color:var(--primary)}.config-action-btn.danger:hover{border-color:var(--danger);color:var(--danger)}.config-form-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.config-form{width:480px;max-width:90vw;max-height:90vh;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:20px}.config-form-title{font-size:15px;font-weight:600;margin-bottom:16px}.config-field{margin-bottom:12px}.config-field label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:4px}.config-field input,.config-field textarea,.config-field select{width:100%;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px;font-family:inherit}.config-field input:focus,.config-field textarea:focus,.config-field select:focus{outline:none;border-color:var(--primary)}.config-field textarea{min-height:60px;resize:vertical}.config-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.settings-panel{max-width:420px;padding:4px 0}.settings-hint{margin-top:6px;font-size:12px;line-height:1.5;color:var(--text-muted)}.config-checkbox-group{display:flex;gap:16px;flex-wrap:wrap}.config-checkbox{display:flex;align-items:center;gap:6px}.config-checkbox input{width:auto}.config-model-list{display:flex;flex-direction:column;gap:6px}.config-model-row{display:flex;align-items:center;gap:8px}.config-model-name{flex:1;min-width:0}.config-model-checks{display:flex;gap:10px;flex-shrink:0}.config-model-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:2px 4px;flex-shrink:0}.config-model-remove:hover{color:#e55}.config-model-add{align-self:flex-start}.config-model-media{font-size:12px;padding:1px 4px;border-radius:4px;border:1px solid var(--border);background:var(--bg-input, #fff);color:var(--text)}
