*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:SF Mono,ui-monospace,Cascadia Mono,Consolas,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.fixed{position:fixed}.sticky{position:sticky}.block{display:block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.break-all{word-break:break-all}.border{border-width:1px}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--bg:#f6f1e5;--bg2:#ede6d6;--card:#fffdf8;--mat:rgba(255,253,248,.78);--mat-thick:hsla(0,0%,100%,.86);--mat-line:hsla(0,0%,100%,.55);--label:#20231d;--label2:rgba(0,0,0,.7);--label3:rgba(0,0,0,.6);--mark3:rgba(0,0,0,.46);--sep:rgba(63,57,45,.18);--fill:rgba(90,80,60,.1);--accent:#5f8f6b;--accent-live:#5f8f6b;--tint-soft:rgba(47,93,58,.1);--brand-blue:#3e8fc4;--accent-ink:#2f5d3a;--accent-solid:#2f5d3a;--danger-ink:#a63d2a;--danger-solid:#a63d2a;--warn-ink:#8a5100;--green:#3f7a4e;--red:#b4462f;--orange:#b8791f;--series-soil:#5f8f6b;--series-temp:#b8791f;--series-humid:#2f7ea8;--series-soil-soft:rgba(95,143,107,.12);--series-temp-soft:rgba(184,121,31,.12);--series-humid-soft:rgba(47,126,168,.12);--r-sm:8px;--r-md:11px;--r-lg:16px;--r-xl:22px;--r-pill:999px;--sh-1:0 1px 2px rgba(64,54,38,.04),0 3px 10px rgba(64,54,38,.05);--sh-2:0 2px 6px rgba(64,54,38,.06),0 16px 36px rgba(64,54,38,.1);--sh-3:0 30px 70px rgba(40,34,24,.22),0 4px 14px rgba(40,34,24,.1);--sheet-h:92vh;--sheet-w:min(1280px,100%);--modal-h:86vh;--modal-w:min(920px,94vw);--spring:cubic-bezier(.32,.72,0,1);--ease:cubic-bezier(.25,.1,.25,1);--font:"PingFang SC","HarmonyOS Sans SC","Source Han Sans SC","Noto Sans CJK SC","Heiti SC","Microsoft YaHei","SimHei",-apple-system,sans-serif;--num:var(--font)}[data-theme=dark]{--bg:#12140f;--bg2:#1a1d16;--card:#22251f;--mat:rgba(34,37,31,.72);--mat-thick:rgba(34,37,31,.88);--mat-line:hsla(0,0%,100%,.1);--label:#f2efe5;--label2:hsla(0,0%,100%,.78);--label3:hsla(0,0%,100%,.62);--mark3:hsla(0,0%,100%,.46);--sep:hsla(48,26%,81%,.18);--fill:hsla(48,22%,77%,.12);--accent:#8fc49a;--accent-live:#8fc49a;--tint-soft:rgba(143,196,154,.14);--brand-blue:#6fb6e8;--accent-ink:#a9d3b0;--accent-solid:#4e7a59;--danger-ink:#ff8a75;--danger-solid:#c0553f;--warn-ink:#ff9f0a;--series-soil:#8fc49a;--series-temp:#e0a44a;--series-humid:#6fb6e8;--series-soil-soft:rgba(143,196,154,.16);--series-temp-soft:rgba(224,164,74,.16);--series-humid-soft:rgba(111,182,232,.16);--sh-1:0 1px 2px rgba(0,0,0,.3);--sh-2:0 2px 8px rgba(0,0,0,.4),0 18px 40px rgba(0,0,0,.45);--sh-3:0 34px 80px rgba(0,0,0,.6),0 6px 18px rgba(0,0,0,.5)}body,html{margin:0;height:100%}body{background:var(--bg);color:var(--label);font-family:var(--font);font-size:14px;line-height:1.55;letter-spacing:0;-webkit-font-smoothing:antialiased;transition:background .5s var(--ease),color .5s var(--ease)}::-moz-selection{background:rgba(95,143,107,.24)}::selection{background:rgba(95,143,107,.24)}*{scrollbar-width:thin;scrollbar-color:hsla(240,3%,49%,.4) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:hsla(240,3%,49%,.35);border-radius:8px;border:2px solid transparent;background-clip:content-box}.display{font-size:22px;letter-spacing:-.03em;line-height:1.2}.display,.title2{font-weight:700;margin:0}.title2{font-size:17px;letter-spacing:-.026em;line-height:1.25}.title3{font-size:14px;font-weight:600;letter-spacing:-.02em;margin:0;line-height:1.3}.num{font-variant-numeric:tabular-nums;letter-spacing:-.03em}.big-num,.num{font-family:var(--num)}.big-num{font-size:24px;font-weight:700;letter-spacing:-.036em;line-height:1;font-variant-numeric:tabular-nums}.cap{font-size:11px;font-weight:600;color:var(--label3);letter-spacing:.02em}.sec{font-size:12px;color:var(--label2);line-height:1.45}.mono{font-family:var(--font);font-size:.92em;letter-spacing:0;font-variant-numeric:tabular-nums}.window{display:flex;height:100vh;overflow:hidden;background:var(--bg)}.main{flex:1;min-width:0;display:flex;flex-direction:column;position:relative}.toolbar{position:sticky;top:0;z-index:12;display:flex;align-items:center;gap:10px;padding:9px 18px;min-height:44px;background:var(--mat);flex:none;backdrop-filter:saturate(180%) blur(26px);-webkit-backdrop-filter:saturate(180%) blur(26px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}.toolbar.stuck{border-bottom-color:var(--sep)}.toolbar .inline-title{font-size:13px;font-weight:700;letter-spacing:-.02em;opacity:0;transform:translateY(6px);transition:opacity .3s var(--ease),transform .3s var(--spring)}.toolbar.stuck .inline-title{opacity:1;transform:none}.toolbar .spacer{margin-left:auto}.scroller{flex:1;overflow:auto;padding:4px 18px 26px;scroll-behavior:smooth}.hero-title{font-size:22px;font-weight:700;letter-spacing:-.03em;line-height:1.2;margin:12px 0 2px;transition:opacity .3s}.hero-sub{color:var(--label2);font-size:12px;margin-bottom:14px}.material{background:var(--mat);backdrop-filter:saturate(180%) blur(28px);-webkit-backdrop-filter:saturate(180%) blur(28px);border-bottom:1px solid var(--sep)}.grouped{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--sh-1);overflow:hidden}.groupcap{font-size:11px;font-weight:600;color:var(--label3);text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px 4px}.row{display:flex;align-items:center;gap:12px;padding:10px 14px;position:relative;transition:background .18s var(--ease),transform .18s var(--spring)}.row+.row:before{content:"";position:absolute;left:14px;right:0;top:0;height:1px;background:var(--sep)}.row.tap{cursor:pointer}.row.tap:active{transform:scale(.99);background:var(--fill)}.row.tap:hover{background:hsla(240,3%,49%,.06)}.widgets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch;-moz-user-select:none;user-select:none;-webkit-user-select:none}.tile{border-radius:var(--r-lg);background:var(--card);box-shadow:var(--sh-1);padding:14px;position:relative;display:flex;flex-direction:column;transition:box-shadow .28s var(--ease),transform .28s var(--spring)}.tile:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}.tile.wide{grid-column:span 3}.tile .t{font-size:13px;font-weight:600;color:var(--label2);display:flex;align-items:center;gap:7px}.tile .hint{position:absolute;top:10px;right:12px;font-size:10px;color:var(--label3);opacity:0;transition:opacity .2s}.tile:hover .hint{opacity:1}.widgets.c3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.tile>.foot-anchor{margin-top:auto;padding-top:10px}.soilband{position:relative;height:5px;background:var(--fill);overflow:hidden}.soilband,.soilband>i{border-radius:var(--r-pill)}.soilband>i{display:block;height:100%;background:var(--accent);transition:width .7s var(--spring)}.soilband-tick{position:absolute;top:-2px;width:1px;height:9px;background:var(--mark3);opacity:.7}@media (max-width:1200px){.grid2,.widgets{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2>.g3,.tile.wide{grid-column:span 2}}@media (max-width:1080px){.tile.wide{grid-column:span 1}}.dial{position:relative;width:76px;height:76px;flex:none}.dial .c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.dial .c .big-num{font-size:20px}.dial .c .cap{font-size:9.5px;white-space:nowrap;letter-spacing:.02em}.dial.lg{width:92px;height:92px}.dial.lg .c .big-num{font-size:22px}.dial.lg .c .cap{font-size:11px}.btn{font:inherit;font-size:13px;font-weight:600;letter-spacing:-.01em;padding:6px 14px;border-radius:var(--r-pill);border:0;cursor:pointer;background:var(--accent-solid);color:#fff;line-height:1.4;transition:transform .18s var(--spring),filter .18s var(--ease),box-shadow .18s}.btn:hover:not(.sec){filter:brightness(.93)}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;filter:none}.btn.sec{background:var(--fill);color:var(--accent-ink)}.btn.destructive{background:var(--danger-solid)}.btn.sm{padding:4px 11px;font-size:12px}.seg{position:relative;display:inline-flex;padding:2px;background:var(--fill);gap:0}.seg,.seg .pill{border-radius:var(--r-pill)}.seg .pill{position:absolute;top:2px;bottom:2px;background:var(--card);box-shadow:var(--sh-1);transition:left .34s var(--spring),width .34s var(--spring)}.seg button{position:relative;z-index:1;font:inherit;font-size:12px;font-weight:600;padding:4px 12px;border:0;background:transparent;color:var(--label2);cursor:pointer;transition:color .2s,transform .2s var(--spring)}.seg button.on{color:var(--label)}.seg button:active{transform:scale(.94)}.sw{width:42px;height:24px;border-radius:12px;background:var(--fill);position:relative;cursor:pointer;flex:none;transition:background .32s var(--ease);border:0;padding:0}.sw:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.18),0 1px 2px rgba(0,0,0,.12);transition:transform .34s var(--spring),width .2s}.sw.on{background:var(--green)}.sw.on:after{transform:translateX(18px)}.sw:active:after{width:22px}.sw:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stepper{display:inline-flex;align-items:center;border-radius:8px;overflow:hidden;border:1px solid var(--sep);background:var(--card)}.stepper button{width:26px;height:24px;border:0;background:transparent;color:var(--accent-ink);font-size:14px;cursor:pointer;transition:background .15s;line-height:1}.stepper button:hover{background:var(--fill)}.stepper button:active{background:var(--tint-soft)}.stepper .val{min-width:38px;text-align:center;font-size:12px;font-weight:600;border-left:1px solid var(--sep);border-right:1px solid var(--sep)}.search{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--r-md);background:var(--fill);min-width:180px}.search input{border:0;background:transparent;outline:none;font:inherit;font-size:12px;color:var(--label);width:100%}.search input::-moz-placeholder{color:var(--label3)}.search input::placeholder{color:var(--label3)}.search svg{flex:none;opacity:.5}.fld{width:100%;font:inherit;font-size:13px;color:var(--label);background:var(--fill);border:0;border-radius:var(--r-sm);padding:7px 10px;outline:none;transition:box-shadow .2s var(--ease),background .2s}.fld:focus{box-shadow:0 0 0 3px var(--tint-soft);background:var(--card)}.dot{width:7px;height:7px;border-radius:50%;flex:none;display:inline-block}.dot.on{background:var(--green);box-shadow:0 0 0 3px rgba(52,199,89,.18)}.dot.off{background:var(--mark3)}.dot.risk{background:var(--red);box-shadow:0 0 0 3px rgba(255,59,48,.16)}.dot.mute{background:var(--orange);box-shadow:0 0 0 3px rgba(255,159,10,.16)}.dot.unknown{background:transparent;border:1.5px dashed var(--mark3)}.devrow{display:flex;align-items:center;gap:12px;padding:11px 14px;cursor:pointer;position:relative;transition:background .18s var(--ease),transform .18s var(--spring)}.devrow+.devrow:before{content:"";position:absolute;left:14px;right:0;top:0;height:1px;background:var(--sep)}.devrow:hover{background:hsla(240,3%,49%,.06)}.devrow:active{transform:scale(.995)}.devrow .chev{margin-left:auto;color:var(--label3);transition:transform .3s var(--spring)}.devrow:hover .chev{transform:translateX(3px)}.avatar{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;background:var(--fill);flex:none}img.avatar{display:block;-o-object-fit:cover;object-fit:cover}.avatar.initials{font-size:14px;font-weight:600;color:var(--label2);letter-spacing:-.02em}.disclosure>.body{max-height:0;overflow:hidden;transition:max-height .42s var(--ease),opacity .3s;opacity:0}.disclosure.open>.body{max-height:520px;opacity:1}.disclosure .chev{transition:transform .32s var(--spring)}.disclosure.open .chev{transform:rotate(90deg)}.grouped>.disclosure+.disclosure>.row:before{content:"";position:absolute;left:14px;right:0;top:0;height:1px;background:var(--sep)}pre.raw{font-family:var(--font);font-size:11px;line-height:1.55;font-variant-numeric:tabular-nums;background:var(--fill);border-radius:var(--r-md);padding:10px 12px;margin:6px 0 0;overflow:auto;color:var(--label2);white-space:pre-wrap;word-break:break-all}.setgrp{display:grid;gap:16px;max-width:720px}.setrow{display:flex;align-items:center;gap:10px;padding:10px 14px;position:relative}.setrow+.setrow:before{content:"";position:absolute;left:14px;right:0;top:0;height:1px;background:var(--sep)}.setrow .lab{flex:1;min-width:0;font-size:13px}.setrow .foot{display:block;font-size:11px;color:var(--label3);margin-top:2px;line-height:1.4}.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.28);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .4s var(--ease);z-index:30}.backdrop.on{opacity:1;pointer-events:auto}.sheet{position:fixed;left:0;right:0;bottom:0;max-height:var(--sheet-h);z-index:31;margin:0 auto;width:var(--sheet-w);background:var(--mat-thick);backdrop-filter:saturate(180%) blur(34px);-webkit-backdrop-filter:saturate(180%) blur(34px);border-top-left-radius:var(--r-xl);border-top-right-radius:var(--r-xl);border-top:1px solid var(--mat-line);box-shadow:var(--sh-3);transform:translateY(102%);transition:transform .52s var(--spring);display:flex;flex-direction:column}.sheet.on{transform:none}.sheet>.grab{width:32px;height:4px;border-radius:2px;background:var(--mark3);opacity:.5;margin:7px auto 3px;flex:none}.sheet>.head{padding:4px 18px 10px;display:flex;align-items:flex-end;gap:12px;flex:none}.sheet>.body{padding:0 18px 18px;overflow:auto;display:grid;gap:12px;align-content:start;grid-auto-rows:max-content}.sheetcols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sheetcols>.col{display:grid;align-content:start;min-width:0}.sheetcols>.col+.col{border-left:1px solid var(--sep)}.sheetcols>.col>*+:before{content:"";position:absolute;left:14px;right:0;top:0;height:1px;background:var(--sep)}.fldrow{position:relative;display:grid;gap:5px;padding:10px 14px;font-size:13px}.sheetcols+.setrow:before{content:"";position:absolute;left:14px;right:0;top:0;height:1px;background:var(--sep)}.herospecs{flex:1 1 420px;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;align-content:start}.herogroup{padding:14px;display:flex;gap:16px;flex-wrap:wrap;align-items:center}.herogroup>.banner{flex:1 1 100%}@media (min-width:1240px){.herospecs{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.sheetcols{grid-template-columns:1fr}.sheetcols>.col+.col{border-left:0;border-top:1px solid var(--sep)}}@media (max-width:700px){.herospecs{grid-template-columns:1fr}}.modalwrap{position:fixed;inset:0;z-index:31;display:flex;align-items:center;justify-content:center;padding:14px;pointer-events:none}.modal{pointer-events:auto;width:var(--modal-w);max-height:var(--modal-h);display:flex;flex-direction:column;min-height:0;background:var(--mat-thick);border:1px solid var(--mat-line);border-radius:var(--r-xl);box-shadow:var(--sh-3);opacity:0;transform:translateY(10px) scale(.985);transition:opacity .26s var(--ease),transform .38s var(--spring)}.modalwrap.on .modal{opacity:1;transform:none}.modal.wide{width:min(1180px,96vw)}.modal>.mhead{flex:none;display:flex;align-items:flex-start;gap:12px;padding:13px 16px 11px;border-bottom:1px solid var(--sep)}.modal>.mbody{flex:1 1 auto;min-height:0;overflow:auto;padding:14px 16px;display:grid;gap:12px;align-content:start;grid-auto-rows:max-content}.modal>.mfoot{flex:none;display:grid;gap:8px;padding:10px 16px 12px;border-top:1px solid var(--sep);background:var(--mat);border-radius:0 0 var(--r-xl) var(--r-xl)}.modal>.mfoot .acts{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.modal>.mfoot .acts .spacer{margin-right:auto}.modal>.mfoot .footbadge{flex:none;min-width:108px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:760px){.modalwrap{padding:0}.modal{width:100%;max-height:100vh;height:100%;border-radius:0;border:0}}@media (prefers-reduced-motion:reduce){.modal{transition:none}}.notestrip{display:flex;gap:8px;align-items:center;min-height:30px;padding:4px 11px;border-radius:var(--r-md);background:var(--fill);font-size:12px;line-height:1.45;color:var(--label3)}.notestrip .ns-dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.45;flex:none}.notestrip .ns-txt{min-width:0}.notestrip.info{background:var(--tint-soft);color:var(--accent-ink)}.notestrip.warn{background:rgba(255,159,10,.14);color:var(--warn-ink)}.notestrip.err{background:rgba(255,59,48,.12);color:var(--danger-ink)}.btn:focus-visible,.optradio:focus-visible,.row.tap:focus-visible,.stepper button:focus-visible,.wnav:focus-visible,button.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:hover:not(:disabled){box-shadow:0 3px 12px rgba(0,113,227,.26)}.btn.sec:hover:not(:disabled){background:var(--tint-soft);box-shadow:none}.btn.destructive:hover:not(:disabled){box-shadow:0 3px 12px rgba(255,59,48,.3)}.btn:active:not(:disabled){transform:scale(.95)}label.btn:hover{box-shadow:0 3px 12px rgba(0,113,227,.18)}button.chip{transition:background .18s var(--ease),color .18s,transform .16s var(--spring),box-shadow .18s}button.chip:hover:not(.on){background:var(--tint-soft);color:var(--accent-ink)}button.chip.on:hover{filter:brightness(.93)}button.chip:active{transform:scale(.93)}.stepper button:active{transform:scale(.9)}.kpi-delta{font-size:11px;font-weight:600;color:var(--label3);line-height:1.4}.microbar{height:5px;background:var(--fill);overflow:hidden;flex:none}.microbar,.microbar>i{border-radius:var(--r-pill)}.microbar>i{display:block;height:100%;transition:width .7s var(--spring)}.grid2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}.grid2>.g3{grid-column:span 3}@media (max-width:760px){.grid2,.widgets{grid-template-columns:1fr}.grid2>.g3,.tile.wide{grid-column:span 1}.toolbar{padding:8px 12px}.scroller{padding:2px 12px 22px}.search{min-width:120px}}@keyframes rise{0%{opacity:0;transform:translateY(14px) scale(.988)}to{opacity:1;transform:none}}@keyframes sheen{0%{stroke-dashoffset:var(--len,300)}to{stroke-dashoffset:var(--off,0)}}@keyframes pop{0%{transform:scale(.92);opacity:0}60%{transform:scale(1.02)}to{transform:scale(1);opacity:1}}@keyframes breathe{0%,to{opacity:.35}50%{opacity:.75}}.rise{animation:rise .62s var(--spring) both;animation-delay:var(--d,0ms)}.sheen{animation:sheen 1.1s var(--spring) both;animation-delay:var(--d,0ms)}.pop{animation:pop .5s var(--spring) both;animation-delay:var(--d,0ms)}.breathe{animation:breathe 1.6s ease-in-out infinite}.reveal-scroll{opacity:0;transform:translateY(20px) scale(.99);transition:opacity .7s var(--ease),transform .7s var(--spring)}.reveal-scroll.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.pop,.rise,.sheen{animation:none}.reveal-scroll{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}}.banner{border-radius:var(--r-md);padding:8px 11px;font-size:12px;line-height:1.5;display:flex;gap:8px;align-items:flex-start}.banner.info{background:var(--tint-soft);color:var(--accent-ink)}.banner.warn{background:rgba(255,159,10,.14);color:var(--warn-ink)}.banner.err{background:rgba(255,59,48,.12);color:var(--danger-ink)}.iconwell{width:58px;height:58px;border-radius:var(--r-md);background:var(--fill);display:flex;align-items:center;justify-content:center;flex:none;overflow:hidden}.iconwell img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}.iconwell .em{font-size:30px;line-height:1}.iconwell.sm{width:34px;height:34px}.iconwell.sm .em{font-size:19px}.iconwell.dashed{background:transparent;box-shadow:inset 0 0 0 1.5px var(--sep)}.iconwell.dashed .em{opacity:.38;font-size:22px}.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip{border-radius:var(--r-pill);background:var(--fill);padding:3px 10px;font-size:11.5px;color:var(--label);line-height:1.5}button.chip{border:0;font:inherit;cursor:pointer}button.chip.on{background:var(--accent-solid);color:#fff}.chip.warn{background:rgba(255,159,10,.14);color:var(--warn-ink)}.chip.mute{background:transparent;box-shadow:inset 0 0 0 1px var(--sep);color:var(--label3)}.stagerow{display:grid;grid-template-columns:62px minmax(0,1.1fr) 62px 26px;gap:8px;align-items:center}.stagecard{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 11px;border:1px solid var(--sep);border-radius:14px;background:var(--bg)}.stategrid,.statelblrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.statecell{display:grid;gap:6px;align-content:start;min-width:0;padding:8px;border:1px solid var(--sep);border-radius:10px;background:var(--card)}.statelbl{font-size:11px;font-weight:600;color:var(--label2);line-height:1.35}.thumbbox{position:relative;width:56px;height:56px;flex:none;border-radius:10px;overflow:hidden;background:var(--fill);display:flex;align-items:center;justify-content:center}.thumbbox img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.thumbbox.dashed{background:transparent;box-shadow:inset 0 0 0 1.5px var(--sep)}.thumbbox .ph{font-size:10.5px;color:var(--label3);line-height:1.25;text-align:center;padding:0 4px}.thumbbox .busy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10.5px;color:var(--accent-ink);background:var(--mat-thick)}.slotacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.slotacts .btn{justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn.ghost{visibility:hidden}.slotnote{font-size:11px;color:var(--label3);line-height:1.45;min-height:17px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slotnote.has{color:var(--accent-ink)}@media (max-width:760px){.stategrid,.statelblrow{grid-template-columns:minmax(0,1fr)}}textarea.fld{min-height:72px;resize:vertical;line-height:1.5}.tiny{font-size:11px;color:var(--label3);line-height:1.45}.fieldlbl{font-size:11.5px;font-weight:600;color:var(--label2);margin-bottom:5px}select.fld{-moz-appearance:auto;appearance:auto;-webkit-appearance:auto;cursor:pointer}.wikiwrap{display:grid;grid-template-columns:160px minmax(0,1fr) 272px;gap:14px;align-items:start;min-height:0}.wikinav{position:sticky;top:0;align-self:start;display:grid;gap:2px;max-height:calc(86vh - 210px);overflow:auto;padding:3px;border-radius:var(--r-md);background:var(--mat);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.wnav{display:flex;align-items:center;gap:6px;font:inherit;font-size:12px;text-align:left;border:0;background:transparent;color:var(--label2);border-radius:8px;padding:6px 8px;cursor:pointer;transition:background .18s var(--ease),color .18s,transform .16s var(--spring)}.wnav:hover{background:var(--fill);color:var(--label)}.wnav:active{transform:scale(.97)}.wnav.on{background:var(--tint-soft);color:var(--accent-ink);font-weight:600}.wnav .cnt{margin-left:auto;font-size:10px;color:var(--label3);font-variant-numeric:tabular-nums;flex:none}.wnav .cnt.miss{color:var(--warn-ink)}.wikicol{display:grid;gap:12px;min-width:0;counter-reset:wsec}.wsheet-head{display:flex;gap:10px;align-items:center;min-width:0}.wsheet-head-main{min-width:0}.wsheet-head .title2{line-height:1.35;overflow-wrap:anywhere}.wikiprev{position:sticky;top:0;align-self:start;display:grid;gap:8px;max-height:calc(86vh - 210px);overflow:auto;padding:10px;border:1px solid var(--sep);border-radius:14px;background:var(--bg);min-width:0}.wp-cap{font-size:11px;font-weight:700;color:var(--label2);letter-spacing:.02em}.wp-card{display:grid;gap:8px;padding:10px;border:1px solid var(--sep);border-radius:12px;background:var(--card);min-width:0}.wp-top{display:flex;gap:9px;align-items:center}.wp-top,.wp-top-main{min-width:0}.wp-name{font-size:14px;font-weight:700;line-height:1.3}.wp-cat,.wp-name{overflow-wrap:anywhere}.wp-cat{font-size:10.5px;color:var(--label3);line-height:1.45}.wp-desc{font-size:11.5px;color:var(--label2);line-height:1.55;overflow-wrap:anywhere}.wp-sec{display:grid;gap:4px;padding-top:7px;border-top:1px solid var(--sep);min-width:0}.wp-sec-k{font-size:10px;color:var(--label3);line-height:1.45}.wp-label{display:flex;align-items:baseline;gap:7px;font-size:11px;line-height:1.5;min-width:0}.wp-label-k{flex:none;color:var(--label3)}.wp-label-v{min-width:0;color:var(--label);overflow-wrap:anywhere}.wp-label-v.fallback{color:var(--label3)}.wp-stage{display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;gap:6px;align-items:baseline;font-size:11px;line-height:1.45;min-width:0}.wp-stage-e{font-size:12px}.wp-stage-n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-stage-d,.wp-stage-i{color:var(--label3);font-size:10px;white-space:nowrap}.wp-empty{line-height:1.45}.wp-empty,.wp-water{font-size:10.5px;color:var(--label3)}.wp-water{padding-top:7px;border-top:1px solid var(--sep)}.wp-note,.wp-water{line-height:1.5;overflow-wrap:anywhere}.wp-note{font-size:10.5px;color:var(--label3)}@media (max-width:1160px){.wikiwrap{grid-template-columns:160px minmax(0,1fr)}.wikiprev{display:none}}@media (max-width:1040px){.wikiwrap{grid-template-columns:minmax(0,1fr)}.wikinav{position:static;grid-auto-flow:column;grid-auto-columns:max-content;overflow:auto}}.wsec{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px 13px;border:1px solid var(--sep);border-radius:14px;background:var(--card);scroll-margin-top:6px;counter-increment:wsec}.wsec>.sechd{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}.sechd .t{font-size:13px;font-weight:700;letter-spacing:-.02em}.sechd .t:before{content:counter(wsec,decimal-leading-zero);margin-right:6px;font-size:10px;font-weight:700;color:var(--label3);letter-spacing:.06em;vertical-align:1px}.sechd .sub{overflow-wrap:anywhere}.sechd .cnt,.sechd .sub{font-size:11px;color:var(--label3)}.sechd .cnt{margin-left:auto;font-variant-numeric:tabular-nums}.edlist{display:grid;gap:8px}.editem{display:grid;gap:7px;padding:9px 10px;border:1px solid var(--sep);border-radius:11px;background:var(--bg)}.edhd{display:flex;align-items:center;gap:8px}.edno{font-size:11px;font-weight:700;flex:none;font-variant-numeric:tabular-nums}.edempty,.edno{color:var(--label3)}.edempty{font-size:11.5px;padding:4px 2px}.kvgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}@media (max-width:900px){.kvgrid{grid-template-columns:minmax(0,1fr)}}.optrow{gap:7px}.optradio,.optrow{display:flex;align-items:center}.optradio{width:24px;height:24px;flex:none;border-radius:50%;border:1.5px solid var(--sep);background:transparent;color:var(--label3);font:inherit;font-size:11px;font-weight:700;cursor:pointer;justify-content:center;transition:background .18s var(--ease),border-color .18s,transform .16s var(--spring)}.optradio:hover{border-color:var(--accent);color:var(--accent-ink)}.optradio:active{transform:scale(.9)}.optradio.on{background:var(--accent-solid);border-color:var(--accent);color:#fff}.optradio.dead{border-color:var(--red);color:var(--danger-ink);background:rgba(255,59,48,.1)}.danger-ghost{border:0;background:transparent;color:var(--label3);font:inherit;font-size:15px;line-height:1;width:24px;height:24px;flex:none;border-radius:7px;cursor:pointer;padding:0;transition:background .18s var(--ease),color .18s,transform .16s var(--spring)}.danger-ghost:hover{background:rgba(255,59,48,.12);color:var(--danger-ink)}.danger-ghost:active{transform:scale(.9)}