*,*:before,*:after{box-sizing:border-box}body{margin:0;background-color:#f5f7f4;color:#2d3b2d;font-family:Open Sans,sans-serif;line-height:1.5}.full-body-container{position:relative;width:100%;min-height:100vh;display:flex;justify-content:flex-start;align-items:center;flex-direction:column;background-color:#f5f7f4;overflow-y:auto}.full-body-container:not(.searching){padding-top:15vh}@keyframes dewdrop-ripple{0%{transform:translate(-50%,-50%) scale(0);opacity:.5}60%{opacity:.25}to{transform:translate(-50%,-50%) scale(6);opacity:0}}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.top-text{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:clamp(1.9rem,8vh,4rem);transition:margin-top .45s cubic-bezier(.4,0,.2,1)}.top-text:before{content:"";position:absolute;top:50%;left:50%;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,#C8DDD0 0%,#5A8F6E44 50%,transparent 70%);transform:translate(-50%,-50%) scale(0);animation:dewdrop-ripple 1.6s cubic-bezier(.2,.8,.4,1) .1s forwards;pointer-events:none}.searching .top-text:before{display:none}.searching .top-text{margin-top:1.8rem}.top-text h1{font-family:Cormorant Garamond,serif;font-size:clamp(2.8rem,7vw,5.6rem);font-weight:700;color:#3a6b4a;letter-spacing:-.5px;margin:0;transition:font-size .35s cubic-bezier(.4,0,.2,1)}.searching .top-text h1{font-size:clamp(2.2rem,5vw,3.6rem)}.landing-tagline{font-size:clamp(1rem,1.8vw,1.4rem);color:#9eaf9e;margin:0 0 8px;opacity:1;max-height:80px;overflow:hidden;transition:opacity .2s ease,max-height .3s ease .05s,margin .3s ease}.searching .landing-tagline{opacity:0;max-height:0;margin:0}.search-hint{margin:10px 0 0;font-size:clamp(.9rem,1.3vw,1rem);color:#7e8e7e;font-family:Open Sans,sans-serif;font-style:italic;text-align:center;max-width:min(800px,95%);line-height:1.35;opacity:.9;transition:opacity .2s ease,max-height .3s ease .05s,margin .3s ease}.searching .search-hint{opacity:0;max-height:0;margin:0;overflow:hidden}.example-query-grid{margin-top:8px;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:min(840px,95%);opacity:1;max-height:200px;overflow:hidden;transition:opacity .2s ease,max-height .3s ease .05s,margin .3s ease}.example-query-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.example-query-pill{border:1px solid #C8DDD0;background:#fff;color:#3a6b4a;border-radius:999px;padding:6px 12px;font-family:Open Sans,sans-serif;font-size:.82rem;line-height:1.2;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.example-query-pill:hover{background:#f0f5f1;border-color:#5a8f6e;box-shadow:0 2px 10px #3a6b4a1f}.example-query-pill:focus-visible{outline:2px solid #5A8F6E;outline-offset:2px}.searching .example-query-grid{opacity:0;max-height:0;margin-top:0}.input-box{border-radius:24px;border:1.5px solid #C8DDD0;background:#fff;display:flex;align-items:center;margin-top:2px;padding:14px 18px;width:800px;max-width:95%;cursor:text;transition:box-shadow .2s,border-color .2s,width .35s cubic-bezier(.4,0,.2,1),padding .35s ease}.searching .input-box{width:800px;padding:12px 16px}.input-box:hover,.input-box:focus-within{border-color:#5a8f6e;box-shadow:0 2px 10px #3a6b4a26}.input-box img{height:24px;width:24px;opacity:.5;filter:sepia(1) saturate(2) hue-rotate(90deg)}.input-box input{flex:1;min-width:0;margin-left:10px;font-size:clamp(1rem,1.8vw,1.25rem);border:none;outline:0;background:transparent;font-family:Open Sans,sans-serif;color:#2d3b2d;transition:font-size .3s ease}.searching .input-box input{font-size:1rem}.input-box input::placeholder{color:#9eaf9e}.search-submit-button{flex-shrink:0;margin-left:10px;border:none;border-radius:999px;background:#3a6b4a;color:#fff;font-family:Open Sans,sans-serif;font-size:.95rem;font-weight:600;padding:8px 16px;cursor:pointer;transition:background .15s ease}.search-submit-button:hover{background:#2e5a3c}.search-submit-button:focus-visible{outline:2px solid #5A8F6E;outline-offset:2px}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;width:min(1500px,95%);max-width:95%;justify-content:center;opacity:0;pointer-events:none;max-height:0;overflow:hidden;margin-top:0;transition:opacity .3s ease .15s,max-height .35s ease .1s,margin-top .3s ease .1s}.searching .filter-bar{opacity:1;pointer-events:auto;max-height:200px;overflow:visible;margin-top:14px}.filter-bar select,.filter-bar input[type=number]{font-family:DM Sans,sans-serif;padding:8px 10px;border:1.5px solid #C8DDD0;border-radius:14px;font-size:15px;font-family:Open Sans,sans-serif;background:#fff;color:#3a6b4a;outline:none;cursor:pointer;transition:border-color .15s,box-shadow .15s;text-align:left}.filter-bar select{width:auto;min-width:160px;max-width:220px;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%233A6B4A' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px 8px}.filter-bar select:nth-of-type(3){min-width:50px;max-width:250px}.filter-bar input[type=number]{width:auto;min-width:50px;max-width:100px;cursor:text}.filter-bar select:hover,.filter-bar input[type=number]:hover,.filter-bar select:focus,.filter-bar input[type=number]:focus{border-color:#5a8f6e;box-shadow:0 0 0 3px #5a8f6e1f}.result-count{font-size:18px;color:#6b7a6b;margin:0 0 8px 3px;font-style:normal;font-weight:600}.refining-badge{font-size:13px;font-weight:400;color:#8fa68f;font-style:italic}.did-you-mean-line{margin:-4px 0 8px 3px;font-size:.95em}.ai-summary-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-weight:700;color:#6b7a6b}.ai-summary-expanded-query{font-size:.78rem;color:#384b38;margin:0 0 8px}.ai-summary-top-products{display:block;font-weight:800;font-size:1rem;color:#6b7a6b;line-height:1.45;padding-top:8px}.ai-summary-text,.ai-summary-error{margin-bottom:20px;font-size:.95rem;color:#2e412e;line-height:1.45}.ai-summary-text strong{font-weight:550;color:#3a6b4a}.ai-summary-source-brand{color:#6b7a6b}.ai-summary-source-divider{margin:0 3px;opacity:.7}.ai-summary-source-name{font-weight:600;color:#6b7a6b}.did-you-mean-copy{color:#7a847d;font-weight:500;font-size:.95em;font-style:italic}.did-you-mean-button{border:none;background:transparent;color:#7a847d;font:inherit;font-weight:600;font-style:italic;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.did-you-mean-button:hover{color:#646d67}.did-you-mean-button:focus-visible{outline:2px solid rgba(90,143,110,.35);outline-offset:2px;border-radius:4px}.ai-summary-panel{grid-column:1 / -1;background:linear-gradient(180deg,#fff,#f7fbf8);border:1px solid #d8e8dc;border-radius:14px;padding:.8rem 1rem;box-shadow:0 2px 8px #3a6b4a14;margin-bottom:2px}.ai-summary-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-weight:700;font-size:1.2rem;color:#6b7a6b}.ai-summary-text,.ai-summary-error{margin:0;font-size:.95rem;color:#2e412e;line-height:1.45}.ai-summary-error{color:#7b5049}.ai-summary-loading{display:flex;flex-direction:column;gap:8px;margin:2px 0 4px}.ai-summary-shimmer{display:block;height:11px;border-radius:999px;background:linear-gradient(90deg,#e7eeea,#f8fcf9,#e7eeea);background-size:220% 100%;animation:ai-summary-shimmer 1.2s linear infinite}.ai-summary-shimmer.line-1{width:92%}.ai-summary-shimmer.line-2{width:78%}@keyframes ai-summary-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.ai-summary-sources{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.ai-summary-source-link{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #d0ded5;background:#f7fbf8;color:#355f45;text-decoration:none;font-size:.75rem;font-weight:600;padding:3px 9px;transition:border-color .15s ease,background .15s ease}.ai-summary-source-link:hover{background:#eef6f1;border-color:#aacbb6}.ai-summary-source-link.muted{color:#6c796c}.search-status{font-size:16px;color:#5a8f6e;margin:0 0 8px 3px;font-style:normal}.empty-state{text-align:center;padding:2.5rem 1rem;color:#6b7a6b}.empty-state p{margin:4px 0;font-size:15px}.empty-hint{font-size:13px;color:#9eaf9e}#answer-box{width:min(1200px,100%);padding:0 1rem 2rem;box-sizing:border-box;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem;opacity:0;transition:opacity .3s ease .2s}.result-count,.search-status,.empty-state,.did-you-mean-line{grid-column:1 / -1}.searching #answer-box{opacity:1}.product-item{display:flex;flex-direction:column;font-family:DM Sans,sans-serif;background:#fff;border:1.5px solid #DDE8E0;border-radius:14px;padding:.85rem;box-shadow:0 1px 4px #3a6b4a12;transition:box-shadow .2s,border-color .2s}.product-item:hover{box-shadow:0 4px 14px #3a6b4a21;border-color:#5a8f6e}.skeleton-card{pointer-events:none;border-color:#dce8e0;box-shadow:0 1px 4px #3a6b4a0a}.skeleton-card:hover{box-shadow:0 1px 4px #3a6b4a0a;border-color:#dce8e0}.skeleton-line,.skeleton-pill{position:relative;overflow:hidden;background:#e9efeb}.skeleton-line:after,.skeleton-pill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.7) 50%,transparent 100%);animation:skeleton-shimmer 1.2s ease-in-out infinite}.skeleton-line{height:12px;border-radius:8px}.skeleton-line-brand{width:34%;margin-bottom:8px}.skeleton-line-title{width:82%;height:18px}.skeleton-pill{width:92px;height:24px;border-radius:999px}.skeleton-line-stars{width:34%}.skeleton-line-reviews{width:24%}.skeleton-line-price{width:18%;margin-left:auto}.skeleton-line-body{width:100%;margin-top:6px}.skeleton-line-body.short{width:72%}.skeleton-line-score{width:98px;margin-top:10px}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.skeleton-line:after,.skeleton-pill:after{animation:none}}.card-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.35rem}.product-name{font-family:DM Sans,sans-serif;font-size:clamp(.95rem,1.2vw,1.15rem);font-weight:600;color:#3a6b4a;margin:0 0 2px}.product-name a{color:inherit;text-decoration:none}.product-name a:hover{text-decoration:underline}.brand-safety-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.product-brand{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.75rem;color:#6b7a6b;font-weight:500;text-transform:uppercase;letter-spacing:.04em;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:.5rem;justify-content:flex-start;align-items:center}.safety-badge,.badge,.highlight-tag,.flagged-tag{display:inline-flex;align-items:center;font-size:12px;font-weight:400;line-height:1.2;padding:5px 10px;border-radius:999px}.safety-badge{flex-shrink:0;white-space:nowrap}.safety-score-group{display:inline-flex;align-items:center;flex-shrink:0;position:relative}.safety-info{position:relative}.safety-badge-toggle{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none}.safety-badge-toggle .safety-badge{transition:box-shadow .15s ease}.safety-badge-toggle:hover .safety-badge,.safety-info[open] .safety-badge-toggle .safety-badge{box-shadow:0 0 0 3px #5a8f6e26}.safety-badge-toggle:focus-visible{outline:2px solid #5A8F6E;outline-offset:2px;border-radius:999px}.safety-info summary::-webkit-details-marker{display:none}.safety-info-panel{position:absolute;top:calc(100% + 8px);right:0;width:min(320px,80vw);background:#fff;border:1px solid #C8DDD0;border-radius:10px;box-shadow:0 8px 20px #3a6b4a29;padding:10px 12px;z-index:20}.safety-info-panel p{margin:0 0 6px;color:#455745;font-size:.78rem;line-height:1.35}.safety-info-title{font-weight:700;color:#2e6b42}.safety-info-reason,.safety-info-stats{font-weight:600}.safety-info-list{color:#5c6c5c}.safety-high{background:#e4f2e9!important;color:#2e6b42!important;border-color:#a8d5b5!important}.safety-medium{background:#fdf0df!important;color:#9a5e14!important;border-color:#f0d5b0!important}.safety-low{background:#faebe8!important;color:#923328!important;border-color:#f0c0b8!important}.safety-high,.safety-medium,.safety-low,.badge-category,.highlight-tag{background:#eef5f1;color:#3a6b4a;border:1px solid #C8DDD0}.badge-category{white-space:nowrap;font-size:.72rem;font-weight:500;padding:3px 10px;line-height:1.2}.badge-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:.6rem}.badge{letter-spacing:.02em}.badge-new{background:#e4f2e9;color:#2e6b42}.badge-exclusive{background:#ede8f5;color:#5b3d8a}.badge-limited{background:#fdf0df;color:#9a5e14}.badge-oos{background:#f0f0f0;color:#777}.meta-row{display:flex;align-items:center;gap:14px;margin-bottom:.6rem;flex-wrap:wrap}.star-rating{display:inline-flex;align-items:center;gap:2px}.star{font-size:18px;color:#dde8e0}.star.filled{color:#c17d2a}.rating-number{font-size:14px;color:#6b7a6b;margin-left:4px;font-weight:600}.review-count{font-size:13px;color:#9eaf9e}.price-block{margin-left:auto;display:flex;align-items:center;gap:6px}.price-regular{font-size:16px;font-weight:700;color:#2d3b2d}.price-original{font-size:14px;color:#9eaf9e;text-decoration:line-through}.price-sale{font-size:16px;font-weight:700;color:#3a6b4a}.highlights-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:.65rem}.description-dropdown{margin:.4rem 0 .7rem}.description-dropdown summary{cursor:pointer;font-size:.85rem;color:#5a8f6e;-webkit-user-select:none;user-select:none;list-style:none;display:inline-flex;align-items:center;gap:4px}.description-dropdown summary::-webkit-details-marker{display:none}.description-dropdown summary:before{content:"▶";font-size:.65rem;transition:transform .2s}.description-dropdown[open] summary:before{transform:rotate(90deg)}.product-description{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:15px;color:#4a5a4a;line-height:1.5;margin:.4rem 0 0}.svd-debug{margin-top:10px;padding:8px 10px;background:#f8f8f8;border-radius:6px;font-size:.75rem;color:#555}.svd-title{font-weight:600;margin-bottom:6px;color:#333}.svd-dim-row{display:flex;gap:10px;padding:2px 0;border-bottom:1px solid #eee}.svd-section-label{font-weight:600;margin:6px 0 2px;color:#555}.svd-neg{color:#c0392b}.svd-dim-label{font-weight:600;min-width:50px;color:#2a6}.svd-dim-contrib{min-width:60px;color:#888}.svd-dim-terms{color:#444}.flagged-block{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:.5rem}.flagged-label{font-size:13px;color:#9a5e14;font-weight:600}.flagged-tag{background:#fdf0df;color:#9a5e14;border:1px solid #F0D5B0}.ingredient-row{display:contents}.ing-tag{border-radius:12px;padding:3px 10px;font-size:.72rem;font-weight:500}.ing-good{background:#d4edda}.ing-bad{background:#fdecea}.match-score-label{font-size:13px;color:#232323;margin:0;text-align:right}.match-score-wrapper{display:flex;margin-top:auto;align-items:flex-end;justify-content:flex-end}.show-more-button{grid-column:1 / -1;justify-self:center;margin-top:.5rem;padding:.8rem 1.2rem;border:1.5px solid #5A8F6E;border-radius:999px;background:#fff;color:#3a6b4a;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.show-more-button:hover{background:#f0f5f1;box-shadow:0 2px 10px #3a6b4a1f}.show-more-button:focus-visible{outline:3px solid rgba(90,143,110,.25);outline-offset:2px}.llm-mode #answer-box{padding-bottom:360px}.chat-widget{position:fixed;right:20px;bottom:20px;width:min(400px,calc(100vw - 32px));height:min(72vh,450px);display:flex;flex-direction:column;border:1px solid #d9e5dd;border-radius:16px;background:#f5f7f4;box-shadow:0 10px 28px #2d3b2d29;z-index:50;overflow:hidden}.chat-fab{position:fixed;right:20px;bottom:20px;width:56px;height:56px;border:none;border-radius:50%;background:#3a6b4a;color:#fff;box-shadow:0 10px 24px #2d3b2d38;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;z-index:50;transition:transform .15s ease,background .15s ease}.chat-fab:hover{background:#2e5a3c;transform:translateY(-1px)}.chat-fab:focus-visible{outline:3px solid rgba(90,143,110,.35);outline-offset:2px}.chat-fab-icon{font-size:1.5rem;line-height:1}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:none;text-align:left;padding:10px 12px;border-bottom:1px solid #dce8e0;background:#edf4ef;cursor:pointer}.chat-header:hover{background:#e6f0e9}.chat-header:focus-visible{outline:3px solid rgba(90,143,110,.25);outline-offset:-3px}.chat-header-title-wrap{min-width:0}.chat-header-title{margin:0;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:700;color:#2f5f3f}.chat-close-button{width:28px;height:28px;border:1px solid #b9d0bf;border-radius:999px;background:#eef5f1;color:#2f5f3f;font-size:1.2rem;line-height:1;font-weight:700;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease,transform .15s ease}.chat-close-button:hover{background:#dfece3;border-color:#8fb39a;transform:translateY(-1px)}.chat-close-button:focus-visible{outline:3px solid rgba(90,143,110,.25);outline-offset:2px}#messages{width:100%;margin-top:0;flex:1;overflow-y:auto;padding:14px 14px 8px}.message{margin-bottom:1em}.message p{margin:0 0 .4em;word-break:break-word;font-family:Montserrat,sans-serif;font-size:1rem;line-height:1.6}.message.user p{white-space:pre-wrap;color:#386f4ae8}.message.assistant p,.message.assistant li,.message.assistant ul,.message.assistant ol,.message.assistant strong{font-family:Montserrat,sans-serif;font-size:1rem;line-height:1.6}.message.assistant ul,.message.assistant ol{margin:.3em 0 .4em 1.2em;padding:0}.message.assistant li{margin-bottom:.2em}.message.assistant strong{font-weight:700;color:#2e6644}.loading-indicator{display:none;align-items:center;gap:6px;margin-bottom:1em}.loading-indicator.visible{display:flex}.loading-dot{width:10px;height:10px;border-radius:50%;background:#5a8f6e;animation:loading-bounce .6s ease-in-out infinite}.loading-dot:nth-child(1){animation-delay:0s}.loading-dot:nth-child(2){animation-delay:.15s}.loading-dot:nth-child(3){animation-delay:.3s}@keyframes loading-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.chat-bar{width:100%;flex-shrink:0;padding:10px 12px;border-top:1px solid #DDE8E0;background:#f5f7f4}.chat-bar .input-row{display:flex;align-items:flex-end;max-width:100%;margin:0;border-radius:16px;border:1.5px solid #C8DDD0;background:#fff;padding:8px 8px 8px 12px;gap:8px}.chat-bar .input-row img{width:16px;height:16px;flex-shrink:0;opacity:.55}.chat-bar .input-row textarea{flex:1;min-width:0;min-height:40px;max-height:108px;resize:none;overflow-y:auto;font-size:15px;border:none;outline:0;background:transparent;font-family:Montserrat,sans-serif;line-height:1.35;color:#2d3b2d}.chat-bar .input-row button{flex-shrink:0;padding:8px 16px;font-size:13px;border-radius:20px;border:none;background:#3a6b4a;color:#fff;cursor:pointer;font-family:Montserrat,sans-serif;font-weight:600;transition:background .15s}.chat-bar .input-row button:hover:not(:disabled){background:#2e5a3c}.chat-bar .input-row button:disabled{opacity:.5;cursor:not-allowed}.chat-char-count{margin:6px 2px 0 0;text-align:right;font-size:.72rem;color:#6b7a6b}:not(.searching) .top-text h1{animation:fade-up .7s ease .4s both}:not(.searching) .landing-tagline{animation:fade-up .7s ease .65s both}:not(.searching) .top-text .input-box{animation:fade-up .7s ease .85s both}:not(.searching) .search-hint{animation:fade-up .7s ease 1.05s both}:not(.searching) .example-query-grid{animation:fade-up .7s ease 1.15s both}@media (max-width: 768px){.full-body-container:not(.searching){padding-top:9vh}.top-text{margin-top:1rem}.top-text h1{font-size:2.3rem}.input-box,.filter-bar{width:100%}#answer-box{grid-template-columns:1fr;padding:0 1rem 2rem}#messages{padding:10px 10px 8px}.card-header{flex-direction:column;gap:.4rem}.price-block{margin-left:0}.llm-mode #answer-box{padding-bottom:320px}.chat-widget{right:10px;left:10px;bottom:10px;width:auto;max-height:52vh;border-radius:14px}.chat-fab{right:10px;bottom:10px}}@media (max-width: 1100px) and (min-width: 769px){#answer-box{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px) and (min-width: 769px){#answer-box{grid-template-columns:repeat(2,1fr)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Open Sans,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}
