:root{color:#173a62;background:#eefaf8;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #173a62;--navy-deep: #102f50;--teal: #49a99d;--teal-dark: #378f85;--mint: #dff6f0;--mint-strong: #bdeadd;--line: rgba(42, 126, 122, .18);--muted: #7188a0;--card: rgba(255, 255, 255, .93);--shadow: 0 20px 50px rgba(29, 77, 92, .11)}*{box-sizing:border-box}html{min-width:320px;background:#eefaf8}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid rgba(73,169,157,.34);outline-offset:3px}svg{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-shell{position:relative;min-height:100vh;overflow:hidden;background:radial-gradient(circle at 8% 17%,rgba(152,234,210,.36),transparent 26rem),radial-gradient(circle at 91% 13%,rgba(154,229,211,.39),transparent 26rem),radial-gradient(circle at 74% 80%,rgba(173,238,220,.23),transparent 24rem),linear-gradient(135deg,#f2fbfa,#effaf8 48%,#e5f8f3)}.app-shell:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(rgba(54,144,132,.07) .6px,transparent .6px);background-size:14px 14px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.35),transparent 74%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.35),transparent 74%)}.site-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;width:min(100% - 5rem,1380px);min-height:82px;margin:0 auto}.brand{display:inline-flex;align-items:center;gap:.72rem;padding:0;border:0;background:transparent;cursor:pointer;text-align:left}.brand img{width:40px;height:40px;object-fit:contain}.brand span{display:grid}.brand strong{color:var(--navy);font-size:1.03rem;line-height:1.1;letter-spacing:.025em}.brand small{margin-top:.18rem;color:var(--teal-dark);font-size:.72rem}.header-actions{display:flex;align-items:center;gap:.7rem}.connection-chip,.language-button{display:inline-flex;align-items:center;min-height:40px;border:1px solid var(--line);border-radius:999px;background:#ffffff9e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.connection-chip{gap:.48rem;padding:.55rem .85rem;color:var(--muted);font-size:.82rem}.connection-chip i,.device-strip>div i,.control-copy strong i{width:8px;height:8px;border-radius:50%;background:#9aabba}.connection-chip.is-online{color:var(--teal-dark)}.connection-chip.is-online i,.device-strip.is-online>div i{background:#45aa83;box-shadow:0 0 0 4px #45aa831f}.language-button{gap:.46rem;padding:.55rem .92rem;cursor:pointer}.language-button b{margin-inline-start:.12rem;color:var(--muted);font-size:.75rem;font-weight:700;transition:transform .16s ease}.language-button[aria-expanded=true] b{transform:rotate(180deg)}.language-select{position:relative}.language-menu{position:absolute;z-index:50;top:calc(100% + .55rem);inset-inline-end:0;display:grid;width:168px;padding:.45rem;border:1px solid var(--line);border-radius:18px;background:#fffffff5;box-shadow:0 18px 45px #1d4d5c2e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.language-menu button{width:100%;padding:.65rem .75rem;border:0;border-radius:12px;color:var(--navy);background:transparent;cursor:pointer;text-align:start}.language-menu button:hover,.language-menu button.is-active{color:var(--teal-dark);background:#e8f7f3}html[dir=rtl] .feature-card,html[dir=rtl] .video-card,html[dir=rtl] .manual-card{text-align:start}html[dir=rtl] .program-panel,html[dir=rtl] .program-panel pre{direction:ltr;text-align:left}.page{position:relative;z-index:2;width:min(100% - 3rem,1080px);margin:0 auto;padding:3.2rem 0 10rem}.home-page{display:grid;align-content:center;min-height:calc(100vh - 82px);padding-top:1rem}.page-intro{margin-bottom:2.5rem;text-align:center}.page-intro p,.eyebrow{margin:0 0 .6rem;color:var(--teal);font-size:.78rem;font-weight:700;letter-spacing:.22em}.page-intro h1{margin:0;color:var(--navy);font-size:clamp(2rem,4vw,3.3rem);line-height:1.18;letter-spacing:-.04em}.page-intro>span{display:block;margin-top:.65rem;color:var(--teal-dark);font-size:1rem}.feature-grid,.support-grid,.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.55rem}.feature-card,.category-card,.metric-card,.control-card,.parameter-panel,.program-panel,.empty-panel{border:1px solid rgba(38,119,116,.16);background:var(--card);box-shadow:var(--shadow)}.feature-card{position:relative;display:flex;min-height:267px;flex-direction:column;align-items:flex-start;padding:2rem;overflow:hidden;border-radius:26px;cursor:pointer;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}button.feature-card:hover{transform:translateY(-6px);border-color:#38998c59;box-shadow:0 28px 60px #1c525e29}.feature-card:after{content:"";position:absolute;right:-3.5rem;bottom:-4.5rem;width:10rem;height:10rem;border-radius:50%;background:#aaebdb2b}.feature-card.is-accent{border-color:#349d8f4d;background:linear-gradient(145deg,#fffffff7,#e1f9f3f0)}.feature-icon,.metric-icon,.control-icon{display:grid;place-items:center;color:var(--teal);background:linear-gradient(145deg,#e8faf6,#d2f2e9);border:1px solid rgba(62,156,144,.22)}.feature-icon{width:80px;height:80px;margin-bottom:1.55rem;border-radius:50%;font-size:2rem}.feature-card strong{color:var(--navy);font-size:1.3rem;line-height:1.35}.feature-card>span:not(.feature-icon){margin-top:.55rem;color:var(--muted);font-size:.9rem;line-height:1.65}.feature-card>i{display:flex;align-items:center;gap:.4rem;margin-top:auto;color:var(--teal-dark);font-size:.84rem;font-style:normal;opacity:0;transform:translateY(6px);transition:.16s ease}.feature-card:hover>i,.feature-card:focus-visible>i,.static-card>i{opacity:1;transform:none}.welcome-page{position:relative;z-index:3;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;width:min(100% - 6rem,1300px);min-height:calc(100vh - 82px);margin:0 auto;padding:2rem 0 9rem}.welcome-copy{position:relative;z-index:3}.eyebrow{display:flex;align-items:center;gap:.55rem}.eyebrow svg{font-size:1rem}.welcome-copy h1{max-width:720px;margin:1.3rem 0 0;color:var(--navy);font-size:clamp(2.8rem,5.6vw,5.25rem);line-height:1.08;letter-spacing:-.06em}.welcome-copy h2{margin:1.35rem 0 0;color:#32928763;font-size:clamp(1.5rem,3vw,2.45rem)}.welcome-copy h2 strong{color:var(--teal)}.welcome-summary{margin:1.4rem 0 0;color:var(--muted);font-size:1rem;line-height:1.8}.primary-button,.secondary-button,.back-button,.control-button,.connection-error button{border-radius:999px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:50px;margin-top:1.8rem;padding:.75rem 1.35rem;border:0;color:#fff;background:linear-gradient(135deg,var(--teal),#2d8b82);box-shadow:0 14px 28px #308e843d;font-weight:700}.primary-button:hover,.control-button:hover:not(:disabled),.connection-error button:hover{transform:translateY(-2px);box-shadow:0 18px 34px #308e844a}.produce-cloud{position:relative;min-height:610px}.produce{position:absolute;z-index:2;object-fit:contain;filter:drop-shadow(0 24px 28px rgba(36,97,71,.16));animation:float 6s ease-in-out infinite}.produce-lettuce{width:250px;left:8%;top:4%}.produce-basil{width:140px;right:4%;top:0;animation-delay:-1s}.produce-tomato{width:170px;right:0;top:46%;animation-delay:-3.2s}.produce-strawberry{width:130px;left:25%;bottom:3%;animation-delay:-2s}.produce-pea{width:100px;right:31%;bottom:10%;animation-delay:-4.1s}@keyframes float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-14px) rotate(1deg)}}.waves{position:absolute;z-index:1;right:0;bottom:0;left:0;height:92px;pointer-events:none}.waves i{position:absolute;right:-4%;bottom:-64px;left:-4%;height:118px;border-radius:50% 55% 0 0/34% 40% 0 0;background:#b6ecdc;transform:rotate(1deg)}.waves i:nth-child(2){bottom:-83px;background:#83c9bf;transform:rotate(-1deg)}.waves i:nth-child(3){bottom:-105px;background:#315a7c;transform:rotate(.6deg)}.page-heading-row{display:grid;grid-template-columns:140px 1fr 140px;align-items:start;margin-bottom:2.8rem}.back-button{display:inline-flex;align-items:center;justify-content:center;justify-self:start;gap:.28rem;min-height:42px;padding:.55rem .92rem;border:1px solid var(--line);background:#ffffffb0}.back-button svg{font-size:1rem}.page-heading{text-align:center}.page-heading>div{display:flex;align-items:center;justify-content:center;gap:.55rem}.title-icon{display:inline-grid;place-items:center;color:var(--teal);font-size:1.9rem}.page-heading h1{margin:0;color:var(--navy);font-size:clamp(1.8rem,3.4vw,2.35rem);letter-spacing:-.04em}.page-heading p{margin:.65rem 0 0;color:var(--teal-dark);font-size:.9rem;line-height:1.6}.section-lead{margin:7rem 0 1.6rem;color:var(--teal-dark);text-align:center}.category-card{width:100%;padding:1.9rem;border-radius:28px;color:inherit;cursor:pointer;text-align:center;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.category-card:hover{transform:translateY(-6px);border-color:#38998c59;box-shadow:0 28px 60px #1c525e29}.category-card>div{display:grid;place-items:center;width:148px;height:148px;margin:0 auto 1rem;border:1px solid rgba(58,151,140,.24);border-radius:50%;background:linear-gradient(145deg,#ecfbf7,#d3f3e9)}.category-card img{width:110px;height:110px;object-fit:contain}.category-card h2{margin:0;font-size:1.2rem}.category-card p{min-height:2.7rem;margin:.5rem 0;color:var(--muted);font-size:.88rem;line-height:1.55}.planting-carousel-page{width:min(100% - 3rem,1160px);min-height:calc(100vh - 82px);padding-top:1.6rem}.planting-heading-row{margin-bottom:0}.plant-carousel{display:flex;flex-direction:column;align-items:center;padding-top:clamp(5rem,10vh,8rem);text-align:center}.plant-category-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.35rem 1rem;border:1px solid rgba(58,151,140,.3);border-radius:999px;color:var(--teal-dark);background:#d7f1ebc2;font-size:.86rem;font-weight:700}.plant-stage{position:relative;width:min(100%,820px);height:320px;margin-top:2rem}.plant-preview{position:absolute;top:50%;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(58,151,140,.2);border-radius:50%;background:#ffffffb8;transform:translateY(-50%)}.plant-preview img{width:72%;height:72%;object-fit:contain;filter:drop-shadow(0 16px 18px rgba(36,97,71,.11))}.plant-preview-active{z-index:3;left:50%;width:288px;height:288px;border-color:#3a978c73;background:#fffffff5;box-shadow:0 22px 50px #1d4d5c1f;transform:translate(-50%,-50%)}.plant-preview-left,.plant-preview-right{z-index:1;width:180px;height:180px;opacity:.27;filter:blur(1px)}.plant-preview-left{left:15%}.plant-preview-right{right:15%}.carousel-arrow{position:absolute;z-index:5;top:50%;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--navy);background:#ffffffe6;box-shadow:0 10px 24px #1d4d5c1a;cursor:pointer;transform:translateY(-50%);transition:transform .15s ease,box-shadow .15s ease}.carousel-arrow:hover{box-shadow:0 14px 30px #1d4d5c29;transform:translateY(-50%) scale(1.05)}.carousel-arrow-left{left:0}.carousel-arrow-right{right:0}.carousel-arrow-right svg{transform:rotate(180deg)}.plant-carousel h2{margin:.7rem 0 0;color:var(--navy);font-size:1.75rem}.plant-dots{display:flex;align-items:center;gap:.46rem;margin-top:.85rem}.plant-dots button{width:10px;height:10px;padding:0;border:0;border-radius:999px;background:#49a99d45;cursor:pointer;transition:width .16s ease,background .16s ease}.plant-dots button.is-active{width:28px;background:var(--teal)}.plant-preview-active{padding:0;cursor:pointer}.planting-dialog{position:relative;width:min(100%,500px);padding:2rem;border:1px solid rgba(255,255,255,.5);border-radius:28px;background:#fff;box-shadow:0 32px 80px #06233047;text-align:center}.planting-modal-close{color:var(--navy);border-color:var(--line);background:#f0f9f8}.confirm-plant-image{display:grid;place-items:center;width:96px;height:96px;margin:0 auto;border:1px solid rgba(58,151,140,.25);border-radius:50%;background:#e8f5f3}.confirm-plant-image img{width:68px;height:68px;object-fit:contain}.planting-dialog>p{margin:1.5rem auto 0;color:var(--navy);font-size:1.08rem;font-weight:800;line-height:1.65}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:2rem}.dialog-actions button{min-height:48px;border-radius:999px;cursor:pointer;font-weight:700}.dialog-secondary{border:1px solid rgba(23,58,98,.2);color:#173a62b8;background:#fff}.dialog-primary{border:0;color:#fff;background:linear-gradient(135deg,var(--teal),var(--teal-dark));box-shadow:0 10px 24px #49a99d47}.state-dialog{width:min(100%,560px)}.plant-state-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.8rem}.plant-state-grid>button{display:grid;place-items:center;min-height:170px;padding:1.5rem;border:2px solid rgba(73,169,157,.25);border-radius:24px;color:var(--navy);background:#f0f9f8;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.plant-state-grid>button:hover:not(:disabled){transform:translateY(-4px);border-color:var(--teal);background:#fff;box-shadow:0 16px 34px #49a99d2e}.plant-state-grid>button:disabled{cursor:wait;opacity:.55}.plant-state-grid>button>i{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#a8e6cf66}.seed-symbol:before{content:"";width:17px;height:17px;border-radius:50%;background:linear-gradient(145deg,#8a6d4b,#5d4429)}.seedling-symbol{color:var(--teal);font-size:1.7rem}.plant-state-grid strong{display:flex;align-items:center;gap:.35rem;margin-top:.8rem}.plant-state-grid strong svg{color:var(--teal);font-size:.9rem}.planting-starting{display:block;margin-top:1rem;color:var(--teal-dark);font-size:.84rem;font-weight:700}.planting-done-page{min-height:calc(100vh - 82px);padding-top:1.6rem}.planting-success{display:flex;flex-direction:column;align-items:center;padding-top:clamp(2rem,5vh,4rem);text-align:center}.success-mark{position:relative;display:grid;place-items:center;width:96px;height:96px}.success-mark>i{position:absolute;inset:0;border-radius:50%;background:#49a99d2e;animation:success-pulse 2s ease-out infinite}.success-mark>span{position:relative;display:grid;place-items:center;width:96px;height:96px;border-radius:50%;color:#fff;background:linear-gradient(145deg,var(--teal),var(--teal-dark));box-shadow:0 18px 38px #49a99d57;font-size:2.4rem}@keyframes success-pulse{0%{transform:scale(1);opacity:.8}to{transform:scale(1.45);opacity:0}}.planting-success>h2{margin:1.8rem 0 0;color:var(--navy);font-size:clamp(2rem,4vw,2.6rem)}.planting-success>p{max-width:470px;margin:.7rem 0 0;color:var(--muted);line-height:1.65}.selected-plant-pill{display:flex;align-items:center;gap:.75rem;margin-top:1.4rem;padding:.55rem 1rem;border:1px solid rgba(73,169,157,.25);border-radius:999px;background:#ffffffd1}.selected-plant-pill img{width:40px;height:40px;object-fit:contain}.selected-plant-pill span{padding:.3rem .62rem;border-radius:999px;color:var(--teal-dark);background:#a8e6cf7a;font-size:.72rem;font-weight:700}.planting-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;width:min(100%,580px);margin-top:2rem}.planting-date-grid article{padding:1.4rem;border:1px solid rgba(73,169,157,.18);border-radius:24px;background:#ffffffdb;box-shadow:var(--shadow);text-align:start}.planting-date-grid article>p{display:flex;align-items:center;gap:.45rem;margin:0;color:var(--teal-dark);font-size:.8rem;font-weight:700}.planting-date-grid article>strong{display:block;margin-top:.6rem;color:var(--navy)}.planting-date-grid .harvest-card{color:#fff;border:0;background:linear-gradient(145deg,var(--teal),var(--teal-dark))}.harvest-card>p,.harvest-card>strong,.harvest-card>small{color:#fff!important}.harvest-card>small{display:block;margin-top:.35rem;opacity:.75}.done-home-button{min-height:48px;margin-top:2rem;padding:.7rem 1.8rem;border:0;border-radius:999px;color:#fff;background:var(--navy);box-shadow:0 12px 28px #173a6238;cursor:pointer;font-weight:700}.planting-result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:2rem}.planting-result-actions .done-home-button{margin-top:0}.done-home-button.secondary{color:var(--navy);border:1px solid var(--line);background:#fff;box-shadow:none}.monitor-page{width:min(100% - 3rem,1180px);padding-top:1.6rem}.device-strip{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;margin-bottom:2rem;padding:1.15rem 1.35rem;border:1px solid var(--line);border-radius:20px;background:#ffffffad;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.device-strip>div{display:flex;align-items:center;gap:.6rem;min-width:max-content;color:var(--muted);font-weight:700}.device-strip.is-online>div{color:var(--teal-dark)}.device-strip dl{display:flex;align-items:center;justify-content:flex-end;gap:1.7rem;margin:0}.device-strip dl>div{min-width:96px}.device-strip dt{color:#90a2b3;font-size:.74rem}.device-strip dd{max-width:220px;margin:.2rem 0 0;overflow:hidden;color:var(--navy);font-size:.84rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.connection-error{display:flex;align-items:center;gap:.8rem;margin-bottom:1.7rem;padding:1rem 1.2rem;border:1px solid rgba(201,111,78,.25);border-radius:16px;background:#fff4eeeb;color:#9a4d37}.connection-error span{flex:1;font-size:.86rem}.connection-error button{padding:.5rem .9rem;border:0;color:#fff;background:#bd684d}.dashboard-section+.dashboard-section{margin-top:2.5rem}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-title p{margin:0;color:var(--navy);font-size:1.25rem;font-weight:800}.section-title span{display:block;margin-top:.25rem;color:var(--muted);font-size:.82rem}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.metric-card{min-height:196px;padding:1.35rem;border-radius:22px}.metric-top{display:flex;align-items:center;justify-content:space-between}.metric-icon{width:48px;height:48px;border-radius:16px;font-size:1.35rem}.metric-status{display:inline-flex;align-items:center;gap:.4rem;color:var(--teal-dark);font-size:.78rem;font-weight:700}.metric-status i{width:6px;height:6px;border-radius:50%;background:currentColor}.metric-card>p{margin:1.05rem 0 .2rem;color:var(--muted);font-size:.84rem}.metric-card>strong{color:var(--navy);font-size:1.9rem;line-height:1.25}.metric-card>strong small{margin-left:.22rem;color:var(--teal-dark);font-size:.78rem}.metric-bar{height:5px;margin-top:1rem;overflow:hidden;border-radius:99px;background:#e3f3ef}.metric-bar i{display:block;width:56%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8bdcc3,var(--teal))}.metric-card.is-disconnected{border-style:dashed;box-shadow:none;background:#ffffff8f}.metric-card.is-disconnected .metric-icon,.metric-card.is-disconnected .metric-status,.metric-card.is-disconnected>strong{color:#94a6b5}.metric-card.is-disconnected .metric-icon{background:#edf2f2;border-color:#dbe5e4}.metric-card.is-disconnected .metric-bar i{width:0}.metric-card.is-warning{border-color:#cf7a4259;background:#fffaf6}.metric-card.is-warning .metric-status{color:#c36c3b}.metric-note{display:block;margin-top:.55rem;color:#9aabba;font-size:.76rem}.mode-badge{padding:.45rem .75rem;border:1px solid var(--line);border-radius:999px;background:#ffffffa6;color:var(--teal-dark)!important}.control-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.control-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;min-height:128px;padding:1.15rem;border-radius:22px;transition:background-color .28s ease,border-color .28s ease,box-shadow .28s ease}.control-card.is-running{border-color:#339e875c;background:linear-gradient(145deg,#fffffff5,#def7eff0)}.control-icon{width:52px;height:52px;border-radius:17px;font-size:1.45rem;transition:color .28s ease,background-color .28s ease,transform .28s ease}.control-copy p{margin:0 0 .35rem;color:var(--navy);font-size:1rem;font-weight:800}.control-copy strong{display:flex;align-items:center;gap:.45rem;color:#879aaa;font-size:.78rem;transition:color .28s ease}.control-copy strong i{transition:background-color .28s ease,transform .28s ease}.control-card.is-running .control-copy strong{color:var(--teal-dark)}.control-card.is-running .control-copy strong i{background:#45aa83}.control-copy small{display:block;max-width:160px;margin-top:.35rem;color:#a86f4a;font-size:.7rem;line-height:1.35}.control-button{min-width:74px;min-height:40px;padding:.55rem .9rem;border:1px solid rgba(54,145,133,.25);color:var(--teal-dark);background:#e9f8f4;font-weight:700;transition:color .28s ease,background-color .28s ease,border-color .28s ease,transform .16s ease,box-shadow .28s ease}.control-button:active:not(:disabled){transform:scale(.96)}.control-card.is-running .control-button{color:#8d4b3a;border-color:#aa5b4033;background:#fff1eb}.control-button:disabled{cursor:wait;opacity:.55}::view-transition-old(root),::view-transition-new(root){animation:none}::view-transition-group(control-fan_control),::view-transition-group(control-pump_control),::view-transition-group(control-light_control){animation-duration:.32s;animation-timing-function:cubic-bezier(.22,.8,.28,1)}::view-transition-old(control-fan_control),::view-transition-old(control-pump_control),::view-transition-old(control-light_control){animation:control-state-out .32s ease both}::view-transition-new(control-fan_control),::view-transition-new(control-pump_control),::view-transition-new(control-light_control){animation:control-state-in .32s ease both}@keyframes control-state-out{to{opacity:.35;transform:scale(.985)}}@keyframes control-state-in{0%{opacity:.35;transform:scale(1.015)}}@media(prefers-reduced-motion:reduce){.control-card,.control-icon,.control-copy strong,.control-copy strong i,.control-button{transition:none!important}}.safety-note{margin:.85rem 0 0;color:#9b755e;font-size:.78rem}.support-grid{grid-template-columns:repeat(2,minmax(0,370px));justify-content:center;margin-top:7rem}.static-card{cursor:default}.contact-page{min-height:calc(100vh - 82px);padding-top:1.6rem}.contact-card{width:min(100%,520px);margin:6rem auto 0;overflow:hidden;border:1px solid rgba(73,169,157,.2);border-radius:28px;background:#ffffffe0;box-shadow:var(--shadow)}.contact-card>header{display:flex;align-items:center;gap:1rem;padding:1.5rem 2rem;color:#fff;background:linear-gradient(135deg,var(--teal),var(--teal-dark))}.contact-card>header img{width:50px;height:50px;object-fit:contain}.contact-card>header div{display:grid;gap:.2rem}.contact-card>header strong{font-size:1.1rem}.contact-card>header span{color:#ffffffc7;font-size:.76rem}.contact-list{display:grid;gap:.9rem;padding:2rem}.contact-list article{display:flex;align-items:center;gap:1rem;padding:1rem 1.15rem;border:1px solid rgba(73,169,157,.14);border-radius:18px;background:#f0f9f8}.contact-list article>i{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border:1px solid rgba(73,169,157,.22);border-radius:50%;color:var(--teal);background:#fff}.contact-list article>div{display:grid;gap:.2rem}.contact-list article span{color:var(--muted);font-size:.75rem}.contact-list article strong{color:var(--navy)}.empty-panel{display:grid;place-items:center;max-width:700px;min-height:320px;margin:7rem auto 0;padding:3rem;border-radius:28px;text-align:center}.empty-panel>span{color:var(--teal);font-size:3rem}.empty-panel h2{margin:0}.empty-panel p{margin:-2.5rem 0 0;color:var(--muted)}.knowledge-page{width:min(100% - 3rem,1120px);padding-top:1.6rem}.knowledge-section{margin-top:2.5rem}.knowledge-section>h2{display:flex;align-items:center;gap:.55rem;margin:0 0 1.25rem;color:var(--navy);font-size:1.12rem}.knowledge-section>h2 svg{color:var(--teal)}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.video-card,.manual-card{overflow:hidden;border:1px solid rgba(38,119,116,.16);border-radius:24px;color:inherit;background:var(--card);box-shadow:var(--shadow);cursor:pointer;text-align:left;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.video-card:hover,.manual-card:hover{transform:translateY(-5px);border-color:#38998c59;box-shadow:0 24px 50px #1c525e29}.video-poster{position:relative;display:grid;place-items:center;height:176px;overflow:hidden;background:#0d2137}.video-poster>img{position:absolute;inset:0;width:100%;height:100%;padding:.75rem;object-fit:contain;opacity:.84;transition:transform .35s ease}.video-card:hover .video-poster>img{transform:scale(1.04)}.video-play,.modal-video-poster>span{position:relative;z-index:2;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;color:var(--teal-dark);background:#fffffff0;box-shadow:0 10px 24px #0003}.video-play svg,.modal-video-poster>span svg{fill:currentColor}.video-poster>small,.modal-video-poster>small{position:absolute;z-index:2;right:.65rem;bottom:.6rem;padding:.2rem .42rem;border-radius:6px;color:#fff;background:#0d2137d6;font-size:.7rem;font-weight:700}.video-copy{display:grid;gap:.45rem;padding:1.15rem 1.25rem 1.3rem}.video-copy strong,.manual-card strong{color:var(--navy);font-size:.95rem}.video-copy small,.manual-card small{color:var(--muted);font-size:.78rem;line-height:1.55}.manual-section{margin-top:3rem}.manual-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.manual-card{display:flex;align-items:center;gap:1rem;padding:1.25rem}.manual-card>i{display:grid;place-items:center;width:58px;height:58px;flex:0 0 auto;border:1px solid rgba(58,151,140,.2);border-radius:17px;color:var(--teal);background:linear-gradient(145deg,#e8faf6,#d2f2e9)}.manual-card>span{display:grid;gap:.28rem}.manual-card b{color:var(--teal-dark);font-size:.72rem}.modal-backdrop{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:1.5rem;background:#0822317a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.knowledge-modal{position:relative;width:min(100%,760px);max-height:calc(100vh - 3rem);overflow:auto;border:1px solid rgba(255,255,255,.5);border-radius:28px;background:#fff;box-shadow:0 32px 80px #06233047}.modal-close{position:absolute;z-index:5;top:.85rem;right:.85rem;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.4);border-radius:50%;color:#fff;background:#0d2137b3;cursor:pointer}.modal-video-poster{position:relative;display:grid;place-items:center;height:min(42vh,330px);overflow:hidden;background:#0d2137}.modal-video-poster>img{position:absolute;inset:0;width:100%;height:100%;padding:1rem;object-fit:contain;opacity:.7}.modal-video-poster>span{width:66px;height:66px;font-size:1.4rem}.modal-copy{padding:1.6rem 1.8rem 1.8rem}.modal-copy h2{margin:0;color:var(--navy);font-size:1.2rem}.modal-copy p{margin:.65rem 0 0;color:var(--muted);line-height:1.65}.modal-copy>small{display:block;margin-top:.85rem;color:var(--teal-dark);font-weight:600}.manual-modal>header{padding:1.55rem 4rem 1.45rem 1.8rem;color:#fff;background:linear-gradient(135deg,var(--teal),#378f85)}.manual-modal>header h2{display:flex;align-items:center;gap:.55rem;margin:0;font-size:1.15rem}.manual-modal>header p{margin:.45rem 0 0;color:#ffffffc7;font-size:.76rem}.manual-content{display:grid;gap:.85rem;padding:1.7rem}.manual-content p{margin:0;padding:1rem 1.1rem;border:1px solid rgba(58,151,140,.12);border-radius:16px;color:#173a62c7;background:#f0f9f8;font-size:.86rem;line-height:1.75}.engineer-page{width:min(100% - 3rem,1180px)}.engineer-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:1.2rem}.recipe-evidence{display:grid;grid-template-columns:1fr auto;gap:.55rem 1.25rem;margin:0 0 1.2rem;padding:1rem 1.2rem;border:1px solid rgba(58,151,140,.22);border-radius:18px;color:var(--navy);background:#f0f9f8eb}.recipe-evidence div{display:flex;flex-wrap:wrap;gap:.45rem .8rem}.recipe-evidence p{grid-column:1 / -1;margin:0;color:var(--muted);font-size:.82rem;line-height:1.65}.recipe-evidence a{color:var(--teal-dark);font-size:.82rem;font-weight:800;text-decoration:none}.recipe-empty{max-width:760px;margin:1rem auto;padding:2rem;border:1px solid var(--line);border-radius:24px;text-align:center;background:#ffffffeb;box-shadow:var(--shadow)}.recipe-empty h2,.recipe-empty p{margin:0}.recipe-empty p{margin-top:.75rem;color:var(--muted);line-height:1.75}.recipe-empty .primary-button{margin:1.25rem auto 0}.parameter-panel,.program-panel{padding:1.6rem;border-radius:24px}.parameter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.parameter-grid label{display:grid;gap:.4rem;color:var(--navy);font-size:.86rem;font-weight:700}.parameter-grid label small{color:var(--muted);font-weight:500}.parameter-grid input{width:100%;min-height:46px;padding:.65rem .78rem;border:1px solid var(--line);border-radius:12px;color:var(--navy);background:#f8fdfc}.form-actions{display:flex;gap:.75rem;margin-top:1.2rem}.form-actions .primary-button{margin:0}.secondary-button{min-height:50px;padding:.7rem 1.1rem;border:1px solid var(--line);background:#fff}.program-panel>p{margin:0 0 1rem;color:var(--navy);font-weight:800}.program-panel pre{margin:0;overflow:auto;color:#d9f7f0;border-radius:16px;background:#153b55;padding:1.15rem;font:.78rem/1.75 Cascadia Code,Consolas,monospace;white-space:pre-wrap}.auth-shell{position:relative;min-height:100vh;overflow:hidden;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(360px,.7fr);place-content:center;gap:clamp(2rem,7vw,7rem);padding:3rem;background:radial-gradient(circle at 18% 22%,rgba(94,203,187,.2),transparent 34%),linear-gradient(145deg,#f4fcfb,#dff5f1)}.auth-brand,.auth-card{position:relative;z-index:2}.auth-brand img{width:82px;height:82px;object-fit:contain}.auth-brand p{margin:1.5rem 0 .7rem;color:var(--teal);font-size:.82rem;font-weight:800;letter-spacing:.16em}.auth-brand h1{margin:0;color:var(--navy);font-size:clamp(2.6rem,5vw,5rem);line-height:1.05}.auth-brand>span{display:block;margin-top:1.3rem;color:var(--muted);font-size:1rem}.auth-card{width:min(100%,480px);padding:clamp(1.7rem,4vw,2.5rem);border:1px solid rgba(61,151,141,.2);border-radius:28px;background:#ffffffe6;box-shadow:0 28px 80px #19475724;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.auth-card header h2{margin:0;color:var(--navy);font-size:1.7rem}.auth-card header p{margin:.65rem 0 0;color:var(--muted);line-height:1.6}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin:1.5rem 0;padding:.3rem;border-radius:14px;background:#edf7f5}.auth-tabs button{min-height:42px;border:0;border-radius:11px;color:var(--muted);background:transparent;font-weight:750}.auth-tabs button.is-active{color:var(--navy);background:#fff;box-shadow:0 5px 16px #205c5f1a}.auth-form{display:grid;gap:1rem}.auth-form label,.account-form label{display:grid;gap:.45rem;color:var(--navy);font-size:.84rem;font-weight:750}.auth-form input,.account-form input{min-height:48px;padding:.7rem .85rem;border:1px solid var(--line);border-radius:12px;color:var(--navy);background:#fbfefd}.auth-form input:focus,.account-form input:focus{outline:2px solid rgba(54,165,151,.18);border-color:var(--teal)}.verification-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem}.verification-code-row button{min-width:112px;padding:0 .8rem;border:1px solid rgba(54,145,133,.28);border-radius:12px;color:var(--teal-dark);background:#e9f8f4;font-weight:750}.verification-code-row button:disabled{cursor:wait;opacity:.62}.forgot-password-button{justify-self:end;margin-top:-.45rem;padding:0;border:0;color:var(--teal-dark);background:transparent;font-size:.82rem;font-weight:750}.forgot-password-button:hover{text-decoration:underline}.auth-submit{width:100%;margin:.4rem 0 0}.auth-error{margin:0;padding:.75rem .85rem;border-radius:10px;color:#9c4637;background:#fff0ed;font-size:.82rem}.auth-security{display:block;margin-top:1.2rem;color:var(--muted);text-align:center;line-height:1.5}.auth-loading{min-height:240px;display:grid;place-content:center;justify-items:center;gap:1rem;color:var(--navy)}.auth-loading i{width:34px;height:34px;border:3px solid #d8eeea;border-top-color:var(--teal);border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.header-role-button,.logout-button,.account-button{min-height:38px;border:1px solid var(--line);border-radius:12px;color:var(--navy);background:#ffffffc2}.header-role-button,.logout-button{padding:.5rem .8rem;font-size:.8rem;font-weight:750}.header-role-button{color:#217b71}.account-button{display:grid;justify-items:start;max-width:220px;padding:.4rem .75rem}.account-button span{max-width:190px;overflow:hidden;text-overflow:ellipsis;font-size:.78rem;font-weight:750}.account-button small{color:var(--teal);font-size:.68rem}.read-only-panel{display:flex;align-items:center;gap:1rem;padding:1.35rem 1.5rem;border:1px solid rgba(54,165,151,.2);border-radius:20px;background:#ffffffb8}.read-only-panel>span{width:48px;height:48px;display:grid;place-items:center;flex:none;color:var(--teal);border-radius:50%;background:#ddf5ef}.read-only-panel svg{width:24px}.read-only-panel strong{color:var(--navy)}.read-only-panel p{margin:.3rem 0 0;color:var(--muted)}.readonly-dialog-icon{width:74px;height:74px;display:grid;place-items:center;margin:0 auto 1rem;color:var(--teal);border-radius:50%;background:#ddf5ef}.readonly-dialog-icon svg{width:38px}.account-card,.users-panel,.access-denied-card{margin:2rem auto 0;padding:clamp(1.4rem,4vw,2rem);border:1px solid var(--line);border-radius:24px;background:#ffffffdb;box-shadow:0 20px 50px #1c485314}.account-card{width:min(100%,680px)}.account-summary{display:flex;align-items:center;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.account-summary>span{width:54px;height:54px;display:grid;place-items:center;color:#fff;border-radius:50%;background:var(--teal);font-size:1.3rem;font-weight:850}.account-summary div{display:grid;gap:.3rem}.account-summary strong{color:var(--navy)}.account-summary small{color:var(--teal);font-weight:750}.delete-account-button{min-height:40px;margin-left:auto;padding:.55rem .9rem;border:1px solid rgba(190,61,52,.3);border-radius:11px;color:#b23b34;background:#fff0ee;font-weight:750}.delete-account-button:hover{color:#fff;background:#bd463d}.account-form{display:grid;gap:1rem;margin-top:1.5rem}.account-form h2{margin:0;color:var(--navy)}.account-form>p{margin:-.6rem 0 .2rem;color:var(--muted)}.account-form .primary-button{justify-self:start;margin:.4rem 0 0}.users-panel>header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.users-panel h2{margin:0;color:var(--navy)}.users-panel header p{margin:.45rem 0 0;color:var(--muted)}.users-table-wrap{margin-top:1.4rem;overflow-x:auto}.users-table{width:100%;border-collapse:collapse;color:var(--navy)}.users-table th,.users-table td{padding:.9rem .75rem;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.users-table th{color:var(--muted);font-size:.76rem}.users-table td strong,.users-table td small{display:block}.users-table td small{margin-top:.25rem;color:var(--teal)}.users-table select{min-height:38px;padding:.4rem 2rem .4rem .6rem;border:1px solid var(--line);border-radius:10px;color:var(--navy);background:#fff}.role-badge{display:inline-flex;padding:.35rem .65rem;border-radius:999px;background:#edf5f6;font-size:.76rem;font-weight:750}.role-admin{color:#20776d;background:#def4ef}.role-superadmin{color:#76531c;background:#fff2d8}.users-loading{padding:3rem;color:var(--muted);text-align:center}.access-denied-card{width:min(100%,580px);text-align:center}.access-denied-card>span{display:inline-grid;place-items:center;width:70px;height:70px;color:var(--teal);border-radius:50%;background:#e2f5f1}.access-denied-card svg{width:34px}.access-denied-card h2{color:var(--navy)}.access-denied-card p{color:var(--muted);line-height:1.7}.access-denied-card .primary-button{margin-inline:auto}#toast-region{position:fixed;z-index:300;right:1.5rem;bottom:1.5rem;display:grid;gap:.6rem;pointer-events:none}.device-strip dd small{display:block;margin-top:.2rem;color:#a26a4b;font-size:.72rem;font-weight:600}.toast{max-width:380px;padding:.85rem 1rem;color:#fff;border-radius:14px;background:#247c72;box-shadow:0 16px 36px #113d483d;font-size:.88rem}.toast.error{background:#a9553e}@media(max-width:980px){.site-header{width:min(100% - 2rem,1380px)}.welcome-page{width:min(100% - 3rem,900px);grid-template-columns:1fr .8fr}.produce-cloud{min-height:480px}.produce-lettuce{width:200px}.produce-basil{width:100px}.produce-tomato{width:125px}.produce-strawberry{width:100px}.produce-pea{width:78px}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature-grid .feature-card:last-child{grid-column:1 / -1;min-height:220px}.metric-grid{grid-template-columns:repeat(2,1fr)}.control-grid{grid-template-columns:1fr}.device-strip{align-items:flex-start;flex-direction:column}.device-strip dl{width:100%;justify-content:space-between;flex-wrap:wrap}.engineer-layout{grid-template-columns:1fr}.plant-preview-left{left:10%}.plant-preview-right{right:10%}}@media(max-width:700px){.auth-shell{display:block;padding:1.2rem}.auth-brand{padding:1.5rem 0 2rem;text-align:center}.auth-brand img{width:58px;height:58px}.auth-brand p{margin-top:.8rem;font-size:.68rem}.auth-brand h1{font-size:2.2rem}.auth-brand>span{font-size:.82rem}.auth-card{width:100%;padding:1.35rem;border-radius:22px}.site-header{min-height:70px}.brand img{width:34px;height:34px}.brand small,.connection-chip{display:none}.language-button{min-height:36px;padding:.45rem .72rem;font-size:.84rem}.account-button{max-width:110px}.account-button span{max-width:90px}.header-role-button{display:none}.logout-button{padding:.45rem .6rem}.page,.monitor-page,.engineer-page{width:min(100% - 1.4rem,1080px);padding:1.2rem 0 7rem}.welcome-page{display:block;width:min(100% - 2rem,620px);padding:4rem 0 8rem}.welcome-copy h1{font-size:clamp(2.5rem,12vw,4rem)}.produce-cloud{position:absolute;inset:2rem -4rem auto auto;width:190px;min-height:220px;opacity:.52}.produce-lettuce{width:145px;left:0;top:2rem}.produce-basil{width:65px;right:0}.produce-tomato,.produce-strawberry,.produce-pea{display:none}.home-page{display:block;padding-top:3rem}.page-intro{margin-bottom:1.6rem}.feature-grid,.support-grid,.category-grid{grid-template-columns:1fr;gap:.9rem}.feature-grid .feature-card:last-child{grid-column:auto}.feature-card{min-height:190px;padding:1.35rem}.feature-icon{width:58px;height:58px;margin-bottom:1rem;font-size:1.45rem}.feature-card>i{opacity:1;transform:none}.page-heading-row{grid-template-columns:48px 1fr 48px;margin-bottom:1.6rem}.back-button{width:42px;padding:0}.back-button span{display:none}.page-heading h1{font-size:1.55rem}.title-icon{font-size:1.4rem}.section-lead,.support-grid,.empty-panel{margin-top:2rem}.category-card{padding:1.35rem}.planting-carousel-page{min-height:calc(100vh - 70px)}.planting-heading-row{margin-bottom:0}.plant-carousel{padding-top:2.5rem}.plant-stage{height:260px;margin-top:1.3rem}.plant-preview-active{width:230px;height:230px}.plant-preview-left,.plant-preview-right{display:none}.carousel-arrow{width:42px;height:42px}.plant-carousel h2{font-size:1.5rem}.planting-dialog{padding:1.5rem 1rem;border-radius:22px}.plant-state-grid{gap:.65rem}.plant-state-grid>button{min-height:145px;padding:1rem .6rem}.planting-done-page{min-height:calc(100vh - 70px)}.planting-success{padding-top:1.2rem}.planting-date-grid{grid-template-columns:1fr;gap:.8rem}.knowledge-page{width:min(100% - 1.4rem,1080px)}.knowledge-section{margin-top:2rem}.video-grid,.manual-grid{grid-template-columns:1fr;gap:.9rem}.video-poster{height:190px}.modal-backdrop{padding:.7rem}.knowledge-modal{max-height:calc(100vh - 1.4rem);border-radius:22px}.modal-copy{padding:1.25rem}.manual-modal>header{padding-left:1.25rem}.manual-content{padding:1rem}.contact-page{min-height:calc(100vh - 70px)}.contact-card{margin-top:2rem}.contact-list,.device-strip{padding:1rem}.device-strip dl{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.device-strip dl>div{min-width:0}.metric-grid{grid-template-columns:1fr 1fr;gap:.7rem}.metric-card{min-height:174px;padding:1rem}.metric-card>strong{font-size:1.55rem}.metric-icon{width:42px;height:42px}.control-card{grid-template-columns:auto 1fr}.control-button{grid-column:1 / -1;width:100%}.section-title{align-items:flex-start;flex-direction:column}.mode-badge{align-self:flex-start}.connection-error{align-items:flex-start;flex-direction:column}.parameter-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}.users-panel{padding:1rem}.users-panel>header{align-items:flex-start;flex-direction:column}.account-form .primary-button{width:100%}.account-summary{flex-wrap:wrap}.delete-account-button{width:100%;margin-left:0}#toast-region{right:.7rem;bottom:.7rem;left:.7rem}.toast{max-width:none}}@media(max-width:430px){.metric-grid{grid-template-columns:1fr}.metric-card{min-height:156px}.device-strip dl{grid-template-columns:1fr}.welcome-summary{max-width:250px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
