.site-beian[data-v-c3ee7e7b]{position:fixed;left:50%;bottom:1px;transform:translate(-50%);z-index:30;font-size:10px;line-height:1.5;letter-spacing:.5px;white-space:nowrap;padding:1px 8px;border-radius:6px;background:#04110c80;opacity:.65}.site-beian a[data-v-c3ee7e7b]{color:#cfe9df;text-decoration:none}.site-beian a[data-v-c3ee7e7b]:hover{text-decoration:underline;color:#7ff0c0}@font-face{font-family:Rajdhani;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/Rajdhani-Medium.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+25A0-25FF}@font-face{font-family:Rajdhani;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/Rajdhani-SemiBold.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+25A0-25FF}@font-face{font-family:Rajdhani;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/Rajdhani-Bold.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+25A0-25FF}@font-face{font-family:ZCOOL QingKe HuangYou;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/ZCOOLQingKeHuangYou-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}@font-face{font-family:ZCOOL QingKe HuangYou;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/ZCOOLQingKeHuangYou-Regular.woff2) format("woff2");unicode-range:U+3000-303F,U+3400-4DBF,U+4E00-9FFF,U+FF00-FFEF}@font-face{font-family:Noto Sans SC;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/NotoSansSC-Latin-Regular.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}@font-face{font-family:Noto Sans SC;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/NotoSansSC-Regular.woff2) format("woff2");unicode-range:U+3000-303F,U+3400-4DBF,U+4E00-9FFF,U+FF00-FFEF}@font-face{font-family:Noto Sans SC;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/NotoSansSC-Latin-Medium.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}@font-face{font-family:Noto Sans SC;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/NotoSansSC-Medium.woff2) format("woff2");unicode-range:U+3000-303F,U+3400-4DBF,U+4E00-9FFF,U+FF00-FFEF}:root{--bg0:#081A15;--bg1:#0A1F1A;--panel:#0F2E25;--panel2:#123A2E;--line:#1E4D3F;--line-hi:#2E6B55;--green:#34D399;--green2:#4ADE80;--cyan:#22D3EE;--amber:#F59E0B;--red:#F87171;--txt:#E8F5EE;--mut:#7FB8A4;--dim:#5A8474;--f-num:"Rajdhani","Arial Narrow",sans-serif;--f-disp:"ZCOOL QingKe HuangYou","Noto Sans SC","Microsoft YaHei",sans-serif;--f-body:"Noto Sans SC","Microsoft YaHei","PingFang SC",sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:var(--f-body);color:var(--txt);background:var(--bg1);overflow:hidden;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(1200px 800px at 16% -12%,rgba(34,211,238,.07),transparent 60%),radial-gradient(1000px 720px at 88% 112%,rgba(52,211,153,.06),transparent 62%),repeating-radial-gradient(circle at 14% 22%,rgba(52,211,153,.045) 0 1px,transparent 1px 118px),repeating-radial-gradient(circle at 84% 76%,rgba(34,211,238,.035) 0 1px,transparent 1px 140px),linear-gradient(135deg,#0b241d,#0a1f1a 46%,#081a15)}body:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.55;background-image:linear-gradient(rgba(127,184,164,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(127,184,164,.042) 1px,transparent 1px);background-size:58px 58px;-webkit-mask-image:radial-gradient(85% 75% at 50% 42%,#000 0%,transparent 100%);mask-image:radial-gradient(85% 75% at 50% 42%,#000 0%,transparent 100%)}.bg-canvas{position:fixed;inset:0;z-index:0;pointer-events:none}.app{position:relative;z-index:1;height:100vh;display:flex;flex-direction:column}.topbar{flex:none;display:flex;flex-direction:column;padding:8px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#0f2e25d9,#0a1f1a99)}.topbar-head{display:flex;align-items:center;gap:14px;padding-bottom:8px}.topbar-info{display:flex;align-items:center;gap:18px;padding-top:8px;border-top:1px solid var(--line)}.brand{flex:1;min-width:0}.topbar .logo{height:44px;width:auto;flex:none;object-fit:contain}.brand h1{font-family:var(--f-disp);font-weight:400;font-size:clamp(17px,2.2vh,22px);letter-spacing:1px;line-height:1.3;color:var(--txt)}.brand h1 em{font-style:normal;color:var(--green)}.brand .sub{font-size:10px;letter-spacing:2.5px;color:var(--dim);text-transform:uppercase}.field-chip{display:flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid var(--line-hi);color:var(--mut);font-size:13px;cursor:pointer;background:#123a2e66;transition:.25s}.field-chip:hover{border-color:var(--green);color:var(--green2)}.field-chip b{color:var(--txt);font-weight:500}.topbar .spacer{flex:1}.tstat{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--mut)}.tstat b{font-family:var(--f-num);font-size:16px;font-weight:600;color:var(--txt)}.tstat .lab{font-size:11px;color:var(--dim);letter-spacing:1px}.tstat+.tstat{padding-left:16px;border-left:1px solid var(--line)}.sig{display:flex;align-items:flex-end;gap:2px;height:16px}.sig i{width:3px;background:var(--green);opacity:.25;transition:.3s}.sig i:nth-child(1){height:4px}.sig i:nth-child(2){height:7px}.sig i:nth-child(3){height:10px}.sig i:nth-child(4){height:13px}.sig i:nth-child(5){height:16px}.sig i.on{opacity:1;box-shadow:0 0 6px #34d39999}.clock{text-align:right}.clock .t{font-family:var(--f-num);font-size:24px;font-weight:600;color:var(--green2);letter-spacing:1px;line-height:1}.clock .d{font-size:10.5px;color:var(--dim);letter-spacing:1px}.mode{display:flex;align-items:center;gap:10px;padding-left:16px;border-left:1px solid var(--line);cursor:pointer}.mode .sw{width:46px;height:22px;border:1px solid var(--line-hi);background:#123a2e80;position:relative;transition:.3s}.mode .sw:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;background:var(--dim);transition:.3s}.mode .txt{font-size:12px;color:var(--mut);letter-spacing:1px}.mode.live .sw{border-color:var(--amber);background:#f59e0b26}.mode.live .sw:after{left:27px;background:var(--amber);box-shadow:0 0 8px #f59e0bcc}.mode.live .txt{color:var(--amber)}.livechip{display:flex;align-items:center;gap:6px;padding:4px 12px;border:1px solid var(--amber);color:var(--amber);font-size:12px;letter-spacing:2px}.livechip i{width:7px;height:7px;border-radius:50%;background:var(--red);animation:blink 1s steps(2) infinite}.grid{flex:1;min-height:0;display:grid;gap:12px;padding:12px;grid-template-columns:minmax(272px,22%) 1fr minmax(296px,26%)}.col{display:flex;flex-direction:column;gap:12px;min-height:0}.center{min-height:0}.panel{position:relative;display:flex;flex-direction:column;min-height:0;background:linear-gradient(180deg,#13382deb,#0c261ef0);border:1px solid var(--line);box-shadow:inset 0 1px #e8f5ee0a;animation:rise .6s both}.panel:before,.panel:after{content:"";position:absolute;width:13px;height:13px;pointer-events:none}.panel:before{top:-1px;left:-1px;border-top:2px solid var(--green);border-left:2px solid var(--green)}.panel:after{bottom:-1px;right:-1px;border-bottom:2px solid var(--cyan);border-right:2px solid var(--cyan)}.phead{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 14px;border-bottom:1px solid var(--line)}.phead h2{font-family:var(--f-disp);font-weight:400;font-size:15px;letter-spacing:2px;color:var(--green);display:flex;align-items:center;gap:8px}.phead h2:before{content:"";width:4px;height:14px;background:linear-gradient(180deg,var(--green),var(--cyan))}.phead .tag{font-size:11px;color:var(--dim);letter-spacing:1px;display:flex;align-items:center;gap:6px}.phead .tag i{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}.panel-empty{color:var(--dim);font-size:12px;text-align:center;padding:24px 0}.mini-btn{font-size:11px;letter-spacing:1px;color:var(--mut);background:#123a2e73;border:1px solid var(--line-hi);padding:3px 9px;text-decoration:none;transition:.25s}.mini-btn:hover:not([disabled]){border-color:var(--green);color:var(--green2)}.mini-btn[disabled]{opacity:.45;cursor:not-allowed}.left .data-panel{flex:1.5;min-height:0}.mobile-weather-panel .mobile-foot{flex:none;padding:6px 14px 8px;border-top:1px solid var(--line);font-size:10.5px;color:var(--dim);letter-spacing:1px}.metrics{flex:1;min-height:0;display:flex;flex-direction:column}.metric{flex:1;min-height:0;padding:10px 14px 8px;display:flex;flex-direction:column;border-bottom:1px dashed rgba(30,77,63,.8);position:relative;transition:background .4s}.metric:last-child{border-bottom:none}.metric .row1{display:flex;align-items:center;gap:8px}.metric .name{font-size:12px;color:var(--mut);letter-spacing:2px}.metric .name i{font-style:normal;color:var(--dim);font-size:10px;letter-spacing:1px}.metric .trend{margin-left:auto;font-family:var(--f-num);font-size:14px;font-weight:600}.metric .row2{display:flex;align-items:baseline;gap:6px;margin:2px 0 0}.metric .val{font-family:var(--f-num);font-size:clamp(34px,3.4vh,46px);font-weight:700;line-height:1;color:var(--txt);text-shadow:0 0 18px rgba(52,211,153,.15)}.metric .unit{font-size:13px;color:var(--mut);font-weight:500}.metric .hnode{margin-left:auto;font-size:10.5px;color:var(--dim)}.metric canvas{width:100%;height:30px;margin-top:auto;display:block}.metric .val.bump{animation:numflip .45s ease}@keyframes numflip{0%{transform:translateY(9px);opacity:.15}to{transform:translateY(0);opacity:1}}.metric.alert{background:#f59e0b14;animation:alertborder 1.2s infinite}.metric.alert .val{color:var(--amber);text-shadow:0 0 18px rgba(245,158,11,.4)}.metric .windrow{display:flex;align-items:center;gap:10px}.compass{flex:none}.compass .needle{transform-origin:24px 24px;transition:transform 1.2s cubic-bezier(.4,0,.2,1)}.left .alert-panel{flex:1;min-height:0}.alerts{flex:1;min-height:0;overflow:hidden;padding:8px 12px;display:flex;flex-direction:column;gap:7px}.alert-item{flex:none;display:flex;gap:9px;align-items:flex-start;padding:8px 10px;border:1px solid rgba(245,158,11,.4);border-left:3px solid var(--amber);background:#f59e0b0f;animation:slidein .45s ease}.alert-item .ic{color:var(--amber);font-size:13px;line-height:1.3}.alert-item .tx{font-size:12px;color:var(--txt);line-height:1.45}.alert-item .tm{font-family:var(--f-num);font-size:11px;color:var(--dim);margin-left:auto;flex:none}.alert-empty{color:var(--dim);font-size:12px;text-align:center;padding:20px 0}.weather-updates{flex:1;min-height:0;overflow:hidden;padding:8px 12px;display:flex;flex-direction:column;gap:7px}.wu-item{flex:none;display:flex;gap:9px;align-items:baseline;padding:8px 10px;border:1px solid var(--line-hi);border-left:3px solid var(--green);background:#34d39912;animation:slidein .45s ease}.wu-item .ic{color:var(--green);font-size:13px;line-height:1.3;flex:none}.wu-item .tm{font-family:var(--f-num);font-size:13px;font-weight:600;color:var(--green2);flex:none}.wu-item .tx{font-size:12.5px;color:var(--txt);line-height:1.45;letter-spacing:1px}.left .soil-panel{flex:1.15;min-height:0}.soil-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:7px 12px 5px;overflow:hidden}.soil-summary{flex:none;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding-bottom:6px;border-bottom:1px solid rgba(30,77,63,.85)}.sum-cell{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}.sum-cell .sm-depth{font-size:10.5px;color:var(--dim);letter-spacing:1px}.sum-cell .sm-value{display:flex;align-items:baseline;gap:2px}.sum-cell .sm-value b{font-family:var(--f-num);font-size:20px;font-weight:700;line-height:1;color:var(--txt)}.sum-cell .sm-value i{font-style:normal;font-size:10px;color:var(--mut)}.sum-cell .sm-meta{font-size:9.5px;color:var(--dim);white-space:nowrap;transform:scale(.92);transform-origin:left center}.soil-grid{flex:1;min-height:0;display:flex;flex-direction:column;padding-top:5px;overflow:hidden}.soil-grid-head,.soil-grid-row{display:grid;grid-template-columns:40px repeat(3,1fr);align-items:center;gap:3px}.soil-grid-head{flex:none;padding:0 2px 4px;font-size:10px;color:var(--dim);letter-spacing:1px;text-align:center}.soil-grid-head span:first-child{text-align:left}.soil-grid{overflow:auto}.soil-grid-row{flex:1;min-height:18px;padding:1px 2px;border-bottom:1px dashed rgba(30,77,63,.5);cursor:pointer;transition:background .2s}.soil-grid-row:last-child{border-bottom:none}.soil-grid-row:hover{background:#34d39914}.soil-grid-row .g-label{font-family:var(--f-disp);font-size:11px;color:var(--green2);letter-spacing:1px;white-space:nowrap}.soil-grid-row .g-cell{height:100%;min-height:17px;display:flex;align-items:center;justify-content:center;gap:1px;border:1px solid rgba(52,211,153,.12);color:var(--txt)}.soil-grid-row .g-cell b{font-family:var(--f-num);font-size:11.5px;font-weight:600;line-height:1}.soil-grid-row .g-cell i{font-style:normal;font-size:8px;color:var(--mut);transform:scale(.9)}.soil-grid-row.off{opacity:.45;filter:grayscale(.5)}.soil-foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:6px;padding-top:4px;font-size:10px;color:var(--dim);letter-spacing:.5px}.soil-detail-link{color:var(--green2);cursor:pointer;white-space:nowrap}.soil-detail-link:hover{text-decoration:underline}.sd-mask{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;background:#030c09c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sd-panel{width:min(1180px,94vw);max-height:82vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#13382dfa,#0c261efc);border:1px solid var(--line-hi);box-shadow:0 24px 80px #0000008c}.sd-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line)}.sd-head h3{font-family:var(--f-disp);font-weight:400;font-size:16px;color:var(--green);letter-spacing:2px}.sd-meta{flex:none;padding:7px 16px;font-size:11px;color:var(--mut);border-bottom:1px solid rgba(30,77,63,.7)}.sd-table-wrap{flex:1;min-height:0;overflow:auto;padding:8px 14px 12px}.sd-table{width:100%;border-collapse:collapse;font-size:12px}.sd-table th,.sd-table td{padding:7px 8px;border-bottom:1px solid rgba(30,77,63,.7);text-align:left;vertical-align:middle;white-space:nowrap}.sd-table th{color:var(--dim);font-weight:500;font-size:11px;letter-spacing:1px}.sd-table th i{display:block;font-style:normal;font-size:9.5px;color:var(--dim);margin-top:2px}.sd-table tbody tr:hover{background:#34d3990f}.sd-table tbody tr.off{opacity:.45}.sd-table .sd-label{font-family:var(--f-disp);color:var(--green2);font-size:13px}.sd-table .sd-serial{font-family:var(--f-num);color:var(--mut);font-size:11px}.sd-table .sd-depth b{display:block;font-family:var(--f-num);font-size:15px;color:var(--txt)}.sd-table .sd-depth span{display:block;font-size:10px;color:var(--mut);margin-top:1px}.sd-table .sd-time{font-family:var(--f-num);font-size:11px;color:var(--txt)}.sd-table .sd-time i{display:block;font-style:normal;font-size:9.5px;color:var(--mut)}.sd-na{color:var(--dim)}.video-main{flex:1.62;min-height:0}.video-row{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feed{position:relative;overflow:hidden;min-height:0;cursor:pointer;border:1px solid var(--line);background:#04120d;transition:border-color .3s,box-shadow .3s,transform .3s;animation:rise .6s both}.feed:hover{border-color:var(--green);box-shadow:0 0 0 1px #34d39959,0 0 26px #34d39924;transform:translateY(-2px)}.feed canvas{position:absolute;inset:0;width:100%;height:100%}.feed .scan{position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px)}.feed .vig{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 100% at 50% 45%,transparent 55%,rgba(2,10,7,.5) 100%)}.feed .hud{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:10px 12px}.feed .hud-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ftitle{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;letter-spacing:1px;color:var(--txt);background:#06140fa8;padding:4px 10px;border:1px solid rgba(46,107,85,.6)}.ftitle i{width:7px;height:7px;border-radius:50%;background:var(--red);animation:blink 1.1s steps(2) infinite;flex:none}.ftitle.cam i{background:var(--green);animation:pulse 2s infinite}.rec{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-num);font-size:12px;color:var(--red);background:#06140fa8;padding:4px 9px}.rec i{width:7px;height:7px;border-radius:50%;background:var(--red);animation:blink 1s steps(2) infinite}.hud-top-right{display:flex;align-items:center;gap:8px}.mute-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;cursor:pointer;background:#06140fa8;border:1px solid rgba(46,107,85,.6);color:var(--txt);border-radius:2px;transition:.2s}.mute-btn:hover{color:var(--green2);border-color:var(--green)}.feed .hud-bot{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.fmeta{font-family:var(--f-num);font-size:11.5px;color:#e8f5eed9;letter-spacing:1px;background:#06140f8c;padding:3px 8px}.hint{font-size:11px;color:var(--green2);letter-spacing:1px;background:#06140fb3;border:1px solid rgba(52,211,153,.5);padding:3px 9px;opacity:0;transform:translateY(4px);transition:.3s}.feed:hover .hint{opacity:1;transform:none}.feed .c{position:absolute;width:14px;height:14px;pointer-events:none;opacity:.85}.feed .c.tl{top:6px;left:6px;border-top:2px solid var(--cyan);border-left:2px solid var(--cyan)}.feed .c.tr{top:6px;right:6px;border-top:2px solid var(--cyan);border-right:2px solid var(--cyan)}.feed .c.bl{bottom:6px;left:6px;border-bottom:2px solid var(--cyan);border-left:2px solid var(--cyan)}.feed .c.br{bottom:6px;right:6px;border-bottom:2px solid var(--cyan);border-right:2px solid var(--cyan)}.right .field-panel{flex:none}.field-body{padding:12px 14px;display:grid;grid-template-columns:1fr 1fr;gap:9px 14px}.fitem .k{font-size:10.5px;color:var(--dim);letter-spacing:1.5px}.fitem .v{font-size:13px;color:var(--txt);margin-top:2px}.fitem .v b{font-family:var(--f-num);font-size:15px;color:var(--green2)}.fitem.wide{grid-column:1/-1}.phead-actions{display:flex;align-items:center;gap:8px}.field-panel .edit-btn{font-size:11px;color:var(--mut);background:transparent;border:1px solid var(--line);padding:3px 8px;cursor:pointer;letter-spacing:1px;transition:.2s;border-radius:2px}.field-panel .edit-btn:hover{color:var(--green2);border-color:var(--green)}.field-panel .inp{width:100%;background:#06140f99;border:1px solid var(--line);color:var(--txt);font-size:13px;padding:5px 8px;margin-top:2px;outline:none;transition:.2s;font-family:inherit;border-radius:2px}.field-panel .inp:focus{border-color:var(--green)}.field-panel .edit-actions{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.field-panel .btn-save,.field-panel .btn-cancel{font-size:12px;padding:5px 14px;cursor:pointer;letter-spacing:1px;transition:.2s;border-radius:2px}.field-panel .btn-save{background:var(--green);color:#04120d;border:1px solid var(--green)}.field-panel .btn-save:hover{filter:brightness(1.1)}.field-panel .btn-save:disabled{opacity:.5;cursor:default;filter:none}.field-panel .btn-cancel{background:transparent;color:var(--mut);border:1px solid var(--line)}.field-panel .btn-cancel:hover{color:var(--txt);border-color:var(--mut)}.right .device-panel{flex:none}.devices{padding:6px 14px 10px}.dev{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px dashed rgba(30,77,63,.7)}.dev:last-child{border-bottom:none}.dev .dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px #34d399b3;animation:pulse 2s infinite;flex:none}.dev .dot.off{background:var(--dim);box-shadow:none;animation:none}.dev .nm{font-size:13px;color:var(--txt)}.dev .st{margin-left:auto;font-size:11px;color:var(--mut);letter-spacing:1px}.dev .bt{font-family:var(--f-num);font-size:12px;color:var(--dim)}.right .event-panel{flex:1;min-height:0}.events{flex:1;min-height:0;overflow:hidden;padding:8px 12px;display:flex;flex-direction:column;gap:6px}.event{flex:none;display:flex;gap:8px;align-items:baseline;font-size:12px;line-height:1.4;animation:slidein .45s ease}.event .t{font-family:var(--f-num);font-size:11px;color:var(--dim);flex:none}.event .cat{flex:none;font-size:10px;letter-spacing:1px;padding:1px 6px;border:1px solid}.event[data-cat=数据] .cat{color:var(--green);border-color:#34d39980}.event[data-cat=视频] .cat{color:var(--cyan);border-color:#22d3ee80}.event[data-cat=系统] .cat{color:var(--mut);border-color:#7fb8a466}.event[data-cat=告警] .cat{color:var(--amber);border-color:#f59e0b80}.event .msg{color:var(--txt);opacity:.9}.right .weather-layer-panel{flex:1;min-height:0}.wl-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 12px 6px;overflow:hidden}.wl-head,.wl-row{display:grid;grid-template-columns:58px 1fr 1fr 1fr 1.05fr;align-items:center;gap:4px;text-align:right}.wl-head{flex:none;padding:0 2px 5px;border-bottom:1px solid rgba(30,77,63,.8);font-size:10px;color:var(--dim);letter-spacing:1px}.wl-head span:first-child{text-align:left}.wl-row{flex:1;min-height:0;padding:3px 2px;border-bottom:1px dashed rgba(30,77,63,.6)}.wl-row:last-of-type{border-bottom:none}.wl-row.rep{background:#34d3990f}.wl-layer{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;font-family:var(--f-disp);font-size:12px;color:var(--green2);letter-spacing:1px;white-space:nowrap}.wl-layer i{font-style:normal;font-size:9.5px;color:var(--dim)}.wl-val{font-family:var(--f-num);font-size:14px;font-weight:600;line-height:1;white-space:nowrap}.wl-val i{font-style:normal;font-size:9px;color:var(--mut);margin-left:1px}.wl-val.temp{color:#f97316}.wl-val.hum{color:#22d3ee}.wl-val.wind{color:#34d399}.wl-val.par{color:#fde047}.wl-foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:6px;padding-top:5px;font-size:9.5px;color:var(--dim);letter-spacing:.5px}.wl-point{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes slidein{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes blink{50%{opacity:.15}}@keyframes alertborder{0%,to{box-shadow:inset 0 0 0 1px #f59e0b8c}50%{box-shadow:inset 0 0 0 1px #f59e0b1a}}.panel:nth-child(1){animation-delay:.05s}.panel:nth-child(2){animation-delay:.15s}.video-main{animation-delay:.1s}.video-row .feed:nth-child(1){animation-delay:.2s}.video-row .feed:nth-child(2){animation-delay:.28s}.video-row .feed:nth-child(3){animation-delay:.36s}.fs{position:fixed;inset:0;z-index:100;background:#030a08f0;display:flex;align-items:center;justify-content:center}.fs-wrap{position:relative;width:94vw;height:88vh;border:1px solid var(--line-hi)}.fs-wrap canvas{position:absolute;inset:0;width:100%;height:100%}.fs-wrap .scan{position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 3px)}.fs-wrap .vig{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 100% at 50% 45%,transparent 60%,rgba(2,10,7,.55) 100%)}.fs-wrap .hud{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:16px 18px}.fs-wrap .hud-top{display:flex;justify-content:space-between;align-items:flex-start}.fs-close{font-size:13px;letter-spacing:1px;color:var(--txt);background:#06140fcc;border:1px solid var(--line-hi);padding:7px 14px;transition:.25s}.fs-close:hover{border-color:var(--red);color:var(--red)}.fs-wrap .hud-bot{display:flex;justify-content:space-between;align-items:flex-end}.lm-mask{position:fixed;inset:0;z-index:90;background:#030a08f0;display:flex;align-items:center;justify-content:center}.lm-panel{width:min(960px,94vw);max-height:88vh;overflow:auto;background:linear-gradient(180deg,#13382df7,#0c261efa);border:1px solid var(--line-hi);animation:rise .4s both}.lm-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.lm-head h3{font-family:var(--f-disp);font-weight:400;font-size:16px;letter-spacing:2px;color:var(--green)}.lm-meta{font-size:11.5px;color:var(--mut);letter-spacing:1px;padding:8px 16px;border-bottom:1px dashed rgba(30,77,63,.7)}.lm-meta b{font-family:var(--f-num);color:var(--green2)}.lm-table{width:100%;border-collapse:collapse}.lm-table th{font-size:11px;letter-spacing:2px;color:var(--dim);font-weight:400;text-align:left;padding:8px 14px;border-bottom:1px solid var(--line)}.lm-layer{font-size:12.5px;color:var(--txt);padding:8px 14px;border-bottom:1px dashed rgba(30,77,63,.6);white-space:nowrap}.lm-layer .h{font-family:var(--f-num);color:var(--mut);font-size:11px;display:block}.lm-layer.rep{background:#34d3990d}.lm-layer.rep:after{content:"代表层";font-size:9px;color:var(--green);border:1px solid rgba(52,211,153,.5);padding:0 4px;margin-left:6px}.lm-cell{padding:7px 14px;border-bottom:1px dashed rgba(30,77,63,.6);animation:slidein .4s both}.lm-cell:nth-child(2){animation-delay:.03s}.lm-cell:nth-child(3){animation-delay:.06s}.lm-cell:nth-child(4){animation-delay:.09s}.lm-cell:nth-child(5){animation-delay:.12s}.lm-v{font-family:var(--f-num);font-size:19px;font-weight:700;color:var(--txt);line-height:1}.lm-u{font-size:10px;color:var(--dim);margin-left:3px}.lm-tr{font-family:var(--f-num);font-size:12px;margin-left:5px}.lm-cell svg{display:block;margin-top:4px}.lm-cell.alert{background:#f59e0b14;animation:alertborder 1.2s infinite}.lm-cell.alert .lm-v{color:var(--amber)}.lm-cards{display:none}.lm-card{border-bottom:1px dashed rgba(30,77,63,.6);padding:10px 14px}.lm-card .lt{font-size:12.5px;color:var(--txt);margin-bottom:6px}.lm-card .lt .h{font-family:var(--f-num);color:var(--mut);font-size:11px}.lm-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lm-foot{display:flex;align-items:center;gap:14px;padding:10px 16px;border-top:1px solid var(--line);font-size:11px;color:var(--dim);letter-spacing:1px}.lm-foot .export{margin-left:auto}.feed .vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;background:#04120d}.feed .vid.hide{visibility:hidden}.feed .scan,.feed .vig,.feed .c{z-index:2}.feed .hud{z-index:3}.siglost{position:absolute;z-index:4;bottom:12px;left:50%;transform:translate(-50%);font-size:12px;letter-spacing:2px;color:var(--amber);background:#06140fd1;border:1px solid rgba(245,158,11,.55);padding:4px 14px;animation:pulse 1.6s infinite}.fs-wrap .vid{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;background:#000}.fs-wrap .vid.hide{visibility:hidden}.fs-wrap .scan,.fs-wrap .vig{z-index:2}.fs-wrap .hud{z-index:3}.qrbtn{display:flex;align-items:center;gap:7px;margin-left:14px;padding:6px 12px;font-size:13px;letter-spacing:1px;color:var(--green2);background:#06140fcc;border:1px solid var(--line-hi);cursor:pointer;transition:.25s}.qrbtn:hover{border-color:var(--green);color:var(--green)}.qr-mask{position:fixed;inset:0;z-index:95;background:#030a08f0;display:flex;align-items:center;justify-content:center}.qr-panel{width:min(420px,92vw);background:linear-gradient(180deg,#13382dfa,#0c261efa);border:1px solid var(--line-hi);animation:rise .4s both}.qr-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.qr-head h3{font-family:var(--f-disp);font-weight:400;font-size:16px;letter-spacing:2px;color:var(--green)}.qr-body{display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px}.qr-box{background:#fff;padding:12px;border-radius:6px}.qr-box img{display:block;width:240px;height:240px}.qr-loading{width:240px;height:240px;display:flex;align-items:center;justify-content:center;color:var(--mut);font-size:13px;text-align:center;padding:20px;box-sizing:border-box}.qr-info{display:flex;flex-direction:column;align-items:center;gap:8px}.qr-tip{font-size:13px;color:var(--green2);letter-spacing:1px}.qr-url{font-family:var(--f-num);font-size:12px;color:var(--mut);word-break:break-all;text-align:center}.qr-download{font-size:13px;letter-spacing:1px;color:var(--txt);cursor:pointer;background:#06140fcc;border:1px solid var(--line-hi);padding:8px 18px;transition:.25s}.qr-download:hover:not(:disabled){border-color:var(--green);color:var(--green2)}.qr-download:disabled{opacity:.4;cursor:not-allowed}.wx-banner{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;gap:8px;padding:5px 12px;background:#0a1c16eb;color:#cfe3d8;font-size:12px;line-height:1.4;border-bottom:1px solid rgba(245,158,11,.45);box-shadow:0 2px 8px #0000004d;animation:wxslide .3s ease-out both}.wx-banner .wx-ico{color:#f59e0b;font-size:14px;flex:none}.wx-banner .wx-txt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wx-banner .wx-copy{flex:none;background:#f59e0b24;color:#f59e0b;border:1px solid rgba(245,158,11,.4);border-radius:4px;padding:3px 8px;font-size:11px;cursor:pointer;white-space:nowrap}.wx-banner .wx-copy:active{transform:scale(.96)}.wx-banner .wx-close{flex:none;background:none;border:none;color:#7f9c90;font-size:14px;cursor:pointer;padding:2px 4px;line-height:1}@keyframes wxslide{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.enter-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 38%,rgba(52,211,153,.1),transparent 62%),radial-gradient(ellipse at 50% 120%,rgba(34,211,238,.06),transparent 55%),#040c09d1;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);cursor:pointer;animation:enterfade .3s ease-out both}.enter-card{display:flex;flex-direction:column;align-items:center;gap:0;padding:44px 60px 38px;border-radius:20px;background:#0c2019d1;border:1px solid rgba(52,211,153,.22);box-shadow:0 24px 64px #0000008c,inset 0 1px #ffffff0d;text-align:center;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}.enter-play{width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#4ade80;background:#34d39914;border:1px solid rgba(52,211,153,.38);box-shadow:0 0 0 8px #34d3990f,0 8px 24px #00000059;animation:enterpulse 1.8s ease-in-out infinite;margin-bottom:22px}.enter-title{font-size:23px;font-weight:500;color:#eaf7f0;letter-spacing:6px;line-height:1.2}.enter-sub{margin-top:10px;font-size:13px;color:#7fb8a4;letter-spacing:1px}.enter-btn{margin-top:26px;min-width:180px;padding:12px 40px;border-radius:999px;background:linear-gradient(135deg,#22c55e,#059669);color:#fff;font-size:15px;font-weight:500;letter-spacing:4px;box-shadow:0 10px 28px #22c55e52,inset 0 1px #ffffff38;transition:transform .15s ease,box-shadow .15s ease}.enter-overlay:active .enter-btn{transform:scale(.97);box-shadow:0 6px 18px #22c55e40}.enter-tip{margin-top:18px;font-size:11px;color:#5a8474;letter-spacing:1px}.enter-card.connecting .spinner{width:40px;height:40px;border-radius:50%;border:3px solid rgba(52,211,153,.16);border-top-color:#34d399;animation:spin .8s linear infinite;margin:18px 0 24px}.enter-card.connecting .enter-title{letter-spacing:4px}.enter-card.connecting .enter-sub{margin-top:8px}@keyframes enterfade{0%{opacity:0}to{opacity:1}}@keyframes enterpulse{0%,to{box-shadow:0 0 0 8px #34d3990f,0 8px 24px #00000059}50%{box-shadow:0 0 0 16px #34d39908,0 8px 24px #00000059}}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1181px)and (max-height:817px){body{overflow-x:hidden;overflow-y:auto}.app{height:auto}main.grid{flex:0 0 auto;min-height:701px}aside.col.right>.panel.field-panel{flex:0 0 auto;min-height:197px}aside.col.right>.panel.device-panel{flex:0 0 auto;min-height:188px}aside.col.right>.panel.weather-layer-panel{flex:0 0 auto;min-height:268px}.wl-body{overflow-y:auto}}.mute-btn{display:none!important}@media(max-width:1180px){body{overflow:auto}.app{height:auto;min-height:100vh}.topbar{padding:8px 14px;gap:0}.topbar-head,.topbar-info{flex-wrap:wrap;gap:10px}.topbar .spacer{display:none}.grid{display:flex;flex-direction:column;height:auto}.center{order:1}.left{order:2}.right{order:3}.video-main{height:54vw;min-height:230px;flex:none}.video-row{display:grid;grid-template-columns:1fr 1fr;height:auto;flex:none}.video-row .feed{height:36vw;min-height:150px}.video-row .feed:nth-child(3){grid-column:1/-1;height:44vw}.left .data-panel{flex:none}.metrics{display:grid;grid-template-columns:1fr 1fr}.metric{min-height:120px}.left .alert-panel,.left .soil-panel{flex:none}.alerts{max-height:180px}.right .event-panel{flex:none}.events{max-height:220px}.right .weather-layer-panel{flex:none}.wl-row{min-height:36px}.mode{border-left:none;padding-left:0}.lm-table{display:none}.lm-cards{display:block}.lm-mask{align-items:flex-end}.lm-panel{width:100vw;max-height:80vh;border-left:none;border-right:none;border-bottom:none}}
