:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;--font-body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;--font-ascii:"DotGothic16","SF Mono","Monaco",monospace;--text-xs:.625rem;--text-sm:.75rem;--text-base:.875rem;--text-lg:1rem;--text-xl:1.125rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--ink:#2b1a12;--ink-light:#4a3325;--ink-faint:#6f5644;--wood:#6b4423;--twig:#8b5a2b;--paper:#f8f6f1;--water:steelblue;--sun:#856200;--border-subtle:#3c281414;--border:#3c281426;--border-strong:#3c281440;--success-tone:var(--twig);--warning-tone:#8b6b2f;--error-tone:#8a4a3a;--dialog-bg:#fffffff7;--dialog-overlay:#00000080;--dialog-shadow:0 8px 32px #0003;--dialog-blur:4px;--dialog-z:1000;--char:16px}*{box-sizing:border-box}.hidden{display:none!important}body{min-width:360px;height:100vh;font-family:var(--font-ascii);font-size:var(--char);color:var(--ink);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;background-color:#f3ebe0;justify-content:center;align-items:flex-start;margin:0;padding:1rem 1.25rem 1.25rem;line-height:1.3;display:flex;position:relative;overflow:hidden}body:before,body:after{content:"";pointer-events:none;z-index:-1;position:fixed;inset:0}body:before{background:radial-gradient(70% 60% at 78% 45%,#c8aa8238 0%,#c3a57d14 50%,#0000 70%),radial-gradient(45% 50% at 35% 20%,#cdaf872e 0%,#c8aa820f 45%,#0000 65%),radial-gradient(55% 45% at 18% 75%,#c3a57d33 0%,#0000 60%),radial-gradient(60% 35% at 55% 92%,#c8af8c2e 0%,#0000 55%),radial-gradient(40% 55% at 8% 45%,#c3aa8226 0%,#0000 55%),radial-gradient(30% 35% at 90% 15%,#cdaf8729 0%,#0000 50%),radial-gradient(45% 45%,#fffaf233 0%,#0000 55%)}body:after{background:repeating-linear-gradient(45deg,#0000 0 1px,#a08c6e08 1px 2px),repeating-linear-gradient(-45deg,#0000 0 1px,#8c785a06 1px 2px),repeating-linear-gradient(90deg,#0000 0 2px,#96826405 2px 3px),radial-gradient(90% 90%,#0000 40%,#b4a08214 100%)}#app{justify-content:center;width:100%;height:100%;display:flex}.visually-hidden{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.is-muted{color:var(--ink-faint)}.is-hidden{opacity:0;pointer-events:none;transition:opacity .3s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.quota-warning{z-index:1100;justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-2)var(--space-4);border-bottom:1px solid var(--error-tone);background:#8a4a3a1a;animation:.2s fade-in;display:flex;position:fixed;top:0;left:0;right:0}.quota-warning-message{font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--error-tone);margin:0}.quota-warning-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.quota-warning-close{font-size:var(--text-xl);color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0;line-height:1;transition:color .15s}.quota-warning-close:hover{color:var(--ink)}.toast-container{bottom:var(--space-5);padding:var(--space-2)var(--space-4);background:var(--ink);color:var(--paper);font-family:var(--font-ascii);font-size:var(--text-sm);pointer-events:none;opacity:0;z-index:9000;text-align:center;border-radius:4px;max-width:80vw;transition:opacity .2s,transform .2s;position:fixed;left:50%;transform:translate(-50%)translateY(0)}.toast-container.is-visible{opacity:1;transform:translate(-50%)translateY(0)}.toast-container.is-hidden{opacity:0;transform:translate(-50%)translateY(4px)}.focus-meta{font-size:var(--text-base);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);font-weight:500}@media (prefers-color-scheme:dark){:root:not(.light){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e8e0d4;--ink-light:#c4b8a8;--ink-faint:#8a7e70;--wood:#c89860;--twig:#b8884a;--paper:#1a1714;--water:#6aa8d4;--sun:#d4a630;--border-subtle:#c8b49614;--border:#c8b49626;--border-strong:#c8b49640;--success-tone:var(--twig);--warning-tone:#c4a050;--error-tone:#c06050;--dialog-bg:#1e1b18f7;--dialog-overlay:#000000b3;--dialog-shadow:0 8px 32px #00000080}:root:not(.light) body{background-color:#141210}:root:not(.light) body:before{background:radial-gradient(70% 60% at 78% 45%,#3c2d1e38 0%,#32281914 50%,#0000 70%),radial-gradient(45% 50% at 35% 20%,#372a1c2e 0%,#3228190f 45%,#0000 65%),radial-gradient(55% 45% at 18% 75%,#32261933 0%,#0000 60%),radial-gradient(60% 35% at 55% 92%,#372a1e2e 0%,#0000 55%),radial-gradient(40% 55% at 8% 45%,#32281c26 0%,#0000 55%),radial-gradient(30% 35% at 90% 15%,#372a1c29 0%,#0000 50%),radial-gradient(45% 45%,#1e191233 0%,#0000 55%)}:root:not(.light) body:after{background:repeating-linear-gradient(45deg,#0000 0 1px,#50412d0a 1px 2px),repeating-linear-gradient(-45deg,#0000 0 1px,#46372309 1px 2px),repeating-linear-gradient(90deg,#0000 0 2px,#4b3c2808 2px 3px),radial-gradient(90% 90%,#0000 40%,#2820161f 100%)}:root:not(.light) .auth-loading,:root:not(.light) .login-view{background:#141210}:root:not(.light) .leaf-view-box{background:#1e1b18f7}:root:not(.light) .sun-log-shine-journal{background:#1e1b1880}:root:not(.light) .account-dialog-header{background:#ffffff08}:root:not(.light) .account-tab.is-active{background:#ffffff0a}}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e8e0d4;--ink-light:#c4b8a8;--ink-faint:#8a7e70;--wood:#c89860;--twig:#b8884a;--paper:#1a1714;--water:#6aa8d4;--sun:#d4a630;--border-subtle:#c8b49614;--border:#c8b49626;--border-strong:#c8b49640;--success-tone:var(--twig);--warning-tone:#c4a050;--error-tone:#c06050;--dialog-bg:#1e1b18f7;--dialog-overlay:#000000b3;--dialog-shadow:0 8px 32px #00000080}html.dark body{background-color:#141210}html.dark body:before{background:radial-gradient(70% 60% at 78% 45%,#3c2d1e38 0%,#32281914 50%,#0000 70%),radial-gradient(45% 50% at 35% 20%,#372a1c2e 0%,#3228190f 45%,#0000 65%),radial-gradient(55% 45% at 18% 75%,#32261933 0%,#0000 60%),radial-gradient(60% 35% at 55% 92%,#372a1e2e 0%,#0000 55%),radial-gradient(40% 55% at 8% 45%,#32281c26 0%,#0000 55%),radial-gradient(30% 35% at 90% 15%,#372a1c29 0%,#0000 50%),radial-gradient(45% 45%,#1e191233 0%,#0000 55%)}html.dark body:after{background:repeating-linear-gradient(45deg,#0000 0 1px,#50412d0a 1px 2px),repeating-linear-gradient(-45deg,#0000 0 1px,#46372309 1px 2px),repeating-linear-gradient(90deg,#0000 0 2px,#4b3c2808 2px 3px),radial-gradient(90% 90%,#0000 40%,#2820161f 100%)}html.dark .auth-loading,html.dark .login-view{background:#141210}html.dark .leaf-view-box{background:#1e1b18f7}html.dark .sun-log-shine-journal{background:#1e1b1880}html.dark .account-dialog-header{background:#ffffff08}html.dark .account-tab.is-active{background:#ffffff0a}.app-shell{flex-direction:column;gap:.25rem;width:min(1400px,100%);height:100%;animation:.6s fade-in;display:flex}.app-header{justify-content:flex-start;align-items:center;gap:var(--space-3);padding-bottom:var(--space-2);z-index:20;margin-bottom:1.5rem;display:flex;position:relative}.header-logo{object-fit:contain;pointer-events:none;width:144px;height:144px;position:absolute;top:2rem;right:0}.resource-meter{align-items:center;gap:var(--space-2);padding:var(--space-1)var(--space-2);font-family:var(--font-ascii);border:1px solid var(--meter-color,var(--border));background:var(--meter-bg,transparent);display:flex}.resource-meter-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--meter-color,var(--ink-faint));white-space:nowrap}.resource-meter-track{background:var(--border-subtle);border:1px solid var(--border-subtle);width:clamp(50px,8vw,80px);height:6px;overflow:hidden}.resource-meter-track.resource-circles{background:0 0;border:none;width:auto;height:auto;overflow:visible}.resource-meter-fill{background:var(--meter-color,var(--ink));opacity:.7;height:100%;transition:width .4s}.resource-meter-value{font-size:var(--text-xs);color:var(--meter-color,var(--ink-faint));text-align:right;white-space:nowrap;min-width:14ch}.soil-meter{--meter-color:var(--wood);--meter-bg:#6b44230a}.water-meter{--meter-color:var(--water);--meter-bg:#4682b40a}.sun-meter{--meter-color:var(--sun);--meter-bg:#d4a0000a}.resource-circles{align-items:center;gap:4px;display:flex}.resource-circle{border:1px solid var(--border);background:0 0;border-radius:50%;width:8px;height:8px;transition:background .2s}.resource-circle.is-filled{background:var(--meter-color,var(--ink))}.water-streak-label{font-size:var(--text-xs);color:var(--water);opacity:.7;white-space:nowrap}.water-streak-label.hidden{display:none}@keyframes meter-celebrate{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}.resource-meter.is-celebrating{animation:.5s ease-out meter-celebrate}.profile-badge{align-items:center;gap:var(--space-2);padding:var(--space-1)var(--space-2);font-family:var(--font-ascii);border:1px solid var(--ink-faint);cursor:pointer;background:0 0;transition:border-color .15s,background .15s;display:flex}.profile-badge:hover{border-color:var(--ink);background:#00000005}.profile-badge.hidden{display:none}.profile-icon{color:var(--ink);align-items:center;display:flex}.profile-email{font-size:var(--text-xs);color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.profile-group{align-items:stretch;gap:var(--space-2);display:flex}.sync-button{border:1px solid var(--ink-faint);color:var(--ink-faint);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:border-color .15s,color .15s;display:flex}.sync-button:hover{border-color:var(--ink);color:var(--ink)}.sync-button.hidden{display:none}.sync-button.is-syncing .sync-icon{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sync-status-icon{font-size:var(--text-xs);cursor:default;opacity:0;flex-shrink:0;justify-content:center;align-items:center;width:16px;line-height:1;transition:opacity .6s;display:flex}.sync-status-icon.is-visible{opacity:1}.sync-status-icon.hidden{display:none}.sync-status-icon[data-status=synced]{color:#22a522}.sync-status-icon[data-status=syncing],.sync-status-icon[data-status=loading],.sync-status-icon[data-status=pendingUpload]{color:var(--ink-faint)}.sync-status-icon[data-status=syncing]:after,.sync-status-icon[data-status=loading]:after,.sync-status-icon[data-status=pendingUpload]:after{content:"";border:1.5px solid var(--border);border-top-color:var(--ink-faint);border-radius:50%;width:8px;height:8px;animation:.8s linear infinite spin;display:block}.sync-status-icon[data-status=offline]{color:var(--warning-tone)}.account-sync-status[data-status=synced]{color:var(--ink-faint)}.account-sync-status[data-status=syncing],.account-sync-status[data-status=loading]{color:#e6b800}.account-sync-status[data-status=pendingUpload]{color:#d4880a}.account-sync-status[data-status=offline]{color:#d9534f}.app-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.meter-group{gap:var(--space-2);align-items:center;margin-left:auto;display:flex}.app-body{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) clamp(280px,30vw,360px);align-items:start;gap:1.5rem;min-height:0;display:grid}.map-panel{flex-direction:column;flex:1;align-items:center;gap:1rem;min-height:0;margin-top:3rem;display:flex;position:relative}.canvas{--canvas-max-height:max(320px,calc(100vh - 210px));--base-scale:1.375;--camera-x:0;--camera-y:0;width:min(100%,1100px,calc(var(--canvas-max-height)*14/9));aspect-ratio:14/9;transform:translate3d(var(--camera-x,0px),var(--camera-y,0px),0)scale(calc(var(--base-scale)*var(--camera-scale,1)));transform-origin:var(--zoom-origin-x,50%)var(--zoom-origin-y,50%);will-change:transform;transition:transform .48s ease-in-out;position:relative;overflow:visible}.canvas.is-zoomed{--camera-scale:1.02}.canvas.is-twig-zoomed{--camera-scale:1.12;overflow:hidden}.canvas.is-twig-zoomed .branch-group,.canvas.is-twig-zoomed .node.trunk{opacity:0;pointer-events:none;transition:opacity .35s ease-out}.canvas.is-twig-zoomed+.guide-layer{opacity:0;transition:opacity .25s ease-out}.canvas.is-previewing{cursor:pointer}.guide-layer{pointer-events:none;z-index:10;transition:opacity .2s;position:absolute}.branch-group{z-index:1;will-change:left,top,opacity;width:0;height:0;transition:left .28s,top .28s,opacity .35s;position:absolute}.branch-group.is-active{z-index:3}.branch-group.is-preview{z-index:2}.canvas.is-zooming .branch-group{transition-duration:.48s;transition-timing-function:ease-in-out}.canvas.is-previewing .branch-group.is-preview .twig{opacity:.7;transition:opacity .5s cubic-bezier(.4,0,.2,1)}@media (max-width:960px){body{height:auto;min-height:100vh;padding:1rem;overflow-y:auto}#app,.app-shell{height:auto;min-height:100%}.app-header{flex-direction:column;align-items:flex-start}.app-actions{justify-content:flex-start}.meter-group{margin-left:0}.header-logo{align-self:flex-end}.app-body{grid-template-rows:auto auto;grid-template-columns:1fr;gap:2rem}.map-panel{flex:none;margin-top:0;overflow:hidden}.side-panel{order:2}.canvas{--base-scale:1;max-width:min(100%,600px);margin:0 auto;overflow:hidden}.guide-layer{clip-path:inset(0)}.soil-chart-section{max-width:500px}}@media (max-width:720px){body{padding:.85rem .75rem}.app-shell{gap:1.1rem}.map-panel{margin-top:4px}.header-logo{width:64px;height:64px;top:1rem}.canvas{--base-scale:1.1}.profile-email{max-width:160px}}@media (max-width:520px){.action-button{flex:1;min-width:calc(50% - .25rem)}.canvas{--base-scale:.9}.profile-email{max-width:120px}}@media (pointer:coarse){.action-btn,.btn,.action-button{min-height:44px;padding:.75rem 1rem}.panel-button,.sprouts-toggle,.back-to-trunk,.back-to-branch{min-height:44px}}.btn{appearance:none;justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-1)var(--space-2);font-family:var(--font-ascii);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.03em;color:var(--ink-faint);cursor:pointer;background:0 0;border:1px solid #0000;line-height:1;transition:all .15s;display:inline-flex}.btn:hover:not(:disabled){color:var(--ink)}.btn:disabled{opacity:.5;cursor:default}.btn-twig{border-color:var(--twig);color:var(--twig)}.btn-twig:hover:not(:disabled){background:#3a6b4a14}.btn-water{border-color:var(--water);color:var(--water)}.btn-water:hover:not(:disabled){background:#4682b414}.btn-sun{border-color:var(--sun);color:var(--sun)}.btn-sun:hover:not(:disabled){background:#d4a00014}.btn-error{border-color:var(--error-tone);color:var(--error-tone)}.btn-error:hover:not(:disabled){background:#8a4a3a14}.action-btn{padding:var(--space-1)var(--space-2);font-family:var(--font-ascii);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.03em;cursor:pointer;border:1px solid;line-height:1;transition:all .15s}.action-btn:disabled{opacity:.5;cursor:default}.action-btn-passive{background:0 0}.action-btn-passive:hover:not(:disabled){background:#00000008}.action-btn-progress{background:rgba(var(--btn-rgb),.15)}.action-btn-progress:hover:not(:disabled){background:rgba(var(--btn-rgb),.25)}.action-btn-neutral{border-color:var(--border);color:var(--ink-faint);--btn-rgb:0,0,0}.action-btn-water{border-color:var(--water);color:var(--water);--btn-rgb:70,130,180}.action-btn-sun{border-color:var(--sun);color:var(--sun);--btn-rgb:212,160,0}.action-btn-twig{border-color:var(--twig);color:var(--twig);--btn-rgb:58,107,74}.action-btn-error{border-color:var(--error-tone);color:var(--error-tone);--btn-rgb:138,74,58}.action-btn-harvest{border-color:var(--wood);color:var(--wood);--btn-rgb:139,90,43}.btn-soil-cost,.btn-soil-gain{color:var(--wood);font-weight:400}.action-btn-group{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.action-btn-group-right{justify-content:flex-end}.action-button,.panel-button{color:var(--ink-faint);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;font-weight:500;transition:color .2s}.action-button{box-sizing:border-box;padding:var(--space-2)var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);text-align:center;vertical-align:middle;border:1px solid var(--border);color:var(--ink-faint);cursor:pointer;appearance:none;background:#3c28140a;justify-content:center;align-items:center;margin:0;font-weight:500;line-height:1;transition:color .2s,border-color .2s;display:inline-flex;position:relative;top:0;left:0;transform:none}.action-button:hover,.action-button:focus-visible{color:var(--ink);border-color:var(--ink);outline:none}.panel-button:hover:not(:disabled),.panel-button:focus-visible{color:var(--ink);outline:none}.panel-button{width:100%;padding:var(--space-2)0;font-size:var(--text-sm);text-align:left}.panel-button:disabled{cursor:default;opacity:.4}.leaf-card{cursor:pointer;position:relative}.leaf-card[data-layers="2"],.leaf-card[data-layers="3"]{margin-left:4px}.leaf-card[data-layers="2"]:before,.leaf-card[data-layers="3"]:before{content:"";background:var(--twig);opacity:.5;border-radius:1px;width:2px;position:absolute;top:2px;bottom:2px;left:-3px}.leaf-card[data-layers="3"]:after{content:"";background:var(--twig);opacity:.3;border-radius:1px;width:2px;position:absolute;top:4px;bottom:4px;left:-6px}.leaf-card[data-layers="3"]{margin-left:7px}.leaf-card .sprout-card{margin:0}.node{appearance:none;font-family:var(--font-ascii);font-size:var(--char);color:var(--ink-faint);cursor:pointer;text-align:center;white-space:pre;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;line-height:1.2;transition:color .18s;display:flex;position:absolute;transform:translate(-50%,-50%)}.node:hover,.node:focus-visible{color:var(--ink);outline:none}.node.is-focused,.node.is-active{color:var(--ink)}.canvas.is-zooming .node{transition-duration:.48s}.node.branch{line-height:1;position:relative}.node.branch:before,.node.branch:after{opacity:.5;display:block}.node.branch:before{content:attr(data-top-border)}.node.branch:after{content:attr(data-bottom-border)}.node.branch .node-label{font-family:var(--font-display);font-size:calc(var(--char)*1.05);white-space:pre;padding:0;line-height:1;display:inline-block}.node.branch[data-label-lines="2"] .node-label{font-size:calc(var(--char)*1)}.node.branch[data-label-lines="3"] .node-label{font-size:calc(var(--char)*.95)}.node.branch:hover:before,.node.branch:hover:after,.branch-group.is-preview .node.branch:before,.branch-group.is-preview .node.branch:after{opacity:.8}.node.branch[data-filled=true]{color:var(--wood)}.branch-group.is-preview .node.branch{color:var(--ink)}.node.branch[data-filled=true]:before,.node.branch[data-filled=true]:after{opacity:.7}.key-hint{font-family:var(--font-ascii);font-size:calc(var(--char)*.5);color:var(--ink-faint);opacity:.35;border:1px solid var(--border);pointer-events:none;margin-top:0;padding:.08rem .25rem;line-height:1;position:absolute;bottom:0;left:50%;transform:translate(-50%,100%)}.node.branch:hover .key-hint,.node.twig:hover .key-hint{opacity:.7}.twig .key-hint{display:none}.canvas.is-zoomed .twig .key-hint{display:block}.canvas.is-zoomed .node.branch .key-hint{display:none}.branch-group:hover .twig .key-hint{display:block}.canvas:has(.branch-group:hover) .node.branch .key-hint{display:none}.twig{opacity:1;min-width:2ch;min-height:1.2em;transition:opacity 1.2s ease-out,transform .2s ease-out}.twig .node-label{display:block}.twig[data-filled=false] .node-label{display:none}.canvas.is-zoomed .twig[data-filled=false]:before{content:"( )"}.canvas.is-zoomed .twig:hover[data-filled=false]:before{content:"(*)";color:var(--ink)}.twig.is-hidden{opacity:0;pointer-events:none}.twig.is-hidden .node-label{visibility:hidden}.twig.is-fading{opacity:0;pointer-events:none;transition:opacity var(--fade-duration,1s)ease-out;transition-delay:var(--fade-delay,0s);min-width:0;min-height:0}.twig.is-fading .node-label{display:none}.twig.is-fading:before{content:".";font-size:calc(var(--char)*.9)}.twig.is-fading:after{content:none}.twig.is-fading[data-filled=true]:before{content:"*";color:var(--twig);font-size:calc(var(--char)*1.2)}.branch-group.is-preview .twig{opacity:1;min-width:0;min-height:0}.branch-group.is-preview .twig .node-label{display:none}.branch-group.is-preview .twig:before{content:".";font-size:calc(var(--char)*.9);opacity:1}.branch-group.is-preview .twig:after{content:none}.branch-group.is-preview .twig[data-filled=true]:before{content:"*";color:var(--twig);font-size:calc(var(--char)*1.2)}.canvas.is-previewing .branch-group.is-preview .twig{transition:opacity .25s ease-out}.canvas.is-zoomed .branch-group.is-active .twig[data-filled=true]{color:var(--twig);font-size:calc(var(--char)*.7);line-height:1}.canvas.is-zoomed .branch-group.is-active .twig[data-filled=true]:before{content:attr(data-top-border);display:block}.canvas.is-zoomed .branch-group.is-active .twig[data-filled=true]:after{content:attr(data-bottom-border);display:block}.canvas.is-zoomed .branch-group.is-active .twig[data-filled=true][data-label-lines="2"]{font-size:calc(var(--char)*.65)}.canvas.is-zoomed .branch-group.is-active .twig[data-filled=true][data-label-lines="3"]{font-size:calc(var(--char)*.6)}.canvas.is-zoomed .branch-group.is-active .twig{transition:transform .2s ease-out,color .15s}.canvas.is-zoomed .branch-group.is-active .twig:hover{color:var(--wood)}.canvas.is-zooming .branch-group.is-active .twig{transition:opacity .48s ease-out,transform .2s ease-out;transition-delay:var(--twig-delay,0s)}.node.trunk{z-index:5;color:var(--wood);line-height:1;transition:color .32s,opacity .35s,left .32s,top .32s;top:50%;left:50%}.node.trunk .trunk-title{font-size:0}.node.trunk.is-minimized{left:var(--minimized-x,50%);top:var(--minimized-y,50%);opacity:.7}.node.trunk.is-minimized .trunk-title:after{content:"*";font-family:var(--font-display);font-size:calc(var(--char)*4);position:relative;top:.2em}.node.trunk.is-minimized:hover{opacity:1}.side-panel{gap:var(--space-1);font-family:var(--font-ascii);font-size:var(--text-sm);flex-direction:column;height:100%;animation:.6s .1s both fade-in;display:flex}.panel-section{padding:var(--space-1)0;flex-shrink:0}.panel-section.sprouts-section{flex:1;min-height:0;padding:1.5rem 0 0;position:relative;overflow-y:auto}.panel-section.is-empty{display:none}.back-to-trunk,.back-to-branch{font-size:var(--text-xs);padding:0;line-height:1.5rem;position:absolute;top:0;left:0}.focus-meta{margin:0 0 var(--space-1);height:1.2em}.focus-title,.focus-note{color:var(--ink);margin:0;line-height:1.4}.focus-title{margin-bottom:var(--space-1);font-weight:400}.focus-note{color:var(--ink-light);min-height:2.8em;margin-bottom:.2em}.focus-goal{margin:var(--space-1)0 0;color:var(--ink-light);line-height:1.4}.focus-title.is-muted,.focus-note.is-muted,.focus-goal.is-muted{color:var(--ink-faint)}.progress-count{margin:0 0 var(--space-3);color:var(--ink);min-height:3.6em;font-weight:400;line-height:1.2;display:none}.progress-track{border:1px solid var(--border);background:0 0;width:100%;height:12px;display:none;overflow:hidden}.progress-fill{background:var(--twig);opacity:.3;height:100%;transition:width .3s;display:block}.sprouts-section{flex-direction:column;gap:.15rem;display:flex}.sprouts-toggle{width:100%;font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;gap:.4rem;padding:.3rem 0;font-weight:500;transition:color .15s;display:flex}.sprouts-toggle:hover{color:var(--ink-faint)}.sprouts-toggle-arrow{font-size:.6rem;transition:transform .2s}.sprouts-toggle:not(.is-expanded) .sprouts-toggle-arrow{transform:rotate(-90deg)}.sprouts-toggle-label{text-align:left;flex:1}.sprouts-toggle-count{color:var(--ink-faint);font-weight:400}.sprouts-list{flex-direction:column;flex-shrink:0;gap:.1rem;transition:max-height .2s,opacity .15s;display:flex;overflow:hidden}.sprouts-list.is-collapsed{opacity:0;pointer-events:none;max-height:0}.sprouts-empty-hint{padding:var(--space-2)0;font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint);margin:0;font-style:italic}.branch-folder{border-left:2px solid var(--ink-faint);flex-direction:column;gap:.1rem;margin-left:.2rem;padding-left:.5rem;display:flex}.branch-folder-header{width:100%;font-family:var(--font-body);color:var(--ink);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.2rem 0;font-size:.7rem;font-weight:500;transition:background .15s;display:flex}.branch-folder-header:hover{background:#0000000d}.branch-folder.is-collapsed .branch-folder-header{background:0 0}.branch-folder.is-collapsed>:not(.branch-folder-header),.twig-folder.is-collapsed>:not(.twig-folder-header),.sidebar-stacked-card.is-collapsed .sidebar-stacked-rows{display:none}.branch-folder-label{text-align:left;flex:1}.branch-folder-count{color:var(--ink-faint);font-size:.65rem;font-weight:400}.twig-folder{border-left:2px solid var(--wood);flex-direction:column;gap:.1rem;margin-left:.2rem;padding-left:.5rem;display:flex}.twig-folder-header{width:100%;font-family:var(--font-body);color:var(--wood);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.2rem 0;font-size:.7rem;font-weight:500;transition:background .15s;display:flex}.twig-folder-header:hover{background:#8b5a2b1a}.twig-folder-label{text-align:left;flex:1}.twig-folder-count{color:var(--ink-faint);font-size:.65rem;font-weight:400}.sidebar-stacked-card{border-left:2px solid var(--twig);flex-direction:column;gap:.1rem;margin:.15rem 0;padding-left:.4rem;display:flex}.sidebar-stacked-header{font-family:var(--font-body);color:var(--ink-light);cursor:pointer;text-align:left;background:0 0;border:none;padding:.1rem 0;font-size:.65rem;font-weight:500;transition:color .15s,background .15s}.sidebar-stacked-header:hover{color:var(--twig);background:#8b5a2b1a}.sidebar-stacked-rows{flex-direction:column;gap:.05rem;display:flex}.sidebar-stacked-row{align-items:center;gap:.3rem;padding:.1rem 0;font-size:.65rem;transition:background .15s;display:flex;position:relative}.sidebar-stacked-row:hover{background:#00000008}.sidebar-stacked-row.is-ready{background:#64aa6426}.sidebar-stacked-row.is-ready:hover{background:#64aa6440}.sidebar-stacked-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;overflow:hidden}.sidebar-stacked-meta{color:var(--ink-faint);text-align:right;flex-shrink:0;margin-left:auto;padding-right:.1rem}.sidebar-stacked-action{flex-shrink:0;margin-right:.3rem;padding:.1rem .25rem;font-size:.55rem}.sidebar-stacked-action:not(:disabled){opacity:0;transition:opacity .1s}.sidebar-stacked-row:hover .sidebar-stacked-action:not(:disabled){opacity:1}.sidebar-stacked-action:disabled{opacity:.5}.sidebar-stacked-action.is-watered-badge{opacity:.6;pointer-events:none;color:var(--twig);font-style:italic}.twig-folder .sidebar-stacked-card,.branch-folder .twig-folder,.branch-folder>.sidebar-stacked-card{margin-left:.4rem}.keyboard-hints{gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border-light);display:flex}.keyboard-hint{font-size:var(--text-xs);color:var(--ink-faint);align-items:center;gap:.3em;margin:0;display:none}.keyboard-hint kbd{font-family:var(--font-ascii);background:var(--bg-muted);border:1px solid var(--border);border-radius:3px;padding:.1em .35em;font-size:.9em;display:inline-block}.canvas.is-zoomed~.side-panel .hint-escape,.canvas.is-zoomed~.side-panel .hint-arrows,.canvas.is-twig-zoomed~.side-panel .hint-escape{display:flex}.canvas.is-twig-zoomed~.side-panel .hint-arrows{display:none}.canvas.is-previewing~.side-panel .hint-numbers{display:flex}.soil-chart-section{flex-shrink:0;margin-top:auto;padding:0}.canvas.is-twig-zoomed~.side-panel .soil-chart-section{display:none}.dialog-box{background:var(--dialog-bg);border:1px solid var(--border);flex-direction:column;width:min(520px,90vw);max-height:85vh;animation:.2s scale-in;display:flex;box-shadow:0 8px 32px #00000026}.dialog-header{padding:var(--space-3)var(--space-4);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.dialog-title{font-family:var(--font-ascii);font-size:var(--text-base);color:var(--ink);margin:0;font-weight:500}.dialog-close{font-size:var(--text-xl);color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0;line-height:1;transition:color .15s}.dialog-close:hover{color:var(--ink)}.dialog-body{padding:var(--space-4);flex:1;overflow-y:auto}.dialog-actions{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3)var(--space-4);border-top:1px solid var(--border-subtle);display:flex}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.confirm-dialog{pointer-events:none;z-index:100;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.confirm-dialog.hidden{display:none}.confirm-dialog-box{pointer-events:auto;background:var(--paper);border:1px solid var(--border-strong);padding:var(--space-5)var(--space-6);gap:var(--space-4);text-align:center;flex-direction:column;max-width:320px;display:flex;box-shadow:0 4px 16px #00000026}.confirm-dialog-box:before{content:"┌────────────────────────┐";font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--ink-faint);margin:calc(-1*var(--space-4))calc(-1*var(--space-4))0}.confirm-dialog-box:after{content:"└────────────────────────┘";font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--ink-faint);margin:0 calc(-1*var(--space-4))calc(-1*var(--space-2))}.confirm-dialog-message{font-family:var(--font-ascii);font-size:var(--text-base);color:var(--ink);margin:0;line-height:1.5}.confirm-dialog-actions{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.sprouts-dialog{z-index:var(--dialog-z);background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sprouts-dialog.hidden{display:none}.sprouts-dialog-box{background:var(--paper);border:1px solid var(--border);flex-direction:column;width:min(600px,90vw);max-height:80vh;display:flex}.sprouts-dialog-header{padding:var(--space-3)var(--space-4);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.sprouts-dialog-title{font-family:var(--font-ascii);font-size:var(--text-base);color:var(--ink);margin:0;font-weight:500}.sprouts-dialog-close{font-size:var(--text-xl);color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0;line-height:1;transition:color .15s}.sprouts-dialog-close:hover{color:var(--ink)}.sprouts-dialog-content{padding:var(--space-4);gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.water-dialog{background:var(--dialog-overlay);-webkit-backdrop-filter:blur(var(--dialog-blur));z-index:var(--dialog-z);justify-content:center;align-items:center;animation:.15s fade-in;display:flex;position:fixed;inset:0}.water-dialog.hidden{display:none}.water-dialog-box{background:var(--dialog-bg);border:1px solid var(--border);width:min(480px,90vw);box-shadow:var(--dialog-shadow);animation:.2s scale-in}.water-dialog-header{padding:var(--space-4)var(--space-5);border-bottom:1px solid var(--border-subtle);background:#4682b40d;justify-content:space-between;align-items:center;display:flex}.water-dialog-title{font-family:var(--font-ascii);font-size:var(--text-base);text-transform:uppercase;letter-spacing:.08em;color:var(--water);margin:0;font-weight:500}.water-dialog-close{font-size:var(--text-xl);color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0;line-height:1;transition:color .15s}.water-dialog-close:hover{color:var(--ink)}.water-dialog-body{padding:var(--space-5);gap:var(--space-4);flex-direction:column;max-height:60vh;display:flex;overflow-y:auto}.water-dialog-suggestions{padding:var(--space-3)var(--space-4);background:#4682b40f;border:1px solid #4682b433}.water-dialog-suggestion{width:100%;padding:var(--space-2)0;cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #4682b41a;justify-content:space-between;align-items:baseline;transition:opacity .2s;display:flex}.water-dialog-suggestion:first-child{padding-top:0}.water-dialog-suggestion:last-child{border-bottom:none;padding-bottom:0}.water-dialog-suggestion-name{font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--ink);font-weight:500;transition:color .15s}.water-dialog-suggestion:hover .water-dialog-suggestion-name{color:var(--water)}.water-dialog-suggestion-meta{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint)}.water-dialog-suggestion.is-watered{opacity:.4;pointer-events:none}.water-dialog-suggestion.is-watered .water-dialog-suggestion-name{text-decoration:line-through}.water-dialog-section.is-highlighted{animation:.8s water-highlight}@keyframes water-highlight{0%,to{border-color:var(--border)}30%{border-color:var(--water)}}.water-dialog-section{padding:var(--space-4);border:1px solid var(--border);gap:var(--space-3);flex-direction:column;transition:opacity .2s;display:flex}.water-dialog-section.is-watered{opacity:.4;pointer-events:none}.water-dialog-sprout-name{color:var(--ink);margin:0;font-size:1rem;font-weight:500}.water-dialog-prompt{font-size:var(--text-sm);color:var(--ink-faint);margin:0;font-style:italic}.water-dialog-section .water-dialog-journal{width:100%;min-height:60px;padding:var(--space-3);border:1px solid var(--border);font-family:var(--font-body);font-size:var(--text-base);color:var(--ink);resize:vertical;background:0 0;transition:border-color .15s}.water-dialog-section .water-dialog-journal:focus{border-color:var(--water);outline:none}.water-dialog-section .water-dialog-journal::placeholder{color:var(--ink-faint)}.water-dialog-section-footer{justify-content:space-between;align-items:center;display:flex}.water-dialog-soil-gain{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--twig)}.harvest-dialog{background:var(--dialog-overlay);-webkit-backdrop-filter:blur(var(--dialog-blur));z-index:var(--dialog-z);justify-content:center;align-items:center;animation:.15s fade-in;display:flex;position:fixed;inset:0}.harvest-dialog.hidden{display:none}.harvest-dialog-box{background:var(--dialog-bg);border:1px solid var(--border);width:min(480px,90vw);box-shadow:var(--dialog-shadow);animation:.2s scale-in}.harvest-dialog-header{padding:var(--space-4)var(--space-5);border-bottom:1px solid var(--border-subtle);background:#64aa6414;justify-content:space-between;align-items:center;display:flex}.harvest-dialog-title{font-family:var(--font-ascii);font-size:var(--text-base);text-transform:uppercase;letter-spacing:.08em;color:var(--twig);margin:0;font-weight:500}.harvest-dialog-close{font-size:var(--text-xl);color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0;line-height:1;transition:color .15s}.harvest-dialog-close:hover{color:var(--ink)}.harvest-dialog-body{padding:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.harvest-dialog-sprout-title{color:var(--ink);margin:0;font-size:1.1rem;font-weight:500}.harvest-dialog-sprout-meta{font-size:var(--text-sm);color:var(--ink-faint);margin:0}.harvest-dialog-result{gap:var(--space-2);flex-direction:column;display:flex}.harvest-dialog-label{font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--ink-light)}.harvest-dialog-slider-row{align-items:center;gap:var(--space-2);display:flex}.harvest-dialog-slider-label{font-size:var(--text-xs);color:var(--ink-faint);white-space:nowrap}.harvest-dialog-slider{cursor:pointer;appearance:none;background:var(--border-strong);flex:1;height:6px}.harvest-dialog-slider::-webkit-slider-thumb{appearance:none;background:var(--twig);cursor:pointer;border-radius:50%;width:16px;height:16px}.harvest-dialog-result-emoji{text-align:center;min-width:2rem;font-size:1.5rem}.harvest-dialog-bloom-hints{flex-direction:column;gap:.25rem;display:flex}.harvest-dialog-bloom-hint{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint);margin:0;font-style:italic}.harvest-dialog-bloom-hint:empty{display:none}.harvest-dialog-reflection{width:100%;min-height:80px;padding:var(--space-3);border:1px solid var(--border);font-family:var(--font-body);font-size:var(--text-base);color:var(--ink);resize:vertical;background:0 0;transition:border-color .15s}.harvest-dialog-reflection:focus{border-color:var(--twig);outline:none}.harvest-dialog-reflection::placeholder{color:var(--ink-faint)}.harvest-dialog-actions{margin-top:var(--space-3);justify-content:space-between;align-items:center;display:flex}.water-can-dialog{background:var(--dialog-overlay);-webkit-backdrop-filter:blur(var(--dialog-blur));z-index:var(--dialog-z);justify-content:center;align-items:center;animation:.15s fade-in;display:flex;position:fixed;inset:0}.water-can-dialog.hidden{display:none}.water-can-dialog-box{background:var(--dialog-bg);border:1px solid var(--border);width:min(560px,90vw);max-height:80vh;box-shadow:var(--dialog-shadow);flex-direction:column;animation:.2s scale-in;display:flex}.water-can-dialog-header{padding:var(--space-4)var(--space-5);border-bottom:1px solid var(--border-subtle);background:#4682b414;justify-content:space-between;align-items:center;display:flex}.water-can-dialog-title{font-family:var(--font-ascii);font-size:var(--text-base);text-transform:uppercase;letter-spacing:.08em;color:var(--water);margin:0;font-weight:500}.water-can-dialog-close{font-size:var(--text-xl);color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0;line-height:1;transition:color .15s}.water-can-dialog-close:hover{color:var(--ink)}.water-can-dialog-body{padding:var(--space-5);gap:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.water-can-status-box{padding:var(--space-4);text-align:center;background:#4682b40f;border:1px solid #4682b433}.water-can-status-text{font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--water);text-transform:uppercase;letter-spacing:.05em;margin:0;font-weight:500}.water-can-status-reset{margin:var(--space-2)0 0;font-size:var(--text-sm);color:var(--ink-faint)}.water-can-status-reset.hidden{display:none}.water-can-section-title{margin:0 0 var(--space-3)0;font-family:var(--font-ascii);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-weight:500}.water-can-empty-log{text-align:center;color:var(--ink-faint);padding:var(--space-3)0;margin:0;font-style:italic}.water-can-log-entries{gap:var(--space-4);flex-direction:column;display:flex}.water-can-log-entry{border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-3)}.water-can-log-entry:last-child{border-bottom:none;padding-bottom:0}.water-can-log-entry-header{margin-bottom:var(--space-1);justify-content:space-between;align-items:baseline;display:flex}.water-can-log-entry-context{font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--water);text-transform:uppercase;letter-spacing:.03em}.water-can-log-entry-timestamp{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint)}.water-can-log-entry-prompt{font-size:var(--text-sm);color:var(--ink-faint);margin-bottom:var(--space-1);font-style:italic}.water-can-log-entry-content{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink);white-space:pre-wrap;line-height:1.5}.water-meter{cursor:pointer;transition:opacity .15s}.water-meter:hover{opacity:.8}.sun-log-dialog{background:var(--dialog-overlay);-webkit-backdrop-filter:blur(var(--dialog-blur));z-index:var(--dialog-z);justify-content:center;align-items:center;animation:.15s fade-in;display:flex;position:fixed;inset:0}.sun-log-dialog.hidden{display:none}.sun-log-dialog-box{background:var(--dialog-bg);border:1px solid var(--border);width:min(560px,90vw);max-height:80vh;box-shadow:var(--dialog-shadow);flex-direction:column;animation:.2s scale-in;display:flex}.sun-log-dialog-header{padding:var(--space-4)var(--space-5);border-bottom:1px solid var(--border-subtle);background:#ffc10714;justify-content:space-between;align-items:center;display:flex}.sun-log-dialog-title{font-family:var(--font-ascii);font-size:var(--text-base);text-transform:uppercase;letter-spacing:.08em;color:var(--sun);margin:0;font-weight:500}.sun-log-dialog-close{font-size:var(--text-xl);color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0;line-height:1;transition:color .15s}.sun-log-dialog-close:hover{color:var(--ink)}.sun-log-dialog-body{padding:var(--space-5);flex:1;overflow-y:auto}.sun-log-shine-section{padding:var(--space-4);margin-bottom:var(--space-5);background:#ffc1070f;border:1px solid #ffc10733}.sun-log-shine-section.hidden{display:none}.sun-log-shine-target{margin-bottom:var(--space-3)}.sun-log-shine-title{font-family:var(--font-ascii);font-size:var(--text-base);color:var(--ink);margin:0;font-weight:500}.sun-log-shine-meta{margin:var(--space-1)0 0;font-size:var(--text-sm);color:var(--ink-faint)}.sun-log-shine-journal{width:100%;min-height:80px;padding:var(--space-3);border:1px solid var(--border);font-family:var(--font-body);font-size:var(--text-sm);resize:vertical;background:#fff;line-height:1.5}.sun-log-shine-journal:focus{border-color:var(--sun);outline:none}.sun-log-shine-journal::placeholder{color:var(--ink-faint);font-style:italic}.sun-log-shine-actions{margin-top:var(--space-3);justify-content:flex-end;display:flex}.sun-log-shine-shone{padding:var(--space-4);margin-bottom:var(--space-5);text-align:center;background:#ffc1070f;border:1px solid #ffc10733}.sun-log-shine-shone.hidden{display:none}.sun-log-shine-shone-text{font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--sun);text-transform:uppercase;letter-spacing:.05em;margin:0}.sun-log-shine-shone-reset{margin:var(--space-2)0 0;font-size:var(--text-sm);color:var(--ink-faint)}.sun-log-section-title{margin:0 0 var(--space-3);font-family:var(--font-ascii);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-weight:500}.sun-log-empty{text-align:center;color:var(--ink-faint);padding:var(--space-6)0;margin:0;font-style:italic}.sun-log-entries{gap:var(--space-5);flex-direction:column;display:flex}.sun-log-entry{border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-4)}.sun-log-entry:last-child{border-bottom:none;padding-bottom:0}.sun-log-entry-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:baseline;display:flex}.sun-log-entry-context{font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--sun);text-transform:uppercase;letter-spacing:.03em}.sun-log-entry-timestamp{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint)}.sun-log-entry-prompt{font-size:var(--text-sm);color:var(--ink-faint);margin-bottom:var(--space-2);font-style:italic}.sun-log-entry-content{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink);white-space:pre-wrap;line-height:1.6}.sun-meter{cursor:pointer;transition:opacity .15s}.sun-meter:hover{opacity:.8}.soil-bag-dialog{background:var(--dialog-overlay);-webkit-backdrop-filter:blur(var(--dialog-blur));z-index:var(--dialog-z);justify-content:center;align-items:center;animation:.15s fade-in;display:flex;position:fixed;inset:0}.soil-bag-dialog.hidden{display:none}.soil-bag-dialog-box{background:var(--dialog-bg);border:1px solid var(--border);width:min(480px,90vw);max-height:80vh;box-shadow:var(--dialog-shadow);flex-direction:column;animation:.2s scale-in;display:flex}.soil-bag-dialog-header{padding:var(--space-4)var(--space-5);border-bottom:1px solid var(--border-subtle);background:#8b5a2b14;justify-content:space-between;align-items:center;display:flex}.soil-bag-dialog-title{font-family:var(--font-ascii);font-size:var(--text-base);text-transform:uppercase;letter-spacing:.08em;color:var(--soil);margin:0;font-weight:500}.soil-bag-dialog-close{font-size:var(--text-xl);color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0;line-height:1;transition:color .15s}.soil-bag-dialog-close:hover{color:var(--ink)}.soil-bag-dialog-body{padding:var(--space-5);flex:1;overflow-y:auto}.soil-bag-empty{text-align:center;color:var(--ink-faint);padding:var(--space-6)0;margin:0;font-style:italic}.soil-bag-entries{gap:var(--space-2);flex-direction:column;display:flex}.soil-bag-entry{padding:var(--space-2)0;border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:baseline;display:flex}.soil-bag-entry:last-child{border-bottom:none}.soil-bag-entry-info{gap:var(--space-1);flex-direction:column;display:flex}.soil-bag-entry-reason{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink)}.soil-bag-entry-context{font-size:var(--text-xs);color:var(--ink-faint)}.soil-bag-entry-amount{font-family:var(--font-ascii);font-size:var(--text-sm);font-weight:500}.soil-bag-entry-amount.is-gain{color:var(--leaf)}.soil-bag-entry-amount.is-loss{color:var(--soil)}.soil-bag-entry-timestamp{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint);margin-left:var(--space-2)}.soil-meter{cursor:pointer;transition:opacity .15s}.soil-meter:hover{opacity:.8}.account-dialog{background:var(--dialog-overlay);-webkit-backdrop-filter:blur(var(--dialog-blur));z-index:var(--dialog-z);justify-content:center;align-items:center;animation:.15s fade-in;display:flex;position:fixed;inset:0}.account-dialog.hidden{display:none}.account-dialog-box{background:var(--dialog-bg);border:1px solid var(--border);width:min(420px,90vw);max-height:85vh;box-shadow:var(--dialog-shadow);animation:.2s scale-in;overflow-y:auto}.account-dialog-header{padding:var(--space-4)var(--space-5);border-bottom:1px solid var(--border-subtle);background:#00000008;justify-content:space-between;align-items:center;display:flex}.account-dialog-title{font-family:var(--font-ascii);font-size:var(--text-base);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);margin:0;font-weight:500}.account-dialog-close{font-size:var(--text-xl);color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0;line-height:1;transition:color .15s}.account-dialog-close:hover{color:var(--ink)}.account-dialog-body{padding:var(--space-4)var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.account-field-row{gap:var(--space-3);display:flex}.account-field-row>.account-field{flex:1;min-width:0}.account-field{gap:var(--space-1);flex-direction:column;display:flex}.account-label{font-family:var(--font-ascii);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-weight:500}.account-email{font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--ink);word-break:break-all;margin:0}.account-input{width:100%;padding:var(--space-2)var(--space-3);border:1px solid var(--border);font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink);background:0 0;transition:border-color .15s}.account-input:focus{border-color:var(--ink);outline:none}.account-input::placeholder{color:var(--ink-faint)}select.account-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-2)center;padding-right:var(--space-5)}.account-section-divider{background:var(--border-subtle);height:1px;margin:var(--space-1)0}.account-notifications-section{gap:var(--space-3);flex-direction:column;display:flex}.account-notifications-section.is-disabled{opacity:.4;pointer-events:none}.account-radio-group{gap:var(--space-2);flex-wrap:wrap;display:flex}.account-radio{align-items:center;gap:var(--space-1);cursor:pointer;font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--ink-light);display:flex}.account-radio input[type=radio]{cursor:pointer;margin:0}.account-radio:has(input:checked){color:var(--ink)}.account-checkbox-group{gap:var(--space-2);flex-direction:column;display:flex}.account-checkbox{align-items:center;gap:var(--space-2);cursor:pointer;font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--ink-light);display:flex}.account-checkbox input[type=checkbox]{cursor:pointer;margin:0}.account-checkbox:has(input:checked){color:var(--ink)}.account-notify-options{transition:opacity .15s}.account-actions{margin-top:var(--space-2);justify-content:space-between;display:flex}.account-tabs{gap:var(--space-1);margin-bottom:var(--space-2);display:flex}.account-tab{padding:var(--space-2)var(--space-3);font-family:var(--font-ascii);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);border:1px solid var(--border-subtle);cursor:pointer;background:0 0;flex:1;transition:all .15s}.account-tab:hover{border-color:var(--border);color:var(--ink-light)}.account-tab.is-active{color:var(--ink);border-color:var(--ink);background:#00000005}.account-tab-panels{display:grid}.account-tab-panel{gap:var(--space-3);flex-direction:column;grid-area:1/1;display:flex}.account-tab-panel.hidden{visibility:hidden;display:flex!important}.account-field-hint{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint);margin:0;line-height:1.4}.account-sync-status{font-size:var(--text-sm);margin:0;line-height:1.4}.reset-confirm-dialog{z-index:10;background:#00000080;justify-content:center;align-items:center;animation:.15s fade-in;display:flex;position:absolute;inset:0}.reset-confirm-box{background:var(--paper);border:1px solid var(--error-tone);padding:var(--space-5);gap:var(--space-3);flex-direction:column;width:min(340px,85%);animation:.2s scale-in;display:flex}.reset-confirm-title{font-family:var(--font-ascii);font-size:var(--text-base);color:var(--error-tone);text-transform:uppercase;letter-spacing:.05em;margin:0;font-weight:500}.reset-confirm-message{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink);margin:0;line-height:1.5}.reset-confirm-label{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em}.reset-confirm-label strong{color:var(--error-tone);letter-spacing:.1em}.reset-confirm-input{letter-spacing:.1em;border-color:var(--error-tone)!important;font-family:var(--font-ascii)!important}.reset-confirm-input:focus{border-color:var(--error-tone)!important}.reset-confirm-actions{margin-top:var(--space-2);justify-content:space-between;align-items:center;display:flex}.twig-view{z-index:20;opacity:1;pointer-events:auto;--twig-scale:1.2;background:0 0;flex-direction:column;padding:1rem 1.5rem;transition:opacity .38s cubic-bezier(.4,0,.2,1) 80ms,transform .38s cubic-bezier(.4,0,.2,1) 80ms;display:flex;position:absolute;inset:-4.5rem 0 -2rem;overflow:hidden;transform:translateY(0)}.twig-view.hidden{opacity:0;pointer-events:none;transition-delay:0s;transform:translateY(12px)}.twig-view-header{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.twig-title-section{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.twig-title-input{border:none;border-bottom:1px solid var(--border-strong);font-family:var(--font-display);font-size:calc(var(--char)*1.1*var(--twig-scale));color:var(--ink);background:0 0;padding:.35rem 0}.twig-title-input:focus{border-color:var(--wood);outline:none}.twig-title-input[readonly]{cursor:default}.twig-note-input{border:none;border-bottom:1px solid var(--border);font-family:var(--font-ascii);font-size:calc(var(--char)*.8*var(--twig-scale));color:var(--ink-light);resize:none;background:0 0;padding:.35rem 0}.twig-note-input:focus{border-color:var(--wood);outline:none}.twig-note-input[readonly]{cursor:default;border-bottom-color:#0000}.twig-view-body{gap:var(--space-5);flex:1;grid-template-columns:repeat(3,1fr);min-height:0;display:grid;overflow:hidden}.sprout-column{gap:var(--space-2);padding-right:var(--space-1);flex-direction:column;min-height:0;display:flex;overflow:hidden auto}.column-title{font-family:var(--font-ascii);font-size:calc(var(--char)*.85*var(--twig-scale));text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin:0;font-weight:500}.column-title .active-count{font-weight:400}.sprout-draft-form{flex-direction:column;gap:.4rem;padding:.6rem;display:flex}.sprout-section-title{margin:var(--space-2)0 0;font-family:var(--font-ascii);font-size:calc(var(--char)*.65);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.sprout-section-title .field-hint{text-transform:none;letter-spacing:normal;opacity:.7;font-weight:400}.sprout-leaf-select{border:none;border-bottom:1px solid var(--border);width:100%;font-family:var(--font-ascii);font-size:calc(var(--char)*.7);color:var(--ink);cursor:pointer;appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M3 4l3 4 3-4'/%3E%3C/svg%3E") right 0 center no-repeat;padding:.3rem 0}.sprout-leaf-select:focus{border-color:var(--wood);outline:none}.sprout-leaf-select option{background:var(--paper);color:var(--ink);font-family:var(--font-ascii)}.sprout-leaf-select option:disabled{color:var(--ink-faint)}.sprout-new-leaf-name{border:none;border-bottom:1px solid var(--border);font-family:var(--font-ascii);font-size:calc(var(--char)*.7);color:var(--ink);background:0 0;padding:.35rem 0}.sprout-new-leaf-name:focus{border-color:var(--wood);outline:none}.sprout-new-leaf-name.hidden{display:none}.sprout-title-input{border:none;border-bottom:1px solid var(--border);font-family:var(--font-ascii);font-size:calc(var(--char)*.7);color:var(--ink);background:0 0;padding:.35rem 0}.sprout-title-input:focus{border-color:var(--wood);outline:none}.sprout-field-label{font-family:var(--font-ascii);font-size:calc(var(--char)*.6);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--space-1)}.sprout-field-label .field-hint{text-transform:none;letter-spacing:normal;opacity:.7}.sprout-wither-input,.sprout-budding-input,.sprout-flourish-input{border:none;border-bottom:1px solid var(--border);font-family:var(--font-ascii);font-size:calc(var(--char)*.65);color:var(--ink);background:0 0;padding:.3rem 0}.sprout-wither-input:focus,.sprout-budding-input:focus,.sprout-flourish-input:focus{border-color:var(--wood);outline:none}.sprout-season-selector{gap:var(--space-2);font-family:var(--font-ascii);flex-wrap:wrap;display:flex}.sprout-season-btn{font-family:inherit;font-size:calc(var(--char)*.7*var(--twig-scale));color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0}.sprout-season-btn:before{content:"[";visibility:hidden}.sprout-season-btn:after{content:"]";visibility:hidden}.sprout-season-btn.is-active{color:var(--ink)}.sprout-season-btn.is-active:before,.sprout-season-btn.is-active:after{visibility:visible}.sprout-end-date{font-family:var(--font-ascii);font-size:calc(var(--char)*.55*var(--twig-scale));color:var(--ink-light);min-height:1.2em}.sprout-environment-selector{gap:var(--space-2);font-family:var(--font-ascii);flex-wrap:wrap;display:flex}.sprout-env-btn{font-family:inherit;font-size:calc(var(--char)*.7*var(--twig-scale));color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0}.sprout-env-btn:before{content:"[";visibility:hidden}.sprout-env-btn:after{content:"]";visibility:hidden}.sprout-env-btn.is-active{color:var(--ink)}.sprout-env-btn.is-active:before,.sprout-env-btn.is-active:after{visibility:visible}.env-hint-area{height:calc(var(--char)*.6);font-family:var(--font-ascii);position:relative}.env-hint{font-size:calc(var(--char)*.5*var(--twig-scale));color:var(--ink-faint);opacity:0;transition:opacity .1s;position:absolute}.env-hint.is-visible{opacity:.7}.sprout-soil-cost{font-family:var(--font-ascii);font-size:calc(var(--char)*.6*var(--twig-scale));color:var(--wood);min-height:1.4em;margin-top:var(--space-1)}.sprout-soil-cost.insufficient{color:#b43c3c}.sprout-card-footer{margin-top:var(--space-2);justify-content:space-between;align-items:center;display:flex}.sprout-card{padding:var(--space-2);border:1px solid var(--border);background:0 0}.sprout-card.is-clickable{cursor:pointer;transition:border-color .15s,background .15s}.sprout-card.is-clickable:hover{border-color:var(--ink-faint);background:#00000005}.sprout-card-header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);font-family:var(--font-ascii);font-size:var(--text-xs);display:flex}.sprout-card-season{color:var(--ink-light)}.sprout-edit-btn{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint);cursor:pointer;opacity:.5;background:0 0;border:none;margin-left:auto;padding:0;transition:opacity .15s,color .15s}.sprout-edit-btn:hover{opacity:1;color:var(--ink)}.sprout-delete-btn{font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--ink-faint);cursor:pointer;opacity:.5;background:0 0;border:none;padding:0;transition:opacity .15s,color .15s}.sprout-delete-btn:hover{opacity:1;color:var(--error-tone)}.sprout-edit-form{flex-direction:column;gap:.3rem;display:flex}.sprout-edit-form input{border:none;border-bottom:1px solid var(--border);font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink);background:0 0;padding:.2rem 0}.sprout-edit-form input:focus{border-color:var(--wood);outline:none}.sprout-edit-form select{border:none;border-bottom:1px solid var(--border);font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink);appearance:none;cursor:pointer;background:0 0;padding:.2rem 0}.sprout-edit-form select:focus{border-color:var(--wood);outline:none}.sprout-edit-readonly{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint);margin:var(--space-1)0}.sprout-edit-actions{gap:var(--space-2);margin-top:var(--space-1);display:flex}.sprout-card-title{font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--ink);margin:0;line-height:1.3}.sprout-card-date{margin:var(--space-1)0 0;font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint)}.sprout-card-bloom{margin:var(--space-1)0 0;font-family:var(--font-ascii);font-size:var(--text-xs);flex-direction:column;gap:.15em;display:flex}.sprout-card-bloom .bloom-item{color:var(--ink-light);display:block}.sprout-card-reflection{margin:var(--space-1)0 0;font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-light);font-style:italic}.sprout-complete-section{gap:var(--space-1);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);flex-direction:column;display:flex}.bloom-hint-area{min-height:1.4em}.bloom-hint{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint);margin:0;font-style:italic;transition:opacity .15s}.bloom-hint.hidden{display:none}.bloom-hint{color:var(--ink-light)}.sprout-reflection-input{border:none;border-bottom:1px solid var(--border);font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink);padding:var(--space-1)0;resize:none;background:0 0}.sprout-reflection-input:focus{border-color:var(--wood);outline:none}.sprout-active-card.is-growing{border-color:var(--border)}.sprout-active-card.is-ready{border-color:var(--twig)}.sprout-card-status{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--twig);margin:0;font-style:italic}.sprout-growing-footer,.sprout-ready-footer{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-2);display:flex}.sprout-days-remaining{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-light);margin:0}.sprout-card .sprout-water-btn{opacity:1;margin-top:2px}.sprout-card .sprout-water-btn:disabled{opacity:.4}.is-watered-badge{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--twig);opacity:.7;font-style:italic}.sprout-history-card.is-completed{border-left:2px solid var(--twig)}.leaf-card-group{border:1px solid var(--border);background:0 0}.leaf-card-group.is-clickable{cursor:pointer;transition:border-color .15s}.leaf-card-group.is-clickable:hover{border-color:var(--ink-faint)}.leaf-card-group-header{padding:var(--space-2);font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-light);border-bottom:1px solid var(--border);font-weight:500}.leaf-card-group-sprouts{flex-direction:column;display:flex}.leaf-card-group-sprouts .sprout-card{border:none;border-bottom:1px solid var(--border)}.leaf-card-group-sprouts .sprout-card:last-child{border-bottom:none}.sprout-result-section{align-items:center;gap:var(--space-3);margin-top:var(--space-1);font-family:var(--font-ascii);font-size:var(--text-xs);display:flex}.sprout-result-display{color:var(--ink)}.sprout-result-section .sprout-card-date{color:var(--ink-light);margin:0}.empty-message{font-family:var(--font-ascii);color:var(--ink-faint);font-style:italic;font-size:var(--text-xs);margin:0}@media (max-width:960px){.twig-view{position:relative;inset:auto;overflow-y:auto}.leaf-view{position:fixed;inset:0}}@media (max-width:720px){.twig-view-header{padding:0 var(--space-2)}.twig-view-body{gap:var(--space-2);grid-template-columns:1fr}.sprout-column{max-height:none}}.leaf-view{z-index:25;-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;background:#0006;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:-4.5rem 0 -2rem}.leaf-view.is-open{opacity:1;pointer-events:auto}.leaf-view-box{border:1px solid var(--border);background:#fffffff7;flex-direction:column;width:min(520px,90vw);max-height:80vh;animation:.2s scale-in;display:flex;position:relative;box-shadow:0 8px 32px #0003}.leaf-close-btn{top:var(--space-2);right:var(--space-2);font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--ink-faint);cursor:pointer;padding:var(--space-1)var(--space-2);z-index:1;background:0 0;border:none;transition:color .15s;position:absolute}.leaf-close-btn:hover{color:var(--ink)}.leaf-view-body{padding:var(--space-5);padding-top:var(--space-6);flex:1;overflow-y:auto}.leaf-log{gap:var(--space-3);flex-direction:column;display:flex}.log-empty{font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--ink-faint);text-align:center;padding:var(--space-6)var(--space-4);font-style:italic}.log-entry{padding:var(--space-3);border:1px solid var(--border);background:0 0}.log-entry-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.log-entry-type{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em}.log-entry-time{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint)}.log-entry-title{font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--ink);margin:0}.log-entry-meta{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint);margin:var(--space-1)0 0 0}.log-entry-bloom{margin:var(--space-2)0 0 0;font-family:var(--font-ascii);font-size:var(--text-xs);flex-direction:column;gap:.25em;display:flex}.log-entry-bloom .bloom-item{color:var(--ink-light);display:block}.log-entry-result{font-family:var(--font-ascii);font-size:var(--text-base);margin:var(--space-1)0 0 0}.log-entry-reflection{font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--ink-faint);margin:var(--space-2)0 0 0;padding-left:var(--space-2);border-left:2px solid var(--border);font-style:italic}.log-entry-prompt{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint);margin:0 0 var(--space-1)0;font-style:italic}.log-entry-content{font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--ink);white-space:pre-wrap;margin:0;line-height:1.4}.log-entry-start{border-left:2px solid var(--twig)}.log-entry-water{border-left:2px solid #4682b4}.log-entry-completion.is-success{border-left:2px solid var(--twig)}.log-entry-completion.is-failed{border-left:2px solid #a54}.auth-loading{justify-content:center;align-items:center;gap:var(--space-5,1.5rem);z-index:9999;background:#f3ebe0;flex-direction:column;display:flex;position:fixed;inset:0}.auth-loading-brand{font-family:var(--font-ascii,monospace);font-size:var(--text-xl,1.125rem);letter-spacing:.15em;text-transform:uppercase;color:var(--wood,#6b4423);font-weight:400}.auth-loading-spinner{width:24px;height:24px}.login-view{z-index:9999;background:#f3ebe0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-view:before,.login-view:after{content:"";pointer-events:none;z-index:-1;position:fixed;inset:0}.login-view:before{background:radial-gradient(70% 60% at 78% 45%,#c8aa8238 0%,#c3a57d14 50%,#0000 70%),radial-gradient(45% 50% at 35% 20%,#cdaf872e 0%,#c8aa820f 45%,#0000 65%),radial-gradient(55% 45% at 18% 75%,#c3a57d33 0%,#0000 60%)}.login-card{background:var(--paper,#f8f6f1);border:1px solid var(--border,#3c281426);padding:var(--space-5,1.5rem);text-align:center;width:100%;max-width:320px}.login-card h1{margin:0 0 var(--space-1,.25rem);font-family:var(--font-ascii,monospace);font-size:var(--text-xl,1.125rem);letter-spacing:.15em;text-transform:uppercase;color:var(--wood,#6b4423);font-weight:400}.login-subtitle{margin:0 0 var(--space-3,.75rem);font-family:var(--font-ascii,monospace);font-size:var(--text-sm,.75rem);color:var(--ink-faint,#6f5644);font-style:italic}.login-description{margin:0 auto var(--space-5,1.5rem);font-family:var(--font-body,sans-serif);font-size:var(--text-sm,.75rem);color:var(--ink-faint,#6f5644);max-width:28ch;line-height:1.5}.login-form{gap:var(--space-3,.75rem);text-align:left;flex-direction:column;display:flex}.login-form label{font-family:var(--font-ascii,monospace);font-size:var(--text-xs,.625rem);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint,#6f5644)}.login-form input{padding:var(--space-3,.75rem);border:1px solid var(--border,#3c281426);background:var(--paper,#f8f6f1);font-family:var(--font-ascii,monospace);font-size:var(--text-base,.875rem);color:var(--ink,#2b1a12)}.login-form input:focus{border-color:var(--twig,#8b5a2b);outline:none}.login-form input::placeholder{color:var(--ink-faint,#6f5644);opacity:.6}.login-form button[type=submit]{padding:var(--space-3,.75rem);background:var(--twig,#8b5a2b);color:var(--paper,#f8f6f1);border:1px solid var(--twig,#8b5a2b);font-family:var(--font-ascii,monospace);font-size:var(--text-sm,.75rem);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;margin-top:var(--space-2,.5rem);transition:background .15s,color .15s}.login-form button[type=submit]:hover{background:var(--wood,#6b4423);border-color:var(--wood,#6b4423)}.login-form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.back-button{font-family:var(--font-ascii,monospace);font-size:var(--text-xs,.625rem);color:var(--ink-faint,#6f5644);cursor:pointer;padding:var(--space-2,.5rem)0;background:0 0;border:none;text-decoration:none}.back-button:hover{color:var(--ink,#2b1a12)}.code-sent-message{font-family:var(--font-ascii,monospace);font-size:var(--text-sm,.75rem);color:var(--ink-faint,#6f5644);margin-bottom:var(--space-2,.5rem)}.sent-email{color:var(--ink,#2b1a12);font-weight:500}.login-error{margin-top:var(--space-3,.75rem);padding:var(--space-3,.75rem);color:var(--error-tone,#8a4a3a);font-family:var(--font-ascii,monospace);font-size:var(--text-sm,.75rem);background:#8a4a3a1a;border:1px solid #8a4a3a40}.login-loading{margin-top:var(--space-3,.75rem)}.spinner{border:2px solid var(--border,#3c281426);border-top-color:var(--twig,#8b5a2b);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}.soil-chart{gap:var(--space-1);padding:var(--space-2);flex-direction:column;display:flex}.soil-chart-header{justify-content:space-between;align-items:center;display:flex}.soil-chart-title{font-family:var(--font-ascii);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-weight:500}.soil-chart-legend{gap:var(--space-3);display:flex}.soil-chart-legend-item{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint)}.soil-chart-legend-item[data-series=capacity]{color:var(--twig)}.soil-chart-legend-item[data-series=available]{color:#4a7}.soil-chart-body{position:relative}.soil-chart-svg{width:100%;height:auto;transition:opacity .15s;display:block}.soil-chart-tooltip{pointer-events:none;background:var(--paper);border:1px solid var(--border);font-family:var(--font-ascii);font-size:var(--text-xs);white-space:nowrap;z-index:10;gap:var(--space-2);padding:.2rem .4rem;display:flex;position:absolute;top:0}.soil-chart-tooltip.hidden{display:none}.soil-chart-tooltip-cap{color:var(--twig)}.soil-chart-tooltip-avail{color:#4a7;padding-left:var(--space-2);border-left:1px solid var(--border)}.soil-chart-tooltip-date{color:var(--ink-faint);padding-left:var(--space-2);border-left:1px solid var(--border)}.soil-chart-dot{pointer-events:none;transition:r 80ms ease-out,fill 80ms ease-out,filter 80ms ease-out}.soil-chart-dot.is-hovered{r:3.5px;fill:var(--wood);filter:url(#soil-glow)}.soil-chart-rule{stroke:var(--ink-faint);stroke-width:.5px;stroke-dasharray:3 2;opacity:0;pointer-events:none}.soil-chart-rule.is-visible{opacity:.3}.soil-chart-hover-area{cursor:crosshair}.soil-chart-empty{font-family:var(--font-ascii);font-size:var(--text-sm);color:var(--ink-faint);text-align:center;padding:var(--space-2)0;margin:0;font-style:italic}.soil-chart-empty.hidden{display:none}.soil-chart-ranges{flex-wrap:wrap;justify-content:space-between;gap:2px;display:flex}.soil-chart-ranges button{font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.2rem .35rem;transition:color .1s,background .1s}.soil-chart-ranges button:hover{color:var(--ink)}.soil-chart-ranges button.is-active{color:var(--ink);background:var(--border)}.soil-chart-ranges button:disabled{color:var(--ink-faint);opacity:.35;cursor:default}.radar-chart-svg{pointer-events:none;z-index:0;opacity:1;width:100%;height:100%;transition:opacity .35s;position:absolute;inset:0}.canvas.is-zoomed .radar-chart-svg,.canvas.is-twig-zoomed .radar-chart-svg{opacity:0}.radar-chart-dot{transition:filter .1s}.radar-chart-tooltip{pointer-events:none;opacity:0;font-family:var(--font-ascii);font-size:var(--text-xs);color:var(--ink);background:var(--paper);border:1px solid var(--border);white-space:nowrap;z-index:1;border-radius:3px;padding:2px 6px;transition:opacity 60ms;position:absolute}.radar-chart-tooltip.is-visible{opacity:1}.canvas.is-zoomed .radar-chart-tooltip,.canvas.is-twig-zoomed .radar-chart-tooltip{display:none}
