.modal-overlay[data-v-3f542612]{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;justify-content:center;align-items:center;z-index:9999}.modal[data-v-3f542612]{width:760px;height:640px;background:#f7f7f7;border-radius:36px;padding:28px 32px;display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(0,0,0,.18)}.header-bar[data-v-3f542612]{display:flex;align-items:center;gap:16px;background:#fff;padding:14px 20px;border-radius:40px;margin-bottom:24px}.nav-arrows[data-v-3f542612]{display:flex;gap:8px}.nav-arrows button[data-v-3f542612]{width:36px;height:36px;border-radius:50%;border:none;background:#dcdcdc}.breadcrumb[data-v-3f542612]{display:flex;align-items:center;gap:8px;font-weight:700}.crumb-icon[data-v-3f542612]{width:18px}.tabs[data-v-3f542612]{display:flex;justify-content:center;gap:16px;margin-bottom:24px;font-weight:1000}.tabs button[data-v-3f542612]{height:44px;padding:0 30px;border-radius:30px;border:none;background:#e4e4e4;font-weight:700}.tabs button.active[data-v-3f542612]{background:#f24c0a;color:#fff}.file-grid[data-v-3f542612]{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;overflow-y:auto;overflow-x:hidden;padding-right:6px}.file-card[data-v-3f542612]{height:170px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:8px;transition:.2s}.file-card.selected[data-v-3f542612]{border:2px solid #ff5a00}.folder-icon[data-v-3f542612]{width:120px;height:100px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.folder-icon img[data-v-3f542612]{width:70px}.icon-wrapper[data-v-3f542612]{width:100px;height:100px;border-radius:20px;background:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.file-icon[data-v-3f542612]{width:48px}.name[data-v-3f542612]{font-weight:700;font-size:14px}.count[data-v-3f542612]{font-size:12px;color:#777}.pagination[data-v-3f542612]{display:flex;justify-content:center;align-items:center;gap:4px;background:#fff;border-radius:14px;padding:6px 10px;margin-top:16px}.pagination button[data-v-3f542612]{width:34px;height:34px;border:none;background:transparent;border-radius:6px}.pagination button.active[data-v-3f542612]{background:#000;color:#fff;outline:2px solid #1f5cff}.modal-actions[data-v-3f542612]{display:flex;justify-content:flex-end;gap:16px;margin-top:20px}.cancel-btn[data-v-3f542612]{background:#bfbfbf}.cancel-btn[data-v-3f542612],.import-btn[data-v-3f542612]{color:#fff;padding:12px 32px;border-radius:26px;border:none;font-weight:700}.import-btn[data-v-3f542612]{background:#f24c0a}.import-btn[data-v-3f542612]:disabled{background:#ccc;cursor:not-allowed}.analysis-section[data-v-b56cdda6]{padding:32px}.section-title[data-v-b56cdda6]{font-size:24px;font-weight:700;margin-bottom:30px;display:flex;align-items:center;gap:8px}.section-title .bar[data-v-b56cdda6]{width:4px;height:18px;background:#f97316;border-radius:2px}.top-cards[data-v-b56cdda6]{display:flex;gap:30px}.card[data-v-b56cdda6]{flex:1;background:#fff;border-radius:18px;padding:40px;border:1px solid #e5e7eb;text-align:center;height:500px}.card[data-v-b56cdda6],.icon-circle[data-v-b56cdda6]{display:flex;align-items:center;justify-content:center}.icon-circle[data-v-b56cdda6]{width:60px;height:60px;border-radius:50%;margin:0 auto 20px;font-size:24px}.icon-circle.blue[data-v-b56cdda6]{background:#e0edff}.icon-circle.orange[data-v-b56cdda6]{background:#ffe9dc}.primary-btn[data-v-b56cdda6]{margin-top:20px;background:#f97316;color:#fff;border:none;padding:10px 22px;border-radius:10px;font-weight:600}.cloud-placeholder[data-v-b56cdda6]{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.cloud-icon[data-v-b56cdda6]{width:64px;height:64px;border-radius:999px;background:#eaf2ff;display:flex;align-items:center;justify-content:center;margin-bottom:6px}.cloud-icon img[data-v-b56cdda6]{width:64px;height:64px;-o-object-fit:contain;object-fit:contain}.cloud-title[data-v-b56cdda6]{font-size:20px;font-weight:700;color:#111827;margin-top:4px}.cloud-desc[data-v-b56cdda6]{font-size:13px;color:#9ca3af}.cloud-btn[data-v-b56cdda6]{margin-top:14px;background:#f97316;color:#fff;border:none;padding:10px 18px;border-radius:12px;font-weight:700;display:inline-flex;align-items:center;gap:8px;box-shadow:0 10px 18px rgba(249,115,22,.25);cursor:pointer}.cloud-btn-icon[data-v-b56cdda6]{width:16px;height:16px;-o-object-fit:contain;object-fit:contain}.upload-area[data-v-b56cdda6]{border-radius:14px;min-height:220px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff}.upload-placeholder[data-v-b56cdda6]{display:flex;flex-direction:column;align-items:center;gap:8px}.upload-icon[data-v-b56cdda6]{width:64px;height:64px;border-radius:999px;background:#fff3e8;display:flex;align-items:center;justify-content:center}.upload-icon img[data-v-b56cdda6]{width:64px;height:64px;-o-object-fit:contain;object-fit:contain}.upload-title[data-v-b56cdda6]{font-size:20px;font-weight:700;color:#111827;margin-top:4px}.upload-desc1[data-v-b56cdda6]{font-size:16px;color:#6b7280}.upload-desc2[data-v-b56cdda6]{font-size:12px;color:#6b7280;margin-top:-8px}.upload-link[data-v-b56cdda6]{font-size:13px;color:#f97316;margin-top:6px}.image-gallery[data-v-b56cdda6]{display:flex;flex-direction:column;align-items:center}.image-item[data-v-b56cdda6]{position:relative;width:250px;height:250px}.gallery-image[data-v-b56cdda6]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:10px}.remove-btn[data-v-b56cdda6]{position:absolute;top:-6px;right:-6px;background:#ef4444;border:none;color:#fff;border-radius:50%;width:22px;height:22px}.clear-btn[data-v-b56cdda6]{margin-top:15px;background:none;border:none;color:#f97316;font-weight:600;font-size:16px}.nav-bar[data-v-93d098c8]{height:85px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;border-bottom:1px solid #e5e7eb;background:#fff}.nav-center a[data-v-93d098c8]{margin:0 20px;color:#4b5563;text-decoration:none;font-weight:600;font-size:21px}.nav-center a.router-link-active[data-v-93d098c8]{color:#f97316;font-weight:750}.nav-logo[data-v-93d098c8]{height:40px;-o-object-fit:contain;object-fit:contain;cursor:pointer}.nav-right[data-v-93d098c8]{display:flex;align-items:center;gap:18px}.nav-icon-btn[data-v-93d098c8]{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;height:60px;padding:0 8px;border-radius:8px;transition:background .15s ease,transform .15s ease}.nav-icon-btn img[data-v-93d098c8]{height:38px;width:auto;opacity:.7;transition:opacity .15s ease}.nav-icon-btn[data-v-93d098c8]:focus-visible{transform:scale(.95);background:#f3f4f6}.nav-icon-btn[data-v-93d098c8]:hover{background:#f3f4f6}.nav-icon-btn:hover img[data-v-93d098c8]{opacity:1}.nav-icon-btn[data-v-93d098c8]:active{transform:scale(.95)}.dropdown-wrapper[data-v-93d098c8]{position:relative}.dropdown-menu[data-v-93d098c8]{position:absolute;top:100%;right:0;margin-top:4px;min-width:160px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);z-index:1000;overflow:hidden}.dropdown-item[data-v-93d098c8]{display:flex;align-items:center;padding:10px 14px;cursor:pointer;font-size:14px;color:#374151;transition:background .15s ease}.dropdown-item[data-v-93d098c8]:hover{background:#f3f4f6}.check-mark[data-v-93d098c8]{width:20px;font-size:14px;color:#374151}.lang-name[data-v-93d098c8]{flex:1}.login-btn[data-v-93d098c8]{display:inline-flex;align-items:center;justify-content:center;background:#f45a22;color:#fff;text-decoration:none;border:none;padding:10px 20px;border-radius:40px;font-size:16px;font-weight:700;transition:all .2s ease}.login-btn[data-v-93d098c8]:focus-visible{outline:none;background:#e24f1b;transform:translateY(-1px)}.login-btn[data-v-93d098c8]:hover{background:#e24f1b;transform:translateY(-1px)}.login-btn[data-v-93d098c8]:active{transform:scale(.96)}.nav-center .active[data-v-93d098c8]{color:#f97316;font-weight:750}.nav-item[data-v-93d098c8],.nav-label[data-v-93d098c8]{position:relative;display:inline-block}.beta-top[data-v-93d098c8]{position:absolute;top:-5px;right:0;transform:translateX(0);width:50px;height:auto;pointer-events:none}#modal-overlay[data-v-0a73c094]{z-index:1056;position:fixed;width:100dvw;height:100dvh;top:0;left:0;background-color:rgba(0,0,0,.5)}[role=dialog][data-v-0a73c094]{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-0a73c094]{top:50%;transform:translate(-50%,-50%)}.modal-frame[data-v-0a73c094]{width:450px;height:319px;margin:24px;box-sizing:border-box;display:flex;flex-direction:column}#modal-header[data-v-0a73c094]{margin-top:8px;position:relative;height:64px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}#modal-header h2[data-v-0a73c094]{font-size:24px;font-weight:700;line-height:100%;letter-spacing:-2%;color:#44403f;margin:0}.btn-close[data-v-0a73c094]{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-0a73c094]:focus,.btn-close[data-v-0a73c094]:hover{opacity:.8}.form-check-input[data-v-39463d67]{-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-39463d67]:checked{background-color:#ea5414;border-color:#ea5414}.form-check-input[data-v-39463d67]:focus{outline:none;box-shadow:none}.form[data-v-39463d67]{margin-top:30px;display:flex;flex-direction:column;gap:18px}.form-check[data-v-39463d67]{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600}.form-check-inline[data-v-39463d67]{display:flex;justify-content:flex-end;margin-top:-70px}.add-dotpad[data-v-39463d67]{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-39463d67]{background:#a5a5a7;font-size:18px;color:#fff;border-radius:20px;padding:5px 10px}.form-check-inline .add-dotpad[data-v-39463d67]:hover{opacity:.8}.add-dotpad[data-v-39463d67]:focus-visible{opacity:.8}table[data-v-39463d67]{width:100%;border-collapse:collapse;margin-top:40px;background:transparent}table thead th[data-v-39463d67]{font-size:18px;font-weight:600;color:#6b7280;text-align:left;padding:16px 8px;border-bottom:2px solid #e5e7eb}table tbody tr[data-v-39463d67]{border-bottom:none}table tbody td[data-v-39463d67]{padding:18px 8px;font-size:20px;font-weight:600;border-bottom:1px solid #e5e7eb}table tr td button[data-v-39463d67]{font-size:18px;background:#c4c4c4;border:none;border-radius:30px;color:#fff;padding:10px 22px;font-weight:600}table tr td button[data-v-39463d67]:active,table tr td button[data-v-39463d67]:focus,table tr td button[data-v-39463d67]:hover{opacity:.8;background:#aaabab!important;border-color:#aaabab!important;color:#fff!important}.skip-nav[data-v-dfc5787a]{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-nav[data-v-dfc5787a]:focus{position:static;display:block;width:100%;height:auto;margin:0;padding:4px 0;background:#d3d3d3;color:#6b7280;border-radius:0;z-index:1000;text-align:center;text-decoration:none}.page-content[data-v-dfc5787a]{padding:24px;min-height:calc(100vh - 116px)}.footer[data-v-dfc5787a]{border-top:1px solid #e5e7eb;padding:16px;text-align:center;color:#6b7280}.nav-bar[data-v-dfc5787a]{position:sticky;top:0;z-index:1000}.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)}.section-title[data-v-dc70c1e8]{font-size:24px;font-weight:700;padding-top:16px;margin-bottom:32px;display:flex;align-items:center;gap:8px}.section-title .bar[data-v-dc70c1e8]{width:4px;height:18px;background:#f97316;border-radius:2px}.upload-section[data-v-dc70c1e8]{background:#fff;padding:2rem;margin-bottom:2rem;font-size:20px}.upload-section h1[data-v-dc70c1e8]{text-align:center;margin-bottom:1.5rem;color:#2c3e50;font-size:35px}.upload-section h2[data-v-dc70c1e8]{text-align:left;margin-bottom:1.5rem;color:#2c3e50}.upload-area[data-v-dc70c1e8]{border:3px dashed #3498db;border-radius:10px;padding:3rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#f8f9fa}.upload-area[data-v-dc70c1e8]:hover{border-color:#2980b9;background:#e3f2fd}.upload-placeholder[data-v-dc70c1e8]{color:#7f8c8d}.upload-icon[data-v-dc70c1e8]{font-size:4rem;margin-bottom:1rem}.upload-hint[data-v-dc70c1e8]{font-size:.9rem;margin-top:.5rem;font-style:italic}.image-gallery[data-v-dc70c1e8]{margin-top:2rem}.image-gallery h3[data-v-dc70c1e8]{margin-bottom:1rem;color:#2c3e50}.gallery-grid[data-v-dc70c1e8]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;margin-bottom:24px}.unit-header[data-v-dc70c1e8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.unit-label[data-v-dc70c1e8]{font-size:20px;font-weight:700;color:#1f2937}.unit-count[data-v-dc70c1e8]{font-size:13px;background:#f97316;color:#fff;padding:4px 10px;border-radius:999px}.unit-divider[data-v-dc70c1e8]{height:1px;background:#e5e7eb;margin:40px 0}.image-card[data-v-dc70c1e8],.image-card[data-v-dc70c1e8]:focus{width:238px;height:350px;padding:16px;border-radius:20px;background:#fff;box-shadow:0 1px 2px -1px #0000001a,0 1px 3px 0 #0000001a;cursor:pointer;transition:none;flex-direction:column;transition:all .25s ease}.image-card[data-v-dc70c1e8],.image-card[data-v-dc70c1e8]:focus,.thumb[data-v-dc70c1e8]{position:relative;box-sizing:border-box;border:1px solid #f0f0f0;display:flex;overflow:hidden}.thumb[data-v-dc70c1e8]{padding-top:16px;width:100%;aspect-ratio:1/1;background:#f7f7f7;align-items:center;justify-content:center}.thumb .gallery-image[data-v-dc70c1e8]{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}.image-item[data-v-dc70c1e8]{position:relative;border-radius:10px;overflow:hidden;transition:transform .3s ease;cursor:pointer}.image-item[data-v-dc70c1e8]:hover{transform:translateY(-5px)}.image-item:hover .view-detail-overlay[data-v-dc70c1e8]{opacity:1}.gallery-image[data-v-dc70c1e8]{height:auto}.card-meta[data-v-dc70c1e8]{padding:16px 16px 16px;margin-top:24px}.unit-title[data-v-dc70c1e8]{font-size:18px;font-weight:700;color:#44403f;margin-bottom:6px}.image-title[data-v-dc70c1e8],.unit-title[data-v-dc70c1e8]{line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-title[data-v-dc70c1e8]{text-align:left;font-size:12px;font-weight:400;color:#aaabab}.view-detail-overlay[data-v-dc70c1e8]{position:absolute;inset:0;background:rgba(234,84,20,.7);border:3px solid #ea5414;border-radius:20px;color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;font-weight:700;font-size:32px;text-align:center}.image-card:focus .view-detail-overlay[data-v-dc70c1e8],.image-card:hover .view-detail-overlay[data-v-dc70c1e8]{opacity:1}.image-info[data-v-dc70c1e8]{padding:.5rem;background:#fff;display:flex;justify-content:space-between;align-items:center}.image-name[data-v-dc70c1e8]{font-size:.8rem;color:#555;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-status[data-v-dc70c1e8]{display:flex;gap:.25rem;margin:0 .5rem}.unit-section[data-v-dc70c1e8]{background:#f9fafb;border-radius:18px;padding:30px;margin-bottom:40px;transition:all .2s ease}.status-badge[data-v-dc70c1e8]{font-size:.8rem;padding:.1rem .3rem;border-radius:10px;background:#f8f9fa}.status-badge.uploaded[data-v-dc70c1e8]{background:#d4edda;color:#155724}.status-badge.analyzed[data-v-dc70c1e8]{background:#e2e3f7;color:#383d41}.remove-btn[data-v-dc70c1e8]{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-dc70c1e8]:hover{background:#c0392b}.clear-btn[data-v-dc70c1e8]{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-dc70c1e8]:hover{background:#c0392b}.unit-block[data-v-dc70c1e8]{background:#fff;border-radius:24px;padding:40px;margin-bottom:60px}@media (max-width:768px){.upload-area[data-v-dc70c1e8]{padding:2rem 1rem}.gallery-grid[data-v-dc70c1e8]{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:static;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}.logo-footer{width:100%;padding:18px 24px;box-sizing:border-box;justify-content:space-between}.logo-footer,.logo-left{display:flex;align-items:center}.logo-left{gap:10px}.logo-right{color:#44403f;font-size:32px;font-weight:700;white-space:nowrap}.image-detail[data-v-5272af70]{height:calc(100vh - 100px);background:#fff;display:flex;flex-direction:column}.back-btn[data-v-5272af70]{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-icon[data-v-5272af70]{font-size:22px;font-weight:600}.back-btn[data-v-5272af70]:hover{background:rgba(0,0,0,.05)}.detail-header[data-v-5272af70]{background:#f7f7f7;padding:.75rem 1.5rem;display:flex;align-items:center;gap:1rem;cursor:pointer;flex-shrink:0;z-index:100}.detail-header h1[data-v-5272af70]{color:#2c3e50;margin:0;font-size:1.5rem}.detail-header[data-v-5272af70]:hover{background:#f3f4f6}.detail-content[data-v-5272af70]{display:grid;grid-template-columns:minmax(400px,1fr) 2fr;gap:1.5rem;overflow-y:auto;padding:24px;padding-top:32px;height:calc(100vh - 80px);flex-grow:1}.image-section[data-v-5272af70]{display:flex;justify-content:center;padding:24px 0}.image-card[data-v-5272af70]{width:100%;max-width:520px;background:#fff;border-radius:20px;padding:20px;display:flex;flex-direction:column;justify-content:center}.image-container[data-v-5272af70]{flex:1;display:flex;flex-direction:column;height:100%}.image-wrapper[data-v-5272af70]{display:flex;justify-content:center;align-items:center;background:#f8fafc;border-radius:16px;padding:16px;border:1px solid #e5e7eb}.main-image[data-v-5272af70]{max-width:100%;max-height:320px;-o-object-fit:contain;object-fit:contain;border-radius:12px}.main-image[data-v-5272af70]:hover{transform:scale(1.02)}.image-info[data-v-5272af70]{margin-top:16px;padding:16px;background:#fff;border-radius:16px;border:1px solid #e5e7eb}.image-info h3[data-v-5272af70]{margin:0 0 .5rem 0;color:#2c3e50;font-size:1rem;font-weight:600}.tts-btn[data-v-5272af70]{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-5272af70]:hover{background:#f3f4f6}.image-info p[data-v-5272af70]{margin:.25rem 0;color:#6c757d;font-size:.85rem;display:flex;justify-content:space-between;align-items:center}.imagedata-details[data-v-5272af70]{margin-top:16px;padding:16px;border-radius:16px;background:#fff;border:1px solid #e5e7eb}.imagedata-details h4[data-v-5272af70]{margin:0 0 12px 0;font-size:14px;font-weight:600;color:#111827}.analysis-section[data-v-5272af70]{display:flex;flex-direction:column;gap:1rem;height:100%;min-height:0}.analysis-panel[data-v-5272af70]{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-5272af70]{margin:0 0 1rem 0;color:#2c3e50;font-size:1.1rem}.chat-panel[data-v-5272af70]{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-5272af70]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.chat-panel h3[data-v-5272af70]{margin:0;color:#2c3e50;font-size:1.1rem}.chat-messages[data-v-5272af70]{display:flex;flex-direction:column;gap:12px}.chat-messages[data-v-5272af70]::-webkit-scrollbar{width:10px}.chat-messages[data-v-5272af70]::-webkit-scrollbar-track{background:#f1f3f4;border-radius:5px;margin:5px}.chat-messages[data-v-5272af70]::-webkit-scrollbar-thumb{background:#c1c7cd;border-radius:5px;border:2px solid #f1f3f4}.chat-messages[data-v-5272af70]::-webkit-scrollbar-thumb:hover{background:#9aa0a6}.message[data-v-5272af70]{margin-bottom:1rem;padding:.75rem;border-radius:12px;max-width:85%;word-wrap:break-word;animation:slideIn-5272af70 .3s ease-out}@keyframes slideIn-5272af70{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-messages[data-v-5272af70]{flex:1;overflow-y:auto;background:transparent;padding:8px 4px}.message[data-v-5272af70]{max-width:70%!important;padding:10px 14px!important;border-radius:14px!important;margin-bottom:0!important;box-shadow:none!important}.message.assistant[data-v-5272af70]{background:#f3f4f6!important;color:#111827!important;border:none!important;align-self:flex-start!important;margin-left:4px}.message.user[data-v-5272af70]{background:#f97316!important;color:#fff!important;align-self:flex-end!important;text-align:left!important;margin-right:4px}.ai-analysis-header[data-v-5272af70]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px}.message-time[data-v-5272af70]{font-size:11px!important;opacity:.6;margin-top:4px;text-align:right}.empty-chat-message[data-v-5272af70]{display:none!important}.stt-indicator-bar[data-v-5272af70]{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-5272af70]{background:#fff;border-radius:14px;padding:0;display:flex;flex-direction:column}.ai-analysis[data-v-5272af70],.chat-panel[data-v-5272af70],.tts-rate-wrapper[data-v-5272af70]{box-shadow:none!important;border:1px solid #e5e7eb!important}.message-content[data-v-5272af70]{margin-bottom:.25rem}.chat-input-area[data-v-5272af70]{flex-shrink:0;border-top:1px solid #e5e7eb;padding:12px 16px}.input-container[data-v-5272af70]{display:flex;gap:.75rem;align-items:center}.chat-input[data-v-5272af70]{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-5272af70]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.send-btn[data-v-5272af70]{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-5272af70]:hover:not(:disabled){background:#eb8525}.send-btn[data-v-5272af70]:disabled{background:#f97316;cursor:not-allowed}.suggested-questions[data-v-5272af70]{margin-bottom:1rem;flex-shrink:0}.suggested-questions p[data-v-5272af70]{margin:0 0 .5rem 0;font-size:.9rem;color:#495057;font-weight:600;text-align:left}.suggested-questions-container[data-v-5272af70]{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0;scrollbar-width:thin;scrollbar-color:#bdc3c7 #ecf0f1}.suggested-questions-container[data-v-5272af70]::-webkit-scrollbar{height:6px}.suggested-questions-container[data-v-5272af70]::-webkit-scrollbar-track{background:#ecf0f1;border-radius:3px}.suggested-questions-container[data-v-5272af70]::-webkit-scrollbar-thumb{background:#bdc3c7;border-radius:3px}.suggestion-btn[data-v-5272af70]{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-5272af70]:hover{background:#e2e8f0;border-color:#dce4f0;color:#2d3748}.tts-rate-header[data-v-5272af70]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.current-rate-badge[data-v-5272af70]{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-5272af70]{background:#fff;border-radius:20px;padding:16px 20px 18px;box-shadow:0 6px 20px rgba(0,0,0,.08)}.tts-rate-title[data-v-5272af70]{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-5272af70]{width:100%}.rate-buttons-wrapper[data-v-5272af70]{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:#f3f4f6;border-radius:999px;padding:4px;height:44px}.rate-btn[data-v-5272af70]{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-5272af70]:hover{color:#111827}.rate-btn.active[data-v-5272af70]{background:#f97316;color:#fff;box-shadow:0 4px 10px rgba(249,115,22,.35)}@media (max-width:1200px){.detail-content[data-v-5272af70]{grid-template-columns:450px 1fr;gap:1rem}}@media (max-width:1024px){.detail-content[data-v-5272af70]{grid-template-columns:1fr;height:auto;padding:1rem}.image-section[data-v-5272af70]{order:1;margin-bottom:1rem;height:auto}.analysis-section[data-v-5272af70]{order:2;height:auto}.image-wrapper[data-v-5272af70]{max-height:50vh}.timer-container[data-v-5272af70]{flex-direction:column;gap:.5rem}.timer-section[data-v-5272af70]{min-width:auto}.chat-panel[data-v-5272af70]{height:60vh}}.analysis-status[data-v-5272af70]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;align-items:center}.analysis-status[data-v-5272af70]:first-child{border-bottom:1px solid #e9ecef;padding-bottom:1rem;margin-bottom:1rem}.status-badge[data-v-5272af70]{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;background:#f8f9fa;color:#6c757d}.status-badge.uploaded[data-v-5272af70]{background:#d4edda;color:#155724}.status-badge.analyzed[data-v-5272af70]{background:#e2e3f7;color:#383d41}.info-grid[data-v-5272af70]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-item[data-v-5272af70]{background:#fff;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.info-item .label[data-v-5272af70]{font-size:11px;color:#6b7280;font-weight:500}.info-item .value[data-v-5272af70]{font-size:13px;color:#111827;font-weight:700}.ai-analysis[data-v-5272af70]{display:flex;flex-direction:column;background:#fff;border-radius:20px;padding:16px;box-shadow:0 6px 20px rgba(0,0,0,.06)}.ai-analysis-body[data-v-5272af70],.analysis-json-container[data-v-5272af70]{position:relative}.json-toggle-btn[data-v-5272af70]{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-5272af70]:hover{background:#2d3748}.analysis-json[data-v-5272af70]{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-5272af70]{max-height:600px}@media (max-width:768px){.detail-header[data-v-5272af70]{padding:1rem}.detail-content[data-v-5272af70]{padding:.75rem;gap:.75rem}.analysis-panel[data-v-5272af70],.chat-panel[data-v-5272af70]{padding:1rem}.analysis-status[data-v-5272af70]{flex-direction:column;align-items:stretch}.status-btn[data-v-5272af70]{margin-right:0;margin-bottom:.5rem}.chat-panel[data-v-5272af70]{height:100%}.chat-panel-header[data-v-5272af70]{display:flex;justify-content:space-between;align-items:center}.chat-panel-header h3[data-v-5272af70]{margin:0;font-size:15px;font-weight:600}.stt-indicator-bar.listening[data-v-5272af70]{color:#dc2626;background:#fee2e2}.input-container[data-v-5272af70]{display:flex;gap:8px}.chat-panel[data-v-5272af70]{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px;display:flex;flex-direction:column}.chat-input[data-v-5272af70]{flex:1;padding:10px 14px;border-radius:10px;border:1px solid #e5e7eb;font-size:14px}.chat-input[data-v-5272af70]:focus{outline:none;border-color:#f97316}.send-btn[data-v-5272af70]{padding:10px 16px;border-radius:10px;border:none;background:#f97316;color:#fff;font-weight:600;cursor:pointer}.send-btn[data-v-5272af70]:disabled{background:#d1d5db;cursor:not-allowed}.tts-btn[data-v-5272af70]{background:transparent;border:none;cursor:pointer;margin-left:6px}.suggested-questions[data-v-5272af70]{padding:.75rem;margin-top:.5rem}.suggested-questions-container[data-v-5272af70]{gap:.3rem}.suggestion-btn[data-v-5272af70]{padding:.5rem .8rem;font-size:.8rem}.info-grid[data-v-5272af70]{grid-template-columns:1fr}.model-toggle-container[data-v-5272af70]{flex-direction:column;gap:.75rem;align-items:center}.toggle-label[data-v-5272af70]{text-align:center}.toggle-switch-wrapper[data-v-5272af70]{width:100%;max-width:250px}.controls-horizontal-container[data-v-5272af70]{flex-direction:column;gap:.75rem;margin:.75rem 0;margin-bottom:20px}.tts-rate-wrapper[data-v-5272af70]{background:#fff;border-radius:20px;padding:16px 20px 18px;box-shadow:0 6px 20px rgba(0,0,0,.08)}.tts-rate-title[data-v-5272af70]{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-5272af70]{width:100%}.rate-buttons-wrapper[data-v-5272af70]{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-5272af70]{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-5272af70]:hover{color:#111827}.rate-btn.active[data-v-5272af70]{background:#f97316;color:#fff;box-shadow:0 4px 10px rgba(249,115,22,.35)}}@keyframes pulse-rate-5272af70{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-5272af70]{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.ws-col[data-v-5272af70]{flex:1 1 320px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:10px}.ws-title[data-v-5272af70]{margin:0 0 8px 0;font-size:.95rem;color:#2c3e50}.ws-frame[data-v-5272af70]{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-5272af70]{max-width:100%;max-height:320px}.ws-empty[data-v-5272af70]{color:#9aa0a6;font-size:.9rem;padding:20px}.ws-fps[data-v-5272af70]{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-5272af70]{margin-top:6px;display:flex;gap:8px;flex-wrap:wrap;font-size:.85rem;color:#4a5568}.header-actions[data-v-5272af70]{margin-left:auto;display:flex;align-items:center;gap:8px}.ws-indicator[data-v-5272af70]{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-5272af70]{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-5272af70]{background:#22c55e}.ws-video[data-v-5272af70]{width:100%;max-height:320px;-o-object-fit:cover;object-fit:cover}.connect-btn[data-v-5272af70]{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-5272af70]:hover{background:#f8fafc}.connect-btn[data-v-5272af70]: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-91a7a4e8]{width:100%;min-height:100vh;background:#f3f4f6;padding-bottom:60px;font-family:Pretendard,system-ui,sans-serif}.header-card[data-v-91a7a4e8]{width:100%;background:#f7f7f7;padding:32px 6%;cursor:pointer;transition:background .2s ease}.header-card[data-v-91a7a4e8]:hover{background:#dfe3e8}.header-inner[data-v-91a7a4e8]{width:90%;margin:0 auto;display:flex;align-items:center;gap:20px}.title-row[data-v-91a7a4e8]{display:flex;align-items:baseline;gap:24px;flex-wrap:wrap}.title-row h1[data-v-91a7a4e8]{font-size:22px;font-weight:700;margin:0;white-space:nowrap}.title-row p[data-v-91a7a4e8]{font-size:14px;color:#6b7280;margin:0}.back-icon[data-v-91a7a4e8]{font-size:22px;color:#6b7280;margin-top:6px}.title-area h1[data-v-91a7a4e8]{font-size:24px;font-weight:700;margin-bottom:6px;color:#111827}.title-area p[data-v-91a7a4e8]{font-size:14px;color:#6b7280}.header-divider[data-v-91a7a4e8]{width:100%;height:6px;background:#fff}.content-layout[data-v-91a7a4e8]{width:90%;margin:40px auto 0 auto;background:#f7f7f7;display:grid;grid-template-columns:48% 48%;gap:4%}.card[data-v-91a7a4e8]{width:100%;background:#fff;border-radius:18px;padding:36px;border:1px solid #e5e7eb;min-height:450px}.card h2[data-v-91a7a4e8]{font-size:18px;font-weight:600;margin-bottom:10px}.desc[data-v-91a7a4e8]{font-size:14px;color:#6b7280;margin-bottom:20px}.page-list[data-v-91a7a4e8]{display:flex;flex-wrap:wrap;gap:12px}.page-pill[data-v-91a7a4e8]{padding:8px 18px;border-radius:20px;background:#f1f2f4;border:none;font-size:13px;color:#e5e7eb;cursor:pointer;transition:.2s ease}.page-pill.active[data-v-91a7a4e8]{background:#ff5a00;color:#fff}.analyze-btn[data-v-91a7a4e8]{width:100%;background:#ff5a00;border:none;border-radius:24px;padding:14px;color:#fff;font-weight:600;margin-bottom:20px;cursor:pointer;transition:.2s ease}.analyze-btn[data-v-91a7a4e8]:hover{background:#e14f00}.analyze-btn[data-v-91a7a4e8]:disabled{background:#e5e7eb;cursor:not-allowed;color:#a7a7a7}.image-box[data-v-91a7a4e8]{background:#fafafa;border:1px solid #e5e7eb;border-radius:14px;padding:24px;height:260px;display:flex;align-items:center;justify-content:center}.image-box img[data-v-91a7a4e8]{max-height:200px;max-width:100%}.caption[data-v-91a7a4e8]{font-size:12px;color:#9ca3af;text-align:center;margin-top:10px}@media (max-width:900px){.content-layout[data-v-91a7a4e8]{grid-template-columns:100%;gap:24px}}*{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:none;width:100%;margin:0;padding:0}.gradient-section{background:linear-gradient(135deg,#e0e7ff,#e0f2fe)}@media (max-width:768px){.main-content{padding:1.5rem 1rem 2rem}}