@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html,body{height:100%}img,svg{max-width:100%;display:block}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration:none}}@layer tokens{:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-bg:#22222a;--c-bg-2:#2a2a32;--c-panel:#32323a;--c-panel-2:#3a3a42;--c-line:#dcdce10f;--c-line-2:#dcdce124;--c-line-3:#dcdce147;--c-text:#ececef;--c-text-2:#b0b0b8;--c-muted:#8a8a92;--c-faint:#5a5a62;--c-on:#82c46f;--c-warn:#e0a851;--c-alert:#d36850;--c-brand:#d4923a;--c-cool:#b0b0b8;--c-teal:#5ab7b0;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--gap-1:4px;--gap-2:8px;--gap-3:12px;--gap-4:16px;--gap-5:24px;--gap-6:32px;--gap-7:48px;--gap-8:64px}}@layer base{body{background:var(--c-bg);color:var(--c-text);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;background-image:linear-gradient(90deg,#dcdce10b 1px,#0000 1px),linear-gradient(#dcdce10b 1px,#0000 1px),linear-gradient(90deg,#dcdce105 1px,#0000 1px),linear-gradient(#dcdce105 1px,#0000 1px);background-position:50%;background-size:100px 100px,100px 100px,20px 20px,20px 20px;font-weight:400;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:5;background:radial-gradient(#0000 50%,#00000040 95%,#0006 100%);position:fixed;inset:0}body:after{content:"";pointer-events:none;mix-blend-mode:overlay;opacity:.5;z-index:6;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.85 0 0 0 0 0.85 0 0 0 0 0.85 0 0 0 0.025 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:fixed;inset:0}::selection{color:var(--c-text);background:#d4923a4d}}@layer layout{.status-top,.status-bottom{padding:var(--gap-4) var(--gap-6);z-index:10;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--c-text-2);justify-content:space-between;align-items:center;font-size:11px;display:flex;position:fixed;left:0;right:0}.status-top{border-bottom:1px solid var(--c-line);background:linear-gradient(#22222aeb,#0000);top:0}.status-bottom{border-top:1px solid var(--c-line);background:linear-gradient(#0000,#22222aeb);bottom:0}.status-left,.status-center,.status-right{align-items:center;gap:var(--gap-4);display:inline-flex}@media (max-width:580px){.status-bottom .hide-mobile{display:none}.status-bottom{letter-spacing:.1em;font-size:10px}}.stage{z-index:7;height:100vh;justify-items:center;row-gap:var(--gap-5);height:100dvh;padding:72px var(--gap-6) 64px;grid-template-rows:1fr auto 1fr;grid-template-columns:1fr;display:grid;position:relative;overflow:hidden}.stage>.pitch{pointer-events:none;flex-direction:column;grid-row:1;align-self:end;align-items:center;display:flex}.stage>.terminal{grid-row:2;align-self:center}@media (max-width:780px){.stage{padding:56px var(--gap-5)}}}@layer components{.status-pip{background:var(--c-on);width:8px;height:8px;box-shadow:0 0 8px var(--c-on), 0 0 16px #82c46f80;border-radius:50%;animation:2s ease-in-out infinite pip-pulse}.status-mark{color:var(--c-text);letter-spacing:.18em;font-weight:600}.status-top .status-center{flex:1;justify-content:center}.brand-tag{color:var(--c-brand);font-family:var(--font-mono);letter-spacing:.32em;text-transform:uppercase;font-size:11px;font-weight:500}@media (max-width:780px){.status-top .status-center{display:none}}.footer-link{color:var(--c-muted);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:color .18s var(--ease-out);padding:0;font-size:11px}.footer-link:hover{color:var(--c-brand)}.status-meta{align-items:center;gap:var(--gap-2);display:inline-flex}.meta-label{color:var(--c-muted);letter-spacing:.16em}.meta-value{color:var(--c-text);letter-spacing:.08em;font-weight:500}.meta-dot{color:var(--c-faint);margin:0 2px}#status-state{color:var(--c-on);text-shadow:0 0 8px #82c46f66}.icon-btn{width:36px;height:36px;color:var(--c-text-2);border:1px solid var(--c-line-2);transition:border-color .22s var(--ease-out), color .22s var(--ease-out), background .22s var(--ease-out);background:0 0;border-radius:50%;place-items:center;display:inline-grid}.icon-btn:hover{color:var(--c-brand);border-color:var(--c-brand);background:#d4923a0f}.icon-btn:focus-visible{outline:0;box-shadow:0 0 0 3px #d4923a40}.contact-link{width:26px;height:26px;color:var(--c-text-2);transition:color .18s var(--ease-out), background .18s var(--ease-out);border-radius:50%;place-items:center;display:inline-grid}.contact-link:hover{color:var(--c-brand);background:#d4923a14}.pitch{align-items:center;gap:var(--gap-2);font-family:var(--font-mono);text-align:center;flex-direction:column;max-width:92vw;display:flex}.pitch-eyebrow{color:var(--c-brand);letter-spacing:.32em;text-transform:uppercase;white-space:nowrap;font-size:12px}.pitch-rotator{color:var(--c-text-2);letter-spacing:.04em;min-height:1.4em;margin-top:var(--gap-3);opacity:1;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transition:opacity .8s var(--ease-out);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;overflow:hidden}.plant-hero{aspect-ratio:1600/900;width:min(94vw,1100px);height:auto;max-height:calc(100dvh - 220px)}@media (orientation:portrait) and (max-width:780px){.plant-hero{aspect-ratio:1600/900;transform-origin:50%;width:92vw;max-width:92vw;max-height:none;margin-block:20.125vw;transform:rotate(90deg)}.plant-hero text{transform-box:fill-box;transform-origin:50%;transform:rotate(-90deg)}}.silo{cursor:pointer;transition:filter .18s var(--ease-out);outline:none}.silo:hover,.silo:focus-visible,.silo.active{filter:drop-shadow(0 0 8px #5ab7b059)}.silo-wall{fill:#5ab7b00d;stroke:#dcdce16b;stroke-width:1.4px;transition:fill .22s var(--ease-out), stroke .22s var(--ease-out)}.silo:hover .silo-wall,.silo:focus-visible .silo-wall,.silo.active .silo-wall{fill:#5ab7b024;stroke:var(--c-teal)}.silo-inner{fill:none;stroke:#dcdce12e;stroke-width:.8px;stroke-dasharray:3 2}.aer-dot{fill:#d4923ad9;stroke:#d4923a;stroke-width:.5px}.cable{fill:#5ab7b0;r:5;transition:fill .6s var(--ease-out), r .4s var(--ease-out)}.cable-center{fill:#5ab7b0;r:6;transition:fill .6s var(--ease-out), r .4s var(--ease-out), filter .4s var(--ease-out)}.silo-wall{animation:4.5s ease-in-out infinite silo-breathe}@keyframes silo-breathe{0%,to{stroke-opacity:.42}50%{stroke-opacity:.95}}.silo-id{fill:#dcdce1a6;font-family:var(--font-mono);text-anchor:middle;letter-spacing:.16em;text-transform:uppercase;pointer-events:none;font-size:14px;font-weight:500}.silo-grain{fill:#dcdce173;font-family:var(--font-mono);text-anchor:middle;letter-spacing:.16em;text-transform:uppercase;pointer-events:none;font-size:9px}.weather-spark{fill:none;stroke:#8eb3c86b;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round}.weather-pip{fill:var(--c-on);filter:drop-shadow(0 0 4px #82c46f99);animation:2.5s ease-in-out infinite pip-pulse}.live-label{fill:var(--c-text);font-family:var(--font-mono);text-anchor:middle;letter-spacing:.1em;pointer-events:none;animation:label-life 2.8s var(--ease-out) forwards;text-shadow:0 0 8px #22222ad9;font-size:13px;font-weight:500}.live-label.warm{fill:var(--c-brand)}.live-label.alert{fill:var(--c-alert)}.silo.event-reading .cable-center{animation:1s ease-out reading-flash}.silo.event-aeration .silo-aer-ring circle{animation:.9s ease-in-out 2 aer-pulse}.silo.event-warming .silo-wall{animation:2.8s ease-in-out wall-warm}.silo.event-alert .silo-wall{animation:.55s ease-out 3 wall-alert}.plant-rect{fill:#8eb3c80a;stroke:#8eb3c857;stroke-width:1.2px}.plant-rect.tower{fill:#dcdce10f;stroke:#dcdce166}.plant-rect.dryer{fill:#d4923a0a;stroke:#d4923a5c}.plant-hopper{fill:#d4923a1f;stroke:#d4923a8c;stroke-width:1.1px}.plant-aer{fill:#d4923a4d;stroke:#d4923aa6;stroke-width:.8px}.plant-line{stroke:#dcdce147;stroke-width:1px;fill:none}.plant-line.major{stroke-width:1.5px;stroke:#dcdce15c}.plant-line.dashed{stroke-dasharray:7 5;opacity:.7}.plant-tag{fill:#dcdce173;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;font-size:10px}.hover-hint{font-family:var(--font-mono);color:var(--c-faint);letter-spacing:.2em;text-transform:uppercase;font-size:10px;animation:3s ease-in-out infinite hint-pulse}.fleet-stats{font-family:var(--font-mono);color:var(--c-text-2);letter-spacing:.16em;text-transform:uppercase;text-align:center;margin-top:var(--gap-2);font-size:11px}.fs-tag{color:var(--c-brand);letter-spacing:.22em}.fs-region{color:var(--c-text-2);letter-spacing:.18em}.fs-num{color:var(--c-text);font-weight:600}.fs-sep{color:var(--c-faint);margin:0 var(--gap-2)}@media (max-width:600px){.fleet-stats{letter-spacing:.14em;font-size:10px;line-height:1.8}.fs-sep{margin:0 6px}}.silo-preview{z-index:20;border:1px solid var(--c-line-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:min(92vw,360px);color:var(--c-text);opacity:0;transition:transform .36s var(--ease-out), opacity .36s var(--ease-out);background:#25252af5;position:fixed;top:78px;right:16px;transform:translate(calc(100% + 32px));box-shadow:0 24px 60px -16px #0000008c,0 0 0 1px #d4923a2e}.silo-preview.open{opacity:1;transform:translate(0)}.silo-preview[hidden]{display:block}.preview-header{align-items:center;gap:var(--gap-3);padding:var(--gap-3) var(--gap-4);border-bottom:1px dashed var(--c-line-2);display:flex}.preview-id{font-family:var(--font-mono);color:var(--c-brand);letter-spacing:.22em;flex:none;font-size:13px;font-weight:600}.preview-meta{text-align:right;font-family:var(--font-mono);color:var(--c-warn);letter-spacing:.2em;flex:1;font-size:10px}.preview-close{width:26px;height:26px;color:var(--c-muted);border-radius:50%;place-items:center;transition:color .15s,background .15s;display:inline-grid}.preview-close:hover{color:var(--c-text);background:#ffffff0a}.preview-body{gap:var(--gap-3);padding:var(--gap-4);grid-template-columns:1fr 1fr;display:grid}.preview-sensors{aspect-ratio:1;width:100%;height:auto}.preview-stats{gap:var(--gap-2);font-family:var(--font-mono);grid-template-columns:1fr;font-size:11px;display:grid}.preview-stats div{justify-content:space-between;gap:var(--gap-2);border-bottom:1px dashed var(--c-line);padding-bottom:4px;display:flex}.preview-stats dt{color:var(--c-muted);letter-spacing:.1em;text-transform:uppercase}.preview-stats dd{color:var(--c-text);letter-spacing:.06em;font-weight:500}.preview-footer{padding:var(--gap-3) var(--gap-4);border-top:1px dashed var(--c-line-2);text-align:center}.preview-cable{fill:var(--temp,var(--c-cool));filter:drop-shadow(0 0 4px var(--temp,var(--c-cool)))}.preview-link{stroke:#dcdce14d;stroke-width:.8px;stroke-dasharray:2 2}.fab{z-index:15;align-items:center;gap:var(--gap-2);background:var(--c-brand);color:#1a1408;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;transition:transform .22s var(--ease-out), box-shadow .22s var(--ease-out), background .22s var(--ease-out);border-radius:26px;padding:11px 18px;font-size:12px;font-weight:600;animation:5s ease-in-out 1.5s 2 fab-attention;display:inline-flex;position:fixed;bottom:64px;right:24px;box-shadow:0 8px 20px -4px #d4923a73,0 4px 8px -2px #0000004d}.fab:hover{background:#e5a04a;transform:translateY(-2px);box-shadow:0 12px 28px -4px #d4923a8c,0 6px 12px -2px #00000059}.fab:active{transform:translateY(0)}@media (max-width:600px){.fab{border-radius:50%;padding:12px;bottom:56px;right:16px}.fab-label{display:none}}.about-dialog{border:1px solid var(--c-line-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--c-text);width:min(94vw,560px);height:-moz-fit-content;height:fit-content;max-height:94vh;padding:var(--gap-4) var(--gap-6) var(--gap-4);scrollbar-width:none;-ms-overflow-style:none;animation:dlg-in .32s var(--ease-out);background:#32323afa;margin:auto;inset:0;overflow:hidden auto;box-shadow:0 24px 60px -16px #0009,0 4px 12px -4px #0006}.about-dialog::-webkit-scrollbar{display:none}.about-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080}.about-header{margin-bottom:var(--gap-3);text-align:center}.about-eyebrow{font-family:var(--font-mono);color:var(--c-brand);letter-spacing:.32em;text-transform:uppercase;margin-bottom:var(--gap-2);font-size:11px}.about-title{font-family:var(--font-mono);letter-spacing:-.005em;color:var(--c-text);font-size:18px;font-weight:500;line-height:1.2}.about-since{font-family:var(--font-mono);color:var(--c-muted);letter-spacing:.1em;text-transform:lowercase;margin-top:6px;font-size:12px}.about-body{gap:var(--gap-3);font-family:var(--font-mono);color:var(--c-text-2);flex-direction:column;font-size:12px;line-height:1.45;display:flex}.about-list{gap:var(--gap-4);grid-template-columns:1fr 1fr;display:grid}.about-list div{padding-top:var(--gap-2);border-top:1px dashed var(--c-line-2)}.about-list dt{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--c-brand);margin-bottom:4px;font-size:11px}.about-list dd{color:var(--c-text-2);font-size:11px;line-height:1.4}@media (max-width:540px){.about-list{grid-template-columns:1fr}}.about-cta{text-align:center;color:var(--c-text);padding:var(--gap-3) 0;border-top:1px dashed var(--c-line-2);border-bottom:1px dashed var(--c-line-2);font-size:14px;font-style:italic}.about-contacts{gap:var(--gap-4);justify-content:center;display:flex}.about-contact{align-items:center;gap:var(--gap-2);border:1px solid var(--c-line-2);color:var(--c-text);font-family:var(--font-mono);letter-spacing:.14em;transition:border-color .18s var(--ease-out), color .18s var(--ease-out), background .18s var(--ease-out);border-radius:4px;padding:8px 16px;font-size:12px;display:inline-flex}.about-contact:hover{color:var(--c-brand);border-color:var(--c-brand);background:#d4923a0f}.auth-dialog{border:1px solid var(--c-line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--c-text);width:min(92vw,420px);height:-moz-fit-content;height:fit-content;padding:var(--gap-7) var(--gap-6) var(--gap-5);animation:dlg-in .32s var(--ease-out);background:#32323af5;margin:auto;inset:0;box-shadow:0 24px 60px -16px #0000008c,0 4px 12px -4px #00000059}.auth-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006}.auth-dialog[open]{gap:var(--gap-4);flex-direction:column;display:flex}.dlg-bracket{pointer-events:none;width:16px;height:16px;position:absolute}.dlg-bracket-tl{border-top:1px solid var(--c-brand);border-left:1px solid var(--c-brand);top:-1px;left:-1px}.dlg-bracket-tr{border-top:1px solid var(--c-brand);border-right:1px solid var(--c-brand);top:-1px;right:-1px}.dlg-bracket-bl{border-bottom:1px solid var(--c-brand);border-left:1px solid var(--c-brand);bottom:-1px;left:-1px}.dlg-bracket-br{border-bottom:1px solid var(--c-brand);border-right:1px solid var(--c-brand);bottom:-1px;right:-1px}.dlg-close{width:28px;height:28px;color:var(--c-muted);border-radius:7px;place-items:center;transition:color .15s,background .15s;display:inline-grid;position:absolute;top:10px;right:10px}.dlg-close:hover{color:var(--c-text);background:#ffffff0a}.terminal{width:100%;max-width:380px;padding:var(--gap-6) var(--gap-6) var(--gap-5);border:1px solid var(--c-line-2);-webkit-backdrop-filter:blur(4px)saturate(120%);color:var(--c-text);animation:dlg-in .32s var(--ease-out);background:#32323a0f;border-radius:14px;position:relative;box-shadow:inset 0 1px #ffffff0a,0 20px 50px -20px #0006,0 0 60px -20px #d4923a2e}.terminal-header{margin-bottom:var(--gap-5)}.terminal-title{font-family:var(--font-mono);color:var(--c-text-2);letter-spacing:.12em;text-transform:lowercase;margin-bottom:2px;font-size:14px;font-weight:400}.terminal-subtitle{font-family:var(--font-mono);color:var(--c-muted);letter-spacing:.06em;font-size:12px}.terminal-form{gap:var(--gap-4);flex-direction:column;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-family:var(--font-mono);color:var(--c-muted);letter-spacing:.08em;text-transform:lowercase;font-size:11px}.field input{border:1px solid var(--c-line-2);width:100%;color:var(--c-text);font-family:var(--font-mono);transition:border-color .18s var(--ease-out), background .18s var(--ease-out), box-shadow .18s var(--ease-out);background:#1414168c;border-radius:8px;padding:10px 12px;font-size:14px}.field input:hover{border-color:var(--c-line-3)}.field input:focus{background:#141416d9;border-color:#d4923a8c;outline:0;box-shadow:0 0 0 3px #d4923a1f}:-webkit-any(.field input:-webkit-autofill,.field input:-webkit-autofill){-webkit-text-fill-color:var(--c-text);box-shadow:inset 0 0 0 1000px #141416}:is(.field input:autofill,.field input:autofill){-webkit-text-fill-color:var(--c-text);box-shadow:inset 0 0 0 1000px #141416}.terminal-submit{margin-top:var(--gap-2);background:var(--c-brand);color:#1a1408;font-family:var(--font-mono);letter-spacing:.04em;text-transform:lowercase;justify-content:space-between;align-items:center;gap:var(--gap-3);transition:transform .18s var(--ease-out), background .18s var(--ease-out), box-shadow .22s var(--ease-out);border-radius:8px;padding:11px 14px;font-size:14px;font-weight:500;display:inline-flex}.terminal-submit:hover:not(:disabled){box-shadow:0 0 0 1px var(--c-brand), 0 0 22px #d4923a59;background:#e5a04a}.terminal-submit:active{transform:translateY(1px)}.terminal-submit:disabled{opacity:.6;cursor:not-allowed}.terminal-submit-arrow{color:#1a14088c;font-family:var(--font-mono)}.auth-error{min-height:16px;margin-top:var(--gap-2);font-family:var(--font-mono);color:var(--c-alert);letter-spacing:.02em;font-size:12px}}@layer boot{.status-top{animation:bar-in .55s var(--ease-out) both}.status-bottom{animation:bar-in .55s var(--ease-out) both;animation-delay:.2s}.pitch{animation:fade-up .7s var(--ease-out) both;animation-delay:.3s}.plant-hero{animation:fade-up .9s var(--ease-out) both;animation-delay:.5s}.hover-hint{animation:fade-in .5s var(--ease-out) both;animation-delay:1.1s}}@keyframes pip-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes bar-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;filter:blur(4px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes hint-pulse{0%,to{opacity:.35}50%{opacity:.75}}@keyframes dlg-in{0%{opacity:0;filter:blur(6px);transform:translateY(8px)scale(.97)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes fab-attention{0%,90%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes fab-menu-in{0%{opacity:0;transform:scale(.94)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes label-life{0%{opacity:0;transform:translateY(8px)}18%{opacity:1;transform:translateY(0)}82%{opacity:1;transform:translateY(-14px)}to{opacity:0;transform:translateY(-22px)}}@keyframes reading-flash{0%{filter:drop-shadow(0 0 #0000)}20%{filter:drop-shadow(0 0 12px #d4923ae6)}to{filter:drop-shadow(0 0 #0000)}}@keyframes aer-pulse{0%,to{opacity:1;filter:drop-shadow(0 0 #0000)}50%{opacity:1;filter:drop-shadow(0 0 4px #d4923ae6)}}@keyframes wall-warm{0%,to{fill:#5ab7b00d;stroke:#dcdce16b}50%{fill:#d4923a1a;stroke:#d4923a8c}}@keyframes wall-alert{0%,to{fill:#5ab7b00d;stroke:#dcdce16b}50%{fill:#d368502e;stroke:#d36850d9}}@media (prefers-reduced-motion:reduce){.status-top,.status-bottom,.pitch,.plant-hero,.hover-hint,.status-pip,.silo-preview{transition:none!important;animation:none!important}}
