:root{--background:#f8f7f3;--foreground:#887c69;--coral:#f37953;--cream:#eae6d8;--cream-active:#e1ddce;--muted:#68654e70;--soft-muted:#887c6969;--sheet:#fffdf8;--border:#e5dfd4}*{box-sizing:border-box}html{background:#eceae6;min-width:320px;overflow-x:hidden}body{min-height:100dvh;color:var(--foreground);font-family:var(--font-afacad-flux), "Afacad Flux", sans-serif;background:#eceae6;margin:0;overflow-x:hidden}button,input,select,textarea{min-height:44px;font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #f3795373}input,select,textarea{border:1px solid var(--border);color:var(--foreground);background:#fff}.sr-only{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.app-frame{background:var(--background);width:min(100%,440px);margin:0 auto}.app-canvas{aspect-ratio:440/956;background:var(--background);width:100%;position:relative;overflow:hidden}.mobile-status-bar{z-index:5;pointer-events:none;position:absolute;inset:0}.status-time{width:12.273%;height:2.197%;position:absolute;top:1.255%;left:4.773%}.status-right{width:15.15%;height:1.186%;position:absolute;top:1.813%;right:3.334%}.brand-bar{z-index:6;color:var(--foreground);white-space:nowrap;font-size:min(15px,3.409vw);font-weight:600;line-height:1.333;position:absolute;top:6.172%;left:50%;transform:translate(-50%)}.brand-bar span{color:var(--coral)}.ingredient-search{z-index:20;width:100%;height:4.289%;position:absolute;top:12.552%;left:0}.ingredient-search>label{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.search-field{position:absolute;inset:0}.search-field input{background:var(--cream);width:43.409%;height:100%;min-height:0;color:var(--foreground);text-align:center;outline-offset:3px;border:0;border-radius:999px;padding:0 1rem;font-size:min(15px,3.409vw);font-weight:600;position:absolute;top:0;left:28.409%}.search-field input::placeholder{color:#5a684e57;opacity:1}.search-field input::-webkit-search-cancel-button{display:none}.search-icon{object-fit:contain;width:4.343%;height:53.205%;position:absolute;top:23.4%;left:20%}.reset-blend-button{background:0 0;border:0;border-radius:50%;width:5.227%;height:56.098%;min-height:0;padding:0;position:absolute;top:21.951%;left:73.864%}.reset-blend-button img{width:95%;height:75%;margin:12.5% auto 0;display:block}.reset-blend-button:focus-visible{outline:2px solid var(--coral);outline-offset:3px}.reset-blend-button:disabled{cursor:default;opacity:1}.search-results{z-index:30;border:1px solid var(--border);background:#fffdf8f7;border-radius:18px;width:64%;max-height:min(255px,38vh);animation:.16s ease-out reveal;position:absolute;top:calc(100% + 8px);left:18%;overflow-y:auto;box-shadow:0 18px 38px #5c4e3c24}.search-results button{width:100%;color:var(--foreground);text-align:left;background:0 0;border:0;border-bottom:1px solid #eee9df;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.35rem .75rem;display:grid}.search-results button:last-child{border-bottom:0}.search-results button:hover{background:#fff6ef}.search-results>p{color:var(--muted);margin:0;padding:.8rem}.search-result-visual{width:28px;height:28px}.search-suggestion-visual{color:#8f7d64;text-transform:uppercase;background:#f6dfc5;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:grid}.search-result-action{color:var(--coral);font-size:.72rem;font-weight:600}.search-results .search-correction{color:#9a6d5f;background:#fff8f1;border-bottom:1px solid #eee9df;font-size:.72rem;font-weight:600}.search-results .search-loading{padding-block:.55rem;font-size:.76rem}.search-results .create-custom-result{background:#fffaf4}.custom-result-plus{width:28px;height:28px;color:var(--coral);border:1px dashed #f3795399;border-radius:50%;place-items:center;font-size:18px;display:grid}.search-feedback{width:70%;color:var(--muted);text-align:center;margin:0;font-size:min(11px,2.5vw);position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.blender-stage{z-index:1;aspect-ratio:1;width:128.182%;position:absolute;top:15.377%;left:-14.091%}.blender-machine{position:absolute;inset:0}.blender-machine.is-blending{animation:.43s ease-out blenderSettle}.blender-art{object-fit:cover;z-index:2;width:100%;height:100%;display:block;position:absolute;inset:0}.blender-liquid-mask{z-index:3;clip-path:polygon(6% 0,94% 0,78% 100%,22% 100%);width:37.5%;height:40%;position:absolute;top:20.5%;left:30.5%;overflow:hidden}.blender-liquid{height:var(--fill-level);opacity:.9;background-color:#f87859;background-image:radial-gradient(circle at 22% 31%,#b13d2933 0 .65px,#0000 .9px),radial-gradient(circle at 73% 64%,#ffd2b53d 0 .7px,#0000 1px),radial-gradient(circle at 43% 82%,#aa382821 0 .55px,#0000 .85px),linear-gradient(90deg,#ffa58933,#ee563952);background-size:7px 7px,11px 11px,5px 5px,100% 100%;transition:height .42s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:0;left:0;right:0;box-shadow:inset 10px 0 18px #ffd6bb29,inset -10px 0 18px #be36231f}.blender-fruits{z-index:4;height:var(--fill-level);transition:height .42s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:0;left:0;right:0;overflow:hidden}.blender-fruit-button{width:var(--fruit-size);height:var(--fruit-size);aspect-ratio:1;background:0 0;border:0;border-radius:50%;place-items:center;min-height:0;padding:0;display:grid;position:absolute;transform:translate(-50%)}.blender-fruit{aspect-ratio:1;object-fit:contain;width:100%;height:100%;animation:.36s cubic-bezier(.2,.85,.32,1.2) fruitDrop}.ingredient-visual{border-radius:50%;flex:none;place-items:center;line-height:1;display:grid;overflow:hidden}.ingredient-visual-image{object-fit:contain}.ingredient-wordmark{filter:drop-shadow(0 2px 4px #4c392b17)}.ingredient-orbit{z-index:4;pointer-events:none;position:absolute;inset:0}.orbit-label{max-width:20%;min-height:0;color:var(--soft-muted);text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;background:0 0;border:0;padding:0;font-size:min(15px,3.409vw);font-weight:600;line-height:1.333;position:absolute;overflow:hidden}button.orbit-label:hover,.orbit-label.is-selected{color:var(--foreground)}button.orbit-label:disabled{cursor:wait}.orbit-label.is-loading{color:var(--accent);opacity:.72}.orbit-slot-1,.orbit-slot-2,.orbit-slot-3,.orbit-slot-4,.orbit-slot-5{text-align:right;left:auto}.orbit-slot-6,.orbit-slot-7,.orbit-slot-8,.orbit-slot-9,.orbit-slot-10{text-align:left;right:auto}.orbit-slot-4{top:44.1%;right:77.5%}.orbit-slot-5{top:52.3%;right:76.8%}.orbit-slot-3{top:48.5%;right:75.5%}.orbit-slot-2{top:60.9%;right:77.2%}.orbit-slot-1{top:64.8%;right:76%}.orbit-slot-6{top:50.1%;left:78%}.orbit-slot-8{top:57.4%;left:79.2%}.orbit-slot-9{top:54%;left:77.2%}.orbit-slot-7{top:61.8%;left:80%}.orbit-slot-10{top:65.2%;left:78.4%}.result-card{z-index:5;width:100%;height:16.632%;position:absolute;top:73.222%;left:0}.nutrition-summary{position:absolute;inset:0}.calorie-total{text-align:center;margin:0;position:absolute;inset:0 0 auto}.calorie-total dt{height:20px;color:var(--muted);font-size:min(15px,3.409vw);font-weight:600;line-height:1.333;position:relative}.nutrition-info-button{background:0 0;border:0;border-radius:50%;place-items:center;width:44px;min-height:44px;padding:0;display:grid;position:absolute;top:-12px;left:calc(50% + 57px)}.nutrition-info-button span{color:#887c69b8;border:1.6px solid #887c6994;border-radius:50%;place-items:center;width:19px;height:19px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:750;line-height:1;display:grid}.nutrition-info-button:hover span{border-color:var(--coral);color:var(--coral)}.calorie-total dd{color:#68654ec4;justify-content:center;align-items:baseline;height:min(85px,19.318vw);margin:0;line-height:1;display:flex}.calorie-approx{margin-right:7px;font-size:min(40px,9.091vw);font-weight:600}.calorie-number{letter-spacing:-.025em;font-size:min(64px,14.545vw);font-weight:600}.calorie-unit{margin-left:8px;font-size:min(15px,3.409vw);font-weight:600}.macro-list{grid-template-columns:repeat(4,1fr);width:79.546%;margin:0;display:grid;position:absolute;top:64.151%;left:10.227%}.macro-row{justify-items:center;display:grid}.macro-row dt{color:var(--muted);font-size:min(15px,3.409vw);font-weight:600;line-height:1.333}.macro-row dd{color:#68654ec4;align-items:baseline;gap:8px;margin:0;font-size:min(20px,4.545vw);font-weight:600;line-height:1.35;display:flex}.macro-row dd small{color:var(--muted);font-size:min(15px,3.409vw)}.feedback-trigger{z-index:10;min-height:44px;color:var(--coral);text-underline-offset:4px;white-space:nowrap;background:0 0;border:0;padding:0 18px;font-size:min(13px,2.955vw);font-weight:700;-webkit-text-decoration:underline #f3795359;text-decoration:underline #f3795359;position:absolute;bottom:1.15%;left:50%;transform:translate(-50%)}.feedback-trigger:hover{text-decoration-color:currentColor}.popup-layer{z-index:50;position:absolute;inset:0}.popup-backdrop{background:#41393045;border:0;border-radius:0;width:100%;min-height:0;padding:0;animation:.18s ease-out fadeIn;position:absolute;inset:0}.ingredient-popup{background:var(--sheet);text-align:center;border:1px solid #e1ddcee0;border-radius:22px;width:min(330px,100% - 44px);padding:22px;animation:.22s cubic-bezier(.2,.8,.2,1) popupIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 70px #3d332738}.popup-close{width:44px;color:var(--muted);background:0 0;border:0;border-radius:50%;font-size:22px;position:absolute;top:8px;right:8px}.popup-ingredient-visual{width:54px;height:54px;margin:0 auto 8px;font-size:19px}.popup-kicker{color:var(--muted);margin:0;font-size:12px;font-weight:600}.ingredient-popup h2{color:var(--foreground);margin:1px 0 18px;font-size:25px;font-weight:600}.popup-data-note{color:#9b7468;max-width:245px;margin:-10px auto 14px;font-size:11px;line-height:1.25}.popup-fields{text-align:left;grid-template-columns:1.25fr .75fr;gap:10px;display:grid}.popup-fields label{color:var(--muted);margin:0 0 5px;font-size:12px;font-weight:600;display:block}.popup-fields input,.popup-fields select{border-radius:12px;width:100%;padding:0 10px}.popup-portion-field{grid-column:1/-1}.quantity-control>div{grid-template-columns:40px minmax(0,1fr) 40px;display:grid}.quantity-control button{border:1px solid var(--border);min-height:44px;color:var(--foreground);background:#fff;font-size:19px}.quantity-control button:first-child{border-radius:12px 0 0 12px}.quantity-control button:last-child{border-radius:0 12px 12px 0}.quantity-control input{text-align:center;border-radius:0;min-width:0}.popup-unit-note{color:#9b7468;text-align:left;margin:8px 0 0;font-size:11px;line-height:1.3}.popup-error{color:#a63c2e;text-align:left;margin:8px 0 0;font-size:12px}.popup-actions{justify-content:flex-end;align-items:center;gap:7px;margin-top:20px;display:flex}.popup-actions button{border-radius:999px;padding:0 13px;font-size:12px;font-weight:600}.popup-remove{color:#b25547;background:0 0;border:0;margin-right:auto}.popup-cancel{border:1px solid var(--border);color:var(--foreground);background:#fff;margin-left:auto}.popup-primary{border:1px solid var(--coral);background:var(--coral);color:#fff}.popup-primary:disabled{cursor:default;opacity:.45}.nutrition-breakdown-layer{z-index:70;position:absolute;inset:0}.nutrition-breakdown-backdrop{background:#4139304d;border:0;border-radius:0;width:100%;min-height:0;padding:0;animation:.18s ease-out fadeIn;position:absolute;inset:0}.nutrition-breakdown-dialog{background:var(--sheet);border:1px solid #e1ddcee0;border-radius:24px;flex-direction:column;width:min(360px,100% - 30px);max-height:calc(100% - 46px);padding:22px 18px 18px;animation:.22s cubic-bezier(.2,.8,.2,1) popupIn;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 70px #3d33273d}.nutrition-breakdown-close{width:44px;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:50%;font-size:22px;position:absolute;top:7px;right:7px}.nutrition-breakdown-kicker{color:var(--coral);letter-spacing:.08em;text-align:center;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.nutrition-breakdown-dialog h2{color:var(--foreground);text-align:center;margin:2px 0 4px;font-size:23px;font-weight:700;line-height:1.2}.nutrition-breakdown-description{color:var(--muted);text-align:center;margin:0 26px 14px;font-size:12px;line-height:1.35}.nutrition-breakdown-list{overscroll-behavior:contain;gap:8px;min-height:0;padding:1px 2px;display:grid;overflow-y:auto}.nutrition-breakdown-item{background:#fbf8f0;border:1px solid #e5dfd4d1;border-radius:17px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:0 10px;padding:10px 12px 9px;display:grid}.nutrition-breakdown-visual{grid-row:1;width:42px;height:42px}.nutrition-breakdown-name{min-width:0}.nutrition-breakdown-name h3{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:700;line-height:1.1;overflow:hidden}.nutrition-breakdown-name p{color:var(--muted);margin:3px 0 0;font-size:11px}.nutrition-breakdown-calories{color:var(--coral);white-space:nowrap;align-items:baseline;gap:3px;display:flex}.nutrition-breakdown-calories strong{font-size:20px;line-height:1}.nutrition-breakdown-calories span{font-size:10px;font-weight:700}.nutrition-breakdown-macros{border-top:1px solid #e5dfd4bd;grid-column:1/-1;grid-template-columns:repeat(4,1fr);margin:9px 0 0;padding-top:8px;display:grid}.nutrition-breakdown-macros div{justify-items:center;display:grid}.nutrition-breakdown-macros dt{color:var(--muted);font-size:10px;font-weight:600}.nutrition-breakdown-macros dd{color:var(--foreground);margin:1px 0 0;font-size:12px;font-weight:700}.nutrition-breakdown-empty{border:1px dashed var(--border);min-height:150px;color:var(--muted);text-align:center;border-radius:18px;place-items:center;padding:24px;font-size:13px;display:grid}.nutrition-breakdown-source{color:var(--muted);text-align:center;margin:12px 0 0;font-size:10px}.reset-confirmation-layer{z-index:60;position:absolute;inset:0}.reset-confirmation-backdrop{background:#41393045;border:0;border-radius:0;width:100%;min-height:0;padding:0;animation:.18s ease-out fadeIn;position:absolute;inset:0}.reset-confirmation{background:var(--sheet);text-align:center;border:1px solid #e1ddcee0;border-radius:24px;width:min(310px,100% - 48px);padding:24px 22px 20px;animation:.22s cubic-bezier(.2,.8,.2,1) popupIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 70px #3d332738}.reset-confirmation-icon{width:46px;height:46px;color:var(--coral);background:#ff75571f;border-radius:50%;place-items:center;margin:0 auto 12px;font-size:27px;line-height:1;display:grid}.reset-confirmation h2{color:var(--foreground);margin:0 0 9px;font-size:22px;font-weight:700;line-height:1.2}.reset-confirmation p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.reset-confirmation-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:20px;display:grid}.reset-confirmation-actions button{border:1px solid var(--border);min-height:44px;color:var(--foreground);background:#fff;border-radius:999px;padding:0 14px;font-size:13px;font-weight:700}.reset-confirmation-actions .is-destructive{border-color:var(--coral);background:var(--coral);color:#fff}.feedback-layer{z-index:80;position:absolute;inset:0}.feedback-backdrop{background:#4139304d;border:0;border-radius:0;width:100%;min-height:0;padding:0;animation:.18s ease-out fadeIn;position:absolute;inset:0}.feedback-dialog{background:var(--sheet);border:1px solid #e1ddcee0;border-radius:24px;width:min(344px,100% - 38px);padding:24px 22px 21px;animation:.22s cubic-bezier(.2,.8,.2,1) popupIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 70px #3d33273d}.feedback-close{width:44px;color:var(--muted);background:0 0;border:0;border-radius:50%;font-size:22px;position:absolute;top:7px;right:7px}.feedback-kicker{color:var(--coral);letter-spacing:.08em;text-align:center;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.feedback-dialog h2{color:var(--foreground);text-align:center;margin:3px 0 5px;font-size:23px;line-height:1.2}.feedback-dialog form>p:nth-of-type(2),.feedback-success p{color:var(--muted);text-align:center;margin:0 auto 18px;font-size:13px;line-height:1.4}.feedback-dialog label{color:var(--foreground);margin:0 0 6px;font-size:12px;font-weight:700;display:block}.feedback-dialog textarea{resize:vertical;border-radius:15px;width:100%;min-height:126px;padding:12px 13px;line-height:1.4;display:block}.feedback-dialog textarea::placeholder{color:var(--soft-muted)}.feedback-meta{min-height:20px;color:var(--muted);justify-content:space-between;gap:8px;padding-top:4px;font-size:10px;display:flex}.feedback-error{color:#a63c2e}.feedback-storage-note{color:var(--muted);text-align:left!important;margin:1px 0 0!important;font-size:10px!important}.feedback-actions{grid-template-columns:1fr 1.35fr;gap:9px;margin-top:17px;display:grid}.feedback-actions button,.feedback-success>button{border:1px solid var(--border);color:var(--foreground);background:#fff;border-radius:999px;padding:0 14px;font-size:13px;font-weight:700}.feedback-actions .feedback-primary,.feedback-success .feedback-primary{border-color:var(--coral);background:var(--coral);color:#fff}.feedback-success{text-align:center}.feedback-success-icon{width:48px;height:48px;color:var(--coral);background:#f379531f;border-radius:50%;place-items:center;margin:4px auto 12px;font-size:25px;font-weight:700;display:grid}.feedback-success>button{min-width:120px}.feedback-admin-page{width:min(920px,100% - 32px);min-height:100vh;margin:0 auto;padding:48px 0 72px}.feedback-admin-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px;display:flex}.feedback-admin-kicker{color:var(--coral);letter-spacing:.1em;margin:0 0 6px;font-size:12px;font-weight:800}.feedback-admin-header h1{margin:0;font-size:clamp(32px,6vw,54px);line-height:1}.feedback-admin-header>div>p:last-child{color:var(--muted);margin:9px 0 0}.feedback-admin-header nav{gap:10px;display:flex}.feedback-admin-header a{border:1px solid var(--border);min-height:44px;color:var(--foreground);background:#fff;border-radius:999px;align-items:center;padding:0 17px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.feedback-admin-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.feedback-admin-list li,.feedback-admin-empty{border:1px solid var(--border);background:#fff;border-radius:20px;padding:20px 22px;box-shadow:0 8px 28px #3d33270f}.feedback-admin-list time{color:var(--muted);font-size:12px;font-weight:700}.feedback-admin-list p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;font-size:17px;line-height:1.5}.feedback-admin-empty{text-align:center}.feedback-admin-empty h2{margin:0 0 6px}.feedback-admin-empty p{color:var(--muted);margin:0}@media (width<=620px){.feedback-admin-page{padding-top:28px}.feedback-admin-header{display:grid}.feedback-admin-header nav{width:100%}.feedback-admin-header a{flex:1;justify-content:center}}@keyframes reveal{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popupIn{0%{opacity:0;transform:translate(-50%,-47%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes blenderSettle{0%,to{transform:translateY(0)}45%{transform:translateY(1px)}72%{transform:translateY(-.5px)}}@keyframes fruitDrop{0%{opacity:0;transform:translateY(-50px)scale(.65)}75%{opacity:1;transform:translateY(3px)scale(1.05)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=419px){.search-results{width:76%;left:12%}.ingredient-popup{padding:18px}}@media (width<=519px) and (aspect-ratio>=5/11) and (aspect-ratio<=8/17){.app-canvas{aspect-ratio:auto;height:100dvh}}@media (width>=520px){body{padding:22px 0}.app-frame{border-radius:30px;box-shadow:0 26px 70px #4a413629}.app-canvas{border-radius:30px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
