.spot-filter[data-v-346f97fe]{background:#fff;padding:12px;border-bottom:1px solid #eee;overflow-x:auto}.filter-container[data-v-346f97fe]{display:flex;gap:10px}.spot-item[data-v-346f97fe]{padding:6px 14px;border-radius:16px;background:#f8f9fa;color:#666;font-size:13px;white-space:nowrap;cursor:pointer;transition:all .3s ease;border:1px solid transparent}.spot-item.active[data-v-346f97fe]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.spot-item[data-v-346f97fe]:hover:not(.active){background:#e9ecef;border-color:#dee2e6}.photo-gallery[data-v-e341a5fe]{padding:12px}.ws-status[data-v-e341a5fe]{display:flex;align-items:center;gap:8px;padding:6px 16px;margin-bottom:8px;border-radius:8px;font-size:12px;color:#999;background:#f8f9fa}.ws-status.connected[data-v-e341a5fe]{display:none}.ws-status.connecting[data-v-e341a5fe]{color:#f0ad4e;background:#fff8e1}.ws-status.disconnected[data-v-e341a5fe]{color:#d9534f;background:#fce4e4}.ws-dot[data-v-e341a5fe]{width:8px;height:8px;border-radius:50%;display:inline-block}.ws-status.connecting .ws-dot[data-v-e341a5fe]{background:#f0ad4e;animation:pulse-e341a5fe 1.5s ease-in-out infinite}.ws-status.disconnected .ws-dot[data-v-e341a5fe]{background:#d9534f}@keyframes pulse-e341a5fe{0%,to{opacity:1}50%{opacity:.4}}.loading-state[data-v-e341a5fe],.empty-state[data-v-e341a5fe],.error-state[data-v-e341a5fe]{text-align:center;padding:60px 20px;color:#999}.error-state[data-v-e341a5fe]{color:#d9534f}.retry-btn[data-v-e341a5fe]{margin-top:12px;padding:8px 24px;border:none;border-radius:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:14px;cursor:pointer;transition:all .3s ease}.retry-btn[data-v-e341a5fe]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.spinner[data-v-e341a5fe]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin-e341a5fe 1s linear infinite;margin:0 auto 20px}@keyframes spin-e341a5fe{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.timeline[data-v-e341a5fe]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px #0000000d}.time-block[data-v-e341a5fe]{border-bottom:1px solid #f0f0f0}.time-block[data-v-e341a5fe]:last-child{border-bottom:none}.block-header[data-v-e341a5fe]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#fafafa;cursor:pointer;transition:background .3s ease;-webkit-user-select:none;user-select:none}.block-header[data-v-e341a5fe]:hover{background:#f0f0f0}.time-label[data-v-e341a5fe]{font-weight:600;color:#333;font-size:14px}.photo-count[data-v-e341a5fe]{font-size:12px;color:#999;margin-left:auto;margin-right:12px}.toggle-icon[data-v-e341a5fe]{color:#999;font-size:12px}.photo-grid[data-v-e341a5fe]{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:2px}@media (max-width: 480px){.photo-grid[data-v-e341a5fe]{grid-template-columns:repeat(3,1fr)}}.photo-item[data-v-e341a5fe]{aspect-ratio:1;overflow:hidden;border-radius:4px;cursor:pointer;transition:transform .3s ease;background:#eee}.photo-item[data-v-e341a5fe]:hover{transform:scale(1.02)}.photo-item img[data-v-e341a5fe]{width:100%;height:100%;object-fit:cover}.preview-modal[data-v-e341a5fe]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.preview-content[data-v-e341a5fe]{max-width:100%;max-height:100%;text-align:center}.preview-content img[data-v-e341a5fe]{max-width:100%;max-height:70vh;border-radius:8px;box-shadow:0 10px 30px #0000004d}.preview-info[data-v-e341a5fe]{margin-top:12px;display:flex;flex-direction:column;gap:4px;color:#ccc;font-size:13px}.preview-actions[data-v-e341a5fe]{margin-top:20px;display:flex;gap:10px;justify-content:center}.download-btn[data-v-e341a5fe],.close-btn[data-v-e341a5fe]{padding:10px 20px;border:none;border-radius:25px;font-size:14px;cursor:pointer;transition:all .3s ease}.download-btn[data-v-e341a5fe]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none}.close-btn[data-v-e341a5fe]{background:#fff3;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.download-btn[data-v-e341a5fe]:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.close-btn[data-v-e341a5fe]:hover{background:#ffffff4d}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#f5f5f5;color:#333;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{max-width:100%;margin:0 auto}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;box-shadow:0 2px 10px #0000001a}.header-row{display:flex;align-items:center;gap:30px}.app-header h1{font-size:1.5rem;font-weight:600}.header-spot-name{font-size:.9rem;opacity:.9;white-space:nowrap}.date-tabs{display:flex;overflow-x:auto;padding:12px;background:#fff;border-bottom:1px solid #eee;gap:8px;scrollbar-width:none;-ms-overflow-style:none}.date-tabs::-webkit-scrollbar{display:none}.date-tab{padding:8px 16px;border:none;border-radius:20px;background:#f0f0f0;color:#666;font-size:14px;white-space:nowrap;cursor:pointer;transition:all .3s ease;flex-shrink:0}.date-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea66}.date-tab:not(.active):hover{background:#e0e0e0}.app-footer{padding:30px;text-align:center;color:#999;font-size:14px}
