.loading-overlay[data-v-5025c703]{z-index:10000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-overlay-panel[data-v-5025c703]{border:1px solid var(--sr-ocean-light,#ccc);background:#fff;border-radius:8px;padding:20px 24px;box-shadow:0 4px 16px #00000026}.loading-overlay-title[data-v-5025c703]{color:var(--sr-ocean-deep,#0f2834);font-size:1rem;font-weight:700}.loading-overlay-hint[data-v-5025c703]{color:var(--sr-muted,#6d6d72);margin-top:4px;font-size:.875rem}.fade-enter-active[data-v-5025c703],.fade-leave-active[data-v-5025c703]{transition:opacity .2s}.fade-enter-from[data-v-5025c703],.fade-leave-to[data-v-5025c703]{opacity:0}.settings-gear[data-v-1ae259c3]{z-index:30;background:var(--sr-ocean-deep);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;text-decoration:none;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 4px 16px #1a6f8a66}.settings-gear-icon[data-v-1ae259c3]{width:24px;height:24px}.app-update-prompt[data-v-c8bdfa37]{z-index:10001;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app-update-prompt-panel[data-v-c8bdfa37]{border:1px solid var(--sr-ocean-light,#ccc);text-align:center;background:#fff;border-radius:8px;padding:20px 24px;box-shadow:0 4px 16px #00000026}.app-update-prompt-title[data-v-c8bdfa37]{color:var(--sr-text,#1e3a45);margin:0 0 16px;font-size:1rem}.app-update-prompt-button[data-v-c8bdfa37]{background:var(--sr-accent,#2a8fad);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 20px}.app-update-prompt-button[data-v-c8bdfa37]:hover{background:var(--sr-accent-strong,#1a6f8a)}.landing[data-v-2ff60eed]{cursor:pointer;background-position:50% 35%;background-repeat:no-repeat;background-size:cover;flex-direction:column;align-items:center;min-height:100dvh;padding:24px 20px;display:flex}.landing-overlay[data-v-2ff60eed]{pointer-events:none;background:linear-gradient(#1a6f8a8c 0%,#1e3a4559 45%,#f3e8d8bf 100%);position:fixed;inset:0}.landing-card[data-v-2ff60eed]{z-index:1;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf9f0;border:1px solid #c5dce6e6;border-radius:20px;width:min(100%,420px);margin:auto;padding:28px 24px 32px;position:relative;box-shadow:0 16px 48px #1a6f8a47}.landing-logo[data-v-2ff60eed]{object-fit:cover;border-radius:50%;width:96px;height:96px;margin:0 auto 16px;display:block;box-shadow:0 6px 20px #1e3a4533}.landing-title[data-v-2ff60eed]{color:var(--sr-ocean-deep);margin:0;font-size:2.5rem;font-weight:700}.landing-lead[data-v-2ff60eed]{color:var(--sr-text);margin:14px 0 0;font-size:1.05rem;font-weight:500;line-height:1.65}.landing-note[data-v-2ff60eed]{color:var(--sr-muted);margin:18px 0 0;font-size:.875rem;line-height:1.6}.landing-build-iso[data-v-2ff60eed]{z-index:1;color:var(--sr-muted);opacity:.85;flex-shrink:0;font-family:ui-monospace,monospace;font-size:.7rem;position:relative}.landing-countdown[data-v-2ff60eed]{z-index:2;width:40px;height:40px;color:var(--sr-ocean-deep);pointer-events:none;background:#fffdf9f0;border:1px solid #c5dce6e6;border-radius:50%;justify-content:center;align-items:center;margin:0;font-size:1.1rem;font-weight:600;line-height:1;display:flex;position:fixed;bottom:16px;left:16px}.language-selector-label[data-v-4b46a4d9]{color:var(--sr-muted);margin:0 0 12px;font-size:.875rem;font-weight:600}.language-selector-list[data-v-4b46a4d9]{flex-direction:column;gap:8px;display:flex}.language-selector-btn[data-v-4b46a4d9]{border:1px solid var(--sr-border);background:var(--sr-surface);width:100%;color:var(--sr-text);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-size:.95rem;font-weight:500;display:flex}.language-selector-btn--active[data-v-4b46a4d9]{border-color:var(--sr-ocean);color:var(--sr-ocean-deep);background:#2a8fad1a;font-weight:700}.language-flag[data-v-4b46a4d9]{font-size:1.25rem;line-height:1}.install-app-help-title[data-v-b7facd49]{color:var(--sr-muted);margin:0 0 8px;font-size:.875rem;font-weight:600}.install-app-help-section+.install-app-help-section[data-v-b7facd49]{border-top:1px solid var(--sr-border);margin-top:20px;padding-top:20px}.install-app-help-lead[data-v-b7facd49]{color:var(--sr-text);margin:0 0 16px;font-size:.95rem;font-weight:600;line-height:1.5}.install-app-help-text[data-v-b7facd49]{color:var(--sr-text);margin:-8px 0 16px;font-size:.875rem;line-height:1.6}.install-app-help-figure[data-v-b7facd49]{margin:0 0 20px}.install-app-help-image[data-v-b7facd49]{border:1px solid var(--sr-border);border-radius:12px;width:100%;height:auto;display:block;box-shadow:0 4px 16px #1a6f8a1a}.install-app-help-caption[data-v-b7facd49]{color:var(--sr-muted);text-align:center;margin:8px 0 0;font-size:.75rem}.install-app-help-platform+.install-app-help-platform[data-v-b7facd49]{border-top:1px solid var(--sr-border);margin-top:20px;padding-top:20px}.install-app-help-platform-title[data-v-b7facd49]{color:var(--sr-ocean-deep);margin:0 0 10px;font-size:.9rem;font-weight:700}.install-app-help-steps[data-v-b7facd49]{color:var(--sr-text);margin:0;padding-left:1.25rem;font-size:.875rem;line-height:1.6}.install-app-help-steps li+li[data-v-b7facd49]{margin-top:6px}.settings-page[data-v-b79725e7]{background:linear-gradient(180deg, var(--sr-ocean-light) 0%, var(--sr-sand) 100%);min-height:100dvh;padding:20px 20px 80px}.settings-header[data-v-b79725e7]{margin-bottom:20px}.settings-back[data-v-b79725e7]{color:var(--sr-ocean-deep);cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:.9rem;font-weight:600}.settings-title[data-v-b79725e7]{color:var(--sr-ocean-deep);margin:8px 0 0;font-size:1.5rem;font-weight:700}.settings-card[data-v-b79725e7]{border:1px solid var(--sr-border);background:#fffdf9f5;border-radius:16px;padding:20px;box-shadow:0 8px 24px #1a6f8a1f}.settings-card--help[data-v-b79725e7]{margin-top:16px}.settings-build-iso[data-v-b79725e7]{text-align:center;color:var(--sr-muted);margin:24px 0 0;font-family:ui-monospace,monospace;font-size:.7rem}.share-page[data-v-d59891ed]{background:linear-gradient(180deg, var(--sr-ocean-light) 0%, var(--sr-sand) 100%);min-height:100dvh;padding:20px 20px 80px}.share-header[data-v-d59891ed]{margin-bottom:20px}.share-back[data-v-d59891ed]{color:var(--sr-ocean-deep);cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:.9rem;font-weight:600}.share-title[data-v-d59891ed]{color:var(--sr-ocean-deep);margin:8px 0 0;font-size:1.5rem;font-weight:700}.share-status[data-v-d59891ed]{text-align:center;color:var(--sr-muted);padding:24px 0}.share-card[data-v-d59891ed]{border:1px solid var(--sr-border);background:#fffdf9f5;border-radius:16px;padding:20px;box-shadow:0 8px 24px #1a6f8a1f}.share-card--qr[data-v-d59891ed]{text-align:center;margin-top:16px}.share-town-name[data-v-d59891ed]{color:var(--sr-ocean-deep);margin:0;font-size:1.15rem;font-weight:700}.share-lead[data-v-d59891ed]{color:var(--sr-text);margin:10px 0 0;font-size:.95rem;line-height:1.6}.share-url[data-v-d59891ed]{border:1px solid var(--sr-border);word-break:break-all;color:var(--sr-ocean-deep);cursor:text;-webkit-user-select:all;user-select:all;background:#eef7fb;border-radius:10px;margin:16px 0 0;padding:12px 14px;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace;font-size:.82rem;line-height:1.5}.share-error[data-v-d59891ed]{color:#b91c1c;margin:12px 0 0;font-size:.875rem;line-height:1.5}.share-actions[data-v-d59891ed]{flex-direction:column;gap:10px;margin-top:18px;display:flex}.share-btn[data-v-d59891ed]{cursor:pointer;border-radius:12px;width:100%;padding:14px 16px;font-size:.95rem;font-weight:600}.share-btn--primary[data-v-d59891ed]{background:var(--sr-ocean-deep);color:#fff;border:none;box-shadow:0 4px 14px #1a6f8a47}.share-btn--secondary[data-v-d59891ed]{border:1px solid var(--sr-border);background:var(--sr-surface);color:var(--sr-ocean-deep)}.share-btn--done[data-v-d59891ed]{border:1px solid var(--sr-ocean);color:var(--sr-ocean-deep);background:#eef7fb}.share-qr-figure[data-v-d59891ed]{margin:0}.share-qr-image[data-v-d59891ed]{width:min(240px,70vw);height:auto;box-shadow:var(--sr-shadow-soft);background:#fff;border-radius:12px;margin:0 auto;padding:8px;display:block}.share-qr-caption[data-v-d59891ed]{color:var(--sr-text);margin-top:14px;font-size:.9rem;font-weight:600}.share-qr-note[data-v-d59891ed]{color:var(--sr-muted);margin:10px 0 0;font-size:.85rem;line-height:1.6}.share-footer[data-v-d59891ed]{text-align:center;margin:20px 0 0}.share-map-link[data-v-d59891ed]{color:var(--sr-ocean-deep);font-weight:600;text-decoration:none}.share-map-link[data-v-d59891ed]:active{opacity:.85}.google-map[data-v-df046e33]{width:100%;height:100%}.town-kokono-balloonOverlay{-webkit-user-select:none;user-select:none}.town-kokono-balloon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #0f28342e;border-radius:14px;width:220px;overflow:hidden;box-shadow:0 14px 36px #0f283438}.town-kokono-balloonMedia{background:#e2e8f0;width:100%;height:120px;position:relative}.town-kokono-balloonPhoto{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.town-kokono-balloonPhotoFallback{background:linear-gradient(160deg,#7dd3fc 0%,#0ea5e9 40%,#0f172a 100%);width:100%;height:100%}.town-kokono-balloonMapsBtn,.town-kokono-balloonClose{color:#0f172a;cursor:pointer;background:#ffffffeb;border:1px solid #ffffffa6;border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;text-decoration:none;display:inline-flex;position:absolute;top:8px;box-shadow:0 2px 10px #0000002e}.town-kokono-balloonMapsBtn{right:8px}.town-kokono-balloonClose{padding:0;font-size:24px;line-height:1;left:8px}.town-kokono-balloonMapsIcon{object-fit:contain;width:18px;height:18px;display:block}.town-kokono-balloonBody{padding:10px 12px 12px;font-size:14px}.town-kokono-balloonTitle{color:#0f172a;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.05rem;font-weight:800;line-height:1.35;display:-webkit-box;overflow:hidden}.town-kokono-balloonDesc{color:#334155;-webkit-line-clamp:3;white-space:pre-wrap;-webkit-box-orient:vertical;margin-top:6px;font-size:.95rem;line-height:1.55;display:-webkit-box;overflow:hidden}.tag-filter-root[data-v-c1d18d2a]{z-index:25;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.tag-filter-backdrop[data-v-c1d18d2a]{cursor:pointer;background:#0f172a59;border:none;position:absolute;inset:0}.tag-filter-panel[data-v-c1d18d2a]{border:1px solid var(--sr-border);background:var(--sr-surface);width:100%;max-width:360px;max-height:70dvh;box-shadow:var(--sr-shadow-soft);border-radius:16px;padding:16px;position:relative;overflow:auto}.tag-filter-header[data-v-c1d18d2a]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.tag-filter-title[data-v-c1d18d2a]{color:var(--sr-text);margin:0;font-size:1rem;font-weight:700}.tag-filter-close[data-v-c1d18d2a]{color:var(--sr-ocean-deep);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-weight:600}.tag-filter-list[data-v-c1d18d2a]{margin:0;padding:0;list-style:none}.tag-filter-item[data-v-c1d18d2a]{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 8px;display:flex}.tag-filter-item[data-v-c1d18d2a]:hover{background:#2a8fad14}.tag-filter-checkbox[data-v-c1d18d2a]{width:18px;height:18px;accent-color:var(--sr-ocean);flex-shrink:0}.tag-filter-label[data-v-c1d18d2a]{color:var(--sr-text);font-weight:600}.town-map[data-v-fb58a013]{background:var(--sr-sand);flex-direction:column;height:100dvh;display:flex}.town-map-status[data-v-fb58a013]{text-align:center;color:var(--sr-muted);background:linear-gradient(180deg, var(--sr-ocean-light) 0%, var(--sr-sand) 100%);flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.town-map-status-error[data-v-fb58a013]{color:#b91c1c}.map-section[data-v-fb58a013]{border-bottom:2px solid var(--sr-ocean-light);flex:6;min-height:0;position:relative}.ui-section[data-v-fb58a013]{background-position:50% 35%;background-repeat:no-repeat;background-size:cover;flex:4;min-height:0;padding:16px;position:relative;overflow:auto}.ui-hero-overlay[data-v-fb58a013]{pointer-events:none;background:linear-gradient(#fffdf9eb 0%,#fffdf9e0 40%,#fffdf9f0 100%);position:absolute;inset:0}.place-list[data-v-fb58a013]{z-index:1;position:relative}.place-list-header[data-v-fb58a013]{justify-content:flex-start;align-items:center;gap:12px;margin-bottom:14px;display:flex}.town-name[data-v-fb58a013]{z-index:2;color:var(--sr-ocean-deep);padding:8px 14px;font-size:.95rem;font-weight:700;position:absolute;top:10px;left:10px}.share-map-btn[data-v-fb58a013]{z-index:2;position:absolute;top:10px;right:10px}.share-map-icon[data-v-fb58a013]{width:22px;height:22px}.map-missing-key[data-v-fb58a013]{text-align:center;height:100%;color:var(--sr-warn);background:#fff7ed;justify-content:center;align-items:center;padding:16px;display:flex}.group-picker[data-v-fb58a013]{flex:1;min-width:0;position:relative}.group-picker-trigger[data-v-fb58a013]{width:100%;color:var(--sr-text);cursor:pointer;background:#fffffff5;border:1px solid #0f28342e;border-radius:12px;align-items:center;gap:8px;padding:8px 10px;font-weight:600;display:flex}.group-picker-icon[data-v-fb58a013]{object-fit:cover;border-radius:6px;flex-shrink:0;width:22px;height:22px}.group-picker-emoji[data-v-fb58a013]{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:1rem;line-height:1;display:flex}.group-picker-label[data-v-fb58a013]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.group-picker-chevron[data-v-fb58a013]{width:28px;height:28px;color:var(--sr-ocean-deep);background:#2a8fad1f;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:.85rem;line-height:1;display:flex}.group-picker-menu[data-v-fb58a013]{z-index:3;box-shadow:var(--sr-shadow-soft);background:#fffffffa;border:1px solid #0f28342e;border-radius:12px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0}.group-picker-option[data-v-fb58a013]{width:100%;color:var(--sr-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-weight:600;display:flex}.group-picker-option[data-v-fb58a013]:hover,.group-picker-option--active[data-v-fb58a013]{background:#2a8fad1a}.group-picker-option-label[data-v-fb58a013]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tag-filter-btn[data-v-fb58a013]{cursor:pointer;flex-shrink:0}.tag-filter-btn--active[data-v-fb58a013]{border-color:var(--sr-ocean);box-shadow:0 0 0 2px #2a8fad2e, var(--sr-shadow-soft);background:linear-gradient(#fff 0%,#eef7fb 100%)}.tag-filter-icon[data-v-fb58a013]{object-fit:contain;width:22px;height:22px;display:block}.home-map-btn[data-v-fb58a013]{cursor:pointer;flex-shrink:0}.home-map-btn--active[data-v-fb58a013]{border-color:var(--sr-ocean);box-shadow:0 0 0 2px #2a8fad2e, var(--sr-shadow-soft);background:linear-gradient(#fff 0%,#eef7fb 100%)}.home-map-icon[data-v-fb58a013]{object-fit:cover;border-radius:4px;width:22px;height:22px;display:block}.selected-tags-row[data-v-fb58a013]{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:8px;margin-bottom:12px;padding-bottom:2px;display:flex;overflow-x:auto}.selected-tag-chip[data-v-fb58a013]{border:1px solid var(--sr-ocean);color:var(--sr-ocean-deep);cursor:pointer;white-space:nowrap;background:linear-gradient(#fff 0%,#eef7fb 100%);flex-shrink:0;padding:6px 12px;font-size:.8125rem;font-weight:600}.selected-tag-chip[data-v-fb58a013]:active{background:#2a8fad24}.place-list-items[data-v-fb58a013]{margin:0;padding:0;list-style:none}.place-list-btn[data-v-fb58a013]{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-bottom:10px;padding:14px;display:flex}.place-list-name[data-v-fb58a013]{color:var(--sr-text);font-weight:600}.place-list-badge[data-v-fb58a013]{color:var(--sr-warn);white-space:nowrap;font-size:.75rem}.place-empty[data-v-fb58a013]{color:var(--sr-muted);font-size:.875rem}*,:before,:after{box-sizing:border-box}html,body,#app{min-height:100%;color:var(--sr-text);margin:0;font-family:Noto Sans JP,system-ui,-apple-system,Segoe UI,sans-serif}button{font:inherit}a{color:inherit}:root{--sr-ocean-deep:#1a6f8a;--sr-ocean:#2a8fad;--sr-ocean-light:#7ec8e3;--sr-sand:#f3e8d8;--sr-sand-deep:#e8d4bc;--sr-surface:#fffdf9;--sr-text:#1e3a45;--sr-muted:#4a6570;--sr-border:#c5dce6;--sr-accent:#2a8fad;--sr-accent-strong:#1a6f8a;--sr-wood:#9a7b5a;--sr-wood-strong:#7a6045;--sr-warn:#b45309;--sr-shadow:0 8px 24px #1a6f8a24;--sr-shadow-soft:0 2px 10px #1e3a4514}.sr-page{color:var(--sr-text)}.sr-wordmark{letter-spacing:.03em;font-family:Fraunces,ui-serif,Georgia,serif}.sr-panel{background:linear-gradient(180deg, var(--sr-surface) 0%, var(--sr-sand) 100%);border-top:3px solid var(--sr-ocean-light);box-shadow:var(--sr-shadow)}.sr-card{background:var(--sr-surface);border:1px solid var(--sr-border);box-shadow:var(--sr-shadow-soft);border-radius:12px}.sr-card--active{border-color:var(--sr-ocean);box-shadow:0 0 0 2px #2a8fad2e, var(--sr-shadow-soft);background:linear-gradient(#fff 0%,#eef7fb 100%)}.sr-pill{border:1px solid var(--sr-border);box-shadow:var(--sr-shadow-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffdf9eb;border-radius:999px}.sr-icon-btn{border:1px solid var(--sr-border);background:var(--sr-surface);width:44px;height:44px;color:var(--sr-ocean-deep);box-shadow:var(--sr-shadow-soft);border-radius:12px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.sr-icon-btn:active{background:#eef7fb}.sr-text-link{color:var(--sr-ocean-deep);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-weight:600;display:inline-flex}.sr-maps-icon{fill:currentColor;width:22px;height:22px}
