:root{--plant-top-surface:#e6b38e;--plant-popup-shadow:0 6px 16px rgb(0 0 0 / .12);--plant-top-shadow:0 6px 20px rgb(0 0 0 / .2)}
/* Compact source-faithful plant reference; existing Herbalist tokens/type. */
.plant-shell{padding-block:20px 36px}
.plant-shell h1{font-size:36px;line-height:1.15;margin:12px 0 18px}
.plant-shell h2{font-size:26px;line-height:1.25}
.plant-shell p,.plant-shell li{font-size:18px;line-height:1.6}
.plant-latin{font-size:26px!important;font-style:italic;line-height:1.25!important;unicode-bidi:isolate;overflow-wrap:anywhere}
.plant-shell:has(.plant-tabs){padding-block:10px 24px}
.plant-back{display:inline-flex;align-items:center;min-height:30px;font-size:14px;color:var(--muted)}
.plant-shell .plant-profile-title{font-size:28px;font-weight:600;line-height:1.15;margin:4px 0 12px;text-align:inherit}
.plant-hero{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:start;margin:0 0 16px}
.plant-portrait{margin:0;min-width:0}
.plant-portrait img{width:190px;height:220px;object-fit:contain;background:white}
.plant-portrait figcaption{display:none}
.plant-intro-details{min-width:0}
.plant-name-facts{margin:0 0 10px;font-size:16px;line-height:1.35}
.plant-name-facts>div{display:grid;grid-template-columns:94px minmax(0,1fr);gap:8px;margin-block:3px}
.plant-name-facts dt{font-weight:400}.plant-name-facts dd{margin:0;font-weight:600;min-width:0}
html[dir=rtl] .plant-intro-details,html[dir=rtl] .plant-panel-window{text-align:right}
html[dir=ltr] .plant-intro-details,html[dir=ltr] .plant-panel-window{text-align:left}
.plant-name-facts dt,.plant-name-facts dd{text-align:inherit}
.plant-intro-details>p{font-size:16px;line-height:1.4;margin:0 0 4px}
.plant-intro-details .plant-part-title{font-size:16px;line-height:1.35;font-weight:700;margin:8px 0 3px}
.plant-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:0;border-bottom:1px solid var(--editorial-border);scrollbar-width:thin;scrollbar-color:var(--input-border) var(--paper)}
.plant-tabs button{flex:0 0 auto;white-space:nowrap;font:inherit;font-size:15px;line-height:1.3;padding:10px 11px;min-height:42px;color:var(--ink);background:transparent;border:0;border-bottom:2px solid transparent}
.plant-tabs button:hover{background:var(--editorial-surface)}
.plant-tabs button[aria-selected=true]{background:var(--editorial-surface);border-bottom-color:var(--dark);font-weight:700}
.plant-panel-window{height:clamp(300px,48vh,560px);overflow:auto;overscroll-behavior:contain;scrollbar-color:var(--input-border) var(--paper);border-bottom:1px solid var(--editorial-border)}
.plant-section{margin:0;padding:12px 4px 18px}
.plant-section[hidden]{display:none}
.plant-section p{font-size:16px;line-height:1.45;margin:0 0 5px;max-width:75ch;text-align:inherit}
.plant-section h3{font-size:16px;line-height:1.4;font-weight:700;margin:10px 0 4px}
.plant-use-list{display:flex;flex-wrap:wrap;gap:3px 16px;list-style:none;padding:0;margin:0 0 8px}
.plant-use-list li{font-size:16px;line-height:1.45}
.plant-constituents{margin:0;font-size:16px;line-height:1.45}
.plant-constituents>div{display:grid;grid-template-columns:165px minmax(0,1fr);gap:10px;padding-block:3px}
.plant-constituents dt{font-weight:600}.plant-constituents dd{margin:0;overflow-wrap:anywhere}
.plant-shell :focus-visible{outline:2px solid var(--focus);outline-offset:3px}
html[dir=rtl] .plant-latin{text-align:right}
.plant-index-intro{max-width:64ch;margin-bottom:36px}
.plant-index-tools{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-block:20px}
.plant-index-tools label{flex:1;min-width:240px;max-width:640px;font-size:17px}
.plant-index-tools input{display:block;width:100%;font:inherit;padding:14px 16px;margin-top:10px;border:1px solid var(--input-border);border-radius:6px;background:var(--paper);color:var(--ink)}
.plant-alphabet{display:flex;flex-wrap:wrap;max-width:100%;gap:4px}
.plant-alphabet button,.plant-clear{font:inherit;border:1px solid var(--input-border);background:transparent;border-radius:6px;min-height:46px;min-width:46px;padding:10px 16px;color:var(--ink)}
.plant-alphabet button[aria-pressed=true]{background:var(--dark);color:var(--paper);border-color:var(--dark)}

