:root{--bg:#f3ead8;--bg-raised:#faf4e4;--fg:#2b2320;--fg-muted:#6b5a49;--border:#d3c5a8;--frame:#4a3f38;--accent:#165e83;--accent-fg:#f7f1e2;--danger:#a13a1e;--map-fg:#ece2cb;--map-bg-raised:#1b2536;--map-accent:#7fb5d6;--map-accent-fg:#10161f;--radius:4px;--radius-sm:calc(var(--radius) * .6);--radius-md:calc(var(--radius) * .8);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) * 1.4);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space:var(--space-3);--map-ctrl-gutter:calc(var(--space) + 64px);--washi-opacity:.5;--washi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.38 0 0 0 0 0.28 0 0 0 0.06 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23w)'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root{--bg:#131b28;--bg-raised:var(--map-bg-raised);--fg:var(--map-fg);--fg-muted:#a69c86;--border:#3a4459;--frame:#8d8977;--accent:var(--map-accent);--accent-fg:var(--map-accent-fg);--danger:#e29a84;--washi-opacity:.35;--washi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.85 0 0 0 0 0.8 0 0 0 0 0.65 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23w)'/%3E%3C/svg%3E")}.photomap-screen .mapboxgl-ctrl-icon,.overpass-screen .mapboxgl-ctrl-icon{filter:invert()}.photomap-screen .mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon,.photomap-screen .mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon,.photomap-screen .mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon,.photomap-screen .mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{filter:none}}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--fg-muted) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-lg);background:var(--fg-muted)}::-webkit-scrollbar-thumb:hover{background:var(--fg)}::-webkit-scrollbar-corner{background:0 0}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:Shippori Mincho,Hiragino Mincho ProN,Yu Mincho,Noto Serif JP,serif;line-height:1.6;position:relative;overflow-x:hidden}body:before{content:"";z-index:-1;background:var(--washi);opacity:var(--washi-opacity);pointer-events:none;position:fixed;inset:0}h1{padding:var(--space);letter-spacing:.06em;margin:0;font-size:1.15rem;font-weight:700}h2{margin:0 0 var(--space-2);font-size:1rem}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--accent)}.notice{padding:var(--space);color:var(--fg-muted)}.notice .hint{font-size:.85rem}.loading-indicator{min-height:160px;padding:var(--space);color:var(--fg-muted);justify-content:center;align-items:center;display:flex}.loading-indicator-icon{animation:.9s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.loading-indicator-icon{animation:1.6s ease-in-out infinite loading-fade}@keyframes loading-fade{0%,to{opacity:1}50%{opacity:.4}}}.error{color:var(--danger)}.gate header{min-height:44px;padding:0 var(--space);background:var(--bg-raised);border-bottom:1px solid var(--border);align-items:center;font-size:.85rem;display:flex}.gate{width:100%;max-width:42rem;margin-inline:auto}.gate h1{margin:var(--space) var(--space) var(--space-2)}.gate-lead{margin:0 var(--space) var(--space);color:var(--fg-muted);font-size:.85rem}.gate-google,.gate-switch-account{min-height:44px;margin:0 var(--space);padding:0 var(--space-4);border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);font:inherit;cursor:pointer;border-radius:999px;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.gate .link-button{color:var(--accent);font:inherit;background:0 0;border:none;padding:8px;font-weight:400;text-decoration:underline}.gate-note{color:var(--fg-muted);margin-top:24px;font-size:.85rem}.caption{gap:var(--space-2);padding:var(--space-1) var(--space) 10px;color:var(--fg-muted);align-items:baseline;font-size:.85rem;display:flex}.badge{border:1px solid var(--border);padding:0 var(--space-2);border-radius:999px;font-size:.75rem}.thumbnail-static{width:100%;display:block}.thumbnail-select{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;display:block}.panorama-list ul{padding:0 0 var(--space-8);flex-direction:column;gap:2px;margin:0;list-style:none;display:flex}.panorama-list img{background:var(--bg-raised);width:100%;height:auto;display:block}@media (width>=768px){.panorama-list{width:100%;max-width:72rem;margin-inline:auto}}.thumbnail-failed{background:var(--bg-raised);border:1px dashed var(--border);width:100%;color:var(--fg-muted);justify-content:center;align-items:center;font-size:.85rem;display:flex}.upload-panel{margin:0 var(--space) var(--space);padding:var(--space);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);flex-direction:column;gap:8px;font-size:.9rem;display:flex}.upload-panel p{margin:0}.upload-panel .hint{color:var(--fg-muted);font-size:.8rem}.upload-panel code{word-break:break-all;font-size:.8rem}.upload-panel button{border:1px solid var(--border);border-radius:var(--radius);background:0 0;align-self:flex-start;padding:10px 16px}.upload-panel button:disabled{opacity:.55;cursor:not-allowed}.upload-status{flex-direction:column;gap:8px;display:flex}.upload-panel button.upload-start,.upload-panel button.upload-camera{background:var(--accent);color:var(--accent-fg);border:none;font-weight:600}.upload-failures{color:var(--danger);margin:0;padding-left:1.2em;font-size:.8rem}.app-header{justify-content:flex-start;align-items:center;gap:var(--space);min-height:44px;padding:0 var(--space);display:flex}.app-header:has(.app-menu){padding-right:var(--space-4)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-menu{z-index:4;flex:none;margin-left:auto;position:relative}.lang-switch+.app-menu{margin-left:calc(var(--space) * -1)}.app-menu-button{z-index:4;background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;padding:10px;display:flex;position:relative}.app-menu-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.app-menu-icon{flex-direction:column;gap:4px;width:22px;display:flex}.app-menu-icon span{border-radius:var(--radius);background:var(--fg);height:2px;display:block}.app-menu-overlay{z-index:2;background:0 0;border:none;width:100%;height:100%;padding:0;position:fixed;inset:0}.app-menu-popover{z-index:3;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);min-width:160px;padding:4px;position:absolute;top:44px;right:0}.app-menu-popover a{min-height:44px;padding:8px var(--space);border-radius:var(--radius);color:var(--fg);align-items:center;text-decoration:none;display:flex}.app-menu-popover a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.app-menu-action{width:100%;min-height:44px;padding:8px var(--space);border-radius:var(--radius);color:var(--fg);font:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:8px;display:flex}.app-menu-action:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.app-menu-avatar{object-fit:cover;border-radius:50%;flex:none;width:20px;height:20px}.app-menu-divider{border:none;border-top:1px solid var(--border);height:0;margin:4px 8px}.lang-switch{width:44px;height:44px;color:var(--fg);background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:0;display:flex}.lang-switch:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.back{min-width:44px;min-height:44px;color:var(--accent);background:0 0;border:none;justify-content:flex-start;align-items:center;padding:0;display:flex}.back:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.map-notice,.map-error{padding:0 var(--space) var(--space);color:var(--fg-muted);margin:0;font-size:.85rem}.map-error{color:var(--danger)}.map-container{height:50vh;min-height:360px;max-height:65vh;margin:0 var(--space) var(--space);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);overflow:hidden}.photomap-map-frame{position:relative}.map-frame-overlays{z-index:1;top:8px;left:calc(var(--space) + 8px);max-width:calc(100% - 2 * (var(--space) + 8px) - 252px);align-items:flex-start;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:absolute}.map-frame-overlays>*{pointer-events:auto}.photomap-screen.kaido-screen>.photomap-fixed{position:relative}.photomap-screen.kaido-screen>.photomap-fixed>:not(.photomap-map-frame,.spot-curtain){isolation:isolate}.spot-curtain{z-index:1;top:var(--spot-curtain-top,0);pointer-events:none;visibility:hidden;height:100%;position:absolute;left:0;right:0;overflow:hidden}.spot-curtain[data-phase=dropping],.spot-curtain[data-phase=down],.spot-curtain[data-phase=rising]{visibility:visible}.spot-curtain-sheet{position:absolute;inset:0;transform:translateY(-100%)}.spot-curtain[data-phase=idle] .spot-curtain-sheet{transform:translateY(-100%)}.spot-curtain[data-phase=dropping] .spot-curtain-sheet{transition:transform .7s cubic-bezier(.55,0,1,.45);transform:translateY(0)}.spot-curtain[data-phase=down] .spot-curtain-sheet{animation:.4s ease-out spot-curtain-settle;transform:translateY(0)}.spot-curtain[data-phase=rising] .spot-curtain-sheet{transition:transform 1.6s cubic-bezier(.65,0,.35,1);transform:translateY(-100%)}.spot-curtain-cloth{background:linear-gradient(#00000061,#0000 18%,#0000001a),repeating-linear-gradient(90deg,#ffffff14 0 2px,#00000024 12px 16px,#ffffff0a 28px 30px,#0000002e 48px 56px),repeating-linear-gradient(90deg,#1b1b1b 0 56px,#b4532a 56px 112px,#3d6b35 112px 168px);position:absolute;inset:0}.spot-curtain-hem{background:linear-gradient(#ffffff2e,#0000007a);height:10px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 14px 22px #0000006b}.spot-curtain-label{color:#fff;letter-spacing:.12em;overflow-wrap:anywhere;text-align:center;text-shadow:0 1px 2px #000000b3;opacity:0;background:#000000c7;border:1px solid #ffffff94;border-radius:2px;max-width:min(72%,34rem);padding:.46em .9em;font-family:Yu Mincho,Hiragino Mincho ProN,Times New Roman,serif;font-size:clamp(1rem,2.4vw,1.8rem);line-height:1.25;transition:opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.spot-curtain[data-phase=dropping] .spot-curtain-label,.spot-curtain[data-phase=down] .spot-curtain-label{opacity:1}@keyframes spot-curtain-settle{0%,to{translate:0}55%{translate:0 1.5%}}@media (prefers-reduced-motion:reduce){.spot-curtain{display:none}}.map-selection-chip{align-items:center;gap:var(--space-2);max-width:100%;padding-left:var(--space);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-raised);color:var(--fg);display:flex}.map-selection-chip span{overflow-wrap:anywhere;min-width:0}.map-selection-chip button{width:44px;height:44px;color:var(--fg);background:0 0;border:0;flex:0 0 44px;justify-content:center;align-items:center;padding:0;display:flex}.map-selection-chip button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.map-frame-actions{z-index:1;top:8px;right:calc(var(--space) + 8px);gap:8px;display:flex;position:absolute}.map-reset-view,.map-maximize,.map-style-toggle,.map-overlay-menu-button{border:1px solid var(--border);background:var(--bg-raised);min-width:44px;min-height:44px;color:var(--fg);border-radius:999px;justify-content:center;align-items:center;padding:0;display:flex}.map-reset-view:focus-visible,.map-maximize:focus-visible,.map-style-toggle:focus-visible,.map-overlay-menu-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map-style-toggle[aria-pressed=true]{border-color:var(--map-accent);background:var(--map-accent);color:var(--map-accent-fg)}.photomap-screen .mapboxgl-popup-content{padding:var(--space);border-radius:var(--radius);background:var(--bg-raised);color:var(--fg)}.photomap-screen .mapboxgl-ctrl-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);box-shadow:none}.photomap-screen .mapboxgl-ctrl-group button{width:44px;height:44px}.photomap-screen .mapboxgl-ctrl-group button+button{border-top-color:var(--border)}.photomap-screen .mapboxgl-ctrl-bottom-right,.overpass-screen .mapboxgl-ctrl-bottom-right{flex-flow:column wrap-reverse;place-content:flex-start flex-end;align-items:flex-start;width:100%;height:100%;display:flex}.photomap-screen .map-layer-toggle{color:var(--fg-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.photomap-screen .map-layer-toggle[aria-pressed=true]{color:var(--accent)}.photomap-screen .map-layer-toggle[aria-pressed=true] .map-layer-toggle-slash{display:none}.photomap-screen .map-layer-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.photomap-screen .mapboxgl-popup-anchor-top .mapboxgl-popup-tip,.photomap-screen .mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip,.photomap-screen .mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{border-bottom-color:var(--bg-raised)}.photomap-screen .mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip,.photomap-screen .mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip,.photomap-screen .mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{border-top-color:var(--bg-raised)}.photomap-screen .mapboxgl-popup-anchor-left .mapboxgl-popup-tip{border-right-color:var(--bg-raised)}.photomap-screen .mapboxgl-popup-anchor-right .mapboxgl-popup-tip{border-left-color:var(--bg-raised)}.map-popup{width:min(200px,60vw)}.map-popup img,.map-popup-thumbnail-failed{border-radius:var(--radius);background:var(--bg);width:100%;max-width:200px;min-height:80px;color:var(--fg-muted);object-fit:cover;justify-content:center;align-items:center;display:flex}.map-group{padding:0 0 32px}.map-group-header{padding:0 var(--space) 4px;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.map-group-close{min-width:44px;min-height:44px;color:var(--accent);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.photo-pick-list{--photo-pick-thumb-max:50vw;--photo-pick-gap:2px;columns:2;column-gap:var(--photo-pick-gap);margin:0;padding:0;list-style:none;display:block}.photo-pick-list>.map-group-item{break-inside:avoid;margin:0 0 2px;padding:0;display:block}.photo-pick-list>.map-group-item.is-fullwidth{column-span:all}.photo-pick-list .thumbnail-static{max-width:var(--photo-pick-thumb-max);min-height:44px}.photo-pick-list>.map-group-item.is-fullwidth .thumbnail-static{max-width:none}.map-group-photo img{background:var(--bg-raised);width:100%;height:auto;display:block}.map-group-item{padding:0 var(--space) 0 4px;color:var(--fg-muted);align-items:center;gap:4px;font-size:.85rem;display:flex}.map-group-photo{flex:1;min-width:0}.map-group-photo .badge{margin:2px 0 6px;display:inline-block}.overpass-screen{flex-direction:column;min-height:100vh;display:flex}.map-era-building-legend{gap:var(--space-1) var(--space-2);max-width:100%;padding:var(--space-1) var(--space-2);border:1px solid color-mix(in srgb, var(--map-fg) 30%, transparent);border-radius:var(--radius);background:color-mix(in srgb, var(--map-bg-raised) 92%, transparent);color:var(--map-fg);flex-wrap:wrap;margin:0;font-size:.75rem;list-style:none;display:flex}.map-era-building-legend li{align-items:center;gap:var(--space-1);white-space:nowrap;display:flex}.map-era-building-swatch{border:1px solid var(--map-fg);border-radius:50%;width:.85rem;height:.85rem}.map-era-building-swatch-stamped{background:var(--map-bg-raised);border-width:2.5px}.maritime-port-popup,.kaido-castle-popup{min-width:10rem;color:var(--fg);gap:.2rem;display:grid}.kaido-castle-popup span{font-size:.85rem}.maritime-port-popup span{display:block}.maritime-port-popup-role{color:var(--fg-muted)}.spot-popup{gap:var(--space-1);max-height:50vh;color:var(--fg);display:grid;overflow-y:auto}.spot-popup span,.spot-popup a{font-size:.85rem}.spot-popup-heading{display:grid}.spot-popup-attributes,.spot-popup-body,.spot-popup-links{gap:var(--space-1);display:grid}.spot-popup-links{width:min(200px,100%)}.spot-popup-body{line-height:1.5}.spot-popup .spot-popup-basis{color:var(--fg-muted);font-size:.75rem;line-height:1.5}.spot-popup a{text-underline-offset:4px;text-decoration:underline}.spot-popup a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.spot-popup .spot-popup-place{align-items:center;gap:var(--space-1);font-size:.85rem;display:flex;position:relative}.spot-popup .spot-popup-info{width:1.15rem;height:1.15rem;color:var(--fg-muted);cursor:help;background:0 0;border:1px solid;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.spot-popup .spot-popup-info:hover{color:var(--fg)}.spot-popup .spot-popup-info:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.spot-popup .spot-popup-detail{z-index:1;gap:var(--space-1);width:100%;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);display:grid;position:absolute;top:100%;left:0;box-shadow:0 2px 8px #00000040}.spot-popup .spot-popup-detail[hidden]{display:none}.spot-popup-ukiyoe{width:min(200px,60vw);margin:var(--space-1) 0 var(--space-2);gap:var(--space-1);display:grid}.spot-popup-ukiyoe img{border:1px solid var(--frame);background:var(--bg-raised);width:100%;height:auto;padding:3px}.spot-popup-poem{line-height:1.6}.shukuba-popup{gap:var(--space-1);max-height:50vh;color:var(--fg);display:grid;overflow-y:auto}.shukuba-popup span{font-size:.85rem}.shukuba-ukiyoe,.fugaku-ukiyoe,.edo-ukiyoe,.omi-ukiyoe,.kyoto-ukiyoe,.kanazawa-ukiyoe,.ryukyu-ukiyoe,.taki-ukiyoe,.funi-ukiyoe,.fuji-ukiyoe,.hyakunin-ukiyoe,.rokujuyoshu-ukiyoe,.shokoku-ukiyoe,.meikyo-ukiyoe,.tokaido-ukiyoe-ukiyoe,.kisokaido-ukiyoe-ukiyoe,.chie-ukiyoe{width:min(200px,60vw);margin:var(--space-1) 0 var(--space-2);gap:var(--space-1);display:grid}.shukuba-ukiyoe img,.fugaku-ukiyoe img,.edo-ukiyoe img,.omi-ukiyoe img,.kyoto-ukiyoe img,.kanazawa-ukiyoe img,.ryukyu-ukiyoe img,.taki-ukiyoe img,.funi-ukiyoe img,.fuji-ukiyoe img,.hyakunin-ukiyoe img,.rokujuyoshu-ukiyoe img,.shokoku-ukiyoe img,.meikyo-ukiyoe img,.tokaido-ukiyoe-ukiyoe img,.kisokaido-ukiyoe-ukiyoe img,.chie-ukiyoe img{border:1px solid var(--frame);background:var(--bg-raised);width:100%;height:auto;padding:3px}.ukiyoe-open{cursor:zoom-in;background:0 0;border:none;width:100%;padding:0;display:block}.ukiyoe-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shukuba-ukiyoe figcaption{gap:2px;display:grid}.shukuba-popup .shukuba-ukiyoe-title{font-size:.8rem}.shukuba-popup .shukuba-ukiyoe-artist{color:var(--fg-muted);font-size:.75rem}.heritage-popup{gap:var(--space-1);color:var(--fg);display:grid}.heritage-popup span,.heritage-popup a{font-size:.85rem}.rakuchu-3d-popup__crop{border-radius:var(--radius-sm);border:1px solid var(--border);background-repeat:no-repeat;max-width:100%}.heritage-popup a{text-underline-offset:4px;text-decoration:underline}.heritage-popup a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.overpass-body{display:contents}.overpass-results>.overpass-dataset-picker{max-width:40rem;margin:0 0 var(--space-2);background:0 0;border:0;padding:0}.overpass-screen header{min-height:44px;padding:0 var(--space);align-items:center;display:flex}.overpass-query-panel,.overpass-dataset-picker,.overpass-labels-panel,.overpass-photos-panel,.overpass-results{min-width:0;margin:0 var(--space) var(--space);padding:var(--space);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised)}.overpass-results>.overpass-error,.overpass-labels-panel .overpass-error,.overpass-import-control>.overpass-error,.overpass-query-panel>.overpass-error,.overpass-query-panel>.overpass-status{margin:var(--space-2) 0 0;padding:0}.overpass-photos-panel>.upload-route-note,.overpass-photos-panel>.upload-panel{margin:var(--space-2) 0 0;background:0 0;border:0;padding:0}.overpass-import-control{margin-bottom:var(--space)}.overpass-query-group>summary{cursor:pointer;align-items:center;min-height:44px;font-weight:600;display:flex}.overpass-query-group>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.overpass-query-panel>.overpass-results{margin:var(--space) 0 0;background:0 0;border:0;padding:0}.overpass-query-panel>.overpass-results>h2{margin:0 0 var(--space-2);font-size:1rem}.overpass-pane-tabs{gap:var(--space-2);margin:0 var(--space) var(--space-2);flex-wrap:wrap;display:flex}.overpass-pane-tabs button{min-height:44px;padding:var(--space-2) var(--space);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;color:var(--fg-muted);font:inherit;cursor:pointer;background:0 0;border-bottom:2px solid #0000}.overpass-pane-tabs button[aria-selected=true]{border-bottom-color:var(--accent);background:var(--bg-raised);color:var(--fg);font-weight:600}.overpass-pane-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.overpass-labels-panel .map-group{padding:0}.overpass-labels-panel .map-group-header,.overpass-labels-panel .map-group-item{padding-left:0;padding-right:0}.overpass-labels-panel .photo-pick-list>.map-group-item.is-fullwidth .thumbnail-static{max-width:calc(var(--photo-pick-thumb-max) * 2 + var(--photo-pick-gap))}.overpass-labels-guide{color:var(--fg-muted);margin:0}.overpass-query{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}.overpass-dataset-controls,.overpass-result-actions,.overpass-spot-grid-pager,.overpass-spot-grid-pager>div{gap:var(--space-2);flex-wrap:wrap;display:flex}.spot-field-check{align-items:center;gap:var(--space-2);min-height:44px;display:inline-flex}.spot-field-check input[type=checkbox]{width:44px;height:44px;margin:0}.overpass-dataset-controls{align-items:center}.overpass-dataset-controls select,.overpass-dataset-controls button{min-height:44px}.overpass-dataset-controls select{min-width:0;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);font:inherit;flex:0 50%}.overpass-dataset-controls button{padding:var(--space-2) var(--space);border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--accent-fg)}.overpass-dataset-controls button.overpass-export{border-color:var(--border);color:var(--fg);background:0 0}.overpass-dataset-controls button:disabled{border-color:var(--border);background:var(--bg-raised);color:var(--fg-muted);opacity:.6;cursor:not-allowed}.overpass-file-button,.overpass-result-actions button,.overpass-popup button{min-height:44px;padding:var(--space-2) var(--space);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);color:var(--fg);justify-content:center;align-items:center;display:inline-flex}.overpass-add-toggle[aria-pressed=true]{border:2px solid var(--accent);background:var(--accent);color:var(--accent-fg);font-weight:600}.overpass-file-button{cursor:pointer}.overpass-file-button input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.overpass-file-button:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.overpass-query legend,.overpass-description,.overpass-attribution,.overpass-results p{color:var(--fg-muted);font-size:.85rem}.overpass-query select,.overpass-query textarea,.overpass-spot-grid input[type=text],.overpass-spot-grid input[type=number],.overpass-spot-grid select,.overpass-spot-grid textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100%;min-height:44px;color:var(--fg);font:inherit;padding:10px}.overpass-query textarea{resize:vertical;font-family:ui-monospace,monospace}.overpass-spot-grid textarea{resize:vertical}.overpass-spot-grid input[type=text],.overpass-spot-grid input[type=number],.overpass-spot-grid select,.overpass-spot-grid textarea{min-height:24px;padding:var(--space-1) var(--space-2)}.overpass-query button{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);min-height:44px;color:var(--accent-fg)}.overpass-spot-grid input[readonly],.overpass-spot-grid input:disabled,.overpass-spot-grid textarea[readonly],.overpass-spot-grid select:disabled{border-color:var(--border);background:var(--bg-raised);color:var(--fg-muted)}.overpass-description,.overpass-attribution,.overpass-status,.overpass-error{padding:0 var(--space) var(--space);margin:0}.overpass-error{color:var(--danger)}.overpass-map-frame{height:50vh;min-height:320px;margin:0 var(--space) var(--space-1);position:relative}.overpass-map{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);height:100%;overflow:hidden}.overpass-map-frame>.map-frame-actions{right:8px}.overpass-screen.is-map-maximized{height:100dvh;min-height:0;overflow:hidden}.overpass-screen.is-map-maximized>header,.overpass-screen.is-map-maximized .overpass-pane-tabs,.overpass-screen.is-map-maximized .overpass-results,.overpass-screen.is-map-maximized .overpass-labels-panel,.overpass-screen.is-map-maximized .overpass-photos-panel,.overpass-screen.is-map-maximized .overpass-query-panel{display:none}.overpass-screen.is-map-maximized .overpass-attribution{padding:0 var(--space);flex:none;margin:0}.overpass-screen.is-map-maximized .overpass-map-frame{flex:auto;height:auto;min-height:0;margin:0}.overpass-screen.is-map-maximized .overpass-map{border-width:0;border-radius:0}.overpass-results ul,.overpass-spot-grid-scroll{overscroll-behavior:contain;max-height:max(50vh,264px);margin:0;padding:0;position:relative;overflow:auto}.overpass-results ul{list-style:none}.overpass-spot-grid{gap:var(--space-2);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.overpass-spot-grid-pager{justify-content:space-between;align-items:center}.overpass-spot-grid-pager p{margin:0;padding:0}.overpass-spot-grid table{border-collapse:collapse;background:var(--bg);min-width:max-content}.overpass-spot-grid th,.overpass-spot-grid td{min-width:8em;padding:var(--space-1) var(--space-2);border:1px solid var(--border);vertical-align:top;font-size:10px}.overpass-spot-grid th{z-index:1;background:var(--bg-raised);color:var(--fg);text-align:left;position:sticky;top:0}.overpass-spot-grid-heading{align-items:center;gap:var(--space-1);display:inline-flex}.overpass-spot-grid-filter-button{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);width:24px;min-width:24px;min-height:24px;color:var(--fg);justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.overpass-spot-grid-filter-dot{border:1px solid var(--bg-raised);background:var(--accent);border-radius:999px;width:7px;height:7px;position:absolute;top:2px;right:2px}.overpass-spot-grid-filter-popover{width:min(240px,100vw - 12px);max-height:min(220px,100dvh - 12px);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);color:var(--fg);margin:0;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #0003}.overpass-spot-grid-filter-popover fieldset{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}.overpass-spot-grid-filter-popover legend{padding:0 0 var(--space-1);color:var(--fg-muted);font-size:.8rem}.overpass-spot-grid-filter-fields{gap:var(--space-2);display:grid}.overpass-spot-grid-filter-fields input[type=search]{width:100%;min-height:32px;padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);font:inherit}.overpass-spot-grid-filter-fields button{min-height:32px;padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);background:0 0}.overpass-spot-grid-filter-choice{align-items:center;gap:var(--space-2);min-height:32px;display:flex}.overpass-spot-grid th:first-child,.overpass-spot-grid td:first-child{text-align:center;min-width:4em}.overpass-spot-grid-photo-cell{text-align:center}.overpass-spot-grid-photo{justify-content:center;align-items:center;gap:var(--space-2);color:var(--fg);display:inline-flex}.overpass-results .overpass-spot-grid-photo-unassign{width:auto;min-height:24px;padding:0 var(--space-2);border:1px solid var(--danger);border-radius:var(--radius);color:var(--danger);white-space:nowrap;background:0 0}.overpass-spot-grid input[type=checkbox]{width:1em;height:1em;margin:0}.overpass-spot-grid .spot-field-check,.overpass-spot-grid-check{justify-content:center;align-items:center;min-width:24px;min-height:24px;display:inline-flex}.overpass-spot-grid-readonly{background:var(--bg-raised);color:var(--fg-muted)}.overpass-spot-grid-coordinate{min-width:9em}.overpass-spot-grid-error-row td{background:var(--bg-raised)}.overpass-spot-grid-empty-row td{background:var(--bg);text-align:center}.overpass-spot-grid-empty-row p{margin:0 0 var(--space-2);padding:0}.overpass-spot-grid-empty-row button{min-height:32px;padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);background:0 0}.overpass-results .overpass-result-actions button,.overpass-results .overpass-spot-grid-pager button{border:1px solid var(--border);border-radius:var(--radius);width:auto;color:var(--fg);text-align:center;background:0 0}.overpass-results .overpass-spot-grid-pager button:disabled{color:var(--fg-muted)}.overpass-result-actions button.overpass-delete{border-color:var(--danger);color:var(--danger)}.overpass-result-actions button:disabled{border-color:var(--border);color:var(--fg-muted)}.overpass-result-row{border-bottom:1px solid var(--border);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;display:grid}.overpass-result-row>input[type=checkbox]{width:44px;height:44px;margin:0}.overpass-name-input{min-width:0;min-height:44px;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg)}.overpass-source{margin:var(--space-1) var(--space-2);padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg-muted);font-size:.75rem;font-weight:600}.overpass-source-manual,.overpass-source-import,.overpass-source-spot{border-color:var(--accent);color:var(--accent)}.overpass-popup button{width:100%;margin-top:var(--space-2)}.overpass-popup button.map-popup-open{width:auto;margin-top:0}.overpass-popup button.overpass-popup-delete{border-color:var(--danger);color:var(--danger)}.overpass-popup button[aria-pressed=true]{border:2px solid var(--accent);background:var(--accent);color:var(--accent-fg);font-weight:600}.overpass-results button{min-height:44px;padding:var(--space-2) var(--space)}.overpass-results .overpass-feature-focus{width:100%;color:var(--fg);text-align:left;background:0 0;border:0;border-radius:0}.overpass-screen .mapboxgl-popup-content{max-height:50vh;padding:var(--space);border-radius:var(--radius);background:var(--bg-raised);color:var(--fg);overflow:auto}.overpass-popup dl{gap:2px var(--space-2);margin:var(--space-2) 0 0;grid-template-columns:max-content 1fr;display:grid}.overpass-popup dd{overflow-wrap:anywhere;margin:0}.overpass-screen .mapboxgl-ctrl-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);box-shadow:none}.overpass-screen .mapboxgl-ctrl-group button{width:44px;height:44px}.photomap-screen{gap:var(--space);flex-direction:column;height:100dvh;display:flex;position:relative;overflow:hidden}.photomap-screen.is-map-maximized{gap:0}.photomap-screen.is-map-maximized>.app-header,.photomap-screen.is-map-maximized .map-group,.photomap-screen.is-map-maximized .photomap-fixed>:not(.photomap-map-frame,.spot-curtain,.map-notice,.map-error){display:none}:is(.photomap-screen.is-map-maximized .photomap-fixed,.photomap-screen.is-map-maximized:has(.map-group) .photomap-fixed){flex:auto;width:100%;min-height:0;max-height:none;overflow:hidden}.photomap-screen.is-map-maximized .photomap-map-frame{flex:auto;min-height:0}.photomap-screen.is-map-maximized .map-container{border-radius:0;width:100%;height:100%;min-height:0;max-height:none;margin:0}.photomap-body{gap:var(--space);flex-direction:column;flex:auto;min-height:0;display:flex}.photomap-fixed{gap:var(--space);flex-direction:column;flex:none;min-height:0;max-height:100%;display:flex;overflow-y:auto}.photomap-screen:has(.map-group) .photomap-fixed{max-height:70%}.photomap-screen:not(.is-map-maximized)>.photomap-fixed{flex:auto;min-height:0}.photomap-screen:not(.is-map-maximized)>.photomap-fixed>:not(.map-list){flex:none}.photomap-screen:not(.is-map-maximized)>.photomap-fixed>.map-list{flex-direction:column;min-height:0;display:flex}.photomap-screen:not(.is-map-maximized)>.photomap-fixed>.map-list>.map-list-scroll{flex:auto;min-height:0;max-height:none}.kaido-screen.is-list-maximized>.app-header,.kaido-screen.is-list-maximized .map-panel-tabs,.kaido-screen.is-list-maximized .photomap-map-frame{display:none}.photomap-screen.kaido-screen.is-list-maximized>.photomap-fixed>.map-list,.photomap-screen.kaido-screen.is-list-maximized>.photomap-fixed>.elevation-profile,.kaido-screen.is-list-maximized .elevation-profile-body,.kaido-screen.is-list-maximized .elevation-profile-list{flex-direction:column;flex:auto;min-height:0;display:flex}.kaido-screen.is-list-maximized .elevation-profile-list-scroll{flex:auto;min-height:0;max-height:none}.photomap-screen.kaido-screen:not(.is-map-maximized):not(.is-list-maximized)>.photomap-fixed:not(:has(.map-list,.elevation-profile))>.photomap-map-frame{flex-direction:column;flex:auto;min-height:0;display:flex}.photomap-screen.kaido-screen:not(.is-map-maximized)>.photomap-fixed:not(:has(.map-list,.elevation-profile))>.photomap-map-frame>.map-container{flex:auto;height:auto;max-height:none}.photomap-collapse{padding:0 var(--space);gap:8px;display:flex}.photomap-collapse-toggle{border:1px solid var(--border);background:var(--bg-raised);min-width:44px;min-height:44px;color:var(--fg);border-radius:999px;justify-content:center;align-items:center;padding:0;display:flex}.photomap-collapse-toggle[aria-expanded=false] svg{transform:rotate(180deg)}.photomap-screen .notice{flex:0 auto;min-height:0;overflow-y:auto}.photomap-screen .map-group{flex:auto;min-height:0;overflow-y:auto}.map-overlay-menu{position:static}.map-overlay-menu-button{position:relative}.map-overlay-menu-dot{border:1px solid var(--bg-raised);background:var(--accent);border-radius:999px;width:8px;height:8px;position:absolute;top:5px;right:5px}.map-overlay-menu-popover{z-index:2;top:calc(100% + 8px);right:calc(var(--map-ctrl-gutter) - var(--space) - 8px);width:min(320px, calc(100vw - var(--map-ctrl-gutter) - var(--space)));border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);max-height:max(292px,50vh - 68px);color:var(--fg);margin:0;padding:8px 12px;position:absolute;overflow-y:auto}.map-overlay-menu-popover legend{color:var(--fg-muted);padding:0 4px;font-size:.8rem}.map-overlay-menu-options{flex-wrap:wrap;gap:8px;display:flex}.map-area-menu-group{flex-wrap:wrap;flex-basis:100%;gap:8px;display:flex}.map-area-menu-heading{color:var(--fg-muted);flex-basis:100%;font-size:.8rem}.map-overlay-menu-select{min-width:0;min-height:44px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);font:inherit;flex:auto}.map-spot-filter-facet{flex-direction:column;flex-basis:100%;gap:4px;display:flex}.map-spot-filter-heading{color:var(--fg-muted);font-size:.8rem}.map-area-menu-layers{border-top:1px solid var(--border);flex-wrap:wrap;flex-basis:100%;gap:8px;padding-top:8px;display:flex}.map-overlay-menu-option{border:1px solid var(--border);background:var(--bg);border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:0 10px;font-size:.9rem;display:inline-flex}.map-overlay-menu-option:has(input:checked){border-color:var(--accent);background:var(--accent);color:var(--accent-fg)}.photomap-selection{color:var(--fg-muted);margin-right:auto;font-size:.85rem}.photomap-delete{white-space:nowrap;border:1px solid var(--danger);border-radius:var(--radius);background:var(--bg-raised);min-height:44px;color:var(--danger);flex-shrink:0;padding:0 12px;font-size:.85rem;font-weight:600}.photomap-delete:disabled{border-color:var(--border);color:var(--fg-muted)}.delete-dialog,.stamp-qr-dialog,.stamp-qr-landing{width:min(360px, calc(100vw - var(--space) * 2));padding:var(--space);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);color:var(--fg)}.delete-dialog::backdrop,.stamp-qr-dialog::backdrop,.stamp-qr-landing::backdrop,.location-dialog::backdrop{background:#0000008c}.location-dialog{width:min(420px, calc(100vw - var(--space) * 2));max-height:calc(100vh - var(--space) * 4);padding:var(--space);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);color:var(--fg);overflow-y:auto}.location-dialog-body{margin-bottom:var(--space)}.location-dialog-close{border-radius:var(--radius);background:var(--accent);width:100%;min-height:44px;color:var(--accent-fg);border:none;padding:10px;font-weight:600;display:block}.location-map{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.location-map-canvas{width:100%;height:260px}.location-map a{padding:10px var(--space);background:var(--bg-raised);font-size:.85rem;display:block}.image-viewer{max-height:96vh;padding:var(--space);border:1px solid var(--frame);border-radius:var(--radius);background:var(--bg-raised);color:var(--fg);gap:var(--space-2);grid-template-rows:auto minmax(0,1fr);grid-auto-rows:auto;justify-items:end;margin:auto;display:grid}.image-viewer::backdrop{background:#000000b8}.image-viewer img{border:1px solid var(--frame);background:var(--bg);justify-self:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:100%;padding:4px}.image-viewer-close{min-height:44px;padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);color:var(--fg)}.image-viewer-caption{justify-self:stretch;gap:2px;display:grid}.image-viewer-title{font-size:.95rem}.image-viewer-note{color:var(--fg-muted);font-size:.85rem}.map-popup-open{cursor:zoom-in;background:0 0;border:none;width:100%;padding:0;display:block;position:relative}.map-popup-open:after{content:"";background:#0000008c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M16 16l5 5'/%3E%3C/svg%3E") 50%/14px 14px no-repeat;border-radius:50%;width:22px;height:22px;position:absolute;bottom:7px;right:7px}.map-popup-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map-popup-photo{position:relative}.map-popup-photo-actions{gap:4px;display:flex;position:absolute;bottom:7px;left:7px}.map-popup-photo-actions .photo-link-copy-button,.map-popup-photo-actions .photo-favorite-button{color:#fff;background:#0000008c;border:none;border-radius:50%;min-width:28px;min-height:28px}.map-popup-photo-feedback{justify-items:center;gap:2px;display:grid}.delete-dialog-title,.stamp-qr-dialog-title{margin:0 0 8px;font-weight:600}.delete-dialog-note{margin:0 0 var(--space);color:var(--fg-muted);font-size:.85rem}.delete-dialog-actions,.stamp-qr-dialog-actions{gap:8px;display:flex}.delete-dialog-actions button,.stamp-qr-dialog-actions button{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);min-height:44px;color:var(--fg);flex:1;padding:10px;font-weight:600}.delete-dialog-actions .delete-dialog-confirm{border-color:var(--danger);background:var(--danger);color:var(--bg-raised)}.delete-dialog-actions button:disabled{border-color:var(--border);background:var(--bg-raised);color:var(--fg-muted)}.label-editor{padding:0 var(--space) 4px;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.label-editor-field{color:var(--fg-muted);flex:12rem;font-size:.8rem;display:flex}.label-editor-field input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);min-width:0;min-height:44px;color:var(--fg);flex:auto;padding:0 10px;font-size:1rem}.label-editor>button{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);min-height:44px;color:var(--accent-fg);padding:0 16px;font-weight:600}.label-editor>button:disabled{border-color:var(--border);background:var(--bg-raised);color:var(--fg-muted)}.label-editor-attached,.label-editor-suggestions{flex-wrap:wrap;flex-basis:100%;gap:8px;margin:0;padding:0;list-style:none;display:flex}.label-editor-attached li{align-items:center;gap:2px;display:inline-flex}.label-chip{border:1px solid var(--border);background:var(--bg-raised);color:var(--fg);border-radius:999px;padding:4px 10px;font-size:.8rem;display:inline-block}.label-remove{min-width:44px;min-height:44px;color:var(--fg-muted);background:0 0;border:none;padding:0;font-size:1.1rem}.photomap-pick{cursor:pointer;display:block}.photomap-pick input{clip-path:inset(50%);border:0;width:1px;height:1px;margin:0 0 -1px;padding:0;display:block;overflow:hidden}.photomap-pick:not(:has(input:checked)) .thumbnail-static{opacity:.45}.photomap-pick:has(input:focus-visible) .thumbnail-static{outline:2px solid var(--accent);outline-offset:-2px}.photomap-pick:has(input:disabled){cursor:default}.photomap-screen .map-popup{width:min(50vw,200px)}.app-header,.overpass-screen header{z-index:3;position:sticky;top:0}@media (width>=768px){.photo-pick-list{columns:auto;column-width:200px;--photo-pick-thumb-max:320px}.photo-pick-list>.map-group-item.is-fullwidth .thumbnail-static{max-width:none}}@media (width>=1024px){.overpass-screen{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:100vh;min-height:0;display:grid}.overpass-screen.is-map-maximized{grid-template-rows:minmax(0,1fr)}.overpass-body{flex-direction:column;min-width:0;min-height:0;display:flex;overflow-y:auto}.overpass-body .overpass-map-frame{flex:auto;height:auto;min-height:320px}.overpass-body>.overpass-results{flex-direction:column;flex:0 auto;min-height:0;max-height:60%;display:flex}.overpass-body>.overpass-labels-panel,.overpass-body>.overpass-photos-panel{flex:0 auto;min-height:0;max-height:60%;overflow-y:auto}.overpass-body>.overpass-query-panel{align-items:start;column-gap:var(--space);flex:0 auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;max-height:60%;display:grid;overflow-y:auto}.overpass-body>.overpass-query-panel>.overpass-import-control,.overpass-body>.overpass-query-panel>.overpass-query-group,.overpass-body>.overpass-query-panel>.overpass-status,.overpass-body>.overpass-query-panel>.overpass-error{grid-column:1}.overpass-body>.overpass-query-panel>.overpass-results{grid-area:1/2;margin-top:0}.overpass-body>.overpass-query-panel>.overpass-results>ul{max-height:max(32vh,176px)}.overpass-body>.overpass-query-panel>.overpass-results>.overpass-result-actions{z-index:1;padding-bottom:var(--space-2);background:var(--bg-raised);position:sticky;top:0}.overpass-body>.overpass-results[hidden],.overpass-body>.overpass-query-panel[hidden]{display:none}.overpass-body>.overpass-results>.overpass-spot-grid,.overpass-body>.overpass-results>ul{flex:auto;min-height:0}.overpass-body>.overpass-results .overpass-spot-grid-scroll,.overpass-body>.overpass-results>ul{max-height:none}.overpass-screen:has(.overpass-results:not([hidden]) .overpass-spot-grid)>.overpass-body{overflow-y:auto}.overpass-screen:not(.is-map-maximized):has(.overpass-results:not([hidden]) .overpass-spot-grid) .overpass-map-frame{z-index:1;flex:none;height:max(320px,40vh);position:sticky;top:0}.overpass-screen:has(.overpass-results:not([hidden]) .overpass-spot-grid)>.overpass-body>.overpass-results{flex:none;max-height:none}.overpass-screen:has(.overpass-results:not([hidden]) .overpass-spot-grid) .overpass-spot-grid-scroll{max-height:max(50vh,264px)}.photomap-body{flex-direction:row;align-items:stretch}.photomap-body>.photomap-fixed{flex:auto;min-width:0}.photomap-screen:has(.map-group) .photomap-fixed{max-height:100%}.photomap-body>.photomap-fixed>.photomap-map-frame{flex:auto;min-height:0}.photomap-body .map-container{height:100%;max-height:none}.photomap-screen .map-group{max-width:26rem;padding-right:var(--space);flex:0 0 26rem}}:root{--kumo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 16'%3E%3Ccircle cx='10' cy='9' r='6'/%3E%3Ccircle cx='20' cy='7' r='7'/%3E%3Ccircle cx='31' cy='8' r='6'/%3E%3Ccircle cx='41' cy='10' r='5'/%3E%3Crect x='7' y='9' width='38' height='6' rx='3'/%3E%3C/svg%3E");--sea:color-mix(in srgb, var(--accent) 45%, var(--bg-raised))}.app-header,.overpass-screen header{background:var(--bg-raised);border-bottom:1px solid var(--border);margin-bottom:12px;position:relative}.app-header:after,.overpass-screen header:after{content:"";pointer-events:none;background-image:radial-gradient(circle 12px at 50% 14px, var(--sea) 0 4px, var(--bg-raised) 4px 5px, var(--sea) 5px 8px, var(--bg-raised) 8px 9px, var(--sea) 9px 12px, transparent 12px), radial-gradient(circle 12px at 50% 14px, var(--sea) 0 4px, var(--bg-raised) 4px 5px, var(--sea) 5px 8px, var(--bg-raised) 8px 9px, var(--sea) 9px 12px, transparent 12px);background-position:0 0,10px 4px;background-repeat:repeat-x;background-size:20px 12px;height:12px;position:absolute;top:100%;left:0;right:0}.map-group-photo img,.map-popup img,.thumbnail-static,.thumbnail-select{border:1px solid var(--frame);background:var(--bg-raised);padding:3px}.badge,.label-chip{border:1px solid color-mix(in srgb, var(--danger) 75%, var(--bg));color:var(--danger);letter-spacing:.04em;background:0 0;border-radius:3px}.label-chip-toggle{cursor:pointer;min-height:44px;font:inherit;align-items:center;display:inline-flex}.label-chip-toggle[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-fg)}.label-chip-toggle[data-state=some]{border-style:dashed}.label-chip-toggle:disabled{opacity:.55;cursor:default}.map-container,.delete-dialog,.stamp-qr-dialog,.stamp-qr-landing,.location-dialog,.location-map{border-color:var(--frame)}.gate h1{text-align:center;letter-spacing:.25em;padding-left:.25em;font-size:1.5rem}.gate h1:after{content:"";background:var(--fg-muted);opacity:.5;width:64px;height:18px;-webkit-mask:var(--kumo) no-repeat center / contain;-webkit-mask:var(--kumo) no-repeat center / contain;mask:var(--kumo) no-repeat center / contain;pointer-events:none;margin:6px auto 0;display:block}.app-header:has(.app-menu):before{content:"";background:var(--fg-muted);opacity:.4;width:52px;height:16px;-webkit-mask:var(--kumo) no-repeat center / contain;-webkit-mask:var(--kumo) no-repeat center / contain;mask:var(--kumo) no-repeat center / contain;pointer-events:none;flex:none}.elevation-profile{margin:0 var(--space) var(--space);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);color:var(--fg)}.elevation-profile-header,.elevation-profile-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.elevation-profile-header{padding:4px var(--space);justify-content:space-between}.elevation-profile-roads{align-items:center;gap:8px;display:flex}.elevation-profile-roads label{color:var(--fg-muted);font-size:.85rem}.elevation-profile-roads select{min-width:0;max-width:100%;min-height:44px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);font:inherit}.elevation-profile-reverse,.elevation-profile-play{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);min-width:44px;min-height:44px;color:var(--fg)}.elevation-profile-play{background:var(--accent);color:var(--accent-fg)}.elevation-profile-reverse[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.elevation-profile-reverse,.elevation-profile-play{justify-content:center;align-items:center;padding:0;display:flex}.elevation-profile-body{padding:0 var(--space) var(--space)}.elevation-profile-notice{color:var(--fg-muted)}.elevation-profile-graph-wrap{overflow:hidden visible}.elevation-profile-graph-wrap.is-stop-strip{overscroll-behavior-x:contain;scrollbar-color:var(--accent) transparent;overflow-x:auto}.elevation-profile-graph-wrap.is-stop-strip::-webkit-scrollbar-thumb{background:var(--accent)}.elevation-profile-graph-wrap.is-stop-strip::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--accent) 65%, var(--fg))}.elevation-profile-scroll{--roll-start:12px;--roll-end:12px;--roll-turn:0px;--roll-gutter:0px;position:relative}.elevation-profile-roll{--roll-light:40%;top:0;bottom:var(--roll-gutter);z-index:4;width:var(--roll-start);background:repeating-linear-gradient(to right, transparent 0 3px, color-mix(in srgb, var(--border) 70%, transparent) 3px 4px) calc(-1 * var(--roll-turn)) 0, linear-gradient(to right, color-mix(in srgb, var(--border) 75%, var(--fg)) 0%, var(--border) 18%, var(--bg-raised) var(--roll-light), var(--border) 82%, color-mix(in srgb, var(--border) 75%, var(--fg)) 100%);appearance:none;color:inherit;cursor:pointer;touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;border:0;border-radius:999px;padding:0;position:absolute;box-shadow:3px 0 5px -1px #00000059}.elevation-profile-roll:disabled{cursor:default}.elevation-profile-roll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.elevation-profile-roll:before,.elevation-profile-roll:after{background:var(--accent);content:"";border-radius:2px;width:50%;height:6px;position:absolute;left:25%}.elevation-profile-roll:before{top:-5px}.elevation-profile-roll:after{bottom:-5px}.elevation-profile-roll.is-start{left:0}.elevation-profile-roll.is-end{--roll-light:60%;width:var(--roll-end);right:0;box-shadow:-3px 0 5px -1px #00000059}.elevation-profile-strip{box-sizing:border-box;padding:18px 14px 20px;position:relative}.is-stop-strip .elevation-profile-strip{padding-top:112px}.elevation-profile-stop-overlay{z-index:2;pointer-events:none;position:absolute;inset:0 14px 20px}.elevation-profile-stop{position:absolute;top:0;bottom:0;transform:translate(-50%)}.elevation-profile-stop button{z-index:1;background:var(--accent);min-width:24px;min-height:70px;color:var(--accent-fg);font:inherit;writing-mode:vertical-rl;pointer-events:auto;cursor:pointer;border:0;border-radius:2px;padding:5px 3px;font-size:.78rem;line-height:1.15;display:block;position:relative}.elevation-profile-stop button:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.elevation-profile-stop.is-terminus button{background:var(--bg-raised);box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent)}.elevation-profile-stop.is-terminus-start{transform:none}.elevation-profile-stop.is-terminus-end{transform:translate(-100%)}.elevation-profile-stop.is-terminus-start .elevation-profile-stop-line{left:0}.elevation-profile-stop.is-terminus-end .elevation-profile-stop-line{left:auto;right:0}.elevation-profile-stop-line{background:var(--accent);opacity:.55;width:1px;position:absolute;top:68px;bottom:0;left:50%}.elevation-profile-stop-segment{z-index:2;border-top:1px solid var(--accent);height:1px;color:var(--accent);position:absolute;top:92px}.elevation-profile-stop-segment>span{background:var(--bg-raised);white-space:nowrap;padding:0 2px;font-size:.625rem;line-height:1;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.elevation-profile-stop-segment:before,.elevation-profile-stop-segment:after{content:"";border-top:4px solid #0000;border-bottom:4px solid #0000;width:0;height:0;position:absolute;top:-4px}.elevation-profile-stop-segment:before{border-right:5px solid var(--accent);left:0}.elevation-profile-stop-segment:after{border-left:5px solid var(--accent);right:0}.elevation-profile-graph{border-bottom:1px solid var(--border);cursor:crosshair;touch-action:none;width:100%;height:55px;display:block}.elevation-profile-graph:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.elevation-profile-area{fill:var(--accent);fill-opacity:.18;stroke:none}.elevation-profile-line{fill:none;stroke:var(--accent);stroke-width:2px}.elevation-profile-cursor{stroke:var(--fg);stroke-width:2px;stroke-dasharray:5 3}.elevation-profile-x-labels{color:var(--accent);justify-content:space-between;font-size:.75rem;display:flex}.elevation-profile-controls{min-height:44px}.elevation-profile-header .elevation-profile-controls{margin-right:auto}.elevation-profile-list-head{padding-bottom:var(--space-2);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.elevation-profile-list-head h2{margin:0;font-size:1rem}.elevation-profile-list-count{color:var(--fg-muted);font-size:.85rem}.elevation-profile-list-scroll{border:1px solid var(--border);border-radius:var(--radius)}.elevation-profile-list-number{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.elevation-profile-list-note{margin:var(--space-2) 0 0;color:var(--fg-muted);font-size:.85rem}.map-image-billboard{filter:drop-shadow(0 5px 5px #000000b8);cursor:zoom-in;transform-origin:bottom;background:0 0;border:0;justify-items:center;padding:0;transition:transform .12s;display:grid}.map-image-billboard:hover,.map-image-billboard:focus-visible{transform:translateY(-3px)scale(1.06)}.map-image-billboard img{object-fit:cover;background:#f4ead4;border:5px solid #744928;border-radius:3px;width:104px;height:70px;display:block;box-shadow:inset 0 0 0 2px #f4ead4,0 0 0 1px #1e1108d9}.map-image-billboard-post{background:linear-gradient(90deg,#5e3c22,#a87848 50%,#4b2e1b);width:5px;height:34px;box-shadow:0 2px 2px #00000073}.profile-marker{--hikyaku-step:.5s;--hikyaku-edge:clamp(1px, calc(var(--hikyaku-height,22px) * .03), 3.5px);--hikyaku-edge-color:#f7f0dd;pointer-events:none;line-height:0}.profile-map-marker{border:3px solid var(--accent-fg);background:var(--accent);border-radius:999px;width:16px;height:16px}.profile-marker[data-kind=hikyaku] .profile-map-marker,.profile-marker:not([data-kind=hikyaku]) .hikyaku-bob{display:none}.hikyaku-bob{height:var(--hikyaku-height,22px)}.hikyaku-figure{width:auto;height:100%;filter:drop-shadow(0 0 var(--hikyaku-edge) var(--hikyaku-edge-color)) drop-shadow(0 0 var(--hikyaku-edge) var(--hikyaku-edge-color)) drop-shadow(0 calc(var(--hikyaku-edge) * .7) calc(var(--hikyaku-edge) * 2.2) #14100c80);display:block}.profile-marker[data-facing=left] .hikyaku-figure{transform:scaleX(-1)}@media (prefers-reduced-motion:no-preference){.profile-marker[data-running=true] .hikyaku-bob{animation:hikyaku-bob var(--hikyaku-step) ease-in-out infinite}.profile-marker[data-running=true] .hikyaku-figure{animation:hikyaku-lean calc(var(--hikyaku-step) * 2) ease-in-out infinite}.profile-marker[data-facing=left][data-running=true] .hikyaku-figure{animation-name:hikyaku-lean-flipped}}@keyframes hikyaku-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7%)}}@keyframes hikyaku-lean{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes hikyaku-lean-flipped{0%,to{transform:scaleX(-1)rotate(-3deg)}50%{transform:scaleX(-1)rotate(3deg)}}.map-list{margin:0 var(--space) var(--space);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);color:var(--fg)}.map-list-header{padding:var(--space-2) var(--space);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.map-list-header h2{margin:0;font-size:1rem}.map-list-header-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.prefecture-spot-group{padding:var(--space-2) 0 0}.prefecture-spot-group+.prefecture-spot-group{margin-top:var(--space);border-top:1px solid var(--border)}.prefecture-spot-group-header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:0 var(--space) var(--space-2);flex-wrap:wrap;display:flex}.prefecture-spot-group-heading{color:var(--fg-muted);margin:0;font-size:.875rem}.map-list-maximize{min-width:24px;min-height:24px;color:var(--accent);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.map-list-maximize:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stamp-count{color:#8f2525;font-size:.85rem;font-weight:600}.stamp-column-toggle,.stamp-column button{color:#7f1d1d;cursor:pointer;background:#fff8f3;border:1px solid #a94949;border-radius:999px}.stamp-column-toggle{padding:3px 9px}.stamp-column-toggle[aria-pressed=false]{border-color:var(--border);background:var(--bg);color:var(--fg-muted)}.stamp-status{padding:var(--space-2) var(--space);color:#762020;background:#fff3ed;border-bottom:1px solid #d9aaaa;margin:0}.photo-stamp{gap:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--border);display:grid}.photo-stamp-open,.photo-stamp-candidates button{color:#7f1d1d;cursor:pointer;background:#fff8f3;border:1px solid #a94949;border-radius:999px}.photo-stamp-open{padding:3px 9px}.photo-stamp-body{gap:var(--space-1);display:grid}.photo-stamp-body[hidden]{display:none}.photo-stamp-candidates{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.photo-stamp-candidates li{align-items:center;gap:var(--space-1);display:flex}.photo-stamp-candidates button{padding:2px 8px}.photo-stamp-category{color:var(--fg-muted);white-space:nowrap;font-size:.75rem}.photo-stamp-candidates button:disabled{cursor:wait;opacity:.55}.photo-stamp-empty,.photo-stamp-status{color:var(--fg-muted);margin:0;font-size:.85rem}.photo-stamp-acquired{color:#a62f24;white-space:nowrap;font-size:.75rem;font-weight:700}.photo-stamp-status{color:#762020}.photo-spot{gap:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--border);display:grid}.photo-spot-open,.photo-spot-candidate{border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer;border-radius:999px}.photo-spot-open{justify-self:start;padding:3px 9px}.photo-spot-body{gap:var(--space-1);max-height:220px;display:grid;overflow-y:auto}.photo-spot-body[hidden]{display:none}.photo-spot-assigned{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.photo-spot-assigned li{justify-items:center;gap:2px;display:grid}.photo-spot-assigned img,.photo-spot-candidate img{object-fit:cover;border-radius:4px;width:72px;height:54px}.photo-spot-remove{color:var(--fg-muted);cursor:pointer;background:0 0;border:0;font-size:.75rem;text-decoration:underline}.photo-spot-candidates{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.photo-spot-candidate{align-items:center;gap:var(--space-1);text-align:left;width:100%;padding:2px 8px;display:flex}.photo-spot-candidate img{width:48px;height:36px}.photo-spot-open:disabled,.photo-spot-candidate:disabled,.photo-spot-remove:disabled{cursor:wait;opacity:.55}.photo-spot-empty,.photo-spot-more,.photo-spot-status{color:var(--fg-muted);margin:0;font-size:.85rem}.spot-photo-list{gap:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--border);display:grid}.spot-photo-list-heading,.spot-photo-list-more{color:var(--fg-muted);margin:0;font-size:.85rem}.spot-photo-list-items{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.spot-photo-list-items li{display:grid}.spot-photo-list-items img{object-fit:cover;border-radius:4px;width:72px;height:54px}.photo-link-copy,.photo-link-copy-feedback{justify-items:center;gap:2px;display:grid}.photo-link-copy-button{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);min-width:28px;min-height:28px;color:var(--fg);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.photo-link-copy-button:disabled{cursor:wait;opacity:.55}.photo-link-copy-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.photo-link-copy-status{color:var(--fg-muted);text-align:center;margin:0;font-size:.75rem}.photo-link-copy-url{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--fg);border-radius:4px;padding:2px 4px;font-size:.75rem}.photo-favorite{justify-items:center;gap:2px;display:grid}.photo-favorite-button{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);min-width:28px;min-height:28px;color:var(--fg);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.photo-favorite-button:disabled{cursor:wait;opacity:.55}.photo-favorite-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.photo-favorite-feedback{justify-items:center;gap:2px;display:grid}.photo-favorite-status{color:var(--fg-muted);text-align:center;margin:0;font-size:.75rem}.stamp-book-empty{padding:var(--space-4) var(--space);color:var(--fg-muted);text-align:center;margin:0}.spot-popup-stamped{color:#a62f24;font-weight:700}.map-list-table .stamp-column{white-space:nowrap;min-width:8.5rem}.stamp-acquired{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.stamp-seal{color:#a51f1f;border:2px solid #b32626;border-radius:50%;place-items:center;width:2rem;height:2rem;font-family:serif;font-size:1.05rem;font-weight:700;line-height:1;display:inline-grid;transform:rotate(-7deg)}.stamp-pending{color:#68440c;background:#f4dfb8;border-radius:999px;padding:1px 6px;font-size:.75rem}.stamp-column button{padding:2px 8px}.stamp-column button:disabled{cursor:wait;opacity:.55}.stamp-column .stamp-qr-scan{vertical-align:middle;justify-content:center;align-items:center;margin-left:4px;padding:2px 6px;display:inline-flex}.stamp-column .stamp-qr-scan svg{width:1.15em;height:1.15em}.stamp-progress{color:#8f2525;font-variant-numeric:tabular-nums;font-size:.85rem}@media (prefers-color-scheme:dark){.spot-popup-stamped{color:#ff8c7d}.stamp-count{color:#faa}.stamp-column-toggle,.stamp-column button{color:#ffd0c9;background:#3a2020;border-color:#d76c6c}.stamp-column-toggle[aria-pressed=false]{border-color:var(--border);background:var(--bg);color:var(--fg-muted)}.stamp-status{color:#ffd1c9;background:#351f1f;border-color:#744343}.photo-stamp-open,.photo-stamp-candidates button{color:#ffd0c9;background:#3a2020;border-color:#d76c6c}.photo-stamp-acquired{color:#ff8c7d}.photo-stamp-status{color:#ffd1c9}.stamp-seal{color:#ff8c8c;border-color:#f77}.stamp-pending{color:#ffe0a0;background:#564119}.stamp-progress{color:#faa}}.map-list-scroll{overscroll-behavior:contain;max-height:40vh;position:relative;overflow:auto}.map-list-table{border-collapse:collapse;width:100%;font-size:.85rem}.map-list-table th,.map-list-table td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.map-list-table thead th{z-index:1;background:var(--bg-raised);color:var(--fg-muted);white-space:nowrap;font-weight:400;position:sticky;top:0}.map-list-table tbody th{min-width:8em;font-weight:600}.map-list-subtitle{color:var(--fg-muted);font-weight:400;display:block}.map-panel-tabs{gap:var(--space-2);margin:0 var(--space) var(--space-2);flex-wrap:wrap;display:flex}.map-panel-tabs button{min-height:44px;padding:var(--space-2) var(--space);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;color:var(--fg-muted);font:inherit;cursor:pointer;background:0 0;border-bottom:2px solid #0000}.map-panel-tabs button[aria-selected=true]{border-bottom-color:var(--accent);background:var(--bg-raised);color:var(--fg);font-weight:600}.map-panel-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kojiki-genealogy-note{margin:var(--space) 0;color:var(--fg-muted);font-size:.8rem}.kojiki-genealogy{min-width:min(100%,680px);padding:var(--space-3) var(--space);font-size:.8rem}.kojiki-genealogy-couple{justify-content:center;align-items:center;gap:var(--space-2);display:flex}.kojiki-genealogy-couple>.kojiki-genealogy-person{flex:1}.kojiki-genealogy-spouse{color:var(--fg-muted);font-size:1rem}.kojiki-genealogy-branches{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(2,minmax(360px,1fr));display:grid}.kojiki-genealogy-section{margin-bottom:var(--space-4);padding:var(--space);border:1px solid var(--border);border-radius:var(--radius)}.kojiki-genealogy-section h3,.kojiki-genealogy-section h4{margin:0 0 var(--space);text-align:center}.kojiki-genealogy-chapter{justify-content:center;align-items:center;gap:var(--space-2);width:fit-content;max-width:100%;margin:0 auto var(--space-2);padding:3px var(--space-2);background:color-mix(in srgb, var(--accent) 12%, var(--bg));color:var(--fg-muted);text-align:center;border-radius:999px;font-size:.65rem;display:flex}.kojiki-genealogy-chapter span{color:var(--accent);white-space:nowrap;font-weight:700}.kojiki-genealogy-section h4{margin-top:var(--space-3);color:var(--fg-muted);font-size:.75rem}.kojiki-genealogy-descendants{padding-top:24px;position:relative}.kojiki-genealogy-descendants:before{background:var(--border-strong,var(--border));content:"";width:1px;height:24px;position:absolute;top:0;left:50%}.kojiki-genealogy-people{justify-content:center;align-items:stretch;gap:var(--space-2);flex-wrap:wrap;display:flex}.kojiki-genealogy-people>.kojiki-genealogy-person{flex:135px}.kojiki-genealogy-oath{gap:var(--space-3);grid-template-columns:3fr 5fr;display:grid}.kojiki-genealogy-branch{padding:var(--space);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised)}.kojiki-genealogy-branch h3{margin:0 0 var(--space);text-align:center;font-size:.85rem}.kojiki-genealogy-person{min-width:0;padding:calc(var(--space-2) / 2) var(--space-2);border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));border-radius:var(--radius);background:var(--bg);text-align:center;flex-direction:column;align-items:center;display:flex}.kojiki-genealogy-person span,.kojiki-genealogy-person small{color:var(--fg-muted);font-size:.65rem}.kojiki-genealogy-line{margin:var(--space) 0 0;flex-direction:column;align-items:center;padding:0;list-style:none;display:flex}.kojiki-genealogy-line li{width:min(100%,290px);padding-top:24px;position:relative}.kojiki-genealogy-line li:before{background:var(--border-strong,var(--border));content:"";width:1px;height:24px;position:absolute;top:0;left:50%}.kojiki-genealogy-volume{margin-top:var(--space-4);background:var(--bg-raised)}.kojiki-genealogy-imperial-line li{width:min(100%,620px)}.genealogy-viewer{--am-color-bg-default:var(--bg);--am-color-bg-paper:var(--bg-raised);--am-color-text-primary:var(--fg);--am-color-text-secondary:var(--fg-muted);--am-color-divider:var(--border);--am-color-primary-main:var(--accent);--am-color-error-main:var(--danger);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);height:clamp(320px,60vh,800px);overflow:hidden}.genealogy-viewer .anytime-diagram-title{display:none}.genealogy-viewer-dropped{margin:var(--space-2) 0 0;color:var(--danger);font-size:.85rem}.kojiki-family{margin:var(--space-3) 0;padding:var(--space-2);border-bottom:1px solid var(--border);display:grid;overflow-x:auto}.kojiki-family>.kojiki-genealogy-couple{padding-bottom:20px;position:relative}.kojiki-family>.kojiki-genealogy-couple:after{content:"";border-left:1px solid var(--fg-muted);height:20px;position:absolute;bottom:0;left:50%}.kojiki-family-parent{align-items:center;gap:var(--space);display:flex}.kojiki-family-children{justify-content:center;width:max-content;min-width:100%;margin:0;padding:0;list-style:none;display:flex}.kojiki-family-children>li{flex:0 0 150px;width:150px;padding:20px 6px 0;position:relative}.kojiki-family-children>li:before{content:"";border-top:1px solid var(--fg-muted);position:absolute;top:0;left:0;right:0}.kojiki-family-children>li:first-child:before{left:50%}.kojiki-family-children>li:last-child:before{right:50%}.kojiki-family-children>li:after{content:"";border-left:1px solid var(--fg-muted);height:20px;position:absolute;top:0;left:50%}.kojiki-genealogy-map-links{width:100%;margin-top:4px;font-size:.65rem}.kojiki-genealogy-map-links summary{cursor:pointer;color:var(--accent)}.kojiki-genealogy-map-links button{background:var(--bg-raised);width:100%;color:var(--accent);border:1px solid var(--border);border-radius:var(--radius);font:inherit;cursor:pointer;white-space:normal;margin-top:4px;padding:5px;display:block}@media (width<=640px){.kojiki-genealogy-branches,.kojiki-genealogy-oath{grid-template-columns:1fr}.kojiki-genealogy-couple{align-items:stretch}}.map-list[role=tabpanel]:focus-visible,.elevation-profile[role=tabpanel]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map-list-year,.map-list-location,.map-list-reference,.map-list-figure{white-space:nowrap}.map-list-year{text-align:right;font-variant-numeric:tabular-nums}.map-list-poem{white-space:nowrap}.map-list-note{margin:0 0 var(--space-2);color:var(--fg-muted);font-size:.85rem}.map-list-table .map-list-icon-button,.map-list-table .map-list-icon-link{min-width:24px;min-height:24px;color:var(--accent);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.map-list-table .map-list-icon-button:focus-visible,.map-list-table .map-list-icon-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map-list-table tbody tr:last-child th,.map-list-table tbody tr:last-child td{border-bottom:0}.map-list-disclosure{width:100%;color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.map-list-disclosure:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map-list-disclosure-mark{margin-right:var(--space-1);color:var(--fg-muted);font-size:.75em}.map-list-disclosure-count{color:var(--fg-muted);font-size:.85em;font-weight:400;display:block}.map-list-child>th,.map-list-child>td{background-color:var(--bg);font-weight:400}.map-list-child>.map-list-child-name{padding-left:var(--space-6);background-image:linear-gradient(var(--fg-muted), var(--fg-muted));background-repeat:no-repeat;background-size:2px 100%;background-position:var(--space-2) 0}.map-list-child button{color:var(--accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.map-list-child button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.spot-pack-screen header{min-height:44px;padding:0 var(--space);background:var(--bg-raised);border-bottom:1px solid var(--border);align-items:center;font-size:.85rem;display:flex}.spot-pack-screen{width:100%;max-width:42rem;margin-inline:auto}.spot-pack-screen h1{margin:var(--space) var(--space) var(--space-2)}.spot-pack-lead{margin:0 var(--space) var(--space);color:var(--fg-muted);font-size:.85rem}.spot-pack-list{margin:0 var(--space) var(--space);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);padding:0;list-style:none}.spot-pack-row{align-items:center;gap:var(--space);padding:var(--space-3) var(--space);display:flex}.spot-pack-row+.spot-pack-row{border-top:1px solid var(--border)}.spot-pack-text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.spot-pack-name{font-weight:600}.spot-pack-detail,.spot-pack-status{color:var(--fg-muted);font-size:.85rem}.spot-pack-action{min-height:44px;padding:0 var(--space-4);border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);border-radius:999px;flex:none}.spot-pack-action-remove{border-color:var(--danger);background:var(--bg);color:var(--danger)}.about-screen header,.privacy-screen header{min-height:44px;padding:0 var(--space);background:var(--bg-raised);border-bottom:1px solid var(--border);align-items:center;font-size:.85rem;display:flex}.about-screen,.privacy-screen{width:100%;max-width:42rem;margin-inline:auto}.about-screen h1,.about-screen h2,.privacy-screen h1,.privacy-screen h2{margin:var(--space) var(--space) var(--space-2)}.privacy-screen h2{padding-bottom:var(--space-1);border-bottom:1px solid var(--border)}.privacy-screen p{margin:0 var(--space) var(--space);line-height:1.6}.privacy-updated{color:var(--fg-muted);font-size:.85rem}.about-screen h3{margin:var(--space-2) var(--space) var(--space-3);color:var(--fg-muted);font-size:.9rem}a.about-source-detail{color:var(--accent)}.about-diagnostics-output{box-sizing:border-box;width:100%;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);color:var(--fg);font-family:inherit;font-size:.85rem}.about-list,.about-sources{margin:0 var(--space) var(--space);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);padding:0}.about-list{flex-direction:column;display:flex}.about-list div,.about-sources li{padding:var(--space-3) var(--space)}.about-list div+div,.about-sources li+li{border-top:1px solid var(--border)}.about-list dt{color:var(--fg-muted);margin:0 0 2px;font-size:.85rem}.about-list dd{color:var(--fg);word-break:break-word;margin:0}.about-sources{list-style:none}.about-sources li{flex-direction:column;gap:2px;display:flex}.about-source-name{color:var(--fg);word-break:break-word;font-weight:600}.about-source-detail{color:var(--fg-muted);word-break:break-word;font-size:.85rem}.spot-admin-screen header,.area-admin-screen header{min-height:44px;padding:0 var(--space);background:var(--bg-raised);border-bottom:1px solid var(--border);align-items:center;font-size:.85rem;display:flex}.spot-admin-screen,.area-admin-screen{width:100%;max-width:56rem;margin-inline:auto}.spot-admin-screen h1,.area-admin-screen h1{margin:var(--space) var(--space) var(--space-2)}.spot-admin-total,.area-admin-note{margin:0 var(--space) var(--space-2);font-size:.85rem}.spot-admin-scroll,.area-admin-scroll{margin:0 var(--space) var(--space);overscroll-behavior-x:contain;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);overflow-x:auto}.spot-admin-scroll:focus-visible,.area-admin-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.spot-admin-table,.area-admin-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.85rem}.spot-admin-table th,.spot-admin-table td,.area-admin-table th,.area-admin-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.spot-admin-table thead th,.area-admin-table thead th{color:var(--fg-muted);white-space:nowrap;font-weight:400}.spot-admin-table .spot-admin-name,.area-admin-table .area-admin-name{z-index:1;background:var(--bg-raised);border-inline-end:1px solid var(--border);min-width:8em;font-size:1rem;font-weight:600;position:sticky;left:0}.spot-admin-name-inner,.area-admin-name-inner{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.spot-admin-label,.area-admin-label{flex:auto}.spot-admin-grip,.area-admin-grip{min-width:24px;min-height:44px;color:var(--fg-muted);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.spot-admin-grip:active,.area-admin-grip:active{cursor:grabbing}.spot-admin-dragging>th,.spot-admin-dragging>td,.area-admin-dragging>th,.area-admin-dragging>td{background:var(--bg-raised)}.spot-admin-table .spot-admin-origin,.spot-admin-table .spot-admin-ops{white-space:nowrap}.spot-admin-table .spot-admin-ops{width:1%}.spot-admin-table .spot-admin-detail,.spot-admin-table .spot-admin-users{color:var(--fg-muted);white-space:nowrap}.spot-admin-table .spot-admin-users{text-align:right;font-variant-numeric:tabular-nums}.spot-admin-table .spot-admin-visibility{min-width:8em}.spot-admin-table tbody tr:last-child th,.spot-admin-table tbody tr:last-child td,.area-admin-table tbody tr:last-child th,.area-admin-table tbody tr:last-child td{border-bottom:0}.spot-admin-warn{color:var(--danger)}.spot-admin-progress,.area-admin-progress{color:var(--fg-muted);font-size:.85rem;font-weight:400;display:block}.spot-admin-error,.area-admin-error{color:var(--danger);font-size:.85rem;font-weight:400;display:block}.spot-pack-badge{padding:1px var(--space-2);border:1px solid var(--border);background:var(--bg-raised);color:var(--fg-muted);vertical-align:middle;border-radius:999px;margin-inline-start:var(--space-2);font-size:.75rem;font-weight:400}.spot-admin-actions{align-items:center;gap:var(--space-2);display:flex}.spot-admin-select,.area-admin-select{width:100%;min-height:44px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);font-size:.9rem}.spot-admin-select:disabled,.area-admin-select:disabled{opacity:.6}.spot-admin-action{min-height:44px;padding:0 var(--space-4);border:1px solid var(--border);background:var(--bg);color:var(--fg);white-space:nowrap;border-radius:999px}.spot-admin-action-remove{border-color:var(--danger);color:var(--danger)}.spot-admin-action:disabled{opacity:.6}.spot-admin-fixed{color:var(--fg-muted);flex:none;font-size:.85rem}@media (width<=40rem){.spot-admin-table th,.spot-admin-table td,.area-admin-table th,.area-admin-table td{padding:var(--space-2)}.spot-admin-table .spot-admin-name,.area-admin-table .area-admin-name{min-width:6em;font-size:.95rem}}@media (width>=1024px){.spot-admin-screen,.area-admin-screen{max-width:none}}.map-overlay-menu-link{color:var(--accent);text-decoration:none}.user-login-screen header{min-height:44px;padding:0 var(--space);background:var(--bg-raised);border-bottom:1px solid var(--border);align-items:center;font-size:.85rem;display:flex}.user-login-screen{width:100%;max-width:42rem;margin-inline:auto}.user-login-screen h1{margin:var(--space) var(--space) var(--space-2)}.user-login-lead{margin:0 var(--space) var(--space);color:var(--fg-muted);font-size:.85rem}.user-login-google{min-height:44px;margin:0 var(--space);padding:0 var(--space-4);border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);font:inherit;cursor:pointer;border-radius:999px;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.user-login-notice{margin:var(--space);padding:var(--space);border:1px solid var(--border);background:var(--bg-raised);color:var(--fg-muted);border-radius:12px;font-size:.85rem}.user-login-notice h2{margin:0 0 var(--space-2);color:var(--fg);font-size:.95rem}.user-login-notice dl{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.user-login-notice dt{color:var(--fg);font-weight:600}.user-login-notice dd{word-break:break-word;margin:0}.user-login-policy{margin:var(--space-2) 0 0}.user-login-policy a{color:var(--accent)}.overpass-add-closed{color:var(--fg-muted,var(--fg));align-self:center;font-size:.9em}.photo-drag-ghost{border:2px solid var(--accent);border-radius:var(--radius);background:var(--bg-raised);opacity:.9;pointer-events:none;width:56px;height:56px;overflow:hidden;box-shadow:0 2px 8px #00000073}.photo-drag-ghost img{object-fit:cover;width:100%;height:100%}.map-popup-assignment{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);justify-items:start;gap:4px;display:grid}.map-popup-assignment-target{color:var(--fg);overflow-wrap:anywhere;margin:0;font-size:.75rem}.map-popup-assignment-remove{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);min-height:28px;color:var(--fg);cursor:pointer;padding:2px 8px;font-size:.75rem}.map-popup-assignment-remove:disabled{cursor:wait;opacity:.55}.map-popup-assignment-remove:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map-popup-assignment-status{color:var(--fg-muted);margin:0;font-size:.75rem}.overpass-assign-status:empty{margin:0;padding:0}.secret-admin-screen header,.genealogy-admin-screen header,.stamp-qr-screen header{min-height:44px;padding:0 var(--space);background:var(--bg-raised);border-bottom:1px solid var(--border);align-items:center;font-size:.85rem;display:flex}.secret-admin-screen,.stamp-qr-screen{width:100%;max-width:64rem;margin-inline:auto}.genealogy-admin-screen{flex-direction:column;width:100%;height:100dvh;display:flex;overflow:hidden}.genealogy-admin-screen>.map-list{flex-direction:column;flex:1;min-height:0;display:flex}.genealogy-admin-screen>.map-list>.map-list-scroll{flex-direction:column;flex:1;min-height:0;max-height:none;display:flex}.genealogy-admin-screen .genealogy-viewer{flex:1;height:auto;min-height:320px}.genealogy-admin-note code{word-break:break-all}.genealogy-admin-note>summary{cursor:pointer;color:var(--fg-muted)}.genealogy-admin-note>p{margin:var(--space-2) 0 0}.genealogy-admin-note>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.genealogy-admin-field{gap:var(--space-2);margin:0 var(--space) var(--space-2);align-items:center;font-size:.85rem;display:flex}.genealogy-admin-screen h1,.secret-admin-screen h1,.stamp-qr-screen h1{margin:var(--space) var(--space) var(--space-2)}.genealogy-admin-note,.genealogy-admin-empty,.genealogy-admin-progress,.secret-admin-note,.stamp-qr-note{margin:0 var(--space) var(--space-2);font-size:.85rem}.secret-admin-body,.stamp-qr-body{gap:var(--space);margin:0 var(--space) var(--space);grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);display:grid}.secret-admin-list,.secret-admin-detail,.stamp-qr-list,.stamp-qr-detail{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised)}.secret-admin-list-actions{gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.secret-admin-action,.stamp-qr-action{min-height:44px;padding:0 var(--space-4);border:1px solid var(--border);background:var(--bg);color:var(--fg);white-space:nowrap;border-radius:999px}.secret-admin-action:disabled{opacity:.6}.secret-admin-danger{color:var(--danger);border-color:var(--danger)}.secret-admin-confirm{margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--danger);border-radius:var(--radius);font-size:.85rem}.secret-admin-items,.stamp-qr-items{margin:0;padding:0;list-style:none}.secret-admin-item,.stamp-qr-item{width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--fg);text-align:left;background:0 0;border:1px solid #0000;border-left-width:4px;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.secret-admin-item[aria-pressed=true],.stamp-qr-item[aria-pressed=true]{border-color:var(--border);border-left-color:var(--accent);background:var(--bg)}.secret-admin-item code,.secret-admin-item-name{font-size:.95rem}.secret-admin-standard{margin-inline:calc(var(--space) * -1)}.secret-admin-standard h2{margin:var(--space-3) var(--space) var(--space-2);font-size:1.05rem}.secret-admin-item-summary{color:var(--fg-muted);font-size:.8rem}.secret-admin-empty{color:var(--fg-muted);margin:0}.secret-admin-share{gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;align-items:flex-start;display:flex}.secret-admin-url,.stamp-qr-url{flex:16rem;min-width:0}.secret-admin-url p,.stamp-qr-url p{margin:0 0 var(--space-2);overflow-wrap:anywhere;font-size:.85rem}.secret-admin-qr,.stamp-qr-code{padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);color:#000;background:#fff;flex:none}.secret-admin-group{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius)}.secret-admin-group legend{padding:0 var(--space-2);color:var(--fg-muted);font-size:.85rem}.secret-admin-choice{align-items:center;gap:var(--space-2);min-height:36px;font-size:.9rem;display:flex}.secret-admin-progress,.stamp-qr-progress,.stamp-qr-empty{margin:0 0 var(--space-2);color:var(--fg-muted);font-size:.85rem}.secret-admin-error,.stamp-qr-error{margin:0 0 var(--space-2);color:var(--danger);font-size:.85rem}@media (width<=40rem){.secret-admin-body,.stamp-qr-body{grid-template-columns:minmax(0,1fr)}}@media (width>=1024px){.secret-admin-screen,.stamp-qr-screen{max-width:none}}.stamp-qr-field{gap:var(--space-2);margin-bottom:var(--space-3);color:var(--fg-muted);flex-direction:column;font-size:.85rem;display:flex}.stamp-qr-field select,.stamp-qr-field input{min-height:36px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);font-size:.9rem}.stamp-qr-items{max-height:24rem;overflow-y:auto}.stamp-qr-name{margin:0 0 var(--space-2);font-size:1.1rem;font-weight:600}.stamp-qr-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.stamp-qr-video{width:min(320px, calc(100vw - var(--space) * 4));aspect-ratio:1;margin-bottom:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);object-fit:cover;background:#000}.stamp-qr-status,.stamp-qr-landing-target{margin:0 0 var(--space-2);font-size:.9rem}@media print{.stamp-qr-screen header,.stamp-qr-screen h1,.stamp-qr-note,.stamp-qr-list,.stamp-qr-url{display:none}.stamp-qr-body{margin:0;display:block}.stamp-qr-detail{text-align:center;background:0 0;border:0;padding:0}.stamp-qr-code{width:60mm;height:60mm}}
