@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..600&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface:#f5f8ef;--surface-dim:#d9dbd3;--surface-bright:#fbfcf6;--surface-container-lowest:#fff;--surface-container-low:#f1f4e9;--surface-container:#e9ede0;--surface-container-high:#e3e8d8;--surface-container-highest:#dde3d2;--on-surface:#16201a;--on-surface-variant:#3c4842;--outline:#6b766e;--outline-variant:#bcc7bd;--primary:#0f5238;--on-primary:#fff;--primary-container:#2d6a4f;--on-primary-container:#a8e7c5;--secondary:#2b694d;--on-secondary:#fff;--secondary-container:#b0f1cc;--on-secondary-container:#155138;--tertiary:#5d7a4a;--on-tertiary:#fff;--tertiary-container:#d6e9bf;--on-tertiary-container:#354d27;--accent:#c98a2b;--accent-soft:#f3e2c2;--error:#ba1a1a;--aurora-1:#2d6a4f2e;--aurora-2:#b0f1cc4d;--aurora-3:#c98a2b1f;--aurora-4:#5d7a4a29;--leaf-color:#0f52381a;--unit:8px;--container-max:1280px;--gutter:24px;--margin-mobile:18px;--margin-desktop:48px;--stack-sm:8px;--stack-md:16px;--stack-lg:32px;--font-serif:"Fraunces", "Noto Serif", Georgia, serif;--font-sans:"Plus Jakarta Sans", system-ui, sans-serif;--rounded-sm:.35rem;--rounded-md:.6rem;--rounded-lg:.9rem;--rounded-xl:1.25rem;--rounded-2xl:1.75rem;--rounded-3xl:2.25rem;--rounded-full:9999px;--shadow-sm:0 2px 8px #0f281c0f;--shadow-md:0 12px 30px #0f281c14;--shadow-lg:0 24px 60px #0f281c1f;--shadow-glow:0 0 0 1px #0f52380f, 0 18px 50px #0f523824;--glass-bg:linear-gradient(150deg, #ffffff9e, #ffffff4d);--glass-bg-strong:linear-gradient(150deg, #fffc, #ffffff85);--glass-blur:blur(18px) saturate(160%);--glass-border:1px solid #ffffff8c;--glass-edge:inset 0 1px 0 #ffffffd9, inset 0 -1px 1px #0f52380d;--glass-shadow:0 14px 40px #0f52381a;--glass-sheen:linear-gradient(105deg, transparent 30%, #ffffff8c 48%, transparent 62%);--transition:.35s cubic-bezier(.22, 1, .36, 1)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#0a140f;--surface-dim:#07100b;--surface-bright:#12201a;--surface-container-lowest:#060d09;--surface-container-low:#0e1813;--surface-container:#121f18;--surface-container-high:#182820;--surface-container-highest:#1f3228;--on-surface:#e6efe6;--on-surface-variant:#adbcb1;--outline:#7d8b81;--outline-variant:#2c3a31;--primary:#7ce0a8;--on-primary:#00391f;--primary-container:#2a6a4c;--on-primary-container:#c8f5da;--secondary:#8fdcb1;--on-secondary:#00391f;--secondary-container:#1d4b35;--on-secondary-container:#b6f1cc;--tertiary:#b8d29a;--on-tertiary:#243814;--tertiary-container:#3a4f2b;--on-tertiary-container:#d6e9bf;--accent:#e3b066;--accent-soft:#3a2f1c;--aurora-1:#2d6a4f66;--aurora-2:#4caf8238;--aurora-3:#c98a2b29;--aurora-4:#5d7a4a47;--leaf-color:#7ce0a81a;--shadow-sm:0 2px 8px #0006;--shadow-md:0 12px 30px #00000073;--shadow-lg:0 24px 60px #0000008c;--shadow-glow:0 0 0 1px #7ce0a81a, 0 18px 50px #00000080;--glass-bg:linear-gradient(150deg, #1e32288c, #0e181359);--glass-bg-strong:linear-gradient(150deg, #22382dc7, #121f189e);--glass-blur:blur(20px) saturate(140%);--glass-border:1px solid #7ce0a82e;--glass-edge:inset 0 1px 0 #ffffff1a, inset 0 -1px 1px #00000040;--glass-shadow:0 16px 44px #00000080;--glass-sheen:linear-gradient(105deg, transparent 30%, #ffffff2e 48%, transparent 62%)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--surface);color:var(--on-surface);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;transition:background-color var(--transition), color var(--transition);line-height:1.65;overflow-x:hidden}h1,h2,h3,h4,.font-serif{font-family:var(--font-serif);font-optical-sizing:auto}a{color:inherit;text-decoration:none;transition:color .2s}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit;transition:all .25s}img{max-width:100%;display:block}::selection{background:var(--primary);color:var(--on-primary)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--outline-variant);border:3px solid var(--surface);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.container{max-width:var(--container-max);padding:0 var(--margin-mobile);margin:0 auto}@media (width>=768px){.container{padding:0 var(--margin-desktop)}}.pressing-effect:active{transform:scale(.96)}.glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-edge), var(--glass-shadow)}.glass-strong{background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-edge), var(--glass-shadow)}.liquid-glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-edge), var(--glass-shadow);isolation:isolate;position:relative;overflow:hidden}.liquid-glass:before{content:"";background:var(--glass-sheen);opacity:0;pointer-events:none;z-index:1;background-position:150% 0;background-size:250% 250%;transition:opacity .4s,background-position .9s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.liquid-glass:hover:before{opacity:1;background-position:-50% 0}.card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--rounded-xl);box-shadow:var(--glass-edge), var(--glass-shadow);transition:transform var(--transition), box-shadow var(--transition);padding:1rem}.card:hover{box-shadow:var(--glass-edge), var(--shadow-lg);transform:translateY(-4px)}.btn{border-radius:var(--rounded-full);letter-spacing:.01em;white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-size:.9rem;font-weight:700;transition:transform .25s,box-shadow .25s,background .25s,color .25s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-container));color:var(--on-primary);box-shadow:0 10px 24px #0f523847}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px #0f52385c}.btn-outline{border:1.5px solid var(--outline-variant);color:var(--primary);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.btn-outline:hover{border-color:var(--primary);background:var(--glass-bg-strong);transform:translateY(-2px)}.display{letter-spacing:-.025em;font-size:clamp(2.6rem,6vw,4.6rem);font-weight:600;line-height:1.02}.headline-lg{letter-spacing:-.02em;font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.1}.headline-md{font-size:clamp(1.5rem,3vw,2rem);font-weight:600;line-height:1.2}.headline-sm{letter-spacing:-.01em;font-size:1.4rem;font-weight:600;line-height:1.3}.body-lg{font-size:1.125rem;font-weight:400}.body-md{font-size:1rem;font-weight:400}.body-sm{color:var(--on-surface-variant);font-size:.85rem;line-height:1.55}.label-md{letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:700}.text-primary{color:var(--primary)}.text-on-surface-variant{color:var(--on-surface-variant)}.bg-primary{background-color:var(--primary);color:var(--on-primary)}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.gradient-text{background:linear-gradient(120deg, var(--primary), var(--tertiary) 50%, var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}body.lightbox-open .header,body.lightbox-open .ambient,body.lightbox-open .scroll-progress,body.lightbox-open .to-top{visibility:hidden;pointer-events:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes drift{0%{transform:translate(0)scale(1)}33%{transform:translate(4%,-3%)scale(1.08)}66%{transform:translate(-3%,4%)scale(.96)}to{transform:translate(0)scale(1)}}@keyframes floatLeaf{0%{opacity:0;transform:translateY(0)translate(0)rotate(0)}10%{opacity:.85}90%{opacity:.85}to{transform:translateY(-115vh) translateX(var(--drift,0)) rotate(360deg);opacity:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spinSlow{to{transform:rotate(360deg)}}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(32px)}.reveal.in-view{opacity:1;transform:translateY(0)}.fade-up{animation:.7s cubic-bezier(.22,1,.36,1) both fadeUp}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}.header{z-index:150;transition:background .4s,box-shadow .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s;position:sticky;top:0}.header.scrolled{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-edge), 0 8px 30px #0f281c14;border-bottom:var(--glass-border)}.header-content{justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;display:flex}.logo{align-items:center;gap:.85rem;display:flex}.logo-badge{border-radius:var(--rounded-full);background:linear-gradient(135deg, var(--primary), var(--tertiary), var(--accent));width:46px;height:46px;transition:transform var(--transition);place-items:center;padding:2px;display:grid;box-shadow:0 6px 18px #0f523840}.logo:hover .logo-badge{transform:rotate(-8deg)scale(1.05)}.logo-img{object-fit:cover;border:2px solid var(--surface-container-lowest);border-radius:50%;width:100%;height:100%}.logo-text{font-family:var(--font-serif);color:var(--primary);flex-direction:column;font-size:1.35rem;font-weight:600;line-height:1.05;display:flex}.logo-sub{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--on-surface-variant);font-size:.62rem;font-weight:700}.nav{border-radius:var(--rounded-full);gap:.5rem;padding:.35rem;display:none}@media (width>=768px){.nav{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-edge);display:flex}}.nav-link{color:var(--on-surface-variant);border-radius:var(--rounded-full);padding:.5rem 1.1rem;font-size:.9rem;font-weight:700;transition:color .25s,background .25s;position:relative}.nav-link:hover{color:var(--primary)}.nav-link.active{color:var(--on-primary);background:linear-gradient(135deg, var(--primary), var(--primary-container));box-shadow:0 6px 16px #0f523840}[data-theme=dark] .nav-link.active{color:var(--on-primary)}.header-actions{align-items:center;gap:.5rem;display:flex}.icon-btn{border-radius:var(--rounded-full);width:44px;height:44px;color:var(--primary);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-edge);place-items:center;display:grid}.icon-btn:hover{color:var(--on-primary);background:linear-gradient(135deg, var(--primary), var(--primary-container));transform:translateY(-2px)rotate(8deg)}.theme-toggle .material-symbols-outlined{font-size:1.25rem}.menu-btn{display:grid}@media (width>=768px){.menu-btn{display:none}}.mobile-menu{z-index:140;background:var(--glass-bg-strong);width:min(78vw,320px);height:100dvh;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-left:var(--glass-border);padding:6rem 1.5rem 2rem;transition:transform .45s cubic-bezier(.22,1,.36,1);position:fixed;top:0;right:0;transform:translate(105%);box-shadow:-20px 0 60px #0f281c2e}.mobile-menu.open{transform:translate(0)}.mobile-nav{flex-direction:column;gap:.5rem;display:flex}.mobile-nav .nav-link{border-radius:var(--rounded-lg);align-items:center;gap:.85rem;padding:.9rem 1rem;font-size:1.05rem;display:flex}.mobile-scrim{z-index:130;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;visibility:hidden;background:#08100b59;transition:opacity .35s,visibility .35s;position:fixed;inset:0}.mobile-scrim.open{opacity:1;visibility:visible}@media (width>=768px){.mobile-menu,.mobile-scrim{display:none}}.footer{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-top:var(--glass-border);box-shadow:var(--glass-edge);margin-top:5rem}.footer-content{grid-template-columns:1fr;gap:2.5rem;padding-top:3.5rem;padding-bottom:2.5rem;display:grid}@media (width>=768px){.footer-content{grid-template-columns:1.6fr 1fr 1.4fr;gap:3rem}}.footer-logo{font-family:var(--font-serif);color:var(--primary);align-items:center;gap:.65rem;margin-bottom:.75rem;font-size:1.25rem;font-weight:600;display:flex}.footer-logo img{object-fit:cover;border-radius:50%;width:34px;height:34px}.footer-tagline{color:var(--on-surface-variant);max-width:320px;font-size:.9rem;line-height:1.6}.footer-nav,.footer-note{flex-direction:column;gap:.6rem;display:flex}.footer h4{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--on-surface);margin-bottom:.35rem;font-size:.75rem;font-weight:800}.footer-nav a{color:var(--on-surface-variant);width:fit-content;font-size:.9rem;font-weight:600;transition:color .2s,transform .2s}.footer-nav a:hover{color:var(--primary);transform:translate(3px)}.footer-note p{color:var(--on-surface-variant);font-size:.88rem;line-height:1.6}.footer-bottom{border-top:1px solid var(--outline-variant)}.footer-bottom-inner{flex-direction:column;justify-content:space-between;align-items:center;gap:.75rem;padding-top:1.5rem;padding-bottom:1.5rem;display:flex}@media (width>=600px){.footer-bottom-inner{flex-direction:row}}.copyright,.footer-made{letter-spacing:.04em;color:var(--on-surface-variant);align-items:center;gap:.35rem;font-size:.78rem;display:inline-flex}.footer-made .heart{color:#e0245e;font-variation-settings:"FILL" 1;font-size:1rem;animation:1.6s ease-in-out infinite heartbeat}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}}.plant-card{border-radius:var(--rounded-xl);perspective:1000px;animation:.6s cubic-bezier(.22,1,.36,1) both popIn;display:block}.plant-card-inner{border-radius:var(--rounded-xl);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-edge), var(--glass-shadow);transform:rotateX(var(--rx,0)) rotateY(var(--ry,0));transform-style:preserve-3d;flex-direction:column;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .35s;display:flex;position:relative;overflow:hidden}.plant-card:hover .plant-card-inner{box-shadow:var(--glass-edge), var(--shadow-glow)}.plant-card-image{aspect-ratio:4/3;background-color:var(--surface-container);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.img-skeleton{background:linear-gradient(100deg, var(--surface-container) 30%, var(--surface-container-high) 50%, var(--surface-container) 70%);background-size:200% 100%;animation:1.4s linear infinite shimmer;position:absolute;inset:0}.plant-placeholder-icon{color:var(--primary);opacity:.2;font-size:4rem}.plant-image{object-fit:cover;opacity:0;filter:blur(12px);width:100%;height:100%;transition:opacity .6s,filter .6s,transform .6s cubic-bezier(.22,1,.36,1);transform:scale(1.04)}.plant-image.loaded{opacity:1;filter:blur()}.plant-card:hover .plant-image.loaded{transform:scale(1.1)}.card-gloss{background:radial-gradient(220px circle at var(--mx,50%) var(--my,0%), #ffffff4d, transparent 60%);opacity:0;pointer-events:none;mix-blend-mode:soft-light;transition:opacity .3s;position:absolute;inset:0}.plant-card:hover .card-gloss{opacity:1}.plant-badges{flex-wrap:wrap;gap:.35rem;max-width:75%;display:flex;position:absolute;top:.7rem;left:.7rem}.plant-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--rounded-full);letter-spacing:.04em;border:1px solid #fff6;padding:.28rem .6rem;font-size:.62rem;font-weight:800;box-shadow:0 4px 12px #0f281c26}.tone-danger{color:#fff;background:#ba1a1ae0}.tone-heal{color:#fff;background:#2d6a4fe0}.tone-protect{color:#fff;background:#215c9ee0}.tone-food{color:#fff;background:#c98a2beb}.tone-neutral{color:var(--primary);background:#ffffffd1}.fav-btn{border-radius:var(--rounded-full);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:2.3rem;height:2.3rem;color:var(--on-surface-variant);z-index:3;background:#ffffffb3;place-items:center;display:grid;position:absolute;top:.7rem;right:.7rem;box-shadow:0 4px 12px #0f281c1f}.fav-btn:hover{color:var(--error);transform:scale(1.12)}.fav-btn.active{color:#e0245e;background:#ffffffeb}.fav-btn.active .material-symbols-outlined{font-variation-settings:"FILL" 1;animation:.35s cubic-bezier(.22,1,.36,1) popIn}.fav-btn .material-symbols-outlined{font-size:1.3rem}.plant-card-info{flex-direction:column;gap:.5rem;padding:1.15rem 1.25rem 1.3rem;display:flex}.plant-card-header{flex-direction:column;gap:.15rem;display:flex}.plant-name{font-family:var(--font-serif);color:var(--on-surface);font-size:1.18rem;font-weight:600;line-height:1.25}.plant-latin{font-family:var(--font-serif);color:var(--on-surface-variant);font-size:.85rem;font-style:italic}.plant-meta{border-top:1px solid var(--outline-variant);justify-content:space-between;align-items:center;margin-top:.35rem;padding-top:.7rem;display:flex}.plant-family{color:var(--on-surface-variant);align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;display:flex}.icon-sm{color:var(--primary);font-size:1.05rem}.plant-arrow{color:var(--primary);opacity:0;font-size:1.15rem;transition:transform .3s,opacity .3s;transform:translate(-4px)}.plant-card:hover .plant-arrow{opacity:1;transform:translate(0)}.sidebar{flex-direction:column;gap:1rem;display:flex}@media (width>=1024px){.sidebar{position:sticky;top:90px}}.sidebar-card{border-radius:var(--rounded-xl);padding:1.25rem}.sidebar-title{color:var(--on-surface-variant);margin-bottom:.85rem;padding-left:.4rem}.sidebar-nav{flex-direction:column;gap:.2rem;display:flex}.sidebar-link{border-radius:var(--rounded-md);font-family:var(--font-sans);color:var(--on-surface-variant);text-align:left;align-items:center;gap:.7rem;width:100%;padding:.65rem .8rem;font-size:.88rem;font-weight:600;display:flex;position:relative}.sidebar-link-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.sidebar-link .icon-sm{color:var(--outline);font-size:1.2rem;transition:color .2s}.sidebar-link:hover{background:var(--surface-container-high);color:var(--primary)}.sidebar-link:hover .icon-sm{color:var(--primary)}.sidebar-link.active{color:var(--on-primary);background:linear-gradient(135deg, var(--primary), var(--primary-container));box-shadow:0 8px 20px #0f523840}.sidebar-link.active .icon-sm,[data-theme=dark] .sidebar-link.active,[data-theme=dark] .sidebar-link.active .icon-sm{color:var(--on-primary)}.sidebar-count{border-radius:var(--rounded-full);background:var(--surface-container-high);color:var(--on-surface-variant);text-align:center;min-width:1.6rem;padding:.1rem .5rem;font-size:.72rem;font-weight:800}.sidebar-link.active .sidebar-count,.fav-filter.active .sidebar-count{color:#fff;background:#ffffff40}.fav-filter{border-radius:var(--rounded-xl);color:var(--on-surface-variant);align-items:center;gap:.7rem;width:100%;padding:.85rem 1rem;font-size:.9rem;font-weight:700;display:flex}.fav-filter:hover{color:#e0245e;transform:translateY(-2px)}.fav-filter .material-symbols-outlined{color:#e0245e}.fav-filter span:nth-child(2){text-align:left;flex:1}.fav-filter.active{color:#fff;background:linear-gradient(135deg,#e0245e,#c01e50);box-shadow:0 8px 20px #e0245e4d}.fav-filter.active .material-symbols-outlined{color:#fff;font-variation-settings:"FILL" 1}.botanical-info{flex-direction:column;gap:.85rem;display:none}@media (width>=1024px){.botanical-info{display:flex}}.info-icon{color:var(--primary);font-size:2rem}.plant-list-page{padding-top:1rem}.hero{text-align:center;padding:3rem 0 2.5rem;position:relative}.hero-inner{flex-direction:column;align-items:center;gap:1.1rem;max-width:760px;margin:0 auto;display:flex}.hero-eyebrow{border-radius:var(--rounded-full);letter-spacing:.1em;text-transform:uppercase;color:var(--primary);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-edge);align-items:center;gap:.5rem;padding:.45rem 1rem;font-size:.75rem;font-weight:700;animation:.6s cubic-bezier(.22,1,.36,1) both fadeUp;display:inline-flex}.hero-eyebrow .material-symbols-outlined{font-size:1.05rem}.hero-title{letter-spacing:-.03em;color:var(--on-surface);font-size:clamp(2.6rem,7vw,4.5rem);font-weight:600;line-height:1.03;animation:.7s cubic-bezier(.22,1,.36,1) 50ms both fadeUp}.hero-subtitle{color:var(--on-surface-variant);max-width:560px;font-size:clamp(1rem,2.2vw,1.2rem);line-height:1.6;animation:.7s cubic-bezier(.22,1,.36,1) .12s both fadeUp}.hero-stats{flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%;margin-top:1rem;animation:.7s cubic-bezier(.22,1,.36,1) .2s both fadeUp;display:flex}.stat{border-radius:var(--rounded-xl);background:var(--glass-bg);max-width:160px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-edge), var(--glass-shadow);transition:transform var(--transition);flex-direction:column;flex:120px;gap:.2rem;padding:1.1rem .75rem;display:flex}.stat:hover{transform:translateY(-4px)}.stat-num{font-family:var(--font-serif);color:var(--primary);font-size:2.2rem;font-weight:600;line-height:1}.stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--on-surface-variant);font-size:.72rem;font-weight:700}.plant-list-layout{grid-template-columns:1fr;gap:2.5rem;padding-top:1.5rem;display:grid}@media (width>=1024px){.plant-list-layout{grid-template-columns:270px 1fr;align-items:start;gap:3rem}}.list-toolbar{flex-direction:column;gap:1rem;margin-bottom:1.25rem;display:flex}.search-box{border-radius:var(--rounded-full);align-items:center;gap:.6rem;padding:.35rem .5rem .35rem 1.1rem;display:flex}.search-box>.material-symbols-outlined{color:var(--primary);font-size:1.4rem}.search-box input{font-family:var(--font-sans);color:var(--on-surface);background:0 0;border:none;outline:none;flex:1;padding:.65rem 0;font-size:1rem}.search-box input::placeholder{color:var(--on-surface-variant)}.search-clear{border-radius:var(--rounded-full);width:2rem;height:2rem;color:var(--on-surface-variant);place-items:center;display:grid}.search-clear:hover{background:var(--surface-container-high);color:var(--primary)}.tag-filters{flex-wrap:wrap;gap:.5rem;display:flex}.tag-chip{border-radius:var(--rounded-full);color:var(--on-surface-variant);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-edge);align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.82rem;font-weight:700;display:inline-flex}.tag-chip:hover{color:var(--primary);transform:translateY(-2px)}.tag-chip.active{color:var(--on-primary);background:linear-gradient(135deg, var(--primary), var(--primary-container));box-shadow:0 8px 20px #0f523847}[data-theme=dark] .tag-chip.active{color:var(--on-primary)}.tag-emoji{font-size:.95rem}.results-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.results-count{color:var(--on-surface-variant);font-size:.9rem}.results-count strong{color:var(--primary);font-size:1.05rem}.reset-btn{color:var(--primary);border-radius:var(--rounded-full);align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.82rem;font-weight:700;display:inline-flex}.reset-btn:hover{background:var(--surface-container-high)}.reset-btn .material-symbols-outlined{font-size:1.1rem}.plant-grid{gap:calc(var(--gutter) * 1.1);grid-template-columns:1fr;display:grid}@media (width>=560px){.plant-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1280px){.plant-grid{grid-template-columns:repeat(3,1fr)}}.empty-state{text-align:center;border-radius:var(--rounded-2xl);flex-direction:column;align-items:center;gap:.85rem;padding:4rem 2rem;display:flex}.empty-state>.material-symbols-outlined{color:var(--primary);opacity:.5;font-size:3.5rem}.empty-state .btn{margin-top:.75rem}.plant-detail-page{padding:1.5rem 0 2rem;animation:.5s both fadeIn}.breadcrumb{color:var(--on-surface-variant);align-items:center;gap:.35rem;margin-bottom:1.75rem;font-size:.85rem;font-weight:600;display:flex}.breadcrumb a{color:var(--primary)}.breadcrumb a:hover{text-decoration:underline}.breadcrumb .material-symbols-outlined{opacity:.6;font-size:1.1rem}.crumb-current{color:var(--on-surface)}.detail-hero{grid-template-columns:1fr;align-items:center;gap:2.5rem;margin-bottom:3.5rem;animation:.6s cubic-bezier(.22,1,.36,1) both fadeUp;display:grid}@media (width>=1024px){.detail-hero{grid-template-columns:1fr 1fr;gap:3.5rem}}.detail-image-wrap{position:relative}.detail-image-container{aspect-ratio:1;border-radius:var(--rounded-2xl);justify-content:center;align-items:center;padding:.6rem;display:flex;position:relative;overflow:hidden}.detail-image-container.clickable{cursor:zoom-in}.detail-image{object-fit:cover;border-radius:var(--rounded-xl);width:100%;height:100%;transition:transform .6s cubic-bezier(.22,1,.36,1)}.detail-image-container.clickable:hover .detail-image{transform:scale(1.04)}.zoom-hint{border-radius:var(--rounded-full);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:2.6rem;height:2.6rem;color:var(--primary);opacity:0;background:#ffffffbf;place-items:center;transition:opacity .3s,transform .3s;display:grid;position:absolute;bottom:1.2rem;right:1.2rem;transform:scale(.8);box-shadow:0 6px 16px #0f281c2e}.detail-image-container.clickable:hover .zoom-hint{opacity:1;transform:scale(1)}.detail-placeholder{color:var(--primary);opacity:.15;font-size:7rem}.detail-placeholder span{font-size:inherit}.detail-badges{flex-wrap:wrap;gap:.4rem;max-width:80%;display:flex;position:absolute;top:1.2rem;left:1.2rem}.detail-badge{border-radius:var(--rounded-full);letter-spacing:.03em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #fff6;padding:.4rem .85rem;font-size:.7rem;font-weight:800;box-shadow:0 6px 16px #0f281c33}.detail-badge.tone-danger{color:#fff;background:#ba1a1ae6}.detail-badge.tone-heal{color:#fff;background:#2d6a4fe6}.detail-badge.tone-protect{color:#fff;background:#215c9ee6}.detail-badge.tone-food{color:#fff;background:#c98a2beb}.detail-badge.tone-neutral{color:var(--primary);background:#ffffffd9}.detail-header-info{flex-direction:column;gap:.85rem;display:flex}.family-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);border-radius:var(--rounded-full);background:var(--secondary-container);align-self:flex-start;align-items:center;gap:.4rem;padding:.35rem .85rem;font-size:.78rem;font-weight:800;display:inline-flex}[data-theme=dark] .family-tag{color:var(--on-secondary-container)}.family-tag .material-symbols-outlined{font-size:1rem}.detail-title{font-family:var(--font-serif);letter-spacing:-.025em;color:var(--on-surface);font-size:clamp(2rem,4.5vw,3.2rem);font-weight:600;line-height:1.05}.scientific-name{font-family:var(--font-serif);color:var(--on-surface-variant);font-size:1.25rem;font-style:italic}.taxonomy{border-radius:var(--rounded-lg);background:var(--surface-container-low);border:1px solid var(--outline-variant);flex-direction:column;gap:.3rem;margin:.75rem 0;padding:1rem 1.2rem;display:flex}.tax-row{gap:.75rem;padding:.25rem 0;font-size:.9rem;display:flex}.tax-key{color:var(--on-surface-variant);flex:0 0 90px;font-weight:700}.tax-val{color:var(--on-surface)}.action-buttons{flex-wrap:wrap;gap:.75rem;margin-top:.75rem;display:flex}.btn-outline.is-fav{color:#e0245e;border-color:#e0245e}.btn-outline.is-fav .material-symbols-outlined{font-variation-settings:"FILL" 1}.detail-grid{gap:var(--gutter);grid-template-columns:1fr;display:grid}@media (width>=768px){.detail-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.detail-grid{grid-template-columns:repeat(3,1fr)}}.detail-card{border-radius:var(--rounded-xl);flex-direction:column;gap:1rem;padding:1.75rem;display:flex}.detail-card.full-width{grid-column:1/-1}.card-icon{background:linear-gradient(135deg, var(--primary), var(--primary-container));width:3rem;height:3rem;color:var(--on-primary);border-radius:var(--rounded-lg);place-items:center;display:grid;box-shadow:0 8px 20px #0f523840}[data-theme=dark] .card-icon{color:#062b18}.card-icon .material-symbols-outlined{font-size:1.5rem}.detail-card h3{color:var(--on-surface)}.detail-list{flex-direction:column;gap:.7rem;list-style:none;display:flex}.detail-list li{color:var(--on-surface-variant);padding-left:1.5rem;font-size:.95rem;line-height:1.55;position:relative}.detail-list li:before{content:"";background:linear-gradient(135deg, var(--primary), var(--accent));border-radius:50%;width:7px;height:7px;position:absolute;top:.55em;left:0}.related{margin-top:4rem}.related-title{color:var(--on-surface);margin-bottom:1.5rem}.related-grid{gap:var(--gutter);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=768px){.related-grid{grid-template-columns:repeat(4,1fr)}}.related-card{border-radius:var(--rounded-lg);transition:transform var(--transition), box-shadow var(--transition);overflow:hidden}.related-card:hover{box-shadow:var(--glass-edge), var(--shadow-glow);transform:translateY(-4px)}.related-card img{aspect-ratio:4/3;object-fit:cover;width:100%}.related-placeholder{aspect-ratio:4/3;background:var(--surface-container);color:var(--primary);opacity:.5;place-items:center;display:grid}.related-placeholder .material-symbols-outlined{font-size:2.5rem}.related-info{flex-direction:column;gap:.1rem;padding:.85rem 1rem;display:flex}.related-name{font-family:var(--font-serif);color:var(--on-surface);font-size:.95rem;font-weight:600;line-height:1.2}.related-latin{color:var(--on-surface-variant);font-size:.78rem;font-style:italic}.plant-pager{grid-template-columns:1fr 1fr;gap:1rem;margin-top:3.5rem;display:grid}.pager-link{border-radius:var(--rounded-xl);color:var(--on-surface);transition:transform var(--transition), box-shadow var(--transition);align-items:center;gap:.85rem;padding:1.1rem 1.3rem;display:flex}.pager-link:hover{box-shadow:var(--glass-edge), var(--shadow-glow);color:var(--primary);transform:translateY(-3px)}.pager-link.align-end{text-align:right;justify-content:flex-end}.pager-link .material-symbols-outlined{color:var(--primary)}.pager-text{flex-direction:column;display:flex}.pager-label{letter-spacing:.1em;text-transform:uppercase;color:var(--on-surface-variant);font-size:.68rem;font-weight:800}.pager-name{font-family:var(--font-serif);font-size:1rem;font-weight:600}.lightbox{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:zoom-out;background:#060d09d1;place-items:center;padding:2rem;animation:.3s both fadeIn;display:grid;position:fixed;inset:0}.lightbox-close{border-radius:var(--rounded-full);color:#fff;background:#ffffff1f;place-items:center;width:3rem;height:3rem;display:grid;position:absolute;top:1.5rem;right:1.5rem}.lightbox-close:hover{background:#ffffff40;transform:rotate(90deg)}.lightbox-figure{cursor:default;flex-direction:column;gap:.75rem;max-width:min(92vw,900px);max-height:86vh;animation:.4s cubic-bezier(.22,1,.36,1) both popIn;display:flex}.lightbox-figure img{object-fit:contain;border-radius:var(--rounded-lg);max-width:100%;max-height:76vh;box-shadow:0 30px 80px #00000080}.lightbox-figure figcaption{text-align:center;color:#ffffffe6;font-family:var(--font-serif);font-size:1.05rem}.lightbox-figure figcaption em{color:#ffffffa6}.not-found{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:5rem 0;display:flex}.not-found .material-symbols-outlined{color:var(--primary);opacity:.4;font-size:4rem}@media (width<=560px){.pager-name{font-size:.85rem}.plant-pager{gap:.6rem}}.about-page{flex-direction:column;gap:2.5rem;max-width:900px;margin:0 auto;padding:2rem 0 1rem;display:flex}.about-hero{flex-wrap:wrap;align-items:center;gap:2.5rem;display:flex}.about-logo-frame{border-radius:var(--rounded-2xl);background:linear-gradient(135deg, var(--primary), var(--tertiary), var(--accent));box-shadow:var(--shadow-lg);flex-shrink:0;padding:6px}.about-logo{border-radius:calc(var(--rounded-2xl) - 6px);object-fit:cover;width:170px;height:170px;display:block}.about-hero-text{flex-direction:column;flex:1;align-items:flex-start;gap:.85rem;min-width:280px;display:flex}.about-hero-text .headline-lg{color:var(--on-surface)}.about-hero-text .body-lg{color:var(--on-surface-variant);line-height:1.7}.about-vision{border-radius:var(--rounded-2xl);flex-direction:column;gap:.75rem;padding:2rem;display:flex}.about-vision .body-md{color:var(--on-surface-variant);line-height:1.7}.about-features{gap:var(--gutter);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=768px){.about-features{grid-template-columns:repeat(4,1fr)}}.feature-card{border-radius:var(--rounded-xl);text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding:1.5rem 1.25rem;display:flex}.feature-icon{border-radius:var(--rounded-lg);background:linear-gradient(135deg, var(--primary), var(--primary-container));width:3rem;height:3rem;color:var(--on-primary);place-items:center;display:grid;box-shadow:0 8px 20px #0f523840}[data-theme=dark] .feature-icon{color:#062b18}.feature-card h4{font-family:var(--font-serif);color:var(--on-surface);font-size:1.05rem}.feature-card p{color:var(--on-surface-variant);font-size:.82rem;line-height:1.5}.sources-section{flex-direction:column;gap:.5rem;display:flex}.sources-section .body-md{color:var(--on-surface-variant)}.sources-list{color:var(--on-surface-variant);border-radius:var(--rounded-xl);background:var(--surface-container-low);border:1px solid var(--outline-variant);grid-template-columns:1fr;gap:.15rem;max-height:360px;padding:1.25rem;font-size:.85rem;list-style:none;display:grid;overflow-y:auto}@media (width>=640px){.sources-list{grid-template-columns:1fr 1fr;column-gap:1.5rem}}.sources-list li{border-bottom:1px solid var(--outline-variant);padding:.3rem 0}.sources-list a{color:var(--primary);font-weight:600}.sources-list a:hover{text-decoration:underline}.ambient{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-mesh{filter:blur(60px);position:absolute;inset:-20%}.blob{will-change:transform;border-radius:50%;position:absolute}.blob-1{background:radial-gradient(circle at 30% 30%, var(--aurora-1), transparent 70%);width:45vw;height:45vw;animation:26s ease-in-out infinite drift;top:5%;left:-5%}.blob-2{background:radial-gradient(circle at 70% 40%, var(--aurora-2), transparent 70%);width:50vw;height:50vw;animation:32s ease-in-out infinite reverse drift;top:30%;right:-10%}.blob-3{background:radial-gradient(circle at 50% 50%, var(--aurora-4), transparent 70%);width:40vw;height:40vw;animation:38s ease-in-out infinite drift;bottom:-10%;left:20%}.blob-4{background:radial-gradient(circle at 50% 50%, var(--aurora-3), transparent 70%);width:28vw;height:28vw;animation:30s ease-in-out infinite reverse drift;top:-5%;right:25%}.ambient-grain{opacity:.6;background-image:radial-gradient(circle at 15% 20%,#0f523806,#0000 10%),radial-gradient(circle at 85% 75%,#0f523805,#0000 12%);position:absolute;inset:0}.ambient-leaves{position:absolute;inset:0}.leaf{fill:var(--leaf-color);will-change:transform, opacity;animation-name:floatLeaf;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;bottom:-10vh;transform:translate(0)}@media (prefers-reduced-motion:reduce){.blob{animation:none}.ambient-leaves{display:none}}.scroll-progress{z-index:300;background:linear-gradient(90deg, var(--primary), var(--tertiary), var(--accent));transform-origin:0;width:100%;height:3px;transition:transform .1s linear;position:fixed;top:0;left:0;transform:scaleX(0)}.to-top{z-index:200;border-radius:var(--rounded-full);width:3.25rem;height:3.25rem;color:var(--primary);opacity:0;pointer-events:none;place-items:center;transition:opacity .35s,transform .35s cubic-bezier(.22,1,.36,1);display:grid;position:fixed;bottom:1.75rem;right:1.75rem;transform:translateY(20px)scale(.8)}.to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.to-top:hover{color:var(--on-primary);background:linear-gradient(135deg, var(--primary), var(--primary-container));transform:translateY(-3px)scale(1.06)}.to-top .material-symbols-outlined{font-size:1.5rem}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;padding-top:.5rem;padding-bottom:2rem}.mt-4{margin-top:1.5rem}
