:root{--bluebonnet: #22226a;--paintbrush: #d95f2b;--winecup: #6b2d8b;--primrose: #e8749a;--daisy: #f2c94c;--poppy-white: #f8f5ec;--text-dark: #2c2c2c;--text-light: #f8f5ec}*,*:before,*:after{box-sizing:border-box}html:has(.plant-grid,.collection-grid,.article-grid){scroll-snap-type:y proximity}.plant-grid>*,.collection-grid>*,.article-grid>*{scroll-snap-align:start;scroll-margin-top:var(--snap-offset, 2.5rem)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;background-color:var(--poppy-white);color:var(--text-dark)}.wrapper{max-width:1024px;margin:0 auto;padding:0 1rem}.site-header{background-color:var(--bluebonnet);position:sticky;top:0;z-index:1000;padding:.5rem 0}.site-title,.site-title:visited,.site-title:hover{color:#fff;text-decoration:none;font-family:Tangerine,cursive;font-weight:700;font-size:3.5rem;text-shadow:1px 1px 3px rgba(0,0,0,.6),0 0 20px rgba(0,0,0,.3)}.site-nav{display:flex;align-items:center;justify-content:flex-end}.site-nav .nav-trigger{display:none}.site-nav label[for=nav-trigger]{display:none;background-color:var(--bluebonnet);cursor:pointer}.site-nav .menu-icon{display:block}.site-nav .menu-icon svg path{fill:var(--poppy-white)}.site-nav .nav-links{display:flex;gap:1.5rem}.site-nav .page-link{color:var(--poppy-white);text-transform:uppercase;letter-spacing:-.02em;text-decoration:none;font-size:.95rem}.site-nav .page-link:hover{color:var(--primrose)}@media screen and (max-width:600px){.site-nav label[for=nav-trigger]{display:block}.site-nav .nav-links{display:none;position:fixed;right:0;top:0;width:200px;flex-direction:column;gap:0;background:var(--bluebonnet);border-left:1px solid var(--poppy-white);border-bottom:1px solid var(--poppy-white);padding:.5rem 0;z-index:1001}.site-nav .nav-links .page-link{padding:.5rem 1rem}.site-nav .nav-trigger:checked~.nav-links{display:flex}}.site-banner{position:relative;height:100px;scroll-snap-align:start;scroll-margin-top:2.5rem;background-color:#000000e6;display:flex;align-items:center;justify-content:center;border-bottom:3px solid var(--paintbrush)}.site-banner:before{content:"";position:absolute;inset:0;background-image:url(/images/bluebonnet.webp);background-repeat:no-repeat;background-size:cover;opacity:.6}.site-banner .site-title{position:relative}.page-content{padding:2rem 0;min-height:calc(100vh - 250px)}.site-footer{background-color:var(--bluebonnet);color:var(--text-light);border-top:3px solid var(--paintbrush);padding:1rem 0}.site-footer p{margin:0}a{color:var(--bluebonnet)}a:hover{color:var(--winecup)}h1,h2,h3{color:var(--bluebonnet)}.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}.article-grid .article-card{background:#fff;border:1px solid #9999b5;border-top:4px solid var(--paintbrush);padding:1.25rem;border-radius:4px}.article-grid .article-card h3{margin:0;font-size:1.1rem}.article-grid .article-card h3 a{text-decoration:none;color:var(--bluebonnet)}.article-grid .article-card h3 a:hover{color:var(--paintbrush)}.post-header{margin-bottom:1.5rem}.post-header .post-title{margin:0}.post-content h2{margin-top:2rem}.plant-card-wrapper{position:relative;display:flex;flex-direction:column}.plant-card-wrapper .plant-guide-link{position:absolute;bottom:2.25rem;right:1rem;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--bluebonnet);border:1px solid var(--bluebonnet);border-radius:50%;text-decoration:none;background:#fff}.plant-card-wrapper .plant-guide-link:hover{background:var(--bluebonnet);color:#fff}.plant-card-wrapper.no-image .plant-guide-link{bottom:4rem}.plant-card{flex:1;display:flex;flex-direction:column;background:#fff;border:1px solid #9999b5;border-top:4px solid var(--paintbrush);border-radius:4px;padding:1rem;text-decoration:none;transition:box-shadow .2s,transform .2s}.plant-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.plant-card .plant-top{display:flex;flex-direction:column;margin-bottom:.75rem}.plant-card .plant-image{width:100%;aspect-ratio:16/9;border-radius:4px;object-fit:cover;border:1px solid var(--bluebonnet);margin-bottom:.75rem}.plant-card .plant-info{display:flex;flex-direction:column}.plant-card .plant-name-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.plant-card .plant-name{margin:0 0 .25rem;font-size:1.1rem;color:var(--bluebonnet)}.plant-card .plant-scientific-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.plant-card .plant-scientific{margin:0;font-size:.85rem;font-style:italic;color:#666}.plant-card .plant-type{font-size:.8rem;font-weight:600;color:#555;white-space:nowrap}.plant-card .plant-descriptors{border-top:.5px solid var(--bluebonnet);padding:.75rem 0;margin:0;font-size:.8rem;color:#777}.plant-card .plant-meta{margin-top:auto;border-top:.5px solid var(--bluebonnet);padding-top:.75rem;padding-right:1.5rem}.plant-card .plant-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;font-size:.85rem;color:#555;margin-bottom:.5rem}.plant-card .plant-size{font-weight:600}.plant-card .plant-light{display:flex;align-items:center;gap:4px}.plant-card .plant-water{display:flex;align-items:center}.plant-card .plant-soil-moisture{font-size:.8rem;color:#666}.plant-card .plant-bloom{display:flex;align-items:center;gap:2px}.plant-card .plant-bloom .bloom-month{width:18px;height:6px;background:repeating-linear-gradient(45deg,#eee,#eee 2px,#ddd 2px 4px);border-radius:2px;border:.5px solid #ccc}.plant-card .plant-bloom .bloom-month.in-bloom{height:8px;border-color:var(--bluebonnet);box-shadow:0 1px 2px #00000026}.plant-card .plant-external-links{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.plant-card .external-link-btn{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;color:var(--bluebonnet);text-decoration:none}.plant-card .external-link-btn:hover{color:var(--winecup)}.checklist-icon{background:none;border:1px solid #ccc;border-radius:4px;padding:2px;cursor:pointer;color:#ccc;display:flex;align-items:center;justify-content:center;flex-shrink:0}.checklist-icon:hover{border-color:var(--bluebonnet);color:var(--bluebonnet)}.checklist-icon.in-list{background:var(--bluebonnet);border-color:var(--bluebonnet);color:#fff}.checklist-button{background:#fff;border:2px solid var(--bluebonnet);color:var(--bluebonnet);padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s}.checklist-button:hover,.checklist-button.in-list{background:var(--bluebonnet);color:#fff}.checklist-button.in-list:hover{background:var(--winecup);border-color:var(--winecup)}.checklist-toggle{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--bluebonnet);color:#fff;border:none;width:48px;height:48px;border-radius:50%;font-size:1.2rem;cursor:pointer;box-shadow:0 2px 8px #0003;z-index:1000}.checklist-toggle.sparkle{animation:checklist-sparkle .5s ease-out}.checklist-toggle .checklist-count{position:absolute;top:-4px;right:-4px;background:var(--paintbrush);color:#fff;font-size:.75rem;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center}@keyframes checklist-sparkle{0%{transform:scale(1);box-shadow:0 2px 8px #0003}30%{transform:scale(1.1);box-shadow:0 0 0 4px var(--daisy),0 0 12px 4px #f2c94c80}to{transform:scale(1);box-shadow:0 2px 8px #0003}}.checklist-toast{position:fixed;bottom:5rem;right:1.5rem;background:var(--bluebonnet);color:#fff;padding:.5rem 1rem;border-radius:4px;font-size:.9rem;z-index:1001;animation:toast-fade 2s ease-in-out}@keyframes toast-fade{0%,80%{opacity:1}to{opacity:0}}.checklist-panel{position:fixed;bottom:5rem;right:1.5rem;width:300px;max-height:400px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 16px #00000026;z-index:1000;overflow:hidden;display:flex;flex-direction:column}.checklist-panel .checklist-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #eee}.checklist-panel .checklist-header h2{margin:0;font-size:1.1rem}.checklist-panel .checklist-header button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.checklist-panel .checklist-empty{padding:2rem 1rem;text-align:center;color:#666}.checklist-panel .checklist-items{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.checklist-panel .checklist-items li{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #eee}.checklist-panel .checklist-items li a{text-decoration:none;color:var(--bluebonnet)}.checklist-panel .checklist-items li a:hover{color:var(--winecup)}.checklist-panel .checklist-items li button{background:none;border:none;color:#999;cursor:pointer;font-size:1.2rem}.checklist-panel .checklist-items li button:hover{color:var(--paintbrush)}.checklist-panel .checklist-actions{display:flex;gap:.5rem;padding:1rem;border-top:1px solid #eee}.checklist-panel .checklist-actions button{flex:1;padding:.5rem;border:1px solid var(--bluebonnet);background:#fff;color:var(--bluebonnet);border-radius:4px;cursor:pointer}.checklist-panel .checklist-actions button:hover{background:var(--bluebonnet);color:#fff}.checklist-panel .checklist-actions button.danger{border-color:var(--paintbrush);color:var(--paintbrush)}.checklist-panel .checklist-actions button.danger:hover{background:var(--paintbrush);color:#fff}.hidden-content{margin:1rem 0}.hidden-content .hidden-toggle{background:none;border:1px dashed #ccc;color:#666;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem}.hidden-content .hidden-toggle:hover{border-color:var(--bluebonnet);color:var(--bluebonnet)}.hidden-content .hidden-body{margin-top:1rem;padding:1rem;background:#f9f9f9;border-radius:4px}.plant-search .search-header{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem;position:relative}.plant-search .search-input-wrap{position:relative;flex:1;min-width:200px;display:flex;align-items:center}.plant-search .search-input-wrap .search-icon{position:absolute;left:.75rem;color:#999;pointer-events:none}.plant-search .search-input{flex:1;width:100%;padding:.55rem 2.25rem;border:1px solid #ccc;border-radius:999px;font-size:1rem;background:#fff;transition:border-color .15s,box-shadow .15s}.plant-search .search-input:focus{outline:none;border-color:var(--bluebonnet);box-shadow:0 0 0 3px #22226a1f}.plant-search .search-clear{position:absolute;right:.6rem;display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;padding:0;border:none;border-radius:50%;background:#e6e2d6;color:#555;font-size:.7rem;cursor:pointer}.plant-search .search-clear:hover{background:var(--paintbrush);color:#fff}.plant-search .results-count{color:var(--text-dark);font-size:.9rem;font-weight:600;white-space:nowrap;margin-right:.25rem}.plant-search .lucky-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.25rem;height:2.25rem;padding:0;background:#fff;border:1px solid var(--bluebonnet);border-radius:50%;cursor:pointer;font-size:1.1rem;line-height:1}.plant-search .lucky-button:hover:not(:disabled){background:var(--bluebonnet)}.plant-search .lucky-button:disabled{opacity:.5;cursor:not-allowed}.plant-search .results-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;padding-top:.75rem;border-top:1px solid #e6e2d6}.plant-search .active-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;background:var(--bluebonnet);color:#fff;border:none;border-radius:999px;font-size:.82rem;cursor:pointer}.plant-search .active-chip .active-chip-x{font-size:.65rem;opacity:.85}.plant-search .active-chip:hover{background:var(--winecup)}.plant-search .clear-chips{background:none;border:none;color:var(--paintbrush);font-size:.82rem;cursor:pointer;text-decoration:underline}.plant-search .clear-chips:hover{color:var(--winecup)}.plant-search .search-sticky{position:sticky;top:var(--search-sticky-top, 2.5rem);z-index:30;background:var(--poppy-white);padding:.75rem 0}.plant-search .filter-bar{display:inline-flex}.plant-search .filter-bar-tab{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .9rem;background:#fff;border:1px solid #e6e2d6;border-radius:999px;box-shadow:0 1px 3px #00000014;color:var(--bluebonnet);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.plant-search .filter-bar-tab .filter-badge{background:var(--paintbrush);color:#fff;font-size:.7rem;font-weight:600;padding:.1rem .4rem;border-radius:10px}.plant-search .filter-bar-tab .filter-chevron{transition:transform .18s ease}.plant-search .filter-bar-tab:after{content:"";position:absolute;top:100%;left:0;right:0;height:.85rem}.plant-search .filter-bar-tab[aria-expanded=true]{background:var(--bluebonnet);color:#fff}.plant-search .filter-bar-tab[aria-expanded=true] .filter-chevron{transform:rotate(180deg)}.plant-search .filter-panel{position:absolute;top:calc(100% + .5rem);left:0;right:0;z-index:5;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:1.25rem 2rem;padding:1.25rem;background:#fff;border:1px solid #e6e2d6;border-radius:12px;box-shadow:0 8px 24px #00000029;max-height:70vh;overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s}.plant-search .filter-panel.is-open{opacity:1;visibility:visible;transform:none}@media(hover:hover){.plant-search .filter-bar:hover .filter-bar-tab{background:var(--bluebonnet);color:#fff}.plant-search .filter-bar:hover .filter-chevron{transform:rotate(180deg)}.plant-search .filter-bar:hover .filter-panel{opacity:1;visibility:visible;transform:none}}.plant-search .filter-group{margin:0}.plant-search .filter-group-title{margin:0 0 .6rem;font-weight:600;color:var(--bluebonnet);font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}.plant-search .filter-pills{display:flex;flex-wrap:wrap;gap:.4rem;max-width:280px}.plant-search .filter-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;background:var(--poppy-white);border:1px solid #d9d4c5;border-radius:999px;color:var(--text-dark);font-size:.82rem;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.plant-search .filter-pill svg{flex-shrink:0}.plant-search .filter-pill .bloom-swatch{width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.25);flex-shrink:0}.plant-search .filter-pill:hover{border-color:var(--bluebonnet)}.plant-search .filter-pill.is-active{background:var(--bluebonnet);border-color:var(--bluebonnet);color:#fff}.plant-search .clear-filters{grid-column:1/-1;justify-self:start;width:auto;margin:0;padding:.5rem 1rem;background:#fff;border:1px solid var(--paintbrush);color:var(--paintbrush);border-radius:999px;cursor:pointer;font-size:.9rem}.plant-search .clear-filters:hover{background:var(--paintbrush);color:#fff}.plant-search .search-results{min-width:0}.plant-search .plant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.plant-search .plants-without-images{margin-top:2rem;padding-top:2rem;border-top:1px solid #ddd}.plant-search .no-results{text-align:center;color:#666;padding:2rem}@media screen and (max-width:768px){.plant-search .filter-panel{gap:1rem 1.5rem}.plant-search .filter-pills{max-width:none}}@media screen and (max-width:600px){.plant-search .filter-bar-label{display:none}.plant-search .search-input-wrap{min-width:140px}}.plant-gallery-wrapper{width:100%}.plant-gallery{position:relative}.plant-gallery:hover .gallery-arrow{opacity:1}.gallery-viewport{overflow:hidden}.gallery-container{display:flex}.gallery-slide{flex:0 0 100%;min-width:0}.gallery-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;border:1px solid var(--bluebonnet)}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;border:1px solid var(--bluebonnet);border-radius:50%;width:36px;height:36px;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--bluebonnet);display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;z-index:10}@media(min-width:640px){.gallery-arrow{display:flex}}.gallery-arrow:hover{background:var(--bluebonnet);color:#fff}.gallery-arrow.gallery-arrow-left{left:.75rem}.gallery-arrow.gallery-arrow-right{right:.75rem}.gallery-dots{display:flex;justify-content:center;gap:.5rem;margin-top:.5rem}.gallery-dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--bluebonnet);background:#fff;padding:0;cursor:pointer}.gallery-dot.active{background:var(--bluebonnet)}.gallery-dot:hover:not(.active){background:#ddd}.plant-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;border:1px solid var(--bluebonnet)}
