*{box-sizing:border-box}body{margin:0;background:#f4f7f8;color:#203436;font:14px 'Segoe UI','Microsoft YaHei',sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #14b8a6;outline-offset:3px}button{border:1px solid #dce5e6;border-radius:8px;background:white;padding:8px 12px;color:#435a5d}a{color:#008b7d}.rail{position:fixed;inset:0 auto 0 0;width:78px;background:#102f32;color:#b7d3d2;text-align:center;padding:24px 8px;z-index:2}.brand-icon{color:#62decc;font-size:38px}.rail-active{margin-top:50px;background:#245054;border-radius:10px;padding:12px 0;font-size:26px;color:#75e3d2}.rail small{display:block;font-size:10px;margin-top:7px}.rail-bottom{position:absolute;bottom:28px;left:24px}main{margin-left:78px;padding:0 30px;max-width:1880px}header{height:80px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dfe8e8}.brand{font-size:23px;font-weight:750;letter-spacing:2px}.brand span{font-size:10px;color:#8a9d9f;letter-spacing:2px;margin-left:16px}.header-right{display:flex;align-items:center;gap:12px;font-size:12px;color:#6d8183}.status-dot{width:7px;height:7px;background:#14b8a6;border-radius:50%}.heading{display:flex;justify-content:space-between;align-items:center;padding:30px 0 22px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;color:#839c9d}h1{font-size:30px;letter-spacing:-1px;margin:10px 0}h1 span{color:#0b9a87}.heading p{color:#788b8e;margin:0}.primary{background:#087e71;color:#fff;border-color:#087e71;padding:11px 17px}.notice{border:1px solid #daebe7;background:#edf6f3;border-radius:8px;padding:12px 15px;color:#567973;font-size:12px;margin-bottom:22px}.notice b{margin-right:12px}.workspace{display:grid;grid-template-columns:254px minmax(450px,1fr) 254px;gap:18px;align-items:start}.card{background:white;border:1px solid #e1e9ea;border-radius:13px;box-shadow:0 3px 14px #173e3b03}.filters,.details{padding:20px}.panel-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:650;margin-bottom:22px}.text-button{border:0;color:#789390;font-size:12px;padding:0;margin-left:auto}.filters label{display:block;color:#78908e;font-size:12px;margin:20px 0 10px}.filters label b{color:#314c4c;margin-left:7px;font-size:13px}.input-search{display:flex;align-items:center;border:1px solid #d8e5e3;border-radius:8px;padding-left:10px}.input-search span{font-size:20px;color:#0d9a86}.input-search input{border:0;outline:0;width:100%;padding:11px 8px;min-width:0;background:transparent}.input-search button{border:0;color:#078d79}.hint{font-size:11px;color:#8b9d9e;font-weight:400;line-height:1.6}#originResult{margin-top:8px}select{width:100%;border:1px solid #dae5e4;background:#fafcfc;color:#395352;border-radius:7px;padding:9px 6px;font-size:12px}.micro{font-size:10px;line-height:1.8;color:#94a4a4}.separator{height:1px;background:#eaf0f0;margin-top:22px}output{float:right;font-size:12px;color:#078e7b;font-weight:600}input[type=range]{accent-color:#119c88;width:100%}.range-label{display:flex;justify-content:space-between;font-size:10px;color:#92a3a3}.temp-inputs{display:flex;gap:8px;align-items:center;color:#a3afae}.temp-inputs div{display:flex;align-items:center;border:1px solid #dce6e4;border-radius:7px;padding-right:8px;width:44%;color:#809391}.temp-inputs input{width:100%;min-width:0;border:0;background:transparent;padding:10px 6px;outline:0}.chips{display:flex;gap:5px;margin-top:10px}.chips button{font-size:10px;padding:5px 7px;background:#f4f8f7;border:0;color:#708883}label.check{display:flex;align-items:center;gap:6px;color:#607774;font-size:11px;margin:12px 0}input[type=checkbox]{accent-color:#098675}.filter-total{background:#f1f8f6;border-radius:8px;padding:15px;margin-top:24px;display:flex;justify-content:space-between;align-items:center;color:#558379;font-size:11px}.filter-total b{font-size:25px;color:#078e79}.filter-total small{font-size:12px;color:#8da6a0}.map-card{overflow:hidden}.map-top{display:flex;justify-content:space-between;align-items:center;padding:20px 22px 16px}h2{font-size:16px;margin:0 0 6px}.map-top span{font-size:11px;color:#8a9f9e}.view-switch{display:flex;padding:3px;background:#f0f5f4;border-radius:7px}.view-switch button{border:0;background:transparent;font-size:11px;padding:6px 14px}.view-switch .active{background:white;color:#028a77;box-shadow:0 1px 3px #0001}.date-tabs{display:flex;gap:6px;padding:0 22px}.date-tabs button{flex:1;border:0;background:#f8faf9;padding:9px 1px;font-size:11px;color:#819592}.date-tabs strong{display:block;margin-bottom:4px;font-size:12px;font-weight:500}.date-tabs .active{background:#087e71;color:white}.map-wrap{position:relative;background:radial-gradient(ellipse at center,#f7faf9 0%,white 75%);overflow:hidden}#map{display:block;width:100%;height:auto;min-height:360px;touch-action:pan-y}.province{stroke:#fff;stroke-width:1.2;stroke-linejoin:round;cursor:pointer;transition:fill .3s}.province:hover,.province.selected{stroke:#075a50;stroke-width:2.2}.map-label{pointer-events:none;fill:#244748;text-anchor:middle;font-size:12px;font-weight:600;paint-order:stroke;stroke:#ffffff90;stroke-width:2px}.map-label tspan{font-size:10px;font-weight:400;stroke-width:1px}.map-controls{position:absolute;right:16px;top:22px;display:grid;gap:5px}.map-controls button{padding:4px 9px;font-size:18px}.map-caption{position:absolute;bottom:15px;left:22px;font-size:10px;color:#9aabab;line-height:1.8}.legend{display:flex;gap:15px;align-items:center;justify-content:center;padding:0 22px 18px;font-size:10px;color:#899d9b}.legend>div{width:240px}#legendBar{height:8px;border-radius:8px;background:linear-gradient(90deg,#668cc2,#82c4d7,#bee4d2,#f6de98,#eda87a,#df756b)}.legend-values{display:flex;justify-content:space-between;margin-top:5px}.map-foot{border-top:1px solid #edf1f1;padding:12px 22px;display:flex;justify-content:space-between;font-size:9px;color:#a0aeae}.details .eyebrow{margin-bottom:22px}#detail h2{font-size:23px;margin-bottom:7px}.detail-meta{font-size:11px;color:#8d9f9c}.big-temp{font-size:54px;font-weight:650;letter-spacing:-3px;margin-top:22px}.big-temp small{font-size:22px;letter-spacing:0;font-weight:400;color:#9eaeaa}.detail-weather{color:#768f8a;font-size:11px}.detail-stat{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #edf1f0;color:#81958f;font-size:11px}.detail-stat b{color:#3d625b}.risk-box{background:#fcf7ed;border:1px solid #f0e5cd;padding:12px;border-radius:8px;font-size:11px;color:#997c45;line-height:1.8;margin-top:18px}.forecast-list{margin-top:20px}.forecast-row{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:11px;padding:10px 0;border-bottom:1px solid #f0f3f2;color:#7b928b}.forecast-row b{color:#486a60}.risk-entry{margin-top:20px}.risk-entry summary{font-size:11px;color:#75988d;cursor:pointer}.risk-entry select,.risk-entry input{margin-top:8px;width:100%;font-size:11px;border:1px solid #d9e6e0;border-radius:6px;padding:7px}.risk-entry button{width:100%;font-size:11px;margin-top:8px}.results{padding:20px 22px;margin-top:18px}.results .panel-title{margin-bottom:14px}.results select{width:auto;margin-left:auto;font-size:11px}.table-scroll{overflow:auto;max-height:310px}table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}th{color:#91a29c;font-weight:400;background:#f8faf9;text-align:left;padding:10px}td{padding:13px 10px;border-bottom:1px solid #eef2f0;color:#536f67}tbody tr{cursor:pointer}tbody tr:hover{background:#f0f8f4}.pill{background:#eff7f4;color:#428871;padding:4px 7px;border-radius:5px}.warn{background:#fff3de;color:#9a753b}.destination{font-weight:600;color:#314e44}#empty{text-align:center;color:#91a39c;font-size:12px;padding:26px}footer{display:flex;justify-content:space-between;color:#98aaa5;font-size:10px;padding:25px 0}#tooltip{position:absolute;background:#173d35;color:white;padding:12px;border-radius:8px;z-index:1;font-size:11px;pointer-events:none;line-height:1.8;box-shadow:0 5px 15px #0002}dialog{border:1px solid #dce9e3;border-radius:14px;max-width:650px;width:90%;padding:28px;color:#38564a;line-height:1.9;font-size:13px}dialog::backdrop{background:#133f3650}.close{float:right;border:0;font-size:22px;padding:0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#173e32;color:white;padding:13px 20px;border-radius:8px;z-index:9;font-size:12px}#filterError{color:#a44332;font-size:11px;margin-top:8px}#originChoices button{display:block;width:100%;text-align:left;margin-top:5px;font-size:11px}.failed{fill:#e2e9e7} @media(min-width:1600px){.workspace{grid-template-columns:280px minmax(600px,1fr) 280px}.map-label{font-size:11px}}@media(max-width:1250px){.workspace{grid-template-columns:230px minmax(400px,1fr)}.details{grid-column:1/-1}#detail .forecast-list{display:flex;gap:20px}.forecast-row{flex:1;flex-wrap:wrap}.details .big-temp{margin-top:10px}.map-foot{gap:10px}main{padding:0 20px}}@media(max-width:760px){.rail{display:none}main{margin:0;padding:0 12px}header{height:65px}.brand span{display:none}.header-right{gap:6px;font-size:10px}.header-right button{font-size:10px;padding:6px}.heading{padding:22px 0;gap:10px}h1{font-size:23px}.heading p{font-size:12px}.primary{font-size:11px;white-space:nowrap;padding:9px}.workspace{display:flex;flex-direction:column}.filters,.map-column,.details{width:100%}.filters{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.filters .panel-title,.filters form,.filters #originResult,.filters #originChoices,.filters .filter-total,.filters .micro,.filters .separator,.filters #filterError{grid-column:1/-1}.filters label{margin-top:14px}.notice{font-size:10px;line-height:1.8}.map-top{padding:16px}.date-tabs{padding:0 10px;gap:3px}.date-tabs button{font-size:10px}.map-foot{font-size:8px;padding:10px}.map-label{font-size:13px}.legend{gap:8px;padding:8px;font-size:9px}.legend>div{width:170px}.map-caption{font-size:8px}.results{padding:16px}.results .panel-title{flex-wrap:wrap;font-size:13px}.results select{font-size:10px}.details #detail .forecast-list{gap:6px}.forecast-row{font-size:10px}footer{display:block;line-height:2}footer span{display:block}.map-wrap{overflow:auto}#map{min-width:620px;min-height:440px}}
