/* Petalia design tokens. All interface colors inherit the chosen garden palette. */
:root{color-scheme:light;--bg:#f7f5ed;--surface:#fffef9;--surface-2:#efeee2;--text:#2b4438;--muted:#667264;--accent:#41654d;--on-accent:#fffef6;--line:#dbdece;--soft:#e6ebdc;--rose:#a56855;--rose-soft:#f0e3d7;--gold:#825f27;--gold-soft:#f1e8cb;--danger:#a04942;--focus:#975d35;--shadow:0 16px 50px #29442e08;--garden-sky:#dbe7ce;--garden-glow:#f8e7b16b;--garden-overlay:transparent;--radius:24px;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
:root[data-theme=rose]{--bg:#faf1ed;--surface:#fffaf7;--surface-2:#f3e5df;--text:#593e43;--muted:#816469;--accent:#8c5364;--on-accent:#fffaf6;--line:#e7d1d1;--soft:#f0dce3;--rose:#98604e;--rose-soft:#f5dfd4;--gold:#856033;--gold-soft:#f6e9cd;--danger:#a43d43;--focus:#974738;--garden-sky:#eaded1;--garden-glow:#edc9b76b}
:root[data-theme=lavender]{--bg:#f3f1f7;--surface:#fcfaff;--surface-2:#eae5f2;--text:#494058;--muted:#756b83;--accent:#76638e;--on-accent:#fffaff;--line:#dcd4e5;--soft:#e9e2f1;--rose:#8c6278;--rose-soft:#efe0e8;--gold:#80652e;--gold-soft:#efe7d2;--danger:#a0495b;--focus:#73549b;--garden-sky:#dddde5;--garden-glow:#e4d0ff4d}
:root[data-theme=evening]{color-scheme:dark;--bg:#292832;--surface:#35333e;--surface-2:#403c49;--text:#f2ecdc;--muted:#c1b5c5;--accent:#d7c3a0;--on-accent:#302b30;--line:#57505f;--soft:#464650;--rose:#e6b3a5;--rose-soft:#55404c;--gold:#eed095;--gold-soft:#514537;--danger:#ffb1a5;--focus:#f3cd8c;--shadow:0 16px 50px #100e151c;--garden-sky:#34463f;--garden-glow:#e6b15848;--garden-overlay:linear-gradient(180deg,#59486230,#293c431a);--on-art:#223b2c}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-bottom:110px}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}button:disabled{opacity:.42;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button,input,select{min-height:44px}a{color:inherit}button svg,svg.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.04em;line-height:1.1}h1{font-size:clamp(36px,4.6vw,58px)}h2{font-size:30px}h3{font-size:23px}em{font-weight:400;color:var(--accent)}small{font-size:12px}b,strong{font-weight:600}[hidden]{display:none!important}.app-shell{max-width:1280px;margin:auto;padding:0 48px}.topbar{height:112px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand>svg{width:35px;height:42px;fill:none;stroke:var(--accent);stroke-width:1.3}.brand>span{font:39px/.9 var(--serif);letter-spacing:-2px}.brand small{display:block;font:8px/2.8 var(--sans);letter-spacing:2px;margin-top:3px}.desktop-nav{display:flex;gap:7px}.nav-item{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;border-radius:30px;color:var(--muted);font-size:13px}.nav-item.active{background:var(--soft);color:var(--text)}.nav-item svg{width:19px;height:19px}.header-actions{display:flex;align-items:center;gap:8px}.icon-button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--surface)}.icon-button.playing{background:var(--soft);border-color:var(--accent)}.sunshine{display:flex;gap:7px;align-items:center;padding:6px 13px;border-radius:30px;background:var(--gold-soft);color:var(--gold);font-size:12px}.sunshine>span{font-size:25px;line-height:1}.demo-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 16px;background:var(--surface-2);border-radius:12px;margin-top:20px;font-size:12px;color:var(--muted)}.demo-banner span{display:flex;align-items:center;gap:8px}.demo-banner i,.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent)}.demo-banner button{font-size:12px;color:var(--text);white-space:nowrap;text-decoration:underline;text-underline-offset:4px;padding:4px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:38px 0 26px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.intro{color:var(--muted);font-size:14px;margin-top:14px;max-width:550px}.primary,.secondary,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 20px;border-radius:14px;min-height:48px;font-size:13px;font-weight:550;line-height:1.4}.primary{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent)}.secondary{border:1px solid var(--line);background:var(--surface)}.text-button{padding:8px 10px;min-height:44px;color:var(--accent)}.small{min-height:44px;padding:9px 14px}.full{width:100%}.danger{color:var(--danger)}.button-row{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.button-row>*{flex:1}.today-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.85fr);gap:34px;align-items:start}.garden-card{border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.scene{position:relative;isolation:isolate;width:100%;aspect-ratio:1.2;overflow:hidden;background:radial-gradient(ellipse at 50% 20%,var(--garden-glow),transparent 75%),var(--garden-sky);border-radius:26px 26px 0 0;contain:layout style}.scene:after{content:'';position:absolute;inset:0;background:var(--garden-overlay);pointer-events:none;z-index:10001}.garden-object{position:absolute;padding:0;margin:0;border:0;border-radius:8px;min-height:0;line-height:0;transform-origin:50% 95%;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;outline-offset:0!important}.garden-object img{width:100%;height:auto;pointer-events:none;max-width:none}.garden-object.terrain{height:100%;transform-origin:50% 50%;border-radius:0}.garden-object.terrain img{height:100%;object-fit:cover}.garden-object:not(.terrain):hover{filter:drop-shadow(0 2px 3px #34412722)}.scene.editing .garden-object{touch-action:none;cursor:grab}.scene.editing .garden-object.selected{outline:1.5px dashed var(--on-art,#294b35);background:#fff8e215;z-index:10002!important}.scene.editing .garden-object.selected:after{content:'';position:absolute;width:10px;height:10px;right:-5px;bottom:-5px;border-radius:50%;background:#fffae9;border:2px solid #41654d}.scene.editing .garden-object.locked{cursor:not-allowed}.scene-label{position:absolute;top:16px;left:16px;z-index:10010;display:flex;align-items:center;gap:7px;border-radius:30px;background:#fffbedee;color:#3e5842;font-size:9px;letter-spacing:1.2px;padding:9px 12px;pointer-events:none}.scene-open{position:absolute;right:14px;top:12px;background:#fffbedef;color:#3e5842;z-index:10010;border:0}.scene-empty{position:absolute;top:20px;left:20px;right:20px;z-index:10011;padding:16px 20px;border-radius:18px;background:var(--surface);box-shadow:var(--shadow);text-align:center}.scene-empty h3{font-size:24px}.scene-empty p{font-size:12px;color:var(--muted);margin:8px 0 12px}.garden-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px}.garden-caption strong{display:block;font:18px var(--serif)}.garden-caption small{display:block;color:var(--muted);margin-top:4px;font-size:11px}.garden-caption .text-button{padding-right:0;white-space:nowrap;font-size:12px}.companion-note{display:flex;align-items:center;gap:12px;padding:12px 20px 0;min-height:110px}.companion-note img{width:94px;height:94px;object-fit:contain;flex-shrink:0}.companion-note p{font:italic 18px/1.4 var(--serif);max-width:300px}.companion-note small{display:block;font:9px var(--sans);letter-spacing:1.5px;color:var(--muted);margin-top:9px}.tending-panel{padding:22px 0 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-heading .eyebrow{margin-bottom:8px}.section-heading h2{font-size:32px}.progress-ring{width:52px;height:52px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) var(--angle),var(--soft) 0)}.progress-ring b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--bg);font-size:12px}.muted{color:var(--muted);font-size:13px}.tending-panel>.muted{margin-top:13px}.habit-list{margin-top:15px}.habit-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);min-width:0}.habit-thumb{width:54px;height:60px;flex-shrink:0;display:grid;place-items:center;background:var(--surface-2);border-radius:15px;overflow:hidden}.habit-thumb img{width:54px;height:54px;object-fit:contain}.habit-copy{text-align:left;flex:1;padding:6px 0;min-width:0}.habit-copy strong{display:block;font-size:14px;line-height:1.4;overflow-wrap:anywhere}.habit-copy small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.row-track{display:block;margin-top:9px;height:2px;background:var(--line);max-width:85px}.row-track i{display:block;height:100%;background:var(--accent)}.check-button{width:46px;height:46px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--accent)}.completed .check-button{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.completed .habit-copy strong{color:var(--muted)}.add-habit{width:100%;border:1px dashed var(--accent);border-radius:14px;margin-top:20px;font-size:13px;color:var(--accent);padding:14px}.reward-note{display:flex;gap:12px;align-items:center;margin-top:23px;padding:18px;background:var(--surface-2);border-radius:16px}.reward-note>span{font-size:28px;color:var(--gold)}.reward-note strong{font-size:12px;display:block}.reward-note p{font-size:11px;color:var(--muted);margin-top:3px}.footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin:44px 0 0;padding:22px 0 30px;color:var(--muted);font-size:9px;letter-spacing:1px}.bottom-nav{display:none}.empty-state{padding:26px;text-align:center;border:1px dashed var(--line);border-radius:20px;background:var(--surface);color:var(--muted)}.empty-state h3{color:var(--text);margin-bottom:10px}.empty-state p{font-size:13px;margin-bottom:16px}.empty-state img{width:100px;height:100px;object-fit:contain;margin:0 auto 12px}.resting-list{margin-top:20px}.resting-list summary{font-size:12px;color:var(--muted);cursor:pointer;min-height:44px;padding:12px 0}.resting-list .habit-row{opacity:.85}.garden-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.garden-workspace.is-editing{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr)}.garden-full .scene{aspect-ratio:1.65;max-height:650px}.garden-workspace.is-editing .scene{aspect-ratio:1.2}.garden-toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:13px 16px;background:var(--surface);border-top:1px solid var(--line)}.garden-toolbar .toolbar-group{display:flex;gap:6px;align-items:center}.mode-label{font-size:10px;letter-spacing:1px;color:var(--muted)}.editor-panel{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:24px}.editor-panel h3{font-size:24px}.editor-panel .muted{margin:9px 0 14px;font-size:12px}.selection-title{display:flex;gap:9px;align-items:center;margin-bottom:10px}.selection-title img{width:44px;height:44px;object-fit:contain}.selection-title>div{min-width:0}.selection-title h3{font-size:21px;overflow-wrap:anywhere}.selection-title small{color:var(--muted);font-size:10px}.control-row{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;margin:12px 0}.control-row label{font-size:12px;font-weight:550}.control-row output{font-size:12px;color:var(--muted)}.control-row input[type=range]{grid-column:1/-1;width:100%;margin:0}.number-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.number-pair label{font-size:12px}.number-pair input{width:100%;margin-top:5px}.compact-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.compact-actions button{font-size:12px;padding:8px;min-height:44px;border:1px solid var(--line);border-radius:12px}.layers-header{display:flex;justify-content:space-between;align-items:center;margin:20px 0 10px}.layers-header h3{font-size:22px}.layer-list{max-height:270px;overflow:auto;overscroll-behavior:contain}.layer-row{display:flex;gap:6px;align-items:center;border-bottom:1px solid var(--line);border-radius:8px}.layer-row.selected{background:var(--soft)}.layer-select{display:flex;gap:8px;align-items:center;flex:1;text-align:left;min-width:0;padding:7px;font-size:11px}.layer-select img{width:32px;height:32px;object-fit:contain}.layer-select span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-row .icon-button{border:none;background:none}.layer-row.is-hidden .layer-select{opacity:.55}.editor-help{font-size:11px;color:var(--muted);margin-top:14px}.garden-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}.garden-bottom .muted{font-size:12px}.preview-panel{margin:15px 0;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.preview-panel input{width:100%}.preview-panel small{display:block;color:var(--muted)}.garden-mini-stats{display:flex;gap:32px}.garden-mini-stats strong{font:25px var(--serif);display:block}.garden-mini-stats span{font-size:11px;color:var(--muted)}.collection-controls{display:flex;justify-content:space-between;gap:14px;margin-bottom:22px}.segmented{display:flex;border:1px solid var(--line);border-radius:14px;padding:4px;background:var(--surface-2)}.segment{font-size:12px;border-radius:10px;padding:8px 16px;min-height:44px;white-space:nowrap}.segment.active{background:var(--surface);box-shadow:0 2px 8px #00000007;color:var(--accent)}.search-field{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:0 14px}.search-field svg{width:18px}.search-field input{width:100%;border:0;background:none;outline-offset:0;color:var(--text);min-width:0;padding:8px 0;font-size:16px}.collection-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px;font-size:11px;color:var(--muted)}.collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.asset-card{border:1px solid var(--line);border-radius:20px;background:var(--surface);overflow:hidden}.asset-card>button{width:100%;height:100%;text-align:left;padding:0;display:flex;flex-direction:column}.asset-image{background:var(--surface-2);width:100%;height:170px;display:grid;place-items:center;padding:12px}.asset-image img{height:100%;width:100%;object-fit:contain}.asset-card h3{font-size:22px;margin:15px 16px 7px;letter-spacing:-.02em}.asset-card p{font-size:11px;color:var(--muted);margin:0 16px 16px;flex:1}.card-footer{display:flex;justify-content:space-between;gap:6px;border-top:1px solid var(--line);padding:11px 16px;width:100%;font-size:11px;color:var(--accent)}.asset-card.terrain .asset-image{padding:0}.asset-card.terrain img{object-fit:cover}.progress-filters{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:22px}.filter-field label{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.filter-field select,.filter-field input{width:100%}.custom-dates{display:flex;gap:12px;margin-bottom:20px}.custom-dates label{font-size:12px;flex:1}.custom-dates input{width:100%;margin-top:6px}.progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.progress-card{border:1px solid var(--line);border-radius:24px;background:var(--surface);padding:26px;min-width:0}.progress-card .section-heading{margin-bottom:16px}.progress-card h2{font-size:27px}.progress-card .eyebrow{margin-bottom:8px}.progress-card[data-card=overview]{grid-column:1/-1}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stat strong{font:46px var(--serif);letter-spacing:-2px}.stat span{display:block;font-size:12px;color:var(--muted);margin-top:6px}.stat small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.trend-note{margin-top:22px;background:var(--soft);border-radius:12px;padding:13px 16px;font-size:12px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.calendar-heading strong{font-size:13px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekday{font-size:9px;text-align:center;color:var(--muted);padding:5px}.calendar-day{height:44px;min-width:0;border:1px solid transparent;border-radius:9px;font-size:11px;position:relative;padding:3px;background:var(--surface-2)}.calendar-day.level1{background:var(--soft)}.calendar-day.level2{background:var(--accent);color:var(--on-accent)}.calendar-day.today{border-color:var(--accent)}.calendar-day.outside{opacity:.4}.calendar-day .day-dot{position:absolute;width:3px;height:3px;bottom:5px;left:calc(50% - 1px);border-radius:50%;background:currentColor}.calendar-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:16px}.calendar-legend span{display:flex;align-items:center;gap:4px}.calendar-legend i{width:10px;height:10px;border-radius:3px;display:inline-block;background:var(--surface-2);border:1px solid var(--line)}.calendar-legend .partial{background:var(--soft)}.calendar-legend .complete{background:var(--accent)}.heatmap{display:flex;gap:5px;overflow-x:auto;padding:6px 0 12px}.heat-week{display:grid;grid-template-rows:repeat(7,28px);gap:5px;flex-shrink:0}.heat-day{width:28px;height:28px;min-height:28px;border:0;border-radius:5px;background:var(--surface-2);padding:0}.heat-day.level1{background:var(--soft)}.heat-day.level2{background:var(--accent)}.heatmap-help{font-size:11px;color:var(--muted);margin-top:8px}.rhythm-row{display:grid;grid-template-columns:32px 1fr 45px;gap:10px;align-items:center;margin:15px 0;font-size:12px}.rhythm-track,.growth-track{height:7px;background:var(--surface-2);border-radius:10px;overflow:hidden}.rhythm-track i,.growth-track i{display:block;background:var(--accent);height:100%;border-radius:10px}.rhythm-row b{font-size:11px;text-align:right}.metric-help{font-size:11px;color:var(--muted);margin-top:18px;line-height:1.65}.milestone{display:flex;gap:12px;align-items:center;margin:17px 0}.milestone img{width:50px;height:58px;object-fit:contain}.milestone>div{flex:1;min-width:0}.milestone strong{font-size:12px;display:block}.milestone small{font-size:10px;color:var(--muted);display:block;margin:4px 0 9px}.card-order-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:9px 0}.card-order-row label{display:flex;align-items:center;gap:10px;flex:1;font-size:13px}.card-order-row input{min-height:22px;width:18px;height:18px}.audit-row{padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.audit-row small{display:block;color:var(--muted);margin-top:5px}.modal-host{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:24px}.backdrop{position:absolute;inset:0;background:#17231d65;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.sheet{position:relative;width:100%;max-width:540px;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:36px;box-shadow:0 20px 100px #00000022;scroll-padding-bottom:25px}.sheet.wide{max-width:690px}.sheet-close{position:absolute;right:16px;top:14px;z-index:2;font-size:27px;background:var(--surface)}.sheet .eyebrow{padding-right:40px;font-size:9px}.sheet h2{font-size:34px;max-width:90%;margin-bottom:12px}.sheet-copy{font-size:13px;color:var(--muted);margin-bottom:22px}.sheet-grip{display:none}.modal-open{position:fixed;width:100%;overflow:hidden}.field-label{display:block;font-size:12px;font-weight:600;margin:20px 0 8px}.text-input,input[type=number],input[type=date],select{width:100%;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:11px;padding:10px 12px;font-size:16px;min-width:0}input[type=range]{accent-color:var(--accent);height:44px;min-width:0}input[type=checkbox]{accent-color:var(--accent)}.field-help{font-size:11px;color:var(--muted);margin:7px 0 12px}.form-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:12px}.form-grid .field-label{margin-top:14px}.choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-height:260px;overflow:auto;padding:3px;overscroll-behavior:contain}.species-choice{min-width:0;border:1px solid var(--line);border-radius:12px;padding:6px 3px;background:var(--surface-2);font-size:10px}.species-choice img{height:65px;width:100%;object-fit:contain}.species-choice.selected{border:2px solid var(--accent);background:var(--soft);padding:5px 2px}.day-choices{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:22px}.day-button{border:1px solid var(--line);border-radius:50%;padding:0;font-size:12px}.day-button.selected{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.detail-image{height:220px;display:grid;place-items:center;background:radial-gradient(ellipse,var(--soft),transparent 65%);margin:8px 0}.detail-image img{width:100%;height:100%;object-fit:contain;max-height:220px}.detail-tags{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin:13px 0}.tag{font-size:11px;border-radius:30px;padding:6px 11px;background:var(--soft);color:var(--text)}.detail-info{font-size:13px;color:var(--muted);text-align:center;margin:18px 0}.stage-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin:20px 0}.stage-tile img{width:100%;aspect-ratio:1;object-fit:contain}.stage-tile{text-align:center;font-size:9px;color:var(--muted);border-radius:8px;padding:5px}.stage-tile.active{background:var(--soft)}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;text-align:left;border-bottom:1px solid var(--line);padding:15px 0;font-size:13px}.settings-row span{font-size:11px;color:var(--muted);text-align:right}.settings-note{font-size:11px;color:var(--muted);margin-top:22px;line-height:1.8}.palette-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:18px 0}.palette-button{border:1px solid var(--line);border-radius:14px;padding:8px 5px;font-size:10px;min-height:86px}.palette-button.selected{outline:2px solid var(--accent);outline-offset:2px}.palette-swatch{height:37px;border-radius:9px;margin-bottom:7px;display:block;background:linear-gradient(135deg,var(--sw1) 50%,var(--sw2) 50%)}.welcome-art{width:155px;height:155px;object-fit:contain;margin:0 auto 10px}.welcome{text-align:center}.welcome .eyebrow{padding:0}.welcome h2{max-width:100%}.welcome .sheet-copy{max-width:350px;margin:14px auto 24px}.sound-art{height:145px;width:180px;object-fit:contain;margin:0 auto 16px}.sound-player{padding:20px;background:var(--surface-2);border-radius:18px;margin:20px 0}.sound-controls{display:flex;align-items:center;gap:10px;margin-bottom:14px}.sound-controls .primary{flex:1}.sound-player label{font-size:12px;display:flex;justify-content:space-between}.sound-player input{width:100%}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);background:var(--text);color:var(--bg);padding:13px 22px;border-radius:16px;font-size:12px;box-shadow:0 10px 30px #00000015;max-width:min(90vw,450px);width:max-content;z-index:30000;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.skip-link{position:fixed;top:-70px;left:10px;padding:10px 20px;background:var(--surface);z-index:40000}.skip-link:focus{top:10px}.loading{text-align:center;padding:120px 20px;color:var(--muted)}.brand-flower{font-size:42px;color:var(--accent)}.watered{animation:grow-glow .8s ease-out}@keyframes grow-glow{50%{filter:drop-shadow(0 0 15px #fff4ba)}}.save-warning{color:var(--danger)!important}.notice{padding:12px 16px;border-radius:12px;background:var(--rose-soft);color:var(--text);font-size:12px;margin:14px 0}.history-toggle{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}.history-toggle>div{flex:1;min-width:0}.history-toggle strong{font-size:13px;display:block}.history-toggle small{font-size:11px;color:var(--muted)}.history-toggle .secondary{font-size:12px;padding:9px 13px}.seed-suggestions{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.seed-suggestions button{font-size:11px;padding:8px 11px;background:var(--soft);border-radius:25px;min-height:40px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;font-size:13px}.switch-row input{width:20px;height:20px;min-height:20px}.no-scroll{overflow:hidden}
@media(min-width:1100px){.today-layout>.garden-column{position:sticky;top:22px}.page-heading h1 br{display:none}}
@media(max-width:1050px){.app-shell{padding:0 28px}.desktop-nav .nav-item{padding:9px 10px}.desktop-nav .nav-item svg{display:none}.today-layout{gap:24px;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr)}.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.progress-filters{grid-template-columns:1fr 1fr}.progress-card{padding:21px}}
@media(max-width:760px){.app-shell{padding:0 20px}.topbar{height:84px;gap:10px}.brand{gap:7px}.brand>span{font-size:34px}.brand>svg{width:29px;height:36px}.brand small{font-size:6px;letter-spacing:1.7px}.desktop-nav{display:none}.header-actions{gap:6px}.sunshine{padding:6px 9px;min-width:55px}.icon-button{width:42px;height:44px}.header-actions .icon-button{border:none;background:none}.demo-banner{padding:1px 12px;margin-top:14px;font-size:10px}.demo-banner button{font-size:10px}.page-heading{margin:26px 0 22px;align-items:flex-start;gap:12px}.page-heading h1{font-size:38px}.page-heading .eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:10px}.intro{font-size:12px;line-height:1.7;margin-top:10px}.desktop-add{display:none}.today-layout{display:flex;flex-direction:column;gap:14px}.garden-column,.tending-panel{width:100%}.garden-card{border-radius:24px}.scene{aspect-ratio:1.05;border-radius:22px 22px 0 0}.scene-label{top:12px;left:12px;font-size:8px;padding:8px 10px;letter-spacing:1px}.garden-caption{padding:13px 15px}.garden-caption strong{font-size:17px}.garden-caption small{font-size:10px}.garden-caption .text-button{font-size:11px}.companion-note{padding:8px 12px 0;min-height:92px;gap:9px}.companion-note img{width:80px;height:80px}.companion-note p{font-size:17px}.companion-note small{font-size:8px}.tending-panel{padding:10px 0 0}.section-heading h2{font-size:29px}.tending-panel .eyebrow{font-size:8px;letter-spacing:1.5px}.tending-panel>.muted{font-size:12px}.habit-row{gap:11px;padding:12px 0}.habit-copy strong{font-size:13px}.habit-copy small{font-size:10px}.habit-thumb{width:50px;height:56px}.habit-thumb img{width:50px;height:50px}.footer{margin-top:32px;padding:20px 0 calc(105px + env(safe-area-inset-bottom));font-size:7px;letter-spacing:.7px;gap:10px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;padding:9px 12px calc(9px + env(safe-area-inset-bottom));z-index:15000;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -3px 30px #19302005}.bottom-nav .nav-item{flex:1;flex-direction:column;gap:3px;max-width:90px;border-radius:17px;font-size:9px;min-height:54px;padding:7px 10px}.bottom-nav .nav-item svg{width:20px;height:20px}.toast{bottom:calc(90px + env(safe-area-inset-bottom));font-size:11px;padding:12px 17px}.garden-workspace.is-editing{grid-template-columns:1fr}.garden-full .scene,.garden-workspace.is-editing .scene{aspect-ratio:1.05}.garden-toolbar{padding:9px 10px;gap:4px}.garden-toolbar .secondary{font-size:11px;padding:8px 11px}.garden-toolbar .icon-button{width:40px}.editor-panel{padding:18px;border-radius:20px}.editor-help{font-size:10px}.garden-bottom{flex-direction:column;align-items:flex-start}.garden-mini-stats{width:100%;justify-content:space-between;gap:12px}.garden-mini-stats strong{font-size:24px}.garden-mini-stats span{font-size:10px}.garden-heading .primary{padding:10px 14px;font-size:11px;white-space:nowrap}.garden-heading h1{font-size:35px}.garden-heading .intro{max-width:240px}.collection-controls{flex-direction:column;gap:12px}.segmented{width:100%}.segment{flex:1;padding:7px 6px;font-size:11px}.search-field{width:100%}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.asset-image{height:142px;padding:8px}.asset-card{border-radius:17px}.asset-card h3{font-size:19px;margin:12px 12px 6px}.asset-card p{font-size:10px;margin:0 12px 12px}.card-footer{font-size:9px;padding:10px 12px}.collection-heading{font-size:10px;align-items:center}.collection-heading span{max-width:45%;text-align:right}.progress-filters{gap:10px}.progress-filters>.segmented{grid-column:1/-1}.progress-filters>.filter-field{min-width:0}.progress-filters>.secondary{grid-column:1/-1}.progress-grid{grid-template-columns:1fr;gap:16px}.progress-card{padding:21px 18px;border-radius:20px}.progress-card h2{font-size:25px}.stats-grid{gap:12px}.stat strong{font-size:37px}.stat span{font-size:10px;line-height:1.5}.stat small{font-size:9px}.trend-note{padding:12px;font-size:11px;margin-top:18px}.calendar-grid{gap:3px}.calendar-day{height:44px}.modal-host{align-items:flex-end;padding:0}.sheet{border-radius:25px 25px 0 0;padding:32px 22px calc(28px + env(safe-area-inset-bottom));max-height:calc(100dvh - 18px);border-bottom:0;max-width:600px;scroll-padding-bottom:30px}.sheet-grip{display:block;position:absolute;top:10px;left:calc(50% - 17px);width:34px;height:4px;border-radius:5px;background:var(--line)}.sheet-close{right:10px;top:17px}.sheet h2{font-size:31px}.sheet .eyebrow{font-size:8px;letter-spacing:1.5px}.sheet-copy{font-size:12px}.field-label{font-size:12px}.choice-grid{gap:6px}.species-choice{font-size:9px}.species-choice img{height:60px}.detail-image{height:200px}.detail-image img{max-height:200px}.palette-grid{gap:7px}.palette-button{font-size:9px}.welcome-art{width:140px;height:140px}.settings-row{font-size:12px}.settings-row span{font-size:10px}.day-choices{gap:3px}.day-button{min-height:44px;border-radius:12px}.heat-day{width:30px;height:30px;min-height:30px}.heat-week{grid-template-rows:repeat(7,30px)}.control-row{margin:9px 0}.layer-list{max-height:230px}}
@media(max-width:350px){.app-shell{padding:0 14px}.brand>span{font-size:30px}.brand>svg{width:23px}.brand small{font-size:5px;letter-spacing:1.5px}.header-actions{gap:2px}.header-actions .icon-button{width:38px}.sunshine{padding:4px 8px;min-width:49px}.sunshine>span{font-size:21px}.demo-banner{padding:0 8px;font-size:9px}.demo-banner button{font-size:9px}.page-heading h1{font-size:35px}.garden-heading h1{font-size:30px}.garden-heading .primary{padding:9px 10px}.scene{aspect-ratio:1}.garden-caption{gap:7px;padding:12px}.garden-caption strong{font-size:16px}.garden-caption .text-button{font-size:10px}.sheet{padding:33px 16px 25px}.sheet h2{font-size:28px}.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.palette-grid{grid-template-columns:repeat(2,1fr)}.calendar-grid{gap:2px}.calendar-day{font-size:10px}.asset-image{height:125px}.asset-card h3{font-size:18px;margin-left:10px;margin-right:10px}.asset-card p,.card-footer{font-size:9px}.progress-card{padding:19px 14px}.stats-grid{gap:8px}.stat strong{font-size:33px}.calendar-heading strong{font-size:12px}.garden-toolbar .secondary{padding:8px;font-size:10px}}
@media(orientation:landscape) and (max-height:550px){.sheet{max-height:calc(100dvh - 12px);padding-top:25px}.bottom-nav{padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom))}.bottom-nav .nav-item{min-height:44px;flex-direction:row}.scene{max-height:440px}.modal-host{align-items:center}.sheet{border-radius:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation:none!important;transition:none!important}.reduced-motion{scroll-behavior:auto}
.demo-banner>button{display:flex;align-items:center;gap:5px}.demo-banner>button>span{display:inline}.garden-heading>button{flex-shrink:0;white-space:nowrap}.scene-label svg{width:15px;height:15px}.scene.editing .garden-object.selected{outline:2px dashed #fff8df;box-shadow:0 0 0 1px #36543e}.scene.editing .garden-object.selected:after{border-color:#36543e}
:root[data-theme=evening] .garden-object.terrain img{filter:brightness(.73) saturate(.68)}
:root[data-theme=evening] .scene:after{background:radial-gradient(ellipse at 75% 70%,#edc47616,transparent 45%),linear-gradient(180deg,#46365235,#24483e09 65%,#3e324b20)}
@media(max-width:760px){.garden-heading{display:block;position:relative;padding-right:100px}.garden-heading>button{position:absolute;right:0;top:0;padding:9px 11px;font-size:11px}.garden-heading>button svg{width:15px}.garden-heading h1{font-size:36px}.garden-heading .intro{min-width:200px}.page-heading:not(.garden-heading) h1{font-size:36px}.scene{aspect-ratio:1.12}.calendar-day{min-width:0}.custom-dates{flex-wrap:wrap}.custom-dates .secondary{flex-basis:100%}}
@media(max-width:350px){.garden-heading{padding-right:90px}.garden-heading h1{font-size:32px}.page-heading:not(.garden-heading) h1{font-size:32px}.garden-heading>button{font-size:10px;padding:8px}.garden-heading .intro{min-width:190px}}
.icon-button{min-width:44px}.header-actions .icon-button{width:44px}.card-order-row label{min-height:44px}.calendar-day{display:grid;place-items:center}.calendar-day.outside{opacity:.4}.calendar-day[aria-disabled=true]{color:var(--muted)}
:root{--muted:#626e60}:root[data-theme=rose]{--muted:#795e63}:root[data-theme=lavender]{--muted:#6d637a}:root[data-theme=evening]{--muted:#c1b5c5}.seed-suggestions button{min-height:44px}
@media(max-width:350px){.day-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.day-button{border-radius:12px}.header-actions .icon-button{width:44px}}
.app-shell{padding-top:env(safe-area-inset-top);padding-left:max(48px,env(safe-area-inset-left));padding-right:max(48px,env(safe-area-inset-right))}
@media(max-width:1050px){.app-shell{padding-left:max(28px,env(safe-area-inset-left));padding-right:max(28px,env(safe-area-inset-right))}}
@media(max-width:760px){.app-shell{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}}
@media(max-width:350px){.app-shell{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}}
.asset-image{position:relative;flex:0 0 auto;overflow:hidden}.asset-image img{position:absolute;inset:0;width:100%;height:100%;max-height:100%;min-height:0;min-width:0;padding:12px;object-fit:contain}.asset-card.terrain .asset-image img{padding:0;object-fit:cover}
.garden-workspace.is-editing>.garden-card{align-self:start}
.stage-tile img{height:auto}
