:root{--ink:#17251c;--muted:#657168;--paper:#f5f2e9;--surface:#fffdf7;--line:#d9ddd5;--green:#174f34;--green-dark:#103d28;--lime:#c9ef72;--peach:#f3b48c;--shadow:0 16px 45px #1c35251f}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);background:radial-gradient(circle at 100% 0, #c9ef722e, transparent 32rem), var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{flex-direction:column;width:min(100%,31rem);min-height:100svh;margin:0 auto;padding:1.25rem 1.25rem 1.5rem;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:.65rem;font-size:1.03rem;font-weight:800;display:flex}.brand-mark{width:2rem;height:2rem;color:var(--paper);background:var(--green);border-radius:.65rem .65rem .65rem .18rem;place-items:center;font-family:Georgia,serif;font-size:1.35rem;font-style:italic;display:grid}.capture-step,.photo-step{flex:1;padding:clamp(2rem,7vh,4.25rem) 0 2rem}.hero-copy h1,.step-heading h1{letter-spacing:-.055em;max-width:10ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.75rem,12vw,4.5rem);font-weight:500;line-height:.92}.step-heading h1{max-width:12ch;font-size:clamp(2.25rem,10vw,3.6rem)}.hero-copy>p:last-child,.step-heading>p:last-child{max-width:34rem;color:var(--muted);margin:1.25rem 0 0;font-size:1rem;line-height:1.55}.eyebrow{color:var(--green);letter-spacing:.13em;text-transform:uppercase;margin:0 0 .8rem;font-size:.72rem;font-weight:800}.viewfinder{height:12.5rem;box-shadow:var(--shadow);background:#e7e5da;border-radius:1.4rem;margin:2rem 0 1.25rem;position:relative;overflow:hidden}.viewfinder:after{content:"Cadrez ici";z-index:3;color:#fff;letter-spacing:.06em;text-transform:uppercase;background:#14271bb8;border-radius:999px;padding:.4rem .7rem;font-size:.66rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.shelf{border-bottom:.38rem solid #998a73;align-items:flex-end;gap:.45rem;padding:0 .5rem .4rem;display:flex;position:absolute;left:1rem;right:1rem}.shelf-one{top:1.35rem}.shelf-two{justify-content:center;bottom:1.45rem}.shelf i{background:#d96545;border-radius:.25rem .25rem .1rem .1rem;width:2.8rem;height:3.5rem;transform:rotate(-2deg);box-shadow:inset 0 -.7rem #ffffff42}.shelf i:nth-child(2n){background:#4f8064;height:4.1rem;transform:rotate(2deg)}.shelf i:nth-child(3n){background:#e0b94e}.corner{z-index:2;border-color:#fff;width:1.8rem;height:1.8rem;position:absolute}.corner-top-left{border-top:3px solid;border-left:3px solid;top:.8rem;left:.8rem}.corner-top-right{border-top:3px solid;border-right:3px solid;top:.8rem;right:.8rem}.corner-bottom-left{border-bottom:3px solid;border-left:3px solid;bottom:.8rem;left:.8rem}.corner-bottom-right{border-bottom:3px solid;border-right:3px solid;bottom:.8rem;right:.8rem}.tip{background:#fffdf7bd;border:1px solid #174f341a;border-radius:.85rem;align-items:flex-start;gap:.7rem;margin-bottom:1.5rem;padding:.8rem .9rem;display:flex}.tip>span{color:var(--green);font-size:1.1rem}.tip p{color:var(--muted);margin:0;font-size:.78rem;line-height:1.4}.tip strong{color:var(--ink)}.action-stack{gap:.7rem;display:grid}.button{cursor:pointer;border:0;border-radius:1rem;justify-content:center;align-items:center;gap:.7rem;min-height:3.55rem;padding:.85rem 1.15rem;font-size:.95rem;font-weight:800;transition:transform .14s,background .14s;display:flex}.button:active:not(:disabled){transform:scale(.985)}.button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.3rem}.button-primary{color:#fff;background:var(--green);box-shadow:0 9px 24px #174f3433}.button-primary:hover:not(:disabled){background:var(--green-dark)}.button-primary:disabled{cursor:not-allowed;opacity:.58}.button-secondary{color:var(--green);border:1.5px solid var(--green);background:0 0}.button-secondary:hover{background:#174f340d}.button-ghost{min-height:3rem;color:var(--green);background:0 0}.demo-link{width:fit-content;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;margin:.15rem auto 0;padding:.45rem;font-size:.74rem}.eyebrow-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.mode-chip{color:var(--green-dark);background:var(--lime);letter-spacing:.07em;text-transform:uppercase;border-radius:999px;padding:.28rem .55rem;font-size:.62rem;font-weight:800}.soon{color:var(--green-dark);background:var(--lime);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.25rem .45rem;font-size:.6rem}.preview-card{background:var(--surface);border:.35rem solid var(--surface);box-shadow:var(--shadow);border-radius:1.35rem;margin:1.75rem 0 1.25rem;overflow:hidden}.preview-card img{object-fit:contain;background:#e7e5da;border-radius:1rem;width:100%;height:min(47vh,24rem);display:block}.preview-card figcaption{color:var(--muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:.65rem .7rem .35rem;font-size:.67rem;overflow:hidden}.privacy-note,.error-message{color:var(--muted);text-align:center;margin:1rem 0 0;font-size:.72rem;line-height:1.45}.error-message{color:#a33a2b}.loading-step,.failure-step{flex-direction:column;flex:1;justify-content:center;padding:clamp(2rem,7vh,4rem) 0 2rem;display:flex}.loading-photo{height:14rem;box-shadow:var(--shadow);background:#ddd9cc;border-radius:1.4rem;margin-bottom:2rem;position:relative;overflow:hidden}.loading-photo img{object-fit:cover;filter:saturate(.8);width:100%;height:100%;display:block}.loading-photo:after{content:"";background:linear-gradient(90deg,#c9ef7214,#0000 45%);position:absolute;inset:0}.scan-line{z-index:2;background:var(--lime);height:2px;animation:2.2s ease-in-out infinite alternate scan;position:absolute;left:0;right:0;box-shadow:0 0 18px 5px #c9ef72a6}@keyframes scan{0%{top:8%}to{top:92%}}.loading-step h1,.failure-step h1,.results-heading h1{letter-spacing:-.05em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,10vw,3.7rem);font-weight:500;line-height:.98}.analysis-steps{gap:.8rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.analysis-steps li{color:#929a93;align-items:center;gap:.75rem;font-size:.82rem;font-weight:700;display:flex}.analysis-steps li span{border:1px solid #bfc6c0;border-radius:50%;place-items:center;width:1.7rem;height:1.7rem;font-size:.68rem;display:grid}.analysis-steps .step-active{color:var(--ink)}.analysis-steps .step-active span{color:var(--green-dark);background:var(--lime);border-color:var(--lime)}.analysis-steps .step-complete{color:var(--green)}.analysis-steps .step-complete span{color:#fff;background:var(--green);border-color:var(--green)}.results-step{flex:1;padding:2.4rem 0 2rem}.results-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.results-heading h1{max-width:11ch}.results-heading>p{color:var(--muted);flex:none;margin:0 0 .2rem;font-size:.7rem}.result-photo{border:.3rem solid var(--surface);width:100%;box-shadow:var(--shadow);background:#ddd9cc;border-radius:1.25rem;margin:1.5rem 0;position:relative;overflow:hidden}.result-photo>img{width:100%;height:auto;display:block}.product-overlay{z-index:2;border:3px solid var(--overlay-color,var(--lime));border-radius:.55rem;display:block;position:absolute;box-shadow:inset 0 0 0 1px #0000002e,0 0 0 2px #ffffff80}.overlay-best_price{--overlay-color:#f2bd4c}.overlay-best_value{--overlay-color:#87c8ef}.overlay-best_composition{--overlay-color:var(--lime)}.overlay-label{color:#152219;background:var(--overlay-color);text-overflow:ellipsis;white-space:nowrap;border-radius:.4rem .4rem 0 0;max-width:11rem;padding:.28rem .45rem;font-size:clamp(.5rem,2vw,.65rem);font-weight:900;line-height:1;position:absolute;top:-1.65rem;left:-3px;overflow:hidden}.results-list{gap:.9rem;display:grid}.result-card{background:var(--surface);border:1px solid #174f341c;border-radius:1.2rem;padding:1.1rem;position:relative;overflow:hidden;box-shadow:0 7px 24px #1c352512}.result-card:before{content:"";background:var(--card-accent,var(--lime));width:.28rem;position:absolute;inset:0 auto 0 0}.category-best_price{--card-accent:#f2bd4c}.category-best_value{--card-accent:#87c8ef}.category-best_composition{--card-accent:var(--lime)}.category-list{flex-wrap:wrap;gap:.35rem;margin-bottom:.9rem;display:flex}.category-badge{color:var(--green-dark);letter-spacing:.035em;text-transform:uppercase;align-items:center;gap:.35rem;font-size:.65rem;font-weight:900;display:inline-flex}.category-badge i{background:var(--card-accent);border-radius:50%;place-items:center;width:1.2rem;height:1.2rem;font-size:.72rem;font-style:normal;display:grid}.result-card-title{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.result-card-title h2{letter-spacing:-.03em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:600}.result-card-title p{color:var(--muted);margin:.2rem 0 0;font-size:.72rem}.confidence{color:var(--muted);background:#eff0e9;border-radius:.4rem;padding:.25rem .4rem;font-size:.6rem;font-weight:800}.product-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:1rem 0;display:grid}.product-facts>div{min-width:0;padding:.75rem .45rem .75rem 0}.product-facts>div+div{border-left:1px solid var(--line);padding-left:.55rem}.product-facts span:not(.nutri-score),.product-facts>div>span:first-child{color:var(--muted);text-transform:uppercase;margin-bottom:.3rem;font-size:.58rem;display:block}.product-facts strong{overflow-wrap:anywhere;font-size:.78rem;line-height:1.25;display:block}.nutri-score{color:#fff;white-space:nowrap;border-radius:.3rem;width:fit-content;padding:.18rem .3rem;font-size:.57rem;font-weight:700;display:block}.nutri-score strong{display:inline}.nutri-a{background:#168b4c}.nutri-b{background:#78a937}.nutri-c{background:#d5a82f}.nutri-d{background:#db7a32}.nutri-e{background:#c44d3c}.unknown-value{color:var(--muted);font-size:.65rem;line-height:1.2}.justification{margin:0;font-size:.8rem;font-weight:700;line-height:1.45}.promotion-note{color:#733a24;background:#ffe2c9;border-radius:.4rem;width:fit-content;margin:.6rem 0 0;padding:.35rem .5rem;font-size:.65rem;font-weight:800}.composition-detail{color:var(--muted);gap:.4rem;margin:.55rem 0 0;font-size:.67rem;display:flex}.warnings{color:#725323;background:#fff4d9;border:1px solid #ead39c;border-radius:.8rem;margin-top:1rem;padding:.8rem .9rem;font-size:.7rem;line-height:1.4}.warnings p{margin:0}.warnings p+p{margin-top:.35rem}.empty-results{background:var(--surface);text-align:center;border-radius:1rem;padding:1.3rem}.empty-results p{color:var(--muted);margin:.45rem 0 0;font-size:.78rem}.results-footer{margin-top:1.25rem}.results-footer>p{max-width:32rem;color:var(--muted);text-align:center;margin:.75rem auto 0;font-size:.64rem;line-height:1.4}.failure-step{text-align:center}.failure-icon{color:#fff;background:#bd573d;border-radius:50%;place-items:center;width:4rem;height:4rem;margin:0 auto 1.2rem;font-family:Georgia,serif;font-size:2rem;font-weight:700;display:grid}.failure-step .eyebrow{margin-left:auto;margin-right:auto}.failure-step h1{max-width:11ch;margin-left:auto;margin-right:auto}.failure-step>p:not(.eyebrow){max-width:30rem;color:var(--muted);margin:1rem auto 1.7rem;font-size:.85rem;line-height:1.5}.footer{color:var(--muted);text-align:center;padding-top:.5rem;font-size:.67rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}@media (min-width:45rem){.app-shell{width:min(100% - 2rem,58rem)}.capture-step{grid-template-columns:1fr 1fr;align-content:center;column-gap:3rem;display:grid}.hero-copy{align-self:center}.viewfinder{margin-top:0}.tip,.action-stack{grid-column:2}.photo-step,.loading-step,.failure-step{width:100%;max-width:34rem;margin:0 auto}.results-list{grid-template-columns:repeat(3,minmax(0,1fr))}.result-card{padding:1.15rem}.product-facts{grid-template-columns:1fr}.product-facts>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.product-facts>div{padding:.65rem 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}.scan-line{animation:none;top:50%}}.results-footer .button+.button{margin-top:.7rem}.review-callout{width:100%;color:var(--ink);background:var(--surface);font:inherit;text-align:left;cursor:pointer;border:1px solid #ead39c;border-left:.28rem solid #f2bd4c;border-radius:.9rem;align-items:center;gap:.75rem;margin-top:1rem;padding:.85rem .9rem;transition:background .14s;display:flex}.review-callout:hover{background:#fffaf0}.review-callout:active{transform:scale(.99)}.review-callout>span:nth-child(2){color:var(--muted);flex:1;font-size:.7rem;line-height:1.4}.review-callout strong{color:var(--ink);margin-bottom:.15rem;font-size:.82rem;display:block}.review-callout-icon{width:1.7rem;height:1.7rem;color:var(--green-dark);background:#f2bd4c;border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:900;display:grid}.review-callout-arrow{color:var(--green);flex:none;font-size:1.1rem}.review-step{flex:1;padding:clamp(1.5rem,5vh,3rem) 0 2rem}.review-list{gap:.7rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.review-row{background:var(--surface);border:1px solid #174f341c;border-radius:1rem;padding:.9rem;box-shadow:0 5px 18px #1c35250d}.review-row-flagged{background:#fffaf0;border-color:#ead39c}.review-row-head{align-items:center;gap:.7rem;display:flex}.review-thumb{background-color:#e7e5da;background-repeat:no-repeat;border-radius:.55rem;flex:none;width:3rem;height:3.5rem}.review-identity{flex-wrap:wrap;align-items:baseline;gap:.25rem .45rem;min-width:0;display:flex}.review-identity strong{overflow-wrap:anywhere;letter-spacing:-.02em;width:100%;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:600}.review-identity>span:not(.review-flag){color:var(--muted);font-size:.68rem}.review-flag{color:#725323;letter-spacing:.04em;text-transform:uppercase;background:#fff4d9;border-radius:999px;padding:.15rem .4rem;font-size:.58rem;font-weight:800}.review-flag-done{color:var(--green-dark);background:var(--lime)}.review-fields{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:.6rem;margin-top:.8rem;display:grid}.review-field label{color:var(--muted);text-transform:uppercase;margin-bottom:.3rem;font-size:.58rem;display:block}.review-input{background:var(--paper);border:1.5px solid var(--line);border-radius:.7rem;align-items:stretch;display:flex;overflow:hidden}.review-input:focus-within{border-color:var(--green)}.review-input input{min-width:0;color:inherit;background:0 0;border:0;flex:1;padding:.6rem .55rem;font-size:.92rem;font-weight:700}.review-input input:focus{outline:none}.review-input input[aria-invalid=true]{color:#a33a2b}.review-input>span{color:var(--muted);padding:.6rem .55rem .6rem 0;font-size:.82rem;font-weight:700}.review-input select{color:var(--green-dark);border:0;border-left:1.5px solid var(--line);font:inherit;cursor:pointer;background:#174f340f;padding:0 .5rem;font-size:.78rem;font-weight:700}.review-input select:focus{outline:2px solid var(--green);outline-offset:-2px}.review-error{color:#a33a2b;margin:.55rem 0 0;font-size:.68rem}.review-hint{color:var(--muted);margin:1rem 0 1.25rem;font-size:.68rem;line-height:1.45}.analysis-elapsed{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.06em;margin:1.1rem 0 0;font-size:.7rem}.analysis-slow{color:#725323;background:#fff4d9;border:1px solid #ead39c;border-radius:.8rem;margin:.6rem 0 0;padding:.7rem .8rem;font-size:.72rem;line-height:1.45}
