:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f5f5f5}#root{height:100dvh;width:100%;overflow:hidden}.markdown-content{padding:12px;overflow-wrap:anywhere}.markdown-content p{margin:0 0 12px}.markdown-content p:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin:16px 0 8px}.markdown-content h1:first-child,.markdown-content h2:first-child,.markdown-content h3:first-child,.markdown-content h4:first-child,.markdown-content h5:first-child,.markdown-content h6:first-child{margin-top:0}.markdown-content ul,.markdown-content ol{margin:0 0 12px;padding-left:24px}.markdown-content li{margin:4px 0}.markdown-content pre{background:#f5f5f5;padding:12px;border-radius:4px;overflow-x:auto;margin:0 0 12px}.markdown-content code{background:#f5f5f5;padding:2px 6px;border-radius:3px;font-family:monospace;font-size:.9em}.markdown-content :not(pre)>code{overflow-wrap:anywhere;word-break:break-all}.markdown-content pre code{background:none;padding:0}.markdown-content blockquote{margin:0 0 12px;padding-left:16px;border-left:4px solid #ddd;color:#666}.sidebar{width:260px;background:#f8f8f8;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;height:100dvh}.sidebar-header{padding:16px;border-bottom:1px solid #e0e0e0}.sidebar-header h1{font-size:18px;margin:0 0 12px;color:#333}.new-conversation-btn{width:100%;padding:10px;background:#4a90e2;border:1px solid #4a90e2;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;transition:background .2s;font-weight:500}.new-conversation-btn:hover{background:#357abd;border-color:#357abd}.session-cost{display:flex;align-items:center;gap:6px;padding:8px 16px;margin:0;background:#f0f8f0;border-bottom:1px solid #e0e0e0;font-size:12px;color:#666}.session-cost svg{color:#2d8f2d;flex-shrink:0}.session-cost-label{color:#888}.session-cost-value{font-weight:600;color:#2d8f2d;font-family:SF Mono,Fira Code,monospace}.search-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid #e0e0e0;background:#fff}.search-bar svg{color:#999;flex-shrink:0}.search-input{flex:1;border:none;outline:none;font-size:13px;color:#333;background:transparent;font-family:inherit}.search-input::placeholder{color:#bbb}.search-clear{border:none;background:none;color:#999;cursor:pointer;font-size:16px;padding:0 2px;line-height:1}.search-clear:hover{color:#666}.conversation-list{flex:1;overflow-y:auto;padding:8px}.no-conversations{padding:16px;text-align:center;color:#999;font-size:14px}.conversation-item{position:relative;padding:10px 12px;margin-bottom:2px;border-radius:6px;cursor:pointer;transition:background .2s}.conversation-item:hover{background:#f0f0f0}.conversation-item:hover .conv-menu-btn{opacity:1}.conversation-item.active{background:#e8f0fe;border:1px solid #4a90e2}.conversation-item.pinned{border-left:2px solid #6c5ce7}.conversation-title{color:#333;font-size:14px;margin-bottom:3px;display:flex;align-items:center;gap:4px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pin-icon{color:#6c5ce7;flex-shrink:0}.conversation-meta{color:#999;font-size:12px}.conv-menu-btn{position:absolute;top:8px;right:6px;border:none;background:none;color:#999;cursor:pointer;font-size:16px;padding:2px 4px;border-radius:4px;opacity:0;transition:opacity .15s,background .15s;line-height:1}.conv-menu-btn:hover{background:#e0e0e0;color:#666}.context-menu{position:fixed;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:1000;min-width:160px;padding:4px 0}.context-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;border:none;background:none;color:#333;font-size:13px;cursor:pointer;font-family:inherit;text-align:left}.context-menu button:hover{background:#f5f5f5}.context-menu button.context-menu-delete{color:#d63031}.context-menu button.context-menu-delete:hover{background:#ffeaea}.rename-input-wrapper{padding:2px 0}.rename-input{width:100%;padding:6px 8px;border:1px solid #4a90e2;border-radius:4px;font-size:13px;color:#333;outline:none;font-family:inherit;background:#fff;box-sizing:border-box}.delete-confirm{display:flex;flex-direction:column;gap:6px}.delete-confirm-text{font-size:13px;color:#d63031;font-weight:500}.delete-confirm-actions{display:flex;gap:6px}.delete-confirm-yes{padding:4px 10px;border:none;background:#d63031;color:#fff;border-radius:4px;font-size:12px;cursor:pointer;font-family:inherit}.delete-confirm-yes:hover{background:#c0392b}.delete-confirm-no{padding:4px 10px;border:1px solid #ddd;background:#fff;color:#666;border-radius:4px;font-size:12px;cursor:pointer;font-family:inherit}.delete-confirm-no:hover{background:#f5f5f5}.model-check-panel{border-top:1px solid #e0e0e0;background:#f5f5ff;padding:10px 12px;max-height:280px;overflow-y:auto}.model-check-loading{display:flex;align-items:center;gap:8px;font-size:12px;color:#888;padding:4px 0}.model-check-results{display:flex;flex-direction:column;gap:8px}.model-check-models{display:flex;flex-direction:column;gap:4px}.model-check-provider{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:#fff;border-radius:4px;font-size:12px}.provider-label{color:#888;text-transform:capitalize;min-width:70px}.provider-model{color:#333;font-family:SF Mono,Fira Code,monospace;font-size:11px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upgrade-all-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 12px;background:linear-gradient(135deg,#6c5ce7,#4a90e2);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:opacity .2s}.upgrade-all-btn:hover:not(:disabled){opacity:.9}.upgrade-all-btn:disabled{opacity:.6;cursor:not-allowed}.model-check-success{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#2d8f2d;font-weight:500}.upgrade-change{display:flex;align-items:center;gap:6px;padding:3px 8px;background:#fff;border-radius:4px;font-weight:400;color:#333}.upgrade-from{font-family:SF Mono,Fira Code,monospace;font-size:11px;color:#999;text-decoration:line-through}.upgrade-arrow{color:#2d8f2d;font-size:14px}.upgrade-to{font-family:SF Mono,Fira Code,monospace;font-size:11px;color:#2d8f2d;font-weight:600}.model-check-uptodate{font-size:12px;color:#2d8f2d;font-weight:500;text-align:center;padding:4px 0}.spinner.small{width:14px;height:14px;border:2px solid #e0e0e0;border-top-color:#4a90e2;border-radius:50%;animation:spin .8s linear infinite}.sidebar-footer{padding:12px 16px;border-top:1px solid #e0e0e0;display:flex;flex-direction:column;gap:4px}.model-check-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;color:#6c5ce7;font-size:14px;transition:background .2s,color .2s;background:none;border:none;cursor:pointer;width:100%;font-family:inherit}.model-check-btn:hover{background:#f0eeff;color:#5a4bd1}.model-check-btn.active{background:#eeeaff;color:#5a4bd1}.settings-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;color:#666;text-decoration:none;font-size:14px;transition:background .2s,color .2s;background:none;border:none;cursor:pointer;width:100%;font-family:inherit}.settings-btn:hover{background:#e8e8e8;color:#333}.settings-btn.active{background:#e8f0fe;color:#4a90e2}.back-to-hub-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;color:#7c5ce0;font-size:14px;font-weight:500;background:none;border:none;cursor:pointer;width:100%;font-family:inherit;transition:background .2s,color .2s;margin-bottom:4px}.back-to-hub-btn:hover{background:#f0eeff;color:#5a3ec0}.logout-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;color:#999;font-size:13px;background:none;border:none;border-top:1px solid #eee;cursor:pointer;width:100%;font-family:inherit;transition:background .2s,color .2s}.logout-btn:hover{background:#fff0f0;color:#c00}@media(max-width:768px){.sidebar{position:fixed;top:0;left:-280px;width:280px;height:100dvh;z-index:100;transition:left .25s ease;box-shadow:none}.sidebar.open{left:0;box-shadow:4px 0 20px #00000026}.sidebar-header,.session-cost,.search-bar,.conversation-list{display:none}.sidebar-footer{flex:1;justify-content:center;padding:24px 16px;gap:8px}.model-check-btn,.settings-btn,.logout-btn,.back-to-hub-btn{min-height:44px}}.stage{margin:24px 0;padding:20px;background:#fafafa;border-radius:8px;border:1px solid #e0e0e0}.stage-title{margin:0 0 16px;color:#333;font-size:16px;font-weight:600}.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.tab{padding:8px 16px;background:#fff;border:1px solid #d0d0d0;border-radius:6px 6px 0 0;color:#666;cursor:pointer;font-size:14px;transition:all .2s}.tab:hover{background:#f0f0f0;color:#333;border-color:#4a90e2}.tab.active{background:#fff;color:#4a90e2;border-color:#4a90e2;border-bottom-color:#fff;font-weight:600}.tab-content{background:#fff;padding:16px;border-radius:6px;border:1px solid #e0e0e0}.model-name{color:#888;font-size:12px;margin-bottom:12px;font-family:monospace;overflow-wrap:anywhere}.response-text{color:#333;line-height:1.6}@media(max-width:768px){.stage{margin:16px 0;padding:12px}.tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;gap:6px}.tab{flex-shrink:0;font-size:13px;padding:8px 12px;min-height:44px;display:flex;align-items:center}.tab-content{padding:12px}}.stage2{background:#fafafa}.stage2 h4{margin:20px 0 8px;color:#333;font-size:14px;font-weight:600}.stage2 h4:first-of-type{margin-top:0}.stage-description{margin:0 0 12px;color:#666;font-size:13px;line-height:1.5}.aggregate-rankings{background:#f0f7ff;padding:16px;border-radius:8px;margin-bottom:20px;border:2px solid #d0e7ff}.aggregate-rankings h4{margin:0 0 12px;color:#2a7ae2;font-size:15px}.aggregate-list{display:flex;flex-direction:column;gap:8px}.aggregate-item{display:flex;align-items:center;gap:12px;padding:10px;background:#fff;border-radius:6px;border:1px solid #d0e7ff}.rank-position{color:#2a7ae2;font-weight:700;font-size:16px;min-width:35px}.rank-model{flex:1;min-width:0;overflow-wrap:anywhere;color:#333;font-family:monospace;font-size:14px;font-weight:500}.rank-score{color:#666;font-size:13px;font-family:monospace;flex-shrink:0;white-space:nowrap}.stage2 .tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.stage2 .tab{padding:8px 16px;background:#fff;border:1px solid #d0d0d0;border-radius:6px 6px 0 0;color:#666;cursor:pointer;font-size:14px;transition:all .2s}.stage2 .tab:hover{background:#f0f0f0;color:#333;border-color:#4a90e2}.stage2 .tab.active{background:#fff;color:#4a90e2;border-color:#4a90e2;border-bottom-color:#fff;font-weight:600}.stage2 .tab-content{background:#fff;padding:16px;border-radius:6px;border:1px solid #e0e0e0;margin-bottom:20px}.ranking-model{color:#888;font-size:12px;font-family:monospace;margin-bottom:12px;overflow-wrap:anywhere}.ranking-content{color:#333;line-height:1.6;font-size:14px}.parsed-ranking{margin-top:16px;padding-top:16px;border-top:2px solid #e0e0e0}.parsed-ranking strong{color:#2a7ae2;font-size:13px}.parsed-ranking ol{margin:8px 0 0;padding-left:24px;color:#333}.parsed-ranking li{margin:4px 0;font-family:monospace;font-size:13px;overflow-wrap:anywhere}.rank-count{color:#999;font-size:12px;flex-shrink:0;white-space:nowrap}@media(max-width:768px){.aggregate-rankings{padding:12px}.aggregate-item{padding:8px;gap:6px;flex-wrap:wrap;align-items:flex-start}.rank-model{font-size:12px}.rank-score,.rank-count{font-size:11px}.stage2 .tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;gap:6px}.stage2 .tab{flex-shrink:0;font-size:13px;padding:8px 12px;min-height:44px;display:flex;align-items:center}.stage2 .tab-content{padding:12px}}.stage3{background:#f0fff0;border-color:#c8e6c8}.final-response{background:#fff;padding:20px;border-radius:6px;border:1px solid #c8e6c8}.chairman-label{color:#2d8a2d;font-size:12px;font-family:monospace;margin-bottom:12px;font-weight:600;overflow-wrap:anywhere}.final-text{color:#333;line-height:1.7;font-size:15px}.chat-interface{flex:1;min-width:0;display:flex;flex-direction:column;height:100dvh;background:#fff}.messages-header{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:8px 24px;border-bottom:1px solid #f0f0f0;background:#fafafa;flex-shrink:0;flex-wrap:wrap}.export-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;background:#fff;border:1px solid #d0d0d0;border-radius:6px;color:#666;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s}.export-btn:hover{background:#f5f5f5;border-color:#999;color:#333}.export-btn:disabled{opacity:.4;cursor:not-allowed}.export-btn.ready{border-color:#2e9e5b;color:#2e9e5b;background:#f0fbf4}.export-btn.ready:hover{background:#e3f7ea;border-color:#26834c;color:#26834c}.export-btn svg{flex-shrink:0}.messages-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666;text-align:center}.empty-state h2{margin:0 0 8px;font-size:24px;color:#333}.empty-state p{margin:0;font-size:16px}.message-group{margin-bottom:32px}.user-message,.assistant-message{margin-bottom:16px}.message-label{font-size:12px;font-weight:600;color:#666;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.user-message .message-content{background:#f0f7ff;padding:16px;border-radius:8px;border:1px solid #d0e7ff;color:#333;line-height:1.6;max-width:80%;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word}.loading-indicator{display:flex;align-items:center;gap:12px;padding:16px;color:#666;font-size:14px}.stage-loading{display:flex;align-items:center;gap:12px;padding:16px;margin:12px 0;background:#f9fafb;border-radius:8px;border:1px solid #e0e0e0;color:#666;font-size:14px;font-style:italic}.spinner{width:20px;height:20px;border:2px solid #e0e0e0;border-top-color:#4a90e2;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.input-form{display:flex;align-items:flex-end;gap:12px;padding:24px;border-top:1px solid #e0e0e0;background:#fafafa}.input-area{flex:1;display:flex;flex-direction:column;gap:8px}.synthesis-toggle{display:flex}.toggle-synthesis-btn{display:flex;align-items:center;gap:6px;padding:4px 10px;background:none;border:1px solid #d0d0d0;border-radius:4px;color:#888;font-size:12px;cursor:pointer;font-family:inherit;transition:all .2s}.toggle-synthesis-btn:hover{color:#4a90e2;border-color:#4a90e2}.toggle-synthesis-btn.active{color:#4a90e2;border-color:#4a90e2;background:#f0f7ff}.synthesis-input{padding:10px;background:#fff8f0;border:1px solid #f0d0a0;border-radius:6px;color:#333;font-size:13px;font-family:inherit;line-height:1.4;outline:none;resize:vertical;min-height:50px;max-height:150px}.synthesis-input:focus{border-color:#e0a060;box-shadow:0 0 0 3px #e0a0601a}.message-input{flex:1;padding:14px;background:#fff;border:1px solid #d0d0d0;border-radius:8px;color:#333;font-size:15px;font-family:inherit;line-height:1.5;outline:none;resize:vertical;min-height:80px;max-height:300px}.message-input:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.message-input:disabled{opacity:.5;cursor:not-allowed;background:#f5f5f5}.send-button{padding:14px 28px;background:#4a90e2;border:1px solid #4a90e2;border-radius:8px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap;align-self:flex-end}.send-button:hover:not(:disabled){background:#357abd;border-color:#357abd}.send-button:disabled{opacity:.5;cursor:not-allowed;background:#ccc;border-color:#ccc}.send-buttons{display:flex;flex-direction:column;gap:8px;align-self:flex-end}.optimize-button{display:flex;align-items:center;gap:6px;padding:10px 20px;background:#f8f0ff;border:1px solid #d0b0e0;border-radius:8px;color:#8040a0;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .2s;white-space:nowrap}.optimize-button:hover:not(:disabled){background:#f0e0ff;border-color:#b080d0}.optimize-button:disabled{opacity:.4;cursor:not-allowed}.spinner.small{width:14px;height:14px;border-width:2px}.input-actions-row{display:flex;align-items:center;gap:12px}.optimize-cost-badge{font-size:11px;padding:2px 8px;background:#f0e0ff;color:#8040a0;border-radius:10px;white-space:nowrap}.optimized-input{border-color:#d0b0e0!important;background:#fdf8ff!important}.podcast-btn{background:#fff0f5!important;border-color:#e0a0b8!important;color:#a04070!important}.podcast-btn:hover:not(:disabled){background:#ffe0eb!important;border-color:#c07090!important}.toast-notification{position:absolute;top:60px;right:24px;display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:8px;color:#2e7d32;font-size:13px;line-height:1.4;max-width:360px;box-shadow:0 4px 12px #0000001a;animation:toast-in .3s ease-out;z-index:100}.toast-notification svg{flex-shrink:0;margin-top:1px}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.message-label-row{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap;max-width:100%}.message-label-row .message-label{margin-bottom:0;flex-shrink:0}.version-info{display:flex;align-items:center;gap:8px}.version-date{font-size:11px;color:#999;font-family:SF Mono,Fira Code,monospace}.version-badge{font-size:11px;padding:2px 8px;background:#e8f0fe;color:#1967d2;border-radius:10px;font-weight:600;white-space:nowrap}.version-nav{display:flex;gap:2px}.version-nav-btn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border:1px solid #d0d0d0;border-radius:4px;color:#666;font-size:14px;font-weight:600;cursor:pointer;padding:0;line-height:1;font-family:inherit}.version-nav-btn:hover:not(:disabled){background:#e8e8e8;color:#333}.version-nav-btn:disabled{opacity:.3;cursor:not-allowed}.refresh-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#fff8e1;border:1px solid #ffd54f;border-radius:6px;color:#f57f17;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap}.refresh-btn:hover:not(:disabled){background:#fff3c4;border-color:#ffb300;color:#e65100}.refresh-btn:disabled{opacity:.4;cursor:not-allowed}.refresh-btn svg{flex-shrink:0}.version-old-banner{padding:8px 12px;margin-bottom:12px;background:#fff3e0;border:1px solid #ffcc80;border-radius:6px;color:#e65100;font-size:12px;font-weight:500}.message-cost{display:flex;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;background:#f8faf8;border:1px solid #e0e8e0;border-radius:6px;font-size:12px;color:#666}.cost-label{color:#888}.cost-value{font-weight:600;color:#2d8f2d;font-family:SF Mono,Fira Code,monospace}.cost-breakdown{color:#aaa;font-family:SF Mono,Fira Code,monospace;font-size:11px}.report-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:12px 16px;background:#f8faf8;border:1px solid #e0e8e0;border-radius:8px}.report-footer-cost{display:flex;align-items:center;gap:8px;font-size:12px;color:#666}.report-refresh-btn{flex-shrink:0}.mobile-header{display:none}.mobile-title{font-size:16px;font-weight:700;color:#333;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-home{display:none}.desktop-only{display:flex}@media(max-width:768px){.mobile-header{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid #e0e0e0;background:#fafafa;flex-shrink:0}.hamburger-btn,.mobile-back-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#333;border-radius:8px;flex-shrink:0}.hamburger-btn:active,.mobile-back-btn:active{background:#e8e8e8}.desktop-only{display:none!important}.mobile-home{display:flex;flex-direction:column;flex:1;overflow-y:auto;padding:16px;gap:12px}.mobile-new-conv-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:#4a90e2;border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;font-family:inherit;min-height:52px;transition:background .2s}.mobile-new-conv-btn:active{background:#357abd}.mobile-session-cost{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#f0f8f0;border-radius:8px;font-size:13px;color:#666}.mobile-cost-value{font-weight:600;color:#2d8f2d;font-family:SF Mono,Fira Code,monospace}.mobile-conv-list{display:flex;flex-direction:column;gap:4px}.mobile-conv-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:14px 16px;background:#fff;border:1px solid #e8e8e8;border-radius:10px;cursor:pointer;font-family:inherit;text-align:left;transition:background .15s;min-height:52px}.mobile-conv-item:active{background:#f0f7ff}.mobile-conv-item.pinned{border-left:3px solid #6c5ce7}.mobile-conv-title{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:500;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.mobile-conv-meta{font-size:12px;color:#999}.mobile-conv-empty{text-align:center;color:#999;font-size:14px;padding:32px 16px}.messages-container{padding:12px}.messages-header{padding:6px 12px;gap:6px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start}.export-btn{padding:8px 10px;min-height:44px;font-size:12px;flex-shrink:0}.input-form{padding:12px;gap:8px}.message-input{font-size:16px;min-height:60px;padding:12px}.synthesis-input{font-size:16px}.send-button{padding:12px 20px;min-height:44px;font-size:14px}.optimize-button{min-height:44px;padding:10px 16px}.toggle-synthesis-btn{min-height:44px;padding:8px 12px}.user-message .message-content{max-width:100%}.toast-notification{right:12px;left:12px;max-width:none}.message-label-row{gap:6px}.version-nav-btn{width:36px;height:36px;font-size:18px}.refresh-btn{padding:8px 14px;min-height:44px;font-size:13px}.version-date,.version-badge{font-size:12px}.cost-breakdown{display:none}.report-footer{flex-wrap:wrap;gap:8px}.report-footer-cost{min-width:0;flex:1}.message-group{margin-bottom:20px}.empty-state h2{font-size:20px}.empty-state p{font-size:14px;padding:0 16px}.send-buttons{gap:6px}}.council-status-section{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;margin:12px 0;border-radius:8px;text-align:center}.council-status-section p{margin:0;font-size:14px;color:#555}.council-running{background:#f0f4ff;border:1px solid #d0dfff}.council-running .spinner{margin-bottom:4px}.council-bg-hint{font-size:12px!important;color:#888!important;margin-top:4px!important}.council-cancel-btn{margin-top:8px;padding:6px 20px;background:#e74c3c;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;transition:background .15s}.council-cancel-btn:hover{background:#c0392b}.council-failed{background:#fef0f0;border:1px solid #f5c0c0}.council-failed .council-status-icon{width:32px;height:32px;border-radius:50%;background:#e74c3c;color:#fff;font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center}.council-cancelled,.council-no-response{background:#fff8e6;border:1px solid #f0dca0}.council-no-response .council-status-icon{width:32px;height:32px;border-radius:50%;background:#e67e22;color:#fff;font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center}.council-retry-btn{margin-top:8px;padding:6px 20px;background:#4a90e2;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;transition:background .15s}.council-retry-btn:hover:not(:disabled){background:#357abd}.council-retry-btn:disabled{opacity:.5;cursor:not-allowed}.council-action-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.council-resynth-btn{margin-top:8px;padding:6px 20px;background:#2e9e5b;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:background .15s}.council-resynth-btn:hover:not(:disabled){background:#24824a}.council-resynth-btn:disabled{opacity:.5;cursor:not-allowed}.council-resynth-hint{margin-top:8px;font-size:12px;color:#888;max-width:520px;line-height:1.4}.settings-page{flex:1;display:flex;flex-direction:column;height:100vh;background:#fff;overflow-y:auto}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;border-bottom:1px solid #e0e0e0;background:#fafafa}.settings-header h2{margin:0;font-size:20px;color:#333}.close-btn{padding:8px 16px;background:none;border:1px solid #d0d0d0;border-radius:6px;color:#666;font-size:14px;cursor:pointer;font-family:inherit;transition:all .2s}.close-btn:hover{background:#f0f0f0;color:#333}.settings-content{padding:32px;max-width:720px}.settings-loading{display:flex;align-items:center;justify-content:center;height:100%;color:#666;font-size:16px}.settings-error{padding:12px 16px;background:#fff0f0;border:1px solid #ffcccc;border-radius:6px;color:#c33;font-size:14px;margin-bottom:20px}.settings-success{padding:12px 16px;background:#f0fff0;border:1px solid #ccffcc;border-radius:6px;color:#393;font-size:14px;margin-bottom:20px}.settings-section{margin-bottom:32px}.settings-section h3{margin:0 0 4px;font-size:16px;color:#333}.section-description{margin:0 0 16px;font-size:13px;color:#888}.language-switcher{display:flex;gap:8px}.language-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#f8f8f8;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;cursor:pointer;font-family:inherit;color:#555;transition:all .2s}.language-btn:hover{background:#f0f0f0;border-color:#ccc}.language-btn.active{background:#e8f0fe;border-color:#4a90e2;color:#4a90e2;font-weight:600}.language-flag{font-size:11px;font-weight:700;opacity:.7}.api-keys-grid{display:flex;flex-direction:column;gap:12px}.api-key-row{display:flex;align-items:center;gap:12px}.api-key-row label{width:130px;font-size:14px;color:#555;flex-shrink:0}.api-key-input-wrapper{flex:1;display:flex;align-items:center;gap:8px}.api-key-input-wrapper input{flex:1;padding:8px 12px;border:1px solid #d0d0d0;border-radius:6px;font-size:14px;font-family:inherit;outline:none;color:#333}.api-key-input-wrapper input:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.key-status{font-size:11px;padding:2px 8px;border-radius:10px;white-space:nowrap}.key-status.set{background:#e6f9e6;color:#2d8f2d}.key-status.missing{background:#fff0e6;color:#c60}.model-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.model-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f8f8f8;border:1px solid #e8e8e8;border-radius:6px}.model-name{font-size:14px;color:#333;font-family:SF Mono,Fira Code,monospace}.remove-model-btn{background:none;border:none;color:#c33;font-size:16px;cursor:pointer;padding:2px 8px;border-radius:4px;line-height:1}.remove-model-btn:hover{background:#fff0f0}.add-model-row{display:flex;gap:8px}.add-model-row input{flex:1;padding:8px 12px;border:1px solid #d0d0d0;border-radius:6px;font-size:14px;font-family:inherit;outline:none;color:#333}.add-model-row input:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.add-model-btn{padding:8px 16px;background:#4a90e2;border:none;border-radius:6px;color:#fff;font-size:14px;cursor:pointer;font-family:inherit;transition:background .2s}.add-model-btn:hover:not(:disabled){background:#357abd}.add-model-btn:disabled{opacity:.4;cursor:not-allowed}.chairman-select{width:100%;max-width:400px;padding:8px 12px;border:1px solid #d0d0d0;border-radius:6px;font-size:14px;font-family:inherit;outline:none;color:#333;background:#fff}.chairman-select:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.synthesis-prompt-textarea{width:100%;padding:12px;border:1px solid #d0d0d0;border-radius:6px;font-size:14px;font-family:inherit;line-height:1.5;outline:none;color:#333;resize:vertical;min-height:120px}.synthesis-prompt-textarea:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.reset-prompt-btn{margin-top:8px;padding:6px 14px;background:none;border:1px solid #d0d0d0;border-radius:4px;color:#888;font-size:12px;cursor:pointer;font-family:inherit;transition:all .2s}.reset-prompt-btn:hover{color:#333;border-color:#aaa}.settings-actions{padding-top:16px;border-top:1px solid #e0e0e0}.save-btn{padding:12px 32px;background:#4a90e2;border:none;border-radius:6px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s}.save-btn:hover:not(:disabled){background:#357abd}.save-btn:disabled{opacity:.5;cursor:not-allowed}.check-updates-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f0f7ff;border:1px solid #c0d8f0;border-radius:6px;color:#4a90e2;font-size:14px;cursor:pointer;font-family:inherit;transition:all .2s}.check-updates-btn:hover:not(:disabled){background:#e0efff;border-color:#a0c0e0}.check-updates-btn:disabled{opacity:.5;cursor:not-allowed}.check-updates-btn .spinner.small{width:14px;height:14px;border-width:2px}.model-updates-panel{margin-top:16px;display:flex;flex-direction:column;gap:16px}.provider-group{padding:12px 16px;background:#fafafa;border:1px solid #e8e8e8;border-radius:8px}.provider-name{font-size:15px;font-weight:600;color:#333;margin-bottom:8px;text-transform:capitalize}.provider-current{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.current-label{font-size:12px;color:#888}.current-model-tag{padding:2px 10px;background:#e8f0fe;border:1px solid #b0c8e8;border-radius:12px;font-size:12px;color:#4a90e2;font-family:SF Mono,Fira Code,monospace}.available-models-list{display:flex;flex-direction:column;gap:4px}.available-label{font-size:12px;color:#888;margin-bottom:4px}.available-models-scroll{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.available-model-item{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;font-size:13px}.available-model-item:hover{background:#f0f0f0}.available-model-item.is-current{background:#f0f8f0}.available-model-name{flex:1;font-family:SF Mono,Fira Code,monospace;font-size:12px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-pricing{font-size:11px;color:#999;font-family:SF Mono,Fira Code,monospace;white-space:nowrap}.switch-model-btn{padding:2px 10px;background:#4a90e2;border:none;border-radius:4px;color:#fff;font-size:11px;cursor:pointer;font-family:inherit;transition:background .2s;white-space:nowrap}.switch-model-btn:hover{background:#357abd}.current-badge{padding:2px 8px;background:#e6f9e6;color:#2d8f2d;border-radius:10px;font-size:11px;white-space:nowrap}@media(max-width:768px){.settings-header{padding:12px 16px}.settings-content{padding:16px}.api-key-row{flex-direction:column;align-items:stretch;gap:6px}.api-key-row label{width:auto}.api-key-input-wrapper input{font-size:16px}.add-model-row{flex-direction:column}.add-model-row input{font-size:16px}.chairman-select{max-width:100%;font-size:16px}.language-switcher{flex-wrap:wrap}.language-btn{min-height:44px}.save-btn{width:100%;min-height:44px}.close-btn,.check-updates-btn{min-height:44px}.synthesis-prompt-textarea{font-size:16px}.model-item{flex-wrap:wrap}.model-name{font-size:12px;word-break:break-all}.switch-model-btn{min-height:36px;padding:6px 12px;font-size:13px}}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f5f7fa}.login-card{display:flex;flex-direction:column;align-items:center;width:100%;max-width:380px;padding:48px 40px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014}.login-logo{font-size:32px;font-weight:900;letter-spacing:-1px;color:#fff;background:linear-gradient(135deg,#4a90e2,#7c5ce0);padding:12px 24px;border-radius:12px;margin-bottom:12px;font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-title{margin:0 0 4px;font-size:24px;font-weight:700;color:#333}.login-subtitle{margin:0 0 32px;font-size:14px;color:#888;font-weight:400}.login-field{width:100%;margin-bottom:16px}.login-input{width:100%;padding:14px 16px;border:1px solid #d0d0d0;border-radius:8px;font-size:15px;font-family:inherit;color:#333;outline:none;box-sizing:border-box;transition:border-color .2s}.login-input:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.login-error{width:100%;padding:10px 14px;margin-bottom:16px;background:#fff0f0;border:1px solid #ffd0d0;border-radius:6px;color:#c00;font-size:13px;text-align:center;box-sizing:border-box}.login-button{width:100%;padding:14px;background:#4a90e2;border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s;display:flex;align-items:center;justify-content:center;min-height:48px}.login-button:hover:not(:disabled){background:#357abd}.login-button:disabled{opacity:.5;cursor:not-allowed}.login-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:login-spin .8s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.login-card{padding:32px 20px;margin:0 16px}.login-logo{font-size:26px;padding:10px 20px}.login-title{font-size:20px}.login-subtitle{margin-bottom:24px}.login-input,.login-button{font-size:16px}}.nzs-backdrop{position:fixed;inset:0;background:#14233273;z-index:110;display:flex;align-items:center;justify-content:center;padding:24px}.nzs-panel{width:min(860px,100%);max-height:88vh;display:flex;flex-direction:column;background:#f5f7fa;border-radius:18px;box-shadow:0 20px 60px #0000004d;overflow:hidden;animation:nz-modal-in .2s ease}.nzs-head{display:flex;align-items:center;gap:16px;padding:14px 20px;background:#fff;border-bottom:1px solid #e0e0e0}.nzs-head h3{margin:0;font-size:16px;color:#2b2b2b}.nzs-head .nz-ai-close{margin-left:auto}.nzs-error{margin:10px 20px 0;padding:9px 13px;background:#fff0f3;border:1px solid rgba(208,48,80,.3);color:#b82844;border-radius:9px;font-size:13px}.nzs-loading{padding:40px;text-align:center;color:#99a}.nzs-tab{flex:1;overflow-y:auto;padding:16px 20px 24px;display:flex;flex-direction:column;gap:14px}.nzs-card{background:#fff;border:1px solid #e4e9ee;border-radius:14px;padding:16px 18px}.nzs-card h4{margin:0 0 12px;font-size:14px;color:#2b2b2b}.nzs-subgoals{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:5px}.nzs-subgoals li{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f7f5fd;border:1px solid #e8e2f8;border-radius:8px;font-size:13px}.nzs-subgoals li span{flex:1;min-width:0}.nzs-subgoal-del{flex-shrink:0;border:none;background:none;color:#a09aad;font-size:16px;line-height:1;cursor:pointer;padding:0 2px}.nzs-subgoal-del:hover{color:#d9534f}.nzs-subgoal-add{display:flex;gap:8px;margin-bottom:8px}.nzs-subgoal-add input{flex:1;min-width:0;padding:8px 10px;font-size:13px;border:1px solid #dfe3ea;border-radius:8px;outline:none}.nzs-subgoal-add input:focus{border-color:#7c5ce0}.nzs-hint{font-size:12.5px;color:#778;margin:-6px 0 10px}.nzs-hint code{background:#f2f4f6;padding:1px 5px;border-radius:4px}.nzs-empty{font-size:13px;color:#99a}.nzs-form-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.nzs-form-row:last-child{margin-bottom:0}.nzs-form-row input,.nzs-form-row select{padding:9px 12px;border:1.5px solid #e0e0e0;border-radius:9px;font-size:13.5px;color:#333;background:#fff}.nzs-form-row input{flex:1;min-width:160px}.nzs-form-row input:focus,.nzs-form-row select:focus,.nzs-tab textarea:focus{outline:none;border-color:#0d8f8f}.nzs-tab textarea{width:100%;padding:10px 12px;border:1.5px solid #e0e0e0;border-radius:9px;font-size:13.5px;font-family:inherit;color:#333;resize:vertical;margin-bottom:10px}.nzs-label{display:block;font-size:12px;font-weight:600;color:#667;margin-bottom:6px}.nzs-tools-row{font-size:13.5px;color:#444}.nzs-tools-row label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.nzs-tools-row input{accent-color:#0d8f8f}.nzs-tools-row .nz-btn-primary{margin-left:auto}.nzs-password-alert{margin-top:12px;padding:13px 15px;background:#f0fff4;border:1.5px solid #9ae0b4;border-radius:11px;font-size:13.5px;color:#1d6b3a}.nzs-password-line{display:flex;align-items:center;gap:10px;margin:8px 0 4px;flex-wrap:wrap}.nzs-password-alert code{font-size:16px;font-weight:700;letter-spacing:.5px;background:#fff;border:1px dashed #9ae0b4;border-radius:7px;padding:6px 12px}.nzs-password-alert small{color:#4a8a62}.nzs-user-row{display:flex;align-items:center;gap:14px;padding:11px 4px;border-bottom:1px solid #f0f2f5;flex-wrap:wrap}.nzs-user-row:last-child{border-bottom:none}.nzs-user-row.inactive{opacity:.55}.nzs-user-main{flex:1;min-width:200px}.nzs-user-name{font-size:14px;font-weight:600;color:#2b2b2b;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nzs-user-email{font-size:12.5px;color:#889;display:block}.nzs-user-projects{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.nzs-chip{font-size:11px;background:#eefafa;color:#0a6b6b;border-radius:999px;padding:2px 9px}.nzs-badge-off{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;background:#f2f4f6;color:#99a;border-radius:999px;padding:2px 8px}.nzs-user-tools{display:flex;gap:12px;font-size:13px;color:#444}.nzs-user-tools label{display:inline-flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap}.nzs-user-tools input{accent-color:#0d8f8f}.nzs-user-actions{display:flex;gap:6px;flex-wrap:wrap}.nzs-user-actions button{padding:6px 11px;font-size:12px}.nzs-project{border:1px solid #e8ecf0;border-radius:12px;margin-bottom:9px;overflow:hidden}.nzs-project.archived{opacity:.65}.nzs-project-head{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:none;background:#fafbfc;cursor:pointer;font-size:14px;text-align:left}.nzs-project-head:hover{background:#f2f6f9}.nzs-project-name{font-weight:700;color:#2b2b2b}.nzs-project-stats{margin-left:auto;font-size:12px;color:#99a;white-space:nowrap}.nzs-project-chevron{color:#99a;font-size:12px}.nzs-project-body{padding:14px;border-top:1px solid #eef1f4}.nzs-colors{display:flex;gap:6px}.nzs-color{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .12s ease}.nzs-color:hover{transform:scale(1.12)}.nzs-color.active{border-color:#2b2b2b;box-shadow:0 0 0 2px #fff inset}.nzs-members{margin-top:14px;border-top:1px solid #f0f2f5;padding-top:12px}.nzs-member{display:flex;align-items:center;gap:9px;padding:7px 4px;font-size:13.5px;color:#333;cursor:pointer;border-radius:7px}.nzs-member:hover{background:#f5f8fa}.nzs-member.inactive{opacity:.55}.nzs-member input{accent-color:#0d8f8f}.nzs-member .nzs-user-email{display:inline}@media(max-width:768px){.nzs-backdrop{padding:0;align-items:flex-end}.nzs-panel{max-height:92dvh;border-radius:18px 18px 0 0}.nzs-head{flex-wrap:wrap;gap:10px}.nzs-tab{padding:12px 12px 24px}.nzs-user-row{gap:8px}.nzs-user-actions{width:100%}.nzs-user-actions button{min-height:38px}}.toolhub{display:flex;flex-direction:column;min-height:100dvh;background:#f5f7fa}.toolhub-header{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:#fff;border-bottom:1px solid #e0e0e0;flex-shrink:0}.toolhub-brand{display:flex;align-items:center;gap:14px}.toolhub-logo{font-size:20px;font-weight:900;letter-spacing:-.5px;color:#fff;background:linear-gradient(135deg,#4a90e2,#7c5ce0);padding:6px 14px;border-radius:8px;font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.toolhub-title{margin:0;font-size:20px;font-weight:700;color:#333;line-height:1.2}.toolhub-tagline{margin:0;font-size:13px;color:#888}.toolhub-logout{display:flex;align-items:center;gap:6px;padding:8px 16px;background:none;border:1px solid #d0d0d0;border-radius:8px;color:#666;font-size:14px;cursor:pointer;font-family:inherit;transition:all .15s}.toolhub-logout:hover{background:#f5f5f5;color:#333;border-color:#bbb}.toolhub-main{flex:1;padding:32px;max-width:800px;width:100%;margin:0 auto;box-sizing:border-box}.toolhub-section-title{margin:0 0 20px;font-size:16px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:1px}.toolhub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.tool-card{display:flex;align-items:center;gap:14px;padding:20px;background:#fff;border:2px solid #e8e8e8;border-radius:14px;cursor:pointer;font-family:inherit;text-align:left;transition:all .2s;position:relative;overflow:hidden}.tool-card:hover{border-color:var(--tool-color);box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.tool-card:active{transform:translateY(0)}.tool-card.coming-soon{opacity:.7}.tool-card.coming-soon:hover{opacity:.85;transform:translateY(-1px)}.tool-card-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--tool-bg);color:var(--tool-color);border-radius:12px;flex-shrink:0}.tool-card-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.tool-card-name{font-size:16px;font-weight:600;color:#333}.tool-card-desc{font-size:13px;color:#888;line-height:1.4}.tool-card-badge{position:absolute;top:10px;right:10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;background:#f0f0f0;color:#999;border-radius:6px}.tool-card-arrow{flex-shrink:0;color:var(--tool-color);opacity:0;transition:opacity .2s,transform .2s;transform:translate(-4px)}.tool-card:hover .tool-card-arrow{opacity:1;transform:translate(0)}.coming-soon-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;background:#f5f7fa;padding:24px;text-align:center}.coming-soon-icon{font-size:64px;margin-bottom:16px;opacity:.6}.coming-soon-page h1{margin:0 0 8px;font-size:28px;font-weight:700;color:#333}.coming-soon-page p{margin:0 0 32px;font-size:16px;color:#888}.coming-soon-back{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#fff;border:2px solid #e0e0e0;border-radius:10px;color:#555;font-size:15px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s}.coming-soon-back:hover{border-color:#4a90e2;color:#4a90e2;background:#f8fbff}@media(max-width:768px){.toolhub-header{padding:12px 16px}.toolhub-logo{font-size:16px;padding:5px 10px}.toolhub-title{font-size:16px}.toolhub-tagline{font-size:11px}.toolhub-logout{padding:8px 12px;font-size:13px;min-height:44px}.toolhub-main{padding:20px 16px}.toolhub-section-title{font-size:14px;margin-bottom:16px}.toolhub-grid{grid-template-columns:1fr;gap:12px}.tool-card{padding:16px;gap:12px;min-height:72px}.tool-card-icon{width:44px;height:44px;border-radius:10px}.tool-card-icon svg{width:24px;height:24px}.tool-card-name{font-size:15px}.tool-card-desc{font-size:12px}.tool-card-badge{font-size:9px;top:8px;right:8px}.tool-card-arrow{opacity:1;transform:translate(0)}.coming-soon-page{padding:24px 16px}.coming-soon-page h1{font-size:22px}.coming-soon-page p{font-size:14px}.coming-soon-back{min-height:44px;font-size:16px}}.toolhub-gear{position:fixed;right:20px;bottom:20px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border:1px solid #e4e9ee;border-radius:50%;background:#fff;color:#556;cursor:pointer;box-shadow:0 4px 18px #1e3c5a2e;z-index:50;transition:all .2s ease}.toolhub-gear:hover{color:#0d8f8f;border-color:#0d8f8f;transform:rotate(30deg)}@media(max-width:768px){.toolhub-gear{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}}.vtt-page{display:flex;flex-direction:column;height:100dvh;background:#fafafa}.vtt-header{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#fff;border-bottom:1px solid #e0e0e0;flex-shrink:0}.vtt-back-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;color:#555;display:flex;align-items:center}.vtt-back-btn:hover{background:#f0f0f0}.vtt-title{font-size:18px;font-weight:600;color:#8040a0;margin:0;flex:1}.vtt-header-actions{display:flex;gap:8px}.vtt-session-btn,.vtt-new-btn{padding:6px 14px;border-radius:6px;border:1px solid #ddd;background:#fff;cursor:pointer;font-size:13px;color:#555}.vtt-new-btn{background:#8040a0;color:#fff;border-color:#8040a0}.vtt-new-btn:hover{background:#6a3088}.vtt-session-btn:hover{background:#f5f5f5}.vtt-sessions-panel{background:#fff;border-bottom:1px solid #e0e0e0;max-height:300px;overflow-y:auto;padding:8px 20px}.vtt-no-sessions{color:#999;text-align:center;padding:16px;font-size:14px}.vtt-session-item{display:flex;align-items:center;padding:8px 12px;border-radius:6px;cursor:pointer;gap:12px}.vtt-session-item:hover{background:#f5eeff}.vtt-session-item.active{background:#ede0f5}.vtt-session-info{flex:1;display:flex;flex-direction:column;gap:2px}.vtt-session-title{font-size:14px;font-weight:500}.vtt-session-meta{font-size:12px;color:#888}.vtt-session-delete{background:none;border:none;cursor:pointer;font-size:18px;color:#ccc;padding:4px 8px;border-radius:4px}.vtt-session-delete:hover{background:#fee;color:#d33}.vtt-error{background:#fef0f0;color:#c33;padding:10px 20px;font-size:14px;border-bottom:1px solid #f5c0c0}.vtt-content{flex:1;overflow-y:auto;padding:20px;max-width:900px;margin:0 auto;width:100%}.vtt-section{background:#fff;border-radius:8px;padding:20px;margin-bottom:16px;border:1px solid #e8e8e8}.vtt-section h2{font-size:16px;font-weight:600;margin:0 0 12px;color:#333}.vtt-section-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.vtt-section-header h2{margin:0}.vtt-upload-tabs{display:flex;gap:4px;margin-bottom:12px}.vtt-tab{padding:8px 20px;border-radius:6px;border:1px solid #ddd;background:#fff;cursor:pointer;font-size:14px}.vtt-tab.active{background:#8040a0;color:#fff;border-color:#8040a0}.vtt-language-select{display:flex;align-items:center;gap:10px;margin-bottom:12px}.vtt-language-select label{font-size:14px;color:#555;white-space:nowrap}.vtt-language-select select{padding:6px 10px;border:1px solid #ccc;border-radius:6px;font-size:14px;background:#fff;color:#333}.vtt-dropzone{border:2px dashed #ccc;border-radius:10px;padding:40px;text-align:center;cursor:pointer;transition:all .2s;color:#888}.vtt-dropzone:hover,.vtt-dropzone.active{border-color:#8040a0;background:#faf5ff;color:#8040a0}.vtt-dropzone svg{margin-bottom:12px;opacity:.6}.vtt-dropzone p{font-size:15px;margin:0 0 8px}.vtt-formats,.vtt-max-size,.vtt-audio-hint{display:block;font-size:12px;color:#aaa}.vtt-audio-hint{margin-top:4px;font-style:italic}.vtt-progress-bar{height:8px;background:#e8e8e8;border-radius:4px;overflow:hidden;margin-bottom:8px}.vtt-progress-fill{height:100%;background:#8040a0;border-radius:4px;transition:width .3s ease}.vtt-progress-text{font-size:13px;color:#888}.vtt-spinner-container{display:flex;justify-content:center;padding:20px}.vtt-transcript-toggle{display:flex;gap:0;border:1px solid #ccc;border-radius:6px;overflow:hidden}.vtt-toggle-btn{padding:4px 12px;border:none;background:#f5f5f5;color:#666;font-size:13px;cursor:pointer}.vtt-toggle-btn.active{background:#8040a0;color:#fff}.vtt-transcript-editor{width:100%;border:1px solid #ddd;border-radius:6px;padding:12px;font-size:14px;font-family:inherit;resize:vertical;line-height:1.6;min-height:200px}.vtt-transcript-editor:focus{outline:none;border-color:#8040a0}.vtt-word-count{font-size:13px;color:#888}.vtt-cost-badge{display:inline-block;font-size:12px;color:#666;background:#f0f0f0;padding:2px 8px;border-radius:10px;margin-top:8px}.vtt-model-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.vtt-model-checkbox{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:13px;-webkit-user-select:none;user-select:none}.vtt-model-checkbox:has(input:checked){border-color:#8040a0;background:#faf5ff}.vtt-model-checkbox input{accent-color:#8040a0}.vtt-mt{margin-top:16px!important}.vtt-prompt-input{width:100%;border:1px solid #ddd;border-radius:6px;padding:10px 12px;font-size:14px;font-family:inherit;resize:vertical;margin-bottom:12px}.vtt-prompt-input:focus{outline:none;border-color:#8040a0}.vtt-hint{color:#999;font-size:14px}.vtt-perplexity-toggle{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:16px;cursor:pointer}.vtt-perplexity-toggle input{margin-top:2px;accent-color:#8040a0}.vtt-toggle-label{display:block;font-size:14px;font-weight:500}.vtt-toggle-desc{display:block;font-size:12px;color:#888;margin-top:2px}.vtt-process-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;background:#8040a0;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer}.vtt-process-btn:hover:not(:disabled){background:#6a3088}.vtt-process-btn:disabled{opacity:.5;cursor:not-allowed}.vtt-web-context{background:#f8f5ff;border-color:#e0d5ef}.vtt-web-context summary{cursor:pointer;font-weight:500;color:#8040a0}.vtt-results-grid{display:flex;flex-direction:column;gap:12px}.vtt-results-grid.side-by-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.vtt-result-card{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.vtt-result-card.merged{border-color:#8040a0;background:#fdf8ff}.vtt-result-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f8f8f8;border-bottom:1px solid #e8e8e8}.vtt-result-card.merged .vtt-result-header{background:#f0e8f5;border-color:#d5c5e0}.vtt-result-model{font-weight:600;font-size:13px;color:#555}.vtt-copy-btn{padding:4px 12px;border-radius:4px;border:1px solid #ddd;background:#fff;cursor:pointer;font-size:12px}.vtt-copy-btn:hover{background:#f0f0f0}.vtt-result-body{padding:14px;font-size:14px;line-height:1.6;max-height:400px;overflow-y:auto}.vtt-merge-toggle{margin-top:16px;padding:8px 20px;border:1px dashed #8040a0;border-radius:6px;background:transparent;color:#8040a0;cursor:pointer;font-size:14px}.vtt-merge-toggle:hover{background:#faf5ff}.vtt-merge-panel{margin-top:16px;padding:16px;border:1px solid #e0d5ef;border-radius:8px;background:#fdf8ff}.vtt-merge-panel h3{font-size:14px;margin:0 0 8px;color:#555}.vtt-merge-model-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.vtt-merge-model-row label{font-size:13px;color:#555}.vtt-merge-model-row select{padding:6px 10px;border-radius:4px;border:1px solid #ddd;font-size:13px}.vtt-merge-result-section .vtt-result-card{border-color:#8040a0}.vtt-footer{display:flex;flex-wrap:wrap;align-items:center;gap:16px;background:#f8faf8}.vtt-export-row{display:flex;gap:8px}.vtt-notebook-btn{padding:8px 20px;border-radius:6px;border:1px solid #4a90e2;background:#4a90e2;color:#fff;cursor:pointer;font-size:13px}.vtt-notebook-btn:hover{background:#357abd}.vtt-cost-summary{font-size:13px;color:#555}.vtt-cost-label{font-weight:600}.vtt-cost-breakdown{color:#888;font-size:12px;margin-left:4px}@media(max-width:768px){.vtt-header{padding:10px 12px;gap:8px}.vtt-title{font-size:16px}.vtt-header-actions{flex-wrap:wrap}.vtt-content{padding:12px}.vtt-section{padding:14px}.vtt-dropzone{padding:24px}.vtt-results-grid.side-by-side{grid-template-columns:1fr}.vtt-transcript-editor,.vtt-prompt-input{font-size:16px}.vtt-process-btn,.vtt-notebook-btn{min-height:44px}}.vtt-media-section{padding-top:0}.vtt-media-toggle{background:#f0f0f0;border:1px solid #ddd;border-radius:6px;padding:8px 16px;cursor:pointer;font-size:.9rem;color:#555;transition:background .15s}.vtt-media-toggle:hover{background:#e8e8e8}.vtt-media-player{margin-top:12px;border-radius:8px;overflow:hidden;background:#000}.vtt-video-element{width:100%;max-height:480px;display:block}.vtt-session-preview{display:block;font-size:.78rem;color:#888;margin-top:4px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.vtt-bg-hint{font-size:.85rem;color:#888;margin:4px 0 12px}.vtt-cancel-btn{margin-top:16px;padding:8px 20px;background:#e74c3c;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .15s}.vtt-cancel-btn:hover{background:#c0392b}.vtt-session-running{display:inline-block;font-size:.72rem;background:#3498db;color:#fff;padding:1px 6px;border-radius:3px;margin-left:6px;animation:vtt-pulse 1.5s infinite}@keyframes vtt-pulse{0%,to{opacity:1}50%{opacity:.5}}.fs-container{height:100dvh;overflow-y:auto;background:#f5f5f5}.fs-header{display:flex;align-items:center;gap:16px;padding:16px 24px;background:#fff;border-bottom:1px solid #e0e0e0}.fs-back{background:none;border:1px solid #ddd;border-radius:8px;padding:6px 14px;font-size:14px;cursor:pointer;color:#555}.fs-back:hover{border-color:#e67e22;color:#e67e22}.fs-title{font-size:20px;font-weight:700;color:#e67e22;margin:0}.fs-alert{margin:12px 24px 0;padding:10px 16px;border-radius:8px;font-size:14px}.fs-alert-error{background:#fff0f0;border:1px solid #ffcccc;color:#c33}.fs-alert-success{background:#f0fff0;border:1px solid #ccffcc;color:#393}.fs-alert-password{background:#fff8e1;border:1px solid #ffe082;color:#6d4c00;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fs-alert-password code{background:#fff;padding:4px 10px;border-radius:4px;font-size:15px;font-weight:600;letter-spacing:.5px}.fs-password-hint{width:100%;font-size:12px;color:#8d6e00;margin-top:4px}.fs-copy-btn{background:#e67e22;color:#fff;border:none;border-radius:4px;padding:4px 10px;font-size:12px;cursor:pointer}.fs-copy-btn:hover{background:#d35400}.fs-close-btn{background:none;border:none;font-size:18px;cursor:pointer;color:#999;margin-left:auto}.fs-tabs{display:flex;gap:0;padding:0 24px;background:#fff;border-bottom:1px solid #e0e0e0}.fs-tab{background:none;border:none;padding:12px 20px;font-size:14px;font-weight:500;cursor:pointer;color:#888;border-bottom:2px solid transparent}.fs-tab.active{color:#e67e22;border-bottom-color:#e67e22}.fs-tab:hover{color:#e67e22}.fs-content{padding:20px 24px;max-width:900px;margin:0 auto}.fs-dropzone{border:2px dashed #ccc;border-radius:12px;padding:32px;text-align:center;cursor:pointer;color:#888;font-size:14px;transition:all .2s;background:#fff}.fs-dropzone.active{border-color:#e67e22;background:#fef5e7;color:#e67e22}.fs-dropzone.uploading{cursor:default}.fs-dropzone:hover{border-color:#e67e22}.fs-dropzone-icon{font-size:32px;margin-bottom:8px}.fs-upload-progress{position:relative;height:28px;background:#f0f0f0;border-radius:14px;overflow:hidden}.fs-progress-bar{position:absolute;left:0;top:0;bottom:0;background:#e67e22;border-radius:14px;transition:width .3s}.fs-upload-progress span{position:relative;z-index:1;line-height:28px;font-weight:600;color:#333}.fs-upload-desc-row{margin-top:8px;margin-bottom:16px}.fs-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box;font-family:inherit}.fs-input:focus{border-color:#e67e22;outline:none}.fs-pending-upload{background:#fff;border:2px solid #e67e22;border-radius:12px;padding:16px;margin-bottom:16px}.fs-pending-file-row{display:flex;align-items:center;gap:10px;margin-bottom:14px}.fs-pending-file-icon{font-size:22px;flex-shrink:0}.fs-pending-file-info{flex:1;min-width:0}.fs-pending-file-name{font-weight:600;font-size:14px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs-pending-file-size{font-size:12px;color:#999}.fs-pending-field{margin-bottom:14px}.fs-pending-field:last-of-type{margin-bottom:0}.fs-field-label{display:block;font-size:12px;font-weight:600;color:#666;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.fs-required{color:#e74c3c}.fs-pending-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.fs-btn-secondary{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;padding:8px 16px;font-size:14px;cursor:pointer}.fs-btn-secondary:hover{border-color:#999}.fs-assign-groups{display:flex;flex-direction:column;gap:12px;max-height:260px;overflow-y:auto;padding:4px;border:1px solid #eee;border-radius:6px}.fs-assign-group{display:flex;flex-direction:column;gap:2px}.fs-assign-group-header{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:13px;font-weight:700;color:#444;cursor:pointer;background:#f7f7f7;border-radius:4px}.fs-assign-group-header input{accent-color:#e67e22}.fs-assign-group-count{color:#aaa;font-weight:500}.fs-assign-group .fs-assign-list{padding-left:20px}.fs-empty{text-align:center;color:#aaa;padding:40px;font-size:14px}.fs-file-list{display:flex;flex-direction:column;gap:8px}.fs-file-item{background:#fff;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden}.fs-file-row{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer}.fs-file-row:hover{background:#fef9f2}.fs-file-expand{color:#ccc;font-size:10px;flex-shrink:0}.fs-file-info{flex:1;min-width:0}.fs-file-name{font-weight:600;font-size:14px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs-file-meta{font-size:12px;color:#999;margin-top:2px}.fs-file-stats{display:flex;gap:12px;font-size:13px;color:#777;flex-shrink:0}.fs-delete-btn{background:none;border:none;font-size:18px;color:#ccc;cursor:pointer;padding:4px 8px;flex-shrink:0}.fs-delete-btn:hover{color:#e74c3c}.fs-file-detail{padding:12px 16px 16px;border-top:1px solid #f0f0f0;background:#fafafa}.fs-detail-section{margin-bottom:16px}.fs-detail-section:last-child{margin-bottom:0}.fs-detail-section h4{font-size:13px;font-weight:600;color:#666;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.fs-muted{color:#bbb;font-size:13px}.fs-assign-list{display:flex;flex-direction:column;gap:4px}.fs-assign-item{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 8px;border-radius:4px;cursor:pointer}.fs-assign-item.assigned{background:#fef5e7}.fs-assign-item input{accent-color:#e67e22}.fs-event-table{width:100%;border-collapse:collapse;font-size:13px}.fs-event-table th{text-align:left;padding:6px 8px;border-bottom:1px solid #e0e0e0;color:#888;font-weight:500}.fs-event-table td{padding:6px 8px;border-bottom:1px solid #f0f0f0}.fs-event-download td:first-child{color:#3498db}.fs-event-confirmation td:first-child{color:#27ae60}.fs-share-link{display:flex;align-items:center;gap:8px}.fs-share-link code{background:#fff;padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:12px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fs-create-user{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:16px;margin-bottom:16px}.fs-create-user h3{margin:0 0 12px;font-size:15px;color:#333}.fs-create-row{display:flex;gap:8px}.fs-create-row .fs-input{flex:1}.fs-btn-primary{background:#e67e22;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}.fs-btn-primary:hover{background:#d35400}.fs-btn-primary:disabled{opacity:.5;cursor:default}.fs-user-list{display:flex;flex-direction:column;gap:8px}.fs-user-item{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.fs-user-item.inactive{opacity:.5}.fs-user-name{font-weight:600;font-size:14px}.fs-user-email{font-size:13px;color:#888}.fs-user-meta{font-size:12px;color:#aaa;margin-top:2px}.fs-user-actions{display:flex;gap:6px;flex-shrink:0}.fs-user-actions button{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:4px 10px;font-size:12px;cursor:pointer}.fs-user-actions button:hover{border-color:#e67e22;color:#e67e22}.fs-user-actions .fs-danger:hover{border-color:#e74c3c;color:#e74c3c}.fs-user-language-select{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;font-family:inherit;color:#555}.fs-user-language-select:focus{border-color:#e67e22;outline:none}.fs-file-original{font-size:11px;color:#bbb;margin-top:1px}.fs-name-edit{display:flex;gap:8px}.fs-name-edit .fs-input{flex:1}.fs-name-hint{font-size:11px;margin-top:6px}@media(max-width:768px){.fs-header{padding:12px 16px}.fs-content{padding:16px}.fs-tabs{padding:0 16px}.fs-create-row{flex-direction:column}.fs-file-stats{display:none}.fs-user-item{flex-direction:column;align-items:flex-start}.fs-user-actions,.fs-pending-actions{flex-wrap:wrap}.fs-pending-actions button{flex:1}.fs-assign-groups{max-height:200px}}.fsu-container{height:100dvh;overflow-y:auto;background:#f5f5f5}.fsu-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#fff;border-bottom:1px solid #e0e0e0}.fsu-brand{display:flex;align-items:center;gap:12px}.fsu-logo{font-weight:900;font-size:18px;color:#fff;background:#e67e22;padding:4px 10px;border-radius:6px;letter-spacing:1px}.fsu-brand-text{font-size:18px;font-weight:600;color:#333}.fsu-logout{background:none;border:1px solid #ddd;border-radius:8px;padding:8px 16px;font-size:14px;cursor:pointer;color:#555}.fsu-logout:hover{border-color:#e67e22;color:#e67e22}.fsu-alert{margin:12px 24px 0;padding:10px 16px;border-radius:8px;font-size:14px}.fsu-alert-error{background:#fff0f0;border:1px solid #ffcccc;color:#c33}.fsu-alert-success{background:#f0fff0;border:1px solid #ccffcc;color:#393}.fsu-content{padding:24px;max-width:700px;margin:0 auto}.fsu-loading{text-align:center;color:#aaa;padding:60px 0;font-size:16px}.fsu-empty{text-align:center;color:#aaa;padding:60px 0}.fsu-empty-icon{font-size:48px;margin-bottom:12px}.fsu-file-list{display:flex;flex-direction:column;gap:12px}.fsu-file-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:16px 20px;display:flex;align-items:flex-start;gap:16px}.fsu-file-icon{font-size:28px;flex-shrink:0;padding-top:2px}.fsu-file-body{flex:1;min-width:0}.fsu-file-name{font-weight:600;font-size:15px;color:#333;word-break:break-word}.fsu-file-desc{font-size:13px;color:#888;margin-top:2px}.fsu-file-meta{font-size:12px;color:#aaa;margin-top:4px}.fsu-status{font-size:12px;margin-top:6px;padding:4px 8px;border-radius:4px;display:inline-block}.fsu-status-download{background:#eef5ff;color:#3498db}.fsu-status-confirmed{background:#edfaed;color:#27ae60}.fsu-file-actions{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.fsu-btn{border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}.fsu-btn-download{background:#e67e22;color:#fff}.fsu-btn-download:hover{background:#d35400}.fsu-btn-confirm{background:#27ae60;color:#fff}.fsu-btn-confirm:hover{background:#219a52}.fsu-btn-confirm:disabled{opacity:.5;cursor:default}.fsu-countdown{font-size:14px;font-weight:600;color:#e67e22;padding:8px 0;text-align:center;min-width:80px}.fsu-hint{font-size:12px;color:#bbb;text-align:center}@media(max-width:600px){.fsu-header{padding:12px 16px}.fsu-content{padding:16px}.fsu-file-card{flex-direction:column;align-items:stretch;padding:14px 16px}.fsu-file-icon{display:none}.fsu-file-actions{flex-direction:row;justify-content:flex-start;margin-top:12px}}.fsu-back{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin-right:4px;border:none;border-radius:8px;background:#ffffff26;color:inherit;cursor:pointer}.fsu-back:hover{background:#ffffff47}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.nz{display:flex;flex-direction:column;height:100vh;height:100dvh;background:#f5f7fa;overflow:hidden}.nz-header{display:flex;align-items:center;gap:12px;height:56px;padding:0 16px;background:#fff;border-bottom:1px solid #e0e0e0;flex-shrink:0}.nz-brand{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700;color:#333;letter-spacing:-.2px;white-space:nowrap}.nz-icon-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #e0e0e0;border-radius:9px;background:#fff;color:#555;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.nz-icon-btn:hover:not(:disabled){border-color:#0d8f8f;color:#0d8f8f;background:#f2fbfb}.nz-icon-btn:disabled{opacity:.4;cursor:default}.nz-back{border:none;background:transparent;padding:7px}.nz-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.nz-ai-toggle{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid rgba(124,92,224,.4);border-radius:9px;background:#f8f5ff;color:#7c5ce0;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.nz-ai-toggle:hover{background:#f0eaff}.nz-collapse-toggle{position:absolute;top:50%;transform:translateY(-50%);min-width:22px;height:22px;padding:0 6px;border:1.5px solid #0d8f8f;background:#fff;color:#0d8f8f;border-radius:999px;font-size:11px;font-weight:700;line-height:1;cursor:pointer;z-index:4;box-shadow:0 1px 3px #0d8f8f40}.nz-collapse-toggle.right{right:-13px}.nz-collapse-toggle.left{left:-13px}.nz-collapse-toggle:hover{background:#0d8f8f;color:#fff}.nz-node.nz-collapsed{border-style:dashed}.nz-node.nz-focused{border-color:#0d8f8f;border-width:2px;box-shadow:0 0 0 4px #0d8f8f26,0 2px 10px #0d8f8f40}.nz-chip-template{border-style:solid;border-color:#b8860b;box-shadow:3px 3px 0 -1px #fff,3px 3px #d9c58a,6px 6px 0 -1px #fff,6px 6px #e8dcb8}.nz-tpl-pin{margin-right:4px;font-size:11px}.nz-tpl-count{background:#b8860b;color:#fff;font-size:10.5px;font-weight:700;padding:0 6px;border-radius:999px;flex-shrink:0}.nz-instance-glyph{color:#b8860b;font-weight:700}.nz-tb-emoji{font-size:13px;line-height:1}.nz-tb-btn.active{background:#b8860b;color:#fff;border-radius:7px}.nz-detail-instance-note{margin:10px 0 0;padding:9px 12px;border-radius:10px;background:#fdf8ec;border:1px solid #e8dcb8;font-size:12.5px;color:#7a5c10}.nz-detail-instances{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#fdf8ec;border:1px solid #e8dcb8}.nz-detail-instances-title{font-size:12.5px;font-weight:700;color:#7a5c10;margin-bottom:6px}.nz-detail-instances-empty{font-size:12px;color:#9a7d2e}.nz-detail-instance-row{display:block;width:100%;text-align:left;border:none;background:transparent;padding:5px 6px;border-radius:7px;font-size:12.5px;color:#234;cursor:pointer}.nz-detail-instance-row:hover{background:#f6ecd2}.nz-node,.nz-chip{position:relative}.nz-author-stripe{position:absolute;left:0;top:7px;bottom:7px;width:4px;border-radius:999px}.nz-edited-badge{position:absolute;right:-9px;top:-10px;font-size:10px;background:#fff;border:1.5px solid #e67e22;border-radius:999px;padding:2px 3px;line-height:1}.nz-detail-edited{color:#b35c0e;font-weight:600}.nz-focus-badge{position:absolute;left:-10px;top:-10px;font-size:14px;background:#fff;border:1.5px solid #0d8f8f;border-radius:999px;padding:2px 4px;line-height:1;pointer-events:none}.nz-canvas-topleft{position:absolute;top:12px;left:12px;z-index:12;display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:min(75%,640px);pointer-events:none}.nz-canvas-topleft>*{pointer-events:auto}.nz-focus-banner{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 12px;font-size:12.5px;font-weight:600;color:#0d6d6d;background:#e9f7f6;border:1.5px solid #9fd8d4;border-radius:10px;box-shadow:0 2px 10px #0d8f8f26;text-align:left}.nz-crumb{border:none;background:transparent;font:inherit;color:#0d8f8f;cursor:pointer;padding:3px 6px;border-radius:7px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nz-crumb:hover{background:#d9f1ef;text-decoration:underline}.nz-crumb-sep{color:#7fbcb8}.nz-crumb-current{padding:3px 6px;color:#0d6d6d;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nz-crumb-hidden{color:#6ba7a2;font-weight:500}.nz-level-ctl{display:inline-flex;align-items:center;gap:2px;padding:3px;background:#fff;border:1px solid #dde5ec;border-radius:9px;box-shadow:0 2px 10px #1e3c5a1a}.nz-level-label{font-size:11.5px;font-weight:600;color:#7a8694;padding:0 7px 0 8px}.nz-level-ctl button{border:none;background:transparent;padding:4px 10px;border-radius:7px;font-size:12.5px;font-weight:600;color:#667;cursor:pointer}.nz-level-ctl button:hover{background:#eef4f8}.nz-level-ctl button.active{background:#0d8f8f;color:#fff}.nz-mode-toggle{display:inline-flex;background:#eef1f5;border-radius:9px;padding:3px;gap:2px}.nz-mode-toggle button{border:none;background:transparent;padding:5px 12px;border-radius:7px;font-size:12.5px;font-weight:600;color:#667;cursor:pointer;white-space:nowrap}.nz-mode-toggle button.active{background:#fff;color:#0d8f8f;box-shadow:0 1px 4px #14283c1f}.nz-viewmode-hint{flex:1;text-align:center;font-size:12.5px;color:#7a8694;padding:10px 12px;background:#f4f7f9;border:1px dashed #d8e0e8;border-radius:10px}.nz-canvas-tools{position:absolute;top:12px;right:12px;z-index:12;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.nz-ai-toggle-canvas{background:#fff;box-shadow:0 2px 10px #281e5021}.nz-ai-toggle-canvas:hover{background:#f8f5ff}.nz-att-toggle-canvas{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;color:#0d6d6d;background:#fff;border:1px solid #cfe6e4;border-radius:9px;cursor:pointer;box-shadow:0 2px 10px #0d8f8f21}.nz-att-toggle-canvas:hover{background:#f0faf9}.nz-att-toggle-canvas.active{background:#0d8f8f;color:#fff;border-color:#0d8f8f}.nz-search{position:relative}.nz-search-pop{position:absolute;top:calc(100% + 6px);right:0;width:min(320px,calc(100vw - 40px));background:#fff;border:1px solid #dde5ec;border-radius:11px;box-shadow:0 8px 26px #1e3c5a2e;padding:8px;z-index:20}.nz-search-pop input{width:100%;border:1px solid #d8e0e8;border-radius:8px;padding:8px 11px;font-size:13.5px;outline:none}.nz-search-pop input:focus{border-color:#0d8f8f}.nz-search-results{margin-top:6px;max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.nz-search-row{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;border:none;background:transparent;text-align:left;padding:7px 9px;border-radius:8px;cursor:pointer}.nz-search-row:hover{background:#eef7f6}.nz-search-text{font-size:13px;font-weight:600;color:#234}.nz-search-path{font-size:11px;color:#8a96a3}.nz-search-empty,.nz-search-more{padding:8px 9px;font-size:12px;color:#8a96a3}.nz-search-ai{margin-top:4px;padding-top:6px;border-top:1px dashed #e0d8f5}.nz-search-ai-btn{width:100%;border:1px solid #e6e0f8;background:#f8f5ff;color:#5b3fc4;font-size:12.5px;font-weight:600;text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer}.nz-search-ai-btn:hover{background:#f1ebff}.nz-search-ai .nz-search-text{color:#5b3fc4}.nz-node.nz-search-hit,.nz-chip.nz-search-hit{box-shadow:0 0 0 3px #f0ad1e73,0 2px 10px #f0ad1e4d;border-color:#e8a41c}@keyframes nz-jump-pulse{0%{box-shadow:0 0 0 3px #0d8f8f8c,0 0 0 10px #0d8f8f2e}70%{box-shadow:0 0 0 6px #0d8f8f52,0 0 0 20px #0d8f8f00}to{box-shadow:0 0 0 3px #0d8f8f00}}.nz-node.nz-jump-pulse,.nz-chip.nz-jump-pulse{animation:nz-jump-pulse 1s ease-out 2;border-color:#0d8f8f}.nz-minimap{width:190px;height:132px;margin:0 8px 8px 0;border:1px solid #dde5ec;border-radius:10px;overflow:hidden;box-shadow:0 2px 12px #1e3c5a24}.nz-minimap .react-flow__minimap-mask{fill:#4a90e21f;stroke:#4a90e2;stroke-width:2}.nz-att-count{background:#0d8f8f;color:#fff;font-size:11px;font-weight:700;min-width:18px;text-align:center;padding:1px 5px;border-radius:999px}.nz-att-backdrop{position:fixed;inset:0;z-index:60;background:#141e2852;display:flex;align-items:center;justify-content:center;padding:24px}.nz-att-panel{background:#fff;width:560px;max-width:100%;max-height:86vh;overflow-y:auto;border-radius:16px;padding:20px 22px;box-shadow:0 12px 44px #14283c47}.nz-att-head{display:flex;align-items:center;justify-content:space-between}.nz-att-title{font-size:16px;font-weight:700;color:#223}.nz-att-sub{font-size:12.5px;color:#778;margin:4px 0 14px}.nz-att-add{width:100%}.nz-att-form{border:1px solid #e5e9ee;border-radius:12px;padding:14px;margin-bottom:14px;display:flex;flex-direction:column;gap:9px;background:#fafbfc}.nz-att-modes{align-self:flex-start}.nz-att-input{width:100%;padding:9px 11px;font-size:13px;border:1px solid #dfe3e8;border-radius:8px;outline:none;font-family:inherit}.nz-att-input:focus{border-color:#0d8f8f}.nz-att-drop{border:1.5px dashed #cbd3da;border-radius:8px;padding:18px;text-align:center;font-size:13px;color:#778;cursor:pointer}.nz-att-drop.has-file{border-color:#0d8f8f;color:#0d6d6d;background:#f0faf9}.nz-att-progress{height:6px;background:#e5eaee;border-radius:999px;overflow:hidden}.nz-att-progress>div{height:100%;background:#0d8f8f;transition:width .15s}.nz-att-form-actions{display:flex;justify-content:flex-end;gap:8px}.nz-att-list{display:flex;flex-direction:column;gap:8px}.nz-att-empty{font-size:13px;color:#99a;text-align:center;padding:20px 0}.nz-att-item{display:flex;gap:11px;align-items:flex-start;padding:11px 12px;border:1px solid #eaedf0;border-radius:11px}.nz-att-item-icon{font-size:20px;flex-shrink:0;line-height:1.3}.nz-att-item-body{flex:1;min-width:0}.nz-att-item-title{font-size:13.5px;font-weight:600;color:#223;word-break:break-word}.nz-att-item-desc{font-size:12.5px;color:#667;margin-top:2px;word-break:break-word}.nz-att-item-meta{font-size:11px;color:#99a;margin-top:4px;display:flex;flex-wrap:wrap;gap:4px}.nz-att-item-url{color:#0d8f8f;word-break:break-all}.nz-att-item-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.nz-att-btn{border:1px solid #dbe0e5;background:#fff;border-radius:7px;padding:5px 11px;font-size:12px;font-weight:600;color:#0d6d6d;cursor:pointer;text-decoration:none}.nz-att-btn:hover{background:#f0faf9}.nz-att-btn.danger{color:#c0392b;padding:5px 9px;font-size:15px;line-height:1}.nz-att-btn.danger:hover{background:#fdecea;border-color:#f0b4ac}.nz-att-tabs{margin-bottom:12px;align-self:flex-start}.nz-att-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.nz-att-item-trashed{opacity:.85;background:#fbf9f4}.nz-att-assign-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nz-att-assign-none{font-size:12px;color:#99a;font-style:italic}.nz-att-assign-chip{border:1px solid #cfe6e4;background:#f0faf9;color:#0d6d6d;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;cursor:pointer;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nz-att-assign-chip:hover{background:#dff3f1}.nz-att-assign-select{border:1px solid #dbe0e5;border-radius:8px;padding:6px 8px;font-size:12.5px;color:#223;background:#fff;max-width:100%}.nz-att-assign-select:focus{border-color:#0d8f8f;outline:none}.nz-nodesel{display:flex;flex-direction:column;gap:6px;align-items:flex-start;width:100%}.nz-nodesel .nz-att-input{width:100%}.nz-nodesel-list{width:100%;max-height:210px;overflow-y:auto;border:1px solid #e4e8ec;border-radius:8px;background:#fff}.nz-nodesel-row{display:block;width:100%;text-align:left;border:none;background:none;padding:6px 10px;font-size:12.5px;color:#223;cursor:pointer}.nz-nodesel-row:hover{background:#f0faf9}.nz-nodesel-row.none{color:#778;font-style:italic}.nz-nodesel-empty{padding:10px;font-size:12.5px;color:#99a}.nz-att-nodesel-toggle{align-self:flex-start}.nz-att-log-item{display:flex;gap:10px;padding:8px 10px;border:1px solid #eceff2;border-radius:10px;background:#fcfcfd}.nz-att-log-glyph{font-size:15px;flex-shrink:0;line-height:1.4}.nz-att-log-body{flex:1;min-width:0}.nz-att-log-title{font-size:13px;font-weight:600;color:#223;word-break:break-word}.nz-att-log-msg{font-size:12.5px;color:#556;margin-top:1px}.nz-attach-glyph{font-size:11px;letter-spacing:-1px}.nz-linkin-glyph{font-size:10.5px;font-weight:700;color:#7c5ce0;background:#f1edfc;border-radius:6px;padding:0 4px}.nz-merge-hint{font-size:12.5px;color:#778;margin:2px 0 10px}.nz-merge-row{display:flex;align-items:center;gap:9px;cursor:pointer}.nz-merge-row input{accent-color:#7c5ce0;flex-shrink:0}.nz-merge-row-text{flex:1;min-width:0}.nz-merge-row.linked{opacity:.55;cursor:default}.nz-detail-links{background:#f6f3fd;border-color:#d9cef5}.nz-detail-links .nz-detail-instances-title{color:#6b4fd8}.nz-ol-export{padding:8px 12px;border-bottom:1px solid #eef0f3}.nz-ol-export-btn{width:100%;font-size:12px;padding:7px 10px}.nz-ol-export-opt{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;color:#556;cursor:pointer}.nz-ol-export-opt input{accent-color:#0d8f8f}.nz-handle-link-static{opacity:0!important;pointer-events:none!important}.nz-linemenu-backdrop{position:fixed;inset:0;z-index:1200;background:transparent}.nz-linemenu{position:fixed;width:280px;background:#fff;border:1px solid #e2e0ee;border-radius:12px;box-shadow:0 10px 34px #1e19462e;padding:8px;display:flex;flex-direction:column;gap:4px}.nz-linemenu-title{font-size:11.5px;font-weight:700;color:#556;padding:4px 8px 6px;border-bottom:1px solid #f0eef8;margin-bottom:2px;word-break:break-word}.nz-linemenu-btn{display:flex;flex-direction:column;align-items:flex-start;gap:1px;border:none;background:none;text-align:left;padding:7px 8px;border-radius:8px;font-size:13px;font-weight:600;color:#223;cursor:pointer}.nz-linemenu-btn small{font-size:11px;font-weight:400;color:#889}.nz-linemenu-btn:hover{background:#f4f2fb}.nz-linemenu-btn.danger{color:#c0392b}.nz-linemenu-btn.danger:hover{background:#fdecea}.nz-linemenu-btn.cancel{color:#778;font-weight:500}.nz-detail-docs{background:#f4faf9;border-color:#cfe6e4}.nz-detail-docs .nz-detail-instances-title{color:#0d6d6d}.nz-detail-doc-row{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px}.nz-detail-doc-icon{flex-shrink:0}.nz-detail-doc-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#223}.nz-detail-doc-row.note{align-items:flex-start}.nz-detail-doc-note{flex:1;min-width:0;color:#223;white-space:pre-wrap;word-break:break-word;line-height:1.5}.nz-detail-doc-note small{display:block;color:#99a;margin-top:2px}.nz-detail-doc-add{display:flex;flex-direction:column;gap:6px;margin-top:6px}.nz-detail-doc-add textarea{width:100%;border:1px solid #dbe0e5;border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit;resize:vertical}.nz-detail-doc-add textarea:focus{border-color:#0d8f8f;outline:none}.nz-detail-doc-actions{display:flex;gap:6px;margin-top:6px}@media(max-width:768px){.nz-att-panel{width:100%;max-height:92vh}.nz-att-backdrop{padding:0;align-items:flex-end}}.nz-ai-toggle.active{background:#7c5ce0;border-color:#7c5ce0;color:#fff;box-shadow:0 2px 10px #7c5ce059}.nz-pills{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;padding:4px 2px}.nz-pills::-webkit-scrollbar{display:none}.nz-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border:1.5px solid transparent;border-radius:999px;background:#eef2f6;color:#555;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease}.nz-pill:hover{background:#e4eaf1}.nz-pill.active{background:#fff;border-color:var(--pill-color);color:#333;box-shadow:0 1px 6px #00000014}.nz-pill-dot{width:9px;height:9px;border-radius:50%;background:var(--pill-color);flex-shrink:0}.nz-pill-add{padding:6px 11px;font-size:15px;color:#888}.nz-quickadd-row{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px 4px;flex-shrink:0;position:relative;z-index:5}.nz-quickadd{position:relative;width:min(680px,100%)}.nz-quickadd input{width:100%;padding:13px 118px 13px 18px;border:1.5px solid #e0e0e0;border-radius:999px;background:#fff;font-size:15px;color:#333;box-shadow:0 2px 12px #1e3c5a12;transition:border-color .15s ease,box-shadow .15s ease}.nz-quickadd input::placeholder{color:#9aa7b1}.nz-quickadd input:focus{outline:none;border-color:#0d8f8f;box-shadow:0 2px 16px #0d8f8f2e}.nz-quickadd input:disabled{background:#f3f5f7}.nz-quickadd-hint{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:12px;color:#b3bec7;border:1px solid #e0e6ea;border-radius:5px;padding:1px 6px;pointer-events:none}.nz-quickadd-save{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:#0d8f8f;color:#fff;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:8px;cursor:pointer;white-space:nowrap}.nz-quickadd-save:hover:not(:disabled){background:#0b7a7a}.nz-quickadd-save:disabled{background:#c8d4da;cursor:default}.nz-cloud-count{font-size:13px;color:#0a6b6b;background:#eefafa;border:1px solid rgba(13,143,143,.25);border-radius:999px;padding:6px 12px;white-space:nowrap}.nz-body{display:flex;flex:1;min-height:0;padding:10px 16px 16px;gap:14px}.nz-canvas-wrap{position:relative;flex:1;min-width:0;border:1px solid #e4e9ee;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 2px 14px #1e3c5a0d}.nz-canvas-loading,.nz-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;height:100%;color:#778;font-size:15px;text-align:center;padding:24px}.nz-empty-icon{font-size:44px}.nz-spinner{width:26px;height:26px;border:3px solid #e0eaea;border-top-color:#0d8f8f;border-radius:50%;animation:nz-spin .9s linear infinite}@keyframes nz-spin{to{transform:rotate(360deg)}}.nz-canvas-refreshing{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#0d8f8f,transparent);animation:nz-refresh 1s linear infinite;z-index:10}@keyframes nz-refresh{0%{transform:translate(-100%)}to{transform:translate(100%)}}.nz .react-flow__attribution{margin:0 60px 6px 0;background:#ffffffb3;border-radius:4px}.nz .react-flow__handle.nz-handle{width:6px;height:6px;min-width:0;min-height:0;background:transparent;border:none;pointer-events:none}.nz .react-flow__handle.nz-handle-link{width:9px;height:9px;min-width:0;min-height:0;background:#fff;border:2px solid #7c5ce0;opacity:0;transition:opacity .15s,transform .15s;cursor:crosshair;z-index:3}.nz .react-flow__node-thought:hover .react-flow__handle.nz-handle-link,.nz .react-flow__node-thought.selected .react-flow__handle.nz-handle-link,.nz .react-flow__handle.nz-handle-link.connectionindicator:hover{opacity:1}.nz .react-flow__handle.nz-handle-link:hover{transform:scale(1.35);background:#7c5ce0}.nz .react-flow__node{cursor:pointer}.nz .react-flow__node-chip{cursor:grab}.nz .react-flow__node-chip.dragging{cursor:grabbing}.nz .react-flow__node-thought{cursor:grab}.nz .react-flow__node-thought.dragging{cursor:grabbing}.nz .react-flow__node-zone{pointer-events:none}.nz-zone-ask{position:absolute;top:8px;right:10px;pointer-events:auto;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:600;color:#7c5ce0;background:#fff;border:1px solid #e2d9fb;border-radius:8px;cursor:pointer;opacity:.85;transition:opacity .15s,background .15s}.nz-zone-ask:hover{opacity:1;background:#f8f5ff}.nz .react-flow__edge-path{stroke:#b9c8d8;stroke-width:1.5}.nz .nz-edge-added .react-flow__edge-path{stroke:#7c5ce0;stroke-dasharray:6 4}.nz .nz-edge-moved .react-flow__edge-path{stroke:#0d8f8f;stroke-width:2}.nz .nz-edge-ghost .react-flow__edge-path{stroke:#9aa7b1;stroke-dasharray:4 4}.nz .nz-edge-link .react-flow__edge-path{stroke:#b9c8d8;stroke-width:1.5}.nz .nz-edge-link:hover .react-flow__edge-path{stroke:#7c5ce0;stroke-width:2.4;cursor:pointer}.nz .nz-edge-link .react-flow__edge-text{fill:#7c5ce0;font-size:10px}.nz .react-flow__controls{box-shadow:0 2px 10px #1e3c5a1f;border-radius:10px;overflow:hidden}.nz-root{width:250px;min-height:64px;display:flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:18px;background:var(--nz-project-color, #0d8f8f);color:#fff;font-size:16px;font-weight:700;letter-spacing:-.2px;text-align:center;box-shadow:0 4px 18px color-mix(in srgb,var(--nz-project-color, #0d8f8f) 40%,transparent);transition:transform .15s ease,box-shadow .15s ease}.nz-root-label{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.nz-node{position:relative;width:220px;min-height:60px;display:flex;align-items:center;padding:10px 14px;border:1.5px solid rgba(13,143,143,.28);border-radius:13px;background:#fff;box-shadow:0 2px 8px #1e3c5a12;transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}.nz-node:hover{box-shadow:0 4px 14px #1e3c5a21;transform:translateY(-1px)}.nz-node.selected{border-color:#0d8f8f;box-shadow:0 0 0 3px #0d8f8f38,0 4px 14px #1e3c5a1f}.nz-node-inner{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.nz-node-text{font-size:13.5px;font-weight:500;color:#333;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.nz-node-meta{display:flex;align-items:center;gap:4px;flex-shrink:0}.nz-glyph{font-size:11px}.nz-detail-dot{width:7px;height:7px;border-radius:50%;background:#0d8f8f;box-shadow:0 0 0 3px #0d8f8f26}.nz-old-text{display:block;font-size:11px;color:#a08cd8;text-decoration:line-through;font-weight:400}.nz-chip-float{animation:nz-float var(--float-duration, 6s) ease-in-out var(--float-delay, 0s) infinite}.nz-chip-float.dragging{animation:none}@keyframes nz-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.nz-chip{width:220px;min-height:54px;display:flex;align-items:center;padding:9px 16px;border:1.5px solid rgba(13,143,143,.35);border-radius:999px;background:#eefafa;box-shadow:0 3px 10px #0d8f8f1f;transition:box-shadow .15s ease,border-color .15s ease}.nz-chip .nz-node-text{color:#0a6b6b}.nz-chip:hover{border-color:#0d8f8f99;box-shadow:0 5px 16px #0d8f8f33}.nz-chip.selected{border-color:#0d8f8f;box-shadow:0 0 0 3px #0d8f8f38}.nz-ann-added{border-style:dashed!important;border-color:#7c5ce0!important;background:#f7f3ff!important;box-shadow:0 3px 12px #7c5ce033!important}.nz-ann-added .nz-node-text{color:#5b3fc4!important}.nz-ann-added .nz-node-text:before{content:"✨ "}.nz-ann-moved{border-color:#0d8f8f!important;animation:nz-pulse 1.6s ease-in-out infinite}@keyframes nz-pulse{0%,to{box-shadow:0 0 #0d8f8f59}50%{box-shadow:0 0 0 6px #0d8f8f00}}.nz-ann-renamed{border-color:#7c5ce0!important}.nz-ann-renamed .nz-node-text{color:#5b3fc4}.nz-drop-target{border-color:#0d8f8f!important;box-shadow:0 0 0 4px #0d8f8f4d,0 6px 18px #0d8f8f40!important;transform:scale(1.04)}.nz-zone{border:2px dashed rgba(13,143,143,.28);border-radius:26px;background:#eefafa73;position:relative}.nz-zone-label{position:absolute;top:14px;left:20px;font-size:13px;font-weight:700;color:#0a6b6ba6;letter-spacing:.2px}.nz-zone-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;line-height:1.6;color:#0a6b6b8c;padding:30px}.nz-inline-edit,.nz-ghost-input input{width:100%;border:none;background:transparent;font-size:13.5px;font-family:inherit;color:#333;resize:none;line-height:1.35}.nz-inline-edit:focus,.nz-ghost-input input:focus{outline:none}.nz-ghost-input{border-style:dashed;border-color:#9fb3c2;background:#fbfdfe}.nz-ghost-input input::placeholder{color:#9aa7b1}.nz-toolbar{display:flex;gap:2px;padding:4px;background:#fff;border:1px solid #e4e9ee;border-radius:11px;box-shadow:0 6px 20px #1e3c5a29}.nz-tb-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:#556;cursor:pointer;transition:all .12s ease}.nz-tb-btn:hover:not(:disabled){background:#eefafa;color:#0d8f8f}.nz-tb-btn.danger:hover:not(:disabled){background:#fff0f3;color:#d03050}.nz-tb-btn:disabled{opacity:.4;cursor:default}.nz-ai-subgoals{margin:8px 0 0;padding-left:16px;list-style:disc}.nz-ai-subgoals li{font-size:12px;line-height:1.5;color:#6b5a3e}.nz-chat{margin-top:14px;border-top:1px solid #ece7f8;padding-top:12px;display:flex;flex-direction:column;min-height:0}.nz-chat-title{font-size:12px;font-weight:700;color:#7c5ce0;margin-bottom:8px}.nz-chat-empty{font-size:11.5px;line-height:1.6;color:#9aa0ad;margin:0 0 10px}.nz-chat-log{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto;margin-bottom:10px;padding-right:2px}.nz-chat-msg{display:flex;flex-direction:column}.nz-chat-user{align-items:flex-end}.nz-chat-assistant{align-items:flex-start}.nz-chat-bubble{max-width:88%;padding:7px 10px;border-radius:10px;font-size:12.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.nz-chat-user .nz-chat-bubble{background:#7c5ce0;color:#fff;border-bottom-right-radius:3px}.nz-chat-assistant .nz-chat-bubble{background:#f4f2fb;color:#33323d;border-bottom-left-radius:3px}.nz-chat-typing{color:#9aa0ad;font-style:italic}.nz-chat-added{font-size:11px;color:#0d8f8f;margin-top:3px;font-weight:600}.nz-chat-added.dismissed{color:#9aa0ad}.nz-chat-suggest{margin-top:6px;max-width:94%;border:1px dashed #c9bcf0;background:#faf8ff;border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:4px}.nz-chat-suggest-title{font-size:11px;font-weight:700;color:#6b4fd8;margin-bottom:2px}.nz-chat-suggest-item{display:flex;align-items:flex-start;gap:7px;font-size:12.5px;color:#33323d;cursor:pointer;line-height:1.45}.nz-chat-suggest-item input{margin-top:2px;accent-color:#7c5ce0}.nz-chat-suggest-item.off span{color:#a5a1b3;text-decoration:line-through}.nz-chat-suggest-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:6px;flex-wrap:wrap}.nz-chat-suggest-actions button{font-size:11.5px;padding:5px 10px}.nz-chat-form{display:flex;gap:6px}.nz-chat-input{flex:1;min-width:0;padding:8px 10px;font-size:12.5px;border:1px solid #ddd6f3;border-radius:9px;outline:none}.nz-chat-input:focus{border-color:#7c5ce0}.nz-chat-send{flex-shrink:0;width:34px;background:#7c5ce0;color:#fff;border:none;border-radius:9px;cursor:pointer;font-size:14px}.nz-chat-send:disabled{opacity:.4;cursor:not-allowed}.nz-ai-panel{width:380px;flex-shrink:0;display:flex;flex-direction:column;border:1px solid #e6e0f8;border-radius:16px;background:#fff;box-shadow:0 2px 14px #7c5ce017;overflow:hidden}.nz-ai-header{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:linear-gradient(135deg,#f8f5ff,#f1ebff);border-bottom:1px solid #e6e0f8}.nz-ai-title{font-size:14.5px;font-weight:700;color:#5b3fc4}.nz-ai-close{border:none;background:transparent;font-size:22px;line-height:1;color:#999;cursor:pointer;padding:2px 6px;border-radius:6px}.nz-ai-close:hover{background:#0000000f;color:#333}.nz-ai-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px}.nz-ai-goal{padding:11px 13px;border-radius:11px;background:#f2fbfb;border:1px solid rgba(13,143,143,.2);font-size:13px;color:#333}.nz-ai-goal.missing{background:#fdf8ef;border-color:#eddfbc;color:#8a6d2f}.nz-ai-goal-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#0a6b6b;margin-bottom:4px}.nz-ai-goal.missing .nz-ai-goal-label{color:#8a6d2f}.nz-ai-goal p{margin:0;line-height:1.5}.nz-ai-explainer{font-size:12.5px;color:#778;line-height:1.55;margin:0}.nz-ai-action{display:flex;align-items:center;gap:12px;width:100%;padding:13px 15px;border:1.5px solid #e6e0f8;border-radius:13px;background:#fff;cursor:pointer;text-align:left;transition:all .15s ease}.nz-ai-action:hover:not(:disabled){border-color:#7c5ce0;background:#faf8ff;box-shadow:0 3px 12px #7c5ce026}.nz-ai-action:disabled{opacity:.5;cursor:default}.nz-ai-action.compact{padding:10px 13px;margin-top:10px}.nz-ai-action-icon{font-size:22px}.nz-ai-action b{display:block;font-size:13.5px;color:#333}.nz-ai-action small{display:block;font-size:12px;color:#889;margin-top:1px}.nz-ai-thinking{display:flex;flex-direction:column;align-items:center;gap:10px;padding:34px 16px;text-align:center}.nz-ai-thinking.compact{padding:20px 12px}.nz-ai-thinking-orb{font-size:30px;animation:nz-orb 1.8s ease-in-out infinite}@keyframes nz-orb{0%,to{transform:scale(1) rotate(0);opacity:.75}50%{transform:scale(1.25) rotate(12deg);opacity:1}}.nz-ai-thinking-line{font-size:14px;font-weight:600;color:#5b3fc4}.nz-ai-thinking-sub{font-size:12px;color:#99a}.nz-ai-pending{margin-top:6px}.nz-ai-pending-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#99a;margin-bottom:6px}.nz-ai-pending-row{display:flex;justify-content:space-between;gap:8px;width:100%;padding:9px 12px;margin-bottom:5px;border:1px dashed #d6cdf2;border-radius:10px;background:#fbfaff;font-size:12.5px;color:#5b3fc4;cursor:pointer}.nz-ai-pending-row:hover{background:#f4f0ff}.nz-ai-pending-time{color:#a99fd0}.nz-ai-proposal{display:flex;flex-direction:column;gap:11px}.nz-ai-proposal-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.nz-ai-proposal-mode{font-size:14px;font-weight:700;color:#5b3fc4}.nz-ai-proposal-meta{font-size:11.5px;color:#99a}.nz-ai-summary{margin:0;font-size:13px;color:#444;line-height:1.5;padding:10px 12px;background:#faf8ff;border-radius:10px;border:1px solid #eee7fd}.nz-ai-toggle-row{display:flex;align-items:center;gap:10px}.nz-segment{display:inline-flex;padding:3px;background:#eef0f4;border-radius:9px}.nz-segment button{padding:5px 13px;border:none;border-radius:7px;background:transparent;font-size:12.5px;font-weight:600;color:#667;cursor:pointer;transition:all .15s ease}.nz-segment button.active{background:#fff;color:#5b3fc4;box-shadow:0 1px 4px #0000001f}.nz-ai-toggle-hint{font-size:11.5px;color:#99a}.nz-ai-ops{display:flex;flex-direction:column;gap:7px}.nz-ai-op{display:flex;gap:10px;padding:10px 12px;border:1px solid #e8e4f6;border-radius:11px;background:#fff;cursor:pointer;transition:all .12s ease}.nz-ai-op:hover{border-color:#c9bcf0}.nz-ai-op.off{opacity:.5;background:#fafafa}.nz-ai-op input{margin-top:2px;accent-color:#7c5ce0;flex-shrink:0}.nz-ai-op-body{min-width:0}.nz-ai-op-text{display:block;font-size:13px;font-weight:500;color:#333;line-height:1.4}.nz-ai-op-reason{display:block;font-size:12px;color:#8a90a8;line-height:1.4;margin-top:3px}.nz-ai-warnings{font-size:12px;color:#8a6d2f}.nz-ai-warnings summary{cursor:pointer}.nz-ai-warnings ul{margin:6px 0 0 18px;padding:0}.nz-ai-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:4px;border-top:1px solid #f0edf9}.nz-btn-primary,.nz-btn-ai,.nz-btn-secondary,.nz-btn-danger,.nz-btn-danger-ghost{padding:8px 16px;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.nz-btn-primary{background:#0d8f8f;color:#fff}.nz-btn-primary:hover:not(:disabled){background:#0b7a7a}.nz-btn-ai{background:#7c5ce0;color:#fff;box-shadow:0 2px 8px #7c5ce04d}.nz-btn-ai:hover:not(:disabled){background:#6a4ad0}.nz-btn-secondary{background:#fff;border-color:#dfe3e8;color:#556}.nz-btn-secondary:hover:not(:disabled){border-color:#b9c2cc;color:#333}.nz-btn-danger{background:#d03050;color:#fff}.nz-btn-danger:hover{background:#b82844}.nz-btn-danger-ghost{background:#fff;border-color:#d0305066;color:#d03050}.nz-btn-danger-ghost:hover{background:#fff0f3}.nz-btn-primary:disabled,.nz-btn-ai:disabled,.nz-btn-secondary:disabled{opacity:.5;cursor:default}.nz-link-btn{border:none;background:none;color:#0d8f8f;font-size:12.5px;font-weight:600;cursor:pointer;padding:2px 4px}.nz-link-btn:hover{text-decoration:underline}.nz-versions-wrap{position:relative}.nz-versions-menu{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-height:420px;overflow-y:auto;background:#fff;border:1px solid #e4e9ee;border-radius:13px;box-shadow:0 10px 34px #1e3c5a2e;z-index:60;padding:8px}.nz-versions-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#99a;padding:6px 10px}.nz-versions-empty{padding:14px 10px;font-size:13px;color:#99a}.nz-version-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:9px}.nz-version-row:hover{background:#f5f8fa}.nz-version-info{min-width:0}.nz-version-label{display:block;font-size:12.5px;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nz-version-meta{font-size:11px;color:#99a}.nz-version-restore{border:none;background:none;color:#0d8f8f;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;padding:4px 6px;border-radius:6px}.nz-version-restore:hover{background:#eefafa}.nz-gear{position:fixed;right:18px;bottom:18px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid #e4e9ee;border-radius:50%;background:#fff;color:#556;cursor:pointer;box-shadow:0 4px 18px #1e3c5a2e;z-index:70;transition:all .2s ease}.nz-gear:hover{color:#0d8f8f;border-color:#0d8f8f;transform:rotate(30deg)}.nz-detail-backdrop{position:fixed;inset:0;background:#14233259;z-index:90;display:flex;justify-content:flex-end}.nz-detail{width:min(460px,100%);height:100%;background:#fff;box-shadow:-8px 0 30px #00000026;padding:20px 22px 30px;overflow-y:auto;animation:nz-slide-in .22s ease}@keyframes nz-slide-in{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.nz-detail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.nz-detail-kicker{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#99a}.nz-detail-title{font-size:19px;font-weight:700;color:#2b2b2b;line-height:1.35;margin:0 0 8px;cursor:default}.nz-detail-title .nz-detail-edit-hint{font-size:13px;margin-left:8px;opacity:0;transition:opacity .15s ease}.nz-detail-title:hover .nz-detail-edit-hint{opacity:.7}.nz-detail-title-edit textarea,.nz-detail-edit textarea{width:100%;border:1.5px solid #0d8f8f;border-radius:10px;padding:10px 12px;font-size:14px;font-family:inherit;color:#333;resize:vertical}.nz-detail-title-edit textarea:focus,.nz-detail-edit textarea:focus{outline:none;box-shadow:0 0 0 3px #0d8f8f26}.nz-detail-actions-row{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.nz-detail-actions-row.start{justify-content:flex-start;align-items:center;flex-wrap:wrap}.nz-detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:12px;color:#889;margin-bottom:16px}.nz-badge-ai{background:#f4efff;color:#7c5ce0;border-radius:999px;padding:2px 9px;font-weight:600}.nz-detail-window{color:#0a6b6b;background:#eefafa;border-radius:999px;padding:2px 9px}.nz-detail-window.locked{color:#99a;background:#f2f4f6}.nz-detail-error{background:#fff0f3;border:1px solid rgba(208,48,80,.3);color:#b82844;border-radius:9px;padding:9px 12px;font-size:13px;margin-bottom:12px}.nz-detail-section{border-top:1px solid #eef1f4;padding-top:14px}.nz-detail-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.nz-detail-section-head h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#99a;margin:0}.nz-detail-markdown{font-size:14px}.nz-detail-empty{font-size:13.5px;color:#99a;line-height:1.6}.nz-elaborate-banner{background:#f7f3ff;border:1px dashed #c9bcf0;color:#5b3fc4;border-radius:9px;padding:8px 12px;font-size:12.5px;margin-bottom:10px}.nz-modal-backdrop{position:fixed;inset:0;background:#14233266;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.nz-modal{width:min(460px,100%);background:#fff;border-radius:16px;box-shadow:0 16px 50px #00000040;padding:20px 22px;animation:nz-modal-in .18s ease}@keyframes nz-modal-in{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.nz-modal h3{margin:0 0 8px;font-size:16px;color:#2b2b2b}.nz-modal p{margin:0 0 6px;font-size:13.5px;color:#556;line-height:1.55}.nz-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.nz-picker-subject{color:#0a6b6b!important;font-weight:600}.nz-picker-search{width:100%;padding:9px 13px;border:1.5px solid #e0e0e0;border-radius:9px;font-size:13.5px;margin:8px 0 10px}.nz-picker-search:focus{outline:none;border-color:#0d8f8f}.nz-picker-list{max-height:320px;overflow-y:auto;border:1px solid #eef1f4;border-radius:10px}.nz-picker-row{display:flex;align-items:center;gap:8px;width:100%;padding:10px 18px;border:none;border-bottom:1px solid #f2f4f6;background:#fff;font-size:13.5px;color:#333;text-align:left;cursor:pointer}.nz-picker-row:hover{background:#eefafa}.nz-picker-row.root{font-weight:700;background:#fafcfd}.nz-picker-hint{color:#99a;font-weight:400;font-size:12px}.nz-picker-empty{padding:16px;font-size:13px;color:#99a;text-align:center}.nz-picker-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.nz-sheet-backdrop{position:fixed;inset:0;background:#14233266;z-index:95;display:flex;align-items:flex-end}.nz-sheet{width:100%;background:#fff;border-radius:18px 18px 0 0;padding:10px 18px calc(18px + env(safe-area-inset-bottom));max-height:72dvh;overflow-y:auto;animation:nz-sheet-in .22s ease}@keyframes nz-sheet-in{0%{transform:translateY(40px);opacity:.6}to{transform:translateY(0);opacity:1}}.nz-sheet-handle{width:42px;height:4px;border-radius:999px;background:#dfe3e8;margin:4px auto 12px}.nz-sheet-title{font-size:15px;font-weight:700;color:#2b2b2b}.nz-sheet-meta{font-size:12px;color:#99a;margin:3px 0 12px}.nz-sheet-btn{display:block;width:100%;padding:13px 14px;margin-bottom:7px;border:1px solid #e4e9ee;border-radius:11px;background:#fff;font-size:14px;color:#333;text-align:left;cursor:pointer}.nz-sheet-btn:active{background:#eefafa}.nz-sheet-btn:disabled{opacity:.45}.nz-sheet-btn.danger{color:#d03050;border-color:#d030504d}.nz-toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%);background:#253244;color:#fff;padding:11px 20px;border-radius:999px;font-size:13.5px;font-weight:500;box-shadow:0 8px 26px #0000004d;z-index:120;animation:nz-toast-in .25s ease;max-width:min(560px,calc(100vw - 40px));text-align:center}.nz-toast.error{background:#b82844}.nz-toast.success{background:#0b7a7a}@keyframes nz-toast-in{0%{transform:translate(-50%,14px);opacity:0}to{transform:translate(-50%);opacity:1}}@media(max-width:768px){.nz-header{flex-wrap:wrap;height:auto;padding:8px 10px;gap:8px}.nz-brand{font-size:15px}.nz-brand span{display:none}.nz-pills{order:3;width:100%}.nz-header-actions{gap:6px}.nz-icon-btn,.nz-ai-toggle{padding:8px 9px;min-height:38px}.nz-body{padding:8px 10px 12px;gap:0}.nz-quickadd-row{padding:8px 10px 2px}.nz-quickadd input{padding:12px 52px 12px 15px;font-size:16px}.nz-quickadd-save{padding:6px 10px}.nz-cloud-count{display:none}.nz-ai-panel{position:fixed;inset:auto 0 0;width:100%;max-height:70dvh;border-radius:18px 18px 0 0;z-index:80;box-shadow:0 -8px 30px #0000002e}.nz-detail{width:100%;border-radius:18px 18px 0 0;height:auto;max-height:88dvh;align-self:flex-end}.nz-detail-backdrop{align-items:flex-end}.nz-versions-menu{width:min(340px,calc(100vw - 24px))}.nz-gear{bottom:calc(14px + env(safe-area-inset-bottom));right:14px}}.nz-bulk-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;font-size:13px;font-weight:600;color:#0d6d6d;background:#fff;border:1px solid #cfe6e4;border-radius:10px;cursor:pointer;white-space:nowrap;flex-shrink:0}.nz-bulk-btn:hover:not(:disabled){background:#f0faf9}.nz-bulk-btn:disabled{opacity:.5;cursor:default}.nz-bulk-modal{width:min(580px,92vw)}.nz-bulk-hint{font-size:12.5px;color:#7a8694;margin:6px 0 10px}.nz-bulk-textarea{width:100%;border:1px solid #d8e0e8;border-radius:10px;padding:10px 12px;font:inherit;font-size:13.5px;line-height:1.55;resize:vertical;min-height:160px;outline:none}.nz-bulk-textarea:focus{border-color:#0d8f8f}.nz-bulk-actions{align-items:center}.nz-bulk-count{margin-right:auto;font-size:12.5px;font-weight:600;color:#0d8f8f}.nz-voice-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;font-size:13px;font-weight:600;color:#0d6d6d;background:#fff;border:1px solid #cfe6e4;border-radius:10px;cursor:pointer;white-space:nowrap;flex-shrink:0}.nz-voice-btn:hover:not(:disabled){background:#f0faf9}.nz-voice-btn:disabled{opacity:.5;cursor:default}@keyframes nz-voice-pulse{0%{box-shadow:0 0 #d0305073}70%{box-shadow:0 0 0 10px #d0305000}to{box-shadow:0 0 #d0305000}}.nz-voice-btn.recording{background:#d03050;border-color:#d03050;color:#fff;animation:nz-voice-pulse 1.4s ease-out infinite;font-variant-numeric:tabular-nums}.nz-voice-btn.busy{color:#7a8694}.nz-history{width:min(680px,94vw);max-height:84dvh;display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 12px 44px #14283c47;overflow:hidden}.nz-history-header{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#f4f8fa;border-bottom:1px solid #e4e9ee}.nz-history-title{font-size:15px;font-weight:700;color:#235;flex:1}.nz-history-sub{font-size:12px;color:#8a96a3}.nz-history-notice{padding:10px 18px;font-size:13px;font-weight:600;color:#0d6d6d;background:#e9f7f6;border-bottom:1px solid #cfe6e4}.nz-history-body{flex:1;overflow-y:auto;padding:10px 14px 18px}.nz-history-empty{padding:12px 6px;font-size:13px;color:#8a96a3}.nz-history-day-label{margin:14px 4px 6px;font-size:11.5px;font-weight:700;color:#7a8694;text-transform:uppercase;letter-spacing:.04em}.nz-history-entry{border:1px solid #e8edf2;border-radius:10px;margin-bottom:6px;overflow:hidden}.nz-history-entry.open{border-color:#b9d7d4}.nz-history-row{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;text-align:left;padding:9px 12px;cursor:pointer;font:inherit}.nz-history-row:hover{background:#f4f8fa}.nz-history-time{font-size:12px;color:#8a96a3;font-variant-numeric:tabular-nums;flex-shrink:0}.nz-history-label{flex:1;min-width:0;font-size:13px;font-weight:600;color:#234}.nz-history-actor{font-size:12px;color:#8a96a3;flex-shrink:0}.nz-history-chevron{color:#8a96a3;flex-shrink:0}.nz-history-diff{padding:4px 12px 12px;border-top:1px dashed #e4e9ee;background:#fcfdfe}.nz-diff-line{display:flex;align-items:baseline;gap:8px;padding:5px 4px;font-size:13px;color:#234;-webkit-user-select:text;user-select:text}.nz-diff-icon{width:18px;text-align:center;font-weight:700;flex-shrink:0}.nz-diff-line.add .nz-diff-icon{color:#1f9d55}.nz-diff-line.add{background:#f2fbf5;border-radius:6px}.nz-diff-line.del .nz-diff-icon{color:#d03050}.nz-diff-line.del{background:#fdf3f5;border-radius:6px}.nz-diff-line.ren .nz-diff-icon{color:#4a90e2}.nz-diff-line.mov .nz-diff-icon{color:#7c5ce0}.nz-diff-meta{color:#8a96a3}.nz-diff-old{text-decoration:line-through;color:#a45}.nz-history-restore{margin-top:10px}@media(max-width:768px){.nz-history{position:fixed;left:0;right:0;bottom:0;width:100%;max-height:86dvh;border-radius:18px 18px 0 0}.nz-quickadd-row .nz-voice-btn{padding:10px 12px}}.nz-trash-zone{position:absolute;right:77px;bottom:152px;z-index:12;width:52px;height:52px;border-radius:50%;border:2px dashed #c8d4da;background:#ffffffeb;font-size:22px;cursor:pointer;box-shadow:0 2px 10px #1e3c5a1f;transition:transform .15s ease,border-color .15s ease,background .15s ease}.nz-trash-zone:hover{border-color:#8aa0ae}.nz-trash-zone.armed{transform:scale(1.25);border-color:#d03050;border-style:solid}@media(max-width:768px){.nz-trash-zone{right:auto;left:50%;bottom:14px;transform:translate(-50%)}.nz-trash-zone.armed{transform:translate(-50%) scale(1.25)}.nz-trash-zone.hover{transform:translate(-50%) scale(1.5)}}.nz-trash-zone.hover{transform:scale(1.5);background:#fdeef1;border-color:#d03050;box-shadow:0 0 0 8px #d0305026}.nz-trash-count{position:absolute;top:-6px;right:-8px;background:#d03050;color:#fff;font-size:10.5px;font-weight:700;min-width:18px;padding:2px 5px;border-radius:999px;line-height:1}.nz-trashp{width:min(560px,92vw)}.nz-trashp-hint{font-size:12.5px;color:#7a8694;margin:6px 0 10px}.nz-trashp-list{max-height:46dvh;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.nz-trashp-empty{font-size:13px;color:#8a96a3;padding:12px 4px}.nz-trashp-row{display:flex;align-items:center;gap:10px;border:1px solid #e8edf2;border-radius:10px;padding:9px 12px}.nz-trashp-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.nz-trashp-text{font-size:13.5px;font-weight:600;color:#234}.nz-trashp-meta{font-size:11.5px;color:#8a96a3}.nz-outline{width:320px;flex-shrink:0;display:flex;flex-direction:column;border:1px solid #dde5ec;border-radius:16px;background:#fff;box-shadow:0 2px 14px #1e3c5a12;overflow:hidden}.nz-ol-header{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#f4f8fa;border-bottom:1px solid #e4e9ee}.nz-ol-title{flex:1;font-size:14px;font-weight:700;color:#235}.nz-ol-meta{font-size:11.5px;color:#8a96a3}.nz-ol-body{flex:1;overflow-y:auto;padding:8px 6px 14px}.nz-ol-row{display:flex;align-items:center;gap:2px;border-radius:8px}.nz-ol-row:hover{background:#f2f7fa}.nz-ol-row.focused{background:#e9f7f6}.nz-ol-row.selected{background:#eef4fb}.nz-ol-caret{border:none;background:transparent;width:20px;flex-shrink:0;color:#8a96a3;cursor:pointer;font-size:11px;padding:4px 0;text-align:center}.nz-ol-caret-spacer{cursor:default;color:#c5cfd8}.nz-ol-text{flex:1;min-width:0;display:flex;align-items:center;gap:6px;border:none;background:transparent;text-align:left;font-size:13px;color:#234;padding:5px 4px;cursor:pointer}.nz-ol-text>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nz-ol-count{font-size:10.5px;font-weight:700;color:#fff;background:#9db4c9;padding:0 6px;border-radius:999px;flex-shrink:0}.nz-ol-focus{border:none;background:transparent;cursor:pointer;font-size:12px;padding:4px 6px;border-radius:6px;opacity:0;flex-shrink:0}.nz-ol-row:hover .nz-ol-focus{opacity:1}.nz-ol-focus:hover{background:#d9f1ef}.nz-ol-section{margin:12px 8px 4px;font-size:11.5px;font-weight:700;color:#7a8694;text-transform:uppercase;letter-spacing:.04em}.nz-ol-empty{padding:14px;font-size:13px;color:#8a96a3}@media(max-width:768px){.nz-outline{position:fixed;left:0;right:0;bottom:0;width:100%;max-height:70dvh;border-radius:18px 18px 0 0;z-index:80;box-shadow:0 -8px 30px #0000002e}.nz-ol-focus{opacity:1}.nz-canvas-topleft{top:8px;left:8px;max-width:calc(100% - 16px)}.nz-canvas-tools{top:8px;right:8px;gap:6px}}.wb-hub{height:100dvh;overflow-y:auto;background:#f5f5f5;padding-bottom:40px}.wb-head{display:flex;align-items:center;gap:16px;padding:16px 24px;background:#fff;border-bottom:1px solid #e4e8ec;position:sticky;top:0;z-index:5}.wb-brand{display:flex;align-items:center;gap:12px;flex:1}.wb-logo{font-size:30px;line-height:1}.wb-brand h1{margin:0;font-size:20px;color:#1f2d3a}.wb-brand p{margin:2px 0 0;font-size:13px;color:#7a8794}.wb-back,.wb-logout{background:#fff;border:1px solid #d8dee4;border-radius:8px;padding:8px 14px;font-size:14px;color:#44525f;cursor:pointer}.wb-back:hover,.wb-logout:hover{background:#f2f5f8}.wb-pills{display:flex;flex-wrap:wrap;gap:8px;padding:18px 24px 0}.wb-pill{--pill-color: #4a90e2;display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #dde3e9;border-radius:999px;padding:7px 15px;font-size:14px;color:#44525f;cursor:pointer}.wb-pill:hover{border-color:var(--pill-color)}.wb-pill.active{background:var(--pill-color);border-color:var(--pill-color);color:#fff;font-weight:600}.wb-pill-count{background:#0000001f;border-radius:999px;padding:1px 7px;font-size:12px}.wb-pill.active .wb-pill-count{background:#ffffff47}.wb-list-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px 10px}.wb-list-head h2{margin:0;font-size:18px;color:#1f2d3a}.wb-btn-primary{background:#4a90e2;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;padding:10px 18px;cursor:pointer}.wb-btn-primary:hover{background:#3a7bc8}.wb-btn-primary:disabled{opacity:.6;cursor:default}.wb-btn-plain{background:#fff;border:1px solid #d8dee4;border-radius:8px;padding:10px 16px;font-size:14px;color:#44525f;cursor:pointer}.wb-boards{list-style:none;margin:0;padding:0 24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.wb-card{position:relative;background:#fff;border:1px solid #e4e8ec;border-radius:12px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.wb-card:hover{border-color:#4a90e2;box-shadow:0 3px 12px #4a90e221}.wb-card-main{display:flex;flex-direction:column;gap:7px;width:100%;background:none;border:none;text-align:left;padding:16px 16px 14px;cursor:pointer;font:inherit}.wb-card-name{font-size:16px;font-weight:600;color:#1f2d3a;padding-right:84px}.wb-card-meta{font-size:12px;color:#8a95a1}.wb-card-people{display:flex;flex-wrap:wrap;gap:5px}.wb-chip{background:#f1f5f9;border-radius:999px;padding:2px 9px;font-size:12px;color:#55636f}.wb-live{font-size:12px;color:#2e9e5b;font-weight:600}.wb-role-badge{display:inline-block;background:#fff5e5;color:#a9701a;border-radius:6px;padding:2px 8px;font-size:12px;width:fit-content}.wb-card-actions{position:absolute;top:12px;right:12px;display:flex;gap:4px}.wb-card-actions button{background:#f5f7f9;border:1px solid #e2e7ec;border-radius:6px;width:28px;height:28px;font-size:13px;cursor:pointer}.wb-card-actions button:hover{background:#e8eef4}.wb-empty{padding:26px 24px;color:#7a8794;font-size:14px;max-width:640px;line-height:1.55}.wb-banner{margin:12px 24px;padding:11px 15px;border-radius:8px;background:#fff8e6;border:1px solid #f0dcae;color:#8a6d21;font-size:14px}.wb-banner-error{background:#fdeded;border-color:#f2c2c2;color:#9e3232;cursor:pointer}.wb-error{color:#c0392b;font-size:13px;margin:8px 0 0}.wb-warn{color:#b5761c;font-style:normal;font-size:12px}.wb-notice{position:absolute;top:62px;left:50%;transform:translate(-50%);background:#1f2d3a;color:#fff;border-radius:8px;padding:8px 16px;font-size:13px;z-index:20;box-shadow:0 4px 16px #0003}.wb-modal-backdrop{position:fixed;inset:0;background:#141c2473;display:flex;align-items:center;justify-content:center;z-index:60;padding:20px}.wb-modal{background:#fff;border-radius:14px;width:min(560px,100%);max-height:88vh;overflow-y:auto;padding:24px;box-shadow:0 18px 50px #00000040}.wb-modal-title{margin:0 0 18px;font-size:18px;color:#1f2d3a}.wb-field{display:block;margin-bottom:18px}.wb-field>span{display:block;font-size:13px;font-weight:600;color:#44525f;margin-bottom:6px}.wb-field input[type=text],.wb-field input:not([type]){width:100%;border:1px solid #d8dee4;border-radius:8px;padding:10px 12px;font-size:14px;box-sizing:border-box}.wb-hint{font-size:13px;color:#7a8794;line-height:1.5;margin:0 0 10px}.wb-people{list-style:none;margin:0;padding:0}.wb-person{border:1px solid #e6eaee;border-radius:10px;padding:10px 12px;margin-bottom:8px}.wb-person.chosen{border-color:#4a90e2;background:#f6faff}.wb-person-main{display:flex;align-items:center;gap:10px;cursor:pointer}.wb-person-name{font-size:14px;color:#2f3d4a}.wb-avatar{width:26px;height:26px;border-radius:50%;color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.wb-roles{display:flex;gap:6px;margin:9px 0 0 36px}.wb-roles button{background:#fff;border:1px solid #d8dee4;border-radius:7px;padding:5px 11px;font-size:13px;color:#55636f;cursor:pointer}.wb-roles button.active{background:#4a90e2;border-color:#4a90e2;color:#fff;font-weight:600}.wb-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.wb-board{display:flex;flex-direction:column;height:100dvh;position:relative}.wb-board-head{display:flex;align-items:center;gap:14px;padding:10px 16px;background:#fff;border-bottom:1px solid #e4e8ec;flex-shrink:0}.wb-board-title{margin:0;font-size:16px;color:#1f2d3a;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wb-board-right{display:flex;align-items:center;gap:10px}.wb-status{font-size:13px;color:#7a8794;white-space:nowrap}.wb-status-open{color:#2e9e5b;font-weight:600}.wb-status-reconnecting{color:#b5761c}.wb-status-denied{color:#c0392b}.wb-peers{display:flex;gap:-4px}.wb-peer{width:26px;height:26px;border-radius:50%;color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;border:2px solid #fff;margin-left:-6px}.wb-canvas{flex:1;position:relative;min-height:0}.wb-canvas .excalidraw{height:100%}.wb-loading,.wb-loading-full{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fbfbfb;color:#7a8794;font-size:15px;z-index:3}.wb-loading-full{position:fixed}@media(max-width:768px){.wb-head{padding:12px 14px;gap:10px}.wb-brand p{display:none}.wb-brand h1{font-size:17px}.wb-pills,.wb-boards{padding-left:14px;padding-right:14px}.wb-list-head{padding:18px 14px 8px;flex-direction:column;align-items:stretch;gap:10px}.wb-boards{grid-template-columns:1fr}.wb-back,.wb-logout,.wb-btn-primary,.wb-btn-plain{min-height:44px}.wb-roles button{min-height:40px}.wb-modal{padding:18px;max-height:92vh}.wb-board-title{font-size:14px}.wb-board-right .wb-status{display:none}}.pz-app{display:flex;flex-direction:column;height:100dvh;background:#f5f5f5;overflow:hidden}.pz-head{display:flex;align-items:center;gap:14px;padding:12px 20px;background:#fff;border-bottom:1px solid #e4e8ec;flex-shrink:0}.pz-brand{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.pz-logo{font-size:28px;line-height:1}.pz-brand h1{margin:0;font-size:19px;color:#1f2d3a}.pz-brand p{margin:2px 0 0;font-size:13px;color:#7a8794}.pz-head-actions{display:flex;align-items:center;gap:8px}.pz-search{border:1px solid #d8dee4;border-radius:8px;padding:8px 12px;font-size:14px;width:190px}.pz-back,.pz-logout,.pz-btn-plain{background:#fff;border:1px solid #d8dee4;border-radius:8px;padding:8px 13px;font-size:14px;color:#44525f;cursor:pointer;white-space:nowrap}.pz-back:hover,.pz-logout:hover,.pz-btn-plain:hover:not(:disabled){background:#f2f5f8}.pz-btn-plain:disabled{opacity:.45;cursor:default}.pz-btn-primary{background:#e2725b;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;padding:9px 16px;cursor:pointer;white-space:nowrap}.pz-btn-primary:hover:not(:disabled){background:#cd6149}.pz-btn-primary:disabled{opacity:.5;cursor:default}.pz-pills{display:flex;flex-wrap:wrap;gap:8px;padding:12px 20px 0;flex-shrink:0}.pz-pill{--pill-color: #e2725b;display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #dde3e9;border-radius:999px;padding:7px 15px;font-size:14px;color:#44525f;cursor:pointer}.pz-pill:hover{border-color:var(--pill-color)}.pz-pill.active{background:var(--pill-color);border-color:var(--pill-color);color:#fff;font-weight:600}.pz-pill-count{background:#0000001c;border-radius:999px;padding:1px 7px;font-size:12px}.pz-pill.active .pz-pill-count{background:#ffffff47}.pz-pill-add{font-size:18px;line-height:1;padding:6px 14px}.pz-toolbar{display:flex;align-items:center;gap:8px;padding:12px 20px;flex-shrink:0;flex-wrap:wrap}.pz-topic-name{font-size:16px;font-weight:600;color:#1f2d3a}.pz-topic-desc{font-size:13px;color:#8a95a1;max-width:460px}.pz-spacer{flex:1}.pz-body{flex:1;display:flex;min-height:0;padding:0 20px 18px;gap:14px}.pz-canvas-wrap{flex:1;min-width:0;background:#fff;border:1px solid #e4e8ec;border-radius:12px;overflow:hidden;position:relative}.pz-empty-canvas{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#7a8794}.pz-node{background:#fff;border:1.5px solid #dbe2e9;border-radius:10px;padding:9px 11px;box-sizing:border-box;font-size:13px;position:relative;box-shadow:0 1px 3px #141e280f}.pz-node:hover{border-color:#b9c6d3}.pz-selected{border-color:#e2725b;box-shadow:0 0 0 3px #e2725b29}.pz-hit{border-color:#d4820a;background:#fffaf0}.pz-kind-ordner{background:#fbfcfd;border-style:solid;border-width:2px}.pz-kind-referenz{border-style:dashed}.pz-done .pz-status-fertig{color:#2e9e5b}.pz-node-head{display:flex;align-items:baseline;gap:6px}.pz-number{font-size:11px;color:#9aa6b2;font-variant-numeric:tabular-nums}.pz-glyph{font-size:12px}.pz-title{font-weight:600;color:#1f2d3a;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pz-summary{margin:5px 0 0;font-size:12px;color:#7a8794;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pz-node-foot{display:flex;align-items:center;gap:6px;margin-top:7px;font-size:11px;color:#98a4b0}.pz-status-entwurf{color:#b5761c}.pz-badge{font-size:11px}.pz-author{width:8px;height:8px;border-radius:50%;margin-left:auto;flex-shrink:0}.pz-handle{opacity:0;width:6px;height:6px}.pz-collapse{position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;border:1.5px solid #cfd8e1;background:#fff;font-size:11px;color:#5b6976;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}.pz-collapse:hover{border-color:#e2725b;color:#e2725b}.pz-collapse.collapsed{background:#f1f5f9;font-weight:600}.pz-minimap{background:#fbfcfd}.pz-detail,.pz-outline{width:430px;flex-shrink:0;background:#fff;border:1px solid #e4e8ec;border-radius:12px;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.pz-outline{width:340px}.pz-detail-head,.pz-outline-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pz-outline-head h3{margin:0;font-size:16px;color:#1f2d3a}.pz-close{background:none;border:none;font-size:16px;color:#98a4b0;cursor:pointer;line-height:1;padding:2px 4px}.pz-close:hover{color:#44525f}.pz-crumbs{font-size:12px;color:#8a95a1;display:flex;flex-wrap:wrap;align-items:center}.pz-crumb{background:none;border:none;color:#4a90e2;cursor:pointer;font-size:12px;padding:0 2px}.pz-crumb:hover{text-decoration:underline}.pz-crumb-sep{color:#c3cdd7;margin:0 2px}.pz-detail-title{margin:0;font-size:17px;color:#1f2d3a}.pz-detail-summary{margin:0;font-size:13px;color:#7a8794}.pz-input{width:100%;border:1px solid #d8dee4;border-radius:8px;padding:9px 11px;font-size:14px;box-sizing:border-box;font-family:inherit}.pz-input-title{font-size:16px;font-weight:600}.pz-input-inline{flex:1;min-width:120px}.pz-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pz-row-label{font-size:12px;color:#8a95a1;width:48px;flex-shrink:0}.pz-chip{background:#fff;border:1px solid #dde3e9;border-radius:7px;padding:5px 10px;font-size:12.5px;color:#55636f;cursor:pointer}.pz-chip.active{background:#e2725b;border-color:#e2725b;color:#fff;font-weight:600}.pz-tabs{display:flex;gap:4px;border-bottom:1px solid #e8ecf0}.pz-tabs button{background:none;border:none;border-bottom:2px solid transparent;padding:8px 12px;font-size:13.5px;color:#7a8794;cursor:pointer}.pz-tabs button.active{color:#e2725b;border-bottom-color:#e2725b;font-weight:600}.pz-editor{width:100%;min-height:320px;resize:vertical;border:1px solid #d8dee4;border-radius:8px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.55;box-sizing:border-box;background:#fcfdfe}.pz-preview{border:1px solid #eef1f4;border-radius:8px;padding:4px 12px;background:#fcfdfe;min-height:120px;max-height:460px;overflow-y:auto}.pz-empty-hint{font-size:13px;color:#98a4b0;margin:6px 0;line-height:1.5}.pz-muted{font-size:12px;color:#98a4b0}.pz-save-row{display:flex;gap:8px;flex-wrap:wrap}.pz-section{border-top:1px solid #eef1f4;padding-top:12px}.pz-section h4{margin:0 0 8px;font-size:13.5px;color:#44525f}.pz-attachments{list-style:none;margin:0;padding:0}.pz-attachments li{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px}.pz-attachments a,.pz-linkish{color:#4a90e2;text-decoration:none;background:none;border:none;cursor:pointer;font-size:13px;padding:0;text-align:left;flex:1}.pz-attachments a:hover,.pz-linkish:hover{text-decoration:underline}.pz-att-remove{background:none;border:none;cursor:pointer;font-size:12px}.pz-att-add{display:flex;gap:8px;margin-top:8px;align-items:center}.pz-ai-buttons{display:flex;gap:8px;flex-wrap:wrap}.pz-ai-result{margin-top:10px;border:1px solid #e6dcf5;border-radius:8px;padding:10px;background:#faf8ff}.pz-ai-result-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#6b5b8a;margin-bottom:8px;flex-wrap:wrap}.pz-ai-result-head>div{display:flex;gap:6px}.pz-outline-stats{font-size:12.5px;color:#7a8794;margin:0;line-height:1.6}.pz-outline-list{list-style:none;margin:0;padding:0;flex:1;overflow-y:auto}.pz-outline-row button{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;text-align:left;cursor:pointer;padding:5px 6px;border-radius:6px;font-size:13px;color:#44525f}.pz-outline-row button:hover{background:#f3f6f9}.pz-outline-row.active button{background:#fdf0ec;color:#b8543c;font-weight:600}.pz-outline-number{font-size:11px;color:#9aa6b2;min-width:26px;font-variant-numeric:tabular-nums}.pz-outline-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pz-outline-done{color:#2e9e5b}.pz-export{border-top:1px solid #eef1f4;padding-top:12px;display:flex;flex-direction:column;gap:7px}.pz-export h4{margin:0;font-size:13.5px;color:#44525f}.pz-banner{margin:10px 20px;padding:10px 14px;border-radius:8px;background:#fdeded;border:1px solid #f2c2c2;color:#9e3232;font-size:14px;cursor:pointer}.pz-notice{position:fixed;top:70px;left:50%;transform:translate(-50%);background:#1f2d3a;color:#fff;border-radius:8px;padding:8px 16px;font-size:13px;z-index:40;box-shadow:0 4px 16px #0003}.pz-empty{padding:30px 20px;color:#7a8794;font-size:14px;max-width:620px;line-height:1.6}.pz-modal-backdrop{position:fixed;inset:0;background:#141c2473;display:flex;align-items:center;justify-content:center;z-index:60;padding:20px}.pz-modal{background:#fff;border-radius:14px;width:min(560px,100%);max-height:86vh;overflow-y:auto;padding:22px;box-shadow:0 18px 50px #00000040}.pz-modal h3{margin:0 0 14px;font-size:17px;color:#1f2d3a}.pz-trash-list{list-style:none;margin:0;padding:0}.pz-trash-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #f0f3f6;font-size:13.5px}.pz-trash-list em{color:#98a4b0;font-style:normal;font-size:12px}.pz-modal-actions{display:flex;justify-content:flex-end;margin-top:16px}@media(max-width:768px){.pz-head{padding:10px 12px;flex-wrap:wrap;gap:8px}.pz-brand p{display:none}.pz-search{width:100%;order:3}.pz-pills,.pz-toolbar{padding-left:12px;padding-right:12px}.pz-body{padding:0 12px 12px;flex-direction:column}.pz-detail,.pz-outline{width:auto;max-height:62vh;position:fixed;left:8px;right:8px;bottom:8px;z-index:50;box-shadow:0 -6px 30px #0000002e}.pz-back,.pz-logout,.pz-btn-plain,.pz-btn-primary{min-height:44px}.pz-topic-desc{display:none}}*{box-sizing:border-box}.app{display:flex;height:100dvh;width:100%;overflow:hidden;background:#fff;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.sidebar-overlay{display:none}@media(max-width:768px){.app{position:relative}.sidebar-overlay{display:block;position:fixed;inset:0;background:#0006;z-index:99;opacity:0;pointer-events:none;transition:opacity .25s ease}.sidebar-overlay.visible{opacity:1;pointer-events:auto}}
