@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--ink:#25362d;--muted:#79847b;--green:#315f49;--lime:#d8e3be;--paper:#f8f7f1;--line:#e4e8dd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans','Noto Sans KR',sans-serif;word-break:keep-all}button,a{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #d99c65;outline-offset:3px}.skip-link{position:absolute;top:-80px;left:12px;z-index:20;background:#fff;padding:12px}.skip-link:focus{top:10px}.wrap{width:min(1180px,calc(100% - 80px));margin:auto}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;width:min(1280px,calc(100% - 80px));margin:auto;border-bottom:1px solid #e6e8df}.brand{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:800;letter-spacing:-.05em}.brand-icon{display:grid;place-items:center;width:38px;height:38px;background:var(--green);border-radius:50%;color:#f8f7f1;font-size:23px}.brand small{display:block;font-size:8px;letter-spacing:.12em;font-weight:600;margin-top:2px}.header-link{font-size:12px;font-weight:700}.header-link span{margin-left:14px;color:#9aab9c}.hero{min-height:650px;display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative;gap:45px;padding:65px 0 90px}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:700;color:#6f8f78;display:flex;align-items:center;gap:8px}.eyebrow>span{width:7px;height:7px;border-radius:50%;background:#7eae79}.hero h1,.section-top h2,.about h2{font-size:clamp(43px,4.5vw,66px);letter-spacing:-.07em;line-height:1.28;margin:25px 0;color:#24362b;font-weight:700}.hero h1 em,.section-top h2 em,.about h2 em,.archive-card h3 em{color:#76966f;font-style:normal}.hero-description{font-size:14px;line-height:2;color:#77847a}.location-button{margin-top:24px;border:0;border-radius:5px;background:var(--green);color:white;padding:18px 20px;min-width:264px;text-align:left;font-weight:700;font-size:13px;box-shadow:0 9px 20px #315f4923}.location-button span:first-child{font-size:19px;margin-right:10px}.location-button span:last-child{float:right}.location-note{font-size:11px;color:#9ba59a;margin-top:13px}.hero-visual{height:440px;background:#e3ebd6;border-radius:48% 48% 8px 8px;position:relative;overflow:hidden}.visual-grid{position:absolute;inset:0;background-image:linear-gradient(#fff5 1px,transparent 1px),linear-gradient(90deg,#fff5 1px,transparent 1px);background-size:45px 45px;transform:rotate(-12deg) scale(1.5)}.visual-ring{position:absolute;border:1px solid #9dbf9b;border-radius:50%;transform:rotate(-25deg)}.ring-one{width:340px;height:240px;top:80px;left:80px}.ring-two{width:265px;height:170px;top:115px;left:120px}.visual-spark,.visual-pin,.visual-dot{position:absolute;display:grid;place-items:center;border-radius:50%;box-shadow:0 8px 20px #486b4820}.visual-spark{background:#345f49;color:white;width:65px;height:65px;font-size:32px;top:65px;left:23%}.visual-pin{background:#e4aa8b;color:white;width:48px;height:48px;right:22%;top:155px}.visual-dot{background:#f7f6ed;color:#94a882;width:42px;height:42px;left:32%;bottom:92px}.visual-card{position:absolute;right:12%;bottom:65px;background:#fff;padding:17px 20px;display:flex;align-items:center;gap:13px;border-radius:5px;box-shadow:0 12px 30px #5474521a;min-width:235px}.visual-card-icon{background:#eaf0e2;border-radius:50%;padding:12px;font-size:20px}.visual-card small,.visual-card strong{display:block}.visual-card small{font-size:8px;letter-spacing:.1em;color:#9aab98}.visual-card strong{font-size:13px;margin-top:5px}.visual-card p{font-size:10px;color:#a4aaa0;margin:5px 0 0}.visual-caption{position:absolute;bottom:19px;left:23px;right:23px;color:#78977c;font-size:9px;letter-spacing:.1em}.visual-caption span{float:right}.hero-bottom{position:absolute;bottom:25px;left:0;right:0;display:flex;justify-content:space-between;color:#a5aea2;font-size:9px;letter-spacing:.08em}.hero-bottom span span{font-size:15px;margin-left:10px}.explore{background:#eef1e9;padding:100px 0 110px}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section-top h2{font-size:38px;margin:15px 0 10px}.section-top p:not(.eyebrow){font-size:13px;color:#879289}.section-number{font-size:9px;color:#a0aaa0;letter-spacing:.1em}.map-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:18px}.map-card,.archive-card{background:#fff;border:1px solid #e5eadf;border-radius:8px;overflow:hidden}.map-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:27px 30px}.map-kicker,.archive-number{font-size:9px;letter-spacing:.13em;color:#92a391;font-weight:700}.map-head h3{font-size:19px;margin:9px 0 5px;letter-spacing:-.04em}.map-head p{margin:0;color:#9ba69b;font-size:11px}.change-button{background:white;border:1px solid #dce5d8;border-radius:4px;padding:11px 14px;font-size:11px;color:var(--green);font-weight:700;white-space:nowrap}.change-button span{margin-left:10px}.map-stage{height:370px;background:#f5f8f2;display:grid;place-items:center;position:relative;overflow:hidden}.map-stage::before{content:'';position:absolute;inset:0;background-image:radial-gradient(#c6d5c3 1px,transparent 1px);background-size:19px 19px;opacity:.35}.map-empty{text-align:center;position:relative}.map-empty span{display:grid;place-items:center;margin:0 auto 15px;width:51px;height:51px;border-radius:50%;background:#e1ebd9;color:#719675;font-size:27px}.map-empty strong{font-size:14px}.map-empty p{color:#9aa99a;line-height:1.8;font-size:11px}.map-stage svg{height:90%;width:90%;position:relative}.map-stage svg[hidden],.map-empty[hidden],.map-error[hidden]{display:none}.region-other{fill:#dce8d0;stroke:#f8fbf5;stroke-width:1}.region-selected{fill:#487c59;stroke:#fff;stroke-width:1.5}.map-error{position:absolute;bottom:10px;background:#fff;color:#9b554b;padding:10px;font-size:12px}.map-foot{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:17px 25px;font-size:10px;color:#9ca99b}.map-foot a{text-decoration:underline}.legend{display:flex;gap:16px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:50%;background:#487c59}.legend .legend-other{background:#dce8d0}.archive-card{padding:28px;display:flex;flex-direction:column;justify-content:space-between}.archive-number{display:flex;justify-content:space-between}.archive-number span{color:#86a885;font-size:20px}.archive-card h3{font-size:25px;line-height:1.4;letter-spacing:-.06em;margin:34px 0 13px}.archive-card>div>p{font-size:12px;line-height:1.9;color:#94a093}.category-list{margin:30px 0 20px}.category-list div{border-bottom:1px solid #edf0e9;display:flex;align-items:center;padding:14px 0;gap:15px}.category-list div span{font-size:10px;color:#b6c2b3}.category-list div span:last-child{margin-left:auto}.category-list strong{font-size:12px}.archive-card>small{color:#a6b1a3;font-size:10px}.about{padding:115px 0;position:relative}.about h2{font-size:38px}.about>p:last-of-type{color:#8f9a8e;font-size:13px}.about>span{position:absolute;right:8%;top:100px;font-size:110px;color:#dae6d2}footer{background:#293c30;color:#f1f5e9;padding:35px 0}.footer-inner{display:flex;align-items:center;gap:35px}.footer-inner .brand-icon{background:#769878}.footer-inner p{font-size:11px;color:#abbba9}.footer-inner>small{margin-left:auto;font-size:9px;letter-spacing:.1em;color:#a1b09e}
dialog{border:0;border-radius:10px;padding:30px;width:min(660px,calc(100% - 28px));max-height:min(720px,90vh);box-shadow:0 20px 80px #172c2080;color:var(--ink)}dialog::backdrop{background:#1b2d22a6}.dialog-head{display:flex;justify-content:space-between}.dialog-head h2{font-size:25px;letter-spacing:-.05em;margin:12px 0 7px}.dialog-head>div>p:last-child{font-size:12px;color:#94a093}.close-button{border:0;background:#f2f5ef;border-radius:50%;width:34px;height:34px;font-size:23px;color:#778b78}.picker-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:25px}.picker-columns section{min-width:0}.picker-columns h3{font-size:12px;margin:0 0 10px}.picker-columns h3 span{color:#8cac85;margin-right:5px}.picker-list{height:260px;overflow:auto;border:1px solid #e5ebe1;border-radius:5px;padding:5px}.picker-list button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:4px;font-size:12px;color:#536356}.picker-list button:hover{background:#f2f6ef}.picker-list button.is-selected{background:#e2eddb;color:#315f49;font-weight:700}.list-placeholder{font-size:11px;color:#a6b2a5;padding:8px}.dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px}.dialog-footer>span{font-size:12px;color:#829480}.dialog-footer button{border:0;border-radius:4px;background:var(--green);color:white;padding:13px 18px;font-weight:700;font-size:12px}.dialog-footer button span{margin-left:15px}@media(max-width:760px){.wrap,.site-header{width:calc(100% - 36px)}.site-header{height:68px}.hero{grid-template-columns:1fr;gap:35px;padding:65px 0 80px}.hero h1{font-size:42px}.hero-visual{height:330px}.ring-one{left:20%;top:60px;width:60%;height:190px}.ring-two{left:27%;top:90px;width:45%;height:130px}.visual-card{right:8%;bottom:45px}.hero-bottom{font-size:8px}.explore{padding:70px 0}.section-top{align-items:start}.section-top h2{font-size:29px}.section-number{display:none}.map-layout{grid-template-columns:1fr}.map-head{padding:20px}.map-stage{height:330px}.archive-card h3{margin-top:24px}.about{padding:80px 0}.about h2{font-size:30px}.about>span{font-size:60px;right:0;top:65px}.footer-inner{flex-wrap:wrap;gap:10px 25px}.footer-inner>small{width:100%;margin-left:0}.picker-columns{gap:8px}dialog{padding:22px}.picker-list{height:240px}.dialog-footer>span{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{scroll-behavior:auto!important}}

/* 지역 지도에 화면을 집중합니다. */
.map-layout{grid-template-columns:1fr}.map-stage{height:clamp(400px,60vh,650px)}.map-stage svg{width:100%;height:100%}
@media(max-width:760px){.map-stage{height:440px}}

/* Editorial atlas: generous type, paper tones and a single map-first action. */
:root{--ink:#263b31;--muted:#67776b;--green:#244d3d;--paper:#f4f1e7;--line:#d9ded0}
body{background:var(--paper);color:var(--ink)}
.site-header{height:82px;border-color:#cdd3c6}.brand{letter-spacing:-.04em}.brand-icon{border-radius:10px;background:#244d3d}.header-index{font-size:9px;letter-spacing:.16em;color:#65796a;font-weight:700}.header-index span{padding:0 12px;color:#c26b4d}
.hero{min-height:650px;grid-template-columns:1.07fr .93fr;gap:5%;padding:60px 0 85px}.hero h1{font-size:clamp(48px,5.35vw,76px);line-height:1.22;letter-spacing:-.075em;margin:28px 0}.hero h1 em{color:#ad6046}.hero-description{color:#65746a;font-size:14px}.eyebrow{color:#697e6d}.eyebrow>span{background:#bf7356}.location-button{background:#264d3d;border-radius:3px;box-shadow:none;padding:19px 22px;transition:background .2s,transform .2s}.location-button:hover{background:#39705a;transform:translateY(-2px)}.location-note{color:#718276}.hero-bottom{border-top:1px solid #d4dbce;padding-top:17px;color:#798a7b}
.hero-visual{height:440px;border-radius:2px;background:#dfe6d5;overflow:hidden;border:1px solid #d3ddca}.visual-topline{position:absolute;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;color:#637d68;font-size:8px;letter-spacing:.13em;font-weight:700}.atlas-art{position:absolute;width:320px;height:320px;left:50%;top:48%;transform:translate(-50%,-50%);border:1px solid #a8bda3;border-radius:50%;background:#eaf0df}.atlas-orbit{position:absolute;border:1px solid #b6c9af;border-radius:50%;inset:27px}.atlas-orbit-two{inset:58px}.atlas-land{position:absolute;background:#a4bf99;opacity:.85;filter:drop-shadow(0 2px 0 #ffffff70)}.land-one{width:145px;height:190px;left:67px;top:49px;border-radius:54% 38% 49% 43%;transform:rotate(29deg)}.land-two{width:108px;height:115px;right:52px;bottom:55px;border-radius:53% 43% 57% 38%;transform:rotate(-20deg);background:#bfd0ad}.atlas-star{position:absolute;top:73px;left:122px;font-size:40px;color:#325c44}.atlas-cross{position:absolute;right:88px;top:128px;font-size:31px;color:#bc7050}.atlas-point{position:absolute;left:95px;bottom:81px;color:#bc7050;font-size:13px}.atlas-label{position:absolute;right:18px;bottom:58px;background:#f9f7ee;padding:16px 20px;display:flex;align-items:end;gap:22px;border:1px solid #d4dfcc;box-shadow:6px 6px 0 #b4c9ac}.atlas-label>span{font-size:20px;line-height:1;letter-spacing:-.05em;font-weight:800}.atlas-label small{font-size:9px;line-height:1.6;color:#748777}.visual-caption{left:24px;right:24px;color:#748b76;font-weight:700;font-size:8px}
.explore{background:#e5e9de;padding:96px 0 110px}.section-top h2{font-size:clamp(31px,3.2vw,43px);letter-spacing:-.06em}.section-top h2 em{color:#ad6046}.section-top p:not(.eyebrow){color:#607465}.section-number{color:#728675}.map-card{border-radius:3px;border:1px solid #cad6c8}.map-head{padding:28px 32px}.map-kicker{color:#738b76}.map-head h3{font-size:23px}.map-head p{color:#718476}.change-button{border-color:#aebfac;border-radius:2px;padding:12px 16px}.change-button:hover{background:#edf3e9}.map-stage{background:#edf2e8}.map-stage::before{opacity:.25}.region-other{fill:#d1dec9}.region-selected{fill:#3e7252}.map-foot{color:#687e6d}.legend i{background:#3e7252}.legend .legend-other{background:#d1dec9}.map-foot a{color:#516c57}
dialog{background:#f8f7ef;border-radius:4px}.picker-list{background:#fff;border-color:#d4ded1}.picker-list button{font-size:13px}.picker-list button.is-selected{background:#dcead8}.dialog-footer button{border-radius:2px}footer{background:#263e31}.footer-inner p,.footer-inner>small{color:#c1d0be}
@media(max-width:760px){.header-index{font-size:8px}.header-index span{padding:0 5px}.hero{grid-template-columns:1fr;gap:30px;padding:55px 0 78px}.hero h1{font-size:clamp(41px,10vw,58px)}.hero-visual{height:330px}.atlas-art{width:250px;height:250px}.land-one{transform:scale(.78) rotate(29deg);transform-origin:top left;left:58px;top:38px}.land-two{transform:scale(.78) rotate(-20deg);transform-origin:bottom right;right:42px;bottom:45px}.atlas-star{left:95px;top:55px}.atlas-cross{right:65px;top:99px}.atlas-point{left:72px;bottom:65px}.atlas-label{right:15px;bottom:45px;padding:11px 14px}.atlas-label>span{font-size:16px}.explore{padding:65px 0 75px}.map-head{padding:20px}.map-head h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){.location-button{transition:none}.location-button:hover{transform:none}}

/* 선택 전 화면과 지도 화면은 별도로 보여줍니다. */
[hidden]{display:none!important}.hero-copy{position:relative;z-index:1}.hero-description{margin-bottom:8px}.location-scene{position:relative;min-height:240px;display:flex;align-items:center;justify-content:center;isolation:isolate}.location-button{position:relative;z-index:1;margin:0;border-radius:16px;min-width:240px;text-align:center;font-size:16px;padding:20px 28px}.floating-regions{position:absolute;inset:0;pointer-events:none;overflow:hidden}.floating-regions span{position:absolute;color:#607c67;opacity:.18;font-size:clamp(14px,1.7vw,21px);font-weight:700;animation:region-float 7s ease-in-out infinite alternate}.floating-regions span:nth-child(1){left:4%;top:15%}.floating-regions span:nth-child(2){left:38%;top:5%;animation-delay:-2s}.floating-regions span:nth-child(3){right:5%;top:22%;animation-delay:-4s}.floating-regions span:nth-child(4){left:7%;bottom:14%;animation-delay:-3s}.floating-regions span:nth-child(5){left:42%;bottom:5%;animation-delay:-1s}.floating-regions span:nth-child(6){right:3%;bottom:18%;animation-delay:-5s}.location-note{text-align:center;margin-top:0}.back-button{border:0;background:transparent;padding:0;margin:0 0 30px;color:#456752;font-weight:700;font-size:13px}.explore:not([hidden]){animation:map-appear .55s ease both}.region-selected{filter:drop-shadow(0px 3px 1px rgba(35,65,45,.24)) drop-shadow(0px 6px 5px rgba(35,65,45,.13));stroke:#e7f2e2;stroke-width:1.5}.hero-bottom{gap:10px}
@keyframes map-appear{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes region-float{from{transform:translateY(-5px)}to{transform:translateY(7px)}}
@media(max-width:760px){.hero{padding-top:35px}.location-scene{min-height:210px}.hero-description{font-size:13px}.hero-visual{height:280px}.back-button{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){.floating-regions span,.explore:not([hidden]){animation:none}}

/* 메인 화면은 지역 선택에 집중하고, 선택한 경계만 살짝 떠 보이게 합니다. */
.hero{grid-template-columns:1fr;justify-items:center;text-align:center}.hero-copy{width:min(620px,100%)}.hero-copy>.eyebrow{justify-content:center}.region-selected-group{filter:drop-shadow(0 1px 0 #345e43) drop-shadow(0 2px 0 #345e43) drop-shadow(0 3px 0 #345e43) drop-shadow(0 5px 4px rgba(35,65,45,.25))}.region-selected{fill:url(#selected-gradient);filter:none;stroke:#dcebd9;stroke-width:1.2}
.region-selected-group{filter:drop-shadow(0 4px 4px rgba(35,65,45,.2))}.region-side{fill:#325a41;stroke:#325a41;stroke-width:1;stroke-linejoin:round}.footer-inner>small a{text-decoration:underline}
.auth-header{display:flex;gap:12px;align-items:center}.auth-header-button{border:1px solid #9aaf9e;background:transparent;border-radius:8px;padding:10px 16px;color:#244d3d;font-size:13px;font-weight:700}.auth-header-button:hover{background:#e2eadc}#auth-user{font-size:13px;color:#315742;font-weight:700}#auth-dialog{width:min(430px,calc(100% - 28px));padding:30px}.auth-dialog-head{display:flex;align-items:start;justify-content:space-between}.auth-dialog-head h2{font-size:26px;letter-spacing:-.05em;margin:14px 0 26px}#auth-form label{display:block;font-size:12px;font-weight:700;margin:0 0 17px}#auth-form input{display:block;margin-top:8px;width:100%;height:46px;padding:0 12px;border:1px solid #cbd7ca;border-radius:6px;background:white;color:#263b31;font:inherit}#auth-form input:focus-visible{outline:2px solid #5e8c6b;outline-offset:1px}.auth-error{color:#a14234;font-size:12px;min-height:1.2em}.auth-submit{width:100%;background:#264d3d;color:white;border:0;border-radius:7px;padding:15px;font-weight:700}.auth-switch-text{text-align:center;font-size:12px;color:#687c6b;margin:20px 0 0}.auth-switch-text button{border:0;background:none;color:#315d43;font-weight:700;text-decoration:underline}
/* 지도 실루엣과 동기화된 지역 바로가기 */
.hero{min-height:590px;align-items:start;padding-top:45px}.hero-copy{width:min(720px,100%)}.location-scene{min-height:350px;position:relative}.featured-map{position:absolute;inset:0;width:100%;height:100%;fill:#708c77;opacity:.15;pointer-events:none}.location-button{font-size:clamp(20px,2.5vw,27px);min-width:min(390px,90%);padding:25px 34px;border-radius:18px;box-shadow:0 6px 0 #173e2d,0 14px 25px #25433338;transform:translateY(-20px)}.location-button:hover{transform:translateY(-23px);box-shadow:0 8px 0 #173e2d,0 18px 28px #25433340}.location-button:active{transform:translateY(-16px);box-shadow:0 2px 0 #173e2d,0 7px 12px #25433330}.featured-link{border:0;background:transparent;color:#486751;font-size:15px;padding:12px;cursor:pointer;max-width:100%}.featured-link:hover{text-decoration:underline}.featured-dial{display:block;height:1.7em;overflow:hidden}.featured-dial-item{display:block;animation:dial-up .35s ease both}.featured-dial-item strong{font-weight:800}.featured-link:disabled{opacity:.5}.featured-link:focus-visible{outline:3px solid #d99c65;outline-offset:3px}@keyframes dial-up{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:760px){.hero{min-height:520px;padding-top:25px}.location-scene{min-height:320px}.location-button{font-size:21px;padding:22px 24px;min-width:min(350px,90%)}.featured-link{font-size:14px}}@media(prefers-reduced-motion:reduce){.featured-dial-item{animation:none}.location-button,.location-button:hover,.location-button:active{transform:translateY(-20px)}}

.featured-map{transform:scale(1.4)}

/* 배경 지도를 메인 영역에 가두고 선택 버튼을 한 묶음으로 배치합니다. */
.location-scene{overflow:hidden;min-height:460px}.featured-map{transform:scale(1.8)}.location-actions{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.location-button,.location-button:hover,.location-button:active{transform:none}.location-actions .header-index{display:block;margin-top:8px}.featured-link{position:relative}@media(max-width:760px){.location-scene{min-height:400px}.featured-map{transform:scale(1.65)}}@media(prefers-reduced-motion:reduce){.location-button,.location-button:hover,.location-button:active{transform:none}}
.location-scene{min-height:560px}.featured-map{transform:none}@media(max-width:760px){.location-scene{min-height:480px}.featured-map{transform:none}}

.change-button{border-radius:10px}.dialog-footer{justify-content:flex-end}
.map-head{gap:18px;flex-wrap:wrap}.place-views{display:flex;gap:6px;flex-wrap:wrap}.place-view{border:1px solid #d8e1d7;border-radius:9px;background:#fff;padding:10px 13px;font-size:12px;color:#526c59;font-weight:700}.place-view.is-active{background:#e2eddf;border-color:#aac2ab;color:#244d3d}.place-legend{position:absolute;z-index:2;top:16px;right:16px;margin:0;padding:9px 12px 12px;border:1px solid #d5dfd1;border-radius:10px;background:#fffffff2;color:#31523e;box-shadow:0 4px 14px #35504017;font-size:11px}.place-legend legend{font-weight:700}.place-legend label{display:block;padding:3px 0}.place-legend input{accent-color:#315f49}.place-search-box{position:absolute;z-index:2;right:16px;bottom:16px}.place-search-box button{border:1px solid #cad8c9;border-radius:10px;padding:13px 18px;background:#fff;color:#315f49;font-weight:700;box-shadow:0 4px 14px #35504017}.place-status{margin:0;padding:14px 20px;color:#667c6a;font-size:12px}.map-layout{gap:0}@media(max-width:760px){.map-head{align-items:flex-start;flex-direction:column}.place-views{width:100%}.place-view{font-size:11px;padding:8px}.place-legend{top:10px;right:10px}.place-search-box{right:10px;bottom:10px}}
#place-dialog{width:min(620px,calc(100% - 28px));padding:26px}#place-dialog h2{margin:0 0 8px;font-size:24px}#place-dialog .auth-dialog-head p{font-size:12px;color:#637867}#place-search-form{margin-top:20px}#place-search-form>label{font-size:12px;font-weight:700}.place-search-row{display:flex;gap:8px;margin-top:8px}.place-search-row input,.place-save-form input:not([type=checkbox]){min-width:0;flex:1;border:1px solid #c9d8c9;border-radius:7px;padding:11px;font:inherit}.place-search-row button,.place-save-form button{border:0;border-radius:7px;padding:10px 15px;background:#315f49;color:#fff;font-weight:700}.place-search-results,.saved-places{list-style:none;padding:0;margin:0}.place-search-results{max-height:45vh;overflow:auto}.place-search-results li{border-top:1px solid #dbe3d8;padding:14px 0}.place-search-results strong{font-size:14px}.place-search-results p,#place-search-status{font-size:12px;color:#65796a;line-height:1.6}.place-save-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.place-save-form label{font-size:12px;white-space:nowrap}.place-save-form input[type=checkbox]{accent-color:#315f49}.saved-places{padding:0 20px}.saved-places li{display:flex;align-items:center;gap:15px;padding:9px 0;border-top:1px solid #dbe3d8;font-size:13px}.saved-places a,.place-attribution a{text-decoration:underline}.saved-places button{margin-left:auto;background:transparent;border:0;color:#7d4b40;text-decoration:underline}.place-attribution{font-size:11px;color:#65796a;padding:0 20px 12px}#place-dialog .place-attribution{padding:8px 0 0}.place-status{line-height:1.6}
.place-search-results mark{background:transparent;color:#2875c7;font-weight:800}.place-search-results li{transition:background-color .15s}.place-search-results li:focus-within{background:#f2f6ef}.place-save-form input:not([type=checkbox]){min-width:150px}
.map-zoom{position:absolute;z-index:3;top:16px;left:16px;display:flex;flex-direction:column;border:1px solid #cddbcf;border-radius:9px;background:#fff;box-shadow:0 4px 14px #35504017;overflow:hidden}.map-zoom button{width:39px;height:39px;border:0;background:#fff;color:#315f49;font-size:20px;font-weight:700}.map-zoom button+button{border-top:1px solid #e4ebe2}.map-zoom button:hover{background:#edf4eb}.place-marker{cursor:pointer;outline:none}.marker-tooltip{position:absolute;z-index:4;transform:translateX(-50%);padding:7px 10px;border-radius:7px;background:#263e31;color:white;font-size:12px;font-weight:700;white-space:nowrap;pointer-events:none;box-shadow:0 4px 14px #172b1b33}.place-detail{position:absolute;z-index:5;left:50%;top:16px;transform:translateX(-50%);width:min(330px,calc(100% - 130px));background:#fff;border:1px solid #d1dfd0;border-radius:12px;box-shadow:0 8px 25px #1f3e282b;padding:18px;color:#263b31}.place-detail strong{display:block;padding-right:25px;font-size:16px}.place-detail p{font-size:12px;line-height:1.5;color:#5b7161;margin:9px 0}.place-detail a{font-size:12px;color:#315f49;font-weight:700;text-decoration:underline}.place-detail small{display:block;margin-top:12px;color:#778b79;font-size:10px}.place-detail-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:22px;color:#647b68}@media(max-width:760px){.map-zoom{top:10px;left:10px}.place-detail{top:auto;bottom:70px;width:min(330px,calc(100% - 30px))}}

.place-marker{transform:none;transition:none}.place-marker:hover,.place-marker:focus-visible{transform:none}.marker-icon{transform-box:fill-box;transform-origin:center;transition:transform .16s ease}.place-marker:hover .marker-icon,.place-marker:focus-visible .marker-icon{transform:scale(1.15)}@media(prefers-reduced-motion:reduce){.marker-icon{transition:none}}
.neighborhood-border{stroke-width:.65;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}.neighborhood-selected{fill:#507f60;stroke:#e7f1e4;stroke-opacity:.55}.neighborhood-other{fill:#d1dec9;stroke:#aec4ad;stroke-opacity:.55}#neighborhood-labels{pointer-events:none}#neighborhood-labels text{font-family:'Noto Sans KR',sans-serif;font-weight:600;fill:#e5eee0;paint-order:stroke;stroke:#395747;stroke-opacity:.45;stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke}
#region-map{touch-action:none;cursor:grab}#region-map.is-panning{cursor:grabbing}#region-map .place-marker{cursor:pointer}
/* Account and personal archive */
#auth-form select,#mypage-dialog input:not([type=file]),#mypage-dialog select{width:100%;padding:12px;border:1px solid #c9d5c4;border-radius:8px;background:#fff;font:inherit}
#auth-form select{padding:12px;border:1px solid #c9d5c4;border-radius:8px;font:inherit}#auth-form label[hidden]{display:none}#auth-form .remember-label{display:flex;align-items:center;gap:8px;font-size:.9rem}#auth-form .remember-label input{width:auto}
.mypage-dialog{width:min(660px,calc(100% - 32px));max-height:90vh;overflow:auto;border:0;border-radius:18px;padding:28px;background:#fafaf5;color:#213f30}.mypage-dialog::backdrop{background:rgba(20,38,28,.5)}.mypage-tabs,.category-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.mypage-tabs button,.category-tabs button,.avatar-editor button,.avatar-upload,.mypage-place-list button{border:1px solid #c8d8c5;background:white;border-radius:9px;padding:9px 13px;color:#315d42;cursor:pointer;font:inherit}.mypage-tabs [aria-pressed=true],.category-tabs [aria-pressed=true],.mypage-place-list button[aria-pressed=true]{background:#dcebd9;border-color:#85ad8d}.mypage-dialog form>label{display:block;margin:15px 0;font-weight:600}.mypage-dialog form>label input,.mypage-dialog form>label select{display:block;margin-top:7px}.avatar-editor{display:flex;align-items:center;gap:16px;margin:20px 0}.avatar-editor img,.avatar-editor>span{width:72px;height:72px;border-radius:50%;object-fit:cover;background:#dcebd9;display:grid;place-items:center;font-size:32px}.avatar-editor img[hidden],.avatar-editor>span[hidden]{display:none}.avatar-upload{display:inline-block}.avatar-upload input{position:absolute;width:1px;height:1px;opacity:0}.mypage-note,#profile-username-hint{font-size:.85rem;color:#617a68}.mypage-place-list{list-style:none;padding:0}.mypage-place-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #e2eadf}.mypage-place-list a{color:#264f36;font-weight:700}.mypage-place-list small{display:block;color:#687f6c;margin-top:5px}.mypage-status,#password-status{min-height:1.2em;color:#315d42}.mypage-dialog [hidden]{display:none!important}

/* Design system: quiet surfaces and clear controls around the existing map. */
:root{--ink:#203b30;--muted:#526b5c;--green:#234f3e;--paper:#f6f4ec;--line:#d8e1d5;--surface:#fffefa}
body{background:var(--paper);color:var(--ink)}
.site-header{height:76px;border-color:#dce2d6}
.brand{gap:11px;font-size:17px;letter-spacing:-.04em}.brand-icon{width:38px;height:38px;border-radius:12px;background:#244d3d}.brand small{color:#62796a;letter-spacing:.11em}
.auth-header-button{min-height:42px;padding:10px 16px;background:transparent;border-color:#b8c9ba;color:#254d3c}.auth-header-button:hover{background:#e7eee3}
.hero{min-height:calc(100svh - 76px);padding:0;align-items:center}.hero-copy{width:100%}.location-scene{min-height:min(620px,calc(100svh - 76px));display:grid;place-items:center}.featured-map{opacity:.14}.location-actions{gap:14px}.location-button{min-width:min(390px,90%);padding:25px 32px;border-radius:16px;box-shadow:0 8px 24px #29493624;font-size:clamp(21px,2.3vw,27px);text-align:center;letter-spacing:-.04em}.location-button:hover{box-shadow:0 12px 28px #29493630}.featured-link{color:#456a52;font-size:14px;font-weight:700;padding:10px 16px;border-radius:8px}.featured-link:hover{background:#e5ebdf;text-decoration:none}
.explore{padding:48px 0 72px;background:#edf1e8}.explore-inner{width:min(1280px,calc(100% - 64px))}.back-button{margin-bottom:20px;color:#52715c;font-weight:700}.section-top{margin-bottom:22px}.section-top h2{margin:0;font-size:clamp(28px,3vw,40px);letter-spacing:-.055em;color:#203b30}.map-card{border:1px solid #d9e2d6;border-radius:18px;background:var(--surface);box-shadow:0 14px 40px #324f3810}.map-head{padding:18px 20px;gap:14px}.change-button{min-height:42px;border-radius:10px;border-color:#c7d6c5;padding:10px 15px;font-size:13px;color:#315942}.change-button:hover{background:#f1f6ee}.place-views{padding:4px;gap:2px;border:1px solid #e1e9de;border-radius:12px;background:#f1f5ee}.place-view{min-height:38px;border:1px solid transparent;background:transparent;border-radius:8px;padding:9px 13px;font-size:12px;color:#526d5b}.place-view:hover{background:#e8f0e4}.place-view.is-active{background:#fff;border-color:#d4e0d1;color:#204c39;box-shadow:0 2px 6px #36534114}.map-stage{height:clamp(480px,65vh,720px);background:#eaf0e4}.map-stage::before{opacity:.2}.map-zoom,.place-legend{border-color:#d3dfd0;box-shadow:0 5px 18px #294b321a}.map-zoom{top:18px;left:18px;border-radius:11px}.map-zoom button{width:42px;height:42px}.place-legend{top:18px;right:18px;padding:10px 13px 12px;border-radius:12px;font-size:12px}.place-legend legend{padding:0 3px;color:#355a42}.place-legend label{padding:4px 0}.place-search-box{right:18px;bottom:18px}.place-search-box button{min-height:46px;padding:12px 19px;border-color:#214c39;background:#244f3d;color:white;box-shadow:0 5px 16px #254b3426}.place-search-box button:hover{background:#193e2f}.place-detail{border-radius:14px;padding:20px;box-shadow:0 12px 30px #1f3e2826}.place-detail strong{font-size:17px}.place-detail p{font-size:13px;color:#526b59}.place-results{background:transparent}.place-status{padding:16px 8px 4px;color:#4f6957;font-size:13px}.saved-places{padding:0 8px}.place-attribution{padding:10px 8px;color:#62776a}
dialog,#place-dialog,#auth-dialog,.mypage-dialog{background:#fffefa;border:1px solid #e0e7db;border-radius:18px;box-shadow:0 24px 80px #162d2052;color:#203b30}dialog::backdrop{background:#14291db3}.dialog-head h2,#place-dialog h2,.auth-dialog-head h2{letter-spacing:-.05em;color:#203b30}.dialog-head>div>p:last-child,#place-dialog .auth-dialog-head p{color:#5d7464;font-size:13px}.close-button{width:40px;height:40px;background:#f0f4ed;color:#436650}.close-button:hover{background:#e2ebe0}.picker-columns{gap:18px;margin-top:24px}.picker-columns h3{font-size:13px;color:#355a43}.picker-list{height:270px;border-color:#dce6d9;border-radius:10px;background:#fafbf7;padding:6px}.picker-list button{min-height:42px;border-radius:7px;font-size:13px;color:#405d4a}.picker-list button.is-selected{background:#dcebd9;color:#1f5139;box-shadow:inset 3px 0 #376c49}.dialog-footer button,.auth-submit,.place-search-row button,.place-save-form button{min-height:44px;border-radius:9px;background:#244f3d;color:#fff}.dialog-footer button{padding:12px 20px;font-size:13px}.place-search-row input,#auth-form input:not([type=checkbox]),#auth-form select,#mypage-dialog input:not([type=file]),#mypage-dialog select{min-height:46px;border:1px solid #c9d8c8;border-radius:9px;background:#fff;font-size:14px}.place-search-results li{padding:16px 2px}.place-search-results strong{font-size:15px;color:#234632}.place-search-results p,#place-search-status{font-size:13px;color:#526d5a}.mypage-tabs,.category-tabs{gap:5px}.mypage-tabs button,.category-tabs button{min-height:42px}.mypage-tabs [aria-pressed=true],.category-tabs [aria-pressed=true]{font-weight:800;border-color:#6e9878;color:#214c35}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bf7742;outline-offset:3px}
@media(max-width:760px){.site-header{height:68px}.hero{min-height:calc(100svh - 68px)}.location-scene{min-height:calc(100svh - 68px)}.location-button{min-width:min(350px,90%);padding:22px 24px}.explore{padding:28px 0 48px}.explore-inner{width:calc(100% - 28px)}.back-button{margin-bottom:16px}.section-top{margin-bottom:16px}.section-top h2{font-size:29px}.map-card{border-radius:14px}.map-head{padding:14px;gap:12px}.place-views{width:100%;display:flex}.place-view{flex:1;min-width:0;padding:9px 5px;font-size:11px}.map-stage{height:clamp(440px,65vh,620px)}.map-zoom{top:12px;left:12px}.map-zoom button{width:42px;height:42px}.place-legend{top:12px;right:12px;font-size:11px}.place-search-box{right:12px;bottom:12px}.picker-columns{gap:10px}.picker-list{height:min(270px,36vh)}dialog,#place-dialog,#auth-dialog,.mypage-dialog{padding:22px}.place-detail{bottom:72px;top:auto}}
@media(prefers-reduced-motion:reduce){.location-button,.featured-link{transition:none}}

/* Editorial atlas: bold type, warm paper and a cobalt map silhouette. */
:root{--ink:#19272a;--muted:#596a69;--green:#183a42;--paper:#f4f0e7;--line:#c9cfc5;--surface:#fbfaf6}
body{background:var(--paper);color:var(--ink);font-family:'Noto Sans KR',-apple-system,BlinkMacSystemFont,sans-serif}
.site-header{position:relative;width:min(1440px,calc(100% - 112px));height:86px;border-bottom:1px solid #c9cfc5}.brand{gap:12px;font-size:18px;letter-spacing:-.06em}.brand-icon{width:38px;height:38px;border-radius:50%;background:#1f3e47;color:#f5eddf;font-size:24px}.brand small{color:#6f7771;font-size:8px;letter-spacing:.14em}.auth-header-button{border:1px solid #273e41;border-radius:99px;padding:9px 20px;color:#1c3439;background:transparent;font-size:13px}.auth-header-button:hover{background:#1c3439;color:#fff}
.hero.wrap{width:min(1440px,calc(100% - 112px));min-height:calc(100svh - 86px);padding:0}.hero-copy{width:100%}.location-scene{min-height:clamp(560px,calc(100svh - 86px),850px);display:flex;justify-content:flex-start;align-items:center;overflow:hidden;isolation:isolate}.location-scene::before{content:'';position:absolute;z-index:-2;right:2%;top:12%;width:min(52vw,680px);aspect-ratio:1;border-radius:50%;background:#dce5df}.location-scene::after{content:'';position:absolute;z-index:-1;right:5%;top:17%;width:min(46vw,600px);aspect-ratio:1;border:1px solid #b9c9c2;border-radius:50%}.featured-map{inset:10% 1% 10% auto;width:54%;height:80%;fill:#2860d8;opacity:1;transform:none;z-index:0}.location-actions{align-items:flex-start;gap:25px;width:min(53%,630px);z-index:1}.location-button{position:relative;width:100%;min-width:0;padding:0 0 30px;border:0;border-bottom:2px solid #1e373a;border-radius:0;background:transparent;box-shadow:none;color:#182d31;text-align:left;font-size:clamp(42px,5.6vw,78px);line-height:1.18;letter-spacing:-.075em;word-break:keep-all}.location-button::after{content:'↗';display:block;position:absolute;right:0;bottom:24px;width:54px;height:54px;line-height:52px;text-align:center;border:1px solid #1d3c40;border-radius:50%;font-size:27px;letter-spacing:0}.location-button:hover{background:transparent;box-shadow:none;color:#285ac1}.location-button:hover::after{background:#285ac1;color:#fff;border-color:#285ac1}.featured-link{padding:0;color:#435b58;font-size:15px;text-align:left;border-radius:0}.featured-link:hover{background:transparent;color:#285ac1;text-decoration:underline;text-underline-offset:6px}.featured-dial{height:1.8em}
.explore{background:#eceee7;padding:40px 0 72px}.explore-inner{width:min(1440px,calc(100% - 112px))}.back-button{margin-bottom:25px;color:#4c6765;font-size:13px}.section-top{margin-bottom:24px}.section-top h2{font-size:clamp(31px,3.3vw,48px);font-weight:750;letter-spacing:-.065em;color:#1d3438}.map-card{border:1px solid #c7d1cb;border-radius:4px;background:#faf9f3;box-shadow:none}.map-head{padding:15px 18px;gap:14px}.change-button{border:1px solid #b7c5c0;border-radius:3px;padding:10px 15px;color:#1f4448;background:transparent}.change-button:hover{background:#e7eee9}.place-views{padding:0;border:0;background:transparent;border-radius:0;gap:3px}.place-view{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#637775;padding:11px 14px}.place-view:hover{background:#eff2ed}.place-view.is-active{border:0;border-bottom:2px solid #285ac1;border-radius:0;background:transparent;color:#1c3f60;box-shadow:none}.map-stage{background:#e2e9e4}.map-stage::before{opacity:.15}.region-other{fill:#d4e0d9;stroke:#f5f6ef}.region-selected{fill:#4d7e86}.neighborhood-selected{fill:#4d7e86;stroke:#e9f0ea}.neighborhood-other{fill:#d4e0d9;stroke:#b7cbc2}.map-zoom,.place-legend{border:1px solid #c5d2ca;border-radius:3px;background:#fbfaf5;box-shadow:0 3px 12px #28423b14}.map-zoom button{background:#fbfaf5;color:#244e50}.place-legend{border-radius:3px;font-size:12px;color:#263f3d}.place-legend legend{color:#2b4644}.place-legend input{accent-color:#285ac1}.place-search-box button{border:0;border-radius:3px;background:#285ac1;color:#fff;box-shadow:0 4px 15px #1d3f852b}.place-search-box button:hover{background:#17459f}.place-detail{border-radius:4px;border-color:#c5d2ca;background:#fbfaf5;color:#203b3b}.place-detail strong{color:#17363c}.place-status,.place-attribution{color:#526b65}
dialog,#place-dialog,#auth-dialog,.mypage-dialog{border:1px solid #c5d2ca;border-radius:5px;background:#fbfaf5;color:#1b3738;box-shadow:0 24px 80px #132e3450}dialog::backdrop{background:#142d33b8}.dialog-head h2,#place-dialog h2,.auth-dialog-head h2{color:#193a3e}.dialog-head>div>p:last-child,#place-dialog .auth-dialog-head p{color:#607572}.close-button{border-radius:50%;background:#e8eeea;color:#234b4b}.picker-columns h3{color:#234d50}.picker-columns h3 span{color:#285ac1}.picker-list{border-color:#cfd9d2;border-radius:3px;background:#f6f7f2}.picker-list button{border-radius:2px;color:#34504c}.picker-list button:hover{background:#e8efeb}.picker-list button.is-selected{background:#e1e9f8;color:#214fa8;box-shadow:inset 3px 0 #285ac1}.dialog-footer button,.auth-submit,.place-search-row button,.place-save-form button{border-radius:3px;background:#285ac1;color:#fff}.place-search-row input,#auth-form input:not([type=checkbox]),#auth-form select,#mypage-dialog input:not([type=file]),#mypage-dialog select{border-color:#becdc5;border-radius:3px}.mypage-tabs [aria-pressed=true],.category-tabs [aria-pressed=true]{background:#e1e9f8;border-color:#7597d3;color:#214fa8}.place-search-results strong{color:#1a3a3e}.place-search-results p,#place-search-status{color:#566f6a}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d96e3d;outline-offset:3px}
@media(max-width:760px){.site-header{width:calc(100% - 40px);height:70px}.hero.wrap{width:calc(100% - 40px);min-height:calc(100svh - 70px)}.location-scene{min-height:calc(100svh - 70px);align-items:flex-end;padding-bottom:12vh}.location-scene::before{top:7%;right:-10%;width:90vw}.location-scene::after{top:11%;right:-4%;width:78vw}.featured-map{top:4%;right:-8%;width:100%;height:58%}.location-actions{width:100%;gap:18px}.location-button{min-width:0;padding:0 60px 21px 0;font-size:clamp(38px,10vw,54px)}.location-button::after{width:42px;height:42px;line-height:40px;bottom:19px;font-size:22px}.featured-link{font-size:14px}.explore{padding:28px 0 48px}.explore-inner{width:calc(100% - 28px)}.map-head{padding:12px}.place-views{width:100%;gap:0}.place-view{padding:10px 3px;font-size:11px}.map-stage{height:clamp(440px,65vh,620px)}.map-zoom,.place-legend,.place-detail{border-radius:3px}.place-search-box button{border-radius:3px}.picker-list{height:min(270px,36vh)}}
@media(prefers-reduced-motion:reduce){.location-button,.featured-link{transition:none}}
@media(min-width:761px){.location-button{padding-right:68px;font-size:clamp(40px,4.6vw,66px)}}

/* Match the detailed regional map to the homepage map's soft blue relief. */
.site-header{justify-content:flex-end}
.location-scene::before{width:min(62vw,820px);right:-2%;top:50%;transform:translateY(-50%);background:#e3e9e4}
.location-scene::after{width:min(54vw,720px);right:2%;top:50%;transform:translateY(-50%);border-color:#cedad3}
.featured-map{fill:#9ebbc7;filter:drop-shadow(0 2px 0 #89a8b2) drop-shadow(0 4px 0 #829fa9) drop-shadow(0 9px 8px #7c979b55)}
.featured-map path{stroke:#9ebbc7;stroke-width:5px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;paint-order:stroke fill}
@media(max-width:760px){.location-scene::before{width:112vw;right:-16%;top:32%;transform:translateY(-50%)}.location-scene::after{width:98vw;right:-9%;top:32%;transform:translateY(-50%)}.featured-map{top:4%;right:-8%;width:100%;height:58%}.featured-map path{stroke-width:4px}}
@media(max-width:760px){.featured-map{right:4%;width:92%;height:52%;top:7%}}

/* Apply only surface styling: the SVG polygons, borders, gestures and viewBox remain functional. */
#region-map .region-other{fill:#dce5e1;stroke:#c4d1cc;stroke-width:1.1px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
#region-map path.region-other,#region-map path.region-selected,#region-map path.region-side,#region-map path.neighborhood-border{stroke-linejoin:round!important;stroke-linecap:round!important}
#region-map path.region-selected,#region-map path.neighborhood-border{stroke:#829da3!important}
#region-map path.region-selected{stroke-width:2px!important}
#region-map #region-overview-selected path.region-selected{stroke-width:2px!important}
#region-map path.neighborhood-border{stroke-width:1.35px!important}
#region-map .region-side{fill:#819fa7;stroke:#819fa7;stroke-width:1px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
#region-map .region-selected{fill:url(#selected-gradient);stroke:#9ebbc7;stroke-width:5px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;paint-order:stroke fill;filter:drop-shadow(0 2px 0 #89a8b2) drop-shadow(0 4px 0 #829fa9) drop-shadow(0 9px 8px #7c979b55)}
#region-map .neighborhood-border{stroke:#8ea9ae;stroke-width:1.1px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
#region-map .neighborhood-selected{fill:#aec8c9;stroke:#7f9fa7;stroke-opacity:.75}
#region-map .neighborhood-other{fill:#dce5e1;stroke:#c4d1cc;stroke-opacity:.9}
#region-map #neighborhood-labels text{fill:#354e53;stroke:#e7efeb;stroke-width:3px;stroke-linejoin:round;paint-order:stroke fill;font-weight:650}
#region-map #region-overview-background .region-other{fill:#dce5e1;stroke:#c4d1cc;stroke-width:1px}
#region-map #region-overview-depth .region-side{fill:#819fa7;stroke:#819fa7}
#region-map #region-overview-selected .region-selected{fill:url(#selected-gradient);stroke:#9ebbc7;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 2px 0 #89a8b2) drop-shadow(0 4px 0 #829fa9) drop-shadow(0 9px 8px #7c979b55)}
@media(max-width:760px){#region-map .region-selected,#region-map #region-overview-selected .region-selected{stroke-width:4px}#region-map .neighborhood-border{stroke-width:1px}}

/* Keep marker hit areas at the icon itself; never scale the translated map position. */
#region-map .place-marker-position{pointer-events:none}
#region-map .place-marker{pointer-events:none}
#region-map .place-marker-hit{pointer-events:visible;cursor:pointer;outline:none;transform-box:fill-box;transform-origin:center}
#region-map .place-marker-hit-area{pointer-events:visible;fill:#000;fill-opacity:0}
#region-map .place-marker-hit:focus-visible .place-marker-hit-area{stroke:#405d65;stroke-width:2px;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}
#region-map .place-marker-hit .marker-icon{pointer-events:none;transform:none!important;transition:none!important}

/* The profile is a destination page, not a modal message. */
.profile-page{width:min(920px,calc(100% - 40px));min-height:calc(100svh - 86px);margin:40px auto 80px;color:#263d33}
.profile-page[hidden]{display:none!important}
.profile-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 28px;padding-bottom:20px;border-bottom:1px solid #d8e1d5}
.profile-page-header h1{margin:0;font-size:clamp(30px,5vw,46px);letter-spacing:-.06em}
.profile-page-header p{margin:8px 0 0;color:#61766a;font-size:14px}
.profile-page-back{border:1px solid #c6d4c7;border-radius:999px;background:#fffefa;padding:10px 16px;color:#315745;font-weight:700;white-space:nowrap}
.profile-page .mypage-dialog{display:block;position:static;inset:auto;transform:none;width:100%;max-width:none;max-height:none;overflow:visible;margin:0;padding:28px;border:1px solid #d8e1d5;border-radius:22px;background:#fffefa;box-shadow:0 14px 40px #304b3a12}
.profile-page .mypage-dialog::backdrop{display:none}
@media(max-width:600px){.profile-page{width:calc(100% - 28px);margin:26px auto 52px}.profile-page-header{align-items:flex-start;flex-direction:column;gap:14px}.profile-page .mypage-dialog{padding:20px;border-radius:18px}}
