:root{font-family:DM Sans,Microsoft YaHei,sans-serif;color:#263b39;background:#f4f5f0;font-synthesis:none;--green:#16766b;--ink:#233936;--muted:#80908b;--line:#e3e8e0;--paper:#fffefa}*{box-sizing:border-box}body{margin:0;min-width:320px;background-color:#f4f5f0;background-image:linear-gradient(#dce4dc33 1px,transparent 1px),linear-gradient(90deg,#dce4dc33 1px,transparent 1px);background-size:48px 48px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #b2d7c8;outline-offset:2px}button svg{width:18px;height:18px;stroke-width:1.7}.app{max-width:1920px;margin:auto;padding:0 30px 18px}.header{height:88px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:10px;min-width:226px;color:var(--ink)}.brand-mark{width:37px;height:37px;background:#1a7669;color:#fff;border-radius:12px;display:grid;place-items:center}.brand-mark svg{width:23px;height:23px;stroke-width:1.5}.brand-name{font-family:"Noto Serif SC",serif;font-size:22px;font-weight:700;letter-spacing:2px;white-space:nowrap}.brand-sub{display:block;font-size:8px;letter-spacing:1.8px;color:#8a9990;margin-top:1px}.topnav{display:flex;align-items:center;gap:5px;flex:1}.nav-button{border:0;background:transparent;border-radius:22px;padding:11px 16px;color:#697c76;white-space:nowrap;display:flex;gap:8px;align-items:center;font-size:13px}.nav-button.active{color:#236d62;background:#e5f0ea;border:1px solid #cee4d8}.nav-button:hover{background:#e8eee8}.header-search{position:relative;width:226px;flex-shrink:0}.header-search svg{position:absolute;left:14px;top:12px;width:16px;color:#95a6a0}.header-search input{background:#fffdfa;border:1px solid #dce4dc;width:100%;height:42px;border-radius:24px;padding:0 15px 0 38px;font-size:12px;color:#364b46}.header-search input::placeholder{color:#a3aea8}.search-results{position:absolute;top:50px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 12px 35px #344f401c;z-index:30;max-height:350px;overflow:auto;padding:6px}.search-result{display:block;width:100%;border:0;background:none;text-align:left;border-radius:9px;padding:10px;color:var(--ink)}.search-result:hover{background:#eff7f1}.search-result small{display:block;color:#9baaa2;font-size:10px;margin-top:3px}.header-round{width:40px;height:40px;background:#fffefa;border:1px solid #e0e6df;border-radius:50%;display:grid;place-items:center;color:#577e71;flex-shrink:0}.workspace{display:grid;grid-template-columns:68px minmax(0,1fr) 300px;gap:14px;height:calc(100vh - 108px);min-height:620px}.rail,.stage,.details{background:var(--paper);border:1px solid #e2e7df;border-radius:23px;box-shadow:0 12px 35px #5b72680a;min-width:0}.rail{padding:12px 8px;display:flex;align-items:center;flex-direction:column;gap:8px;overflow:hidden}.rail-label{font-size:9px;color:#a4b2aa;letter-spacing:1px;writing-mode:vertical-rl;margin:6px 0 10px}.rail-button{height:47px;width:47px;border-radius:14px;border:1px solid transparent;background:transparent;display:grid;place-items:center;color:#789387;position:relative}.rail-button svg{width:22px;height:22px}.rail-button.active{background:#e8f2e9;color:#227a6b;border-color:#d0e6d6}.rail-button:hover{background:#edf4ed}.rail-code{font-family:"Noto Serif SC",serif;font-weight:700;font-size:14px}.rail-divider{height:1px;background:#e7eee6;width:30px;margin:4px}.rail-grow{flex:1}.rail-more{border:1px solid #e4eae3;background:#fff;width:40px;height:40px;border-radius:12px;color:#7d9389;display:grid;place-items:center}.stage{position:relative;overflow:hidden;background:radial-gradient(ellipse at 54% 49%,#fffefa,#f5f7ef 54%,#edf1e9);isolation:isolate}.stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#b9cab61a 1px,transparent 1px),linear-gradient(90deg,#b9cab61a 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(to bottom,#0006,transparent 45%);mask-image:linear-gradient(to bottom,#0006,transparent 45%);pointer-events:none}.stage-heading{position:absolute;top:31px;left:36px;z-index:5}.eyebrow{font-size:10px;letter-spacing:2px;color:#8aa498;font-weight:700}.stage-heading h1{font-family:"Noto Serif SC",serif;font-size:24px;font-weight:600;letter-spacing:2px;margin:8px 0 5px;color:#243e36}.stage-heading p{font-size:11px;letter-spacing:1px;color:#98aaa0;margin:0}.stage-tabs{position:absolute;z-index:7;top:28px;left:50%;transform:translate(-50%);border-radius:22px;background:#fffefa;box-shadow:0 3px 14px #536e5b16;border:1px solid #e6ebe2;padding:4px;display:flex;white-space:nowrap}.stage-tab{border:0;background:transparent;color:#9cac9f;font-size:11px;padding:8px 14px;border-radius:18px}.stage-tab.active{background:#e4f1e8;color:#23796c;font-weight:700}.canvas-wrap{position:absolute;inset:0;overflow:hidden}.canvas-wrap canvas{display:block;width:100%;height:100%}.label-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.map-label{position:absolute;left:0;top:0;transform:translate(-50%,-50%);white-space:nowrap;color:#314c3d;font-size:11px;font-weight:600;text-shadow:0 1px #fff,1px 0 #fff,0 -1px #fff,-1px 0 #fff;opacity:.85;transition:opacity .2s}.map-label.selected{color:#086f5e;font-weight:800;font-size:13px}.map-label.hidden{opacity:0}.compass{position:absolute;right:27px;top:99px;z-index:4;color:#9caea3;font-size:9px;letter-spacing:1px;text-align:center;line-height:1.1}.compass svg{width:23px;height:23px;display:block;margin:auto}.tip{position:absolute;right:27px;top:170px;z-index:4;width:135px;padding:14px;background:#faf6df;box-shadow:0 7px 18px #746b3a17;transform:rotate(2deg);color:#8d896d}.tip b{display:block;color:#a39c72;font-size:9px;letter-spacing:1.3px;margin-bottom:9px}.tip span{font-family:"Noto Serif SC",serif;font-size:11px;line-height:1.9}.toolbox{position:absolute;left:21px;top:50%;transform:translateY(-50%);z-index:6;display:flex;flex-direction:column;gap:2px;border-radius:18px;background:#fffefaeb;border:1px solid #e3e9e0;padding:8px 6px;box-shadow:0 8px 24px #6b7c6611}.tool{border:0;background:transparent;width:54px;padding:8px 2px 7px;display:flex;flex-direction:column;align-items:center;gap:4px;border-radius:11px;color:#72877c;font-size:9px}.tool:hover,.tool.active{background:#eaf3eb;color:#21796b}.tool-separator{height:1px;background:#ebeee8;margin:2px 6px}.stage-bottom{position:absolute;left:36px;bottom:27px;z-index:5}.stage-bottom .caption{font-size:9px;letter-spacing:1.4px;color:#8ba093;font-weight:700}.stage-bottom strong{font-family:"Noto Serif SC",serif;font-weight:500;color:#51695b;font-size:12px;display:block;margin-top:6px}.legend{position:absolute;right:28px;bottom:28px;z-index:5;background:#fffefaed;border:1px solid #e6ebe3;border-radius:13px;padding:10px 13px;color:#8a9b90;font-size:9px;min-width:175px}.legend-top{display:flex;justify-content:space-between;margin-bottom:6px}.legend-bar{height:5px;border-radius:5px;background:linear-gradient(90deg,#97b98d,#bed09c,#d4cb9c,#b69b78,#d7c5af,#f4f2e8)}.legend-bottom{display:flex;justify-content:space-between;margin-top:5px}.split-control{position:absolute;z-index:7;left:50%;bottom:30px;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid #e0e9df;border-radius:14px;background:#fffefaf2;box-shadow:0 8px 30px #546b5514;font-size:11px;color:#5c7468;white-space:nowrap}.split-control input{accent-color:#237b6a;width:135px}.split-control b{color:#22796a;font-size:10px}.map-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;color:#87a094;text-align:center;font-size:12px;letter-spacing:1px}.map-status:before{content:"";display:block;width:25px;height:25px;margin:0 auto 12px;border:2px solid #d7e6d8;border-top-color:#298a79;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.details{padding:24px 21px;overflow:auto;display:flex;flex-direction:column}.detail-kicker{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:1.3px;color:#1d8270;font-weight:700}.detail-kicker svg{width:13px;height:13px;fill:#248a78}.details-title{font-family:"Noto Serif SC",serif;font-weight:600;font-size:27px;letter-spacing:1px;margin:17px 0 4px;color:#253b35}.details-english{font-size:9px;letter-spacing:2px;color:#9aaea1;text-transform:uppercase;font-weight:700}.detail-intro{font-family:"Noto Serif SC",serif;font-size:12px;line-height:2;color:#718177;margin:22px 0 18px}.detail-divider{height:1px;background:#e7ece5;flex-shrink:0}.section-title{font-size:10px;letter-spacing:1.5px;color:#637c6e;font-weight:700;margin:19px 0 11px}.fact-row{display:grid;grid-template-columns:15px 62px 1fr;gap:6px;align-items:start;padding:10px 0;border-bottom:1px solid #eff1ed;font-size:11px;color:#71847a}.fact-row svg{width:13px;height:13px;color:#6b9b83}.fact-row span:last-child{text-align:right;color:#8d9d91;line-height:1.6}.insight{padding:14px 13px;margin-top:16px;border-radius:13px;background:#f3f7ee;display:flex;gap:10px;color:#7f9078}.insight svg{width:15px;height:15px;flex:none;color:#779b72}.insight b{font-size:10px;color:#5d7964;font-weight:600}.insight p{font-size:11px;line-height:1.7;margin:5px 0 0}.insight.warm{background:#fbf6ec;color:#9b8e72}.insight.warm svg,.insight.warm b{color:#b38e59}.details-spacer{flex:1;min-height:18px}.primary-btn{border:0;border-radius:10px;background:#167b6e;color:#fff;padding:13px 14px;font-weight:700;font-size:11px;display:flex;align-items:center;justify-content:space-between;width:100%}.primary-btn:hover{background:#11695f}.primary-btn svg{width:15px;height:15px}.secondary-row{display:flex;gap:8px;margin-top:8px}.secondary-btn{border:1px solid #dfe8df;border-radius:9px;background:#fffefa;color:#7b9083;padding:11px 8px;font-size:10px;flex:1;display:flex;align-items:center;justify-content:center;gap:6px}.secondary-btn svg{width:14px;height:14px}.secondary-btn:hover{background:#f0f7f0}.detail-footer{margin-top:16px;text-align:center;font-size:9px;color:#b0bcb2;letter-spacing:1px}.region-popover{position:absolute;z-index:20;left:82px;top:110px;bottom:26px;width:280px;border:1px solid #e3e9df;border-radius:18px;background:#fffefa;box-shadow:0 18px 45px #50685620;padding:17px;display:flex;flex-direction:column}.popover-head{display:flex;justify-content:space-between;align-items:center;color:#2e5044;font-family:"Noto Serif SC",serif;font-weight:600;font-size:16px}.popover-head button{border:0;background:none;color:#99aaa0}.region-input{margin:16px 0 10px;border:1px solid #e1e9df;background:#f9fbf7;border-radius:10px;padding:10px 11px;font-size:12px;width:100%}.region-list{overflow:auto}.region-item{border:0;background:transparent;width:100%;text-align:left;padding:10px 9px;border-radius:8px;color:#6f8175;font-size:12px;display:flex;justify-content:space-between}.region-item:hover,.region-item.active{color:#167568;background:#edf6ee}.region-item small{color:#abbcb0}.dialog-backdrop{position:fixed;inset:0;background:#253c3580;display:grid;place-items:center;z-index:50;padding:20px}.dialog{width:min(510px,100%);max-height:85vh;overflow:auto;background:#fffefa;border-radius:22px;padding:30px;box-shadow:0 20px 60px #1c302b35}.dialog h2{font-family:"Noto Serif SC",serif;color:#2c4c3e;font-size:22px}.dialog p{font-size:13px;line-height:1.9;color:#778b7b}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-close{border:0;background:#f3f7f0;border-radius:10px;padding:7px;color:#82968a}.dialog-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.dialog-actions button{border:1px solid #dce8dd;background:#f5faf5;color:#427965;padding:10px 14px;border-radius:9px}.note-input{width:100%;min-height:170px;resize:vertical;border:1px solid #dfe9de;border-radius:12px;padding:12px;font:inherit;color:#526d5b;line-height:1.7}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);z-index:80;background:#244e41;color:#fff;padding:11px 17px;border-radius:12px;font-size:12px;box-shadow:0 8px 24px #234a3a33}.map-view{position:absolute;inset:0;z-index:2}.maplibregl-ctrl-bottom-right{bottom:64px!important}.maplibregl-ctrl-attrib{font-size:9px!important}.map-loading-error{position:absolute;bottom:85px;left:50%;transform:translate(-50%);z-index:5;background:#fff9ed;color:#8a795c;padding:10px 14px;border-radius:10px;font-size:11px;white-space:nowrap}.hidden{display:none!important}.explore-label{pointer-events:none;white-space:nowrap;color:#355846;font-size:11px;font-weight:600;text-shadow:0 1px #fff,1px 0 #fff,0 -1px #fff,-1px 0 #fff}.selected-point{pointer-events:none;width:15px;height:15px;border:3px solid white;border-radius:50%;background:#167b6e;box-shadow:0 1px 8px #245c4e80}.stage .map-view{position:absolute;inset:0;width:100%;height:100%}@media(max-width:1300px){.header{gap:14px}.brand{min-width:195px}.nav-button{padding:10px}.workspace{grid-template-columns:60px minmax(0,1fr) 270px}.details{padding:21px 18px}.tip{display:none}.stage-heading{top:80px}.stage-tabs{top:22px}}@media(max-width:970px){.app{padding:0 12px 12px}.header{height:72px}.brand{min-width:auto}.brand-sub,.nav-button span,.header-round{display:none}.topnav{gap:0}.nav-button{padding:10px}.header-search{width:190px}.workspace{height:calc(100vh - 86px);grid-template-columns:56px minmax(0,1fr);gap:9px}.details{position:fixed;z-index:12;right:20px;bottom:20px;width:290px;max-height:50vh;box-shadow:0 12px 35px #3e5d4630}.details-spacer,.details .detail-footer{display:none}.details-title{font-size:21px;margin:8px 0 3px}.detail-intro{margin:10px 0}.fact-row{padding:6px 0}.insight{display:none}.stage-heading{top:80px}.legend{bottom:25px}.split-control{bottom:90px}}@media(max-width:600px){.header{gap:7px}.brand-name{font-size:17px}.brand-mark{width:32px;height:32px;border-radius:10px}.header-search{width:auto;flex:1}.topnav{flex:0}.nav-button{padding:8px}.nav-button:nth-child(n+3){display:none}.workspace{grid-template-columns:1fr;height:calc(100vh - 86px);min-height:570px}.rail{position:absolute;z-index:8;left:20px;top:150px;width:48px;max-height:300px;border-radius:15px;padding:6px 2px}.rail-button{width:36px;height:36px}.rail-label,.rail-divider,.rail-grow,.rail-more{display:none}.rail-button:nth-of-type(n+6){display:none}.stage-heading{top:70px;left:24px}.stage-heading h1{font-size:19px}.stage-heading p{font-size:10px}.stage-tabs{top:14px}.stage-tab{padding:7px 10px}.toolbox{top:auto;bottom:220px;left:18px;transform:none;flex-direction:row;padding:4px;border-radius:13px}.tool{width:42px;padding:6px 2px;font-size:8px}.tool-separator{display:none}.tool:nth-of-type(n+5){display:none}.compass,.stage-bottom{display:none}.legend{right:16px;bottom:202px;min-width:130px}.split-control{bottom:255px}.details{position:absolute;bottom:14px;left:21px;right:21px;width:auto;max-height:180px;padding:16px;border-radius:16px}.details-title{font-size:19px;margin:5px 0 2px}.detail-kicker{font-size:9px}.details-english,.detail-divider,.section-title,.fact-row,.details .insight,.detail-footer{display:none}.detail-intro{font-size:11px;line-height:1.6;margin:8px 0}.primary-btn{padding:10px 12px}.secondary-row{display:none}.region-popover{inset:130px 24px 210px 74px;width:auto}.map-loading-error{bottom:225px;white-space:normal;width:80%}}.header{gap:22px}.nav-button{font-size:15px;color:#465f53}.header-search{width:250px}.header-search input{font-size:14px}.workspace{grid-template-columns:68px minmax(0,1fr) 330px}.details{padding:25px 23px}.detail-kicker{font-size:12px;letter-spacing:.8px}.details-title{font-size:30px}.details-english{font-size:11px;color:#728b7c}.detail-intro{font-size:15px;line-height:1.8;color:#52685b;margin:20px 0}.section-title{font-size:13px;letter-spacing:.8px;color:#456354}.fact-row{font-size:14px;grid-template-columns:18px 75px 1fr;color:#526a59;padding:11px 0}.fact-row span:last-child{color:#627969}.fact-row svg{width:16px;height:16px}.insight b{font-size:13px}.insight p{font-size:13px;color:#596f5c}.primary-btn{font-size:14px}.secondary-btn{font-size:12px}.stage-tab{font-size:14px;color:#61796b;padding:9px 17px}.stage-heading h1{font-size:25px}.stage-heading p{font-size:13px;color:#668274}.eyebrow{font-size:11px;color:#6b8b79}.tool{font-size:12px;width:60px;color:#506a59}.tool svg{width:20px;height:20px}.toolbox{padding:8px}.map-label{font-size:14px;color:#203c2c;font-weight:700;text-shadow:0 2px 2px #fff,2px 0 2px #fff,0 -2px 2px #fff,-2px 0 2px #fff}.map-label.selected{font-size:16px;color:#055e4d}.explore-label{font-size:14px;color:#183f2b;font-weight:700;text-shadow:0 2px 3px #fff,2px 0 3px #fff,0 -2px 3px #fff,-2px 0 3px #fff}.tip{width:155px;right:22px;top:165px}.tip b{font-size:11px}.tip span{font-size:13px;color:#6f7055}.rail-code{font-size:16px}.rail-label{font-size:11px}.legend{bottom:86px;min-width:235px;color:#536e5d;font-size:12px}.legend-top{font-size:12px;color:#506a59;gap:12px}.legend-bottom{font-size:11px;color:#72887a}.cover-legend{display:flex;gap:11px;align-items:center;font-size:12px}.cover-legend span{display:flex;align-items:center;gap:4px;white-space:nowrap}.cover-legend i{display:block;width:11px;height:11px;border-radius:3px}.split-control{bottom:24px;font-size:13px;padding:10px 13px;gap:10px;color:#526e5a}.split-control b{font-size:12px}.split-control input{width:130px}.split-toggle{border:0;border-radius:9px;padding:9px 13px;background:#1b7b6b;color:#fff;font-weight:700;white-space:nowrap}.join-btn{border:1px solid #d8e5d7;border-radius:9px;padding:8px 10px;background:#fff;color:#256c5d;white-space:nowrap}.stage-bottom{display:none}.dialog p{font-size:15px;color:#526b59}.region-item,.search-result{font-size:14px}.search-result small{font-size:12px}.mountain-label{position:absolute;left:0;top:0;transform:translate(-50%,-50%);pointer-events:auto;border:1px solid #dfc7ac;border-radius:18px;padding:5px 10px;background:#fff9edee;color:#774323;font:700 13px Microsoft YaHei,sans-serif;box-shadow:0 2px 8px #49371a33;white-space:nowrap}.mountain-label:hover,.mountain-label.active{background:#a64e24;color:#fff;border-color:#a64e24}.rain-diagram{background:#f2f7ed;border-radius:14px;padding:12px 13px;color:#57755d}.rain-source{font-size:12px;font-weight:700;color:#397887;display:flex;align-items:center;gap:5px}.rain-source svg{width:16px;height:16px}.rain-diagram>svg{display:block;width:100%;height:90px}.slope-labels{display:flex;justify-content:space-between;gap:8px;font-size:12px;line-height:1.5}.slope-labels span{width:48%}.slope-labels span:last-child{text-align:right;color:#92744c}.slope-labels b{font-size:12px;font-weight:600}.mountain-explanation{font-size:14px;color:#425f4c;line-height:1.85;margin:17px 0 0}.range-hint{font-size:11px;letter-spacing:0;color:#83988a;font-weight:400}.range-list{display:flex;flex-wrap:wrap;gap:7px}.range-chip{border:1px solid #dce8d9;background:#f8fbf5;border-radius:18px;padding:7px 10px;color:#5a755e;font-size:12px}.range-chip:hover,.range-chip.active{background:#e7f2df;color:#21684d;border-color:#b6d6b4}.source-link{margin-top:16px;font-size:12px;color:#36785e;text-decoration:none;line-height:1.6}.source-link:hover{text-decoration:underline}@media(max-width:1300px){.workspace{grid-template-columns:60px minmax(0,1fr) 310px}.stage-heading{top:79px}.stage-tabs{top:22px}.nav-button{padding:10px}.header{gap:12px}.brand{min-width:185px}.header-search{width:220px}.details{padding:20px 18px}}@media(max-width:970px){.workspace{grid-template-columns:56px minmax(0,1fr)}.details{width:320px}.legend{bottom:145px}.split-control{bottom:18px}.detail-intro{font-size:14px}.tip{display:none}}@media(max-width:600px){.workspace{grid-template-columns:1fr}.header-search{width:auto}.stage-tabs{top:13px}.stage-tab{font-size:12px;padding:8px 10px}.stage-heading{top:65px}.stage-heading h1{font-size:19px}.stage-heading p{font-size:12px}.toolbox{bottom:220px}.tool{font-size:10px;width:43px}.map-label{font-size:12px}.legend{bottom:238px;right:12px;min-width:190px;font-size:10px}.legend-top,.cover-legend{font-size:10px}.split-control{bottom:190px;max-width:calc(100% - 20px);gap:5px;font-size:10px;padding:7px}.split-control input{width:70px}.split-toggle,.join-btn{font-size:10px;padding:7px}.details{width:auto;max-height:180px}.details:has(.rain-diagram){max-height:46vh}.details:has(.rain-diagram) .detail-intro,.details:has(.rain-diagram) .section-title,.details:has(.rain-diagram) .insight{display:block}.details:has(.rain-diagram) .detail-english{display:block}.mountain-label{font-size:11px;padding:4px 7px}}.sun-widget{position:absolute;z-index:12;top:92px;right:22px;width:238px;color:#355d4e}.sun-toggle{display:flex;align-items:center;gap:8px;border:1px solid #d9e8d7;background:#fffdf6ed;border-radius:13px;padding:10px 12px;color:#355d4e;font-size:13px;box-shadow:0 6px 20px #445f4614;width:100%}.sun-toggle svg{color:#e4a048;width:20px;height:20px}.sun-toggle b{font-size:12px;color:#9b814e;margin-left:auto}.sun-panel{margin-top:7px;border:1px solid #e3e9dc;background:#fffef9f5;border-radius:15px;padding:14px;box-shadow:0 8px 24px #465e4018}.sun-title,.sun-time-label{font-size:12px;color:#506b5a;font-weight:700}.seasons{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:9px 0 15px}.seasons button{border:1px solid #e1eadd;background:#f8faf5;color:#718679;padding:7px;border-radius:8px;font-size:12px}.seasons button.active{border-color:#b2d4bb;background:#e7f3e5;color:#1a7056;font-weight:700}.sun-time-label{display:flex;justify-content:space-between}.sun-time-label strong{color:#9a6f2d}.sun-panel input{width:100%;accent-color:#cb9b46;margin:10px 0 2px}.sun-horizon{display:flex;justify-content:space-between;color:#95a49a;font-size:10px}.sun-auto{width:100%;display:flex;justify-content:center;align-items:center;gap:7px;border:1px solid #e0e8da;background:#f4f8ef;color:#466d56;border-radius:9px;margin-top:12px;padding:8px;font-size:12px;font-weight:600}.sun-auto svg{width:14px;height:14px}.sun-panel p{font-size:11px;line-height:1.5;color:#839083;margin:10px 0 0}.relief-control{position:absolute;z-index:7;right:22px;bottom:90px;display:flex;align-items:center;gap:8px;border:1px solid #dbe7d9;border-radius:12px;background:#fffef9ee;padding:10px 12px;font-size:12px;color:#516c59;box-shadow:0 4px 12px #4e64510c}.relief-control input{width:90px;accent-color:#237b6a}.relief-control b{min-width:25px;color:#26735e}.maplibregl-ctrl-top-right{top:48px!important}.maplibregl-ctrl-bottom-right{bottom:86px!important}@media(max-width:970px){.sun-widget{top:95px;right:14px;width:210px}.relief-control{bottom:110px}}@media(max-width:600px){.sun-widget{top:118px;right:12px;width:174px}.sun-toggle{font-size:11px;padding:8px}.sun-toggle b{font-size:10px}.sun-panel{padding:10px}.sun-panel p{font-size:10px}.relief-control{right:10px;bottom:250px;font-size:10px;padding:6px}.relief-control input{width:65px}.toolbox .tool:nth-of-type(5){display:flex}}.sun-widget{right:58px}.sun-arc{height:63px;position:relative;margin:0 0 12px;border-bottom:1px solid #cbdacb;background:linear-gradient(180deg,#fffaf0,#f8fbf5);border-radius:8px 8px 0 0}.sun-arc-line{position:absolute;bottom:0;left:5%;width:90%;height:46px;border:1px dashed #d5cba6;border-bottom:0;border-radius:100% 100% 0 0}.sun-dot{position:absolute;transform:translate(-50%,50%);font-size:19px;color:#e2a436;text-shadow:0 0 8px #ecc46d;transition:left .2s,bottom .2s;line-height:1}@media(max-width:600px){.sun-widget{right:48px}}.relief-control{bottom:176px}.detail-status{position:absolute;z-index:8;left:95px;bottom:105px;background:#fffdf2e8;border:1px solid #e2eadc;border-radius:10px;padding:8px 12px;color:#56715f;font-size:12px}.river-label{color:#146b91;font-weight:700}.city-label{font-size:12px;color:#304b38}.toolbox .tool[data-tool=rivers]{display:flex}@media(max-width:600px){.relief-control{bottom:300px}.detail-status{left:70px;bottom:265px;font-size:10px}.toolbox .tool[data-tool=rivers]{display:flex}}.relief-control button{border:1px solid #b6d4c5;border-radius:8px;background:#f4faf5;color:#216c59;padding:5px 8px;white-space:nowrap;font-size:12px;font-weight:700;cursor:pointer}.relief-control button.active{background:#1e7561;color:#fff}.relief-control button:focus-visible{outline:2px solid #216c59;outline-offset:2px}@media(max-width:600px){.relief-control{gap:4px}.relief-control button{font-size:10px;padding:4px}.relief-control input{width:50px}}.surface-modes{display:flex;gap:3px}.surface-modes button{font:inherit;border:0;background:transparent;color:#63806e;border-radius:6px;padding:4px 6px;cursor:pointer}.surface-modes button.active{background:#e1eee4;color:#1c6753;font-weight:700}.cover-legend .height-ramp{display:inline-block;width:100px;height:8px;border-radius:4px;background:linear-gradient(90deg,#85a467,#72945b,#92996d,#ac9d7a,#b8b09e);margin:0 6px}.stage-heading{pointer-events:none}.stage-heading h1,.stage-heading p,.stage-heading .eyebrow{text-shadow:0 1px 5px #fff,0 0 10px #ffffffb0}.city-label{font-size:14px}.stage-heading{padding:8px 12px;border-radius:12px;background:linear-gradient(100deg,#f7f8efed,#f7f8ef90 75%,#f7f8ef00);max-width:330px}.stage-heading h1{font-size:24px}@media(max-width:600px){.city-label{font-size:12px}.stage-heading{max-width:240px;padding:5px 8px}.stage-heading h1{font-size:19px}}.workspace{grid-template-columns:68px minmax(0,1fr);min-height:560px;height:calc(100dvh - 108px)}.rail{gap:4px}.rail-button{flex-shrink:0}.rail-button small{font-size:11px}#quick-regions{overflow:auto;min-height:0}.rail-grow{min-height:0}.rail-more{flex-shrink:0}.stage-heading{left:100px;top:20px;pointer-events:none}.stage-heading h1{font-size:21px}.stage-heading .eyebrow,.stage-heading p{display:none}.stage-tabs{top:20px;left:49%;font-size:14px}.stage-tab{font-size:14px;color:#52665b}.toolbox{left:14px;top:88px;bottom:18px;transform:none;max-height:620px;overflow-y:auto;padding:6px;gap:0;width:66px}.tool{width:52px;min-height:48px;padding:6px 2px;gap:3px;font-size:12px;flex-shrink:0;color:#476657}.tool svg{width:18px;height:18px}.tool-separator{flex-shrink:0}.sun-widget{position:static;inset:auto;z-index:auto}.tool-panel,.sun-panel,.relief-control,.split-control{position:absolute;inset:90px auto auto 94px;transform:none;width:270px;max-width:calc(100% - 110px);padding:18px;display:flex;flex-wrap:wrap;gap:12px;white-space:normal;z-index:15;background:#fffefaf5;border:1px solid #d0dbcd;border-radius:16px;box-shadow:0 12px 36px #213a3829;font-size:14px;color:#405e50}.tool-panel h3{width:100%;font-size:17px;margin:0}.tool-panel h3 b{font-size:12px;float:right;color:#7a8c77}.tool-panel p{line-height:1.7;margin:0;font-size:13px}.tool-panel input[type=range]{width:100%;accent-color:#237b6a}.tool-panel .sun-title,.tool-panel .seasons,.tool-panel .sun-arc,.tool-panel .sun-time-label,.tool-panel .sun-horizon,.tool-panel .sun-auto{width:100%}.tool-panel .sun-arc{height:68px}.tool-panel .sun-time-label,.tool-panel .sun-horizon{display:flex;justify-content:space-between}.split-control button,.relief-control button{padding:9px 12px}.tool-panel #relief-value{font-size:18px}.sun-panel .seasons{display:flex}.details-shell{position:absolute;z-index:9;right:16px;top:16px;bottom:16px;width:330px;max-width:30%;border:1px solid #dbe3d8;border-radius:21px;box-shadow:0 10px 35px #253d3420;background:#fffefaf5;display:flex;flex-direction:column;overflow:hidden}.details-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #e2e8dc;font-size:12px;color:#617d6a;flex-shrink:0}.details-bar button,.details-open{border:1px solid #d9e3d5;background:#f6faf2;color:#286858;border-radius:9px;padding:6px;display:flex;align-items:center;gap:6px}.details-open{position:absolute;right:18px;top:18px;z-index:10;padding:10px;font-size:13px}.details-shell .details{display:flex;flex:1;min-height:0;border:0;border-radius:0;background:none;box-shadow:none;padding:18px;overflow:auto}.detail-intro{display:block;font-family:inherit;font-size:14px;line-height:1.85;color:#526656;margin:18px 0}.details-title{font-size:29px}.fact-row{font-size:13px;grid-template-columns:16px 65px 1fr}.fact-row span:last-child{color:#536d5b}.details .insight{display:flex}.insight p{font-size:13px;line-height:1.8}.insight b,.section-title{font-size:13px}.guide-section{flex-shrink:0;border-top:1px solid #e0e8dc;padding-top:16px;margin-top:17px}.guide-section h3{font-size:16px;margin:0 0 8px;color:#285b49}.guide-section p{font-size:14px;line-height:1.9;margin:7px 0;color:#4e6556}.guide-section small{font-size:12px;line-height:1.7;color:#7b8b79;display:block}.guide-sources{display:flex;flex-direction:column;gap:6px;font-size:12px;margin-top:18px}.guide-sources a{color:#357c6b}.primary-btn,.secondary-btn{font-size:13px;flex-shrink:0}.details-spacer{min-height:12px}.legend{left:100px;right:auto;bottom:16px;font-size:12px;max-width:calc(70% - 120px);min-width:230px}.stage-bottom,.compass{display:none}.detail-status{left:100px;bottom:112px;max-width:calc(70% - 120px);font-size:12px}.map-label.selected{color:#a52f29}.map-label{font-size:15px}.details-collapsed .legend,.details-collapsed .detail-status{max-width:calc(100% - 120px)}@media(max-width:1000px){.app{padding:0 12px 12px}.workspace{grid-template-columns:58px minmax(0,1fr);gap:8px}.stage-heading{display:none}.stage-tabs{left:36%}.details-shell{width:290px;max-width:34%}.header{gap:12px}.brand{min-width:180px}.topnav .nav-button{padding:8px}.nav-button span{font-size:12px}.header-search{width:190px}}@media(max-width:700px){.header{height:70px}.header-search{width:145px}.topnav,.header-round{display:none}.brand{min-width:130px}.brand-name{font-size:19px}.brand-sub{display:none}.workspace{height:calc(100dvh - 82px);min-height:450px;grid-template-columns:48px minmax(0,1fr)}.rail{display:flex;padding:5px 1px}.rail-button{width:42px;height:46px}.rail-code{font-size:17px}.toolbox{width:52px;left:6px;top:66px;bottom:8px;padding:3px}.tool{width:44px;min-height:44px;font-size:11px}.stage-tabs{left:12px;transform:none;top:12px}.stage-tab{font-size:12px;padding:7px 10px}.details-shell{width:280px;max-width:calc(100% - 72px);top:60px;bottom:12px;right:7px}.details-open{right:7px;top:58px}.tool-panel{left:64px;top:66px;max-width:calc(100% - 72px);z-index:20}.legend{left:64px;bottom:8px;min-width:0;max-width:calc(100% - 72px);padding:8px;font-size:10px}.detail-status{left:64px;bottom:100px;max-width:calc(100% - 72px)}.legend-top{flex-wrap:wrap}.details-shell .details{padding:14px}.region-popover{left:60px;top:80px;max-width:calc(100vw - 75px)}}.toolbox{overflow-x:hidden}.details-shell .guide-section{display:block}.details-bar button{font-size:13px;padding:8px 10px;min-height:36px;font-weight:600;white-space:nowrap}.details-bar button:hover{background:#dceee2;border-color:#7aaa93}.details-english{display:none}.guide-section p{line-height:1.75}.tool-panel{padding-top:48px}.tool-panel-close{position:absolute;right:10px;top:9px;border:1px solid #cbd7c8;border-radius:8px;background:#f0f6ed;color:#315c48;padding:5px 10px;font-size:13px}.map-label.province-mountain{font-size:12px;color:#914d96;font-weight:700;text-shadow:0 1px #fff,1px 0 #fff,0 -1px #fff,-1px 0 #fff}.map-label.range-name{font-size:13px;letter-spacing:2px;color:#9a602e}.toolbox{max-height:none}.topnav a{text-decoration:none}.topnav .nav-button{display:flex;align-items:center;gap:8px}@media(max-width:700px){.topnav{display:flex}.topnav .nav-button{padding:5px}.header-search{display:none}}.workspace{grid-template-columns:88px minmax(0,1fr);height:calc(100dvh - 145px);min-height:360px}.rail{padding:8px 4px;min-height:0}.rail-button{width:76px;height:40px;min-height:40px;font-size:13px;flex-shrink:0}.rail-button span{font-size:13px}.rail>#quick-regions{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:thin;width:100%;display:flex;flex-direction:column;gap:3px}.rail-grow{display:none}.rail-more{height:32px;min-height:32px}.rail-divider{margin:3px}.toolbox{top:18px}.stage-bottom{display:none!important}.map-footer{display:flex;align-items:center;gap:20px;min-height:42px;padding:9px 6px;color:#6c7e70;font-size:12px;flex-wrap:wrap}.map-footer strong{font-family:Georgia,SimSun,serif;font-size:16px;font-weight:400;color:#365e4c}.map-footer>div{margin-left:auto;display:flex;align-items:center;gap:16px}.map-footer a,.map-footer button{color:#326d59;background:none;border:0;padding:0;font:inherit;text-decoration:none;cursor:pointer}.map-footer small{font-size:11px;color:#7d8b7a}.rain-diagram .diagram-key{font-size:12px;line-height:1.8;margin-top:12px;color:#53695d}.mountain-label{font-size:12px!important}.range-list{gap:5px}@media(max-width:700px){.workspace{height:calc(100dvh - 135px);grid-template-columns:68px minmax(0,1fr)}.rail-button{width:58px;height:38px;min-height:38px}.rail-button span{font-size:12px}.toolbox{top:12px}.map-footer{gap:6px;padding:8px 0}.map-footer>span,.map-footer small{display:none}.map-footer strong{font-size:13px}.map-footer>div{gap:10px}.details-shell,.tool-panel,.details-open{top:12px}}.rain-diagram>svg{width:100%;height:auto;min-height:150px;display:block}.rain-diagram>svg text{font-size:13px}.app{padding:0 24px;max-width:1920px}.header{height:78px}.workspace{grid-template-columns:72px minmax(0,1fr);height:calc(100dvh - 245px);min-height:390px;gap:12px}.layer-rail{position:static;width:auto;max-height:none;padding:12px 6px;gap:6px;border-radius:20px}.layer-rail .rail-button{width:56px;height:54px;min-height:54px;gap:2px}.layer-rail .rail-divider{display:block;width:32px;margin:5px 0}.rail-heading{font-size:10px;color:#8a9b8e;letter-spacing:3px;margin:3px 0}.layer-rail .tool{display:flex;width:56px;min-height:57px;font-size:13px;gap:5px;position:relative}.layer-rail .tool.active:after{content:"";position:absolute;right:6px;top:8px;width:5px;height:5px;border-radius:50%;background:#258472}.rail-reading{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:6px;color:#567664;text-decoration:none;font-size:11px;padding:12px 0 4px}.rail-reading svg{width:19px;height:19px}.stage{border-radius:22px}.map-context{position:absolute;top:18px;left:22px;z-index:5;pointer-events:none;color:#34594a;text-shadow:0 1px 3px #fff}.map-context>span{font-size:15px;font-weight:600;display:block}.map-context small{display:block;font-size:11px;color:#6d8475;margin-top:5px}.legend,.details-collapsed .legend{left:18px;bottom:16px;max-width:calc(100% - 380px);min-width:220px;background:#fffefae8;font-size:11px;padding:9px 12px}.details-collapsed .legend{max-width:calc(100% - 36px)}.detail-status,.details-collapsed .detail-status{left:18px;bottom:104px;max-width:calc(100% - 36px)}.details-shell{width:326px;max-width:34%;top:12px;right:12px;bottom:12px;border-radius:18px}.details-shell .details{position:static;width:auto;max-height:none;left:auto;right:auto;bottom:auto;padding:16px 18px;box-shadow:none}.details-bar{padding:9px 12px}.details-bar>span{font-size:12px;font-weight:600}.details-bar button{font-size:12px;padding:6px 8px}.details .detail-kicker{margin-top:1px}.details .details-title{margin-top:10px}.details-open{top:14px;right:14px}.map-controls{margin:10px 0 0 84px;display:grid;grid-template-columns:200px minmax(190px,1fr) minmax(190px,1fr) minmax(275px,1.35fr);gap:0;border:1px solid #d7e1d4;border-radius:18px;background:#fffefa;box-shadow:0 6px 20px #36513f06;padding:12px 8px;min-height:110px}.control-group{padding:0 18px;min-width:0;border-left:1px solid #e2e8dd;display:flex;flex-direction:column;justify-content:space-between;gap:7px;color:#436451;font-size:12px}.control-group:first-child{border-left:0}.navigation-controls{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:1px;padding:0 5px}.navigation-controls .tool{display:flex;width:100%;min-height:64px;font-size:12px;gap:8px;padding:10px 3px}.navigation-controls .tool svg{width:20px;height:20px}.control-heading,.control-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.control-heading>label,.control-heading>span{display:flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap;font-weight:600}.control-heading svg{height:16px;width:16px;color:#6c8976}.control-heading output{font-size:13px;color:#1b7967;min-width:34px;text-align:right;font-variant-numeric:tabular-nums}.map-controls input[type=range]{width:100%;min-width:0;accent-color:#207f6a;height:18px;cursor:pointer;margin:0}.control-foot{min-height:25px;font-size:12px}.control-foot small{font-size:10px;color:#8a9789;white-space:nowrap}.control-foot button{border:1px solid #dbe5d8;border-radius:7px;background:#f8faf4;color:#326d56;padding:4px 8px;white-space:nowrap;font-size:11px;display:flex;align-items:center;justify-content:center;gap:3px;min-height:27px}.control-foot button:hover,.control-foot button.active{background:#e6f0e4;border-color:#a8c9b4}.control-foot button svg{width:13px;height:13px}.sun-direct .seasons{display:flex;gap:1px;width:auto;background:#f0f4ed;padding:2px;border-radius:8px}.sun-direct .seasons button{border:0;font-size:11px;padding:3px 7px;color:#7f8c7b;background:transparent;border-radius:6px;min-width:25px}.sun-direct .seasons button.active{background:#fffefa;color:#26735b;box-shadow:0 1px 4px #28483916}.sun-direct-time{display:flex;gap:7px;align-items:center;font-size:10px;color:#8a9789;white-space:nowrap}.sun-direct #sun-time{font-variant-numeric:tabular-nums;color:#39725b}.reading-invitation{margin-left:84px;height:42px;display:flex;align-items:center;justify-content:space-between;color:#82927e;font-size:11px;padding:0 4px}.reading-invitation a{color:#47745c;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.geography-reading{margin-top:8px;padding:58px max(36px,calc((100vw - 1180px)/2));background:#e5eddf;border-top:1px solid #d1dec9;color:#345641;scroll-margin-top:15px}.reading-header{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:end}.reading-eyebrow{font-size:11px;letter-spacing:2px;color:#6c896b}.reading-header h1{font-family:"Noto Serif SC",SimSun,serif;font-size:32px;font-weight:500;margin:12px 0 0;line-height:1.45}.reading-header p{font-size:14px;line-height:1.9;margin:0;color:#637a5f}.reading-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.reading-card{display:flex;flex-direction:column;background:#f8faf3;border:1px solid #d6e1cc;border-radius:17px;padding:25px;text-decoration:none;color:#32523f;transition:transform .2s,box-shadow .2s}.reading-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #3452380c}.reading-card small{color:#879278;font-size:11px;letter-spacing:1px}.reading-card h2{font-family:"Noto Serif SC",SimSun,serif;font-weight:500;font-size:22px;margin:14px 0 10px}.reading-card p{font-size:13px;line-height:1.9;color:#6a7d60;margin:0 0 20px}.reading-card span{font-size:12px;color:#31785b;margin-top:auto}.reading-note{display:flex;justify-content:space-between;gap:40px;border-top:1px solid #cedcc5;padding-top:22px;font-size:12px;line-height:1.9;color:#697f60}.reading-note p{margin:0;max-width:740px}.reading-note a{color:#456d50;white-space:nowrap}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px max(36px,calc((100vw - 1180px)/2));background:#284c3d;color:#d6e4d1;font-size:12px}.site-footer strong{font-family:"Noto Serif SC",SimSun,serif;font-weight:400;letter-spacing:2px;font-size:18px}.site-footer nav{display:flex;align-items:center;gap:22px}.site-footer a,.site-footer button{background:none;border:0;padding:0;color:#c8d9c4;font:inherit;text-decoration:none}.site-footer small{color:#99b29b;font-size:10px}@media(max-width:600px){.topnav button.nav-button{display:none}}@media(min-width:1600px){.map-controls{grid-template-columns:240px 1fr 1fr 1.3fr}.control-group{padding:0 26px}}@media(max-width:1150px){.map-controls{grid-template-columns:175px 1fr 1fr 1.35fr}.control-group{padding:0 10px}.navigation-controls{padding:0 2px}.control-foot small{display:none}.sun-direct .seasons button{padding:3px 5px}.details-shell{max-width:38%}.header{gap:16px}}@media(max-width:900px){.app{padding:0 14px}.workspace{height:calc(100dvh - 340px);min-height:360px;grid-template-columns:62px 1fr;gap:8px}.map-controls{margin-left:70px;grid-template-columns:1fr 1fr;row-gap:12px;padding:12px;min-height:205px}.control-group{padding:0 12px}.control-group:nth-child(3){border-left:0}.navigation-controls .tool{min-height:60px}.reading-invitation{margin-left:70px}.layer-rail .tool,.layer-rail .rail-button{width:48px}.details-shell{max-width:48%;width:310px}.legend{max-width:48%;min-width:0}.reading-header{gap:30px}.geography-reading{padding:38px 24px}.reading-card{padding:20px}.site-footer{padding:24px}.reading-header h1{font-size:27px}}@media(max-width:600px){.header{height:64px;gap:8px}.brand-name{font-size:18px}.brand{min-width:0}.topnav{margin-left:auto}.topnav .nav-button{padding:7px}.topnav a span{display:inline;font-size:11px}.topnav button{display:none}.header-search{display:block;flex:0 1 150px;min-width:90px;width:auto}.header-search input{height:36px;font-size:11px;padding-left:29px}.header-search svg{top:10px;left:9px}.header-round{display:none}.workspace{grid-template-columns:50px 1fr;gap:6px;min-height:360px;height:calc(100dvh - 330px)}.layer-rail{padding:8px 2px;border-radius:14px;gap:3px}.layer-rail .rail-button{width:42px;min-height:43px;height:43px}.layer-rail .tool{display:flex;width:42px;min-height:48px;font-size:11px}.rail-heading{font-size:9px}.rail-reading{font-size:10px;padding:8px 0}.map-context{left:12px;top:12px}.map-context>span{font-size:12px}.map-context small{font-size:9px;max-width:160px;line-height:1.6}.stage{border-radius:16px}.legend,.details-collapsed .legend{left:8px;bottom:8px;min-width:0;max-width:calc(100% - 16px);font-size:9px;padding:6px 8px}.legend-top{gap:6px}.details-shell{width:100%;max-width:calc(100% - 12px);top:6px;bottom:6px;right:6px}.details-shell .details{padding:13px;max-height:none}.details-shell .detail-intro{display:block;font-size:13px;line-height:1.8}.details-shell .fact-row{display:grid;font-size:12px}.details-shell .section-title,.details-shell .detail-divider{display:block}.details-open{font-size:11px;top:9px;right:9px;padding:8px}.detail-status,.details-collapsed .detail-status{left:8px;bottom:95px;max-width:calc(100% - 16px);font-size:10px}.map-controls{margin:8px 0 0;min-height:200px;padding:10px 5px;border-radius:15px;column-gap:0;row-gap:12px}.control-group{padding:0 9px}.control-heading>label,.control-heading>span{font-size:12px;gap:4px}.control-heading svg{width:14px}.navigation-controls{padding:0 1px}.navigation-controls .tool{display:flex;font-size:11px;min-height:56px}.sun-direct .seasons button{padding:3px 4px;min-width:20px}.sun-direct .control-heading{gap:2px}.sun-direct .control-heading>span{font-size:11px}.sun-direct .control-heading>span svg{display:none}.reading-invitation{margin-left:0;height:38px;font-size:10px}.reading-invitation>span{max-width:50%}.geography-reading{margin-top:8px;padding:32px 20px}.reading-header{grid-template-columns:1fr;gap:16px}.reading-header h1{font-size:26px}.reading-header p{font-size:13px}.reading-grid{grid-template-columns:1fr;gap:12px;margin:24px 0}.reading-card{padding:22px}.reading-note{flex-direction:column;gap:12px}.site-footer{padding:25px 20px;flex-direction:column;align-items:flex-start;gap:17px}.site-footer strong{font-size:17px}.site-footer nav{gap:20px}.site-footer small{font-size:10px}}.map-controls .seasons{margin:0}.map-controls .relief-direct>input,.map-controls .split-direct>input{width:calc(100% - 70px)}.workspace{height:calc(100dvh - 192px)}.map-controls{min-height:62px;padding:7px 5px;border-radius:14px;grid-template-columns:185px 1fr .9fr 1.4fr}.control-group{position:relative;gap:5px;justify-content:center;padding:0 14px}.navigation-controls{padding:0 4px}.navigation-controls .tool{min-height:42px;padding:4px 2px;gap:3px;font-size:11px}.navigation-controls .tool svg{width:17px;height:17px}.control-heading>label,.control-heading>span{font-size:12px}.control-heading output{font-size:11px}.relief-direct>input,.split-direct>input{width:calc(100% - 70px)}.relief-direct .control-foot,.split-direct .control-foot{position:absolute;right:12px;bottom:0;min-height:22px}.control-foot small{display:none}.control-foot button{min-height:22px;padding:2px 6px;font-size:10px}.control-heading{min-height:20px}.sun-direct{gap:1px}.sun-direct-time{margin-right:30px}.sun-direct .control-foot{position:absolute;right:12px;bottom:1px;min-height:20px}.sun-direct #sun-time{position:absolute;right:140px;bottom:27px;font-size:10px}.sun-direct #sun-auto{font-size:0;width:25px;height:23px;padding:4px}.sun-direct .seasons button{padding:1px 6px}.reading-invitation{height:32px}.map-controls input[type=range]{height:18px}.map-context{display:flex;align-items:center;gap:22px;right:360px}.map-context>div{min-width:0}.map-context #map-context{display:block;font-size:14px;font-weight:600}.layer-rail{overflow-y:auto}.layer-rail .tool{min-height:52px}.layer-rail [data-tool=classics]{font-size:11px}.capital-key{display:flex;align-items:center;gap:5px;font-size:9px;color:#7e8a77;margin-top:5px}.capital-key i{width:6px;height:6px;border-radius:50%;background:#bb3d39}.capital-label{position:absolute;transform:translate(-4px,-50%);display:flex;align-items:center;gap:4px;background:none;border:0;padding:2px;color:#652e2b;font:600 11px Microsoft YaHei,sans-serif;white-space:nowrap;pointer-events:auto;text-shadow:0 1px white,1px 0 white,0 -1px white,-1px 0 white;cursor:pointer}.capital-label i{width:7px;height:7px;flex:none;border-radius:50%;background:#b63e36;border:1.5px solid #fff;box-shadow:0 0 2px #72392b}.capital-label.dot-only span{display:none}.capital-label:focus-visible{outline:2px solid #ae3934;border-radius:5px}.capital-label:hover span{display:inline}.capital-label:hover i{transform:scale(1.4)}.reading-header h2{font-family:"Noto Serif SC",SimSun,serif;font-size:30px;font-weight:500;margin:12px 0 0;line-height:1.45}.reading-card h3{font-family:SimSun,serif;font-size:21px;line-height:1.6;font-weight:500;margin:13px 0}.reading-card>div{display:flex;align-items:center;gap:16px;margin-top:auto}.reading-card button{border:0;background:none;color:#327554;padding:0;font:12px inherit;text-align:left}.reading-card a{color:#4b7655;font-size:12px;text-decoration:none}.reading-card button:hover,.reading-card a:hover{text-decoration:underline}@media(max-width:1100px){.map-controls{grid-template-columns:160px 1fr .85fr 1.35fr}.control-group{padding:0 9px}.sun-direct #sun-time{display:none}.sun-direct .seasons button{min-width:20px;padding:1px 4px}.map-context{right:34%;gap:12px}.map-context small{font-size:10px}}@media(max-width:900px){.workspace{height:calc(100dvh - 258px)}.map-controls{grid-template-columns:1fr 1fr;min-height:126px;row-gap:11px;padding:8px}.control-group,.navigation-controls .tool{min-height:44px}.map-context{right:12px;gap:14px}.details-shell{top:66px}.sun-direct #sun-time{display:none}}@media(max-width:600px){.workspace{height:calc(100dvh - 240px);min-height:390px}.layer-rail .tool{min-height:44px;font-size:11px}.layer-rail [data-tool=classics]{font-size:9px}.layer-rail .rail-heading{display:none}.map-context{top:11px;left:11px;right:10px;gap:8px;align-items:flex-start;flex-wrap:wrap}.map-context #map-context{font-size:11px}.map-context small{display:none}.map-controls{min-height:124px;padding:7px 3px;row-gap:9px}.control-heading>label,.control-heading>span{font-size:11px}.navigation-controls .tool{font-size:10px;min-height:42px}.relief-direct .control-foot,.split-direct .control-foot{right:8px}.control-foot button{font-size:9px;padding:2px 5px}.sun-direct .seasons button{padding:1px 4px}.reading-invitation{height:30px}.details-shell,.details-open{top:48px}.capital-label{font-size:10px}.capital-label i{width:6px;height:6px}.capital-key{font-size:8px}.reading-header h2{font-size:25px}}.capital-label{padding:5px;transform:translate(-50%,-50%);gap:0}.capital-label i{width:6px;height:6px;border:1px solid #fff;box-shadow:none}.capital-label:hover i{transform:none}.capital-label span{display:none!important}.city-label{font-size:13px;font-weight:500;color:#294a3b;text-shadow:0 1px 2px #fff,1px 0 2px #fff,0 -1px 2px #fff,-1px 0 2px #fff}.layer-rail{overflow-y:auto;scrollbar-width:thin}.layer-rail .tool{flex-shrink:0}.layer-rail .rail-reading{margin-top:auto}.lake-label,.landform-label{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;font:500 12px Microsoft YaHei,sans-serif;color:#176887;text-shadow:0 1px 2px white,1px 0 2px white,0 -1px 2px white,-1px 0 2px white;border:0;background:none;padding:3px;pointer-events:auto;cursor:pointer}.landform-label{color:#51458b;background:#f3f1ffed;border:1px solid #c3bce0;border-radius:4px;padding:3px 7px;text-shadow:none}.geography-badge{position:absolute;bottom:15px;left:230px;max-width:360px;background:#fffff0ed;color:#54705b;border:1px solid #d6e1cc;border-radius:7px;padding:5px 9px;font-size:11px;z-index:5;pointer-events:none}.geography-badge:empty{display:none}.landform-section{padding:12px 0;border-top:1px solid #dce5d6}.landform-section h3{font-size:16px;color:#2b6654;margin:5px 0 10px}.landform-section p,.landform-focus p{font-size:14px;line-height:1.9;margin:7px 0;color:#506653}.landform-section h3 i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}.landform-focus{background:#eff3e5;border-left:3px solid #7867b1;padding:12px;margin:12px 0}.layer-note{background:#f2f4e9;padding:12px;border-radius:8px;font-size:12px;line-height:1.8;color:#637253}.lake-label:focus-visible,.landform-label:focus-visible{outline:2px solid #a36a34;outline-offset:3px}@media(max-width:900px){.geography-badge{left:16px;bottom:80px;max-width:230px}.layer-rail .tool{min-height:43px}.layer-rail .rail-divider{margin:5px 0}}.map-label.province-mountain,.map-label.range-name{color:#8c4c29}.layer-rail [data-tool=mountains].active svg{color:#8c4c29}.layer-rail [data-tool=steps].active svg{color:#51458b}body.embedded-map{overflow:hidden}.embedded-map .header,.embedded-map .reading-invitation,.embedded-map .geography-reading,.embedded-map .site-footer,.embedded-map .rail-reading{display:none}.embedded-map .app{height:100dvh;padding:8px;display:flex;flex-direction:column}.embedded-map .workspace{flex:1;min-height:0;height:auto}.embedded-map .map-controls{flex:none;margin-bottom:0}.embedded-map .layer-rail{padding-top:6px;padding-bottom:6px;gap:2px}.embedded-map .layer-rail .tool{min-height:43px}.embedded-map .map-context{right:12px}@media(max-width:600px){.embedded-map .app{padding:4px}.embedded-map .layer-rail .tool{min-height:39px}.embedded-map .map-controls{min-height:116px}.embedded-map .details-shell{top:48px}.embedded-map .rail-button{min-height:37px;height:37px}}.app .stage>.map-isolate{position:absolute;z-index:16;top:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:8px;min-height:36px;max-width:calc(100% - 150px);padding:7px 16px;border:1px solid #367d6852;border-radius:10px;background:#f5faf2b8;color:#205e4f;font-size:14px;font-weight:600;line-height:1.5;white-space:nowrap;box-shadow:0 2px 9px #183e3910;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .18s,box-shadow .18s}.app .stage>.map-isolate:hover{background:#f5faf2f2;box-shadow:0 3px 12px #183e3920}.app .stage>.map-isolate:focus-visible{outline:3px solid #b98d40;outline-offset:3px}.app .stage>.map-isolate svg{width:15px;height:15px;flex:none}.app .stage>.map-isolate{min-width:142px}.app .stage>.map-isolate.is-return svg{transform:rotate(180deg)}body .app{max-width:none;width:100%;padding:0;margin:0}body .app>.global-header{margin:0}body:not(.embedded-map) .app .workspace{position:relative;display:block;width:100%;height:calc(100dvh - 80px);min-height:600px;margin:0;padding:0}.app .workspace>.stage{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0}.app .workspace>.layer-rail{position:absolute;z-index:10;left:18px;top:18px;bottom:auto;width:72px;max-height:calc(100% - 120px);overflow-y:auto;padding:10px 6px;background:#fffefaed;box-shadow:0 6px 28px #2b4d4215;border:1px solid #dce5d6;border-radius:19px;gap:4px}.app .layer-rail .rail-reading{margin-top:14px}.app .map-context{left:110px;top:22px;right:380px}.app .map-search{left:110px;top:72px;width:245px}.app .map-about{left:365px;top:75px}.app .workspace>.map-controls{position:absolute;z-index:12;left:50%;transform:translate(-50%);bottom:16px;margin:0;width:min(1240px,calc(100% - 48px));min-height:62px;max-width:none;background:#fffefaed;box-shadow:0 5px 25px #2b4d4217;border-radius:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app .stage .legend{bottom:94px;left:20px;max-width:calc(100% - 390px)}.app .stage.details-collapsed .legend{max-width:calc(100% - 40px)}.app .stage .detail-status{bottom:182px;left:20px}.app .stage .details-shell{top:18px;right:18px;bottom:96px;width:346px;max-width:40%;background:#fffefaf5;box-shadow:0 12px 40px #284a3824}.app .stage .details-open{right:20px;top:20px}.app .reading-invitation{max-width:1240px;margin:0 auto;padding:0 24px;height:32px}.details .layer-learning-section{margin:22px 0}.details .layer-learning-section h3{font-size:15px;line-height:1.7;font-weight:600;color:#285b48;margin:0 0 8px}.details .layer-learning-section p,.details .layer-learning-task p{font-size:14px;line-height:1.9;color:#526956;margin:8px 0}.layer-learning-task{padding:16px;background:#eef3e6;border:1px solid #dce6d3;border-radius:12px;margin:20px 0}.layer-learning-task h3{font-size:14px;margin:0 0 10px;color:#456843}.layer-learning-task details{border-top:1px solid #d3dfc9;margin-top:14px;padding-top:12px}.layer-learning-task summary{font-size:13px;color:#256b56;cursor:pointer;line-height:1.8}.layer-study-select{display:block;font-size:13px;font-weight:600;color:#3e624f;margin:22px 0}.layer-study-select select{display:block;width:100%;min-height:40px;border:1px solid #ccd9c5;background:#fffefa;color:#355642;border-radius:8px;margin-top:10px;padding:8px;font:400 14px Microsoft YaHei,sans-serif}.layer-back{border:0;border-bottom:1px solid #dce3d5;background:none;color:#31705a;font-size:12px;padding:2px 0 10px;margin-bottom:16px;cursor:pointer}.layer-reading-link{display:block;font-size:13px;color:#28715c;margin:12px 0;text-decoration:underline;text-underline-offset:4px;line-height:1.7}.details select:focus-visible,.details summary:focus-visible,.layer-back:focus-visible{outline:2px solid #a3854a;outline-offset:3px}.embedded-map .app{height:100dvh;padding:0;display:block}.embedded-map .app .workspace{position:relative;display:block;min-height:0;height:100dvh;width:100%}.embedded-map .app .map-context{right:20px}@media(max-width:900px){.app .workspace>.map-controls{width:calc(100% - 32px);bottom:12px;min-height:126px}.app .stage .details-shell{bottom:154px;max-width:calc(100% - 112px)}.app .stage .legend{bottom:152px;max-width:calc(100% - 40px)}.app .stage .detail-status{bottom:240px}.app .workspace>.layer-rail{max-height:calc(100% - 180px)}.app .map-context{right:20px}}@media(max-width:700px){body:not(.embedded-map) .app .workspace{height:calc(100dvh - 116px);min-height:620px}.app .workspace>.layer-rail{left:10px;top:100px;width:54px;padding:7px 2px;border-radius:14px;gap:3px;max-height:calc(100% - 260px)}.app .layer-rail .tool,.app .layer-rail .rail-button{width:46px;min-height:43px;font-size:11px}.app .layer-rail .rail-reading{margin-top:4px;padding:7px 0}.app .layer-rail .rail-heading,.app .layer-rail .rail-divider{display:none}.app .map-context{top:14px;left:16px;right:14px;gap:12px}.app .map-search{top:50px;left:16px;width:200px}.app .map-about{top:53px;left:224px}.app .stage .details-shell{top:96px;bottom:150px;right:10px;max-width:calc(100% - 84px);width:346px;border-radius:14px}.app .stage .details-open{top:14px;right:12px;font-size:11px}.app .workspace>.map-controls{width:calc(100% - 20px);bottom:10px;min-height:124px}.app .stage .legend,.app .stage.details-collapsed .legend{left:76px;bottom:146px;max-width:calc(100% - 88px);font-size:9px;min-width:0}.app .stage .detail-status{left:76px;bottom:230px;max-width:calc(100% - 90px)}.app .reading-invitation{padding:0 18px;font-size:10px}.embedded-map .app .workspace{height:100dvh;min-height:0}.embedded-map .workspace>.layer-rail{top:98px}.embedded-map .layer-rail .tool{min-height:38px}.details .layer-learning-section p,.details .layer-learning-task p{font-size:13px}.details .layer-learning-section h3{font-size:14px}}.details-shell .details:has(.layer-learning-section){display:block}.details .layer-study-select{margin:16px 0 22px}@media(min-width:901px){.app .workspace{--overlay-inset:max(24px, calc((100% - 1202px)/2) )}.app .workspace>.layer-rail{left:var(--overlay-inset)}.app .map-context,.app .map-search{left:calc(var(--overlay-inset) + 92px)}.app .map-about{left:calc(var(--overlay-inset) + 347px)}.app .map-context{right:calc(var(--overlay-inset) + 360px)}.app .stage .details-shell,.app .stage .details-open{right:var(--overlay-inset)}.app .stage .legend,.app .stage .detail-status{left:var(--overlay-inset)}.app .workspace>.map-controls{width:min(1202px,calc(100% - 48px))}}.app .reading-invitation{max-width:1250px;box-sizing:border-box}.app .map-topbar{position:absolute;z-index:15;top:20px;left:110px;right:380px;display:flex;align-items:center;gap:12px;pointer-events:none}.app .map-topbar>*{pointer-events:auto}.app .map-topbar:has(.search-results:not(.hidden)){z-index:20}.app .map-topbar .map-context{position:static;display:flex;align-items:center;gap:14px;flex:none;max-width:none;margin:0}.app .map-topbar .map-context small{font-size:10px;letter-spacing:0}.app .map-topbar .map-search{position:relative!important;inset:auto!important;width:170px;min-width:100px;flex:0 1 170px;transform:none!important}.app .map-topbar .map-search input{height:36px;padding-left:30px;font-size:12px}.app .map-topbar .map-search>svg{left:10px;top:10px}.app .map-topbar .map-about{position:static;display:grid;width:29px;height:29px;flex:none;margin:0}.app .map-topbar .search-results{top:43px;min-width:230px}@media(min-width:901px){.app .map-topbar{left:calc(var(--overlay-inset) + 92px);right:calc(var(--overlay-inset) + 360px)}}@media(max-width:1100px){.app .map-topbar{right:70px}.app .map-topbar .map-context{gap:8px}.app .map-topbar .map-search{width:145px;flex-basis:145px}.app .stage .details-shell{top:78px}}@media(max-width:700px){.app .map-topbar{top:12px;left:16px;right:12px;gap:8px;flex-wrap:wrap;padding-right:0}.app .map-topbar .map-context{display:contents}.app .map-topbar .map-context>div{flex:1;min-width:140px}.app .map-topbar .map-context small{font-size:9px}.app .map-topbar .map-search{flex:0 1 130px;min-width:90px}.app .map-topbar .map-about{display:none}.app .stage .details-open{top:62px}.app .stage .details-shell{top:98px}.app .map-topbar .search-results{left:auto;right:0;min-width:220px}}@media(min-width:701px)and (max-width:1100px){.app .map-topbar{right:auto;gap:8px}.app .map-topbar .map-context{max-width:185px}.app .map-topbar .map-search{width:110px;min-width:90px;flex-basis:110px}.app .map-topbar .map-about{display:none}.app .stage>.map-isolate{left:auto;right:76px;transform:none}.app .stage:has(>.map-isolate:not(.hidden)) .details-shell{top:78px}}@media(max-width:700px){.app .map-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;row-gap:8px}.app .map-topbar .map-context>div{grid-column:1/-1;line-height:20px}.app .map-topbar .map-context small{display:none}.app .map-topbar .map-search{grid-column:1;width:min(150px,calc(100vw - 200px));min-width:90px}.app .stage>.map-isolate{top:40px;left:auto;right:16px;transform:none;min-height:36px;padding:7px 12px;font-size:12px;gap:6px;border-radius:9px;max-width:calc(100% - 170px)}.app .stage .details-open{top:100px}.app .stage:has(>.map-isolate:not(.hidden)) .details-shell{top:98px}}
