@taico/taico 0.8.5 → 0.8.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/public/android-chrome-192x192.png +0 -0
- package/dist/public/android-chrome-512x512.png +0 -0
- package/dist/public/apple-touch-icon.png +0 -0
- package/dist/public/assets/index-G5Ht4law.js +118 -0
- package/dist/public/assets/index-NjAtMwFI.css +1 -0
- package/dist/public/avatar/angus.png +0 -0
- package/dist/public/avatar/bruce.png +0 -0
- package/dist/public/avatar/claude.webp +0 -0
- package/dist/public/avatar/cockatoo.png +0 -0
- package/dist/public/avatar/gemini.png +0 -0
- package/dist/public/avatar/grace.png +0 -0
- package/dist/public/avatar/gustav.png +0 -0
- package/dist/public/avatar/openai.svg +15 -0
- package/dist/public/avatar/opencode.svg +1 -0
- package/dist/public/avatar/qwen.png +0 -0
- package/dist/public/avatar/stacy.png +0 -0
- package/dist/public/avatar/taico.png +0 -0
- package/dist/public/beta/assets/index-BO6PlAsO.js +94 -0
- package/dist/public/beta/assets/index-DIzh0pTC.css +1 -0
- package/dist/public/beta/index.html +27 -0
- package/dist/public/beta/manifest.webmanifest +27 -0
- package/dist/public/beta/roo-favicon.svg +13 -0
- package/dist/public/favicon-16x16.png +0 -0
- package/dist/public/favicon-32x32.png +0 -0
- package/dist/public/favicon.ico +0 -0
- package/dist/public/favicon.svg +9 -0
- package/dist/public/icons/OpenAI-black-monoblossom.svg +15 -0
- package/dist/public/icons/OpenAI-white-monoblossom.svg +15 -0
- package/dist/public/icons/agent-development-kit.png +0 -0
- package/dist/public/icons/claude-ai-icon.webp +0 -0
- package/dist/public/icons/cockatoo.png +0 -0
- package/dist/public/icons/opencode-logo-dark.svg +1 -0
- package/dist/public/icons/qwen.png +0 -0
- package/dist/public/index.html +30 -0
- package/dist/public/manifest.webmanifest +22 -0
- package/dist/public/package.json +40 -0
- package/dist/public/vite.svg +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.login-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px}.login-container{width:100%;max-width:440px;animation:fadeInUp .6s ease}.login-card{background:#fff;border-radius:20px;padding:48px 40px;box-shadow:0 20px 60px #0003}.login-header{text-align:center;margin-bottom:40px}.login-title{margin:0 0 8px;color:#1a202c;font-size:32px;font-weight:800;letter-spacing:-.02em}.login-subtitle{margin:0;color:#718096;font-size:16px;font-weight:400}.login-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{color:#2d3748;font-size:14px;font-weight:600;letter-spacing:.01em}.form-input{padding:12px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:16px;color:#1a202c;transition:all .2s ease;background:#fff}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input:disabled{background:#f7fafc;cursor:not-allowed;opacity:.6}.form-input::placeholder{color:#a0aec0}.login-error{padding:12px 16px;background:#fff5f5;border:1px solid #feb2b2;border-radius:10px;color:#c53030;font-size:14px;font-weight:500;animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.login-button{padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}@media (max-width: 480px){.login-card{padding:32px 24px}.login-title{font-size:28px}.login-subtitle{font-size:14px}}.home-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:0 20px}.home-container{max-width:1200px;width:100%}.home-header{text-align:center;margin-bottom:60px;animation:fadeInDown .6s ease}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.home-title{margin:0 0 16px;color:#fff;font-size:56px;font-weight:800;letter-spacing:-.03em;text-shadow:0 2px 20px rgba(0,0,0,.2)}.home-subtitle{color:#ffffffe6;font-size:20px;font-weight:400;line-height:1.6;max-width:700px;margin:0 auto}.apps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px;margin-bottom:60px}.app-card{background:#fff;border-radius:20px;padding:40px 32px;text-decoration:none;color:inherit;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 10px 40px #00000026;animation:fadeInUp .6s ease backwards}.app-card:nth-child(1){animation-delay:.1s}.app-card:nth-child(2){animation-delay:.2s}.app-card:nth-child(3){animation-delay:.3s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.app-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--app-color);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.app-card:hover:before{transform:scaleX(1)}.app-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px #0003}.app-icon{font-size:48px;margin-bottom:20px;display:inline-block;transition:transform .3s ease}.app-card:hover .app-icon{transform:scale(1.1) rotate(5deg)}.app-name{margin:0 0 12px;color:#1a202c;font-size:28px;font-weight:700;letter-spacing:-.02em}.app-description{margin:0 0 20px;color:#4a5568;font-size:15px;line-height:1.6}.app-arrow{color:var(--app-color);font-size:24px;font-weight:700;opacity:0;transform:translate(-10px);transition:all .3s ease}.app-card:hover .app-arrow{opacity:1;transform:translate(0)}.home-footer{text-align:center;color:#fffc;font-size:14px;animation:fadeIn .6s ease .4s backwards}.home-footer p{margin:0}@media (max-width: 768px){.home-title{font-size:40px}.home-subtitle{font-size:18px}.apps-grid{grid-template-columns:1fr}}.toast{position:fixed;top:20px;right:20px;padding:16px 20px;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:12px;z-index:9999;animation:slideIn .3s ease-out;min-width:300px;max-width:500px}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-info{background:#3498db;color:#fff}.toast-success{background:#2ecc71;color:#fff}.toast-error{background:#e74c3c;color:#fff}.toast span{flex:1;font-size:14px}.toast-close{background:transparent;border:none;color:inherit;font-size:24px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:.8;transition:opacity .2s}.toast-close:hover{opacity:1}.home-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:#3b82f61a;color:#3b82f6;text-decoration:none;transition:all .2s ease;border:1px solid transparent}.home-link:hover{background:#3b82f626;border-color:#3b82f6;transform:translateY(-1px)}.home-link:active{transform:translateY(0)}*{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}body{margin:0;padding:0}.task-board{min-height:100vh;background:#f8f9fa;padding:0 20px}.task-board-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding:10px 0}.task-board-header h1{margin:0 0 6px;color:#2c3e50;font-size:32px;font-weight:600}.subtitle{margin:0;color:#95a5a6;font-size:15px;font-weight:400}.status-indicator{font-size:14px;padding:6px 12px;border-radius:20px;background:#ecf0f1}.status-indicator.connected{color:#27ae60;background:#d5f4e6}.status-indicator.disconnected{color:#e74c3c;background:#fadbd8}.kanban-board{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.kanban-column{background:#fff;border-radius:12px;padding:15px;box-shadow:0 2px 8px #00000014;min-height:400px;min-width:0;overflow:hidden}.column-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #ecf0f1}.column-header h2{font-size:14px;font-weight:600;color:#7f8c8d;margin:0;letter-spacing:.5px}.task-count{background:#ecf0f1;color:#7f8c8d;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.column-not-started .column-header{border-bottom-color:#bbdefb}.column-not-started .task-count{background:#e3f2fd;color:#1976d2}.column-in-progress .column-header{border-bottom-color:#fff9c4}.column-in-progress .task-count{background:#fffde7;color:#f57f17}.column-for-review .column-header{border-bottom-color:#e1bee7}.column-for-review .task-count{background:#f3e5f5;color:#7b1fa2}.column-done .column-header{border-bottom-color:#c8e6c9}.column-done .task-count{background:#e8f5e9;color:#2e7d32}.column-content{display:flex;flex-direction:column;gap:12px}.task-card{background:#fff;border:1px solid #e8ecef;border-radius:10px;padding:15px;cursor:pointer;transition:all .2s ease;overflow:hidden;word-wrap:break-word}.task-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.task-card-title{margin:0 0 8px;font-size:16px;color:#2c3e50;font-weight:600}.task-card-description{margin:0 0 12px;font-size:14px;color:#95a5a6;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-card-divider{height:1px;background:#e8ecef;margin:0 -5px 12px}.task-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:13px}.task-card-assignee{display:flex;align-items:center;gap:6px;color:#2c3e50}.comment-count{display:inline-flex;align-items:center;gap:2px;background:#f1f3f5;color:#495057;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:500}.assignee-emoji{font-size:14px}.assignee-name{font-weight:500}.unassigned-text{color:#95a5a6;font-style:italic}.task-card-date{color:#95a5a6;font-size:12px}.task-assignee{margin-bottom:8px}.assignee-badge{display:inline-block;background:#e3f2fd;color:#1976d2;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.task-meta{font-size:13px;color:#95a5a6}.btn-add-task{width:100%;background:transparent;color:#95a5a6;border:2px dashed #dee2e6;padding:14px 20px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.btn-add-task:hover{background:#f8f9fa;border-color:#adb5bd;color:#6c757d}.btn-primary{background:#3498db;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:#2980b9;transform:translateY(-1px);box-shadow:0 4px 8px #3498db4d}.btn-primary:disabled{background:#bdc3c7;cursor:not-allowed}.btn-secondary{background:#ecf0f1;color:#2c3e50;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-close{background:none;border:none;font-size:28px;color:#95a5a6;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.btn-close:hover{background:#ecf0f1;color:#2c3e50}.btn-status{background:#f8f9fa;border:1px solid #dee2e6;padding:8px 16px;border-radius:8px;font-size:13px;cursor:pointer;margin-right:8px;margin-bottom:8px;transition:all .2s ease}.btn-status:hover{background:#e9ecef;border-color:#adb5bd}.btn-danger{background:#e74c3c;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px}.modal-header h2{margin:0;color:#2c3e50;font-size:20px}.form-group label{display:block;margin-bottom:8px;color:#2c3e50;font-size:14px;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:10px 14px;border:1px solid #dee2e6;border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s ease;box-sizing:border-box}.form-group textarea{resize:none;overflow-y:auto}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.task-detail{max-width:800px}.detail-section{padding:8px 20px;border-bottom:1px solid #ecf0f1}.detail-section:last-child{border-bottom:none}.detail-section h3{margin:0 0 12px;color:#2c3e50;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#7f8c8d}.detail-section p{margin:0 0 15px;color:#34495e;line-height:1.6}.status-buttons{display:flex;gap:10px;margin-bottom:15px}.status-btn{flex:1;background:#f8f9fa;border:2px solid #dee2e6;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;color:#495057}.status-btn:hover{background:#e9ecef;border-color:#adb5bd}.status-btn.active{border-width:2px;font-weight:600;color:#fff}.status-btn.active.status-not-started{background:#1976d2;border-color:#1565c0}.status-btn.active.status-in-progress{background:#f57f17;border-color:#e65100}.status-btn.active.status-for-review{background:#7b1fa2;border-color:#6a1b9a}.status-btn.active.status-done{background:#2e7d32;border-color:#1b5e20}.status-comment-section{margin-top:10px}.status-comment-input{width:100%;padding:10px 14px;border:1px solid #dee2e6;border-radius:8px;font-size:14px;box-sizing:border-box}.assignee-form{display:flex;flex-direction:column;gap:15px}.form-row{display:flex;gap:15px}.form-field{flex:1;display:flex;flex-direction:column;gap:6px}.form-field label{font-size:13px;font-weight:500;color:#495057}.form-field input{padding:10px 14px;border:1px solid #dee2e6;border-radius:8px;font-size:14px}.current-assignment{margin-top:15px;padding:12px;background:transparent;border-radius:0;font-size:14px}.current-assignment p{margin:4px 0;color:#495057}.assignee-section{display:flex;gap:10px}.assignee-section input{flex:1;padding:10px 14px;border:1px solid #dee2e6;border-radius:8px}.comments-list{margin-bottom:20px}.comment{background:transparent;border-radius:0;margin-bottom:10px;border-left:2px solid #e8ecef;padding:8px 0 8px 12px}.comment strong{color:#2c3e50;font-size:14px}.comment p{margin:6px 0;color:#34495e;font-size:14px;white-space:pre-wrap}.comment-date{font-size:12px;color:#95a5a6}.description-textarea{width:100%;min-height:100px;max-height:100px;padding:10px 14px;border:1px solid #dee2e6;border-radius:8px;font-size:14px;font-family:inherit;resize:none;overflow-y:auto;box-sizing:border-box;transition:all .2s ease}.description-textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.add-comment{display:flex;flex-direction:column;gap:10px}.add-comment input,.add-comment textarea{width:100%;padding:10px 14px;border:1px solid #dee2e6;border-radius:8px;font-family:inherit;box-sizing:border-box}.add-comment textarea{min-height:80px;max-height:80px;resize:none;overflow-y:auto}.confirm-dialog-content{background:#fff;border-radius:12px;padding:24px;min-width:320px;max-width:400px;box-shadow:0 8px 32px #0000001f;animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-dialog-content p{margin:0 0 20px;color:#2c3e50;font-size:15px;line-height:1.5}.error-message{background:#fadbd8;color:#e74c3c;padding:10px 14px;border-radius:8px;margin-bottom:12px;font-size:14px;font-weight:500}.task-actions{display:flex;flex-direction:column;gap:15px}.review-shortcuts{display:flex;gap:12px;padding-bottom:15px;border-bottom:1px solid #ecf0f1}.btn-review-done{flex:1;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:14px 24px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #27ae6033}.btn-review-done:hover{transform:translateY(-2px);box-shadow:0 4px 16px #27ae604d;background:linear-gradient(135deg,#229954,#27ae60)}.btn-review-needs-work{flex:1;background:#fff;color:#f57f17;border:2px solid #f57f17;padding:14px 24px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-review-needs-work:hover{background:#fffde7;transform:translateY(-2px);box-shadow:0 4px 12px #f57f1733}.delete-confirm{display:flex;gap:12px}@media (max-width: 1200px){.kanban-board{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.kanban-board{grid-template-columns:1fr}.task-board-header{flex-direction:column;gap:15px;align-items:flex-start}.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-width:100%;width:100%;max-height:95vh;border-radius:16px 16px 0 0;margin:0}.modal-header{padding:12px 16px;position:sticky;top:0;background:#fff;z-index:10;border-bottom:1px solid #ecf0f1}.modal-header h2{font-size:18px}form{padding:0 16px 16px}.form-group{margin-bottom:16px}.form-group input,.form-group textarea{font-size:16px;padding:12px 14px}.detail-section{padding:12px 16px}.detail-section h3{font-size:13px;margin-bottom:10px}.status-buttons{flex-wrap:wrap;gap:8px}.status-btn{flex:1 1 calc(50% - 4px);min-width:0;padding:10px 12px;font-size:13px}.form-row{flex-direction:column}.form-field{width:100%}.comments-list{max-height:200px}.add-comment input,.add-comment textarea{font-size:16px}.form-actions{gap:8px;flex-direction:column-reverse}.form-actions button{width:100%}.task-actions{display:flex;flex-direction:column;gap:8px}.review-shortcuts{display:flex;gap:8px;width:100%}.review-shortcuts button{flex:1}.delete-confirm{display:flex;flex-direction:column;gap:8px}.delete-confirm button{width:100%}}.task-board-mobile{min-height:100vh;background:var(--task-mobile-bg, #03090b);color:var(--task-mobile-text, #e4f2ec);font-family:var( --task-mobile-font, "IBM Plex Mono", "Space Mono", "Courier New", monospace );position:relative}.task-board-mobile:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(transparent 23px,var(--task-mobile-grid, rgba(41, 87, 92, .12)) 24px),linear-gradient(90deg,transparent 23px,var(--task-mobile-grid, rgba(41, 87, 92, .12)) 24px);background-size:24px 24px;opacity:.35;z-index:0}.matrix-frame{position:relative;z-index:1;min-height:100vh;background:radial-gradient(circle at top,var(--task-mobile-halo, rgba(17, 37, 41, .7)),transparent);display:flex;flex-direction:column}.matrix-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border-bottom:1px solid var(--task-mobile-border, #12312c);background:var(--task-mobile-surface, rgba(8, 16, 20, .88));text-transform:uppercase;letter-spacing:.08em}.matrix-header-copy{flex:1}.matrix-header h1{margin:0;font-size:20px;color:var(--task-mobile-accent, #7dd7c2)}.matrix-pretitle{display:block;font-size:10px;color:var(--task-mobile-muted, #6c8a80);letter-spacing:.3em;margin-bottom:4px}.matrix-connection{display:flex;align-items:center;padding-right:14px;gap:6px;font-size:11px;color:var(--task-mobile-muted, #6c8a80)}.matrix-connection-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.matrix-connection-dot.online{background:var(--task-mobile-online, #7dd7c2);box-shadow:0 0 8px var(--task-mobile-online, #7dd7c2)}.matrix-connection-dot.offline{background:var(--task-mobile-offline, #ff5f5f);box-shadow:0 0 8px var(--task-mobile-offline, #ff5f5f)}.matrix-status-panel{display:flex;align-items:center;justify-content:space-between;padding:6px 18px 12px;border-bottom:1px solid var(--task-mobile-border, #12312c);background:var(--task-mobile-surface, rgba(8, 16, 20, .88))}.matrix-status-panel h2{margin:4px 0;color:var(--task-mobile-text, #e4f2ec);font-size:32px}.matrix-status-label{margin:0;font-size:11px;color:var(--task-mobile-muted, #6c8a80);letter-spacing:.2em;text-transform:uppercase}.matrix-status-sub{margin:0;font-size:12px;color:var(--task-mobile-accent, #7dd7c2)}.matrix-status-count{text-align:right}.matrix-count-number{display:block;font-size:40px;color:var(--task-mobile-accent, #7dd7c2);line-height:1}.matrix-count-text{font-size:12px;color:var(--task-mobile-muted, #6c8a80);letter-spacing:.3em;text-transform:uppercase}.matrix-task-feed{gap:12px}.matrix-task-card{border-bottom:1px solid var(--task-mobile-border, #12312c);background:var(--task-mobile-surface-alt, rgba(4, 12, 16, .78));padding:14px;display:flex;flex-direction:column;gap:4px;cursor:pointer}.matrix-task-card h3{margin:0;color:var(--task-mobile-accent, #7dd7c2);font-size:17px}.matrix-task-card p{margin:0;color:var(--task-mobile-text, #e4f2ec);opacity:.85;font-size:14px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.matrix-task-card:hover{border-color:var(--task-mobile-accent-strong, #54b59c);transform:translateY(-1px)}.matrix-task-meta-row{display:flex;justify-content:space-between;font-size:12px;color:var(--task-mobile-muted, #6c8a80)}.matrix-task-id{letter-spacing:.2em}.matrix-task-footer{display:flex;justify-content:space-between;font-size:12px;color:var(--task-mobile-muted, #6c8a80);text-transform:uppercase}.matrix-task-tags{display:flex;flex-wrap:wrap;gap:6px}.matrix-empty-state{padding:32px;text-align:center;color:var(--task-mobile-muted, #6c8a80)}.matrix-link{background:none;border:none;color:var(--task-mobile-accent, #7dd7c2);font-family:inherit;font-size:13px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;padding:6px 0}.matrix-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:repeat(4,1fr);background:var(--task-mobile-nav-bg, rgba(2, 6, 9, .88));border-top:1px solid var(--task-mobile-border, #12312c);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.matrix-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 4px;border:none;background:transparent;color:var(--task-mobile-muted, #6c8a80);font-size:11px;text-transform:uppercase;letter-spacing:.2em;cursor:pointer}.matrix-nav-item.active{color:var(--task-mobile-text, #e4f2ec)}.matrix-nav-item.active .matrix-nav-icon{color:var(--task-mobile-accent, #7dd7c2)}.matrix-nav-icon{font-size:18px}.matrix-nav-count{font-size:10px;color:var(--task-mobile-accent-strong, #54b59c)}.matrix-fab{position:fixed;bottom:72px;right:24px;width:52px;height:52px;border-radius:16px;border:1px solid var(--task-mobile-border, #12312c);background:var(--task-mobile-accent-strong, #54b59c);color:var(--task-mobile-fab-text, #031e14);font-size:24px;display:flex;align-items:center;justify-content:center;font-family:inherit;box-shadow:0 18px 30px #00000059;z-index:12}.mobile-create-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--task-mobile-overlay, rgba(0, 0, 0, .75));display:flex;justify-content:center;align-items:flex-end;z-index:20}.mobile-create-panel{background:var(--task-mobile-sheet-bg, #050d12);border-top-left-radius:24px;border-top-right-radius:24px;width:100%;max-height:92vh;padding:24px;border:1px solid var(--task-mobile-border, #12312c);border-bottom:none;overflow-y:auto}.mobile-create-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.mobile-create-header h2{margin:4px 0 0;color:var(--task-mobile-accent, #7dd7c2)}.mobile-create-form{display:flex;flex-direction:column;gap:16px}.mobile-create-form label,.mobile-form-control{display:flex;flex-direction:column;gap:6px;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--task-mobile-muted, #6c8a80)}.mobile-create-form input,.mobile-create-form textarea{background:var(--task-mobile-input-bg, rgba(10, 24, 30, .55));border:1px solid var(--task-mobile-border, #12312c);border-radius:12px;padding:10px 12px;color:var(--task-mobile-text, #e4f2ec);font-family:inherit;font-size:14px}.mobile-create-form textarea{min-height:96px}.mobile-create-form input:focus,.mobile-create-form textarea:focus{outline:none;border-color:var(--task-mobile-accent, #7dd7c2);box-shadow:0 0 0 1px var(--task-mobile-accent, #7dd7c2)}.matrix-tag-input>div{width:100%}.matrix-tag-input>div>div:first-of-type{background:var(--task-mobile-tag-bg, rgba(5, 16, 20, .9))!important;border:1px solid var(--task-mobile-border, #12312c)!important;border-radius:12px!important;padding:8px!important;color:var(--task-mobile-text, #e4f2ec)!important}.matrix-tag-input input{color:var(--task-mobile-text, #e4f2ec)!important;font-family:inherit!important;background:transparent!important}.matrix-submit{border:1px solid var(--task-mobile-accent, #7dd7c2);border-radius:14px;padding:12px;background:linear-gradient(90deg,var(--task-mobile-submit-gradient-start, #319177),var(--task-mobile-submit-gradient-end, #64c99e));color:var(--task-mobile-submit-text, #021a12);font-family:inherit;font-size:15px;text-transform:uppercase;letter-spacing:.3em}.matrix-submit:disabled{opacity:.4}@media (min-width: 768px){.task-board-mobile{max-width:480px;margin:0 auto;border-left:1px solid var(--task-mobile-border, #12312c);border-right:1px solid var(--task-mobile-border, #12312c)}.matrix-bottom-nav{left:50%;right:auto;transform:translate(-50%);width:480px}}:root{--app-bg: #c432b5;--task-mobile-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--task-mobile-bg: #f4f6fb;--task-mobile-surface: rgba(255, 255, 255, .98);--task-mobile-surface-alt: rgba(255, 255, 255, .96);--task-mobile-border: #e1e7f0;--task-mobile-accent: #2c3e50;--task-mobile-accent-strong: #2563eb;--task-mobile-muted: #7b8794;--task-mobile-text: #1f2933;--task-mobile-grid: rgba(31, 41, 55, .05);--task-mobile-halo: rgba(255, 255, 255, .85);--task-mobile-online: rgb(39, 174, 96);--task-mobile-offline: #ef4444;--task-mobile-nav-bg: rgba(255, 255, 255, .95);--task-mobile-overlay: rgba(15, 23, 42, .5);--task-mobile-sheet-bg: #ffffff;--task-mobile-input-bg: rgba(244, 247, 252, .95);--task-mobile-tag-bg: rgba(239, 242, 247, .95);--task-mobile-fab-text: #ffffff;--task-mobile-submit-gradient-start: #2563eb;--task-mobile-submit-gradient-end: #4f83ff;--task-mobile-submit-text: #ffffff}.hamburger-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;color:#007aff;cursor:pointer;padding:0;transition:opacity .2s ease;-webkit-tap-highlight-color:transparent}.hamburger-button:active{opacity:.6}.hamburger-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:1000;animation:fadeIn .3s ease}.hamburger-drawer{position:fixed;top:0;left:-280px;width:280px;height:100%;background:#f2f2f7;z-index:1001;transition:left .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:0 0 20px #0000001a}.hamburger-drawer.open{left:0}.hamburger-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f2f2f7;border-bottom:.5px solid #c6c6c8;min-height:56px}.hamburger-header h2{margin:0;font-size:34px;font-weight:700;color:#000;letter-spacing:.4px}.hamburger-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;color:#007aff;cursor:pointer;padding:0;transition:opacity .2s ease;-webkit-tap-highlight-color:transparent}.hamburger-close:active{opacity:.6}.hamburger-nav{flex:1;overflow-y:auto;background:#fff;-webkit-overflow-scrolling:touch}.hamburger-nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-bottom:.5px solid #c6c6c8;text-decoration:none;color:#000;cursor:pointer;transition:background .2s ease;-webkit-tap-highlight-color:transparent}.hamburger-nav-item:active{background:#e5e5ea}.hamburger-nav-item.active{background:#007aff0d}.hamburger-nav-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#8e8e931a;flex-shrink:0}.hamburger-emoji{font-size:20px;line-height:1}.hamburger-nav-label{flex:1;font-size:17px;font-weight:400;color:#000}.hamburger-nav-item.active .hamburger-nav-label{font-weight:600}.hamburger-nav-check{color:#007aff;flex-shrink:0}@supports (padding: max(0px)){.hamburger-header{padding-top:max(12px,env(safe-area-inset-top));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.hamburger-nav-item{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}body.hamburger-menu-open{overflow:hidden}@media (min-width: 769px){.hamburger-button{display:none}}.context{min-height:100vh;background:#fff;padding:0;color:#2c3e50}.context-with-sidebar{display:flex;flex-direction:row;height:100vh;overflow:hidden}.context-body{display:flex;flex:1;overflow:hidden}.context-body .context-content{flex:1;overflow-y:auto}.context-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:#fff;border-bottom:1px solid #e4e6eb;box-shadow:0 1px 2px #0000000d;position:sticky;top:0;z-index:100}.context-header h1{margin:0;font-size:24px;font-weight:700;color:#1877f2}.context-header p{display:none}.context-actions{display:flex;gap:12px;flex-wrap:wrap}.context-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.context-button.primary{background:#3b82f6;color:#fff}.context-button.secondary{background:#ecf0f1;color:#2c3e50}.context-button:disabled{opacity:.6;cursor:not-allowed}.context-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 12px #3498db33}.context-form{display:flex;flex-direction:column;gap:12px;background:#fff;border-bottom:1px solid #e4e6eb}.context-form-group{display:flex;flex-direction:column;gap:6px}.context-form-group label{font-size:13px;font-weight:600;color:#7f8c8d}.context-form-group input,.context-form-group textarea{border:1px solid #dce4ec;border-radius:10px;padding:10px 12px;font-size:14px;font-family:inherit;resize:vertical}.context-form-actions{display:flex;gap:12px;justify-content:flex-end}.context-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-bottom:24px}.context-tree-container{margin-bottom:24px;background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 8px #00000014}.context-card{display:flex;flex-direction:column;gap:8px;background:#fff;border-radius:16px;padding:20px;text-decoration:none;color:inherit;box-shadow:0 2px 8px #00000014;transition:transform .2s ease,box-shadow .2s ease}.context-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.context-card h3{margin:0;font-size:20px;font-weight:600}.context-card p{margin:0;color:#7f8c8d}.context-card-meta{display:flex;flex-direction:column;gap:4px;margin-top:auto;font-size:13px;color:#95a5a6}.context-back-link{display:inline-block;margin-bottom:12px;color:#3498db;text-decoration:none;font-weight:600}.context-back-link:hover{text-decoration:underline}.context-layout{display:flex;flex-direction:column;min-height:100vh}.context-main-container{display:flex;gap:0;flex:1;align-items:flex-start;min-height:calc(100vh - 60px)}.context-content{flex:1;background:#fff;min-width:0;overflow-y:auto;padding-left:16px;padding-right:16px}.context-welcome{text-align:center;padding:48px 24px;color:#7f8c8d}.context-welcome h2{margin:0 0 12px;font-size:24px;font-weight:600;color:#2c3e50}.context-welcome p{margin:0;font-size:16px}@media (max-width: 1024px){.context-main-container{flex-direction:column}}.context-meta{display:flex;flex-wrap:wrap;gap:12px;color:#95a5a6;font-size:13px}.context-content-panel{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 12px #0000001a;min-height:240px}.context-markdown{display:flex;flex-direction:column;gap:16px;font-size:15px;line-height:1.7;color:#2c3e50}.context-markdown h1,.context-markdown h2,.context-markdown h3,.context-markdown h4,.context-markdown h5,.context-markdown h6{margin:0;font-weight:600;line-height:1.3}.context-markdown h1{font-size:28px}.context-markdown h2{font-size:24px}.context-markdown h3{font-size:20px}.context-markdown p{margin:0}.context-markdown ul,.context-markdown ol{margin:0;padding-left:24px}.context-markdown li{margin-bottom:6px}.context-markdown a{color:#2563eb;text-decoration:underline}.context-markdown a:hover{color:#1d4ed8}.context-markdown blockquote{margin:0;padding:12px 16px;border-left:4px solid #94a3b8;background:#f8fafc;color:#1f2937}.context-markdown hr{border:none;border-top:1px solid #d0d7de;margin:0}.context-markdown img{max-width:100%;height:auto;border-radius:8px}.context-markdown code{background:#f0f3f6;padding:2px 6px;border-radius:6px;font-family:Source Code Pro,Consolas,Courier New,monospace;font-size:14px}.context-markdown pre{background:#1f2933;color:#f8f9fa;padding:16px;border-radius:12px;overflow-x:auto;font-size:14px;line-height:1.6}.context-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;color:#95a5a6;text-align:center;gap:12px}.context-status{margin-top:12px;font-size:13px;color:#e67e22}.context-error{margin-top:12px;font-size:13px;color:#e74c3c}.context-page-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.context-page-detail{max-width:900px;margin:0 auto;padding:0}.context-page-detail-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #ecf0f1}.context-page-detail-title{margin:0 0 12px;font-size:42px;font-weight:700;color:#2c3e50;line-height:1.2}.context-page-detail-meta{display:flex;gap:8px;align-items:center;color:#95a5a6;font-size:14px}.context-page-detail-meta span{white-space:nowrap}.context-page-detail-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.context-page-detail-content{margin-bottom:48px;font-size:16px;line-height:1.8;color:#2c3e50}.context-page-detail-actions{display:flex;gap:12px;justify-content:flex-start;padding-top:24px;border-top:1px solid #ecf0f1}.context-button-danger{background:#e74c3c;color:#fff}.context-button-danger:not(:disabled):hover{background:#c0392b;box-shadow:0 4px 12px #e74c3c4d}.rich-editor{width:100%;border:1px solid #dce4ec;border-radius:10px;overflow:hidden;background:#fff}.rich-editor-panes{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:400px}.rich-editor-pane{display:flex;flex-direction:column;position:relative}.rich-editor-edit{border-right:1px solid #dce4ec}.rich-editor-label{padding:12px 16px;background:#f8f9fa;border-bottom:1px solid #dce4ec;font-size:13px;font-weight:600;color:#7f8c8d}.rich-editor-textarea{flex:1;border:none;padding:16px;font-size:14px;font-family:inherit;resize:none;outline:none;line-height:1.6}.rich-editor-textarea::placeholder{color:#95a5a6}.rich-editor-preview-content{flex:1;padding:16px;overflow-y:auto}.rich-editor-empty{color:#95a5a6;font-size:14px;font-style:italic}.slash-command-menu{position:absolute;background:#fff;border:1px solid #dce4ec;border-radius:10px;box-shadow:0 4px 16px #00000026;min-width:280px;max-height:320px;overflow-y:auto;z-index:1000;padding:8px 0}.slash-command-item{display:flex;flex-direction:column;gap:4px;padding:10px 16px;border:none;background:transparent;text-align:left;width:100%;cursor:pointer;transition:background-color .15s ease}.slash-command-item:hover,.slash-command-item.selected{background:#f8f9fa}.slash-command-item.selected{background:#e3f2fd}.slash-command-label{font-size:14px;font-weight:600;color:#2c3e50;font-family:Source Code Pro,Consolas,Courier New,monospace}.slash-command-description{font-size:12px;color:#7f8c8d}@media (max-width: 768px){.context{padding:16px}.context-header{flex-direction:column;align-items:flex-start}.context-page-detail{padding:0 16px}.context-page-detail-title{font-size:32px}.context-page-detail-meta{flex-wrap:wrap}.rich-editor-panes{grid-template-columns:1fr;min-height:600px}.rich-editor-edit{border-right:none;border-bottom:1px solid #dce4ec}.rich-editor-pane{min-height:300px}}.context-sidebar-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4e6eb}.context-sidebar-title{margin:0;font-size:16px;font-weight:600;padding:10px;color:#2c3e50;white-space:nowrap;overflow:hidden}.context-sidebar-new-page{padding:6px 12px;margin-right:10px;font-size:13px;white-space:nowrap;flex-shrink:0}.context-empty-sidebar{padding:16px 0;text-align:center;color:#7f8c8d;font-size:14px}.sidebar-app-specific.collapsed .context-sidebar-header{flex-direction:column;align-items:center;justify-content:center;padding-bottom:8px;gap:8px}.sidebar-app-specific.collapsed .context-sidebar-title{display:none}.sidebar-app-specific.collapsed .context-sidebar-new-page{padding:8px;font-size:18px;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.sidebar-app-specific.collapsed .page-tree,.sidebar-app-specific.collapsed .context-status,.sidebar-app-specific.collapsed .context-empty-sidebar{display:none}.sidebar-app-specific .sidebar-content{padding:0}.page-tree{background:#fff;border:none;border-radius:0;overflow-y:auto}.page-tree-item{-webkit-user-select:none;user-select:none}.tree-item-content{display:flex;align-items:center;transition:background-color .2s ease}.tree-item-content:hover{background-color:#f8f9fa}.tree-item-content.active{background-color:#e3f2fd;border-left:3px solid #2196f3}.tree-toggle{background:none;border:none;cursor:pointer;padding:0;margin-right:3px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#7f8c8d;transition:color .2s ease}.tree-toggle:hover{color:#2c3e50}.tree-toggle:focus{outline:2px solid #2196f3;outline-offset:2px;border-radius:2px}.tree-spacer{display:inline-block;width:19px}.tree-item-link{flex:1;color:#2c3e50;text-decoration:none;font-size:13px;cursor:pointer;padding:2px 0;transition:color .2s ease}.tree-item-link:hover{color:#2196f3;text-decoration:underline}.tree-item-link:focus{outline:2px solid #2196f3;outline-offset:2px;border-radius:2px}.tree-item-content.active .tree-item-link{color:#1976d2;font-weight:600}.tree-item-add-child{background:none;border:none;cursor:pointer;padding:2px 6px;margin-left:4px;font-size:16px;color:#7f8c8d;border-radius:4px;opacity:0;transition:opacity .2s ease,background-color .2s ease,color .2s ease;flex-shrink:0}.tree-item-content:hover .tree-item-add-child{opacity:1}.tree-item-add-child:hover{background-color:#e3f2fd;color:#2196f3}.tree-item-add-child:focus{outline:2px solid #2196f3;outline-offset:2px;opacity:1}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;padding:12px 0;margin-bottom:16px;font-size:14px;color:#7f8c8d}.breadcrumb-link{color:#2196f3;text-decoration:none;transition:color .2s ease}.breadcrumb-link:hover{color:#1976d2;text-decoration:underline}.breadcrumb-link:focus{outline:2px solid #2196f3;outline-offset:2px;border-radius:2px}.breadcrumb-item{display:inline-flex;align-items:center}.breadcrumb-separator{margin:0 8px;color:#bdc3c7}.breadcrumb-current{color:#2c3e50;font-weight:500}.context-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:8px;animation:pulse-dot 2s ease-in-out infinite}.context-status-dot.connected{background-color:#10b981;box-shadow:0 0 6px #10b98199}.context-status-dot.disconnected{background-color:#ef4444;box-shadow:0 0 6px #ef444499}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.6}}@media (max-width: 768px){.tree-toggle{min-width:44px;min-height:44px;padding:8px}.tree-item-link{padding:12px 4px;min-height:44px;display:flex;align-items:center}.breadcrumb{padding:8px 0}.breadcrumb-link{padding:8px 4px;min-height:44px;display:inline-flex;align-items:center}}.confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.confirm-dialog{background:#fff;border-radius:12px;padding:30px;max-width:400px;width:90%;box-shadow:0 8px 32px #0003;animation:scaleIn .2s ease-out}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.confirm-message{font-size:16px;color:#2c3e50;margin-bottom:24px;line-height:1.5}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}.btn-secondary,.btn-danger{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary{background:#ecf0f1;color:#2c3e50}.btn-secondary:hover{background:#d5dbdb}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}.mcp-registry{min-height:100vh;background:#f8f9fa;padding:0 20px}.mcp-registry-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding:20px 0}.mcp-registry-header h1{margin:0 0 10px;color:#1a202c;font-size:36px;font-weight:700;letter-spacing:-.03em;line-height:1.2}.subtitle{margin:0 0 6px;color:#718096;font-size:16px;font-weight:400;line-height:1.5}.server-id{margin:8px 0 0;color:#a0aec0;font-size:13px;font-family:SF Mono,Monaco,Courier New,monospace;background:#f7fafc;padding:4px 10px;border-radius:6px;display:inline-block;border:1px solid #e2e8f0}.header-actions{display:flex;align-items:center;gap:15px}.btn-primary{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.btn-primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 8px #3b82f633}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background:#cbd5e0;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#fff;color:#3b82f6;border:1px solid #3b82f6;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#eff6ff;border-color:#2563eb;color:#2563eb}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-back{background:transparent;color:#3b82f6;border:none;padding:8px 12px 8px 0;font-size:14px;font-weight:500;cursor:pointer;margin-bottom:12px;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}.btn-back:hover{color:#2563eb;transform:translate(-2px)}.btn-delete{background:#ef4444;color:#fff;border:none;padding:8px 14px;border-radius:7px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-delete:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 2px 6px #ef444440}.btn-delete:active{transform:translateY(0)}.servers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.server-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:all .2s}.server-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.server-card h3{margin:0 0 8px;color:#2c3e50;font-size:18px;font-weight:600}.server-card .server-id{margin:4px 0 8px}.server-description{margin:0;color:#7f8c8d;font-size:14px;line-height:1.5}.info-section,.admin-section{background:#f8f9fa;max-width:1200px;margin-bottom:32px;min-height:0}.section-title{margin:0 0 12px;color:#1a202c;font-size:20px;font-weight:600;letter-spacing:-.02em}.section-divider{height:1px;background:#e2e8f0;margin:16px 0}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:8px}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{font-size:12px;font-weight:600;color:#718096;letter-spacing:.02em}.info-value{font-size:14px;color:#1a202c;line-height:1.5}.mono{font-family:SF Mono,Monaco,Courier New,monospace}.metadata-section{margin-top:16px}.metadata-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.metadata-status{color:#10b981;font-size:14px;font-weight:500}.metadata-content{margin-top:12px}.metadata-url{font-size:12px;color:#718096;margin:0 0 8px;word-break:break-all}.btn-link{background:transparent;color:#3b82f6;border:none;padding:4px 8px;font-size:13px;font-weight:500;cursor:pointer;transition:color .2s ease}.btn-link:hover{color:#2563eb;text-decoration:underline}.admin-subsection{margin:16px 0}.subsection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.subsection-header h3{margin:0;color:#1a202c;font-size:16px;font-weight:600}.btn-sm{padding:6px 12px;font-size:13px}.compact-table{display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff}.table-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;gap:12px;transition:all .15s ease;border-bottom:1px solid #e2e8f0}.table-row:last-child{border-bottom:none}.table-row:hover{background:#eff6ff}.table-cell{flex:1;min-width:0}.cell-main{color:#1a202c;font-size:14px;font-weight:500;margin-bottom:4px}.cell-sub{color:#718096;font-size:13px;line-height:1.4;margin-top:2px}.table-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.small-text{font-size:13px;color:#718096;line-height:1.4}.empty-text{color:#a0aec0;font-size:14px;text-align:center;padding:24px 20px;font-style:italic}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;padding:32px;max-width:520px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000040,0 0 0 1px #0000000d;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{margin:0 0 24px;color:#1a202c;font-size:26px;font-weight:700;letter-spacing:-.02em}.form-group{margin-bottom:22px}.form-group label{display:block;margin-bottom:8px;color:#1a202c;font-size:14px;font-weight:600;letter-spacing:-.01em}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:inherit;box-sizing:border-box;background:#fff;transition:all .2s ease;color:#1a202c}.form-group input:hover,.form-group textarea:hover,.form-group select:hover{border-color:#cbd5e0}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;min-height:80px;line-height:1.5}.form-group small{display:block;margin-top:6px;color:#718096;font-size:13px;line-height:1.4}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:24px;border-top:1px solid #e8eef3}.mapping-row{display:flex;gap:12px;align-items:center;margin-bottom:12px}.mapping-connection-select,.mapping-scope-input{flex:1;padding:12px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:inherit;background:#fff;transition:all .2s ease;color:#1a202c}.mapping-connection-select:hover,.mapping-scope-input:hover{border-color:#cbd5e0}.mapping-connection-select:focus,.mapping-scope-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-remove{background:#ef4444;color:#fff;border:none;border-radius:8px;width:36px;height:36px;font-size:22px;cursor:pointer;transition:all .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center;line-height:1}.btn-remove:hover{background:#dc2626;transform:scale(1.05)}.btn-add-mapping{background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:12px}.btn-add-mapping:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 6px #3b82f640}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.empty-state p{margin:0 0 20px;color:#95a5a6;font-size:16px}.loading{text-align:center;padding:40px;color:#7f8c8d;font-size:16px}.error-message{background:#fadbd8;color:#c0392b;padding:15px 20px;border-radius:8px;margin-bottom:20px;font-size:14px}.metadata-json{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-top:12px;overflow-x:auto;font-size:13px;line-height:1.5;font-family:SF Mono,Monaco,Courier New,monospace;color:#2d3748}.mapping-group{margin-top:16px;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff}.mapping-group:first-child{margin-top:0}.mapping-group-header{background:#f7fafc;color:#1a202c;padding:10px 16px;font-size:14px;font-weight:600;border-bottom:1px solid #e2e8f0}.mapping-items{display:flex;flex-direction:column}.mapping-item{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #f1f3f5;transition:background .15s ease}.mapping-item:last-child{border-bottom:none}.mapping-item:hover{background:#eff6ff}.mapping-item-scope{font-size:13px;color:#718096;font-family:SF Mono,Monaco,Courier New,monospace}.btn-delete-small{background:transparent;color:#ef4444;border:1px solid #ef4444;padding:6px 12px;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-delete-small:hover{background:#ef4444;color:#fff}.proper-table{display:table;width:100%;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff}.table-header{display:table-row;background:#f7fafc;font-weight:600;font-size:13px;color:#4a5568;border-bottom:1px solid #e2e8f0}.table-header>div{display:table-cell;padding:10px 16px;border-bottom:1px solid #e2e8f0}.table-body-row{display:table-row;transition:background .15s ease}.table-body-row:hover{background:#eff6ff}.table-body-row>div{display:table-cell;padding:12px 16px;border-bottom:1px solid #f1f3f5;vertical-align:middle}.table-body-row:last-child>div{border-bottom:none}.table-col-name{width:30%;font-weight:500;color:#1a202c;font-size:14px}.table-col-description{width:auto;color:#718096;font-size:14px;line-height:1.5}.table-col-actions{width:160px;text-align:right;white-space:nowrap}.table-col-actions button{margin-left:8px}.table-col-actions button:first-child{margin-left:0}.subsection-description{margin:0 0 16px;color:#718096;font-size:14px;line-height:1.5}.table-add-row{display:table-row;cursor:pointer;transition:all .15s ease}.table-add-row:hover .add-row-cell{background:#edf2f7}.table-add-row .add-row-cell{display:table-cell;padding:14px 16px;background:#f7fafc;border-top:1px solid #e2e8f0;transition:all .15s ease}.add-row-text{color:#3b82f6;font-size:14px;font-weight:500}.inspector-command-item{grid-column:1 / -1}.inspector-command{display:flex;align-items:center;gap:8px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.inspector-code{flex:1;font-family:SF Mono,Monaco,Courier New,monospace;font-size:13px;color:#1a202c;word-break:break-all;background:transparent;border:none;padding:0}.copy-btn{white-space:nowrap;flex-shrink:0}.consent-page{min-height:100vh;background:#fff;display:flex;align-items:center;justify-content:center;padding:0 20px}.consent-container{background:#fff;border-radius:12px;padding:40px;max-width:700px;width:100%;border:1px solid #e4e6eb}.consent-header{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #e4e6eb}.oauth-icon{font-size:40px;margin-bottom:12px}.consent-header h1{font-size:24px;color:#2c3e50;margin:0 0 8px;font-weight:600}.consent-header .subtitle{font-size:14px;color:#7f8c8d;margin:0}.consent-header .subtitle strong{color:#2c3e50;font-weight:600}.consent-details{margin-bottom:32px}.detail-section{background:#fff;border-radius:8px;padding:20px;margin-bottom:16px;border:1px solid #e4e6eb}.detail-section h2{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#7f8c8d;margin:0 0 16px}.server-info{margin-top:8px}.server-name{font-size:16px;font-weight:600;color:#2c3e50;margin-bottom:4px}.server-id{font-size:13px;color:#7f8c8d;font-family:Courier New,monospace}.resource-info{margin-top:8px}.resource-info code{display:block;background:#f8f9fa;padding:12px;border-radius:6px;font-size:13px;color:#2c3e50;word-break:break-all;border:1px solid #e4e6eb}.scopes-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:8px}.scope-badge{background:#e3f2fd;color:#1976d2;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500}.client-info{margin-top:8px}.info-row{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:1px solid #e4e6eb}.info-row:last-child{border-bottom:none}.info-row .label{font-weight:600;color:#7f8c8d;font-size:13px;min-width:130px}.info-row .value{flex:1;text-align:right;color:#2c3e50;font-size:13px}.info-row .value code{background:#f8f9fa;padding:4px 8px;border-radius:4px;font-size:12px;border:1px solid #e4e6eb;word-break:break-all}.consent-actions{display:flex;gap:12px;margin-bottom:24px;padding-top:8px}.btn-approve,.btn-deny{flex:1;padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-approve{background:#3b82f6;color:#fff}.btn-approve:hover:not(:disabled){background:#2563eb}.btn-approve:disabled{opacity:.6;cursor:not-allowed}.btn-deny{background:#fff;color:#ef4444;border:1px solid #ef4444}.btn-deny:hover:not(:disabled){background:#fef2f2}.btn-deny:disabled{opacity:.6;cursor:not-allowed}.consent-footer{text-align:center;padding-top:24px;border-top:1px solid #e4e6eb}.consent-footer p{font-size:13px;color:#7f8c8d;margin:0 0 16px;line-height:1.6}.consent-footer strong{color:#2c3e50}.error-banner{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.loading-state,.error-state{text-align:center;padding:40px 20px}.loading-state p{color:#7f8c8d;font-size:14px;margin-top:16px}.spinner{width:40px;height:40px;border:3px solid #e4e6eb;border-top-color:#3b82f6;border-radius:50%;margin:0 auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state h1{color:#2c3e50;font-size:20px;margin-bottom:12px}.error-message{color:#ef4444;font-size:14px;margin-bottom:24px}@media (max-width: 640px){.consent-container{padding:24px}.consent-header h1{font-size:24px}.oauth-icon{font-size:36px}.consent-actions{flex-direction:column-reverse}.info-row{flex-direction:column;align-items:flex-start}.info-row .value{text-align:left;margin-top:4px}}:root{--app-bg: #57c432}html,body{height:100%;margin:0;padding:0;background:var(--app-bg)}#root{min-height:100%;background:var(--app-bg)}.app-shell{min-height:100vh;background:var(--app-bg)}:root{--sidebar-bg: #0b1220;--sidebar-text: #e2e8f0;--sidebar-text-muted: #94a3b8;--sidebar-border: #1e293b;--sidebar-hover-bg: #1e293b;--sidebar-active-bg: #2563eb;--sidebar-active-text: #ffffff;--sidebar-app-nav-width: 240px;--sidebar-app-nav-collapsed-width: 64px;--sidebar-app-specific-width: 300px;--sidebar-app-specific-collapsed-width: 64px;--sidebar-toggle-size: 40px;--sidebar-padding: 16px;--sidebar-gap: 8px;--sidebar-transition: all .3s ease-in-out;--sidebar-transition-fast: all .15s ease-in-out;--sidebar-z-index: 100;--sidebar-toggle-z-index: 101;--breakpoint-mobile: 768px;--breakpoint-tablet: 1024px}.root-layout{display:flex;height:100vh;overflow:hidden;position:relative;background:var(--app-bg)}.root-layout-main{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;transition:var(--sidebar-transition)}.sidebar-app-nav,.sidebar-app-specific{background-color:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;transition:var(--sidebar-transition);overflow:hidden;border-right:1px solid var(--sidebar-border)}.sidebar-app-nav{width:var(--sidebar-app-nav-width);z-index:var(--sidebar-z-index)}.sidebar-app-nav.collapsed{width:var(--sidebar-app-nav-collapsed-width)}.sidebar-app-specific{width:var(--sidebar-app-specific-width);z-index:calc(var(--sidebar-z-index) - 1);background-color:#fff;color:#2c3e50}.sidebar-app-specific.collapsed{width:var(--sidebar-app-specific-collapsed-width)}.sidebar-content{flex:1;padding:var(--sidebar-padding);display:flex;flex-direction:column;gap:var(--sidebar-gap);overflow-y:auto}.sidebar-toggle{width:100%;height:var(--sidebar-toggle-size);background-color:var(--sidebar-bg);color:var(--sidebar-text);border:none;border-top:1px solid var(--sidebar-border);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--sidebar-transition-fast);flex-shrink:0}.sidebar-toggle:hover{background-color:var(--sidebar-hover-bg)}.sidebar-toggle:active{transform:scale(.95)}.sidebar-nav-container{display:flex;flex-direction:column;height:100%}.sidebar-nav-main{flex:1;display:flex;flex-direction:column;gap:var(--sidebar-gap)}.sidebar-nav-bottom{margin-top:auto;padding-top:var(--sidebar-padding);border-top:1px solid var(--sidebar-border)}.sidebar-nav-link{display:flex;align-items:center;gap:12px;padding:12px var(--sidebar-padding);color:var(--sidebar-text-muted);text-decoration:none;border-radius:4px;transition:var(--sidebar-transition-fast);white-space:nowrap;cursor:pointer}.sidebar-nav-link:hover{background-color:var(--sidebar-hover-bg);color:var(--sidebar-text)}.sidebar-nav-link.active{background-color:var(--sidebar-active-bg);color:var(--sidebar-active-text)}.sidebar-nav-link.logout-button{color:#ef4444}.sidebar-nav-link.logout-button:hover{background-color:#ef44441a;color:#dc2626}.sidebar-nav-link.collapsed{justify-content:center;padding:12px}.sidebar-nav-link.collapsed .nav-link-text{display:none}@media (max-width: 1024px) and (min-width: 768px){.sidebar-app-nav{width:200px}.sidebar-app-specific{width:250px}}@media (max-width: 767px){.sidebar-app-nav{position:fixed;left:0;top:0;height:100vh;z-index:var(--sidebar-z-index);transform:translate(0)}.sidebar-app-nav.collapsed{transform:translate(calc(-1 * var(--sidebar-app-nav-width)));width:var(--sidebar-app-nav-width)}.sidebar-app-specific{position:fixed;left:var(--sidebar-app-nav-width);top:0;height:100vh;transform:translate(0)}.sidebar-app-nav.collapsed~.sidebar-app-specific{left:0}.sidebar-toggle{left:8px;top:8px}.sidebar-app-nav.collapsed~.sidebar-toggle,.root-layout:has(.sidebar-app-nav.collapsed) .sidebar-toggle{left:8px}.root-layout:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:calc(var(--sidebar-z-index) - 2);opacity:1;transition:opacity var(--sidebar-transition);pointer-events:auto}.root-layout:has(.sidebar-app-nav.collapsed):before{opacity:0;pointer-events:none}}.sidebar-nav-link:focus-visible{outline:2px solid var(--sidebar-active-bg);outline-offset:2px}.sidebar-toggle:focus-visible{outline:2px solid var(--sidebar-active-bg);outline-offset:2px}@media (prefers-reduced-motion: reduce){.sidebar-app-nav,.sidebar-app-specific,.sidebar-toggle,.sidebar-nav-link,.root-layout-main,.root-layout:before{transition:none}}.sidebar-nav-icon{position:relative;display:flex;align-items:center;justify-content:center}.connection-status-dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;background-color:#10b981;border-radius:50%;border:2px solid var(--sidebar-bg);box-shadow:0 0 4px #10b98180}.agents-with-sidebar{display:flex;flex-direction:row;height:100vh;overflow:hidden}.agents-content{flex:1;background:#fff;min-width:0;overflow-y:auto;padding:24px}.agents-sidebar-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4e6eb;padding-bottom:12px;margin-bottom:16px}.agents-sidebar-title{margin:0;font-size:16px;font-weight:600;padding:10px;color:#2c3e50;white-space:nowrap;overflow:hidden;display:flex;align-items:center;gap:8px}.agents-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:auto;transition:background-color .3s ease}.agents-status-dot.connected{background-color:#10b981;box-shadow:0 0 8px #10b98166}.agents-status-dot.disconnected{background-color:#ef4444;box-shadow:0 0 8px #ef444466}.agents-sidebar-section{margin-bottom:24px}.agents-sidebar-section-title{margin:0 0 12px;padding:0 10px;font-size:13px;font-weight:600;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.agents-nav-list{display:flex;flex-direction:column;gap:4px}.agents-nav-item{padding:8px 12px;border-radius:6px;font-size:13px;color:#2c3e50;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.agents-nav-item:hover{background:#f8f9fa}.agents-nav-item.active{background:#2563eb;color:#fff}.agents-history-list{display:flex;flex-direction:column;gap:4px}.agents-history-item{padding:8px 12px;border-radius:6px;font-size:13px;color:#2c3e50;cursor:pointer;transition:all .2s ease}.agents-history-item:hover{background:#f8f9fa}.agents-history-item.active{background:#2563eb;color:#fff}.agents-resources-sidebar{width:300px;background:#f8f9fa;border-left:1px solid #e4e6eb;overflow-y:auto;display:flex;flex-direction:column}.agents-resources-header{padding:16px;border-bottom:1px solid #e4e6eb;background:#fff}.agents-resources-title{margin:0;font-size:16px;font-weight:600;color:#2c3e50}.agents-resources-content{padding:16px;display:flex;flex-direction:column;gap:24px}.agents-resource-section h4{margin:0 0 12px;font-size:13px;font-weight:600;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.agents-resource-placeholder{padding:12px;background:#fff;border-radius:8px;font-size:13px;color:#7f8c8d;text-align:center}.agents-home{max-width:1400px;margin:0 auto;padding:24px}.agents-home-header{margin-bottom:32px}.agents-home-header h2{margin:0 0 8px;font-size:32px;font-weight:700;color:#2c3e50}.agents-home-header p{margin:0;font-size:16px;color:#7f8c8d}.agents-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.agent-card{display:flex;flex-direction:column;align-items:center;gap:16px;background:#fff;border:2px solid #e4e6eb;border-radius:16px;padding:32px 24px;text-align:center;cursor:pointer;transition:all .2s ease}.agent-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:#3b82f6}.agent-card-icon{font-size:48px;line-height:1}.agent-card-title{margin:0;font-size:20px;font-weight:600;color:#2c3e50}.agent-card-description{margin:0;font-size:14px;color:#7f8c8d;line-height:1.5}.agents-chat-session{display:flex;flex-direction:column;height:100%;max-width:900px;margin:0 auto}.agents-chat-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e4e6eb}.agents-chat-header h2{margin:0 0 8px;font-size:24px;font-weight:600;color:#2c3e50}.agents-chat-meta{display:flex;gap:16px;font-size:13px;color:#7f8c8d}.agents-chat-messages{flex:1;overflow-y:auto;padding:24px 0}.agents-chat-message{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.agents-chat-message.user{align-items:flex-end}.agents-chat-message.assistant{align-items:flex-start}.agents-chat-message-role{font-size:13px;color:#6b7280;display:flex;align-items:center;gap:8px}.agents-chat-streaming{background:#e0f2fe;color:#0369a1;padding:2px 8px;border-radius:999px;font-size:11px}.agents-chat-bubbles{display:flex;flex-direction:column;gap:10px;max-width:720px}.agents-chat-message.user .agents-chat-bubbles{align-items:flex-end}.agents-chat-message.assistant .agents-chat-bubbles{align-items:flex-start}.chat-bubble{border-radius:14px;padding:12px 14px;box-shadow:0 4px 12px #0000000f;border:1px solid transparent;width:fit-content;max-width:100%}.bubble-text{white-space:pre-wrap;word-break:break-word;line-height:1.5}.bubble-user{background:#2563eb;color:#fff;border-color:#1d4ed8}.bubble-assistant{background:#f1f5f9;color:#111827;border-color:#e5e7eb}.bubble-thinking{background:#fff7ed;color:#7c2d12;border-color:#fdba74}.bubble-tool-call{background:#e0f2fe;color:#0c4a6e;border-color:#7dd3fc}.bubble-tool-response{background:#ecfdf3;color:#166534;border-color:#bbf7d0}.agents-chat-message-part details{width:100%}.agents-chat-message-part summary{cursor:pointer;font-weight:600}.agents-chat-message-part pre{background:#0000000a;padding:10px;border-radius:10px;overflow:auto;margin-top:8px;font-size:13px}.typing-indicator{display:inline-block;margin-left:8px;color:#0ea5e9;animation:pulse 1.2s infinite}@keyframes pulse{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}.agents-chat-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:#7f8c8d;text-align:center}.agents-chat-placeholder p{margin:0;font-size:16px}.agents-chat-placeholder-hint{font-size:14px;color:#95a5a6}.agents-chat-input{display:flex;gap:12px;padding:16px 0;border-top:1px solid #e4e6eb}.agents-chat-input-field{flex:1;padding:12px 16px;border:1px solid #dce4ec;border-radius:10px;font-size:14px;font-family:inherit}.agents-chat-input-field:focus{outline:none;border-color:#3b82f6}.agents-chat-send-button{padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease}.agents-chat-send-button:hover:not(:disabled){background:#2563eb}.agents-chat-send-button:disabled{opacity:.6;cursor:not-allowed}.agents-admin{max-width:1000px;margin:0 auto}.agents-admin-header{margin-bottom:32px}.agents-admin-header h2{margin:0 0 8px;font-size:28px;font-weight:700;color:#2c3e50}.agents-admin-header p{margin:0;font-size:16px;color:#7f8c8d}.agents-admin-content{display:flex;flex-direction:column;gap:24px}.agents-admin-section{background:#fff;border:1px solid #e4e6eb;border-radius:12px;padding:24px}.agents-admin-section h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#2c3e50}.agents-admin-placeholder{padding:32px;background:#f8f9fa;border-radius:8px;text-align:center}.agents-admin-placeholder p{margin:0;font-size:14px;color:#7f8c8d}@media (max-width: 1024px){.agents-resources-sidebar{display:none}}@media (max-width: 768px){.agents-content{padding:16px}.agents-grid{grid-template-columns:1fr}.agents-home-header h2{font-size:24px}}.sidebar-app-specific.collapsed .agents-sidebar-header{justify-content:center}.sidebar-app-specific.collapsed .agents-sidebar-title,.sidebar-app-specific.collapsed .agents-sidebar-section,.sidebar-app-specific.collapsed .agents-history-list{display:none}.agents-admin-list{max-width:1400px;margin:0 auto;padding:24px}.agents-admin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.agents-admin-header h1{margin:0 0 8px;font-size:32px;font-weight:700;color:#2c3e50}.subtitle{margin:0;font-size:16px;color:#7f8c8d}.header-actions{display:flex;gap:12px}.btn-primary{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:#2563eb;transform:translateY(-1px)}.btn-secondary{background:#fff;color:#3b82f6;border:1px solid #3b82f6;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#eff6ff}.btn-back{background:transparent;color:#3b82f6;border:none;padding:8px 0;font-size:14px;font-weight:600;cursor:pointer;margin-bottom:12px;transition:color .2s ease}.btn-back:hover{color:#2563eb}.btn-delete{background:#ef4444;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-delete:hover{background:#dc2626;transform:translateY(-1px)}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;padding:12px 16px;margin-bottom:16px;color:#c00}.loading{text-align:center;padding:48px;color:#7f8c8d;font-size:16px}.agents-admin-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.empty-state{text-align:center;padding:64px 24px;background:#fff;border-radius:12px;border:2px dashed #e4e6eb}.empty-state p{margin:0 0 16px;font-size:16px;color:#7f8c8d}.agent-admin-card{background:#fff;border:1px solid #e4e6eb;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s ease}.agent-admin-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#3b82f6}.agent-admin-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.agent-admin-card h3{margin:0;font-size:18px;font-weight:600;color:#2c3e50}.agent-status{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.agent-status.active{background:#d1fae5;color:#065f46}.agent-status.inactive{background:#fee;color:#991b1b}.agent-slug{margin:0 0 8px;font-size:13px;color:#7f8c8d;font-family:monospace}.agent-description{margin:0 0 12px;font-size:14px;color:#2c3e50;line-height:1.5}.agent-tools{margin:0;font-size:13px;color:#7f8c8d}.agent-admin-detail{max-width:1000px;margin:0 auto;padding:24px}.agent-admin-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.agent-admin-detail-header h1{margin:8px 0;font-size:28px;font-weight:700;color:#2c3e50}.agent-edit-form{background:#fff;border-radius:12px;padding:24px;border:1px solid #e4e6eb}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:600;color:#2c3e50}.form-group input[type=text],.form-group textarea{width:100%;padding:10px 12px;border:1px solid #dce4ec;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .2s ease}.form-group input[type=text]:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6}.form-group textarea{resize:vertical;font-family:SF Mono,Monaco,Courier New,monospace;line-height:1.5}.form-group small{display:block;margin-top:4px;font-size:12px;color:#7f8c8d}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label span{font-size:14px;font-weight:400}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.agent-detail-sections{display:flex;flex-direction:column;gap:24px}.detail-section{background:#fff;border-radius:12px;padding:24px;border:1px solid #e4e6eb}.detail-section h2{margin:0 0 16px;font-size:18px;font-weight:600;color:#2c3e50}.detail-content{display:flex;flex-direction:column;gap:16px}.detail-field{display:flex;flex-direction:column;gap:4px}.detail-field label{font-size:13px;font-weight:600;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.detail-field p{margin:0;font-size:14px;color:#2c3e50}.system-prompt-display{background:#f8f9fa;padding:16px;border-radius:8px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;color:#2c3e50;white-space:pre-wrap;word-wrap:break-word;margin:0}.tools-list{display:flex;flex-wrap:wrap;gap:8px}.tool-badge{background:#e3f2fd;color:#1976d2;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500}.empty-text{color:#7f8c8d;font-size:14px;margin:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;padding:24px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-content h2{margin:0 0 20px;font-size:24px;font-weight:600;color:#2c3e50}@media (max-width: 768px){.agents-admin-list,.agent-admin-detail{padding:16px}.agents-admin-grid{grid-template-columns:1fr}.agents-admin-header,.agent-admin-detail-header{flex-direction:column;gap:16px}.header-actions{width:100%;justify-content:stretch}.header-actions button{flex:1}}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
<!-- Tells iOS this is an app -->
|
|
8
|
+
<link rel="manifest" href="/beta/manifest.webmanifest">
|
|
9
|
+
|
|
10
|
+
<!-- This says: “When launched from Home Screen, treat this as an app, not Safari.” -->
|
|
11
|
+
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
12
|
+
|
|
13
|
+
<!-- This says: "Let my page extend under the notch and into the screen corners." -->
|
|
14
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
|
15
|
+
|
|
16
|
+
<!-- This controls what iOS does with the status bar area. black-translucent means: “I will paint behind the notch myself.” -->
|
|
17
|
+
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
|
18
|
+
|
|
19
|
+
<link rel="icon" type="image/svg+xml" href="/beta/roo-favicon.svg" />
|
|
20
|
+
<title>taico — Home</title>
|
|
21
|
+
<script type="module" crossorigin src="/beta/assets/index-BO6PlAsO.js"></script>
|
|
22
|
+
<link rel="stylesheet" crossorigin href="/beta/assets/index-DIzh0pTC.css">
|
|
23
|
+
</head>
|
|
24
|
+
<body>
|
|
25
|
+
<div id="root"></div>
|
|
26
|
+
</body>
|
|
27
|
+
</html>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "/beta/",
|
|
3
|
+
"name": "ai (beta)",
|
|
4
|
+
"short_name": "ai beta",
|
|
5
|
+
"start_url": "/beta/",
|
|
6
|
+
"scope": "/beta/",
|
|
7
|
+
"display": "standalone",
|
|
8
|
+
"orientation": "portrait",
|
|
9
|
+
"icons": [
|
|
10
|
+
{
|
|
11
|
+
"src": "/beta/icons/icon-192.png",
|
|
12
|
+
"sizes": "192x192",
|
|
13
|
+
"type": "image/png"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"src": "/beta/icons/icon-512.png",
|
|
17
|
+
"sizes": "512x512",
|
|
18
|
+
"type": "image/png"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"src": "/beta/icons/maskable-512.png",
|
|
22
|
+
"sizes": "512x512",
|
|
23
|
+
"type": "image/png",
|
|
24
|
+
"purpose": "maskable"
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128">
|
|
2
|
+
<rect width="128" height="128" rx="24" fill="#f7b731" />
|
|
3
|
+
<g transform="translate(14 20)">
|
|
4
|
+
<path d="M72 18c0 9.94-12 18-26.8 18S18.4 27.94 18.4 18 30.4 0 45.2 0 72 8.06 72 18Z" fill="#fff3cd" />
|
|
5
|
+
<ellipse cx="45" cy="32" rx="22" ry="18" fill="#fed330" />
|
|
6
|
+
<circle cx="35" cy="30" r="6" fill="#1f2d3d" />
|
|
7
|
+
<circle cx="55" cy="30" r="6" fill="#1f2d3d" />
|
|
8
|
+
<path d="M28 54c12 12 22 12 34 0" stroke="#1f2d3d" stroke-width="6" stroke-linecap="round" fill="none" />
|
|
9
|
+
<path d="M19 18C11 20 6 28 7 37" stroke="#1f2d3d" stroke-width="6" stroke-linecap="round" fill="none" />
|
|
10
|
+
<path d="M71 18c8 2 13 10 12 19" stroke="#1f2d3d" stroke-width="6" stroke-linecap="round" fill="none" />
|
|
11
|
+
</g>
|
|
12
|
+
<text x="64" y="116" text-anchor="middle" font-size="28" font-family="'Comic Sans MS', cursive" fill="#1f2d3d">roo!</text>
|
|
13
|
+
</svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<svg width="721" height="721" viewBox="0 0 721 721" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_1637_2934)">
|
|
3
|
+
<g clip-path="url(#clip1_1637_2934)">
|
|
4
|
+
<path d="M304.246 294.611V249.028C304.246 245.189 305.687 242.309 309.044 240.392L400.692 187.612C413.167 180.415 428.042 177.058 443.394 177.058C500.971 177.058 537.44 221.682 537.44 269.182C537.44 272.54 537.44 276.379 536.959 280.218L441.954 224.558C436.197 221.201 430.437 221.201 424.68 224.558L304.246 294.611ZM518.245 472.145V363.224C518.245 356.505 515.364 351.707 509.608 348.349L389.174 278.296L428.519 255.743C431.877 253.826 434.757 253.826 438.115 255.743L529.762 308.523C556.154 323.879 573.905 356.505 573.905 388.171C573.905 424.636 552.315 458.225 518.245 472.141V472.145ZM275.937 376.182L236.592 353.152C233.235 351.235 231.794 348.354 231.794 344.515V238.956C231.794 187.617 271.139 148.749 324.4 148.749C344.555 148.749 363.264 155.468 379.102 167.463L284.578 222.164C278.822 225.521 275.942 230.319 275.942 237.039V376.186L275.937 376.182ZM360.626 425.122L304.246 393.455V326.283L360.626 294.616L417.002 326.283V393.455L360.626 425.122ZM396.852 570.989C376.698 570.989 357.989 564.27 342.151 552.276L436.674 497.574C442.431 494.217 445.311 489.419 445.311 482.699V343.552L485.138 366.582C488.495 368.499 489.936 371.379 489.936 375.219V480.778C489.936 532.117 450.109 570.985 396.852 570.985V570.989ZM283.134 463.99L191.486 411.211C165.094 395.854 147.343 363.229 147.343 331.562C147.343 294.616 169.415 261.509 203.48 247.593V356.991C203.48 363.71 206.361 368.508 212.117 371.866L332.074 441.437L292.729 463.99C289.372 465.907 286.491 465.907 283.134 463.99ZM277.859 542.68C223.639 542.68 183.813 501.895 183.813 451.514C183.813 447.675 184.294 443.836 184.771 439.997L279.295 494.698C285.051 498.056 290.812 498.056 296.568 494.698L417.002 425.127V470.71C417.002 474.549 415.562 477.429 412.204 479.346L320.557 532.126C308.081 539.323 293.206 542.68 277.854 542.68H277.859ZM396.852 599.776C454.911 599.776 503.37 558.513 514.41 503.812C568.149 489.896 602.696 439.515 602.696 388.176C602.696 354.587 588.303 321.962 562.392 298.45C564.791 288.373 566.231 278.296 566.231 268.224C566.231 199.611 510.571 148.267 446.274 148.267C433.322 148.267 420.846 150.184 408.37 154.505C386.775 133.392 357.026 119.958 324.4 119.958C266.342 119.958 217.883 161.22 206.843 215.921C153.104 229.837 118.557 280.218 118.557 331.557C118.557 365.146 132.95 397.771 158.861 421.283C156.462 431.36 155.022 441.437 155.022 451.51C155.022 520.123 210.682 571.466 274.978 571.466C287.931 571.466 300.407 569.549 312.883 565.228C334.473 586.341 364.222 599.776 396.852 599.776Z" fill="black"/>
|
|
5
|
+
</g>
|
|
6
|
+
</g>
|
|
7
|
+
<defs>
|
|
8
|
+
<clipPath id="clip0_1637_2934">
|
|
9
|
+
<rect width="720" height="720" fill="white" transform="translate(0.606934 0.0999756)"/>
|
|
10
|
+
</clipPath>
|
|
11
|
+
<clipPath id="clip1_1637_2934">
|
|
12
|
+
<rect width="484.139" height="479.818" fill="white" transform="translate(118.557 119.958)"/>
|
|
13
|
+
</clipPath>
|
|
14
|
+
</defs>
|
|
15
|
+
</svg>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<svg width="721" height="721" viewBox="0 0 721 721" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_1637_2935)">
|
|
3
|
+
<g clip-path="url(#clip1_1637_2935)">
|
|
4
|
+
<path d="M304.246 295.411V249.828C304.246 245.989 305.687 243.109 309.044 241.191L400.692 188.412C413.167 181.215 428.042 177.858 443.394 177.858C500.971 177.858 537.44 222.482 537.44 269.982C537.44 273.34 537.44 277.179 536.959 281.018L441.954 225.358C436.197 222 430.437 222 424.68 225.358L304.246 295.411ZM518.245 472.945V364.024C518.245 357.304 515.364 352.507 509.608 349.149L389.174 279.096L428.519 256.543C431.877 254.626 434.757 254.626 438.115 256.543L529.762 309.323C556.154 324.679 573.905 357.304 573.905 388.971C573.905 425.436 552.315 459.024 518.245 472.941V472.945ZM275.937 376.982L236.592 353.952C233.235 352.034 231.794 349.154 231.794 345.315V239.756C231.794 188.416 271.139 149.548 324.4 149.548C344.555 149.548 363.264 156.268 379.102 168.262L284.578 222.964C278.822 226.321 275.942 231.119 275.942 237.838V376.986L275.937 376.982ZM360.626 425.922L304.246 394.255V327.083L360.626 295.416L417.002 327.083V394.255L360.626 425.922ZM396.852 571.789C376.698 571.789 357.989 565.07 342.151 553.075L436.674 498.374C442.431 495.017 445.311 490.219 445.311 483.499V344.352L485.138 367.382C488.495 369.299 489.936 372.179 489.936 376.018V481.577C489.936 532.917 450.109 571.785 396.852 571.785V571.789ZM283.134 464.79L191.486 412.01C165.094 396.654 147.343 364.029 147.343 332.362C147.343 295.416 169.415 262.309 203.48 248.393V357.791C203.48 364.51 206.361 369.308 212.117 372.665L332.074 442.237L292.729 464.79C289.372 466.707 286.491 466.707 283.134 464.79ZM277.859 543.48C223.639 543.48 183.813 502.695 183.813 452.314C183.813 448.475 184.294 444.636 184.771 440.797L279.295 495.498C285.051 498.856 290.812 498.856 296.568 495.498L417.002 425.927V471.509C417.002 475.349 415.562 478.229 412.204 480.146L320.557 532.926C308.081 540.122 293.206 543.48 277.854 543.48H277.859ZM396.852 600.576C454.911 600.576 503.37 559.313 514.41 504.612C568.149 490.696 602.696 440.315 602.696 388.976C602.696 355.387 588.303 322.762 562.392 299.25C564.791 289.173 566.231 279.096 566.231 269.024C566.231 200.411 510.571 149.067 446.274 149.067C433.322 149.067 420.846 150.984 408.37 155.305C386.775 134.192 357.026 120.758 324.4 120.758C266.342 120.758 217.883 162.02 206.843 216.721C153.104 230.637 118.557 281.018 118.557 332.357C118.557 365.946 132.95 398.571 158.861 422.083C156.462 432.16 155.022 442.237 155.022 452.309C155.022 520.922 210.682 572.266 274.978 572.266C287.931 572.266 300.407 570.349 312.883 566.028C334.473 587.141 364.222 600.576 396.852 600.576Z" fill="white"/>
|
|
5
|
+
</g>
|
|
6
|
+
</g>
|
|
7
|
+
<defs>
|
|
8
|
+
<clipPath id="clip0_1637_2935">
|
|
9
|
+
<rect width="720" height="720" fill="white" transform="translate(0.606934 0.899902)"/>
|
|
10
|
+
</clipPath>
|
|
11
|
+
<clipPath id="clip1_1637_2935">
|
|
12
|
+
<rect width="484.139" height="479.818" fill="white" transform="translate(118.557 120.758)"/>
|
|
13
|
+
</clipPath>
|
|
14
|
+
</defs>
|
|
15
|
+
</svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width='240' height='300' viewBox='0 0 240 300' fill='none' xmlns='http://www.w3.org/2000/svg'><g clip-path='url(#clip0_1401_86283)'><mask id='mask0_1401_86283' style='mask-type:luminance' maskUnits='userSpaceOnUse' x='0' y='0' width='240' height='300'><path d='M240 0H0V300H240V0Z' fill='white'/></mask><g mask='url(#mask0_1401_86283)'><path d='M180 240H60V120H180V240Z' fill='#4B4646'/><path d='M180 60H60V240H180V60ZM240 300H0V0H240V300Z' fill='#F1ECEC'/></g></g><defs><clipPath id='clip0_1401_86283'><rect width='240' height='300' fill='white'/></clipPath></defs></svg>
|
|
Binary file
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8" />
|
|
6
|
+
<!-- Icons -->
|
|
7
|
+
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
|
8
|
+
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
|
9
|
+
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
|
10
|
+
|
|
11
|
+
<!-- Tells iOS this is an app -->
|
|
12
|
+
<link rel="manifest" href="/manifest.webmanifest">
|
|
13
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
|
14
|
+
<!-- This controls what iOS does with the status bar area. black-translucent means: “I will paint behind the notch myself.” -->
|
|
15
|
+
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
|
16
|
+
|
|
17
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
|
18
|
+
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
19
|
+
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
|
20
|
+
<title>taico</title>
|
|
21
|
+
<script type="module" crossorigin src="/assets/index-G5Ht4law.js"></script>
|
|
22
|
+
<link rel="stylesheet" crossorigin href="/assets/index-NjAtMwFI.css">
|
|
23
|
+
</head>
|
|
24
|
+
|
|
25
|
+
<body>
|
|
26
|
+
<div id="root"></div>
|
|
27
|
+
<div id="overlay-root"></div>
|
|
28
|
+
</body>
|
|
29
|
+
|
|
30
|
+
</html>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "taico",
|
|
3
|
+
"short_name": "taico",
|
|
4
|
+
"start_url": "/",
|
|
5
|
+
"scope": "/",
|
|
6
|
+
"display": "standalone",
|
|
7
|
+
"orientation": "portrait",
|
|
8
|
+
"icons": [
|
|
9
|
+
{
|
|
10
|
+
"src": "/android-chrome-192.png",
|
|
11
|
+
"sizes": "192x192",
|
|
12
|
+
"type": "image/png"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"src": "/android-chrome-512.png",
|
|
16
|
+
"sizes": "512x512",
|
|
17
|
+
"type": "image/png"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"theme_color": "#ffffff",
|
|
21
|
+
"background_color": "#ffffff"
|
|
22
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@taico/ui",
|
|
3
|
+
"private": true,
|
|
4
|
+
"version": "0.8.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "vite",
|
|
8
|
+
"build": "tsc --noEmit && vite build",
|
|
9
|
+
"build:prod": "npm run build",
|
|
10
|
+
"lint": "eslint .",
|
|
11
|
+
"preview": "vite preview"
|
|
12
|
+
},
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@radix-ui/react-dialog": "^1.1.15",
|
|
15
|
+
"@taico/client": "^0.8.0",
|
|
16
|
+
"@taico/events": "^0.8.0",
|
|
17
|
+
"@taico/shared": "^0.8.0",
|
|
18
|
+
"lucide-react": "^1.11.0",
|
|
19
|
+
"marked-react": "^4.0.0",
|
|
20
|
+
"react": "^19.2.0",
|
|
21
|
+
"react-dom": "^19.2.0",
|
|
22
|
+
"react-router-dom": "^7.11.0",
|
|
23
|
+
"socket.io-client": "^4.8.3"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@eslint/js": "^9.39.1",
|
|
27
|
+
"@types/node": "^24.10.1",
|
|
28
|
+
"@types/react": "^19.2.5",
|
|
29
|
+
"@types/react-dom": "^19.2.3",
|
|
30
|
+
"@vitejs/plugin-react": "^5.1.1",
|
|
31
|
+
"eslint": "^9.39.1",
|
|
32
|
+
"eslint-plugin-react-hooks": "^7.0.1",
|
|
33
|
+
"eslint-plugin-react-refresh": "^0.4.24",
|
|
34
|
+
"globals": "^16.5.0",
|
|
35
|
+
"typescript": "~5.9.3",
|
|
36
|
+
"typescript-eslint": "^8.46.4",
|
|
37
|
+
"vite": "^7.2.4",
|
|
38
|
+
"vite-plugin-checker": "^0.12.0"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taico/taico",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.6",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "PolyForm-Small-Business-1.0.0",
|
|
6
6
|
"main": "./dist/main.js",
|
|
@@ -71,9 +71,9 @@
|
|
|
71
71
|
"@nestjs/websockets": "^11.1.17",
|
|
72
72
|
"@opencode-ai/sdk": "^1.1.28",
|
|
73
73
|
"@socket.io/postgres-adapter": "^0.5.0",
|
|
74
|
-
"@taico/errors": "^0.8.
|
|
75
|
-
"@taico/events": "^0.8.
|
|
76
|
-
"@taico/shared": "^0.8.
|
|
74
|
+
"@taico/errors": "^0.8.6",
|
|
75
|
+
"@taico/events": "^0.8.6",
|
|
76
|
+
"@taico/shared": "^0.8.6",
|
|
77
77
|
"@types/bcrypt": "^6.0.0",
|
|
78
78
|
"@types/cookie-parser": "^1.4.10",
|
|
79
79
|
"ai": "^7.0.137",
|