.plant-index-entry[hidden]{display:none}




.plant-shell :focus-visible{outline:2px solid var(--focus);outline-offset:4px}
@media(max-width:760px){
 header nav{flex-wrap:wrap;gap:8px 18px}header nav a{flex:0 0 auto;white-space:nowrap}
 .plant-shell{padding-block:16px 32px}
 .plant-shell:has(.plant-tabs){padding-block:8px 20px}
 .plant-shell .plant-profile-title{font-size:25px;margin:4px 0 10px}
 .plant-hero{grid-template-columns:90px minmax(0,1fr);gap:12px;margin-bottom:12px}
 .plant-portrait img{width:90px;height:120px}
 .plant-name-facts{font-size:15px;margin-bottom:8px}
 .plant-name-facts>div{grid-template-columns:72px minmax(0,1fr);gap:5px;margin-block:3px}
 .plant-intro-details>p{font-size:16px;line-height:1.45}
 .plant-intro-details .plant-part-title{font-size:16px}
 .plant-tabs button{font-size:15px;padding:10px;min-height:44px}
 .plant-panel-window{height:clamp(310px,50vh,540px)}
 .plant-section{padding:12px 2px}
 .plant-constituents>div{grid-template-columns:115px minmax(0,1fr);gap:7px}
 .plant-index-tools{gap:16px}


}
@media(max-width:380px){.plant-hero{grid-template-columns:1fr}.plant-portrait{float:none;justify-self:start}.plant-portrait img{width:110px;height:110px}.plant-name-facts>div{grid-template-columns:85px minmax(0,1fr)}}
@media(max-width:760px){
 .plant-hero{row-gap:3px}
 .plant-intro-details{display:contents}
 .plant-portrait{grid-column:1;grid-row:1}
 .plant-name-facts{grid-column:2;grid-row:1}
 .plant-intro-details>p,.plant-intro-details .plant-part-title{grid-column:1/-1}
 .plant-name-facts bdi{overflow-wrap:anywhere}
 .plant-intro-details>p:first-of-type{margin-top:7px}
}
@media(max-width:380px){.plant-hero{grid-template-columns:70px minmax(0,1fr);column-gap:10px}.plant-portrait img{width:70px;height:95px}}
.plant-name-facts>div{grid-template-columns:124px minmax(0,1fr)}
.plant-name-facts dt{white-space:nowrap}
@media(max-width:760px){.plant-name-facts>div{grid-template-columns:108px minmax(0,1fr)}html[dir=rtl] .plant-name-facts>div{grid-template-columns:72px minmax(0,1fr)}}
@media(max-width:380px){.plant-name-facts>div{grid-template-columns:101px minmax(0,1fr)}html[dir=rtl] .plant-name-facts>div{grid-template-columns:72px minmax(0,1fr)}}
.plant-panel-window{height:auto;min-height:240px;max-height:clamp(300px,48vh,560px)}
@media(max-width:760px){.plant-panel-window{height:auto;min-height:220px;max-height:clamp(310px,50vh,540px)}}

