.analysis-section[data-v-f70f5c08]{margin-bottom:50px}.section-title[data-v-f70f5c08]{font-size:22px;font-weight:700;margin-bottom:30px;display:flex;align-items:center;gap:8px}.section-title .bar[data-v-f70f5c08]{width:4px;height:18px;background:#f97316;border-radius:2px}.top-cards[data-v-f70f5c08]{display:flex;gap:30px}.card[data-v-f70f5c08]{flex:1;background:#fff;border-radius:18px;padding:40px;border:1px solid #e5e7eb;text-align:center}.icon-circle[data-v-f70f5c08]{width:60px;height:60px;border-radius:50%;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;font-size:24px}.icon-circle.blue[data-v-f70f5c08]{background:#e0edff}.icon-circle.orange[data-v-f70f5c08]{background:#ffe9dc}.primary-btn[data-v-f70f5c08]{margin-top:20px;background:#f97316;color:#fff;border:none;padding:10px 22px;border-radius:10px;font-weight:600}.upload-area[data-v-f70f5c08]{border:2px dashed #e5e7eb;border-radius:14px;padding:40px;cursor:pointer}.image-gallery[data-v-f70f5c08]{display:flex;flex-direction:column;align-items:center}.image-item[data-v-f70f5c08]{position:relative;width:90px;height:90px}.gallery-image[data-v-f70f5c08]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:10px}.remove-btn[data-v-f70f5c08]{position:absolute;top:-6px;right:-6px;background:#ef4444;border:none;color:#fff;border-radius:50%;width:22px;height:22px}.clear-btn[data-v-f70f5c08]{margin-top:15px;background:none;border:none;color:#f97316;font-weight:600}.nav-bar[data-v-dadd0658]{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid #e5e7eb;background:#fff}.nav-center a[data-v-dadd0658]{margin:0 14px;color:#4b5563;text-decoration:none;font-weight:600;font-size:15px}.nav-center a.router-link-active[data-v-dadd0658]{color:#f97316;font-weight:700}.nav-logo[data-v-dadd0658]{height:28px;-o-object-fit:contain;object-fit:contain;cursor:pointer}.nav-right[data-v-dadd0658]{display:flex;align-items:center;gap:18px}.nav-icon-btn[data-v-dadd0658]{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:8px;transition:background .15s ease,transform .15s ease}.nav-icon-btn img[data-v-dadd0658]{width:30px;height:30px;opacity:.7;transition:opacity .15s ease}.nav-icon-btn[data-v-dadd0658]:hover{background:#f3f4f6}.nav-icon-btn:hover img[data-v-dadd0658]{opacity:1}.nav-icon-btn[data-v-dadd0658]:active{transform:scale(.95)}#modal-overlay[data-v-ad7953fa]{z-index:1056;position:fixed;width:100dvw;height:100dvh;top:0;left:0;background-color:rgba(0,0,0,.5)}[role=dialog][data-v-ad7953fa]{width:498px;height:500px;position:fixed;top:28px;left:50%;transform:translateX(-50%);border-radius:60px;background:#f7f7f7;gap:8px;box-sizing:border-box;overflow:hidden}[role=dialog].modal-center[data-v-ad7953fa]{top:50%;transform:translate(-50%,-50%)}.modal-frame[data-v-ad7953fa]{width:450px;height:319px;margin:24px;box-sizing:border-box;display:flex;flex-direction:column}#modal-header[data-v-ad7953fa]{margin-top:8px;position:relative;height:64px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}#modal-header h2[data-v-ad7953fa]{font-size:24px;font-weight:700;line-height:100%;letter-spacing:-2%;color:#44403f;margin:0}.btn-close[data-v-ad7953fa]{position:absolute;right:1px;cursor:pointer;width:40px;height:40px;background:#ea5414 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3E%3C/svg%3E") 50%/1.4em auto no-repeat;padding:0;opacity:1;border:none;outline:none;box-shadow:none;border-radius:50%}.btn-close[data-v-ad7953fa]:hover{opacity:.8}.form-check-input[data-v-79fc34ef]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:50%;border:2px solid #cbd5e1;cursor:pointer;transition:all .2s ease;position:relative}.form-check-input[data-v-79fc34ef]:checked{background-color:#ea5414;border-color:#ea5414}.form-check-input[data-v-79fc34ef]:focus{outline:none;box-shadow:none}.form[data-v-79fc34ef]{margin-top:30px;display:flex;flex-direction:column;gap:18px}.form-check[data-v-79fc34ef]{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600}.form-check-inline[data-v-79fc34ef]{display:flex;justify-content:flex-end;margin-top:-70px}.add-dotpad[data-v-79fc34ef]{background:#ea5414;font-size:20px;color:#fff;width:220px;border-radius:40px;padding:10px 20px;font-weight:600;border:none;outline:none;box-shadow:none}.dot-middleware[data-v-79fc34ef]{background:#a5a5a7;font-size:18px;color:#fff;border-radius:20px;padding:5px 10px}.form-check-inline .add-dotpad[data-v-79fc34ef]:hover{opacity:.8}table[data-v-79fc34ef]{width:100%;border-collapse:collapse;margin-top:40px;background:transparent}table thead th[data-v-79fc34ef]{font-size:18px;font-weight:600;color:#6b7280;text-align:left;padding:16px 8px;border-bottom:2px solid #e5e7eb}table tbody tr[data-v-79fc34ef]{border-bottom:none}table tbody td[data-v-79fc34ef]{padding:18px 8px;font-size:20px;font-weight:600;border-bottom:1px solid #e5e7eb}table tr td button[data-v-79fc34ef]{font-size:18px;background:#c4c4c4;border:none;border-radius:30px;color:#fff;padding:10px 22px;font-weight:600}table tr td button[data-v-79fc34ef]:active,table tr td button[data-v-79fc34ef]:focus,table tr td button[data-v-79fc34ef]:hover{opacity:.8;background:#aaabab!important;border-color:#aaabab!important;color:#fff!important}.page-content[data-v-09b8ed0a]{padding:24px;min-height:calc(100vh - 116px)}.footer[data-v-09b8ed0a]{border-top:1px solid #e5e7eb;padding:16px;text-align:center;color:#6b7280}.nav-bar[data-v-09b8ed0a]{position:sticky;top:0;z-index:1000;height:56px;background:#fff;border-bottom:1px solid #e5e7eb}.header[data-v-54518490]{background:#fdf6e3;box-shadow:0 2px 10px rgba(0,0,0,.08)}.top-navigation[data-v-54518490]{background:linear-gradient(135deg,#667eea,#764ba2);padding:.75rem 0;text-align:center;box-shadow:0 2px 5px rgba(0,0,0,.1)}.header-content[data-v-54518490]{padding:2rem 0;text-align:center}.title[data-v-54518490]{font-size:4rem;color:#2c3e50;margin-bottom:.5rem;font-weight:700}.subtitle[data-v-54518490]{font-size:1.2rem;color:#7f8c8d;font-weight:300}.nav-link[data-v-54518490]{display:inline-block;margin:0 1.5rem;padding:.6rem 1.5rem;text-decoration:none;color:#fff;border:2px solid transparent;border-radius:25px;transition:all .3s ease;font-weight:500;background:hsla(0,0%,100%,.1);backdrop-filter:blur(10px)}.nav-link[data-v-54518490]:hover{background:hsla(0,0%,100%,.2);transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,.2)}.nav-link.router-link-active[data-v-54518490]{background:hsla(0,0%,100%,.9);color:#667eea;border-color:hsla(0,0%,100%,.3);font-weight:600}@media (max-width:768px){.title[data-v-54518490]{font-size:2rem}.nav-link[data-v-54518490]{margin:.25rem .5rem;padding:.5rem 1rem;font-size:.9rem}.top-navigation[data-v-54518490]{padding:.5rem 0}.header-content[data-v-54518490]{padding:1.5rem 0}}.title[data-v-54518490]{text-align:center;margin-top:.2rem}.header-logo[data-v-54518490]{height:38px;-o-object-fit:contain;object-fit:contain;opacity:.95;transition:transform .2s ease}.header-logo[data-v-54518490]:hover{transform:scale(1.05)}.upload-section[data-v-68ca7b76]{background:#fff;border-radius:15px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 30px rgba(0,0,0,.1);font-size:20px}.upload-section h1[data-v-68ca7b76]{text-align:center;margin-bottom:1.5rem;color:#2c3e50;font-size:35px}.upload-section h2[data-v-68ca7b76]{text-align:left;margin-bottom:1.5rem;color:#2c3e50}.upload-area[data-v-68ca7b76]{border:3px dashed #3498db;border-radius:10px;padding:3rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#f8f9fa}.upload-area[data-v-68ca7b76]:hover{border-color:#2980b9;background:#e3f2fd}.upload-placeholder[data-v-68ca7b76]{color:#7f8c8d}.upload-icon[data-v-68ca7b76]{font-size:4rem;margin-bottom:1rem}.upload-hint[data-v-68ca7b76]{font-size:.9rem;margin-top:.5rem;font-style:italic}.image-gallery[data-v-68ca7b76]{margin-top:2rem}.image-gallery h3[data-v-68ca7b76]{margin-bottom:1rem;color:#2c3e50}.gallery-grid[data-v-68ca7b76]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.image-item[data-v-68ca7b76]{position:relative;border-radius:10px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,.1);transition:transform .3s ease;cursor:pointer}.image-item[data-v-68ca7b76]:hover{transform:translateY(-5px)}.image-item:hover .view-detail-overlay[data-v-68ca7b76]{opacity:1}.gallery-image[data-v-68ca7b76]{width:100%;height:150px;-o-object-fit:cover;object-fit:cover}.image-info[data-v-68ca7b76]{padding:.5rem;background:#fff;display:flex;justify-content:space-between;align-items:center}.image-name[data-v-68ca7b76]{font-size:.8rem;color:#555;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-status[data-v-68ca7b76]{display:flex;gap:.25rem;margin:0 .5rem}.status-badge[data-v-68ca7b76]{font-size:.8rem;padding:.1rem .3rem;border-radius:10px;background:#f8f9fa}.status-badge.uploaded[data-v-68ca7b76]{background:#d4edda;color:#155724}.status-badge.analyzed[data-v-68ca7b76]{background:#e2e3f7;color:#383d41}.remove-btn[data-v-68ca7b76]{background:#e74c3c;color:#fff;border:none;border-radius:50%;width:20px;height:20px;cursor:pointer;font-size:.8rem;transition:background .3s ease}.remove-btn[data-v-68ca7b76]:hover{background:#c0392b}.clear-btn[data-v-68ca7b76]{background:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-size:.9rem;transition:background .3s ease}.clear-btn[data-v-68ca7b76]:hover{background:#c0392b}.view-detail-overlay[data-v-68ca7b76]{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(52,152,219,.9);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;font-weight:700;text-align:center}@media (max-width:768px){.upload-area[data-v-68ca7b76]{padding:2rem 1rem}.gallery-grid[data-v-68ca7b76]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.info-section[data-v-ffc1b87e]{background:#fff;border-radius:15px;padding:2rem;box-shadow:0 10px 30px rgba(0,0,0,.1);margin-bottom:2rem}.info-section h2[data-v-ffc1b87e]{text-align:center;margin-bottom:2rem;color:#2c3e50}.info-cards[data-v-ffc1b87e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:3rem}.info-card[data-v-ffc1b87e]{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;padding:1.5rem;border-radius:10px;text-align:center;transition:transform .3s ease}.info-card[data-v-ffc1b87e]:hover{transform:translateY(-5px)}.info-card h3[data-v-ffc1b87e]{font-size:1.5rem;margin-bottom:.5rem}.info-card p[data-v-ffc1b87e]{font-size:.9rem;opacity:.9}.ai-tools-section[data-v-ffc1b87e]{margin-top:3rem;padding-top:2rem;border-top:2px solid #f0f0f0}.tools-cards[data-v-ffc1b87e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.tool-card[data-v-ffc1b87e]{display:block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;border-radius:15px;text-decoration:none;transition:all .3s ease;border:none;cursor:pointer;position:relative;overflow:hidden}.tool-card[data-v-ffc1b87e]:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.2);color:#fff;text-decoration:none}.tool-card[data-v-ffc1b87e]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent);transition:left .5s}.tool-card[data-v-ffc1b87e]:hover:before{left:100%}.tool-icon[data-v-ffc1b87e]{font-size:3rem;margin-bottom:1rem;text-align:center}.tool-card h3[data-v-ffc1b87e]{font-size:1.4rem;margin-bottom:1rem;text-align:center;color:#fff}.tool-card p[data-v-ffc1b87e]{font-size:1rem;opacity:.9;text-align:center;margin-bottom:1.5rem;line-height:1.5}.tool-features[data-v-ffc1b87e]{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.feature-tag[data-v-ffc1b87e]{background:hsla(0,0%,100%,.2);color:#fff;padding:.3rem .8rem;border-radius:15px;font-size:.8rem;font-weight:500;backdrop-filter:blur(10px)}@media (max-width:768px){.info-cards[data-v-ffc1b87e],.tools-cards[data-v-ffc1b87e]{grid-template-columns:1fr}.info-section[data-v-ffc1b87e],.tool-card[data-v-ffc1b87e]{padding:1.5rem}.tool-icon[data-v-ffc1b87e]{font-size:2.5rem}.tool-card h3[data-v-ffc1b87e]{font-size:1.2rem}}.webview-status{padding:.5rem 1rem;text-align:center;font-size:.9rem;font-weight:500;border-bottom:1px solid #e0e0e0}.webview-status.checking{background-color:#fff3cd;color:#856404}.webview-status.available{background-color:#d4edda;color:#155724}.webview-status.unavailable{background-color:#f8d7da;color:#721c24}.dotpad{background-color:#fb6d3a;border-radius:10px;width:64px;height:60px;min-width:64px;margin-right:20px;margin-bottom:20px}.dotpad:active{opacity:.8}.api-status{padding:.5rem 1rem;text-align:center;font-size:.9rem;font-weight:500;border-bottom:1px solid #e0e0e0}.api-status.checking{background-color:#fff3cd;color:#856404}.api-status.connected{background-color:#d4edda;color:#155724}.api-status.disconnected{background-color:#f8d7da;color:#721c24}.status-btn{background:#3498db;color:#fff;border:none;padding:1rem 2rem;margin-right:.5rem;border-radius:8px;cursor:pointer;font-size:1.2rem;font-weight:700;transition:background .3s ease}.status-btn:hover{background:#2980b9}.status-btn.active{background:#2ecc71}.user-info-section{background:#fff;border-radius:12px;padding:1.5rem;margin:1rem 0;box-shadow:0 4px 12px rgba(0,0,0,.1);border:1px solid #e3f2fd}.user-info-section h3{margin:0 0 1rem 0;color:#2c3e50;font-size:1.1rem;font-weight:600}.user-input-container{display:flex;flex-direction:column;gap:1rem}.input-group{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.input-group label{font-weight:600;color:#34495e;min-width:80px}.user-input{flex:1;padding:.75rem;border:2px solid #e3f2fd;border-radius:8px;font-size:1rem;min-width:200px;transition:border-color .3s ease}.user-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px rgba(52,152,219,.1)}.save-btn{background:#27ae60;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.save-btn:hover:not(:disabled){background:#219a52;transform:translateY(-1px)}.save-btn:disabled{background:#bdc3c7;cursor:not-allowed;transform:none}.saved-info{background:#d5f4e6;border:1px solid #27ae60;border-radius:8px;padding:.75rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.saved-label{font-weight:600;color:#27ae60}.saved-value{background:#27ae60;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.9rem;font-weight:600}.clear-btn{background:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.8rem;cursor:pointer;transition:background .3s ease}.clear-btn:hover{background:#c0392b}.analysis-status{display:flex;gap:.5rem;margin-bottom:1rem}.file-select-box{margin-top:16px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 2px 6px rgba(15,23,42,.06);max-width:1150px;margin-left:auto;margin-right:auto}.file-select-header{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.file-select-title{font-size:35px;font-weight:700;color:#111827;margin:0;text-align:left}.file-select-sub{font-size:30px;color:#6b7280;margin:0;justify-content:center}.file-select-control{margin-top:15px}.file-select-select{width:100%;max-width:500px;padding:12px 12px;border-radius:10px;border:1px solid #d1d5db;background:#f9fafb;font-size:18px;color:#111827;outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1.5 5 5 5-5' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px 8px;padding-right:30px}.file-select-select:hover{background-color:#f3f4f6}.file-select-select:focus{border-color:#4f46e5;box-shadow:0 0 0 1px rgba(79,70,229,.18)}.open-btn:focus{outline:3px solid #2563eb;outline-offset:2px}.file-select-select:disabled{cursor:not-allowed;background-color:#f9fafb;color:#9ca3af}.file-search{margin:8px 0 12px}.file-search-input{width:100%;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px}.file-select-actions{display:flex;gap:8px;margin-left:12px}.open-btn,.preview-btn{padding:8px 12px;border-radius:8px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-weight:600}.open-btn[disabled],.preview-btn[disabled]{opacity:.6;cursor:not-allowed}.file-search-input:focus,.file-select-select:focus,.open-btn:focus,.preview-btn:focus{outline:3px solid rgba(59,130,246,.18);outline-offset:2px}.file-select-desc{margin-top:8px;color:#6b7280;font-size:.95rem}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.file-select-meta{margin-top:8px;font-size:18px;color:#9ca3af;text-align:center}.upload-area:focus{outline:3px solid #3498db;outline-offset:4px}.image-item:focus{outline:2px solid #3498db;outline-offset:3px}.logo-bar{display:flex;gap:.8rem;align-items:center;justify-content:flex-start;padding-left:2rem;margin-bottom:.5rem}#home{position:relative}.corner-logo-group{position:absolute;bottom:15px;left:16px;display:flex;align-items:center;gap:8px;z-index:20;pointer-events:none}.corner-logo{height:40px;-o-object-fit:contain;object-fit:contain;opacity:.9;filter:drop-shadow(0 1px 2px rgba(0,0,0,.18))}@media (max-width:768px){.corner-logo-group{bottom:15px;left:10px;gap:6px}.corner-logo{height:22px}}.file-select-row{display:flex;gap:20px;margin-top:12px;flex-wrap:wrap}.file-select-col{flex:1 1 260px;min-width:260px}.file-select-sub{font-size:16px;font-weight:600;color:#374151;margin:0 0 4px 0;text-align:left}.file-select-control{margin-top:8px;display:flex;justify-content:left}.image-detail[data-v-455e04a9]{min-height:100vh;background:#fff;display:flex;flex-direction:column}.detail-header[data-v-455e04a9]{background:#f7f7f7;padding:.75rem 1.5rem;display:flex;align-items:center;gap:1rem;flex-shrink:0;z-index:100}.back-btn[data-v-455e04a9]{background:transparent;border:none;padding:8px 12px;margin-right:8px;font-size:12px;font-weight:600;color:#111827;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:8px}.back-btn[data-v-455e04a9]:hover{background:rgba(0,0,0,.05)}.detail-header h1[data-v-455e04a9]{color:#2c3e50;margin:0;font-size:1.5rem}.detail-content[data-v-455e04a9]{display:grid;grid-template-columns:minmax(400px,1fr) 2fr;gap:1.5rem;overflow-y:auto;padding:24px;padding-top:32px;flex-grow:1;overflow:hidden}.image-section[data-v-455e04a9]{display:flex;justify-content:center;padding:24px 0}.image-card[data-v-455e04a9]{width:100%;max-width:520px;background:#fff;border-radius:20px;padding:20px;display:flex;flex-direction:column;justify-content:center}.image-container[data-v-455e04a9]{flex:1;display:flex;flex-direction:column;height:100%}.image-wrapper[data-v-455e04a9]{display:flex;justify-content:center;align-items:center;background:#f8fafc;border-radius:16px;padding:16px;border:1px solid #e5e7eb}.main-image[data-v-455e04a9]{max-width:100%;max-height:320px;-o-object-fit:contain;object-fit:contain;border-radius:12px}.main-image[data-v-455e04a9]:hover{transform:scale(1.02)}.image-info[data-v-455e04a9]{margin-top:16px;padding:16px;background:#fff;border-radius:16px;border:1px solid #e5e7eb}.image-info h3[data-v-455e04a9]{margin:0 0 .5rem 0;color:#2c3e50;font-size:1rem;font-weight:600}.tts-btn[data-v-455e04a9]{background:#fff;color:#111827;border:none;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.08);display:flex;align-items:center;gap:6px}.tts-btn[data-v-455e04a9]:hover{background:#f3f4f6}.image-info p[data-v-455e04a9]{margin:.25rem 0;color:#6c757d;font-size:.85rem;display:flex;justify-content:space-between;align-items:center}.imagedata-details[data-v-455e04a9]{margin-top:16px;padding:16px;border-radius:16px;background:#fff;border:1px solid #e5e7eb}.imagedata-details h4[data-v-455e04a9]{margin:0 0 12px 0;font-size:14px;font-weight:600;color:#111827}.analysis-section[data-v-455e04a9]{display:flex;flex-direction:column;gap:1rem;height:100%;min-height:0}.analysis-panel[data-v-455e04a9]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px rgba(0,0,0,.05);flex-shrink:0;overflow-y:auto;max-height:45%}.analysis-panel h3[data-v-455e04a9]{margin:0 0 1rem 0;color:#2c3e50;font-size:1.1rem}.chat-panel[data-v-455e04a9]{border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;box-shadow:none;flex-grow:1;overflow:hidden;min-height:0}.chat-panel-header[data-v-455e04a9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.chat-panel h3[data-v-455e04a9]{margin:0;color:#2c3e50;font-size:1.1rem}.chat-messages[data-v-455e04a9]{display:flex;flex-direction:column;gap:12px}.chat-messages[data-v-455e04a9]::-webkit-scrollbar{width:10px}.chat-messages[data-v-455e04a9]::-webkit-scrollbar-track{background:#f1f3f4;border-radius:5px;margin:5px}.chat-messages[data-v-455e04a9]::-webkit-scrollbar-thumb{background:#c1c7cd;border-radius:5px;border:2px solid #f1f3f4}.chat-messages[data-v-455e04a9]::-webkit-scrollbar-thumb:hover{background:#9aa0a6}.message[data-v-455e04a9]{margin-bottom:1rem;padding:.75rem;border-radius:12px;max-width:85%;word-wrap:break-word;animation:slideIn-455e04a9 .3s ease-out}@keyframes slideIn-455e04a9{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-messages[data-v-455e04a9]{flex:1;overflow-y:auto;background:transparent;padding:8px 4px}.message[data-v-455e04a9]{max-width:70%!important;padding:10px 14px!important;border-radius:14px!important;margin-bottom:0!important;box-shadow:none!important}.message.assistant[data-v-455e04a9]{background:#f3f4f6!important;color:#111827!important;border:none!important;align-self:flex-start!important;margin-left:4px}.message.user[data-v-455e04a9]{background:#f97316!important;color:#fff!important;align-self:flex-end!important;text-align:left!important;margin-right:4px}.ai-analysis-header[data-v-455e04a9]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px}.message-time[data-v-455e04a9]{font-size:11px!important;opacity:.6;margin-top:4px;text-align:right}.empty-chat-message[data-v-455e04a9]{display:none!important}.stt-indicator-bar[data-v-455e04a9]{width:100%;background:#fff1e6;color:#f97316;padding:10px 16px;font-size:16px;font-weight:700;border-radius:14px 14px 0 0;margin-bottom:12px;display:flex;align-items:center;gap:8px}.chat-panel[data-v-455e04a9]{background:#fff;border-radius:14px;padding:0;display:flex;flex-direction:column}.ai-analysis[data-v-455e04a9],.chat-panel[data-v-455e04a9],.tts-rate-wrapper[data-v-455e04a9]{box-shadow:none!important;border:1px solid #e5e7eb!important}.message-content[data-v-455e04a9]{margin-bottom:.25rem}.chat-input-area[data-v-455e04a9]{flex-shrink:0;border-top:1px solid #e5e7eb;padding:12px 16px}.input-container[data-v-455e04a9]{display:flex;gap:.75rem;align-items:center}.chat-input[data-v-455e04a9]{flex:1;padding:.75rem 1rem;border:1px solid #dce4f0;border-radius:8px;font-size:.9rem;transition:all .2s ease;background:#fff;resize:none}.chat-input[data-v-455e04a9]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.send-btn[data-v-455e04a9]{background:f97316;color:#fff;border:none;padding:.75rem 1.25rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.send-btn[data-v-455e04a9]:hover:not(:disabled){background:#eb8525}.send-btn[data-v-455e04a9]:disabled{background:#f97316;cursor:not-allowed}.suggested-questions[data-v-455e04a9]{margin-bottom:1rem;flex-shrink:0}.suggested-questions p[data-v-455e04a9]{margin:0 0 .5rem 0;font-size:.9rem;color:#495057;font-weight:600;text-align:left}.suggested-questions-container[data-v-455e04a9]{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0;scrollbar-width:thin;scrollbar-color:#bdc3c7 #ecf0f1}.suggested-questions-container[data-v-455e04a9]::-webkit-scrollbar{height:6px}.suggested-questions-container[data-v-455e04a9]::-webkit-scrollbar-track{background:#ecf0f1;border-radius:3px}.suggested-questions-container[data-v-455e04a9]::-webkit-scrollbar-thumb{background:#bdc3c7;border-radius:3px}.suggestion-btn[data-v-455e04a9]{background:#eef2f7;color:#4a5568;border:1px solid #e2e8f0;padding:.5rem 1rem;border-radius:16px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.suggestion-btn[data-v-455e04a9]:hover{background:#e2e8f0;border-color:#dce4f0;color:#2d3748}.tts-rate-header[data-v-455e04a9]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.current-rate-badge[data-v-455e04a9]{background:#fff7ed;color:#f97316;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;line-height:1;box-shadow:inset 0 0 0 1px rgba(249,115,22,.35)}.tts-rate-wrapper[data-v-455e04a9]{background:#fff;border-radius:20px;padding:16px 20px 18px;box-shadow:0 6px 20px rgba(0,0,0,.08)}.tts-rate-title[data-v-455e04a9]{margin:0 0 12px 0;font-size:16px;font-weight:600;color:#111827;display:flex;align-items:center;gap:6px}.tts-rate-container[data-v-455e04a9]{width:100%}.rate-buttons-wrapper[data-v-455e04a9]{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:#f3f4f6;border-radius:999px;padding:4px;height:44px}.rate-btn[data-v-455e04a9]{border:none;background:transparent;height:36px;border-radius:999px;font-size:13px;font-weight:600;color:#9ca3af;cursor:pointer;transition:all .2s ease}.rate-btn[data-v-455e04a9]:hover{color:#111827}.rate-btn.active[data-v-455e04a9]{background:#f97316;color:#fff;box-shadow:0 4px 10px rgba(249,115,22,.35)}@media (max-width:1200px){.detail-content[data-v-455e04a9]{grid-template-columns:450px 1fr;gap:1rem}}@media (max-width:1024px){.detail-content[data-v-455e04a9]{grid-template-columns:1fr;height:auto;padding:1rem}.image-section[data-v-455e04a9]{order:1;margin-bottom:1rem;height:auto}.analysis-section[data-v-455e04a9]{order:2;height:auto}.image-wrapper[data-v-455e04a9]{max-height:50vh}.timer-container[data-v-455e04a9]{flex-direction:column;gap:.5rem}.timer-section[data-v-455e04a9]{min-width:auto}.chat-panel[data-v-455e04a9]{height:60vh}}.analysis-status[data-v-455e04a9]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;align-items:center}.analysis-status[data-v-455e04a9]:first-child{border-bottom:1px solid #e9ecef;padding-bottom:1rem;margin-bottom:1rem}.status-badge[data-v-455e04a9]{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;background:#f8f9fa;color:#6c757d}.status-badge.uploaded[data-v-455e04a9]{background:#d4edda;color:#155724}.status-badge.analyzed[data-v-455e04a9]{background:#e2e3f7;color:#383d41}.info-grid[data-v-455e04a9]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-item[data-v-455e04a9]{background:#fff;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.info-item .label[data-v-455e04a9]{font-size:11px;color:#6b7280;font-weight:500}.info-item .value[data-v-455e04a9]{font-size:13px;color:#111827;font-weight:700}.ai-analysis[data-v-455e04a9]{display:flex;flex-direction:column;background:#fff;border-radius:20px;padding:16px;box-shadow:0 6px 20px rgba(0,0,0,.06)}.analysis-json-container[data-v-455e04a9]{position:relative}.json-toggle-btn[data-v-455e04a9]{position:absolute;top:.5rem;right:.5rem;background:#4a5568;color:#fff;border:none;padding:.25rem .75rem;border-radius:4px;font-size:.8rem;cursor:pointer;z-index:1;transition:background .3s ease}.json-toggle-btn[data-v-455e04a9]:hover{background:#2d3748}.analysis-json[data-v-455e04a9]{background:#2d3748;color:#e2e8f0;padding:1rem;padding-top:2.5rem;border-radius:8px;font-size:.8rem;overflow-x:auto;white-space:pre-wrap;max-height:200px;overflow-y:auto;line-height:1.4;transition:max-height .3s ease}.analysis-json.expanded[data-v-455e04a9]{max-height:600px}@media (max-width:768px){.detail-header[data-v-455e04a9]{padding:1rem}.detail-content[data-v-455e04a9]{padding:.75rem;gap:.75rem}.analysis-panel[data-v-455e04a9],.chat-panel[data-v-455e04a9]{padding:1rem}.analysis-status[data-v-455e04a9]{flex-direction:column;align-items:stretch}.status-btn[data-v-455e04a9]{margin-right:0;margin-bottom:.5rem}.chat-panel[data-v-455e04a9]{height:100%}.chat-panel-header[data-v-455e04a9]{display:flex;justify-content:space-between;align-items:center}.chat-panel-header h3[data-v-455e04a9]{margin:0;font-size:15px;font-weight:600}.stt-indicator-bar.listening[data-v-455e04a9]{color:#dc2626;background:#fee2e2}.input-container[data-v-455e04a9]{display:flex;gap:8px}.chat-panel[data-v-455e04a9]{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px;display:flex;flex-direction:column}.chat-input[data-v-455e04a9]{flex:1;padding:10px 14px;border-radius:10px;border:1px solid #e5e7eb;font-size:14px}.chat-input[data-v-455e04a9]:focus{outline:none;border-color:#f97316}.send-btn[data-v-455e04a9]{padding:10px 16px;border-radius:10px;border:none;background:#f97316;color:#fff;font-weight:600;cursor:pointer}.send-btn[data-v-455e04a9]:disabled{background:#d1d5db;cursor:not-allowed}.tts-btn[data-v-455e04a9]{background:transparent;border:none;cursor:pointer;margin-left:6px}.suggested-questions[data-v-455e04a9]{padding:.75rem;margin-top:.5rem}.suggested-questions-container[data-v-455e04a9]{gap:.3rem}.suggestion-btn[data-v-455e04a9]{padding:.5rem .8rem;font-size:.8rem}.info-grid[data-v-455e04a9]{grid-template-columns:1fr}.model-toggle-container[data-v-455e04a9]{flex-direction:column;gap:.75rem;align-items:center}.toggle-label[data-v-455e04a9]{text-align:center}.toggle-switch-wrapper[data-v-455e04a9]{width:100%;max-width:250px}.controls-horizontal-container[data-v-455e04a9]{flex-direction:column;gap:.75rem;margin:.75rem 0;margin-bottom:20px}.tts-rate-wrapper[data-v-455e04a9]{background:#fff;border-radius:20px;padding:16px 20px 18px;box-shadow:0 6px 20px rgba(0,0,0,.08)}.tts-rate-title[data-v-455e04a9]{margin:0 0 12px 0;font-size:14px;font-weight:600;color:#111827;display:flex;align-items:center;gap:6px}.tts-rate-container[data-v-455e04a9]{width:100%}.rate-buttons-wrapper[data-v-455e04a9]{position:relative;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:#f3f4f6;border-radius:999px;padding:4px;height:44px}.rate-btn[data-v-455e04a9]{position:relative;z-index:1;border:none;background:transparent;height:36px;border-radius:999px;font-size:13px;font-weight:600;color:#9ca3af;cursor:pointer;transition:color .2s ease}.rate-btn[data-v-455e04a9]:hover{color:#111827}.rate-btn.active[data-v-455e04a9]{background:#f97316;color:#fff;box-shadow:0 4px 10px rgba(249,115,22,.35)}}@keyframes pulse-rate-455e04a9{0%{box-shadow:0 6px 20px rgba(59,130,246,.4)}to{box-shadow:0 8px 25px rgba(59,130,246,.6)}}.ws-row[data-v-455e04a9]{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.ws-col[data-v-455e04a9]{flex:1 1 320px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:10px}.ws-title[data-v-455e04a9]{margin:0 0 8px 0;font-size:.95rem;color:#2c3e50}.ws-frame[data-v-455e04a9]{position:relative;background:#fff;border:1px solid #e3f2fd;border-radius:8px;min-height:180px;display:flex;align-items:center;justify-content:center;overflow:hidden}.ws-img[data-v-455e04a9]{max-width:100%;max-height:320px}.ws-empty[data-v-455e04a9]{color:#9aa0a6;font-size:.9rem;padding:20px}.ws-fps[data-v-455e04a9]{position:absolute;top:8px;right:8px;font-size:.75rem;background:rgba(0,0,0,.7);color:#fff;padding:2px 6px;border-radius:6px}.ws-stats[data-v-455e04a9]{margin-top:6px;display:flex;gap:8px;flex-wrap:wrap;font-size:.85rem;color:#4a5568}.header-actions[data-v-455e04a9]{margin-left:auto;display:flex;align-items:center;gap:8px}.ws-indicator[data-v-455e04a9]{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:12px;background:#f5f7fb;border:1px solid #e5e9f2;font-size:12px;color:#475569}.ws-indicator .dot[data-v-455e04a9]{width:8px;height:8px;border-radius:50%;background:#cbd5e1;box-shadow:inset 0 0 0 2px rgba(0,0,0,.04)}.ws-indicator.on .dot[data-v-455e04a9]{background:#22c55e}.ws-video[data-v-455e04a9]{width:100%;max-height:320px;-o-object-fit:cover;object-fit:cover}.connect-btn[data-v-455e04a9]{font-size:12px;padding:6px 10px;border-radius:8px;border:1px solid #dce4f0;background:#fff;color:#334155;cursor:pointer;transition:background .2s,transform .05s}.connect-btn[data-v-455e04a9]:hover{background:#f8fafc}.connect-btn[data-v-455e04a9]:active{transform:translateY(1px)}.whisper-test[data-v-06305274]{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.container[data-v-06305274]{max-width:800px;margin:0 auto;background:#fff;border-radius:15px;padding:30px;box-shadow:0 10px 25px rgba(0,0,0,.1)}h1[data-v-06305274]{text-align:center;color:#333;margin-bottom:30px;font-size:2.5em}h2[data-v-06305274]{color:#555;margin-bottom:20px;border-bottom:2px solid #667eea;padding-bottom:10px}.recording-section[data-v-06305274],.results-section[data-v-06305274],.upload-section[data-v-06305274]{margin-bottom:30px;padding:20px;border:1px solid #e0e0e0;border-radius:10px;background:#f9f9f9}.upload-area[data-v-06305274]{border:2px dashed #667eea;border-radius:10px;padding:40px;text-align:center;transition:all .3s ease;cursor:pointer}.upload-area[data-v-06305274]:hover{border-color:#764ba2;background:#f0f4ff}.record-btn[data-v-06305274],.transcribe-btn[data-v-06305274],.upload-btn[data-v-06305274]{background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:25px;cursor:pointer;font-size:16px;transition:all .3s ease;margin:10px}.record-btn[data-v-06305274]:hover,.transcribe-btn[data-v-06305274]:hover,.upload-btn[data-v-06305274]:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(0,0,0,.2)}.record-btn[data-v-06305274]:disabled,.transcribe-btn[data-v-06305274]:disabled,.upload-btn[data-v-06305274]:disabled{opacity:.6;cursor:not-allowed;transform:none}.record-btn.recording[data-v-06305274]{background:linear-gradient(45deg,#ff6b6b,#ee5a52);animation:pulse-06305274 2s infinite}@keyframes pulse-06305274{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.recording-controls[data-v-06305274]{display:flex;align-items:center;justify-content:center;gap:20px}.recording-indicator[data-v-06305274]{color:#ff6b6b;font-weight:700;font-size:18px}.file-info[data-v-06305274]{margin-top:20px;padding:15px;background:#fff;border-radius:8px;border-left:4px solid #667eea}.transcription-result[data-v-06305274]{background:#fff;padding:20px;border-radius:10px;border-left:4px solid #4caf50;font-size:16px;line-height:1.6;min-height:60px}.results-header[data-v-06305274]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.clear-results-btn[data-v-06305274]{background:#ff9800;color:#fff;border:none;padding:8px 16px;border-radius:5px;cursor:pointer;font-size:14px;transition:all .3s ease}.clear-results-btn[data-v-06305274]:hover{background:#f57c00;transform:translateY(-1px)}.real-time-chunks[data-v-06305274]{margin-top:20px;padding:15px;background:#f0f8ff;border-radius:8px;border-left:4px solid #2196f3}.real-time-chunks h3[data-v-06305274]{color:#1976d2;margin-bottom:15px;font-size:16px}.chunk-result[data-v-06305274]{margin-bottom:10px;padding:8px 12px;background:#fff;border-radius:5px;border-left:3px solid #2196f3}.chunk-number[data-v-06305274]{font-weight:700;color:#1976d2;margin-right:8px}.loading[data-v-06305274]{text-align:center;padding:30px;background:#f0f4ff;border-radius:10px;margin:20px 0}.spinner[data-v-06305274]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin-06305274 1s linear infinite;margin:0 auto 20px}@keyframes spin-06305274{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error[data-v-06305274]{background:#ffebee;color:#c62828;padding:20px;border-radius:10px;border-left:4px solid #f44336;margin:20px 0}.clear-btn[data-v-06305274]{background:#f44336;color:#fff;border:none;padding:8px 16px;border-radius:5px;cursor:pointer;margin-top:10px}.clear-btn[data-v-06305274]:hover{background:#d32f2f}.keyboard-guide[data-v-06305274]{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);padding:20px;border-radius:12px;margin-bottom:30px;border-left:5px solid #667eea;box-shadow:0 3px 10px rgba(0,0,0,.1)}.keyboard-guide p[data-v-06305274]{margin:8px 0;font-size:16px}.space-status[data-v-06305274]{padding:10px 15px;border-radius:25px;font-weight:700;text-align:center;transition:all .3s ease;background:#e8f5e8;color:#2e7d32;border:2px solid #a5d6a7}.space-status.active[data-v-06305274]{background:#ffebee;color:#c62828;border-color:#ef9a9a;animation:pulse-red-06305274 1.5s infinite}@keyframes pulse-red-06305274{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.9}}.saved-recordings-section[data-v-06305274]{margin-bottom:30px;padding:20px;border:1px solid #e0e0e0;border-radius:10px;background:#fafafa}.recordings-header[data-v-06305274]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.clear-all-btn[data-v-06305274]{background:#ff5722;color:#fff;border:none;padding:8px 16px;border-radius:5px;cursor:pointer;font-size:14px;transition:all .3s ease}.clear-all-btn[data-v-06305274]:hover{background:#d84315;transform:translateY(-1px)}.recordings-list[data-v-06305274]{max-height:400px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px;background:#fff}.recording-item[data-v-06305274]{padding:15px;border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.recording-item[data-v-06305274]:last-child{border-bottom:none}.recording-item[data-v-06305274]:hover{background:#f8f9fa}.recording-header[data-v-06305274]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.recording-time[data-v-06305274]{font-size:12px;color:#666;background:#e9ecef;padding:4px 8px;border-radius:12px}.delete-recording-btn[data-v-06305274]{background:none;border:none;font-size:16px;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s ease}.delete-recording-btn[data-v-06305274]:hover{background:#ffebee}.recording-text[data-v-06305274]{color:#333;line-height:1.5;padding:8px 12px;background:#f8f9fa;border-radius:6px;border-left:3px solid #667eea}@media (max-width:768px){.container[data-v-06305274]{padding:15px;margin:10px}h1[data-v-06305274]{font-size:2em}.upload-area[data-v-06305274]{padding:20px}.recording-controls[data-v-06305274]{flex-direction:column;gap:10px}.keyboard-guide[data-v-06305274]{padding:15px}.keyboard-guide p[data-v-06305274]{font-size:14px}.recordings-header[data-v-06305274]{flex-direction:column;gap:10px;align-items:stretch}.recordings-list[data-v-06305274]{max-height:300px}.recording-header[data-v-06305274]{flex-direction:column;align-items:flex-start;gap:8px}}.vlm-test[data-v-62d94f73]{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.container[data-v-62d94f73]{max-width:900px;margin:0 auto;background:#fff;border-radius:15px;padding:30px;box-shadow:0 10px 25px rgba(0,0,0,.1)}h1[data-v-62d94f73]{text-align:center;color:#333;margin-bottom:30px;font-size:2.5em}h2[data-v-62d94f73]{color:#555;margin-bottom:20px;border-bottom:2px solid #667eea;padding-bottom:10px}.model-info[data-v-62d94f73]{background:#f0f4ff;padding:20px;border-radius:10px;margin-bottom:30px;border-left:5px solid #667eea}.model-info h3[data-v-62d94f73]{color:#667eea;margin-bottom:15px}.model-info ul[data-v-62d94f73]{list-style-type:disc;padding-left:20px}.model-info li[data-v-62d94f73]{margin-bottom:5px;color:#555}.history-section[data-v-62d94f73],.results-section[data-v-62d94f73],.upload-section[data-v-62d94f73]{margin-bottom:30px;padding:20px;border:1px solid #e0e0e0;border-radius:10px;background:#f9f9f9}.image-upload-area[data-v-62d94f73]{border:2px dashed #667eea;border-radius:10px;padding:40px;text-align:center;transition:all .3s ease;cursor:pointer;min-height:200px;display:flex;flex-direction:column;justify-content:center;align-items:center}.image-upload-area[data-v-62d94f73]:hover{border-color:#764ba2;background:#f0f4ff}.upload-placeholder p[data-v-62d94f73]{margin:10px 0;color:#666}.supported-formats[data-v-62d94f73]{font-size:12px;color:#999}.image-upload-btn[data-v-62d94f73]{background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;border:none;padding:15px 30px;border-radius:25px;cursor:pointer;font-size:16px;transition:all .3s ease;margin-bottom:15px}.image-upload-btn[data-v-62d94f73]:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(0,0,0,.2)}.image-preview[data-v-62d94f73]{display:flex;flex-direction:column;align-items:center;gap:20px}.preview-image[data-v-62d94f73]{max-width:100%;max-height:400px;border-radius:10px;box-shadow:0 5px 15px rgba(0,0,0,.1)}.image-actions[data-v-62d94f73]{display:flex;gap:10px}.change-image-btn[data-v-62d94f73],.clear-image-btn[data-v-62d94f73]{background:#ff9800;color:#fff;border:none;padding:8px 16px;border-radius:5px;cursor:pointer;font-size:14px;transition:all .3s ease}.change-image-btn[data-v-62d94f73]:hover,.clear-image-btn[data-v-62d94f73]:hover{transform:translateY(-1px)}.clear-image-btn[data-v-62d94f73]{background:#f44336}.clear-image-btn[data-v-62d94f73]:hover{background:#d32f2f}.change-image-btn[data-v-62d94f73]:hover{background:#f57c00}.analysis-controls[data-v-62d94f73]{text-align:center;margin-top:20px}.analyze-btn[data-v-62d94f73]{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff;border:none;padding:15px 30px;border-radius:25px;cursor:pointer;font-size:16px;transition:all .3s ease}.analyze-btn[data-v-62d94f73]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px rgba(0,0,0,.2)}.analyze-btn[data-v-62d94f73]:disabled{opacity:.6;cursor:not-allowed;transform:none}.results-header[data-v-62d94f73]{justify-content:space-between;align-items:center;margin-bottom:20px}.result-actions[data-v-62d94f73],.results-header[data-v-62d94f73]{display:flex;flex-wrap:wrap;gap:10px}.copy-btn[data-v-62d94f73],.speak-btn[data-v-62d94f73],.stop-speak-btn[data-v-62d94f73]{background:#2196f3;color:#fff;border:none;padding:8px 16px;border-radius:5px;cursor:pointer;font-size:14px;transition:all .3s ease}.copy-btn[data-v-62d94f73]:hover,.speak-btn[data-v-62d94f73]:hover{background:#1976d2;transform:translateY(-1px)}.stop-speak-btn[data-v-62d94f73]{background:#f44336}.stop-speak-btn[data-v-62d94f73]:hover{background:#d32f2f}.speak-btn[data-v-62d94f73]:disabled{opacity:.6;cursor:not-allowed}.analysis-result[data-v-62d94f73]{background:#fff;padding:20px;border-radius:10px;border-left:4px solid #4caf50;font-size:16px;line-height:1.6;min-height:60px}.loading[data-v-62d94f73]{text-align:center;padding:30px;background:#f0f4ff;border-radius:10px;margin:20px 0}.spinner[data-v-62d94f73]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin-62d94f73 1s linear infinite;margin:0 auto 20px}@keyframes spin-62d94f73{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.history-header[data-v-62d94f73]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.clear-history-btn[data-v-62d94f73]{background:#ff5722;color:#fff;border:none;padding:8px 16px;border-radius:5px;cursor:pointer;font-size:14px;transition:all .3s ease}.clear-history-btn[data-v-62d94f73]:hover{background:#d84315;transform:translateY(-1px)}.history-list[data-v-62d94f73]{max-height:500px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px;background:#fff}.history-item[data-v-62d94f73]{padding:15px;border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.history-item[data-v-62d94f73]:last-child{border-bottom:none}.history-item[data-v-62d94f73]:hover{background:#f8f9fa}.history-header-item[data-v-62d94f73]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.history-time[data-v-62d94f73]{font-size:12px;color:#666;background:#e9ecef;padding:4px 8px;border-radius:12px}.history-actions[data-v-62d94f73]{display:flex;gap:5px}.delete-history-btn[data-v-62d94f73],.speak-history-btn[data-v-62d94f73]{background:none;border:none;font-size:16px;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s ease}.speak-history-btn[data-v-62d94f73]:hover{background:#e3f2fd}.delete-history-btn[data-v-62d94f73]:hover{background:#ffebee}.history-image[data-v-62d94f73]{margin-bottom:10px}.history-thumbnail[data-v-62d94f73]{max-width:100px;max-height:100px;border-radius:5px;-o-object-fit:cover;object-fit:cover}.history-result[data-v-62d94f73]{color:#333;line-height:1.5;padding:8px 12px;background:#f8f9fa;border-radius:6px;border-left:3px solid #667eea}.error[data-v-62d94f73]{background:#ffebee;color:#c62828;padding:20px;border-radius:10px;border-left:4px solid #f44336;margin:20px 0}.clear-btn[data-v-62d94f73]{background:#f44336;color:#fff;border:none;padding:8px 16px;border-radius:5px;cursor:pointer;margin-top:10px}.clear-btn[data-v-62d94f73]:hover{background:#d32f2f}@media (max-width:768px){.container[data-v-62d94f73]{padding:15px;margin:10px}h1[data-v-62d94f73]{font-size:2em}.image-upload-area[data-v-62d94f73]{padding:20px;min-height:150px}.results-header[data-v-62d94f73]{flex-direction:column;align-items:stretch}.result-actions[data-v-62d94f73]{justify-content:center}.history-header[data-v-62d94f73]{flex-direction:column;gap:10px;align-items:stretch}.history-list[data-v-62d94f73]{max-height:400px}.history-header-item[data-v-62d94f73]{flex-direction:column;align-items:flex-start;gap:8px}.preview-image[data-v-62d94f73]{max-height:300px}}.w-full{flex-direction:column;align-items:center;justify-content:center;background-color:#f9f9f9;padding:20px}.flex,.w-full{display:flex}.flex-wrap{flex-wrap:wrap}.gap-6{gap:1.5rem}.relative{overflow:hidden}video{box-shadow:0 4px 6px rgba(0,0,0,.1);background-color:#000;display:block}canvas,video{border-radius:12px}canvas{position:absolute;top:0;left:0;pointer-events:none}.text-lg{font-size:1.125rem;font-weight:700}.text-sm{font-size:.875rem}.list-disc{list-style-type:disc}.pl-5{padding-left:1.25rem}.leading-6{line-height:1.5rem}.bg-gray-200{background-color:#e2e8f0}.bg-blue-600{background-color:#2563eb}.text-white{color:#fff}.rounded-lg{border-radius:.5rem}.shadow{box-shadow:0 4px 6px rgba(0,0,0,.1)}.hover\:bg-blue-700:hover{background-color:#1d4ed8}.text-gray-500{color:#6b7280}.text-xs{font-size:.75rem}.image-detail[data-v-f5caacca]{height:100vh;background:#f4f7fc;display:flex;flex-direction:column}.detail-header[data-v-f5caacca]{background:#fff;padding:.75rem 1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px rgba(0,0,0,.05);flex-shrink:0;z-index:100}.back-btn[data-v-f5caacca]{background:#eef2f7;color:#333;border:1px solid #dce4f0;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.back-btn[data-v-f5caacca]:hover{background:#e1e8f2;border-color:#cdd7e5}.detail-header h1[data-v-f5caacca]{color:#2c3e50;margin:0;font-size:1.5rem}.detail-content[data-v-f5caacca]{display:grid;grid-template-columns:minmax(400px,1fr) 2fr;gap:1.5rem;padding:1.5rem;flex-grow:1;overflow:hidden}.image-section[data-v-f5caacca]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px rgba(0,0,0,.05);display:flex;flex-direction:column;height:100%;overflow:hidden}.image-container[data-v-f5caacca]{flex:1;display:flex;flex-direction:column;height:100%}.image-wrapper[data-v-f5caacca]{flex-grow:1;display:flex;justify-content:center;align-items:center;margin-bottom:1rem;overflow:hidden;border-radius:8px;background:#f8f9fa}.main-image[data-v-f5caacca]{max-width:100%;max-height:100%;width:auto;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;border-radius:8px;transition:transform .3s ease}.main-image[data-v-f5caacca]:hover{transform:scale(1.02)}.image-info[data-v-f5caacca]{margin-top:auto;padding:1rem;background:#f8f9fa;border-radius:8px;flex-shrink:0}.image-info h3[data-v-f5caacca]{margin:0 0 .5rem 0;color:#2c3e50;font-size:1rem;font-weight:600}.image-info p[data-v-f5caacca]{margin:.25rem 0;color:#6c757d;font-size:.85rem;display:flex;justify-content:space-between;align-items:center}.imagedata-details[data-v-f5caacca]{margin-top:1rem;padding:1rem;background:#fff;border-radius:8px;border:1px solid #e3f2fd}.imagedata-details h4[data-v-f5caacca]{margin:0 0 .75rem 0;color:#2c3e50;font-size:.9rem;font-weight:600}.analysis-section[data-v-f5caacca]{display:flex;flex-direction:column;gap:1rem;height:100%;min-height:0}.analysis-panel[data-v-f5caacca]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px rgba(0,0,0,.05);flex-shrink:0;overflow-y:auto;max-height:45%}.analysis-panel h3[data-v-f5caacca]{margin:0 0 1rem 0;color:#2c3e50;font-size:1.1rem}.loading[data-v-f5caacca]{text-align:center;color:#7f8c8d;padding:2rem}.analysis-results[data-v-f5caacca]{display:flex;flex-direction:column;gap:1rem}.analysis-item strong[data-v-f5caacca]{color:#2c3e50;display:block;margin-bottom:.5rem}.analysis-item ul[data-v-f5caacca]{margin:0;padding-left:1.5rem;color:#555}.color-palette[data-v-f5caacca]{display:flex;gap:.5rem;flex-wrap:wrap}.color-swatch[data-v-f5caacca]{width:30px;height:30px;border-radius:50%;border:2px solid #ddd;cursor:pointer}.chat-panel[data-v-f5caacca]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px rgba(0,0,0,.05);flex-grow:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.chat-panel-header[data-v-f5caacca]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.chat-panel h3[data-v-f5caacca]{margin:0;color:#2c3e50;font-size:1.1rem}.chat-messages[data-v-f5caacca]{flex-grow:1;overflow-y:auto;margin-bottom:1rem;padding:.5rem;background:#f8f9fa;border-radius:8px;scrollbar-width:thin;scrollbar-color:#dce4f0 #f8f9fa}.chat-messages[data-v-f5caacca]::-webkit-scrollbar{width:10px}.chat-messages[data-v-f5caacca]::-webkit-scrollbar-track{background:#f1f3f4;border-radius:5px;margin:5px}.chat-messages[data-v-f5caacca]::-webkit-scrollbar-thumb{background:#c1c7cd;border-radius:5px;border:2px solid #f1f3f4}.chat-messages[data-v-f5caacca]::-webkit-scrollbar-thumb:hover{background:#9aa0a6}.message[data-v-f5caacca]{margin-bottom:1rem;padding:.75rem;border-radius:12px;max-width:85%;word-wrap:break-word;animation:slideIn-f5caacca .3s ease-out}@keyframes slideIn-f5caacca{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user[data-v-f5caacca]{background:#3b82f6;color:#fff;margin-left:auto;text-align:right;box-shadow:0 2px 8px rgba(59,130,246,.2)}.message.assistant[data-v-f5caacca]{background:#eef2f7;color:#333;border:1px solid #e2e8f0;box-shadow:none}.message.system[data-v-f5caacca]{background:#e8f5e8;color:#2d5016;border:1px solid #c3e6c3;font-style:italic;max-width:100%;text-align:center}.empty-chat-message[data-v-f5caacca]{text-align:center;color:#6c757d;font-size:.9rem;padding:2rem;line-height:1.6;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;margin:1rem 0}.message-content[data-v-f5caacca]{margin-bottom:.25rem}.message-time[data-v-f5caacca]{font-size:.75rem;opacity:.7}.chat-input-area[data-v-f5caacca]{flex-shrink:0;padding-top:1rem;border-top:1px solid #e9ecef}.input-container[data-v-f5caacca]{display:flex;gap:.75rem;align-items:center}.chat-input[data-v-f5caacca]{flex:1;padding:.75rem 1rem;border:1px solid #dce4f0;border-radius:8px;font-size:.9rem;transition:all .2s ease;background:#fff;resize:none}.chat-input[data-v-f5caacca]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.send-btn[data-v-f5caacca]{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.25rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.send-btn[data-v-f5caacca]:hover:not(:disabled){background:#2563eb}.send-btn[data-v-f5caacca]:disabled{background:#bdc3c7;cursor:not-allowed}.suggested-questions[data-v-f5caacca]{margin-bottom:1rem;flex-shrink:0}.suggested-questions p[data-v-f5caacca]{margin:0 0 .5rem 0;font-size:.9rem;color:#495057;font-weight:600;text-align:left}.suggested-questions-container[data-v-f5caacca]{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0;scrollbar-width:thin;scrollbar-color:#bdc3c7 #ecf0f1}.suggested-questions-container[data-v-f5caacca]::-webkit-scrollbar{height:6px}.suggested-questions-container[data-v-f5caacca]::-webkit-scrollbar-track{background:#ecf0f1;border-radius:3px}.suggested-questions-container[data-v-f5caacca]::-webkit-scrollbar-thumb{background:#bdc3c7;border-radius:3px}.suggestion-btn[data-v-f5caacca]{background:#eef2f7;color:#4a5568;border:1px solid #e2e8f0;padding:.5rem 1rem;border-radius:16px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.suggestion-btn[data-v-f5caacca]:hover{background:#e2e8f0;border-color:#dce4f0;color:#2d3748}@media (max-width:1200px){.detail-content[data-v-f5caacca]{grid-template-columns:450px 1fr;gap:1rem}}@media (max-width:1024px){.detail-content[data-v-f5caacca]{grid-template-columns:1fr;height:auto;padding:1rem}.image-section[data-v-f5caacca]{order:1;margin-bottom:1rem;height:auto}.analysis-section[data-v-f5caacca]{order:2;height:auto}.image-wrapper[data-v-f5caacca]{max-height:50vh}.timer-container[data-v-f5caacca]{flex-direction:column;gap:.5rem}.timer-section[data-v-f5caacca]{min-width:auto}.chat-panel[data-v-f5caacca]{height:60vh}}.analysis-status[data-v-f5caacca]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;align-items:center}.analysis-status[data-v-f5caacca]:first-child{border-bottom:1px solid #e9ecef;padding-bottom:1rem;margin-bottom:1rem}.status-badge[data-v-f5caacca]{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;background:#f8f9fa;color:#6c757d}.status-badge.uploaded[data-v-f5caacca]{background:#d4edda;color:#155724}.status-badge.analyzed[data-v-f5caacca]{background:#e2e3f7;color:#383d41}.info-grid[data-v-f5caacca]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.info-item[data-v-f5caacca]{padding:.5rem;background:#fff;border-radius:4px;font-size:.9rem}.ai-analysis[data-v-f5caacca]{margin-bottom:1.5rem}.analysis-json-container[data-v-f5caacca]{position:relative}.json-toggle-btn[data-v-f5caacca]{position:absolute;top:.5rem;right:.5rem;background:#4a5568;color:#fff;border:none;padding:.25rem .75rem;border-radius:4px;font-size:.8rem;cursor:pointer;z-index:1;transition:background .3s ease}.json-toggle-btn[data-v-f5caacca]:hover{background:#2d3748}.analysis-json[data-v-f5caacca]{background:#2d3748;color:#e2e8f0;padding:1rem;padding-top:2.5rem;border-radius:8px;font-size:.8rem;overflow-x:auto;white-space:pre-wrap;max-height:200px;overflow-y:auto;line-height:1.4;transition:max-height .3s ease}.analysis-json.expanded[data-v-f5caacca]{max-height:600px}@media (max-width:768px){.detail-header[data-v-f5caacca]{padding:1rem}.detail-content[data-v-f5caacca]{padding:.75rem;gap:.75rem}.analysis-panel[data-v-f5caacca],.chat-panel[data-v-f5caacca]{padding:1rem}.analysis-status[data-v-f5caacca]{flex-direction:column;align-items:stretch}.status-btn[data-v-f5caacca]{margin-right:0;margin-bottom:.5rem}.timer-container[data-v-f5caacca]{padding:.5rem}.timer-section[data-v-f5caacca]{margin-bottom:.5rem}.timer-section-wrapper[data-v-f5caacca]{padding:.75rem;margin:.5rem 0}.timer-section-title[data-v-f5caacca]{font-size:.9rem}.chat-messages[data-v-f5caacca]{min-height:150px;max-height:250px}.chat-panel[data-v-f5caacca]{min-height:400px;height:auto}.chat-input-area[data-v-f5caacca]{position:sticky;bottom:0;background:#fff;border-top:2px solid #e9ecef;padding:1rem;margin:0}.suggested-questions[data-v-f5caacca]{padding:.75rem;margin-top:.5rem}.suggested-questions-container[data-v-f5caacca]{gap:.3rem}.suggestion-btn[data-v-f5caacca]{padding:.5rem .8rem;font-size:.8rem}.info-grid[data-v-f5caacca]{grid-template-columns:1fr}.model-toggle-container[data-v-f5caacca]{flex-direction:column;gap:.75rem;align-items:center}.toggle-label[data-v-f5caacca]{text-align:center}.toggle-switch-wrapper[data-v-f5caacca]{width:100%;max-width:250px}.controls-horizontal-container[data-v-f5caacca]{flex-direction:column;gap:.75rem;margin:.75rem 0}.tts-rate-wrapper[data-v-f5caacca]{padding:1rem;margin:0;flex:none}.tts-rate-title[data-v-f5caacca]{font-size:.9rem;padding-bottom:.5rem}.tts-rate-container[data-v-f5caacca]{flex-direction:row;gap:.75rem;align-items:center;justify-content:center}.rate-label[data-v-f5caacca]{text-align:center;font-size:.85rem}.rate-buttons-wrapper[data-v-f5caacca]{gap:.4rem;justify-content:center}.rate-btn[data-v-f5caacca]{width:40px;height:40px;font-size:.8rem}.rate-btn[data-v-f5caacca]:hover{transform:translateY(-1px) scale(1.03)}.rate-btn.active[data-v-f5caacca]{transform:scale(1.05)}.model-selection-wrapper[data-v-f5caacca]{margin:0;flex:none}}.stt-indicator[data-v-f5caacca]{background:#e3f2fd;color:#1976d2;font-weight:700}.error[data-v-f5caacca],.stt-indicator[data-v-f5caacca]{padding:8px 16px;border-radius:8px;margin-bottom:8px;text-align:center}.error[data-v-f5caacca]{background:#ffebee;color:#c62828}.tts-toggle-btn[data-v-f5caacca]{background:#f1f3f4;color:#2c3e50;border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-size:.9rem;transition:background .3s ease;align-self:flex-start}.tts-toggle-btn[data-v-f5caacca]:hover{background:#e2e6ea}.status-btn[data-v-f5caacca]{background:#3498db;color:#fff;border:none;padding:.5rem 1rem;margin-right:.5rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;min-width:60px;text-align:center}.status-btn[data-v-f5caacca]:hover{background:#2980b9;transform:translateY(-1px)}.status-btn.active[data-v-f5caacca]{background:#2ecc71;box-shadow:0 2px 8px rgba(46,204,113,.3)}.controls-horizontal-container[data-v-f5caacca]{display:flex;gap:.75rem;align-items:stretch;margin:.75rem 0}.tts-rate-wrapper[data-v-f5caacca]{background:linear-gradient(135deg,#667eea,#764ba2);border:1px solid #e3f2fd;border-radius:12px;padding:.75rem;margin:0;box-shadow:0 4px 20px rgba(102,126,234,.15);flex:1}.tts-rate-title[data-v-f5caacca]{margin:0 0 .5rem 0;color:#fff;font-size:.9rem;font-weight:700;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.2);border-bottom:1px solid hsla(0,0%,100%,.2);padding-bottom:.4rem}.tts-rate-container[data-v-f5caacca]{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;flex-direction:row}.rate-label[data-v-f5caacca]{font-size:.95rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);min-width:-moz-fit-content;min-width:fit-content}.rate-buttons-wrapper[data-v-f5caacca]{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.rate-btn[data-v-f5caacca]{background:hsla(0,0%,100%,.9);color:#4a5568;border:2px solid hsla(0,0%,100%,.6);border-radius:50%;width:45px;height:45px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.1);backdrop-filter:blur(10px)}.rate-btn[data-v-f5caacca]:hover{background:#fff;transform:translateY(-2px) scale(1.05);box-shadow:0 4px 15px rgba(0,0,0,.2);border-color:#3b82f6}.rate-btn.active[data-v-f5caacca]{background:#3b82f6;color:#fff;border-color:#2563eb;transform:translateY(-1px) scale(1.1);box-shadow:0 6px 20px rgba(59,130,246,.4);animation:pulse-rate-f5caacca 1.5s ease-in-out infinite alternate}@keyframes pulse-rate-f5caacca{0%{box-shadow:0 6px 20px rgba(59,130,246,.4)}to{box-shadow:0 8px 25px rgba(59,130,246,.6)}}.model-selection-wrapper[data-v-f5caacca]{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:.75rem;margin:0;flex:1}.model-selection-title[data-v-f5caacca]{margin:0 0 .5rem 0;color:#495057;font-size:.9rem;font-weight:600;text-align:center;border-bottom:1px solid #dee2e6;padding-bottom:.4rem}.model-toggle-container[data-v-f5caacca]{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap}.toggle-label[data-v-f5caacca]{font-size:.9rem;font-weight:600;color:#495057;min-width:-moz-fit-content;min-width:fit-content}.toggle-switch-wrapper[data-v-f5caacca]{display:flex;background:#e9ecef;border-radius:25px;padding:3px;box-shadow:inset 0 2px 4px rgba(0,0,0,.1);transition:all .3s ease}.toggle-option[data-v-f5caacca]{border:none;background:transparent;color:#6c757d;padding:.5rem 1.25rem;border-radius:22px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;position:relative;z-index:1;min-width:80px;text-align:center}.toggle-option[data-v-f5caacca]:hover{color:#495057}.toggle-option.active[data-v-f5caacca]{background:#3b82f6;color:#fff;box-shadow:0 2px 8px rgba(59,130,246,.3);transform:translateY(-1px)}.toggle-option:first-child.active[data-v-f5caacca]{background:#10b981;box-shadow:0 2px 8px rgba(16,185,129,.3)}.toggle-option:last-child.active[data-v-f5caacca]{background:#f59e0b;box-shadow:0 2px 8px rgba(245,158,11,.3)}.timer-section-wrapper[data-v-f5caacca]{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:.75rem;margin:.75rem 0}.timer-section-title[data-v-f5caacca]{margin:0 0 .5rem 0;color:#495057;font-size:.9rem;font-weight:600;text-align:center;border-bottom:1px solid #dee2e6;padding-bottom:.4rem}.timer-container[data-v-f5caacca]{display:flex;gap:.6rem;background:#fff;border:1px solid #e3f2fd;border-radius:8px;padding:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1);flex-wrap:wrap}.timer-section[data-v-f5caacca]{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex:1;min-width:120px}.timer-label[data-v-f5caacca]{font-size:.8rem;font-weight:700;color:#2c3e50;margin-bottom:.3rem;text-align:center}.timer-display[data-v-f5caacca]{display:flex;align-items:center;gap:.3rem;margin-bottom:.3rem}.timer-icon[data-v-f5caacca]{font-size:1rem}.timer-time[data-v-f5caacca]{font-size:1rem;font-weight:700;color:#2c3e50;font-family:Monaco,Consolas,monospace;min-width:50px;text-align:center}.timer-status[data-v-f5caacca]{width:8px;height:8px;border-radius:50%;background:#bdc3c7;transition:all .3s ease}.timer-status.running[data-v-f5caacca]{background:#e74c3c;animation:pulse-f5caacca 1.5s ease-in-out infinite alternate}@keyframes pulse-f5caacca{0%{opacity:1}to{opacity:.5}}.timer-controls[data-v-f5caacca]{display:flex;gap:.3rem;flex-wrap:wrap;justify-content:center}.timer-btn[data-v-f5caacca]{border:1px solid #dce4f0;border-radius:6px;padding:.25rem .5rem;font-size:.7rem;font-weight:500;cursor:pointer;transition:all .2s ease;background:#fff;color:#333}.timer-btn[data-v-f5caacca]:disabled{opacity:.6;cursor:not-allowed;background:#f8f9fa}.start-btn[data-v-f5caacca]{background:#e3f2fd;border-color:#bbdefb;color:#1e88e5}.start-btn[data-v-f5caacca]:hover:not(:disabled){background:#dbeffd}.record-btn[data-v-f5caacca]{background:#e8f5e9;border-color:#c8e6c9;color:#388e3c}.record-btn[data-v-f5caacca]:hover:not(:disabled){background:#ddf2de}.stop-btn[data-v-f5caacca]{background:#fff3e0;border-color:#ffcc80;color:#ef6c00}.stop-btn[data-v-f5caacca]:hover:not(:disabled){background:#ffecc1}.reset-btn[data-v-f5caacca]{background:#fbe9e7;border-color:#ffccbc;color:#d84315}.reset-btn[data-v-f5caacca]:hover:not(:disabled){background:#f9e2de}.ws-row[data-v-f5caacca]{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.ws-col[data-v-f5caacca]{flex:1 1 320px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:10px}.ws-title[data-v-f5caacca]{margin:0 0 8px 0;font-size:.95rem;color:#2c3e50}.ws-frame[data-v-f5caacca]{position:relative;background:#fff;border:1px solid #e3f2fd;border-radius:8px;min-height:180px;display:flex;align-items:center;justify-content:center;overflow:hidden}.ws-img[data-v-f5caacca]{max-width:100%;max-height:320px}.ws-empty[data-v-f5caacca]{color:#9aa0a6;font-size:.9rem;padding:20px}.ws-fps[data-v-f5caacca]{position:absolute;top:8px;right:8px;font-size:.75rem;background:rgba(0,0,0,.7);color:#fff;padding:2px 6px;border-radius:6px}.ws-stats[data-v-f5caacca]{margin-top:6px;display:flex;gap:8px;flex-wrap:wrap;font-size:.85rem;color:#4a5568}.header-actions[data-v-f5caacca]{margin-left:auto;display:flex;align-items:center;gap:8px}.ws-indicator[data-v-f5caacca]{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:12px;background:#f5f7fb;border:1px solid #e5e9f2;font-size:12px;color:#475569}.ws-indicator .dot[data-v-f5caacca]{width:8px;height:8px;border-radius:50%;background:#cbd5e1;box-shadow:inset 0 0 0 2px rgba(0,0,0,.04)}.ws-indicator.on .dot[data-v-f5caacca]{background:#22c55e}.connect-btn[data-v-f5caacca]{font-size:12px;padding:6px 10px;border-radius:8px;border:1px solid #dce4f0;background:#fff;color:#334155;cursor:pointer;transition:background .2s,transform .05s}.connect-btn[data-v-f5caacca]:hover{background:#f8fafc}.connect-btn[data-v-f5caacca]:active{transform:translateY(1px)}.image-detail[data-v-43ed8be9]{height:100vh;background:#f4f7fc;display:flex;flex-direction:column}.detail-header[data-v-43ed8be9]{background:#fff;padding:.75rem 1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px rgba(0,0,0,.05);flex-shrink:0;z-index:100}.back-btn[data-v-43ed8be9]{background:#eef2f7;color:#333;border:1px solid #dce4f0;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.back-btn[data-v-43ed8be9]:hover{background:#e1e8f2;border-color:#cdd7e5}.detail-header h1[data-v-43ed8be9]{color:#2c3e50;margin:0;font-size:1.5rem}.detail-content[data-v-43ed8be9]{display:grid;grid-template-columns:minmax(400px,1fr) 2fr;gap:1.5rem;padding:1.5rem;flex-grow:1;overflow:hidden}.image-section[data-v-43ed8be9]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px rgba(0,0,0,.05);display:flex;flex-direction:column;height:100%;overflow:hidden}.image-container[data-v-43ed8be9]{flex:1;display:flex;flex-direction:column;height:100%}.image-wrapper[data-v-43ed8be9]{flex-grow:1;display:flex;justify-content:center;align-items:center;margin-bottom:1rem;overflow:hidden;border-radius:8px;background:#f8f9fa}.main-image[data-v-43ed8be9]{max-width:100%;max-height:100%;width:auto;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;border-radius:8px;transition:transform .3s ease}.main-image[data-v-43ed8be9]:hover{transform:scale(1.02)}.image-info[data-v-43ed8be9]{margin-top:auto;padding:1rem;background:#f8f9fa;border-radius:8px;flex-shrink:0}.image-info h3[data-v-43ed8be9]{margin:0 0 .5rem 0;color:#2c3e50;font-size:1rem;font-weight:600}.image-info p[data-v-43ed8be9]{margin:.25rem 0;color:#6c757d;font-size:.85rem;display:flex;justify-content:space-between;align-items:center}.imagedata-details[data-v-43ed8be9]{margin-top:1rem;padding:1rem;background:#fff;border-radius:8px;border:1px solid #e3f2fd}.imagedata-details h4[data-v-43ed8be9]{margin:0 0 .75rem 0;color:#2c3e50;font-size:.9rem;font-weight:600}.analysis-section[data-v-43ed8be9]{display:flex;flex-direction:column;gap:1rem;height:100%;min-height:0}.analysis-panel[data-v-43ed8be9]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px rgba(0,0,0,.05);flex-shrink:0;overflow-y:auto;max-height:45%}.analysis-panel h3[data-v-43ed8be9]{margin:0 0 1rem 0;color:#2c3e50;font-size:1.1rem}.loading[data-v-43ed8be9]{text-align:center;color:#7f8c8d;padding:2rem}.analysis-results[data-v-43ed8be9]{display:flex;flex-direction:column;gap:1rem}.analysis-item strong[data-v-43ed8be9]{color:#2c3e50;display:block;margin-bottom:.5rem}.analysis-item ul[data-v-43ed8be9]{margin:0;padding-left:1.5rem;color:#555}.color-palette[data-v-43ed8be9]{display:flex;gap:.5rem;flex-wrap:wrap}.color-swatch[data-v-43ed8be9]{width:30px;height:30px;border-radius:50%;border:2px solid #ddd;cursor:pointer}.chat-panel[data-v-43ed8be9]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px rgba(0,0,0,.05);flex-grow:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.chat-panel-header[data-v-43ed8be9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.chat-panel h3[data-v-43ed8be9]{margin:0;color:#2c3e50;font-size:1.1rem}.chat-messages[data-v-43ed8be9]{flex-grow:1;overflow-y:auto;margin-bottom:1rem;padding:.5rem;background:#f8f9fa;border-radius:8px;scrollbar-width:thin;scrollbar-color:#dce4f0 #f8f9fa}.chat-messages[data-v-43ed8be9]::-webkit-scrollbar{width:10px}.chat-messages[data-v-43ed8be9]::-webkit-scrollbar-track{background:#f1f3f4;border-radius:5px;margin:5px}.chat-messages[data-v-43ed8be9]::-webkit-scrollbar-thumb{background:#c1c7cd;border-radius:5px;border:2px solid #f1f3f4}.chat-messages[data-v-43ed8be9]::-webkit-scrollbar-thumb:hover{background:#9aa0a6}.message[data-v-43ed8be9]{margin-bottom:1rem;padding:.75rem;border-radius:12px;max-width:85%;word-wrap:break-word;animation:slideIn-43ed8be9 .3s ease-out}@keyframes slideIn-43ed8be9{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user[data-v-43ed8be9]{background:#3b82f6;color:#fff;margin-left:auto;text-align:right;box-shadow:0 2px 8px rgba(59,130,246,.2)}.message.assistant[data-v-43ed8be9]{background:#eef2f7;color:#333;border:1px solid #e2e8f0;box-shadow:none}.message.system[data-v-43ed8be9]{background:#e8f5e8;color:#2d5016;border:1px solid #c3e6c3;font-style:italic;max-width:100%;text-align:center}.empty-chat-message[data-v-43ed8be9]{text-align:center;color:#6c757d;font-size:.9rem;padding:2rem;line-height:1.6;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;margin:1rem 0}.message-content[data-v-43ed8be9]{margin-bottom:.25rem}.message-time[data-v-43ed8be9]{font-size:.75rem;opacity:.7}.chat-input-area[data-v-43ed8be9]{flex-shrink:0;padding-top:1rem;border-top:1px solid #e9ecef}.input-container[data-v-43ed8be9]{display:flex;gap:.75rem;align-items:center}.chat-input[data-v-43ed8be9]{flex:1;padding:.75rem 1rem;border:1px solid #dce4f0;border-radius:8px;font-size:.9rem;transition:all .2s ease;background:#fff;resize:none}.chat-input[data-v-43ed8be9]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.send-btn[data-v-43ed8be9]{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.25rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.send-btn[data-v-43ed8be9]:hover:not(:disabled){background:#2563eb}.send-btn[data-v-43ed8be9]:disabled{background:#bdc3c7;cursor:not-allowed}.suggested-questions[data-v-43ed8be9]{margin-bottom:1rem;flex-shrink:0}.suggested-questions p[data-v-43ed8be9]{margin:0 0 .5rem 0;font-size:.9rem;color:#495057;font-weight:600;text-align:left}.suggested-questions-container[data-v-43ed8be9]{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0;scrollbar-width:thin;scrollbar-color:#bdc3c7 #ecf0f1}.suggested-questions-container[data-v-43ed8be9]::-webkit-scrollbar{height:6px}.suggested-questions-container[data-v-43ed8be9]::-webkit-scrollbar-track{background:#ecf0f1;border-radius:3px}.suggested-questions-container[data-v-43ed8be9]::-webkit-scrollbar-thumb{background:#bdc3c7;border-radius:3px}.suggestion-btn[data-v-43ed8be9]{background:#eef2f7;color:#4a5568;border:1px solid #e2e8f0;padding:.5rem 1rem;border-radius:16px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.suggestion-btn[data-v-43ed8be9]:hover{background:#e2e8f0;border-color:#dce4f0;color:#2d3748}@media (max-width:1200px){.detail-content[data-v-43ed8be9]{grid-template-columns:450px 1fr;gap:1rem}}@media (max-width:1024px){.detail-content[data-v-43ed8be9]{grid-template-columns:1fr;height:auto;padding:1rem}.image-section[data-v-43ed8be9]{order:1;margin-bottom:1rem;height:auto}.analysis-section[data-v-43ed8be9]{order:2;height:auto}.image-wrapper[data-v-43ed8be9]{max-height:50vh}.timer-container[data-v-43ed8be9]{flex-direction:column;gap:.5rem}.timer-section[data-v-43ed8be9]{min-width:auto}.chat-panel[data-v-43ed8be9]{height:60vh}}.analysis-status[data-v-43ed8be9]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;align-items:center}.analysis-status[data-v-43ed8be9]:first-child{border-bottom:1px solid #e9ecef;padding-bottom:1rem;margin-bottom:1rem}.status-badge[data-v-43ed8be9]{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;background:#f8f9fa;color:#6c757d}.status-badge.uploaded[data-v-43ed8be9]{background:#d4edda;color:#155724}.status-badge.analyzed[data-v-43ed8be9]{background:#e2e3f7;color:#383d41}.info-grid[data-v-43ed8be9]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.info-item[data-v-43ed8be9]{padding:.5rem;background:#fff;border-radius:4px;font-size:.9rem}.ai-analysis[data-v-43ed8be9]{margin-bottom:1.5rem}.analysis-json-container[data-v-43ed8be9]{position:relative}.json-toggle-btn[data-v-43ed8be9]{position:absolute;top:.5rem;right:.5rem;background:#4a5568;color:#fff;border:none;padding:.25rem .75rem;border-radius:4px;font-size:.8rem;cursor:pointer;z-index:1;transition:background .3s ease}.json-toggle-btn[data-v-43ed8be9]:hover{background:#2d3748}.analysis-json[data-v-43ed8be9]{background:#2d3748;color:#e2e8f0;padding:1rem;padding-top:2.5rem;border-radius:8px;font-size:.8rem;overflow-x:auto;white-space:pre-wrap;max-height:200px;overflow-y:auto;line-height:1.4;transition:max-height .3s ease}.analysis-json.expanded[data-v-43ed8be9]{max-height:600px}@media (max-width:768px){.detail-header[data-v-43ed8be9]{padding:1rem}.detail-content[data-v-43ed8be9]{padding:.75rem;gap:.75rem}.analysis-panel[data-v-43ed8be9],.chat-panel[data-v-43ed8be9]{padding:1rem}.analysis-status[data-v-43ed8be9]{flex-direction:column;align-items:stretch}.status-btn[data-v-43ed8be9]{margin-right:0;margin-bottom:.5rem}.timer-container[data-v-43ed8be9]{padding:.5rem}.timer-section[data-v-43ed8be9]{margin-bottom:.5rem}.timer-section-wrapper[data-v-43ed8be9]{padding:.75rem;margin:.5rem 0}.timer-section-title[data-v-43ed8be9]{font-size:.9rem}.chat-messages[data-v-43ed8be9]{min-height:150px;max-height:250px}.chat-panel[data-v-43ed8be9]{min-height:400px;height:auto}.chat-input-area[data-v-43ed8be9]{position:sticky;bottom:0;background:#fff;border-top:2px solid #e9ecef;padding:1rem;margin:0}.suggested-questions[data-v-43ed8be9]{padding:.75rem;margin-top:.5rem}.suggested-questions-container[data-v-43ed8be9]{gap:.3rem}.suggestion-btn[data-v-43ed8be9]{padding:.5rem .8rem;font-size:.8rem}.info-grid[data-v-43ed8be9]{grid-template-columns:1fr}.model-toggle-container[data-v-43ed8be9]{flex-direction:column;gap:.75rem;align-items:center}.toggle-label[data-v-43ed8be9]{text-align:center}.toggle-switch-wrapper[data-v-43ed8be9]{width:100%;max-width:250px}.controls-horizontal-container[data-v-43ed8be9]{flex-direction:column;gap:.75rem;margin:.75rem 0}.tts-rate-wrapper[data-v-43ed8be9]{padding:1rem;margin:0;flex:none}.tts-rate-title[data-v-43ed8be9]{font-size:.9rem;padding-bottom:.5rem}.tts-rate-container[data-v-43ed8be9]{flex-direction:row;gap:.75rem;align-items:center;justify-content:center}.rate-label[data-v-43ed8be9]{text-align:center;font-size:.85rem}.rate-buttons-wrapper[data-v-43ed8be9]{gap:.4rem;justify-content:center}.rate-btn[data-v-43ed8be9]{width:40px;height:40px;font-size:.8rem}.rate-btn[data-v-43ed8be9]:hover{transform:translateY(-1px) scale(1.03)}.rate-btn.active[data-v-43ed8be9]{transform:scale(1.05)}.model-selection-wrapper[data-v-43ed8be9]{margin:0;flex:none}}.stt-indicator[data-v-43ed8be9]{background:#e3f2fd;color:#1976d2;font-weight:700}.error[data-v-43ed8be9],.stt-indicator[data-v-43ed8be9]{padding:8px 16px;border-radius:8px;margin-bottom:8px;text-align:center}.error[data-v-43ed8be9]{background:#ffebee;color:#c62828}.tts-toggle-btn[data-v-43ed8be9]{background:#f1f3f4;color:#2c3e50;border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-size:.9rem;transition:background .3s ease;align-self:flex-start}.tts-toggle-btn[data-v-43ed8be9]:hover{background:#e2e6ea}.status-btn[data-v-43ed8be9]{background:#3498db;color:#fff;border:none;padding:.5rem 1rem;margin-right:.5rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;min-width:60px;text-align:center}.status-btn[data-v-43ed8be9]:hover{background:#2980b9;transform:translateY(-1px)}.status-btn.active[data-v-43ed8be9]{background:#2ecc71;box-shadow:0 2px 8px rgba(46,204,113,.3)}.controls-horizontal-container[data-v-43ed8be9]{display:flex;gap:.75rem;align-items:stretch;margin:.75rem 0}.tts-rate-wrapper[data-v-43ed8be9]{background:linear-gradient(135deg,#667eea,#764ba2);border:1px solid #e3f2fd;border-radius:12px;padding:.75rem;margin:0;box-shadow:0 4px 20px rgba(102,126,234,.15);flex:1}.tts-rate-title[data-v-43ed8be9]{margin:0 0 .5rem 0;color:#fff;font-size:.9rem;font-weight:700;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.2);border-bottom:1px solid hsla(0,0%,100%,.2);padding-bottom:.4rem}.tts-rate-container[data-v-43ed8be9]{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;flex-direction:row}.rate-label[data-v-43ed8be9]{font-size:.95rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);min-width:-moz-fit-content;min-width:fit-content}.rate-buttons-wrapper[data-v-43ed8be9]{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.rate-btn[data-v-43ed8be9]{background:hsla(0,0%,100%,.9);color:#4a5568;border:2px solid hsla(0,0%,100%,.6);border-radius:50%;width:45px;height:45px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.1);backdrop-filter:blur(10px)}.rate-btn[data-v-43ed8be9]:hover{background:#fff;transform:translateY(-2px) scale(1.05);box-shadow:0 4px 15px rgba(0,0,0,.2);border-color:#3b82f6}.rate-btn.active[data-v-43ed8be9]{background:#3b82f6;color:#fff;border-color:#2563eb;transform:translateY(-1px) scale(1.1);box-shadow:0 6px 20px rgba(59,130,246,.4);animation:pulse-rate-43ed8be9 1.5s ease-in-out infinite alternate}@keyframes pulse-rate-43ed8be9{0%{box-shadow:0 6px 20px rgba(59,130,246,.4)}to{box-shadow:0 8px 25px rgba(59,130,246,.6)}}.model-selection-wrapper[data-v-43ed8be9]{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:.75rem;margin:0;flex:1}.model-selection-title[data-v-43ed8be9]{margin:0 0 .5rem 0;color:#495057;font-size:.9rem;font-weight:600;text-align:center;border-bottom:1px solid #dee2e6;padding-bottom:.4rem}.model-toggle-container[data-v-43ed8be9]{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap}.toggle-label[data-v-43ed8be9]{font-size:.9rem;font-weight:600;color:#495057;min-width:-moz-fit-content;min-width:fit-content}.toggle-switch-wrapper[data-v-43ed8be9]{display:flex;background:#e9ecef;border-radius:25px;padding:3px;box-shadow:inset 0 2px 4px rgba(0,0,0,.1);transition:all .3s ease}.toggle-option[data-v-43ed8be9]{border:none;background:transparent;color:#6c757d;padding:.5rem 1.25rem;border-radius:22px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;position:relative;z-index:1;min-width:80px;text-align:center}.toggle-option[data-v-43ed8be9]:hover{color:#495057}.toggle-option.active[data-v-43ed8be9]{background:#3b82f6;color:#fff;box-shadow:0 2px 8px rgba(59,130,246,.3);transform:translateY(-1px)}.toggle-option:first-child.active[data-v-43ed8be9]{background:#10b981;box-shadow:0 2px 8px rgba(16,185,129,.3)}.toggle-option:last-child.active[data-v-43ed8be9]{background:#f59e0b;box-shadow:0 2px 8px rgba(245,158,11,.3)}.timer-section-wrapper[data-v-43ed8be9]{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:.75rem;margin:.75rem 0}.timer-section-title[data-v-43ed8be9]{margin:0 0 .5rem 0;color:#495057;font-size:.9rem;font-weight:600;text-align:center;border-bottom:1px solid #dee2e6;padding-bottom:.4rem}.timer-container[data-v-43ed8be9]{display:flex;gap:.6rem;background:#fff;border:1px solid #e3f2fd;border-radius:8px;padding:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1);flex-wrap:wrap}.timer-section[data-v-43ed8be9]{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex:1;min-width:120px}.timer-label[data-v-43ed8be9]{font-size:.8rem;font-weight:700;color:#2c3e50;margin-bottom:.3rem;text-align:center}.timer-display[data-v-43ed8be9]{display:flex;align-items:center;gap:.3rem;margin-bottom:.3rem}.timer-icon[data-v-43ed8be9]{font-size:1rem}.timer-time[data-v-43ed8be9]{font-size:1rem;font-weight:700;color:#2c3e50;font-family:Monaco,Consolas,monospace;min-width:50px;text-align:center}.timer-status[data-v-43ed8be9]{width:8px;height:8px;border-radius:50%;background:#bdc3c7;transition:all .3s ease}.timer-status.running[data-v-43ed8be9]{background:#e74c3c;animation:pulse-43ed8be9 1.5s ease-in-out infinite alternate}@keyframes pulse-43ed8be9{0%{opacity:1}to{opacity:.5}}.timer-controls[data-v-43ed8be9]{display:flex;gap:.3rem;flex-wrap:wrap;justify-content:center}.timer-btn[data-v-43ed8be9]{border:1px solid #dce4f0;border-radius:6px;padding:.25rem .5rem;font-size:.7rem;font-weight:500;cursor:pointer;transition:all .2s ease;background:#fff;color:#333}.timer-btn[data-v-43ed8be9]:disabled{opacity:.6;cursor:not-allowed;background:#f8f9fa}.start-btn[data-v-43ed8be9]{background:#e3f2fd;border-color:#bbdefb;color:#1e88e5}.start-btn[data-v-43ed8be9]:hover:not(:disabled){background:#dbeffd}.record-btn[data-v-43ed8be9]{background:#e8f5e9;border-color:#c8e6c9;color:#388e3c}.record-btn[data-v-43ed8be9]:hover:not(:disabled){background:#ddf2de}.stop-btn[data-v-43ed8be9]{background:#fff3e0;border-color:#ffcc80;color:#ef6c00}.stop-btn[data-v-43ed8be9]:hover:not(:disabled){background:#ffecc1}.reset-btn[data-v-43ed8be9]{background:#fbe9e7;border-color:#ffccbc;color:#d84315}.reset-btn[data-v-43ed8be9]:hover:not(:disabled){background:#f9e2de}.ws-row[data-v-43ed8be9]{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.ws-col[data-v-43ed8be9]{flex:1 1 320px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:10px}.ws-title[data-v-43ed8be9]{margin:0 0 8px 0;font-size:.95rem;color:#2c3e50}.ws-frame[data-v-43ed8be9]{position:relative;background:#fff;border:1px solid #e3f2fd;border-radius:8px;min-height:180px;display:flex;align-items:center;justify-content:center;overflow:hidden}.ws-img[data-v-43ed8be9]{max-width:100%;max-height:320px}.ws-empty[data-v-43ed8be9]{color:#9aa0a6;font-size:.9rem;padding:20px}.ws-fps[data-v-43ed8be9]{position:absolute;top:8px;right:8px;font-size:.75rem;background:rgba(0,0,0,.7);color:#fff;padding:2px 6px;border-radius:6px}.ws-stats[data-v-43ed8be9]{margin-top:6px;display:flex;gap:8px;flex-wrap:wrap;font-size:.85rem;color:#4a5568}.header-actions[data-v-43ed8be9]{margin-left:auto;display:flex;align-items:center;gap:8px}.ws-indicator[data-v-43ed8be9]{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:12px;background:#f5f7fb;border:1px solid #e5e9f2;font-size:12px;color:#475569}.ws-indicator .dot[data-v-43ed8be9]{width:8px;height:8px;border-radius:50%;background:#cbd5e1;box-shadow:inset 0 0 0 2px rgba(0,0,0,.04)}.ws-indicator.on .dot[data-v-43ed8be9]{background:#22c55e}.connect-btn[data-v-43ed8be9]{font-size:12px;padding:6px 10px;border-radius:8px;border:1px solid #dce4f0;background:#fff;color:#334155;cursor:pointer;transition:background .2s,transform .05s}.connect-btn[data-v-43ed8be9]:hover{background:#f8fafc}.connect-btn[data-v-43ed8be9]:active{transform:translateY(1px)}.user-input-container[data-v-43ed8be9]{display:flex;flex-direction:column;gap:1rem}.input-group[data-v-43ed8be9]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.input-group label[data-v-43ed8be9]{font-weight:600;color:#34495e;min-width:80px}.user-input[data-v-43ed8be9]{flex:1;padding:.75rem;border:2px solid #e3f2fd;border-radius:8px;font-size:1rem;min-width:200px;transition:border-color .3s ease}.user-input[data-v-43ed8be9]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px rgba(52,152,219,.1)}.excel-test[data-v-3780a600]{height:100vh;background:#f4f7fc;display:flex;flex-direction:column}.detail-header[data-v-3780a600]{background:#fff;padding:.75rem 1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px rgba(0,0,0,.05);flex-shrink:0;z-index:100}.back-btn[data-v-3780a600]{background:#eef2f7;color:#333;border:1px solid #dce4f0;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.back-btn[data-v-3780a600]:hover{background:#e1e8f2;border-color:#cdd7e5}.detail-header h1[data-v-3780a600]{color:#2c3e50;margin:0;font-size:1.5rem}.detail-content[data-v-3780a600]{display:grid;grid-template-columns:minmax(400px,1fr) 2fr;gap:1.5rem;padding:1.5rem;flex-grow:1;overflow:hidden}.upload-section[data-v-3780a600]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px rgba(0,0,0,.05);display:flex;flex-direction:column;height:100%;overflow-y:auto}.upload-container[data-v-3780a600]{flex:1;display:flex;flex-direction:column}.upload-container h2[data-v-3780a600]{margin:0 0 1.5rem 0;color:#2c3e50;font-size:1.25rem;font-weight:600}.upload-area[data-v-3780a600]{border:2px dashed #3b82f6;border-radius:12px;padding:3rem 2rem;text-align:center;background:#f8faff;transition:all .3s ease;cursor:pointer;position:relative}.upload-area.drag-over[data-v-3780a600],.upload-area[data-v-3780a600]:hover{border-color:#2563eb;background:#f0f4ff;transform:translateY(-2px);box-shadow:0 8px 25px rgba(59,130,246,.15)}.file-input[data-v-3780a600]{display:none}.upload-label[data-v-3780a600]{cursor:pointer;display:block}.upload-icon[data-v-3780a600]{font-size:3rem;margin-bottom:1rem;opacity:.8}.upload-label h3[data-v-3780a600]{margin:.5rem 0;color:#374151;font-size:1.1rem;font-weight:600}.upload-hint[data-v-3780a600]{margin:.5rem 0 1rem 0;color:#6b7280;font-size:.9rem}.upload-button[data-v-3780a600]{display:inline-block;background:#3b82f6;color:#fff;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;transition:all .2s ease}.upload-button[data-v-3780a600]:hover{background:#2563eb;transform:translateY(-1px)}.file-info[data-v-3780a600]{margin-top:1.5rem;padding:1.25rem;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef}.file-info h3[data-v-3780a600]{margin:0 0 1rem 0;color:#2c3e50;font-size:1.1rem;font-weight:600}.file-details p[data-v-3780a600]{margin:.5rem 0;color:#495057;font-size:.9rem;display:flex;justify-content:space-between;align-items:center}.file-details strong[data-v-3780a600]{color:#2c3e50}.message-input-section[data-v-3780a600]{margin:1.5rem 0;padding:1rem;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef}.message-label[data-v-3780a600]{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50;font-size:.9rem}.message-input[data-v-3780a600]{width:100%;padding:.75rem;border:1px solid #dce4f0;border-radius:8px;font-size:.9rem;font-family:inherit;resize:vertical;min-height:80px;transition:all .2s ease;background:#fff}.message-input[data-v-3780a600]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.message-input[data-v-3780a600]:disabled{background:#f1f3f4;cursor:not-allowed;opacity:.7}.message-hint[data-v-3780a600]{margin-top:.5rem;font-size:.8rem;color:#6c757d;font-style:italic}.upload-controls-fixed[data-v-3780a600]{display:flex;gap:.75rem;margin:1.5rem 0;flex-wrap:wrap;justify-content:center}.upload-controls[data-v-3780a600]{display:flex;gap:.75rem;margin:1.25rem 0;flex-wrap:wrap}.upload-btn[data-v-3780a600]{flex:1;background:#10b981;color:#fff;border:none;padding:.75rem 1.25rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:120px}.upload-btn[data-v-3780a600]:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.upload-btn[data-v-3780a600]:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.clear-btn[data-v-3780a600]{background:#ef4444;color:#fff;border:none;padding:.75rem 1rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.clear-btn[data-v-3780a600]:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.clear-btn[data-v-3780a600]:disabled{background:#9ca3af;cursor:not-allowed}.progress-container[data-v-3780a600]{margin:1rem 0;display:flex;align-items:center;gap:.75rem}.progress-bar[data-v-3780a600]{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-fill[data-v-3780a600]{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);transition:width .3s ease;border-radius:4px}.progress-text[data-v-3780a600]{font-weight:500;color:#374151;font-size:.9rem;min-width:40px}.upload-result[data-v-3780a600]{margin:1rem 0;padding:1rem;border-radius:8px;border:1px solid}.upload-result.success[data-v-3780a600]{background:#ecfdf5;border-color:#10b981;color:#065f46}.upload-result.error[data-v-3780a600]{background:#fef2f2;border-color:#ef4444;color:#991b1b}.upload-result h4[data-v-3780a600]{margin:0 0 .5rem 0;font-size:1rem}.upload-result p[data-v-3780a600]{margin:0;font-size:.9rem}.image-container[data-v-3780a600]{flex:1;display:flex;flex-direction:column;height:100%}.image-wrapper[data-v-3780a600]{flex-grow:1;display:flex;justify-content:center;align-items:center;margin-bottom:1rem;overflow:hidden;border-radius:8px;background:#f8f9fa}.main-image[data-v-3780a600]{max-width:100%;max-height:100%;width:auto;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;border-radius:8px;transition:transform .3s ease}.main-image[data-v-3780a600]:hover{transform:scale(1.02)}.image-info[data-v-3780a600]{margin-top:auto;padding:1rem;background:#f8f9fa;border-radius:8px;flex-shrink:0}.image-info h3[data-v-3780a600]{margin:0 0 .5rem 0;color:#2c3e50;font-size:1rem;font-weight:600}.image-info p[data-v-3780a600]{margin:.25rem 0;color:#6c757d;font-size:.85rem;display:flex;justify-content:space-between;align-items:center}.imagedata-details[data-v-3780a600]{margin-top:1rem;padding:1rem;background:#fff;border-radius:8px;border:1px solid #e3f2fd}.imagedata-details h4[data-v-3780a600]{margin:0 0 .75rem 0;color:#2c3e50;font-size:.9rem;font-weight:600}.analysis-section[data-v-3780a600]{display:flex;flex-direction:column;gap:1rem;height:100%;min-height:0}.analysis-panel[data-v-3780a600]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px rgba(0,0,0,.05);flex-shrink:0;overflow-y:auto;max-height:45%}.analysis-panel h3[data-v-3780a600]{margin:0 0 1rem 0;color:#2c3e50;font-size:1.1rem}.loading[data-v-3780a600]{text-align:center;color:#7f8c8d;padding:2rem}.analysis-results[data-v-3780a600]{display:flex;flex-direction:column;gap:1rem}.analysis-item strong[data-v-3780a600]{color:#2c3e50;display:block;margin-bottom:.5rem}.analysis-item ul[data-v-3780a600]{margin:0;padding-left:1.5rem;color:#555}.color-palette[data-v-3780a600]{display:flex;gap:.5rem;flex-wrap:wrap}.color-swatch[data-v-3780a600]{width:30px;height:30px;border-radius:50%;border:2px solid #ddd;cursor:pointer}.chat-panel[data-v-3780a600]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px rgba(0,0,0,.05);flex-grow:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.chat-panel-header[data-v-3780a600]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.chat-panel h3[data-v-3780a600]{margin:0;color:#2c3e50;font-size:1.1rem}.chat-messages[data-v-3780a600]{flex-grow:1;overflow-y:auto;margin-bottom:1rem;padding:.5rem;background:#f8f9fa;border-radius:8px;scrollbar-width:thin;scrollbar-color:#dce4f0 #f8f9fa}.chat-messages[data-v-3780a600]::-webkit-scrollbar{width:10px}.chat-messages[data-v-3780a600]::-webkit-scrollbar-track{background:#f1f3f4;border-radius:5px;margin:5px}.chat-messages[data-v-3780a600]::-webkit-scrollbar-thumb{background:#c1c7cd;border-radius:5px;border:2px solid #f1f3f4}.chat-messages[data-v-3780a600]::-webkit-scrollbar-thumb:hover{background:#9aa0a6}.message[data-v-3780a600]{margin-bottom:1rem;padding:.75rem;border-radius:12px;max-width:85%;word-wrap:break-word;animation:slideIn-3780a600 .3s ease-out}@keyframes slideIn-3780a600{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user[data-v-3780a600]{background:#3b82f6;color:#fff;margin-left:auto;text-align:right;box-shadow:0 2px 8px rgba(59,130,246,.2)}.message.assistant[data-v-3780a600]{background:#eef2f7;color:#333;border:1px solid #e2e8f0;box-shadow:none}.message.system[data-v-3780a600]{background:#e8f5e8;color:#2d5016;border:1px solid #c3e6c3;font-style:italic;max-width:100%;text-align:center}.empty-chat-message[data-v-3780a600]{text-align:center;color:#6c757d;font-size:.9rem;padding:2rem;line-height:1.6;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;margin:1rem 0}.message-content[data-v-3780a600]{margin-bottom:.25rem}.message-time[data-v-3780a600]{font-size:.75rem;opacity:.7}.chat-input-area[data-v-3780a600]{flex-shrink:0;padding-top:1rem;border-top:1px solid #e9ecef}.input-container[data-v-3780a600]{display:flex;gap:.75rem;align-items:center}.chat-input[data-v-3780a600]{flex:1;padding:.75rem 1rem;border:1px solid #dce4f0;border-radius:8px;font-size:.9rem;transition:all .2s ease;background:#fff;resize:none}.chat-input[data-v-3780a600]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.send-btn[data-v-3780a600]{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.25rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.send-btn[data-v-3780a600]:hover:not(:disabled){background:#2563eb}.send-btn[data-v-3780a600]:disabled{background:#bdc3c7;cursor:not-allowed}.suggested-questions[data-v-3780a600]{margin-bottom:1rem;flex-shrink:0}.suggested-questions p[data-v-3780a600]{margin:0 0 .5rem 0;font-size:.9rem;color:#495057;font-weight:600;text-align:left}.suggested-questions-container[data-v-3780a600]{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0;scrollbar-width:thin;scrollbar-color:#bdc3c7 #ecf0f1}.suggested-questions-container[data-v-3780a600]::-webkit-scrollbar{height:6px}.suggested-questions-container[data-v-3780a600]::-webkit-scrollbar-track{background:#ecf0f1;border-radius:3px}.suggested-questions-container[data-v-3780a600]::-webkit-scrollbar-thumb{background:#bdc3c7;border-radius:3px}.suggestion-btn[data-v-3780a600]{background:#eef2f7;color:#4a5568;border:1px solid #e2e8f0;padding:.5rem 1rem;border-radius:16px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.suggestion-btn[data-v-3780a600]:hover{background:#e2e8f0;border-color:#dce4f0;color:#2d3748}@media (max-width:1200px){.detail-content[data-v-3780a600]{grid-template-columns:450px 1fr;gap:1rem}}@media (max-width:1024px){.detail-content[data-v-3780a600]{grid-template-columns:1fr;height:auto;padding:1rem}.image-section[data-v-3780a600]{order:1;margin-bottom:1rem;height:auto}.analysis-section[data-v-3780a600]{order:2;height:auto}.image-wrapper[data-v-3780a600]{max-height:50vh}.timer-container[data-v-3780a600]{flex-direction:column;gap:.5rem}.timer-section[data-v-3780a600]{min-width:auto}.chat-panel[data-v-3780a600]{height:60vh}}.analysis-status[data-v-3780a600]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;align-items:center}.analysis-status[data-v-3780a600]:first-child{border-bottom:1px solid #e9ecef;padding-bottom:1rem;margin-bottom:1rem}.status-badge[data-v-3780a600]{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;background:#f8f9fa;color:#6c757d}.status-badge.uploaded[data-v-3780a600]{background:#d4edda;color:#155724}.status-badge.analyzed[data-v-3780a600]{background:#e2e3f7;color:#383d41}.info-grid[data-v-3780a600]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.info-item[data-v-3780a600]{padding:.5rem;background:#fff;border-radius:4px;font-size:.9rem}.ai-analysis[data-v-3780a600]{margin-bottom:1.5rem}.analysis-json-container[data-v-3780a600]{position:relative}.json-toggle-btn[data-v-3780a600]{position:absolute;top:.5rem;right:.5rem;background:#4a5568;color:#fff;border:none;padding:.25rem .75rem;border-radius:4px;font-size:.8rem;cursor:pointer;z-index:1;transition:background .3s ease}.json-toggle-btn[data-v-3780a600]:hover{background:#2d3748}.analysis-json[data-v-3780a600]{background:#2d3748;color:#e2e8f0;padding:1rem;padding-top:2.5rem;border-radius:8px;font-size:.8rem;overflow-x:auto;white-space:pre-wrap;max-height:200px;overflow-y:auto;line-height:1.4;transition:max-height .3s ease}.analysis-json.expanded[data-v-3780a600]{max-height:600px}@media (max-width:768px){.detail-header[data-v-3780a600]{padding:1rem}.detail-content[data-v-3780a600]{padding:.75rem;gap:.75rem}.analysis-panel[data-v-3780a600],.chat-panel[data-v-3780a600]{padding:1rem}.analysis-status[data-v-3780a600]{flex-direction:column;align-items:stretch}.status-btn[data-v-3780a600]{margin-right:0;margin-bottom:.5rem}.timer-container[data-v-3780a600]{padding:.5rem}.timer-section[data-v-3780a600]{margin-bottom:.5rem}.timer-section-wrapper[data-v-3780a600]{padding:.75rem;margin:.5rem 0}.timer-section-title[data-v-3780a600]{font-size:.9rem}.chat-messages[data-v-3780a600]{min-height:150px;max-height:250px}.chat-panel[data-v-3780a600]{min-height:400px;height:auto}.chat-input-area[data-v-3780a600]{position:sticky;bottom:0;background:#fff;border-top:2px solid #e9ecef;padding:1rem;margin:0}.suggested-questions[data-v-3780a600]{padding:.75rem;margin-top:.5rem}.suggested-questions-container[data-v-3780a600]{gap:.3rem}.suggestion-btn[data-v-3780a600]{padding:.5rem .8rem;font-size:.8rem}.info-grid[data-v-3780a600]{grid-template-columns:1fr}.model-toggle-container[data-v-3780a600]{flex-direction:column;gap:.75rem;align-items:center}.toggle-label[data-v-3780a600]{text-align:center}.toggle-switch-wrapper[data-v-3780a600]{width:100%;max-width:250px}.controls-horizontal-container[data-v-3780a600]{flex-direction:column;gap:.75rem;margin:.75rem 0}.tts-rate-wrapper[data-v-3780a600]{padding:1rem;margin:0;flex:none}.tts-rate-title[data-v-3780a600]{font-size:.9rem;padding-bottom:.5rem}.tts-rate-container[data-v-3780a600]{flex-direction:row;gap:.75rem;align-items:center;justify-content:center}.rate-label[data-v-3780a600]{text-align:center;font-size:.85rem}.rate-buttons-wrapper[data-v-3780a600]{gap:.4rem;justify-content:center}.rate-btn[data-v-3780a600]{width:40px;height:40px;font-size:.8rem}.rate-btn[data-v-3780a600]:hover{transform:translateY(-1px) scale(1.03)}.rate-btn.active[data-v-3780a600]{transform:scale(1.05)}.model-selection-wrapper[data-v-3780a600]{margin:0;flex:none}}.stt-indicator[data-v-3780a600]{background:#e3f2fd;color:#1976d2;font-weight:700}.error[data-v-3780a600],.stt-indicator[data-v-3780a600]{padding:8px 16px;border-radius:8px;margin-bottom:8px;text-align:center}.error[data-v-3780a600]{background:#ffebee;color:#c62828}.tts-toggle-btn[data-v-3780a600]{background:#f1f3f4;color:#2c3e50;border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-size:.9rem;transition:background .3s ease;align-self:flex-start}.tts-toggle-btn[data-v-3780a600]:hover{background:#e2e6ea}.status-btn[data-v-3780a600]{background:#3498db;color:#fff;border:none;padding:.5rem 1rem;margin-right:.5rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;min-width:60px;text-align:center}.status-btn[data-v-3780a600]:hover{background:#2980b9;transform:translateY(-1px)}.status-btn.active[data-v-3780a600]{background:#2ecc71;box-shadow:0 2px 8px rgba(46,204,113,.3)}.controls-horizontal-container[data-v-3780a600]{display:flex;gap:.75rem;align-items:stretch;margin:.75rem 0}.tts-rate-wrapper[data-v-3780a600]{background:linear-gradient(135deg,#667eea,#764ba2);border:1px solid #e3f2fd;border-radius:12px;padding:.75rem;margin:0;box-shadow:0 4px 20px rgba(102,126,234,.15);flex:1}.tts-rate-title[data-v-3780a600]{margin:0 0 .5rem 0;color:#fff;font-size:.9rem;font-weight:700;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.2);border-bottom:1px solid hsla(0,0%,100%,.2);padding-bottom:.4rem}.tts-rate-container[data-v-3780a600]{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;flex-direction:row}.rate-label[data-v-3780a600]{font-size:.95rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);min-width:-moz-fit-content;min-width:fit-content}.rate-buttons-wrapper[data-v-3780a600]{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.rate-btn[data-v-3780a600]{background:hsla(0,0%,100%,.9);color:#4a5568;border:2px solid hsla(0,0%,100%,.6);border-radius:50%;width:45px;height:45px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.1);backdrop-filter:blur(10px)}.rate-btn[data-v-3780a600]:hover{background:#fff;transform:translateY(-2px) scale(1.05);box-shadow:0 4px 15px rgba(0,0,0,.2);border-color:#3b82f6}.rate-btn.active[data-v-3780a600]{background:#3b82f6;color:#fff;border-color:#2563eb;transform:translateY(-1px) scale(1.1);box-shadow:0 6px 20px rgba(59,130,246,.4);animation:pulse-rate-3780a600 1.5s ease-in-out infinite alternate}@keyframes pulse-rate-3780a600{0%{box-shadow:0 6px 20px rgba(59,130,246,.4)}to{box-shadow:0 8px 25px rgba(59,130,246,.6)}}.model-selection-wrapper[data-v-3780a600]{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:.75rem;margin:0;flex:1}.model-selection-title[data-v-3780a600]{margin:0 0 .5rem 0;color:#495057;font-size:.9rem;font-weight:600;text-align:center;border-bottom:1px solid #dee2e6;padding-bottom:.4rem}.model-toggle-container[data-v-3780a600]{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap}.toggle-label[data-v-3780a600]{font-size:.9rem;font-weight:600;color:#495057;min-width:-moz-fit-content;min-width:fit-content}.toggle-switch-wrapper[data-v-3780a600]{display:flex;background:#e9ecef;border-radius:25px;padding:3px;box-shadow:inset 0 2px 4px rgba(0,0,0,.1);transition:all .3s ease}.toggle-option[data-v-3780a600]{border:none;background:transparent;color:#6c757d;padding:.5rem 1.25rem;border-radius:22px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;position:relative;z-index:1;min-width:80px;text-align:center}.toggle-option[data-v-3780a600]:hover{color:#495057}.toggle-option.active[data-v-3780a600]{background:#3b82f6;color:#fff;box-shadow:0 2px 8px rgba(59,130,246,.3);transform:translateY(-1px)}.toggle-option:first-child.active[data-v-3780a600]{background:#10b981;box-shadow:0 2px 8px rgba(16,185,129,.3)}.toggle-option:last-child.active[data-v-3780a600]{background:#f59e0b;box-shadow:0 2px 8px rgba(245,158,11,.3)}.timer-section-wrapper[data-v-3780a600]{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:.75rem;margin:.75rem 0}.timer-section-title[data-v-3780a600]{margin:0 0 .5rem 0;color:#495057;font-size:.9rem;font-weight:600;text-align:center;border-bottom:1px solid #dee2e6;padding-bottom:.4rem}.timer-container[data-v-3780a600]{display:flex;gap:.6rem;background:#fff;border:1px solid #e3f2fd;border-radius:8px;padding:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1);flex-wrap:wrap}.timer-section[data-v-3780a600]{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex:1;min-width:120px}.timer-label[data-v-3780a600]{font-size:.8rem;font-weight:700;color:#2c3e50;margin-bottom:.3rem;text-align:center}.timer-display[data-v-3780a600]{display:flex;align-items:center;gap:.3rem;margin-bottom:.3rem}.timer-icon[data-v-3780a600]{font-size:1rem}.timer-time[data-v-3780a600]{font-size:1rem;font-weight:700;color:#2c3e50;font-family:Monaco,Consolas,monospace;min-width:50px;text-align:center}.timer-status[data-v-3780a600]{width:8px;height:8px;border-radius:50%;background:#bdc3c7;transition:all .3s ease}.timer-status.running[data-v-3780a600]{background:#e74c3c;animation:pulse-3780a600 1.5s ease-in-out infinite alternate}@keyframes pulse-3780a600{0%{opacity:1}to{opacity:.5}}.timer-controls[data-v-3780a600]{display:flex;gap:.3rem;flex-wrap:wrap;justify-content:center}.timer-btn[data-v-3780a600]{border:1px solid #dce4f0;border-radius:6px;padding:.25rem .5rem;font-size:.7rem;font-weight:500;cursor:pointer;transition:all .2s ease;background:#fff;color:#333}.timer-btn[data-v-3780a600]:disabled{opacity:.6;cursor:not-allowed;background:#f8f9fa}.start-btn[data-v-3780a600]{background:#e3f2fd;border-color:#bbdefb;color:#1e88e5}.start-btn[data-v-3780a600]:hover:not(:disabled){background:#dbeffd}.record-btn[data-v-3780a600]{background:#e8f5e9;border-color:#c8e6c9;color:#388e3c}.record-btn[data-v-3780a600]:hover:not(:disabled){background:#ddf2de}.stop-btn[data-v-3780a600]{background:#fff3e0;border-color:#ffcc80;color:#ef6c00}.stop-btn[data-v-3780a600]:hover:not(:disabled){background:#ffecc1}.reset-btn[data-v-3780a600]{background:#fbe9e7;border-color:#ffccbc;color:#d84315}.reset-btn[data-v-3780a600]:hover:not(:disabled){background:#f9e2de}.ws-row[data-v-3780a600]{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.ws-col[data-v-3780a600]{flex:1 1 320px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:10px}.ws-title[data-v-3780a600]{margin:0 0 8px 0;font-size:.95rem;color:#2c3e50}.ws-frame[data-v-3780a600]{position:relative;background:#fff;border:1px solid #e3f2fd;border-radius:8px;min-height:180px;display:flex;align-items:center;justify-content:center;overflow:hidden}.ws-img[data-v-3780a600]{max-width:100%;max-height:320px}.ws-empty[data-v-3780a600]{color:#9aa0a6;font-size:.9rem;padding:20px}.ws-fps[data-v-3780a600]{position:absolute;top:8px;right:8px;font-size:.75rem;background:rgba(0,0,0,.7);color:#fff;padding:2px 6px;border-radius:6px}.ws-stats[data-v-3780a600]{margin-top:6px;display:flex;gap:8px;flex-wrap:wrap;font-size:.85rem;color:#4a5568}.header-actions[data-v-3780a600]{margin-left:auto;display:flex;align-items:center;gap:8px}.ws-indicator[data-v-3780a600]{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:12px;background:#f5f7fb;border:1px solid #e5e9f2;font-size:12px;color:#475569}.ws-indicator .dot[data-v-3780a600]{width:8px;height:8px;border-radius:50%;background:#cbd5e1;box-shadow:inset 0 0 0 2px rgba(0,0,0,.04)}.ws-indicator.on .dot[data-v-3780a600]{background:#22c55e}.connect-btn[data-v-3780a600]{font-size:12px;padding:6px 10px;border-radius:8px;border:1px solid #dce4f0;background:#fff;color:#334155;cursor:pointer;transition:background .2s,transform .05s}.connect-btn[data-v-3780a600]:hover{background:#f8fafc}.connect-btn[data-v-3780a600]:active{transform:translateY(1px)}.dotcanvas-wrap[data-v-33eaf8a8]{max-width:980px;margin:40px auto;padding:24px 20px 56px;background:#eef2ff;border-radius:18px;box-shadow:0 18px 40px rgba(15,23,42,.08);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111827;font-size:16px;line-height:1.6}.dotcanvas-header[data-v-33eaf8a8]{margin-bottom:28px}.dotcanvas-header h1[data-v-33eaf8a8]{font-size:2rem;font-weight:700;margin-bottom:10px}.subtitle[data-v-33eaf8a8]{font-size:1.05rem;color:#374151}.status-bar[data-v-33eaf8a8]{padding:12px 16px;border-radius:10px;margin-bottom:22px;font-size:1rem}.status-loading[data-v-33eaf8a8]{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.status-error[data-v-33eaf8a8]{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.content-layout[data-v-33eaf8a8]{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.25fr);gap:24px}@media (max-width:768px){.content-layout[data-v-33eaf8a8]{grid-template-columns:1fr}}.panel[data-v-33eaf8a8]{background:#fff;border-radius:16px;padding:18px 20px 22px;box-shadow:0 8px 22px rgba(15,23,42,.06);border:1px solid #e5e7eb}.panel-header[data-v-33eaf8a8]{margin-bottom:14px}.panel-header h2[data-v-33eaf8a8]{font-size:1.25rem;font-weight:600;margin-bottom:6px}.panel-description[data-v-33eaf8a8]{font-size:1rem;color:#4b5563}.page-buttons[data-v-33eaf8a8]{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.page-button[data-v-33eaf8a8]{position:relative;padding:10px 16px;border-radius:999px;border:1px solid #d1d5db;background:#f9fafb;font-size:1rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .05s ease}.page-button[data-v-33eaf8a8]:hover{background:#eef2ff;border-color:#6366f1}.page-button[data-v-33eaf8a8]:focus-visible{outline:3px solid #4f46e5;outline-offset:3px;box-shadow:0 0 0 4px rgba(79,70,229,.35)}.page-button--active[data-v-33eaf8a8]{background:#4f46e5;color:#fff;border-color:#4338ca;box-shadow:0 8px 16px rgba(79,70,229,.5);transform:translateY(-1px)}.page-button--active[data-v-33eaf8a8]:hover{background:#4338ca}.page-label[data-v-33eaf8a8]{white-space:nowrap}.preview-content[data-v-33eaf8a8]{display:flex;flex-direction:column;gap:14px}.btn[data-v-33eaf8a8]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font-size:1rem;font-weight:600;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .05s ease,border-color .15s ease}.btn-primary[data-v-33eaf8a8]{background:#111827;color:#fff;border-color:#111827}.btn-primary[data-v-33eaf8a8]:hover{background:#020617;box-shadow:0 10px 20px rgba(15,23,42,.55);transform:translateY(-1px)}.btn-primary[aria-disabled=true][data-v-33eaf8a8],.btn-primary[data-v-33eaf8a8]:disabled{background:#e5e7eb;border-color:#d1d5db;color:#9ca3af;cursor:not-allowed;box-shadow:none;transform:none}.btn[data-v-33eaf8a8]:focus-visible{outline:3px solid #4f46e5;outline-offset:3px}.preview-placeholder[data-v-33eaf8a8]{font-size:.98rem;color:#6b7280}.preview-figure[data-v-33eaf8a8]{margin:0;margin-top:6px}.auto-img[data-v-33eaf8a8]{max-width:100%;height:auto;display:block;border-radius:14px;border:2px solid #e5e7eb}.preview-caption[data-v-33eaf8a8]{font-size:.9rem;color:#4b5563;margin-top:8px}.back-btn[data-v-33eaf8a8]{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;margin-bottom:18px;border-radius:999px;border:1px solid rgba(15,23,42,.08);background:hsla(0,0%,100%,.9);font-size:.95rem;font-weight:600;color:#111827;cursor:pointer;box-shadow:0 6px 14px rgba(15,23,42,.08);transition:background .15s ease,color .15s ease,box-shadow .15s ease,transform .05s ease,border-color .15s ease}.back-btn-icon[data-v-33eaf8a8]{width:20px;height:20px;border-radius:999px;border:1px solid rgba(148,163,184,.7);display:flex;align-items:center;justify-content:center;font-size:.8rem;background:#f9fafb}.back-btn-label[data-v-33eaf8a8]{letter-spacing:.02em}.back-btn[data-v-33eaf8a8]:hover{background:#111827;color:#f9fafb;border-color:#111827;box-shadow:0 10px 22px rgba(15,23,42,.25);transform:translateY(-1px)}.back-btn:hover .back-btn-icon[data-v-33eaf8a8]{background:#0b1120;border-color:rgba(148,163,184,.9)}.back-btn[data-v-33eaf8a8]:active{transform:translateY(0);box-shadow:0 4px 10px rgba(15,23,42,.18)}.back-btn[data-v-33eaf8a8]:focus-visible{outline:3px solid #4f46e5;outline-offset:3px}*{margin:0;padding:0;box-sizing:border-box}#app{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.7;color:#111827;font-size:16px;min-height:100vh;background:#f3f4f6}.main-content{max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem 3rem}.gradient-section{background:linear-gradient(135deg,#e0e7ff,#e0f2fe)}@media (max-width:768px){.main-content{padding:1.5rem 1rem 2rem}}