:root{--bg:#f6f8f3;--card:#fff;--ink:#1b3027;--muted:#61786c;--border:#dce9df;--green:#237351;--green-dark:#144e35;--accent:#e3f0dd;--warm:#ffedcf;--focus:#447fd0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.72 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}[hidden]{display:none!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.container{width:min(1190px,calc(100% - 48px));margin-inline:auto}.skip-link{position:absolute;left:12px;top:-90px;background:#fff;z-index:60;padding:12px}.skip-link:focus{top:6px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(246,248,243,.95);border-bottom:1px solid var(--border);backdrop-filter:blur(10px)}.nav-row{height:68px;display:flex;align-items:center;justify-content:space-between;gap:15px}.site-brand{display:flex;align-items:center;gap:9px;font-weight:850;white-space:nowrap;letter-spacing:-.03em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--ink);color:#e7ee9e;letter-spacing:-.07em}.site-header nav{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:700;color:#5d7566}.site-header nav a:hover{color:var(--green)}
.hero{padding:48px 0 43px;display:grid;grid-template-columns:1.17fr .83fr;align-items:center;gap:38px}.eyebrow{display:block;font-size:10px;font-weight:850;letter-spacing:.14em;color:#5a946f}.hero h1{font-size:clamp(42px,5.4vw,67px);letter-spacing:-.065em;line-height:1.19;margin:23px 0 16px}.hero h1 em{font-style:normal;color:#478c61}.lead{font-size:16px;max-width:590px;color:#627d6a;line-height:1.95;margin:0}.hero-disclaimer{font-size:12px;color:#86988a;margin:13px 0 0}.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:26px}.primary-link,.ghost-action{display:inline-flex;align-items:center;justify-content:center;padding:11px 19px;min-height:46px;border-radius:12px;font-weight:750;font-size:13px}.primary-link{background:#225b42;color:white}.ghost-action{background:#fff;border:1px solid #d0dfd2;color:#3b6850}.hero-scene{min-height:295px;position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(145deg,#d9efdf,#bce1cc 65%,#e6eccc)}.hill{position:absolute;border-radius:50%}.hill-back{width:620px;height:265px;bottom:-163px;left:-140px;background:#9cc9ac;transform:rotate(-10deg)}.hill-front{width:620px;height:245px;bottom:-180px;right:-170px;background:#5fa987;transform:rotate(14deg)}.sun{position:absolute;right:12%;top:15%;background:#ffe1a6;border-radius:50%;width:65px;height:65px}.scene-building,.scene-tree,.scene-child,.scene-ticket{position:absolute;filter:drop-shadow(0 12px 10px #26573430)}.scene-building{font-size:100px;left:15%;top:20%}.scene-tree{font-size:92px;right:16%;bottom:16%}.scene-child{font-size:65px;left:42%;bottom:4%}.scene-ticket{font-size:40px;right:16%;top:20%}.scene-pill{position:absolute;left:20px;bottom:16px;padding:7px 12px;background:#fffdf1;border-radius:100px;font-size:11px;font-weight:800;color:#4a7756;transform:rotate(-3deg)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--border);border-radius:17px;overflow:hidden;box-shadow:0 13px 32px #4c765012}.stats>div{padding:20px 15px;text-align:center;position:relative}.stats>div:not(:last-child):after{content:"";position:absolute;right:0;top:22%;height:54%;border-right:1px solid var(--border)}.stats strong{display:block;font-size:31px;line-height:1.3;letter-spacing:-.05em}.stats span{font-size:12px;color:#8a9d91}
.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:48px 0 21px}.section-title h2{font-size:clamp(28px,3vw,37px);margin:7px 0 0;letter-spacing:-.05em;line-height:1.2}.section-title p{font-size:12px;color:#819389;margin:0}
.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick-grid button{text-align:left;border:1px solid #dce8dd;border-radius:16px;padding:19px;background:#fff;display:flex;flex-direction:column;gap:2px;color:var(--ink);transition:transform .16s,border-color .16s}.quick-grid button:hover{transform:translateY(-3px);border-color:#9bbaa2}.quick-icon{font-size:26px;margin-bottom:4px}.quick-grid strong{font-size:16px;font-weight:800}.quick-grid small{font-size:11px;color:#809486}
.section-finder{scroll-margin-top:90px}.filters{border:1px solid #d8e6d9;border-radius:19px;padding:23px;background:#fff;box-shadow:0 13px 32px #426c4e0b}.search-line{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:850;color:#6c8573}.search-line input{height:49px;border:1px solid #dce8df;border-radius:10px;background:#f9fbf8;padding:0 14px;outline-offset:2px;font-size:14px;color:#264d37}.search-line input::placeholder{color:#9fb0a4}
.select-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:13px}.select-grid label{font-size:11px;font-weight:800;color:#6f8476;min-width:0}.select-grid select,.select-grid input{margin-top:5px;width:100%;height:42px;border:1px solid #dce7dc;border-radius:10px;padding:0 8px;background:#f8faf7;color:#295139;min-width:0;font-size:12px}.filter-extra{display:flex;gap:13px 21px;align-items:center;flex-wrap:wrap;margin-top:16px}.check{font-size:12px;color:#597762;display:inline-flex;align-items:center;gap:5px;cursor:pointer}.check input{accent-color:var(--green);height:16px;width:16px}.text-button{border:0;background:none;color:#216b4a;font-weight:800;font-size:12px;text-decoration:underline;text-underline-offset:2px}.filter-help{font-size:11px;color:#93a398;line-height:1.8;margin:13px 0 0}
.results-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:25px 0 18px}.results-toolbar strong{font-size:17px}.results-toolbar p{margin:3px 0 0;font-size:11px;color:#86988b;max-width:650px}.tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tools>button,.sort-field{padding:8px 11px;border-radius:10px;background:#fff;border:1px solid #d9e7db;color:#456953;font-weight:800;font-size:12px;white-space:nowrap}.tools>button.selected{background:#e3f0e4;color:#226a48;border-color:#b1d4b7}.sort-field select{border:0;background:transparent;color:inherit;font-size:12px;font-weight:700;max-width:95px}.notice-bar{border:1px solid #d1e4d4;border-radius:12px;padding:12px 14px;background:#eaf3e8;color:#386149;font-size:12px;margin:0 0 18px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.card{background:#fff;border:1px solid #e0e9de;border-radius:18px;overflow:hidden;box-shadow:0 8px 22px #274a2c0a;min-width:0;transition:transform .18s}.card:hover{transform:translateY(-3px)}.card-visual{height:134px;background:linear-gradient(135deg,#d4e7cd,#bcdec7);position:relative;display:grid;place-items:center;overflow:hidden}.card-visual:before{content:"";position:absolute;width:220%;height:140px;bottom:-95px;background:#ffffff53;border-radius:50%;transform:rotate(-10deg)}.card-visual.v1{background:linear-gradient(130deg,#d5e7f4,#c3d4ed)}.card-visual.v2{background:linear-gradient(130deg,#f7e5cb,#edcfb4)}.card-visual.v3{background:linear-gradient(130deg,#efd8e4,#e3d2f4)}.card-visual.v4{background:linear-gradient(130deg,#d4e0ca,#c5e9e1)}.card-visual>span.icon{font-size:61px;position:relative;z-index:1}.card-visual img{display:block;width:100%;height:100%;object-fit:cover}.scene-tag{position:absolute;top:11px;left:12px;background:#ffffffde;border-radius:100px;font-size:10px;font-weight:800;color:#4c7259;padding:5px 9px}.card-content{padding:17px}.title-row{display:flex;align-items:start;justify-content:space-between;gap:8px}.title-row h3{font-size:18px;letter-spacing:-.035em;line-height:1.35;margin:0}.title-row small{font-size:11px;color:#8a9d90}.icon-btn{border:1px solid #e0e9df;border-radius:9px;background:#f8faf8;min-width:34px;height:34px;color:#7d9a81;font-size:17px;flex-shrink:0}.icon-btn.saved{color:#df7064;background:#fff3f2;border-color:#f2d9d2}.card-description{font-size:12px;color:#718676;margin:12px 0;min-height:42px;line-height:1.8}.labels{display:flex;gap:6px;flex-wrap:wrap}.labels span{border-radius:6px;background:#f1f6ef;color:#66856d;padding:3px 7px;font-size:10px}.meta-row{display:flex;justify-content:space-between;gap:7px;padding-top:12px;margin-top:12px;border-top:1px solid #edf1ec;font-size:11px}.meta-row span{color:#5d7864}.meta-row b{color:#2d5d40}.meta-row b.pending{color:#a77a47}.trust{font-size:10px;line-height:1.5;color:#849589;padding:8px;margin-top:10px;border-radius:6px;background:#f6f9f5}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.card-actions button,.card-actions a{min-height:37px;border:1px solid #ccddcc;border-radius:9px;background:#f7faf6;color:#37664b;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:3px}.card-actions button:first-child{background:#255d43;border-color:#255d43;color:#fff}.card-actions button:hover,.card-actions a:hover{filter:brightness(.97)}
.more-box{text-align:center;padding:28px 10px 8px}.more-box button,.empty-box button,.plan-actions button,.feedback-dialog>button{border:0;background:#245e44;color:white;padding:12px 22px;border-radius:11px;font-weight:800}.more-box span{display:block;margin-top:9px;color:#8ea093;font-size:12px}.empty-box{text-align:center;background:#fff;padding:45px 20px;border-radius:17px;border:1px dashed #c7d9c7}.empty-box span{font-size:39px}.empty-box h3{font-size:19px}.empty-box p{color:#7a9080}
.map-panel{background:#fff;border:1px solid #dce8dd;border-radius:18px;padding:25px}.map-head{display:flex;justify-content:space-between;gap:10px}.map-head strong{font-size:18px}.map-head span{color:#73907b;font-size:12px}.map-panel>p{color:#819484;font-size:12px}.map-panel svg{display:block;width:100%;max-width:850px;min-height:240px;margin:18px auto;background:linear-gradient(140deg,#ecf5ef,#e8efec);border:1px solid #dce7de;border-radius:16px}.map-panel circle[data-map-id]{cursor:pointer;stroke:#fff;stroke-width:2px;fill:#2c8761}.map-panel circle[data-map-id]:hover,.map-panel circle[data-map-id]:focus{fill:#e38455;outline:none;stroke:#3e5f48;stroke-width:3px}.map-panel text{font-size:13px;fill:#627f6e;font-weight:700}.district-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.district-grid button{background:#f3f7f2;border:1px solid #dce9df;border-radius:9px;color:#55745e;padding:9px 3px;font-size:11px}.district-grid button b{display:block;font-size:16px;color:#255c40}
.section-plan,.sources{margin-top:44px}.plan-box,.source-info{background:#fff;border:1px solid #dae6dc;border-radius:17px;padding:22px}.plan-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #e9efe9}.plan-item strong{font-size:13px}.plan-item small{display:block;color:#91a294;font-size:11px}.plan-item button{border:1px solid #d9e7d7;border-radius:8px;padding:7px 10px;background:#f7faf6;color:#437253;font-size:11px}.plan-actions{display:flex;gap:10px;margin-top:16px}.plan-actions button:last-child{background:#edf3ec;color:#537360}.source-info p{color:#6c806f;font-size:13px}.source-info details{border-top:1px solid #e4eee5;margin-top:12px;padding-top:12px}.source-info summary{cursor:pointer;font-weight:800;color:#2f6a49}.catalog-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.catalog-links a{display:inline-flex;border-radius:8px;background:#eff7f0;padding:6px 10px;color:#326d4d;font-size:11px;font-weight:800}
.site-footer{margin-top:65px;background:#183326;color:#d1dfd1}.footer-inner{padding:24px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px}.site-footer strong{color:white}.small{font-size:11px!important}.muted{color:#8a9b8e!important}
dialog{border:1px solid #dbe8db;border-radius:19px;padding:0;max-height:calc(100vh - 36px);color:var(--ink);background:white;box-shadow:0 25px 80px #0f352530}dialog::backdrop{background:#18342696;backdrop-filter:blur(3px)}.detail-dialog{width:min(700px,calc(100% - 22px))}.dialog-header{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;background:#f7faf6;border-bottom:1px solid #e2ebe2;padding:14px 20px;font-size:11px;font-weight:850;color:#507459}.dialog-header button{width:31px;height:31px;background:#e5eee4;border:0;border-radius:50%;font-size:14px;color:#41614c}.detail-content{padding:24px}.detail-content h2{font-size:30px;line-height:1.25;letter-spacing:-.045em;margin:7px 0}.detail-content .subhead{color:#74907c;font-size:12px}.detail-content .intro{color:#5c7867;line-height:1.85}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:17px 0}.detail-grid>div{background:#f4f8f2;border-radius:10px;padding:11px 14px;min-width:0}.detail-grid dt{font-size:10px;color:#8a9c8d}.detail-grid dd{font-size:12px;margin:4px 0 0;font-weight:750;line-height:1.8;overflow-wrap:anywhere}.detail-content h3{font-size:15px;margin:18px 0 8px}.detail-content p{font-size:13px;line-height:1.9}.detail-notice{border-left:3px solid #d4aa56;background:#fff7e9;padding:10px 13px;color:#816d4a;font-size:12px}.detail-links{display:flex;flex-wrap:wrap;gap:9px;margin:17px 0}.detail-links a,.detail-links button{background:#246344;color:white;border:0;border-radius:9px;padding:10px 13px;font-size:12px;font-weight:800}.detail-links a.secondary,.detail-links button.secondary{color:#2b7050;background:#e7f2e9}.detail-content .attribution{font-size:10px;color:#89998a}.feedback-dialog{width:min(390px,calc(100% - 24px));padding-bottom:20px;text-align:center}.feedback-dialog>p{padding:0 20px}.feedback-dialog img{display:block;margin:12px auto 0;max-width:56%;height:auto}
@media(max-width:1050px){.select-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.district-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){.container{width:calc(100% - 30px)}.site-header nav{gap:9px}.site-header nav a{font-size:11px}.site-header nav a:nth-child(3){display:none}.hero{grid-template-columns:1fr;padding:33px 0 21px;gap:18px}.hero h1{font-size:clamp(38px,9.5vw,53px)}.lead{font-size:14px}.hero-scene{min-height:190px}.hero-scene .scene-building{font-size:78px}.hero-scene .scene-tree{font-size:70px}.hero-scene .scene-child{font-size:51px}.stats strong{font-size:24px}.stats>div{padding:15px 7px}.stats span{font-size:10px}.section-title{display:block;margin:34px 0 16px}.section-title p{margin-top:9px}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quick-grid button{padding:13px}.quick-grid strong{font-size:14px}.quick-grid small{font-size:10px}.quick-icon{font-size:24px}.filters{padding:15px}.select-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.filter-extra{gap:10px}.results-toolbar{align-items:stretch}.tools{width:100%;gap:7px}.cards{grid-template-columns:1fr;gap:13px}.card-visual{height:146px}.card-description{min-height:0}.district-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.map-panel{padding:13px}.detail-content{padding:18px}.detail-content h2{font-size:25px}.footer-inner{display:block}.footer-inner>*{display:block;margin:6px 0}}
@media(max-width:390px){.site-header nav a:nth-child(2){display:none}.stats strong{font-size:20px}.stats span{font-size:9px}.detail-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