/* Image inspection and compact mobile navigation affordance. */
.plant-image-open{display:block;padding:0;border:0;background:white;cursor:zoom-in;overflow:hidden;line-height:0}
.plant-image-open img{display:block;transition:transform 220ms ease-out}
@media(hover:hover){.plant-image-open:hover img{transform:scale(1.045)}}
.plant-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:64px 20px 24px;border:0;background:transparent;box-sizing:border-box;overflow:auto;cursor:zoom-out}
.plant-lightbox[open]{display:flex;align-items:center;justify-content:center}
.plant-lightbox::backdrop{background:rgb(15 23 32 / .88)}
.plant-portrait .plant-lightbox img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 100px);object-fit:contain;cursor:default;background:white}
.plant-lightbox-close{position:fixed;inset-block-start:16px;inset-inline-end:20px;width:44px;height:44px;padding:10px;border:1px solid #fff;background:var(--dark);color:white;cursor:pointer}
.plant-lightbox-close svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.plant-image-expanded{overflow:hidden}
.plant-tabs-hint{display:none}
@media(max-width:760px){
 .plant-tabs{mask-image:linear-gradient(to right,transparent,#000 12px,#000 calc(100% - 12px),transparent);padding-inline:8px;scroll-padding-inline:12px}
 .plant-shell .plant-tabs-hint{display:block;font-size:13px;line-height:1.4;color:var(--muted);margin:5px 0 7px;text-align:inherit}
}
@media(prefers-reduced-motion:reduce){.plant-image-open img{transition:none}}

/* Crop the white side margins embedded in the source photo. */
.plant-image-frame{display:block;position:relative;overflow:hidden;width:190px;height:220px;background:transparent}
.plant-portrait .plant-image-frame img,.plant-portrait .plant-image-full img{position:absolute;left:-16.6667%;top:0;width:133.3334%;height:100%;max-width:none;max-height:none;object-fit:cover;background:transparent}
.plant-image-full{position:relative;overflow:hidden;flex:none;width:min(450px,calc(100vw - 40px),calc((100dvh - 100px)*.75));aspect-ratio:3/4;cursor:default}
.plant-image-open{background:transparent}
@media(max-width:760px){.plant-image-frame{width:90px;height:120px}}
@media(max-width:380px){.plant-image-frame{width:70px;height:95px}}
/* Database content uses the approved reference layout and real entity links. */
.plant-intro-copy{font-size:16px;line-height:1.4}.plant-intro-copy p{font-size:16px;line-height:1.4;margin:4px 0}
.plant-intro-copy strong p{font-weight:700;margin-top:8px}
.plant-section h4{font-size:16px;line-height:1.4;margin:10px 0 4px}
.plant-term-link{color:inherit;text-decoration:underline;text-decoration-color:var(--input-border);text-underline-offset:3px;margin-inline-end:8px}
.plant-term-link:hover{text-decoration-color:currentColor}
.plant-section span{font-size:inherit;line-height:inherit}
.plant-image-missing{font-size:14px;color:var(--muted);padding-block:16px}
.plant-portrait[data-crop=none] .plant-image-frame img,.plant-portrait[data-crop=none] .plant-image-full img{left:0;width:100%;object-fit:contain}
.plant-portrait[data-crop=none] .plant-image-full{aspect-ratio:1;width:min(600px,calc(100vw - 40px),calc(100dvh - 100px))}
.plant-catalog-list .plant-index-entry{text-decoration:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;max-width:none;min-height:48px;box-sizing:border-box;padding:10px 8px;border:0;border-bottom:1px solid var(--editorial-border);color:var(--ink)}
.plant-catalog-list .plant-index-entry:first-child{border-top:1px solid var(--editorial-border)}
.plant-catalog-list .plant-index-entry[hidden]{display:none}
.plant-catalog-list .plant-index-entry h2{font-size:19px;line-height:1.4;margin:0;font-weight:600}
.plant-entry-secondary{font-size:17px;line-height:1.4;color:var(--muted)}
.plant-index-entry:hover{background:var(--paper)}
.plant-index-entry:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@media(max-width:760px){.plant-intro-copy{grid-column:1/-1;margin-top:7px}.plant-catalog-list .plant-index-entry{gap:2px 12px;padding-block:10px}.plant-catalog-list .plant-index-entry h2{font-size:18px}.plant-entry-secondary{font-size:16px}.plant-alphabet{flex-wrap:wrap}}

.plant-classification-links{display:flex;flex-wrap:wrap;gap:8px;font-size:16px;margin-bottom:16px}.plant-classification-links a{color:var(--ink);text-underline-offset:4px}

.plant-section{overflow-wrap:anywhere}.plant-constituents .plant-term-link{margin-inline-end:0}

/* Compact directory controls and distinct name roles. */


.plant-alphabet button{min-width:32px;min-height:36px;padding:4px 8px;font-size:16px;line-height:1.3;border-radius:4px}

.plant-classification-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;box-sizing:border-box;border:1px solid var(--input-border);border-radius:4px;text-decoration:none}
.plant-classification-links a:hover{background:var(--dark);border-color:var(--dark);color:white}
.plant-classification-links a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.plant-catalog-list .plant-name-botanical{font-style:italic;color:var(--ink);font-weight:400}
.plant-catalog-list h2.plant-name-botanical{font-weight:600}
.plant-name-common{font-style:normal}
.plant-name-chinese{font-size:15px;font-weight:500;font-style:normal}
@media(max-width:760px){.plant-index-tools{gap:12px;margin-block:16px}.plant-classification-links{font-size:15px}.plant-classification-links a{padding-inline:12px}.plant-name-chinese{font-size:15px}}

.plant-index-filters{display:flex;flex-wrap:wrap;gap:12px;margin-block:16px}
.plant-index-filters label{display:flex;flex:1;min-width:220px;flex-direction:column;gap:6px;font-size:16px}


@media(max-width:760px){.plant-index-filters{gap:10px}.plant-index-filters label{min-width:0;flex-basis:calc(50% - 10px);font-size:15px}}

.plant-filter-field{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.plant-index-filters .plant-filter-field label{display:block;min-width:0;flex:none}
.plant-filter-combo{position:relative}
.plant-filter-combo input{width:100%;min-width:0;height:44px;box-sizing:border-box;padding:8px 60px 8px 12px;border:1px solid var(--input-border);border-radius:4px;background:transparent;color:var(--ink);font:inherit;padding-inline:12px 60px}
.plant-filter-combo input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.plant-filter-reset{position:absolute;inset-inline-end:6px;top:4px;min-height:36px;padding:4px 6px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
.plant-filter-options{position:absolute;z-index:20;inset-inline:0;top:calc(100% + 4px);max-height:260px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--input-border);border-radius:4px;background:var(--paper);box-shadow:var(--plant-popup-shadow)}
.plant-filter-option{padding:10px 12px;min-height:44px;box-sizing:border-box;cursor:pointer;font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.plant-filter-option:hover,.plant-filter-option.is-active{background:var(--dark);color:white}
.plant-filter-option[aria-selected=true]{font-weight:600}
.plant-filter-empty{padding:8px 12px;font-size:15px!important}
@media(max-width:760px){.plant-filter-field{flex-basis:calc(50% - 10px)}.plant-filter-combo input{font-size:16px}.plant-filter-reset{font-size:12px}}

/* One effective back-to-top definition; same approved presentation. */
.plant-back-top{position:fixed;display:inline-flex;align-items:center;gap:10px;inset-inline-end:max(32px,calc((100vw - 1152px)/2 + 24px));bottom:28px;z-index:15;min-height:44px;padding:12px 20px;border:2px solid var(--dark);border-radius:4px;background:var(--plant-top-surface);color:var(--dark);font:inherit;font-size:16px;font-weight:600;cursor:pointer;box-shadow:var(--plant-top-shadow)}
.plant-back-top[hidden]{display:none}
.plant-back-top:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.plant-back-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.plant-back-top:hover{background:var(--dark);color:var(--paper)}
.plant-retry{font:inherit;min-height:44px;min-width:44px;padding:8px 16px;border:1px solid var(--input-border);border-radius:4px;color:var(--ink);background:var(--paper);margin-inline-end:12px}
.plant-filter-combo input{padding-inline-end:66px}
.plant-filter-reset{top:0;min-height:44px;min-width:44px;font-size:14px}
@media(max-width:760px){.plant-back-top{inset-inline-end:24px;bottom:24px;padding:10px 16px;font-size:15px}}
@media(pointer:coarse){.plant-alphabet button{min-height:44px;min-width:44px}}

/* Botanical names lead both language versions; compact name-order control. */
.plant-index-tools label{flex:0 1 220px;min-width:180px;max-width:240px;font-size:16px}
.plant-index-tools select{display:block;width:100%;min-height:44px;margin-top:6px;padding:8px 12px;border:1px solid var(--input-border);border-radius:4px;background:var(--paper);color:var(--ink);font:inherit}
.plant-index-tools select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.plant-index-tools .plant-alphabet{flex:1;min-width:0;justify-content:flex-start}
.plant-alphabet button:disabled{opacity:.4;cursor:default}
.plant-catalog-list .plant-index-entry{direction:ltr;text-align:left}
html[dir=rtl] .plant-catalog-list .plant-index-entry{direction:rtl;text-align:right}
.plant-catalog-list .plant-entry-name{font-weight:600}
@media(max-width:760px){.plant-index-tools label{flex-basis:100%;max-width:100%;min-width:0}.plant-index-tools .plant-alphabet{flex-basis:100%}}

@media(min-width:761px) and (pointer:fine){.plant-index-tools .plant-alphabet{gap:3px}.plant-index-tools .plant-alphabet button{min-width:28px;padding-inline:5px;font-size:15px}}

/* Compact atlas directory: clear name hierarchy without oversized rows. */
.plant-index-tools{gap:12px;margin-block:14px}
.plant-index-tools label{font-size:15px}
.plant-index-tools select{margin-top:4px;font-size:16px}
.plant-classification-links{gap:7px;margin-bottom:12px;font-size:15px}
.plant-classification-links a{padding:6px 12px}
.plant-index-filters{gap:10px;margin-block:12px}
.plant-index-filters .plant-filter-field{gap:4px}
.plant-index-filters .plant-filter-field label{font-size:15px}
.plant-catalog-list .plant-index-entry{min-height:40px;padding:6px 8px;gap:2px 12px}
.plant-catalog-list .plant-index-entry h2{font-size:17px;line-height:1.4}
.plant-catalog-list .plant-entry-secondary{font-size:15px;line-height:1.4}
.plant-catalog-list .plant-name-chinese{font-size:14px}
@media(max-width:760px){
 .plant-index-tools{gap:10px;margin-block:12px}
 .plant-index-filters{margin-block:10px}
 .plant-catalog-list .plant-index-entry{min-height:44px;padding:7px 4px;gap:2px 9px}
}

/* Botanical A–Z groups retain the compact directory rows. */
.plant-catalog-list .plant-letter-heading{font-size:20px;font-weight:600;line-height:1.3;margin:22px 0 4px;padding:0 8px;color:var(--ink);text-align:start}
html[dir=rtl] .plant-catalog-list .plant-letter-heading{text-align:right}
.plant-catalog-list .plant-letter-heading:first-child{margin-top:8px}
@media(max-width:760px){.plant-catalog-list .plant-letter-heading{font-size:19px;margin-top:18px;padding-inline:4px}}

/* Pharmacy-only restriction stays prominent in both language versions. */
.plant-pharmacy-restriction{color:#a82020;font-weight:600}
