@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap");:root{color-scheme:light;--ink:#201d32;--muted:#5b5871;--violet:#5147d8;--violet-dark:#3e35b4;--rose:#d77eaa;--gold:#edae24;--paper:#f9f8fc;--line:#e2dfec;--surface:#fff;--soft:#f2f0fa;--platform:#e8e5f5}*{box-sizing:border-box}body,html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:DM Sans,Segoe UI,sans-serif;font-size:16px;line-height:1.55}::selection{color:#fff;background:var(--violet)}button,input,textarea{font:inherit}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--rose);outline-offset:3px}.app-shell{max-width:1120px;min-height:100vh;margin:auto;padding:0 40px;display:flex;flex-direction:column}.topbar{height:88px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:12px;color:var(--ink);text-decoration:none;font:800 18px/1.2 Manrope,Segoe UI,sans-serif;letter-spacing:-.035em}.brand-mark{display:block;width:42px;height:42px;border-radius:13px;object-fit:cover}.topbar-note{color:var(--muted);font-size:13px}.topbar-actions{display:flex;align-items:center;gap:16px}.sign-out-button{min-height:40px;border:1px solid #c9c4df;border-radius:9px;padding:7px 12px;color:var(--violet-dark);background:var(--surface);font-size:13px;font-weight:700;cursor:pointer}.sign-out-button:hover{background:var(--soft)}.workspace{width:min(100%,620px);margin:52px auto 32px;padding:40px 44px 32px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 4px 0 var(--platform),0 16px 30px rgb(39 33 79/10%)}.welcome-line{margin:0 0 18px;color:var(--muted);font-size:14px;font-weight:600}.sign-in-workspace{width:min(100%,540px)}.sign-in-button{width:100%;min-height:54px}.screen-heading{margin:0 0 32px}h1,h2,p{margin-top:0}h1{margin-bottom:8px;color:var(--ink);font:800 42px/1.1 Manrope,Segoe UI,sans-serif;letter-spacing:-.045em;text-wrap:balance}.heading-accent{color:var(--violet)}.screen-heading p{margin-bottom:0;color:var(--muted);font-size:15px}.review-form,.search-form{display:grid;grid-gap:12px;gap:12px}.ai-disclosure{margin:-2px 0 0;color:var(--muted);font-size:12px;line-height:1.45}label,legend{color:var(--ink);font-size:14px;font-weight:700}input,textarea{width:100%;border:1px solid #cbc7dd;border-radius:10px;background:#fff;color:var(--ink);padding:13px 14px;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder,textarea::placeholder{color:#625e76;opacity:1}input:focus,textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px rgb(81 71 216/14%);outline:none}.search-form input+label{margin-top:8px}.button{min-height:50px;border:0;border-radius:12px;padding:12px 18px;font-weight:700;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .15s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(3px)}.button:disabled{cursor:wait;opacity:.72}.button.primary{display:inline-flex;justify-content:center;align-items:center;gap:11px;margin-top:10px;color:#fff;background:var(--violet);box-shadow:0 4px 0 var(--violet-dark),0 9px 14px rgb(62 53 180/20%)}.button.primary:hover:not(:disabled){background:var(--violet-dark);box-shadow:0 5px 0 #302a8e,0 11px 16px rgb(62 53 180/24%)}.button.primary:active:not(:disabled){box-shadow:0 1px 0 var(--violet-dark),0 3px 6px rgb(62 53 180/18%)}.review-form .button.primary,.search-form .button.primary{width:100%;min-height:54px}.search-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.button.secondary{width:100%;margin-top:24px;border:1px solid #c9c4df;color:var(--violet-dark);background:var(--soft);box-shadow:0 3px 0 #dedbed}.button.secondary:hover{background:#e8e5f5}.photo-results{margin:-6px 0 26px;border-radius:13px;padding:16px;background:var(--soft);box-shadow:0 3px 0 var(--platform)}.photo-results h2{margin:0 0 12px;font:700 15px Manrope,Segoe UI,sans-serif;letter-spacing:-.02em}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:9px;gap:9px}.photo-result{display:block;overflow:hidden;aspect-ratio:1/1;border:1px solid #d6d2e5;border-radius:9px;background:#fff}.photo-result img{display:block;width:100%;height:100%;object-fit:cover}.photo-result:focus-visible{outline:3px solid var(--rose);outline-offset:3px}.photo-message{margin:0;color:var(--muted);font-size:13px}.photo-search-link{display:inline-block;margin-top:10px;color:var(--violet-dark);font-size:14px;font-weight:700;text-underline-offset:3px}.photo-search-link:focus-visible{outline:3px solid var(--rose);outline-offset:3px;border-radius:2px}.results-area{margin-top:38px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.section-title h2{margin:0;font:700 16px Manrope,Segoe UI,sans-serif;letter-spacing:-.02em}.section-title>span{min-width:27px;border-radius:20px;padding:2px 8px;color:var(--muted);background:var(--soft);text-align:center;font-size:12px;font-weight:700}.product-list{display:grid;grid-gap:10px;gap:10px}.product-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 3px 0 #efedf7,0 5px 12px rgb(32 29 50/4%);text-align:left}.product-row small,.product-row strong{display:block}.product-row strong{font-size:14px}.product-row small{color:var(--muted);font-size:13px}.product-actions{display:flex;align-items:center;gap:6px}.product-actions button{min-height:40px;border:1px solid #c9c4df;border-radius:9px;padding:7px 10px;color:var(--violet-dark);background:var(--soft);font-size:11px;font-weight:700;cursor:pointer;box-shadow:0 2px 0 #dedbed}.product-actions button:hover{background:#e8e5f5}.empty-state{margin:0;border:1px dashed #c9c4dc;border-radius:10px;padding:16px;color:var(--muted);background:#f8f7fc;font-size:14px}.back-link{display:inline-block;margin:0 0 20px;padding:0;border:0;color:var(--violet-dark);background:transparent;font-size:14px;font-weight:700;cursor:pointer}.back-link:hover{text-decoration:underline;text-underline-offset:3px}.business-line{color:var(--muted)!important;font-weight:600}.rating-field{margin:0 0 12px;padding:0;border:0}.rating-field legend{margin-bottom:8px}.stars{display:flex;gap:8px}.star-button{display:grid;width:46px;height:46px;place-items:center;padding:5px;border:1px solid #e5dfca;border-radius:10px;background:#fffdf4;cursor:pointer}.star-button:hover{background:#fff6d9}.star-icon{display:block;width:21px;height:21px;fill:#e6e9df}.star-icon.filled{fill:var(--gold)}.star-button .star-icon{width:28px;height:28px}.rating-hint{display:block;margin-top:7px;color:var(--muted);font-size:13px}.review-form textarea{min-height:130px;resize:vertical}.character-count{margin:-4px 0 2px;color:var(--muted);font-size:12px}.alert{margin:14px 0 0;border-radius:9px;padding:11px 13px;font-size:14px}.alert.error{color:#812e2d;background:#fff0ed;border:1px solid #f0cbc4;overflow-wrap:anywhere}.alert.success{color:#12534a;background:#eaf6ef;border:1px solid #b8dcc7}.reviews-list{display:grid;grid-gap:12px;gap:12px}.review-entry{border-bottom:1px solid var(--line);padding:15px 2px 17px}.review-entry:last-child{border-bottom:0}.review-stars{display:flex;gap:3px;margin-bottom:7px}.review-stars .star-icon{width:17px;height:17px}.review-entry p{margin-bottom:7px;color:#294e4d;white-space:pre-wrap;overflow-wrap:anywhere}.review-entry small{color:var(--muted);font-size:12px}.privacy-note{margin-top:27px;border-top:1px solid var(--line);padding-top:17px;color:#3c5f5a;font-size:13px}.footer-note{margin:auto 0 20px;color:var(--muted);text-align:center;font-size:12px}.landing-shell{width:min(100% - 64px,1160px);min-height:100vh;margin:0 auto;display:flex;flex-direction:column}.landing-topbar{min-height:88px}.landing-topbar-note{color:var(--muted);font-size:13px;font-weight:600}.landing-hero{flex:1 1;display:grid;grid-template-columns:minmax(0,.92fr) minmax(380px,1fr);align-items:center;grid-gap:clamp(36px,7vw,92px);gap:clamp(36px,7vw,92px);padding:54px 0 70px}.landing-copy{max-width:520px}.landing-copy h1{margin:0 0 20px;font-size:clamp(42px,5vw,62px);line-height:1.05;letter-spacing:-.055em}.landing-copy>p:not(.landing-proof){max-width:37ch;margin:0 0 28px;color:var(--muted);font-size:18px;line-height:1.55}.landing-cta{width:-moz-fit-content;width:fit-content;min-width:190px;min-height:58px;padding:14px 20px;text-decoration:none;font-size:17px}.landing-cta svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.landing-proof{max-width:36ch;margin:18px 0 0;color:var(--muted);font-size:13px}.landing-spotlight{position:relative;width:100%;max-width:500px;justify-self:end;padding:0 8px 18px}.landing-spotlight:before{position:absolute;z-index:-1;right:0;bottom:0;left:0;height:36px;border:1px solid #dad6ec;border-radius:16px;background:var(--platform);box-shadow:0 12px 22px rgb(39 33 79/10%);content:""}.spotlight-window{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 5px 0 #e8e5f5,0 18px 38px rgb(39 33 79/12%);transform:rotate(.7deg)}.spotlight-bar{height:48px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);padding:0 16px;background:#fcfbfe}.spotlight-dot{width:7px;height:7px;border-radius:50%;background:#d8d5e3}.spotlight-brand{display:inline-flex;align-items:center;gap:7px;margin-left:auto;color:var(--muted);font-size:11px;font-weight:700}.spotlight-brand .brand-mark{width:23px;height:23px;border-radius:7px}.spotlight-content{padding:25px clamp(20px,3vw,34px) 22px}.spotlight-content h2{max-width:30ch;margin:0 0 17px;font:800 clamp(18px,2.2vw,23px)/1.25 Manrope,Segoe UI,sans-serif;letter-spacing:-.035em}.spotlight-stars{display:flex;gap:8px;margin-bottom:4px}.spotlight-stars span{display:grid;width:38px;height:38px;place-items:center;border:1px solid #e5dfca;border-radius:9px;background:#fffdf4}.spotlight-stars svg{width:22px;height:22px;fill:#e6e9df}.spotlight-hint{margin:0 0 17px;color:var(--muted);font-size:12px}.spotlight-review-label{margin-bottom:7px;color:var(--ink);font-size:12px;font-weight:700}.spotlight-textarea{min-height:66px;border:1px solid #cbc7dd;border-radius:9px;padding:11px 12px;color:#625e76;font-size:12px}.spotlight-submit{width:100%;min-height:42px;display:grid;place-items:center;margin-top:12px;border-radius:9px;padding:8px;color:#fff;background:var(--violet);font-size:13px;font-weight:700;box-shadow:0 3px 0 var(--violet-dark),0 6px 11px rgb(62 53 180/16%)}.spotlight-footer{display:flex;align-items:center;gap:10px;margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.spotlight-footer-mark .brand-mark{width:32px;height:32px;border-radius:9px}.spotlight-footer small,.spotlight-footer strong{display:block}.spotlight-footer strong{font-size:12px}.spotlight-footer small{color:var(--muted);font-size:11px}.landing-footer{margin:auto 0 24px;color:var(--muted);text-align:center;font-size:12px}@media (max-width:820px){.landing-shell{width:min(100% - 40px,620px)}.landing-hero{grid-template-columns:minmax(0,1fr);gap:36px;padding:42px 0 56px}.landing-copy h1{font-size:clamp(42px,8vw,54px)}.landing-spotlight{justify-self:center}}@media (max-width:620px){.landing-shell{width:min(100% - 36px,520px)}.landing-topbar{min-height:70px}.landing-topbar-note{font-size:11px}.landing-hero{grid-template-columns:minmax(0,1fr);gap:36px;padding:40px 0 52px}.landing-copy h1{font-size:clamp(38px,11vw,48px)}.landing-copy>p:not(.landing-proof){font-size:16px}.landing-spotlight{justify-self:center;max-width:470px;padding-right:5px;padding-left:5px}.spotlight-content{padding:22px 18px 18px}.spotlight-content h2{font-size:19px}.app-shell{padding:0 16px}.topbar{height:70px}.brand{gap:9px;font-size:15px}.brand-mark{width:36px;height:36px;border-radius:11px}.topbar-note{max-width:105px;text-align:right;font-size:11px;line-height:1.3}.topbar-actions{gap:8px}.sign-out-button{min-height:38px;padding:6px 9px;font-size:12px}.workspace{margin:24px auto 20px;padding:27px 20px 23px;border-radius:14px}h1{font-size:34px;overflow-wrap:anywhere}.screen-heading{margin-bottom:26px}.results-area{margin-top:32px}.privacy-note{margin-top:22px}}