.slide-up-enter-active[data-v-183ead5b],.slide-up-leave-active[data-v-183ead5b]{transition:transform .3s ease,opacity .3s ease}.slide-up-enter-from[data-v-183ead5b],.slide-up-leave-to[data-v-183ead5b]{transform:translateY(100%);opacity:0}.voice-overlay[data-v-183ead5b]{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(180deg,#6366f1,#8b5cf6,#a855f7);padding:60px 20px 30px;border-radius:24px 24px 0 0;z-index:1000;transition:transform .1s ease}.voice-overlay.swipe-up[data-v-183ead5b]{transform:translateY(-20px)}.waveform-container[data-v-183ead5b]{display:flex;justify-content:center;padding:20px 0}.waveform[data-v-183ead5b]{display:flex;align-items:flex-end;gap:4px;height:80px;padding:0 20px}.bar[data-v-183ead5b]{width:6px;background:#ffffffe6;border-radius:3px;transition:height .08s ease;min-height:8px}.voice-hint[data-v-183ead5b]{text-align:center;color:#fff;font-size:15px;font-weight:500;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.2)}.modal[data-v-04517788]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.modal-content[data-v-04517788]{background:#fff;padding:32px;border-radius:16px;width:90%;max-width:420px;box-shadow:0 8px 32px #0003}.modal-header[data-v-04517788]{text-align:center;margin-bottom:24px}.shield-icon[data-v-04517788]{font-size:48px;margin-bottom:12px}.modal-header h3[data-v-04517788]{font-size:20px;color:#333;margin:0}.modal-body[data-v-04517788]{text-align:center}.info-line[data-v-04517788]{color:#666;font-size:14px;margin:8px 0}.sn-code[data-v-04517788]{font-family:Courier New,monospace;font-size:16px;font-weight:600;color:#333;margin:4px 0}.ip-address[data-v-04517788]{font-size:14px;color:#666}.divider[data-v-04517788]{height:1px;background:#e0e0e0;margin:20px 0}.code-label[data-v-04517788]{color:#999;font-size:14px;margin-bottom:8px}.code-display[data-v-04517788]{font-size:36px;font-weight:700;color:#007aff;font-family:Courier New,monospace;letter-spacing:4px;margin:0}.error-message[data-v-04517788]{color:#e53935;font-size:14px;margin-top:16px;padding:12px;background:#ffebee;border-radius:8px}.modal-footer[data-v-04517788]{display:flex;gap:12px;margin-top:24px}.modal-footer button[data-v-04517788]{flex:1;padding:14px 20px;border:none;border-radius:8px;font-size:16px;cursor:pointer;transition:background .2s}.btn-secondary[data-v-04517788]{background:#e0e0e0;color:#333}.btn-secondary[data-v-04517788]:hover{background:#d0d0d0}.btn-primary[data-v-04517788]{background:#007aff;color:#fff;display:flex;align-items:center;justify-content:center}.btn-primary[data-v-04517788]:hover:not(:disabled){background:#0056cc}.btn-primary[data-v-04517788]:disabled{opacity:.7;cursor:not-allowed}.spinner[data-v-04517788]{width:20px;height:20px;border:2px solid white;border-top-color:transparent;border-radius:50%;animation:spin-04517788 .8s linear infinite}@keyframes spin-04517788{to{transform:rotate(360deg)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#0a0a0f;color:#e0e0e0;min-height:100vh}#app{min-height:100vh}.has-nav{padding-top:56px}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px}.login-page h1{font-size:2rem;margin-bottom:2rem;color:#333}.login-page form{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:320px}.login-page input{padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-size:1rem}.login-page button{padding:12px 16px;background:#007aff;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer}.login-page button:hover{background:#0056cc}.error{color:#e53935;font-size:.875rem;margin-top:.5rem}.project-list,.project-detail,.task-detail{max-width:800px;margin:0 auto;padding:20px}.new-project{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;flex-direction:column;min-height:100vh}h2{margin-bottom:1rem;color:#333}button{padding:10px 20px;background:#007aff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem}button:hover{background:#0056cc}button.secondary{background:#6c757d}button.secondary:hover{background:#545b62}.project-card{background:#fff;padding:16px;border-radius:12px;margin-bottom:12px;cursor:pointer;box-shadow:0 2px 8px #0000001a}.project-card:hover{box-shadow:0 4px 12px #00000026}.project-card h3{margin-bottom:8px;color:#333}.project-card p{color:#666;font-size:.9rem;margin-bottom:4px}.project-card small{color:#999;font-size:.8rem}.task-item{background:#fff;padding:16px;border-radius:12px;margin-bottom:12px;cursor:pointer;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:12px}.task-item:hover{box-shadow:0 4px 12px #00000026}.task-item p{flex:1;color:#333}.status{padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.status.draft{background:#e0e0e0;color:#666}.status.queued{background:#fff3e0;color:#e65100}.status.running{background:#e3f2fd;color:#1565c0}.status.completed,.status.succeeded{background:#e8f5e9;color:#2e7d32}.status.error,.status.failed{background:#ffebee;color:#c62828}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:24px;border-radius:16px;width:90%;max-width:480px;box-shadow:0 8px 32px #0003}.modal-content h3{margin-bottom:16px}.modal-content input,.modal-content textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;margin-bottom:12px}.modal-content .btn-group{display:flex;gap:12px;justify-content:flex-end}.voice-input{display:flex;align-items:center;gap:16px;margin-bottom:16px}.transcript{flex:1;padding:12px;background:#f5f5f5;border-radius:8px;min-height:44px}.text-display{margin-bottom:16px}.text-display textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;margin-bottom:12px;font-size:1rem;resize:vertical}.text-display .btn-row{display:flex;gap:12px}.send-btn{width:100%;padding:16px;font-size:1.1rem;background:#4caf50;margin-bottom:16px}.send-btn:hover{background:#388e3c}.back-btn{margin-bottom:16px}.image-upload-area{border:2px dashed #ddd;border-radius:12px;padding:32px;text-align:center;margin-bottom:16px;cursor:pointer}.image-upload-area:hover{border-color:#007aff;background:#f8f8f8}.image-preview{max-width:100%;border-radius:8px;margin-top:12px}.task-status-live{padding:16px;background:#fff;border-radius:12px;margin-bottom:16px;box-shadow:0 2px 8px #0000001a}.task-status-live .status-line{display:flex;align-items:center;gap:12px}.status-dot{width:12px;height:12px;border-radius:50%;background:#999}.status-dot.queued{background:#ff9800}.status-dot.running{background:#2196f3;animation:blink 1s infinite}.status-dot.completed,.status-dot.succeeded{background:#4caf50}.status-dot.error,.status-dot.failed{background:#f44336}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.dir-browser{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px}.dir-item{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:8px}.dir-item:hover{background:#f5f5f5;border-radius:4px}.dir-item.selected{background:#e3f2fd;border-radius:4px}.empty{text-align:center;padding:40px;color:#999}.messages{background:#fff;border-radius:12px;padding:16px;margin-top:16px}.message{padding:12px;margin-bottom:8px;border-radius:8px}.message.user{background:#e3f2fd;margin-left:20%}.message.assistant{background:#f5f5f5;margin-right:20%}@media (max-width: 768px){.project-list,.project-detail,.task-detail{padding:12px}.modal-content{padding:16px}}
