:root{--bg:#050505;--bezel:#111;--screen:#000;--card:#1c1c1e;--ink:#f5f5f7;--muted:#8e8e93;--soil:#ff2d55;--temp:#d4ff4a;--rh:#64d2ff;--track:#2c2c2e;--font-pixel:"Silkscreen", monospace;--font-num:"VT323", monospace}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--ink);margin:0}button,input{font:inherit;color:inherit}.app-stage{place-items:center;min-height:100%;padding:16px;display:grid}.device{grid-template-columns:minmax(0,1fr);gap:10px;width:320px;max-width:calc(100vw - 32px);display:grid}.bezel{background:var(--bezel);border-radius:18px;padding:10px;box-shadow:0 0 0 2px #2a2a2a}.screen{aspect-ratio:3/4;background:var(--screen);touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:8px;position:relative;overflow:hidden}.screen-track{width:300%;height:100%;transition:transform .28s steps(6,end);display:flex}.screen-track[data-page=inputs]{transform:translate(-33.333%)}.screen-track[data-page=history]{transform:translate(-66.666%)}.screen-page{flex-direction:column;gap:8px;width:33.333%;height:100%;padding:10px 10px 8px;display:flex}.act-header{align-items:center;gap:8px;display:flex}.sprite{width:36px;height:36px;image-rendering:pixelated;object-fit:cover;background:#101a15;border-radius:4px;flex:none;box-shadow:0 0 0 2px #2a2a2a}.sprite--fallback{background:repeating-linear-gradient(45deg,#16301f 0 4px,#0d1a12 4px 8px)}.act-title{font-family:var(--font-pixel);letter-spacing:.04em;text-transform:uppercase;font-size:13px}.act-sub{font-family:var(--font-num);color:var(--muted);margin-top:3px;font-size:18px;line-height:1}.act-main{background:var(--card);border-radius:14px;flex:1;grid-template-columns:1fr 118px;align-items:center;gap:6px;padding:10px 8px;display:grid}.act-stats{gap:8px;display:grid}.act-stat-label{font-family:var(--font-pixel);color:var(--ink);font-size:8px}.act-stat-value{font-family:var(--font-num);font-size:28px;line-height:.9}.act-stat-value .u{margin-left:1px;font-size:16px}.act-stat.warn .act-stat-value{text-underline-offset:3px;text-decoration:underline}.act-rings-wrap{width:118px;height:118px;position:relative}.activity-rings{shape-rendering:crispedges;display:block}.act-score-pip{pointer-events:none;align-content:center;place-items:center;display:grid;position:absolute;inset:0}.act-score-pip .n{font-family:var(--font-num);font-size:28px;line-height:.85}.act-score-pip .l{font-family:var(--font-pixel);color:var(--muted);text-transform:uppercase;font-size:7px}.act-divider{background:#2c2c2e;height:1px;margin:0 4px}.act-footer{background:#141416;border-radius:12px;grid-template-columns:1fr 1fr;gap:8px;padding:8px 10px;display:grid}.act-footer .k{font-family:var(--font-pixel);font-size:8px}.act-footer .v{font-family:var(--font-num);color:#c7c7cc;font-size:26px;line-height:1}.act-hint{font-family:var(--font-pixel);color:#636366;text-align:right;font-size:7px}.input-list{gap:4px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.input-list li{background:var(--card);font-family:var(--font-pixel);border-radius:6px;justify-content:space-between;gap:8px;padding:5px 8px;font-size:8px;display:flex}.input-list li span:last-child{font-family:var(--font-num);color:var(--temp);font-size:18px}.history-chart{background:var(--card);border-radius:14px;flex:1;place-items:center;min-height:0;padding:6px 4px;display:grid}.history-chart svg{width:100%;height:100%;image-rendering:pixelated}.chart-grid{stroke:#2c2c2e;stroke-width:1px;stroke-dasharray:2 3}.chart-line{fill:none;stroke:var(--temp);stroke-width:2px;stroke-linejoin:miter}.chart-dot{fill:var(--temp)}.chart-dot.now{fill:var(--soil)}.chart-label{font-family:var(--font-pixel);fill:var(--muted);font-size:6px}.chart-now{font-family:var(--font-num);fill:var(--soil);font-size:14px}.chart-empty{text-align:center;font-family:var(--font-pixel);color:var(--muted);margin:0;padding:0 12px;font-size:8px;line-height:1.6}.setup-screen{background:var(--screen);flex-direction:column;gap:10px;height:100%;padding:14px 12px 12px;display:flex}.setup-copy{font-family:var(--font-num);color:var(--muted);margin:0;font-size:22px;line-height:1.1}.setup-copy.done{color:var(--temp)}.setup-input{width:100%;font-family:var(--font-num);background:#111;border:2px solid #3a3a3c;border-radius:8px;outline:none;padding:10px;font-size:24px}.setup-input:focus{border-color:var(--temp)}.match-card{background:var(--card);border-radius:12px;padding:12px}.match-card strong{font-family:var(--font-pixel);text-transform:uppercase;font-size:12px}.match-card .sci,.match-card .conf{font-family:var(--font-num);color:var(--muted);font-size:20px}.touch-actions{gap:8px;margin-top:auto;display:grid}.touch-actions.dual{grid-template-columns:1fr 1fr}.touch-btn{appearance:none;font-family:var(--font-pixel);letter-spacing:.04em;cursor:pointer;background:#1c1c1e;border:2px solid #3a3a3c;border-radius:10px;padding:12px 8px;font-size:10px}.touch-btn.primary{border-color:var(--temp);color:var(--temp);background:#16301f}.touch-btn:disabled{opacity:.45}.sensor-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.sensor-list li{font-family:var(--font-pixel);background:var(--card);border-radius:8px;justify-content:space-between;padding:8px 10px;font-size:9px;display:flex}.sensor-list li.ok{color:var(--temp)}.sensor-list li.pending{color:#636366}.sensor-list li.fail{color:var(--soil)}.link-banner{z-index:5;font-family:var(--font-pixel);border:2px solid var(--soil);color:var(--soil);background:#1c1c1e;border-radius:6px;padding:3px 6px;font-size:7px;position:absolute;top:6px;right:6px}.ask-sheet{z-index:4;text-align:left;border:2px solid var(--rh);font-family:var(--font-num);cursor:pointer;background:#1c1c1e;border-radius:10px;padding:8px;font-size:18px;line-height:1.15;position:absolute;bottom:8px;left:8px;right:8px}.ask-sheet-label,.ask-sheet-dismiss{font-family:var(--font-pixel);color:var(--rh);font-size:8px}.ask-sheet-dismiss{color:var(--muted);margin-top:6px}.ask-form{z-index:5;background:#000000e0;flex-direction:column;gap:8px;padding:12px;display:flex;position:absolute;inset:0}.page-foot{align-content:end;gap:6px;display:grid}.page-nav{align-items:center;gap:8px;display:flex}.page-dots{gap:4px;display:inline-flex}.page-dots i{background:#3a3a3c;width:6px;height:6px}.page-dots i.on{background:var(--temp)}.page-nav .act-hint{text-align:left}.act-test{text-align:right;gap:2px;margin-left:auto;display:grid}.act-test span{font-family:var(--font-pixel);color:var(--muted);font-size:6px}.act-test b{font-family:var(--font-num);color:var(--temp);font-size:18px;font-weight:400;line-height:1}.reserve-right{margin-right:76px}.page-nav{justify-content:space-between}.key-hint{font-family:var(--font-pixel);color:var(--soil);text-align:right;font-size:7px}.setup-copy.hint{color:#636366;font-size:12px}.voice-status{background:var(--card);min-height:56px;font-family:var(--font-num);border:2px solid #3a3a3c;border-radius:10px;align-items:center;gap:10px;padding:12px;font-size:20px;line-height:1.1;display:flex}.voice-dot{background:#636366;flex:none;width:10px;height:10px}.voice-status.recording{border-color:var(--soil)}.voice-status.recording .voice-dot{background:var(--soil);animation:.7s steps(2,start) infinite voice-blink}.voice-status.transcribing{border-color:var(--rh)}.voice-status.transcribing .voice-dot{background:var(--rh)}.voice-status.error{color:#ffb340;border-color:#ffb340}@keyframes voice-blink{to{visibility:hidden}}.ask-q{color:var(--muted);margin-bottom:4px}html.kiosk,html.kiosk body,html.kiosk #root{cursor:none;-webkit-user-select:none;user-select:none;background:#000;overflow:hidden}html.kiosk .app-stage{width:100vw;height:100vh;min-height:0;padding:0;display:block;position:relative}html.kiosk .device{left:var(--kx,0);top:var(--ky,0);width:300px;max-width:none;transform:scale(var(--k,1));transform-origin:0 0;gap:0;position:absolute}html.kiosk .bezel{box-shadow:none;background:0 0;border-radius:0;padding:0}html.kiosk .screen{aspect-ratio:auto;border-radius:0;width:300px;height:400px}html.kiosk .mic-bar,html.kiosk .failure-label,html.kiosk .failure-chip,html.kiosk .alert-bar,html.kiosk .act-test span,html.kiosk .act-hint,html.kiosk .key-hint,html.kiosk .act-score-pip .l,html.kiosk .link-banner,html.kiosk .voice-note,html.kiosk .act-footer .k,html.kiosk .act-stat-label,html.kiosk .ask-sheet-label,html.kiosk .ask-sheet-dismiss,html.kiosk .chart-empty,html.kiosk .input-list li,html.kiosk .sensor-list li,html.kiosk .chart-label{font-size:10px}html.kiosk .page-dots i{width:8px;height:8px}.alert-bar{border:2px solid var(--soil);font-family:var(--font-pixel);letter-spacing:.03em;color:#ff6b86;background:#2a0f16;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:8px;display:flex}.alert-bar .voice-dot{background:var(--soil);animation:.7s steps(2,start) infinite voice-blink}.failure-page{gap:6px}.failure-stage{background:radial-gradient(circle at 50% 70%,#1d1b1c 0%,#131213 70%);border:2px solid #4a2a30;border-radius:14px;flex:1;min-height:0;padding:26px 10px 10px;display:grid;position:relative}.wilted-sprite{object-fit:contain;width:100%;height:100%;min-height:0;image-rendering:pixelated;animation:2.6s steps(4,end) infinite wilt-bob}.wilted-sprite--fallback{filter:grayscale(.6)brightness(.8)}@keyframes wilt-bob{50%{transform:translateY(3px)}}.failure-chip{font-family:var(--font-pixel);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:8px;position:absolute;top:8px}.failure-chip.tl{left:10px}.failure-chip.tr{right:10px}.failure-label{font-family:var(--font-pixel);letter-spacing:.04em;text-transform:uppercase;text-align:center;color:#ff6b86;font-size:10px}.failure-advice{min-height:3.2em;font-family:var(--font-num);text-align:center;color:var(--ink);margin:0;font-size:22px;line-height:1.05}.screen.has-mic .screen-track,.screen.has-mic .setup-screen{height:calc(100% - 62px)}.screen.has-mic .ask-sheet{bottom:66px}.mic-bar{z-index:6;color:#ffb340;height:46px;font-family:var(--font-pixel);letter-spacing:.05em;text-transform:uppercase;touch-action:manipulation;background:#2a2410;border:3px solid #ffb340;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:0 10px;font-size:10px;display:flex;position:absolute;bottom:10px;left:10px;right:10px}.mic-bar:active:not(:disabled){transform:translateY(2px)}.mic-bar:disabled{opacity:.55}.mic-sub{font-family:var(--font-num);letter-spacing:0;text-transform:none;color:#c9a45c;font-size:18px}.mic-icon{background:linear-gradient(currentColor,currentColor) 4px 0/6px 11px no-repeat,linear-gradient(currentColor,currentColor) 1px 6px/2px 6px no-repeat,linear-gradient(currentColor,currentColor) 11px 6px/2px 6px no-repeat,linear-gradient(currentColor,currentColor) 1px 12px/12px 2px no-repeat,linear-gradient(currentColor,currentColor) 6px 14px/2px 4px no-repeat,linear-gradient(currentColor,currentColor) 3px 18px/8px 2px no-repeat;flex:none;width:14px;height:20px}.mic-bar.recording{border-color:var(--soil);color:#ff6b86;background:#3a1018}.mic-bar.recording .mic-sub{color:#ff9aae}.mic-bar.recording .mic-icon{animation:.7s steps(2,start) infinite voice-blink}.mic-bar.transcribing{border-color:var(--rh);color:var(--rh);background:#0e2430}.mic-bar.transcribing .mic-sub{color:#8fcdea}:root{--gh-bg:#faf3e0;--gh-panel:#fffdf5;--gh-panel2:#fff6e0;--gh-line:#d9c39a;--gh-line2:#b58a5a;--gh-wood:#a8764a;--gh-woodD:#7d5230;--gh-ink:#4a3426;--gh-muted:#8b7058;--gh-faint:#a8917a;--gh-green:#4f9d3a;--gh-greenD:#3f7d2c;--gh-leaf:#6aae48;--gh-sun:#f0b43a;--gh-amber:#d58a14;--gh-berry:#d6455d;--gh-berryBg:#fff0f2;--gh-berryLine:#e8a5b0;--gh-sky:#6cb7dd;--gh-top:56px}html,body,#root{height:auto;min-height:100%;color:var(--gh-ink);scroll-behavior:smooth;scroll-padding-top:calc(var(--gh-top) + 8px)}body,#root{background:0 0}body{font-family:var(--font-num), monospace;font-size:20px;overflow-x:hidden}html{background:radial-gradient(circle at 12px 14px,#f08fb061 2px,#0000 2.6px) 0 0/96px 96px,radial-gradient(circle at 58px 62px,#f5c94a6b 2px,#0000 2.6px) 0 0/118px 118px,radial-gradient(circle at 32px 84px,#6aae484d 3px,#0000 3.6px) 0 0/140px 140px,radial-gradient(circle at 90px 20px,#b69af04d 2px,#0000 2.6px) 0 0/160px 160px,linear-gradient(#fcf6e6,#f6ecd0);background-color:var(--gh-bg)}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px dashed var(--gh-green);outline-offset:2px}.gh-top{z-index:50;height:var(--gh-top);color:#fff6dc;border-bottom:4px solid var(--gh-woodD);background:repeating-linear-gradient(90deg,#0000000d 0 2px,#0000 2px 46px),linear-gradient(#bb8656,#a8764a);align-items:center;gap:24px;padding:0 20px;display:flex;position:sticky;top:0;box-shadow:0 4px #7d523040}.gh-brand{font-family:var(--font-pixel);letter-spacing:.08em;align-items:center;gap:10px;font-size:12px;display:flex}.gh-brand b{color:#fff3c9;text-shadow:2px 2px 0 var(--gh-woodD);font-size:16px}.gh-brand span{color:#f1d9a8;font-size:9px}.gh-logo{border:2px solid var(--gh-woodD);background:linear-gradient(#fff3c9,#fff3c9) 10px 5px/4px 12px no-repeat,linear-gradient(#a7d672,#a7d672) 4px 7px/6px 4px no-repeat,linear-gradient(#a7d672,#a7d672) 14px 10px/6px 4px no-repeat,#5b9a3c;border-radius:6px;width:24px;height:24px}.gh-top nav{gap:4px;margin-left:8px;display:flex}.gh-top nav a{font-family:var(--font-pixel);letter-spacing:.05em;text-transform:uppercase;color:#fbe9c4;border-radius:8px;padding:6px 12px;font-size:10px}.gh-top nav a:hover{color:#fff;background:#fff3}.gh-top-right{align-items:center;gap:18px;margin-left:auto;display:flex}.gh-client{color:#fbe9c4;font-size:18px}.gh-live{border:2px solid var(--gh-woodD);font-family:var(--font-pixel);letter-spacing:.06em;color:var(--gh-greenD);background:#fffdf5eb;border-radius:999px;align-items:center;gap:8px;padding:4px 10px;font-size:9px;display:inline-flex}.gh-live i{background:var(--gh-green);border-radius:50%;width:8px;height:8px;animation:1.4s steps(2,start) infinite gh-blink}@keyframes gh-blink{to{visibility:hidden}}.gh-hero{min-height:calc(100vh - var(--gh-top));flex-direction:column;gap:10px;padding:14px 18px 22px;display:flex}.gh-herobar{flex-wrap:wrap;align-items:center;gap:14px 22px;display:flex}.gh-herobar h1{font-family:var(--font-pixel);letter-spacing:.06em;text-transform:uppercase;color:var(--gh-greenD);text-shadow:2px 2px #fff;margin:0;font-size:18px}.gh-herobar p{color:var(--gh-muted);margin:2px 0 0;font-size:18px}.gh-pills{gap:8px;display:flex}.gh-pill{background:var(--gh-panel);border:3px solid var(--gh-line);font-family:var(--font-pixel);letter-spacing:.05em;text-transform:uppercase;color:var(--gh-muted);border-radius:12px;align-items:baseline;gap:8px;padding:4px 12px;font-size:9px;display:inline-flex;box-shadow:0 3px #e6d3ab}.gh-pill b{font-family:var(--font-num);color:var(--gh-green);font-size:26px;font-weight:400;line-height:1}.gh-pill.bad{border-color:var(--gh-berryLine);background:var(--gh-berryBg)}.gh-pill.bad b{color:var(--gh-berry)}.gh-legend{font-family:var(--font-pixel);letter-spacing:.05em;text-transform:uppercase;color:var(--gh-muted);gap:14px;margin:0 0 0 auto;padding:0;font-size:8px;list-style:none;display:flex}.gh-legend li{align-items:center;gap:6px;display:flex}.gh-legend i{border:2px solid #4a342640;border-radius:3px;width:11px;height:11px}.gh-scroll{font-family:var(--font-pixel);letter-spacing:.05em;text-transform:uppercase;color:var(--gh-greenD);font-size:9px;animation:1.6s steps(4,end) infinite gh-bob}@keyframes gh-bob{50%{transform:translateY(3px)}}.gh-stage{flex:1;place-items:center;min-height:0;display:grid}.gh-map{aspect-ratio:72/40;width:min(100%, calc((100vh - var(--gh-top) - 128px) * 1.8));box-shadow:0 0 0 5px var(--gh-wood), 0 0 0 9px var(--gh-woodD), 0 14px 0 6px #7d52302e, 0 22px 40px #4a342647;border-radius:10px;position:relative;container-type:inline-size}.gh-canvas{width:100%;height:100%;image-rendering:pixelated;border-radius:8px;position:absolute;inset:0}.gh-zone-label{background:var(--gh-wood);border:2px solid var(--gh-woodD);font-family:var(--font-pixel);letter-spacing:.06em;text-transform:uppercase;color:#fff6dc;text-shadow:1px 1px 0 var(--gh-woodD);white-space:nowrap;pointer-events:none;border-radius:6px;padding:.25cqw .8cqw;font-size:clamp(7px,.75cqw,11px);position:absolute;box-shadow:0 2px #0000002e}.gh-zone-label b{color:#ffe08a;margin-right:.4cqw}.gh-plant{z-index:5;color:inherit;background:0 0;border:0;padding:0;transition:transform 90ms steps(2,end);position:absolute}.gh-plant img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;filter:drop-shadow(0 .3cqw #462d1440);display:block}.gh-plant:hover,.gh-plant:focus-visible,.gh-plant.selected{z-index:20;transform:translateY(-4%)scale(1.08)}.gh-plant.selected img,.gh-plant:hover img{filter:drop-shadow(0 0 .5cqw #ffe08a)drop-shadow(0 0 .2cqw #fff)}.gh-plant.dim{opacity:.28;filter:grayscale(.8)}.gh-pin{background:var(--gh-panel);font-family:var(--font-num);pointer-events:none;border:2px solid;border-radius:5px;padding:.05cqw .5cqw;font-size:clamp(9px,1.05cqw,16px);line-height:1.1;position:absolute;top:-2%;left:50%;transform:translate(-50%);box-shadow:0 2px #462d1438}.gh-plant.status-great .gh-pin{color:#3f8a2c}.gh-plant.status-good .gh-pin{color:#7a9a22}.gh-plant.status-watch .gh-pin{color:#d58a14}.gh-plant.status-alert .gh-pin{color:#fff;background:var(--gh-berry);border-color:#a8283f}.gh-bang{background:var(--gh-berry);color:#fff;width:1.6cqw;min-width:15px;height:1.6cqw;min-height:15px;font-family:var(--font-pixel);pointer-events:none;border:2px solid #fff;border-radius:50%;place-items:center;font-size:clamp(8px,.9cqw,13px);animation:1.1s steps(2,start) infinite gh-pulse;display:grid;position:absolute;top:-6%;right:2%}.gh-plant.status-alert:before{content:"";border:3px dashed var(--gh-berry);pointer-events:none;border-radius:8px;animation:1.1s steps(2,start) infinite gh-pulse;position:absolute;inset:0}@keyframes gh-pulse{50%{opacity:.25}}.gh-plant:after,.gh-hub:after{content:attr(data-tip);background:var(--gh-panel);border:3px solid var(--gh-line2);font-family:var(--font-num);white-space:nowrap;color:var(--gh-ink);opacity:0;pointer-events:none;z-index:40;border-radius:8px;padding:4px 10px;font-size:18px;position:absolute;bottom:108%;left:50%;transform:translate(-50%);box-shadow:0 3px #4a342633}.gh-plant:hover:after,.gh-plant:focus-visible:after,.gh-hub:hover:after,.gh-hub:focus-visible:after{opacity:1}.gh-hub{z-index:6;color:inherit;background:0 0;border:3px dashed #0000;border-radius:8px;padding:0;position:absolute}.gh-hub:hover,.gh-hub:focus-visible{border-color:var(--gh-green);background:#6aae481f}.gh-hub-chip{background:var(--gh-panel);border:2px solid var(--gh-green);font-family:var(--font-pixel);color:var(--gh-greenD);white-space:nowrap;pointer-events:none;border-radius:6px;gap:.5cqw;padding:.15cqw .6cqw;font-size:clamp(6px,.62cqw,9px);display:flex;position:absolute;bottom:-3%;left:50%;transform:translate(-50%);box-shadow:0 2px #462d1433}.gh-hub-chip i{font-style:normal;font-family:var(--font-num);color:var(--gh-ink);font-size:clamp(9px,.95cqw,14px)}.gh-butterfly{z-index:12;pointer-events:none;width:4px;height:4px;position:absolute}.gh-butterfly:before{content:"";background:var(--wing);box-shadow:-3px -2px var(--wing), 3px -2px var(--wing), -6px 0 var(--wing), 6px 0 var(--wing), -3px 2px var(--wing), 3px 2px var(--wing), 0 -3px #4a3426, 0 3px #4a3426;transform-origin:50%;animation:.32s steps(2,end) infinite gh-flap;position:absolute;inset:0}.gh-butterfly.one{--wing:#f08fb0;animation:26s linear infinite gh-fly-one}.gh-butterfly.two{--wing:#b69af0;animation:34s linear 6s infinite gh-fly-two}@keyframes gh-flap{50%{transform:scaleX(.45)}}@keyframes gh-fly-one{0%{top:68%;left:-2%}20%{top:52%;left:22%}40%{top:74%;left:44%}60%{top:46%;left:63%}80%{top:62%;left:84%}to{top:50%;left:102%}}@keyframes gh-fly-two{0%{top:28%;left:102%}25%{top:40%;left:76%}50%{top:22%;left:50%}75%{top:38%;left:26%}to{top:30%;left:-2%}}@media (prefers-reduced-motion:reduce){.gh-butterfly,.gh-butterfly:before,.gh-plant.status-alert:before,.gh-bang,.gh-scroll,.gh-live i{animation:none}}.gh-section{max-width:1320px;margin:0 auto;padding:56px 20px 8px}.gh-h2{font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;color:var(--gh-greenD);text-shadow:2px 2px #fff;align-items:center;gap:12px;margin:0 0 14px;font-size:20px;display:flex}.gh-h2:before{content:"";background:linear-gradient(#4f9d3a,#4f9d3a) 11px 8px/3px 14px no-repeat,linear-gradient(#6aae48,#6aae48) 3px 4px/8px 5px no-repeat,linear-gradient(#8fcf62,#8fcf62) 14px 1px/8px 5px no-repeat,linear-gradient(#a8764a,#a8764a) 6px 20px/13px 4px no-repeat;flex:none;width:24px;height:24px}.gh-h3{font-family:var(--font-pixel);letter-spacing:.07em;text-transform:uppercase;color:#8b5e34;margin:28px 0 10px;font-size:11px}.gh-card .gh-h3{margin-top:0}.gh-note{color:var(--gh-muted);margin:0 0 12px;font-size:19px}.gh-empty{color:var(--gh-muted);margin:8px 0}.gh-card{background:var(--gh-panel);border:3px solid var(--gh-line);width:100%;color:var(--gh-ink);text-align:left;font:inherit;border-radius:14px;padding:16px;display:block;box-shadow:0 4px #e6d3ab}button.gh-card:hover{border-color:var(--gh-line2);background:var(--gh-panel2)}.gh-health-grid{grid-template-columns:340px 1fr;align-items:stretch;gap:16px;display:grid}.gh-overall{text-align:center;place-items:center;gap:14px;display:grid}.gh-rings{position:relative}.gh-rings-score{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.gh-rings-score b{font-family:var(--font-num);color:var(--gh-ink);font-size:52px;font-weight:400;line-height:.9}.gh-rings-score span{font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;color:var(--gh-muted);font-size:8px}.gh-ring-key{color:var(--gh-muted);text-align:left;gap:6px;margin:0;padding:0;font-size:18px;list-style:none;display:grid}.gh-ring-key li{align-items:center;gap:8px;display:flex}.gh-ring-key i{border-radius:3px;width:12px;height:12px}.gh-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.gh-stat{background:var(--gh-panel);border:3px solid var(--gh-line);border-radius:14px;align-content:space-between;gap:4px;padding:14px 16px;display:grid;box-shadow:0 4px #e6d3ab}.gh-stat span{font-family:var(--font-pixel);letter-spacing:.06em;text-transform:uppercase;color:var(--gh-muted);font-size:9px}.gh-stat b{font-family:var(--font-num);color:var(--gh-green);font-size:48px;font-weight:400;line-height:1}.gh-stat i{color:var(--gh-muted);font-size:17px;font-style:normal}.gh-stat.warn b{color:var(--gh-amber)}.gh-stat.bad b{color:var(--gh-berry)}.gh-stat.bad{border-color:var(--gh-berryLine);background:var(--gh-berryBg)}.gh-zones{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.gh-zone-head{align-items:baseline;gap:10px;display:flex}.gh-zone-head b{font-family:var(--font-pixel);color:#8b5e34;font-size:12px}.gh-zone-head span{color:var(--gh-muted)}.gh-zone-head i{margin-left:auto;font-size:38px;font-style:normal}.gh-zone p{color:var(--gh-muted);margin:4px 0 12px;font-size:18px}.gh-zone dl,.gh-type dl{grid-template-columns:1fr 1fr;gap:8px 14px;margin:0 0 12px;display:grid}.gh-zone dl div,.gh-type dl div{display:grid}.gh-zone dt,.gh-type dt{font-family:var(--font-pixel);letter-spacing:.06em;text-transform:uppercase;color:var(--gh-muted);font-size:8px}.gh-zone dd,.gh-type dd{margin:0;font-size:26px;line-height:1.1}.gh-zone-foot{font-family:var(--font-pixel);letter-spacing:.05em;text-transform:uppercase;color:var(--gh-greenD);font-size:8px}.gh-two{grid-template-columns:1.15fr 1fr;gap:16px;margin-top:16px;display:grid}.gh-todo,.gh-log{gap:8px;margin:0;padding:0;list-style:none;display:grid}.gh-todo button{background:var(--gh-berryBg);border:3px solid var(--gh-berryLine);text-align:left;width:100%;color:var(--gh-ink);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.gh-todo button:hover{border-color:var(--gh-berry)}.gh-todo b{font-family:var(--font-pixel);letter-spacing:.04em;text-transform:uppercase;font-size:10px;display:block}.gh-todo em{color:var(--gh-berry);margin:2px 0;font-size:22px;font-style:normal;display:block}.gh-todo small{color:var(--gh-muted);font-size:18px;line-height:1.1;display:block}.gh-log li{border-bottom:2px dotted var(--gh-line);grid-template-columns:74px 64px 1fr;align-items:baseline;gap:10px;padding:7px 0;font-size:19px;line-height:1.1;display:grid}.gh-log time{color:var(--gh-muted);font-size:17px}.gh-zone-tag{font-family:var(--font-pixel);letter-spacing:.05em;text-transform:uppercase;color:var(--gh-greenD);font-size:8px}.gh-types{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.gh-type.on{border-color:var(--gh-green);background:#f3f9e8}.gh-type-head,.gh-plantcard-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.gh-type-head b,.gh-plantcard-head b{font-family:var(--font-pixel);letter-spacing:.04em;text-transform:uppercase;font-size:11px;display:block}.gh-type-head span,.gh-plantcard-head span{color:var(--gh-muted);font-size:17px}.gh-type-head strong,.gh-plantcard-head strong{margin-left:auto;font-size:40px;font-weight:400;line-height:1}.gh-bar{border:2px solid var(--gh-line);background:#efe3c6;border-radius:8px;height:12px;margin-bottom:12px;display:block;overflow:hidden}.gh-bar i{border-radius:6px;height:100%;display:block}.gh-badge{font-family:var(--font-pixel);letter-spacing:.05em;text-transform:uppercase;border:2px solid;border-radius:999px;padding:3px 10px;font-size:8px;display:inline-block}.gh-badge.ok{color:var(--gh-greenD);background:#f1f8e6;border-color:#a7d08a}.gh-badge.bad{color:var(--gh-berry);border-color:var(--gh-berryLine);background:var(--gh-berryBg)}.gh-filters{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.gh-filters button{background:var(--gh-panel);border:2px solid var(--gh-line);font-family:var(--font-pixel);letter-spacing:.05em;text-transform:uppercase;color:var(--gh-muted);border-radius:999px;padding:5px 12px;font-size:8px}.gh-filters button:hover{border-color:var(--gh-line2)}.gh-filters button.on{color:#fff;background:var(--gh-green);border-color:var(--gh-greenD)}.gh-check{color:var(--gh-muted);align-items:center;gap:8px;margin-left:10px;font-size:19px;display:inline-flex}.gh-plants{grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:12px;display:grid}.gh-plantcard{gap:8px;padding:12px;display:grid}.gh-plantcard.status-alert{border-color:var(--gh-berryLine);background:var(--gh-berryBg)}.gh-plantcard .gh-chip{justify-self:start}.gh-meter{gap:3px;margin-bottom:8px;display:grid}.gh-meter-head{font-family:var(--font-pixel);letter-spacing:.05em;text-transform:uppercase;color:var(--gh-muted);justify-content:space-between;align-items:baseline;font-size:8px;display:flex}.gh-meter-head b{font-family:var(--font-num);letter-spacing:0;color:var(--gh-ink);font-size:22px;font-weight:400}.gh-meter-head i{color:var(--gh-muted);font-size:16px;font-style:normal}.gh-meter-bar{border:2px solid var(--gh-line);background:#efe3c6;border-radius:7px;height:12px;position:relative}.gh-meter-band{border-left:2px solid var(--gh-green);border-right:2px solid var(--gh-green);background:#6aae4861;position:absolute;top:0;bottom:0}.gh-meter-mark{background:var(--gh-ink);border:1px solid #fff;border-radius:2px;width:5px;margin-left:-2px;position:absolute;top:-4px;bottom:-4px}.gh-meter.bad .gh-meter-mark{background:var(--gh-berry)}.gh-meter.bad .gh-meter-head b{color:var(--gh-berry)}.gh-meter-foot{color:var(--gh-faint);justify-content:space-between;font-size:14px;line-height:1;display:flex}.gh-meter.bad .gh-meter-foot span:nth-child(2){color:var(--gh-berry)}.gh-chip{background:var(--gh-panel);font-family:var(--font-pixel);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border:2px solid;border-radius:999px;padding:3px 10px;font-size:8px;display:inline-block}.gh-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#4a34268c;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:auto}.gh-modal{background:var(--gh-panel);border:5px solid var(--gh-wood);width:min(900px,100%);box-shadow:0 0 0 3px var(--gh-woodD), 0 24px 60px #4a342680;border-radius:18px;padding:24px;animation:.14s steps(3,end) gh-pop;position:relative}.gh-modal.wide{width:min(720px,100%)}@keyframes gh-pop{0%{opacity:.4;transform:translateY(10px)scale(.97)}}.gh-close{background:var(--gh-panel2);border:3px solid var(--gh-line2);width:34px;height:34px;color:var(--gh-muted);border-radius:10px;font-size:16px;position:absolute;top:10px;right:10px}.gh-close:hover{color:#fff;background:var(--gh-berry);border-color:#a8283f}.gh-popup{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:28px;display:grid}.gh-mini{justify-items:center;gap:10px;display:grid}.gh-mini .device{width:320px;max-width:100%}.gh-mini-tabs{gap:6px;display:flex}.gh-mini-tabs button{background:var(--gh-panel2);border:2px solid var(--gh-line);font-family:var(--font-pixel);letter-spacing:.05em;text-transform:uppercase;color:var(--gh-muted);border-radius:999px;padding:5px 12px;font-size:8px}.gh-mini-tabs button.on{background:var(--gh-green);border-color:var(--gh-greenD);color:#fff}.gh-mini-hint{color:var(--gh-faint);margin:0;font-size:17px}.gh-popup-head{align-items:center;gap:14px;margin-bottom:14px;padding-right:40px;display:flex}.gh-popup-head h2{font-family:var(--font-pixel);letter-spacing:.05em;text-transform:uppercase;color:var(--gh-greenD);margin:0;font-size:15px}.gh-popup-head p{color:var(--gh-muted);margin:3px 0 0;font-size:18px}.gh-popup-head .gh-chip{margin-left:auto}.gh-popup-side h3,.gh-hubpop h3{font-family:var(--font-pixel);letter-spacing:.07em;text-transform:uppercase;color:#8b5e34;margin:16px 0 8px;font-size:9px}.gh-callout{background:var(--gh-berryBg);border:3px solid var(--gh-berry);border-radius:12px;gap:4px;padding:10px 12px;display:grid}.gh-callout b{font-family:var(--font-pixel);letter-spacing:.05em;text-transform:uppercase;color:var(--gh-berry);font-size:10px}.gh-callout span{font-size:21px;line-height:1.05}.gh-auto{grid-template-columns:1fr 1fr;gap:8px 16px;display:grid}.gh-auto span{color:var(--gh-muted);align-items:baseline;gap:8px;font-size:18px;display:flex}.gh-auto b{color:var(--gh-ink);font-size:22px;font-weight:400}.gh-auto i{color:var(--gh-faint);margin-left:auto;font-size:15px;font-style:normal}.gh-popup-foot{justify-content:space-between;margin-top:18px;display:flex}.gh-popup-foot button{background:var(--gh-panel2);border:3px solid var(--gh-line2);font-family:var(--font-pixel);letter-spacing:.05em;text-transform:uppercase;color:var(--gh-ink);border-radius:999px;padding:7px 14px;font-size:8px}.gh-popup-foot button:hover{border-color:var(--gh-green);background:#f3f9e8}.gh-hub-icon{background:linear-gradient(var(--gh-green), var(--gh-green)) 24px 8px / 6px 6px no-repeat, linear-gradient(#5fae9b, #5fae9b) 0 0 / 36px 6px no-repeat, linear-gradient(#f7f0df, #f7f0df) 2px 6px / 32px 20px no-repeat, linear-gradient(#a8764a, #a8764a) 14px 24px / 8px 12px no-repeat;width:36px;height:36px;box-shadow:0 0 0 2px var(--gh-woodD);border-radius:4px}.gh-hubpop-grid{grid-template-columns:1fr 1fr;gap:6px 22px;margin-top:6px;display:grid}.gh-hub-actions{background:var(--gh-panel2);border:3px solid var(--gh-line);font-family:var(--font-pixel);letter-spacing:.05em;text-transform:uppercase;color:var(--gh-muted);border-radius:12px;gap:22px;margin:14px 0 8px;padding:10px 14px;font-size:8px;display:flex}.gh-hub-actions b{font-family:var(--font-num);letter-spacing:0;color:var(--gh-green);margin-left:6px;font-size:22px;font-weight:400}.gh-footer{border-top:4px dotted var(--gh-line);text-align:center;color:var(--gh-muted);margin-top:56px;padding:24px 20px 40px;font-size:18px}.gh-footer b{font-family:var(--font-pixel);color:var(--gh-greenD);margin-right:8px;font-size:11px}@media (width<=1000px){.gh-health-grid,.gh-two,.gh-zones,.gh-popup{grid-template-columns:1fr}.gh-stats{grid-template-columns:repeat(2,1fr)}.gh-top nav,.gh-client,.gh-legend{display:none}.gh-hubpop-grid{grid-template-columns:1fr}.gh-hero{min-height:0}.gh-stage{padding-bottom:14px;display:block;overflow-x:auto}.gh-map{width:920px;max-width:none}}.gh-live-tag{color:#fff;letter-spacing:.08em;vertical-align:middle;background:#c0392b;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:.6em;display:inline-block}
