/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.hidden{display:none}.table{display:table}}:root{--ink:#16231e;--muted:#6d7973;--line:#dfe7e2;--surface:#fff;--canvas:#f4f7f5;--brand:#176b4b;--brand-dark:#0d4e36;--brand-soft:#e4f2ec;--elementary:#2878d1;--middle:#18875a;--high:#e16b35;--special:#7b55b9;--alternative:#4d7c56;--international:#2374a3;--font-caption:14px;--font-body:16px;--font-subtitle:18px;--font-heading:20px;--font-title:22px;--font-min:14px;--icon-large:20px}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;font-family:Pretendard Variable,Pretendard,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #2878d18c}.app-shell{background:var(--canvas);min-height:100dvh;overflow:hidden}.topbar{border-bottom:1px solid var(--line);z-index:1001;background:#fffffff5;justify-content:space-between;align-items:center;height:68px;padding:0 20px;display:flex;position:relative}.brand-block{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.brand-logo{object-fit:contain;flex:none;width:48px;height:31px;display:block}.eyebrow{color:var(--brand);font-size:var(--font-caption);letter-spacing:.04em;margin:0 0 1px;font-weight:800}.topbar h1{font-size:var(--font-title);letter-spacing:-.04em;margin:0;line-height:1.1}.header-meta{color:#66726c;font-size:var(--font-caption);white-space:nowrap;flex:none;align-items:center;gap:7px;font-weight:650;display:flex}.live-dot{background:#2ca66f;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #e1f4ea}.workspace{grid-template-columns:410px minmax(0,1fr);height:calc(100dvh - 68px);min-height:0;display:grid}.mobile-search-dock{display:none}.sidebar{background:var(--surface);border-right:1px solid var(--line);z-index:501;flex-direction:column;min-width:0;min-height:0;display:flex}.search-section{gap:7px;padding:14px 14px 10px;display:flex}.region-select{z-index:620;flex:0 0 76px;position:relative}.region-trigger{width:100%;height:43px;color:var(--ink);cursor:pointer;font:inherit;font-size:var(--font-body);background:#fff;border:1px solid #cbd8d1;border-radius:11px;justify-content:space-between;align-items:center;padding:0 8px;font-weight:750;display:flex}.region-trigger:hover,.region-trigger[aria-expanded=true]{background:#fbfdfc;border-color:#8ab7a2}.region-trigger span{color:#65736c;font-size:var(--font-body);justify-content:center;align-items:center;line-height:1;display:inline-flex}.region-trigger .region-arrow{flex:0 0 12px;width:12px;height:12px;font-size:10px;line-height:12px;transform:translateY(-1px)}.region-menu{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;border:1px solid #cbd8d1;border-radius:12px;width:min(252px,100vw - 24px);max-height:min(360px,55dvh);padding:6px;animation:.16s both region-menu-in;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 14px 32px #1b34292e}.region-menu button{color:#425048;cursor:pointer;text-align:left;width:100%;min-height:38px;font-size:var(--font-body);background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;padding:6px 9px;display:flex}.region-menu button:hover:not(:disabled),.region-menu button.is-selected{background:var(--brand-soft);color:var(--brand-dark);font-weight:750}.region-menu button:disabled{color:#a0aaa5;cursor:default}.region-menu button:disabled:after{content:"준비 중";font-size:var(--font-min)}@keyframes region-menu-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.search-box{background:#fafcfb;border:1px solid #cbd8d1;border-radius:11px;flex:1;align-items:center;gap:7px;height:43px;padding:0 11px;transition:border-color .18s,box-shadow .18s,background .18s;display:flex}.search-box:focus-within{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px #176b4b1c}.search-box>span{width:16px;height:16px;font-size:var(--icon-large);color:#76837d;flex:0 0 16px;justify-content:center;align-items:center;line-height:1;display:inline-flex;transform:translateY(-1px)rotate(-18deg)}.search-box input{width:100%;font-size:var(--font-body);color:var(--ink);background:0 0;border:0;outline:0;flex:1}.search-box input::placeholder{color:#8c9691}.search-box button{cursor:pointer;color:#53615a;background:#e7ece9;border:0;border-radius:50%;width:22px;height:22px;line-height:18px}.mobile-filter-button{font-size:var(--font-body);background:#fff;border:1px solid #cbd8d1;border-radius:12px;padding:0 13px;font-weight:750;display:none}.mobile-filter-button b{background:var(--brand);color:#fff;border-radius:10px;margin-left:3px;padding:1px 6px}.filter-panel{border-bottom:1px solid var(--line);padding:0 14px 12px}.filter-heading{justify-content:space-between;align-items:center;margin:10px 0 6px;display:flex}.filter-heading h2{font-size:var(--font-body);letter-spacing:-.01em;margin:0}.filter-heading button{color:var(--brand);font-size:var(--font-caption);cursor:pointer;background:0 0;border:0;padding:2px 0}.filter-heading>span{color:#8a948f;font-size:var(--font-caption)}.chip-row{flex-wrap:wrap;gap:5px;display:flex}.filter-chip{min-height:28px;font-size:var(--font-caption);color:#55625c;cursor:pointer;background:#fff;border:1px solid #d6dfda;border-radius:999px;padding:4px 9px;font-weight:650;transition:all .16s}.filter-chip:hover{background:#f8faf9;border-color:#9eb4a9}.filter-chip.is-active{color:var(--brand-dark);background:var(--brand-soft);border-color:#82b8a1;box-shadow:inset 0 0 0 1px #176b4b0d}.chip-dot{background:#8a948f;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.level-elementary .chip-dot{background:var(--elementary)}.level-middle .chip-dot{background:var(--middle)}.level-high .chip-dot{background:var(--high)}.level-special .chip-dot{background:var(--special)}.level-alternative .chip-dot{background:var(--alternative)}.level-international .chip-dot{background:var(--international)}.results-heading{border-bottom:1px solid #edf1ef;flex:none;align-items:center;height:44px;padding:0 14px;display:flex}.results-heading p{color:#67736d;font-size:var(--font-caption);margin:0}.results-heading strong{font-size:var(--font-subtitle);color:var(--ink)}.school-list{scrollbar-width:thin;scrollbar-color:#c8d2cd transparent;flex:1;padding:5px 7px 18px;overflow-y:auto}.school-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #0000;border-bottom-color:#edf1ef;border-radius:10px;grid-template-columns:34px minmax(0,1fr) 12px;align-items:start;gap:8px;width:100%;padding:10px 8px;transition:background .16s,border-color .16s,box-shadow .16s;display:grid}.school-card:hover{background:#f8fbf9}.school-card.is-selected{background:#f1f8f5;border-color:#b8d9ca;box-shadow:0 4px 14px #1c533b14}.school-card.is-keyboard-active{box-shadow:inset 3px 0 0 var(--brand);background:#eef7f2;border-color:#8dc6aa}.level-badge{color:#fff;width:30px;height:30px;font-size:var(--font-caption);border-radius:9px;justify-content:center;align-items:center;font-weight:850;display:inline-flex;box-shadow:inset 0 -2px #0000001a}.badge-elementary{background:var(--elementary)}.badge-middle{background:var(--middle)}.badge-high{background:var(--high)}.badge-special{background:var(--special)}.badge-alternative{background:var(--alternative)}.badge-international{background:var(--international)}.school-card-main{min-width:0;display:block}.school-card-title{flex-wrap:wrap;align-items:center;gap:4px 5px;margin-bottom:3px;display:flex}.school-card-title strong{min-width:0;font-size:var(--font-subtitle);letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.school-address{color:#79847f;font-size:var(--font-caption);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.facility-tags{flex-wrap:wrap;flex:0 auto;gap:3px;margin:0;display:inline-flex}.facility-tags i{font-style:normal;font-size:var(--font-caption);color:#176b4b;background:#e7f4ee;border-radius:5px;padding:3px 5px;line-height:1}.card-arrow{color:#a5afaa;font-size:var(--icon-large);align-self:center}.state-card{color:#69766f;min-height:180px;font-size:var(--font-body);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex}.state-card button{background:var(--brand-soft);color:var(--brand-dark);cursor:pointer;border:0;border-radius:9px;padding:7px 12px}.state-card small{color:#8b9690;display:block}.error-state{color:#a6463e}.spinner{border:3px solid #d9e8e1;border-top-color:var(--brand);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.map-panel{background:#dfe7e2;min-width:0;min-height:0;position:relative}.map-canvas{z-index:1;position:absolute;inset:0}.map-legend{z-index:400;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #cbd8d1e6;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;max-width:calc(100% - 28px);padding:8px 10px;display:flex;position:absolute;top:14px;bottom:auto;left:14px;box-shadow:0 8px 24px #2a41371f}.map-legend span{font-size:var(--font-caption);color:#59665f;align-items:center;gap:4px;font-weight:650;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px}.dot-elementary{background:var(--elementary)}.dot-middle{background:var(--middle)}.dot-high{background:var(--high)}.dot-special{background:var(--special)}.dot-alternative{background:var(--alternative)}.dot-international{background:var(--international)}.legend-separator{background:#d9dfdc;width:1px;height:14px}.map-legend .legend-separator{display:none}.map-legend span:has(.boundary-line){display:none}.boundary-line{border-top:3px solid;width:15px;height:0}.line-hwaseong{border-color:#23a49d}.line-osan{border-color:#304f97}.line-emd{border-color:#9aa4a0;border-top-style:dashed;border-top-width:2px}.school-marker-wrap{background:0 0!important;border:0!important}.school-marker{color:#fff;width:34px;height:34px;font-size:var(--font-caption);border:3px solid #fff;border-radius:50% 50% 50% 7px;justify-content:center;align-items:center;font-weight:900;display:flex;position:relative;transform:rotate(-45deg);box-shadow:0 5px 12px #17251f47}.school-marker b{font-size:var(--font-caption);line-height:1;transform:rotate(45deg)}.marker-elementary{background:var(--elementary)}.marker-middle{background:var(--middle)}.marker-high{background:var(--high)}.marker-special{background:var(--special)}.marker-alternative{background:var(--alternative)}.marker-international{background:var(--international)}.school-cluster-wrap{background:0 0!important;border:0!important}.school-cluster{color:#fff;background:var(--brand);width:40px;height:40px;font-size:var(--font-caption);border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-weight:850;display:inline-flex;box-shadow:0 5px 14px #0d4e364d}.school-cluster-medium{background:#2878d1}.school-cluster-large{background:#304f97}.map-attribution{z-index:401;color:#53615a;background:#ffffffc7;border-radius:4px;align-items:center;gap:3px;padding:3px 5px;font-size:10px;line-height:1.2;display:flex;position:absolute;bottom:7px;right:8px}.map-attribution a{color:inherit;text-decoration:none}.map-attribution a:hover{text-decoration:underline}.leaflet-tooltip{font-family:inherit!important;font-weight:750!important;font-size:var(--font-caption)!important;text-align:center!important;white-space:nowrap!important;border:0!important;border-radius:7px!important;box-shadow:0 4px 14px #1c2c252e!important}.school-name-label{transition:opacity .14s,filter .14s;opacity:0!important;pointer-events:none!important}.school-name-label.is-visible,.leaflet-container.school-labels-visible .school-name-label{opacity:.96!important}.school-marker.is-selected{animation:.16s ease-out both selected-marker-in;box-shadow:0 0 0 3px #f2b84b,0 8px 18px #16231e6b}.school-name-label.is-selected{color:#fff!important;background:var(--brand-dark)!important;box-shadow:0 6px 18px #0d4e3652!important}.school-name-label.is-selected.leaflet-tooltip-top:before{border-top-color:var(--brand-dark)!important}@keyframes selected-marker-in{0%{opacity:0;filter:drop-shadow(0 0 #f2b84b00)}to{opacity:1;filter:drop-shadow(0 0 3px #f2b84b4d)}}.detail-backdrop{z-index:1200;pointer-events:none;background:0 0;position:fixed;inset:68px 0 0}.detail-panel{pointer-events:auto;background:#fff;border-radius:16px;width:min(390px,100vw - 24px);padding:22px 20px 20px;animation:.18s cubic-bezier(.2,.75,.25,1) both detail-panel-in;position:absolute;top:12px;bottom:12px;right:12px;overflow-y:auto;box-shadow:0 20px 60px #142a203d}.detail-backdrop.is-closing .detail-panel{animation:.14s ease-in both detail-panel-out}@keyframes detail-panel-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes detail-panel-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(10px)}}.detail-handle{display:none}.detail-close{width:30px;height:30px;font-size:var(--icon-large);cursor:pointer;color:#5f6c66;background:#f0f3f1;border:0;border-radius:50%;line-height:27px;position:absolute;top:14px;right:14px}.detail-title-row{align-items:center;gap:10px;padding-right:34px;display:flex}.level-badge.large{width:40px;height:40px;font-size:var(--font-body);border-radius:12px;flex:none}.detail-title-row p{color:var(--brand);font-size:var(--font-caption);margin:0 0 2px;font-weight:750}.detail-title-row h2{font-size:var(--font-heading);letter-spacing:-.04em;margin:0}.school-contact{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0 10px;padding:8px 0}.school-contact div{font-size:var(--font-body);grid-template-columns:76px 1fr;gap:6px;padding:4px 0;line-height:1.45;display:grid}.school-contact dt{color:#89938e}.school-contact dd{color:#35423c;margin:0}.phone-value{flex-wrap:wrap;align-items:center;gap:7px;display:inline-flex}.phone-value button{color:var(--brand-dark);font:inherit;font-size:var(--font-caption);cursor:pointer;background:#f8fbf9;border:1px solid #c8dbd0;border-radius:6px;padding:2px 6px;line-height:1.3}.phone-value button:hover{background:var(--brand-soft)}.homepage-link{color:var(--brand-dark);background:var(--brand-soft);font-size:var(--font-body);border-radius:9px;justify-content:space-between;align-items:center;padding:8px 10px;font-weight:750;text-decoration:none;display:flex}.link-only-notice{color:#416281;font-size:var(--font-body);background:#f4f8fd;border:1px solid #cfe0f4;border-radius:10px;margin:0;padding:10px 11px;line-height:1.45}.eyebrow.gyeonggi{color:#304f97}.facility-detail-heading{justify-content:space-between;align-items:flex-end;margin:18px 0 8px;display:flex}.facility-detail-heading h3{font-size:var(--font-heading);margin:0}.facility-detail-heading span{color:#929c97;font-size:var(--font-caption)}.facility-detail-list{gap:6px;display:grid}.facility-detail-card{border:1px solid var(--line);border-radius:11px;padding:10px 11px}.facility-detail-card.is-open{background:#fbfefc;border-color:#bcdcca}.facility-detail-card.is-closed{background:#f7f8f7}.facility-card-head{justify-content:space-between;align-items:center;display:flex}.facility-card-head h4{font-size:var(--font-body);margin:0}.facility-card-head span{color:#7a8580;font-size:var(--font-caption);background:#e9edeb;border-radius:6px;padding:3px 6px;font-weight:800}.is-open .facility-card-head span{color:var(--brand-dark);background:#dff1e8}.schedule-grid{grid-template-columns:max-content minmax(0,1fr);gap:4px 8px;margin-top:8px;display:grid}.schedule-grid div{font-size:var(--font-caption);display:contents}.schedule-grid b{color:#66736c;font-size:var(--font-caption);white-space:nowrap}.schedule-grid span{color:#293730;min-width:0;font-size:var(--font-caption);overflow-wrap:anywhere}.facility-note{color:#6d7973;font-size:var(--font-caption);border-top:1px dashed #d6dfda;margin:7px 0 0;padding-top:6px;line-height:1.45}.detail-disclaimer{color:#8c9691;font-size:var(--font-caption);text-align:center;margin:12px 0 0;line-height:1.45}.notice-backdrop{z-index:1400;background:#16231e1a;place-items:center;padding:20px;animation:.16s both notice-fade-in;display:grid;position:fixed;inset:0}.notice-dialog{border:1px solid var(--line);background:#fff;border-radius:16px;width:min(440px,100%);padding:22px 22px 16px;animation:.18s cubic-bezier(.2,.75,.25,1) both notice-dialog-in;position:relative;box-shadow:0 24px 64px #142a203d}.notice-dialog h2{color:#26352d;font-size:var(--font-heading);letter-spacing:-.03em;margin:0 0 12px}.notice-dialog p{color:#526058;font-size:var(--font-body);word-break:keep-all;margin:0;line-height:1.65}.notice-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:12px;display:flex}.notice-dismiss-option{color:#647169;font-size:var(--font-caption);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;display:inline-flex}.notice-dismiss-option input{width:16px;height:16px;accent-color:var(--brand);margin:0}.notice-confirm{background:var(--brand);color:#fff;min-height:34px;font-size:var(--font-caption);cursor:pointer;border:0;border-radius:8px;padding:0 14px;font-weight:750}.notice-confirm:hover{background:var(--brand-dark)}@keyframes notice-fade-in{0%{opacity:0}to{opacity:1}}@keyframes notice-dialog-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=900px){.topbar{height:62px;padding:0 14px}.brand-logo{width:44px;height:28px}.workspace{grid-template-columns:370px minmax(0,1fr);height:calc(100dvh - 62px)}.detail-backdrop{inset:62px 0 0}}@media (width<=700px){:root{--font-caption:12px;--font-body:14px;--font-subtitle:15px;--font-heading:16px;--font-title:16px;--font-min:12px;--icon-large:16px}html,body{height:100%;overflow:hidden}.app-shell{height:100dvh;min-height:0;overflow:hidden}.topbar{flex:none;position:relative}.header-meta .live-dot{display:none}.workspace{grid-template:"mobile-search""map"minmax(0,1fr)/minmax(0,1fr);height:calc(100dvh - 62px);display:grid}.workspace.mobile-list-open{grid-template-rows:auto minmax(260px,42dvh) minmax(0,1fr);grid-template-areas:"mobile-search""map""sidebar"}.mobile-search-dock{z-index:502;background:#fff;border-bottom:1px solid #edf1ef;grid-area:mobile-search;display:block;position:relative}.map-panel{order:initial;grid-area:map;height:auto;min-height:0}.sidebar{order:initial;border-right:0;border-top:1px solid var(--line);grid-area:sidebar;min-height:0;display:none;overflow:hidden}.workspace.mobile-list-open .sidebar{display:flex}.sidebar .search-section,.sidebar .filter-panel{display:none}.mobile-search-dock .search-section{background:#fff;flex:none;padding:8px 10px}.region-select{flex-basis:70px}.region-trigger{height:42px;font-size:var(--font-body);padding:0 8px}.region-menu{width:min(238px,100vw - 20px);left:-2px}.search-box{height:42px;padding:0 10px}.mobile-filter-button{min-height:42px;padding:0 11px;display:block}.mobile-search-dock .filter-panel{z-index:610;opacity:0;visibility:hidden;pointer-events:none;background:#fffffffa;border:1px solid #d6dfda;border-top:0;max-height:min(58dvh,410px);padding:0 10px 10px;transition:opacity .16s,transform .16s,visibility 0s linear .16s;display:block;position:absolute;top:100%;left:0;right:0;overflow-y:auto;transform:translateY(-6px);box-shadow:0 14px 28px #1b34292e}.mobile-search-dock.mobile-open .filter-panel{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)}.filter-heading{margin:9px 0 5px}.filter-chip{min-height:30px;padding:4px 9px}.results-heading{height:38px;padding:0 10px}.school-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;max-height:none;padding:4px 6px 18px;overflow-y:auto}.school-card{grid-template-columns:32px minmax(0,1fr) 12px;gap:7px;padding:8px 7px}.level-badge{width:30px;height:30px}.facility-tags{margin-top:5px}.map-legend{gap:6px;padding:6px 8px;top:8px;bottom:auto;left:8px}.brand-logo{width:40px;height:26px}.detail-backdrop{pointer-events:none;background:0 0;inset:0}.detail-panel{border-radius:18px 18px 0 0;width:100%;max-height:min(46dvh,440px);padding:22px 12px 16px;animation-name:detail-sheet-in;animation-duration:.22s;inset:auto 0 0}.detail-backdrop.is-closing .detail-panel{animation-name:detail-sheet-out;animation-duration:.17s}.detail-handle{background:#d9dfdc;border-radius:2px;width:36px;height:4px;display:block;position:absolute;top:9px;left:50%;transform:translate(-50%)}.notice-backdrop{align-items:end;padding:16px}.notice-dialog{width:100%;padding:20px 16px 14px}}@keyframes detail-sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes detail-sheet-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}@media (width<=430px){.header-meta{text-align:right;letter-spacing:-.02em;max-width:none;line-height:1.2}.map-legend{gap:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}
