@import "https://fonts.googleapis.com/css2?family=Caveat:wght@600;700&family=Fraunces:ital,opsz,wght@0,9..144,600;0,9..144,700;0,9..144,800;1,9..144,600&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root,.light,.light-theme{--orange-1:#fefcfb;--orange-2:#fff7ed;--orange-3:#ffefd6;--orange-4:#ffdfb5;--orange-5:#ffd19a;--orange-6:#ffc182;--orange-7:#f5ae73;--orange-8:#ec9455;--orange-9:#f76b15;--orange-10:#ef5f00;--orange-11:#cc4e00;--orange-12:#582d1d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--orange-1:color(display-p3 .995 .988 .985);--orange-2:color(display-p3 .994 .968 .934);--orange-3:color(display-p3 .989 .938 .85);--orange-4:color(display-p3 1 .874 .687);--orange-5:color(display-p3 1 .821 .583);--orange-6:color(display-p3 .975 .767 .545);--orange-7:color(display-p3 .919 .693 .486);--orange-8:color(display-p3 .877 .597 .379);--orange-9:color(display-p3 .9 .45 .2);--orange-10:color(display-p3 .87 .409 .164);--orange-11:color(display-p3 .76 .34 0);--orange-12:color(display-p3 .323 .185 .127)}}}:root,.light,.light-theme{--orange-a1:#c0400004;--orange-a2:#ff8e0012;--orange-a3:#ff9c0029;--orange-a4:#ff91014a;--orange-a5:#ff8b0065;--orange-a6:#ff81007d;--orange-a7:#ed6c008c;--orange-a8:#e35f00aa;--orange-a9:#f65e00ea;--orange-a10:#ef5f00;--orange-a11:#cc4e00;--orange-a12:#431200e2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--orange-a1:color(display-p3 .757 .267 .024/.016);--orange-a2:color(display-p3 .886 .533 .008/.067);--orange-a3:color(display-p3 .922 .584 .008/.15);--orange-a4:color(display-p3 1 .604 .004/.314);--orange-a5:color(display-p3 1 .569 .004/.416);--orange-a6:color(display-p3 .949 .494 .004/.455);--orange-a7:color(display-p3 .839 .408 0/.514);--orange-a8:color(display-p3 .804 .349 0/.62);--orange-a9:color(display-p3 .878 .314 0/.8);--orange-a10:color(display-p3 .843 .29 0/.836);--orange-a11:color(display-p3 .76 .34 0);--orange-a12:color(display-p3 .323 .185 .127)}}}:root,.light,.light-theme{--brown-1:#fefdfc;--brown-2:#fcf9f6;--brown-3:#f6eee7;--brown-4:#f0e4d9;--brown-5:#ebdaca;--brown-6:#e4cdb7;--brown-7:#dcbc9f;--brown-8:#cea37e;--brown-9:#ad7f58;--brown-10:#a07553;--brown-11:#815e46;--brown-12:#3e332e}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--brown-1:color(display-p3 .995 .992 .989);--brown-2:color(display-p3 .987 .976 .964);--brown-3:color(display-p3 .959 .936 .909);--brown-4:color(display-p3 .934 .897 .855);--brown-5:color(display-p3 .909 .856 .798);--brown-6:color(display-p3 .88 .808 .73);--brown-7:color(display-p3 .841 .742 .639);--brown-8:color(display-p3 .782 .647 .514);--brown-9:color(display-p3 .651 .505 .368);--brown-10:color(display-p3 .601 .465 .344);--brown-11:color(display-p3 .485 .374 .288);--brown-12:color(display-p3 .236 .202 .183)}}}:root,.light,.light-theme{--brown-a1:#aa550003;--brown-a2:#aa550009;--brown-a3:#a04b0018;--brown-a4:#9b4a0026;--brown-a5:#9f4d0035;--brown-a6:#a04e0048;--brown-a7:#a34e0060;--brown-a8:#9f4a0081;--brown-a9:#823c00a7;--brown-a10:#723300ac;--brown-a11:#522100b9;--brown-a12:#140600d1}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--brown-a1:color(display-p3 .675 .349 .024/.012);--brown-a2:color(display-p3 .675 .349 .024/.036);--brown-a3:color(display-p3 .573 .314 .012/.091);--brown-a4:color(display-p3 .545 .302 .008/.146);--brown-a5:color(display-p3 .561 .29 .004/.204);--brown-a6:color(display-p3 .553 .294 .004/.271);--brown-a7:color(display-p3 .557 .286 .004/.361);--brown-a8:color(display-p3 .549 .275 .004/.487);--brown-a9:color(display-p3 .447 .22 0/.632);--brown-a10:color(display-p3 .388 .188 0/.655);--brown-a11:color(display-p3 .485 .374 .288);--brown-a12:color(display-p3 .236 .202 .183)}}}:root,.light,.light-theme{--amber-1:#fefdfb;--amber-2:#fefbe9;--amber-3:#fff7c2;--amber-4:#ffee9c;--amber-5:#fbe577;--amber-6:#f3d673;--amber-7:#e9c162;--amber-8:#e2a336;--amber-9:#ffc53d;--amber-10:#ffba18;--amber-11:#ab6400;--amber-12:#4f3422}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-1:color(display-p3 .995 .992 .985);--amber-2:color(display-p3 .994 .986 .921);--amber-3:color(display-p3 .994 .969 .782);--amber-4:color(display-p3 .989 .937 .65);--amber-5:color(display-p3 .97 .902 .527);--amber-6:color(display-p3 .936 .844 .506);--amber-7:color(display-p3 .89 .762 .443);--amber-8:color(display-p3 .85 .65 .3);--amber-9:color(display-p3 1 .77 .26);--amber-10:color(display-p3 .959 .741 .274);--amber-11:color(display-p3 .64 .4 0);--amber-12:color(display-p3 .294 .208 .145)}}}:root,.light,.light-theme{--amber-a1:#c0800004;--amber-a2:#f4d10016;--amber-a3:#ffde003d;--amber-a4:#ffd40063;--amber-a5:#f8cf0088;--amber-a6:#eab5008c;--amber-a7:#dc9b009d;--amber-a8:#da8a00c9;--amber-a9:#ffb300c2;--amber-a10:#ffb300e7;--amber-a11:#ab6400;--amber-a12:#341500dd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-a1:color(display-p3 .757 .514 .024/.016);--amber-a2:color(display-p3 .902 .804 .008/.079);--amber-a3:color(display-p3 .965 .859 .004/.22);--amber-a4:color(display-p3 .969 .82 .004/.35);--amber-a5:color(display-p3 .933 .796 .004/.475);--amber-a6:color(display-p3 .875 .682 .004/.495);--amber-a7:color(display-p3 .804 .573 0/.557);--amber-a8:color(display-p3 .788 .502 0/.699);--amber-a9:color(display-p3 1 .686 0/.742);--amber-a10:color(display-p3 .945 .643 0/.726);--amber-a11:color(display-p3 .64 .4 0);--amber-a12:color(display-p3 .294 .208 .145)}}}:root,.light,.light-theme{--sand-1:#fdfdfc;--sand-2:#f9f9f8;--sand-3:#f1f0ef;--sand-4:#e9e8e6;--sand-5:#e2e1de;--sand-6:#dad9d6;--sand-7:#cfceca;--sand-8:#bcbbb5;--sand-9:#8d8d86;--sand-10:#82827c;--sand-11:#63635e;--sand-12:#21201c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sand-1:color(display-p3 .992 .992 .989);--sand-2:color(display-p3 .977 .977 .973);--sand-3:color(display-p3 .943 .942 .936);--sand-4:color(display-p3 .913 .912 .903);--sand-5:color(display-p3 .885 .883 .873);--sand-6:color(display-p3 .854 .852 .839);--sand-7:color(display-p3 .813 .81 .794);--sand-8:color(display-p3 .738 .734 .713);--sand-9:color(display-p3 .553 .553 .528);--sand-10:color(display-p3 .511 .511 .488);--sand-11:color(display-p3 .388 .388 .37);--sand-12:color(display-p3 .129 .126 .111)}}}:root,.light,.light-theme{--sand-a1:#55550003;--sand-a2:#25250007;--sand-a3:#20100010;--sand-a4:#1f150019;--sand-a5:#1f180021;--sand-a6:#19130029;--sand-a7:#19140035;--sand-a8:#1915014a;--sand-a9:#0f0f0079;--sand-a10:#0c0c0083;--sand-a11:#080800a1;--sand-a12:#060500e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sand-a1:color(display-p3 .349 .349 .024/.012);--sand-a2:color(display-p3 .161 .161 .024/.028);--sand-a3:color(display-p3 .067 .067 .008/.063);--sand-a4:color(display-p3 .129 .129 .012/.099);--sand-a5:color(display-p3 .098 .067 .008/.126);--sand-a6:color(display-p3 .102 .075 .004/.161);--sand-a7:color(display-p3 .098 .098 .004/.208);--sand-a8:color(display-p3 .086 .075 .004/.287);--sand-a9:color(display-p3 .051 .051 .004/.471);--sand-a10:color(display-p3 .047 .047 0/.514);--sand-a11:color(display-p3 .031 .031 0/.632);--sand-a12:color(display-p3 .024 .02 0/.891)}}}:root,.light,.light-theme{--green-1:#fbfefc;--green-2:#f4fbf6;--green-3:#e6f6eb;--green-4:#d6f1df;--green-5:#c4e8d1;--green-6:#adddc0;--green-7:#8eceaa;--green-8:#5bb98b;--green-9:#30a46c;--green-10:#2b9a66;--green-11:#218358;--green-12:#193b2d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-1:color(display-p3 .986 .996 .989);--green-2:color(display-p3 .963 .983 .967);--green-3:color(display-p3 .913 .964 .925);--green-4:color(display-p3 .859 .94 .879);--green-5:color(display-p3 .796 .907 .826);--green-6:color(display-p3 .718 .863 .761);--green-7:color(display-p3 .61 .801 .675);--green-8:color(display-p3 .451 .715 .559);--green-9:color(display-p3 .332 .634 .442);--green-10:color(display-p3 .308 .595 .417);--green-11:color(display-p3 .19 .5 .32);--green-12:color(display-p3 .132 .228 .18)}}}:root,.light,.light-theme{--green-a1:#00c04004;--green-a2:#00a32f0b;--green-a3:#00a43319;--green-a4:#00a83829;--green-a5:#019c393b;--green-a6:#00963c52;--green-a7:#00914071;--green-a8:#00924ba4;--green-a9:#008f4acf;--green-a10:#008647d4;--green-a11:#00713fde;--green-a12:#002616e6}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-a1:color(display-p3 .024 .757 .267/.016);--green-a2:color(display-p3 .024 .565 .129/.036);--green-a3:color(display-p3 .012 .596 .145/.087);--green-a4:color(display-p3 .008 .588 .145/.142);--green-a5:color(display-p3 .004 .541 .157/.204);--green-a6:color(display-p3 .004 .518 .157/.283);--green-a7:color(display-p3 .004 .486 .165/.389);--green-a8:color(display-p3 0 .478 .2/.55);--green-a9:color(display-p3 0 .455 .165/.667);--green-a10:color(display-p3 0 .416 .153/.691);--green-a11:color(display-p3 .19 .5 .32);--green-a12:color(display-p3 .132 .228 .18)}}}:root,.light,.light-theme{--tomato-1:#fffcfc;--tomato-2:#fff8f7;--tomato-3:#feebe7;--tomato-4:#ffdcd3;--tomato-5:#ffcdc2;--tomato-6:#fdbdaf;--tomato-7:#f5a898;--tomato-8:#ec8e7b;--tomato-9:#e54d2e;--tomato-10:#dd4425;--tomato-11:#d13415;--tomato-12:#5c271f}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--tomato-1:color(display-p3 .998 .989 .988);--tomato-2:color(display-p3 .994 .974 .969);--tomato-3:color(display-p3 .985 .924 .909);--tomato-4:color(display-p3 .996 .868 .835);--tomato-5:color(display-p3 .98 .812 .77);--tomato-6:color(display-p3 .953 .75 .698);--tomato-7:color(display-p3 .917 .673 .611);--tomato-8:color(display-p3 .875 .575 .502);--tomato-9:color(display-p3 .831 .345 .231);--tomato-10:color(display-p3 .802 .313 .2);--tomato-11:color(display-p3 .755 .259 .152);--tomato-12:color(display-p3 .335 .165 .132)}}}:root,.light,.light-theme{--tomato-a1:#ff000003;--tomato-a2:#ff200008;--tomato-a3:#f52b0018;--tomato-a4:#ff35002c;--tomato-a5:#ff2e003d;--tomato-a6:#f92d0050;--tomato-a7:#e7280067;--tomato-a8:#db250084;--tomato-a9:#df2600d1;--tomato-a10:#d72400da;--tomato-a11:#cd2200ea;--tomato-a12:#460900e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--tomato-a1:color(display-p3 .675 .024 .024/.012);--tomato-a2:color(display-p3 .757 .145 .02/.032);--tomato-a3:color(display-p3 .831 .184 .012/.091);--tomato-a4:color(display-p3 .976 .192 .004/.165);--tomato-a5:color(display-p3 .918 .192 .004/.232);--tomato-a6:color(display-p3 .847 .173 .004/.302);--tomato-a7:color(display-p3 .788 .165 .004/.389);--tomato-a8:color(display-p3 .749 .153 .004/.499);--tomato-a9:color(display-p3 .78 .149 0/.769);--tomato-a10:color(display-p3 .757 .141 0/.8);--tomato-a11:color(display-p3 .755 .259 .152);--tomato-a12:color(display-p3 .335 .165 .132)}}}:root{--white-a1:#ffffff0d;--white-a2:#ffffff1a;--white-a3:#ffffff26;--white-a4:#fff3;--white-a5:#ffffff4d;--white-a6:#fff6;--white-a7:#ffffff80;--white-a8:#fff9;--white-a9:#ffffffb3;--white-a10:#fffc;--white-a11:#ffffffe6;--white-a12:#fffffff2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root{--white-a1:color(display-p3 1 1 1/.05);--white-a2:color(display-p3 1 1 1/.1);--white-a3:color(display-p3 1 1 1/.15);--white-a4:color(display-p3 1 1 1/.2);--white-a5:color(display-p3 1 1 1/.3);--white-a6:color(display-p3 1 1 1/.4);--white-a7:color(display-p3 1 1 1/.5);--white-a8:color(display-p3 1 1 1/.6);--white-a9:color(display-p3 1 1 1/.7);--white-a10:color(display-p3 1 1 1/.8);--white-a11:color(display-p3 1 1 1/.9);--white-a12:color(display-p3 1 1 1/.95)}}}:root{--color-cream:#fff8ee;--color-surface:#fff;--color-brand:#b5442a;--color-brand-strong:#8a3220;--color-brand-soft:#f8e6df;--color-brand-border:#e9bfb2;--color-brand-a:#b5442a2e;--color-action:var(--color-brand);--color-action-strong:var(--color-brand-strong);--color-mango:#f4b33d;--color-calamansi:#276b43;--color-tomato:var(--tomato-9);--color-ink:#2b1d16;--color-muted:#523e36;--color-border:var(--sand-7);--color-border-strong:var(--sand-8);--color-focus:var(--color-brand);--color-success-bg:#e6f2ea;--color-success-border:#9ccbad;--color-warning-bg:var(--amber-2);--color-error-bg:var(--tomato-2);--color-shadow-subtle:var(--brown-a3);--color-shadow-soft:var(--brown-a4);--color-shadow:var(--brown-a5);--color-shadow-hover:var(--brown-a6);--color-card-focus:var(--color-brand-a);--color-focus-ring:var(--color-brand-a);--color-surface-translucent:var(--white-a10);--color-warning-border:var(--amber-a7);--color-error-border:var(--tomato-a7);--font-display:"Fraunces", Georgia, serif;--font-body:"Plus Jakarta Sans", system-ui, sans-serif;--font-hand:"Caveat", cursive, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-control:12px;--radius-card:20px;--radius-pill:999px;--shadow-tone:64 36 18;--elevation-1:0 1px 2px rgb(var(--shadow-tone) / .07), 0 6px 14px -4px rgb(var(--shadow-tone) / .1), 0 18px 40px -12px rgb(var(--shadow-tone) / .18);--elevation-2:0 2px 4px rgb(var(--shadow-tone) / .08), 0 14px 28px -8px rgb(var(--shadow-tone) / .16), 0 34px 64px -20px rgb(var(--shadow-tone) / .26);--elevation-3:inset 0 1px 0 #ffffffe6, 0 1px 3px rgb(var(--shadow-tone) / .08), 0 10px 26px -8px rgb(var(--shadow-tone) / .16), 0 28px 56px -20px rgb(var(--shadow-tone) / .22);--elevation-3-up:inset 0 1px 0 #ffffffe6, 0 -1px 3px rgb(var(--shadow-tone) / .06), 0 -12px 32px -12px rgb(var(--shadow-tone) / .18);--elevation-4:0 -2px 8px rgb(var(--shadow-tone) / .08), 0 -20px 56px -12px rgb(var(--shadow-tone) / .28);--shadow-card:var(--elevation-1);font-family:var(--font-body);color:var(--color-ink);background:var(--color-cream);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:500}*{box-sizing:border-box}body{letter-spacing:-.008em;min-width:320px;min-height:100vh;color:var(--color-ink);background:var(--color-cream);margin:0;font-weight:500;overflow-x:clip}button,input,select,textarea{font:inherit;font-weight:500}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-ink);font-weight:800}strong,label{font-weight:700}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}button:disabled{cursor:not-allowed}#root{min-height:100vh}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-shell{background:var(--color-cream);min-height:100vh}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}.app-background{z-index:0;pointer-events:none;background:radial-gradient(circle at 12% 12%,#f4b94226,#0000 28%),radial-gradient(circle at 88% 24%,#c84b311a,#0000 28%),radial-gradient(circle at 78% 88%,#4f8a5b1a,#0000 30%);position:fixed;inset:0;overflow:hidden}.app-background:before{content:"";background:radial-gradient(circle at 50% 18%, var(--orange-a1), transparent 42%);pointer-events:none;position:absolute;inset:0}.app-background:after{content:"";opacity:.18;background-image:radial-gradient(var(--brown-a3) .6px, transparent .6px);pointer-events:none;background-size:18px 18px;position:absolute;inset:0}.app-shell-home .app-background{background:radial-gradient(circle at 10% 18%, var(--amber-a2), transparent 32%), radial-gradient(circle at 88% 18%, var(--orange-a2), transparent 32%), radial-gradient(circle at 78% 88%, var(--green-a2), transparent 34%)}.app-shell-ulam .app-background{background:radial-gradient(circle at 14% 18%, var(--orange-a2), transparent 32%), radial-gradient(circle at 88% 72%, var(--green-a1), transparent 34%), var(--color-cream)}.app-shell-results .app-background{background:radial-gradient(circle at 12% 18%, var(--amber-a1), transparent 30%), radial-gradient(circle at 86% 20%, var(--orange-a2), transparent 34%), radial-gradient(circle at 76% 88%, var(--brown-a1), transparent 32%)}.app-shell-recipe-detail .app-background{background:radial-gradient(circle at 12% 20%, var(--green-a2), transparent 32%), radial-gradient(circle at 88% 24%, var(--orange-a1), transparent 34%), var(--color-cream)}.app-shell-cooking .app-background{background:radial-gradient(circle at 18% 16%, var(--amber-a2), transparent 34%), radial-gradient(circle at 84% 78%, var(--tomato-a1), transparent 30%), var(--color-cream)}.app-shell-auth .app-background{background:radial-gradient(circle at 18% 22%, var(--orange-a1), transparent 34%), radial-gradient(circle at 84% 22%, var(--amber-a1), transparent 32%), var(--color-cream)}.app-shell-saved .app-background{background:radial-gradient(circle at 14% 20%, var(--green-a1), transparent 32%), radial-gradient(circle at 88% 74%, var(--orange-a1), transparent 34%), var(--color-cream)}.app-shell-profile .app-background{background:radial-gradient(circle at 12% 18%, var(--orange-a1), transparent 34%), radial-gradient(circle at 86% 82%, var(--amber-a1), transparent 32%), var(--color-cream)}.app-topbar-wrapper{z-index:100;pointer-events:none;justify-content:center;padding:0 20px;display:flex;position:fixed;top:18px;left:0;right:0}.app-topbar{pointer-events:auto;justify-content:space-between;align-items:center;gap:var(--space-4);background:var(--white-a11);-webkit-backdrop-filter:blur(20px)saturate(180%);border-radius:var(--radius-pill);width:min(760px,100%);min-height:56px;box-shadow:var(--elevation-3);border:1px solid #0001;padding:6px 8px 6px 14px;transition:border-color .2s,box-shadow .2s;display:flex}.app-topbar:hover{border-color:var(--color-brand-border)}.brand-lockup,.mobile-brand{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;display:flex}.brand-lockup{border-radius:var(--radius-pill);min-height:44px;padding:4px 6px;transition:opacity .15s}.brand-lockup:hover{opacity:.85}.brand-name{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.02em;font-size:18px;font-weight:900;line-height:1}.brand-mark{flex:none;display:block}.topbar-nav{background:var(--sand-2);border:1px solid var(--sand-a3);border-radius:var(--radius-pill);align-items:center;gap:4px;padding:3px 4px;display:flex}.nav-item{border-radius:var(--radius-pill);min-height:44px;color:var(--color-muted);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:7px;padding:0 14px;font-size:13.5px;font-weight:700;transition:color .14s,background-color .14s,border-color .14s;display:inline-flex}.nav-item:hover{color:var(--color-ink);background:var(--color-surface)}.nav-item-active{box-shadow:none;font-weight:800;color:var(--color-brand-strong)!important;background:var(--color-surface)!important;border-color:var(--color-brand-border)!important}.nav-icon{color:inherit;font-size:17px}.profile-link{background:var(--sand-2);border:1px solid var(--sand-a3);border-radius:var(--radius-pill);color:var(--color-ink);cursor:pointer;align-items:center;gap:8px;padding:4px 12px 4px 4px;transition:background-color .14s,border-color .14s;display:flex}.profile-link:hover{background:var(--color-surface);border-color:var(--color-brand-border)}.profile-name{color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;max-width:110px;font-size:13px;font-weight:700;overflow:hidden}.avatar{width:30px;height:30px;color:var(--color-brand-strong);background:var(--color-mango);border-radius:50%;place-items:center;font-size:12.5px;font-weight:800;display:grid}.sign-in-link{min-height:40px;color:var(--color-brand-strong);background:var(--color-brand-soft);border:1px solid var(--color-brand-border);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:800;transition:background-color .14s,border-color .14s;display:inline-flex}.sign-in-link:hover{background:var(--color-surface);border-color:var(--color-brand)}.app-content-wrap{z-index:1;width:100%;position:relative}.app-content{width:min(1680px,100%);padding:104px clamp(20px, 3vw, 48px) var(--space-8);margin:0 auto}html{scroll-padding-bottom:104px}.mobile-header,.mobile-nav{display:none}.page-shell{width:100%}.narrow-page{width:min(720px,100%);margin:0 auto}h1,h2,p{margin-top:0}h1,h2{font-family:var(--font-display)}h1{margin-bottom:var(--space-3);letter-spacing:-.04em;font-size:clamp(32px,5vw,52px);line-height:1.08}h2{margin-bottom:var(--space-2);font-size:20px;line-height:1.25}p{line-height:1.6}.page-intro{max-width:560px;margin-bottom:var(--space-6);color:var(--color-muted);font-size:18px}.prompt-helper{color:var(--color-muted);font-size:12px}.ingredient-suggestions{gap:var(--space-2);display:grid}.suggestions-label{color:var(--color-muted);font-size:12px;font-weight:700}.suggestion-list{flex-wrap:wrap;gap:8px;display:flex}.suggestion-chip{min-height:34px;color:var(--color-brand-strong);background:var(--color-brand-soft);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:0 12px;font-size:12px;font-weight:800;transition:background-color .15s,border-color .15s,transform .15s}.suggestion-chip:hover{background:var(--color-success-bg);border-color:var(--color-calamansi);transform:translateY(-1px)}.button{min-height:48px;padding:0 var(--space-6);border-radius:var(--radius-control);letter-spacing:-.01em;border:2px solid #0000;font-weight:800;transition:transform .15s,background-color .15s,box-shadow .15s}.button:not(:disabled):active{transform:scale(.985)}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{color:var(--color-surface);background:var(--color-action);box-shadow:0 1px 2px rgb(var(--shadow-tone) / .14), 0 8px 18px -10px var(--color-action-strong)}.button-primary:hover:not(:disabled){background:var(--color-action-strong)}.button-primary:disabled{color:var(--color-muted);background:var(--color-border);box-shadow:none}.trust-note{align-items:flex-start;gap:var(--space-2);max-width:600px;margin-top:var(--space-4);color:var(--color-muted);font-size:12px;line-height:1.5;display:flex}.text-button{color:var(--color-brand-strong);background:0 0;border:0;padding:0;font-weight:800}.text-button:hover{text-decoration:underline}.page-shell-home{max-width:1080px;margin:0 auto}.home-hero{text-align:center;padding:clamp(36px,6vw,68px) 0 clamp(24px,4vw,36px)}.home-hero h1{font-family:var(--font-display);letter-spacing:-.035em;color:var(--color-ink);max-width:820px;margin:0 auto;font-size:clamp(36px,6.5vw,64px);font-weight:800;line-height:1.08}.home-hero-line{margin-top:4px;display:block}.home-hero h1 em,.home-section-intro h2 em,.home-closing h2 em{font-family:var(--font-display);color:var(--color-brand);font-style:italic;font-weight:400}.home-hero-lede{max-width:580px;margin:var(--space-4) auto 0;color:var(--color-muted);font-size:clamp(16px,1.8vw,19px);line-height:1.6}.home-actions{justify-content:center;align-items:center;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.home-start-button{border-radius:var(--radius-pill);min-height:52px;padding:0 32px;font-size:16px}.home-ghost-button{min-height:52px;color:var(--color-ink);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:8px;padding:0 24px;font-size:15px;font-weight:700;transition:border-color .15s,background-color .15s,transform .15s,color .15s;display:inline-flex}.home-ghost-button:hover{border-color:var(--color-brand-border);background:var(--color-brand-soft);color:var(--color-brand-strong);transform:translateY(-1px)}.home-ghost-button svg{transition:transform .16s}.home-ghost-button:hover svg{transform:translate(3px)}.home-surprise-button{border-radius:var(--radius-pill);align-items:center;gap:8px;min-height:52px;padding:0 24px;font-size:15px;display:inline-flex}.home-deck{width:100%;margin-top:clamp(32px,5vw,48px);position:relative}.home-deck-hint{margin:var(--space-2) 0 0;color:var(--color-muted);text-align:center;font-size:13px;font-weight:600}.fan-deck{isolation:isolate;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;margin:0;padding:30px 0 36px;list-style:none;display:flex;position:relative}.fan-deck-slot{transform-origin:bottom;will-change:transform;flex-shrink:0;margin:0 -18px;transition:transform .32s cubic-bezier(.16,1,.3,1),z-index}.fan-card{text-align:center;width:clamp(155px,22vw,204px);height:clamp(245px,34vw,310px);color:var(--color-ink);box-shadow:var(--elevation-1);cursor:pointer;background:#fff;border:1px solid #0001;border-radius:18px;flex-direction:column;justify-content:space-between;padding:10px 10px 14px;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1),border-color .2s;display:flex;position:relative;overflow:visible}.fan-card:hover,.fan-card:focus-visible{border-color:var(--color-brand);box-shadow:var(--elevation-2);transform:translateY(-5px)}.fan-card-tape{width:58px;height:20px;box-shadow:none;z-index:5;pointer-events:none;background:#fef3c7e6;border:1px solid #f59e0b59;border-radius:2px;position:absolute;top:-10px;left:50%;transform:translate(-50%)rotate(-1deg)}.fan-card-tape-0{background:#fef3c7eb;border-color:#f59e0b66;transform:translate(-50%)rotate(2.5deg)}.fan-card-tape-1{background:#ecfdf5eb;border-color:#10b98166;transform:translate(-50%)rotate(-2deg)}.fan-card-tape-2{background:#fee2e2eb;border-color:#ef444466;transform:translate(-50%)rotate(1deg)}.fan-card-photo-frame{background:var(--color-cream);border:1px solid var(--sand-a4);border-radius:12px;width:100%;height:60%;display:block;position:relative;overflow:hidden}.fan-card-photo{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.fan-card:hover .fan-card-photo,.fan-card:focus-visible .fan-card-photo{transform:scale(1.05)}.fan-card-time-badge{color:#fff;-webkit-backdrop-filter:blur(4px);border-radius:var(--radius-pill);letter-spacing:.02em;background:#000000a6;align-items:center;gap:4px;padding:2.5px 8px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;bottom:8px;left:8px}.fan-card-price-badge{color:#fff;background:var(--color-brand);border-radius:var(--radius-pill);box-shadow:none;letter-spacing:.02em;align-items:center;padding:3px 9px;font-size:11px;font-weight:800;display:inline-flex;position:absolute;top:8px;right:8px}.fan-card-classic .fan-card-price-badge{background:var(--color-brand)}.fan-card-sabaw .fan-card-price-badge{background:var(--color-calamansi)}.fan-card-tipid .fan-card-price-badge{color:var(--amber-12);background:var(--amber-9)}.fan-card-gata .fan-card-price-badge{background:var(--brown-9)}.fan-card-gulay .fan-card-price-badge{background:var(--green-9)}.fan-card-memo{flex-direction:column;justify-content:center;align-items:center;gap:3px;padding-top:8px;display:flex}.fan-card-title{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.01em;margin:0;font-size:clamp(14px,1.8vw,17px);font-weight:800;line-height:1.25}.fan-card-note{font-family:var(--font-hand), "Fraunces", cursive, serif;color:var(--color-muted);font-size:clamp(13px,1.6vw,15px);font-weight:600;line-height:1.2}.fan-card-foot{letter-spacing:.04em;text-transform:uppercase;color:var(--color-brand-strong);background:var(--color-brand-soft);border-radius:var(--radius-pill);margin-top:4px;padding:2.5px 10px;font-size:10.5px;font-weight:800;display:inline-block}.home-section{border-top:1px solid var(--color-border);padding:clamp(56px,8vw,84px) 0}.home-section-intro{text-align:center;max-width:600px;margin:0 auto clamp(36px,5vw,60px)}.home-section-intro h2{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.025em;margin:0 0 10px;font-size:clamp(28px,4vw,42px);font-weight:800}.home-section-intro p{color:var(--color-muted);margin:0;font-size:16px;line-height:1.6}.how-row{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:clamp(32px,5vw,64px);margin-bottom:clamp(48px,7vw,76px);display:grid}.how-row:last-child{margin-bottom:0}@media (width>=901px){.how-row-reverse{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.how-row-reverse .how-step-copy{order:2}.how-row-reverse .preview-frame{order:1}}.how-step-copy{max-width:440px}.how-step-number{border:1.5px solid var(--color-border-strong);background:var(--color-surface);width:34px;height:34px;color:var(--color-ink);box-shadow:none;border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;font-size:14px;font-weight:800;display:inline-flex}.how-step-copy h3{font-family:var(--font-display);color:var(--color-ink);margin:0 0 12px;font-size:clamp(22px,2.5vw,30px);font-weight:800;line-height:1.2}.how-step-copy p{color:var(--color-muted);margin:0 0 10px;font-size:15px;line-height:1.65}.preview-frame{background:var(--color-surface);border:var(--surface-border);border-radius:var(--surface-radius);box-shadow:var(--surface-shadow);text-align:left;margin:0;overflow:hidden}.preview-frame-body{padding:22px}.preview-input{background:var(--sand-2);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-ink);align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;font-size:14px;font-weight:600;display:flex}.preview-input svg{color:var(--color-muted);flex-shrink:0}.preview-chip-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.preview-chip-row-center{justify-content:center}.preview-cook-bar{border-top:1px solid var(--color-border);color:var(--color-calamansi);justify-content:space-between;align-items:center;padding-top:14px;font-size:13px;font-weight:700;display:flex}.preview-fake-button{background:var(--color-action);color:#fff;border-radius:var(--radius-control);align-items:center;padding:8px 16px;font-size:13px;font-weight:800;display:inline-flex}.preview-recipe{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);overflow:hidden}.preview-recipe .recipe-card-image{aspect-ratio:16/9;width:100%;margin:0}.preview-recipe-body{gap:8px;padding:14px 16px 16px;display:grid}.preview-recipe-title{font-family:var(--font-display);color:var(--color-ink);font-size:20px;font-weight:800}.preview-cooking{text-align:center;gap:14px;padding:6px 4px;display:grid}.preview-cooking-top{justify-content:space-between;align-items:center;font-size:14px;font-weight:800;display:flex}.preview-cooking-top span{background:var(--color-brand-soft);color:var(--color-brand-strong);border-radius:var(--radius-pill);padding:4px 10px;font-size:12px}.preview-cooking-step{color:var(--color-ink);margin:0;font-size:16px;font-weight:700;line-height:1.45}.preview-timer{background:var(--color-brand);color:#fff;border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;box-shadow:none;justify-content:center;align-items:center;gap:8px;margin:0 auto;padding:10px 24px;font-size:16px;font-weight:800;display:inline-flex}.home-principles{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.home-principles li{background:var(--color-surface);border:var(--surface-border);border-radius:var(--surface-radius);box-shadow:var(--surface-shadow);flex-direction:column;padding:28px 24px;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1),border-color .2s;display:flex}.home-principles li:hover{border-color:var(--sand-a6);box-shadow:var(--surface-shadow-hover);transform:var(--surface-lift)}.home-principles li svg{color:var(--color-brand);flex-shrink:0;margin-bottom:16px}.home-principles li h3{font-family:var(--font-display);color:var(--color-ink);margin:0 0 8px;font-size:22px;font-style:italic;font-weight:600}.home-principles li p{color:var(--color-muted);margin:0;font-size:14.5px;line-height:1.6}.home-closing{text-align:center;padding:clamp(48px,6vw,76px) 20px}.home-closing h2{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.025em;margin:0 0 12px;font-size:clamp(28px,4vw,42px);font-weight:800}.home-closing p{color:var(--color-muted);margin:0 0 24px;font-size:16px}@media (width<=900px){.how-row{grid-template-columns:1fr;gap:24px;margin-bottom:48px}.home-principles{grid-template-columns:1fr;gap:16px}.fan-deck-slot{margin:0 -14px}}@media (width<=600px){.home-actions{flex-direction:column;width:100%}.home-actions .home-start-button,.home-actions .home-ghost-button,.home-actions .home-surprise-button{justify-content:center;width:100%}.fan-deck-slot{margin:0 -8px}}.button-secondary{color:var(--color-brand-strong);background:var(--color-surface);border-color:var(--color-border-strong)}.button-secondary:hover:not(:disabled){background:var(--color-brand-soft);border-color:var(--color-brand)}.button-saved{color:var(--color-brand-strong);background:var(--color-success-bg);border-color:var(--color-calamansi)}.full-width{width:100%}.narrow-page>.full-width{margin-top:var(--space-5)}.ingredient-add-form{gap:var(--space-4);margin-top:var(--space-5);padding:var(--space-5);background:var(--color-surface);border:var(--surface-border);border-radius:var(--surface-radius);box-shadow:var(--surface-shadow);display:grid}.ingredient-add-form .field-label input,.ingredient-add-form .field-label select{width:100%;min-height:46px;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);padding:0 12px}.ingredient-add-form .field-label input:focus,.ingredient-add-form .field-label select:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-focus-ring);outline:0}.ingredient-add-footer{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.ingredient-add-form>.ingredient-suggestions{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.muted-copy{color:var(--color-muted);font-size:14px}.section-heading-row{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.count-badge{min-width:28px;height:28px;color:var(--color-brand-strong);background:var(--color-brand-soft);border-radius:var(--radius-pill);place-items:center;padding:0 8px;font-size:12px;font-weight:800;display:grid}.review-panel,.detail-section,.saved-section,.cost-panel{margin-top:var(--space-6);padding:var(--space-6);background:var(--color-surface);border:var(--surface-border);border-radius:var(--surface-radius);box-shadow:var(--surface-shadow)}.review-panel h2,.detail-section h2,.cost-panel h2{margin-bottom:0}.ingredient-chips{gap:var(--space-2);margin:var(--space-4) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.ingredient-chip{align-items:center;gap:var(--space-2);min-height:36px;color:var(--color-ink);background:var(--color-success-bg);border:1.5px solid var(--color-success-border);border-radius:var(--radius-pill);padding:0 8px 0 14px;font-size:13.5px;font-weight:700;display:inline-flex}.ingredient-chip-uncertain{background:var(--color-warning-bg);border-color:var(--color-mango)}.ingredient-chip button{width:26px;height:26px;color:var(--color-muted);background:0 0;border:0;border-radius:50%;place-items:center;font-size:18px;display:grid}.ingredient-chip button:hover{color:var(--color-tomato);background:var(--tomato-a3)}.chip-warning{width:18px;height:18px;color:var(--color-ink);background:var(--color-mango);border-radius:50%;place-items:center;font-size:11px;display:grid}.inline-warning{margin:var(--space-5) 0 0;color:var(--color-ink);border:1.5px solid var(--amber-7);border-left:5px solid var(--color-mango);border-radius:var(--radius-control);box-shadow:none;background:#fffdf5;padding:14px 18px;font-size:13px;line-height:1.5}.field-label{gap:var(--space-2);color:var(--color-muted);font-size:12px;font-weight:800;display:grid}.field-label select{width:100%;min-height:48px;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);padding:0 14px}.serving-stepper{background:var(--sand-2);border:1px solid var(--sand-a4);border-radius:var(--radius-pill);align-items:center;gap:8px;min-height:44px;padding:3px 6px;display:inline-flex;box-shadow:inset 0 1px 2px #0000000a}.stepper-label{color:var(--color-muted);margin-right:4px;padding-left:6px;font-size:12px;font-weight:800}.serving-stepper button{color:var(--color-brand-strong);background:var(--color-surface);border:1px solid var(--sand-a4);border-radius:var(--radius-pill);cursor:pointer;place-items:center;font-size:16px;font-weight:800;transition:transform .12s,background-color .14s,box-shadow .14s;display:grid;box-shadow:0 1px 2px #0000000d}.serving-stepper button:hover:not(:disabled){background:var(--sand-1);transform:scale(1.04);box-shadow:0 2px 4px #00000014}.serving-stepper button:active:not(:disabled){transform:scale(.96)}.serving-stepper button:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.serving-stepper strong{text-align:center;min-width:24px;color:var(--color-ink);font-size:14px;font-weight:800}.results-header{justify-content:space-between;align-items:end;gap:var(--space-5);display:flex}.results-header h1{margin-bottom:var(--space-2)}.results-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}@media (width<=1080px){.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.results-grid{grid-template-columns:1fr}}.recipe-card{background:var(--color-surface);border:var(--surface-border);border-radius:var(--surface-radius);min-width:0;box-shadow:var(--surface-shadow);flex-direction:column;padding:22px 20px 20px;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1),border-color .2s;display:flex;position:relative;overflow:hidden}.recipe-card-image{aspect-ratio:16/9;object-fit:cover;width:calc(100% + 40px);height:auto;margin:-22px -20px 16px;transition:transform .22s}.recipe-card:hover .recipe-card-image,.recipe-card:focus-within .recipe-card-image{transform:scale(1.02)}.recipe-card-topline{z-index:3;pointer-events:none;justify-content:flex-start;align-items:center;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}.recipe-card-topline>*{pointer-events:auto}.recipe-badge{width:max-content;color:var(--color-ink);background:var(--sand-2);border:1px solid var(--sand-a4);border-radius:var(--radius-pill);align-items:center;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.save-button{color:var(--color-ink);-webkit-backdrop-filter:blur(16px)saturate(160%);background:#ffffffeb;border:1px solid #ffffffd9;border-radius:50%;place-items:center;margin-left:auto;font-size:18px;transition:color .15s,background-color .15s,border-color .15s,transform .15s,box-shadow .15s;display:grid;box-shadow:0 2px 8px -1px #0000001f}.save-button:hover{background:#fff;transform:scale(1.06);box-shadow:0 4px 12px -1px #0000002e}.save-button-saved{color:var(--tomato-11);background:#fff5f5f2;border-color:#ef444466}.recipe-card-main{color:inherit;text-align:left;background:0 0;border:0;flex:1;gap:8px;padding:0;display:grid}.recipe-card-main h2{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.02em;margin:0;font-size:20px;font-weight:900;line-height:1.25}.recipe-card-local-title{color:var(--color-brand);font-family:var(--font-display);margin:-2px 0 2px;font-size:13.5px;font-style:italic;font-weight:700}.recipe-description{min-height:44px;color:var(--color-muted);margin:0;font-size:13.5px;line-height:1.45}.recipe-metrics{flex-wrap:wrap;gap:6px;margin:4px 0;display:flex}.recipe-metrics span{color:var(--color-ink);background:var(--sand-2);border:1px solid var(--sand-a4);border-radius:var(--radius-pill);align-items:center;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.recipe-metrics .metric-price{color:var(--color-brand-strong);background:var(--color-brand-soft);border-color:var(--color-brand-border);font-weight:800}.recipe-metrics-large{margin:var(--space-4) 0;flex-wrap:wrap;align-items:center;gap:4px 0;display:flex}.recipe-metrics-large span{color:var(--color-muted);background:0 0;border:0;border-radius:0;padding:0;font-size:14px;font-weight:600;display:inline}.recipe-metrics-large span+span:before{content:"·";color:var(--sand-8);margin:0 10px}.recipe-metrics-large strong{color:var(--color-ink);font-weight:800}.recipe-metrics-large span:nth-child(3) strong{color:var(--color-brand-strong)}.ingredient-summary{border-top:1px solid var(--color-border);gap:10px;padding:12px 0 0;display:grid}.ingredient-summary div{flex-wrap:wrap;align-items:center;gap:5px;font-size:11px;display:flex}.ingredient-summary strong{width:100%;color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:800}.card-action{color:var(--color-brand);align-items:center;gap:4px;margin-top:6px;font-size:13px;font-weight:800;transition:gap .15s,color .15s;display:inline-flex}.recipe-card:hover .card-action{color:var(--color-brand-strong);gap:8px}.recipe-feedback{gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border);display:grid}.recipe-feedback-label{color:var(--color-muted);font-size:12px;font-weight:700}.recipe-feedback-options{flex-wrap:wrap;gap:6px;display:flex}.feedback-option{min-height:32px;color:var(--color-ink);background:var(--color-surface);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-pill);padding:5px 10px;font-size:11.5px;font-weight:700}.feedback-option:hover,.feedback-option-active{color:var(--color-brand-strong);background:var(--color-brand-soft);border-color:var(--color-brand)}.recipe-feedback-confirmation{color:var(--color-brand-strong);font-size:12px;font-weight:800}.trust-note-block{max-width:none;margin:var(--space-5) 0 0;color:var(--color-ink);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-control);text-align:center;box-shadow:var(--surface-shadow);justify-content:center;padding:14px 18px;font-size:12.5px}.state-panel{min-height:360px;padding:var(--space-7) var(--space-5);text-align:center;background:var(--color-surface);border:var(--surface-border);border-radius:var(--surface-radius);box-shadow:var(--surface-shadow);align-content:center;justify-items:center;display:grid}.state-panel h2{margin:var(--space-3) 0 var(--space-2)}.state-panel p{max-width:460px;margin-bottom:var(--space-5);color:var(--color-muted)}.state-panel-error{background:var(--color-error-bg);border-color:var(--color-error-border)}.state-panel-offline{background:var(--color-brand-soft)}.state-icon{background:var(--color-warning-bg);border-radius:var(--radius-card);place-items:center;width:68px;height:68px;font-size:34px;display:grid}.state-actions{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.skeleton-list{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.skeleton-card{gap:var(--space-3);min-height:300px;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);display:grid}.skeleton-card span{background:linear-gradient(90deg, var(--color-cream), var(--color-brand-soft), var(--color-cream));border-radius:var(--radius-control);background-size:200% 100%;height:18px;animation:1.2s ease-in-out infinite skeleton-loading;display:block}.skeleton-card{align-content:start;padding-top:0;overflow:hidden}.skeleton-card .skeleton-image{width:calc(100% + 2 * var(--space-5));aspect-ratio:16/9;height:auto;margin:0 calc(-1 * var(--space-5));border-radius:0}.skeleton-card .skeleton-progress{width:60%;height:10px}.skeleton-card .skeleton-title{width:75%;height:26px}.skeleton-card .skeleton-metrics{width:90%;height:22px}.skeleton-card .skeleton-chips{width:70%;height:48px}@keyframes skeleton-loading{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes steam-rise{0%,to{opacity:.2;transform:translateY(7px)rotate(-18deg)}50%{opacity:.62;transform:translateY(-7px)rotate(-8deg)}}.detail-topbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.back-button{color:var(--color-brand-strong);cursor:pointer;background:0 0;border:0;padding:8px 0;font-weight:800}.recipe-hero{background:var(--color-surface);border:var(--surface-border);border-radius:var(--radius-card);box-shadow:var(--surface-shadow);grid-template-columns:1fr;gap:clamp(24px,4vw,48px);padding:clamp(24px,5vw,48px);display:grid}.recipe-hero:has(.recipe-hero-image){grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)}.recipe-hero:not(:has(.recipe-hero-image)) .recipe-hero-content{max-width:780px}.recipe-hero-image{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-control);align-self:center;width:100%;height:auto}.recipe-hero-content{align-self:center}.recipe-hero h1{max-width:760px;margin-top:var(--space-3);margin-bottom:var(--space-1)}.local-title{margin-top:0;margin-bottom:var(--space-3);color:var(--color-brand-strong);font-family:var(--font-display);font-size:16px;font-weight:800}.detail-description{max-width:720px;color:var(--color-muted);margin:10px 0 16px;font-size:15.5px;line-height:1.65}.match-callout{max-width:760px;color:var(--color-ink);background:var(--color-surface);border:1.5px solid var(--color-border-strong);border-left:5px solid var(--color-brand);border-radius:var(--radius-control);box-shadow:var(--surface-shadow);margin-top:16px;padding:16px 20px;font-size:14px;line-height:1.6}.match-callout strong{color:var(--color-ink);margin-right:6px;font-weight:800}.detail-layout{align-items:start;gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:minmax(0,1fr) 330px;display:grid}.detail-section+.detail-section{margin-top:var(--space-4)}.detail-ingredient-list,.cost-list,.step-preview-list{gap:var(--space-2);margin:var(--space-5) 0 0;padding:0;list-style:none;display:grid}.detail-ingredient-list li{align-items:center;gap:var(--space-3);border-radius:var(--radius-control);grid-template-columns:28px 1fr auto;padding:12px 14px;transition:transform .14s,box-shadow .14s;display:grid}.detail-ingredient-list li:hover{transform:translate(2px)}.detail-ingredient-list li strong{color:var(--color-ink);font-size:14px;display:block}.detail-ingredient-list li small{color:var(--color-muted);margin-top:3px;font-size:11.5px;display:block}.detail-ingredient-list li em{border-radius:var(--radius-pill);padding:2px 8px;font-size:11.5px;font-style:normal;font-weight:700}.ingredient-available{background:var(--color-success-bg);border:1px solid var(--color-success-border);box-shadow:0 1px 2px #276b430a}.ingredient-missing{background:var(--color-error-bg);border:1px solid var(--tomato-6);box-shadow:0 1px 2px #b5442a0a}.ingredient-missing em{color:var(--tomato-11);background:var(--tomato-3)}.ingredient-status{background:var(--color-surface);border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:13px;font-weight:900;display:grid;box-shadow:0 1px 2px #0000000f}.ingredient-available .ingredient-status{color:var(--color-calamansi);border:1.5px solid var(--color-success-border)}.ingredient-missing .ingredient-status{color:var(--tomato-11);border:1.5px solid var(--tomato-7)}.substitution-list{gap:var(--space-2);margin-top:var(--space-4);display:grid}.substitution-row{color:var(--color-ink);text-align:left;background:var(--color-surface);border:1px solid var(--sand-a5);border-radius:var(--radius-control);cursor:pointer;gap:6px;padding:14px 16px;transition:all .18s cubic-bezier(.16,1,.3,1);display:grid;box-shadow:0 1px 3px #00000008,0 3px 8px -2px #0000000a}.substitution-row:hover,.substitution-row-active{background:var(--color-brand-soft);border-color:var(--color-brand);transform:translateY(-1.5px);box-shadow:0 2px 8px #b5442a14,0 8px 18px -3px #b5442a1f}.substitution-row>span{align-items:center;gap:var(--space-2);font-size:14px;font-weight:700;display:flex}.substitution-row small{color:var(--color-muted);font-size:12.5px;font-weight:600}.substitution-row-active small{color:var(--color-brand-strong);font-weight:700}.substitution-arrow{color:var(--color-brand);font-weight:800}.step-preview-list li{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);grid-template-columns:34px 1fr;display:grid}.step-preview-list li>span{width:30px;height:30px;color:var(--color-surface);background:var(--color-brand);border-radius:50%;place-items:center;font-weight:800;display:grid}.step-preview-list strong{font-size:14px;line-height:1.5;display:block}.step-preview-list small{color:var(--color-muted);margin-top:5px;font-size:12px;display:block}.cost-panel h2{margin-bottom:0}.cost-total{color:var(--color-brand-strong);font-size:18px}.cost-list{gap:0}.cost-list li{justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--color-border);padding:10px 0;font-size:13px;display:flex}.cost-list small{color:var(--color-muted);font-size:10px}.missing-text{color:var(--color-tomato)!important}.cost-note{margin:var(--space-4) 0 0;color:var(--color-muted);font-size:11px;line-height:1.5}.safety-note{margin:var(--space-4) 0;color:var(--color-ink);background:var(--color-surface);border:var(--surface-border);border-radius:var(--radius-control);box-shadow:var(--surface-shadow);padding:14px 16px;font-size:12px;line-height:1.5}.safety-note strong{color:var(--color-ink);margin-bottom:2px;font-weight:800;display:block}.safety-note p{margin:var(--space-1) 0 0;color:var(--color-muted)}.cost-panel .safety-note{margin:var(--space-4) 0 0;padding:var(--space-4) 0 0;border:0;border-top:1px solid var(--color-border);box-shadow:none;background:0 0;border-radius:0}.cooking-page{width:min(760px,100%);padding:var(--space-4) 0;margin:0 auto}.progress-track{background:var(--color-border);border-radius:var(--radius-pill);height:10px;overflow:hidden}.progress-track span{background:var(--color-brand);border-radius:inherit;height:100%;transition:width .22s;display:block}.cooking-step-card{min-height:390px;margin-top:var(--space-6);padding:clamp(28px, 8vw, 72px) var(--space-6);text-align:center;background:var(--color-surface);border:var(--surface-border);border-radius:var(--radius-card);box-shadow:var(--surface-shadow);touch-action:pan-y;align-content:center;justify-items:center;display:grid}.cooking-step-content{justify-items:center;width:100%;display:grid}.cooking-step-header-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:4px;display:flex}.cooking-voice-button{color:var(--color-ink);background:var(--color-surface);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.cooking-voice-button:hover{background:var(--color-brand-soft);border-color:var(--color-brand);color:var(--color-brand-strong)}.cooking-voice-button.voice-speaking{color:var(--color-surface);background:var(--color-brand);border-color:var(--color-brand-strong)}.cooking-step-card h1{max-width:620px;margin:var(--space-4) 0;color:var(--color-ink);font-size:clamp(28px,5vw,46px)}.step-details{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.step-details span{color:var(--color-ink);background:var(--sand-2);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:8px 12px;font-size:12px;font-weight:800}.timer-button{min-height:48px;padding:0 var(--space-5);color:var(--color-ink);background:var(--sand-2);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-control);cursor:pointer;justify-content:center;align-items:center;gap:8px;font-size:14.5px;font-weight:800;transition:background-color .15s,border-color .15s,box-shadow .15s,color .15s;display:inline-flex}.timer-button:hover{background:var(--color-brand-soft);border-color:var(--color-brand);color:var(--color-brand-strong)}.timer-button-active{color:var(--color-surface);background:var(--color-brand);border-color:var(--color-brand-strong);box-shadow:0 4px 14px var(--color-brand-a)}.timer-button-paused{color:var(--amber-11);background:var(--amber-2);border-color:var(--amber-7)}.timer-button-finished{color:var(--color-surface);background:var(--green-9);border-color:var(--green-10);animation:1.6s infinite timer-pulse}@keyframes timer-pulse{0%{box-shadow:0 0 #2ea04373}70%{box-shadow:0 0 0 12px #2ea04300}to{box-shadow:0 0 #2ea04300}}.timer-reset-button{min-height:48px;color:var(--color-ink);background:var(--color-surface);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-control);cursor:pointer;box-shadow:none;align-items:center;gap:6px;padding:0 16px;font-size:13.5px;font-weight:800;transition:color .15s,border-color .15s,background-color .15s,transform .15s;display:inline-flex}.timer-reset-button:hover{color:var(--color-brand-strong);background:var(--color-brand-soft);border-color:var(--color-brand);transform:translateY(-1px)}.timer-alert-cue{color:var(--color-calamansi);background:var(--color-success-bg);border:1.5px solid var(--color-success-border);border-radius:var(--radius-pill);align-items:center;margin-top:14px;padding:8px 16px;font-size:13px;font-weight:800;display:inline-flex}.cooking-controls{justify-content:space-between;gap:var(--space-3);margin-top:var(--space-5);display:flex}.saved-section+.saved-section{margin-top:var(--space-5)}.success-banner{margin:var(--space-4) 0;color:var(--color-calamansi);background:var(--color-success-bg);border:1.5px solid var(--color-success-border);border-radius:var(--radius-control);box-shadow:var(--surface-shadow);padding:12px 16px;font-size:13px;font-weight:800}.error-banner{margin:var(--space-4) 0;color:var(--tomato-11);background:var(--color-error-bg);border:1.5px solid var(--tomato-7);border-radius:var(--radius-control);box-shadow:var(--surface-shadow);padding:12px 16px;font-size:13px;font-weight:800}.preferences-panel,.account-panel{gap:var(--space-4);margin-top:var(--space-5);padding:var(--space-5);background:var(--color-surface);border:var(--surface-border);border-radius:var(--radius-card);box-shadow:var(--surface-shadow);display:grid}.account-panel h2,.account-panel p{margin-bottom:0}.account-panel p{color:var(--color-muted);font-size:14px}.auth-page{place-items:center;min-height:620px;display:grid}.auth-card{background:var(--color-surface);border:var(--surface-border);border-radius:var(--radius-card);width:min(480px,100%);box-shadow:var(--surface-shadow);padding:clamp(24px,6vw,48px)}.auth-card>p{color:var(--color-muted)}.auth-form{gap:var(--space-4);margin:var(--space-6) 0 var(--space-4);display:grid}.field-label input{min-height:46px;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);padding:0 12px}.auth-mode-switch{margin-top:var(--space-5);background:var(--color-cream);border:1px solid var(--color-border);border-radius:var(--radius-control);grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.auth-mode-switch button{min-height:44px;color:var(--color-muted);border-radius:var(--radius-control);background:0 0;border:0;font-weight:800}.auth-mode-switch button:hover,.auth-mode-active{box-shadow:none;color:var(--color-brand-strong)!important;background:var(--color-surface)!important}.auth-status{margin-top:var(--space-4)}.auth-field-error{color:var(--color-tomato);font-size:12px;font-weight:700}.password-field{align-items:center;gap:var(--space-2);display:flex}.password-field input{flex:1;min-width:0}.password-toggle{min-height:46px;color:var(--color-brand-strong);background:var(--color-cream);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);padding:0 12px;font-size:12px;font-weight:800}.saved-section h2{margin-bottom:0}@media (width<=1100px){.results-grid,.skeleton-list{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{grid-template-columns:minmax(0,1fr) 290px}}@media (width<=900px){.app-topbar-wrapper,.app-topbar{display:none}.app-content-wrap{width:100%;margin-left:0}.mobile-header{z-index:2;padding:var(--space-3) 20px;background:var(--color-surface);border-bottom:1px solid var(--sand-a3);box-shadow:0 1px 2px rgb(var(--shadow-tone) / .06), 0 10px 24px -14px rgb(var(--shadow-tone) / .2);justify-content:space-between;align-items:center;display:flex;position:relative}.mobile-brand{padding:0}.mobile-brand .brand-mark{width:36px;height:36px}.mobile-profile-button{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;min-height:40px;padding:0;display:flex}.app-content{padding:var(--space-4) 20px calc(112px + env(safe-area-inset-bottom,20px))}.mobile-nav{z-index:20;padding:var(--space-2) 8px calc(var(--space-2) + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(20px)saturate(180%);border-top:1px solid var(--sand-a3);box-shadow:var(--elevation-3-up);background:#fffffff0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0}.mobile-nav-item{min-height:56px;color:var(--color-muted);border-radius:var(--radius-control);cursor:pointer;background:0 0;border:0;align-content:center;place-items:center;gap:4px;padding:0;display:grid}.mobile-nav-indicator{border-radius:var(--radius-pill);place-items:center;width:56px;height:30px;transition:background-color .16s,color .16s;display:grid}.mobile-nav-item small{font-size:11px;font-weight:700}.mobile-nav-item:hover .mobile-nav-indicator{background:var(--sand-a3)}.mobile-nav-item-active{color:var(--color-brand-strong)}.mobile-nav-item-active .mobile-nav-indicator,.mobile-nav-item-active:hover .mobile-nav-indicator{color:var(--color-brand);background:var(--color-brand-soft)}.results-header{flex-direction:column;align-items:start}.results-header .button{width:100%}.detail-layout{grid-template-columns:1fr}.cooking-page{padding-top:0}}@media (width<=680px){.results-grid,.skeleton-list{grid-template-columns:1fr}.detail-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.detail-topbar .button{min-height:40px;padding:0 14px;font-size:13px}.recipe-hero{padding:22px 18px}:is(.recipe-hero,.recipe-hero:has(.recipe-hero-image)){gap:var(--space-4);grid-template-columns:1fr}.recipe-hero-image{border-radius:var(--radius-control)}.detail-ingredient-list li{grid-template-columns:26px 1fr;gap:8px}.detail-ingredient-list li em{grid-column:2/-1;font-size:11px}.cooking-controls{flex-direction:column-reverse}.cooking-controls .button{width:100%;min-height:48px}.ingredient-add-footer{flex-direction:column;align-items:stretch}.ingredient-add-footer .button{width:100%}}@media (width<=480px){.app-content{padding:var(--space-3) 16px calc(112px + env(safe-area-inset-bottom,20px))}.recipe-card{padding:16px 14px 14px}.recipe-card-image{width:calc(100% + 28px);margin:-16px -14px 12px}.recipe-card-main h2{font-size:18px}.recipe-description{min-height:auto;font-size:13px}.recipe-hero{padding:18px 14px}.recipe-hero h1{font-size:24px}.detail-description{margin:8px 0 12px;font-size:14px}.match-callout{border-radius:var(--radius-control);padding:12px 14px;font-size:13px}.detail-section,.cost-panel{padding:16px 14px}.cooking-step-card{min-height:280px;padding:24px 14px}.cooking-step-card h1{margin:12px 0;font-size:22px}.timer-button{width:100%;min-height:46px}.auth-card{padding:22px 16px}.auth-card h1{font-size:26px}}@media (width<=360px){.app-content{padding:var(--space-2) 12px calc(112px + env(safe-area-inset-bottom,20px))}.mobile-header{padding:var(--space-2) 12px}.recipe-card{padding:14px 12px 12px}.recipe-card-image{width:calc(100% + 24px);margin:-14px -12px 10px}.recipe-hero{padding:14px 10px}.recipe-hero h1{font-size:21px}.detail-topbar .button{width:100%}}@media (prefers-reduced-motion:reduce){.recipe-card:hover,.recipe-card:focus-within,.preferences-summary:hover,.fan-card:hover,.recipe-card:hover .recipe-card-image,.recipe-card:focus-within .recipe-card-image{transform:none}}.kusina-shelf{margin-top:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:var(--surface-border);border-radius:var(--surface-radius);box-shadow:var(--surface-shadow)}.shelf-header{justify-content:space-between;align-items:flex-end;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.shelf-title{font-size:18px;font-family:var(--font-display);color:var(--color-ink);margin:0}.smart-pairings-bar{margin-bottom:var(--space-3);background:var(--color-brand-soft);border:1px dashed var(--color-brand);border-radius:var(--radius-control);padding:10px 14px;overflow:hidden}.pairings-label{color:var(--color-brand);align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:800;display:flex}.pairings-list{flex-wrap:wrap;gap:6px;display:flex}.pairing-chip{background:var(--color-surface);min-height:30px;color:var(--color-brand-strong);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:4px;padding:0 10px;font-size:12px;font-weight:700;transition:transform .12s,background-color .12s,border-color .12s;display:inline-flex}.pairing-chip:hover{background:var(--color-brand);color:var(--color-surface);border-color:var(--color-brand);transform:translateY(-1px)}.pairing-chip .plus-glyph{font-weight:800}.shelf-tabs{margin-bottom:var(--space-4);background:var(--sand-2);border:1px solid var(--sand-a4);border-radius:var(--radius-pill);scrollbar-width:none;gap:4px;padding:4px;display:flex;overflow-x:auto}.shelf-tabs::-webkit-scrollbar{display:none}.shelf-tab{min-height:36px;color:var(--color-muted);border-radius:var(--radius-pill);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0 14px;font-size:13px;font-weight:700;transition:all .16s cubic-bezier(.16,1,.3,1)}.shelf-tab:hover:not(.tab-active){color:var(--color-ink);background:var(--sand-a3)}.shelf-tab.tab-active{background:var(--color-surface);color:var(--color-brand-strong);font-weight:800;box-shadow:0 1px 3px #00000014,0 3px 8px -2px #0000000d}.shelf-grid{flex-wrap:wrap;gap:8px;display:flex}.shelf-item-chip{border-radius:var(--radius-pill);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;min-height:44px;padding:4px 12px 4px 6px;font-size:13px;font-weight:700;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1),background-color .15s,border-color .15s,color .15s;display:inline-flex}.shelf-item-chip.item-inactive{background:var(--color-surface);color:var(--color-ink);border:1px solid #00000014;box-shadow:0 1px 2px #0000000a}.shelf-item-chip.item-inactive:hover{background:var(--color-brand-soft);border-color:var(--color-brand-border);color:var(--color-brand-strong);transform:translateY(-1.5px);box-shadow:0 3px 8px #00000012}.shelf-item-chip.item-active{background:var(--color-success-bg);color:var(--color-calamansi);border:1px solid var(--color-success-border);box-shadow:0 2px 6px #276b431f}.shelf-item-chip.item-active:hover{background:var(--color-error-bg);color:var(--tomato-11);border-color:var(--tomato-7);box-shadow:0 3px 8px var(--tomato-a5);transform:translateY(-1px)}.shelf-item-chip:active{transform:scale(.96)}.shelf-item-chip .item-emoji{background:var(--sand-3);border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:14px;transition:background-color .15s;display:grid}.shelf-item-chip.cat-protina .item-emoji{background:#e06e501f}.shelf-item-chip.cat-gulay .item-emoji{background:#276b431f}.shelf-item-chip.cat-pampalasa .item-emoji{background:#d977061f}.shelf-item-chip.item-active .item-emoji{background:var(--color-surface);box-shadow:0 1px 2px #0000000f}.shelf-item-chip .chip-indicator{background:var(--sand-3);width:18px;height:18px;color:var(--color-muted);border-radius:50%;flex-shrink:0;place-items:center;margin-left:2px;transition:all .15s;display:grid}.shelf-item-chip.item-active .chip-indicator{background:var(--color-calamansi);color:#fff}.shelf-item-chip.item-active:hover .chip-indicator{background:var(--tomato-9);color:#fff}.completion-overlay{z-index:300;background:#20130e99;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.completion-card{border-radius:var(--radius-card);text-align:center;border:var(--surface-border);width:100%;max-width:440px;box-shadow:var(--elevation-3);background:#fff;padding:40px 32px 32px}.completion-title{font-family:var(--font-display);color:var(--color-ink);margin:0 0 8px;font-size:1.6rem;font-weight:800}.completion-dish{color:var(--color-brand);margin:0 0 6px;font-size:1.05rem;font-weight:600}.completion-time{color:var(--color-muted);margin:0 0 28px;font-size:.88rem}.completion-actions{flex-direction:column;gap:10px;display:flex}.input-with-autocomplete{z-index:30;width:100%;position:relative}.autocomplete-wrapper{width:100%;position:relative}.autocomplete-dropdown{background:var(--color-surface);border:1px solid var(--sand-a5);border-radius:var(--radius-control);box-shadow:var(--elevation-2);z-index:100;max-height:260px;margin-top:4px;padding:4px 0;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.autocomplete-item{cursor:pointer;font-size:.92rem;font-family:var(--font-body);justify-content:space-between;align-items:center;padding:10px 16px;transition:background .1s;display:flex}.autocomplete-item:hover,.autocomplete-item.active{background:var(--sand-2)}.autocomplete-item-name{color:var(--color-ink);font-weight:600}.autocomplete-item-canonical{color:var(--color-muted);opacity:.85;font-size:.82rem}.timer-adjust-button{border-radius:var(--radius-pill);border:1.5px solid var(--sand-7);background:var(--color-surface);color:var(--color-ink);font-size:.82rem;font-weight:700;font-family:var(--font-body);cursor:pointer;box-shadow:none;justify-content:center;align-items:center;padding:8px 14px;transition:all .15s;display:inline-flex}.timer-adjust-button:hover{border-color:var(--color-brand);color:var(--color-brand);box-shadow:none}.timer-adjust-button:active{transform:scale(.96)}.cooking-loading-mascot-card{background:linear-gradient(135deg, var(--color-surface) 0%, var(--sand-2) 100%);border:var(--surface-border);border-radius:var(--surface-radius);box-shadow:var(--surface-shadow);grid-template-columns:auto 1fr;align-items:center;gap:24px;margin:20px 0 28px;padding:24px 28px;display:grid}@media (width<=640px){.cooking-loading-mascot-card{text-align:center;grid-template-columns:1fr;gap:16px;padding:20px 18px}}.mascot-avatar-area{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:8px;display:flex}.chef-kalabaw-wrapper{justify-content:center;align-items:center;display:flex;position:relative}.chef-kalabaw-interactive{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:transform .18s cubic-bezier(.16,1,.3,1)}.chef-kalabaw-interactive:hover{transform:scale(1.04)}.chef-kalabaw-interactive:active{transform:scale(.96)}.chef-kalabaw-svg{filter:none;width:100%;height:100%;overflow:visible}.mascot-stir-pill{background:var(--amber-2);border:1px solid var(--amber-7);border-radius:var(--radius-pill);font-size:.78rem;font-weight:700;font-family:var(--font-body);color:var(--color-ink);cursor:pointer;box-shadow:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:6px;padding:6px 14px;transition:all .15s;display:inline-flex}.mascot-stir-pill:hover{background:var(--amber-3);box-shadow:none;transform:translateY(-1px)}.mascot-stir-pill.stir-active{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-calamansi);box-shadow:none}.mascot-stir-pill.stir-active:hover{background:var(--green-3);border-color:var(--green-7)}.mascot-stir-pill svg{flex-shrink:0}.mascot-dialogue-area{flex-direction:column;justify-content:center;gap:12px;width:100%;min-height:130px;display:flex}.mascot-speech-bubble{background:var(--color-surface);border:var(--surface-border);border-radius:var(--radius-control);text-align:left;padding:16px 20px;position:relative;box-shadow:0 1px 3px #0000000a,0 4px 12px -2px #0000000f}.mascot-speech-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.mascot-chef-name{font-family:var(--font-display);color:var(--color-brand);font-size:.95rem;font-weight:800}.mascot-speech-tag{text-transform:uppercase;letter-spacing:.05em;background:var(--color-success-bg);color:var(--color-calamansi);border-radius:6px;padding:2px 8px;font-size:.72rem;font-weight:700}.mascot-speech-headline{font-family:var(--font-display);color:var(--color-ink);margin-bottom:6px;font-size:1.18rem;font-weight:800;line-height:1.3;display:block}.mascot-speech-subline{color:var(--color-muted);margin:0 0 10px;font-size:.88rem;line-height:1.5}.mascot-speech-tip{background:var(--amber-2);border:1px solid var(--amber-6);color:var(--color-ink);border-radius:8px;align-items:flex-start;gap:8px;padding:8px 12px;font-size:.8rem;line-height:1.4;display:flex}.mascot-speech-tip svg{color:var(--color-mango);flex-shrink:0;margin-top:2px}.mascot-loading-progress-bar{background:var(--sand-4);border-radius:var(--radius-pill);width:100%;height:4px;margin-top:2px;position:relative;overflow:hidden}.mascot-progress-indicator{background:linear-gradient(90deg, var(--color-brand), var(--color-mango));border-radius:var(--radius-pill);width:45%;height:100%}.hapag-chip{border-radius:var(--radius-pill);border:1.5px solid;align-items:center;gap:4px;min-height:26px;padding:3px 10px;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex}.hapag-chip-have{color:var(--color-calamansi);background:var(--color-success-bg);border-color:var(--color-success-border)}.hapag-chip-missing{color:var(--tomato-11);background:var(--color-error-bg);border-color:var(--tomato-6)}.hapag-chip-staple{color:var(--color-muted);background:var(--sand-2);border-color:var(--sand-7);border-style:dashed}.hapag-chip-substitute{color:var(--amber-12);background:var(--amber-2);border-color:var(--amber-7)}.hapag-chip-remove{width:24px;height:24px;color:inherit;background:0 0;border:0;border-radius:50%;place-items:center;margin-right:-6px;padding:0;font-size:16px;line-height:1;display:grid}.hapag-chip-remove:hover{background:var(--sand-a3)}.segmented-field{gap:var(--space-2);display:grid}.segmented-label{color:var(--color-muted);font-size:12px;font-weight:800}.segmented-control{background:var(--sand-2);border:1px solid var(--color-border);border-radius:var(--radius-control);gap:4px;padding:4px;display:flex}.segmented-option{min-width:0;min-height:40px;color:var(--color-muted);border-radius:var(--radius-control);background:0 0;border:0;flex:1 1 0;padding:0 10px;font-size:13px;font-weight:700;transition:background-color .14s,color .14s,box-shadow .14s}.segmented-option:hover:not(.segmented-option-active){color:var(--color-ink);background:var(--sand-a3)}.segmented-option-active{color:var(--color-brand-strong);background:var(--color-surface);box-shadow:inset 0 0 0 1.5px var(--color-brand-border)}.sticky-action-bar{bottom:var(--space-4);z-index:15;align-items:center;gap:var(--space-3);margin-top:var(--space-5);-webkit-backdrop-filter:blur(20px)saturate(180%);border-radius:var(--radius-pill);box-shadow:var(--elevation-3);background:#fffffff0;border:1px solid #00000012;padding:8px 8px 8px 18px;transition:opacity .16s,transform .16s,box-shadow .2s,border-color .2s;display:flex;position:sticky}.sticky-action-bar-active{border-color:#b5442a33;box-shadow:inset 0 1px 1.5px #fff,0 2px 8px -1px #b5442a14,0 14px 34px -4px #b5442a1f}.sticky-action-bar-hidden{opacity:0;pointer-events:none;transform:translateY(12px)}.sticky-action-summary{min-width:0;color:var(--color-ink);flex:auto;font-size:14px;font-weight:700}.sticky-summary-empty{color:var(--color-muted);align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:inline-flex}.sticky-summary-dot{background:var(--sand-6);border-radius:50%;flex-shrink:0;width:7px;height:7px}.sticky-summary-active{color:var(--color-ink);align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.sticky-count-pill{border-radius:var(--radius-pill);background:var(--color-brand);color:#fff;flex-shrink:0;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:900;display:inline-grid;box-shadow:0 1px 2px #b5442a4d}.sticky-action-buttons{gap:var(--space-2);flex:none;display:flex}.sticky-action-buttons .button{min-height:48px}.sticky-action-bar:not(:has(.sticky-action-summary)) .sticky-action-buttons{flex:auto}.sticky-action-bar:not(:has(.sticky-action-summary)) .sticky-action-buttons .button{flex:auto;min-width:0}@media (width<=900px){.sticky-action-bar{bottom:calc(84px + env(safe-area-inset-bottom))}}html:has(dialog.bottom-sheet[open]){overflow:hidden}.bottom-sheet{width:min(640px,100%);max-width:100%;max-height:min(88vh,760px);color:var(--color-ink);background:0 0;border:0;margin:0 auto;padding:0;position:fixed;inset:auto 0 0;overflow:visible}.bottom-sheet::backdrop{background:#20130e73}.bottom-sheet-panel{max-height:min(88vh,760px);padding:0 20px calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--color-surface);border-radius:var(--radius-card) var(--radius-card) 0 0;border-top:1px solid var(--color-border);box-shadow:var(--elevation-4);flex-direction:column;display:flex}.bottom-sheet-handle{cursor:grab;touch-action:none;place-items:center;height:28px;display:grid}.bottom-sheet-handle span{background:var(--sand-7);border-radius:var(--radius-pill);width:44px;height:5px}.bottom-sheet-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);display:flex}.bottom-sheet-header h2{margin:0;font-size:22px}.bottom-sheet-close{width:44px;height:44px;color:var(--color-muted);background:var(--sand-2);border:0;border-radius:50%;place-items:center;padding:0;font-size:24px;display:grid}.bottom-sheet-close:hover{color:var(--color-ink);background:var(--sand-4)}.bottom-sheet-body{gap:var(--space-4);overscroll-behavior:contain;min-height:0;padding-bottom:var(--space-4);display:grid;overflow-y:auto}.bottom-sheet-footer{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.ulam-page .ingredient-add-form{margin-top:var(--space-4)}.ulam-page .review-panel.selected-panel{margin-top:var(--space-4);padding:var(--space-5)}.selected-panel .ingredient-chips{margin-top:var(--space-4);flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.selected-panel #review-heading{align-items:center;gap:var(--space-2);white-space:nowrap;display:flex}.selected-panel .section-heading-row .text-button{white-space:nowrap}.selected-panel .ingredient-chip{background:var(--color-surface);color:var(--color-ink);border:1px solid #00000014;font-weight:700;transition:transform .16s cubic-bezier(.16,1,.3,1),box-shadow .16s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 2px #0000000a}.selected-panel .ingredient-chip:hover{transform:translateY(-1px);box-shadow:0 3px 8px #00000014}.empty-ingredients-tray{text-align:center;margin-top:var(--space-4);background:var(--sand-2);border:1.5px dashed var(--sand-6);border-radius:var(--radius-control);justify-items:center;gap:6px;padding:24px 16px;display:grid}.empty-pot-icon{background:var(--color-surface);border-radius:50%;place-items:center;width:46px;height:46px;margin-bottom:2px;font-size:26px;display:grid;box-shadow:0 1px 3px #0000000d}.empty-pot-title{font-family:var(--font-display);color:var(--color-ink);font-size:15px;font-weight:800}.empty-pot-subtitle{color:var(--color-muted);max-width:260px;font-size:12.5px;line-height:1.45;margin:0 auto!important}.selected-panel .muted-copy{margin:var(--space-3) 0 0}.text-button{align-items:center;gap:6px;min-height:36px;display:inline-flex}.discovery-notice{align-items:flex-start;gap:var(--space-2);margin:var(--space-4) 0 0;color:var(--color-brand-strong);background:var(--color-brand-soft);border:1px solid var(--color-brand-border);border-radius:var(--radius-control);padding:12px 16px;font-size:14px;font-weight:700;display:flex}.discovery-notice svg{flex:none;margin-top:2px}.staples-card{gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:var(--surface-border);border-radius:var(--surface-radius);box-shadow:var(--surface-shadow);transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1),border-color .2s;display:grid}.staples-card:hover{border-color:var(--color-brand-border);box-shadow:var(--surface-shadow-hover);transform:var(--surface-lift)}.staples-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.staples-header h2{margin:0;font-size:20px}.staples-list{color:var(--color-ink);margin:0;font-size:14px;font-weight:600;line-height:1.5}.staples-card .button{min-height:44px}.staples-card .inline-warning{margin:0}.staples-picker{gap:var(--space-2);flex-wrap:wrap;display:flex}.shelf-tab{flex:1 1 0;justify-content:center;align-items:center;gap:6px;min-width:0;padding:0 8px;display:inline-flex}.shelf-tab-count{min-width:20px;height:20px;color:var(--color-brand-strong);background:var(--color-brand-soft);border-radius:var(--radius-pill);place-items:center;padding:0 6px;font-size:11px;font-weight:800;display:grid}.shelf-tab.tab-active .shelf-tab-count{color:var(--color-brand-strong);background:var(--color-surface)}.item-emoji{font-size:15px;line-height:1}.shelf-item-chip .item-name{text-align:left;line-height:1.15;display:grid}.shelf-item-chip .item-name small{color:var(--color-muted);font-size:10.5px;font-weight:600}.shelf-item-chip:has(.item-name small){min-height:44px;padding-top:3px;padding-bottom:3px}.shelf-item-chip.item-active .item-name small{color:inherit}.preferences-summary{align-items:center;gap:var(--space-3);width:100%;margin-top:var(--space-4);color:var(--color-ink);text-align:left;background:var(--color-surface);border:var(--surface-border);border-radius:var(--surface-radius);box-shadow:var(--surface-shadow);padding:12px 16px;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1),border-color .14s;display:flex}.preferences-summary:hover{border-color:var(--color-brand-border);box-shadow:var(--surface-shadow-hover);transform:var(--surface-lift)}.preferences-summary-icon-badge{border-radius:var(--radius-control);background:var(--color-brand-soft);width:38px;height:38px;color:var(--color-brand-strong);flex-shrink:0;place-items:center;transition:transform .16s;display:grid;box-shadow:0 1px 2px #0000000a}.preferences-summary:hover .preferences-summary-icon-badge{transform:scale(1.05)}.preferences-summary>span{flex:auto;gap:2px;min-width:0;display:grid}.preferences-summary small{color:var(--color-brand);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.preferences-summary strong{font-size:15px}.preferences-summary-icon{color:inherit}.allergy-note{align-items:flex-start;gap:var(--space-2);margin:var(--space-3) 0 0;color:var(--color-muted);padding:0 4px;font-size:13px;font-weight:600;display:flex}.allergy-note svg{color:var(--tomato-11);flex:none;margin-top:1px}.bottom-sheet .segmented-option{min-height:44px;line-height:1.2}.dish-image{background:var(--sand-3);position:relative;overflow:hidden}figure.recipe-card-image,figure.recipe-hero-image{display:block}.dish-image-img{object-fit:cover;width:100%;height:100%;display:block}.dish-image-credit{z-index:2;color:#fff;-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-pill);background:#140c0894;align-items:center;max-width:calc(100% - 16px);font-size:11px;font-weight:600;line-height:1.3;display:flex;position:absolute;bottom:8px;right:8px}.dish-image-credit-open{padding-left:10px}.dish-image-credit>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.dish-image-credit button{width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.dish-image-credit button:focus-visible{outline-offset:1px;outline:2px solid #fff}.dish-image-credit a{color:inherit;text-underline-offset:2px;text-decoration:underline}.dish-image-placeholder{background-color:var(--sand-2);background-image:repeating-linear-gradient(0deg, var(--orange-a2) 0 10px, transparent 10px 28px), repeating-linear-gradient(90deg, var(--orange-a2) 0 10px, transparent 10px 28px);place-items:center;display:grid;position:relative;overflow:hidden}.dish-image-plate{aspect-ratio:1;background:radial-gradient(circle, #fff 0 58%, var(--sand-1) 59% 100%);border:1px solid var(--sand-a4);width:clamp(84px,30%,128px);box-shadow:var(--elevation-1);border-radius:50%;place-items:center;font-size:clamp(36px,7vw,54px);line-height:1;display:grid}.have-progress{margin-bottom:var(--space-3);gap:6px;display:grid}.have-progress-label{letter-spacing:.02em;font-size:12px;font-weight:800}.have-progress-full .have-progress-label{color:var(--color-calamansi)}.have-progress-partial .have-progress-label{color:var(--amber-11)}.have-progress-track{background:var(--sand-4);border-radius:var(--radius-pill);height:6px;display:block;overflow:hidden}.have-progress-track span{border-radius:inherit;height:100%;transition:width .24s cubic-bezier(.16,1,.3,1);display:block}.have-progress-full .have-progress-track span{background:var(--color-calamansi)}.have-progress-partial .have-progress-track span{background:var(--amber-9)}.ingredient-staple{background:var(--sand-2);border:1.5px dashed var(--sand-7)}.ingredient-staple .ingredient-status{color:var(--color-muted);border-color:var(--sand-7)}.ingredient-staple em{color:var(--color-muted)}.recipe-feedback-row{align-items:center;gap:var(--space-2);display:flex}.recipe-feedback-row .recipe-feedback-label{flex:auto}.feedback-thumb{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);place-items:center;width:44px;height:40px;padding:0;font-size:18px;transition:background-color .14s,border-color .14s;display:grid}.feedback-thumb:hover{border-color:var(--color-brand-border)}.feedback-thumb-active{background:var(--color-brand-soft);border-color:var(--color-brand)}.recipe-feedback .recipe-feedback-options{margin-top:var(--space-2)}.dish-idea-body{cursor:default;flex-direction:column;display:flex}.dish-idea-local{color:var(--color-brand-strong);margin:-4px 0 6px;font-size:14px;font-weight:700}.dish-idea-actions{gap:var(--space-2);padding-top:var(--space-4);margin-top:auto;display:grid}.dish-idea-actions .button{gap:6px}.dish-idea-error{color:var(--color-muted);text-align:center;margin:0;font-size:13px}.dish-idea-error a{color:var(--color-brand-strong);font-weight:700}.ideas-section{margin-top:var(--space-6)}.ideas-section>h2{margin-bottom:var(--space-2)}.ideas-note{align-items:flex-start;gap:var(--space-2);margin:0 0 var(--space-4);color:var(--color-ink);background:var(--amber-2);border:1px solid var(--amber-7);border-radius:var(--radius-control);padding:12px 16px;font-size:14px;font-weight:600;display:flex}.unlock-hint{gap:var(--space-3);margin-top:var(--space-4);justify-items:center;display:grid}.unlock-hint p{color:var(--color-ink);text-align:center;margin:0;font-weight:700}.detail-page .sticky-action-bar{padding-left:10px}.detail-page .sticky-action-buttons{flex:auto}.sticky-action-bar .sticky-action-buttons .button.detail-save-button{flex:none}.detail-save-button{align-items:center;gap:6px;padding:0 16px;font-size:18px;display:inline-flex}.detail-save-label{font-size:14px}.detail-cook-button{flex:auto}.detail-section .match-callout{margin-top:var(--space-3)}.shopping-items{margin:var(--space-4) 0 0;gap:6px;padding:0;list-style:none;display:grid}.shopping-items li{justify-content:space-between;align-items:baseline;gap:var(--space-3);background:var(--color-error-bg);border:1px solid var(--tomato-5);border-radius:var(--radius-control);padding:10px 14px;display:flex}.shopping-items small{color:var(--color-muted);font-weight:600}.shopping-price{color:var(--amber-11);flex:none;font-weight:800}.shopping-toggle{align-items:center;gap:var(--space-2);min-height:44px;margin-top:var(--space-3);color:var(--color-ink);font-size:14px;font-weight:600;display:flex}.shopping-toggle input{width:18px;height:18px;accent-color:var(--color-brand)}.shopping-actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.shopping-actions .button{align-items:center;gap:6px;min-height:44px;display:inline-flex}.shopping-list .inline-warning{margin:var(--space-3) 0 0}.shopping-fallback{gap:var(--space-2);margin-top:var(--space-3);display:grid}.shopping-fallback .inline-warning{margin:0}.shopping-fallback-text{width:100%;color:var(--color-ink);font:inherit;background:var(--sand-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);resize:vertical;padding:10px 12px;font-size:13px}.shopping-items li.shopping-item-staple{background:var(--sand-2);border:1px dashed var(--sand-7)}figure.recipe-hero-image{margin:0}@media (width>=901px){.detail-page .sticky-action-bar{width:min(460px,100%);margin-left:auto}}.app-shell-immersive .app-content{padding:var(--space-3) clamp(16px, 3vw, 32px) calc(var(--space-6) + env(safe-area-inset-bottom))}.app-shell-immersive .cooking-page{padding-top:0}.cooking-bar{align-items:center;gap:var(--space-3);padding:6px 0 10px;display:flex}.cooking-icon-button{width:44px;height:44px;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.cooking-icon-button:hover{border-color:var(--color-brand-border);background:var(--color-brand-soft)}.cooking-icon-button-muted{color:var(--color-muted);background:var(--sand-2)}.cooking-bar-title{flex:auto;min-width:0;display:grid}.cooking-bar-title strong{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:17px;overflow:hidden}.cooking-bar-count{color:var(--color-brand-strong);background:var(--color-brand-soft);border-radius:var(--radius-pill);flex:none;padding:6px 12px;font-size:14px;font-weight:800}.cooking-step-gauge{gap:6px;width:100%;margin-top:4px;margin-bottom:8px;display:flex}.gauge-segment{border-radius:var(--radius-pill);background:var(--sand-4);flex:1 1 0;height:6px;transition:background-color .22s,box-shadow .22s}.gauge-completed{background:var(--color-calamansi)}.gauge-current{background:var(--color-brand);box-shadow:0 0 10px #b5442a73}.gauge-upcoming{background:var(--sand-4)}.cooking-progress{display:none}.app-shell-immersive .cooking-step-card{margin-top:var(--space-4);min-height:0;box-shadow:inset 0 1px 1.5px #fff,0 4px 16px -2px #0000000f,0 16px 36px -4px #00000014}.cooking-step-card h1{text-align:center;line-height:1.25}.step-numeral-pill{color:var(--color-brand-strong);background:var(--color-brand-soft);border:1px solid var(--color-brand-border);border-radius:var(--radius-pill);font-family:var(--font-display);letter-spacing:.02em;align-items:center;padding:4px 14px;font-size:13px;font-weight:800;display:inline-flex}.step-ingredients{margin-top:var(--space-5);background:var(--sand-2);border:1px solid var(--sand-a4);border-radius:var(--radius-control);justify-items:center;gap:8px;width:100%;max-width:580px;padding:14px 18px;display:grid;box-shadow:inset 0 1px 2px #00000008}.step-ingredients-label{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.step-ingredients ul{flex-wrap:wrap;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.step-ingredients li{color:var(--color-ink);background:var(--color-surface);border:1px solid var(--sand-a4);border-radius:var(--radius-pill);padding:6px 14px;font-size:13.5px;font-weight:700;box-shadow:0 1px 2px #0000000a}.timer-row{width:100%;margin-top:var(--space-5);flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;display:flex}.timer-row .timer-button{font-variant-numeric:tabular-nums;flex:0 auto;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:52px;display:inline-flex}.timer-radial-ring{flex-shrink:0;transform:rotate(-90deg)}.timer-ring-bg{fill:none;stroke:#ffffff4d;stroke-width:2.5px}.timer-button:not(.timer-button-active) .timer-ring-bg{stroke:var(--sand-5)}.timer-ring-progress{fill:none;stroke:#fff;stroke-width:2.5px;stroke-linecap:round;transition:stroke-dashoffset .9s linear}.timer-button:not(.timer-button-active) .timer-ring-progress{stroke:var(--color-brand)}.timer-row .timer-adjust-button{flex:none;min-width:52px;min-height:52px}.cooking-step-content .timer-reset-button{min-height:40px;margin-top:var(--space-3);align-items:center;gap:6px;display:inline-flex}.app-shell-immersive .cooking-controls{bottom:calc(var(--space-3) + env(safe-area-inset-bottom));z-index:10;-webkit-backdrop-filter:blur(20px)saturate(180%);border-radius:var(--radius-pill);background:#fffffff0;border:1px solid #00000012;padding:10px;position:sticky;box-shadow:inset 0 1px 1px #fffffff2,0 2px 8px -1px #0000000d,0 12px 30px -4px #00000017}.cooking-controls .button{flex:1 1 0;justify-content:center;align-items:center;gap:8px;min-height:56px;font-size:17px;display:inline-flex}@media (width<=900px){.app-shell-immersive .cooking-controls{flex-direction:row}.app-shell-immersive .cooking-controls .button{width:auto}}.timer-pill{right:16px;bottom:calc(100px + env(safe-area-inset-bottom));z-index:30;min-height:48px;color:var(--color-surface);font-variant-numeric:tabular-nums;background:var(--color-brand-strong);border-radius:var(--radius-pill);border:1px solid #fff3;align-items:center;gap:8px;padding:0 16px;font-weight:800;transition:transform .16s,box-shadow .16s;display:inline-flex;position:fixed;box-shadow:inset 0 1px 1px #ffffff59,0 4px 14px -2px #00000026,0 8px 24px -4px #0003}.timer-pill:hover{transform:translateY(-2px)scale(1.02);box-shadow:inset 0 1px 1.5px #ffffff73,0 6px 18px -2px #0003,0 12px 28px -4px #00000040}.timer-pill small{opacity:.85;font-weight:600}.timer-pill-finished{background:var(--tomato-11)}.completion-badge-wrap{background:var(--color-brand-soft);border:1px solid var(--color-brand-border);border-radius:50%;place-items:center;width:76px;height:76px;margin:0 auto 16px;display:inline-grid;position:relative;box-shadow:0 4px 14px -2px #b5442a2e}.completion-emoji{font-size:38px;line-height:1;display:block}.completion-sparkle{font-size:20px;line-height:1;position:absolute;top:-4px;right:-4px}.completion-card .recipe-feedback{margin:var(--space-4) 0 0;padding-top:var(--space-3);border-top:1px solid var(--color-border)}.completion-actions{gap:var(--space-2);margin-top:var(--space-4);display:grid}.completion-actions .button{width:100%;min-height:48px}.completion-actions .text-button{justify-self:center}.cooking-controls .button:disabled{opacity:.45}.ulam-page{width:min(720px,100%);margin:0 auto}.ulam-layout{flex-direction:column;display:flex}.ulam-main,.ulam-side,.ulam-order-cook{display:contents}.ulam-order-input{order:1}.ulam-order-selected{order:2}.ulam-order-staples{order:3}.ulam-order-pantry{order:4}.ulam-order-prefs{order:5}.ulam-order-cook>.sticky-action-bar{order:6}@media (width>=1100px){.ulam-page{width:min(1180px,100%)}.ulam-layout{align-items:start;gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(320px,400px);display:grid}.ulam-main{display:block}.ulam-side{flex-direction:column;display:flex;position:sticky;top:96px}.ulam-page .ulam-side .review-panel.selected-panel{margin-top:var(--space-4)}.ulam-side .sticky-action-bar{margin-top:var(--space-4);position:static}.detail-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);grid-template-areas:"prep method""side method"}.detail-main-column{display:contents}.detail-prep{grid-area:prep}.detail-method{grid-area:method}.detail-side-column{grid-area:side}.detail-prep>.detail-section:first-child,.detail-method>.detail-section:first-child{margin-top:0}}.mobile-brand,.sign-in-link,.back-button,.text-button,.suggestion-chip,.pairing-chip,.shelf-tab,.shelf-item-chip,.cooking-voice-button{min-height:44px}.feedback-thumb{height:44px}.save-button{width:44px;height:44px}.serving-stepper button{min-width:44px;min-height:44px}.ingredient-chips li button{place-items:center;min-width:44px;min-height:44px;margin:-8px -12px -8px -6px;display:grid}.shopping-toggle{cursor:pointer}.detail-section .section-heading-row{flex-wrap:wrap}.detail-section .serving-stepper{margin-left:auto}:root{--surface-border:1px solid var(--sand-a5);--surface-radius:var(--radius-card);--surface-shadow:var(--elevation-1);--surface-shadow-hover:var(--elevation-2);--surface-lift:translateY(-3px);--color-shadow-soft-token:var(--color-shadow-soft)}.ingredient-add-form,.review-panel,.detail-section,.saved-section,.cost-panel,.recipe-card,.state-panel,.recipe-hero,.cooking-step-card,.preferences-panel,.account-panel,.auth-card,.kusina-shelf,.staples-card,.preferences-summary,.preview-frame,.home-principles li,.completion-card,.cooking-loading-mascot-card{background:var(--color-surface);border:var(--surface-border);border-radius:var(--surface-radius);box-shadow:var(--surface-shadow);transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1),border-color .2s}.recipe-card:hover,.recipe-card:focus-within,.preferences-summary:hover,.staples-card:hover{border-color:var(--color-brand-border);box-shadow:var(--surface-shadow-hover);transform:var(--surface-lift)}.app-background:after{display:none}.review-panel h2,.detail-section h2,.cost-panel h2,.saved-section h2,.preferences-panel h2,.account-panel h2,.staples-header h2,.shelf-title,.ideas-section>h2{letter-spacing:-.01em;margin:0;font-size:20px;line-height:1.25}.page-shell>h1,.results-header h1,.ulam-page>h1{margin-bottom:var(--space-2)}.ingredient-summary strong{color:var(--color-muted);letter-spacing:.05em;font-size:11px;font-weight:700}.ingredient-chip{min-height:36px;color:var(--color-calamansi);background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:var(--radius-pill);padding:0 4px 0 14px;font-size:14px;font-weight:700}.ingredient-chip button{color:inherit;opacity:.7}.ingredient-chip button:hover{opacity:1}.results-header{margin-bottom:var(--space-5);display:block}.results-summary{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0;font-size:15px;font-weight:600;display:flex}.results-summary>span:first-child{color:var(--color-ink)}.results-summary-settings:before{content:"·";color:var(--sand-8);margin-right:12px}.results-summary .text-button{min-height:44px;margin-left:auto;padding:0 8px}.ideas-section:first-of-type{margin-top:0}.ideas-note{background:var(--sand-2);border-color:var(--sand-6);flex-wrap:wrap;align-items:center}.ideas-note .text-button{min-height:44px;margin-left:auto;padding:0 8px}.ideas-note>svg{flex-shrink:0}.ideas-note>span{flex:200px}.results-footer-actions{margin-top:var(--space-5);justify-content:center;display:flex}.detail-section .match-callout{box-shadow:none;color:var(--color-ink);background:0 0;border:0;border-radius:0;padding:0;font-size:15px;line-height:1.6}.preference-form{gap:var(--space-4);display:grid}.preference-form .serving-stepper{justify-self:start}@media (width<=680px){.results-summary>span:first-child{flex-basis:100%}.results-summary-settings:before{display:none}.results-summary .text-button{margin-left:0}}.smart-pairings-bar{margin-bottom:var(--space-3);background:0 0;border:0;border-radius:0;flex-wrap:wrap;align-items:center;gap:8px;padding:0;display:flex}.pairings-label{color:var(--color-muted);margin:0;font-size:13px;font-weight:700}.pairings-label svg{display:none}.pairing-chip{border-color:var(--color-brand-border);padding:0 12px;font-size:13px}.recipe-card-main{align-content:start}
