/* SOFTM-DEMENTIA-UI 날짜:20261001 : 검색·지도·상세를 큰 글자와 일관된 모바일 동선으로 연결한다. */
:root{--green:#17695b;--deep:#174b42;--mint:#e9f2ec;--cream:#f5f5ec;--ink:#243c35;--muted:#697b74;--line:#e3e9e3;--white:#fff;--shadow:0 8px 32px #163f2c12;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#f6f8f5}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #dcab41;outline-offset:3px}button{color:inherit}button,a,input,select{touch-action:manipulation}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:-80px;z-index:3000;background:white;padding:16px}.skip:focus{top:0}.header{height:88px;background:white;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line);position:relative;z-index:500}.brand{display:flex;align-items:center;gap:11px;font-size:25px;font-weight:800;letter-spacing:-1.5px}.brand small{display:block;font-size:11px;letter-spacing:1px;font-weight:500;color:var(--muted);margin-top:4px}.brand-symbol{font-size:49px;line-height:1;color:var(--green)}nav{display:flex;gap:36px;align-items:stretch;height:100%}nav a,nav button{border:0;background:none;font-size:15px;font-weight:600;display:flex;align-items:center;padding:0 2px}.nav-active{color:var(--green);box-shadow:inset 0 -3px var(--green)}.about-link{font-size:13px;color:var(--muted)}.workspace{display:grid;grid-template-columns:410px 1fr;height:calc(100dvh - 88px);min-height:560px}.sidebar{background:white;display:flex;flex-direction:column;min-height:0;border-right:1px solid #dbe5df;z-index:450}.intro{padding:30px 28px 24px;position:relative;background:var(--cream);overflow:hidden;flex-shrink:0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--green)}h1{font-size:34px;line-height:1.28;letter-spacing:-1.7px;margin:14px 0 10px;font-weight:600}h1 em{font-style:normal;color:var(--green);font-weight:800}.intro p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.intro-flower{position:absolute;font-size:190px;color:#dce6ce;right:-15px;bottom:-50px;line-height:1;transform:rotate(15deg);pointer-events:none}.search-panel{padding:22px 24px 16px;flex-shrink:0}.searchbox{display:flex;border:1.5px solid var(--green);border-radius:10px;align-items:center;padding-left:13px;gap:9px;background:white}.searchbox>span{font-size:28px;line-height:1;color:var(--green)}.searchbox input{border:0;width:100%;min-width:0;padding:15px 0;font-size:14px;background:transparent;outline:none}.searchbox button{border:0;background:var(--green);color:white;border-radius:7px;width:36px;height:36px;margin:5px;font-size:21px;flex-shrink:0}.region-row{display:flex;gap:8px;margin:10px 0 14px}.region-row label{width:50%}.region-row select{width:100%;padding:11px 8px;border:1px solid var(--line);border-radius:7px;background:white;font-size:13px}.chips{display:flex;gap:5px;flex-wrap:wrap}.chips button{padding:8px 10px;border:1px solid var(--line);border-radius:30px;font-size:12px;background:white;min-height:36px}.chips button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.filter-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font-size:12px;color:var(--muted)}.filter-bottom select{border:0;background:#f5f7f4;border-radius:5px;padding:7px;font-size:12px;color:var(--ink)}.text-button{border:0;background:none;font-size:12px;color:var(--muted);padding:8px}.results-header{padding:18px 24px 5px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.results-header h2{font-size:14px;margin:0}.results-header strong{color:var(--green);font-size:18px;margin-left:4px}.results-header h2 span{font-weight:400;font-size:12px;margin-left:3px}.results-header>span{font-size:11px;color:var(--muted)}.scope-note{font-size:11px;line-height:1.5;color:var(--muted);margin:0;padding:0 24px 10px}.results{overflow:auto;flex:1;min-height:80px;overscroll-behavior:contain}.center-card{padding:18px 24px;border-bottom:1px solid var(--line);width:100%;text-align:left;background:white;border-top:0;border-left:0;border-right:0;display:block;position:relative}.center-card:hover,.center-card.selected{background:#f0f6ef}.card-top{display:flex;align-items:center;gap:7px;margin-bottom:9px}.badge{font-size:10px;font-weight:600;padding:4px 7px;border-radius:4px;background:var(--mint);color:var(--green);display:inline-block}.badge.regional{background:#f0ebf8;color:#745398}.badge.branch{background:#fbf0dc;color:#9a6a28}.badge.other{background:#ededed;color:#606060}.distance{font-size:11px;color:var(--muted);margin-left:auto}.center-card h3{font-size:16px;letter-spacing:-.5px;margin:0 20px 6px 0;line-height:1.4}.center-card p{font-size:12px;line-height:1.7;color:var(--muted);margin:0}.card-arrow{position:absolute;right:24px;top:52px;color:var(--green)}.tags{margin-top:10px;display:flex;gap:7px;flex-wrap:wrap}.tags span{font-size:10px;color:#64756a}.tags span+span:before{content:'·';margin-right:7px}.sidebar-footer{padding:13px 24px;font-size:10px;display:flex;align-items:center;gap:7px;background:#fafbf9;flex-shrink:0}.sidebar-footer a{margin-left:auto;color:var(--muted)}.live-dot{display:inline-block;width:6px;height:6px;background:#508666;border-radius:50%;flex-shrink:0}.map-section{position:relative;min-width:0;background:#e9ede5}#map{height:100%;width:100%;z-index:1;background:#e4e9e2}.map-top{position:absolute;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;gap:12px;z-index:400;pointer-events:none}.map-top>*{pointer-events:auto}.map-label{display:flex;align-items:center;gap:8px;background:white;border:1px solid #e1e7df;border-radius:7px;padding:12px 16px;box-shadow:var(--shadow);font-size:12px}.map-actions{display:flex;gap:7px}.map-actions button{background:white;border:1px solid #dce5df;border-radius:7px;padding:10px 13px;font-size:14px;box-shadow:var(--shadow)}.map-actions span{font-size:12px}.map-legend{position:absolute;left:24px;bottom:121px;z-index:400;display:flex;gap:13px;background:#ffffffee;padding:10px 14px;border-radius:6px;font-size:10px}.map-legend span{display:flex;gap:5px;align-items:center}.map-legend i{width:7px;height:7px;border-radius:50%}.legend-center{background:#267966}.legend-regional{background:#8460a4}.legend-branch{background:#bb9043}.help-card{position:absolute;bottom:28px;left:24px;right:24px;max-width:720px;z-index:400;background:#fffef6;box-shadow:var(--shadow);border:1px solid #e3e6d9;border-radius:10px;display:flex;align-items:center;gap:14px;padding:18px 20px}.help-icon{font-size:30px;color:var(--green);background:#e7eede;width:44px;height:44px;display:grid;place-items:center;border-radius:50%}.help-card strong{font-size:14px}.help-card p{font-size:11px;color:var(--muted);margin:6px 0 0}.help-card button{margin-left:auto;border:0;background:transparent;font-size:26px;color:var(--green);padding:8px}.area-button{position:absolute;top:80px;left:50%;transform:translateX(-50%);z-index:400;border:1px solid var(--green);background:white;color:var(--green);padding:11px 18px;border-radius:30px;white-space:nowrap;box-shadow:var(--shadow);font-size:12px}.map-error{position:absolute;top:84px;left:24px;right:24px;z-index:405;background:#fff6dd;padding:14px;font-size:12px;border-radius:8px}.leaflet-control-zoom{margin-top:90px!important;border:1px solid #dce5df!important;border-radius:7px!important;overflow:hidden}.leaflet-container{font-family:inherit}.pin-wrap{background:transparent;border:0}.map-pin{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--green);color:white;border:3px solid white;border-radius:50% 50% 50% 5px;transform:rotate(-45deg);box-shadow:0 2px 6px #28473240}.map-pin b{transform:rotate(45deg);font-size:10px;font-weight:700}.map-pin.regional{background:#8460a4}.map-pin.branch{background:#bb9043}.map-pin.other{background:#6f7b79}.map-pin.active{width:43px;height:43px;box-shadow:0 0 0 4px #17695b33,0 3px 10px #163f2c44}.map-pin.active b{font-size:14px}.map-tooltip{border:0;border-radius:7px;font-size:12px;padding:8px 12px}.mobile-toggle{display:none}.empty{padding:25px;line-height:1.8;color:var(--muted);font-size:13px}.empty button{margin-top:10px;padding:9px 14px;background:var(--green);color:white;border:0;border-radius:6px}.more{margin:15px 24px;width:calc(100% - 48px);padding:12px;border:1px solid var(--line);background:white;border-radius:7px;color:var(--green)}dialog{border:0;border-radius:16px;padding:0;max-width:560px;width:calc(100% - 32px);max-height:calc(100dvh - 64px);box-shadow:0 24px 100px #122f3b33;color:var(--ink)}dialog::backdrop{background:#18382f66;backdrop-filter:blur(3px)}.dialog-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;background:white;z-index:2;padding:16px 24px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.dialog-head button{width:32px;height:32px;border:0;background:#f0f4ef;border-radius:50%;font-size:15px}.detail-body,.guide-body{padding:26px}.detail-body h2,.guide-body h2{font-size:28px;line-height:1.4;letter-spacing:-1px;margin:13px 0 22px}.detail-meta{font-size:13px;line-height:1.8;padding:15px 0;border-top:1px solid var(--line)}.detail-meta small{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 24px}.detail-actions a,.detail-actions button{padding:11px 13px;border:1px solid var(--line);border-radius:7px;font-size:12px;background:white}.detail-actions .call{background:var(--green);color:white;border-color:var(--green)}.detail-section{padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}.detail-section h3{font-size:16px;margin:0 0 12px}.program-list{padding-left:20px;font-size:13px;line-height:1.9}.muted{font-size:12px;line-height:1.8;color:var(--muted)}.notice{background:#faf5e7;border-radius:7px;padding:12px;font-size:11px;line-height:1.7;color:#80704b}.care-links{display:grid;grid-template-columns:1fr 1fr;gap:9px}.care-links a{border:1px solid var(--line);border-radius:7px;padding:13px 10px;font-size:12px;color:var(--green);background:#f8faf6}.source-list{padding:0;list-style:none;font-size:11px;line-height:1.9}.source-list a{text-decoration:underline}.source-list span{display:block;color:var(--muted)}.guide-step{display:flex;gap:20px;border-top:1px solid var(--line);padding:20px 0}.guide-step b{color:#86a98c;font-size:19px}.guide-step h3{font-size:15px;margin:0 0 8px}.guide-step p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.primary-link{display:block;background:var(--green);color:white;padding:14px;border-radius:8px;text-align:center;font-size:14px}.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:#203f36;color:white;padding:14px 22px;border-radius:10px;font-size:13px;box-shadow:var(--shadow);max-width:90vw;width:max-content;z-index:4000}.about-page{max-width:760px;margin:60px auto;padding:0 24px 60px}.about-page h1{margin:20px 0 30px}.about-page h2{font-size:20px;margin-top:35px}.about-page p,.about-page li{font-size:15px;line-height:1.9;color:var(--muted)}.about-page a{text-decoration:underline;color:var(--green)}
@media(min-width:1440px){.workspace{grid-template-columns:440px 1fr}.intro{padding:36px 32px 30px}h1{font-size:38px}.search-panel{padding:24px 28px 18px}}@media(max-height:850px) and (min-width:761px){.intro{padding:22px 24px 18px}.intro h1{font-size:28px;margin:9px 0 8px}.intro p{font-size:12px}.search-panel{padding-top:15px;padding-bottom:12px}.results-header{padding-top:12px}}
@media(max-width:1000px){.workspace{grid-template-columns:360px 1fr}.header{padding:0 22px}nav{gap:22px}.map-top{left:15px;right:15px}.map-label{display:none}.map-actions{margin-left:auto}.help-card{left:15px;right:15px;padding:14px}.help-card p{line-height:1.6}.help-icon{display:none}.map-legend{left:15px}.search-panel{padding-left:18px;padding-right:18px}.chips button{padding:7px 8px}}
@media(max-width:760px){.header{height:68px;padding:0 16px}.brand{font-size:22px;gap:7px}.brand-symbol{font-size:38px}.brand small{font-size:9px;letter-spacing:.5px}.about-link{display:none}nav{gap:17px}nav a,nav button{font-size:12px}nav .nav-active{display:none}.workspace{height:calc(100dvh - 68px);min-height:0;display:flex;flex-direction:column}.sidebar{display:contents}.intro{display:none}.search-panel{padding:12px 14px 9px;background:white;order:0;z-index:451}.searchbox input{padding:11px 0;font-size:14px}.region-row{margin:7px 0}.region-row select{padding:8px}.chips{gap:6px}.chips button{padding:6px 11px;font-size:11px;min-height:32px}.filter-bottom{margin-top:7px;font-size:11px}.filter-bottom select{padding:5px}.map-section{order:1;flex:1;min-height:200px}.results-header{order:2;padding:12px 16px 5px;background:white}.scope-note{order:3;background:white;padding:0 16px 8px;font-size:10px}.results{order:4;flex:0 0 25dvh;background:white;min-height:80px}.sidebar-footer{order:5;padding:10px 16px}.center-card{padding:14px 16px}.center-card h3{font-size:15px}.center-card p{font-size:12px}.map-top{top:12px;left:12px;right:12px}.map-actions{gap:5px}.map-actions button{padding:8px 10px}.map-actions span{font-size:11px}.help-card{display:none}.map-legend{bottom:12px;left:10px;padding:6px 8px;gap:8px;font-size:9px}.mobile-toggle{display:block;position:absolute;z-index:400;bottom:10px;right:10px;border:1px solid #dce5df;border-radius:20px;padding:9px 12px;background:white;box-shadow:var(--shadow);font-size:11px;color:var(--green)}.leaflet-control-zoom{margin-top:61px!important}.leaflet-control-attribution{font-size:8px!important}.area-button{top:54px;padding:8px 12px;font-size:11px}.map-error{top:54px;left:12px;right:12px;font-size:11px}.list-expanded .map-section{flex:0 0 140px;min-height:140px}.list-expanded .results{flex:1}.list-expanded .map-legend{display:none}dialog{width:100%;max-width:100%;border-radius:18px 18px 0 0;max-height:90dvh;margin:auto 0 0}.detail-body,.guide-body{padding:23px}.detail-body h2,.guide-body h2{font-size:25px}.toast{bottom:18px}.about-page{margin-top:35px}.about-page h1{font-size:30px}.leaflet-control-zoom a{width:28px!important;height:28px!important;line-height:28px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.cluster-wrap{border:0;background:transparent}.cluster{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#17695be8;color:white;border:5px solid #d8e9dcbf;box-shadow:0 2px 8px #28473230;font-size:13px;font-weight:700}
@media(max-height:740px) and (min-width:761px){.workspace{min-height:0}.intro{padding:17px 24px 13px}.intro h1{font-size:25px;line-height:1.15;margin:7px 0}.intro p{font-size:11px;line-height:1.4}.search-panel{padding-top:12px;padding-bottom:9px}.searchbox input{padding:11px 0}.region-row{margin:7px 0 10px}.region-row select{padding:8px}.filter-bottom{margin-top:8px}}

/* 돌봄한눈과 같은 현재 위치 마커 */
.current-position-pin{width:22px;height:22px;border:3px solid white;border-radius:50%;background:#297bd7;box-shadow:0 0 0 8px #297bd733,0 2px 6px #0003}.map-pin{padding:0;cursor:pointer}.map-pin:focus-visible{outline:3px solid #297bd7;outline-offset:4px}
