/* Measured against approved boards; reference art gaps are documented separately. */
:root{--ink:#152b27;--muted:#78818d;--line:#e9eeeb;--green:#386d54;--soft:#f1f6f3;--bg:#fbfcfb}
html{font-family:-apple-system,BlinkMacSystemFont,"Microsoft YaHei","Segoe UI",sans-serif;font-size:14px;line-height:1.45}
html[data-font=large]{font-size:18px}
h3{font-size:1rem;font-weight:600;margin:18px 0 9px}h4{font-size:.92rem;font-weight:500;margin:16px 0 9px}button{font-weight:400}
.topbar{min-height:58px;border-bottom:0}.topbar h1{font-size:1.1rem}.topbar .text-link{font-size:.85rem}.topbar>.slot{max-width:115px}.topbar .slot .primary{border-radius:14px}
.primary,.secondary,.danger{border-radius:10px;min-height:42px;font-size:.9rem}.sheet{max-width:460px;border-radius:20px 20px 0 0;padding:10px 19px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -5px 25px #112d2717}.sheet:before{width:34px;height:4px;margin-bottom:13px}.sheet-title h2{font-size:1.1rem}.sheet-title{margin-bottom:13px}.overlay-bg{backdrop-filter:none;background:#07110f66}.sheet p{font-size:.9rem}.sheet.compact{padding:18px;border-radius:17px;margin-bottom:0}.sheet-actions{display:flex;gap:10px;margin-top:20px}.sheet-actions>*{flex:1;min-width:0}.form label{font-size:.86rem}.form textarea{min-height:92px}.form{padding-top:10px}.form input:not([type=checkbox]):not([type=range]),.form select{border-radius:8px;min-height:38px;padding:8px 10px}.form .photo-edit{min-height:217px}.form .row>label{flex:1}
.field-choice{display:flex;width:100%;align-items:center;gap:7px;justify-content:space-between;border:1px solid #dfe6e1;border-radius:8px;min-height:38px;padding:7px;font-size:.84rem}.field-choice .icon{width:18px;height:18px}.plant-editor .form>.notice{display:none}.plant-editor .form>button[type=submit]{margin-top:20px}.plant-editor .form .photo-edit{width:34%;min-height:188px}.plant-editor .form details{margin:10px 0}.photo-choice-preview{width:115px;margin:0 auto 18px}.photo-choice-preview .plant-photo{aspect-ratio:1}.photo-choice-preview .photo-placeholder{min-height:110px}
.location-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.location-option{display:flex;align-items:center;gap:10px;min-height:58px;border:1px solid var(--line);border-radius:10px;padding:12px;text-align:left}.location-option>.icon:last-child{margin-left:auto}.location-option.selected{border-color:var(--green);color:var(--green);background:var(--soft)}.date-picker{margin-top:20px;row-gap:7px}.date-picker button{min-height:39px}.date-picker button.selected{width:39px;margin:auto}
.search{margin:6px 0 10px;background:#f2f5f4;border-radius:12px}.search input{padding:10px 0}.chips{margin:9px 0 12px;gap:6px}.chip{min-height:30px;padding:5px 14px;font-size:.8rem}.plant-card{border-radius:9px}.plant-card b{font-size:.91rem;font-weight:600}.plant-card .body{padding:7px 9px}.plant-card p{line-height:1.35;margin:4px 0}.plant-card .plant-photo{aspect-ratio:1.02}.plant-card .pin{min-width:29px;min-height:29px}.grid{gap:10px}.grid.list .plant-card{display:block}.grid.list .plant-card>.full{display:flex;align-items:center}.grid.list .plant-card .plant-photo{width:87px;height:87px;aspect-ratio:1;margin:6px}.grid.list .plant-card>.badge{margin-left:100px!important;margin-top:-26px!important;display:block;width:fit-content}.grid.list .plant-card .pin{top:8px;bottom:auto}
.sticky-actions{display:grid;grid-template-columns:1fr;padding:0;border-radius:0;bottom:10px;background:var(--paper);gap:5px}.sticky-actions>.primary{min-height:32px;border-radius:7px}.sticky-actions>.secondary{min-height:30px;padding:5px}.sticky-actions+.text-link{min-height:29px;padding:5px}.stats{border-radius:10px;padding:3px;margin:12px 0}.stat b{font-size:.99rem}.stat span{font-size:.75rem}.profile-head{margin-top:7px}.profile-head .plant-photo{width:43%;border-radius:10px}.profile-head h2{font-size:1.2rem}.profile-head p{font-size:.82rem;line-height:1.45}.section-title h2{font-size:1.02rem;font-weight:600}.current-care{border:1px solid #eff2ef;border-radius:10px}.care-actions .icon{width:45px;height:45px;padding:11px;border:0;background:#f1f7f3}.care-actions button{color:var(--ink)}.care-actions button.selected .icon{outline:1px solid var(--green);background:var(--soft)}
.care-plant{display:flex;gap:12px;align-items:center;border-radius:10px;background:var(--soft);padding:8px}.care-plant small{display:block;font-size:.82rem;color:var(--muted);margin-top:5px}.care-plant .thumb{width:58px;height:58px;min-height:58px}.care-plant .thumb .ref-photo{border-radius:8px}.soil-check{padding-top:3px}.soil-option{display:flex!important;align-items:center;gap:11px;border:1px solid var(--line);border-radius:11px;padding:11px;margin:10px 0!important;cursor:pointer}.soil-option input{accent-color:var(--green);width:17px;height:17px}.soil-option small{display:block;margin-top:3px;color:var(--muted);font-size:.78rem}.soil-option:has(input:checked){background:var(--soft);border-color:var(--green)}.soil-option b{font-weight:500}.custom-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.custom-icons button{display:grid;justify-items:center;gap:4px;font-size:.78rem}.custom-icons .icon{width:44px;height:44px;padding:11px;border-radius:50%;background:var(--soft)}.custom-icons .selected .icon{background:var(--green);color:#fff}
.record-tabs{margin:0 0 12px;border-bottom:1px solid var(--line)}.record-tabs button{font-size:.92rem;min-height:42px}.record-tabs button.selected{border-bottom:2px solid var(--green);font-weight:500}.timeline-event{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);padding:12px 0 15px;border:0}.timeline-event:before{content:"";position:absolute;left:4px;top:17px;width:7px;height:7px;background:var(--green);border-radius:50%;z-index:1}.timeline-event:after{content:"";position:absolute;left:7px;top:21px;bottom:-16px;width:1px;background:#ccd8d1}.timeline-day{padding:0 5px 0 17px;display:flex;flex-direction:column;gap:4px;font-size:.87rem}.timeline-day small{font-size:.8rem;color:var(--green)}.timeline-content{min-width:0}.timeline-content .row{min-height:25px;gap:6px}.timeline-content .badge{font-size:.78rem;border-radius:15px;background:var(--soft);padding:2px 7px}.timeline-content .badge .icon{width:15px;height:15px}.timeline-content time{font-size:.75rem;color:var(--muted)}.timeline-content .icon-btn{min-width:28px;min-height:25px}.timeline-content .icon-btn .icon{width:18px;height:18px}.event-photos{display:flex;gap:6px;overflow-x:auto}.event-photos button{padding:0;flex:0 0 94px}.event .event-photo{width:94px;height:102px;margin:6px 0 0;border-radius:7px}.event p{font-size:.86rem;margin:6px 0 4px}.timeline-event:last-child:after{bottom:22px}
.album-date{margin:17px 0 23px}.album-date>.row{padding:0;min-height:27px}.album-date>.row b{font-size:1rem}.album-date small{font-size:.8rem;color:var(--muted);font-weight:400;margin-left:5px}.album-date>.row>.icon{width:16px;height:16px;transform:rotate(90deg)}.album{margin:8px 0 0;gap:6px}.album button{border-radius:5px}.photo-tick{position:absolute;right:5px;top:5px;border:1.5px solid white;border-radius:50%;width:20px;height:20px;background:#fff2}.selected .photo-tick{background:var(--green)}.photo-tick .icon{width:16px;height:16px;stroke:white}.album button.selected{outline:0}.album-selection{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,460px);background:var(--paper);padding:10px 16px calc(18px + env(safe-area-inset-bottom));z-index:12;border-top:1px solid var(--line)}.album-selection p{margin:0 0 10px;text-align:center;font-size:.83rem;color:var(--muted)}.detail-photo{position:relative;margin:0 -19px}.detail-photo img{display:block;width:100%;max-height:50dvh;object-fit:contain;background:var(--soft)}.detail-photo>span{position:absolute;bottom:12px;right:15px;background:#11261bcc;border-radius:15px;color:#fff;padding:3px 9px;font-size:.8rem}.photo-description{padding:10px;background:var(--soft);border-radius:9px}.photo-description p{margin-bottom:3px}.photo-description .text-link{min-height:25px;padding:0}.photo-detail-actions{display:flex;gap:6px;margin-top:20px}.photo-detail-actions>*{flex:1;font-size:.78rem;padding:9px 5px}.photo-detail-sheet{max-height:94dvh}.compare{gap:7px}.compare h3{font-size:.82rem;text-align:center;margin:0 0 9px}.compare h3 small{display:block;font-size:.75rem;color:var(--muted);margin-top:4px;font-weight:400}.compare img{height:285px;object-fit:cover;border-radius:6px}.compare .small{margin:7px auto 13px;min-height:30px;padding:4px 12px}.comparison-sheet{max-height:94dvh}.comparison-sheet>h3{margin-top:0}.comparison-sheet .list-row .muted{max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.segmented{display:flex;background:var(--soft);border-radius:8px;padding:3px;gap:3px}.segmented>button,.segmented>label{flex:1;min-width:0;text-align:center;font-size:.83rem;min-height:32px;display:grid;place-items:center;border-radius:7px;padding:5px;margin:0}.segmented .selected,.segmented label:has(input:checked){background:var(--green);color:#fff}.segmented label input{position:absolute;opacity:0;width:1px;height:1px}.ledger-tabs{margin-bottom:15px}.ledger-summary{border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;justify-content:space-between;gap:12px;margin:12px 0}.ledger-summary>div:first-child{display:flex;flex-direction:column;min-width:110px}.ledger-year{padding:0;text-align:left;font-weight:600;font-size:1.08rem;margin-bottom:7px}.ledger-summary strong{font-family:Georgia,serif;font-size:1.9rem;font-weight:600;line-height:1.5}.ledger-summary small{color:var(--muted);font-size:.8rem}.vertical-chart{display:flex;gap:10px;align-items:flex-end;overflow-x:auto;flex:1;justify-content:flex-end;min-width:0;padding-top:12px}.vertical-month{display:flex;align-items:center;flex-direction:column;justify-content:flex-end;min-width:28px;gap:3px;font-size:.72rem}.vertical-month i{display:block;width:26px;background:linear-gradient(#719d72,#adc7a2);border-radius:3px 3px 0 0}.vertical-month b{font-size:.72rem}.vertical-month small{font-size:.7rem}.ledger-filters{margin:10px 0}.ledger-filters button{font-size:.82rem;min-height:32px;padding:4px 10px}.ledger-table{border:1px solid var(--line);border-radius:8px;overflow:hidden}.ledger-table-head,.ledger-table-row{display:grid;grid-template-columns:40px minmax(70px,1.3fr) minmax(50px,1fr) minmax(55px,.85fr);align-items:center;gap:6px;width:100%;font-size:.8rem;padding:8px 9px;text-align:left}.ledger-table-head{background:var(--soft);color:var(--muted);font-size:.74rem}.ledger-table-row{border-top:1px solid var(--line);min-height:55px}.ledger-table-row>span{display:flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}.ledger-table-row>b{text-align:right;font-size:.78rem}.ledger-thumb{width:35px;height:35px;flex-shrink:0;overflow:hidden;border-radius:6px}.ledger-thumb.photo-placeholder{min-height:35px;padding:0}.ledger-thumb .muted{display:none}.ledger-thumb>.icon{width:20px;height:20px}.ledger-thumb img{width:100%;height:100%;object-fit:cover}.archive-list{border:1px solid var(--line);border-radius:9px;margin:9px 0;padding:8px}.archive-list small,.pin-sort-row small{display:block;color:var(--muted);font-size:.78rem;margin-top:5px}.channel-option{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:14px 0;width:100%;font-size:.93rem}.radio-dot{width:18px;height:18px;border:1.5px solid #a9b4ad;border-radius:50%;flex-shrink:0}.radio-dot.selected{background:var(--green);border:5px solid var(--green);box-shadow:inset 0 0 0 3px white}
.theme-options{display:grid;gap:8px}.theme-option{display:flex;gap:12px;align-items:center;min-height:57px;border:1px solid var(--line);border-radius:9px;padding:9px 12px;text-align:left;width:100%}.theme-option.selected{border-color:color-mix(in srgb,var(--green) 50%,transparent)}.theme-option>span:first-child{flex:1}.theme-option b{font-size:.93rem}.theme-option small{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}.theme-swatches{display:flex;gap:7px}.theme-swatches i{width:24px;height:24px;border-radius:50%}.theme-check{width:19px;height:19px;border-radius:50%;border:1px solid #b5bdb7}.selected .theme-check{background:var(--green);border-color:var(--green)}.theme-check .icon{width:18px;height:18px;color:#fff}.appearance-previews{display:grid;grid-template-columns:1fr 1fr;gap:12px}.appearance-preview{position:relative;border:1px solid var(--line);border-radius:9px;padding:6px;background:#f4f8f5;color:#172e29;overflow:hidden}.appearance-preview.dark{background:#1d3028;color:#eef6f0}.preview-photo{height:128px;border-radius:6px;overflow:hidden}.appearance-preview>b{display:block;margin:5px 5px 2px;font-size:.92rem}.appearance-preview>small{display:block;margin:0 5px 7px;font-size:.76rem}.appearance-preview>.primary{min-height:30px;padding:4px 5px;border-radius:20px;font-size:.78rem;opacity:1;width:100%}.appearance-preview>.primary .icon{width:16px;height:16px}.preview-mode{position:absolute;top:12px;left:12px;color:#fff;background:var(--green);border-radius:14px;padding:2px 7px;font-size:.75rem;z-index:1}.dark .preview-mode{background:#1c3028}.center{text-align:center}.center .icon{width:15px;height:15px}
.onboarding-sheet{width:calc(100% - 40px)!important;max-width:355px!important;padding:17px 20px!important;border-radius:16px!important}.onboarding-sheet .sheet-title h2{flex:1;text-align:center;font-size:1.04rem}.onboarding-sheet .sheet-title{position:relative}.onboarding-sheet .sheet-title>.icon-btn{position:absolute;right:-6px;top:-10px;width:34px;min-width:34px}.onboarding-sheet h3{font-size:1.1rem;margin:19px 0 12px}.onboarding-sheet h3 small{font-size:.79rem;font-weight:400;color:var(--muted)}.onboard-dots{display:flex;justify-content:center;gap:9px;margin:2px 0 18px}.onboard-dots i{width:8px;height:8px;background:#d4dadd;border-radius:50%}.onboard-dots .active{background:var(--green)}.experience-options{display:grid;gap:8px;margin:10px 0 19px}.experience-option{display:flex;align-items:center;gap:13px;min-height:66px;padding:10px 13px;border:1px solid var(--line);border-radius:13px;text-align:left}.experience-option.selected{border-color:var(--green);background:var(--soft)}.experience-option small{display:block;color:var(--muted);font-size:.8rem;margin-top:4px}.experience-option b{font-size:.95rem;font-weight:500}.experience-option.selected>.radio-dot{border:5px solid var(--green);background:white;box-shadow:inset 0 0 0 1px white}.onboard-radios,.onboard-choices{display:flex;gap:6px;flex-wrap:wrap}.onboard-radios label,.onboard-choices label{display:flex;align-items:center;gap:7px;justify-content:center;border:1px solid var(--line);border-radius:20px;padding:8px 10px;font-size:.83rem;flex:1;white-space:nowrap;cursor:pointer}.onboard-choices label{flex:0 0 calc(50% - 3px)}.onboard-radios label:has(input:checked),.onboard-choices label:has(input:checked){background:var(--soft);border-color:#7da98c;color:var(--green)}.onboard-radios input,.onboard-choices input{accent-color:var(--green);width:13px;height:13px}.onboarding-sheet .primary,.onboarding-sheet .secondary{border-radius:25px}.onboarding-sheet .text-link.full{font-size:.77rem;text-decoration:underline;min-height:28px;margin-top:8px}.profile-summary{background:var(--soft);border-radius:12px;padding:3px 13px;margin:23px 0 10px}.profile-summary>div{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:15px 0;font-size:.86rem}.profile-summary>div:last-child{border:0}.profile-summary span{white-space:nowrap;color:var(--muted)}.profile-summary b{font-weight:400;overflow-wrap:anywhere}.profile-summary .icon{width:20px;height:20px}
.chat-main .topbar h1{display:flex;align-items:center;justify-content:center;gap:5px}.chat-main .topbar h1 .icon{width:27px;height:30px;color:var(--green)}.chat-main .composer{gap:3px;padding:3px;border-radius:26px;border-color:var(--line)}.chat-main .composer>.icon-btn{border:1px solid var(--line);width:35px;min-width:35px;min-height:35px;background:var(--paper)}.chat-main .composer .icon{width:20px;height:20px}.chat-main .composer input{border:1px solid var(--line);border-radius:25px;padding:9px;font-size:.9rem}.chat-main .composer .send{min-width:37px;min-height:37px}.chat-context{display:flex;align-items:center;gap:10px;background:var(--soft);border-radius:8px;padding:6px 9px;width:100%;font-size:.88rem}.chat-context>.ref-photo{width:35px;height:35px;min-height:35px;border-radius:6px}.chat-context>.thumb{width:35px;height:35px;min-height:35px}.chat-context>.icon:last-child{margin-left:auto}.chat-service{text-align:center;font-size:.72rem;color:var(--muted);margin:8px 0 20px}.chat-time{display:block;text-align:center;color:var(--muted);font-size:.76rem;margin:17px 0 9px}.chat-photo{display:block;margin:8px 0 18px auto;padding:0;width:135px;border-radius:10px;overflow:hidden}.chat-photo img{width:100%;display:block}.chat-main .bubble{font-size:.93rem;line-height:1.5;padding:10px 13px;border-radius:11px;max-width:86%;white-space:pre-wrap}.chat-main .bubble:not(.system){background:#e6f3eb;color:#142d27}.assistant-message{display:flex;gap:9px;align-items:flex-start;margin:15px 0}.assistant-avatar{background:var(--soft);color:var(--green);display:grid;place-items:center;width:35px;height:35px;border-radius:50%;flex-shrink:0}.assistant-message>.bubble.system{margin:0;max-width:85%}.voice-panel{text-align:center;padding:30px 0 15px}.voice-orb{width:90px;height:90px;background:#e5f3eb;color:#195b41;border-radius:50%;display:grid;place-items:center;margin:0 auto 17px}.voice-orb .icon{width:48px;height:48px}.recording .voice-orb{animation:voice-pulse 1.2s ease-in-out infinite}.voice-panel p{margin:10px 0}.form audio{width:100%}.pin-sort-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:9px;margin:9px 0;background:var(--paper)}.pin-sort-row .thumb{width:58px;height:58px}.drag-handle{touch-action:none;cursor:grab;font-size:23px;padding:0;width:15px;color:var(--muted)}.pin-sort-row.dragging{box-shadow:0 8px 20px #183b2922;outline:1px solid var(--green)}.pin-sort-row .text-link{font-size:.75rem;padding:0}.pin-sort-row input{accent-color:var(--green);width:18px;height:18px}.emergency-card{border:1px solid var(--line);border-radius:10px;padding:0 12px 12px;margin:20px 0}.emergency-card header{display:flex;align-items:center;gap:8px;background:var(--soft);padding:10px;margin:0 -12px;font-weight:600;border-radius:10px 10px 0 0}.emergency-card header small{font-weight:400;border-radius:14px;background:#ffe1a9;color:#71451c;padding:2px 7px}.case-section{display:flex;gap:10px;padding:16px 0;border-bottom:1px solid var(--line);font-size:.94rem}.case-section>.icon{color:var(--green);width:23px;height:23px}.case-section p{font-size:.92rem;margin:6px 0 0;line-height:1.55}.case-section small{font-size:.76rem;color:var(--muted)}.case-hero{width:100%;height:190px;object-fit:cover}
.icon-eye{fill:currentColor;stroke:var(--paper)}.care-actions .icon-eye,.custom-icons .icon-eye,.timeline-content .icon-eye{fill:none;stroke:currentColor}.icon-soil{fill:currentColor;stroke-width:1}.nav .icon{width:25px;height:25px}.nav button{font-size:.77rem;min-height:57px}.nav button.active{border-radius:25px}.garden-title{top:calc(22px + env(safe-area-inset-top))}.garden-heading h1{font-size:1.48rem}.garden-heading p{font-size:.82rem}.garden-heading>.icon{width:33px;height:39px}.garden-badge{font-size:.8rem!important}.garden-badges .garden-badge{min-height:35px;padding:7px 9px}.scene-actions .scene-action{font-size:.82rem;padding:8px 10px;min-height:37px}.garden-panel{padding-left:16px;padding-right:16px}.garden-care-heading h2{font-size:1.15rem}.task-copy>b{font-size:1.04rem}.task-copy>small{font-size:.86rem}.garden-task-row{min-height:62px}.garden-care-heading>.text-link{font-size:.8rem}.garden-corners-title h2{font-size:1.14rem}
@keyframes voice-pulse{50%{box-shadow:0 0 0 17px #e5f3eb66}}
html.dark .search{background:var(--soft)}html.dark .care-actions .icon{background:var(--soft)}html.dark .chat-main .bubble:not(.system){background:#294e3b;color:#eef7f1}html.dark .soil-option{border-color:var(--line)}html.dark .vertical-month i{background:var(--green)}html.dark .appearance-preview.light{background:#f4f8f5;color:#172e29}
@media(max-width:360px){.theme-swatches{gap:5px}.theme-swatches i{width:20px;height:20px}.theme-option{padding:9px}.garden-care-heading{gap:6px}.garden-care-heading h2{font-size:1.04rem}.garden-progress-label,.garden-care-heading>.text-link{font-size:.72rem}.ledger-table-head,.ledger-table-row{padding:8px 6px;gap:4px;grid-template-columns:35px minmax(66px,1.2fr) minmax(40px,1fr) minmax(50px,.9fr)}.timeline-event{grid-template-columns:64px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.recording .voice-orb{animation:none}}
.plant-editor .form .photo-edit{height:145px;min-height:145px;align-self:flex-start;width:34%}.plant-editor .form .photo-edit .plant-photo{height:145px;aspect-ratio:auto}.plant-editor .edit-summary .grow label:first-child{margin-top:0}.plant-editor .edit-summary{align-items:flex-start;gap:17px}.plant-editor .edit-summary .field-choice{justify-content:space-between}.edit-field{display:flex;align-items:center;gap:14px;margin:13px 0}.edit-field>span{font-size:.86rem;flex-shrink:0;width:67px;color:var(--muted)}.edit-field>.field-choice{flex:1;font-size:.84rem;min-width:0;overflow-wrap:anywhere;text-align:left}.edit-field:has(input[name=note]),.purchase-row{border-radius:9px;background:var(--soft);padding:5px 10px}.edit-field:has(input[name=note])>span,.purchase-row>span{font-weight:500;color:var(--ink)}.edit-field:has(input[name=note])>.field-choice,.purchase-row>.field-choice{border:0;justify-content:flex-end;color:var(--muted)}.plant-editor .sheet-actions{margin-top:27px}.profile-purchase{display:flex;align-items:center;gap:5px;padding:0;color:var(--muted);font-size:.78rem;text-align:left}.profile-purchase .icon{width:15px;height:15px}.plant-card>.icon-btn{min-width:25px;min-height:26px;position:absolute;right:4px;bottom:26px;color:var(--muted)}.plant-card>.icon-btn .icon{width:17px;height:17px}.personal-footer{position:sticky;bottom:0;padding:9px 0 10px;margin:15px 0;background:var(--paper);z-index:4}.personal-footer>.primary{border-radius:7px;min-height:31px;padding:5px}.personal-footer>.row{gap:7px;margin-top:5px}.personal-footer .secondary{border-radius:8px;padding:5px;min-height:30px;font-size:.8rem}.personal-footer .secondary .icon{width:17px;height:17px}
.library-title{padding:23px 0 0}.library-title h1{font-size:1.55rem;margin:0;line-height:1.3}.library-title p{color:var(--muted);font-size:.94rem;margin:4px 0 10px}.library-banner{height:179px;margin:9px 0 11px;border-radius:10px}.library-banner b{font-size:1.22rem}.library-banner p{font-size:.83rem}.subentry{border-radius:10px;padding:10px;min-height:63px;gap:10px}.subentry small{display:block;margin-top:4px;font-size:.8rem;color:var(--muted)}.public-grid .plant-photo{aspect-ratio:1.9}.public-grid .plant-card .body{padding:5px 7px}.public-grid .plant-card b{font-size:.93rem}.public-grid .plant-card p{font-size:.76rem}.public-grid .pin .icon{fill:white}.public-grid .is-pinned .icon{fill:var(--green)}.public-grid.list .plant-card .plant-photo{width:95px;height:90px}.species-hero{height:235px;margin:3px 0 13px;border-radius:9px}.species-name{display:flex;align-items:center;gap:9px}.species-name h1{font-size:1.5rem;margin:0}.species-facts{background:var(--soft);border-radius:12px;padding:0 14px;margin:15px 0}.species-facts>div{display:flex;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:.91rem}.species-facts>div:last-child{border:0}.species-facts b{min-width:67px;white-space:nowrap}.species-facts span{font-size:.85rem;color:var(--muted);line-height:1.6}.species-facts .icon{color:var(--green);width:24px;height:24px}.species-source{display:flex;justify-content:space-between;width:100%;border:1px solid var(--line);border-radius:9px;padding:15px 10px;font-size:.94rem}.species-source small{font-size:.8rem;color:var(--green)}.species-source .icon{width:21px;height:21px}.species-actions{display:flex;gap:7px;position:sticky;bottom:70px;padding:10px 0;background:var(--paper);margin-top:25px}.species-actions>.primary,.species-actions>.secondary{font-size:.82rem;padding:9px 10px;min-height:45px;border-radius:25px;white-space:nowrap}.species-actions .icon{width:18px;height:18px}.species-actions>.primary{flex:1}.grid.list .plant-card>.icon-btn{bottom:9px}.grid.list .plant-card .pin{right:27px}.grid.list .plant-card .body{padding-right:52px}
.overlay-bg .sheet:not(.compact):not(.popover){animation:sheet-enter .17s ease-out}.overlay-bg .sheet.compact{animation:dialog-enter .14s ease-out}@keyframes sheet-enter{from{transform:translateY(25px);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes dialog-enter{from{transform:scale(.98);opacity:.65}to{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.overlay-bg .sheet{animation:none!important}}
.tasks-subtitle{text-align:center;font-size:.9rem;color:var(--muted);margin:-6px 0 23px}.task-progress-copy{font-size:.94rem;margin:8px 0 7px}.task-progress-copy>span{color:var(--muted);font-size:.88rem}.task-progress{height:9px;margin-bottom:23px;background:#e7ebef}.task-progress i{background:linear-gradient(#59b45e,#278c4e);border-radius:5px}.task-pot{padding:10px;border-radius:15px;background:var(--paper);border:1px solid #f2f4f1;box-shadow:0 5px 20px #294d2910;margin:16px 0}.task-pot>header{display:flex;gap:13px;padding:0 3px 11px;align-items:center}.task-pot header b{font-size:1.04rem}.task-pot header small{display:block;color:var(--muted);margin-top:5px;font-size:.88rem}.task-pot header .icon{width:16px;height:16px}.task-pot header .thumb{width:66px;height:60px;min-height:60px;border-radius:8px}.task-item{display:flex;align-items:center;gap:11px;padding:10px 9px;border:1px solid var(--line);border-radius:11px;margin:5px 0;background:linear-gradient(110deg,var(--paper),var(--bg))}.task-item .task-type{background:#f2f6e9;border-radius:9px;width:42px;height:42px;display:grid;place-items:center;color:#47652f;flex-shrink:0}.task-item .task-type>.icon{width:28px;height:28px}.task-item .grow{min-width:0}.task-item b{font-size:1.02rem;font-weight:600}.task-item small{display:block;font-size:.84rem;color:var(--muted);margin-top:4px;line-height:1.4}.task-item>.primary{border-radius:24px;min-height:37px;padding:7px 15px;font-size:.87rem;flex-shrink:0}.task-item .text-link{font-size:.86rem;min-height:32px;padding:0;white-space:nowrap}.task-item .text-link>.icon{width:17px;height:17px}.task-item.done{background:color-mix(in srgb,var(--soft) 65%,var(--paper))}.task-item.done .task-type{background:linear-gradient(#65ba52,#218b49);color:white;border-radius:50%;width:36px;height:36px;margin:3px}.task-item.done small{color:#359458}.task-finished{display:flex;gap:12px;align-items:center;font-weight:600;font-size:1.05rem;padding:20px 15px;margin:15px 0 10px;border-radius:14px;background:linear-gradient(110deg,#f1f8ec,#eaf9e5)}.task-finished>.icon{color:#358c4c}.reminder-editor .reminder-field{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);width:100%;padding:14px 0;min-height:52px;margin:0;font-size:.93rem;text-align:left}.reminder-field>.icon{width:20px;height:20px}.reminder-field span,.reminder-field select{margin-left:auto}.reminder-field span{color:var(--ink)}.form .reminder-field select{width:54%;border:0;min-height:25px;background:transparent;text-align:right;padding:0;font-size:.88rem}.reminder-editor .switch-row{justify-content:flex-start}.reminder-editor .switch-row input{margin-left:auto}.reminder-editor>.primary{margin-top:25px}.time-wheels{display:flex;gap:7px;margin:18px 0}.time-wheel{height:180px;padding:72px 0;overflow-y:auto;scroll-snap-type:y mandatory;background:var(--soft);border-radius:10px;flex:1;scrollbar-width:none}.time-wheel button{display:block;height:36px;min-height:36px;width:100%;scroll-snap-align:center;color:#7f8793;font-size:.96rem}.time-wheel .selected{background:color-mix(in srgb,var(--green) 8%,var(--paper));color:var(--ink);font-weight:600;border-radius:7px}.repeat-option{display:flex!important;align-items:center;gap:12px;padding:14px 7px!important;margin:0!important;border-bottom:1px solid var(--line);font-size:.96rem!important}.repeat-option:has(input:checked){background:var(--soft);border-radius:9px}.repeat-option input{accent-color:var(--green);width:17px;height:17px}.custom-repeat{display:flex!important;align-items:center;gap:12px;justify-content:center}.form .custom-repeat input{width:68px!important;text-align:center}.calendar-heading{display:flex;align-items:center;gap:5px;margin:14px 0}.calendar-heading>.text-link{padding:0;font-weight:600;font-size:1rem}.calendar-heading>.icon-btn{min-width:32px}.calendar-heading .chip{padding:5px 12px;min-height:30px}.date-dots{position:absolute;bottom:1px;left:0;right:0;display:flex;justify-content:center;gap:3px;min-height:5px!important;padding:0!important}.date-dots>i,.calendar-legend i{width:4px;height:4px;border-radius:50%;display:inline-block}.recorded{background:#39785b}.pending{background:#eda435}.review{background:#d66558}.calendar button.selected .recorded{background:#c9e8d8}.calendar-legend{display:flex;align-items:center;justify-content:center;gap:15px;font-size:.78rem;color:var(--muted);margin:20px 0}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend i{width:7px;height:7px}.calendar-agenda{border:1px solid var(--line);border-radius:12px;padding:5px 12px;margin-top:20px}.calendar-agenda>h3{margin:12px 0;font-size:1rem}.agenda-row{display:flex;align-items:center;gap:11px;text-align:left;padding:16px 0;border-top:1px solid var(--line);width:100%}.agenda-row b{font-size:.94rem;font-weight:500}.agenda-row small{font-size:.82rem;margin-top:4px;display:block}.agenda-row>.icon{width:16px;height:16px}.agenda-icon{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--green);flex-shrink:0}.agenda-icon>.icon{width:22px;height:22px}.agenda-row>img{width:50px;height:50px;border-radius:7px;object-fit:cover}.agenda-icon.pending-icon{background:#fff7e6;color:#b58130}.recorded-text{color:var(--green)}.pending-text{color:#cb8d2a}.calendar button{height:43px}.calendar span.muted{font-size:.86rem}
.form input[type=radio]{width:17px!important;min-height:17px!important;height:17px;flex:none;padding:0}.form .switch-row{display:flex}.soil-option>span{flex:1;min-width:0}.soil-option>.icon{width:29px;height:29px;color:var(--green);margin:0 7px}.soil-option{min-height:65px;gap:10px}.soil-check-sheet{position:relative}.soil-check-sheet .sheet-title{position:absolute;right:12px;top:12px}.soil-check-sheet .sheet-title h2{display:none}.soil-check-sheet .care-plant{background:none;padding:0;margin:3px 25px 18px 0}.soil-check-sheet .care-plant b{font-size:1.05rem}.soil-check-sheet .care-plant small>.icon{width:15px;height:15px}.soil-check-sheet h3{font-size:1.1rem;margin:0 0 10px}.soil-check-sheet .soil-check{padding-top:0}.soil-notice{display:flex;gap:8px;align-items:center;background:var(--soft);color:var(--green);padding:9px;border-radius:10px;font-size:.86rem!important}.soil-notice .icon{width:23px;height:23px}.soil-check-sheet .primary.full{border-radius:24px}.soil-check-sheet .text-link.full{font-size:.86rem;min-height:31px;margin-top:8px}
.ledger-range{display:flex;gap:8px;margin:22px 0}.ledger-range>button{flex:1;border:1px solid var(--line);background:var(--soft);border-radius:9px;min-height:39px;font-size:.91rem}.ledger-range>.selected{background:var(--green);color:white}.date-range-box{padding:12px;background:var(--soft);border-radius:11px}.date-range-box h4{margin:0 0 15px;font-weight:400}.date-range-box .edit-field{margin:9px 0}.date-range-box .field-choice{background:var(--paper);color:var(--muted)}
.time-wheel:not(.wheel-ready){scroll-snap-type:none}.appearance-preview.dark .preview-photo{filter:brightness(.78)}@media(max-width:360px){.sheet{padding-left:14px;padding-right:14px}.sheet-actions{gap:7px}.theme-option small{font-size:.72rem}.photo-detail-actions{flex-wrap:wrap}.photo-detail-actions>*{min-width:85px}.care-actions button{min-width:0;flex:1}.species-actions{gap:4px}.species-actions>.primary,.species-actions>.secondary{font-size:.74rem;padding:8px}.garden-corner{gap:5px}.corner-copy>small{white-space:normal}}

/* Garden calibration v0.3.3. Board 7-11: 853px wide. The first 80px are native status chrome; do not paint a fake status bar. Character stays the user-approved animation pack. */
html:not([data-font=large]) .garden-scene{height:calc(118.76cqw + env(safe-area-inset-top))}
html:not([data-font=large]) .garden-title{top:calc(1.88cqw + env(safe-area-inset-top));left:5.74cqw;right:3.63cqw;gap:1cqw}
html:not([data-font=large]) .garden-heading{gap:1.88cqw}
html:not([data-font=large]) .garden-heading>.icon{width:8.44cqw;height:9.38cqw;margin-top:0}
html:not([data-font=large]) .garden-heading h1{font-size:5.16cqw;line-height:1.2;margin:1cqw 0 .75cqw;font-weight:650;letter-spacing:0}
html:not([data-font=large]) .garden-heading p{font-size:2.93cqw;line-height:1.3}
html:not([data-font=large]) .garden-badges{width:26.03cqw;min-width:0;gap:1.64cqw}
html:not([data-font=large]) .garden-badges .garden-badge{min-height:8.68cqw;padding:1.6cqw 2.1cqw;gap:1.6cqw;font-size:2.82cqw!important}
html:not([data-font=large]) .garden-badges .plants-badge{min-height:9.85cqw}
html:not([data-font=large]) .garden-badge>.icon:first-child{width:5.4cqw;height:6.1cqw}
html:not([data-font=large]) .garden-badge small{font-size:2.7cqw;margin-top:.7cqw}
html:not([data-font=large]) .green-badge b{font-size:3.75cqw;margin-left:.7cqw}
html:not([data-font=large]) .scene-note{top:calc(33.41cqw + env(safe-area-inset-top));right:15.6%;min-width:0;width:20.5cqw;padding:2.3cqw 2.8cqw;font-size:2.93cqw;line-height:1.35}
html:not([data-font=large]) .scene-actions{top:calc(51.58cqw + env(safe-area-inset-top));left:3.05cqw;right:2.7cqw}
html:not([data-font=large]) .scene-actions>div{gap:7.27cqw}
html:not([data-font=large]) .scene-actions .scene-action{font-size:2.82cqw;min-height:9.38cqw;padding:1.85cqw 2.35cqw;gap:1.5cqw}
html:not([data-font=large]) .scene-action>.icon:first-child{width:5.4cqw;height:5.4cqw}
html:not([data-font=large]) .scene-bottom{left:26.03%;right:2.34cqw;bottom:1.99cqw;gap:1.64cqw;align-items:center}
html:not([data-font=large]) .scene-bottom .scene-name{min-height:11.49cqw;padding:1.1cqw .7cqw;flex:1.55}
html:not([data-font=large]) .scene-name b{font-size:3.28cqw;line-height:1.25}
html:not([data-font=large]) .scene-name .muted{font-size:2.58cqw;margin-top:.55cqw}
html:not([data-font=large]) .scene-bottom .scene-name .icon-btn{min-width:5.86cqw;width:5.86cqw;min-height:8.44cqw}
html:not([data-font=large]) .garden-claim{min-height:10.55cqw;font-size:3.05cqw;padding:1.8cqw 2.1cqw;flex:1;gap:.8cqw}
html:not([data-font=large]) .garden-care-heading{min-height:10.67cqw;padding:2.2cqw 0 1.5cqw;gap:2.11cqw}
html:not([data-font=large]) .garden-care-heading h2{font-size:4.22cqw}
html:not([data-font=large]) .garden-care-heading h2>span{font-size:3.28cqw}
html:not([data-font=large]) .garden-panel{padding-left:4.34cqw;padding-right:4.34cqw;border-radius:5.63cqw 5.63cqw 0 0}
html:not([data-font=large]) .garden-task-row{min-height:14.65cqw;border-radius:3.52cqw;gap:3.05cqw}
html:not([data-font=large]) .task-photo{width:17.58cqw;height:12.66cqw;border-radius:2.1cqw}
html:not([data-font=large]) .task-copy>b{font-size:3.52cqw}
html:not([data-font=large]) .task-copy>small{font-size:2.93cqw}
html:not([data-font=large]) .garden-corners-title h2{font-size:4.1cqw}
html:not([data-font=large]) .corner-copy>b{font-size:3.05cqw}
html:not([data-font=large]) .corner-copy>small{font-size:2.7cqw}
html:not([data-font=large]) .garden-corner{gap:1.9cqw;min-height:14.65cqw}
html:not([data-font=large]) .corner-photo{height:13.25cqw}
html[data-view=garden] .visual-review-banner{display:none}
