:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fef4e0;--fg:#011960;--card:#fef4e0f0;--accent:#375484;--accent-strong:#011960;--gold:#ffda22;--on-accent:#fef4e0;--danger:#b23a2e;--hairline:#0119602e;--ink:#011960;--ink-soft:#0119609e;--tint:#0119600f;--tint-strong:#0119601f;--lift:0 2px 12px #01196024;--lift-sm:0 1px 6px #01196014;--chart-light:#c6851b;--chart-growth:#375484;--chart-cool:#7e97bd;--dim:.62;--tap:44px;--glass:#fef4e0c7;--glass-blur:18px;--rail-h:52px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:28px;--s7:40px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-pill:999px;--t-2xs:.625rem;--t-xs:.75rem;--t-sm:.8125rem;--t-md:.875rem;--t-base:1rem;--t-lg:1.125rem;--t-xl:1.375rem;--t-2xl:1.625rem;--overline-tracking:.12em}*{box-sizing:border-box}[hidden]{display:none!important}.day-chip,.cuttings-chip,.sim-clock-chip,.icon-btn,.view-bar,.nudge-banner,.care-rail,.bottom-sheet,.rail-name,.reveal-badge{box-shadow:var(--lift)}.rr-chart,.rr-card,.learn-card,.plant-card,.node-card{box-shadow:var(--lift-sm)}html,body{background:var(--bg);height:100%;color:var(--fg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app{height:100dvh}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none}.dashboard{height:100dvh;position:relative;overflow:hidden}.scene-box{position:absolute;inset:0}.scene-inner{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:radial-gradient(120% 80% at 50% 8%,#2c2a20 0%,#1a1a14 55%,#12140f 100%),#12140f;position:absolute;inset:0;overflow:hidden}.pan-stage{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.scene-box.pan-active:after{content:"";pointer-events:none;z-index:4;position:absolute;inset:0;box-shadow:inset 0 0 48px #00000059}.plant-wrap img{will-change:opacity}.top-bar{padding:calc(var(--s3) + env(safe-area-inset-top)) var(--s3) var(--s3);z-index:7;align-items:center;gap:6px;display:flex;position:absolute;top:0;left:0;right:0}.top-bar .icon-btn{background:var(--card);border:1px solid var(--hairline);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.top-bar .icon-btn:active{background:var(--tint-strong);transform:scale(.94)}.icon-svg{width:18px;height:18px;stroke:var(--fg);pointer-events:none;display:block}.icon-svg.icon-lg{width:44px;height:44px}.scrolling-clock{background:var(--card);border:1px solid var(--hairline);box-shadow:var(--lift);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;border-radius:16px;flex-direction:column;padding:5px 12px;display:flex}.clock-dial{color:var(--fg);letter-spacing:-.02em;align-items:center;gap:5px;font-size:14px;font-weight:700;line-height:1.1;display:flex}.clock-icon .icon-svg{width:14px;height:14px;stroke:var(--accent)}.clock-digits{align-items:center;display:flex}.digit-col{height:16px;line-height:16px;overflow:hidden}.digit-val.roll-tick{animation:.3s cubic-bezier(.16,1,.3,1) rollDown}@keyframes rollDown{0%{opacity:.2;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.colon{opacity:.6;margin:0 1px}.ampm-val{color:var(--accent);margin-left:3px;font-size:9px;font-weight:800}.clock-sub{align-items:center;gap:var(--s1);white-space:nowrap;letter-spacing:.05em;color:var(--accent);text-transform:uppercase;margin-top:1px;font-size:9px;font-weight:800;display:flex}.season-dot{opacity:.4}.hud-stack{top:calc(58px + env(safe-area-inset-top));z-index:6;align-items:center;gap:var(--s2);padding-inline:var(--s4);pointer-events:none;flex-direction:column;display:flex;position:absolute;left:0;right:0}.hud-stack>*{pointer-events:auto}.view-bar{background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--hairline);z-index:5;border-radius:999px;gap:6px;padding:4px;display:flex}.view-pill{cursor:pointer;opacity:.7;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:opacity .2s,background .2s,border-color .2s;display:inline-flex}.view-pill:hover{opacity:1}.view-pill.active{opacity:1;background:var(--gold);border-color:#01196033}.view-pill.active .icon-svg{stroke:var(--fg)}.day-chip{letter-spacing:.04em;background:var(--card);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--hairline);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600}.sim-clock-chip{background:var(--card);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--hairline);border-radius:50%;flex:none;width:18px;height:18px;position:relative}.sim-clock-chip .clock-hand{background:var(--fg);transform-origin:50% 100%;border-radius:1px;position:absolute;bottom:50%;left:50%}.sim-clock-chip .clock-hand.hour{opacity:.9;width:1.5px;height:4px;margin-left:-.75px}.sim-clock-chip .clock-hand.min{opacity:.6;width:1.5px;height:6px;margin-left:-.75px}.cuttings-chip{font-variant-numeric:tabular-nums;background:var(--card);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--hairline);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;flex-shrink:1;min-width:0;padding:5px 11px;font-size:13px;overflow:hidden}.cuttings-chip .icon-svg{vertical-align:-3px;width:15px;height:15px;stroke:var(--accent);display:inline-block}.top-bar .day-chip,.top-bar .sim-clock-chip,.top-bar .icon-btn{white-space:nowrap;flex-shrink:0}.top-bar .spacer{flex:1 1 0;min-width:0}.hud-dock{flex-shrink:0;position:relative}.dock-toggle{border-radius:var(--r-md);background:var(--card);border:1px solid var(--hairline);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:38px;height:38px;box-shadow:var(--lift);color:var(--fg);justify-content:center;align-items:center;transition:transform .15s,background .15s;display:inline-flex}.dock-toggle:active{background:var(--tint-strong);transform:scale(.94)}.hud-dock.open .dock-toggle{background:var(--tint-strong)}.dock-menu{top:calc(100% + var(--s2));width:max-content;min-width:232px;max-width:min(78vw,300px);padding:var(--s2);border-radius:var(--r-lg);background:var(--card);border:1px solid var(--hairline);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--lift);transform-origin:100% 0;flex-direction:column;gap:2px;animation:.16s cubic-bezier(.16,1,.3,1) dockIn;display:flex;position:absolute;right:0}@keyframes dockIn{0%{opacity:0;transform:translateY(-4px)scale(.97)}}.dock-item{align-items:center;gap:var(--s3);padding:var(--s2) var(--s2) var(--s2) var(--s2);border-radius:var(--r-md);text-align:left;color:var(--fg);min-height:var(--tap);transition:background .12s;display:flex}.dock-item:active{background:var(--tint-strong)}.dock-item-icon{border-radius:var(--r-sm);background:var(--tint);width:30px;height:30px;color:var(--accent);flex-shrink:0;place-items:center;display:grid}.dock-item-icon .icon-svg{stroke:currentColor;width:17px;height:17px}.dock-item-text{flex-direction:column;gap:1px;min-width:0;display:flex}.dock-item-label{font-size:var(--t-md);font-weight:600;line-height:1.2}.dock-item-note{font-size:var(--t-xs);opacity:var(--dim);line-height:1.3}.dock-item.active .dock-item-icon{background:var(--gold);border:1px solid #01196033}.room-dock .dock-toggle.active{background:var(--gold);border-color:#01196033}.room-dock.hidden,.cuttings-chip.hidden,.backdrop-chip.hidden,.day-chip.hidden{display:none}.backdrop-chip{opacity:.85;font-size:12px}.icon-btn{background:var(--card);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--hairline);border-radius:50%;place-items:center;width:38px;height:38px;font-size:17px;display:grid}.view-pill,.icon-btn,.hint-dismiss,.nudge-dismiss{position:relative}.view-pill:after,.icon-btn:after,.hint-dismiss:after,.nudge-dismiss:after{content:"";width:var(--tap);height:var(--tap);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.nudge-banner{align-items:center;gap:var(--s3);width:100%;max-width:480px;padding:var(--s3);border-radius:var(--r-lg);background:var(--card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--hairline);font-size:var(--t-md);box-shadow:var(--lift);line-height:1.35;animation:.2s cubic-bezier(.16,1,.3,1) dockIn;display:flex}.nudge-banner[data-severity=critical]{border-color:var(--danger)}.nudge-banner.hidden{display:none}.nudge-dismiss{opacity:var(--dim);padding:4px;font-size:13px}.widget-nudge,.apple-nudge{border-color:color-mix(in srgb, var(--accent) 55%, var(--hairline))}.widget-nudge .nudge-cta,.apple-nudge .nudge-cta{color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);white-space:nowrap;border-radius:10px;margin-left:auto;padding:4px 10px;font-size:13px;font-weight:700}.widget-editor-body{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.widget-editor-tabs{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip-btn{border:1px solid var(--hairline);background:color-mix(in srgb, var(--card) 70%, transparent);color:var(--fg);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px}.chip-btn.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);font-weight:600}.widget-crop-stage{touch-action:none;cursor:grab;background:#000;border-radius:14px;flex:1;min-height:220px;position:relative;overflow:hidden}.widget-crop-stage:active{cursor:grabbing}.widget-crop-img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;max-width:none;position:absolute}.widget-crop-plant{z-index:1;transition:opacity .25s}.widget-crop-box{border:2px solid var(--accent);pointer-events:none;z-index:2;border-radius:6px;position:absolute;box-shadow:0 0 0 9999px #0a0c109e}.widget-editor-save{margin-top:8px}.widget-editor-save .chip-btn.primary{background:var(--gold);color:var(--accent-strong);border-color:#0000;flex:1;font-weight:600}.widget-editor-save .chip-btn.primary:disabled{opacity:.55}.widget-install-cta{align-items:center;gap:var(--s3);margin-top:var(--s2);padding:var(--s3) var(--s4);border-radius:var(--r-md);background:color-mix(in srgb, var(--accent) 15%, transparent);border:1px solid color-mix(in srgb, var(--accent) 50%, transparent);font-size:var(--t-md);flex-wrap:wrap;display:flex}.widget-install-cta span{flex:1;min-width:12ch}.widget-install-cta .chip-btn.primary{background:var(--gold);color:var(--accent-strong);min-height:var(--tap);padding-inline:var(--s4);border-color:#0000;font-weight:600}.install-guide-scrim{z-index:20;background:#0119606b;position:fixed;inset:0}.install-guide{z-index:21;gap:var(--s3);width:min(100%,460px);max-height:88%;padding:var(--s4) var(--s4) calc(var(--s4) + env(safe-area-inset-bottom));border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--card);box-shadow:var(--lift);border:1px solid var(--hairline);border-bottom:none;flex-direction:column;display:flex;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)}.install-guide-head{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.install-guide-head h3{margin:0;font-size:1rem}.install-steps{gap:var(--s4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.install-step{align-items:center;gap:var(--s4);display:flex}.install-step-figure{color:var(--fg);flex:0 0 64px}.install-step-art{width:64px;height:auto;display:block}.install-step-text{font-size:var(--t-md);flex-direction:column;gap:4px;display:flex}.install-step-text span{opacity:var(--dim)}.install-guide-note{margin:0}.install-guide-success{font-size:var(--t-md);margin:0}.install-guide-done{background:var(--gold);color:var(--accent-strong);min-height:var(--tap);border-color:#0000;align-self:stretch;font-weight:600}.save-issue-banner{bottom:calc(12px + env(safe-area-inset-bottom));background:var(--card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--danger);z-index:40;border-radius:14px;width:min(92vw,480px);margin-inline:auto;padding:10px 14px;font-size:13.5px;line-height:1.35;position:fixed;left:0;right:0}.care-rail{left:50%;bottom:calc(10px + env(safe-area-inset-bottom));width:min(94vw,520px);min-height:var(--rail-h);align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-radius:var(--r-pill);background:var(--glass);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.15);backdrop-filter:blur(var(--glass-blur)) saturate(1.15);border:1px solid var(--hairline);z-index:5;cursor:pointer;touch-action:none;display:flex;position:absolute;overflow:hidden;transform:translate(-50%)}.rail-soil{align-items:center;gap:7px;min-width:0;display:flex}.rail-track{flex:none;gap:2px;display:flex}.rail-dot{border-radius:var(--r-pill);background:var(--tint-strong);width:9px;height:5px}.rail-dot.full{background:var(--accent)}.rail-soil-label{font-size:var(--t-xs);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.rail-soil[data-tone=due] .rail-dot.full{background:var(--chart-light)}.rail-soil[data-tone=urgent] .rail-dot.full{background:var(--danger)}.rail-soil[data-tone=urgent] .rail-soil-label{color:var(--danger)}.rail-cta:empty{display:none}.rail-cta .care-btn{border-radius:var(--r-pill);min-height:34px;font-size:var(--t-xs);white-space:nowrap;padding:6px 12px}.rail-spacer{flex:1 1 0;min-width:0}.rail-icon{opacity:.55;border:1px solid #0000;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;transition:opacity .15s,background .15s,transform .15s;display:inline-flex;position:relative}.rail-icon:after{content:"";width:var(--tap);height:var(--tap);position:absolute}.rail-icon:active{transform:scale(.92)}.rail-expand .icon-svg{transition:transform .22s}.care-rail.sheet-open .rail-expand .icon-svg{transform:rotate(180deg)}.bottom-sheet{left:50%;bottom:calc(var(--rail-h) + 18px + env(safe-area-inset-bottom));overscroll-behavior:contain;width:min(94vw,520px);max-height:46vh;padding:var(--s4) var(--s4) var(--s3);border-radius:var(--r-xl);background:var(--glass);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.15);backdrop-filter:blur(var(--glass-blur)) saturate(1.15);border:1px solid var(--hairline);z-index:5;touch-action:pan-y;animation:.2s sheetIn;position:absolute;overflow-y:auto;transform:translate(-50%)}@keyframes sheetIn{0%{opacity:0;transform:translate(-50%,10px)}}@media (prefers-reduced-motion:reduce){.bottom-sheet{animation:none}}.sheet-scrim{z-index:4;position:absolute;inset:0}.metrics-sheet .rr-chart{background:0 0;border-color:#0000;padding-inline:0}.metrics-sheet .rr-chart+.rr-chart{border-top:1px solid var(--hairline);margin-top:var(--s2);padding-top:var(--s3);border-radius:0}.rail-name{left:auto;right:max(3vw,50vw - 260px);bottom:calc(var(--rail-h) + 16px + env(safe-area-inset-bottom));pointer-events:none;border-radius:var(--r-pill);background:var(--glass);width:max-content;max-width:min(97vw - 98px,320px);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.15);backdrop-filter:blur(var(--glass-blur)) saturate(1.15);border:1px solid var(--hairline);z-index:5;padding:4px 12px;position:absolute}.rail-name.hidden{display:none}.care-rail.sheet-open~.rail-name{visibility:hidden}.rail-name .plant-name{white-space:normal;text-align:center;overflow-wrap:break-word;letter-spacing:.1em}.rail-name .plant-name-row{flex-wrap:wrap;justify-content:center;row-gap:2px;margin-bottom:0}.plant-name{text-transform:uppercase;letter-spacing:.14em;opacity:var(--dim);margin-bottom:4px;font-size:13px}.plant-name-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.plant-name-row .plant-name{margin-bottom:0}.gen-badge{letter-spacing:.06em;background:var(--tint-strong);color:var(--accent-strong);border:1px solid var(--hairline);white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:700;display:inline-block}.gen-badge.gen-0{background:var(--accent-strong);color:var(--on-accent);border-color:var(--accent-strong)}.gen-badge.hidden{display:none}.traj-chip{letter-spacing:.06em;background:var(--tint);border:1px solid var(--hairline);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.traj-chip .icon-svg{stroke:currentColor;flex-shrink:0;width:13px;height:13px}.traj-chip.hidden{display:none}.rail-name .traj-chip{pointer-events:auto}.traj-chip.traj-positive{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, var(--hairline))}.traj-chip.traj-steady{color:var(--ink-soft)}.traj-chip.traj-turn{color:var(--chart-light);border-color:color-mix(in srgb, var(--chart-light) 50%, var(--hairline))}.traj-chip.traj-warn{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 55%, var(--hairline))}.traj-chip.traj-bad{background:var(--danger);border-color:var(--danger);color:var(--on-accent)}.traj-scale-wrap{margin-bottom:var(--s3)}.traj-scale{background:linear-gradient(to right, var(--danger), color-mix(in srgb, var(--danger) 45%, var(--ink-soft)), var(--ink-soft), color-mix(in srgb, var(--accent) 55%, var(--ink-soft)), var(--accent));border-radius:999px;height:6px;margin:0 7px;position:relative}.traj-scale-tick{background:var(--fg);opacity:.45;width:1px;position:absolute;top:-3px;bottom:-3px;left:50%;transform:translate(-50%)}.traj-scale-dot{border:2px solid var(--bg);width:12px;height:12px;box-shadow:var(--lift-sm);color:var(--ink-soft);background:currentColor;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.traj-scale-dot.traj-positive{color:var(--accent)}.traj-scale-dot.traj-steady{color:var(--ink-soft)}.traj-scale-dot.traj-turn{color:var(--chart-light)}.traj-scale-dot.traj-warn,.traj-scale-dot.traj-bad{color:var(--danger)}.traj-scale-labels{margin-top:var(--s1);letter-spacing:.04em;color:var(--ink-soft);justify-content:space-between;font-size:10px;display:flex;position:relative}.traj-scale-mid{position:absolute;left:50%;transform:translate(-50%)}.lineage-line{opacity:var(--dim);margin-bottom:8px;font-size:12px;font-style:italic}.lineage-line.hidden{display:none}.mood-line{font-size:16.5px;line-height:1.4}.observe-detail{opacity:.8;margin-top:8px;font-size:14px;font-style:italic;line-height:1.45}.observe-detail.hidden,.soil-explainer:empty{display:none}.soil-note{margin:var(--s3) 0 0;font-size:var(--t-xs);opacity:var(--dim);line-height:1.4}.mist-card{opacity:1;background:var(--tint);border:1px solid var(--hairline);border-radius:12px;margin-top:10px;padding:12px 14px;font-style:normal}.mist-card .mist-card-body{margin:0;font-size:13.5px;line-height:1.5}.mist-card .mist-card-body strong{color:var(--accent-strong)}.mist-card .mist-card-actions{gap:8px;margin-top:12px;display:flex}.water-mix{background:var(--tint);border:1px solid var(--hairline);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:10px 12px;display:flex}.water-mix-label{letter-spacing:.04em;text-transform:uppercase;opacity:.65;font-size:12px}.water-mix-item{align-items:center;gap:6px;font-size:13.5px;display:inline-flex}.water-mix-item input{width:18px;height:18px;accent-color:var(--accent-strong)}.water-mix-name{font:inherit;color:var(--accent-strong);text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.water-mix-note{opacity:.6;font-size:12px}.repot-row{background:var(--tint);border:1px solid var(--hairline);border-radius:12px;flex:1 0 100%;padding:10px 12px}.repot-row-label{letter-spacing:.04em;text-transform:uppercase;opacity:.65;font-size:12px;display:block}.repot-row-note{margin:4px 0 0;font-size:13.5px;line-height:1.45}.repot-row-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.repot-mix{flex-direction:column;flex:190px;gap:4px;min-width:0;display:flex}.repot-mix-note{opacity:.6;font-size:12px;line-height:1.35}.product-link{color:var(--accent-strong);text-underline-offset:2px;margin-top:10px;font-size:13px;text-decoration:underline;display:inline-block}.learn-detail .product-link{display:block}.hint-line{opacity:var(--dim);align-items:baseline;gap:8px;margin-top:10px;font-size:13px;line-height:1.45;display:flex}.hint-line.hidden{display:none}.hint-line .hint-text{flex:1}.hint-dismiss{border:1px solid var(--hairline);color:var(--fg);opacity:var(--dim);background:0 0;border-radius:999px;flex:none;padding:2px 6px;font-size:11px}.care-buttons{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.facing-row{border-top:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.adjust-open-btn{flex:1;justify-content:center}.facing-btn{width:var(--tap);height:var(--tap);border:1px solid var(--hairline);color:var(--fg);background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .1s;display:inline-flex}.facing-btn:active{background:var(--tint);transform:scale(.94)}.facing-btn.hidden{display:none}.slide-bar{left:50%;bottom:calc(var(--rail-h) + 18px + env(safe-area-inset-bottom,0px));z-index:6;border:1px solid var(--hairline);background:var(--glass);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.15);backdrop-filter:blur(var(--glass-blur)) saturate(1.15);touch-action:none;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;display:flex;position:absolute;transform:translate(-50%)}.slide-hint{color:var(--fg);opacity:var(--dim);white-space:nowrap;padding-left:6px;font-size:13px}.slide-name{text-overflow:ellipsis;white-space:nowrap;max-width:34vw;overflow:hidden}.slide-done{border-color:var(--gold);color:var(--gold)}.facing-btn .icon-svg{width:18px;height:18px}.onboard-choices{flex-direction:column;align-items:center;gap:10px;margin-top:6px;display:flex}.care-btn{min-height:var(--tap);background:var(--tint);border:1px solid var(--hairline);color:var(--fg);border-radius:14px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;transition:background .2s,transform .1s,box-shadow .2s,border-color .2s;display:inline-flex}.care-btn .icon-svg{stroke:currentColor;width:16px;height:16px}.care-btn:active{transform:scale(.97)}.care-btn.primary{background:var(--gold);color:var(--fg);box-shadow:var(--lift-sm);border-color:#01196033;font-weight:700}.care-btn.primary .icon-svg{stroke:var(--fg)}.care-btn.ghost{border-color:var(--hairline);background:0 0}.care-btn.active{background:var(--gold);color:var(--fg);border-color:#01196033;font-weight:700}.care-btn-icon{color:var(--accent);flex-shrink:0;display:inline-flex}.care-btn-icon .icon-svg{stroke:currentColor;width:16px;height:16px}.care-btn.primary .care-btn-icon,.care-btn.active .care-btn-icon{color:var(--fg)}.care-btn.caution{border-color:color-mix(in srgb, var(--chart-light) 50%, var(--hairline))}.care-btn.caution .care-btn-icon{color:var(--chart-light)}.care-btn.danger{border-color:color-mix(in srgb, var(--danger) 55%, var(--hairline));color:var(--danger)}.care-btn.danger .care-btn-icon{color:var(--danger)}.care-btn.danger:active{background:color-mix(in srgb, var(--danger) 10%, transparent)}.nudge-banner .icon-svg{vertical-align:-3px;stroke:currentColor;width:17px;height:17px;display:inline-block}.nudge-banner[data-severity=critical] .icon-svg{stroke:var(--danger)}.reveal-badge{background:var(--card);border:1px solid var(--accent);z-index:11;opacity:1;border-radius:999px;padding:10px 18px;font-size:16px;transition:opacity .6s;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.reveal-badge.hidden{opacity:0;pointer-events:none}.reveal-badge .icon-svg{vertical-align:-3px;stroke:var(--accent);display:inline-block}.collection-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px;display:grid}.plant-card{background:var(--card);border:1px solid var(--hairline);text-align:left;border-radius:16px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;transition:transform .1s;display:flex}.plant-card:active{transform:scale(.97)}.plant-card.active{border-color:var(--accent)}.plant-card .card-stage{font-size:26px}.plant-card .card-stage .icon-svg{width:26px;height:26px;stroke:var(--accent)}.plant-card .card-name{font-size:15px;font-weight:600}.plant-card .card-meta{opacity:var(--dim);font-size:12.5px}.plant-card .card-status{margin-top:2px;font-size:12.5px}.plant-card .card-status.warn{color:var(--danger)}.plant-card .card-status.ready,.plant-card .card-status.ok{color:var(--accent)}.plant-card .card-status.dead{opacity:var(--dim)}.plant-card .card-meta .icon-svg,.plant-card .card-status .icon-svg{vertical-align:-2px;stroke:currentColor;width:14px;height:14px;display:inline-block}.lumens-tag{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:.3em;display:inline-flex}.lumens-tag .icon-svg{width:1em;height:1em;stroke:var(--chart-light);flex-shrink:0}.lumens-tag.negative,.lumens-tag.negative .icon-svg{color:var(--danger);stroke:var(--danger)}.lumens-chip{font-weight:600}.shop-balance{font-size:var(--t-xl);margin-top:var(--s3)}.shop-balance .shop-lumens{font-variant-numeric:tabular-nums;font-weight:700}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px;display:grid}.shop-card{background:var(--card);border:1px solid var(--hairline);text-align:left;border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;transition:transform .1s;display:flex}.shop-card:active:not(:disabled){transform:scale(.97)}.shop-card:disabled{opacity:.55}.shop-card.applied{border-color:var(--accent);opacity:1}.shop-card.soon{opacity:.45}.shop-card .shop-swatch{border:1px solid var(--hairline);border-radius:50%;place-items:center;width:28px;height:28px;font-size:16px;display:grid}.shop-card .shop-swatch .icon-svg{width:16px;height:16px;stroke:var(--fg)}.shop-card .shop-swatch-icon{background:var(--tint);color:var(--accent)}.shop-card .shop-swatch-icon .icon-svg{stroke:currentColor;width:16px;height:16px}.shop-card .shop-name{font-size:var(--t-md);font-weight:600}.shop-card .shop-price{opacity:var(--dim);font-variant-numeric:tabular-nums;font-size:12.5px}.room-chips{pointer-events:none;position:absolute;inset:0}.room-chip{background:var(--card);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--hairline);white-space:nowrap;pointer-events:auto;z-index:4;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:13px;transition:transform .1s;display:flex;position:absolute;transform:translate(-50%,-120%)}.room-chip:active{transform:translate(-50%,-120%)scale(.95)}.room-chip.hidden{display:none}.room-empty-note{background:var(--card);border:1px solid var(--hairline);color:var(--muted,#94a3b8);pointer-events:none;z-index:4;border-radius:999px;padding:10px 16px;font-size:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.room-title-chip{cursor:pointer;border:1px solid var(--hairline);background:var(--card)}.top-bar .icon-btn.hidden{display:none}.visit-title-chip{flex-direction:column;align-items:center;line-height:1.15;display:flex}.visit-asof{font-size:var(--t-2xs,10px);color:var(--muted,#94a3b8)}.visit-cta-pill{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:6;position:absolute;transform:translate(-50%)}.stats-embedded{flex-direction:column;display:flex}.visit-plant-chip{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:6;white-space:nowrap;text-overflow:ellipsis;max-width:min(90vw,22rem);position:absolute;overflow:hidden;transform:translate(-50%)}.visit-plant-chip.raised{bottom:calc(70px + env(safe-area-inset-bottom))}.visit-cta-sheet{z-index:30;background:#00000073;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.visit-cta-card{background:var(--card);border:1px solid var(--hairline);text-align:center;border-radius:18px;width:100%;max-width:26rem;padding:24px 22px;position:relative}.visit-cta-card h2{font-size:var(--t-lg,19px);margin:4px 0 8px}.visit-cta-card p{color:var(--muted,#94a3b8);line-height:1.45;font-size:var(--t-sm,15px);margin:0 0 14px}.visit-cta-close{position:absolute;top:10px;right:10px}.visit-cta-form .visit-cta-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.visit-cta-input{text-align:left;flex:12em;min-width:0}.visit-cta-note{min-height:1.5em;font-size:var(--t-sm,15px);margin:10px 0 0;line-height:1.4}.visit-cta-note.ok{color:var(--accent);font-weight:550}.visit-cta-note a{color:inherit;text-decoration:underline}.visit-landing-body{max-width:24em}.visit-landing-plants{flex-direction:column;gap:4px;margin:4px 0 6px;display:flex}.visit-landing-plant{background:var(--card);border:1px solid var(--hairline);font-size:var(--t-sm,15px);border-radius:999px;padding:8px 16px}.visit-landing-hint,.visit-landing-cta-lead{color:var(--muted,#94a3b8);font-size:var(--t-sm,15px);max-width:24em}.visit-landing-cta-lead{margin-top:14px}.room-chip .room-chip-name{font-weight:600}.room-chip .room-chip-status .icon-svg{width:15px;height:15px;stroke:var(--accent)}.decor-markers{pointer-events:none;position:absolute;inset:0}.decor-marker{width:var(--tap);height:var(--tap);background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:2px dashed var(--accent);pointer-events:auto;z-index:5;border-radius:999px;place-items:center;font-size:20px;line-height:1;transition:transform .1s;display:grid;position:absolute;transform:translate(-50%,-50%)}.decor-marker.filled{background:var(--card);border-style:solid}.decor-marker:active{transform:translate(-50%,-50%)scale(.92)}.decor-marker.hidden{display:none}.decor-marker-mark .icon-svg{width:20px;height:20px;stroke:var(--accent)}.decorate-chip.active{background:var(--accent);color:var(--on-accent)}.decorate-chip.hidden{display:none}.spot-picker{flex-direction:column;gap:8px;margin:10px 0;display:flex}.spot-card{background:var(--card);border:1px solid var(--hairline);text-align:left;border-radius:14px;grid-template-columns:34px 1fr;grid-template-areas:"icon label""icon light""icon state";align-items:center;gap:2px 10px;padding:10px 12px;transition:transform .1s;display:grid}.spot-card:active:not(:disabled){transform:scale(.98)}.spot-card:disabled{opacity:.5}.spot-card.selected{border-color:var(--accent)}.spot-card .spot-icon{grid-area:icon;font-size:22px}.spot-card .spot-icon .icon-svg{width:22px;height:22px;stroke:var(--accent)}.spot-card .spot-label{grid-area:label;font-size:14.5px;font-weight:600}.spot-card .spot-light{opacity:var(--dim);grid-area:light;font-size:12px}.spot-card .spot-state{opacity:.8;font-variant-numeric:tabular-nums;grid-area:state;font-size:12px}.node-card{background:var(--card);border:1px solid var(--hairline);border-radius:16px;flex-direction:column;gap:6px;margin-top:10px;padding:14px;display:flex}.node-card .node-from{font-size:14px;font-weight:600}.node-card .node-stage{opacity:var(--dim);font-size:12.5px}.node-card .node-stage .icon-svg{vertical-align:-2px;stroke:currentColor;width:14px;height:14px;display:inline-block}.node-card .node-bar{background:var(--tint);border-radius:999px;height:5px;overflow:hidden}.node-card .node-bar-fill{background:#01196059;border-radius:999px;height:100%;transition:width .4s}.node-card .node-bar-fill.rooted{background:var(--accent)}.node-card .care-buttons{margin-top:4px}.panel{z-index:10;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:0 18px calc(16px + env(safe-area-inset-bottom));flex-direction:column;display:flex;position:absolute;inset:0;overflow-y:auto}.panel-head{z-index:3;padding:calc(12px + env(safe-area-inset-top)) 18px 12px;background:var(--bg);justify-content:space-between;align-items:center;margin:0 -18px 10px;display:flex;position:sticky;top:0}.panel-head h2{margin:0;font-size:19px;font-weight:600}.journal-list{overflow-y:auto}.journal-date{text-transform:uppercase;letter-spacing:.12em;opacity:var(--dim);margin:16px 0 6px;font-size:12px}.journal-row{opacity:.85;align-items:baseline;gap:10px;padding:5px 0;font-size:14.5px;display:flex}.journal-row.milestone{opacity:1;font-size:16px;font-weight:550}.j-icon{flex:0 0 18px;align-self:center;place-items:center;display:grid}.j-icon .icon-svg{width:16px;height:16px}.journal-empty{opacity:var(--dim)}.settings-body{flex-direction:column;max-width:480px;display:flex}.settings-section{text-transform:uppercase;letter-spacing:.12em;opacity:var(--dim);margin:20px 0 8px;font-size:13px;font-weight:600}.settings-row{align-items:center;gap:8px;display:flex}.settings-row.seg .care-btn{min-width:52px}.settings-row input[type=text]{flex:1}.settings-row input[type=text],.name-input{border:1px solid var(--hairline);background:var(--tint);color:var(--fg);font:inherit;border-radius:12px;padding:10px 14px}.settings-note{opacity:var(--dim);margin:8px 0 0;font-size:13px;line-height:1.45}.settings-diag summary{cursor:pointer;opacity:.8;font-size:13px}.settings-diag-body,.settings-export-ta{background:var(--tint);border:1px solid var(--hairline);color:var(--fg);border-radius:8px;margin-top:8px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;line-height:1.5}.settings-diag-body{white-space:pre-wrap;word-break:break-word;overflow-x:auto}.settings-export-ta{resize:vertical;width:100%;min-height:120px;font-size:10px}.learn-intro{max-width:480px}.learn-body{gap:8px}.learn-card{border:1px solid var(--hairline);background:color-mix(in srgb, var(--card) 60%, transparent);border-radius:14px;margin-top:10px;padding:4px 14px}.learn-summary{min-height:var(--tap);cursor:pointer;align-items:center;gap:12px;padding:10px 0;list-style:none;display:flex}.learn-summary::-webkit-details-marker{display:none}.learn-ic{border-radius:var(--r-md);background:var(--tint);width:34px;height:34px;color:var(--accent);flex:none;place-items:center;display:grid}.learn-ic .icon-svg{stroke:currentColor;width:18px;height:18px}.learn-heading{flex-direction:column;gap:2px;min-width:0;display:flex}.learn-title{font-size:16px;font-weight:600}.learn-sub{opacity:var(--dim);font-size:13px}.learn-detail{padding:2px 0 12px}.learn-detail p{margin:0 0 10px;font-size:14.5px;line-height:1.5}.learn-detail p:last-child{margin-bottom:0}.learn-link{min-height:var(--tap);color:var(--accent);text-align:left;background:0 0;align-self:flex-start;margin:8px 0 4px;padding:6px 0;font-size:13px}.learn-start{width:100%;margin:4px 0 14px}.learn-done{color:var(--accent);font-size:var(--t-md);flex:none;margin-left:auto}.lesson-player{flex-direction:column;padding:0;display:flex;overflow:hidden}.lesson-head{padding-left:var(--s4);padding-right:var(--s4);margin-left:0;margin-right:0}.lesson-stage-host{background:var(--tint);flex:auto;min-height:130px;position:relative;overflow:hidden}.lesson-stage-host.hidden,.lesson-nav.hidden{display:none}.lesson-stage,.lesson-plates,.lesson-scene{position:absolute;inset:0}.lesson-stage{overflow:hidden}.lesson-plate{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.lesson-plates.empty .lesson-plate{display:none}.lesson-body{padding:0 var(--s4) var(--s4);-webkit-overflow-scrolling:touch;flex:0 auto;overflow-y:auto}.lesson-screen{gap:var(--s3);flex-direction:column;max-width:560px;margin:0 auto;display:flex}.lesson-tagline{margin:var(--s3) 0 0;font-size:var(--t-lg);font-weight:600;line-height:1.35}.lesson-copy{font-size:var(--t-md);margin:0;line-height:1.55}.lesson-copy.dim{opacity:var(--dim)}.lesson-payoff:empty{display:none}.lesson-nav:before{content:"";height:var(--s5);background:linear-gradient(to top, var(--bg), transparent);opacity:0;pointer-events:none;transition:opacity .16s;position:absolute;bottom:100%;left:0;right:0}.lesson-player.has-more .lesson-nav:before{opacity:1}.lesson-nav{justify-content:center;align-items:center;gap:var(--s3);min-height:28px;padding:var(--s2) var(--s4) calc(var(--s2) + env(safe-area-inset-bottom));flex:none;display:flex;position:relative}.lesson-nav .care-btn{justify-content:center;min-width:92px}.lesson-hint{right:var(--s4);align-items:center;gap:var(--s1);font-size:var(--t-xs);opacity:var(--dim);animation:1.8s ease-in-out infinite lesson-hint-drift;display:inline-flex;position:absolute}.lesson-hint .icon-svg{stroke:currentColor;width:14px;height:14px;transform:rotate(90deg)}.lesson-hint.hidden,.lesson-done.hidden{display:none}@keyframes lesson-hint-drift{0%,to{transform:translate(0)}50%{transform:translate(3px)}}@media (prefers-reduced-motion:reduce){.lesson-hint{animation:none}}.lesson-dots{justify-content:center;gap:var(--s1);flex:auto;display:flex}.lesson-dot{border-radius:var(--r-pill);background:var(--hairline);width:6px;height:6px;transition:background .16s}.lesson-dot.past{background:var(--accent);opacity:.45}.lesson-dot.on{background:var(--accent)}.lesson-cards,.lesson-summary{gap:var(--s3);flex-wrap:wrap;display:flex}.lesson-cards>*,.lesson-summary>*{flex:160px}.lesson-card{border:1px solid var(--hairline);border-radius:var(--r-lg);background:color-mix(in srgb, var(--card) 60%, transparent);padding:var(--s3) var(--s4)}.lesson-card-cap{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;opacity:var(--dim);margin:0}.lesson-card-val{margin:var(--s1) 0 0;font-size:var(--t-xl);font-weight:600;line-height:1.2}.lesson-card-meaning{margin:var(--s2) 0 0;font-size:var(--t-sm);opacity:var(--dim);line-height:1.45}.time-slider{gap:var(--s2);flex-direction:column;display:flex}.time-slider-head{align-items:center;gap:var(--s2);display:flex}.time-slider-label{font-size:var(--t-xl);font-variant-numeric:tabular-nums;font-weight:600}.time-slider-play{flex:none}.time-slider-play .icon-svg{stroke:currentColor;width:20px;height:20px}.time-slider-play.on{color:var(--accent);background:var(--tint-strong)}.time-slider-range{--fill:0%;appearance:none;width:100%;height:var(--tap);cursor:pointer;background:0 0}.time-slider-range::-webkit-slider-runnable-track{border-radius:var(--r-pill);background:linear-gradient(to right, var(--chart-light) var(--fill), var(--tint-strong) var(--fill));height:6px}.time-slider-range::-webkit-slider-thumb{appearance:none;background:var(--card);border:2px solid var(--chart-light);width:22px;height:22px;box-shadow:var(--lift-sm);border-radius:50%;margin-top:-8px}.time-slider-range::-moz-range-track{border-radius:var(--r-pill);background:var(--tint-strong);height:6px}.time-slider-range::-moz-range-progress{border-radius:var(--r-pill);background:var(--chart-light);height:6px}.time-slider-range::-moz-range-thumb{background:var(--card);border:2px solid var(--chart-light);border-radius:50%;width:18px;height:18px}.lesson-time{font-size:var(--t-xl);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.lesson-spot-row{gap:var(--s2);flex-wrap:wrap;display:flex}.lesson-spot.care-btn.on{background:var(--tint-strong);border-color:var(--accent);color:var(--accent-strong)}.lesson-readouts{gap:var(--s2);grid-template-columns:1fr 1fr;display:grid}.lesson-readouts .lesson-card{padding:var(--s2) var(--s3)}.lesson-readouts .lesson-card-val{font-size:var(--t-lg)}.lesson-toggle{align-self:flex-start}.lesson-verdict:empty{display:none}.lesson-verdict.on{color:var(--accent-strong);font-weight:600}.lesson-compare{gap:var(--s2);grid-template-columns:1fr 1fr;display:grid}.lesson-compare-card{border:1px solid var(--hairline);border-radius:var(--r-lg);min-width:0;padding:var(--s3)}.lesson-compare-spec{margin:var(--s1) 0 var(--s2);font-size:var(--t-md);font-weight:600}.lesson-chart svg{width:100%;height:auto}.dli-graph{gap:var(--s1);flex-direction:column;display:flex}.dli-graph-head{justify-content:space-between;align-items:baseline;gap:var(--s2);display:flex}.dli-graph-cap{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;opacity:var(--dim)}.dli-graph-val{font-size:var(--t-lg);font-variant-numeric:tabular-nums;color:var(--chart-light);font-weight:600}.dli-graph-plot svg{width:100%;height:auto;display:block}.dli-graph-note{font-size:var(--t-xs);opacity:var(--dim);margin:0}.memorial-recovery{opacity:.9;max-width:420px;margin:14px auto 0;font-size:14px;line-height:1.5}.onboarding,.memorial{text-align:center;min-height:100dvh;padding:calc(28px + env(safe-area-inset-top)) calc(28px + env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) calc(28px + env(safe-area-inset-left));flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:relative}.onboard-icon,.memorial-icon{font-size:52px}.onboard-icon .icon-svg,.memorial-icon .icon-svg{margin-inline:auto}.memorial-icon .icon-svg{opacity:var(--dim)}.onboarding-backdrop{z-index:0;pointer-events:none;opacity:0;transition:opacity .9s;position:absolute;inset:0;overflow:hidden}.onboarding-backdrop.ready{opacity:1}.onboarding-backdrop.framed canvas{transition:transform .9s cubic-bezier(.32,.72,.24,1)}.onboarding-backdrop:after{content:"";background:linear-gradient(#fef4e0b8 0%,#fef4e029 18%,#fef4e01a 74%,#fef4e09e 100%);position:absolute;inset:0}.onboarding{z-index:1}.has-plant-backdrop .onboarding-live{padding-top:calc(48px + env(safe-area-inset-top));justify-content:flex-start}.has-plant-backdrop .onboarding-live h1,.has-plant-backdrop .onboarding-live p:not(.settings-note){-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#fef4e0c7;border-radius:16px;padding:8px 16px}.has-plant-backdrop .onboarding-live h1{background:#fef4e0db;padding:10px 20px}.has-plant-backdrop .onboarding-live p:not(.settings-note){opacity:.92;max-width:32ch}.has-plant-backdrop .onboarding-live p:not(.settings-note):nth-of-type(odd){align-self:flex-start}.has-plant-backdrop .onboarding-live p:not(.settings-note):nth-of-type(2n){align-self:flex-end}.gate-code-input{text-transform:uppercase;text-align:center;letter-spacing:.18em;font-variant-numeric:tabular-nums}.queue-line{justify-content:center;align-items:center;gap:var(--s2) var(--s1);max-width:420px;margin:var(--s2) 0;flex-wrap:wrap;display:flex}.queue-cell{flex-direction:column;align-items:center;display:flex;position:relative}.queue-sprout{display:block}.queue-sprout.you{outline:2px solid var(--gold,#d9a441);outline-offset:2px;border-radius:14px}.queue-you-tag{font-size:var(--t-2xs,10px);text-transform:uppercase;letter-spacing:.08em;color:var(--gold,#d9a441);margin-top:2px}.gate-note{max-width:22em;min-height:2.6em;font-size:var(--t-sm,15px);color:var(--fg);opacity:0;justify-content:center;align-items:center;margin:0;font-weight:500;line-height:1.35;transition:opacity .14s;display:flex}.gate-note.shown{opacity:1}.gate-note.working{opacity:var(--dim);font-weight:400}.queue-fold{font-size:var(--t-xs);opacity:var(--dim,.65);flex-basis:100%}.queue-leave{opacity:.7}.onboarding h1,.memorial h1{margin:0;font-size:26px;font-weight:550}.onboarding p,.memorial p{opacity:.75;max-width:38ch;margin:0;line-height:1.55}.memorial-dates{text-transform:uppercase;letter-spacing:.1em;font-size:13px}.memorial-soft{font-style:italic}.name-input{text-align:center;background:var(--bg);border-color:#0119606b;width:100%;max-width:260px;font-size:18px}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}.run-report-charts{flex-direction:column;gap:10px;display:flex}.rr-card{background:var(--card);border:1px solid var(--hairline);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;display:flex}.rr-card-ic{font-size:1.1rem}.rr-card-val{color:var(--fg);font-size:.98rem;font-weight:700;line-height:1.2}.rr-card-label{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:.62rem}.rr-chart{background:var(--card);border:1px solid var(--hairline);border-radius:10px;padding:10px 12px 8px}.rr-chart-head{align-items:center;gap:7px;margin-bottom:4px;display:flex}.rr-ic{flex:none;align-items:center;font-size:.95rem;display:inline-flex}.rr-ic .icon-svg{width:16px;height:16px;stroke:var(--accent)}.rr-label{color:var(--fg);font-size:.82rem;font-weight:600}.rr-val{font-variant-numeric:tabular-nums;margin-left:auto;font-size:.78rem;font-weight:600}.rr-svg{touch-action:pan-y;width:100%;height:64px;display:block;overflow:visible}.rr-grid{stroke:var(--hairline);stroke-width:1px;stroke-dasharray:2 4;opacity:.5}.lc-svg{height:84px}.lc-grid{stroke:var(--hairline);stroke-width:1px;opacity:.4}.lc-tick{fill:var(--fg);opacity:.7;font-size:9px}.lc-now{stroke:var(--fg);stroke-width:1px;stroke-dasharray:2 3;opacity:.45}.ylc-chart .lc-grid{opacity:.22}.ylc-chart .lc-tick{opacity:.6}.lc-legend{color:var(--fg);opacity:var(--dim);margin-top:5px;font-size:11px;line-height:1.4}.lc-swatch{vertical-align:baseline;border-radius:2px;width:9px;height:9px;margin-right:4px;display:inline-block}.lc-now-read{font-variant-numeric:tabular-nums;opacity:.85;font-weight:600}.nl-row{align-items:center;gap:8px;margin-top:6px;display:flex}.nl-key{color:var(--fg);opacity:var(--dim);flex:0 0 82px;font-size:11px}.nl-bar{background:color-mix(in srgb, var(--fg) 12%, transparent);border-radius:5px;flex:auto;height:8px;overflow:hidden}.nl-fill{border-radius:5px;height:100%;transition:width .25s}.nl-num{text-align:right;font-variant-numeric:tabular-nums;min-width:62px;color:var(--fg);opacity:.75;flex:none;font-size:11px}.nl-legend{color:var(--fg);opacity:var(--dim);margin-top:6px;font-size:11px;line-height:1.4}#boot-splash{z-index:9999;background-color:var(--bg);opacity:1;justify-content:center;align-items:center;transition:opacity .42s;display:flex;position:fixed;inset:0}.boot-splash-logo{filter:drop-shadow(0 8px 24px #00000073);opacity:0;border-radius:22px;width:92px;height:92px;transition:transform .42s,opacity .42s;animation:.72s cubic-bezier(.22,1,.36,1) forwards boot-splash-in;transform:translateY(22px)scale(.82)}@keyframes boot-splash-in{to{opacity:1;transform:translateY(0)scale(1)}}#boot-splash.fade-out{opacity:0;pointer-events:none}#boot-splash.fade-out .boot-splash-logo{transform:translateY(-6px)scale(1.08)}@media (prefers-reduced-motion:reduce){.boot-splash-logo{animation:.3s forwards boot-splash-fade;transform:none}#boot-splash.fade-out .boot-splash-logo{transform:none}}@keyframes boot-splash-fade{to{opacity:1}}#app{z-index:1;will-change:transform;position:relative}#app.dash-swapping{opacity:0}#app.dash-enter{opacity:1;transform:translate(100%)}#app.dash-enter-active{transition:transform .36s cubic-bezier(.22,.61,.36,1);transform:translate(0,0)}.dash-ghost{z-index:0;pointer-events:none;opacity:1;position:fixed;inset:0;transform:translate(0,0)}.dash-ghost.dash-ghost-waiting:after{content:"";border:3px solid #ffffff59;border-top-color:#ffffffe6;border-radius:50%;width:28px;height:28px;margin:-14px 0 0 -14px;animation:.9s linear infinite ghost-wait-spin;position:absolute;top:50%;left:50%}#boot-splash.boot-splash-waiting:after{content:"";border:3px solid #80808040;border-top-color:#808080bf;border-radius:50%;width:28px;height:28px;margin:-14px 0 0 -14px;animation:.9s linear infinite ghost-wait-spin;position:absolute;top:calc(50% + 84px);left:50%}@keyframes ghost-wait-spin{to{transform:rotate(360deg)}}.dash-ghost-out{opacity:.55;transition:transform .36s cubic-bezier(.22,.61,.36,1),opacity .36s;transform:translate(-22%)}.live-plant-wrap{opacity:0;transition:opacity .42s}.live-plant-wrap.plant-in{opacity:1}.visit-fade{opacity:0;transition:opacity .42s}.visit-chrome-in .visit-fade{opacity:1}html,body{overflow-x:hidden}.pan-stage.pano-mode .backdrop-layer,.pan-stage.pano-mode .foreground-layer,.pan-stage.pano-mode .outdoor-layer{display:none}.room-compass{left:14px;bottom:calc(10px + var(--rail-h) + 14px + env(safe-area-inset-bottom));z-index:5;background:var(--card);border:1px solid var(--hairline);border-radius:50%;width:76px;height:76px;transition:opacity .25s;position:absolute;box-shadow:0 2px 10px #0119601f}.room-compass.hidden{display:none}.compass-ring{border-radius:50%;position:absolute;inset:13px}.compass-dot{border:1.5px solid var(--card);background:var(--accent);cursor:pointer;opacity:.85;border-radius:50%;width:11px;height:11px;padding:0;transition:opacity .2s,background .2s,width .2s,height .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.compass-dot.hidden{display:none}.compass-dot.behind{opacity:.38}.compass-dot.active{background:var(--gold);opacity:1;border-color:#01196059;width:14px;height:14px}.compass-centre{border:1px solid var(--hairline);cursor:pointer;opacity:.75;background:#fef4e0b3;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:opacity .2s;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.compass-centre:hover:not(:disabled){opacity:1}.compass-centre.hidden{display:none}.compass-centre:disabled{cursor:default;opacity:.4}.compass-centre .icon-svg{width:15px;height:15px}.lesson-spot-table{gap:var(--s1);flex-direction:column;display:flex}.lesson-spot-row-item{gap:2px var(--s2);width:100%;padding:var(--s2) var(--s3);border:1px solid var(--hairline);border-radius:var(--r-md);text-align:left;min-height:var(--tap);background:0 0;grid-template-columns:1fr auto;grid-template-areas:"name dli""growth water";display:grid}.lesson-spot-row-item.on{background:var(--tint);border-color:var(--accent)}.lesson-spot-row-item.best .lesson-spot-dli{color:var(--chart-light)}.lesson-spot-name{font-size:var(--t-md);grid-area:name;font-weight:600}.lesson-spot-dli{font-size:var(--t-md);font-variant-numeric:tabular-nums;grid-area:dli;font-weight:600}.lesson-spot-growth{font-size:var(--t-xs);opacity:var(--dim);grid-area:growth}.lesson-spot-water{font-size:var(--t-xs);text-align:right;opacity:var(--dim);grid-area:water}.lesson-body{touch-action:pan-y;will-change:transform}.dli-graph-caps{align-items:baseline;gap:var(--s1);min-width:0;display:flex}.dli-graph-now{font-size:var(--t-xs);opacity:var(--dim);white-space:nowrap}.lesson-spot-row{gap:var(--s1);flex-wrap:nowrap}.lesson-spot-row .lesson-spot{min-width:0;min-height:34px;font-size:var(--t-xs);text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;justify-content:center;padding:4px 6px;overflow:hidden}.lesson-compare-card.live{border-color:var(--accent);background:var(--tint)}.lesson-shot{aspect-ratio:16/10;border-radius:var(--r-sm);background:var(--tint);width:100%;margin-bottom:var(--s1);position:relative;overflow:hidden}.lesson-shot.hidden{display:none}.lesson-shot-layer{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.compare-graph{gap:var(--s1);flex-direction:column;display:flex}.compare-graph-legend{gap:var(--s1) var(--s3);font-size:var(--t-xs);flex-wrap:wrap;display:flex}.compare-graph-key{align-items:center;gap:4px;min-width:0;display:inline-flex}.compare-graph-swatch{border-radius:2px;flex:none;width:9px;height:9px}.compare-graph-name{opacity:var(--dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compare-graph-val{font-variant-numeric:tabular-nums}.compare-graph-plot svg{width:100%;height:auto;display:block}.dial-pair{gap:var(--s3);grid-template-columns:1fr 1fr;align-items:end;display:grid}.dial{flex-direction:column;align-items:center;min-width:0;display:flex}.dial-face svg,.dial-odo svg{width:100%;max-width:128px;height:auto;display:block}.dial-val{font-size:var(--t-lg);font-variant-numeric:tabular-nums;color:var(--chart-light);margin:0;font-weight:600}.dial-cap{font-size:var(--t-xs);text-align:center;opacity:var(--dim);margin:0}.dli-graph-wrap{position:relative}.dli-graph-axis{font-size:var(--t-2xs);opacity:var(--dim);pointer-events:none;font-variant-numeric:tabular-nums;position:absolute;top:2px;left:4px}.lesson-shot-wide{aspect-ratio:24/9;border-radius:var(--r-md);background:var(--tint);width:100%;position:relative;overflow:hidden}.lesson-shot-wide.hidden{display:none}.moisture-graph{gap:var(--s1);flex-direction:column;display:flex}.moisture-graph-head{justify-content:space-between;align-items:baseline;gap:var(--s2);display:flex}.moisture-graph-state{font-weight:600}.moisture-graph-state.tone-due{color:var(--chart-light)}.moisture-graph-state.tone-urgent{color:var(--danger)}.moisture-graph-sub{font-size:var(--t-sm);color:var(--ink-soft)}.moisture-graph-plot .mg-svg{width:100%;height:auto;display:block}.mg-band-wet{fill:color-mix(in srgb, var(--chart-growth) 26%, transparent)}.mg-band-damp{fill:color-mix(in srgb, var(--chart-growth) 12%, transparent)}.mg-band-ready{fill:color-mix(in srgb, var(--chart-light) 40%, transparent)}.mg-band-dry{fill:color-mix(in srgb, var(--danger) 12%, transparent)}.mg-band-bone_dry{fill:color-mix(in srgb, var(--danger) 26%, transparent)}.mg-line{fill:none;stroke:var(--chart-growth);stroke-width:2px;stroke-linejoin:round}.mg-oxygen{fill:none;stroke:var(--danger);stroke-width:1.5px;stroke-dasharray:3 3;opacity:.85}.mg-ready-line{stroke:var(--chart-light);stroke-width:1px;stroke-dasharray:2 3;opacity:.9}.mg-ready-label{fill:var(--chart-light);letter-spacing:.02em;font-size:8px}.mg-water-mark{stroke:var(--chart-growth);stroke-width:1px;opacity:.35}.mg-now-line{stroke:var(--ink);stroke-width:1px;opacity:.35}.mg-now-dot{fill:var(--ink)}.mg-tick{fill:var(--ink-soft);font-size:8px}.mg-summer{fill:none;stroke:var(--chart-light);stroke-width:2.5px}.mg-winter{fill:none;stroke:var(--chart-growth);stroke-width:2.5px;stroke-dasharray:5 3}.mg-series-label{font-size:9px;font-weight:600}.mg-summer-label{fill:var(--chart-light)}.mg-winter-label{fill:var(--chart-growth)}.mg-cross{fill:var(--bg);stroke-width:2px}.mg-summer-cross{stroke:var(--chart-light)}.mg-winter-cross{stroke:var(--chart-growth)}.mg-cross-label{fill:var(--ink);font-variant-numeric:tabular-nums;font-size:9px;font-weight:700}.pot-sizer,.fan-dial{align-items:center;gap:var(--s2);margin:var(--s2) 0 var(--s3);flex-direction:column;display:flex}.pot-sizer-readout{flex-direction:column;align-items:center;gap:2px;display:flex}.pot-sizer-days{font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:700;line-height:1.1}.pot-sizer-unit{color:var(--ink-soft);font-size:.8rem}.pot-sizer-stage,.fan-stage{width:100%;max-width:220px}.pot-svg,.fan-svg{width:100%;height:auto;display:block}.pot-shape{transition:transform .16s ease-out}.pot-rim{fill:var(--chart-growth)}.pot-body{fill:var(--chart-light)}.pot-sizer-slider{width:100%}.fan-cage{fill:none;stroke:var(--tint);stroke-width:6px}.fan-blades{fill:var(--chart-growth);transform-origin:60px 52px}.fan-hub{fill:var(--chart-light)}.fan-stem,.fan-foot{fill:var(--tint)}@keyframes fan-spin{to{transform:rotate(360deg)}}.fan-dial.on .fan-blades{animation:.55s linear infinite fan-spin}@media (prefers-reduced-motion:reduce){.fan-dial.on .fan-blades{animation-duration:2.4s}.pot-shape{transition:none}}.fan-toggle{min-width:11rem}.lesson-subhead{margin:var(--s3) 0 0;font-size:.9rem;font-weight:600}.cmp-bars{gap:var(--s1);margin:var(--s2) 0;flex-direction:column;display:flex}.cmp-row{align-items:center;gap:var(--s2);padding:var(--s1) var(--s2);border-radius:var(--r-sm);display:flex}.cmp-row.on{background:var(--tint)}.cmp-label{flex:0 0 5.5rem;font-size:.85rem}.cmp-row.on .cmp-label{font-weight:600}.cmp-track{background:var(--tint);border-radius:5px;flex:auto;height:10px;overflow:hidden}.cmp-fill{background:var(--chart-growth);border-radius:5px;height:100%}.cmp-row.on .cmp-fill{background:var(--chart-light)}.cmp-val{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-soft);flex:0 0 2.6rem;font-size:.85rem}.cmp-row.on .cmp-val{color:inherit;font-weight:600}.cmp-note{color:var(--ink-soft);padding:0 var(--s2) var(--s1);font-size:.8rem}.cmp-caption{color:var(--ink-soft);margin:var(--s1) 0 0;font-size:.8rem}.lesson-spot-line{justify-content:space-between;align-items:baseline;gap:var(--s2);padding:var(--s1) var(--s2);border-radius:var(--r-sm);display:flex}.lesson-spot-line.on{background:var(--tint)}.lesson-spot-val{font-variant-numeric:tabular-nums;color:var(--ink-soft)}.lesson-spot-line.on .lesson-spot-val{color:var(--ink);font-weight:600}.day-slider .time-slider-label{font-size:var(--t-md);color:var(--ink-soft);font-weight:500}.stats-drydown{padding:var(--s2) 0}.stats-drydown-cap{font-size:var(--t-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.stats-drydown-val{font-size:var(--t-xl);font-weight:600}.stats-drydown-note{font-size:var(--t-sm);color:var(--ink-soft)}.lesson-bullets{gap:var(--s1);margin:var(--s2) 0;flex-direction:column;list-style:none;display:flex}.lesson-bullets li{padding-left:var(--s3);line-height:1.45;position:relative}.lesson-bullets li:before{content:"";background:var(--chart-light);border-radius:50%;width:5px;height:5px;position:absolute;top:.6em;left:2px}.lesson-check{padding:var(--s2) 0;border-top:1px solid var(--hairline)}.lesson-check-when{font-size:var(--t-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.lesson-check-feel{font-size:var(--t-lg);margin-bottom:var(--s1)}.mg-shade,.mg-band-breathing{fill:color-mix(in srgb, var(--chart-growth) 14%, transparent)}.mg-band-stuffy{fill:color-mix(in srgb, var(--chart-light) 18%, transparent)}.mg-band-suffocating{fill:color-mix(in srgb, var(--danger) 22%, transparent)}
