:root{--p-bg:#fff;--p-surface:#f3f3f3;--p-ink:#414142;--p-muted:#686868;--p-accent:#ffe500;--p-accent-ink:#414142;--p-action:#ffe500;--p-action-ink:#414142;--p-inv-bg:#414142;--p-inv-surface:#303030;--p-inv-ink:#fff;--p-inv-muted:#a4a4a4;--p-inv-accent:#ffe500;--p-inv-accent-ink:#414142;--p-inv-action:#ffe500;--p-inv-action-ink:#414142;--font-display:"Noto Sans CJK TC", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-text:"Noto Sans CJK TC", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-mono:"DM Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--display-weight:500;--display-tracking:-.028em;--display-tracking-xl:-.036em;--display-stretch:96%;--ly-scale:1.04;--line:#e5e5e6;--brand-gray:#d1d3d4;--amber:#805a14;--radius:8px}*{box-sizing:border-box}body{color:var(--p-ink);font:400 16px/1.65 var(--font-text);background:var(--p-bg);margin:0}button,input,select{font:inherit}a,button,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0;transition:background .14s,transform .14s}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}a:hover{text-underline-offset:4px;text-decoration:underline}button:active{transform:translateY(1px)}#query-title:focus-visible,.comparison-scroll:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--p-ink);outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3,strong{font-weight:500}h1{letter-spacing:0;font-size:32px;font-weight:700;line-height:1.2}h2{letter-spacing:-.02em;font-size:20px}h2,h3{line-height:1.5}h3{font-size:17px}.field-help,.muted,small{color:var(--p-muted)}.field-help,small{font-size:13px;line-height:1.6}.header{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;height:72px;padding:0 28px}.header,.wordmark{align-items:center;display:flex}.wordmark{white-space:nowrap;letter-spacing:-.03em;gap:12px;font-size:21px;font-weight:500}.wordmark:hover{text-decoration:none}.brand-symbol{place-items:center;width:36px;height:36px;display:grid}.brand-symbol img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%;display:block}.service-name{letter-spacing:0;font-size:21px;font-weight:600}.header-right{align-items:center;gap:24px;display:flex}.year-label{color:#4e5751;font-size:14px}.plain{min-height:44px;padding:10px 0;font-size:14px}.example-button:hover,.plain:hover{text-underline-offset:4px;text-decoration:underline}.compare-button{border:1px solid #d8deda;border-radius:8px;align-items:center;gap:8px;height:44px;padding:0 14px;font-size:14px;display:flex}.compare-button:hover{background:var(--p-surface)}.count{background:#f3f3f3;border-radius:5px;place-items:center;min-width:23px;height:24px;font-size:13px;display:grid}.skip-link{z-index:2000;background:#fff;padding:12px;position:fixed;top:-70px;left:12px}.skip-link:focus{top:12px}.app-shell{grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;min-height:34rem;display:grid}.workspace{grid-template-columns:400px minmax(0,1fr);min-height:0;display:grid}.query-panel{overscroll-behavior-y:contain;scrollbar-gutter:stable;border-right:1px solid var(--line);z-index:500;background:#fff;min-width:0;min-height:0;scroll-padding-block:16px;display:block;overflow-y:auto}.query-top{border-bottom:1px solid var(--line);padding:24px}.query-top h1{letter-spacing:-.025em;font-size:28px;line-height:1.4}.local-label{color:var(--p-muted);align-items:center;gap:8px;margin-bottom:10px;font-size:13px;display:flex}.local-label>span{background:var(--p-accent);border-radius:50%;width:6px;height:6px}.intro{color:var(--p-muted);margin-top:8px;margin-bottom:24px;font-size:14px}.mode-tabs{border-bottom:1px solid var(--line);gap:20px;margin-bottom:20px;display:flex}.mode-tabs button{min-height:48px;color:var(--p-muted);flex:1;font-size:14px}.mode-tabs button[aria-selected=true]{color:var(--p-ink);font-weight:600}.mode-tabs button:hover,input,select{color:var(--p-ink)}label{margin-bottom:8px;font-size:14px;font-weight:500;display:block}input,select{background:#fff;border:1px solid #d1d3d4;border-radius:8px;width:100%;min-width:0;min-height:48px;padding:10px 12px;font-size:16px}input::placeholder{color:#717171;font-size:14px}.field-help{margin-top:8px}.primary-button{background:var(--p-action);color:var(--p-action-ink);border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:16px;font-size:16px;font-weight:600;display:flex}.primary-button:hover{background:var(--p-ink);color:var(--p-accent);transform:translateY(-1px)}.filters{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}.filters label{margin:0;font-size:13px}.filters select{min-height:44px;margin-top:6px;padding:8px;font-size:14px}.results{min-height:180px;padding:24px}.welcome{padding:0 0 12px}.welcome h2{font-size:19px}.welcome>p{color:var(--p-muted);font-size:14px}.example-button{color:var(--p-ink);text-align:left;align-items:center;gap:4px;min-height:44px;padding:16px 0 24px;font-size:14px;display:flex}.welcome-rule{align-items:flex-start;gap:12px;margin-top:16px;display:flex}.welcome-rule p{color:var(--p-muted);font-size:14px}.legend-swatch{background:#fff27a6b;border:1px solid #414142;border-radius:3px;flex:none;width:14px;height:14px;margin-top:4px;display:inline-block}.legend-swatch.junior{background:#d995009e;border:2px dashed #414142}.legend-swatch.pending{background:repeating-linear-gradient(135deg,#f4f5f4,#f4f5f4 3px,#dce0dd 0 4px);border-color:#abb3ad}.section-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.section-head>.muted{font-size:13px}.badge{white-space:nowrap;border-radius:5px;padding:3px 7px;font-size:12px;line-height:1.6;display:inline-block}.badge.good{color:#414142;background:#ffe500}.badge.pending{color:var(--amber);background:#fff3da}.school-row{text-align:left;border-bottom:1px solid #edf0ed;align-items:center;gap:12px;width:100%;min-height:76px;padding:16px 0;display:flex}.school-row:hover{background:#f6f6f6}.school-mark{color:#414142;background:#fff27a;border-radius:8px;flex:none;place-items:center;width:36px;height:36px;font-size:12px;display:grid}.school-mark.junior{color:#292929;background:#d99500}.school-row-text{flex:1;min-width:0}.school-row strong{font-size:17px;display:block}.school-row small{margin-top:4px;font-size:12px;display:block}.school-row>svg{color:#7f8981;flex:none}.result-heading{justify-content:space-between;align-items:center;gap:8px;scroll-margin-block-start:16px;display:flex}.result-heading .muted{font-size:13px}.resolved-address{word-break:break-all;padding-top:10px;font-size:15px}.stage-result{border-bottom:1px solid var(--line);padding:20px 0}.stage-result>.section-head .badge.good{background:var(--p-surface);color:var(--p-ink)}.stage-result>.section-head{margin-bottom:8px}.stage-result .school-row{border:0;padding:8px 0}.stage-result .muted{font-size:15px}.rule-lines p{color:var(--p-muted);margin-top:6px;font-size:13px}.source-links{flex-direction:column;align-items:flex-start;gap:8px;margin-top:12px;display:flex}.source-links a,.text-link{color:var(--p-ink);text-underline-offset:3px;align-items:center;gap:6px;min-height:32px;font-size:13px;text-decoration:underline;display:inline-flex}.source-links svg,.text-link svg{width:14px;height:14px}.admission-note{border-left:3px solid var(--p-accent);margin:24px 0;padding:0 0 0 12px}.admission-note strong{font-size:14px}.admission-note p{color:var(--p-muted);margin-top:6px;font-size:13px}.secondary-button{border:1px solid #d1d3d4;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 16px;font-size:14px;display:flex}.secondary-button:hover{background:#f3f3f3}.back-button{color:var(--p-muted);align-items:center;gap:4px;min-height:44px;margin-top:-12px;margin-bottom:16px;padding:0;font-size:14px;display:flex}.back-button svg{width:16px}.detail-title{align-items:center;gap:10px;margin:8px 0;display:flex}.detail-title h2{font-size:23px}.school-address{color:var(--p-muted);margin-bottom:12px;font-size:14px}.school-detail>.muted{margin-top:12px;font-size:14px}.school-detail>h3{margin-top:28px;margin-bottom:12px}.district-rules{margin:0;padding:0;list-style:none}.district-rules li{border-bottom:1px solid #edf0ed;padding:10px 0}.district-rules strong{font-size:15px;display:block}.district-rules span{color:var(--p-muted);font-size:13px}.school-item{border-bottom:1px solid var(--line)}.school-item .school-row{border:0}.school-item .disclosure{transition:transform .16s}.school-item.is-expanded .disclosure{color:var(--p-ink);transform:rotate(180deg)}.school-item.is-expanded .school-row strong{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.school-brief{padding:0 0 14px 48px}.admission-highlight{color:var(--p-muted);margin:4px 0 6px;font-size:14px;line-height:1.75}.school-actions{flex-wrap:wrap;gap:2px 14px;font-size:13px;display:flex}.school-actions a{min-height:44px;color:var(--p-ink);text-underline-offset:3px;align-items:center;text-decoration:underline;display:inline-flex}.lookup-reasons{margin:8px 0 12px;font-size:14px}.lookup-reasons summary{cursor:pointer;color:var(--p-muted)}.school-page-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:16px calc(max(24px,50vw - 440px));display:flex}.school-page-header>span{color:var(--p-muted);font-size:14px}.school-page-header .brand{color:var(--p-ink);white-space:nowrap;align-items:center;gap:12px;font-size:19px;font-weight:600;display:inline-flex}.school-page-header .brand img{-o-object-fit:contain;object-fit:contain;width:36px;height:36px}.school-page{max-width:880px;margin:auto;padding:36px 24px 60px}.school-page .detail-title h1{letter-spacing:-.02em;font-size:30px}.school-page .school-detail>h2{margin:36px 0 16px;font-size:21px}.school-page .school-detail>.muted{margin:10px 0}.admission-disclaimer{border-left:3px solid var(--p-accent);color:var(--p-muted);margin:20px 0;padding-left:12px;font-size:14px}.admission-condition{border-top:1px solid var(--line);padding:18px 0}.condition-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.condition-heading h3{margin:0;font-size:16px}.admission-condition>p{margin:8px 0;font-size:15px}.admission-condition ul{margin:10px 0;padding-left:20px;font-size:14px;line-height:1.9}.condition-toggle{min-height:32px;margin:3px 0 8px;font-size:13px}.admission-condition .source-links{margin-top:4px}.school-page footer{border-top:1px solid var(--line);padding-top:24px;font-size:14px}.condition,.school-page footer p{margin-top:12px}@media (width<=600px){.school-page{padding:24px 18px 40px}.school-page-header{padding:14px 18px}.school-page-header>span{font-size:12px}.school-brief{padding-left:0}.school-actions a{min-height:44px}.school-page .detail-title h1{font-size:25px}}@media (prefers-reduced-motion:reduce){.school-item .disclosure{transition:none}*,:after,:before{transition:none!important;animation:none!important}}.condition{font-size:15px}.condition .badge{margin-right:6px}.school-contact{flex-direction:column;gap:10px;margin:24px 0;font-size:14px;display:flex}.school-contact a{align-items:center;gap:6px;min-height:32px;display:flex}.school-contact svg{width:14px}.error,.notice{color:#77541d;background:#fff5e3;border-radius:6px;margin-bottom:16px;padding:12px;font-size:14px}.error{color:#9b3831;background:#fff0ef}.candidates p{margin-top:16px;font-size:14px}.candidates button{text-align:left;border:1px solid var(--line);border-radius:6px;align-items:center;gap:8px;width:100%;margin-top:8px;padding:12px;font-size:14px;display:flex}.empty{color:var(--p-muted);padding:32px 0}.empty p{margin-top:12px}.map-panel{--map-legend-bottom:20px;--map-legend-clearance:90px;background:#f0f0f0;min-width:0;position:relative;overflow:hidden}.map-panel .map{font-family:var(--font-text);background:#f3f3f3;position:absolute;inset:0}.map-panel .leaflet-control-attribution{font:11px/1.6 var(--font-text)}.map-panel .leaflet-control-zoom{overflow:hidden;border:1px solid #d4dcd5!important;border-radius:8px!important;margin:0 20px 72px 0!important;box-shadow:0 2px 8px #24352b10!important}.map-panel .leaflet-control-zoom a{border-color:var(--line)!important;width:40px!important;height:40px!important;font-size:22px!important;line-height:40px!important}.map-panel .leaflet-control-scale{margin-left:20px!important;margin-bottom:calc(8px + var(--map-legend-height,80px) + var(--map-legend-bottom))!important}.map-toolbar{z-index:450;pointer-events:none;align-items:center;gap:12px;display:flex;position:absolute;top:20px;left:20px;right:20px}.map-switch{pointer-events:auto;background:#fff;border:1px solid #dce2dd;border-radius:10px;gap:4px;padding:4px;display:flex;box-shadow:0 2px 8px #24352b0d}.map-switch button{color:#686e69;border-radius:6px;min-height:38px;padding:4px 16px;font-size:14px}.map-switch button[aria-pressed=true]{color:#414142;background:#ffe500}.map-switch button:not([aria-pressed=true]):hover{background:#f3f3f3}.map-year{background:#fff;border:1px solid #e1e6e1;border-radius:7px;margin-left:auto;padding:8px 12px;font-size:13px}.map-caption{z-index:450;pointer-events:none;background:#ffffffed;border:1px solid #e0e7df;border-radius:8px;max-width:calc(100% - 40px);padding:12px 16px;position:absolute;top:88px;left:20px}.map-caption strong{font-size:15px;display:block}.map-caption span{color:var(--p-muted);margin-top:2px;font-size:12px;display:block}.map-legend{z-index:450;left:20px;bottom:var(--map-legend-bottom);max-width:calc(100% - var(--map-legend-clearance));background:#fff;border-radius:8px;flex-wrap:wrap;gap:16px;padding:10px 14px;position:absolute;box-shadow:0 2px 8px #24352b0d}.map-legend,.map-legend>span{align-items:center;display:flex}.map-legend>span{gap:7px;font-size:12px;line-height:1.6}.map-legend .legend-swatch{width:12px;height:12px;margin:0}.map-empty,.tile-notice{z-index:450;text-align:center;background:#fff;border:1px solid #dce2dd;border-radius:10px;width:min(340px,100% - 40px);padding:24px;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 24px #20342810}.map-empty>svg{color:#9aa39c;width:28px;height:28px;margin-bottom:10px}.map-empty strong{display:block}.map-empty p{color:var(--p-muted);margin-top:10px;font-size:14px}.tile-notice{width:auto;max-width:80%;padding:12px;font-size:13px;top:auto;bottom:84px;transform:translate(-50%)}.map-panel .leaflet-tooltip{font:13px/1.6 var(--font-text);white-space:normal;border:0;border-radius:6px;min-width:160px;padding:8px 12px;box-shadow:0 2px 12px #1d302524}.map-panel .leaflet-container a{color:#414142}dialog{border:1px solid var(--line);width:min(680px,100% - 32px);max-height:calc(100dvh - 48px);color:var(--p-ink);font-family:var(--font-text);overscroll-behavior:contain;border-radius:16px;padding:28px}dialog::backdrop{background:#16261db3}dialog.compare-dialog{width:min(1100px,100% - 32px)}.dialog-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.dialog-header h2{font-size:26px}.dialog-header .local-label{margin-bottom:6px}.icon-button{border:1px solid var(--line);border-radius:8px;place-items:center;min-width:44px;min-height:44px;display:grid}.icon-button:hover{background:var(--p-surface)}.source-body>p{margin-bottom:16px;font-size:15px}.source-body>h3{margin-top:24px}.coverage-list{margin:24px 0}.coverage-list>div{border-bottom:1px solid var(--line);grid-template-columns:140px 1fr;gap:16px;padding:12px 0;font-size:14px;display:grid}.coverage-list dt,.stage-conditions p{color:var(--p-muted)}.coverage-list dd{margin:0}.source-dates{margin:12px 0 24px;padding:0;list-style:none}.source-dates li{border-bottom:1px solid var(--line);justify-content:space-between;gap:8px;padding:8px 0;font-size:12px;display:flex}.source-dates li span{word-break:break-word}.comparison-scroll{margin:24px 0;overflow-x:auto}.comparison-scroll table{border-collapse:collapse;text-align:left;table-layout:fixed;width:100%;min-width:620px}.comparison-scroll td,.comparison-scroll th{vertical-align:top;border-bottom:1px solid var(--line);border-right:1px solid var(--line);word-break:break-word;min-width:160px;padding:16px;font-size:14px}.comparison-scroll th:first-child{background:#f6f6f6;width:128px}.comparison-scroll td:last-child,.comparison-scroll th:last-child{border-right:0}.comparison-scroll thead th{border-bottom:2px solid #dce4dd}.comparison-scroll .remove{min-height:36px;margin-top:8px;padding:0;display:block}.release-text{word-break:break-all;margin-top:6px;font-size:12px;display:block}.clear-button{width:auto;margin-left:auto}.comparison-scroll+button{margin-top:20px}@media (width>=1600px){.workspace{grid-template-columns:430px minmax(0,1fr)}.query-top,.results{padding-left:32px;padding-right:32px}}@media (width<=1023px) and (width>=768px){.map-panel{--map-legend-clearance:82px}.workspace{grid-template-columns:350px minmax(0,1fr)}.query-top,.results{padding-left:20px;padding-right:20px}.header{padding:0 20px}.header-right{gap:16px}.header-source,.map-year{display:none}.map-toolbar{gap:6px;top:12px;left:12px;right:12px}.map-switch button{padding:4px 12px}.map-caption{padding:10px 12px;top:76px;left:12px}.map-legend{left:12px;bottom:var(--map-legend-bottom);max-width:calc(100% - var(--map-legend-clearance));gap:8px;padding:8px}}@media (height<=500px) and (pointer:coarse),(width<=767px){.app-shell{height:auto;display:block}.header{gap:8px;height:60px;padding:0 16px}.wordmark{gap:12px;font-size:18px}.brand-symbol{width:30px;height:30px}.service-name{font-size:18px}.header-right{gap:8px}.compare-button>svg,.header-source,.year-label{display:none}.compare-button{gap:6px;height:40px;min-height:40px;padding:0 8px;font-size:13px}.count{min-width:20px;height:22px}.workspace{flex-direction:column;height:auto;min-height:calc(100dvh - 60px);display:flex}.query-panel{display:contents}.query-top{border:0;order:0;padding:20px 16px 16px}.query-top .local-label{margin-bottom:6px;font-size:12px}h1{font-size:32px}.city-picker{--city-picker-margin:8px}.intro{margin:6px 0 16px;font-size:14px}.mode-tabs{margin-bottom:16px}.mode-tabs button{min-height:44px}.primary-button{margin-top:12px}.field-help{font-size:12px}.map-panel{--map-legend-bottom:24px;--map-legend-clearance:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex:none;order:1;height:360px;min-height:360px}.results{flex:none;order:2;min-height:200px;padding:24px 16px;overflow:visible}.map-toolbar{top:12px;left:12px;right:12px}.map-caption{padding:8px 12px;top:72px;left:12px}.map-caption strong{font-size:14px}.map-caption span{font-size:11px}.map-switch button{min-height:36px;padding:4px 12px;font-size:13px}.map-year{padding:6px 8px;font-size:12px}.map-legend{left:12px;bottom:var(--map-legend-bottom);max-width:calc(100% - var(--map-legend-clearance));gap:10px;padding:7px 10px}.map-legend>span{font-size:11px}.map-panel .leaflet-control-zoom{margin:0 12px 54px 0!important}.map-panel .leaflet-control-zoom a{width:36px!important;height:36px!important;line-height:36px!important}.map-panel .leaflet-control-scale{margin-left:12px!important}.map-panel .leaflet-control-attribution{font-size:10px}.welcome{padding:0}.welcome-rule p{font-size:14px}.welcome-rule{margin-top:12px}.example-button{padding-bottom:12px}.stage-result{padding:20px 0}.map-empty{width:min(300px,100% - 40px);padding:16px;top:56%}.map-empty p{font-size:13px}.map-empty>svg{display:none}.tile-notice{min-width:230px;max-width:82%;bottom:80px}.resolved-address{font-size:15px}dialog{border-radius:12px;max-height:calc(100dvh - 24px);padding:20px 16px}dialog,dialog.compare-dialog{width:calc(100% - 24px)}.dialog-header h2{font-size:23px}.coverage-list>div{grid-template-columns:110px 1fr;gap:12px}.source-dates li{font-size:11px}.comparison-scroll td,.comparison-scroll th{padding:12px}.comparison-scroll th:first-child{width:100px}}.stage-conditions p{margin-top:12px;font-size:13px;line-height:1.7}.stage-conditions .badge{margin-right:6px}.compare-condition{margin-top:12px;font-size:13px}.verification-case{border-top:1px solid var(--line,#dde3df);overflow-wrap:anywhere;margin:12px 0;padding:14px 0;font-size:14px;line-height:1.7}.verification-case summary{cursor:pointer;font-weight:600}.verification-case .verification-heading,.verification-case h4{margin:18px 0 8px}.verification-case ul{padding-left:20px}.verification-contacts li{margin-bottom:16px}.verification-contacts a{color:var(--p-ink);align-items:center;gap:5px;display:inline-flex}.verification-contacts p{margin:3px 0}.map-selected-school{border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:20px}.city-picker{margin:var(--city-picker-margin,18px) 0;border:0;min-width:0;padding:0}.city-picker>label{margin-bottom:8px;font-size:14px;font-weight:600;display:block}.city-picker-control{position:relative}.city-picker-pin{z-index:1;background:var(--p-accent);pointer-events:none;border-radius:6px;place-items:center;width:28px;height:28px;display:grid;position:absolute;inset:12px auto auto 14px}.city-picker select{width:100%;min-height:52px;font:inherit;letter-spacing:0;background:var(--p-bg);color:var(--p-ink);cursor:pointer;border:1px solid #b8b8b8;border-radius:8px;padding:8px 16px 8px 54px;font-size:18px;font-weight:600}.city-picker select:hover{border-color:var(--p-ink)}.city-picker select:focus-visible{outline:3px solid var(--p-ink);outline-offset:3px}.city-picker optgroup>legend{display:none}@supports (appearance:base-select){.city-picker select{appearance:base-select}.city-picker select::picker(select){appearance:base-select}.city-picker select{align-items:center;gap:12px}.city-picker select:open{border-color:var(--p-ink)}.city-picker select::picker-icon{content:"";border:2px solid;border-width:0 2px 2px 0;width:9px;height:9px;margin-inline-end:4px;translate:0 -2px;rotate:45deg}.city-picker select:open::picker-icon{translate:0 2px;rotate:225deg}.city-picker select::picker(select){width:anchor-size(width);border:1px solid var(--p-ink);background:var(--p-bg);max-width:calc(100vw - 32px);max-height:calc(min(540px,65dvh));color:var(--p-ink);font:500 15px/1.5 var(--font-text);border-radius:12px;margin:8px 0;padding:16px;box-shadow:0 12px 32px #41414224}.city-picker select:open::picker(select){gap:16px;display:grid}.city-picker optgroup{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0;display:grid}.city-picker optgroup>legend{float:left;width:100%;color:var(--p-muted);grid-column:1/-1;margin-bottom:2px;padding:0;font-size:12px;font-weight:500;display:block}.city-picker option{border:1px solid var(--line);background:var(--p-bg);min-width:0;min-height:46px;color:var(--p-ink);cursor:pointer;white-space:normal;border-radius:6px;align-items:center;padding:9px 25px 9px 12px;font-weight:600;display:flex;position:relative}.city-picker option:hover{border-color:var(--p-ink);background:var(--p-surface)}.city-picker option:checked{border-color:var(--p-ink);background:var(--p-accent)}.city-picker option:focus-visible{outline:2px solid var(--p-ink);outline-offset:-3px}.city-picker option::checkmark{font-size:13px;font-weight:700;position:absolute;inset-inline-end:9px}.city-picker option:disabled{color:var(--p-muted);background:var(--p-surface);cursor:default}}.address-evidence{margin:-8px 0 20px;font-size:13px}.address-evidence summary{cursor:pointer;text-underline-offset:3px;text-decoration:underline}.map .leaflet-tile-pane{filter:grayscale()}.mode-tabs button{position:relative}.mode-tabs button[aria-selected=true]:after{content:"";border-block-end:2px solid;position:absolute;inset:auto 0 -1px}.visually-hidden:where(:not(:focus-within,:active)){clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.address-hint{margin:0 0 8px}.school-shell{flex-direction:column;min-height:100dvh;display:flex}.school-shell>.school-page{flex:1;width:100%}.site-footer{isolation:isolate;padding:14px max(24px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));border-top:3px solid var(--p-accent);background:var(--p-inv-bg);color:var(--p-inv-ink);grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;display:grid;position:relative;container:site-footer/inline-size}.footer-folds{width:260px;height:100%;stroke:var(--brand-gray);stroke-width:1px;opacity:.12;pointer-events:none;z-index:-1;position:absolute;top:0;right:0}.footer-top{grid-column:1/-1;grid-template-columns:minmax(200px,1fr) minmax(0,.8fr) auto;align-items:center;gap:16px 24px;display:grid}.footer-brand{width:fit-content;color:var(--p-inv-ink);align-items:center;gap:12px;display:inline-flex}.footer-brand:hover{text-decoration:none}.footer-logo{background:var(--p-bg);border-radius:6px;flex:none;place-items:center;width:40px;height:40px;display:grid}.footer-logo img{width:34px;height:34px;display:block}.footer-wordmark{flex-direction:column;gap:2px;display:flex}.footer-wordmark strong{letter-spacing:.02em;font-size:20px;font-weight:700;line-height:1.2}.footer-wordmark>span{color:var(--brand-gray);font-size:12px}.footer-reminder{color:var(--brand-gray);font-size:13px}.footer-info-action{background:var(--p-accent);min-height:44px;color:var(--p-ink);border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:8px 14px;font-size:13px;font-weight:600;transition:transform .14s;display:inline-flex}.footer-info-action:hover{text-decoration:none;transform:translateY(-2px)}.footer-info-action:active{transform:translateY(0)}.footer-action-symbol{font-size:20px;font-weight:400;line-height:1}.site-footer :is(a,button):focus-visible{outline-color:var(--p-accent)}.footer-bottom{color:var(--brand-gray);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 16px;font-size:11px;display:flex}@container site-footer (width<=42rem){.footer-top{grid-template-columns:minmax(0,1fr);gap:8px}.footer-bottom,.footer-public-links{grid-column:1/-1}.footer-info-action{justify-self:start}.footer-bottom{border-top:1px solid #d1d3d433;flex-direction:column;align-items:flex-start;gap:4px;padding-top:12px}}@media (height<=500px) and (pointer:coarse),(width<=767px){.site-footer{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}@media (prefers-reduced-motion:reduce){.footer-info-action{transition:none}.footer-info-action:hover{transform:none}}.map--junior .leaflet-tile-pane{filter:grayscale()brightness(1.08)}.footer-actions{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.footer-report-action{border:1px solid var(--brand-gray);min-height:44px;color:var(--p-inv-ink);border-radius:6px;align-items:center;gap:12px;padding:8px 14px;font-size:13px;display:inline-flex}.footer-report-action:hover{background:#d1d3d41a}.issue-report-dialog{width:min(620px,100% - 32px)}.issue-report-dialog form{gap:12px;min-width:0;display:grid}.report-intro{color:var(--p-muted);margin-bottom:20px;font-size:14px}.report-close{flex:none;min-width:48px;min-height:48px;font-size:24px}.report-types{border:1px solid var(--brand-gray);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;min-width:0;padding:8px 12px;display:grid}.report-types legend{padding:0 4px;font-weight:600}.report-types label{cursor:pointer;align-items:center;gap:8px;min-height:48px;font-size:14px;display:flex}.report-types input{accent-color:#414142;flex:none;width:18px;height:18px;min-height:0;margin:0}.issue-report-dialog textarea{resize:vertical;width:100%;max-width:100%;font:inherit;border:1px solid #767676;border-radius:6px;min-height:100px;padding:12px;font-size:16px;display:block}.report-help{color:var(--p-muted);overflow-wrap:anywhere;font-size:13px}.report-preview{border:1px solid var(--brand-gray);border-radius:6px;padding:12px}.report-preview summary{cursor:pointer;min-height:48px}.report-preview label{margin:8px 0;display:block}.report-preview textarea{background:#f7f7f7}.report-actions{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.report-actions :is(button,a){border-radius:6px;justify-content:center;align-items:center;min-height:48px;padding:10px 14px;font-size:14px;display:inline-flex}.report-github{border:1px solid var(--p-ink);color:var(--p-ink)}.report-status:empty{display:none}.report-status{font-size:14px}@media (width<=400px){.report-types{grid-template-columns:minmax(0,1fr)}}.map-legend--mixed .legend-swatch.junior{background:repeating-linear-gradient(135deg,#0000 0 4px,#d99500 0 6px)}.footer-public-links{flex-wrap:wrap;gap:0 20px;font-size:13px;display:flex}.footer-public-links a{align-items:center;min-height:44px;display:inline-flex}
