:root{font:15px/1.55 PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#203a29;background:#faf6ed;color-scheme:light;--text: #203a29;--muted: #546452;--line: #e4e5d8;--surface: #fffdf7;--accent: #235c34;--soft: #edf0e2;--radius: 24px}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;min-width:280px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #53805a;outline-offset:3px}a{color:inherit;text-decoration:none}h1,h2,h3,p,figure{margin:0}.symbols{position:absolute;width:0;height:0;overflow:hidden}.icon{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.muted{color:var(--muted)}.shell{width:min(100% - 56px,1160px);margin-inline:auto}.topbar{background:#fffaf2;border-bottom:1px solid #eae6da}.topbar-inner{min-height:70px;display:flex;justify-content:space-between;align-items:center;gap:18px}.brand{display:inline-flex;align-items:center;gap:11px;font-size:19px;font-weight:680;white-space:nowrap}.brand-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;color:#fff;background:var(--accent)}.brand-icon .icon{width:21px;height:21px}nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,32px);color:var(--muted)}nav a{white-space:nowrap;font-size:14px}nav a:hover,.nav-current{color:var(--accent)}.p-button{min-height:44px;white-space:nowrap}.p-button .icon{width:18px;height:18px}.public-nav{gap:7px}.hero{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.5fr);grid-template-areas:"copy photo" "actions photo";align-items:end;column-gap:clamp(24px,5vw,65px);margin-block:clamp(32px,6vw,80px) 28px}.hero-copy{grid-area:copy}.hero h1{font-size:clamp(42px,5.25vw,70px);font-weight:760;line-height:1.13;letter-spacing:-.045em}.hero-copy p{margin-top:19px;font-size:clamp(15px,1.52vw,20px);color:var(--muted)}.hero-photo{grid-area:photo;align-self:stretch;min-width:0;overflow:hidden;border-radius:24px;aspect-ratio:1754 / 897;box-shadow:0 16px 45px #48372618;background:#ded1bd}.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:left center}.hero-actions{grid-area:actions;align-self:start;display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:25px}.hero-actions>.p-button:first-child{min-height:52px;padding-inline:21px}.setup{margin-bottom:42px;padding:clamp(18px,3vw,29px);border-radius:22px;background:#ebeede;scroll-margin-top:16px}.setup h2{font-size:clamp(20px,2.2vw,27px);line-height:1.25}.setup ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:16px 0 0;list-style:none}.setup li{display:flex;align-items:flex-start;gap:11px}.setup li+li{border-left:1px solid #d5dbc6;padding-left:clamp(12px,2.5vw,28px);margin-left:10px}.setup h3{font-size:16px}.setup p{margin-top:3px;color:var(--muted);font-size:13px}.setup-icon{display:grid;flex:none;place-items:center;color:var(--accent);background:#dde6d2;border-radius:14px;width:43px;height:43px}.setup-icon .icon{width:24px;height:24px}.login{width:min(100%,490px);margin:clamp(24px,5vw,65px) auto;border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:0 24px 75px #334a3110}.login-content{padding:clamp(24px,6vw,48px)}.auth-heading{text-align:center}.auth-icon{display:inline-grid;place-items:center;width:74px;height:74px;margin-bottom:18px;border-radius:50%;background:#e8ecdb;color:var(--accent)}.auth-icon .icon{width:33px;height:33px}.login h1{font-size:clamp(28px,3.1vw,42px);line-height:1.22;letter-spacing:-.025em}.login .muted{margin-top:11px;overflow-wrap:anywhere}.login form{margin-top:28px;display:grid;gap:9px}.login label,.amount-label label,legend,.pan-label>span{font-weight:650}.login .p-inputtext{width:100%;min-height:50px;font-size:16px}.login form .p-button{margin-top:9px;min-height:50px}.auth-actions{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.auth-actions .p-button{font-size:13px;padding-inline:6px}.auth-switch{margin-top:20px;text-align:center;color:var(--muted)}.auth-switch a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;font-weight:650}.form-message{margin-top:12px;overflow-wrap:anywhere}.overview-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:32px 0 22px}.overview-heading h1{font-size:clamp(30px,4vw,46px);line-height:1.2;letter-spacing:-.04em}.overview-heading .muted{margin-top:6px}.connection{display:inline-flex;align-items:center;gap:8px;flex:none;border:1px solid var(--line);padding:7px 12px;border-radius:100px;background:var(--surface);font-size:13px}.connection strong{font-weight:620}.connection-dot{width:8px;height:8px;border-radius:50%;background:#9f7045}.connection[data-state=online] .connection-dot{background:#438350}.connection[data-state=offline] .connection-dot{background:#7c8579}.dashboard-notice{margin:0 0 14px;overflow-wrap:anywhere}.setup-card{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 17px;margin-bottom:16px;border:1px solid #dbe4d0;border-radius:17px;background:var(--soft)}.setup-card div{flex:1 1 170px}.setup-card h2{font-size:17px}.setup-card p{font-size:13px}.station-picker{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:16px;padding:13px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.station-choice{display:grid;gap:5px;flex:1;min-width:0;max-width:390px}.station-choice label,.station-name-form label{color:var(--muted);font-size:13px;font-weight:650}.station-choice .p-select,.station-name-form .p-inputtext{min-height:44px}.station-choice .p-select{width:100%}.station-name-form{display:grid;gap:5px}.station-name-form>div{display:flex;gap:8px}.station-name-form .p-inputtext{min-width:0;flex:1}.replace-station{margin-top:7px}.workspace{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(0,1fr);gap:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:clamp(16px,2.3vw,24px);box-shadow:0 8px 28px #334a3107}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.card-heading h2{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:680}.card-heading h2 .icon{color:var(--accent)}.mode-label,.camera-state{color:var(--muted);font-size:12px;white-space:nowrap}.preview{position:relative;isolation:isolate;display:grid;align-items:end;overflow:hidden;width:100%;min-width:0;min-height:204px;aspect-ratio:1.91;border-radius:16px;color:#fff;background:#2b4836}.preview-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:43% 44%}.preview:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#20372816 10%,#162c20d4)}.preview:has(video:not([hidden])){background:#20382d}.preview-content{position:relative;padding:clamp(14px,2.7vw,24px)}.preview-content p{margin-bottom:10px;font-weight:580;text-shadow:0 1px 8px #17271c}.preview-sample{position:absolute;right:10px;bottom:12px;padding:3px 7px;color:#fff;background:#18261ecd;border-radius:6px;font-size:11px}.preview video{position:absolute;width:100%;height:100%;inset:0;object-fit:contain;background:#18261e}.pan-form{margin-top:13px;display:flex;align-items:end;gap:12px}.pan-field{min-width:0;flex:1}.pan-label{display:flex;justify-content:space-between;gap:8px;font-size:13px}.pan-label output{color:var(--muted);font-variant-numeric:tabular-nums}.pan-field .p-slider{margin:12px 8px 10px}.watering-card fieldset{border:0;padding:0;margin:0;min-width:0}legend{margin-bottom:9px;padding:0}.zones.p-selectbutton{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.zones.p-selectbutton>.p-togglebutton.p-component{min-width:0;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text)}.zones.p-selectbutton>.p-togglebutton.p-togglebutton-checked{background:#f0f6e9;border-color:#65936b;box-shadow:inset 0 0 0 1px #65936b}.zones .p-togglebutton>.p-togglebutton-content{min-width:0;justify-content:flex-start;padding:0;background:transparent;box-shadow:none}.zone-1{--zone-color: #e8f1dd;--zone-ink: #406746}.zone-2{--zone-color: #f4e9dc;--zone-ink: #83583d}.zone-3{--zone-color: #f3e7e6;--zone-ink: #8a525c}.zone-4{--zone-color: #e5eee8;--zone-ink: #386552}.zone-face{display:flex;align-items:center;gap:8px;min-height:53px;padding:6px 8px;font-weight:600}.zone-icon{flex:none;display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:var(--zone-color);color:var(--zone-ink)}.zone-icon .icon{width:18px;height:18px}.amount-field{margin-top:15px}.amount-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.amount-label span{color:var(--muted);font-size:12px}.amount-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.amount-input{display:flex;align-items:center;min-height:43px;border:1px solid #d9e3d5;border-radius:10px;padding-right:10px;background:#fafbf7}.amount-input .p-inputtext{width:61px;padding:7px 2px 7px 10px;border:0;background:transparent;font-weight:650}.amount-input span{color:var(--muted);font-size:13px}.presets{display:flex;gap:5px}.presets .p-button{min-width:42px;padding-inline:8px;font-variant-numeric:tabular-nums}.water-actions{display:flex;gap:8px;margin-top:13px}.water-actions .p-button:first-child{flex:1;min-width:0}.water-status{min-height:1.55em;margin-top:7px;font-size:12px;color:var(--muted)}.records-card{margin:18px 0 32px;scroll-margin-top:16px}.records-card .card-heading{margin-bottom:8px}.history{list-style:none;padding:0;margin:0}.history-item{display:grid;grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #ecf0e7}.history-item:last-child{border-bottom:0}.history-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:var(--soft);color:var(--accent)}.history-icon .icon{width:16px;height:16px}.history-title,.history-time{display:block}.history-time,.history-empty{color:var(--muted);font-size:13px}.history-time{overflow-wrap:anywhere}.history-empty{padding:12px 0 6px}.history-item .p-tag{white-space:nowrap}.station-dialog.p-dialog{width:min(100% - 36px,420px)}.pair-regenerate{margin-top:14px}.pair-result{margin-top:14px;padding:12px;border-radius:12px;background:var(--soft);text-align:center}.pair-result img{display:block;width:min(100%,224px);height:auto;margin:0 auto 8px}.pair-result .muted{font-size:13px}.account-settings{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:10px;margin-top:17px}.account-settings p{overflow-wrap:anywhere;font-size:13px}@media(max-width:820px){.shell{width:min(100% - 32px,650px)}.workspace{grid-template-columns:1fr;gap:14px}.hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "photo" "actions";gap:16px;margin-block:28px 20px}.hero-copy p,.hero-actions{margin-top:0}.hero-copy p{padding-top:10px}.hero-actions>.p-button:first-child{flex:1}.login form{margin-top:20px}.overview-heading{padding-top:22px}}@media(max-width:460px){.topbar-inner{min-height:58px}nav{gap:4px}#user-nav .nav-current{display:none}.public-nav .p-button{min-height:39px;padding-inline:9px}.hero-photo{border-radius:17px}.hero h1{font-size:clamp(34px,10.2vw,49px)}.setup li{flex-direction:column;gap:7px}.setup li+li{margin-left:5px;padding-left:9px}.setup h3{font-size:14px}.setup p{font-size:12px}.brand{font-size:17px}.brand-icon{width:34px;height:34px}.overview-heading .muted{font-size:13px}.connection{font-size:12px;padding:6px 9px}.card{border-radius:19px}.preview{min-height:180px}.zone-face{font-size:14px}}@media(max-width:340px){#nav-register,#user-nav a,.hero-actions .p-button-text{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.p-button{transition:none}}.live-controls[data-v-3b395775]{position:absolute;inset:auto max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:6px}.live-controls[data-v-3b395775] .p-button{min-height:38px;white-space:nowrap}.live-zoom[data-v-3b395775]{display:inline-flex;gap:3px}.live-zoom[data-v-3b395775] .p-button{min-width:35px;padding-inline:8px;font-variant-numeric:tabular-nums}.zoom-notice[data-v-3b395775]{flex-basis:100%;margin:0;text-align:right;color:#fff;text-shadow:0 1px 4px #000;font-size:13px}.preview[data-v-3b395775]:fullscreen,.preview.video-expanded[data-v-3b395775]{width:100%;height:100%;min-height:0;aspect-ratio:auto;border-radius:0;background:#111913}.preview.video-expanded[data-v-3b395775]{position:fixed;inset:0;z-index:100;height:100dvh}body.live-expanded-page{overflow:hidden}
