:root{font-family:Segoe UI,Microsoft YaHei,sans-serif;color:#233c35;background:#ecefe7;font-synthesis:none;--ink:#244b40;--muted:#819086;--gold:#bd9654;--line:#314e3820}*{box-sizing:border-box}body{margin:0}button,a,input{font:inherit;-webkit-tap-highlight-color:transparent}button{border:0;background:none;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #2a8a75;outline-offset:4px}button,a{touch-action:manipulation}button{transition:background .2s,color .2s,border-color .2s}a{color:inherit;text-decoration:none}svg{width:18px;height:18px;flex-shrink:0}h1,h2,h3,p{margin:0}#app{height:100dvh;min-height:680px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 63% 38%,#faf8ee 0,#ecf0e7,#e4e9de)}.ex-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--line);position:relative;z-index:8;background:#f4f5edb0}.ex-brand{display:flex;align-items:center;gap:13px}.ex-brand>span{width:38px;height:40px;display:grid;place-items:center;background:#294d40;color:#efe6bc;border-radius:10px 2px}.ex-brand svg{width:25px;height:25px}.ex-brand strong{font-family:"Noto Serif SC",SimSun,serif;font-weight:600;font-size:26px;letter-spacing:3px}.ex-brand small{display:block;font-size:7px;letter-spacing:1.7px;color:#839285;margin-top:5px}.ex-header-title{font-size:12px;letter-spacing:2px;color:#7b8c80}.ex-header>button{display:flex;align-items:center;gap:7px;font-size:11px;color:#697f70}.ex-header>button:hover{color:#234f3f}.ex-header>button svg{width:15px}.eyebrow{font-size:8px;letter-spacing:1.9px;color:#899b85;display:block}.ex-sidebar{position:absolute;top:116px;bottom:150px;left:32px;width:214px;z-index:5;display:flex;flex-direction:column}.ex-intro h1{font-family:"Noto Serif SC",SimSun,serif;font-size:34px;font-weight:500;line-height:1.5;letter-spacing:3px;margin:13px 0 9px}.ex-intro h1 em{font-style:normal;color:#8a9b74}.ex-intro p{font-size:11px;color:#81917e;line-height:1.9;letter-spacing:.5px}.issue-list{display:flex;flex-direction:column;gap:8px;margin-top:23px}.issue-card{display:flex;align-items:center;gap:10px;border:1px solid #3b5c3e22;border-radius:7px;background:#fcfcf688;padding:13px 11px;text-align:left;width:100%}.issue-card:hover{border-color:#61795770;background:#ffffffc0}.issue-card.on{background:#f1e7d2;border-color:#c7a566}.issue-icon{width:30px;height:30px;background:#ccd9c44d;display:grid;place-items:center;border-radius:5px;color:#5a826a}.issue-icon svg{width:18px}.issue-card.on .issue-icon{background:#dcc28b4d;color:#997538}.issue-card>span:nth-child(2){flex:1}.issue-card b{display:block;font-size:12px;font-weight:600;letter-spacing:1px}.issue-card small{display:block;font-size:9px;color:#89957e;margin-top:6px}.issue-card.on small{color:#9c7b43}.issue-switch{width:22px;height:12px;background:#b7c4b499;border-radius:8px;position:relative;flex-shrink:0}.issue-switch:before{content:"";width:8px;height:8px;background:#f9faf3;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s}.issue-card.on .issue-switch{background:#b59558}.issue-card.on .issue-switch:before{transform:translate(10px)}.dispatch-box{padding-top:19px;margin-top:20px;border-top:1px solid #4b644030}.dispatch-title{font-size:10px;display:flex;gap:7px;align-items:center;color:#657c61;margin-bottom:11px}.dispatch-title svg{width:14px;height:14px}.dispatch-box>button{width:100%;background:#315e4b;color:#f0f1db;padding:13px 11px;display:flex;align-items:center;justify-content:space-between;border-radius:5px;font-size:11px;letter-spacing:.3px;box-shadow:0 4px 13px #315e4b10}.dispatch-box>button:hover{background:#244b3a}.dispatch-box>button[aria-checked=true]{background:#28876e;box-shadow:0 0 0 3px #68b49720}.dispatch-box>button svg{width:15px;height:15px}.dispatch-box p{font-size:9px;color:#8a9983;line-height:1.9;margin-top:9px}.reset-eco{margin-top:auto;display:flex;align-items:center;gap:7px;padding:14px 0 0;color:#7d8e77;font-size:10px;align-self:flex-start}.reset-eco svg{width:13px;height:13px}.reset-eco:hover{color:#2b6048}.ex-main{position:absolute;left:260px;right:0;top:84px;bottom:137px}.scene-heading{position:absolute;top:30px;left:46px;right:40px;display:flex;align-items:center;justify-content:space-between;z-index:3;font-size:10px;color:#8c9b84;pointer-events:none}.scene-heading>span:first-child{display:flex;align-items:center;gap:7px;color:#60816a}.live-dot{width:5px;height:5px;background:#6ca381;border-radius:50%;box-shadow:0 0 0 3px #70ad8316}#sandtable{position:absolute;top:0;right:0;bottom:0;left:0}#sandtable>canvas{display:block;width:100%;height:100%;touch-action:none}.scene-tools{position:absolute;right:28px;top:50%;transform:translateY(-50%);background:#f8faf2c9;border:1px solid #6c8a6b25;border-radius:6px;padding:4px;display:flex;flex-direction:column;gap:1px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:4}.scene-tools button{width:29px;height:31px;display:grid;place-items:center;border-radius:3px;color:#7c9378}.scene-tools button:hover,.scene-tools button[aria-pressed=true]{background:#d5e2cd;color:#345e48}.scene-tools svg{width:15px;height:15px}.scene-tools>span{height:1px;background:var(--line);margin:4px 3px}.scene-hint{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:7px;color:#9ba58e;font-size:8px;white-space:nowrap;pointer-events:none}.scene-hint svg{width:12px;height:12px}.scene-hint>span{margin:0 3px}.scene-legend{position:absolute;bottom:41px;left:45px;display:flex;gap:15px;align-items:center;font-size:8px;color:#8a997f;z-index:3;pointer-events:none}.scene-legend>span{display:flex;align-items:center;gap:5px}.scene-legend b{width:6px;height:6px;border-radius:50%;display:inline-block}.legend-blue{background:#36a7c9}.legend-sand{background:#bd945b}.legend-flood{background:#72bbc9}.legend-dry{background:#bfaa80}.region-pin{position:absolute;top:0;left:0;display:flex;align-items:center;gap:7px;white-space:nowrap;will-change:transform;z-index:3;text-align:left;margin:-8px 0 0 -8px;padding:0}.pin-ring{width:15px;height:15px;border:1px solid #f7fcf5;border-radius:50%;background:#317f6c;box-shadow:0 0 0 4px #f8fff14f,0 2px 6px #183c4c40;flex-shrink:0}.region-pin>span:last-child{background:#fafbf0e6;border:1px solid #dde2d080;border-radius:4px;padding:6px 9px;box-shadow:0 2px 9px #30463013;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.region-pin b{display:block;font-size:11px;font-weight:600;letter-spacing:1px;color:#3e6250}.region-pin small{font-size:8px;display:block;color:#829577;margin-top:4px}.region-pin.affected .pin-ring{background:#be8a45}.region-pin.affected b{color:#a1733a}.region-pin.affected small{color:#a98b59}.region-pin.selected>span:last-child{border-color:#91aa7c;background:#fffff5}.region-pin:hover>span:last-child{background:#fff}.region-pin:last-of-type{margin-left:-112px;flex-direction:row-reverse}.reservoir-label{position:absolute;top:0;left:0;pointer-events:none;font-size:8px;background:#2b7a64ed;color:#fff;padding:4px 7px;border-radius:3px;margin-top:-20px;opacity:0;transition:opacity .5s;white-space:nowrap;z-index:2}.reservoir-label.visible{opacity:1}.ex-story{position:absolute;bottom:33px;left:284px;right:30px;min-height:88px;padding:18px 21px;background:#f9faf1e3;border:1px solid #56714d25;border-radius:9px;display:flex;align-items:center;gap:24px;box-shadow:0 7px 30px #536d3f05;z-index:6}.story-caption{width:217px;flex-shrink:0}.story-caption .eyebrow{font-size:7px;letter-spacing:1.1px;color:#9b9e7a}.story-caption h2{font-family:"Noto Serif SC",SimSun,serif;font-size:15px;font-weight:600;letter-spacing:1px;margin:8px 0 6px}.story-caption p{font-size:9px;line-height:1.7;color:#8d9982}.story-flow{display:flex;align-items:center;justify-content:space-between;gap:7px;flex:1;min-width:0}.story-flow>svg{width:12px;color:#b8c4a9}.story-step{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.45;text-align:center;flex:1;min-width:0}.story-step>span{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#e4ead9;color:#8ea27d;border:1px solid #9bab8633}.story-step svg{width:14px;height:14px}.story-step b{font-size:8px;font-weight:400;line-height:1.6;color:#7c8c6e;max-width:100px}.story-step.reached{opacity:1}.story-step.current>span{background:#dbe7cd;border-color:#80986a66;box-shadow:0 0 0 4px #b4c89511}.story-step.current b{color:#486544}.story-controls{display:flex;flex-direction:column;gap:8px;border-left:1px solid var(--line);padding-left:14px}.story-controls button{width:25px;height:24px;font-size:10px;color:#6a8564;display:grid;place-items:center;border-radius:3px}.story-controls button:hover{background:#dfe8d5}.story-controls svg{width:14px;height:14px}.ex-foot{position:absolute;left:32px;right:32px;bottom:10px;display:flex;justify-content:space-between;color:#9ca78f;font-size:8px;letter-spacing:.2px}.ex-loading{position:absolute;top:84px;right:0;bottom:0;left:0;background:#edf0e8f5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;z-index:10;transition:opacity .5s,visibility .5s}.ex-loading>span{width:34px;height:34px;border:1px solid #9dab8f55;border-top-color:#486f55;border-radius:50%;animation:spin 1s linear infinite}.ex-loading h2{font-family:SimSun,serif;font-weight:400;letter-spacing:3px;font-size:22px;color:#45674e}.ex-loading p{font-size:11px;color:#91a083}.ex-loading.done{opacity:0;visibility:hidden}@keyframes spin{to{transform:rotate(360deg)}}dialog{border:1px solid #758b6a33;border-radius:12px;width:min(780px,calc(100vw - 36px));max-height:85dvh;padding:28px;background:#f6f8ee;color:#38543f;box-shadow:0 20px 80px #24492e25}dialog::backdrop{background:#253b3466;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.about-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.about-head h2{font-family:SimSun,serif;font-size:23px;letter-spacing:2px;margin-top:12px}.about-head>button{width:28px;height:28px;display:grid;place-items:center}.about-head svg{width:17px;height:17px}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.about-grid article{padding-top:20px;border-top:1px solid #80936a33}.about-grid article>svg{width:24px;height:24px;color:#6f8c59}.about-grid h3{font-size:13px;margin:14px 0 10px;letter-spacing:.5px}.about-grid p{font-size:11px;line-height:2;color:#819174}.about-limit{padding-top:18px;margin-top:23px;border-top:1px solid #80936a33;color:#9a9f87;font-size:10px;line-height:1.9}@media(min-width:1600px){.ex-sidebar{width:238px;left:42px;top:135px}.ex-intro h1{font-size:41px}.ex-intro p{font-size:12px}.issue-card{padding:17px 13px}.issue-card b{font-size:13px}.issue-card small{font-size:10px}.issue-list{gap:11px;margin-top:29px}.dispatch-box{margin-top:28px;padding-top:24px}.dispatch-box>button{padding:16px 13px;font-size:12px}.dispatch-title{font-size:11px}.dispatch-box p{font-size:10px}.ex-main{left:290px;bottom:165px}.ex-story{left:320px;bottom:38px;right:42px;min-height:110px;padding:22px 28px}.story-caption{width:280px}.story-caption h2{font-size:18px}.story-caption p{font-size:10px}.story-step b{font-size:10px;max-width:130px}.story-step>span{width:35px;height:35px}.story-step svg{width:17px;height:17px}.region-pin b{font-size:12px}.region-pin small,.scene-legend{font-size:9px}.ex-foot{left:42px;right:42px}}@media(max-height:820px)and (min-width:801px){.ex-header{height:72px}.ex-sidebar{top:97px;bottom:145px}.ex-intro h1{font-size:29px;line-height:1.4;margin:10px 0 7px}.ex-intro p{font-size:10px;line-height:1.7}.issue-list{margin-top:16px;gap:6px}.issue-card{padding:10px}.dispatch-box{margin-top:14px;padding-top:14px}.dispatch-title{font-size:9px;margin-bottom:9px}.dispatch-box>button{padding:11px;font-size:10px}.dispatch-box p{font-size:8px;margin-top:7px}.reset-eco{padding-top:9px}.ex-main{top:72px}.ex-loading{top:72px;right:0;bottom:0;left:0}.scene-heading{top:24px}.ex-story{padding:14px 18px;gap:17px}.story-caption{width:204px}.story-caption h2{font-size:14px}}@media(max-width:1150px)and (min-width:801px){.ex-header{padding:0 25px}.ex-sidebar{left:25px;width:193px}.ex-main{left:225px}.ex-intro h1{font-size:30px}.issue-card{gap:8px;padding:11px 8px}.issue-icon{width:27px;height:27px}.issue-card b{font-size:11px}.issue-card small{font-size:8px}.issue-switch{width:20px}.issue-card.on .issue-switch:before{transform:translate(8px)}.dispatch-title{font-size:9px}.dispatch-box>button{font-size:10px}.ex-story{left:244px;right:23px;padding:15px;gap:14px}.story-caption{width:155px}.story-caption h2{font-size:13px;letter-spacing:.5px;line-height:1.6}.story-caption p{font-size:8px}.story-step b{font-size:7px}.story-flow{gap:3px}.story-flow>svg{width:9px}.scene-tools{right:15px}.scene-heading{left:25px;right:24px;font-size:9px}.region-pin b{font-size:10px}.region-pin small{font-size:7px}.region-pin>span:last-child{padding:5px 7px}.region-pin:last-of-type{margin-left:-99px}}@media(max-width:800px){body{overflow:auto}#app{height:auto;min-height:100dvh;overflow:hidden;padding-bottom:35px;display:flex;flex-direction:column}.ex-header{height:70px;padding:0 18px;flex-shrink:0}.ex-brand strong{font-size:23px}.ex-brand small{font-size:6px;letter-spacing:1.1px}.ex-brand>span{width:33px;height:36px}.ex-header-title{display:none}.ex-header>button{font-size:9px;gap:5px}.ex-header>button svg{width:14px}.ex-sidebar{position:relative;inset:auto;width:auto;padding:24px 20px 0;order:2;display:grid;grid-template-columns:1fr 1fr;gap:18px}.ex-intro{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:0 15px}.ex-intro>.eyebrow{width:100%;font-size:7px}.ex-intro h1{font-size:26px;line-height:1.3;letter-spacing:2px;margin:9px 0 0}.ex-intro h1 br{display:none}.ex-intro h1 em{margin-left:8px}.ex-intro p{font-size:9px;margin-top:10px;line-height:1.8}.ex-intro p br{display:none}.issue-list{margin:0;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.issue-card{padding:12px 9px;gap:8px}.issue-card b{font-size:11px}.issue-card small{font-size:8px}.issue-icon{width:26px;height:28px}.issue-icon svg{width:17px}.issue-switch{width:20px}.issue-card.on .issue-switch:before{transform:translate(8px)}.dispatch-box{grid-column:1/-1;margin:0;padding-top:17px}.dispatch-title{font-size:10px}.dispatch-box>button{font-size:12px;padding:15px}.dispatch-box p{font-size:9px;margin-top:10px}.reset-eco{grid-column:1/-1;margin:0;justify-self:center;padding:0}.ex-main{position:relative;left:auto;right:auto;top:auto;bottom:auto;height:390px;order:1;margin-top:0}.scene-heading{top:20px;left:20px;right:20px;font-size:8px}.scene-legend{bottom:29px;left:20px;right:20px;justify-content:center;gap:13px;font-size:7px}.scene-legend b{width:5px;height:5px}.scene-hint{bottom:7px;font-size:7px;gap:4px}.scene-hint svg{width:10px}.scene-tools{right:11px;padding:3px}.scene-tools button{width:24px;height:27px}.scene-tools svg{width:13px;height:13px}.region-pin{gap:4px}.region-pin>span:last-child{padding:4px 5px;max-width:78px}.region-pin b{font-size:8px;letter-spacing:.3px}.region-pin small{font-size:6px;margin-top:3px}.pin-ring{width:11px;height:11px;box-shadow:0 0 0 3px #f8fff14f}.region-pin:last-of-type{margin-left:-86px}.reservoir-label{font-size:6px;padding:3px 5px}.ex-story{position:relative;inset:auto;order:3;margin:22px 16px 0;padding:18px 14px;gap:16px;flex-wrap:wrap}.story-caption{width:calc(100% - 45px);order:0}.story-caption h2{font-size:16px}.story-caption p{font-size:9px}.story-flow{order:2;flex-basis:100%;gap:4px}.story-step b{font-size:8px;line-height:1.7;max-width:75px}.story-flow>svg{width:11px}.story-step>span{width:29px;height:29px}.story-controls{order:1;width:28px;padding-left:7px;gap:6px}.ex-foot{position:relative;inset:auto;order:4;margin:19px 20px 0;display:block;font-size:7px;line-height:1.8;text-align:center}.ex-foot>span:last-child{display:block;margin-top:5px}.ex-loading{position:fixed;top:70px;right:0;bottom:0;left:0}.ex-loading h2{font-size:20px}.ex-loading p{font-size:10px}.about-grid{grid-template-columns:1fr;gap:20px}.about-grid article{display:grid;grid-template-columns:30px 1fr;column-gap:10px;padding-top:15px}.about-grid article>svg{grid-row:1/3;width:23px;height:23px}.about-grid h3{margin:0 0 8px}.about-grid p{font-size:10px}.about-head h2{font-size:20px}.about-head .eyebrow{font-size:6px;letter-spacing:1px}dialog{padding:22px}.about-limit{font-size:9px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition:none!important}}
