:root{--font:"Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--mono:"Roboto Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--radius:2px;--radius-sm:2px;--sidebar-w:236px;--topbar-h:56px;--brand:#2f6a94;--brand-soft:#2f6a9418;--brand-ink:#fff;--brand-band:#34709a;--ok:#2e7d4f;--ok-soft:#2e7d4f1a;--warn:#b36b00;--warn-soft:#b36b001c;--crit:#b3261e;--crit-soft:#b3261e1a;--off:#6b7580;--off-soft:#6b758020;--info:#2f6a94;--info-soft:#2f6a941a;--m-temperature:#d9610c;--m-humidity:#2b6cb0;--m-pressure:#7b4fb0;--m-o2:#0f8f84;--m-co2:#a47a00;--m-battery:#2e7d4f;--bg:#ecebe5;--bg-elev:#f6f5f1;--bg-sunken:#e2e0d8;--card:#f8f7f3;--card-hover:#fbfaf7;--border:#d3d0c5;--border-strong:#b5b1a3;--text:#16202a;--text-2:#4a5560;--text-3:#7b8288;--grid:#dddacf;--shadow:none;--shadow-lg:0 14px 34px rgba(20,25,30,.24);--sidebar-bg:#0f2231;--sidebar-text:#b4c6d4;--sidebar-active:#ffffff1a;color-scheme:light}*,:after,:before{box-sizing:border-box}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;text-rendering:optimizeLegibility}body,h1,h2,h3,h4,p{margin:0}h1{font-size:24px;letter-spacing:-.01em}h1,h2{font-weight:700}h2{font-size:17px}h3{font-size:15px;font-weight:500}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,select,textarea{color:inherit;font:inherit}::selection{background:var(--brand-soft)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:content-box;border:2px solid transparent;border-radius:0}.mono{font-family:var(--mono);font-size:.92em}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:12px}.nowrap{white-space:nowrap}.right{text-align:right}.center{text-align:center}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row{align-items:center;display:flex;gap:10px}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.row.top{align-items:flex-start}.stack{display:flex;flex-direction:column;gap:12px}.stack.tight{gap:6px}.spacer{flex:1 1}.grid{grid-gap:16px;display:grid;gap:16px}.grid.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.g6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid.main-side{align-items:start;grid-template-columns:minmax(0,1fr) 360px}.grid.fit{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}@media (max-width:1280px){.grid.g6{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.main-side{grid-template-columns:minmax(0,1fr)}}@media (max-width:900px){.grid.g3,.grid.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.g2{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.grid.g3,.grid.g4,.grid.g6{grid-template-columns:minmax(0,1fr)}}@-webkit-keyframes pulse{0%{box-shadow:0 0 0 0 currentColor}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes pulse{0%{box-shadow:0 0 0 0 currentColor}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}@-webkit-keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(6px);transform:translateY(6px)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(6px);transform:translateY(6px)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes flash{0%{background:var(--brand-soft)}to{background:transparent}}@keyframes flash{0%{background:var(--brand-soft)}to{background:transparent}}@-webkit-keyframes shimmer{to{background-position:-200% 0}}@keyframes shimmer{to{background-position:-200% 0}}@-webkit-keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fade-up{-webkit-animation:fadeUp .35s ease both;animation:fadeUp .35s ease both}@media (prefers-reduced-motion:reduce){*{-webkit-animation:none!important;animation:none!important;transition:none!important}}.app{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;gap:6px;height:100vh;overflow-y:auto;padding:18px 14px;position:-webkit-sticky;position:sticky;top:0;z-index:40}.brand{align-items:center;background:var(--brand-band);display:flex;justify-content:center;margin:-18px -14px 14px;padding:16px 14px}.brand img{display:block;height:30px;width:auto}.nav__section{color:#6f8c7e;font-size:10.5px;font-weight:700;letter-spacing:.1em;padding:14px 10px 6px;text-transform:uppercase}.nav__item{align-items:center;background:transparent;border:0;border-radius:0;color:var(--sidebar-text);display:flex;font-size:13.5px;font-weight:500;gap:11px;padding:9px 11px;text-align:left;transition:background .15s,color .15s;width:100%}.nav__item.active,.nav__item:hover{background:var(--sidebar-active);color:#fff}.nav__item.active{box-shadow:inset 3px 0 0 #7fb6dd}.nav__item .count{background:var(--crit);border-radius:2px;color:#fff;font-size:11px;font-weight:700;margin-left:auto;padding:1px 7px}.sidebar__foot{background:#ffffff0d;border-radius:0;font-size:12px;line-height:1.45;margin-top:auto;padding:12px}.sidebar__foot b{color:#fff}.main{display:flex;flex-direction:column;min-width:0}.topbar{align-items:center;background:var(--bg);border-bottom:1px solid var(--border-strong);display:flex;gap:12px;height:var(--topbar-h);padding:0 28px;position:-webkit-sticky;position:sticky;top:0;z-index:30}.topbar .burger{display:none}.search{align-items:center;background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-3);cursor:pointer;display:flex;gap:8px;height:34px;padding:0 12px;transition:border-color .15s;width:min(380px,40vw)}.search:hover{border-color:var(--border-strong)}.search span{flex:1 1;text-align:left}.page{-webkit-animation:fadeUp .3s ease both;animation:fadeUp .3s ease both;margin:0 auto;max-width:1560px;padding:26px 28px 60px;width:100%}.page__head{align-items:flex-end;border-bottom:2px solid var(--text);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:22px;padding-bottom:14px}.page__sub{color:var(--text-2);margin-top:4px;max-width:70ch}@media (max-width:1024px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{box-shadow:var(--shadow-lg);left:0;position:fixed;top:0;-webkit-transform:translateX(-102%);transform:translateX(-102%);transition:-webkit-transform .25s;transition:transform .25s;transition:transform .25s,-webkit-transform .25s;width:270px}.sidebar.open{-webkit-transform:none;transform:none}.topbar .burger{display:grid}.topbar{padding:0 16px}.page{padding:18px 16px 60px}.scrim{background:#0008;inset:0;position:fixed;z-index:35}}@media (max-width:640px){.search .kbd,.search span{display:none}.search{justify-content:center;width:40px}h1{font-size:22px}}.card{background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius)}.card__head{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;padding:10px 16px}.card__title{align-items:center;color:var(--text);display:flex;font-size:11.5px;font-weight:700;gap:8px;letter-spacing:.08em;text-transform:uppercase}.card__sub{color:var(--text-3);font-size:12px;font-weight:400;letter-spacing:0;margin-top:2px;text-transform:none}.card__body{padding:14px 16px 16px}.card__body.flush{padding:0}.card--hover{cursor:pointer;transition:border-color .15s}.card--hover:hover{background:var(--card-hover);border-color:var(--brand)}.btn{align-items:center;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);display:inline-flex;font-size:13px;font-weight:600;gap:7px;height:34px;justify-content:center;padding:0 14px;transition:background .15s,border-color .15s,-webkit-transform .1s;transition:background .15s,border-color .15s,transform .1s;transition:background .15s,border-color .15s,transform .1s,-webkit-transform .1s;white-space:nowrap}.btn:hover{background:var(--bg-sunken)}.btn:active{-webkit-transform:scale(.98);transform:scale(.98)}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn.primary:hover{-webkit-filter:brightness(.92);filter:brightness(.92)}.btn.danger{background:var(--crit);border-color:var(--crit);color:#fff}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--bg-sunken)}.btn.sm{font-size:12.5px;height:28px;padding:0 10px}.btn.icon{padding:0;width:36px}.btn.icon.sm{width:30px}.btn:disabled{cursor:not-allowed;opacity:.5}.input,.select{background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius);height:36px;outline:none;padding:0 12px;transition:border-color .15s,box-shadow .15s;width:100%}.input:focus,.select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.select{padding-right:28px;width:auto}.field{display:flex;flex-direction:column;gap:6px}.field label{color:var(--text-2);font-size:12.5px;font-weight:600}.field .hint{color:var(--text-3);font-size:12px}.seg{background:var(--bg-sunken);border:1px solid var(--border-strong);border-radius:var(--radius);display:inline-flex;gap:2px;padding:2px}.seg button{background:transparent;border:0;border-radius:1px;color:var(--text-2);font-size:12.5px;font-weight:500;height:26px;padding:0 11px}.seg button.on{background:var(--text);color:#fff}.chip{align-items:center;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-2);display:inline-flex;font-size:12.5px;font-weight:600;gap:6px;height:28px;padding:0 11px;transition:all .15s}.chip.on,.chip:hover{border-color:var(--brand)}.chip.on{background:var(--brand-soft);color:var(--text)}.chip .swatch{border-radius:0;height:9px;width:9px}.switch{background:var(--border-strong);border:0;border-radius:2px;flex:none;height:20px;position:relative;transition:background .2s;width:38px}.switch:after{background:#fff;border-radius:1px;content:"";height:14px;left:3px;position:absolute;top:3px;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s;width:14px}.switch.on{background:var(--brand)}.switch.on:after{-webkit-transform:translateX(18px);transform:translateX(18px)}.kbd{border:1px solid var(--border-strong);border-radius:2px;font-family:var(--mono);font-size:11px;padding:1px 6px}.badge,.kbd{background:var(--bg-sunken);color:var(--text-2)}.badge{align-items:center;border-radius:2px;display:inline-flex;font-size:10.5px;font-weight:700;gap:6px;height:20px;letter-spacing:.05em;padding:0 8px;text-transform:uppercase;white-space:nowrap}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.crit{background:var(--crit-soft);color:var(--crit)}.badge.off{background:var(--off-soft);color:var(--off)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.brand{background:var(--brand-soft);color:var(--brand)}.dot{background:currentColor;border-radius:1px;display:inline-block;flex:none;height:8px;width:8px}.dot.pulse{-webkit-animation:pulse 1.8s infinite;animation:pulse 1.8s infinite}.s-online{color:var(--ok)}.s-warning{color:var(--warn)}.s-critical{color:var(--crit)}.s-offline{color:var(--off)}.kpi{overflow:hidden;padding:16px 18px;position:relative}.kpi__label{align-items:center;color:var(--text-2);display:flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.07em;padding-right:46px;text-transform:uppercase;white-space:nowrap}.kpi__value{-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";align-items:baseline;display:flex;font-family:var(--mono);font-size:26px;font-variant-numeric:tabular-nums;font-weight:500;gap:4px;letter-spacing:-.02em;line-height:1.1;margin-top:6px}.kpi__value small{color:var(--text-3);font-family:var(--font);font-size:13px;font-weight:500;letter-spacing:0}.kpi__meta{align-items:center;color:var(--text-3);display:flex;flex-wrap:wrap;font-size:12px;gap:8px;margin-top:6px;min-height:22px}.kpi__icon{color:var(--text-3);display:grid;place-items:center;position:absolute;right:14px;top:14px}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;font-size:13px;width:100%}.table th{background:var(--bg-elev);border-bottom:1px solid var(--border-strong);color:var(--text-2);font-size:10.5px;font-weight:700;letter-spacing:.08em;padding:9px 14px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap}.table td{border-bottom:1px solid var(--border);padding:11px 14px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr{transition:background .12s}.table tbody tr.click{cursor:pointer}.table tbody tr:hover{background:var(--card-hover)}.table .num{-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";font-family:var(--mono);font-size:12.5px;font-variant-numeric:tabular-nums;text-align:right}.flash-row{-webkit-animation:flash 1.6s ease-out;animation:flash 1.6s ease-out}.skeleton{-webkit-animation:shimmer 1.4s infinite;animation:shimmer 1.4s infinite;background:linear-gradient(90deg,var(--bg-sunken) 25%,var(--border) 37%,var(--bg-sunken) 63%);background-size:200% 100%;border-radius:2px}.empty{grid-gap:8px;color:var(--text-2);display:grid;gap:8px;padding:38px 20px;place-items:center;text-align:center}.empty svg{color:var(--text-3)}.empty b{color:var(--text);font-size:15px}.tabs{border-bottom:1px solid var(--border);display:flex;gap:4px;overflow-x:auto}.tabs button{align-items:center;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--text-2);display:flex;font-weight:600;gap:7px;margin-bottom:-1px;padding:10px 14px;white-space:nowrap}.tabs button.on{border-color:var(--brand);color:var(--text)}.meter{background:var(--bg-sunken);border-radius:0;height:6px;overflow:hidden;position:relative}.meter>i{background:var(--brand);border-radius:0;inset:0 auto 0 0;position:absolute;transition:width .6s}.hr{background:var(--border);border:0;height:1px;margin:6px 0}.live-pill{align-items:center;background:var(--card);border:1px solid var(--border-strong);border-radius:2px;display:inline-flex;font-size:11px;font-weight:700;gap:7px;height:28px;letter-spacing:.06em;padding:0 12px;text-transform:uppercase}.live-pill.on{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 40%,var(--border));color:var(--ok)}.live-pill.off{color:var(--off)}.infotip{color:var(--text-3);cursor:help;display:inline-flex;position:relative}.infotip:focus-within,.infotip:hover{color:var(--brand)}.infotip__pop{background:#16202a;border-radius:2px;bottom:calc(100% + 8px);box-shadow:var(--shadow-lg);color:#eef1f3;font-size:12px;font-weight:450;left:50%;letter-spacing:0;line-height:1.45;opacity:0;padding:10px 12px;pointer-events:none;position:absolute;text-align:left;text-transform:none;-webkit-transform:translateX(-50%);transform:translateX(-50%);transition:opacity .15s;width:260px;z-index:60}.infotip:focus-within .infotip__pop,.infotip:hover .infotip__pop{opacity:1}.toasts{bottom:18px;display:flex;flex-direction:column;gap:10px;position:fixed;right:18px;width:min(370px,calc(100vw - 36px));z-index:100}.toast{-webkit-animation:fadeUp .3s ease both;animation:fadeUp .3s ease both;background:var(--card);border:1px solid var(--border-strong);border-radius:2px;box-shadow:var(--shadow-lg);display:flex;gap:11px;padding:12px 14px}.toast.crit{border-left:4px solid var(--crit)}.toast.warn{border-left:4px solid var(--warn)}.toast.ok{border-left:4px solid var(--ok)}.toast.info{border-left:4px solid var(--info)}.toast b{display:block;font-size:13px}.toast p{color:var(--text-2);font-size:12.5px;margin-top:1px}.overlay{-webkit-animation:fadeUp .2s ease both;animation:fadeUp .2s ease both;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#040a07a8;inset:0;position:fixed;z-index:80}.drawer{-webkit-animation:slideIn .25s ease both;animation:slideIn .25s ease both;background:var(--bg);border-left:1px solid var(--border);bottom:0;box-shadow:var(--shadow-lg);overflow-y:auto;position:fixed;right:0;top:0;width:min(560px,100vw);z-index:90}@-webkit-keyframes slideIn{0%{opacity:0;-webkit-transform:translateX(40px);transform:translateX(40px)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes slideIn{0%{opacity:0;-webkit-transform:translateX(40px);transform:translateX(40px)}to{opacity:1;-webkit-transform:none;transform:none}}.drawer__head{align-items:center;background:var(--bg);border-bottom:1px solid var(--border);display:flex;gap:10px;justify-content:space-between;padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.drawer__body{display:flex;flex-direction:column;gap:16px;padding:20px}.modal{-webkit-animation:fadeUp .25s ease both;animation:fadeUp .25s ease both;max-height:90vh;overflow:auto;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:min(560px,calc(100vw - 32px));z-index:90}.cmdk,.modal{background:var(--card);border:1px solid var(--border-strong);border-radius:2px;box-shadow:var(--shadow-lg);left:50%;position:fixed}.cmdk{-webkit-animation:fadeUp .2s ease both;animation:fadeUp .2s ease both;overflow:hidden;top:14vh;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:min(620px,calc(100vw - 24px));z-index:95}.cmdk input{background:transparent;border:0;border-bottom:1px solid var(--border);font-size:15px;height:54px;outline:none;padding:0 18px;width:100%}.cmdk__list{max-height:360px;overflow-y:auto;padding:8px}.cmdk__group{color:var(--text-3);font-size:11px;font-weight:700;letter-spacing:.08em;padding:8px 10px 4px;text-transform:uppercase}.cmdk__item{align-items:center;background:transparent;border:0;border-radius:2px;display:flex;font-weight:500;gap:12px;padding:9px 10px;text-align:left;width:100%}.cmdk__item.on,.cmdk__item:hover{background:var(--brand-soft)}.tour-mask{inset:0;position:fixed;z-index:110}.tour-hole{border-radius:2px;box-shadow:0 0 0 9999px #040a07b8;pointer-events:none;position:fixed;transition:all .3s ease;z-index:111}.tour-pop{-webkit-animation:fadeUp .25s ease both;animation:fadeUp .25s ease both;background:var(--card);border:1px solid var(--border-strong);border-radius:2px;box-shadow:var(--shadow-lg);padding:16px;position:fixed;width:min(340px,calc(100vw - 24px));z-index:112}.tour-pop h3{margin-bottom:4px}.tour-pop p{color:var(--text-2);font-size:13px}.tour-dots{display:flex;gap:5px}.tour-dots i{background:var(--border-strong);border-radius:0;height:7px;width:7px}.tour-dots i.on{background:var(--brand)}.mapbox{border:1px solid var(--border-strong);overflow:hidden;position:relative;z-index:0}.pin{background:var(--c);border:1px solid #fff;border-radius:2px;color:#fff;display:grid;font:500 12px var(--mono);height:24px;min-width:48px;outline:1px solid var(--c);padding:0 8px;place-items:center;white-space:nowrap}.pin.sel{outline:3px solid var(--c)}.leaflet-container{background:var(--bg-sunken);font-family:var(--font)}.leaflet-popup-content-wrapper{border-radius:2px}.map-fit{background:#fff;border:1px solid var(--border-strong);cursor:pointer;font:500 12px var(--font);height:28px;padding:0 10px;position:absolute;right:10px;top:10px;z-index:1000}.map-fit:hover{background:var(--bg-sunken)}.grid:has(>.kpi),.grid:has(>.metric-tile){gap:0}.grid:has(>.kpi)>.kpi,.grid:has(>.metric-tile)>.metric-tile{margin:0 -1px -1px 0}.auth{display:grid;grid-template-columns:1.15fr 1fr;min-height:100vh}.auth__hero{background-position:50%;background-size:cover;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:0}.auth__band{background:var(--brand-band);padding:18px 28px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.auth__hero small{padding:20px 28px}.auth__panel{background:var(--bg);display:grid;padding:32px 20px;place-items:center}.auth__card{display:flex;flex-direction:column;gap:18px;width:min(420px,100%)}@media (max-width:900px){.auth{grid-template-columns:1fr}.auth__hero{display:none}}.alert-list{display:flex;flex-direction:column}.alert-item{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:12px 18px}.alert-item:last-child{border-bottom:0}.alert-ico{border-radius:2px;display:grid;flex:none;height:34px;place-items:center;width:34px}.card__body.tight{padding:4px 0 6px}.hint-row{border-bottom:1px solid var(--border);display:flex;gap:12px;padding:9px 0}.hint-row:last-child{border-bottom:0}.hint-row:hover b{color:var(--brand)}.farm{display:flex;flex-direction:column;overflow:hidden}.farm__img{align-items:flex-start;background-position:50%;background-size:cover;display:flex;height:128px;justify-content:space-between;padding:12px}.farm__body{display:flex;flex:1 1;flex-direction:column;gap:12px;padding:14px 16px 16px}.farm__metrics{grid-gap:18px;align-items:end;display:grid;gap:18px;grid-template-columns:auto auto 1fr}.farm__metrics b{display:block;font-family:var(--mono);font-size:19px;font-weight:500;letter-spacing:-.02em}.farm__metrics b small{color:var(--text-3);font-family:var(--font);font-size:12px;margin-left:1px}.farm__metrics .spark{justify-self:end}.farm__hint{background:var(--bg-sunken);border-left:3px solid var(--brand);margin-top:auto;padding:8px 10px}.mini-feed__row{grid-gap:8px;align-items:center;border-bottom:1px dashed var(--border);display:grid;font-size:12.5px;gap:8px;grid-template-columns:62px 1fr 52px 44px;padding:7px 4px}.mini-feed__row:last-child{border-bottom:0}.flash-text{-webkit-animation:flashText 1.2s ease-out;animation:flashText 1.2s ease-out}@-webkit-keyframes flashText{0%{color:var(--brand)}}@keyframes flashText{0%{color:var(--brand)}}.node-box{background:var(--bg-sunken);border:1px solid var(--border-strong);border-radius:2px;padding:12px 14px}.payload{background:var(--card);border:1px dashed var(--border-strong);border-radius:2px;color:var(--text-2);margin:8px 0 4px;padding:7px 10px;word-break:break-all}.hero{background-position:50%;background-size:cover;border:1px solid var(--border-strong);border-radius:0;padding:26px 28px}.hero__meta{color:#e3efe7;font-size:13px;gap:18px;margin-top:16px}.hero__meta span{align-items:center;background:#ffffff1f;border-radius:2px;display:inline-flex;gap:6px;padding:4px 10px}.matrix td,.matrix th{padding:8px 10px}.matrix td.num{border-left:1px solid var(--bg)}.pipe{align-items:stretch;display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}.pipe__node{align-items:flex-start;background:var(--bg-sunken);border:1px solid var(--border);border-radius:2px;display:flex;flex:1 0 168px;flex-direction:column;gap:6px;padding:14px}.pipe__node.sim{border-color:var(--info);border-style:dashed}.pipe__node p{line-height:1.4}.pipe__arrow{align-self:center;color:var(--text-3);flex:none}.scenario{box-shadow:none;display:flex;flex-direction:column;gap:10px;padding:14px}.code{color:var(--text);font:12px/1.55 var(--mono);margin:6px 0 0;white-space:pre-wrap;word-break:break-all}.faq{border-bottom:1px solid var(--border);padding:12px 0}.faq:last-child{border-bottom:0}.faq summary{cursor:pointer;display:flex;font-weight:650;gap:12px;justify-content:space-between;list-style:none}.faq summary:after{color:var(--text-3);content:"+";font-size:18px;line-height:1}.faq[open] summary:after{content:"–"}.faq p{margin-top:8px}
/*# sourceMappingURL=main.1a46864b.css.map*/