.ps__veil{z-index:70;background:color-mix(in srgb, var(--map-ink) 24%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:ps-fade .25s var(--ease) both;border:0;position:fixed;inset:0}.ps{z-index:71;left:8px;right:8px;bottom:calc(70px + env(safe-area-inset-bottom));border-radius:var(--radius-xl);background:var(--map-card);max-width:520px;max-height:calc(100dvh - 150px);color:var(--map-ink);box-shadow:0 24px 60px -20px var(--map-ink);animation:ps-up .42s var(--ease-spring) both;flex-direction:column;margin:0 auto;display:flex;position:fixed;overflow:hidden}.ps--full{top:calc(var(--bar-b) + 6px);max-height:none;animation:ps-grow .45s var(--ease) both}.ps__grip{z-index:3;touch-action:none;cursor:grab;place-items:center;height:28px;display:grid;position:absolute;top:0;left:0;right:56px}.ps__grip i{background:color-mix(in srgb, var(--map-card) 80%, transparent);width:40px;height:5px;box-shadow:0 1px 3px color-mix(in srgb, var(--map-ink) 30%, transparent);border-radius:5px}.ps__x{z-index:3;background:color-mix(in srgb, var(--map-card) 88%, transparent);cursor:pointer;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:10px;right:10px}.ps__x svg{fill:none;width:16px;height:16px;stroke:var(--map-ink);stroke-width:2.2px;stroke-linecap:round}.ps__scroll{overscroll-behavior:contain;flex:1;overflow-y:auto}.sh{aspect-ratio:4/3;background:color-mix(in srgb, var(--c) 16%, var(--map-card));position:relative}.sh--small{aspect-ratio:16/8}.sh img{object-fit:cover;width:100%;height:100%;display:block}.sh--row{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.sh--row::-webkit-scrollbar{display:none}.sh--row img{scroll-snap-align:start;flex:0 0 88%;width:88%}.sh--row img:last-child{scroll-snap-align:end}.sh__art{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--c) 14%, transparent) 0 1px, transparent 1px 10px), radial-gradient(120% 90% at 30% 20%, color-mix(in srgb, var(--c) 26%, var(--map-card)), color-mix(in srgb, var(--c) 8%, var(--map-card)));align-content:center;place-items:center;gap:8px;display:grid;position:absolute;inset:0}.sh__art svg{fill:none;width:34%;height:52%;stroke:var(--c);stroke-width:1px;stroke-linecap:round;stroke-linejoin:round}.sh--small .sh__art svg{height:64%}.sh__art span{font-size:var(--fs-xs);letter-spacing:.3em;color:color-mix(in srgb, var(--c) 75%, var(--map-ink));font-weight:800}.ps__peekTxt{padding:12px 16px 16px}.ps__kind,.sd__kind{background:color-mix(in srgb, var(--c) 16%, var(--map-card));color:color-mix(in srgb, var(--c) 72%, var(--map-ink));font-size:var(--fs-xs);border-radius:999px;padding:3px 9px;font-weight:800;display:inline-block}.ps__name{font-size:var(--fs-lg);margin:6px 0 0;font-weight:900;line-height:1.25}.ps__say{font-size:var(--fs-ui);color:var(--map-ink-2);margin:6px 0 0;line-height:1.55}.ps__say--clip{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ps__lead{font-size:var(--fs-xs);margin:6px 0 0}.ps__lead b{color:var(--map-ink-2);margin-right:6px;font-weight:700}.ps__acts,.sd__acts{gap:8px;margin-top:14px;display:flex}.ps__btn{min-height:var(--tap);background:color-mix(in srgb, var(--map-ink) 8%, var(--map-card));color:var(--map-ink);font:inherit;font-size:var(--fs-ui);cursor:pointer;transition:transform .15s var(--ease);border:0;border-radius:14px;flex:1;place-items:center;font-weight:800;text-decoration:none;display:grid}.ps__btn:active{transform:scale(.97)}.ps__btn--pri{background:var(--map-ink);color:var(--map-card)}.sd{padding:14px 18px 22px}.sd__back{color:var(--map-ink-2);font:inherit;font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;margin-bottom:8px;padding:0;font-weight:800}.sd__tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sd__tags span:not(.sd__kind){font-size:var(--fs-xs);color:var(--map-ink-2);font-weight:700}.sd__name{font-size:var(--fs-xl);letter-spacing:.01em;margin:8px 0 0;font-weight:900;line-height:1.15}.sd__alt{font-family:var(--la);font-size:var(--fs-xs);color:var(--map-ink-2);margin:4px 0 0}.sd__say{font-size:var(--fs-sm);margin:12px 0 0;line-height:1.65}.sd__facts{border-top:1.5px solid var(--map-ink);gap:0;margin:14px 0 0;display:grid}.sd__facts div{border-bottom:1px solid color-mix(in srgb, var(--map-ink) 10%, transparent);font-size:var(--fs-ui);grid-template-columns:4.5em 1fr;gap:10px;padding:9px 0;line-height:1.5;display:grid}.sd__facts dt{color:var(--map-ink-2);font-size:var(--fs-xs);padding-top:2px}.sd__facts dd{margin:0;font-weight:700}.sd__chips{flex-wrap:wrap;gap:6px;margin:12px 0 0;display:flex}.sd__chips span{background:color-mix(in srgb, var(--c) 12%, var(--map-card));font-size:var(--fs-xs);border-radius:999px;padding:4px 10px;font-weight:700}.sd__warn{background:color-mix(in srgb, var(--map-sight) 12%, var(--map-card));color:color-mix(in srgb, var(--map-sight) 70%, var(--map-ink));font-size:var(--fs-xs);border-radius:12px;margin:12px 0 0;padding:10px 12px;font-weight:700}.sd__notes{margin:12px 0 0;padding:0;list-style:none}.sd__notes li{font-size:var(--fs-xs);color:var(--map-ink-2);padding-left:14px;line-height:1.55;position:relative}.sd__notes li+li{margin-top:4px}.sd__notes li:before{content:"";background:var(--c);border-radius:50%;width:5px;height:5px;position:absolute;top:.6em;left:2px}.sd__src{font-size:var(--fs-micro);color:var(--map-ink-2);margin:18px 0 0}.sp-list{margin-top:10px}.sp-list h3,.sp-guide h3,.sp-near h3{font-size:var(--fs-xs);letter-spacing:.06em;color:var(--map-ink-2);margin:14px 0 4px;font-weight:800}.sp-list ul,.sp-guide ul{margin:0;padding:0;list-style:none}.sp-list li+li{border-top:1px solid color-mix(in srgb, var(--map-ink) 8%, transparent)}.sp-list button{width:100%;min-height:var(--tap);color:var(--map-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 2px;display:flex}.sp-list b{font-size:var(--fs-ui);font-weight:800}.sp-list b i{background:color-mix(in srgb, var(--map-sight) 16%, var(--map-card));color:color-mix(in srgb, var(--map-sight) 70%, var(--map-ink));font-style:normal;font-size:var(--fs-micro);border-radius:999px;margin-left:6px;padding:1px 6px;font-weight:800}.sp-list span{font-size:var(--fs-xs);color:var(--map-ink-2);flex:none;font-weight:700}.sp-guide{background:color-mix(in srgb, var(--c) 10%, var(--map-card));font-size:var(--fs-xs);border-radius:14px;margin-top:14px;padding:10px 12px;line-height:1.55}.sp-guide summary{font-size:var(--fs-ui);cursor:pointer;font-weight:800}.sp-guide p{color:var(--map-ink-2);margin:2px 0 0}.sp-guide table{border-collapse:collapse;width:100%;margin-top:2px}.sp-guide th,.sp-guide td{text-align:left;font-variant-numeric:tabular-nums;padding:3px 4px}.sp-guide th{color:var(--map-ink-2);font-weight:700}.sp-guide td:first-child{font-weight:700}.sp-guide li:before{content:"· "}.sp-near{margin-top:18px}.sp-near>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.sp-near button{background:color-mix(in srgb, var(--map-ink) 5%, var(--map-card));color:var(--map-ink);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:14px;flex-direction:column;gap:4px;padding:0 0 8px;display:flex;overflow:hidden}.sp-near__img{aspect-ratio:4/3;background-position:50%;background-size:cover;display:block}.sp-near__img--art{background:color-mix(in srgb, var(--c) 16%, var(--map-card));place-items:center;display:grid}.sp-near__img--art svg{fill:none;width:40%;height:60%;stroke:var(--c);stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round}.sp-near b{font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;padding:0 8px;font-weight:800;overflow:hidden}.sp-near em{font-style:normal;font-size:var(--fs-micro);color:var(--map-ink-2);padding:0 8px}@keyframes ps-fade{0%{opacity:0}}@keyframes ps-up{0%{opacity:0;transform:translateY(40px)scale(.96)}}@keyframes ps-grow{0%{transform:translateY(24%)}}
.pm{z-index:1;max-width:520px;padding-bottom:calc(64px + env(safe-area-inset-bottom));color:var(--map-ink);margin:0 auto;position:relative}.pm__head{padding:var(--island-b) calc(16px + var(--island-w) + 8px) 0 20px;align-items:baseline;gap:8px;display:flex;position:relative}.pm__h{font-size:var(--fs-xl);font-weight:900;line-height:var(--island-h);letter-spacing:.04em;margin:0}.pm__map{width:100%;position:relative;overflow:hidden}.pm-base,.pm-live{width:100%;height:100%;position:absolute;inset:0}.pm-live{pointer-events:none}.pm-sea-0{stop-color:var(--map-sea-deep)}.pm-sea-1{stop-color:var(--map-sea)}.pm-sea-2{stop-color:var(--map-sea-shallow)}.pm-dot{fill:var(--map-ink);fill-opacity:.13}.pm-depth path{fill:none;stroke:var(--map-card);stroke-opacity:.4;stroke-width:1.2px}.pm-land path{fill:var(--map-land)}.pm-grass path{fill:var(--map-grass)}.pm-contour{fill:none;stroke:var(--map-hill);stroke-opacity:.55;stroke-width:1px}.pm-road path{fill:none;stroke:var(--map-road);stroke-width:2.4px;stroke-linecap:round}.pm-surf path{fill:none;stroke:var(--map-card);stroke-opacity:.85;stroke-width:6px;stroke-linejoin:round}.pm-shore path{fill:none;stroke:var(--map-ink);stroke-width:1.6px;stroke-linejoin:round}.pm-palm{fill:none;stroke:var(--map-ink);stroke-opacity:.7;stroke-width:1.2px;stroke-linecap:round}.pm-area text{font-size:var(--fs-xs);letter-spacing:.3em;fill:var(--map-ink-2);font-weight:800}.pm-area .pm-area__en{font-family:var(--la);font-size:var(--fs-map);letter-spacing:.2em;font-weight:700}.pm-area--sea text{fill:var(--map-ink)}.pm-bay{font-size:var(--fs-ui);letter-spacing:.5em;fill:var(--map-card);fill-opacity:.9;font-weight:800}.pm-gulf{font-family:var(--la);font-size:var(--fs-micro);letter-spacing:.4em;fill:var(--map-card);fill-opacity:.8;font-weight:700}.pm-guess{font-size:var(--fs-map);fill:var(--map-ink);fill-opacity:.7;font-weight:700}.pm-cut path{fill:var(--map-paper);stroke:var(--map-ink);stroke-opacity:.35;stroke-width:1px}.pm-cut text{font-size:var(--fs-map);letter-spacing:.12em;fill:var(--map-ink-2);font-weight:800}.pm-live__flow path{fill:none;stroke:var(--map-card);stroke-opacity:.26;stroke-width:1px;stroke-dasharray:6 5}.pm-live__waves path{fill:none;stroke:var(--map-card);stroke-opacity:.75;stroke-width:1.4px;stroke-linecap:round;transform-box:fill-box}.pm-live__ferry{fill:none;stroke:var(--map-ink);stroke-opacity:.65;stroke-width:1.5px;stroke-dasharray:2 4;stroke-linecap:round}.pm-live__boat path{fill:var(--map-card);stroke:var(--map-ink);stroke-width:1.3px;stroke-linejoin:round}.pm-live__fare{font-size:var(--fs-map);fill:var(--map-ink);paint-order:stroke;stroke:var(--map-card);stroke-width:3px;stroke-linejoin:round;font-weight:800}.pm__pin{z-index:2;color:var(--map-ink);cursor:pointer;transform-origin:50% 100%;-webkit-tap-highlight-color:transparent;transition:opacity .3s var(--ease);background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex;position:absolute;translate:-50% -100%}.pm__pin--ph{z-index:3}.pm__pin.is-off{opacity:.16;pointer-events:none}.pm__ph,.pm__ic{border:2px solid var(--map-card);border-radius:50%;place-items:center;display:grid;position:relative}.pm__ph{width:56px;height:56px;box-shadow:0 10px 22px -8px var(--map-ink);background-position:50%;background-size:cover;border-width:2.5px}.pm__ic{background:var(--c);width:30px;height:30px;box-shadow:0 6px 14px -6px var(--map-ink)}.pm__ic svg{fill:none;width:17px;height:17px;stroke:var(--map-card);stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.pm__ph:after,.pm__ic:after{content:"";background:var(--map-card);z-index:-1;width:9px;height:9px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.pm__ph:after{width:12px;height:12px;bottom:-8px}.pm__ph:before{content:"";background:var(--c);border:2px solid var(--map-card);border-radius:50%;width:13px;height:13px;position:absolute;top:-2px;right:-2px}.pm__dot{background:var(--c);border:1.5px solid var(--map-card);border-radius:50%;width:7px;height:7px;margin-top:6px;position:relative}.pm__lb{font-size:var(--fs-xs);white-space:nowrap;letter-spacing:.02em;paint-order:stroke;-webkit-text-stroke:3px var(--map-land);text-shadow:0 0 3px var(--map-land);font-weight:800;position:absolute}.pm__lb--b{margin-top:2px;top:100%}.pm__lb--l,.pm__lb--r{margin:0;top:auto;bottom:-5px}.pm__lb--r{left:calc(100% + 4px)}.pm__lb--l{right:calc(100% + 4px)}.pm__dock{z-index:20;top:calc(var(--island-b) + var(--island-h) + 4px);pointer-events:none;margin:4px 0 8px;position:sticky}.pm__dock .pr{position:absolute;top:100%;left:0;right:0}.pm__chips{-webkit-mask-image:linear-gradient(to right, var(--ink) calc(100% - 32px), transparent);mask-image:linear-gradient(to right, var(--ink) calc(100% - 32px), transparent);-webkit-mask-image:linear-gradient(to right, var(--ink) calc(100% - 32px), transparent);scrollbar-width:none;pointer-events:auto;align-items:center;gap:6px;padding:4px 16px;display:flex;overflow-x:auto}.pm__chips::-webkit-scrollbar{display:none}.pm__chip{background:var(--map-card);min-height:36px;color:var(--map-ink);font:inherit;font-size:var(--fs-ui);box-shadow:0 2px 8px -4px var(--map-ink), inset 0 0 0 1px color-mix(in srgb, var(--map-ink) 12%, transparent);cursor:pointer;transition:background .2s var(--ease), color .2s var(--ease), transform .2s var(--ease-spring);border:0;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 12px;font-weight:800;display:flex}.pm__chip:active{transform:scale(.95)}.pm__chip em{font-style:normal;font-size:var(--fs-micro);color:var(--map-ink-2);font-weight:700}.pm__chip i{background:var(--c);border-radius:50%;width:8px;height:8px}.pm__chip.is-on{background:var(--c,var(--map-ink));color:var(--map-card)}.pm__chip.is-on i{background:var(--map-card)}.pm__chip.is-on em{color:var(--map-card);opacity:.75}.pm__pin.is-focus{z-index:6}.pm__pin.is-focus .pm__ph,.pm__pin.is-focus .pm__ic{box-shadow:0 0 0 4px color-mix(in srgb, var(--c) 45%, transparent), 0 10px 22px -8px var(--map-ink);scale:1.28}.pm__pin.is-focus .pm__lb{font-size:var(--fs-ui)}.pm__ph,.pm__ic{transition:scale .35s var(--ease-spring), box-shadow .3s var(--ease)}.pr{scroll-snap-type:x mandatory;scrollbar-width:none;pointer-events:auto;animation:pm-rise .35s var(--ease) both;gap:10px;margin-top:8px;padding:0 16px 12px;display:flex;overflow-x:auto}.pr::-webkit-scrollbar{display:none}.pr__card{background:var(--map-card);width:min(300px,100vw - 64px);color:var(--map-ink);font:inherit;text-align:left;scroll-snap-align:center;box-shadow:0 10px 24px -14px var(--map-ink), inset 0 0 0 1px color-mix(in srgb, var(--map-ink) 8%, transparent);cursor:pointer;border:0;border-radius:18px;flex:none;gap:10px;padding:8px;display:flex}.pr__img{background-position:50%;background-size:cover;border-radius:12px;flex:none;width:72px;height:72px}.pr__img--art{background:color-mix(in srgb, var(--c) 16%, var(--map-card));place-items:center;display:grid}.pr__img--art svg{fill:none;width:34px;height:34px;stroke:var(--c);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.pr__txt{flex-direction:column;min-width:0;padding-top:2px;display:flex}.pr__txt em{font-style:normal;font-size:var(--fs-micro);color:color-mix(in srgb, var(--c) 75%, var(--map-ink));font-weight:800}.pr__txt b{font-size:var(--fs-ui);white-space:nowrap;text-overflow:ellipsis;font-weight:900;line-height:1.3;overflow:hidden}.pr__txt span{font-size:var(--fs-xs);color:var(--map-ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;line-height:1.4;display:-webkit-box;overflow:hidden}@keyframes pm-rise{0%{opacity:0;transform:translateY(16px)}}.pm--js .pm__pin:not([data-in]){opacity:0}.pm__pin[data-in]{animation:pm-drop .75s var(--ease-spring) both;animation-delay:var(--d,0s)}@keyframes pm-drop{0%{opacity:0;transform:translateY(-22px)scale(.4)}55%{opacity:1}to{opacity:1;transform:none}}.pm__pin.is-off[data-in]{opacity:.16}.pm__ph,.pm__ic{animation:3.8s ease-in-out infinite pm-breathe;animation-delay:calc(var(--i) * -.63s)}@keyframes pm-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.04)}}.pm__pin--ph .pm__dot:after{content:"";width:56px;height:56px;animation:3.8s ease-out infinite pm-halo;animation-delay:calc(var(--i) * -.63s);pointer-events:none;border-radius:50%;margin-left:-28px;position:absolute;bottom:14px;left:50%}@keyframes pm-halo{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--c) 60%, transparent)}65%,to{box-shadow:0 0 0 16px #0000}}.pm__dot:before{content:"";border:1.5px solid var(--c);opacity:0;width:26px;height:10px;animation:3.2s ease-out infinite pm-ripple;animation-delay:calc(var(--i) * -.41s);border-radius:50%;margin:-5px 0 0 -13px;position:absolute;top:50%;left:50%}@keyframes pm-ripple{0%{opacity:.75;transform:scale(.25)}to{opacity:0;transform:scale(1.9)}}.pm__pin:active .pm__ph,.pm__pin:active .pm__ic{transition:transform .12s;transform:scale(.9)}.pm-live__waves path{animation:5.5s ease-in-out infinite alternate pm-drift}.pm-live__waves path:nth-child(2n){animation-duration:7s;animation-delay:-2s}.pm-live__waves path:nth-child(3n){animation-duration:6.2s;animation-delay:-4s}@keyframes pm-drift{0%{opacity:.35;transform:translate(-7px)}to{opacity:1;transform:translate(7px)}}.pm-live__flow path{animation:14s linear infinite pm-flow}@keyframes pm-flow{to{stroke-dashoffset:-88px}}@media (prefers-reduced-motion:reduce){.pm *,.pm :before,.pm :after{animation:none!important}.pm--js .pm__pin:not([data-in]){opacity:1}}
