@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--default-font-family:"Geist", "Geist Fallback", ui-sans-serif, system-ui, sans-serif;--default-mono-font-family:"Geist Mono", "Geist Mono Fallback", ui-monospace, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--background:#f8f2eb;--foreground:#24180f;--farm-serif:var(--font-newsreader), Georgia, serif;--farm-sans:var(--font-geist-sans), -apple-system, system-ui, sans-serif;--farm-mono:var(--font-geist-mono), ui-monospace, monospace}@supports (color:lab(0% 0 0)){:root{--background:lab(95.96% 1.04988 4.44862);--foreground:lab(9.4175% 5.36 7.57838)}}html,body{min-height:100%}html{background-color:#f8f2eb;background-color:lab(95.96% 1.04988 4.44862)}html.theme-dark{background-color:#1d1712;background-color:lab(8.51591% 2.0707 4.41717)}body{color:var(--foreground);font-family:var(--farm-sans);background:radial-gradient(circle at top,#fffbf4,#0000 30%),linear-gradient(#f2e6d6,#eadbd0);background:radial-gradient(circle at top,lab(98.8818% .891477 5.67321),#0000 30%),linear-gradient(lab(91.9161% 2.29037 9.34007),lab(88.356% 3.78168 7.37284))}.theme-warm{--bg:#f8f2eb;--bg-2:#f3e9df;--card:#fdf9f4;--card-2:#f8f0e8;--rule:#ded6ce;--ink-1:#24180f;--ink-2:#574a42;--ink-3:#837870;--brand-1:#966634;--brand-2:#f6e1c9;--accent-warm:#dc9242;--accent-water:#317c92;--accent-rain:#608da4;--accent-good:#618d62;--accent-warn:#d17236;--sky:#dceaf2;--grass:#5e7d3b;--earth-1:#8c694e;--earth-2:#634632;--earth-3:#543c2f;--earth-4:#35251b;--stone-1:#9e978f;--stone-2:#69625a;--well-dark:#121c21;--water-1:#397a97;--water-2:#0b374d;--water-highlight:#aad6e5;--water-fill:#6697ab;--pool-1:#2b9095;--pool-2:#005161;--pool-tank:#3d7b8e;--pool-tank-edge:#1d4e60;--pool-highlight:#d8f5f6;--mat-1:#885538;--mat-2:#613521;--mat-edge:#422518;--mat-text:#ffebd4;--pipe:#bcb6af;--pipe-hi:#ebe3db;--scene-sky-1:#d7ecf4;--scene-sky-2:#dfd6c9;--scene-roof:#82564f;--real-mat-bg:#0d0b09;--real-tube-edge:#040303;--real-tube-mid:#504c49;--real-fitting:#1d1a18;--real-fitting-edge:#040302;--real-fitting-hi:#76706c;--real-grass-1:#627b48;--real-grass-2:#3e5624;--real-grass-blade:#7b9b59}@supports (color:lab(0% 0 0)){.theme-warm{--bg:lab(95.96% 1.04988 4.44862);--bg-2:lab(93.0471% 2.11495 6.51912);--card:lab(98.2739% .689954 2.95926);--card-2:lab(95.3665% 1.62727 5.05838);--rule:lab(86.0862% 1.63245 5.06183);--ink-1:lab(9.4175% 5.36 7.57838);--ink-2:lab(32.6442% 4.45183 7.08228);--ink-3:lab(51.2425% 3.12245 6.05317);--brand-1:lab(47.5631% 16.0515 35.579);--brand-2:lab(90.7217% 4.96402 14.6881);--accent-warm:lab(67.1515% 23.6318 52.7494);--accent-water:lab(48.2139% -18.6754 -18.962);--accent-rain:lab(56.1018% -11.6143 -17.0489);--accent-good:lab(54.6067% -22.3767 17.9073);--accent-warn:lab(58.5602% 35.0406 48.954);--sky:lab(91.9488% -3.7922 -5.24449);--grass:lab(48.8416% -20.481 31.7916);--earth-1:lab(47.6189% 11.4527 21.269);--earth-2:lab(32.5122% 10.7701 16.861);--earth-3:lab(27.8792% 9.35313 12.442);--earth-4:lab(16.3289% 7.02423 9.3441);--stone-1:lab(62.8853% 1.77455 5.441);--stone-2:lab(41.9862% 2.21169 5.27344);--well-dark:lab(9.57735% -3.54683 -5.13625);--water-1:lab(48.0007% -14.5344 -22.4605);--water-2:lab(21.1555% -8.50382 -17.8187);--water-highlight:lab(82.8902% -12.4052 -12.1163);--water-fill:lab(59.6604% -13.1677 -15.7972);--pool-1:lab(54.4728% -28.2063 -11.5988);--pool-2:lab(30.8885% -19.8889 -16.807);--pool-tank:lab(48.1716% -16.5698 -16.6598);--pool-tank-edge:lab(30.6293% -12.4369 -15.5771);--pool-highlight:lab(94.4979% -9.48459 -3.96528);--mat-1:lab(41.5587% 19.3953 26.0711);--mat-2:lab(27.6178% 18.4287 21.3906);--mat-edge:lab(18.4765% 13.0555 15.0167);--mat-text:lab(94.2025% 4.94936 14.6758);--pipe:lab(74.4854% 1.39746 4.33755);--pipe-hi:lab(90.7264% 1.62974 5.06004);--scene-sky-1:lab(92.0308% -6.32376 -6.11956);--scene-sky-2:lab(86.1102% 1.8087 7.45491);--scene-roof:lab(41.4768% 17.9629 12.1413);--real-mat-bg:lab(3.04308% .462092 .835127);--real-tube-edge:lab(.901249% .166141 .294462);--real-tube-mid:lab(32.7045% 1.36472 2.67372);--real-fitting:lab(9.50779% 1.03541 2.01373);--real-fitting-edge:lab(.900595% .21112 .363472);--real-fitting-hi:lab(47.7808% 1.70383 3.34069);--real-grass-1:lab(48.6589% -16.6302 24.7622);--real-grass-2:lab(33.5473% -16.3268 25.6203);--real-grass-blade:lab(60.4661% -20.7166 31.1284)}}.theme-dark body{color:#f0eae3;color:lab(93.06% 1.05107 4.44937);background:radial-gradient(circle at top,#211912,#0000 35%),linear-gradient(#0d0805,#040201);background:radial-gradient(circle at top,lab(9.47144% 3.33103 5.92357),#0000 35%),linear-gradient(lab(2.45779% 1.18386 1.55427),lab(.652708% .327513 .426558))}.theme-dark .theme-warm{--bg:#140e09;--bg-2:#1d1712;--card:#1f1a15;--card-2:#2e2822;--rule:#423c36;--ink-1:#f7f1e9;--ink-2:#d1c9c1;--ink-3:#aca39a;--brand-1:#d0975f;--brand-2:#675136;--accent-warm:#f0a556;--accent-water:#4aadc9;--accent-rain:#6eaecd;--accent-good:#76af77;--accent-warn:#f88f4f;--sky:#0b1d27;--grass:#3e5624;--earth-1:#422e1e;--earth-2:#331f10;--earth-3:#211209;--earth-4:#100703;--stone-1:#413c36;--stone-2:#231e19;--well-dark:#040a0e;--water-1:#1b6c8c;--water-2:#002d42;--water-highlight:#83b7c8;--water-fill:#316c81;--pool-1:#007277;--pool-2:#003540;--pool-tank:#075062;--pool-tank-edge:#002e3e;--pool-highlight:#bae0e2;--scene-sky-1:#0b1d27;--scene-sky-2:#120c05;--real-grass-1:#283916;--real-grass-2:#112000;--real-grass-blade:#3e5624}@supports (color:lab(0% 0 0)){.theme-dark .theme-warm{--bg:lab(4.42265% 1.55271 2.94057);--bg-2:lab(8.34026% 2.19257 4.57272);--card:lab(9.50501% 1.84368 4.21249);--card-2:lab(16.4652% 1.97107 4.61369);--rule:lab(25.7454% 2.09604 4.94654);--ink-1:lab(95.38% 1.05011 4.44876);--ink-2:lab(81.4461% 1.63537 5.06384);--ink-3:lab(67.507% 2.32697 5.6016);--brand-1:lab(67.287% 17.314 38.3114);--brand-2:lab(36.1549% 7.06139 19.3351);--accent-warm:lab(74.1331% 23.2664 51.616);--accent-water:lab(65.7193% -23.3916 -23.716);--accent-rain:lab(67.7503% -15.2128 -22.6457);--accent-good:lab(66.4534% -27.977 22.4609);--accent-warn:lab(70.12% 37.229 51.2585);--sky:lab(9.55729% -4.69498 -9.00435);--grass:lab(33.5473% -16.3268 25.6203);--earth-1:lab(20.9919% 7.76596 14.3845);--earth-2:lab(13.9795% 8.86445 13.6363);--earth-3:lab(7.0753% 7.06377 6.92256);--earth-4:lab(2.42986% 2.32036 2.28063);--stone-1:lab(25.7623% 1.4565 4.38009);--stone-2:lab(11.8257% 1.83014 4.26807);--well-dark:lab(2.49876% -1.26652 -2.26788);--water-1:lab(42.1917% -15.5436 -25.088);--water-2:lab(16.4944% -8.01653 -17.736);--water-highlight:lab(71.3392% -14.6837 -14.4517);--water-fill:lab(42.2739% -14.6633 -18.2136);--pool-1:lab(42.9598% -31.1952 -12.7726);--pool-2:lab(19.2564% -18.99 -16.6258);--pool-tank:lab(30.7467% -15.9535 -16.4906);--pool-tank-edge:lab(16.6733% -11.5395 -15.3858);--pool-highlight:lab(86.4761% -12.6349 -5.26959);--scene-sky-1:lab(9.55729% -4.69498 -9.00435);--scene-sky-2:lab(3.68999% 1.57015 3.31973);--real-grass-1:lab(21.742% -12.2601 19.166);--real-grass-2:lab(10.0998% -11.7643 14.8099);--real-grass-blade:lab(33.5473% -16.3268 25.6203)}}.theme-dark .farm-trend-up{background:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-trend-up{background:color-mix(in oklch, var(--accent-good) 28%, transparent)}}.theme-dark .farm-trend-up{color:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-trend-up{color:color-mix(in oklch, var(--accent-good) 60%, white)}}.theme-dark .farm-trend-down{background:var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-trend-down{background:color-mix(in oklch, var(--accent-warn) 32%, transparent)}}.theme-dark .farm-trend-down{color:var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-trend-down{color:color-mix(in oklch, var(--accent-warn) 50%, white)}}.theme-dark .farm-trend-stable{background:var(--card-2)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-trend-stable{background:color-mix(in oklch, var(--card-2) 60%, var(--rule))}}.theme-dark .farm-trend-stable{color:var(--ink-1)}.theme-dark .farm-pump-on{background:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-pump-on{background:color-mix(in oklch, var(--accent-good) 28%, transparent)}}.theme-dark .farm-pump-on{color:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-pump-on{color:color-mix(in oklch, var(--accent-good) 55%, white)}}.theme-dark .farm-pump-off{background:var(--ink-3)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-pump-off{background:color-mix(in oklch, var(--ink-3) 22%, transparent)}}.theme-dark .farm-pump-off{color:var(--ink-2)}.theme-dark .farm-pump-verifying{background:var(--accent-warm)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-pump-verifying{background:color-mix(in oklch, var(--accent-warm) 28%, transparent)}}.theme-dark .farm-pump-verifying{color:var(--accent-warm)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-pump-verifying{color:color-mix(in oklch, var(--accent-warm) 60%, white)}}.theme-dark .farm-pump-cooldown{background:var(--accent-water)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-pump-cooldown{background:color-mix(in oklch, var(--accent-water) 28%, transparent)}}.theme-dark .farm-pump-cooldown{color:var(--accent-water)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-pump-cooldown{color:color-mix(in oklch, var(--accent-water) 60%, white)}}.theme-dark .farm-card,.theme-dark .farm-well-section{border-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-card,.theme-dark .farm-well-section{border-color:color-mix(in oklch, var(--rule) 88%, black)}}.theme-dark .farm-card,.theme-dark .farm-well-section{background:linear-gradient(180deg, var(--card) 0%, var(--card) 100%)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-card,.theme-dark .farm-well-section{background:linear-gradient(180deg, color-mix(in oklch, var(--card) 88%, white) 0%, var(--card) 100%)}}.theme-dark .farm-card,.theme-dark .farm-well-section{box-shadow:inset 0 1px #ffffff40;box-shadow:inset 0 1px lab(100% 0 0/.25)}.theme-dark .farm-app{background:linear-gradient(180deg, var(--bg) 0%, var(--bg) 14%), var(--bg)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-app{background:linear-gradient(180deg, color-mix(in oklch, var(--bg) 55%, lab(21.0971% 2.77314 6.42725)) 0%, var(--bg) 14%), var(--bg)}}.theme-dark .farm-app{border-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-app{border-color:color-mix(in oklch, var(--rule) 70%, black)}}.theme-dark .farm-app{box-shadow:0 18px 50px var(--brand-1), inset 0 1px 0 #ffffff1f}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-app{box-shadow:0 18px 50px color-mix(in oklch, var(--brand-1) 20%, transparent), inset 0 1px 0 lab(100% 0 0/.12)}}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.theme-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body,.farm-app,.farm-card,.farm-summary,.farm-history-btn,.farm-icon-btn,.farm-tab,.farm-pump-badge,.farm-trend,.farm-meta-clock,.farm-bottomnav,.farm-back-btn{transition:background-color .4s,background-image .4s,color .3s,border-color .3s,box-shadow .4s}.farm-page-shell{min-height:100dvh;padding:12px}.farm-app{border:1px solid var(--rule);flex-direction:column;max-width:430px;height:calc(100dvh - 24px);margin:0 auto;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.farm-app{border:1px solid color-mix(in oklch, var(--rule) 85%, white)}}.farm-app{background:linear-gradient(180deg, var(--bg) 0%, var(--bg) 14%), var(--bg);border-radius:32px}@supports (color:color-mix(in lab, red, red)){.farm-app{background:linear-gradient(180deg, color-mix(in oklch, var(--bg) 82%, white) 0%, var(--bg) 14%), var(--bg)}}.farm-app{color:var(--ink-1);box-shadow:0 18px 50px var(--brand-1), inset 0 1px 0 #ffffffb8}@supports (color:color-mix(in lab, red, red)){.farm-app{box-shadow:0 18px 50px color-mix(in oklch, var(--brand-1) 12%, transparent), inset 0 1px 0 lab(100% 0 0/.72)}}.farm-scroll{flex-direction:column;flex:1;gap:14px;padding:8px 16px 24px;display:flex;overflow-y:auto}.farm-scroll>*{flex-shrink:0}.farm-desktop-layout,.farm-desktop-main,.farm-content-grid,.farm-content-main,.farm-content-side{flex-direction:column;gap:14px;min-width:0;display:flex}.farm-topbar{padding:max(18px, env(safe-area-inset-top)) 14px 8px;border-bottom:1px solid var(--rule);background:var(--bg);justify-content:space-between;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.farm-topbar{background:color-mix(in oklch, var(--bg) 95%, white)}}.farm-topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.farm-brand{align-items:center;gap:10px;display:flex}.farm-brand-mark{background:var(--brand-2);border-radius:999px;place-items:center;width:32px;height:32px;display:grid}.farm-brand-name,.farm-eyebrow,.farm-hero-eyebrow,.farm-hero-label,.farm-side-lbl,.farm-hour-time,.farm-forecast-foot,.farm-fc-day,.farm-hint-eyebrow,.farm-app-foot,.farm-head-stat-lbl{font-family:var(--farm-mono);text-transform:uppercase}.farm-brand-name{letter-spacing:1.2px;color:var(--ink-2);font-size:11px;font-weight:600}.farm-brand-sub{font-family:var(--farm-serif);margin-top:1px;font-size:17px;font-weight:600;line-height:1.1}.farm-topbar-right{gap:4px;display:flex}.farm-icon-btn{width:36px;height:36px;color:var(--ink-2);background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.farm-card,.farm-well-section{border:1px solid var(--rule)}@supports (color:color-mix(in lab, red, red)){.farm-card,.farm-well-section{border:1px solid color-mix(in oklch, var(--rule) 80%, white)}}.farm-card,.farm-well-section{background:linear-gradient(180deg, var(--card) 0%, var(--card) 100%);border-radius:18px}@supports (color:color-mix(in lab, red, red)){.farm-card,.farm-well-section{background:linear-gradient(180deg, color-mix(in oklch, var(--card) 88%, white) 0%, var(--card) 100%)}}.farm-card,.farm-well-section{box-shadow:inset 0 1px #ffffffd9;box-shadow:inset 0 1px lab(100% 0 0/.85)}.farm-hero-panel{flex-direction:column;gap:12px;display:flex}.farm-alert{border:1px solid var(--accent-warn);align-items:center;gap:9px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.farm-alert{border:1px solid color-mix(in oklch, var(--accent-warn) 30%, transparent)}}.farm-alert{background:var(--accent-warn);border-radius:16px}@supports (color:color-mix(in lab, red, red)){.farm-alert{background:color-mix(in oklch, var(--accent-warn) 14%, var(--card))}}.farm-alert{color:var(--ink-1)}.farm-alert-dot{background:var(--accent-warn);border-radius:999px;flex:none;width:8px;height:8px}.farm-update{border:1px solid var(--accent-water);border-radius:16px;align-items:center;gap:12px;margin:0 14px 10px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.farm-update{border:1px solid color-mix(in oklch, var(--accent-water) 35%, transparent)}}.farm-update{background:var(--accent-water)}@supports (color:color-mix(in lab, red, red)){.farm-update{background:color-mix(in oklch, var(--accent-water) 16%, var(--card))}}.farm-update{color:var(--ink-1);font-size:.86rem;animation:.22s ease-out farm-update-in}.farm-update-text{flex:1;line-height:1.35}.farm-update-text strong{font-weight:600}.farm-update-btn{background:var(--accent-water);color:#fff;border:0;border-radius:10px;flex:none;padding:8px 14px;font-size:.84rem;font-weight:600}@keyframes farm-update-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.farm-hero{padding:8px 4px 0}.farm-hero-eyebrow{letter-spacing:1px;color:var(--ink-3);align-items:center;gap:6px;margin-bottom:8px;font-size:10px;display:flex}.farm-live-dot{background:var(--accent-good);width:6px;height:6px;box-shadow:0 0 0 3px var(--accent-good);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.farm-live-dot{box-shadow:0 0 0 3px color-mix(in oklch, var(--accent-good) 25%, transparent)}}.farm-live-dot{animation:2s ease-in-out infinite farm-pulse}.farm-live-dot-stale{background:var(--accent-warn);box-shadow:0 0 0 3px var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.farm-live-dot-stale{box-shadow:0 0 0 3px color-mix(in oklch, var(--accent-warn) 25%, transparent)}}.farm-live-dot-stale{animation:none}@keyframes farm-pulse{50%{opacity:.45}}.farm-hero-numbers{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.farm-hero-main{min-width:0}.farm-hero-label{letter-spacing:1px;color:var(--ink-3);margin-bottom:6px;font-size:10px}.farm-hero-value{align-items:flex-end;gap:6px;display:flex}.farm-num{font-family:var(--farm-serif);letter-spacing:-2px;font-variant-numeric:tabular-nums;font-size:clamp(56px,14vw,64px);font-weight:500;line-height:.95}.farm-num-unit{font-family:var(--farm-serif);color:var(--ink-2);padding-bottom:10px;font-size:22px}.farm-hero-sub{margin-top:10px}.farm-trend{font-family:var(--farm-mono);border-radius:999px;padding:3px 8px;font-size:11px;display:inline-flex}.farm-trend-up{background:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-trend-up{background:color-mix(in oklch, var(--accent-good) 18%, transparent)}}.farm-trend-up{color:var(--accent-good)}.farm-trend-down{background:var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.farm-trend-down{background:color-mix(in oklch, var(--accent-warn) 18%, transparent)}}.farm-trend-down{color:var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.farm-trend-down{color:color-mix(in oklch, var(--accent-warn) 84%, black)}}.farm-trend-stable{background:var(--card-2);color:var(--ink-2)}.farm-hero-side{text-align:right;flex-direction:column;gap:12px;padding-bottom:6px;display:flex}.farm-side-num{font-family:var(--farm-mono);font-size:13px;font-weight:500}.farm-side-lbl{letter-spacing:.5px;color:var(--ink-3);font-size:9px}.farm-well-section{min-height:380px;padding:8px 8px 0}.farm-well-vis{border-radius:14px;overflow:hidden}.farm-card{padding:16px}.farm-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.farm-eyebrow{letter-spacing:1px;color:var(--ink-3);font-size:10px}.farm-card-title{font-family:var(--farm-serif);letter-spacing:-.3px;margin:2px 0 0;font-size:22px;font-weight:600}.farm-today-icon{color:var(--ink-1);flex:none;justify-content:center;align-items:center;display:flex}.farm-today-main{width:100%;min-width:0}.farm-today-row{flex-wrap:nowrap;align-items:center;gap:14px;margin-top:6px;display:flex}.farm-today-copy-inline{text-align:left;width:100%;min-width:0;color:var(--ink-1);font-size:14px;font-weight:500;line-height:1.35}.farm-today-copy-stack{text-align:left;flex-direction:column;flex:1;align-items:flex-start;min-width:0;display:flex}.farm-today-row .farm-card-title{white-space:nowrap;margin:0}.farm-today-summary-inline{width:100%;color:var(--ink-3);margin-top:4px;font-size:11px;line-height:1.45}.farm-hourly{border-top:1px dashed var(--rule);scrollbar-width:thin;scrollbar-color:var(--accent-water) transparent;grid-auto-columns:minmax(58px,58px);grid-auto-flow:column;gap:8px;margin:0;padding:12px 6px 6px 0;list-style:none;display:grid;overflow:auto hidden}@supports (color:color-mix(in lab, red, red)){.farm-hourly{scrollbar-color:color-mix(in srgb, var(--accent-water) 40%, transparent) transparent}}.farm-hour{text-align:center;background:0 0;flex-direction:column;align-items:center;gap:6px;min-height:0;padding:0;display:flex}.farm-hour:not(:last-child){border-bottom:0}.farm-hour-time{color:var(--ink-3);font-size:10px}.farm-hour-temp{font-family:var(--farm-mono);font-size:13px;font-weight:500}.farm-hour-rain{min-height:12px;font-family:var(--farm-mono);text-align:right;color:var(--accent-water);font-size:9px}.farm-card-meta{letter-spacing:.2px;color:var(--ink-3);margin-top:12px;font-size:10px}.farm-empty-state{border-top:1px dashed var(--rule);color:var(--ink-3);margin-top:12px;padding-top:12px;font-size:11px;line-height:1.5}.farm-empty-icon{background:var(--card-2);width:48px;height:48px;font-family:var(--farm-mono);color:var(--ink-3);border-radius:999px;place-items:center;font-size:18px;display:grid}.farm-head-stat{text-align:right}.farm-head-stat-num{font-family:var(--farm-serif);font-size:22px;font-weight:600;line-height:1}.farm-unit{color:var(--ink-2);margin-left:2px;font-size:14px}.farm-head-stat-lbl{letter-spacing:.5px;color:var(--ink-3);margin-top:4px;font-size:9px}.farm-next-rain{background:var(--card-2);border-radius:12px;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;display:flex}.farm-next-rain-text strong{font-weight:600}.farm-forecast-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.farm-forecast-day{background:var(--card-2);border-radius:10px;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:8px 2px;display:flex}.farm-is-wet{background:var(--accent-rain)}@supports (color:color-mix(in lab, red, red)){.farm-is-wet{background:color-mix(in oklch, var(--accent-rain) 12%, var(--card-2))}}.farm-fc-day{letter-spacing:.5px;color:var(--ink-3);font-size:9px}.farm-fc-date{font-size:9px;font-family:var(--farm-mono);color:var(--ink-3);opacity:.7;margin-top:1px}.farm-fc-temp{font-family:var(--farm-mono);flex-direction:column;align-items:center;font-size:10px;display:flex}.farm-fc-hi{font-weight:600}.farm-fc-lo{color:var(--ink-3)}.farm-fc-bar-wrap{align-items:flex-end;height:64px;display:flex}.farm-fc-bar{background:var(--accent-rain);border-radius:999px;width:6px;min-height:2px}@supports (color:color-mix(in lab, red, red)){.farm-fc-bar{background:color-mix(in oklch, var(--accent-rain) 72%, transparent)}}.farm-fc-mm{font-family:var(--farm-mono);color:var(--accent-rain);font-size:9px}.farm-forecast-foot{letter-spacing:.5px;color:var(--ink-3);margin-top:12px;font-size:9px}.farm-history-btn{border:1px solid var(--rule);width:100%;color:var(--ink-1);font-family:var(--farm-mono);letter-spacing:1.2px;text-transform:uppercase;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:12px;margin-top:6px;padding:9px 14px;font-size:12px;font-weight:500;text-decoration:none;transition:background .15s;display:flex}.farm-history-btn:hover{background:var(--card-2)}.farm-history-btn svg{flex-shrink:0}.farm-card-tabs{gap:6px;display:inline-flex}.farm-tab{background:var(--card-2);font-family:var(--farm-mono);color:var(--ink-3);border:0;border-radius:999px;padding:4px 8px;font-size:10px}.farm-tab-active{background:var(--accent-water)}@supports (color:color-mix(in lab, red, red)){.farm-tab-active{background:color-mix(in oklch, var(--accent-water) 14%, var(--card-2))}}.farm-tab-active{color:var(--ink-1)}.farm-corr-legend{color:var(--ink-2);flex-wrap:wrap;gap:12px;margin-bottom:8px;font-size:12px;display:flex}.farm-legend-item{align-items:center;gap:6px;display:inline-flex}.farm-swatch{border-radius:999px;width:10px;height:10px}.farm-swatch-water{background:var(--accent-water)}.farm-swatch-rain{background:var(--accent-rain)}.farm-corr-insight{color:var(--ink-2);gap:8px;margin-top:10px;font-size:13px;display:flex}.farm-insight-dot{background:var(--accent-good);border-radius:999px;flex:none;width:8px;height:8px;margin-top:5px}.farm-pool-card{overflow:hidden}.farm-pool-card-head{align-items:flex-start;margin-bottom:10px}.farm-pool-title{font-variant-numeric:tabular-nums;align-items:baseline;gap:1px;display:inline-flex}.farm-pool-title-unit{color:var(--ink-3);font-size:16px;font-weight:400}.farm-pump-badge{border:1px solid var(--rule);background:var(--card-2);color:var(--ink-3);font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:10px;display:inline-flex}.farm-pump-on{background:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-pump-on{background:color-mix(in oklch, var(--accent-good) 14%, transparent)}}.farm-pump-on{border-color:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-pump-on{border-color:color-mix(in oklch, var(--accent-good) 30%, var(--rule))}}.farm-pump-on{color:var(--accent-good)}.farm-pump-verifying{background:var(--accent-warm)}@supports (color:color-mix(in lab, red, red)){.farm-pump-verifying{background:color-mix(in oklch, var(--accent-warm) 14%, transparent)}}.farm-pump-verifying{border-color:var(--accent-warm)}@supports (color:color-mix(in lab, red, red)){.farm-pump-verifying{border-color:color-mix(in oklch, var(--accent-warm) 30%, var(--rule))}}.farm-pump-verifying{color:var(--accent-warm)}.farm-pump-cooldown{background:var(--accent-water)}@supports (color:color-mix(in lab, red, red)){.farm-pump-cooldown{background:color-mix(in oklch, var(--accent-water) 12%, transparent)}}.farm-pump-cooldown{border-color:var(--accent-water)}@supports (color:color-mix(in lab, red, red)){.farm-pump-cooldown{border-color:color-mix(in oklch, var(--accent-water) 30%, var(--rule))}}.farm-pump-cooldown{color:var(--accent-water)}.farm-pump-off{background:var(--card-2);color:var(--ink-3)}.farm-pump-error{background:var(--accent-warm)}@supports (color:color-mix(in lab, red, red)){.farm-pump-error{background:color-mix(in srgb, var(--accent-warm) 22%, var(--card-2))}}.farm-pump-error{color:var(--accent-warm)}.farm-shelly-warn{background:var(--accent-warm);border-radius:10px;align-items:flex-start;gap:10px;margin:6px 0 10px;padding:10px 12px;display:flex}@supports (color:color-mix(in lab, red, red)){.farm-shelly-warn{background:color-mix(in srgb, var(--accent-warm) 10%, transparent)}}.farm-shelly-warn{border:1px solid var(--accent-warm)}@supports (color:color-mix(in lab, red, red)){.farm-shelly-warn{border:1px solid color-mix(in srgb, var(--accent-warm) 30%, transparent)}}.farm-shelly-warn{color:var(--ink-1);font-size:13px;line-height:1.4}.farm-pump-dot{background:currentColor;border-radius:999px;width:7px;height:7px}.farm-pump-on .farm-pump-dot,.farm-pump-verifying .farm-pump-dot{animation:1.4s ease-in-out infinite farm-pump-pulse}.farm-pump-verifying .farm-pump-dot{animation-duration:.9s}@keyframes farm-pump-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in oklch, currentColor 50%, transparent)}50%{box-shadow:0 0 0 4px color-mix(in oklch, currentColor 0%, transparent)}}.farm-pool-vis{border-radius:14px;margin:8px 0 4px;position:relative;overflow:hidden}.farm-pool-vis svg{width:100%;height:auto;display:block}.farm-pump-rotate{animation:.9s linear infinite farm-pump-spin}@keyframes farm-pump-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.farm-pump-rotate,.farm-pump-on .farm-pump-dot,.farm-pump-verifying .farm-pump-dot{animation:none}}.farm-pool-temps{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px;display:grid}.farm-pool-temp-chip{background:var(--card-2);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:8px 10px;display:flex}.farm-pool-temp-chip-icon{color:var(--ink-3);margin-bottom:1px}.farm-pool-temp-chip-lbl{font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);font-size:9px}.farm-pool-temp-chip-val{color:var(--ink-1);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.farm-pool-insight{background:var(--card-2);color:var(--ink-2);border-radius:10px;align-items:flex-start;gap:8px;margin-top:8px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.farm-pool-insight strong{color:var(--ink-1);font-weight:600}.farm-pool-insight .farm-insight-dot{background:var(--ink-3);border-radius:999px;flex-shrink:0;width:6px;height:6px;margin-top:6px}.farm-pool-insight.is-good{background:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-pool-insight.is-good{background:color-mix(in oklch, var(--accent-good) 10%, var(--card-2))}}.farm-pool-insight.is-good .farm-insight-dot{background:var(--accent-good)}.farm-pool-meta{font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);flex-wrap:wrap;gap:8px;padding-top:8px;font-size:9px;display:flex}@media (prefers-reduced-motion:reduce){.farm-pump-on .farm-pump-dot,.farm-pump-verifying .farm-pump-dot,.farm-pool-card.is-flowing .pool-pump-gear,.farm-pool-vis .farm-pool-pump-halo,.farm-pool-vis .farm-wave-anim-on .farm-wave-1{animation:none}}.farm-scroll-history{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.farm-history-view{flex-direction:column;flex-shrink:0;gap:14px;display:flex}.farm-view-head{align-items:center;gap:12px;padding:8px 0;display:flex}.farm-subpage-head{gap:12px}.farm-subpage-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.farm-subpage-left .farm-view-title{white-space:nowrap;text-overflow:ellipsis;font-size:22px;overflow:hidden}.farm-back-btn{border:1px solid var(--rule);background:var(--card);width:36px;height:36px;color:var(--ink-1);border-radius:999px;flex-shrink:0;place-items:center;text-decoration:none;transition:background .15s,color .15s;display:grid}.farm-back-btn:hover{background:var(--card-2)}.farm-view-titles{flex:1;align-items:center;min-width:0;display:flex}.farm-view-title{font-family:var(--farm-serif);letter-spacing:-.3px;color:var(--ink-1);margin:0;padding-top:3px;font-size:26px;font-weight:600;line-height:1}.farm-view-meta{text-align:right}.farm-view-menu{align-items:center;margin-left:4px;display:flex}.farm-meta-num{font-family:var(--farm-serif);color:var(--ink-1);font-size:22px;font-weight:600}.farm-meta-lbl{font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);font-size:9px}.farm-menu-backdrop{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;background:#00000073;background:lab(0% 0 0/.45);transition:opacity .28s;position:fixed;inset:0}.farm-menu-backdrop.is-open{opacity:1;pointer-events:auto}.theme-dark .farm-menu-backdrop{background:#0000009e;background:lab(0% 0 0/.62)}.farm-menu{z-index:50;width:min(460px,100vw);padding:8px 16px calc(20px + env(safe-area-inset-bottom,0px));border:1px solid var(--rule);flex-direction:column;gap:6px;display:flex;position:fixed;bottom:0;left:50%}@supports (color:color-mix(in lab, red, red)){.farm-menu{border:1px solid color-mix(in oklch, var(--rule) 85%, white)}}.farm-menu{background:linear-gradient(180deg, var(--card) 0%, var(--card) 32%);border-bottom:none;border-radius:26px 26px 0 0}@supports (color:color-mix(in lab, red, red)){.farm-menu{background:linear-gradient(180deg, color-mix(in oklch, var(--card) 90%, white) 0%, var(--card) 32%)}}.farm-menu{pointer-events:none;transition:transform .34s cubic-bezier(.32,.72,0,1);transform:translate(-50%)translateY(110%);box-shadow:0 -16px 50px #0000004d,inset 0 1px #ffffff29;box-shadow:0 -16px 50px lab(0% 0 0/.3),inset 0 1px lab(100% 0 0/.16)}.farm-menu.is-open{pointer-events:auto;transform:translate(-50%)translateY(0)}.farm-menu-handle{background:var(--ink-3);border-radius:999px;align-self:center;width:40px;height:4px;margin:6px 0 8px}@supports (color:color-mix(in lab, red, red)){.farm-menu-handle{background:color-mix(in oklch, var(--ink-3) 55%, transparent)}}.farm-menu-eyebrow{font-family:var(--farm-mono);letter-spacing:.8px;text-transform:uppercase;color:var(--ink-3);padding:0 8px 6px;font-size:9px}.farm-menu-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.farm-menu-item{color:var(--ink-2);border-radius:12px;align-items:center;gap:12px;padding:12px;text-decoration:none;transition:background .12s,color .12s;display:flex}.farm-menu-item:hover{background:var(--card-2);color:var(--ink-1)}.farm-menu-item.is-active{background:var(--accent-water)}@supports (color:color-mix(in lab, red, red)){.farm-menu-item.is-active{background:color-mix(in oklch, var(--accent-water) 14%, var(--card-2))}}.farm-menu-item.is-active{color:var(--ink-1)}.farm-menu-icon{background:var(--card-2);border-radius:999px;place-items:center;width:28px;height:28px;display:grid}@supports (color:color-mix(in lab, red, red)){.farm-menu-icon{background:color-mix(in oklch, var(--card-2) 70%, transparent)}}.farm-menu-icon{color:var(--ink-2);flex-shrink:0}.farm-menu-item.is-active .farm-menu-icon{background:var(--accent-water)}@supports (color:color-mix(in lab, red, red)){.farm-menu-item.is-active .farm-menu-icon{background:color-mix(in oklch, var(--accent-water) 22%, var(--card-2))}}.farm-menu-item.is-active .farm-menu-icon{color:var(--accent-water)}.farm-menu-label{font-family:var(--farm-serif);letter-spacing:-.1px;flex:1;font-size:15px;font-weight:500}.farm-menu-dot{background:var(--accent-good);width:6px;height:6px;box-shadow:0 0 0 3px var(--accent-good);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.farm-menu-dot{box-shadow:0 0 0 3px color-mix(in oklch, var(--accent-good) 22%, transparent)}}@media (prefers-reduced-motion:reduce){.farm-menu,.farm-menu-backdrop{transition:none}}.farm-history-summary{border:1px solid var(--rule);background:var(--card);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px;display:grid}.farm-hsum{flex-direction:column;align-items:center;gap:4px;display:flex}.farm-hsum-lbl{font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);font-size:9px}.farm-hsum-val{font-family:var(--farm-serif);color:var(--ink-1);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.farm-history-table-wrap{border:1px solid var(--rule);background:var(--card);border-radius:14px;overflow:hidden}.farm-history-table{border-collapse:collapse;width:100%;font-family:var(--farm-mono);font-size:12px}.farm-history-table thead{background:var(--card-2);border-bottom:1px solid var(--rule)}.farm-history-table th{z-index:1;background:var(--card-2);color:var(--ink-3);text-align:left;letter-spacing:.5px;text-transform:uppercase;padding:10px 12px;font-size:9px;font-weight:500;position:sticky;top:0}.farm-history-table td{border-bottom:1px solid var(--rule);color:var(--ink-1);vertical-align:middle;font-variant-numeric:tabular-nums;white-space:nowrap;padding:9px 12px}.farm-history-table tbody tr:last-child td{border-bottom:0}.farm-history-table tbody tr.is-day-break td{border-top:1px solid var(--ink-3)}@supports (color:color-mix(in lab, red, red)){.farm-history-table tbody tr.is-day-break td{border-top:1px solid color-mix(in oklch, var(--ink-3) 30%, var(--rule))}}.farm-history-table tbody tr:nth-child(odd) td{background:var(--card-2)}@supports (color:color-mix(in lab, red, red)){.farm-history-table tbody tr:nth-child(odd) td{background:color-mix(in oklch, var(--card-2) 40%, transparent)}}.farm-history-table .farm-col-date{width:30%;color:var(--ink-2)}.farm-history-table .farm-col-time{width:18%;color:var(--ink-3)}.farm-history-table .farm-col-water,.farm-history-table .farm-col-delta{text-align:right}.farm-history-table .farm-col-water{width:26%;color:var(--accent-water);font-weight:600}.farm-history-table .farm-col-delta{width:26%;color:var(--ink-3);font-size:11px}.farm-history-table .farm-col-delta.is-up{color:var(--accent-good)}.farm-history-table .farm-col-delta.is-down{color:var(--accent-warn)}.farm-history-foot{text-align:center;font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);padding:4px 0;font-size:9px}.farm-app-foot{letter-spacing:.5px;color:var(--ink-3);justify-content:space-between;padding:2px 2px 0;font-size:9px;display:flex}.farm-muted{text-align:right}.farm-bottomnav{z-index:20;padding:6px 4px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--rule);background:var(--bg);grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;margin-top:auto;display:grid;position:sticky;bottom:0}@supports (color:color-mix(in lab, red, red)){.farm-bottomnav{background:color-mix(in oklch, var(--bg) 94%, white)}}.farm-bottomnav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.farm-nav-item{color:var(--ink-3);background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;text-decoration:none;display:flex}.farm-nav-item span{font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;font-size:9px}.farm-nav-active{color:var(--ink-1)}.farm-nav-add{transform:translateY(-8px)}.farm-add-circle{background:var(--brand-1);width:42px;height:42px;color:var(--brand-2);box-shadow:0 4px 12px var(--brand-1);border-radius:999px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.farm-add-circle{box-shadow:0 4px 12px color-mix(in oklch, var(--brand-1) 40%, transparent)}}.farm-dashboard-grid{flex-direction:column;gap:14px;display:flex}.farm-summary{flex-direction:column;gap:14px;padding:20px;display:flex;position:relative;overflow:hidden}.farm-summary-link{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}.farm-summary:before{content:"";pointer-events:none;opacity:.65;background:radial-gradient(circle at 92% -8%, var(--brand-1), transparent 38%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.farm-summary:before{background:radial-gradient(circle at 92% -8%, color-mix(in oklch, var(--brand-1) 8%, transparent), transparent 38%)}}.farm-summary>*{z-index:3;position:relative}.farm-summary-weather{isolation:isolate}.farm-summary-weather:before{background:radial-gradient(circle at 90% -10%, var(--accent-warm), transparent 40%)}@supports (color:color-mix(in lab, red, red)){.farm-summary-weather:before{background:radial-gradient(circle at 90% -10%, color-mix(in oklch, var(--accent-warm) 22%, transparent), transparent 40%)}}.farm-summary-weather:before{z-index:2}.farm-bg-img{z-index:0;object-fit:cover;transition:filter .6s;transform:scale(1.06)}.farm-bg-overlay{z-index:1;pointer-events:none;transition:background .6s;position:absolute;inset:0}.farm-summary-weather{color:#fffffff5}.farm-summary.farm-summary-weather .farm-eyebrow{color:#ffffffc7;text-shadow:0 1px 4px #0000008c}.farm-summary.farm-summary-weather .farm-summary-num,.farm-summary.farm-summary-weather .farm-summary-num-unit{text-shadow:0 2px 14px #000000a6,0 1px 3px #00000073;color:#fff!important}.farm-summary.farm-summary-weather .farm-weather-hi,.farm-summary.farm-summary-weather .farm-weather-lo{color:#fffffff0;text-shadow:0 1px 6px #0000008c}.farm-summary.farm-summary-weather .farm-weather-desc{text-shadow:0 1px 6px #0009;color:#ffffffeb!important}.farm-summary.farm-summary-weather .farm-weather-tomorrow-chip{-webkit-backdrop-filter:blur(8px);background:#00000047;border-color:#ffffff2e}.farm-summary.farm-summary-weather .farm-summary-hour-time,.farm-summary.farm-summary-weather .farm-summary-hour-temp,.farm-summary.farm-summary-weather .farm-summary-hour-rain{text-shadow:0 1px 4px #0009;color:#ffffffeb!important}.farm-summary.farm-summary-weather .farm-summary-hourly{-webkit-backdrop-filter:blur(8px);background:#00000038;border-color:#ffffff24}.farm-summary.farm-summary-weather .farm-history-btn{color:#fff!important;background:#00000047!important;border-color:#fff6!important}.farm-summary.farm-summary-weather{--ink-3:#ffffffeb}.farm-summary.farm-summary-weather .farm-weather-hero svg,.farm-summary.farm-summary-weather .farm-summary-hour svg,.farm-summary.farm-summary-weather .farm-weather-tomorrow-chip svg{filter:drop-shadow(0 1px 4px #0009)}.farm-summary-well:before{background:radial-gradient(circle at 95% 0%, var(--accent-water), transparent 38%)}@supports (color:color-mix(in lab, red, red)){.farm-summary-well:before{background:radial-gradient(circle at 95% 0%, color-mix(in oklch, var(--accent-water) 18%, transparent), transparent 38%)}}.farm-summary-pool:before{background:radial-gradient(circle at 5% 0%, var(--accent-water), transparent 32%), radial-gradient(circle at 95% 0%, var(--accent-warm), transparent 32%)}@supports (color:color-mix(in lab, red, red)){.farm-summary-pool:before{background:radial-gradient(circle at 5% 0%, color-mix(in oklch, var(--accent-water) 14%, transparent), transparent 32%), radial-gradient(circle at 95% 0%, color-mix(in oklch, var(--accent-warm) 14%, transparent), transparent 32%)}}.farm-summary-energy:before{background:radial-gradient(circle at 92% -4%, var(--accent-good), transparent 40%)}@supports (color:color-mix(in lab, red, red)){.farm-summary-energy:before{background:radial-gradient(circle at 92% -4%, color-mix(in oklch, var(--accent-good) 20%, transparent), transparent 40%)}}.farm-summary-network:before{background:radial-gradient(circle at 92% -4%, var(--brand-1), transparent 38%)}@supports (color:color-mix(in lab, red, red)){.farm-summary-network:before{background:radial-gradient(circle at 92% -4%, color-mix(in oklch, var(--brand-1) 14%, transparent), transparent 38%)}}.farm-locked{border-radius:18px;position:relative;overflow:hidden}.farm-locked-blur{filter:blur(7px)saturate(.85);pointer-events:none;-webkit-user-select:none;user-select:none;transform:scale(1.04)}.farm-locked-overlay{z-index:4;text-align:center;color:var(--ink-1);background:var(--card);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;text-decoration:none;display:flex;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.farm-locked-overlay{background:color-mix(in oklch, var(--card) 55%, transparent)}}.farm-locked-overlay{-webkit-tap-highlight-color:transparent}.farm-locked-badge{width:46px;height:46px;color:var(--accent-good);background:var(--accent-good);border-radius:999px;justify-content:center;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.farm-locked-badge{background:color-mix(in oklch, var(--accent-good) 16%, var(--card))}}.farm-locked-badge{box-shadow:inset 0 0 0 1px var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-locked-badge{box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--accent-good) 35%, transparent)}}.farm-locked-title{font-family:var(--farm-serif);letter-spacing:-.2px;font-size:17px;font-weight:600}.farm-locked-sub{color:var(--ink-3);font-size:12px}.farm-locked-overlay:hover .farm-locked-badge{background:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-locked-overlay:hover .farm-locked-badge{background:color-mix(in oklch, var(--accent-good) 24%, var(--card))}}.farm-summary-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.farm-summary-titles{min-width:0}.farm-summary-hero{align-items:flex-end;gap:4px;margin-top:6px;display:flex}.farm-summary-num{font-family:var(--farm-serif);letter-spacing:-1.5px;font-variant-numeric:tabular-nums;color:var(--ink-1);font-size:clamp(48px,12vw,56px);font-weight:500;line-height:.95}.farm-summary-num-unit{font-family:var(--farm-serif);color:var(--ink-2);padding-bottom:8px;font-size:18px;font-weight:500}.farm-summary-desc{color:var(--ink-2);margin-top:6px;font-size:13px;line-height:1.4}.farm-summary-trend{margin-top:8px}.farm-summary-icon{background:var(--card-2);border-radius:999px;flex:none;justify-content:center;align-items:center;width:64px;height:64px;display:flex}@supports (color:color-mix(in lab, red, red)){.farm-summary-icon{background:color-mix(in oklch, var(--card-2) 70%, transparent)}}.farm-summary-icon{color:var(--ink-1)}.farm-weather-eyebrows{justify-content:space-between;align-items:center;gap:12px;display:flex}.farm-weather-tomorrow-chip{background:var(--card-2);border-radius:999px;align-items:center;gap:6px;padding:3px 8px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.farm-weather-tomorrow-chip{background:color-mix(in oklch, var(--card-2) 70%, transparent)}}.farm-weather-tomorrow-chip{font-size:11px}.farm-weather-tomorrow-chip .farm-eyebrow{letter-spacing:.6px;font-size:9px}.farm-weather-tomorrow-chip .farm-weather-hi,.farm-weather-tomorrow-chip .farm-weather-lo{font-size:11px}.farm-weather-tomorrow-temps{align-items:center;gap:6px;display:inline-flex}.farm-weather-hero{align-items:center;gap:12px;padding:2px 0;display:flex}.farm-weather-hero .farm-summary-hero{flex-shrink:0;margin-top:0}.farm-weather-hero .farm-summary-num{font-size:clamp(44px,10vw,56px)}.farm-weather-foot{min-width:0;color:var(--ink-2);flex-direction:column;gap:2px;font-size:13px;line-height:1.35;display:flex}.farm-weather-hilo{align-items:baseline;gap:8px;display:inline-flex}.farm-weather-hi{font-family:var(--farm-mono);font-variant-numeric:tabular-nums;letter-spacing:.3px;color:var(--accent-warn);font-weight:600}.farm-weather-lo{font-family:var(--farm-mono);font-variant-numeric:tabular-nums;letter-spacing:.3px;color:var(--accent-water);font-weight:600}.farm-weather-desc{color:var(--ink-1)}.farm-summary-stats{grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:10px 14px;display:grid}.farm-summary-stat-lbl{font-family:var(--farm-mono);letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);font-size:9px}.farm-summary-stat-val{font-family:var(--farm-mono);color:var(--ink-1);font-variant-numeric:tabular-nums;margin-top:3px;font-size:15px;font-weight:600}.farm-summary-hourly{scrollbar-width:thin;scrollbar-color:var(--accent-water) transparent;grid-auto-columns:minmax(50px,1fr);grid-auto-flow:column;gap:8px;margin:0;padding:12px 0 0;list-style:none;display:grid;overflow-x:auto}@supports (color:color-mix(in lab, red, red)){.farm-summary-hourly{scrollbar-color:color-mix(in srgb, var(--accent-water) 40%, transparent) transparent}}.farm-summary-hour{flex-direction:column;align-items:center;gap:5px;min-width:0;display:flex}.farm-summary-hour-time{font-family:var(--farm-mono);color:var(--ink-3);font-size:10px}.farm-summary-hour-temp{font-family:var(--farm-mono);color:var(--ink-1);font-size:13px;font-weight:500}.farm-summary-hour-rain{min-height:12px;font-family:var(--farm-mono);color:var(--accent-water);font-size:9px}.farm-summary-status{background:var(--card-2);font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 10px;font-size:11px;display:inline-flex}.farm-summary-network .farm-summary-num-unit{font-size:14px}.farm-summary-status-dot{background:var(--ink-3);border-radius:999px;width:8px;height:8px}.farm-summary-status.is-up{background:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-summary-status.is-up{background:color-mix(in oklch, var(--accent-good) 14%, var(--card-2))}}.farm-summary-status.is-up{color:var(--accent-good)}.farm-summary-status.is-up .farm-summary-status-dot{background:var(--accent-good);box-shadow:0 0 0 3px var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-summary-status.is-up .farm-summary-status-dot{box-shadow:0 0 0 3px color-mix(in oklch, var(--accent-good) 22%, transparent)}}.farm-summary-status.is-up .farm-summary-status-dot{animation:2s ease-in-out infinite farm-pulse}.farm-summary-status.is-down{background:var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.farm-summary-status.is-down{background:color-mix(in oklch, var(--accent-warn) 14%, var(--card-2))}}.farm-summary-status.is-down{color:var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.farm-summary-status.is-down{color:color-mix(in oklch, var(--accent-warn) 84%, black)}}.farm-summary-status.is-down .farm-summary-status-dot{background:var(--accent-warn)}.farm-summary-status-dot.is-up{background:var(--accent-good);box-shadow:0 0 0 3px var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-summary-status-dot.is-up{box-shadow:0 0 0 3px color-mix(in oklch, var(--accent-good) 22%, transparent)}}.farm-summary-status-dot.is-up{animation:2s ease-in-out infinite farm-pulse}.farm-summary-status-dot.is-down{background:var(--accent-warn);box-shadow:0 0 0 3px var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.farm-summary-status-dot.is-down{box-shadow:0 0 0 3px color-mix(in oklch, var(--accent-warn) 24%, transparent)}}.farm-summary-status-dot.is-down{animation:2s ease-in-out infinite farm-pulse}.farm-summary-status-text{color:currentColor}.farm-summary-status-meta{color:var(--ink-3);margin-left:4px}.farm-mini-gauge{background:var(--card-2);border-radius:999px;width:100%;height:4px;margin-top:6px}@supports (color:color-mix(in lab, red, red)){.farm-mini-gauge{background:color-mix(in oklch, var(--card-2) 60%, transparent)}}.farm-mini-gauge{overflow:hidden}.farm-mini-gauge-fill{border-radius:999px;height:100%;transition:width .4s}.farm-meta-row{font-family:var(--farm-mono);letter-spacing:.4px;text-transform:uppercase;color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;font-size:10px;display:flex}.farm-meta-row strong{color:var(--ink-2);font-weight:600}.farm-meta-row .farm-insight-dot{background:var(--accent-good);width:6px;height:6px;margin:0}.farm-meta-row>span:not(.farm-insight-dot){text-transform:none;letter-spacing:.2px;color:var(--ink-2);font-size:11px}.farm-meta-clock{font-family:var(--farm-mono);letter-spacing:.4px!important;text-transform:uppercase!important;color:var(--ink-3)!important;font-size:10px!important}.farm-meta-sep{color:var(--ink-3)!important}.farm-energy-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.farm-energy-row{grid-template-columns:60px 1fr auto;align-items:center;gap:10px;display:grid}.farm-energy-name{font-family:var(--farm-mono);letter-spacing:.4px;text-transform:uppercase;color:var(--ink-2);font-size:11px}.farm-energy-bar-wrap{background:var(--card-2);border-radius:999px;height:8px}@supports (color:color-mix(in lab, red, red)){.farm-energy-bar-wrap{background:color-mix(in oklch, var(--card-2) 70%, transparent)}}.farm-energy-bar-wrap{overflow:hidden}.farm-energy-bar{background:var(--accent-good);border-radius:999px;height:100%;transition:width .4s;display:block}.farm-energy-idle .farm-energy-bar{background:var(--ink-3)}.farm-energy-cool .farm-energy-bar{background:var(--accent-water)}.farm-energy-low .farm-energy-bar{background:var(--accent-good)}.farm-energy-medium .farm-energy-bar{background:var(--accent-warm)}.farm-energy-high .farm-energy-bar{background:var(--accent-warn)}.farm-energy-val{font-family:var(--farm-mono);color:var(--ink-1);font-variant-numeric:tabular-nums;text-align:right;font-size:12px;font-weight:600}.farm-brunn-facts{flex-direction:column;gap:14px;display:flex}.farm-brunn-facts-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:14px 18px;display:grid}.farm-pump-rules{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.farm-pump-rules li{background:var(--card-2);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.farm-pump-rule-lbl{font-family:var(--farm-mono);letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);font-size:10px}.farm-pump-rule-val{color:var(--ink-2);font-size:13px}.farm-pump-rule-val strong{color:var(--ink-1);font-weight:600;font-family:var(--farm-mono)}.farm-pump-mode-tag{border:1px solid var(--rule);background:var(--card-2);color:var(--ink-3);font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:5px 10px;font-size:10px;display:inline-flex}.farm-pump-mode-on{background:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-pump-mode-on{background:color-mix(in oklch, var(--accent-good) 16%, transparent)}}.farm-pump-mode-on{border-color:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-pump-mode-on{border-color:color-mix(in oklch, var(--accent-good) 32%, var(--rule))}}.farm-pump-mode-on{color:var(--accent-good)}.farm-pump-mode-off{background:var(--accent-water)}@supports (color:color-mix(in lab, red, red)){.farm-pump-mode-off{background:color-mix(in oklch, var(--accent-water) 16%, transparent)}}.farm-pump-mode-off{border-color:var(--accent-water)}@supports (color:color-mix(in lab, red, red)){.farm-pump-mode-off{border-color:color-mix(in oklch, var(--accent-water) 32%, var(--rule))}}.farm-pump-mode-off{color:var(--accent-water)}.farm-pump-control-banner{background:var(--accent-warm);border-radius:10px;margin-top:4px;padding:10px 12px}@supports (color:color-mix(in lab, red, red)){.farm-pump-control-banner{background:color-mix(in oklch, var(--accent-warm) 12%, var(--card-2))}}.farm-pump-control-banner{border:1px solid var(--accent-warm)}@supports (color:color-mix(in lab, red, red)){.farm-pump-control-banner{border:1px solid color-mix(in oklch, var(--accent-warm) 26%, var(--rule))}}.farm-pump-control-banner{color:var(--ink-2);font-size:12px;line-height:1.5}.farm-pump-control-banner strong{color:var(--ink-1);font-weight:600}.farm-pump-control-banner-busy{background:var(--ink-1)}@supports (color:color-mix(in lab, red, red)){.farm-pump-control-banner-busy{background:color-mix(in oklch, var(--ink-1) 4%, var(--card-2))}}.farm-pump-control-banner-busy{border-color:var(--rule);color:var(--ink-3);align-items:center;gap:8px;display:flex}.farm-pump-control-banner-busy:before{content:"";border:2px solid var(--ink-3);border-radius:50%;width:12px;height:12px}@supports (color:color-mix(in lab, red, red)){.farm-pump-control-banner-busy:before{border:2px solid color-mix(in oklch, var(--ink-3) 30%, transparent)}}.farm-pump-control-banner-busy:before{border-top-color:var(--ink-2);animation:.7s linear infinite farm-spinner}@keyframes farm-spinner{to{transform:rotate(360deg)}}.farm-pump-control-hint{color:var(--ink-3);margin:4px 0 0;font-size:12px;line-height:1.5}.farm-pump-control-durations{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.farm-pump-control-durations-lbl{font-family:var(--farm-mono);letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);font-size:10px}.farm-seg{background:var(--card-2);border:1px solid var(--rule);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.farm-seg-btn{appearance:none;color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:12px;transition:background .15s,color .15s}.farm-seg-btn.is-active{background:var(--card);color:var(--ink-1);box-shadow:0 1px 2px #0000001f}.farm-pump-control-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.farm-pump-btn{appearance:none;border:1px solid var(--rule);background:var(--card-2);color:var(--ink-1);cursor:pointer;border-radius:12px;padding:12px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s}.farm-pump-btn:disabled{opacity:.45;cursor:not-allowed}.farm-pump-btn-on{background:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-pump-btn-on{background:color-mix(in oklch, var(--accent-good) 16%, var(--card-2))}}.farm-pump-btn-on{border-color:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-pump-btn-on{border-color:color-mix(in oklch, var(--accent-good) 32%, var(--rule))}}.farm-pump-btn-on{color:var(--accent-good)}.farm-pump-btn-off{background:var(--accent-water)}@supports (color:color-mix(in lab, red, red)){.farm-pump-btn-off{background:color-mix(in oklch, var(--accent-water) 16%, var(--card-2))}}.farm-pump-btn-off{border-color:var(--accent-water)}@supports (color:color-mix(in lab, red, red)){.farm-pump-btn-off{border-color:color-mix(in oklch, var(--accent-water) 32%, var(--rule))}}.farm-pump-btn-off{color:var(--accent-water)}.farm-pump-btn-auto{grid-column:1/-1}.farm-pump-btn:not(:disabled):hover{border-color:var(--ink-3)}.farm-pool-energy-price{font-family:var(--farm-mono);letter-spacing:.5px;color:var(--ink-3);white-space:nowrap;font-size:10px}.farm-pool-energy-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px;display:grid}.farm-pool-energy-cell{background:var(--card-2);border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;display:flex}.farm-pool-energy-val{color:var(--ink-1);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.farm-pool-energy-lbl{font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);font-size:9px}.farm-pump-ev-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.farm-pump-ev{background:var(--card-2);border-left:3px solid var(--rule);border-radius:8px;align-items:baseline;gap:10px;padding:6px 10px;font-size:12px;line-height:1.3;display:flex}.farm-pump-ev-delta{border-left-color:var(--accent-warm)}.farm-pump-ev-force{border-left-color:var(--accent-good)}.farm-pump-ev-manual,.farm-pump-ev-shelly{border-left-color:var(--accent-water)}.farm-pump-ev.is-ongoing{background:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-pump-ev.is-ongoing{background:color-mix(in oklch, var(--accent-good) 8%, var(--card-2))}}.farm-pump-ev-day{color:var(--ink-1);white-space:nowrap;min-width:64px;font-weight:600}.farm-pump-ev-time{font-family:var(--farm-mono);color:var(--ink-2);font-variant-numeric:tabular-nums;flex:1;min-width:0}.farm-pump-ev-dur{color:var(--ink-3)}.farm-pump-ev-trigger{letter-spacing:.3px;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;font-size:10px}.farm-pump-ev-trigger-delta{color:var(--accent-warm)}.farm-pump-ev-trigger-force{color:var(--accent-good)}.farm-pump-ev-trigger-manual,.farm-pump-ev-trigger-shelly{color:var(--accent-water)}.farm-energy-total{flex-direction:column;gap:14px;display:flex}.farm-energy-total-row{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.farm-energy-total-side{text-align:right}.farm-energy-total-kwh{font-family:var(--farm-serif);color:var(--ink-1);font-variant-numeric:tabular-nums;margin-top:4px;font-size:22px;font-weight:600}.farm-energy-total-cost{font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);margin-top:2px;font-size:10px}.farm-month-list-card{padding-bottom:12px}.farm-month-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.farm-month-list>li{margin:0}.farm-month-row{background:var(--card-2);color:var(--ink-1);border-radius:12px;grid-template-columns:minmax(96px,110px) minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;transition:background .15s,transform .15s;display:grid}.farm-month-row:hover{background:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-month-row:hover{background:color-mix(in oklch, var(--accent-good) 10%, var(--card-2))}}.farm-month-row.is-current{background:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-month-row.is-current{background:color-mix(in oklch, var(--accent-good) 18%, var(--card-2))}}.farm-month-row-label{flex-direction:column;gap:1px;min-width:0;display:flex}.farm-month-row-name{font-family:var(--farm-serif);text-transform:capitalize;letter-spacing:-.2px;font-size:16px;font-weight:600}.farm-month-row-year{font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);font-size:9px}.farm-month-row-bar-wrap{background:var(--card);border-radius:999px;min-width:0;height:8px}@supports (color:color-mix(in lab, red, red)){.farm-month-row-bar-wrap{background:color-mix(in oklch, var(--card) 60%, transparent)}}.farm-month-row-bar-wrap{overflow:hidden}.farm-month-row-bar{background:var(--accent-good);border-radius:999px;height:100%;transition:width .4s;display:block}.farm-month-row-values{text-align:right;font-variant-numeric:tabular-nums}.farm-month-row-kwh{font-family:var(--farm-mono);color:var(--ink-1);font-size:13px;font-weight:600}.farm-month-row-cost{font-family:var(--farm-mono);color:var(--ink-3);letter-spacing:.3px;margin-top:1px;font-size:10px}.farm-day-list-card{padding-bottom:12px}.farm-day-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.farm-day-row{background:0 0;border-radius:10px;grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:14px;padding:8px 12px;transition:background .15s;display:grid}.farm-day-row:nth-child(odd){background:var(--card-2)}@supports (color:color-mix(in lab, red, red)){.farm-day-row:nth-child(odd){background:color-mix(in oklch, var(--card-2) 45%, transparent)}}.farm-day-row.is-weekend{background:var(--accent-water)}@supports (color:color-mix(in lab, red, red)){.farm-day-row.is-weekend{background:color-mix(in oklch, var(--accent-water) 8%, transparent)}}.farm-day-row.is-today{background:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-day-row.is-today{background:color-mix(in oklch, var(--accent-good) 16%, var(--card-2))}}.farm-day-row-date{align-items:baseline;gap:6px;display:flex}.farm-day-row-weekday{font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);font-size:10px}.farm-day-row-num{font-family:var(--farm-mono);color:var(--ink-1);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.farm-day-row.is-today .farm-day-row-weekday,.farm-day-row.is-today .farm-day-row-num{color:var(--accent-good)}.farm-day-row-bar-wrap{background:var(--card-2);border-radius:999px;min-width:0;height:6px}@supports (color:color-mix(in lab, red, red)){.farm-day-row-bar-wrap{background:color-mix(in oklch, var(--card-2) 70%, transparent)}}.farm-day-row-bar-wrap{overflow:hidden}.farm-day-row-bar{background:var(--accent-good);border-radius:999px;height:100%;display:block}.farm-day-row-values{text-align:right;font-variant-numeric:tabular-nums}.farm-day-row-kwh{font-family:var(--farm-mono);color:var(--ink-1);font-size:12px;font-weight:600}.farm-day-row-cost{font-family:var(--farm-mono);color:var(--ink-3);letter-spacing:.3px;margin-top:1px;font-size:9px}.farm-house{flex-direction:column;gap:12px;display:flex}.farm-house-chart{width:100%;height:90px;display:block}.farm-house-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;display:grid}.farm-house-link{flex-direction:column;gap:12px;display:flex}.farm-phase-list{border-top:1px dashed var(--rule);margin-top:6px;padding-top:10px}@supports (color:color-mix(in lab, red, red)){.farm-phase-list{border-top:1px dashed color-mix(in oklch, var(--rule) 80%, transparent)}}.farm-phase-list{gap:6px}.farm-phase-list .farm-energy-row{grid-template-columns:32px 1fr auto}.farm-phase-name{font-family:var(--farm-mono);letter-spacing:.6px;color:var(--ink-2);font-size:10px;font-weight:600}.farm-phase-card{flex-direction:column;gap:14px;display:flex}.farm-phase-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.farm-phase-cell{background:var(--card-2);border:1px solid var(--rule);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}@supports (color:color-mix(in lab, red, red)){.farm-phase-cell{border:1px solid color-mix(in oklch, var(--rule) 60%, transparent)}}.farm-phase-cell-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.farm-phase-cell .farm-phase-name{font-size:11px}.farm-phase-watts{font-family:var(--farm-mono);color:var(--ink-1);font-size:13px;font-weight:600}.farm-phase-cell-foot{font-family:var(--farm-mono);color:var(--ink-3);letter-spacing:.3px;justify-content:space-between;gap:8px;font-size:10px;display:flex}.farm-net-headline{flex-direction:column;gap:14px;display:flex}.farm-net-headline-eyebrow{justify-content:space-between;align-items:center;gap:12px;display:flex}.farm-net-headline-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.farm-net-headline-clients,.farm-mainserver-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;display:grid}.farm-mesh-node-link{color:inherit;text-decoration:none;display:block}.farm-mesh-node-link:hover .farm-mesh-node{background:var(--accent-water)}@supports (color:color-mix(in lab, red, red)){.farm-mesh-node-link:hover .farm-mesh-node{background:color-mix(in oklch, var(--accent-water) 8%, var(--card))}}.farm-puck-headline .farm-card-title{align-items:center;gap:10px;display:inline-flex}.farm-puck-model-sub{font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);margin-top:2px;font-size:10px}.farm-puck-status-tag{font-family:var(--farm-mono);letter-spacing:.6px;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:10px;font-weight:600}.farm-puck-status-tag.is-on{background:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-puck-status-tag.is-on{background:color-mix(in oklch, var(--accent-good) 16%, transparent)}}.farm-puck-status-tag.is-on{color:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-puck-status-tag.is-on{color:color-mix(in oklch, var(--accent-good) 88%, black)}}.farm-puck-status-tag.is-off{background:var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.farm-puck-status-tag.is-off{background:color-mix(in oklch, var(--accent-warn) 16%, transparent)}}.farm-puck-status-tag.is-off{color:var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.farm-puck-status-tag.is-off{color:color-mix(in oklch, var(--accent-warn) 88%, black)}}.farm-puck-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.farm-puck-stat{background:var(--card-2);border-radius:10px;padding:10px 12px}.farm-puck-stat-val{font-family:var(--farm-mono);color:var(--ink-1);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.farm-puck-stat-lbl{font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);margin-top:2px;font-size:9px}.farm-puck-chart{flex-direction:column;gap:6px;margin-top:8px;display:flex}.farm-puck-chart-empty{text-align:center;color:var(--ink-3);padding:14px;font-size:12px}.farm-puck-chart-legend{font-family:var(--farm-mono);color:var(--ink-2);justify-content:center;gap:16px;font-size:10px;display:flex}.farm-puck-chart-legend-item{align-items:center;gap:6px;display:inline-flex}.farm-puck-chart-swatch{border-radius:1px;width:10px;height:2px}.farm-puck-chart-swatch.is-up{background:var(--accent-warm)}.farm-puck-chart-swatch.is-down{background:var(--accent-water)}.farm-puck-clients-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.farm-puck-client-row{background:var(--card-2);font-family:var(--farm-mono);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:11px;display:flex}.farm-puck-client-mac{color:var(--ink-1);font-weight:600}.farm-puck-client-aging{color:var(--ink-3);font-size:10px}.farm-puck-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:8px 0 0;display:grid}.farm-puck-meta div{flex-direction:column;gap:2px;display:flex}.farm-puck-meta dt{font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);font-size:9px}.farm-puck-meta dd{color:var(--ink-1);margin:0;font-size:13px}.farm-mesh-node-stats{justify-content:space-between;align-items:center;gap:14px;margin-top:10px;display:flex}.farm-mesh-node-rates{font-family:var(--farm-mono);font-variant-numeric:tabular-nums;color:var(--ink-2);gap:16px;font-size:12px;display:flex}.farm-mesh-node-muted{font-family:var(--farm-mono);color:var(--ink-3);font-size:11px}.farm-mesh-node-clients{align-items:baseline;gap:6px;display:inline-flex}.farm-mesh-node-clients-val{font-family:var(--farm-mono);color:var(--ink-1);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.farm-mesh-node-clients-lbl{font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);font-size:10px}.farm-mesh-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.farm-mesh-node{background:var(--card-2);border:1px solid var(--rule);border-radius:14px;padding:14px}@supports (color:color-mix(in lab, red, red)){.farm-mesh-node{border:1px solid color-mix(in oklch, var(--rule) 60%, transparent)}}.farm-mesh-node.is-offline{background:var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.farm-mesh-node.is-offline{background:color-mix(in oklch, var(--accent-warn) 10%, var(--card-2))}}.farm-mesh-node.is-offline{border-color:var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.farm-mesh-node.is-offline{border-color:color-mix(in oklch, var(--accent-warn) 30%, var(--rule))}}.farm-mesh-node-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.farm-mesh-node-name{font-family:var(--farm-serif);color:var(--ink-1);align-items:baseline;gap:8px;font-size:17px;font-weight:600;display:flex}.farm-mesh-node-label{align-items:center;gap:8px;display:inline-flex}.farm-mesh-node-model{font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;font-size:9px;font-weight:500}.farm-mesh-node-offline{background:var(--accent-warn);border-radius:999px;align-items:center;padding:3px 10px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.farm-mesh-node-offline{background:color-mix(in oklch, var(--accent-warn) 16%, transparent)}}.farm-mesh-node-offline{color:var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.farm-mesh-node-offline{color:color-mix(in oklch, var(--accent-warn) 88%, black)}}.farm-mesh-node-offline{font-family:var(--farm-mono);letter-spacing:.6px;text-transform:uppercase;font-size:10px;font-weight:600}.farm-mesh-dot{background:var(--ink-3);border-radius:999px;width:8px;height:8px}.farm-mesh-dot.is-online{background:var(--accent-good);box-shadow:0 0 0 3px var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-mesh-dot.is-online{box-shadow:0 0 0 3px color-mix(in oklch, var(--accent-good) 22%, transparent)}}.farm-mesh-dot.is-offline{background:var(--accent-warn)}.farm-mesh-node-state{font-family:var(--farm-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);font-size:10px}.farm-mesh-node.is-online .farm-mesh-node-state{color:var(--accent-good)}.farm-mesh-node.is-offline .farm-mesh-node-state{color:var(--accent-warn)}.farm-mesh-node-meta{font-family:var(--farm-mono);color:var(--ink-2);align-items:center;gap:14px;margin-top:10px;font-size:12px;display:flex}.farm-mesh-node-dbm{color:var(--ink-1);font-weight:600}.farm-mesh-node-sig{color:var(--ink-3);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.farm-speedtest-card{flex-direction:column;gap:12px;display:flex}.farm-speedtest-embed{margin-top:0}.farm-card-divider{border:0;border-top:1px solid var(--rule);margin:4px -14px 2px}@supports (color:color-mix(in lab, red, red)){.farm-card-divider{border-top:1px solid color-mix(in oklch, var(--rule) 70%, transparent)}}.farm-net-top-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.farm-net-status-pill{background:var(--card-2);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.farm-net-status-pill{background:color-mix(in oklch, var(--card-2) 70%, transparent)}}.farm-net-status-pill{color:var(--ink-2)}.farm-net-status-pill strong{color:var(--ink-1);font-weight:600}.farm-net-status-pill .farm-summary-status-dot{width:8px;height:8px}.farm-net-status-pill.is-up .farm-summary-status-dot{background:var(--accent-good);box-shadow:0 0 0 3px var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-net-status-pill.is-up .farm-summary-status-dot{box-shadow:0 0 0 3px color-mix(in oklch, var(--accent-good) 25%, transparent)}}.farm-net-status-pill.is-down .farm-summary-status-dot{background:var(--accent-warn);box-shadow:0 0 0 3px var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.farm-net-status-pill.is-down .farm-summary-status-dot{box-shadow:0 0 0 3px color-mix(in oklch, var(--accent-warn) 25%, transparent)}}.farm-net-status-pill.is-unknown .farm-summary-status-dot{background:var(--ink-3);box-shadow:0 0 0 3px var(--ink-3)}@supports (color:color-mix(in lab, red, red)){.farm-net-status-pill.is-unknown .farm-summary-status-dot{box-shadow:0 0 0 3px color-mix(in oklch, var(--ink-3) 20%, transparent)}}.farm-net-substrip{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:13px;display:flex}.farm-net-substrip strong{color:var(--ink-1);font-weight:600}.farm-net-status-sep{color:var(--ink-3)}.farm-net-status-ago{color:var(--ink-3);margin-left:auto;font-size:12px}.farm-speedtest-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.farm-speedtest-btn{background:var(--ink-1);color:var(--bg);cursor:pointer;border:none;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;transition:opacity .15s}.farm-speedtest-btn:hover:not(:disabled){opacity:.85}.farm-speedtest-btn:disabled{opacity:.5;cursor:progress}.farm-speedtest-btn-full{border-radius:14px;width:100%;margin-top:6px;padding:12px 14px;position:relative;overflow:hidden}.farm-speedtest-btn-content{z-index:1;align-items:center;gap:8px;display:inline-flex;position:relative}.farm-speedtest-btn-elapsed{font-family:var(--farm-mono);opacity:.75;margin-left:auto;padding-left:12px;font-size:12px}.farm-speedtest-btn-full.is-running{background:var(--ink-1)}@supports (color:color-mix(in lab, red, red)){.farm-speedtest-btn-full.is-running{background:color-mix(in oklch, var(--ink-1) 16%, var(--card))}}.farm-speedtest-btn-full.is-running{color:var(--ink-1);cursor:progress;opacity:1}.farm-speedtest-btn-full.is-running .farm-speedtest-btn-content{justify-content:flex-start;width:100%}.farm-speedtest-btn-sweep{background:linear-gradient(90deg, transparent, var(--accent-water), transparent);width:38%;height:100%;position:absolute;top:0;left:0}@supports (color:color-mix(in lab, red, red)){.farm-speedtest-btn-sweep{background:linear-gradient(90deg, transparent, color-mix(in oklch, var(--accent-water) 65%, transparent), transparent)}}.farm-speedtest-btn-sweep{animation:1.25s ease-in-out infinite farm-speedtest-sweep}.farm-speedtest-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;display:grid}.farm-speedtest-num{font-family:var(--farm-mono);color:var(--ink-1);font-variant-numeric:tabular-nums;margin-top:2px;font-size:20px;font-weight:600}.farm-speedtest-num .farm-unit{color:var(--ink-3);margin-left:4px;font-size:11px;font-weight:400}.farm-speedtest-sublatency{font-family:var(--farm-mono);font-variant-numeric:tabular-nums;color:var(--ink-3);margin-top:2px;font-size:11px}.farm-speedtest-substats{color:var(--ink-3);flex-wrap:wrap;gap:6px 16px;font-size:12px;display:flex}.farm-speedtest-substats strong{font-family:var(--farm-mono);color:var(--ink-1);font-weight:600}.farm-speedtest-meta{font-family:var(--farm-mono);color:var(--ink-3);font-size:11px}.farm-speedtest-empty{color:var(--ink-3);font-size:13px;line-height:1.5}.farm-speedtest-error{color:var(--accent-warn);background:var(--accent-warn);border-radius:8px;padding:8px 12px;font-size:13px}@supports (color:color-mix(in lab, red, red)){.farm-speedtest-error{background:color-mix(in oklch, var(--accent-warn) 12%, transparent)}}.farm-mesh-node-backhaul{text-align:left}.farm-mesh-node-backhaul .farm-summary-stat-lbl,.farm-mesh-node-clients .farm-summary-stat-lbl{display:block}.farm-mesh-node-backhaul .farm-summary-stat-val{margin-top:2px}.farm-mesh-node-clients{text-align:right;margin-left:auto}.farm-mesh-node-clients .farm-summary-stat-val{margin-top:2px}.farm-signal-gauge{align-items:flex-end;gap:2px;height:18px;display:inline-flex}.farm-signal-bar{background:var(--ink-3);border-radius:1px;width:3px}@supports (color:color-mix(in lab, red, red)){.farm-signal-bar{background:color-mix(in oklch, var(--ink-3) 30%, transparent)}}.farm-signal-bar.is-on{background:var(--accent-good)}.farm-settings{flex-direction:column;gap:14px;display:flex}.farm-settings-gate{padding:28px}.farm-settings-login{flex-direction:column;gap:14px;max-width:320px;margin:0 auto;display:flex}.farm-settings-card{flex-direction:column;gap:14px;padding:20px;display:flex}.farm-fields-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;display:grid}.farm-settings-toggle{border:1px solid var(--rule);background:var(--card-2);cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.farm-settings-toggle input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent-good);cursor:pointer;flex:none;margin-top:2px}.farm-settings-toggle>span{color:var(--ink-1);flex-direction:column;gap:2px;font-size:14px;display:flex}.farm-settings-toggle-hint{color:var(--ink-3);font-size:12px}.farm-field{flex-direction:column;gap:4px;display:flex}.farm-field-label{font-family:var(--farm-mono);letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);font-size:10px}.farm-field-hint{color:var(--ink-3);font-size:11px}.farm-field-current{border:1px dashed var(--rule);background:var(--card-2);border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.farm-field-current{background:color-mix(in oklch, var(--card-2) 60%, transparent)}}.farm-field-current strong{font-family:var(--farm-mono);color:var(--ink-1);font-size:18px;font-weight:600}.farm-input{border:1px solid var(--rule);background:var(--card);width:100%;color:var(--ink-1);font-family:var(--farm-mono);border-radius:10px;padding:10px 12px;font-size:15px;font-weight:500;transition:border-color .15s,box-shadow .15s}.farm-input:focus{border-color:var(--brand-1);box-shadow:0 0 0 3px var(--brand-1);outline:none}@supports (color:color-mix(in lab, red, red)){.farm-input:focus{box-shadow:0 0 0 3px color-mix(in oklch, var(--brand-1) 20%, transparent)}}.farm-input-error{color:var(--accent-warn);margin:0;font-size:12px}.farm-btn-primary,.farm-btn-secondary,.farm-btn-text{font-family:var(--farm-mono);letter-spacing:1px;text-transform:uppercase;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.farm-btn-primary{border:1px solid var(--brand-1);background:var(--brand-1);color:#fff}.farm-btn-primary:hover:not(:disabled){background:var(--brand-1)}@supports (color:color-mix(in lab, red, red)){.farm-btn-primary:hover:not(:disabled){background:color-mix(in oklch, var(--brand-1) 88%, black)}}.farm-btn-secondary{border:1px solid var(--rule);color:var(--ink-1);background:0 0}.farm-btn-secondary:hover:not(:disabled){background:var(--card-2)}.farm-btn-text{color:var(--ink-3);background:0 0;border:1px solid #0000;padding:8px 14px}.farm-btn-text:hover:not(:disabled){color:var(--ink-1)}.farm-btn-primary:disabled,.farm-btn-secondary:disabled,.farm-btn-text:disabled{opacity:.5;cursor:not-allowed}.farm-form-status{border-radius:10px;margin:0;padding:8px 12px;font-size:12px}.farm-form-status-error{background:var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.farm-form-status-error{background:color-mix(in oklch, var(--accent-warn) 12%, transparent)}}.farm-form-status-error{color:var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.farm-form-status-error{color:color-mix(in oklch, var(--accent-warn) 80%, black)}}.theme-dark .farm-form-status-error{background:var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-form-status-error{background:color-mix(in oklch, var(--accent-warn) 28%, transparent)}}.theme-dark .farm-form-status-error{color:var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-form-status-error{color:color-mix(in oklch, var(--accent-warn) 60%, white)}}.farm-form-status-ok{background:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-form-status-ok{background:color-mix(in oklch, var(--accent-good) 14%, transparent)}}.farm-form-status-ok{color:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-form-status-ok{color:color-mix(in oklch, var(--accent-good) 70%, black)}}.theme-dark .farm-form-status-ok{background:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-form-status-ok{background:color-mix(in oklch, var(--accent-good) 28%, transparent)}}.theme-dark .farm-form-status-ok{color:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.theme-dark .farm-form-status-ok{color:color-mix(in oklch, var(--accent-good) 60%, white)}}.farm-settings-explain{color:var(--ink-2);margin:0;font-size:13px;line-height:1.5}.farm-settings-logout{justify-content:center;padding:8px 0;display:flex}@media (max-width:640px){.farm-page-shell{padding:0}.farm-app{max-width:none;height:100dvh;min-height:0;box-shadow:none;border:0;border-radius:0}}@media (min-width:960px){.farm-page-shell{padding:0}.farm-app{max-width:none;height:100dvh;min-height:0;box-shadow:none;background:radial-gradient(circle at top left, var(--accent-warm), transparent 22%), linear-gradient(180deg, var(--bg) 0%, var(--bg) 18%), var(--bg);border:0;border-radius:0}@supports (color:color-mix(in lab, red, red)){.farm-app{background:radial-gradient(circle at top left, color-mix(in oklch, var(--accent-warm) 8%, transparent), transparent 22%), linear-gradient(180deg, color-mix(in oklch, var(--bg) 84%, white) 0%, var(--bg) 18%), var(--bg)}}.farm-scroll{gap:18px;padding:18px 22px 24px}.farm-desktop-layout{grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);align-items:start;gap:22px;display:grid}.farm-desktop-main{flex-direction:column;gap:18px;min-width:0;display:flex}.farm-content-grid{grid-template-columns:minmax(0,1.1fr) minmax(300px,.72fr);align-items:start;gap:18px;display:grid}.farm-content-main,.farm-content-side{flex-direction:column;gap:18px;min-width:0;display:flex}.farm-desktop-summary{flex-direction:column;gap:18px;min-width:0;display:flex;position:sticky;top:0}.farm-hero-panel{padding:4px 2px 0}.farm-hero{padding:6px 4px 0}.farm-hero-numbers{align-items:center}.farm-num{font-size:clamp(72px,7vw,92px)}.farm-num-unit{padding-bottom:14px;font-size:28px}.farm-hero-side{gap:18px;min-width:150px}.farm-side-num{font-size:16px}.farm-well-section{min-height:520px;padding:12px 12px 0}.farm-card{padding:20px}.farm-dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.farm-summary-weather{grid-column:1/-1}.farm-summary-head{gap:18px}.farm-summary-num{font-size:clamp(56px,6vw,64px)}.farm-summary-icon{width:76px;height:76px}.farm-card-title{font-size:26px}.farm-today-row{gap:18px}.farm-today-copy-inline{font-size:15px}.farm-today-summary-inline{font-size:12px}.farm-hourly{grid-auto-columns:minmax(72px,72px);grid-auto-flow:column;gap:8px;margin:0;padding-bottom:8px;padding-left:0;padding-right:8px;list-style:none;display:grid;overflow:auto hidden}.farm-hour{text-align:center;flex-direction:column;align-items:center;gap:6px;min-height:0;padding:0;display:flex}.farm-hour:not(:last-child){border-bottom:0}.farm-forecast-row{gap:8px}.farm-bottomnav{display:none}.farm-app-foot{padding:4px 4px 0}}.farm-skeleton{background:var(--card-2);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.farm-skeleton{background:color-mix(in oklch, var(--card-2) 90%, var(--rule))}}.farm-skeleton{color:#0000;border-radius:8px}.farm-skeleton:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff59 50%,#0000 100%);background:linear-gradient(90deg,#0000 0%,lab(100% 0 0/.35) 50%,#0000 100%);animation:1.4s ease-in-out infinite farm-skel-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes farm-skel-shimmer{to{transform:translate(100%)}}.farm-skel-eyebrow{width:96px;height:11px;margin-bottom:8px}.farm-skel-title{width:60%;height:28px}.farm-skel-line{height:12px;margin-top:10px}.farm-skel-block{width:100%;height:180px;margin-top:14px}.farm-system-list{flex-direction:column;gap:12px;display:flex}.farm-system-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.farm-system-card-title{align-items:center;gap:8px;min-width:0;display:flex}.farm-system-card-name{font-size:15px;font-weight:600}.farm-system-card-id{font-family:var(--farm-mono);color:var(--ink-3);font-size:11px}.farm-system-card-meta{color:var(--ink-3);white-space:nowrap;font-size:12px}.farm-system-card-empty{font-style:italic}.farm-system-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.farm-system-meter{flex-direction:column;gap:6px;display:flex}.farm-system-meter-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.farm-system-meter-val{font-family:var(--farm-mono);color:var(--ink-1);font-size:13px}.farm-system-uptime{border-top:1px solid var(--rule);grid-column:1/-1;justify-content:space-between;align-items:baseline;gap:8px;padding-top:4px;display:flex}@supports (color:color-mix(in lab, red, red)){.farm-system-uptime{border-top:1px solid color-mix(in oklch, var(--rule) 50%, transparent)}}.farm-system-empty{color:var(--ink-3);font-size:13px;line-height:1.5}.farm-system-offline{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:64px;display:flex}.farm-system-offline-label{letter-spacing:.5px;color:var(--accent-warn);font-size:15px;font-weight:600}@supports (color:color-mix(in lab, red, red)){.farm-system-offline-label{color:color-mix(in oklch, var(--accent-warn) 84%, black)}}.farm-system-offline-since{font-family:var(--farm-mono);color:var(--ink-3);font-size:12px}.farm-system-card-link{color:inherit;text-decoration:none;display:block}.farm-host-history-eyebrow{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.farm-host-history-id{font-family:var(--farm-mono);color:var(--ink-3);font-size:11px}.farm-host-chart-card{flex-direction:column;gap:6px;display:flex}.farm-host-chart-title{font-size:13px;font-weight:600}.farm-host-chart-head{font-family:var(--farm-mono);justify-content:space-between;align-items:baseline;font-size:11px;display:flex}.farm-host-chart-now{color:var(--ink-1);font-size:14px;font-weight:600}.farm-host-chart-range{color:var(--ink-3)}.farm-host-chart-svg{display:block}.farm-host-chart-empty{color:var(--ink-3);font-size:12px;font-style:italic}.farm-net-karta-link{background:var(--card-1);border:1px solid var(--rule);color:var(--ink-1);border-radius:14px;align-items:center;gap:10px;padding:14px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s;display:flex}.farm-net-karta-link:hover{background:var(--card-2)}.farm-net-karta-link-text{flex:1}.farm-karta-main{flex-direction:column;min-height:0;display:flex;padding:0!important}.farm-wifi-map-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.farm-wifi-map{background:var(--card-2);flex:1;width:100%;min-height:60vh}.farm-wifi-marker{cursor:pointer;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 1px #0006,0 2px 6px #0006}.farm-wifi-marker[data-online=true]{background:#22c55e}.farm-wifi-marker[data-online=false]{background:#f97316}.farm-wifi-popup,.farm-wifi-hint{background:var(--card-1);border:1px solid var(--rule);color:var(--ink-2);pointer-events:none;border-radius:12px;padding:12px 14px;font-size:13px;position:absolute;bottom:12px;left:12px;right:12px;box-shadow:0 6px 24px #0003}.farm-wifi-hint code{font-family:var(--farm-mono);background:var(--card-2);border-radius:4px;padding:1px 4px;font-size:12px}.farm-wifi-popup-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.farm-wifi-popup-model{font-family:var(--farm-mono);color:var(--ink-3);font-size:11px}.farm-wifi-popup-body{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.farm-wifi-popup-body>div{flex-direction:column;gap:2px;display:flex}.farm-wifi-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.farm-wifi-dot.is-good{background:#4ade80}.farm-wifi-dot.is-ok{background:#facc15}.farm-wifi-dot.is-weak{background:#f97316}.farm-wifi-dot.is-offline{background:#94a3b8}.farm-input-info{color:var(--ink-2);margin:0;font-size:12px}.farm-otp{justify-content:center;gap:10px;display:flex}.farm-otp-cell{text-align:center;width:56px;height:64px;font-family:var(--farm-mono);border:1px solid var(--rule);background:var(--card);color:var(--ink-1);border-radius:14px;padding:0;font-size:28px;font-weight:600;transition:border-color .15s,box-shadow .15s}.farm-otp-cell:focus{border-color:var(--brand-1);box-shadow:0 0 0 3px var(--brand-1);outline:none}@supports (color:color-mix(in lab, red, red)){.farm-otp-cell:focus{box-shadow:0 0 0 3px color-mix(in oklch, var(--brand-1) 20%, transparent)}}.farm-textarea{resize:vertical;font-family:inherit;font-size:14px;line-height:1.5}.farm-field-check{color:var(--ink-2);flex-direction:row;align-items:center;gap:10px;font-size:13px}.farm-field-check input{width:18px;height:18px}.farm-btn-danger{color:var(--accent-warn)}.farm-btn-danger:hover:not(:disabled){color:var(--accent-warn);background:var(--accent-warn)}@supports (color:color-mix(in lab, red, red)){.farm-btn-danger:hover:not(:disabled){background:color-mix(in oklch, var(--accent-warn) 12%, transparent)}}.farm-inline-form{display:inline-flex}.farm-subhead{font-family:var(--farm-mono);letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);margin:16px 0 0;font-size:11px}.farm-settings-welcome{color:var(--ink-2);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;font-size:14px;display:flex}.farm-settings-logout-inline{display:inline-flex}.farm-user-list,.farm-household-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.farm-user-row,.farm-household-row{border:1px solid var(--rule);background:var(--card-2);border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.farm-user-row,.farm-household-row{background:color-mix(in oklch, var(--card-2) 40%, transparent)}}.farm-user-row-edit{flex-direction:column;align-items:stretch}.farm-user-name,.farm-household-name{color:var(--ink-1);align-items:center;gap:6px;font-weight:600;display:flex}.farm-user-meta,.farm-household-meta{font-family:var(--farm-mono);color:var(--ink-3);margin-top:2px;font-size:12px}.farm-user-tag{font-family:var(--farm-mono);letter-spacing:.6px;text-transform:uppercase;background:var(--brand-1);border-radius:6px;padding:2px 6px;font-size:10px}@supports (color:color-mix(in lab, red, red)){.farm-user-tag{background:color-mix(in oklch, var(--brand-1) 18%, transparent)}}.farm-user-tag{color:var(--brand-1)}.farm-user-tag-self{background:var(--accent-good)}@supports (color:color-mix(in lab, red, red)){.farm-user-tag-self{background:color-mix(in oklch, var(--accent-good) 18%, transparent)}}.farm-user-tag-self{color:var(--accent-good)}.farm-user-actions,.farm-household-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.farm-user-form,.farm-household-create{margin-top:4px}.farm-user-form-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:12px;display:flex}.farm-user-delete{border-top:1px dashed var(--rule);flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;padding-top:12px;display:flex}.farm-household-edit{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.farm-household-edit .farm-input{flex:1;min-width:160px}.farm-household-create{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.farm-household-create .farm-input{flex:1;min-width:200px}.farm-post-feed{flex-direction:column;gap:14px;display:flex}.farm-post-composer,.farm-post{flex-direction:column;gap:12px;padding:18px;display:flex}.farm-post-composer-actions,.farm-comment-composer-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.farm-post-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.farm-post-author{color:var(--ink-1);font-weight:600}.farm-post-meta,.farm-comment-meta{font-family:var(--farm-mono);color:var(--ink-3);margin-top:2px;font-size:11px}.farm-post-body,.farm-comment-body{color:var(--ink-1);white-space:pre-wrap;word-wrap:break-word;margin:0;font-size:15px;line-height:1.5}.farm-comment-list{border-top:1px solid var(--rule);flex-direction:column;gap:10px;margin:0;padding:12px 0 0;list-style:none;display:flex}.farm-comment{background:var(--card-2);border-radius:10px;padding:10px 12px}@supports (color:color-mix(in lab, red, red)){.farm-comment{background:color-mix(in oklch, var(--card-2) 50%, transparent)}}.farm-comment-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.farm-comment-author{color:var(--ink-1);font-size:13px;font-weight:600}.farm-comment-composer{border-top:1px dashed var(--rule);flex-direction:column;gap:8px;padding-top:8px;display:flex}.farm-menu-divider{background:var(--rule);height:1px;margin:6px 16px;list-style:none}.farm-menu-item-button{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.farm-mesh-card-sub{font-family:var(--farm-mono);letter-spacing:.4px;text-transform:uppercase;color:var(--ink-3);margin-top:3px;font-size:10px}.farm-mesh-node-conn{justify-content:center;align-items:center;display:inline-flex}.farm-mesh-node-conn.is-wired{color:var(--accent-water)}.farm-mesh-node-conn.is-wireless{color:var(--ink-3)}.farm-mesh-node-seen{font-family:var(--farm-mono);color:var(--ink-3);align-items:center;gap:6px;margin-top:10px;font-size:10px;display:flex}.farm-mesh-seen-dot{background:var(--ink-3);border-radius:999px;width:5px;height:5px}.farm-mesh-seen-dot.is-live{background:var(--accent-good);animation:2s ease-in-out infinite farm-pulse}.farm-mesh-seen-dot.is-stale{background:var(--accent-warn)}.farm-speedtest-loading{flex-direction:column;gap:8px;display:flex}.farm-speedtest-progress{background:var(--ink-3);border-radius:999px;height:6px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.farm-speedtest-progress{background:color-mix(in oklch, var(--ink-3) 22%, transparent)}}.farm-speedtest-progress-bar{background:linear-gradient(90deg, transparent, var(--accent-water), transparent);border-radius:999px;width:38%;height:100%;animation:1.25s ease-in-out infinite farm-speedtest-sweep;position:absolute;top:0;left:0}@keyframes farm-speedtest-sweep{0%{transform:translate(-120%)}to{transform:translate(380%)}}.farm-speedtest-phase{color:var(--ink-2);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.farm-speedtest-phase-lbl{align-items:center;gap:7px;display:inline-flex}.farm-speedtest-phase-dot{background:var(--accent-water);border-radius:999px;width:7px;height:7px;animation:1.25s ease-in-out infinite farm-pulse}.farm-speedtest-elapsed{font-family:var(--farm-mono);color:var(--ink-3);font-size:11px}@media (prefers-reduced-motion:reduce){.farm-speedtest-progress-bar{opacity:.5;width:100%;animation:none}.farm-speedtest-phase-dot,.farm-mesh-seen-dot.is-live{animation:none}}.farm-empty-chart{text-align:center;color:var(--ink-3);padding:32px 16px;font-size:13px}.farm-pool-history-legend{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.farm-pool-history-chip{border:1px solid var(--rule);color:var(--ink-2);font-size:12px;font-family:var(--farm-sans);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;transition:opacity .15s,border-color .15s;display:inline-flex}.farm-pool-history-chip.is-off{opacity:.45}.farm-pool-history-chip.is-on{color:var(--ink-1);border-color:var(--ink-3)}.farm-pool-history-swatch{border-radius:50%;width:10px;height:10px;display:inline-block}.farm-pool-history-table-wrap{margin-top:8px;overflow-x:auto}.farm-pool-history-table{border-collapse:collapse;width:100%;font-family:var(--farm-mono);font-size:12px}.farm-pool-history-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);border-bottom:1px solid var(--rule);padding:8px;font-size:10px;font-weight:500}.farm-pool-history-table td{border-bottom:1px solid var(--rule);vertical-align:top;color:var(--ink-2);padding:8px}.farm-pool-history-table tr:last-child td{border-bottom:none}.farm-pool-history-stack{flex-direction:column;line-height:1.25;display:flex}.farm-pool-history-stack strong{color:var(--ink-1);font-weight:600}.farm-pool-history-stack span{color:var(--ink-3);font-size:10px}.farm-wifi-card{padding:10px 14px}.farm-wifi-grid{flex-direction:column;gap:2px;margin-top:4px;display:flex}.farm-wifi-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;display:grid}.farm-wifi-row>.farm-wifi-cell:last-child{text-align:right}.farm-wifi-cell{appearance:none;font-size:14px;font-weight:500;font-family:var(--farm-sans);color:var(--ink-1);text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:4px;padding:4px 0;transition:color .15s;overflow:hidden}.farm-wifi-cell-lbl{color:var(--ink-3);letter-spacing:.02em;font-size:11px;font-weight:400;font-family:var(--farm-sans)}.farm-wifi-cell.is-mono .farm-wifi-cell-val{font-family:var(--farm-mono);color:var(--ink-2)}.farm-wifi-cell:hover .farm-wifi-cell-val{color:var(--accent-water)}.farm-wifi-cell.is-copied .farm-wifi-cell-val{color:var(--accent-warm);font-family:var(--farm-mono);font-size:12px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
