@layer reset,tokens,base,components,features,utilities;@layer tokens{:root{--tone-ok: var(--leaf);--tone-watch: var(--sun);--tone-risk: var(--danger);--tone-info: var(--water);--tone-active: var(--leaf-strong);--tone-offline: var(--muted);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--radius-xs: 6px;--radius-sm: 10px;--radius-control: 13px;--radius-panel: 16px;--radius-feature: 18px;--radius-dialog: 28px;--radius-pill: 999px;--control-sm: 44px;--control-md: 48px;--control-lg: 56px;--font-ui: "Avenir Next", Avenir, "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .9375rem;--text-lg: 1.0625rem;--text-xl: clamp(1.35rem, 3vw, 1.7rem);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--ease-press: cubic-bezier(.2, .8, .2, 1);--duration-press: .12s;--duration-release: .16s;--duration-state: .18s;--duration-panel: .24s;--duration-media: .32s;--content-max: 1060px;--nav-mobile-h: 78px;--topbar-h: 76px;--layer-nav: 30;--layer-float: 40}}@layer reset{*,*:before,*:after{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--canvas);-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}body{min-width:320px;min-height:100%;margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,textarea,select{color:inherit;font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{border:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}img,svg,video{display:block;max-width:100%}}@layer base{#root{min-height:100dvh}::selection{background:var(--leaf-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--water);outline-offset:3px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.smooth-value{font-variant-numeric:tabular-nums}.tone-ok{--tone: var(--tone-ok);--tone-soft: var(--leaf-soft)}.tone-watch{--tone: var(--tone-watch);--tone-soft: var(--sun-soft)}.tone-risk{--tone: var(--tone-risk);--tone-soft: var(--danger-soft)}.tone-info{--tone: var(--tone-info);--tone-soft: var(--water-soft)}.tone-active{--tone: var(--tone-active);--tone-soft: var(--leaf-soft)}.tone-offline{--tone: var(--tone-offline);--tone-soft: var(--surface-soft)}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important;transition-delay:0ms!important}}}@layer components{[data-pressable]{--ui-press-scale: 1;--ui-surface-y: 0px;touch-action:manipulation;transform:translate3d(0,var(--ui-surface-y),0);transform-origin:center;transition:transform var(--duration-release) var(--ease-out),background-color var(--duration-state) var(--ease-out),border-color var(--duration-state) var(--ease-out),box-shadow var(--duration-release) var(--ease-out),color var(--duration-state) var(--ease-out),opacity var(--duration-state) var(--ease-out)}[data-pressable][data-pressing]{--ui-press-scale: .975;transition-duration:var(--duration-press),var(--duration-state),var(--duration-state),var(--duration-press),var(--duration-state),var(--duration-state);transition-timing-function:var(--ease-press),var(--ease-out),var(--ease-out),var(--ease-press),var(--ease-out),var(--ease-out)}[data-pressable]:disabled,[data-pressable][aria-disabled=true]{cursor:not-allowed}.ui-button{position:relative;min-height:var(--control-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-control);padding:0 var(--space-4);background:var(--surface-raised);box-shadow:0 1px 2px #17221c0f;color:var(--ink);font-size:var(--text-md);font-weight:680;letter-spacing:-.01em;cursor:pointer;-webkit-user-select:none;user-select:none}.ui-button[data-size=small]{min-height:var(--control-sm);padding-inline:var(--space-3);font-size:var(--text-sm)}.ui-button[data-size=large]{min-height:var(--control-lg);padding-inline:var(--space-5)}.ui-button[data-size=icon]{width:var(--control-md);min-width:var(--control-md);height:var(--control-md);min-height:var(--control-md);padding:0}.ui-button[data-variant=primary]{border-color:var(--leaf-strong);background:var(--leaf);box-shadow:0 5px 14px #2f6b452e;color:var(--on-solid)}.ui-button[data-variant=secondary]{border-color:var(--line-control);background:var(--surface-raised)}.ui-button[data-variant=ghost]{border-color:transparent;background:transparent;box-shadow:none;color:var(--ink-soft)}.ui-button[data-variant=danger]{border-color:color-mix(in srgb,var(--danger) 56%,var(--line-control));background:var(--danger-soft);color:var(--danger-strong)}.ui-button[aria-pressed=true]{border-color:var(--leaf);background:var(--leaf-soft);color:var(--leaf-strong)}.ui-button[data-pressing]{box-shadow:inset 0 1px 3px #17221c24}.ui-button[data-variant=primary][data-pressing]{box-shadow:inset 0 2px 4px #08201238}.ui-button[data-variant=ghost][data-pressing]{box-shadow:none}.ui-button:disabled,.ui-button[aria-disabled=true]{box-shadow:none;opacity:.52}.ui-button[aria-busy=true]{cursor:progress;opacity:1}.ui-busy-indicator{width:18px;height:18px;flex:0 0 18px;display:inline-block;border:2px solid color-mix(in srgb,currentColor 32%,transparent);border-top-color:currentColor;border-radius:50%;color:currentColor;animation:ui-spin .76s linear infinite}.ui-button>.ui-busy-indicator{position:absolute;inset:50% auto auto 50%;translate:-50% -50%}.ui-button[aria-busy=true]>.ui-button-leading,.ui-button[aria-busy=true]>.ui-button-label{opacity:0}.ui-button-leading,.ui-button-label{display:inline-flex;align-items:center;justify-content:center}.ui-button-leading svg,.ui-button[data-size=icon] svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}@keyframes ui-spin{to{transform:rotate(1turn)}}.ui-switch-row{width:100%;min-height:var(--control-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.ui-switch-copy{min-width:0;display:grid;gap:2px}.ui-switch-label{font-size:var(--text-md);font-weight:620}.ui-switch-detail{color:var(--muted);font-size:var(--text-sm);font-weight:450}.ui-switch-track{position:relative;width:48px;height:28px;flex:0 0 48px;display:block;padding:3px;border:1px solid var(--line-control);border-radius:var(--radius-pill);background:var(--surface-soft);transition:background-color var(--duration-state) var(--ease-out),border-color var(--duration-state) var(--ease-out),opacity var(--duration-state) var(--ease-out)}.ui-switch-thumb{width:20px;height:20px;display:block;border-radius:50%;background:var(--switch-thumb);box-shadow:0 2px 5px #17221c2e;transform:translate(0);transition:transform var(--duration-state) var(--ease-out),opacity var(--duration-state) var(--ease-out)}.ui-switch-track .ui-busy-indicator{position:absolute;inset:50% auto auto 50%;width:16px;height:16px;border-width:2px;color:var(--ink-soft);translate:-50% -50%}.ui-switch-row[aria-busy=true] .ui-switch-thumb{opacity:0}.ui-switch-row[aria-checked=true][aria-busy=true] .ui-busy-indicator{color:var(--on-solid)}.ui-switch-row[aria-checked=true] .ui-switch-track{border-color:var(--leaf);background:var(--leaf)}.ui-switch-row[aria-checked=true] .ui-switch-thumb{background:var(--on-solid);transform:translate(20px)}.ui-switch-row:disabled{opacity:.48}.ui-switch-row[aria-busy=true]{cursor:progress;opacity:1}.ui-status-message{color:var(--muted);font-size:var(--text-sm)}.ui-status-message[data-tone=success]{color:var(--leaf-strong)}.ui-status-message[data-tone=warning]{color:var(--sun)}.ui-status-message[data-tone=danger]{color:var(--danger)}.ui-resource-status{min-height:58px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 2px;color:var(--muted)}.ui-resource-status-marker{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--muted-soft)}.ui-resource-status[data-state=stale] .ui-resource-status-marker{background:var(--sun)}.ui-resource-status[data-state=error] .ui-resource-status-marker{background:var(--danger)}.ui-resource-status-copy{min-width:0;display:grid;gap:2px}.ui-resource-status-copy strong{color:var(--ink);font-size:var(--text-sm);font-weight:660}.ui-resource-status-copy>span{color:var(--muted);font-size:var(--text-xs);line-height:1.4}.ui-resource-status-retry{flex:0 0 auto;margin-left:auto}.ui-resource-status[data-state=loading]{min-height:64px}.ui-resource-skeleton{width:min(100%,320px);display:grid;gap:9px}.ui-resource-skeleton>span{position:relative;height:10px;overflow:hidden;border-radius:var(--radius-pill);background:var(--surface-soft)}.ui-resource-skeleton>span:first-child{width:42%}.ui-resource-skeleton>span:last-child{width:76%}.ui-resource-skeleton>span:after{position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface-raised) 78%,transparent),transparent);content:"";transform:translate(-100%);animation:ui-resource-skeleton 1.35s var(--ease-out) infinite}@keyframes ui-resource-skeleton{to{transform:translate(100%)}}.ui-state-surface{--state-tone: var(--leaf);--state-background: var(--leaf-faint);border:1px solid color-mix(in srgb,var(--state-tone) 28%,var(--line));border-radius:var(--radius-control);background:var(--state-background)}.ui-state-surface[data-tone=water]{--state-tone: var(--water);--state-background: color-mix(in srgb, var(--water-soft) 52%, var(--surface))}.ui-state-surface[data-tone=warning]{--state-tone: var(--sun);--state-background: var(--sun-soft)}.ui-state-surface[data-tone=danger]{--state-tone: var(--danger);--state-background: var(--danger-soft)}.ui-field{display:grid;gap:var(--space-2)}.ui-field[data-layout=inline]{grid-template-columns:minmax(0,1fr) minmax(120px,auto);align-items:center;gap:var(--space-4)}.ui-field-copy{min-width:0;display:grid;gap:2px}.ui-field-copy label{color:var(--ink-soft);font-size:var(--text-sm);font-weight:620}.ui-field-message{color:var(--muted);font-size:var(--text-xs)}.ui-field-message[data-error=true]{color:var(--danger)}.ui-field-control{min-width:0}input:not([type=range],[type=radio],[type=checkbox]),textarea{min-height:var(--control-md);border:1px solid var(--line-control);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink);transition:border-color var(--duration-state) var(--ease-out),background-color var(--duration-state) var(--ease-out),box-shadow var(--duration-state) var(--ease-out)}input:not([type=range],[type=radio],[type=checkbox]):focus,textarea:focus{border-color:var(--water);box-shadow:var(--shadow-focus);outline:none}input:not([type=range],[type=radio],[type=checkbox]):disabled,textarea:disabled{background:var(--surface-soft);color:var(--muted);opacity:.72}input::placeholder,textarea::placeholder{color:var(--muted-soft);opacity:1}textarea{resize:vertical}input[type=range]{width:100%;height:44px;margin:0;appearance:none;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:var(--radius-pill);background:var(--line-control)}input[type=range]::-webkit-slider-thumb{width:22px;height:22px;margin-top:-9px;appearance:none;border:2px solid var(--surface-raised);border-radius:50%;background:var(--leaf);box-shadow:0 1px 5px #17221c40}input[type=range]::-moz-range-track{height:4px;border-radius:var(--radius-pill);background:var(--line-control)}input[type=range]::-moz-range-thumb{width:18px;height:18px;border:2px solid var(--surface-raised);border-radius:50%;background:var(--leaf);box-shadow:0 1px 5px #17221c40}input[type=range]:disabled{cursor:not-allowed;opacity:.5}@media(hover:hover)and (pointer:fine){.ui-button:not(:disabled,[aria-disabled=true]):hover{border-color:var(--line-strong)}.ui-button[data-variant=secondary]:not(:disabled,[aria-disabled=true]):hover{border-color:var(--line-control);background:color-mix(in srgb,var(--leaf-faint) 46%,var(--surface-raised))}.ui-button[data-variant=ghost]:not(:disabled,[aria-disabled=true]):hover{border-color:transparent;background:var(--leaf-faint)}.ui-button[data-variant=danger]:not(:disabled,[aria-disabled=true]):hover{border-color:color-mix(in srgb,var(--danger) 56%,var(--line-control));background:color-mix(in srgb,var(--danger-soft) 78%,var(--surface-raised))}.ui-button[data-variant=primary]:not(:disabled,[aria-disabled=true]):hover{border-color:var(--leaf-strong);background:var(--leaf-strong)}.ui-switch-row:not(:disabled):hover{background:var(--leaf-faint)}}@media(prefers-reduced-motion:reduce){[data-pressable],[data-pressable][data-pressing]{transform:none}.ui-busy-indicator{border-top-color:currentColor;animation:none}.ui-resource-skeleton>span:after{display:none;animation:none}}}@layer features{.site-shell{min-height:100dvh;background:var(--canvas)}.phone,.app{min-height:100dvh}.app{position:relative}.topbar{position:sticky;z-index:20;top:0;min-height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:calc(var(--space-3) + env(safe-area-inset-top)) max(var(--space-4),env(safe-area-inset-right)) var(--space-3) max(var(--space-4),env(safe-area-inset-left));border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent);background:color-mix(in srgb,var(--canvas) 94%,transparent)}.title-lockup,.topbar-actions{display:flex;align-items:center}.title-lockup{min-width:0;gap:var(--space-3)}.mark{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-raised);box-shadow:0 1px 3px #17221c12}.mark img{width:30px;height:30px;border-radius:var(--radius-sm)}.app-title{overflow:hidden;color:var(--ink);font-size:1.08rem;font-weight:720;letter-spacing:-.025em;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.fresh{margin-top:2px;overflow:hidden;color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.connection{min-height:30px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--muted);font-size:var(--text-xs);font-weight:650}.connection:before{width:7px;height:7px;border-radius:50%;background:var(--muted-soft);content:""}.connection.online:before{background:var(--water)}.connection.connecting:before{background:var(--sun)}.connection.offline:before{background:var(--danger)}.screens{width:100%;padding:var(--space-4) max(var(--space-4),env(safe-area-inset-right)) calc(var(--nav-mobile-h) + var(--space-6) + env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left))}.screen,.active-alerts,.service-banner{width:min(100%,var(--content-max));margin-inline:auto}.screen{display:flex;flex-direction:column;gap:var(--space-4)}.screen.active:not(.settings-screen),.settings-page{opacity:1;transform:translateZ(0);transition:opacity var(--duration-release) var(--ease-out),transform var(--duration-release) var(--ease-out)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 2px 0}.section-head h2{color:var(--ink);font-size:var(--text-xl);font-weight:690;letter-spacing:-.035em;line-height:1.15}.section-head p{max-width:52%;overflow:hidden;color:var(--muted);font-size:var(--text-xs);line-height:1.25;text-align:right;text-overflow:ellipsis;white-space:nowrap}.active-alerts{display:grid;gap:0;overflow:hidden;margin-bottom:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-raised)}.active-alert{display:grid;grid-template-columns:8px minmax(0,1fr);gap:var(--space-3);padding:11px var(--space-4);background:transparent}.active-alert+.active-alert{border-top:1px solid var(--line-soft)}.active-alert>span{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--sun)}.active-alert.severity-critical>span{background:var(--danger)}.active-alert strong,.active-alert p{display:block}.active-alert strong{font-size:var(--text-sm)}.active-alert p{margin-top:2px;color:var(--muted);font-size:var(--text-sm)}.service-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb,var(--sun) 28%,var(--line));border-radius:var(--radius-panel);background:var(--sun-soft)}.service-banner strong{font-size:var(--text-sm)}.service-banner p{color:var(--sun);font-size:var(--text-xs)}.nav-dock{position:fixed;z-index:var(--layer-nav);right:0;bottom:0;left:0;padding:var(--space-2) max(var(--space-3),env(safe-area-inset-right)) max(var(--space-2),env(safe-area-inset-bottom)) max(var(--space-3),env(safe-area-inset-left));background:var(--canvas);border-top:1px solid var(--line)}.nav{width:min(100%,520px);margin-inline:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}.nav a{min-width:0;min-height:52px;display:grid;place-items:center;align-content:center;gap:3px;padding:4px 2px;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:.66rem;font-weight:620;cursor:pointer}.nav a.active{background:var(--leaf-soft);color:var(--leaf-strong)}.nav-label-full{display:none}.nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.auth-gate{min-height:100dvh;display:grid;place-items:center;overflow:auto;padding:max(var(--space-5),env(safe-area-inset-top)) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-5),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));background:var(--ink) url(/florarium/assets/florarium-lock-bg-B93Nz3TV.jpg) center / cover no-repeat}.auth-vignette{position:fixed;inset:0;background:linear-gradient(180deg,#0a120d42,#0a120d94);pointer-events:none}.pin-panel{position:relative;z-index:1;width:min(100%,350px);display:grid;gap:var(--space-4);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-dialog);background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 24px 70px #030c0757}.pin-dots{display:flex;justify-content:center;gap:var(--space-3);min-height:16px}.pin-dots span{width:12px;height:12px;border:1px solid var(--line-strong);border-radius:50%;background:transparent;transition:background-color var(--duration-state) var(--ease-out),border-color var(--duration-state) var(--ease-out),transform var(--duration-state) var(--ease-out)}.pin-dots span.filled{border-color:var(--leaf);background:var(--leaf);transform:scale(1.08)}.pin-error .pin-dots span.filled{border-color:var(--danger);background:var(--danger)}.pin-status,.auth-message{min-height:20px;color:var(--muted);font-size:var(--text-sm);text-align:center}.pin-status[data-tone=danger],.auth-message.error{color:var(--danger)}.pinpad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.pin-key{aspect-ratio:1.18;min-height:58px;border:1px solid var(--line-control);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-1);color:var(--ink);font-size:1.25rem;font-weight:620;cursor:pointer}.pin-key.key-clear,.pin-key.key-backspace{color:var(--muted);font-size:1rem}.pin-key:disabled,.pin-key[aria-disabled=true]{cursor:wait;opacity:.58}.lock-passkey{display:grid;gap:var(--space-2)}.lock-passkey-button{width:100%}.camera-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-feature);background:var(--surface-raised);box-shadow:var(--shadow-1)}.camera-card.is-unavailable{box-shadow:none}.camera-unavailable-copy{min-height:82px;display:grid;grid-template-columns:34px minmax(0,1fr) var(--control-sm) 8px;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);background:color-mix(in srgb,var(--surface-soft) 72%,var(--water-faint))}.camera-unavailable-copy>svg{width:26px;height:26px;fill:none;stroke:var(--muted);stroke-width:1.5}.camera-unavailable-copy>div{min-width:0}.camera-unavailable-copy strong{display:block;color:var(--ink);font-size:var(--text-sm)}.camera-unavailable-copy p{margin-top:2px;overflow:hidden;color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.camera-unavailable-copy .camera-link{grid-column:2;justify-self:start}.overview-screen.camera-unavailable>.metric-grid{order:1}.overview-screen.camera-unavailable>.overview-camera{order:2}.camera-frame{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--surface-inverse)}.camera-player-host,.camera-player-host video-stream,.camera-player-host video,.camera-go2rtc-player{width:100%;height:100%}.camera-player-host video-stream,.camera-player-host video,.camera-go2rtc-player{display:block;object-fit:cover}.camera-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:var(--space-2);color:#ffffffa8}.camera-placeholder svg{width:29px;fill:none;stroke:currentColor;stroke-width:1.5}.camera-placeholder span{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.camera-actions{min-height:64px;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4)}.camera-copy,.camera-action-spacer{min-width:0;flex:1;overflow:hidden;color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.camera-status-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--danger)}.camera-status-dot.online{background:var(--water)}.camera-link{white-space:nowrap}.hero{overflow:hidden;border:1px solid color-mix(in srgb,var(--tone, var(--leaf)) 18%,var(--line));border-radius:var(--radius-feature);background:color-mix(in srgb,var(--tone-soft, var(--leaf-faint)) 20%,var(--surface))}.hero-main{min-height:230px;display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.78fr);align-items:center;gap:var(--space-4);padding:var(--space-5)}.hero-copy{min-width:0;display:grid;justify-items:start;gap:var(--space-4)}.plant-guide-link{min-height:var(--control-sm);display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-control);background:color-mix(in srgb,var(--leaf-soft) 56%,transparent);color:var(--leaf-strong);font-size:var(--text-xs);font-weight:680}.plant-guide-link svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.8}.plant-state{--state-accent: var(--leaf);min-width:0}.plant-state.accent-water{--state-accent: var(--water)}.plant-state.accent-sun{--state-accent: var(--sun)}.plant-state.tone-risk{--state-accent: var(--danger)}.plant-state.tone-watch{--state-accent: var(--sun)}.plant-state.tone-offline{--state-accent: var(--muted)}.state-context{display:flex;align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--text-xs);font-weight:650}.state-context>span{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--state-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--state-accent) 12%,transparent)}.state-title{max-width:14ch;margin-top:var(--space-3);color:var(--ink);font-size:1.8rem;font-weight:690;letter-spacing:-.035em;line-height:1.08;text-wrap:balance}.plant-state.tone-risk .state-title{color:var(--danger-strong)}.plant-state.tone-offline .state-title{color:var(--ink-soft)}.state-recommendation{max-width:38ch;margin-top:var(--space-2);color:var(--muted);font-size:var(--text-sm);text-wrap:pretty}.scene{--scene-glow: rgb(47 107 69 / 15%);position:relative;min-height:190px;display:grid;place-items:center;isolation:isolate;color:var(--tone, var(--leaf))}.scene.lamp-on{--scene-glow: rgb(128 91 22 / 16%)}.scene.watering{--scene-glow: var(--water-glow)}.scene.tone-watch{--scene-glow: rgb(128 91 22 / 14%)}.scene.tone-risk{--scene-glow: rgb(162 61 48 / 12%)}.scene.tone-offline{--scene-glow: rgb(93 104 95 / 9%)}.scene:before{position:absolute;z-index:-1;inset:9% 1%;border-radius:50%;background:radial-gradient(circle,var(--scene-glow) 0%,transparent 68%);content:"";opacity:.82;transform:scale(.94);transition:opacity var(--duration-panel) var(--ease-out),transform var(--duration-panel) var(--ease-out)}.scene.lamp-on:before,.scene.watering:before{opacity:1;transform:scale(1)}.scene-plant{position:relative;z-index:1;width:100%;max-width:none;height:auto;display:block;object-fit:contain;filter:none;transform:translate(-8px);transition:filter var(--duration-panel) var(--ease-out),opacity var(--duration-panel) var(--ease-out),transform var(--duration-panel) var(--ease-out)}.plant-visual{position:relative;width:min(122%,190px);height:190px;display:grid;place-items:center;isolation:isolate}.plant-contact-shadow{position:absolute;z-index:0;bottom:18px;left:46%;width:92px;height:22px;border-radius:50%;background:radial-gradient(ellipse at 72% 50%,rgb(34 53 41 / 16%) 0%,rgb(34 53 41 / 8%) 38%,transparent 74%);filter:blur(2.5px);opacity:.72;transform:translate(-48%) rotate(-4deg);pointer-events:none}.plant-canvas{position:absolute;z-index:1;inset:0;width:100%;height:100%;display:block;opacity:0;transform:translate(-8px);pointer-events:none;touch-action:pan-y;transition:opacity var(--duration-panel) var(--ease-out)}.plant-visual.is-3d-ready .scene-plant{opacity:0;transform:translate(-8px) scale(.985)}.plant-visual.is-3d-ready .plant-canvas{opacity:1;pointer-events:auto;cursor:grab}.plant-visual.is-3d-ready .plant-canvas[data-dragging=true]{cursor:grabbing}.scene-inspect-toggle{position:absolute;z-index:4;bottom:1px;right:8px;min-height:29px;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border:1px solid color-mix(in srgb,var(--leaf) 22%,var(--line));border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 4px 12px #18291f12;color:var(--muted);font:inherit;font-size:.65rem;font-weight:650;opacity:.82;transform:scale(1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color var(--duration-state) var(--ease-out),color var(--duration-state) var(--ease-out),opacity var(--duration-state) var(--ease-out),transform .14s var(--ease-out)}.scene-inspect-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.scene-inspect-toggle:active{transform:scale(.97)}.scene-inspect-toggle[aria-pressed=true]{border-color:color-mix(in srgb,var(--leaf) 42%,var(--line));color:var(--leaf-strong);opacity:1}.scene-sensor-map{position:absolute;z-index:3;inset:8px 0 31px;opacity:0;pointer-events:none;transform:scale(.985);transition:opacity .18s var(--ease-out),transform .22s var(--ease-out)}.plant-visual.is-inspecting .scene-sensor-map{opacity:1;transform:scale(1)}.scene-sensor-node{position:absolute;display:inline-flex;align-items:center;gap:5px;padding:3px 6px;border:1px solid color-mix(in srgb,var(--leaf) 18%,var(--line));border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface) 84%,transparent);color:var(--ink-soft);font-size:.59rem;font-weight:650;line-height:1;opacity:0;transform:translateY(4px);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .16s var(--ease-out),transform .2s var(--ease-out)}.scene-sensor-node i{width:5px;height:5px;border-radius:50%;background:var(--water-bright);box-shadow:0 0 0 3px color-mix(in srgb,var(--water-bright) 13%,transparent)}.plant-visual.is-inspecting .scene-sensor-node{opacity:1;transform:translateY(0)}.plant-visual.is-inspecting .sensor-air{transition-delay:30ms}.plant-visual.is-inspecting .sensor-soil{transition-delay:60ms}.plant-visual.is-inspecting .sensor-pump{transition-delay:90ms}.sensor-light{top:4px;left:0}.sensor-air{top:4px;right:0}.sensor-soil{bottom:7px;left:0}.sensor-pump{right:0;bottom:7px}@media(hover:hover)and (pointer:fine){.scene-inspect-toggle:hover{color:var(--leaf-strong);opacity:1;transform:translateY(-1px)}}.scene-actuators{position:absolute;z-index:2;top:5%;right:1%;display:grid;gap:1px;pointer-events:none;transition:opacity .16s var(--ease-out),transform .2s var(--ease-out)}.scene:has(.plant-visual.is-inspecting) .scene-actuators{opacity:0;transform:translate(4px)}.scene-actuator{--actuator-color: var(--muted-soft);--actuator-glow: rgb(93 104 95 / 10%);position:relative;width:34px;height:32px;display:grid;place-items:center;color:var(--actuator-color);opacity:.5;transform:translate(0) scale(.98);transition:color var(--duration-state) var(--ease-out),opacity var(--duration-state) var(--ease-out),transform var(--duration-state) var(--ease-out)}.scene-actuator:before{position:absolute;inset:-4px;border-radius:50%;background:radial-gradient(circle,var(--actuator-glow) 0%,transparent 70%);content:"";opacity:0;transform:scale(.82);transition:opacity var(--duration-panel) var(--ease-out),transform var(--duration-panel) var(--ease-out)}.scene-actuator svg{position:relative;z-index:1;width:23px;height:23px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transition:filter var(--duration-state) var(--ease-out)}.scene-actuator .icon-rays{opacity:0;transform:scale(.86);transform-box:fill-box;transform-origin:center;transition:opacity var(--duration-state) var(--ease-out),transform var(--duration-state) var(--ease-out)}.scene-lamp-indicator[data-state=on]{--actuator-color: var(--sun);--actuator-glow: var(--sun-glow)}.scene-humidifier-indicator[data-state=on],.scene-pump-indicator[data-state=on]{--actuator-color: var(--water-bright);--actuator-glow: var(--water-glow)}.scene-actuator[data-state=on]{opacity:1;transform:translate(-1px) scale(1)}.scene-actuator[data-state=on]:before{opacity:1;transform:scale(1)}.scene-actuator[data-state=on] svg{filter:drop-shadow(0 0 4px var(--actuator-glow))}.scene-lamp-indicator[data-state=on] .icon-rays{opacity:1;transform:scale(1)}.scene-actuator[data-state=unknown]{opacity:.34}.scene-water{position:absolute;right:-2%;bottom:7%;left:-2%;width:104%;overflow:visible;transition:opacity .16s var(--ease-out);pointer-events:none}.scene:has(.plant-visual.is-3d-ready) .scene-water{opacity:0}.scene .water-wave{fill:none;stroke:var(--water-bright);stroke-width:3;stroke-linecap:round;opacity:0;transform:translateY(6px);transition:opacity var(--duration-panel) var(--ease-out),transform var(--duration-panel) var(--ease-out)}.scene.watering .water-wave{opacity:1;transform:translateY(0)}.scene.tone-offline .scene-plant{filter:grayscale(.72);opacity:.62}.scene.tone-offline .plant-contact-shadow{opacity:.42}.scene.tone-offline .plant-canvas{filter:grayscale(.72);opacity:.62}.scene.tone-offline .plant-visual.is-3d-ready .scene-plant{opacity:0}.action-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.action-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.action{--action-accent: var(--leaf);--action-soft: var(--leaf-soft);min-width:0;min-height:62px;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--line-control);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:0 2px 5px #17221c12;color:var(--ink-soft);font-size:var(--text-sm);font-weight:680;cursor:pointer;transition:transform var(--duration-release) var(--ease-out),border-color var(--duration-state) var(--ease-out),background-color var(--duration-state) var(--ease-out),box-shadow var(--duration-release) var(--ease-out),color var(--duration-state) var(--ease-out),opacity var(--duration-state) var(--ease-out)}.action.accent-water{--action-accent: var(--water);--action-soft: var(--water-soft)}.action.accent-sun{--action-accent: var(--sun);--action-soft: var(--sun-soft)}.action.accent-leaf{--action-accent: var(--leaf);--action-soft: var(--leaf-soft)}.action.state-blocked{--action-accent: var(--danger);--action-soft: var(--danger-soft)}.action>svg{width:21px;height:21px;flex:0 0 21px;fill:none;stroke:var(--action-accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.action>.ui-busy-indicator{color:var(--action-accent)}.action.state-active,.action[aria-pressed=true]{border-color:color-mix(in srgb,var(--action-accent) 64%,var(--line-control));background:var(--action-soft);color:var(--action-accent)}.action.is-pending,.action[aria-busy=true]{border-color:color-mix(in srgb,var(--action-accent) 58%,var(--line-control));background:var(--action-soft)}.action[data-pressing]{box-shadow:inset 0 2px 4px #17221c1f}.action:disabled,.action[aria-disabled=true]{box-shadow:none;cursor:not-allowed;opacity:.52}.action[aria-busy=true]{cursor:progress;opacity:1}.action-message{min-height:20px;color:var(--muted);font-size:var(--text-sm);text-align:center}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-raised)}.metric{--tone: var(--tone-ok);min-width:0;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-raised)}.metric.compact{border:0;border-radius:0;box-shadow:none}.metric.compact:nth-child(odd){border-right:1px solid var(--line-soft)}.metric.compact:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);color:var(--muted);font-size:var(--text-sm)}.metric-value{margin-top:var(--space-2);color:var(--ink);font-size:1.9rem;font-weight:640;letter-spacing:-.045em;line-height:1}.metric>p{margin-top:var(--space-3);color:var(--muted);font-size:var(--text-xs)}.ideal-bar{position:relative;height:5px;margin-top:var(--space-4);border-radius:var(--radius-pill);background:var(--surface-soft)}.ideal-range{position:absolute;top:0;bottom:0;left:var(--ideal-left);width:var(--ideal-width);border-radius:inherit;background:var(--leaf-soft)}.current-point{position:absolute;top:50%;left:clamp(0%,var(--raw-left),100%);width:9px;height:9px;border:2px solid var(--surface-raised);border-radius:50%;background:var(--tone, var(--leaf));box-shadow:0 0 0 1px var(--tone, var(--leaf));transform:translate(-50%,-50%)}.metric-stack,.device-list,.journal,.rules{display:grid;gap:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-raised)}.metric-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-stack .metric{border:0;border-radius:0}.metric-stack .metric:nth-child(odd){border-right:1px solid var(--line-soft)}.metric-stack .metric:not(:nth-last-child(-n+2)){border-bottom:1px solid var(--line-soft)}.history-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-raised)}.history-chart{min-width:0;padding:var(--space-3)}.history-chart:nth-child(odd){border-right:1px solid var(--line-soft)}.history-chart:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.history-chart>div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.history-chart span{color:var(--muted);font-size:var(--text-xs)}.history-chart b{font-size:var(--text-sm);font-weight:680}.history-chart svg{width:100%;height:42px;margin-top:var(--space-2)}.history-chart path{fill:none;stroke:var(--line);stroke-width:1}.history-chart polyline{fill:none;stroke:var(--leaf);stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.device,.event,.live-card{display:grid;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-raised)}.device{grid-template-columns:minmax(0,1fr) auto}.event{grid-template-columns:48px minmax(0,1fr)}.live-card{grid-template-columns:minmax(0,1fr)}.command-focus{min-height:68px;display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-raised)}.device-list>*+*,.journal>*+*,.rules>*+*{border-top:1px solid var(--line-soft)}.device h3,.event h3,.live-card strong,.command-focus strong{font-size:var(--text-sm);font-weight:660}.device p,.event p,.live-card p,.command-focus p{margin-top:2px;color:var(--muted);font-size:var(--text-xs)}.event .time{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs)}.badge{min-height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0 9px;border-radius:var(--radius-pill);background:var(--tone-soft, var(--surface-soft));color:var(--tone, var(--ink-soft));font-size:var(--text-xs);font-weight:680}.live-card>div{display:flex;align-items:center;gap:var(--space-2)}.auto-summary{padding:var(--space-4)}.auto-summary strong{font-size:var(--text-md)}.auto-summary p{margin-top:3px;color:var(--muted);font-size:var(--text-sm)}.rule{border:0;border-radius:0;background:var(--surface-raised)}.rules>.rule+.rule{border-top:1px solid var(--line-soft)}.rule .ui-switch-label strong{font-size:var(--text-md);font-weight:660}.command-dot{width:9px;height:9px;border-radius:50%;background:var(--sun)}.command-dot.status-applied,.command-dot.status-acked{background:var(--leaf)}.command-dot.status-failed,.command-dot.status-expired{background:var(--danger)}.command-focus>b{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500}.ai-workbench{display:grid;gap:var(--space-4)}.ai-panel{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-raised)}.ai-panel.ready{border-color:color-mix(in srgb,var(--leaf) 28%,var(--line))}.ai-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:var(--radius-control);background:var(--leaf-soft);color:var(--leaf-strong)}.ai-mark svg{width:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.ai-panel h3{font-size:var(--text-md);font-weight:680}.ai-panel p{margin-top:2px;color:var(--muted);font-size:var(--text-sm)}.ai-composer{display:grid;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-1)}.ai-composer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.ai-composer-head h3{font-size:var(--text-md);font-weight:680}.ai-composer-head p{margin-top:2px;color:var(--muted);font-size:var(--text-xs)}.ai-composer-head>span{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs)}.ai-note{display:grid;gap:var(--space-2)}.ai-note>.ui-field-copy label{color:var(--ink-soft);font-size:var(--text-sm);font-weight:620}.ai-note textarea{width:100%;min-height:92px;padding:var(--space-3);line-height:1.45}.ai-note .ui-field-control{display:contents}.ai-run{width:100%}.ai-message{min-height:20px;text-align:center}.ai-history,.ai-history-list{display:grid;gap:var(--space-3)}.ai-history-card{overflow:clip;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:0 1px 3px #17221c0a;transition:border-color var(--duration-state) var(--ease-out),box-shadow var(--duration-state) var(--ease-out),opacity var(--duration-state) var(--ease-out)}.ai-history-card.is-expanded{border-color:color-mix(in srgb,var(--leaf) 30%,var(--line));box-shadow:var(--shadow-1)}.ai-history-card.is-deleting{opacity:.55}.ai-history-summary{width:100%;min-height:86px;display:grid;grid-template-columns:76px minmax(0,1fr) 28px;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.ai-history-summary:disabled{cursor:wait;opacity:.62}.ai-history-summary[aria-busy=true]{cursor:progress;opacity:1}.ai-history-thumb,.ai-history-thumb-empty{width:76px;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--radius-sm);background:var(--surface-soft)}.ai-history-thumb img{width:100%;height:100%;object-fit:cover}.ai-history-thumb-empty{display:grid;place-items:center;color:var(--muted-soft)}.ai-history-thumb-empty svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.5}.ai-history-copy{min-width:0;display:grid;gap:5px}.ai-history-topline{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.ai-history-topline strong{font-size:var(--text-sm);font-weight:680}.ai-history-topline>span{color:var(--muted);font-family:var(--font-mono);font-size:.68rem;white-space:nowrap}.ai-history-preview{overflow:hidden;color:var(--muted);font-size:var(--text-xs);line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.ai-history-disclosure{color:var(--muted);transition:transform var(--duration-state) var(--ease-out)}.ai-history-disclosure svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8}.ai-history-disclosure .ui-busy-indicator{width:18px;height:18px;color:var(--leaf)}.ai-history-summary[aria-expanded=true] .ai-history-disclosure{transform:rotate(90deg)}.ai-history-expansion-shell{border-top:1px solid var(--line-soft)}.ai-history-expansion-inner{padding:var(--space-4)}.ai-history-expansion{display:grid;gap:var(--space-4)}.ai-history-frame{margin:0;aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--radius-control);background:var(--surface-inverse)}.ai-history-frame img{width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity var(--duration-media) var(--ease-out)}.ai-history-frame img.is-loaded{opacity:1}.ai-history-image-note{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb,var(--water) 20%,var(--line));border-radius:var(--radius-control);background:var(--water-faint);color:var(--ink-soft)}.ai-history-image-note>svg,.ai-history-frame-empty>svg{width:24px;height:24px;flex:0 0 24px;fill:none;stroke:var(--water);stroke-width:1.5}.ai-history-image-note>span{display:grid;gap:2px}.ai-history-image-note strong{color:var(--ink);font-size:var(--text-sm)}.ai-history-image-note small{color:var(--muted);font-size:var(--text-xs);line-height:1.4}.ai-history-frame-empty{min-height:150px;display:grid;place-items:center;border:1px dashed var(--line-strong);border-radius:var(--radius-control);color:var(--muted);font-size:var(--text-sm)}.ai-history-answer{max-width:72ch;padding-block:var(--space-1) var(--space-2)}.ai-history-markdown{display:grid;gap:var(--space-3);color:var(--ink-soft);font-size:var(--text-md);line-height:1.58}.ai-history-markdown strong{color:var(--ink);font-weight:700}.ai-history-markdown h3,.ai-history-markdown h4{margin:var(--space-1) 0 0;color:var(--ink);font-size:var(--text-md);line-height:1.3;font-weight:760}.ai-history-markdown code{padding:2px 5px;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--surface-raised);font-family:var(--font-mono);font-size:.88em}.ai-history-markdown ul,.ai-history-markdown ol{margin:0;padding-left:1.25rem}.ai-history-markdown-empty{color:var(--muted);font-size:var(--text-sm)}.ai-history-context{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface)}.ai-history-detail-summary{min-height:var(--control-sm);display:flex;align-items:center;padding:0 var(--space-3);color:var(--ink-soft);font-size:var(--text-sm);font-weight:620;cursor:pointer;list-style:none}.ai-history-detail-summary::-webkit-details-marker{display:none}.ai-history-context[open] .ai-history-detail-summary{border-bottom:1px solid var(--line-soft)}.ai-history-telemetry-summary{color:var(--muted);font-size:var(--text-xs);line-height:1.5}.ai-history-context pre{max-height:300px;margin:0;overflow:auto;padding:var(--space-3);color:var(--ink-soft);font-family:var(--font-mono);font-size:.72rem;line-height:1.5;white-space:pre-wrap}.ai-history-inline-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2)}.ai-collapse-assist{--ui-surface-y: 8px;position:fixed;z-index:var(--layer-float);left:50%;right:auto;bottom:calc(var(--nav-mobile-h) + var(--space-3) + env(safe-area-inset-bottom));display:flex;translate:-50% 0;visibility:hidden;opacity:0;pointer-events:none;transition:opacity var(--duration-state) var(--ease-out),transform var(--duration-state) var(--ease-out),visibility 0s linear var(--duration-state)}.ai-collapse-assist.is-visible{--ui-surface-y: 0px;visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s}.ai-collapse-assist svg{width:18px;transform:rotate(-90deg);fill:none;stroke:currentColor;stroke-width:1.8}.settings-page{display:grid;gap:var(--space-4)}.settings-page:has(>.settings-sections){width:100%;max-width:720px;margin-inline:auto}.settings-sections{display:grid;gap:var(--space-5)}.settings-section{display:grid;gap:var(--space-2)}.settings-section>h2{padding-inline:var(--space-2);color:var(--ink-soft);font-size:var(--text-sm);font-weight:680}.settings-list,.settings-stack{min-inline-size:0;margin:0;padding:0;display:grid;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-raised)}.settings-stack{gap:var(--space-4);overflow:visible;border:0;background:transparent}.settings-nav-row{width:100%;min-height:60px;display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line-soft);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.settings-nav-row:last-child{border-bottom:0}.settings-nav-row>span{font-size:var(--text-md);font-weight:620}.settings-nav-row>b{overflow:hidden;color:var(--muted);font-size:var(--text-xs);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.settings-nav-row.without-detail>span{grid-column:1 / 3}.settings-nav-row svg{width:19px;fill:none;stroke:var(--muted-soft);stroke-width:1.8}.settings-advanced{display:grid}.settings-advanced>summary{list-style:none}.settings-advanced>summary::-webkit-details-marker{display:none}.settings-advanced:not([open])>summary{border-bottom:0}.settings-advanced>summary>svg{transition:transform .18s var(--ease-out)}.settings-advanced[open]>summary>svg{transform:rotate(90deg)}.settings-advanced-list{display:grid;background:var(--surface)}.settings-advanced-list .settings-nav-row{padding-left:calc(var(--space-4) + var(--space-3))}.settings-detail-bar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-2);padding-bottom:var(--space-2)}.settings-back{min-height:var(--control-sm);display:inline-flex;align-items:center;gap:4px;padding:0 var(--space-2);border-radius:var(--radius-control);background:transparent;color:var(--leaf-strong);font-size:var(--text-sm);font-weight:650;cursor:pointer}.settings-back svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.9}.settings-detail-title{min-width:0;text-align:center}.settings-detail-title h2{font-size:var(--text-lg);font-weight:690;letter-spacing:-.025em;overflow-wrap:anywhere}.settings-note{margin:0;padding:var(--space-3) var(--space-4);color:var(--ink-soft);font-size:var(--text-sm);line-height:1.5}.control-explanation{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;font-size:var(--text-sm);line-height:1.5}.overview-feedback{display:grid;gap:var(--space-2)}.overview-feedback:empty{display:none}.control-explanation p{color:var(--ink-soft);max-width:65ch}.control-explanation a{display:inline-flex;align-items:center;min-height:44px;color:var(--leaf-strong);text-underline-offset:3px}.settings-detail-title p{color:var(--muted);font-size:var(--text-xs)}.settings-state-message{min-height:44px;display:flex;align-items:center;padding:var(--space-2) var(--space-3);color:var(--danger-strong);line-height:1.4}.detail-list>*+*{border-top:1px solid var(--line-soft)}.detail-list:disabled [data-choice]{--ui-press-y: 0px;--ui-press-scale: 1;cursor:not-allowed;opacity:.5}.settings-readout,.settings-input-row,.settings-range{min-height:62px;padding:var(--space-3) var(--space-4)}.settings-readout{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.settings-input-row{grid-template-columns:minmax(0,1fr) minmax(120px,230px);align-items:center}.settings-readout span,.settings-input-row label,.range-top>span{color:var(--ink-soft);font-size:var(--text-sm);font-weight:600}.settings-readout p{margin-top:2px;color:var(--muted);font-size:var(--text-xs)}.settings-readout b{color:var(--ink);font-size:var(--text-sm);font-weight:650;text-align:right}.settings-input-row .ui-field-control{width:100%;display:flex;justify-content:flex-end}.settings-input-row input{width:100%;padding:0 var(--space-3);text-align:right}.settings-input-row.is-disabled{opacity:.52}.settings-range{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:var(--space-2) var(--space-4);align-items:center}.range-top{grid-column:1 / -1;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.range-top b{color:var(--leaf-strong);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600}.settings-range input[type=number]{width:88px;padding:0 var(--space-2);font-family:var(--font-mono);font-size:1rem;text-align:center}.settings-toggle+.settings-toggle,.settings-toggle+.settings-input-row,.settings-toggle+.settings-range,.settings-input-row+.settings-input-row,.settings-input-row+.settings-range,.settings-range+.settings-range,.settings-range+.settings-toggle{border-top:1px solid var(--line-soft)}.settings-control-group{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-raised)}.settings-control-head{min-height:56px;display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) 20px;align-items:baseline;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface);cursor:pointer;list-style:none}.settings-control-head::-webkit-details-marker{display:none}.settings-control-head>strong{font-size:var(--text-sm);font-weight:690}.settings-control-head span{min-width:0;color:var(--muted);font-size:var(--text-xs);text-align:right}.settings-control-head svg{width:19px;align-self:center;fill:none;stroke:var(--muted-soft);stroke-width:1.8;transition:transform .18s var(--ease-out)}.settings-control-group[open] .settings-control-head{border-bottom:1px solid var(--line-soft)}.settings-control-group[open] .settings-control-head svg{transform:rotate(90deg)}.settings-control-list{display:grid}.plant-model-control{display:grid;gap:var(--space-4);padding:var(--space-4)}.plant-model-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.plant-model-head strong{font-size:var(--text-md)}.plant-model-head span{color:var(--muted);font-size:var(--text-xs);text-align:right}.plant-model-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:var(--space-3) var(--space-2)}.plant-model-choice{position:relative;min-width:0;min-height:134px;display:grid;justify-items:center;align-content:start;gap:var(--space-2);padding:3px;color:var(--muted);text-align:center;cursor:pointer}.plant-model-choice input{position:absolute;z-index:2;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.plant-model-preview{width:92px;height:92px;display:grid;place-items:center;border:1px solid transparent;border-radius:var(--radius-control);background:var(--surface);transition:background-color var(--duration-state) var(--ease-out),border-color var(--duration-state) var(--ease-out),transform var(--duration-state) var(--ease-out)}.plant-model-preview img{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 3px 3px rgb(23 34 28 / 9%))}.plant-model-check{position:absolute;z-index:1;top:4px;left:calc(50% + 24px);width:21px;height:21px;display:grid;place-items:center;border:2px solid var(--surface-raised);border-radius:50%;background:var(--leaf-strong);color:var(--surface-raised);font-size:.72rem;font-weight:800;line-height:1;opacity:0;transform:scale(.72);transition:opacity var(--duration-state) var(--ease-out),transform var(--duration-state) var(--ease-out)}.plant-model-copy{min-width:0;display:grid;gap:1px}.plant-model-copy b{color:var(--ink-soft);font-size:var(--text-xs);font-weight:670}.plant-model-copy small{color:var(--muted);font-size:var(--text-xs);line-height:1.3;text-wrap:balance}.plant-model-choice:has(input:checked) .plant-model-preview{border-color:var(--leaf);background:var(--leaf-faint);transform:translateY(-1px)}.plant-model-choice:has(input:checked) .plant-model-copy b{color:var(--leaf-strong)}.plant-model-choice:has(input:checked) .plant-model-check{opacity:1;transform:scale(1)}.plant-model-choice:has(input:focus-visible) .plant-model-preview{outline:2px solid var(--water);outline-offset:2px}.plant-model-note{color:var(--muted);font-size:var(--text-xs);line-height:1.45}.plant-model-attribution{padding-top:var(--space-3);border-top:1px solid var(--line-soft)}.plant-model-attribution summary{min-height:var(--control-sm);padding-block:13px;color:var(--ink-soft);font-size:var(--text-xs);font-weight:650;cursor:pointer}.plant-model-attribution[open] summary{margin-bottom:var(--space-2)}.plant-model-attribution ul{display:grid;gap:3px;padding-left:1.15rem}.plant-model-attribution li{color:var(--muted);font-size:.7rem;line-height:1.4}.plant-model-attribution a{color:var(--leaf-strong);text-decoration-thickness:1px;text-underline-offset:2px}.events-block{display:grid;gap:var(--space-3)}.soil-calibration{display:grid;gap:var(--space-4);padding:var(--space-4)}.soil-calibration-head,.soil-live-row,.soil-curve-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.soil-calibration-head strong{font-size:var(--text-md)}.soil-calibration-head p{margin-top:3px;color:var(--muted);font-size:var(--text-xs)}.soil-calibration-head>b{color:var(--leaf-strong);font-size:1.35rem}.soil-live-row{padding:var(--space-3)}.soil-live-row>div{display:grid;gap:1px}.soil-live-row span{color:var(--muted);font-size:var(--text-xs)}.soil-live-row strong{font-family:var(--font-mono);font-size:1.2rem}.soil-live-row small{color:var(--muted);font-size:.7rem}.soil-live-row small.active{color:var(--water)}.soil-live-row small.pending{color:var(--sun)}.soil-live-row>p{max-width:56%;color:var(--muted);font-size:var(--text-xs);text-align:right}.soil-step-row{min-width:0;margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.soil-step-row label{min-width:0;min-height:58px;display:grid;place-items:center;align-content:center;gap:2px;padding:4px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);cursor:pointer}.soil-step-row input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.soil-step-row label:has(input:focus-visible){outline:2px solid var(--water);outline-offset:2px}.soil-step-row label span{font-size:var(--text-xs);font-weight:660}.soil-step-row label b{font-family:var(--font-mono);font-size:.68rem;font-weight:500}.soil-step-row label.captured{border-color:color-mix(in srgb,var(--leaf) 34%,var(--line));color:var(--leaf-strong)}.soil-step-row label.active{border-color:var(--leaf);background:var(--leaf-soft);color:var(--leaf-strong)}.soil-curve-panel{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface)}.soil-curve-panel.is-invalid{border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}.soil-curve-meta span{color:var(--muted);font-size:var(--text-xs)}.soil-curve-meta b{color:var(--leaf-strong);font-size:var(--text-xs)}.soil-curve-panel.is-invalid .soil-curve-meta b{color:var(--danger)}.soil-curve-graph{width:100%;height:auto}.soil-curve-graph .grid{fill:none;stroke:var(--line-soft);stroke-width:1}.soil-curve-graph .curve{fill:none;stroke:var(--leaf);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}.soil-curve-graph circle{fill:var(--surface-raised);stroke:var(--line-strong);stroke-width:2}.soil-curve-graph circle.captured{fill:var(--leaf-soft);stroke:var(--leaf)}.soil-curve-graph circle.active{fill:var(--leaf);stroke:var(--surface-raised)}.soil-curve-graph circle.current{fill:var(--water);stroke:var(--surface-raised)}.soil-curve-points{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.soil-curve-points small{font-size:var(--text-xs)}.soil-curve-points span{display:grid;place-items:center;color:var(--muted);font-size:.66rem}.soil-curve-points b{color:var(--ink-soft)}.soil-curve-points small{font-family:var(--font-mono)}.soil-calibration-actions{display:grid;gap:var(--space-2)}.soil-calibration-actions .ui-button{width:100%}.soil-calibration-hint{color:var(--muted);font-size:var(--text-xs);line-height:1.45}.passkey-panel{display:grid;gap:var(--space-4);padding:var(--space-4)}.passkey-panel>div:first-child{display:grid;justify-items:start;gap:var(--space-2)}.passkey-panel strong{font-size:var(--text-md)}.passkey-panel p{color:var(--muted);font-size:var(--text-sm)}.passkey-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.passkey-actions .passkey-action{min-width:92px}}@layer utilities{@media(max-width:359px){.screens{padding-inline:max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right))}.topbar{padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right))}.mark{width:36px;height:36px;flex-basis:36px}.connection{padding-inline:8px}.action{min-height:66px;flex-direction:column;gap:3px;font-size:.7rem}.hero-main{grid-template-columns:minmax(0,1fr) 110px;padding:var(--space-4)}.ai-history-summary{grid-template-columns:64px minmax(0,1fr) 20px;gap:var(--space-2)}.ai-history-thumb,.ai-history-thumb-empty{width:64px}.settings-detail-bar{grid-template-columns:72px minmax(0,1fr) 72px}.settings-back span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.settings-range{grid-template-columns:minmax(0,1fr) 76px;column-gap:var(--space-2)}.settings-range input[type=number]{width:76px}}@media(max-height:680px)and (orientation:landscape){.auth-gate{place-items:start center}.pin-panel{width:min(100%,560px);grid-template-columns:180px minmax(260px,1fr);align-items:center;padding:var(--space-4)}.pin-dots,.pin-status,.lock-passkey{grid-column:1}.pinpad{grid-column:2;grid-row:1 / span 3;gap:var(--space-2)}.pin-key{min-height:44px;aspect-ratio:auto}}@media(min-width:700px){.screens{padding:var(--space-5) max(var(--space-6),env(safe-area-inset-right)) calc(var(--nav-mobile-h) + var(--space-7) + env(safe-area-inset-bottom)) max(var(--space-6),env(safe-area-inset-left))}.metric-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.history-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.history-chart:nth-child(n){border-right:1px solid var(--line-soft);border-bottom:0}.history-chart:last-child{border-right:0}.soil-calibration-actions{grid-template-columns:1.2fr 1fr .8fr}.soil-calibration-actions .ui-button{width:auto}.passkey-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center}}@media(min-width:900px){.app{min-height:100dvh;display:grid;grid-template-columns:176px minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0,1fr)}.topbar{grid-column:1 / -1;grid-row:1;padding-inline:max(var(--space-6),env(safe-area-inset-left)) max(var(--space-6),env(safe-area-inset-right))}.screens{grid-column:2;grid-row:2;padding:var(--space-7) max(var(--space-7),env(safe-area-inset-right)) calc(var(--space-9) + env(safe-area-inset-bottom)) var(--space-7)}.nav-dock{position:sticky;z-index:var(--layer-nav);top:var(--topbar-h);grid-column:1;grid-row:2;align-self:start;height:calc(100dvh - var(--topbar-h));padding:var(--space-5) var(--space-3) max(var(--space-5),env(safe-area-inset-bottom)) max(var(--space-3),env(safe-area-inset-left));border-top:0;border-right:1px solid var(--line);background:var(--canvas-warm)}.nav{width:100%;display:flex;flex-direction:column;gap:5px}.nav a{width:100%;min-height:48px;display:grid;grid-template-columns:26px minmax(0,1fr);place-items:center start;gap:var(--space-2);padding:0 var(--space-3);font-size:var(--text-sm);text-align:left}.nav-label-short{display:none}.nav-label-full{display:inline}.overview-screen{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.8fr);grid-template-areas:"camera hero" "actions actions" "message message" "metrics metrics";align-items:start}.overview-camera{grid-area:camera}.overview-screen>.hero{grid-area:hero;height:100%}.overview-screen>.hero{display:grid}.overview-screen>.hero .hero-main{min-height:100%}.overview-screen>.overview-actions{grid-area:actions}.overview-screen>.overview-feedback{grid-area:message}.overview-screen>.metric-grid{grid-area:metrics}.overview-screen .camera-card{height:100%}.overview-screen .camera-card.is-unavailable{height:auto}.overview-screen .camera-frame{min-height:270px}.overview-screen.camera-unavailable>.metric-grid,.overview-screen.camera-unavailable>.overview-camera{order:initial}.hero-main{min-height:270px;grid-template-columns:minmax(0,1fr) 125px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric.compact:nth-child(n){border-right:1px solid var(--line-soft);border-bottom:0}.metric.compact:last-child{border-right:0}.ai-collapse-assist{bottom:var(--space-5)}.settings-page{width:min(100%,820px);margin-inline:auto}}@media(min-width:1080px){.metric-stack{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-stack .metric:nth-child(n){border-right:0;border-bottom:1px solid var(--line-soft)}.metric-stack .metric:not(:nth-child(3n)){border-right:1px solid var(--line-soft)}.metric-stack .metric:nth-last-child(-n+3){border-bottom:0}.ai-screen{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(420px,1.22fr);align-items:start;gap:var(--space-5)}.ai-screen>.section-head{grid-column:1 / -1}.ai-screen>.ai-workbench{grid-column:1}.ai-screen>.ai-history{grid-column:2;grid-row:2 / span 2}}@media(hover:hover)and (pointer:fine){.nav a:not(.active):hover,.settings-nav-row:hover,.ai-history-summary:hover{background:var(--leaf-faint)}.action:not(:disabled,[aria-disabled=true]):hover{border-color:color-mix(in srgb,var(--action-accent, var(--leaf)) 58%,var(--line-control));background:color-mix(in srgb,var(--action-soft, var(--leaf-soft)) 35%,var(--surface-raised))}}}@layer utilities{.care-screen{max-width:900px;margin-inline:auto}.care-decision{margin:0 0 var(--space-5);color:var(--ink-soft);line-height:1.55;max-width:70ch}.care-sections{display:grid;gap:var(--space-4)}.care-section{scroll-margin-top:92px;padding-top:var(--space-5);border-top:1px solid var(--line)}.care-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.care-section-head h3{font-size:1.18rem;margin:0}.care-section-head p{color:var(--muted);font-size:var(--text-sm);margin:0;text-align:right}.care-parameters{margin-top:var(--space-3)}.care-parameters>summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;color:var(--leaf-strong)}.care-parameters>summary::-webkit-details-marker{display:none}.care-parameters>summary svg{width:18px;height:18px;transition:transform var(--duration-state) var(--ease-out)}.care-parameters[open]>summary svg{transform:rotate(90deg)}.care-parameter-list{border:0;border-radius:0;background:transparent;padding:0;margin:0}.care-parameter-list .settings-range,.care-parameter-list .settings-toggle,.care-parameter-list .settings-input-row,.care-parameter-list .settings-note{padding-inline:0}.care-rule-reason,.control-note{color:var(--muted);font-size:var(--text-sm);line-height:1.5}.actuator-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5) var(--space-6)}.actuator-controls.is-single{grid-template-columns:1fr}.actuator-control{min-width:0}.actuator-control>h3{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--text-lg)}.actuator-control h3 svg{width:20px;height:20px}.actuator-control h3 svg,.control-detail-link svg,.plant-links svg,.metric-hint svg,.care-parameters>summary svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.water-control>h3{color:var(--water)}.light-control>h3{color:var(--sun)}.actuator-state{min-height:2.8em;margin:8px 0 12px;color:var(--muted);font-size:var(--text-sm);line-height:1.4}.actuator-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:var(--space-2)}.actuator-actions>button{flex:1 1 auto;min-height:48px}.actuator-control .ui-switch-row{margin-top:12px;min-height:56px;padding-inline:0}.actuator-controls .control-explanation{display:block;padding:12px 0;font-size:var(--text-sm)}.actuator-controls .control-explanation p{margin-top:4px;line-height:1.5}.control-detail-link{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;margin-top:8px;color:var(--leaf-strong);font-size:var(--text-sm);text-decoration:none}.control-detail-link svg{width:16px;height:16px;flex:none}.control-feedback{grid-column:1 / -1}.care-screen .actuator-state{min-height:0}.care-screen .actuator-actions{max-width:430px}.care-screen .actuator-control .ui-switch-row{max-width:560px}.overview-v2{gap:var(--space-5)}.overview-v2 .hero{border:0;background:transparent;border-radius:0}.overview-v2 .hero-main{padding:8px 0;min-height:200px;grid-template-columns:minmax(0,1fr) 145px;gap:12px}.overview-v2 .state-title{font-size:1.65rem;letter-spacing:-.025em}.overview-v2 .state-recommendation{margin-top:10px;line-height:1.5}.plant-links{display:flex;flex-wrap:wrap;column-gap:16px;margin-top:12px}.plant-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--leaf-strong);font-size:var(--text-sm);text-decoration:none}.plant-links svg{width:14px;height:14px}.overview-v2 .metric-grid{order:initial!important}.metric-link{text-align:left;text-decoration:none;background:transparent;border:0;color:inherit;padding:16px;min-width:0}.metric-link .metric.compact{border:0;padding:0}.metric-link .metric-hint{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:var(--text-xs);margin-top:8px}.metric-hint svg{width:14px;height:14px}.metric-link+.metric-link{border-left:1px solid var(--line-soft)}.overview-v2 .overview-actions{padding-block:var(--space-5);border-block:1px solid var(--line)}.actuator-controls:not(.is-single){gap:0 20px}.actuator-controls:not(.is-single)>.actuator-control{display:grid;grid-template-rows:subgrid;grid-row:1 / span 4}.actuator-controls:not(.is-single)>.water-control{grid-column:1}.actuator-controls:not(.is-single)>.light-control{grid-column:2}.actuator-controls:not(.is-single) .actuator-state{min-height:2.8em;margin:8px 0 12px}.actuator-controls:not(.is-single) .actuator-actions{align-self:start}.actuator-controls:not(.is-single) .control-detail-link{margin-top:6px}.actuator-secondary{grid-column:1 / -1;margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft)}.actuator-secondary>.ui-switch-row{width:100%;padding:8px 0;min-height:64px}.actuator-secondary .ui-switch-copy{max-width:52ch}.actuator-controls .control-feedback{margin-top:12px}.overview-v2 .overview-camera{order:initial!important}.scene-inspect-toggle{min-width:96px;min-height:44px}.plant-profile{scroll-margin-top:92px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.plant-profile form{display:grid;gap:16px}.plant-profile .ui-field input,.plant-profile .ui-field textarea{width:100%;min-height:48px;padding:12px;border:1px solid var(--line-control);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--ink);font:inherit}.plant-profile .profile-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.plant-profile .profile-actions a{min-height:44px;display:inline-flex;align-items:center;color:var(--leaf-strong)}.plant-profile p{color:var(--muted);line-height:1.5}.plant-profile h3{margin:0 0 8px;font-size:1.18rem}@media(max-width:599px){.overview-v2 .actuator-state{min-height:2.8em}.overview-v2 .actuator-actions>button{padding-inline:12px}.overview-v2 .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-link:nth-child(3){border-left:0}.metric-link:nth-child(n+3){border-top:1px solid var(--line-soft)}.overview-v2 .hero-main{grid-template-columns:minmax(0,1fr) 130px}.overview-v2 .state-title{font-size:1.45rem}}@media(min-width:900px){.overview-v2{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.85fr);grid-template-areas:"hero camera" "metrics camera" "actions actions";align-items:start}.overview-v2 .overview-actions{grid-area:actions}.overview-v2.camera-unavailable{grid-template-columns:minmax(0,1fr);grid-template-areas:"hero" "metrics" "actions" "camera"}.overview-v2 .hero-main{min-height:220px;grid-template-columns:minmax(0,1fr) 170px}.overview-v2.camera-unavailable .hero-main{max-width:750px;grid-template-columns:minmax(0,1fr) 210px}.overview-v2 .overview-camera .camera-frame{min-height:0}.care-parameter-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.care-parameter-list .settings-note{grid-column:1 / -1}.plant-profile form{grid-template-columns:repeat(2,minmax(0,1fr))}.plant-profile .profile-notes,.plant-profile .profile-actions,.plant-profile [role=status]{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){.care-parameters>summary svg{transition:none}}}@layer utilities{.overview-enclosure.overview-v2 .hero-main{grid-template-columns:minmax(0,1fr) 174px}.scene-enclosure{min-height:274px;align-content:start}.scene-enclosure .plant-visual{width:100%;height:246px}.scene-enclosure .scene-plant{height:100%}.scene-enclosure .plant-contact-shadow{width:104px;left:44%;bottom:18px;opacity:.5}.scene-enclosure .scene-actuators{top:20px;right:-6px}.scene-enclosure .scene-inspect-toggle{bottom:-28px;right:50%;margin-right:-48px}.scene-enclosure .sensor-light{top:22%}.scene-enclosure .sensor-air{top:46%}.scene-enclosure .sensor-soil{bottom:18%}.scene-enclosure .sensor-pump{bottom:0}.scene-view-control{border:0;padding:0;margin:0 0 24px;min-width:0}.scene-view-control legend{margin-bottom:12px;font-weight:650}.scene-view-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scene-view-choices label{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px;min-height:80px;border:1px solid var(--line-control);border-radius:var(--radius-control);cursor:pointer}.scene-view-choices label:has(input:checked){border-color:var(--leaf);background:var(--leaf-faint)}.scene-view-choices label:has(input:focus-visible){outline:2px solid var(--leaf);outline-offset:3px}.scene-view-choices input{position:absolute;right:12px;top:16px;width:16px;height:16px;accent-color:var(--leaf)}.scene-view-choices strong{padding-right:16px;font-size:var(--text-sm)}.scene-view-choices span{color:var(--muted);font-size:var(--text-xs);line-height:1.4}@media(max-width:359px){.overview-enclosure.overview-v2 .hero-main{grid-template-columns:minmax(0,1fr) 144px;gap:8px}.scene-enclosure{min-height:254px}.scene-enclosure .plant-visual{height:226px}}@media(min-width:900px){.overview-enclosure.overview-v2 .hero-main,.overview-enclosure.overview-v2.camera-unavailable .hero-main{grid-template-columns:minmax(0,1fr) 234px}.scene-enclosure{min-height:302px}.scene-enclosure .plant-visual{height:274px}.scene-enclosure .scene-actuators{right:4px}}}@layer features{.environment-screen{gap:var(--space-5)}.environment-history-controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3)}.environment-metric-picker,.environment-period-picker{display:flex;flex-wrap:wrap;gap:2px;min-width:0;padding:3px;border:1px solid var(--line);border-radius:var(--radius-control)}.environment-history-controls label{position:relative;display:flex;min-width:0;cursor:pointer}.environment-history-controls input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.environment-history-controls label>span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--text-sm);font-weight:650}.environment-history-controls input:checked+span{background:var(--leaf-soft);color:var(--leaf-strong)}.environment-history-controls input:focus-visible+span{outline:2px solid var(--water);outline-offset:2px}.environment-history{display:grid;gap:var(--space-3);min-width:0}.environment-chart-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2);padding-top:var(--space-3)}.environment-chart-heading h2{font-size:var(--text-lg);letter-spacing:-.02em}.environment-chart-heading p,.environment-history-note{color:var(--muted);font-size:var(--text-xs);line-height:1.55}.environment-history-note{max-width:75ch}.environment-chart-wrap{min-width:0;margin-inline:-4px}.environment-chart{display:block;width:100%;overflow:visible}.environment-axis-label{fill:var(--muted);font-family:var(--font-ui);font-size:12px;font-variant-numeric:tabular-nums}.environment-grid-line{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}.environment-guide-band{fill:var(--leaf-soft);opacity:.65}.environment-guide-line{stroke:var(--leaf);stroke-width:1;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}.environment-observation-range{stroke:var(--water);stroke-opacity:.24;stroke-width:2;vector-effect:non-scaling-stroke}.environment-series{fill:none;stroke:var(--water);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.environment-series-point{fill:var(--water)}.environment-event-track{stroke:var(--line-soft);stroke-width:1;vector-effect:non-scaling-stroke}.environment-chart-event{color:var(--water)}.environment-chart-event.lamp{color:var(--sun)}.environment-chart-event line{stroke:currentColor;stroke-width:4;stroke-opacity:.3;vector-effect:non-scaling-stroke}.environment-chart-event circle{fill:var(--canvas);stroke:currentColor;stroke-width:1.5;vector-effect:non-scaling-stroke}.environment-chart-event circle[data-active=true]{fill:currentColor}.environment-chart-key{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);font-size:var(--text-xs);color:var(--ink-soft)}.environment-chart-key>span{display:flex;align-items:center;gap:var(--space-2)}.environment-chart-key i{width:17px;height:3px;flex:0 0 17px;background:var(--water)}.environment-chart-key .environment-key-guide{height:9px;background:var(--leaf-soft);border-bottom:1px dashed var(--leaf)}.environment-statistics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);padding-block:var(--space-4);border-block:1px solid var(--line)}.environment-statistics dt{color:var(--muted);font-size:var(--text-xs)}.environment-statistics dd{margin:4px 0 0;color:var(--ink);font-size:var(--text-lg);font-weight:650;font-variant-numeric:tabular-nums}.environment-current,.environment-events{border-bottom:1px solid var(--line)}.environment-current>summary,.environment-events>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:64px;padding-block:var(--space-3);cursor:pointer;list-style:none}.environment-current>summary::-webkit-details-marker,.environment-events>summary::-webkit-details-marker{display:none}.environment-current>summary>span,.environment-events>summary>span{display:grid;gap:4px}.environment-current summary strong,.environment-events summary strong{font-size:var(--text-md)}.environment-current summary span>span,.environment-events summary span>span{color:var(--muted);font-size:var(--text-xs)}.environment-current>summary>svg,.environment-events>summary>svg{flex:0 0 20px;width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:1.5}.environment-current[open]>summary>svg,.environment-events[open]>summary>svg{transform:rotate(90deg)}.environment-current-content,.environment-events-content{display:grid;gap:var(--space-4);padding-block:var(--space-2) var(--space-5)}.environment-events ol{display:grid;max-height:360px;overflow:auto;overscroll-behavior:contain;list-style:none;padding:0;margin:0}.environment-events li{display:flex;align-items:start;gap:var(--space-3);padding-block:var(--space-3);border-bottom:1px solid var(--line-soft)}.environment-events li>svg{width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:1.5;flex-shrink:0}.environment-events li>div{display:grid;gap:4px}.environment-events li strong{font-size:var(--text-sm)}.environment-events li span{color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}@media(max-width:520px){.environment-metric-picker{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.environment-metric-picker label>span{width:100%;padding-inline:3px;font-size:var(--text-xs)}.environment-axis-label{font-size:22px}.environment-statistics dd{font-size:var(--text-md)}}@media(hover:hover)and (pointer:fine){.environment-history-controls input:not(:checked):hover+span{background:var(--surface-soft);color:var(--ink)}.environment-current>summary:hover,.environment-events>summary:hover{color:var(--leaf-strong)}}}@layer features{.ai-result-first.ai-screen{display:block}.ai-result-first>.section-head{margin-bottom:var(--space-4)}.ai-result-first .ai-history{gap:var(--space-6);max-width:760px;margin-inline:auto}.ai-latest-result{background:var(--surface);border-color:var(--line-strong)}.ai-latest-result .ai-history-summary{padding:var(--space-5)}.ai-latest-result .ai-history-topline strong{color:var(--leaf-strong)}.ai-latest-result .ai-history-preview{color:var(--ink);font-size:var(--text-md);font-weight:400;line-height:1.5;-webkit-line-clamp:3;max-height:4.5em}.ai-history-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow-wrap:anywhere}.ai-latest-content{padding:0 var(--space-5) var(--space-5)}.ai-assessment{display:grid;gap:var(--space-5);color:var(--ink-soft);font-size:var(--text-md);line-height:1.6;overflow-wrap:anywhere}.ai-assessment h4{margin:0 0 var(--space-2);color:var(--ink);font-size:var(--text-sm);font-weight:700}.ai-assessment ul{margin:0;padding-left:1.25rem}.ai-assessment li+li{margin-top:var(--space-2)}.ai-assessment-summary{color:var(--ink);font-size:var(--text-lg);font-weight:650}.ai-assessment-evidence{border-block:1px solid var(--line-soft)}.ai-assessment-evidence>summary{min-height:var(--control-sm);padding-block:var(--space-3);color:var(--leaf-strong);font-weight:600;cursor:pointer}.ai-assessment-evidence>section{margin-bottom:var(--space-4)}.ai-care-links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-top:var(--space-2)}.ai-care-links a{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-sm);color:var(--leaf-strong);font-size:var(--text-sm);font-weight:650;text-underline-offset:3px}.ai-care-links svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.ai-check-again small,.ai-legacy-label,.ai-result-source,.ai-history-empty-note{display:block;color:var(--muted);font-size:var(--text-xs);font-weight:400;line-height:1.5}.ai-legacy-label,.ai-result-source{margin-top:var(--space-2)}.ai-history-answer>.ai-legacy-label{margin:0 0 var(--space-3)}.ai-result-first .ai-workbench{gap:var(--space-3)}.ai-result-first .ai-panel{display:block;background:none;border:0;padding:0}.ai-result-first .ai-mark{display:none}.ai-result-first .ai-history-context>.ai-history-telemetry-summary{padding:var(--space-3)}.ai-result-first .ai-history-context>.ai-history-frame,.ai-result-first .ai-history-context>.ai-history-image-note,.ai-result-first .ai-history-context>.ai-history-frame-empty{margin:var(--space-3)}}@layer utilities{.ai-history-preview>.smooth-value{display:inline}.ai-result-first.ai-screen{display:block}.ai-result-first>.ai-history{width:100%;grid-column:auto;grid-row:auto}.ai-latest-result .ai-history-summary{grid-template-columns:52px minmax(0,1fr) 20px;align-items:center;gap:var(--space-3)}.ai-latest-result .ai-history-thumb{width:52px;grid-area:1 / 1}.ai-latest-result .ai-history-copy{display:contents}.ai-latest-result .ai-history-topline{grid-area:1 / 2;flex-direction:column;align-items:flex-start;gap:var(--space-1)}.ai-latest-result .ai-history-disclosure{grid-area:1 / 3}.ai-latest-result .ai-history-preview,.ai-latest-result .ai-result-source,.ai-latest-result .ai-legacy-label{grid-column:1 / -1;margin:0}.ai-latest-result .ai-history-summary:has(>.ai-history-thumb-empty){grid-template-columns:minmax(0,1fr) 20px}.ai-latest-result .ai-history-summary:has(>.ai-history-thumb-empty) .ai-history-topline{grid-column:1}.ai-latest-result .ai-history-summary:has(>.ai-history-thumb-empty) .ai-history-disclosure{grid-column:2}.ai-latest-result .ai-history-thumb-empty{display:none}}@layer utilities{[data-pressable]{scale:var(--ui-press-scale, 1);transition:scale var(--duration-release) var(--ease-out),transform var(--duration-release) var(--ease-out),background-color var(--duration-state) var(--ease-out),border-color var(--duration-state) var(--ease-out),box-shadow var(--duration-state) var(--ease-out),color var(--duration-state) var(--ease-out),opacity var(--duration-state) var(--ease-out),visibility 0s linear var(--ui-visibility-delay, 0s)}[data-pressable][data-pressing]{transition-duration:var(--duration-press)}.ai-collapse-assist{--ui-visibility-delay: var(--duration-state)}.ai-collapse-assist.is-visible{--ui-visibility-delay: 0s}.ui-button-label,.ui-button-leading{transition:opacity var(--duration-state) var(--ease-out)}.smooth-value{display:inline-block}.ui-collapse{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows var(--duration-panel) var(--ease-out),opacity var(--duration-state) var(--ease-out),visibility 0s linear var(--duration-panel)}.ui-collapse[data-open]{grid-template-rows:1fr;opacity:1;visibility:visible;transition-delay:0s}.ui-collapse-clip{min-height:0;overflow:clip}.ui-collapse-clip>*{min-height:0}::view-transition-group(root){animation-duration:var(--duration-panel);animation-timing-function:var(--ease-out)}::view-transition-old(root){animation:ui-page-out .14s ease-out both}::view-transition-new(root){animation:ui-page-in var(--duration-panel) var(--ease-out) both}::view-transition{pointer-events:none}@keyframes ui-page-out{to{opacity:0}}@keyframes ui-page-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){[data-pressable]{scale:1}}}@layer features{.theme-control{border:0;padding:0;margin:0 0 var(--space-7);min-width:0}.theme-control legend{margin-bottom:var(--space-3);font-weight:650}.theme-options{display:grid;gap:var(--space-2)}.theme-choice{display:grid;grid-template-columns:20px minmax(0,1fr);gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);min-height:68px;border:1px solid var(--line-control);border-radius:var(--radius-control);background:var(--surface);cursor:pointer}.theme-choice input{width:18px;height:18px;margin:0;accent-color:var(--leaf)}.theme-choice input:focus-visible{outline:none}.theme-choice strong{display:block;font-size:var(--text-md);font-weight:650}.theme-choice small{display:block;margin-top:3px;font-size:var(--text-xs);color:var(--muted)}.theme-choice:has(input:checked){border-color:var(--leaf);background:var(--leaf-faint)}.theme-choice:has(input:focus-visible){outline:2px solid var(--water);outline-offset:3px}@media(min-width:700px){.theme-options{grid-template-columns:repeat(3,minmax(0,1fr))}}}
