:root{--ink:#193932;--muted:#60706b;--green:#14654d;--line:#dbe3df;--paper:#fafbf8;--red:#c95740;--amber:#aa7013;--blue:#3279a2}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:15px/1.6 system-ui,-apple-system,"Noto Sans TC","Microsoft JhengHei",sans-serif;background:var(--paper)}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer;background:white;border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:42px;padding:8px 14px}button:hover{background:#edf4ef}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #db9a35;outline-offset:3px}a{color:var(--green)}header{height:86px;display:flex;align-items:center;gap:28px;padding:14px 28px;border-bottom:1px solid var(--line);background:white}h1{font-size:23px;margin:0;letter-spacing:.04em}.brand{text-decoration:none}.brand b{font-size:25px;letter-spacing:.07em}.brand span{display:block;font-size:10px;letter-spacing:.1em}.heading span{font-size:12px;color:var(--muted)}header>button{font-size:13px}.sitelink{margin-left:auto;font-size:13px;white-space:nowrap}.heading{min-width:0}.noscript{position:absolute;inset:20px;z-index:900;background:white;padding:20px;border-radius:12px;font-size:14px}main{height:calc(100dvh - 86px);position:relative;overflow:hidden}#map{height:100%;background:#e6eee8;z-index:0}.searchbar{position:absolute;left:24px;top:20px;width:390px;z-index:500;background:white;padding:18px;border-radius:15px;box-shadow:0 8px 28px #213b3126}.searchbar label{font-size:12px;font-weight:650}.searchbox{display:flex;align-items:center;border:1px solid #abbeb3;border-radius:8px;margin-top:5px;overflow:hidden}.searchbox span{font-size:26px;padding-left:10px}.searchbox input{width:100%;min-width:0;border:0;padding:10px 8px;outline-offset:-3px;font-size:13px}.searchbox button{border:0;border-radius:0;background:var(--green);color:white;font-size:13px;white-space:nowrap}.filters{display:flex;gap:5px;margin:14px 0 10px}.filters button{min-height:38px;padding:7px 8px;font-size:12px;flex:1;white-space:nowrap}.filters .active{background:var(--ink);color:white;border-color:var(--ink)}i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.red{background:var(--red)}.amber{background:var(--amber)}.blue{background:var(--blue)}.selects{display:flex;gap:6px}.selects select{width:38%;min-width:0;font-size:12px}.selects button{font-size:12px;padding:6px 8px}select{border:1px solid var(--line);background:white;border-radius:7px;padding:9px;color:var(--ink);min-height:42px}#sheet{position:absolute;z-index:500;left:24px;top:235px;bottom:44px;width:390px;background:white;border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 28px #213b311a;overflow:hidden}.sheetcontent{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:20px}#sheetToggle{display:none}h2{font-size:20px;line-height:1.4;margin:0 0 12px}h3{font-size:16px;margin:20px 0 8px}.result-heading span{display:block;font-size:13px;font-weight:600}.hint{color:var(--muted);font-size:12px;line-height:1.6}.result{display:block;width:100%;text-align:left;padding:14px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.result strong{display:block;font-size:14px}.result small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.badges{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.badge{font-size:10px;border-radius:4px;padding:2px 6px;background:#edf3f0;color:var(--ink)}.badge.orders{background:#fcf0ed;color:#a5432e}.badge.mbis{background:#fff4dc;color:#855408}.badge.mwis{background:#e9f3fa;color:#216489}.maptools{position:absolute;z-index:450;right:20px;top:20px;display:flex;gap:8px}.maptools button{box-shadow:0 3px 14px #213b3115;font-size:12px}.sourcebar{position:absolute;bottom:0;left:0;background:#fffffff0;padding:7px 24px;font-size:10px;z-index:450;color:var(--muted);max-width:calc(100% - 190px)}#maperror{position:absolute;top:78px;right:20px;z-index:500;background:#fff5dd;padding:12px;max-width:280px;font-size:12px}.leaflet-control-zoom{margin-top:80px!important}.pin{width:20px;height:20px;border:3px solid white;border-radius:50%;background:var(--green);box-shadow:0 1px 5px #0005}.pin.orders{background:var(--red)}.pin.mbis{background:var(--amber)}.pin.mwis{background:var(--blue)}.pin.reference{background:#758078}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:#14654d30}.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:#1c6851;color:white}.back{padding:4px 0;min-height:36px;border:0;background:transparent;margin-bottom:12px;font-size:12px}.address-en{color:var(--muted);font-size:12px;word-break:break-word}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:650;color:var(--green)}.notice{background:#f8f2e4;border:1px solid #e7d9b9;border-radius:9px;padding:13px;font-size:12px;margin:16px 0}.notice p{margin:5px 0 0}.record{border-top:1px solid var(--line);padding:12px 0}.record h3{margin:0 0 9px;font-size:14px}.numbers{display:flex;gap:16px}.numbers>div{flex:1;font-size:11px;color:var(--muted)}.numbers b{display:block;color:var(--ink);font-size:26px;line-height:1.3}.record details{font-size:11px;color:var(--muted);margin-top:8px}.record summary{cursor:pointer}.record a{display:block}.primary,.secondary{display:block;text-align:center;padding:12px;border-radius:8px;font-size:14px;font-weight:650;text-decoration:none;margin:8px 0;width:100%;min-height:46px}.primary{background:var(--green);color:white;border:0}.secondary{background:white;border:1px solid var(--green);color:var(--green)}.actions{position:sticky;bottom:-20px;background:white;padding:8px 0 12px;border-top:1px solid var(--line);margin-top:20px}.officiallinks{display:flex;gap:10px;flex-wrap:wrap;font-size:12px}dialog{width:min(720px,calc(100% - 26px));max-height:86dvh;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 20px 80px #183b3230;color:var(--ink)}dialog::backdrop{background:#10281d88}dialog p{font-size:14px}.close{float:right;font-size:24px;min-width:42px;padding:2px 10px;margin:-12px -12px 8px 10px}dialog label{display:block;margin-top:16px;font-size:13px}dialog select{display:block;width:100%}#sources details{padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}#sources summary{cursor:pointer}#sources a{margin-right:12px}#more{width:100%;margin-top:14px}.empty{padding:20px 0}button[hidden],[hidden]{display:none!important}
@media(max-width:700px){header{height:70px;padding:10px 14px;gap:12px}.brand b{font-size:19px}.brand span{font-size:8px}.heading h1{font-size:16px}.heading span{font-size:10px}header>button{margin-left:auto;font-size:10px;padding:5px 8px;min-height:36px;flex-shrink:0}.sitelink{display:none}.heading span{display:block;line-height:1.3}main{height:calc(100dvh - 70px)}.searchbar{top:12px;left:12px;right:12px;width:auto;padding:12px;border-radius:12px}.searchbar label{display:none}.searchbox{margin:0}.filters{margin:9px 0 7px}.filters button{padding:6px 4px;font-size:11px;min-height:34px}.selects select{width:42%;padding:5px 8px;min-height:34px}.selects button{min-height:34px}.maptools{right:12px;top:188px;gap:5px}.maptools button{min-height:34px;padding:5px 9px;font-size:11px}.leaflet-control-zoom{margin-top:230px!important}.sourcebar{bottom:calc(30dvh + 6px);font-size:9px;left:7px;max-width:calc(100% - 14px);padding:3px 6px;border-radius:4px}#sheet{left:0;right:0;width:100%;top:auto;bottom:0;height:30dvh;border-radius:20px 20px 0 0;transition:height .2s ease}#sheet.expanded{height:69dvh}#sheetToggle{display:flex;flex-direction:column;align-items:center;width:100%;height:38px;padding:6px 0 1px;border:0;border-radius:0;font-size:10px;min-height:38px;background:white}.handle{width:36px;height:4px;border-radius:5px;background:#b7c6bc;margin-bottom:3px}.sheetcontent{height:calc(100% - 38px);padding:10px 20px calc(20px + env(safe-area-inset-bottom))}.result-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.result-heading h2{font-size:17px;margin:0}.result-heading span{font-size:11px}.hint{margin-top:6px}.actions{bottom:-20px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}#sheet.expanded~.sourcebar{display:none}dialog{padding:24px 20px}#maperror{top:230px;right:10px;max-width:210px}.leaflet-control-attribution{font-size:8px!important}.leaflet-bottom{bottom:30dvh}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.selects button{flex-shrink:0;white-space:nowrap}
#buildingTitle:focus{outline:none}
