/* Match page-specific hierarchy; the global root font is deliberately unchanged. */
.auth-confirmed{min-height:100dvh;padding:calc(10px + env(safe-area-inset-top)) 25px calc(24px + env(safe-area-inset-bottom));background:radial-gradient(ellipse at 100% 0%,#e8f3e870,transparent 38%),var(--paper)}
.auth-back{height:40px;margin-left:-12px}.auth-vertical-brand{display:block;width:142px;height:150px;object-fit:contain;mix-blend-mode:multiply;margin:22px auto 14px}.auth-confirmed h1{text-align:center;font-size:24px;line-height:1.4;font-weight:600;margin:0 0 28px}.auth-confirmed .form{gap:15px}.auth-input-row{display:flex!important;align-items:center;gap:12px;min-height:58px;margin:0!important;padding:8px 13px;border:1px solid var(--line);border-radius:13px;background:var(--paper);box-shadow:0 2px 8px #233c2804}.auth-input-row>.icon{width:20px;height:22px;color:var(--muted);flex-shrink:0}.auth-country{font-size:16px;white-space:nowrap;border-right:1px solid var(--line);padding-right:11px;color:var(--ink)}.auth-input-row input{border:0!important;background:transparent!important;padding:4px 0!important;min-height:36px;min-width:0;flex:1;width:0;font-size:16px}.auth-input-row .text-link{font-size:13px;white-space:nowrap;padding:3px 0;color:var(--green)}.auth-submit{margin-top:20px;border-radius:28px;min-height:50px;font-size:16px;background:linear-gradient(100deg,var(--green),color-mix(in srgb,var(--green),#173e2c 20%))}.auth-registration-note,.auth-status{font-size:12px;line-height:1.5;text-align:center;color:var(--muted);margin:0}.auth-status:empty{display:none}.auth-consent{display:flex!important;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;font-size:12px!important;color:var(--muted);margin-top:14px!important}.auth-consent input{accent-color:var(--green)}.auth-consent .text-link{font-size:12px;min-height:26px;padding:0}.auth-help{display:block;font-size:12px;color:var(--muted);margin:12px auto 0;padding:5px}
.ai-brand-crop{position:relative;display:block;width:26cqw;height:10cqw;overflow:hidden}.ai-brand-crop .ai-brand-image{position:absolute;left:-5cqw;top:-7cqw;width:37cqw;height:22cqw;max-width:none;object-fit:contain;mix-blend-mode:multiply}.ai-home .ai-entry{min-height:41cqw;padding-top:3.5cqw}.ai-home .ai-entry-orb{width:22cqw;height:22cqw}.ai-home .ai-entry b{font-size:4.4cqw}.recent-text-placeholder{display:flex;align-items:center;justify-content:center;gap:8px;height:100%;color:var(--muted);font-size:13px}.recent-text-placeholder .icon{width:26px;height:26px}
html:not([data-font=large]) .garden-scene{height:calc(126cqw + env(safe-area-inset-top))}html:not([data-font=large]) .garden-title{top:calc(7cqw + env(safe-area-inset-top));left:5cqw;right:3cqw}html:not([data-font=large]) .garden-heading h1{font-size:6cqw}html:not([data-font=large]) .garden-heading p{font-size:3.2cqw}html:not([data-font=large]) .character-wrap{width:82%;left:9%;top:calc(32cqw + env(safe-area-inset-top))}html:not([data-font=large]) .scene-actions{top:calc(61cqw + env(safe-area-inset-top))}html:not([data-font=large]) .scene-note{width:26cqw;right:10cqw;top:calc(37cqw + env(safe-area-inset-top));font-size:3.1cqw;padding:2.5cqw;white-space:normal}html:not([data-font=large]) .scene-actions .scene-action{font-size:3.1cqw}html:not([data-font=large]) .garden-task-row{min-height:18cqw}html:not([data-font=large]) .task-copy>b{font-size:4cqw}html:not([data-font=large]) .task-copy>small{font-size:3.1cqw}html:not([data-font=large]) .corner-copy>b{font-size:3.5cqw}html:not([data-font=large]) .corner-copy>small{font-size:3cqw}
html[data-font=large] .garden-scene{height:calc(145cqw + env(safe-area-inset-top))}html[data-font=large] .garden-title{top:calc(7cqw + env(safe-area-inset-top));left:5cqw;right:3cqw;flex-wrap:nowrap}html[data-font=large] .garden-heading h1{font-size:6.7cqw}html[data-font=large] .garden-heading p{font-size:3.6cqw}html[data-font=large] .garden-badges .garden-badge{font-size:3.2cqw!important}.garden-heading .approved-icon{object-fit:contain}html[data-font=large] .character-wrap{width:84%;left:8%;top:40cqw}html[data-font=large] .scene-actions{top:70cqw}html[data-font=large] .scene-note{width:32cqw;right:8cqw;top:39cqw;font-size:3.6cqw;min-width:0}
.me-confirmed{padding:0 19px calc(90px + env(safe-area-inset-bottom));background:linear-gradient(#f9fcfa,#f3f8f6);min-height:100dvh}.me-scene{position:relative;isolation:isolate;min-height:270px;margin:0 -19px;padding:calc(23px + env(safe-area-inset-top)) 20px 0;overflow:hidden;background:linear-gradient(95deg,#fbfefbf5,#fbfefb15)}.me-photo-decoration{position:absolute;z-index:-1;right:0;top:75px;width:48%;height:210px;overflow:hidden;opacity:.95}.me-photo-decoration .ref-photo{width:100%;height:100%}.me-scene header h1{font-size:24px;font-weight:650;margin:0}.me-scene header .icon-btn{color:var(--ink)}.me-identity{display:flex;align-items:center;gap:12px;margin-top:42px}.me-avatar{width:65px;height:65px;border-radius:50%;overflow:hidden;flex-shrink:0}.me-avatar .ref-photo{width:100%;height:100%}.me-identity .text-link{padding:0;min-height:28px;color:var(--ink);gap:4px}.me-identity b{font-size:18px}.me-identity p{font-size:12px;color:var(--muted);margin:4px 0 0}.me-stats{position:relative;margin:-15px 0 18px;background:color-mix(in srgb,var(--paper) 94%,transparent);border:1px solid var(--line);border-radius:14px;padding:12px 0;box-shadow:0 4px 16px #274c3505}.me-stats .stat{padding:0 5px;border-right:1px solid var(--line)}.me-stats .stat:last-child{border-right:0}.me-stats .stat b{font-size:20px;font-weight:650}.me-stats .stat span{font-size:12px;margin-top:4px}.me-main-links{margin:0 0 18px!important;padding:0 12px}.me-main-links .list-row{min-height:56px;gap:10px}.me-main-links .list-row b,.me-settings-link .list-row b{font-size:16px}.me-main-links .list-row .muted{font-size:12px}.me-settings-link .list-row{min-height:56px}.me-version{font-size:11px;color:var(--muted);padding:3px;display:block;margin:0 auto}
.catalog-image{position:relative;width:100%;height:100%;overflow:hidden;background:var(--soft);isolation:isolate}.catalog-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.catalog-image[data-state=loading]>img{opacity:0}.catalog-image-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--soft);color:var(--muted);font-size:12px;padding:8px;text-align:center}.catalog-image-placeholder button{font-size:12px;padding:4px;min-height:28px}.catalog-image[data-state=loading] .catalog-image-placeholder button{display:none}.catalog-image[data-state=ready] .catalog-image-placeholder{display:none}.catalog-image.catalog-hero{height:100%;aspect-ratio:auto}.catalog-image[data-state=failed]>img{display:none}
.library-confirmed .library-title h1{font-size:25px;margin-top:7px}.library-confirmed .library-title p{font-size:14px}.library-confirmed .library-carousel{margin:14px 0 10px}.library-confirmed .library-slide{height:187px}.library-confirmed .library-carousel-controls{margin:5px 0;min-height:16px}.library-confirmed .subentry{min-height:58px}.library-confirmed .subentry span{font-size:15px}.library-confirmed .search input{font-size:14px}.library-confirmed .plant-card .plant-photo{aspect-ratio:1.65}.library-confirmed .plant-card .body{padding:7px 8px 8px}.library-confirmed .plant-card .body>b{font-size:15px}.library-confirmed .plant-caption{display:none}.library-confirmed .plant-tags{margin-top:5px;gap:3px}.library-confirmed .plant-tags span{font-size:11px;padding:2px 4px}.library-confirmed .recommendation-reason{font-size:12px;min-height:29px;padding:3px 8px;text-align:left}.library-confirmed .public-grid.list .plant-card .plant-photo{aspect-ratio:1}.library-confirmed .public-grid.list .plant-card .recommendation-reason{grid-column:2}.library-confirmed .grid{gap:10px}
html.dark .auth-vertical-brand{mix-blend-mode:normal;border-radius:12px}html.dark .me-confirmed{background:var(--bg)}html.dark .me-scene{background:var(--bg)}html.dark .me-photo-decoration{opacity:.6}html.dark .auth-confirmed{background:var(--bg)}
html[data-font=large] .auth-confirmed h1{font-size:28px}html[data-font=large] .auth-input-row input{font-size:18px}html[data-font=large] .auth-submit{font-size:19px}html[data-font=large] .auth-registration-note,html[data-font=large] .auth-status,html[data-font=large] .auth-consent{font-size:14px!important}html[data-font=large] .me-identity b{font-size:21px}html[data-font=large] .me-main-links .list-row b,html[data-font=large] .me-settings-link .list-row b{font-size:19px}html[data-font=large] .library-confirmed .plant-card .body>b{font-size:18px}html[data-font=large] .library-confirmed .plant-tags span{font-size:13px}html[data-font=large] .library-confirmed .recommendation-reason{font-size:14px}
@media(max-width:350px){.auth-confirmed{padding-left:18px;padding-right:18px}.auth-input-row{gap:8px;padding-left:10px;padding-right:10px}.auth-input-row .text-link{font-size:12px}.me-photo-decoration{width:45%}.me-identity b{font-size:17px}.library-confirmed .subentry span{font-size:14px}.library-confirmed .plant-tags{flex-wrap:wrap}}

/* Retry is a sibling of card navigation, not a nested interactive control. */
.catalog-card>.catalog-card-open{display:block;width:100%;padding:0;text-align:left;background:transparent;color:inherit}
.catalog-card>.catalog-card-retry{display:none;position:absolute;z-index:3;top:28px;left:8px;right:8px;min-height:36px;padding:6px;font-size:12px}
.catalog-card[data-image-state=failed]>.catalog-card-retry{display:flex}
.library-confirmed .public-grid:not(.list) .catalog-card .plant-photo{width:100%;height:auto;margin:0;aspect-ratio:1.65;flex-shrink:0}
.library-confirmed .public-grid:not(.list) .catalog-card .catalog-image{position:absolute;inset:0;height:100%;width:100%}
.library-confirmed .public-grid.list .catalog-card>.catalog-card-open{display:flex;align-items:center}
.library-confirmed .public-grid.list .catalog-card>.catalog-card-retry{left:10px;right:auto;width:85px;top:22px}
.catalog-card .body{min-width:0}.catalog-card .plant-tags{display:flex;flex-wrap:wrap}

.plant-card>.pin[aria-pressed=true],.species-detail .topbar .icon-btn[aria-pressed=true]{background:var(--soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 30%,transparent);color:var(--green)}
.selected-state-icon{opacity:1}.species-detail .topbar .icon-btn[aria-pressed=true] .icon{width:24px;height:24px}

.sheet.display-settings{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(340px,calc(100vw - 32px));max-width:340px;max-height:calc(100dvh - 40px);margin:0;padding:18px 20px 22px;border-radius:18px;overflow-y:auto;animation:none!important}
.sheet.display-settings:before{display:none}.display-settings input[type=range]{display:block;width:100%;margin:12px 0 0}.density-ticks{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:3px 2px 0}
.grid[style*="--columns:4"] .plant-card .body,.grid[style*="--columns:5"] .plant-card .body{padding-left:4px;padding-right:4px;overflow-wrap:anywhere}
.grid[style*="--columns:4"] .plant-tags,.grid[style*="--columns:5"] .plant-tags{flex-wrap:wrap}
