*{box-sizing:border-box}body{margin:0;background:#f7f4e9;color:#293c35;font-family:Arial,'Noto Sans TC',sans-serif}header{display:flex;justify-content:space-between;align-items:center;padding:25px 5%;border-bottom:1px solid #293c3525}a{color:inherit;text-decoration:none}header>a:first-child{font-size:20px;font-weight:700}header small{display:block;font-size:9px;letter-spacing:2px;margin-top:7px}header>a:last-child{font-size:12px}main{max-width:1250px;margin:auto;padding:45px 5% 20px}.intro>span,.eyebrow{font-size:10px;letter-spacing:2px}.intro h1{font-size:clamp(30px,4vw,46px);line-height:1.3;margin:18px 0}.intro p{color:#738075;font-size:14px}.layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);gap:32px;margin-top:30px;align-items:start}.map-panel{background:#eeeadd;border:1px solid #293c3520;border-radius:6px;padding:24px;overflow:hidden}.map-note{display:flex;justify-content:space-between;font-size:13px}.map-note small{font-size:10px;color:#778074}svg{width:100%;height:min(65vh,660px);display:block;overflow:visible;margin:5px auto}.unassigned{fill:#e1ddcb;stroke:#8b907f;stroke-width:2}.parcel{cursor:pointer;outline:none}.parcel .hit{fill:transparent;stroke:transparent;stroke-width:16;pointer-events:all}.parcel .side{fill:#a57953;stroke:#795f47;stroke-width:2;pointer-events:none}.top{transition:transform .26s ease,filter .26s;pointer-events:none}.top polygon{fill:#eac68d;stroke:#4c5546;stroke-width:2.5;stroke-linejoin:round;transition:fill .26s}.top text{font-size:20px;font-weight:700;fill:#293c35;text-anchor:middle;dominant-baseline:middle;transition:fill .2s}.parcel.active .top,.parcel:focus-visible .top{transform:translateY(-20px);filter:url(#shadow)}.parcel.active .top polygon,.parcel:focus-visible .top polygon{fill:#d7734e}.parcel.active text,.parcel:focus-visible text{fill:white}.parcel:focus-visible .hit{stroke:#293c35;stroke-width:5;stroke-dasharray:5 5}.instructions{display:flex;align-items:center;justify-content:space-between;font-size:11px;gap:10px}button{font:inherit;color:inherit;cursor:pointer}.instructions button{background:transparent;border:1px solid #a8ae9c;border-radius:20px;padding:8px 12px}.map-disclaimer{font-size:10px;line-height:1.8;color:#7b8175;margin:18px 0 0}.card{background:#fffcf5;border:1px solid #293c3520;border-radius:6px;padding:26px;position:sticky;top:20px}.card h2{font-size:30px;line-height:1.4;margin:18px 0}.card p{font-size:13px;line-height:1.9;color:#7c8275}.card-image{aspect-ratio:16/10;overflow:hidden;border-radius:3px;margin:20px 0}.card-image img{width:100%;height:100%;object-fit:cover}.category{display:block;font-size:11px;color:#b16b4c;margin-top:20px}dl{margin:20px 0}dl>div{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #293c3517;font-size:13px}dt{color:#7c8275;white-space:nowrap}dd{margin:0;text-align:right}.article{display:block;background:#293c35;color:#fff;padding:15px 18px;border-radius:3px;font-size:13px}.card .source{font-size:10px}.choices{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #293c3517;padding-top:20px;margin-top:24px}.choices button{border:1px solid #bcc1b1;background:none;border-radius:20px;padding:9px 12px;font-size:11px}.choices .chosen{background:#293c35;color:white}footer{font-size:11px;color:#7c8275;padding:32px 0} [hidden]{display:none!important}@media(max-width:700px){main{padding-top:30px}.layout{grid-template-columns:1fr;gap:18px}.map-panel{padding:18px}svg{height:480px}.card{position:static;padding:22px}.intro h1 br{display:none}header{gap:15px}header>a:first-child{font-size:16px}.card-image{max-height:240px}.intro h1{font-size:29px}}@media(prefers-reduced-motion:reduce){.top,.top polygon,.top text{transition:none}}
/* Oblique vector slabs, with constant screen-space thickness. */
.map-panel{background:radial-gradient(ellipse at 50% 40%,#eeeee8,#d7d8d0);border-color:#c8ccc0}.map-note{color:#505d52}.unassigned{fill:#f3f3eb;stroke:#bec3b7;stroke-width:1.4}.walls{fill:#9b9f92;stroke:#92988b;stroke-width:.7;stroke-linejoin:round}.neutral-slab{filter:drop-shadow(0px 16px 9px #293c3538)}.parcel .raised{filter:drop-shadow(0px 14px 7px #293c3540);transition:transform .3s ease,filter .3s ease;pointer-events:none}.parcel .top{transition:none;transform:none!important;filter:none!important}.top polygon{fill:#f8f7f0;stroke:#a7b09f;stroke-width:1.5}.top text{fill:#35463a;font-size:21px}.parcel.active .raised{transform:translateY(-32px);filter:drop-shadow(0px 36px 13px #293c3550)}.parcel.active .walls{fill:#bd6c88;stroke:#ad5d78}.parcel.active .top polygon{fill:#e894b2;stroke:#d27999}.parcel.active text{fill:#fff}.parcel:focus-visible .top polygon{stroke:#293c35;stroke-width:3}.parcel:not(.active):focus-visible .top polygon{fill:#f8f7f0}.parcel:not(.active):focus-visible text{fill:#35463a}.parcel .hit{stroke-width:0}.parcel:hover:not(.active) .top polygon{fill:#ffe7ef}.choices .chosen{background:#bc6888;border-color:#bc6888}.map-disclaimer{color:#636e62}svg{height:min(67vh,680px)}@media(max-width:700px){svg{height:440px}}@media(prefers-reduced-motion:reduce){.parcel .raised{transition:none}}
/* Higher bird's-eye view keeps the traced boundary readable. */
.neutral-slab{filter:drop-shadow(0px 10px 7px #293c3530)}.parcel .raised{filter:drop-shadow(0px 9px 5px #293c3538)}.parcel.active .raised{transform:translateY(-24px);filter:drop-shadow(0px 29px 11px #293c3547)}
.label-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px}.label-toolbar button{padding:9px 12px;border:1px solid #9da594;background:#f8f7f0;border-radius:5px;font-size:12px}.label-toolbar button[aria-pressed=true]{background:#293c35;color:white}.label-toolbar button:disabled{opacity:.45;cursor:default}.label-toolbar span{flex-basis:100%;font-size:11px;line-height:1.7;color:#626d5e}.editing-labels .draggable-name,.editing-labels .draggable-name text{pointer-events:all;cursor:grab;touch-action:none;user-select:none}.editing-labels .draggable-name text{paint-order:stroke;stroke:#d7dfce;stroke-width:5px;stroke-linejoin:round}.editing-labels .label-selected text{stroke:#ba728e}.dragging-label .draggable-name{cursor:grabbing}.editing-labels .parcel .raised{transition:none}.draggable-name:focus{outline:none}
.angle-control{display:flex;align-items:center;gap:8px;flex-basis:100%;font-size:12px}.angle-control input[type=range]{flex:1;min-width:80px;max-width:220px;accent-color:#bc6888}.angle-control input[type=number]{width:66px;border:1px solid #9da594;background:#f8f7f0;border-radius:4px;padding:6px;color:#293c35}.angle-control:has(input:disabled){opacity:.45}
/* Stronger slab depth for the bird's-eye map. */
.neutral-slab{filter:drop-shadow(0px 20px 10px #293c3540)}.parcel .raised{filter:drop-shadow(0px 18px 8px #293c3545)}.parcel.active .raised{transform:translateY(-30px);filter:drop-shadow(0px 44px 14px #293c3550)}
/* Opaque closed pink slabs: no pale seams between the side faces. */
.bottom-cap{fill:#92988b;stroke:#92988b;stroke-width:1.5;stroke-linejoin:round}.parcel.active .bottom-cap{fill:#a84f75;stroke:#a84f75}.parcel.active .walls{fill:url(#pinkDepth);stroke:#b75e84;stroke-width:1.5;opacity:1;fill-opacity:1;stroke-opacity:1}.parcel.active .top polygon{fill:#e894b2;fill-opacity:1;stroke:#d57d9f;stroke-width:1.8}.parcel.active .raised{opacity:1}.parcel.active .top{opacity:1}

/* Updated reference: preserve seven separate parcel outlines and white access gaps. */
main{max-width:1600px}.layout{grid-template-columns:minmax(0,3fr) minmax(245px,1fr);gap:22px}.map-panel{padding:20px}svg{height:auto;aspect-ratio:1830/1100;min-height:300px}.top text{font-size:28px}.top polygon{fill:#e8ebf8;stroke:#fff;stroke-width:2}.neutral-slab .unassigned{fill:#e8e8e8;stroke:#fff;stroke-width:2}.neutral-slab text{font-size:27px;font-weight:700;fill:#5d645f;text-anchor:middle;dominant-baseline:middle}.neutral-slab.park .unassigned{fill:#aebda6}.neutral-slab.park text{fill:#fff}.neutral-slab.unknown .unassigned{fill:#989998}.neutral-slab.park:nth-last-child(1) text{font-size:14px}.neutral-slab{pointer-events:none}.reference-image{display:none;pointer-events:none}#checkBoundary{padding:10px 16px;background:#fffdf5;border:1px solid #9da594;border-radius:5px;margin-bottom:16px;font-size:13px}#checkBoundary[aria-pressed=true]{background:#293c35;color:white}.checking-boundary .reference-image{display:block}.checking-boundary .neutral-slab,.checking-boundary .raised{display:none}.checking-boundary .parcel .hit{fill:#e894b214;stroke:#c42c69;stroke-width:3;stroke-linejoin:round;vector-effect:non-scaling-stroke}.checking-boundary .parcel.active .hit{fill:#e894b260;stroke:#8f1747;stroke-width:4}.checking-boundary .map-note small{font-size:0}.checking-boundary .map-note small:after{content:'粉紅線：辨識後基地邊框';font-size:11px}@media(max-width:850px){.layout{grid-template-columns:1fr}.card{position:static}.map-panel{padding:12px}svg{min-height:0}.label-toolbar{margin-bottom:12px}}

.checking-boundary svg{overflow:hidden}.neutral-slab.shrine text{font-size:16px}
/* Full-width map with details below, never over the map. */
main{max-width:none;width:100%;padding-left:5%;padding-right:5%}.layout{display:block}.map-panel{width:100%}.map-panel svg{width:100%;height:auto;aspect-ratio:1830/1100;min-height:0}
.inline-details{position:relative;inset:auto;width:100%;max-height:none;margin:24px 0 0;padding:28px;background:#fffcf5;border:1px solid #bdc3b5;border-radius:8px;box-shadow:none}.inline-details #details{display:flow-root}.inline-details h2{font-size:28px}.inline-details .card-image{float:left;width:34%;aspect-ratio:16/10;margin:20px 32px 20px 0;max-height:320px}.inline-details .category{margin-top:20px}.inline-details dl{overflow:hidden}.inline-details .article{display:inline-block;min-width:200px}.close-details{position:absolute;right:12px;top:10px;border:1px solid #bdc3b5;background:#eeeadd;border-radius:50%;width:36px;height:36px;font-size:24px}
@media(max-width:600px){main{padding-left:4%;padding-right:4%}.map-panel{padding:10px}.inline-details{padding:22px}.inline-details .card-image{float:none;width:100%;margin:20px 0;max-height:240px}.inline-details h2{font-size:24px}}

.three-d-link{display:inline-block;margin:0 10px 16px 0;padding:10px 16px;background:#293c35;color:#fff;border-radius:5px;font-size:13px}

/* Fit the entire map inside the viewport without stretching the geography. */
header{height:70px;padding:12px 4%}main{padding:12px 4% 20px}.intro{display:flex;align-items:center;justify-content:space-between;gap:12px;height:52px}.intro>span{display:none}.intro h1{font-size:22px;margin:0}.intro h1 br{display:none}.intro p{margin:0;font-size:12px}.layout{margin-top:10px}.map-panel{height:calc(100svh - 156px);display:flex;flex-direction:column;position:relative;padding:14px;min-height:230px}.map-panel svg{flex:1 1 0;height:0;min-height:0;aspect-ratio:auto;width:100%;margin:8px 0;overflow:hidden}.map-panel>:not(svg){flex-shrink:0}.label-toolbar{margin-bottom:8px;gap:6px}.label-toolbar .angle-control,.label-toolbar .size-control{display:none}.editing-labels .angle-control,.editing-labels .size-control{display:flex;align-items:center;gap:6px;flex-basis:auto;font-size:12px}.size-control input[type=range]{width:105px;accent-color:#bc6888}.size-control input[type=number]{width:60px;padding:6px;border:1px solid #9da594;border-radius:4px;background:#f8f7f0;color:#293c35}.angle-control input[type=range]{width:105px}.three-d-link{align-self:flex-start;margin-bottom:8px}#checkBoundary{position:absolute;right:14px;top:14px;padding:8px 10px;margin:0}.label-toolbar{padding-right:120px}.map-disclaimer{margin:6px 0 0;font-size:9px;line-height:1.4}.instructions button{padding:5px 10px}.map-note{font-size:11px}.inline-details{height:auto}
@media(max-width:600px){header{height:60px}header>a:first-child{font-size:14px}header>a:last-child{font-size:10px}.intro{height:40px}.intro h1{font-size:17px}.intro p{display:none}.map-panel{height:calc(100svh - 134px);padding:10px}.label-toolbar{padding-right:0}.label-toolbar button{font-size:11px;padding:7px}#checkBoundary{position:static;align-self:flex-start;margin-bottom:6px}.map-disclaimer{font-size:8px}.editing-labels .angle-control,.editing-labels .size-control{flex-basis:100%}.label-toolbar span{font-size:10px}.three-d-link{font-size:11px;padding:7px 10px}}

.neutral-slab.unnamed-parcel .unassigned{fill:#e8ebf8}

/* Desktop map and independent information rail; mobile stacks without covering parcels. */
main{padding-left:20px;padding-right:20px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.map-panel{padding:12px}.map-panel svg{margin-left:0;margin-right:0}.inline-details{position:sticky;top:12px;margin:0;width:100%;padding:20px;max-height:calc(100svh - 156px);overflow:auto}.inline-details .card-image{float:none;width:100%;margin:16px 0;max-height:none;aspect-ratio:4/3}.inline-details h2{font-size:25px;margin:12px 0}.inline-details dl{margin:12px 0}.inline-details dl>div{padding:10px 0;gap:12px}.inline-details .article{display:block;min-width:0}.inline-details .category{margin-top:12px}.text-control{display:none;align-items:center;gap:8px;font-size:12px}.editing-labels .text-control{display:flex;flex-wrap:wrap}.text-control textarea{font:inherit;width:180px;padding:6px;border:1px solid #b8c1b3;border-radius:6px;resize:vertical}.parcel[data-id="jiangling-construction"] .top>polygon,.parcel[data-id="junyi"] .top>polygon,.parcel[data-id="huagu-construction"] .top>polygon,.parcel[data-id="zhenxiang"] .top>polygon{fill:#999}.parcel.active .top>polygon{fill:#e894b2}.road-label text{fill:#526056}.road-label[data-id^="road-station"] text{fill:#ad4267}
@media(min-width:1600px){.layout{grid-template-columns:minmax(0,1fr) 360px}}
@media(max-width:900px){main{padding-left:12px;padding-right:12px}.layout{grid-template-columns:1fr}.inline-details{position:relative;top:auto;max-height:none;margin:0}.inline-details .card-image{max-width:420px}.map-panel{height:calc(100svh - 156px)}}
@media(max-width:600px){.map-panel{height:calc(100svh - 134px)}.inline-details h2{font-size:23px}}
