.explore-page{--map-ink:#173b44;--map-muted:#526165;--map-accent:#176f63;--map-border:#dce6e2;background:#fff;height:100dvh;overflow:hidden}.explore-page .directory-header{height:64px;min-height:64px;padding:0 24px;gap:30px;flex-wrap:nowrap;border-bottom:1px solid var(--map-border)}.explore-page .nav-brand{font-size:21px;white-space:nowrap}.explore-page .directory-header nav{gap:28px;align-self:stretch;align-items:center}.explore-page .directory-header nav a{font-size:13px;white-space:nowrap;padding:0;display:flex;align-items:center;height:100%}.map-workbench{height:calc(100dvh - 64px);display:grid;grid-template-columns:370px minmax(0,1fr);color:var(--map-ink);font-size:13px;line-height:1.6;background:#fff}.map-workbench button,.map-workbench input,.map-workbench select{font:inherit}.map-workbench button,.map-workbench summary{cursor:pointer}.map-workbench button:disabled,.map-workbench select:disabled{opacity:.5;cursor:default}.map-workbench :focus-visible{outline:3px solid #24947e;outline-offset:2px}.map-sidebar{padding:0;display:flex;flex-direction:column;min-height:0;min-width:0;border-right:1px solid var(--map-border);background:#fff;z-index:2}.map-panel-tabs{display:flex;height:54px;flex-shrink:0;border-bottom:1px solid var(--map-border)}.map-panel-tabs button{flex:1 1;border:0;border-bottom:3px solid transparent;background:#fff;color:#526165;font-size:13px;font-weight:700}.map-panel-tabs button[aria-pressed=true]{border-bottom-color:var(--map-accent);color:var(--map-accent)}.map-panel-tabs span{margin-left:5px;font-size:11px}.map-panel-scroll{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.map-panel-view[hidden]{display:none}.location-filters{padding:18px 18px 0}.map-query{display:flex;border:1px solid #8eafa3;border-radius:4px;overflow:hidden;height:43px}.map-query input{border:0;outline:none;min-width:0;flex:1 1;padding:10px 12px;font-size:14px;color:var(--map-ink);background:#fff}.map-query input::placeholder{color:#8c9b9b}.map-query button{width:44px;border:0;background:var(--map-accent);color:#fff;display:grid;place-items:center}.map-region-fields{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr) minmax(0,1.1fr);gap:8px;margin-top:10px}.map-region-fields label{display:grid;gap:4px;min-width:0}.map-region-fields label>span{font-size:11px;font-weight:650;color:var(--map-muted)}.map-advanced select,.map-region-fields select{width:100%;min-width:0;background:#fff;border:1px solid var(--map-border);border-radius:4px;padding:8px 6px;color:var(--map-ink);height:40px;font-size:12px}.map-advanced{font-size:12px;margin-top:10px}.map-advanced summary{color:#647977;padding:8px 2px;list-style-position:inside}.map-advanced[open]{padding-bottom:10px}.map-advanced label{display:grid;gap:5px;margin:7px 0}.map-text-button{background:none;border:0;padding:5px 0;color:var(--map-accent);font-size:12px;text-decoration:underline}.map-results-heading{display:flex;align-items:center;justify-content:space-between;padding:13px 18px 11px;border-bottom:1px solid var(--map-border)}.map-results-heading p{margin:0;font-size:12px}.map-results-heading p span{margin-left:5px;color:var(--map-accent);font-weight:700}.map-results-heading select{border:0;background:#fff;color:#657976;font-size:11px;max-width:95px}.map-results{list-style:none;margin:0;padding:0}.map-results>li{position:relative;border-bottom:1px solid #e8efec;padding:0 18px}.map-results>li.is-selected{background:#edf7f2;box-shadow:inset 3px 0 var(--map-accent)}.map-result-link{display:block;padding:14px 28px 14px 0;text-decoration:none}.map-result-category{font-size:10px;color:#54615e}.map-result-link h3{font-size:15px;letter-spacing:-.03em;line-height:1.5;margin:3px 0 4px;color:var(--map-ink);font-weight:750}.map-result-link p{font-size:11px;color:var(--map-muted);margin:0;line-height:1.65;overflow-wrap:anywhere}.map-result-distance{display:block;margin-top:5px;color:var(--map-accent);font-size:11px;font-weight:700}.map-favorite{position:absolute;right:14px;top:30px;border:0;background:none;color:#6d8780;font-size:25px!important;line-height:1}.map-place-actions,.map-result-actions{display:flex;gap:6px;padding-bottom:14px}.location-origin-actions button,.map-place-actions button,.map-result-actions button{border:1px solid #bbd3c9;background:#fff;color:var(--map-accent);border-radius:4px;padding:6px 16px;font-size:12px;font-weight:700;min-height:34px}.map-workbench button.primary{background:var(--map-accent);border-color:var(--map-accent);color:#fff}.map-result-actions button[aria-pressed=true]{background:#d8ede0}.map-more{margin:12px 18px;width:calc(100% - 36px);padding:9px;background:#fff;border:1px solid var(--map-border);border-radius:4px;color:var(--map-accent);font-size:12px}.map-info{margin:0 18px;padding:12px 0;border-bottom:1px solid var(--map-border);font-size:11px;color:var(--map-muted)}.map-info summary{color:#456c62;font-weight:650;font-size:12px}.map-info p{margin:9px 0 5px;line-height:1.8}.map-info a{color:var(--map-accent);text-decoration:underline}.map-info>ul{list-style:none;padding:0;margin:8px 0}.map-info li>a{display:block;padding:9px 0;font-size:12px;text-decoration:none;color:var(--map-ink)}.map-info li span{display:block;font-size:10px;color:var(--map-muted)}.map-info button{border:0;color:var(--map-accent);background:none;padding:8px 0}.map-sources>a{display:block;margin-top:7px}.map-empty{padding:24px 18px;font-size:13px;color:var(--map-muted)}.map-empty p{font-size:12px}.map-stage{position:relative;min-width:0;min-height:0;background:#e8efeb}.map-scope-label{position:absolute;top:18px;left:18px;z-index:2;background:#fffffff2;box-shadow:0 1px 7px #173b4412;border:1px solid #d7e2dc;border-radius:4px;padding:8px 13px;font-size:12px;font-weight:700;pointer-events:none}.map-scope-label span{font-size:11px;font-weight:400;color:var(--map-muted);margin-left:10px}.map-place-card{position:absolute;left:20px;bottom:38px;z-index:2;width:330px;max-width:calc(100% - 80px);background:#fff;border:1px solid #d4e1da;border-radius:6px;padding:14px 17px;box-shadow:0 4px 18px #173b4415;max-height:65%;overflow-y:auto}.map-place-heading{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--map-muted)}.map-place-heading>a{color:#778c87;padding:1px}.map-place-card h2{font-size:17px;line-height:1.5;letter-spacing:-.03em;margin:1px 0 5px}.map-place-card>p{font-size:11px;color:var(--map-muted);margin:0 0 6px}.map-place-card>output{display:block;font-size:12px;color:var(--map-accent);font-weight:700;margin-bottom:8px}.map-place-actions{padding:3px 0 9px}.map-place-actions button{padding:5px 18px;flex:1 1;white-space:nowrap}.map-place-actions .map-favorite-inline{flex:0 1;padding:0 5px;font-size:24px;line-height:1;border:0;min-width:26px}.map-place-details{font-size:11px;border-top:1px solid #e4ece7;padding-top:8px;color:var(--map-muted)}.map-place-details summary{font-size:11px}.map-place-details a{display:block;color:var(--map-accent);margin-top:6px;text-decoration:underline}.map-place-details p{margin:5px 0}.location-origin{padding:18px}.location-origin-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.location-origin-actions button{padding:6px 10px;font-size:11px}.location-origin-actions button[aria-pressed=true]{background:#e4f1e9}.location-origin-actions .location-clear{border:0;color:#71857e}.map-route-status{font-size:11px;color:var(--map-accent);line-height:1.7;margin:12px 0}.map-route-status:empty{display:none}.map-note{font-size:11px;color:var(--map-muted);line-height:1.8;margin-top:12px}.location-origin>.map-info{margin:12px 0 0}.map-saved .institution-distance-panel{margin:0;border:0;border-radius:0}.map-saved .institution-distance-tabs{padding:14px 12px;background:#fff;border-bottom:1px solid var(--map-border);gap:5px}.map-saved .institution-distance-tabs button{padding:7px 9px}.map-saved .institution-distance-content{padding:16px}.map-saved .institution-distance-heading{display:block}.map-saved .institution-distance-heading h2{font-size:15px}.map-saved .institution-distance-tools{margin-top:12px}.map-saved .institution-distance-rows>li{grid-template-columns:18px minmax(0,1fr)}.map-saved .institution-distance-value{grid-column:2;font-size:13px}.map-saved .institution-distance-actions{grid-column:2/-1}.map-saved .institution-distance-actions button{padding:6px 8px;font-size:10px}.map-info .region-education-summary{margin-top:10px}.location-map-frame{height:100%;position:relative;overflow:hidden;isolation:isolate}.location-map-canvas{height:100%;width:100%}.location-map-placeholder{height:100%;display:grid;place-items:center;color:#4e635e;font-size:13px;background:#e8efeb}.location-map-status{position:absolute;top:65px;left:18px;right:65px;max-width:360px;z-index:3;background:#fffffff2;padding:14px;border:1px solid #cadbd4;border-radius:5px;font-size:12px;line-height:1.7}.location-map-status p{margin:7px 0}.location-map-status button,.location-pick-bar button{font:inherit;cursor:pointer;border:1px solid #b9d5ca;border-radius:4px;background:#fff;color:#17695e;padding:8px 12px;font-size:12px;font-weight:700}.location-map-frame .maplibregl-ctrl-attrib{font-size:10px;max-width:100%;line-height:1.5}.location-map-frame .maplibregl-ctrl-bottom-right{max-width:100%}.location-map-frame .maplibregl-ctrl-top-right{top:6px;right:6px}.location-map-legend{position:absolute;left:18px;bottom:12px;display:flex;gap:10px;padding:6px 9px;background:#fffffff0;border-radius:3px;font-size:10px;pointer-events:none}.location-map-legend span{display:flex;align-items:center;gap:5px}.location-map-legend i{width:8px;height:8px;border-radius:50%;background:#147b74}.location-map-legend .origin{background:#2867d6}.location-map-legend .support{background:#7654a8}.location-map-legend .welfare{background:#bd6c24}.location-crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:40px;color:#1b56b3;text-shadow:0 0 3px #fff;pointer-events:none}.location-pick-bar{position:absolute;top:65px;left:18px;right:65px;max-width:380px;background:#fff;border-radius:5px;padding:10px;display:flex;align-items:center;gap:12px;font-size:11px;box-shadow:0 2px 14px #173b4420}.location-pick-bar button{background:#176f63;color:white;white-space:nowrap}.location-pin-name{display:block;max-width:180px;padding:3px 6px;border:1px solid #d4e3dc;border-radius:4px;background:#fffffff5;color:#173b44;font:700 11px/1.45 var(--font-noto-sans-kr),sans-serif;text-align:center;white-space:pre-line;overflow-wrap:anywhere;box-shadow:0 1px 4px #173b4415;cursor:pointer}.location-pin-name:focus-visible,.location-pin-name:hover{background:#e5f3ed;border-color:#177365}@media(max-width:1000px){.explore-page .directory-header{padding:0 16px;gap:18px}.explore-page .nav-brand{font-size:18px}.explore-page .directory-header nav{gap:17px}.explore-page .directory-header nav a{font-size:11px}.map-workbench{grid-template-columns:330px minmax(0,1fr)}}@media(max-width:650px){.explore-page .directory-header{height:100px;min-height:100px;display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:0 14px;overflow:hidden}.explore-page .nav-brand{height:51px;display:flex;align-items:center;font-size:19px;flex-shrink:0}.explore-page .directory-header nav{height:49px;gap:24px;flex-shrink:0;width:100%;overflow-x:auto;scrollbar-width:none;align-self:auto}.explore-page .directory-header nav a{font-size:11px;flex-shrink:0}.map-workbench{height:calc(100dvh - 100px);grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(240px,42%) minmax(0,1fr)}.map-stage{grid-row:1}.map-sidebar{grid-row:2;border-right:0;border-top:1px solid var(--map-border)}.map-panel-tabs{height:45px}.map-panel-tabs button{font-size:12px}.location-filters{padding:13px 16px 0}.map-query{height:39px}.map-region-fields{margin-top:8px}.map-advanced summary{padding:5px 0}.map-results-heading{padding:10px 16px}.map-results>li{padding:0 16px}.map-result-link{padding-top:12px;padding-bottom:12px}.map-place-card{left:12px;bottom:31px;width:310px;max-width:calc(100% - 70px);padding:10px 12px;max-height:72%}.map-place-card h2{font-size:14px;margin:0 0 2px}.map-place-card>p{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-place-card>output{font-size:11px;margin-bottom:3px}.map-place-heading{font-size:9px}.map-place-actions{padding:2px 0 0;gap:4px}.map-place-actions button{font-size:10px;min-height:29px;padding:3px 10px}.map-place-details{padding-top:5px;margin-top:5px;font-size:10px}.map-place-details summary{font-size:10px}.map-scope-label{top:12px;left:12px;padding:6px 10px;font-size:11px}.location-map-legend{left:12px;bottom:7px;font-size:9px;gap:7px;padding:5px 7px}.location-map-frame .maplibregl-ctrl-attrib{font-size:8px}.location-map-status{top:50px;left:12px;right:54px;padding:10px;font-size:11px}.location-pick-bar{top:50px;left:12px;right:54px;display:block;padding:9px}.location-pick-bar button{margin-top:5px;font-size:11px}.location-origin{padding:14px 16px}.location-pin-name{font-size:10px;max-width:145px}}.explore-page .directory-header nav{margin:0;padding:0}.explore-page .directory-header nav a[aria-current]:after{bottom:0}@media(max-width:650px){.explore-page{display:flex;flex-direction:column}.explore-page .directory-header{height:auto;min-height:0;flex-shrink:0;overflow:visible}.explore-page .directory-header nav{height:auto;min-height:49px;gap:6px 12px;flex-wrap:wrap;padding-bottom:8px;overflow:visible;align-content:flex-start}.explore-page .directory-header .header-nav-group,.explore-page .directory-header nav>a{height:40px}.explore-page .directory-header .header-nav-disclosure{min-height:40px}.map-workbench{height:auto;flex:1 1;min-height:0}.location-map-legend{bottom:24px}.map-place-card{bottom:52px}}.map-result-category i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;border:1px solid #0002}.map-class-badge{display:block;font-size:10px;color:#52716c;margin-top:5px;line-height:1.5}.map-class-badge[data-status=installed]{color:#12695b}.map-class-badge[data-status=unknown]{color:#6b747b}.map-class-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;grid-column:1/-1}.location-map-legend.school-marker-legend{display:block;pointer-events:auto;z-index:3;left:auto;right:12px;top:100px;bottom:auto;max-width:228px;padding:0;background:#fffffff5;box-shadow:0 2px 10px #16353b1c}.school-marker-legend summary{padding:8px 11px;font-size:11px;cursor:pointer;color:#28474e}.school-marker-legend>div{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:5px 11px}.school-marker-legend>div span{display:flex;gap:5px;align-items:center;font-size:10px;color:#28474e;white-space:nowrap}.school-marker-legend p{margin:5px 11px 10px;line-height:1.6;font-size:9px;color:#5b6f76;max-width:200px}.school-marker-legend i.origin{border:2px solid #16353b}@media(max-width:650px){.location-map-legend.school-marker-legend{right:10px;top:88px;max-width:208px}.school-marker-legend summary{padding:7px 9px;font-size:10px}.school-marker-legend>div{gap:6px 9px}.school-marker-legend>div span{font-size:9px}}.explore-page{position:fixed;inset:0;width:100%}.map-workbench{position:relative}.map-sidebar{grid-column:1;grid-row:1}.map-stage{grid-column:2;grid-row:1}.map-sidebar[hidden]{display:none}.map-sidebar-toggle{position:absolute;top:18px;left:370px;transform:translateX(-50%);z-index:5;width:28px;height:46px;border:1px solid #ceddd7;border-radius:0 5px 5px 0;background:#fff;color:#176f63;box-shadow:2px 2px 7px #173b4418;font-size:25px;line-height:1;cursor:pointer}.map-sidebar-toggle:focus-visible{outline:3px solid #2878d0;outline-offset:3px}.map-toggle-label{display:none}.map-workbench.is-sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.is-sidebar-collapsed .map-sidebar-toggle{left:0;transform:none}.is-sidebar-collapsed .map-scope-label{left:42px}@media(min-width:651px) and (max-width:1000px){.map-sidebar-toggle{left:330px}}@media(max-width:650px){.map-sidebar{grid-column:1;grid-row:2}.map-stage{grid-column:1;grid-row:1}.map-sidebar-toggle{top:12px;left:auto;right:54px;transform:none;width:auto;height:31px;padding:0 8px;display:flex;align-items:center;gap:5px;border-radius:4px;font-size:18px}.map-toggle-label{display:inline;font-size:10px}.map-sidebar-toggle>span:first-child{transform:rotate(90deg)}.map-workbench.is-sidebar-collapsed{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.is-sidebar-collapsed .map-sidebar-toggle{left:auto}.is-sidebar-collapsed .map-scope-label{left:12px}}.map-favorite,.map-favorite-inline{color:var(--design-muted,#526165)}.map-favorite-inline[aria-pressed=true],.map-favorite[aria-pressed=true]{color:#986915}.location-map-frame .maplibregl-ctrl-attrib{background:#fff;color:#173b44}.location-map-frame .maplibregl-ctrl-attrib a{color:#173b44;text-decoration:underline}.map-result-focus{display:inline-flex;align-items:center;gap:5px;min-height:34px;margin:0 0 12px;padding:6px 11px;border:1px solid #b7d4c8;border-radius:5px;background:#f1f8f4;color:#176457;font-family:inherit;font-weight:600;font-size:11px;line-height:1.5;cursor:pointer}.map-result-focus:focus-visible,.map-result-focus:hover{background:#deeee6;border-color:#176f63;outline-offset:3px}.map-place-navigation{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 8px}.map-place-navigation a,.map-place-navigation button{display:inline-flex;align-items:center;justify-content:center;flex:1 1;min-height:38px;padding:7px 9px;border:1px solid #bdd8cb;border-radius:5px;background:#fff;color:#176f63;font-size:11px;font-weight:650;cursor:pointer;line-height:1.5;text-align:center;white-space:nowrap}.map-place-navigation button{background:#176f63;color:#fff;border-color:#176f63}.map-place-navigation button:disabled{opacity:.5;cursor:default}.map-place-history{font-size:10px;color:#526c62;margin:8px 0}.map-place-history>summary{cursor:pointer;line-height:1.7;padding:3px 0}.map-place-history .school-class-history{margin:8px 0}.location-selected-name{position:absolute;z-index:4;pointer-events:none;display:flex;flex-direction:column;gap:3px;max-width:240px;padding:8px 13px;border:2px solid #176f63;border-radius:7px;background:#fff;color:#174e43;box-shadow:0 3px 18px #174e4333;text-align:center;animation:location-focus-glow .7s ease-out}.location-selected-name:after{content:"";position:absolute;bottom:-7px;left:calc(50% - 5px);width:10px;height:10px;background:white;border-right:2px solid #176f63;border-bottom:2px solid #176f63;rotate:45deg}.location-selected-name span{font-size:9px;font-weight:500}.location-selected-name strong{font-size:13px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}@keyframes location-focus-glow{0%{box-shadow:0 0 0 12px #176f632c}to{box-shadow:0 3px 18px #174e4333}}@media(max-width:650px){.map-place-card{position:fixed;left:12px;right:12px;bottom:12px;width:auto;max-width:none;max-height:42dvh;padding:13px 15px;z-index:6;border:1px solid #bed4ca;box-shadow:0 4px 28px #173b4430}.map-place-card h2{font-size:16px}.map-place-navigation{margin:9px 0 7px}.map-place-navigation a,.map-place-navigation button{min-height:38px;font-size:11px}.location-selected-name{max-width:190px;padding:6px 10px}.location-selected-name strong{font-size:12px}.map-result-focus{min-height:36px;font-size:11px}}@media(prefers-reduced-motion:reduce){.location-selected-name{animation:none}}html[data-design-theme] body .explore-page{position:relative;inset:auto;height:auto;min-height:100svh;overflow:visible}html[data-design-theme] body .map-workbench{height:auto;min-height:calc(100svh - 64px);align-items:start}html[data-design-theme] body .map-panel-scroll,html[data-design-theme] body .map-sidebar{height:auto;max-height:none;overflow:visible;overscroll-behavior:auto}html[data-design-theme] body .map-stage{position:sticky;top:64px;height:calc(100svh - 64px);min-height:440px}html[data-design-theme] body .map-place-card{position:static;width:auto;max-width:none;max-height:none;margin:0;padding:20px 18px;border:0;border-radius:0;box-shadow:none;overflow:visible}.map-results-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 18px;border-bottom:1px solid var(--map-border);color:var(--map-muted);font-size:12px}.map-results-pagination button{min-height:36px;padding:6px 12px;border:1px solid var(--map-border);border-radius:5px;background:#fff;color:var(--map-accent);font:inherit}.map-results-pagination button:disabled{opacity:.4;cursor:default}.map-info .map-results-pagination{padding:12px 0;border-bottom:0}html[data-design-theme] body .map-search-list[hidden]{display:none}@media(max-width:650px){html[data-design-theme] body .map-workbench{display:grid;grid-template-rows:auto auto;min-height:0}html[data-design-theme] body .map-stage{position:relative;top:auto;height:38svh;min-height:240px;max-height:380px}html[data-design-theme] body .map-workbench.is-sidebar-collapsed{grid-template-rows:auto}html[data-design-theme] body .is-sidebar-collapsed .map-stage{height:calc(100svh - 100px);max-height:none}.map-region-fields select{height:44px;font-size:16px}}