:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app-container{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--primary-color: #007bff;--primary-hover-color: #0056b3;--secondary-color: #6c757d;--success-color: #28a745;--danger-color: #dc3545;--light-color: #f8f9fa;--dark-color: #343a40;--background-color: #f4f7f6;--surface-color: #ffffff;--text-color: #212529;--border-color: #dee2e6;--border-radius: .3rem;--box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--spacing-unit: 8px}:root.dark-mode{--primary-color: #0d6efd;--primary-hover-color: #0a58ca;--secondary-color: #5c636a;--success-color: #198754;--danger-color: #dc3545;--light-color: #212529;--dark-color: #f8f9fa;--background-color: #121212;--surface-color: #1e1e1e;--text-color: #e0e0e0;--border-color: #444444;--box-shadow: 0 .125rem .25rem rgba(255, 255, 255, .05)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--background-color);color:var(--text-color);line-height:1.6;transition:background-color .3s ease,color .3s ease}.app-container{max-width:1600px;margin:0 auto;padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 2)}button,.button-like{display:inline-block;font-weight:400;color:#fff;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:var(--primary-color);border:1px solid var(--primary-color);padding:calc(var(--spacing-unit) * .75) calc(var(--spacing-unit) * 1.5);font-size:1rem;line-height:1.5;border-radius:var(--border-radius);transition:all .15s ease-in-out;text-decoration:none}button:hover,.button-like:hover{background-color:var(--primary-hover-color);border-color:var(--primary-hover-color)}.theme-toggle-button{position:fixed;bottom:calc(var(--spacing-unit) * 2);right:calc(var(--spacing-unit) * 2);z-index:1000;background-color:var(--secondary-color);border-color:var(--secondary-color);color:var(--surface-color)}:root.dark-mode .theme-toggle-button{background-color:var( --secondary-color );border-color:var(--secondary-color);color:var(--text-color)}.theme-toggle-button:hover{opacity:.8}.login-container[data-v-be062e2f]{max-width:400px;margin:50px auto;padding:20px;border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);background-color:var(--surface-color)}.login-container h2[data-v-be062e2f]{text-align:center;margin-bottom:calc(var(--spacing-unit) * 2.5);color:var(--primary-color)}.login-container div[data-v-be062e2f]{margin-bottom:calc(var(--spacing-unit) * 2)}.login-container label[data-v-be062e2f]{display:block;margin-bottom:calc(var(--spacing-unit) * .5);font-weight:500}.login-container input[type=text][data-v-be062e2f],.login-container input[type=password][data-v-be062e2f]{width:100%;padding:calc(var(--spacing-unit) * 1);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem}.login-container input[type=text][data-v-be062e2f]:focus,.login-container input[type=password][data-v-be062e2f]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 .2rem #007bff40}.login-container button[type=submit][data-v-be062e2f]{width:100%;padding:calc(var(--spacing-unit) * 1.25);font-size:1.1rem}.error-message[data-v-be062e2f]{color:var(--danger-color);margin-top:calc(var(--spacing-unit) * 1.5);text-align:center}.app-container[data-v-ff47f65f]{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3)}.app-header[data-v-ff47f65f]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 4);padding-bottom:calc(var(--spacing-unit) * 2);border-bottom:1px solid var(--border-color)}.app-header h1[data-v-ff47f65f]{margin-bottom:0;font-size:2rem;color:var(--dark-color)}.app-header div button[data-v-ff47f65f]{margin-left:var( --spacing-unit )}#poi-list-container[data-v-ff47f65f]{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--spacing-unit) * 3)}.poi-card-item[data-v-ff47f65f]{background:var(--surface-color);border-radius:calc(var(--border-radius) * 2);box-shadow:0 4px 6px #0000001a;text-decoration:none;color:var(--text-color);transition:transform .3s ease,box-shadow .3s ease;overflow:hidden;display:flex;flex-direction:column;padding:10px}.poi-card-item[data-v-ff47f65f]:hover{transform:translateY(-8px);box-shadow:0 10px 15px #00000026}.poi-card-content[data-v-ff47f65f]{padding:calc(var(--spacing-unit) * 2);flex-grow:1}.poi-card-item h3[data-v-ff47f65f]{margin-top:0;margin-bottom:calc(var(--spacing-unit) * 1);font-size:1.35rem;color:var(--primary-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%}.poi-card-item p[data-v-ff47f65f]{margin-bottom:0;font-size:.95rem;line-height:1.6;color:var(--secondary-color);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.modal[data-v-ff47f65f]{display:flex;align-items:center;justify-content:center;position:fixed;z-index:1050;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#0009}.modal-content[data-v-ff47f65f]{background-color:var(--surface-color);margin:auto;padding:calc(var(--spacing-unit) * 3.5);border:none;border-radius:calc(var(--border-radius) * 2);width:90%;max-width:550px;box-shadow:0 5px 15px #0000004d;position:relative;animation:fadeInModal-ff47f65f .3s ease-out}@keyframes fadeInModal-ff47f65f{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-content h2[data-v-ff47f65f]{margin-top:0;margin-bottom:calc(var(--spacing-unit) * 2.5);color:var(--primary-color);font-size:1.75rem;text-align:center}.close[data-v-ff47f65f]{color:var(--secondary-color);position:absolute;top:calc(var(--spacing-unit) * 1.5);right:calc(var(--spacing-unit) * 2);font-size:32px;font-weight:700;line-height:1}.close[data-v-ff47f65f]:hover,.close[data-v-ff47f65f]:focus{color:var(--danger-color);text-decoration:none;cursor:pointer}.modal-content form div[data-v-ff47f65f]{margin-bottom:calc(var(--spacing-unit) * 2)}.modal-content form label[data-v-ff47f65f]{display:block;margin-bottom:calc(var(--spacing-unit) * .75);font-weight:500;color:var(--dark-color)}.modal-content form input[type=text][data-v-ff47f65f],.modal-content form textarea[data-v-ff47f65f]{width:100%;padding:calc(var(--spacing-unit) * 1.25);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;background-color:var(--surface-color);color:var(--text-color);transition:border-color .2s ease,box-shadow .2s ease}.modal-content form textarea[data-v-ff47f65f]{min-height:120px;resize:vertical}.modal-content form input[data-v-ff47f65f]:focus,.modal-content form textarea[data-v-ff47f65f]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 .2rem rgba(var(--primary-color-rgb, 0, 123, 255),.25)}.modal-content form button[type=submit][data-v-ff47f65f]{width:100%;padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 2);font-size:1.1rem}#loading-indicator-list[data-v-ff47f65f],#error-message-list[data-v-ff47f65f]{text-align:center;padding:calc(var(--spacing-unit) * 3);font-size:1.25em;border-radius:var(--border-radius);margin:calc(var(--spacing-unit) * 2) auto}#error-message-list[data-v-ff47f65f]{color:var(--danger-color);background-color:rgba(var(--danger-color-rgb, 220, 53, 69),.1);border:1px solid rgba(var(--danger-color-rgb, 220, 53, 69),.3)}@media (max-width: 1024px){#poi-list-container[data-v-ff47f65f]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.app-header[data-v-ff47f65f]{flex-direction:column;align-items:flex-start}.app-header div button[data-v-ff47f65f]{margin-left:0;margin-top:var( --spacing-unit )}.modal-content[data-v-ff47f65f]{padding:calc(var(--spacing-unit) * 2.5)}#poi-list-container[data-v-ff47f65f]{grid-template-columns:1fr}}.app-container.poi-detail-page[data-v-81bc5865]{max-width:1200px;margin:0 auto;padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3)}.app-header[data-v-81bc5865]{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(var(--spacing-unit) * 4);padding-bottom:calc(var(--spacing-unit) * 2);border-bottom:1px solid var(--border-color)}.app-header h1[data-v-81bc5865]{font-size:2rem;color:var(--dark-color);margin:0}.back-link[data-v-81bc5865]{font-size:1rem;color:var(--primary-color);text-decoration:none;margin-right:var(--spacing-unit);display:inline-flex;align-items:center;transition:color .2s ease}.back-link[data-v-81bc5865]:hover{color:var(--primary-hover-color);text-decoration:underline}.loading-indicator[data-v-81bc5865],.error-message[data-v-81bc5865],.success-message[data-v-81bc5865]{text-align:center;padding:calc(var(--spacing-unit) * 2.5);margin:calc(var(--spacing-unit) * 2) auto;border-radius:var(--border-radius);font-size:1.1em}.error-message[data-v-81bc5865]{color:var(--danger-color);background-color:#f8d7da;border-color:#f5c6cb}.success-message[data-v-81bc5865]{color:var(--success-color);background-color:rgba(var(--success-color-rgb, 40, 167, 69),.1);border:1px solid rgba(var(--success-color-rgb, 40, 167, 69),.3);margin-top:var(--spacing-unit)}.poi-content[data-v-81bc5865]{display:grid;grid-template-columns:1fr;gap:calc(var(--spacing-unit) * 3.5)}@media (min-width: 992px){.poi-content[data-v-81bc5865]{grid-template-columns:1fr 2fr}}.poi-info[data-v-81bc5865],.poi-images[data-v-81bc5865]{background:var(--surface-color);padding:calc(var(--spacing-unit) * 3);border-radius:calc(var(--border-radius) * 2);box-shadow:0 4px 8px #00000014}.poi-info h2[data-v-81bc5865],.poi-images h2[data-v-81bc5865]{margin-top:0;margin-bottom:calc(var(--spacing-unit) * 2.5);color:var(--primary-color);border-bottom:1px solid var(--border-color);padding-bottom:calc(var(--spacing-unit) * 1.5);font-size:1.6rem}form div[data-v-81bc5865]{margin-bottom:calc(var(--spacing-unit) * 2.5)}form label[data-v-81bc5865]{display:block;margin-bottom:calc(var(--spacing-unit) * .75);font-weight:500;color:var(--dark-color)}form input[type=text][data-v-81bc5865],form textarea[data-v-81bc5865],form input[type=file][data-v-81bc5865]{width:100%;padding:calc(var(--spacing-unit) * 1.25);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}form input[type=file][data-v-81bc5865]{border:1px dashed var(--border-color);background-color:var(--light-color);padding:calc(var(--spacing-unit) * 2)}form input[type=file][data-v-81bc5865]:hover{border-color:var(--primary-color)}form textarea[data-v-81bc5865]{resize:vertical;min-height:150px}form input[type=text][data-v-81bc5865]:focus,form textarea[data-v-81bc5865]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 .2rem rgba(var(--primary-color-rgb, 0, 123, 255),.25)}.form-actions[data-v-81bc5865]{display:flex;gap:calc(var(--spacing-unit) * 1.5);margin-top:calc(var(--spacing-unit) * 3)}.form-actions button[data-v-81bc5865]{flex-grow:1;padding:calc(var(--spacing-unit) * 1.25) calc(var(--spacing-unit) * 1.5);font-size:1.05rem}.image-upload-form[data-v-81bc5865]{margin-bottom:calc(var(--spacing-unit) * 3)}.image-grid[data-v-81bc5865]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:calc(var(--spacing-unit) * 1.5)}.image-card[data-v-81bc5865]{position:relative;border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;box-shadow:0 2px 4px #0000000d;transition:box-shadow .2s ease}.image-card[data-v-81bc5865]:hover{box-shadow:0 4px 8px #0000001a}.image-card img[data-v-81bc5865]{width:100%;height:120px;object-fit:cover;display:block}.delete-image-btn[data-v-81bc5865]{position:absolute;top:8px;right:8px;background-color:#21252999;color:#fff;border:none;border-radius:50%;width:28px;height:28px;font-size:16px;line-height:28px;text-align:center;cursor:pointer;padding:0;transition:background-color .2s ease}.delete-image-btn[data-v-81bc5865]:hover{background-color:var(--danger-color)}.poi-images>p[data-v-81bc5865]{font-style:italic;color:var(--secondary-color);text-align:center;padding:calc(var(--spacing-unit) * 3);background-color:var(--light-color);border-radius:var(--border-radius)}@media (max-width: 767px){.app-header[data-v-81bc5865]{flex-direction:column;align-items:flex-start}.app-header h1[data-v-81bc5865]{font-size:1.8rem}.app-header button[data-v-81bc5865]{width:100%;margin-top:var(--spacing-unit)}.form-actions[data-v-81bc5865]{flex-direction:column}.form-actions button[data-v-81bc5865]{width:100%}.poi-content[data-v-81bc5865]{gap:calc(var(--spacing-unit) * 2.5)}.poi-info[data-v-81bc5865],.poi-images[data-v-81bc5865]{padding:calc(var(--spacing-unit) * 2.5)}.image-grid[data-v-81bc5865]{grid-template-columns:repeat(2,1fr);gap:var(--spacing-unit)}.image-card img[data-v-81bc5865],.image-card[data-v-81bc5865]{height:120px}}.image-upload-form .file-input-container[data-v-81bc5865]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.image-upload-form .file-input[data-v-81bc5865]{flex-grow:1}.image-upload-form .btn-secondary[data-v-81bc5865]{background-color:var(--secondary-color);border-color:var(--secondary-color);color:#fff;padding:.5rem 1rem;border-radius:var(--border-radius);cursor:pointer;white-space:nowrap}.image-upload-form .btn-secondary[data-v-81bc5865]:hover{background-color:var(--secondary-hover-color)}.selected-files-preview[data-v-81bc5865]{margin-top:1rem;font-size:.9rem}.selected-files-preview ul[data-v-81bc5865]{list-style-type:none;padding-left:0}.selected-files-preview li[data-v-81bc5865]{background-color:#f0f0f0;padding:5px;border-radius:4px;margin-top:5px;word-break:break-all}.camera-modal-overlay[data-v-81bc5865]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.camera-modal-content[data-v-81bc5865]{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 5px 15px #0000004d;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;text-align:center}.camera-modal-content h2[data-v-81bc5865]{margin-top:0;margin-bottom:1.5rem}.camera-preview[data-v-81bc5865]{width:100%;max-width:600px;height:auto;border-radius:4px;background-color:#000;margin-bottom:1rem}.camera-actions[data-v-81bc5865]{margin-bottom:1rem;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.camera-actions button[data-v-81bc5865]{padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius);cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .2s}.camera-actions button[data-v-81bc5865]:disabled{opacity:.5;cursor:not-allowed}.camera-actions button[data-v-81bc5865]:nth-child(1){background-color:var(--primary-color);color:#fff}.camera-actions button[data-v-81bc5865]:nth-child(1):hover:not(:disabled){background-color:var(--primary-hover-color)}.camera-actions button[data-v-81bc5865]:nth-child(2){background-color:var(--success-color);color:#fff}.camera-actions button[data-v-81bc5865]:nth-child(2):hover:not(:disabled){background-color:var(--success-hover-color)}.camera-actions button[data-v-81bc5865]:nth-child(3){background-color:var(--secondary-color);color:#fff}.camera-actions button[data-v-81bc5865]:nth-child(3):hover:not(:disabled){background-color:var(--secondary-hover-color)}.captured-photos-container[data-v-81bc5865]{margin-top:1.5rem;text-align:left}.captured-photos-grid[data-v-81bc5865]{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;margin-top:1rem}.captured-photo img[data-v-81bc5865]{width:100%;height:auto;border-radius:4px;border:1px solid var(--border-color)}#app[data-v-b15ab8b9]{max-width:100%;margin:0;padding:0;text-align:center}.camera-llm-container[data-v-b15ab8b9]{position:relative;width:100vw;height:100vh;overflow:hidden;background-color:#000}#video-feed[data-v-b15ab8b9]{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);object-fit:cover;cursor:pointer}.ui-overlay[data-v-b15ab8b9]{position:absolute;bottom:0;left:0;width:100%;padding:15px;display:flex;flex-direction:column;align-items:center;background:linear-gradient(to top,#000000b3,#0000);color:#fff;box-sizing:border-box}.status-messages[data-v-b15ab8b9]{text-align:center;margin-bottom:15px;min-height:2em;font-size:.9rem}.searching-indicator[data-v-b15ab8b9]{color:#ffc107;font-weight:700}.search-result[data-v-b15ab8b9]{color:#28a745;font-weight:700}.error-message[data-v-b15ab8b9]{color:#dc3545;font-weight:700;background-color:#ffffff1a;padding:5px 10px;border-radius:4px}.llm-error[data-v-b15ab8b9]{margin-top:10px}.llm-controls[data-v-b15ab8b9]{display:flex;flex-direction:column;align-items:center;gap:15px;width:100%;max-width:400px}.connect-button[data-v-b15ab8b9]{background-color:var(--secondary-color, #6c757d);border:none;padding:10px 15px;border-radius:20px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;color:#fff}.connect-button[data-v-b15ab8b9]:disabled{opacity:.7;cursor:not-allowed}.status-dot[data-v-b15ab8b9]{width:10px;height:10px;border-radius:50%;background-color:#dc3545;display:inline-block}.status-dot.connected[data-v-b15ab8b9]{background-color:#28a745}.ptt-button[data-v-b15ab8b9]{background-color:var(--primary-color, #007bff);color:#fff;border:none;border-radius:50px;padding:15px 25px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;min-width:250px;transition:background-color .2s ease,transform .1s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ptt-button[data-v-b15ab8b9]:hover:not(:disabled){background-color:var(--primary-hover-color, #0056b3)}.ptt-button[data-v-b15ab8b9]:active:not(:disabled),.ptt-button.ptt-active[data-v-b15ab8b9]{background-color:var(--success-color, #28a745);transform:scale(.98)}.ptt-button[data-v-b15ab8b9]:disabled{background-color:#aaa!important;cursor:not-allowed;transform:none!important}.ptt-button svg[data-v-b15ab8b9]{vertical-align:middle}.llm-response-display[data-v-b15ab8b9]{background-color:#ffffff1a;border-radius:8px;padding:10px 15px;width:100%;text-align:center;font-style:italic;min-height:4em;border:1px solid rgba(255,255,255,.2)}.llm-response-display p[data-v-b15ab8b9]{margin:0 0 5px}.audio-indicator[data-v-b15ab8b9]{height:5px;width:80%;margin:5px auto 0;background-color:#ffffff4d;border-radius:3px;overflow:hidden}.audio-indicator.playing[data-v-b15ab8b9]:after{content:"";display:block;height:100%;width:100%;background-color:var(--success-color, #28a745);transition:width .1s linear}@media (max-width: 600px){.ui-overlay[data-v-b15ab8b9]{padding:10px}.ptt-button[data-v-b15ab8b9]{padding:12px 20px;font-size:.9rem;min-width:200px}.llm-response-display[data-v-b15ab8b9]{font-size:.9rem}.status-messages[data-v-b15ab8b9]{font-size:.8rem}}
