:root{--side-ink: #ffffff;--side-line: #1d3229;--side-mark: #3fbf94;--heading-track: -.025em;--bg: #f5f7f6;--bg-sunken: #edf1ee;--surface: #ffffff;--surface-2: #f8faf8;--fg: #0e1a15;--fg-2: #2c3a33;--muted: #55635b;--line: #dde4e0;--line-strong: #c3cdc7;--accent: #0b8457;--accent-hover: #086c47;--accent-soft: #def4e9;--accent-ink: #ffffff;--gold: #b7791f;--gold-soft: #fbf1df;--ok: #0f8a5a;--ok-soft: #e2f4ec;--warn: #a2620a;--warn-soft: #fcf1d9;--crit: #c03221;--crit-soft: #fbe6e1;--info: #2563b0;--info-soft: #e5eef9;--side-bg: #0d1a15;--side-fg: #b9c9c0;--side-muted: #7c9187;--side-hover: #16271f;--side-active: #1d3429;--shadow-sm: 0 1px 2px rgba(16, 32, 25, .06);--shadow: 0 1px 2px rgba(16, 32, 25, .05), 0 6px 20px rgba(16, 32, 25, .06);--shadow-lg: 0 18px 50px rgba(16, 32, 25, .16);--radius: 12px;--radius-sm: 8px;--display: "Helvetica Neue", Helvetica, "Segoe UI", Roboto, Arial, sans-serif;--body: "Helvetica Neue", Helvetica, "Segoe UI", Roboto, Arial, sans-serif;--mono: ui-monospace, "Cascadia Mono", Consolas, Menlo, monospace;color-scheme:light}:root[data-theme=dark]{--side-mark: #34d399;--side-line: #17251f;--bg: #0b110e;--bg-sunken: #080d0b;--surface: #121a16;--surface-2: #162019;--fg: #e6eee9;--fg-2: #cfdad3;--muted: #9aa9a1;--line: #222e28;--line-strong: #2f3d36;--accent: #34d399;--accent-hover: #6ee7b7;--accent-soft: #143127;--accent-ink: #062016;--gold: #e0a94a;--gold-soft: #33280f;--ok: #4cc79c;--ok-soft: #12302a;--warn: #f0b84a;--warn-soft: #362a10;--crit: #f0705c;--crit-soft: #3a1a15;--info: #7aa7e0;--info-soft: #172638;--side-bg: #070c0a;--side-fg: #b3c3ba;--side-muted: #6f837a;--side-hover: #111b17;--side-active: #17271f;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 24px rgba(0, 0, 0, .3);--shadow-lg: 0 18px 50px rgba(0, 0, 0, .55);color-scheme:dark}:root[data-theme=forest]{--side-ink: #f3f1e6;--side-line: #1e3528;--side-mark: #b5dc7a;--heading-track: -.01em;--bg: #0f1d17;--bg-sunken: #0b1712;--surface: #15271f;--surface-2: #1a2e25;--fg: #f1efe4;--fg-2: #d3d4c6;--muted: #a1ab9c;--line: #24392e;--line-strong: #31493c;--accent: #b5dc7a;--accent-hover: #c8e898;--accent-soft: #263a20;--accent-ink: #13220d;--gold: #e9b45c;--gold-soft: #3a2e17;--ok: #a6d672;--ok-soft: #243820;--warn: #e9b45c;--warn-soft: #3a2e17;--crit: #f08a72;--crit-soft: #3e231d;--info: #a9c8e4;--info-soft: #1f2f3a;--side-bg: #0a1510;--side-fg: #c9cfc0;--side-muted: #8a9786;--side-hover: #13241b;--side-active: #1c3326;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 28px rgba(0, 0, 0, .3);--shadow-lg: 0 20px 56px rgba(0, 0, 0, .5);color-scheme:dark}:root[data-theme=harvest]{--side-ink: #fff6e6;--side-line: #4a3f24;--side-mark: #d9a441;--heading-track: -.005em;--bg: #f4ecdc;--bg-sunken: #ebe0ca;--surface: #fffaf0;--surface-2: #faf3e4;--fg: #2a2216;--fg-2: #4a3f2e;--muted: #6b5f4b;--line: #e4d8bf;--line-strong: #d3c4a5;--accent: #5f7a1f;--accent-hover: #4c6317;--accent-soft: #e9efd3;--accent-ink: #ffffff;--gold: #b4622b;--gold-soft: #f6e2cf;--ok: #4f7a1f;--ok-soft: #e6efd2;--warn: #a86a10;--warn-soft: #f8e7c4;--crit: #b53a2a;--crit-soft: #f6dcd4;--info: #3a6b96;--info-soft: #dfe9f1;--side-bg: #2b2414;--side-fg: #e3d7bd;--side-muted: #a8977a;--side-hover: #3a311d;--side-active: #4a3f24;--shadow-sm: 0 1px 2px rgba(60, 45, 20, .08);--shadow: 0 1px 2px rgba(60, 45, 20, .07), 0 6px 20px rgba(60, 45, 20, .09);--shadow-lg: 0 18px 50px rgba(60, 45, 20, .18);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font:400 16px/1.6 var(--body);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--display);line-height:1.2;margin:0;letter-spacing:var(--heading-track);text-wrap:balance;color:var(--fg)}h1{font-size:2rem;font-weight:800}h2{font-size:1.2rem;font-weight:700;margin-bottom:16px}h3{font-size:1.05rem;font-weight:700;margin:18px 0 10px}p{margin:0 0 10px}code,.mono{font-family:var(--mono);font-size:.86em}code{background:var(--bg-sunken);border:1px solid var(--line);padding:1px 6px;border-radius:5px}.muted{color:var(--muted)}.small{font-size:.9rem}.block{display:block}.num{font-variant-numeric:tabular-nums;text-align:right}.icon{flex:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--side-bg);color:var(--side-fg);display:flex;flex-direction:column;gap:18px;padding:18px 14px;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:30}.brand{display:flex;align-items:center;gap:10px;padding:2px 6px;color:inherit}.brand:hover{text-decoration:none}.brand-mark{display:block;flex:none;width:34px;height:34px;border-radius:9px;object-fit:contain}.brand-name{font:800 1.12rem var(--display);color:var(--side-ink);letter-spacing:-.01em}.brand-sub{font-size:.8rem;color:var(--side-muted)}.brand.on-light .brand-name{color:var(--fg)}.brand.on-light .brand-sub{color:var(--muted)}.org-switch{display:flex;flex-direction:column;gap:6px;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--side-muted);padding:0 4px}.org-switch select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;font:600 .95rem var(--body);text-transform:none;letter-spacing:0;color:var(--side-ink);background:var(--side-hover) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237c9187' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid var(--side-line);border-radius:var(--radius-sm);padding:9px 30px 9px 11px;cursor:pointer}.nav-section{display:flex;flex-direction:column;gap:2px}.nav-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.09em;color:var(--side-muted);padding:8px 10px 4px}.nav-link{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--side-fg);font-weight:500;position:relative;transition:background .12s,color .12s}.nav-link:hover{background:var(--side-hover);color:var(--side-ink);text-decoration:none}.nav-link.active{background:var(--side-active);color:var(--side-ink)}.nav-link.active:before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--side-mark)}.nav-link .icon{opacity:.85}.nav-link .badge{margin-left:auto}.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px 8px 4px;border-top:1px solid var(--side-line)}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:700 .86rem var(--display);background:#1f3a2e;color:#bfe8d6;flex:none}.who{display:flex;flex-direction:column;min-width:0;flex:1}.who strong{color:var(--side-ink);font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.who span{font-size:.86rem;color:var(--side-muted);text-transform:capitalize}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--fg-2);cursor:pointer;position:relative;transition:border-color .12s,color .12s}.icon-btn:hover{border-color:var(--line-strong);color:var(--fg)}.icon-btn.dark{background:transparent;border-color:var(--side-line);color:var(--side-fg)}.icon-btn.dark:hover{color:var(--side-ink);border-color:var(--side-line)}.main{display:flex;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:12px 32px;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar-org{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font:700 .98rem var(--display)}.topbar-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.menu-btn{display:none}.content{width:100%;max-width:1320px;padding:26px 32px 64px;display:flex;flex-direction:column;gap:20px}.scrim{display:none;border:0;padding:0;cursor:pointer}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.page-header p{margin:6px 0 0;max-width:70ch}.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.eyebrow{font:600 .8rem var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);min-width:0}.card>h2:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.table-wrap{overflow-x:auto}.card.table-wrap{padding:6px 0 4px}.card.table-wrap>p,.card.table-wrap>h2{padding:12px 20px 0}.empty{padding:22px;border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);background:var(--surface-2);text-align:center}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:4px;min-width:0}.tile-label{font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.tile-value{font:800 2.15rem/1.15 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.tile-value.small-value{font-size:1.45rem}.tile-of{font-size:1rem;color:var(--muted);font-weight:600}.tile-note{font-size:.86rem;color:var(--crit);font-weight:500}a.tile-note{color:var(--accent)}.tile-warn{border-color:color-mix(in srgb,var(--warn) 45%,var(--line));background:linear-gradient(180deg,var(--warn-soft),var(--surface) 75%)}.site{display:flex;flex-direction:column;gap:12px}.site h2{display:flex;gap:10px;align-items:baseline;margin:6px 0 0}.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.device-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;color:inherit;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s,transform .15s}.device-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));box-shadow:var(--shadow);text-decoration:none;transform:translateY(-1px)}.device-card-head{display:flex;justify-content:space-between;gap:10px}.device-name{font-weight:600;color:var(--fg)}.readings{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px;margin:0;padding:12px 0 0;border-top:1px solid var(--line)}.readings dt{font-size:.8rem;color:var(--muted)}.readings dd{margin:0;font:700 1.15rem var(--display);font-variant-numeric:tabular-nums;color:var(--fg)}.status{display:inline-flex;align-items:center;gap:6px;font-size:.86rem;font-weight:600;white-space:nowrap;padding:3px 9px 3px 7px;border-radius:999px;height:fit-content}.dot{width:7px;height:7px;border-radius:50%}.status-on{color:var(--ok);background:var(--ok-soft)}.status-on .dot{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 25%,transparent);animation:pulse 2.4s ease-in-out infinite}.status-off{color:var(--muted);background:var(--bg-sunken)}.status-off .dot{background:var(--muted)}@keyframes pulse{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--ok) 0%,transparent)}}.pill{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:3px 9px;white-space:nowrap;line-height:1.4}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.pill-info{background:var(--info-soft);color:var(--info)}.pill-ok{background:var(--ok-soft);color:var(--ok)}.pill-warning{background:var(--warn-soft);color:var(--warn)}.pill-critical{background:var(--crit-soft);color:var(--crit)}.badge{background:var(--crit);color:#fff;border-radius:999px;font:700 .8rem var(--body);padding:1px 7px;min-width:18px;text-align:center}.alert-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.alert-list li{display:grid;grid-template-columns:auto auto 1fr auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.alert-list li:first-child{border-top:0;padding-top:0}.insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}.insights:empty{display:none}.insight{border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:3px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--info);box-shadow:var(--shadow-sm)}.insight strong{font-family:var(--display)}.insight span{color:var(--fg-2)}.insight-ok{border-left-color:var(--ok)}.insight-info{border-left-color:var(--info)}.insight-warning{border-left-color:var(--warn);background:linear-gradient(90deg,var(--warn-soft),var(--surface) 70%)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface)}td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}tbody tr{transition:background .1s}tbody tr:hover{background:var(--surface-2)}tr:last-child td{border-bottom:0}.card.table-wrap th:first-child,.card.table-wrap td:first-child{padding-left:20px}.card.table-wrap th:last-child,.card.table-wrap td:last-child{padding-right:20px}.row-off td{opacity:.5}.epcs{max-width:360px;word-break:break-all}.detail-row td,.detail-row:hover{background:var(--surface-2)}.form{display:flex;flex-direction:column;gap:14px}.form p{margin:0}.form-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}label{display:flex;flex-direction:column;gap:5px;font-size:.86rem;color:var(--fg-2);font-weight:500;min-width:180px}label.narrow{min-width:110px}label.grow{flex:1}label.block{width:100%}button{font-family:inherit}input,select,textarea{font:400 1rem var(--body);color:var(--fg);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:8px 11px;transition:border-color .12s,box-shadow .12s}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line-strong))}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font:600 .95rem var(--body);border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);border-radius:var(--radius-sm);padding:8px 15px;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;box-shadow:var(--shadow-sm)}.btn:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line-strong));text-decoration:none}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{background:var(--crit);border-color:var(--crit);color:#fff}.btn-small{padding:5px 11px;font-size:.86rem}.btn-lg{padding:12px 22px;font-size:.98rem;border-radius:10px}.btn-ghost{background:transparent;box-shadow:none}.link-btn{background:none;border:0;padding:0;color:var(--accent);font:inherit;cursor:pointer;text-align:left}.confirm{display:inline-flex;gap:6px}.switch{flex-direction:row;align-items:center;min-width:0;gap:8px;color:var(--fg)}.actions{display:flex;gap:6px;flex-wrap:wrap}.action{display:flex;gap:8px;align-items:flex-end}.checks{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 16px;display:flex;flex-wrap:wrap;gap:10px 22px;margin:0}.checks legend{font-size:.86rem;color:var(--muted);padding:0 6px}label.check{flex-direction:row;align-items:center;gap:8px;min-width:0;color:var(--fg);font-size:.95rem}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font:500 .86rem var(--body);border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 13px;cursor:pointer;color:var(--fg-2);transition:all .12s}.chip:hover{border-color:var(--line-strong);color:var(--fg)}.chip-on,.chip-on:hover{background:var(--fg);border-color:var(--fg);color:var(--bg)}.chart-controls{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px}.chart{width:100%;min-width:0}.recharts-default-tooltip{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:8px!important;box-shadow:var(--shadow);color:var(--fg)}.recharts-legend-item-text{color:var(--fg-2)!important}.error-note,.ok-note,.info-note{border-radius:var(--radius-sm);padding:11px 14px;border:1px solid;font-size:.95rem}.error-note{background:var(--crit-soft);color:var(--crit);border-color:color-mix(in srgb,var(--crit) 30%,transparent)}.ok-note{background:var(--ok-soft);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.info-note{background:var(--info-soft);color:var(--info);border-color:color-mix(in srgb,var(--info) 30%,transparent)}.error-text{color:var(--crit)}.plain{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:6px}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:20px;align-items:start}.two-col>*{min-width:0}.kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:14px 0 0}.kv>div{display:contents}.kv dt{color:var(--muted);text-transform:capitalize}.kv dd{margin:0;word-break:break-all}.bell{position:relative}.bell .badge{position:absolute;top:-6px;right:-7px}.bell-menu{position:absolute;right:0;top:46px;width:min(390px,92vw);max-height:72vh;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:40}.bell-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface)}.bell-empty{padding:20px 16px}.bell-item{display:grid;grid-template-columns:10px 1fr;gap:12px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:12px 16px;cursor:pointer;font:inherit;color:inherit}.bell-item:hover{background:var(--surface-2)}.bell-item.unread{background:color-mix(in srgb,var(--accent-soft) 60%,var(--surface))}.sev-dot{width:8px;height:8px;border-radius:50%;margin-top:7px;background:var(--info)}.sev-warning{background:var(--warn)}.sev-critical{background:var(--crit)}.qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}.qr{display:flex;gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2)}.qr svg{flex:none;border-radius:8px;background:#fff;padding:4px}.qr>div{display:flex;flex-direction:column;gap:4px;min-width:0;word-break:break-all}.ndvi-wrap{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:28px;align-items:start}.ndvi-grid{display:grid;grid-template-columns:repeat(16,1fr);aspect-ratio:1;max-width:100%;border-radius:var(--radius);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line),var(--shadow-sm)}.ndvi-grid span{display:block}.ndvi-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.86rem;color:var(--muted)}.ndvi-legend span{display:inline-flex;gap:6px;align-items:center}.ndvi-legend i{width:14px;height:14px;border-radius:4px;display:inline-block}.listing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.listing{border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--surface-2)}.listing h3{margin:0}.listing-price{font:800 1.5rem var(--display);letter-spacing:-.02em}.forecast-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.creds .kv dd{background:var(--bg-sunken);padding:2px 8px;border-radius:6px}.product-page{min-height:100vh;background:radial-gradient(1200px 400px at 50% -10%,var(--accent-soft),transparent),var(--bg)}.product{max-width:680px;margin:0 auto;padding:40px 20px 64px}.product-hero{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:28px;display:flex;flex-direction:column;gap:10px}.product-hero h1{font-size:2.3rem}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:grid;grid-template-columns:24px 1fr;gap:14px;padding-bottom:26px;position:relative}.timeline li:before{content:"";position:absolute;left:7px;top:18px;bottom:0;width:2px;background:var(--line-strong)}.timeline li:last-child:before{display:none}.timeline-dot{width:16px;height:16px;border-radius:50%;background:var(--accent);margin-top:3px;box-shadow:0 0 0 4px var(--accent-soft)}.timeline h3{margin:2px 0}.timeline-when{font:600 .86rem var(--body);color:var(--gold)}.product-foot{border-top:1px solid var(--line);padding-top:16px}.auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.auth-art{position:relative;overflow:hidden;background:var(--side-bg);color:#dce9e2;padding:40px 48px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}.auth-art:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(600px 380px at 85% 10%,color-mix(in srgb,var(--side-mark) 24%,transparent),transparent 70%),radial-gradient(500px 360px at 0% 100%,color-mix(in srgb,var(--gold) 18%,transparent),transparent 70%)}.auth-art>*{position:relative}.auth-art h2{color:var(--side-ink);font-size:clamp(1.6rem,2.6vw,2.3rem);font-weight:800;letter-spacing:-.02em;max-width:18ch;margin:0 0 14px}.auth-art p{color:var(--side-muted);max-width:46ch}.auth-points{list-style:none;padding:0;margin:0;display:grid;gap:12px}.auth-points li{display:flex;gap:10px;align-items:center;color:var(--side-fg)}.auth-points .icon{color:var(--side-mark)}.auth-panel{display:flex;align-items:center;justify-content:center;padding:40px max(20px,env(safe-area-inset-left,0px));background:var(--bg)}.auth-box{width:min(420px,100%);display:flex;flex-direction:column;gap:22px}.auth-box h1{font-size:1.8rem}.demo-list{display:grid;gap:8px}.demo-btn{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;cursor:pointer;font:inherit;color:inherit;transition:border-color .12s}.demo-btn:hover,.demo-btn.on{border-color:var(--accent)}.demo-btn .avatar{background:var(--accent-soft);color:var(--accent);width:30px;height:30px;font-size:.8rem}.demo-btn strong{display:block;font-size:.95rem}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.86rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.center-pad{padding:60px;text-align:center}.landing{background:var(--bg);color:var(--fg)}.wrap{width:100%;max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}.lnav{position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--line);transition:box-shadow .2s}.lnav.scrolled{box-shadow:var(--shadow)}.lnav .wrap{max-width:1320px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;height:68px}.lnav-links{display:flex;gap:4px;justify-self:center}.lnav-links a{color:var(--fg-2);font-weight:500;font-size:1rem;padding:8px 14px;border-radius:8px;transition:background .12s,color .12s}.lnav-links a:hover{color:var(--fg);background:var(--bg-sunken);text-decoration:none}.lnav-cta{justify-self:end;display:flex;gap:8px;align-items:center}.lnav-login{color:var(--fg-2);font-weight:600;font-size:1rem;padding:8px 12px}.lnav-login:hover{color:var(--fg);text-decoration:none}.hero{position:relative;overflow:hidden;padding:80px 0 48px}.hero .wrap,.logos .wrap{max-width:1320px}.hero:before{content:"";position:absolute;inset:-20% -10% auto;height:620px;background:radial-gradient(700px 360px at 18% 20%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%),radial-gradient(600px 320px at 90% 0%,color-mix(in srgb,var(--gold) 14%,transparent),transparent 70%);pointer-events:none}.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center}.hero h1{font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:800;letter-spacing:-.035em;line-height:1.05}.hero h1 em{font-style:normal;color:var(--accent)}.hero-lede{font-size:1.2rem;color:var(--fg-2);max-width:52ch;margin:18px 0 26px}.hero-cta{display:flex;gap:10px;flex-wrap:wrap}.hero-meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;color:var(--muted);font-size:.9rem}.hero-meta span{display:inline-flex;gap:7px;align-items:center}.hero-meta .icon{color:var(--accent)}.mock{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden}.mock-bar{display:flex;gap:6px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--surface-2)}.mock-bar i{width:9px;height:9px;border-radius:50%;background:var(--line-strong)}.mock-bar span{margin-left:10px;font:500 .8rem var(--body);color:var(--muted)}.mock-body{padding:18px;display:grid;gap:14px}.mock-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mock-tile{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.mock-tile b{display:block;font:800 1.3rem var(--display);letter-spacing:-.02em}.mock-tile small{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.mock-chart{border:1px solid var(--line);border-radius:10px;padding:12px}.mock-chart svg{width:100%;height:auto;display:block}.mock-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;font-size:.9rem}.mock-row .pill{margin-left:auto}.logos{padding:26px 0 8px}.logos .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 34px;color:var(--muted);font:600 .9rem var(--display)}.logos small{font:500 .86rem var(--body);text-transform:uppercase;letter-spacing:.1em}.section{padding:84px 0}.section.alt{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{max-width:680px;margin-bottom:40px}.section-head h2{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800;letter-spacing:-.025em;margin:10px 0 12px}.section-head p{color:var(--fg-2);font-size:1.12rem}.problem-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.problem{padding:22px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}.problem b{display:block;font:800 2rem var(--display);color:var(--gold);letter-spacing:-.02em;margin-bottom:4px}.problem p{color:var(--fg-2);margin:0}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.feature{padding:24px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;gap:10px;transition:border-color .15s,transform .15s}.feature:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));transform:translateY(-2px)}.feature-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.feature h3{margin:4px 0 0;font-size:1.15rem}.feature p{color:var(--fg-2);margin:0}.feature ul{margin:2px 0 0;padding:0;list-style:none;display:grid;gap:5px;font-size:.95rem;color:var(--muted)}.feature li{display:flex;gap:7px;align-items:flex-start}.feature li .icon{color:var(--accent);margin-top:3px}.chain{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;position:relative}.chain-step{padding:0 12px;text-align:center;position:relative}.chain-step:after{content:"";position:absolute;top:27px;left:calc(50% + 34px);right:calc(-50% + 34px);height:2px;background:repeating-linear-gradient(90deg,var(--line-strong) 0 6px,transparent 6px 12px)}.chain-step:last-child:after{display:none}.chain-node{width:56px;height:56px;margin:0 auto 14px;border-radius:16px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);color:var(--accent);box-shadow:var(--shadow-sm)}.chain-step h3{margin:0 0 6px;font-size:.98rem}.chain-step p{color:var(--muted);font-size:.95rem;margin:0}.arch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.arch-col{border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:var(--bg)}.arch-col h3{margin:0 0 12px;display:flex;gap:8px;align-items:center;font-size:1rem}.arch-col h3 .icon{color:var(--accent)}.arch-col ul{margin:0;padding:0;list-style:none;display:grid;gap:7px;font-size:.95rem;color:var(--fg-2)}.arch-col li{padding:7px 10px;border-radius:8px;background:var(--surface);border:1px solid var(--line)}.stack{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.stack span{font:500 .9rem var(--body);padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--fg-2)}.roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.role{padding:20px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}.role h3{margin:0 0 6px}.role p{color:var(--fg-2);margin:0;font-size:1rem}.cta-band{padding:72px 0}.cta-box{border-radius:20px;padding:48px;background:var(--side-bg);color:#dce9e2;position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.cta-box:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(500px 260px at 90% 0%,color-mix(in srgb,var(--side-mark) 28%,transparent),transparent 70%)}.cta-box>*{position:relative}.cta-box h2{color:var(--side-ink);font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:800;letter-spacing:-.02em;margin:0 0 8px}.cta-box p{color:var(--side-muted);margin:0;max-width:52ch}.lfoot{border-top:1px solid var(--line);padding:28px 0 40px;color:var(--muted);font-size:.9rem}.lfoot .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.reveal-on .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal-on .reveal.in{opacity:1;transform:none}.showcase{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:32px;align-items:center}.sc-tabs{display:flex;flex-direction:column;gap:8px}.sc-tab{position:relative;overflow:hidden;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;text-align:left;padding:16px 18px;border-radius:14px;border:1px solid transparent;background:transparent;cursor:pointer;font:inherit;color:var(--fg);transition:background .2s,border-color .2s,box-shadow .2s}.sc-tab:hover{background:var(--surface)}.sc-tab.on{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}.sc-tab b{font:700 1.1rem var(--display);display:block}.sc-tab-text{display:block;color:var(--muted);font-size:.95rem;margin-top:2px}.sc-tab.on .sc-tab-text{color:var(--fg-2)}.sc-tab-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--bg-sunken);color:var(--muted);transition:all .2s}.sc-tab.on .sc-tab-icon{background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 35%,transparent)}.sc-progress{position:absolute;left:0;bottom:0;height:3px;background:var(--accent);animation:sc-progress 8s linear forwards}@keyframes sc-progress{0%{width:0}to{width:100%}}.sc-stage{position:relative}.sc-stage:before{content:"";position:absolute;top:-30px;right:-20px;bottom:-30px;left:-20px;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 16%,transparent),transparent);z-index:0}.sc-window{position:relative;z-index:1;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden}.sc-swap{animation:sc-in .45s ease both}@keyframes sc-in{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}.sc-panel{padding:20px;display:grid;gap:14px;min-height:380px;align-content:start}.sc-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sc-tile{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;background:var(--surface-2)}.sc-tile-top{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted);font-weight:600}.sc-tile b{font:800 1.45rem var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.sc-tile small{color:var(--muted);font-size:.75rem}.sc-flash{animation:sc-flash .6s ease}@keyframes sc-flash{0%{color:var(--accent)}}.sc-chart{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface-2)}.sc-chart svg{width:100%;height:110px;display:block;overflow:visible}.sc-chart-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--fg-2);margin-bottom:8px;flex-wrap:wrap}.sc-line{fill:none;stroke:var(--accent);stroke-width:2.4;vector-effect:non-scaling-stroke}.sc-area{fill:color-mix(in srgb,var(--accent) 14%,transparent)}.sc-thresh{stroke:var(--crit);stroke-dasharray:5 4;stroke-width:1.2;vector-effect:non-scaling-stroke}.sc-fc{fill:none;stroke:var(--gold);stroke-width:2.4;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}.sc-fc-dot{fill:var(--gold);opacity:0;animation:sc-pop .3s ease forwards}.sc-line.draw{stroke-dasharray:1000;stroke-dashoffset:1000;animation:sc-draw 1.2s ease forwards}.sc-fc.draw{opacity:0;animation:sc-pop .5s ease 1s forwards}@keyframes sc-draw{to{stroke-dashoffset:0}}@keyframes sc-pop{to{opacity:1}}.sc-legend{display:flex;gap:16px;font-size:.8rem;color:var(--muted);margin-top:6px;flex-wrap:wrap}.sc-legend i{display:inline-block;width:14px;height:3px;border-radius:2px;vertical-align:middle;margin-right:6px}.l-hist{background:var(--accent)}.l-fc{background:var(--gold)}.sc-mini-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sc-mini{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.sc-mini small{color:var(--muted);font-size:.75rem;font-weight:600}.sc-mini b{font:800 1.1rem var(--display)}.sc-valve{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.sc-valve-state{display:flex;align-items:center;gap:8px;font:700 1.1rem var(--display);margin-top:2px}.sc-valve-dot{width:12px;height:12px;border-radius:50%;background:var(--line-strong);transition:background .3s,box-shadow .3s}.sc-valve-dot.on{background:var(--ok);box-shadow:0 0 0 5px color-mix(in srgb,var(--ok) 22%,transparent)}.sc-moist{text-align:right}.sc-moist b{display:block;font:800 1.5rem var(--display);transition:color .3s}.sc-moist b.crit{color:var(--crit)}.sc-moist b.ok{color:var(--ok)}.sc-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}.sc-step{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);color:var(--muted);opacity:.45;transform:translate(-4px);transition:all .35s ease;font-size:.95rem}.sc-step.done{opacity:1;transform:none;color:var(--fg);background:var(--surface)}.sc-step-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--bg-sunken);flex:none}.sc-step.done.tone-warning .sc-step-icon{background:var(--warn-soft);color:var(--warn)}.sc-step.done.tone-info .sc-step-icon{background:var(--info-soft);color:var(--info)}.sc-step.done.tone-ok .sc-step-icon{background:var(--ok-soft);color:var(--ok)}.sc-trace{grid-template-columns:auto 1fr;gap:22px;align-items:start}.sc-qr{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#444}.sc-qr small{font-size:.75rem}.sc-trace-body{display:flex;flex-direction:column;gap:8px;min-width:0}.sc-trace-body>b{font:800 1.25rem var(--display)}.sc-verified{display:inline-flex;gap:6px;align-items:center;width:fit-content;font-size:.82rem;font-weight:600;color:var(--ok);background:var(--ok-soft);padding:4px 10px;border-radius:999px}.sc-timeline{list-style:none;margin:6px 0 0;padding:0;display:grid}.sc-timeline li{display:grid;grid-template-columns:18px 1fr;gap:10px;padding-bottom:14px;position:relative;opacity:0;animation:sc-rise .45s ease forwards}.sc-timeline li:before{content:"";position:absolute;left:5px;top:14px;bottom:0;width:2px;background:var(--line-strong)}.sc-timeline li:last-child:before{display:none}.sc-tl-dot{width:12px;height:12px;margin-top:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}@keyframes sc-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sc-grant{border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:14px;background:var(--surface-2)}.sc-grant-orgs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted)}.sc-org{font:700 .95rem var(--display);color:var(--fg);padding:6px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}.sc-grant-scopes{display:flex;gap:8px;flex-wrap:wrap}.sc-chip{font-size:.82rem;font-weight:600;padding:5px 12px;border-radius:999px;border:1px dashed var(--line-strong);color:var(--muted)}.sc-chip.on{border-style:solid;border-color:transparent;background:var(--accent-soft);color:var(--accent)}.sc-grant-foot{display:flex;justify-content:space-between;align-items:center}.sc-revoke{font-size:.85rem;font-weight:600;padding:6px 14px;border-radius:8px;border:1px solid var(--line-strong);transition:all .2s}.sc-revoke.pressed{background:var(--crit);border-color:var(--crit);color:#fff;transform:scale(.96)}.sc-log{display:grid;gap:8px}.sc-log small{font-weight:600}.sc-log-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 12px;border-radius:10px;border:1px solid var(--line);font-size:.9rem;opacity:0;animation:sc-rise .4s ease forwards}.sc-log-row .avatar{width:28px;height:28px;font-size:.75rem;background:var(--info-soft);color:var(--info)}.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.bento-item{grid-column:span 2;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;background:var(--bg);overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}.bento-item:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:var(--shadow);transform:translateY(-2px)}.bento-item.wide{grid-column:span 3}.bento-item.full{grid-column:span 6;flex-direction:row;align-items:stretch}.bento-item.full .bento-art{flex:1.1;border-bottom:0;border-right:1px solid var(--line)}.bento-item.full .bento-copy{flex:1;align-self:center}.bento-art{min-height:190px;display:grid;place-items:center;padding:22px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 120%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 70%),var(--surface-2)}.bento-copy{padding:20px 22px 24px}.bento-copy h3{margin:0 0 6px;font-size:1.15rem}.bento-copy p{margin:0;color:var(--fg-2)}.bn-buffer{width:100%;max-width:420px;display:grid;gap:10px}.bn-lane{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:center}.bn-label{font-size:.78rem;font-weight:700;color:var(--muted)}.bn-dots{display:flex;gap:6px}.bn-dots i{width:14px;height:14px;border-radius:4px;background:var(--accent);opacity:.25;animation:bn-blink 3s ease-in-out infinite}@keyframes bn-blink{0%,to{opacity:.25}30%{opacity:1}}.bn-gw{display:flex;align-items:center;gap:8px;justify-self:center;font-size:.82rem;font-weight:600;padding:7px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}.bn-queue{display:inline-flex;gap:3px}.bn-queue i{width:8px;height:16px;border-radius:2px;background:var(--gold);animation:bn-fill 3s ease-in-out infinite}.bn-queue i:nth-child(2){animation-delay:.2s}.bn-queue i:nth-child(3){animation-delay:.4s}.bn-queue i:nth-child(4){animation-delay:.6s}@keyframes bn-fill{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}.bn-net{display:flex;align-items:center;gap:6px}.bn-ok{height:6px;flex:1;border-radius:3px;background:var(--accent)}.bn-down{font-size:.72rem;font-weight:700;color:var(--crit);padding:2px 8px;border:1px dashed var(--crit);border-radius:999px;white-space:nowrap}.bn-herd{width:100%;max-width:380px;display:grid;gap:8px}.bn-cow{display:grid;grid-template-columns:30px 70px 1fr 54px;gap:10px;align-items:center;padding:8px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-size:.88rem}.bn-cow .avatar{width:28px;height:28px;font-size:.75rem;background:var(--accent-soft);color:var(--accent)}.bn-cow-name{font-weight:700}.bn-bar{height:8px;border-radius:4px;background:var(--bg-sunken);overflow:hidden}.bn-bar i{display:block;height:100%;border-radius:4px;background:var(--ok);transform-origin:left;animation:bn-grow 1.4s ease both}.bn-cow.crit{border-color:color-mix(in srgb,var(--crit) 40%,var(--line));background:var(--crit-soft)}.bn-cow.crit .bn-bar i{background:var(--crit)}.bn-cow.crit .avatar{background:var(--crit);color:#fff}.bn-val{font:600 .8rem var(--body);text-align:right}@keyframes bn-grow{0%{transform:scaleX(0)}}.bn-ring{display:flex;align-items:center;gap:14px}.bn-ring b{display:block;font:800 1.9rem var(--display);letter-spacing:-.02em}.bn-ring small{color:var(--muted);font-weight:600}.bn-ring svg{transform:rotate(-90deg)}.bn-ring-bg{fill:none;stroke:var(--bg-sunken);stroke-width:9}.bn-ring-fg{fill:none;stroke:var(--accent);stroke-width:9;stroke-linecap:round;stroke-dashoffset:var(--off);animation:bn-ring 1.6s ease both}@keyframes bn-ring{0%{stroke-dashoffset:var(--full)}}.bn-radar{position:relative;width:150px;height:150px}.bn-radar .r{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;border-radius:50%;border:1.5px solid var(--accent);opacity:0;animation:bn-wave 3s ease-out infinite}.bn-radar .r2{animation-delay:1s}.bn-radar .r3{animation-delay:2s}@keyframes bn-wave{0%{width:20px;height:20px;opacity:.8}to{width:150px;height:150px;opacity:0}}.bn-gw-dot{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow)}.bn-radar .s{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}.bn-radar .s1{top:14px;left:30px}.bn-radar .s2{top:28px;right:14px}.bn-radar .s3{bottom:20px;left:16px}.bn-radar .s4{bottom:12px;right:40px}.bn-order{width:100%;max-width:280px;display:grid;gap:14px;padding:14px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}.bn-order-head{display:flex;justify-content:space-between;font-size:.9rem}.bn-order-head span{font-weight:700;color:var(--accent)}.bn-track{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;font-size:.7rem;color:var(--muted)}.bn-track-step{display:flex;flex-direction:column;gap:6px;animation:bn-step 2.8s ease both}.bn-track-step i{height:5px;border-radius:3px;background:var(--line-strong);animation:bn-stepbar 2.8s ease both;animation-delay:inherit}@keyframes bn-step{0%{color:var(--muted)}to{color:var(--fg)}}@keyframes bn-stepbar{0%{background:var(--line-strong)}to{background:var(--accent)}}.bn-report{width:100%;max-width:420px;display:grid;gap:6px}.bn-report-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px;padding:9px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-size:.88rem}.bn-report-row span:first-child{font-weight:700}.bn-csv{justify-self:end;display:inline-flex;gap:6px;align-items:center;font:600 .82rem var(--body);color:var(--accent-ink);background:var(--accent);padding:6px 12px;border-radius:8px;margin-top:4px;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 30%,transparent)}.pipe{display:grid;gap:18px}.pipe-story{display:inline-flex;align-items:center;gap:10px;width:fit-content;font-size:.92rem;color:var(--fg-2);padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);animation:sc-rise .4s ease both}.pipe-story b{color:var(--fg)}.pipe-pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 color-mix(in srgb,var(--accent) 50%,transparent);animation:pipe-pulse 1.6s ease-out infinite}@keyframes pipe-pulse{to{box-shadow:0 0 0 8px transparent}}.pipe-grid{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr) 40px minmax(0,1fr) 40px minmax(0,1fr);align-items:stretch}.pipe-col{border:1px solid var(--line);border-radius:16px;padding:18px;background:var(--surface);transition:border-color .35s,box-shadow .35s,transform .35s}.pipe-col.active{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent),var(--shadow);transform:translateY(-3px)}.pipe-col.passed{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.pipe-col h3{margin:0 0 14px;display:flex;align-items:center;gap:10px;font-size:1.02rem;flex-wrap:wrap}.pipe-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--bg-sunken);color:var(--muted);transition:all .35s}.pipe-col.active .pipe-icon,.pipe-col.passed .pipe-icon{background:var(--accent);color:var(--accent-ink)}.pipe-lock{margin-left:auto;display:inline-flex;gap:4px;align-items:center;font:600 .72rem var(--body);color:var(--ok);background:var(--ok-soft);padding:3px 8px;border-radius:999px}.pipe-col ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}.pipe-col li{padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);font-size:.92rem;color:var(--fg-2);transition:all .35s}.pipe-col li.hit{border-color:var(--accent);background:var(--accent-soft);color:var(--fg);font-weight:600;transform:translate(3px)}.pipe-link{position:relative;align-self:center;height:40px}.pipe-track{position:absolute;left:4px;right:4px;top:50%;height:2px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,var(--line-strong) 0 6px,transparent 6px 11px);transition:background .3s}.pipe-link.lit .pipe-track{background:var(--accent)}.pipe-packet{position:absolute;top:50%;left:0;width:12px;height:12px;margin-top:-6px;border-radius:4px;background:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 70%,transparent);opacity:0}.pipe-link.flowing .pipe-packet{animation:pipe-move .9s ease-in-out forwards}@keyframes pipe-move{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}to{left:calc(100% - 12px);opacity:0}}.roles2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.role2{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden;transition:border-color .35s,box-shadow .35s,transform .35s}.role2.on{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent),var(--shadow);transform:translateY(-4px)}.role2-art{height:150px;display:grid;place-items:center;border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 130%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%),var(--surface-2);filter:saturate(.6);opacity:.8;transition:filter .35s,opacity .35s}.role2.on .role2-art{filter:none;opacity:1}.role2-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1}.role2-body h3{margin:0;font-size:1.15rem}.role2-body p{margin:0;color:var(--fg-2);font-size:.95rem}.role2-access{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.role2-access li{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:600;padding:4px 9px;border-radius:999px}.role2-access li.yes{background:var(--ok-soft);color:var(--ok)}.role2-access li.no{background:var(--bg-sunken);color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}.ra-phone{position:relative;width:150px;height:118px;border-radius:18px 18px 0 0;border:2px solid var(--line-strong);border-bottom:0;background:var(--surface);align-self:end;padding:18px 8px 0;display:grid;gap:6px;align-content:start}.ra-notch{position:absolute;top:6px;left:50%;width:36px;height:5px;margin-left:-18px;border-radius:3px;background:var(--line-strong)}.ra-note{display:flex;gap:5px;align-items:center;font-size:.68rem;font-weight:600;padding:6px 7px;border-radius:8px;background:var(--warn-soft);color:var(--warn);opacity:0;animation:ra-drop .45s ease forwards}.ra-note.ok{background:var(--ok-soft);color:var(--ok)}.ra-note.n1{animation-delay:.2s}.ra-note.n2{animation-delay:1.3s}@keyframes ra-drop{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:none}}.ra-cold{display:flex;align-items:center;gap:14px}.ra-thermo{width:16px;height:90px;border-radius:8px;background:var(--bg-sunken);border:1px solid var(--line);position:relative;overflow:hidden}.ra-thermo i{position:absolute;left:0;right:0;bottom:0;height:38%;border-radius:8px;background:linear-gradient(0deg,var(--info),var(--accent));animation:ra-temp 3.5s ease-in-out infinite}@keyframes ra-temp{0%,to{height:34%}50%{height:46%}}.ra-cold b{display:block;font:800 1.6rem var(--display);letter-spacing:-.02em}.ra-cold small{display:block;color:var(--muted);font-size:.75rem;font-weight:600}.ra-days{display:inline-block;margin-top:6px;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.ra-scan{display:flex;align-items:center;gap:12px}.ra-qr{position:relative;padding:6px;border-radius:10px;background:#fff;border:1px solid var(--line);overflow:hidden}.ra-beam{position:absolute;left:0;right:0;height:3px;top:6px;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:ra-beam 1.8s ease-in-out infinite alternate}@keyframes ra-beam{to{top:calc(100% - 9px)}}.ra-scan-text b{display:block;font:700 .95rem var(--display)}.ra-scan-text small{display:inline-flex;gap:4px;align-items:center;color:var(--ok);font-weight:600;font-size:.75rem}.ra-bars{position:relative;height:96px;width:160px;display:flex;align-items:flex-end;gap:8px;padding-bottom:22px}.ra-bars i{flex:1;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 50%,transparent));transform-origin:bottom;animation:ra-grow .9s ease both}@keyframes ra-grow{0%{transform:scaleY(0)}}.ra-shared{position:absolute;left:0;right:0;bottom:0;display:inline-flex;justify-content:center;gap:4px;align-items:center;font-size:.7rem;font-weight:600;color:var(--muted)}.chain2{position:relative;display:grid;gap:22px;padding-top:46px}.chain2-token:after{content:"";position:absolute;left:50%;bottom:-7px;margin-left:-5px;border:5px solid transparent;border-top-color:var(--gold);border-bottom:0}.chain2-rail{position:absolute;top:74px;left:10%;right:10%;height:3px;border-radius:2px;background:repeating-linear-gradient(90deg,var(--line-strong) 0 7px,transparent 7px 13px)}.chain2-fill{position:absolute;left:0;top:0;bottom:0;border-radius:2px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 70%,var(--gold)));transition:width 1.1s cubic-bezier(.6,0,.3,1)}.chain2-token{position:absolute;top:-62px;width:28px;height:28px;margin:0 0 0 -14px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#fff;box-shadow:0 0 0 5px color-mix(in srgb,var(--gold) 25%,transparent),var(--shadow);transition:left 1.1s cubic-bezier(.6,0,.3,1);z-index:2}.chain2-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;position:relative;z-index:1}.chain2-step{text-align:center;padding:0 8px;display:flex;flex-direction:column;align-items:center}.chain2-node{width:58px;height:58px;margin-bottom:14px;border-radius:17px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);color:var(--muted);box-shadow:var(--shadow-sm);transition:all .45s ease}.chain2-step.passed .chain2-node{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.chain2-step.active .chain2-node{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);transform:scale(1.12);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 16%,transparent),var(--shadow)}.chain2-step h3{margin:0 0 6px;font-size:1.02rem;transition:color .3s}.chain2-step p{margin:0;color:var(--muted);font-size:.9rem}.chain2-step.active p,.chain2-step.passed p{color:var(--fg-2)}.chain2-tag{margin-top:12px;font:600 .78rem var(--body);padding:4px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);opacity:0;transform:translateY(6px) scale(.95);transition:opacity .4s ease,transform .4s ease}.chain2-tag.show{opacity:1;transform:none}.chain2-tag.final{background:var(--gold-soft);color:var(--gold)}.chain2-done{justify-self:center;display:inline-flex;align-items:center;gap:8px;font-size:.92rem;font-weight:600;color:var(--ok);background:var(--ok-soft);padding:8px 16px;border-radius:999px;opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease}.chain2-done.show{opacity:1;transform:none}.sc-svg{width:100%;height:auto;display:block;overflow:visible}.sc-chart svg.sc-svg{height:auto}.sc-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:2 4}.sc-axis{font:500 9px var(--body);fill:var(--muted)}.sc-thresh-label{font:600 9px var(--body);fill:var(--crit)}.sc-event{stroke:var(--info);stroke-width:1;stroke-dasharray:3 3;opacity:.7}.sc-event-label{font:600 9px var(--body);fill:var(--info)}.sc-today{stroke:var(--fg-2);stroke-width:1;stroke-dasharray:3 3;opacity:.5}.sc-end-label{font:700 10px var(--body);fill:var(--gold)}.sc-band{fill:color-mix(in srgb,var(--gold) 16%,transparent);opacity:0;animation:sc-pop .6s ease .9s forwards}.sc-fade{opacity:0;animation:sc-pop .8s ease .5s forwards}.sc-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2}.sc-pulse{fill:var(--accent);opacity:.25;transform-box:fill-box;transform-origin:center;animation:sc-ping 1.6s ease-out infinite}@keyframes sc-ping{0%{transform:scale(.6);opacity:.45}to{transform:scale(1.8);opacity:0}}.sc-line{stroke-linecap:round;stroke-linejoin:round}.bn-ring-fg{animation:none;transition:stroke-dashoffset .45s ease,stroke .4s ease}.bn-ring-fg.warn{stroke:var(--warn)}.bn-ring-fg.crit{stroke:var(--crit)}.bn-ring-text{display:flex;flex-direction:column;align-items:flex-start}.bn-ring-text b{font-variant-numeric:tabular-nums}.bn-temp{margin-top:6px;display:inline-flex;align-items:center;gap:5px;font-size:.74rem;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--info-soft);color:var(--info);transition:background .3s,color .3s}.bn-temp.hot{background:var(--crit-soft);color:var(--crit)}.bn-order{max-width:300px}.bn-order-head{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.bn-order-head .avatar{width:30px;height:30px;font-size:.72rem;background:var(--info-soft);color:var(--info)}.bn-order-head b{display:block;font-size:.9rem}.bn-order-head small{color:var(--muted);font-size:.72rem}.bn-price{font:800 .95rem var(--display);color:var(--accent)}.bn-track-step,.bn-track-step i{animation:none}.bn-track-step{transition:color .3s}.bn-track-step i{transition:background .3s,box-shadow .3s}.bn-track-step.on{color:var(--fg)}.bn-track-step.on i{background:var(--accent)}.bn-track-step.now i{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.bn-order-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-height:24px}.bn-trace{display:inline-flex;gap:5px;align-items:center;font-size:.72rem;font-weight:600;color:var(--gold);background:var(--gold-soft);padding:3px 9px;border-radius:999px}.bn-pop{animation:sc-rise .35s ease both}.bn-report{position:relative;max-width:440px}.bn-report-head{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px;padding:0 14px 2px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.bn-report-row{opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s;font-variant-numeric:tabular-nums}.bn-report-row.in{opacity:1;transform:none}.bn-export{position:relative;justify-self:end;margin-top:4px}.bn-csv{position:relative;overflow:hidden;margin-top:0;transition:transform .15s;min-width:136px;justify-content:center}.bn-csv.pressed{transform:scale(.94)}.bn-dl{position:absolute;left:0;bottom:0;height:3px;background:#ffffffd9;animation:bn-dl 1.3s linear forwards}@keyframes bn-dl{0%{width:0}to{width:100%}}.bn-cursor{position:absolute;right:18px;bottom:-14px;width:18px;height:18px;pointer-events:none;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 2l15 11-7 1-3 7z' fill='%23111' stroke='%23fff' stroke-width='1.5'/%3E%3C/svg%3E");animation:bn-cursor-in 1.6s ease both}.bn-cursor.click{animation:none;transform:scale(.85)}@keyframes bn-cursor-in{0%{transform:translate(60px,30px);opacity:0}30%{opacity:1}to{transform:none;opacity:1}}.bn-sheet{position:absolute;right:-6px;bottom:-10px;width:250px;border-radius:10px;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:2}.bn-sheet-bar{display:flex;gap:6px;align-items:center;font:600 .7rem var(--body);padding:6px 10px;background:#1d6f42;color:#fff}.bn-sheet-bar i{width:10px;height:10px;border-radius:2px;background:#fff;opacity:.85}.bn-sheet-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr;font-size:.68rem}.bn-sheet-grid span{padding:4px 6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bn-sheet-grid span.col{background:var(--bg-sunken);color:var(--muted);text-align:center;font-weight:600}.bn-sheet-grid span.hdr{font-weight:700}.pipe-grid{grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr) 52px minmax(0,1fr) 52px minmax(0,1fr)}.pipe-col{display:flex;flex-direction:column}.pipe-col.active{transform:none}.pipe-col ul{flex:1;align-content:start}.pipe-icon{background:var(--accent-soft);color:var(--accent)}.pipe-col li{position:relative}.pipe-col li.hit{transform:none;box-shadow:inset 3px 0 0 var(--accent)}.pipe-col:not(.active):not(.passed) li.hit{border-color:var(--line);background:var(--surface-2);color:var(--fg-2);font-weight:400;box-shadow:none}.pipe-link{height:100%;display:flex;align-items:center}.pipe-track{left:6px;right:12px;height:3px;border-radius:2px;background:repeating-linear-gradient(90deg,var(--line-strong) 0 8px,transparent 8px 14px);background-size:28px 3px;animation:pipe-flow 1.2s linear infinite}.pipe-link.lit .pipe-track{background:repeating-linear-gradient(90deg,var(--accent) 0 8px,color-mix(in srgb,var(--accent) 35%,transparent) 8px 14px);background-size:28px 3px}@keyframes pipe-flow{to{background-position:28px 0}}.pipe-arrow{position:absolute;right:4px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-top:3px solid var(--line-strong);border-right:3px solid var(--line-strong);transform:rotate(45deg);border-radius:1px;transition:border-color .3s}.pipe-link.lit .pipe-arrow{border-color:var(--accent)}.pipe-packet{width:14px;height:14px;margin-top:-7px;border-radius:50%}.pipe-col h3{flex-wrap:nowrap;white-space:nowrap;gap:8px}.pipe-lock{font-size:.66rem;padding:2px 6px}.theme-pick{position:relative}.theme-menu{position:absolute;right:0;top:46px;width:270px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:50;display:grid;gap:2px}.theme-menu-title{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:6px 10px 8px}.theme-opt{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;width:100%;text-align:left;padding:8px 10px;border:1px solid transparent;border-radius:10px;background:none;cursor:pointer;font:inherit;color:var(--fg)}.theme-opt:hover{background:var(--surface-2)}.theme-opt.on{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft)}.theme-opt strong{font-size:.92rem}.theme-swatch{position:relative;width:40px;height:30px;border-radius:8px;box-shadow:inset 0 0 0 1px #0000001f;overflow:hidden}.theme-swatch i{position:absolute;left:6px;right:6px;top:6px;height:10px;border-radius:3px}.theme-swatch b{position:absolute;left:6px;bottom:5px;width:14px;height:5px;border-radius:3px}.theme-check{color:var(--accent)}.lnav-cta .theme-menu{top:48px}.landing{background:radial-gradient(color-mix(in srgb,var(--fg) 7%,transparent) 1px,transparent 1.4px) 0 0 / 22px 22px,var(--bg)}.landing .section.alt{background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(transparent,var(--bg));pointer-events:none}.lnav{background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}:root[data-theme=forest] .hero h1,:root[data-theme=harvest] .hero h1,:root[data-theme=forest] .section-head h2,:root[data-theme=harvest] .section-head h2{letter-spacing:-.015em;font-weight:700}:root[data-theme=forest] .hero h1 em{font-style:italic}:root[data-theme=harvest] .hero h1 em{font-style:italic;color:var(--gold)}:root[data-theme=dark] .sc-line,:root[data-theme=dark] .sc-fc{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent) 80%,transparent))}:root[data-theme=dark] .sc-dot,:root[data-theme=dark] .pipe-packet,:root[data-theme=dark] .chain2-token,:root[data-theme=dark] .bn-gw-dot,:root[data-theme=dark] .ra-beam{box-shadow:0 0 14px 2px var(--accent)}:root[data-theme=dark] .chain2-token{background:var(--accent);color:var(--accent-ink)}:root[data-theme=dark] .bn-ring-fg{filter:drop-shadow(0 0 5px var(--accent))}:root[data-theme=dark] .pipe-col.active,:root[data-theme=dark] .role2.on,:root[data-theme=dark] .sc-tab.on .sc-tab-icon{box-shadow:0 0 0 1px var(--accent),0 0 24px color-mix(in srgb,var(--accent) 35%,transparent)}:root[data-theme=dark] .sc-pulse{animation-duration:1.1s}:root[data-theme=dark] .bn-radar .r{border-color:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 60%,transparent);animation-duration:2.2s}:root[data-theme=dark] .hero h1 em{text-shadow:0 0 24px color-mix(in srgb,var(--accent) 45%,transparent)}:root[data-theme=forest] .chain2-fill,:root[data-theme=forest] .chain2-token{transition-duration:1.6s;transition-timing-function:cubic-bezier(.45,0,.2,1)}:root[data-theme=forest] .bn-radar .r{animation-duration:4.5s;border-width:1px}:root[data-theme=forest] .sc-pulse{animation-duration:2.6s}:root[data-theme=forest] .status-on .dot,:root[data-theme=forest] .pipe-pulse{animation-duration:3.4s}:root[data-theme=forest] .reveal-on .reveal{transition-duration:1s;transform:translateY(26px)}:root[data-theme=forest] .reveal-on .reveal.in{transform:none}:root[data-theme=forest] .sc-swap{animation-duration:.8s}:root[data-theme=forest] .card,:root[data-theme=forest] .tile,:root[data-theme=forest] .device-card{border-radius:16px}:root[data-theme=harvest] .pipe-packet,:root[data-theme=harvest] .ra-beam,:root[data-theme=harvest] .sc-tl-dot{background:var(--gold);box-shadow:0 0 0 4px var(--gold-soft)}:root[data-theme=harvest] .chain2-fill{background:linear-gradient(90deg,var(--accent),var(--gold))}:root[data-theme=harvest] .sc-line{stroke-width:3}:root[data-theme=harvest] .bn-pop,:root[data-theme=harvest] .sc-timeline li,:root[data-theme=harvest] .sc-log-row,:root[data-theme=harvest] .ra-note{animation-timing-function:cubic-bezier(.34,1.56,.64,1)}:root[data-theme=harvest] .chain2-token,:root[data-theme=harvest] .chain2-fill{transition-timing-function:cubic-bezier(.34,1.3,.64,1)}:root[data-theme=harvest] .chain2-step.active .chain2-node{transform:scale(1.16) rotate(-3deg)}:root[data-theme=harvest] .bn-radar .s,:root[data-theme=harvest] .bn-queue i{background:var(--gold)}:root[data-theme=harvest] .btn,:root[data-theme=harvest] .chip,:root[data-theme=harvest] input,:root[data-theme=harvest] select{border-radius:999px}:root[data-theme=harvest] .btn-lg{border-radius:999px}:root[data-theme=dark] .landing{background:linear-gradient(color-mix(in srgb,var(--accent) 7%,transparent) 1px,transparent 1px) 0 0 / 40px 40px,linear-gradient(90deg,color-mix(in srgb,var(--accent) 7%,transparent) 1px,transparent 1px) 0 0 / 40px 40px,var(--bg)}:root[data-theme=harvest] .landing{background:repeating-linear-gradient(-55deg,transparent 0 14px,color-mix(in srgb,var(--gold) 8%,transparent) 14px 15px),var(--bg)}:root[data-theme=forest] h3,:root[data-theme=forest] .sc-tab b,:root[data-theme=forest] .brand-name,:root[data-theme=forest] .tile-value,:root[data-theme=forest] .readings dd,:root[data-theme=forest] .sc-tile b,:root[data-theme=forest] .sc-mini b,:root[data-theme=forest] .sc-moist b,:root[data-theme=forest] .sc-valve-state,:root[data-theme=forest] .mock-tile b,:root[data-theme=forest] .bn-ring b,:root[data-theme=forest] .listing-price,:root[data-theme=forest] .ra-cold b,:root[data-theme=forest] .sc-trace-body>b,:root[data-theme=forest] .sc-org,:root[data-theme=forest] .bn-price,:root[data-theme=forest] .problem b,:root[data-theme=forest] .topbar-org,:root[data-theme=forest] .pipe-col h3,:root[data-theme=forest] .chain2-step h3{letter-spacing:-.01em}:root[data-theme=forest] .hero h1,:root[data-theme=forest] .section-head h2,:root[data-theme=forest] .cta-box h2,:root[data-theme=forest] .auth-art h2,:root[data-theme=forest] .page-header h1{font-weight:600;letter-spacing:-.02em}:root[data-theme=forest] .hero h1 em{color:var(--accent)}:root[data-theme=forest] .eyebrow{color:var(--gold)}:root[data-theme=forest] .landing{background:radial-gradient(900px 500px at 12% -5%,rgba(181,220,122,.08),transparent 70%),radial-gradient(color-mix(in srgb,var(--fg) 5%,transparent) 1px,transparent 1.5px) 0 0 / 26px 26px,var(--bg)}:root[data-theme=forest] .hero:before{background:radial-gradient(700px 360px at 18% 20%,rgba(181,220,122,.12),transparent 70%),radial-gradient(600px 320px at 90% 0%,rgba(233,180,92,.08),transparent 70%)}:root[data-theme=forest] .bento-art,:root[data-theme=forest] .role2-art{background:radial-gradient(circle at 50% 130%,rgba(181,220,122,.08),transparent 70%),var(--surface-2)}:root[data-theme=forest] .chain2-token,:root[data-theme=forest] .pipe-packet{background:var(--gold);color:#2a1d06;box-shadow:0 0 0 5px #e9b45c2e}:root[data-theme=forest] .chain2-token:after{border-top-color:var(--gold)}:root[data-theme=forest] .bn-radar .s,:root[data-theme=forest] .bn-queue i{background:var(--gold);box-shadow:0 0 0 3px #e9b45c2e}:root[data-theme=forest] .sc-event,:root[data-theme=forest] .sc-event-label{stroke:var(--gold);fill:var(--gold)}:root[data-theme=forest] .sc-event-label{stroke:none}:root[data-theme=forest] .bn-temp{background:var(--accent-soft);color:var(--accent)}:root[data-theme=forest] .sc-chip.on,:root[data-theme=forest] .chain2-tag{background:var(--accent-soft);color:var(--accent)}@media (max-width: 1000px){.chain2-rail{display:none}.chain2-steps{grid-template-columns:minmax(0,1fr);gap:18px}.chain2-step{display:grid;grid-template-columns:58px 1fr;gap:2px 16px;text-align:left;align-items:start;padding:0}.chain2-node{grid-row:span 3;margin:0}.chain2-tag{justify-self:start;margin-top:6px}.roles2{grid-template-columns:repeat(2,minmax(0,1fr))}.pipe-grid{grid-template-columns:minmax(0,1fr)}.pipe-link{height:30px;width:2px;justify-self:center}.pipe-track{left:50%;right:auto;top:4px;bottom:4px;width:2px;height:auto;transform:translate(-50%);background:repeating-linear-gradient(180deg,var(--line-strong) 0 6px,transparent 6px 11px)}.pipe-link.flowing .pipe-packet{animation:none}.pipe-link{height:30px}.pipe-arrow{display:none}.bn-sheet{position:static;width:100%;margin-top:8px}.showcase{grid-template-columns:minmax(0,1fr)}.sc-tabs{flex-direction:row;overflow-x:auto;padding-bottom:4px}.sc-tab{min-width:220px}.bento-item,.bento-item.wide{grid-column:span 3}.bento-item.full{grid-column:span 6;flex-direction:column}.bento-item.full .bento-art{border-right:0;border-bottom:1px solid var(--line)}.hero .wrap{grid-template-columns:minmax(0,1fr)}.arch{grid-template-columns:repeat(2,minmax(0,1fr))}.chain{grid-template-columns:minmax(0,1fr);gap:22px}.chain-step{display:grid;grid-template-columns:56px 1fr;gap:0 16px;text-align:left;padding:0}.chain-step:after{display:none}.chain-node{margin:0;grid-row:span 2}.auth{grid-template-columns:minmax(0,1fr)}.auth-art{display:none}.ndvi-wrap{grid-template-columns:minmax(0,1fr)}}@media (max-width: 860px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:272px;transform:translate(-100%);transition:transform .22s ease;padding-top:max(18px,env(safe-area-inset-top,0px))}.shell.nav-open .sidebar{transform:none;box-shadow:var(--shadow-lg)}.shell.nav-open .scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#050a0873;z-index:25}.menu-btn{display:inline-grid}.topbar{padding:10px max(16px,env(safe-area-inset-left,0px));top:env(safe-area-inset-top,0px)}.content{padding:20px max(16px,env(safe-area-inset-left,0px)) 56px max(16px,env(safe-area-inset-right,0px))}.lnav-links{display:none}.lnav .wrap{grid-template-columns:1fr auto}.lnav-login{display:none}.alert-list li{display:flex;flex-wrap:wrap;gap:4px 10px}.alert-list li>span:nth-child(3){flex-basis:100%}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{padding:14px}.tile-value{font-size:1.6rem}.mock-tiles{grid-template-columns:repeat(2,1fr)}.bento,.roles2{grid-template-columns:minmax(0,1fr)}.bento-item,.bento-item.wide,.bento-item.full{grid-column:auto}.sc-tab{min-width:190px;grid-template-columns:36px 1fr;padding:12px}.sc-tab-text{display:none}.sc-trace{grid-template-columns:minmax(0,1fr)}.sc-mini-row{grid-template-columns:repeat(2,minmax(0,1fr))}.arch{grid-template-columns:minmax(0,1fr)}.cta-box{padding:32px 24px}.section{padding:60px 0}h1{font-size:1.6rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
