html{--rr-fs:1.17}html[data-rr-fs=s]{--rr-fs:1}html[data-rr-fs=l]{--rr-fs:1.3}
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:"Outfit", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--color-zinc-50:oklch(98.5% 0 none);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-neutral-100:oklch(97% 0 none);--color-neutral-300:oklch(87% 0 none);--color-neutral-700:oklch(37.1% 0 none);--color-neutral-900:oklch(20.5% 0 none);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-xl:36rem;--container-3xl:48rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;--ease-out:cubic-bezier(.23, 1, .32, 1);--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Fraunces", ui-serif, Georgia, serif;--color-background:#f4ede3;--color-foreground:#2c261e;--color-card:#fffbf6;--color-card-foreground:#2c261e;--color-primary:#3e6b4f;--color-primary-foreground:#f7f3ea;--color-secondary:#e8dcc8;--color-secondary-foreground:#2c261e;--color-muted:#efe4d4;--color-muted-foreground:#6f6456;--color-border:#e0d2be;--color-ring:#3e6b4f;--color-die:#f7f1e6;--color-die-ink:#2c261e;--color-table:#e9dcc8;--shadow-border:0px 0px 0px 1px #2c261e12, 0px 1px 2px -1px #2c261e12, 0px 2px 4px 0px #2c261e0a;--shadow-die:0px 0px 0px 1px #2c261e14, inset 0 1px 0 #ffffffb3, 0 10px 18px -12px #2c261e59;--shadow-die-locked:0px 0px 0px 2px var(--color-primary), inset 0 1px 0 #ffffff8c, 0 4px 8px -8px #2c261e4d;--shadow-die-hover:0px 0px 0px 1px #2c261e1a, inset 0 1px 0 #fffc, 0 14px 22px -12px #2c261e66;--ease-smooth-out:cubic-bezier(.22, 1, .36, 1);--ease-pop:cubic-bezier(.34, 1.36, .64, 1);--motion-stagger:40ms;--motion-quick:.15s;--motion-fast:.25s}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--color-border)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-background);color:var(--color-foreground);font-family:var(--font-sans);background-image:radial-gradient(at 12% -10%,#3e6b4f12,#0000 52%),radial-gradient(at 100% 110%,#2c261e0d,#0000 48%);min-height:100dvh}@supports (color:color-mix(in lab, red, red)){body{background-image:radial-gradient(ellipse at 12% -10%, color-mix(in oklab, var(--color-primary) 7%, transparent), transparent 52%), radial-gradient(ellipse at 100% 110%, color-mix(in oklab, var(--color-foreground) 5%, transparent), transparent 48%)}}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}h1,h2,h3{text-wrap:balance;font-family:var(--font-display)}p{text-wrap:pretty}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.inset-x-0{inset-inline:0}.top-1{top:var(--spacing)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.right-3{right:calc(var(--spacing) * 3)}.right-\[calc\(50\%-1\.4rem\)\]{right:calc(50% - 1.4rem)}.bottom-0{bottom:0}.left-1\/2{left:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-full{height:100%}.h-px{height:1px}.max-h-\[min\(36rem\,calc\(100dvh-2rem\)\)\]{max-height:min(36rem,100dvh - 2rem)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-dvh{min-height:100dvh}.min-h-screen{min-height:100vh}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-\[min\(28rem\,calc\(100vw-1\.5rem\)\)\]{width:min(28rem,100vw - 1.5rem)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-5xl{max-width:var(--container-5xl)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-16{min-width:calc(var(--spacing) * 16)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0\.5{--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[1px\]{border-radius:1px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-border{border-color:var(--color-border)}.border-border\!{border-color:var(--color-border)!important}.border-neutral-300{border-color:var(--color-neutral-300)}.border-primary{border-color:var(--color-primary)}.bg-background{background-color:var(--color-background)}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-border{background-color:var(--color-border)}.bg-card{background-color:var(--color-card)}.bg-card\!{background-color:var(--color-card)!important}.bg-card\/95{background-color:#fffbf6f2}@supports (color:color-mix(in lab, red, red)){.bg-card\/95{background-color:color-mix(in oklab, var(--color-card) 95%, transparent)}}.bg-die{background-color:var(--color-die)}.bg-foreground\/30{background-color:#2c261e4d}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/30{background-color:color-mix(in oklab, var(--color-foreground) 30%, transparent)}}.bg-muted{background-color:var(--color-muted)}.bg-primary{background-color:var(--color-primary)}.bg-primary-foreground{background-color:var(--color-primary-foreground)}.bg-primary\/12{background-color:#3e6b4f1f}@supports (color:color-mix(in lab, red, red)){.bg-primary\/12{background-color:color-mix(in oklab, var(--color-primary) 12%, transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-table{background-color:var(--color-table)}.bg-transparent{background-color:#0000}.bg-zinc-50{background-color:var(--color-zinc-50)}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-1{padding-top:var(--spacing)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-1{padding-right:var(--spacing)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-1{padding-bottom:var(--spacing)}.pb-28{padding-bottom:calc(var(--spacing) * 28)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.font-sans{font-family:var(--font-sans)}.font-sans\!{font-family:var(--font-sans)!important}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[1\.35rem\]{font-size:1.35rem}.text-\[9px\]{font-size:calc(8.97px * var(--rr-fs))}.text-\[10px\]{font-size:calc(10px * var(--rr-fs))}.text-\[11px\]{font-size:calc(11.03px * var(--rr-fs))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:var(--color-card-foreground)}.text-die-ink{color:var(--color-die-ink)}.text-foreground{color:var(--color-foreground)}.text-foreground\!{color:var(--color-foreground)!important}.text-muted-foreground{color:var(--color-muted-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-red-500{color:var(--color-red-500)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-900{color:var(--color-zinc-900)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-\[var\(--shadow-border\)\]{--tw-shadow:var(--shadow-border);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--shadow-border\)\]\!{--tw-shadow:var(--shadow-border)!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.shadow-\[var\(--shadow-die\)\]{--tw-shadow:var(--shadow-die);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--shadow-die-locked\)\]{--tw-shadow:var(--shadow-die-locked);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}@media (hover:hover){.hover\:bg-muted:hover{background-color:var(--color-muted)}.hover\:bg-neutral-100:hover{background-color:var(--color-neutral-100)}.hover\:bg-primary\/90:hover{background-color:#3e6b4fe6}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--color-primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:#e8dcc8cc}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--color-secondary) 80%, transparent)}}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring\/40:focus-visible{--tw-ring-color:#3e6b4f66}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 40%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:no-underline:disabled{text-decoration-line:none}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-70:disabled{opacity:.7}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--color-primary)}@media (width>=40rem){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:text-\[1\.5rem\]{font-size:1.5rem}}@media (width>=48rem){.md\:max-w-3xl{max-width:var(--container-3xl)}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:pt-10{padding-top:calc(var(--spacing) * 10)}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}@media (prefers-color-scheme:dark){.dark\:border-neutral-700{border-color:var(--color-neutral-700)}.dark\:bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.dark\:bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.dark\:bg-zinc-950{background-color:var(--color-zinc-950)}.dark\:text-zinc-50{color:var(--color-zinc-50)}.dark\:text-zinc-400{color:var(--color-zinc-400)}@media (hover:hover){.dark\:hover\:bg-neutral-900:hover{background-color:var(--color-neutral-900)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.pressable{transition-property:scale,opacity,background-color,color,box-shadow;transition-duration:var(--motion-quick);transition-timing-function:var(--ease-out)}.pressable:active:not(:disabled){scale:.96}.font-display{font-family:var(--font-display)}}.die{--die-lift:0px;--die-scale-x:1;--die-scale-y:1;--die-rot:0deg;transform:translateY(var(--die-lift)) rotate(var(--die-rot)) scale(var(--die-scale-x), var(--die-scale-y));transition:transform var(--motion-fast) var(--ease-smooth-out), box-shadow var(--motion-fast) var(--ease-out)}.die:hover:not(:disabled):not(.die-rolling):not(.die-locked){--die-lift:-3px;box-shadow:var(--shadow-die-hover)}.die-locked{--die-lift:3px;--die-scale-x:.98;--die-scale-y:.98}.die-rolling{animation:die-tumble .82s var(--ease-smooth-out) both;animation-delay:calc(var(--die-i,0) * var(--motion-stagger))}.die-rolling-b{animation-name:die-tumble-b}.die-rolling-c{animation-name:die-tumble-c}.die-settling{animation:die-land .45s var(--ease-pop) both}.die-label-pop{animation:face-pop var(--motion-fast) var(--ease-smooth-out) both}.die-rolling .die-face-text{filter:blur(1px)}@keyframes die-tumble{0%{transform:translateY(0)rotate(0)scale(1)}10%{transform:translateY(-11px)rotate(-16deg)scale(.9,1.1)}28%{transform:translateY(-3px)rotate(20deg)scale(1.1,.88)}48%{transform:translateY(-13px)rotate(-12deg)scale(.92,1.08)}70%{transform:translateY(3px)rotate(7deg)scale(1.08,.9)}86%{transform:translateY(-4px)rotate(-3deg)scale(.97,1.03)}to{transform:translateY(0)rotate(0)scale(1)}}@keyframes die-tumble-b{0%{transform:translateY(0)rotate(0)scale(1)}12%{transform:translateY(-8px)rotate(14deg)scale(1.08,.92)}32%{transform:translateY(-14px)rotate(-18deg)scale(.9,1.1)}52%{transform:translateY(1px)rotate(10deg)scale(1.1,.88)}74%{transform:translateY(-6px)rotate(-8deg)scale(.94,1.06)}to{transform:translateY(0)rotate(0)scale(1)}}@keyframes die-tumble-c{0%{transform:translateY(0)rotate(0)scale(1)}16%{transform:translateY(-12px)rotate(-10deg)scale(.93,1.07)}36%{transform:translateY(2px)rotate(16deg)scale(1.07,.9)}58%{transform:translateY(-9px)rotate(-14deg)scale(.9,1.1)}80%{transform:translateY(2px)rotate(5deg)scale(1.05,.94)}to{transform:translateY(0)rotate(0)scale(1)}}@keyframes die-land{0%{transform:translateY(4px)scale(1.08,.9)}55%{transform:translateY(-3px)scale(.97,1.04)}to{transform:translateY(0)scale(1)}}@keyframes face-pop{0%{opacity:0;filter:blur(3px);transform:translateY(6px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes spark{0%{opacity:.9;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--tx), var(--ty)) scale(.3)}}.die-sparks span{background:var(--color-primary);opacity:0;pointer-events:none;border-radius:999px;width:5px;height:5px;margin:-2px;position:absolute;top:50%;left:50%}.die-settling .die-sparks span:first-child{--tx:18px;--ty:-22px;animation:spark .48s var(--ease-smooth-out) both}.die-settling .die-sparks span:nth-child(2){--tx:-16px;--ty:-18px;animation:spark .48s var(--ease-smooth-out) 40ms both}.die-settling .die-sparks span:nth-child(3){--tx:14px;--ty:16px;animation:spark .48s var(--ease-smooth-out) 70ms both}.die-settling .die-sparks span:nth-child(4){--tx:-18px;--ty:12px;animation:spark .48s var(--ease-smooth-out) 20ms both}@keyframes table-nudge{0%{transform:translate(0)rotate(0)}18%{transform:translate(2px,1px)rotate(-.4deg)}42%{transform:translate(-2px,2px)rotate(.35deg)}68%{transform:translate(1px,-1px)rotate(-.2deg)}to{transform:translate(0)rotate(0)}}.table-rolling{animation:table-nudge .55s var(--ease-smooth-out)}.dice-felt{background-image:repeating-linear-gradient(90deg,#0000,#0000 11px,#2c261e06 12px),repeating-linear-gradient(0deg,#0000,#0000 11px,#2c261e05 12px)}@keyframes view-in{0%{opacity:0;filter:blur(2px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translateY(0)}}.view-enter{animation:view-in var(--motion-fast) var(--ease-smooth-out) both}@keyframes plate-in{0%{opacity:0;filter:blur(3px);transform:translateY(10px)scale(.98)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.plate-enter{animation:plate-in .4s var(--ease-smooth-out) both}@keyframes slot-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.slot-enter{animation:slot-in var(--motion-fast) var(--ease-pop) both}.nav-pill{background:#3e6b4f1f;border-radius:10px;width:25%;position:absolute;top:4px;bottom:4px;left:0}@supports (color:color-mix(in lab, red, red)){.nav-pill{background:color-mix(in oklab, var(--color-primary) 12%, transparent)}}.nav-pill{transition:transform var(--motion-fast) var(--ease-smooth-out);pointer-events:none}@keyframes spin-once{to{transform:rotate(360deg)}}.spin-rolling{animation:.7s linear infinite spin-once}@keyframes icon-in{0%{opacity:0;filter:blur(4px);transform:scale(.25)}to{opacity:1;filter:blur();transform:scale(1)}}.lock-swap{transition:opacity .3s cubic-bezier(.2,0,0,1),transform .3s cubic-bezier(.2,0,0,1),filter .3s cubic-bezier(.2,0,0,1)}.lock-on{opacity:1;filter:blur();transform:scale(1)}.lock-off{opacity:0;filter:blur(4px);transform:scale(.25)}.kitchen-stage{border-radius:var(--radius-xl);aspect-ratio:16/9;background:var(--color-table);box-shadow:var(--shadow-border);position:relative;overflow:hidden}.kitchen-scene{--kitchen-zoom:1.38;z-index:1;height:calc(100% * var(--kitchen-zoom));aspect-ratio:1248/832;width:auto;min-width:calc(100% * var(--kitchen-zoom));pointer-events:none;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.kitchen-scene>*{pointer-events:none}.kitchen-scene .counter-cta{pointer-events:auto}.kitchen-bg{object-fit:fill;width:100%;height:100%;display:block;position:absolute;inset:0}.hotspot{pointer-events:none;opacity:0;transition:opacity var(--motion-fast) var(--ease-out);position:absolute}.hotspot-fridge{background:#fffae61f;border-radius:12px;width:24%;height:50%;top:26%;left:6%;box-shadow:inset 0 0 36px #fff8dc8c}.hotspot-pantry{background:#fffae61a;border-radius:10px;width:22%;height:28%;top:8%;right:6%;box-shadow:inset 0 0 28px #fff8dc73}.kitchen-stage[data-scene=pull] .hotspot{opacity:1;animation:.9s ease-in-out infinite alternate glow-pulse}@keyframes glow-pulse{0%{filter:brightness()}to{filter:brightness(1.15)}}.steam{pointer-events:none;opacity:0;width:12%;height:18%;position:absolute;top:48%;left:44%}.kitchen-stage[data-scene=cook] .steam,.kitchen-stage[data-scene=plated] .steam{opacity:1}.steam span{width:10px;height:10px;animation:steam-up 1.6s var(--ease-smooth-out) infinite;background:#ffffff8c;border-radius:999px;position:absolute;bottom:0;left:40%}.steam span:nth-child(2){width:8px;height:8px;animation-delay:.4s;left:58%}.steam span:nth-child(3){width:7px;height:7px;animation-delay:.8s;left:30%}@keyframes steam-up{0%{opacity:0;transform:translateY(6px)scale(.7)}35%{opacity:.75}to{opacity:0;transform:translateY(-34px)scale(1.25)}}.cook-picker{z-index:10;pointer-events:auto;gap:6px;display:flex;position:absolute;top:10px;left:10px}.cook-pick{background:var(--color-card);pointer-events:auto;width:40px;height:40px;transition:transform var(--motion-quick) var(--ease-out), box-shadow var(--motion-quick) var(--ease-out);border:2px solid #fffbf6b3;border-radius:999px;padding:0;overflow:hidden}.cook-pick img{object-fit:cover;object-position:50% 10%;width:100%;height:100%}.cook-pick-on{box-shadow:0 0 0 2px var(--color-primary);transform:scale(1.06)}.cook-sprite{pointer-events:none;opacity:0;filter:drop-shadow(0 8px 12px #2c261e47);transition:opacity .4s var(--ease-out), transform .5s var(--ease-smooth-out);z-index:2;position:absolute}.cook-nia,.cook-jun{width:auto;height:64%;bottom:8%;left:auto;right:8%;transform:translate(24px)}.cook-sprite.cook-in{opacity:1;transform:none}.kitchen-stage[data-scene=pull] .cook-sprite.cook-in{animation:walk-in .75s var(--ease-smooth-out) both}@keyframes walk-in{0%{opacity:0;transform:translate(36px)}to{opacity:1;transform:none}}.fly-item{z-index:6;pointer-events:none;filter:drop-shadow(0 4px 6px #2c261e40);opacity:0;--sx:16%;--sy:42%;--lx:42%;--ly:78%;--rot:-8deg;width:11%;height:auto;position:absolute}.fly-item.from-fridge{--sx:16%;--sy:42%}.fly-item.from-pantry{--sx:80%;--sy:22%}.fly-0{--lx:28%;--ly:78%;--rot:-14deg}.fly-1{--lx:40%;--ly:74%;--rot:10deg}.fly-2{--lx:52%;--ly:80%;--rot:-6deg}.fly-3{--lx:38%;--ly:84%;--rot:8deg}.kitchen-stage[data-scene=pull] .fly-item{animation:fly-pull .95s var(--ease-pop) both}.kitchen-stage[data-scene=pull] .fly-1{animation-delay:.12s}.kitchen-stage[data-scene=pull] .fly-2{animation-delay:.22s}.kitchen-stage[data-scene=pull] .fly-3{animation-delay:.32s}.kitchen-stage[data-scene=cook] .fly-item{left:var(--lx);top:var(--ly);opacity:1;transform:rotate(var(--rot));animation:.5s ease-in-out infinite alternate chop-bounce}.kitchen-stage[data-scene=cook] .fly-1{animation-delay:.1s}.kitchen-stage[data-scene=cook] .fly-2{animation-delay:.2s}.kitchen-stage[data-scene=cook] .fly-3{animation-delay:.15s}@keyframes fly-pull{0%{left:var(--sx);top:var(--sy);opacity:0;transform:scale(.4)rotate(-22deg)}18%{opacity:1}to{left:var(--lx);top:var(--ly);opacity:1;transform:scale(1) rotate(var(--rot))}}@keyframes chop-bounce{0%{transform:rotate(var(--rot)) translateY(0) scale(1)}to{transform:rotate(var(--rot)) translateY(-6px) scale(1.04)}}.stage-plate{z-index:6;width:26%;box-shadow:var(--shadow-die);animation:plate-in .4s var(--ease-smooth-out) both;border-radius:12px;position:absolute;top:auto;bottom:12%;left:10%;overflow:hidden}.stage-plate img{aspect-ratio:3/2;object-fit:cover;width:100%;display:block}.kitchen-caption{z-index:8;max-width:46%;color:var(--color-primary-foreground);text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2c261e8c;border-radius:999px;margin:0;padding:6px 10px;font-size:calc(11.97px * var(--rr-fs));position:absolute;inset:12px auto auto 58px}.kitchen-skip{z-index:8;height:28px;color:var(--color-foreground);transition:scale var(--motion-quick) var(--ease-out);background:#fffbf6e0;border-radius:999px;padding:0 10px;font-size:calc(11.97px * var(--rr-fs));font-weight:500;position:absolute;top:12px;right:12px}.kitchen-skip:active{scale:.96}.plate-photo{border-radius:var(--radius-md);aspect-ratio:3/2;object-fit:cover;width:100%;margin-bottom:.75rem}.stage-app{background:var(--color-background);flex-direction:column;min-height:100dvh;padding-bottom:3.75rem;display:flex}.stage-app .kitchen-stage{width:100%;box-shadow:none;aspect-ratio:auto;border-radius:0;flex:auto;min-height:52dvh;max-height:none}.stage-app:has(.results-sheet) .kitchen-stage{flex:50%;min-height:42dvh;max-height:56dvh}.counter-layer{z-index:5;pointer-events:none;filter:drop-shadow(0 -6px 12px #2c261e33);width:100%;position:absolute;top:auto;bottom:0;left:0;transform:translateY(58%)}.table-dice{z-index:7;pointer-events:none;gap:10px;display:flex;position:absolute;top:auto;bottom:8%;left:46%}.pip-cube{background:var(--color-die);width:26px;height:26px;box-shadow:var(--shadow-die);border-radius:6px;position:relative}.pip{background:var(--color-die-ink);border-radius:999px;width:5px;height:5px;position:absolute}.pip-tl{top:4px;left:4px}.pip-tr{top:4px;right:4px}.pip-c{margin:-2.5px 0 0 -2.5px;top:50%;left:50%}.pip-bl{bottom:4px;left:4px}.pip-br{bottom:4px;right:4px}.table-dice-rolling .pip-a{animation:die-tumble .7s var(--ease-smooth-out) infinite}.table-dice-rolling .pip-b{animation:die-tumble-b .62s var(--ease-smooth-out) infinite}.counter-cta{z-index:8;background:var(--color-primary);height:2.5rem;color:var(--color-primary-foreground);box-shadow:var(--shadow-die);border-radius:999px;align-items:center;gap:.4rem;padding:0 1.1rem;font-size:.95rem;font-weight:600;display:inline-flex;position:absolute;top:auto;bottom:9%;left:50%;transform:translate(-50%)}.counter-cta:active{scale:.96}.idle-tastes{flex-shrink:0;padding:.4rem .85rem .15rem}.stage-app.stage-idle .kitchen-stage{aspect-ratio:auto;flex:auto;min-height:52dvh;max-height:none}.die-compact{aspect-ratio:auto;border-radius:10px;min-height:3.6rem;padding:.4rem .45rem}.dice-felt-mini{padding:0}.results-sheet{background:var(--color-background);flex-direction:column;flex:1;gap:.7rem;padding:.75rem .9rem 1rem;display:flex;overflow:auto}.results-hero{align-items:center;gap:.75rem;display:flex}.results-hero img{object-fit:cover;border-radius:10px;flex-shrink:0;width:5.6rem;height:3.75rem}.results-actions{flex-wrap:wrap;gap:.4rem;display:flex}@media (orientation:landscape),(width>=900px){.stage-app{height:100dvh;padding-bottom:3.25rem;position:relative;overflow:hidden}.stage-app .kitchen-stage{aspect-ratio:auto;flex:none;height:auto;min-height:0;max-height:none;position:absolute;inset:0 0 3.25rem}.stage-app:has(.results-sheet) .kitchen-stage{min-height:0;max-height:none}.results-sheet{z-index:12;width:min(22rem,42%);box-shadow:var(--shadow-die);background:#fffbf6f0;border-radius:16px;flex:none;position:absolute;top:10px;bottom:4.1rem;right:10px}.idle-tastes{z-index:9;max-width:44%;box-shadow:var(--shadow-border);background:#fffbf6eb;border-radius:12px;padding:.4rem .5rem;position:absolute;inset:10px 10px auto auto}.stage-app.stage-idle .kitchen-stage{position:absolute;inset:0 0 3.25rem}.pip-cube{width:32px;height:32px}}@media (prefers-reduced-motion:reduce){.die-rolling,.die-rolling-b,.die-rolling-c,.die-settling,.die-label-pop,.table-rolling,.view-enter,.plate-enter,.slot-enter,.spin-rolling,.die-settling .die-sparks span,.kitchen-stage[data-scene=pull] .fly-item,.kitchen-stage[data-scene=cook] .fly-item,.stage-plate,.steam span,.table-dice-rolling .pip-a,.table-dice-rolling .pip-b,.kitchen-stage[data-scene=pull] .cook-sprite.cook-in{animation:none}.die,.nav-pill,.lock-swap,.pressable,.cook-sprite,.hotspot{transition:none}.die-rolling .die-face-text{filter:none}.kitchen-stage[data-scene=cook] .fly-item,.cook-sprite.cook-in{opacity:1;transform:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
/* rr-actions v8 */
.kitchen-scene{--kitchen-zoom:1.06}
/* 1) steam: only while cooking; one short puff when plated; rare soft puff at idle */
.kitchen-stage .steam{opacity:0;transition:opacity .4s ease-out}
.kitchen-stage[data-scene=cook] .steam{opacity:1}
.kitchen-stage[data-scene=plated] .steam,.kitchen-stage[data-scene=idle] .steam{opacity:1}
.kitchen-stage[data-scene=plated] .steam span{animation-iteration-count:1}
.kitchen-stage[data-scene=idle] .steam span{animation:rr-steam-rare 16s var(--ease-smooth-out) infinite}
.kitchen-stage[data-scene=idle] .steam span:nth-child(2){animation-delay:.5s}
.kitchen-stage[data-scene=idle] .steam span:nth-child(3){animation:none;opacity:0}
@keyframes rr-steam-rare{0%,82%{opacity:0;transform:translateY(6px)scale(.7)}86%{opacity:.45}94%,to{opacity:0;transform:translateY(-30px)scale(1.2)}}
/* 2) portrait phones: fit the whole kitchen by width, same framing in every scene */
@media (orientation:portrait) and (width<900px){
 .stage-app .kitchen-stage,.stage-app.stage-idle .kitchen-stage,.stage-app:has(.results-sheet) .kitchen-stage{flex:none;height:calc(100vw * var(--rr-kz,1.06) * .6667);min-height:0;max-height:none}
 .stage-app .kitchen-scene{height:auto;min-width:0;width:calc(100% * var(--kitchen-zoom));top:auto;bottom:0}
}
/* 3) narrator caption wraps inside its bubble, clear of the cook picker and Skip */
.kitchen-caption{left:104px;right:auto;max-width:calc(100% - 172px);width:max-content;text-align:left;white-space:normal;overflow-wrap:anywhere;border-radius:14px;line-height:1.3;padding:6px 11px;inset-block-start:12px}
.kitchen-caption:empty{display:none}
/* 4) dice leave the counter when the results come up */
.table-dice{transition:opacity .3s ease-out,transform .3s ease-out}
.kitchen-stage[data-scene=plated] .table-dice{opacity:0;transform:translateY(8px)scale(.9)}
/* 5) blend: ingredients poof into the plate, then the sheet slides up */
.kitchen-stage[data-scene=plated] .fly-item{left:var(--lx);top:var(--ly);animation:rr-poof .32s ease-out both}
@keyframes rr-poof{0%{opacity:1;filter:blur(0);transform:rotate(var(--rot))scale(1)}to{opacity:0;filter:blur(3px);transform:rotate(var(--rot))scale(1.25)}}
.stage-plate{animation:rr-plate-in .42s var(--ease-smooth-out) .12s both}
@keyframes rr-plate-in{0%{opacity:0;filter:blur(4px);transform:translateY(6px)scale(.85)}to{opacity:1;filter:blur(0);transform:none}}
.results-sheet{animation:rr-sheet-up .42s var(--ease-smooth-out) .22s both}
@keyframes rr-sheet-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
 .kitchen-stage .steam span,.kitchen-stage[data-scene=plated] .fly-item,.stage-plate,.results-sheet{animation:none!important}
 .kitchen-stage[data-scene=plated] .fly-item{opacity:0}
 .kitchen-stage[data-scene=idle] .steam,.kitchen-stage[data-scene=plated] .steam{opacity:0}
 .table-dice{transition:none}
}
/* v9: cooks stand behind the front counter; dice moved clear of the food */
.counter-layer{transform:translateY(30%)}
.cook-nia,.cook-jun{height:66%;bottom:6%;right:9%}
.table-dice{left:5%;bottom:7%}
/* v10: one-cook routine */
.kitchen-stage{--rr-t:.5s}
.kitchen-stage.rr-fast{--rr-t:.24s}
.kitchen-scene .cook-sprite,.kitchen-stage[data-scene] .kitchen-scene .cook-sprite.cook-in{opacity:1;right:auto;left:var(--cx);margin-left:-6.2%;height:66%;bottom:6%;scale:var(--flip,1) 1;transform-origin:50% 100%;transform:none;animation:rr-idle 3.2s ease-in-out infinite;transition:left var(--rr-t) ease-in-out,scale .15s}
.kitchen-scene .cook-jun{--cx:70%}
.kitchen-scene .cook-nia{--cx:85%;animation-delay:-1.4s!important}
.kitchen-scene .cook-sprite.rr-other{animation:rr-idle 3.2s ease-in-out infinite}
.kitchen-stage[data-phase] .kitchen-scene .cook-sprite.rr-actor{animation:rr-walk .32s ease-in-out infinite}
.kitchen-stage[data-phase=walk] .kitchen-scene .rr-actor{--cx:31%;--flip:-1}
.kitchen-stage[data-phase=grab] .kitchen-scene .rr-actor{--cx:31%;--flip:-1;animation:rr-reach .35s ease-out both}
.kitchen-stage[data-phase=carry] .kitchen-scene .rr-actor{--cx:37%;--flip:1}
.kitchen-stage[data-phase=chop] .kitchen-scene .rr-actor{--cx:37%;animation:rr-chopbody .2s ease-in-out infinite alternate}
.kitchen-stage[data-phase=stove] .kitchen-scene .rr-actor{--cx:62%;--flip:1}
.kitchen-stage[data-phase=pot] .kitchen-scene .rr-actor{--cx:62%;--flip:-1;animation:rr-reach .35s ease-out both}
.kitchen-stage[data-phase] .kitchen-scene .rr-other{animation:rr-wave 1.6s ease-in-out infinite}
@keyframes rr-idle{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.2%)}}
@keyframes rr-walk{0%,100%{transform:translateY(0)rotate(0)}25%{transform:translateY(-3%)rotate(-2deg)}75%{transform:translateY(-3%)rotate(2deg)}}
@keyframes rr-reach{0%{transform:rotate(0)}60%{transform:rotate(-6deg)translateX(-2%)}to{transform:rotate(-3deg)}}
@keyframes rr-chopbody{from{transform:rotate(-1.5deg)}to{transform:rotate(1.5deg)translateY(1%)}}
@keyframes rr-wave{0%,100%{transform:rotate(0)}20%{transform:rotate(-3deg)}40%{transform:rotate(2.5deg)}60%{transform:rotate(-1.5deg)}}
/* ingredients follow the routine */
.kitchen-stage[data-phase] .kitchen-scene .fly-item{width:7.5%;animation:none;opacity:0;left:22%;top:50%;transform:scale(.5);transition:left var(--rr-t) ease-in-out,top var(--rr-t) ease-in-out,opacity .2s,transform var(--rr-t) ease-in-out}
.kitchen-stage[data-phase=grab] .kitchen-scene .fly-item{opacity:1;transform:scale(.75)rotate(var(--rot));left:calc(25% + var(--i)*1.6%);top:calc(50% + var(--i)*1.5%)}
.kitchen-stage[data-phase=carry] .kitchen-scene .fly-item{opacity:1;transform:scale(.75)rotate(var(--rot));left:calc(31% + var(--i)*1.6%);top:calc(52% + var(--i)*1.5%)}
.kitchen-stage[data-phase=chop] .kitchen-scene .fly-item{opacity:1;left:calc(20% + var(--i)*6%);top:76%;transform:rotate(var(--rot));animation:chop-bounce .25s ease-in-out infinite alternate}
.kitchen-stage[data-phase=stove] .kitchen-scene .fly-item{opacity:1;left:calc(44% + var(--i)*1.5%);top:55%;transform:scale(.6)rotate(var(--rot))}
.kitchen-stage[data-phase=pot] .kitchen-scene .fly-item{opacity:0;left:calc(45% + var(--i)*1%);top:62%;transform:scale(.2)}
.fly-0{--i:0}.fly-1{--i:1}.fly-2{--i:2}.fly-3{--i:3}
.kitchen-stage[data-scene=plated] .fly-item{animation:none;opacity:0}
/* pot + steam only once the food goes in */
.rr-pot{position:absolute;z-index:3;left:44%;top:61%;width:9%;height:6.5%;background:linear-gradient(#5a5f63,#3b3f42);border-radius:4px 4px 40% 40%/4px 4px 60% 60%;box-shadow:inset 0 3px 0 #7d8387;opacity:0;transition:opacity .3s}
.rr-pot:before,.rr-pot:after{content:"";position:absolute;top:18%;width:14%;height:22%;background:#3b3f42;border-radius:3px}
.rr-pot:before{left:-10%}.rr-pot:after{right:-10%}
.kitchen-stage[data-phase=stove] .rr-pot,.kitchen-stage[data-phase=pot] .rr-pot,.kitchen-stage[data-phase=chop] .rr-pot{opacity:1}
.steam{z-index:4}
.kitchen-stage[data-phase=chop] .steam,.kitchen-stage[data-phase=stove] .steam,.kitchen-stage[data-phase=walk] .steam,.kitchen-stage[data-phase=grab] .steam,.kitchen-stage[data-phase=carry] .steam{opacity:0}
.kitchen-stage[data-phase=pot] .steam{opacity:1}
.kitchen-stage[data-phase=pot] .steam span{animation:steam-up .9s var(--ease-smooth-out) infinite}
/* knife + chop puff */
.rr-knife-wrap{position:absolute;z-index:7;left:31%;top:68%;width:7%;height:12%;opacity:0;pointer-events:none;transition:opacity .15s}
.kitchen-stage[data-phase=chop] .rr-knife-wrap{opacity:1}
.rr-knife{position:absolute;left:10%;top:30%;width:80%;height:16%;background:linear-gradient(#f3f4f4,#b9bfc2);border-radius:2px 60% 60% 2px/2px 100% 100% 2px;transform-origin:100% 50%;box-shadow:0 1px 0 #6d7377}
.rr-knife:after{content:"";position:absolute;right:-38%;top:5%;width:40%;height:90%;background:#7a4a2a;border-radius:3px}
.kitchen-stage[data-phase=chop] .rr-knife{animation:rr-chop .18s ease-in infinite alternate}
.rr-puff{position:absolute;left:12%;bottom:0;width:22%;aspect-ratio:1;border-radius:50%;background:#fffffff0;opacity:0}
.rr-puff-b{left:40%;width:16%}
.kitchen-stage[data-phase=chop] .rr-puff{animation:rr-puff .36s ease-out infinite}
.kitchen-stage[data-phase=chop] .rr-puff-b{animation-delay:.18s}
.rr-fast .rr-knife{animation-duration:.11s!important}
@keyframes rr-chop{from{transform:rotate(-28deg)translateY(-20%)}to{transform:rotate(6deg)translateY(40%)}}
@keyframes rr-puff{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(1.4)translateY(-60%)}}
@media (prefers-reduced-motion:reduce){.kitchen-scene .cook-sprite,.kitchen-scene .cook-sprite.rr-other,.rr-knife,.rr-puff{animation:none!important;transition:none!important}}
/* v12: blocked dice */
.die-blocked{opacity:.55;background:repeating-linear-gradient(135deg,var(--color-die),var(--color-die) 6px,#ece3d4 6px,#ece3d4 12px)!important;box-shadow:0 0 0 1px #2c261e1a!important}
.die-blocked .lock-swap{opacity:0!important}
.die-blocked .die-face-text{color:var(--color-muted-foreground);text-decoration:line-through;text-decoration-thickness:1.5px}
.die-off-badge{position:absolute;z-index:11;top:8px;right:8px;width:18px;height:18px;border-radius:50%;border:2px solid var(--color-muted-foreground);opacity:.9}
.die-compact .die-off-badge{top:6px;right:6px;width:15px;height:15px}
.die-off-badge:after{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:2px;background:var(--color-muted-foreground);transform:translateX(-50%) rotate(45deg)}
.die{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}
.rr-tip{display:block;width:100%;margin:0 0 6px;padding:5px 10px;border-radius:999px;background:#2c261e;color:#f7f3ea;font-size:calc(11.54px * var(--rr-fs));line-height:1.3;text-align:center;opacity:.88}
/* v14: per-die option lists */
.die-list-btn{position:absolute;z-index:12;right:30px;top:7px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#3e6b4f14;color:var(--color-primary);cursor:pointer}
.die-list-btn:active{scale:.92}
.die-compact .die-list-btn{width:20px;height:20px;right:26px;top:5px}
.die-blocked .die-list-btn{opacity:1}
.rr-opt-overlay{position:fixed;inset:0;z-index:60;background:#2c261e59;display:flex;align-items:flex-end;justify-content:center;animation:rr-fade .18s ease-out both}
.rr-opt-sheet{position:relative;width:min(30rem,100%);max-height:78dvh;overflow:auto;background:var(--color-card);border-radius:22px 22px 0 0;box-shadow:0 -10px 30px #2c261e2e;padding:18px 16px 22px;animation:rr-sheet-up .28s var(--ease-smooth-out) both;text-align:left}
@media (min-width:900px){.rr-opt-overlay{align-items:center}.rr-opt-sheet{border-radius:22px}}
.rr-opt-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:999px;background:var(--color-muted);color:var(--color-foreground);font-size:calc(14.02px * var(--rr-fs));line-height:1}
.rr-opt-title{margin:2px 40px 2px 2px;font-size:1.3rem;font-weight:500;color:var(--color-foreground)}
.rr-opt-sub{margin:0 2px 8px;font-size:calc(11.97px * var(--rr-fs));color:var(--color-muted-foreground)}
.rr-opt-paid,.rr-opt-hint{margin:0 0 8px;padding:6px 10px;border-radius:10px;background:#e8efe6;color:#3e6b4f;font-size:calc(11.97px * var(--rr-fs))}
.rr-opt-hint{background:var(--color-muted);color:var(--color-foreground)}
.rr-opt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.rr-opt-row{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;border-radius:12px;background:var(--color-background);box-shadow:var(--shadow-border)}
.rr-opt-label{flex:1;font-size:calc(14.02px * var(--rr-fs));font-weight:500;color:var(--color-foreground)}
.rr-opt-x .rr-opt-label{color:var(--color-muted-foreground);text-decoration:line-through}
.rr-opt-x{opacity:.7}
.rr-opt-heart,.rr-opt-xbtn{width:34px;height:34px;border-radius:999px;font-size:calc(15.98px * var(--rr-fs));line-height:1;display:flex;align-items:center;justify-content:center;background:var(--color-card);color:var(--color-muted-foreground);box-shadow:var(--shadow-border)}
.rr-opt-heart[aria-pressed=true]{background:#3e6b4f;color:#f7f3ea}
.rr-opt-locked{opacity:.4}
.rr-opt-xbtn[aria-pressed=true]{background:#2c261e;color:#f7f3ea}
@keyframes rr-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.rr-opt-overlay,.rr-opt-sheet{animation:none}}
/* v16: sharing + protein kind pickers */
.rr-share-ico{font-size:calc(12.99px * var(--rr-fs));line-height:1;margin-right:2px}
.rr-share-view{position:fixed;inset:0;z-index:90;overflow:auto;background:var(--color-background);padding:18px 14px 48px;animation:rr-fade .18s ease-out both;text-align:left}
.rr-share-in{max-width:40rem;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.rr-share-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 4px}
.rr-share-brand{display:flex;flex-direction:column}
.rr-share-brand b{font-size:1.5rem;font-weight:500;letter-spacing:-.01em;color:var(--color-foreground)}
.rr-share-ro{font-size:calc(11.03px * var(--rr-fs));padding:4px 10px;border-radius:999px;background:var(--color-muted);color:var(--color-muted-foreground)}
.rr-share-card{background:var(--color-card);border-radius:16px;box-shadow:var(--shadow-border);padding:16px}
.rr-share-img{display:block;width:100%;height:220px;object-fit:cover;border-radius:12px;margin-bottom:12px}
.rr-share-eyebrow{display:block;font-size:calc(10.51px * var(--rr-fs));font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--color-primary)}
.rr-share-h{margin:4px 0 2px;font-size:1.75rem;line-height:1.15;font-weight:500;letter-spacing:-.01em;color:var(--color-foreground)}
.rr-share-h2{margin:18px 0 6px;font-size:1.1rem;font-weight:500;color:var(--color-foreground)}
.rr-share-muted{font-size:calc(12.99px * var(--rr-fs));color:var(--color-muted-foreground)}
.rr-share-p{font-size:calc(14.02px * var(--rr-fs));line-height:1.55}
.rr-share-chips{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
@media (min-width:640px){.rr-share-chips{grid-template-columns:repeat(3,minmax(0,1fr))}.rr-share-view{padding:32px 20px 56px}}
.rr-share-chip{background:var(--color-muted);border-radius:8px;padding:6px 10px;font-size:calc(14.02px * var(--rr-fs));font-weight:500}
.rr-share-chip small{display:block;font-size:calc(10px * var(--rr-fs));font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted-foreground)}
.rr-share-steps{list-style:decimal;margin:4px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:6px;font-size:calc(14.02px * var(--rr-fs));line-height:1.55}
.rr-share-groc,.rr-share-meals{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column}
.rr-share-groc li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--color-border);font-size:calc(14.02px * var(--rr-fs))}
.rr-share-groc li:last-child{border-bottom:0}
.rr-share-meals li{padding:3px 0;font-size:calc(14.02px * var(--rr-fs))}
.rr-share-day summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none}
.rr-share-day summary::-webkit-details-marker{display:none}
.rr-share-day summary>span{display:flex;flex-direction:column;min-width:0}
.rr-share-day summary b{font-size:1.1rem;font-weight:500;line-height:1.2}
.rr-share-day[open] .rr-share-steps{margin-top:12px}
.rr-share-thumb{width:64px;height:64px;flex:none;object-fit:cover;border-radius:10px}
.rr-share-cta{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 0}
.rr-opt-sublink{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:none;border:0;padding:0;cursor:pointer}
.rr-opt-chev{margin-left:6px;color:var(--color-primary);font-weight:600}
.rr-opt-subsum{font-size:calc(11.03px * var(--rr-fs));font-weight:400;color:var(--color-muted-foreground)}
.rr-sub-back{margin:0 0 8px;padding:6px 12px;border-radius:999px;background:var(--color-muted);font-size:calc(11.97px * var(--rr-fs));font-weight:500;color:var(--color-foreground)}
/* v17: fridge & pantry tracker */
.rr-fr-overlay{z-index:70}
.rr-fr-sheet{max-height:86dvh}
.rr-fr-head{display:flex;align-items:center;gap:10px;margin:0 40px 6px 0}
.rr-fr-cook{width:46px;height:46px;flex:none;border-radius:999px;object-fit:cover;object-position:top;background:var(--color-muted);box-shadow:var(--shadow-border)}
.rr-fr-head .rr-opt-title{margin:0}.rr-fr-head .rr-opt-sub{margin:2px 0 0}
.rr-fr-need{margin:0 0 8px;padding:8px 12px;border-radius:12px;background:#f3e3c7;color:#5a4325;font-size:calc(12.99px * var(--rr-fs))}
.rr-fr-tabs{display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--color-muted);margin:4px 0 10px}
.rr-fr-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:34px;border-radius:999px;font-size:calc(12.99px * var(--rr-fs));font-weight:500;color:var(--color-muted-foreground)}
.rr-fr-tab.on{background:var(--color-card);color:var(--color-foreground);box-shadow:var(--shadow-border)}
.rr-fr-n{font-size:calc(11.03px * var(--rr-fs));min-width:18px;padding:0 5px;border-radius:999px;background:#3e6b4f1a;color:var(--color-primary)}
.rr-fr-quick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.rr-fr-chip{height:30px;padding:0 10px;border-radius:999px;font-size:calc(11.97px * var(--rr-fs));font-weight:500;background:var(--color-card);color:var(--color-foreground);box-shadow:var(--shadow-border)}
.rr-fr-chip:active{scale:.96}
.rr-fr-form,.rr-fr-edit{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.rr-fr-in{height:36px;padding:0 10px;border-radius:10px;border:0;background:var(--color-background);box-shadow:var(--shadow-border);font-size:calc(14.02px * var(--rr-fs));color:var(--color-foreground);min-width:0}
.rr-fr-name{flex:1 1 140px}.rr-fr-qty{flex:0 1 72px;width:72px}.rr-fr-date{flex:0 1 150px}
.rr-fr-add{height:36px;padding:0 14px;border-radius:999px;background:var(--color-primary);color:var(--color-primary-foreground);font-size:calc(12.99px * var(--rr-fs));font-weight:500}
.rr-fr-item{display:flex;flex-direction:column}
.rr-fr-q{font-weight:400;color:var(--color-muted-foreground)}
.rr-fr-ub{font-size:calc(11.03px * var(--rr-fs));font-weight:400;color:var(--color-muted-foreground)}
.rr-fr-ub.soon{color:#a2601b}.rr-fr-ub.past{color:#a3362a}
.rr-fr-edbtn{height:30px;padding:0 10px;border-radius:999px;font-size:calc(11.97px * var(--rr-fs));background:var(--color-card);color:var(--color-muted-foreground);box-shadow:var(--shadow-border)}
.rr-fr-empty{font-size:calc(12.99px * var(--rr-fs));color:var(--color-muted-foreground);padding:10px 2px}
.rr-fr-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:12px}
.rr-fr-check{display:flex;align-items:center;gap:10px;flex:1;cursor:pointer}
.rr-fr-check input{width:18px;height:18px;accent-color:var(--color-primary)}
.rr-vibe-hint{width:100%;font-size:calc(11.03px * var(--rr-fs));color:var(--color-muted-foreground)}
.rr-pulse{animation:rr-pulse .5s ease-out}
@keyframes rr-pulse{0%{transform:scale(1)}40%{transform:scale(1.03);background:#d9e7d6}100%{transform:scale(1)}}
/* v18: heat toggle */
.rr-heat{display:inline-flex;gap:4px;padding:3px;border-radius:999px;background:var(--color-muted)}
.rr-heat-btn{height:28px;padding:0 12px;border-radius:999px;font-size:calc(11.97px * var(--rr-fs));font-weight:500;color:var(--color-muted-foreground)}
.rr-heat-btn.on{background:var(--color-card);color:var(--color-foreground);box-shadow:var(--shadow-border)}
/* v19 */
.rr-usesup{margin-top:.25rem;font-size:.72rem;font-weight:600;color:var(--color-primary);letter-spacing:.01em}
.rr-lunch{margin:.25rem 0 .5rem;padding:.75rem .85rem;border-radius:.9rem;background:var(--color-card);box-shadow:var(--shadow-border);display:flex;flex-direction:column;gap:.4rem}
.rr-lunch-eyebrow{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted-foreground)}
.rr-lunch-title{font-size:1.05rem;font-weight:500;line-height:1.2}
.rr-lunch-steps{margin:0;padding-left:1.1rem;font-size:.82rem;display:flex;flex-direction:column;gap:.15rem;list-style:decimal}
.rr-lo-ask{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .2rem;border-top:1px solid var(--color-border)}
.rr-lo-step{display:flex;align-items:center;gap:.5rem}
.rr-lo-step button{width:2rem;height:2rem;border-radius:999px;background:var(--color-card);box-shadow:var(--shadow-border);font-weight:600}
.rr-lo-n{min-width:5.5rem;text-align:center;font-size:.85rem}
.rr-lo-tag{font-style:normal;font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary);margin-right:.25rem}
.rr-sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}
.rr-sec-move{display:flex;gap:.25rem}
.rr-sec-move button{width:1.9rem;height:1.9rem;border-radius:999px;font-size:.8rem;color:var(--color-muted-foreground);background:var(--color-card);box-shadow:var(--shadow-border)}
.rr-list-note{font-size:.78rem;color:var(--color-muted-foreground);text-align:left}
.rr-list-note-free{text-decoration:underline dotted;text-underline-offset:3px}
/* v20 */
.rr-hist-filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;margin:.25rem 0 .5rem}
.rr-hist-month{max-width:11rem}
.rr-hist-list{display:grid;gap:1.1rem;grid-template-columns:1fr;padding:.25rem .15rem 1rem}
.rr-hist-card{position:relative;background:#fffaf0;border-radius:.4rem;padding:.7rem .7rem .8rem;box-shadow:0 1px 0 rgba(0,0,0,.04),0 6px 16px -8px rgba(80,50,20,.35);transform:rotate(var(--tilt,0deg));display:flex;flex-direction:column;gap:.5rem}
.rr-hist-card::before{content:"";position:absolute;top:-.55rem;left:50%;width:4.2rem;height:1.1rem;transform:translateX(-50%) rotate(-3deg);background:color-mix(in srgb,var(--color-primary) 28%,transparent);border-radius:2px;opacity:.85}
.rr-hist-photo{display:block;border-radius:.25rem;overflow:hidden;aspect-ratio:4/3;background:#f1e7d6;padding:0}
.rr-hist-photo img{width:100%;height:100%;object-fit:cover}
.rr-hist-date{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted-foreground)}
.rr-hist-title{font-size:1.1rem;line-height:1.2;font-weight:500}
.rr-hist-dice{font-size:.76rem;color:var(--color-muted-foreground)}
.rr-hist-stars{display:flex;gap:.1rem}
.rr-star{font-size:1.15rem;line-height:1;color:#d9cdb8;padding:.15rem}
.rr-star.on{color:#d99a2b}
.rr-hist-note{width:100%;font-family:inherit;resize:vertical;min-height:2.4rem}
.rr-hist-actions{display:flex;flex-wrap:wrap;gap:.4rem}
.rr-hist-kinds{display:flex;gap:.35rem}
.rr-hist-kind{height:2rem;padding:0 .8rem;border-radius:999px;font-size:.8rem;font-weight:500;background:var(--color-card);box-shadow:var(--shadow-border)}
.rr-hist-kind.on{background:var(--color-primary);color:var(--color-primary-foreground)}
.rr-hist-card{display:grid;grid-template-columns:7.5rem 1fr;gap:.75rem;align-items:start}
.rr-hist-photo{aspect-ratio:1/1}
@media (max-width:420px){.rr-hist-card{grid-template-columns:6rem 1fr}.rr-hist-actions .rounded-full{padding-left:.7rem;padding-right:.7rem}}
/* v21 */
.rr-exp{display:flex;flex-direction:column;gap:.5rem;padding:.65rem .8rem;border-radius:.9rem;background:color-mix(in srgb,#e8a23a 14%,var(--color-card));box-shadow:var(--shadow-border)}
.rr-exp-text{font-size:.84rem;line-height:1.35;display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem}
.rr-exp-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:999px;background:#d9822b;margin-right:.35rem;transform:translateY(-1px)}
.rr-exp-actions{display:flex;flex-wrap:wrap;gap:.4rem}
.rr-badge{display:inline-grid;place-items:center;min-width:1.15rem;height:1.15rem;padding:0 .3rem;margin-left:.35rem;border-radius:999px;background:#d9822b;color:#fff;font-size:.68rem;font-weight:700}
/* ================= v22-anim: shared motion system ================= */
:root{--m-pop:cubic-bezier(.34,1.56,.64,1);--m-snap:cubic-bezier(.25,1.25,.5,1);--m-out:cubic-bezier(.22,1,.36,1);--m-in:cubic-bezier(.55,0,.75,.2);--m-antic:cubic-bezier(.45,-.45,.6,1);--m-fast:140ms;--m-base:220ms;--m-slow:360ms}
/* tap squish: buttons, chips, dice */
button,[role=button],.pressable,.die{transition:scale var(--m-fast) var(--m-pop),opacity var(--m-base) var(--m-out),background-color var(--m-base) var(--m-out),color var(--m-base) var(--m-out),box-shadow var(--m-base) var(--m-out)}
button:active:not(:disabled),[role=button]:active,.pressable:active,.die:active{scale:.94;transition-duration:70ms}
.counter-cta:active{scale:.93}
/* views / tabs */
@keyframes rr22-view{from{opacity:0;translate:0 6px}to{opacity:1;translate:none}}
.view-enter{animation:rr22-view var(--m-slow) var(--m-out) both!important}
/* sheets: enter + exit */
@keyframes rr22-fade{from{opacity:0}to{opacity:1}}
@keyframes rr22-sheet-in{from{opacity:0;translate:0 14px;scale:.98}to{opacity:1;translate:none;scale:1}}
@keyframes rr22-sheet-out{to{opacity:0;translate:0 10px;scale:.985}}
@keyframes rr22-fade-out{to{opacity:0}}
.rr-opt-overlay{animation:rr22-fade var(--m-base) var(--m-out) both!important}
.rr-opt-overlay>.rr-opt-sheet{animation:rr22-sheet-in var(--m-slow) var(--m-snap) both}
.rr-opt-overlay.rr-closing{animation:rr22-fade-out 160ms var(--m-in) both!important;pointer-events:none}
.rr-opt-overlay.rr-closing>.rr-opt-sheet{animation:rr22-sheet-out 160ms var(--m-in) both}
.rr-opt-overlay{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
/* banner collapse */
.rr-exp-wrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--m-base) var(--m-out),opacity var(--m-fast) var(--m-out),translate var(--m-base) var(--m-out)}
.rr-exp-wrap>.rr-exp{overflow:hidden;min-height:0}
.rr-exp-wrap.rr-out{grid-template-rows:0fr;opacity:0;translate:0 -4px}
@keyframes rr22-banner-in{from{opacity:0;translate:0 -6px;scale:.98}to{opacity:1;translate:none;scale:1}}
.rr-exp{animation:rr22-banner-in var(--m-slow) var(--m-snap) both}
/* results: no sheet slide (kills text shimmer); children rise in sequence */
.results-sheet{animation:rr22-fade var(--m-base) var(--m-out) both!important}
@keyframes rr22-rise{from{opacity:0;translate:0 8px;scale:.97}to{opacity:1;translate:none;scale:1}}
@keyframes rr22-land{0%{opacity:0;scale:.6;rotate:-8deg}60%{opacity:1;scale:1.06;rotate:2deg}100%{opacity:1;scale:1;rotate:0deg}}
.results-sheet.results-open>*{animation:rr22-rise var(--m-slow) var(--m-snap) both;animation-delay:calc(180ms + var(--k,0)*60ms)}
.results-sheet.results-open>*:nth-child(2){--k:1}.results-sheet.results-open>*:nth-child(3){--k:2}.results-sheet.results-open>*:nth-child(4){--k:3}.results-sheet.results-open>*:nth-child(5){--k:4}.results-sheet.results-open>*:nth-child(n+6){--k:5}
.results-sheet .grid.grid-cols-3>*{animation:rr22-land var(--m-slow) var(--m-pop) both;animation-delay:calc(140ms + var(--d,0)*55ms)}
.results-sheet .grid.grid-cols-3>*:nth-child(2){--d:1}.results-sheet .grid.grid-cols-3>*:nth-child(3){--d:2}.results-sheet .grid.grid-cols-3>*:nth-child(4){--d:3}.results-sheet .grid.grid-cols-3>*:nth-child(5){--d:4}.results-sheet .grid.grid-cols-3>*:nth-child(6){--d:5}
.results-sheet .grid.grid-cols-3>.die-blocked{animation:rr22-rise var(--m-base) var(--m-out) both;animation-delay:100ms}
.results-sheet .flex.flex-col.gap-2>button.results-hero{animation:rr22-rise var(--m-slow) var(--m-snap) both}
.results-sheet .flex.flex-col.gap-2>button.results-hero:nth-child(1){animation-delay:300ms}.results-sheet .flex.flex-col.gap-2>button.results-hero:nth-child(2){animation-delay:370ms}.results-sheet .flex.flex-col.gap-2>button.results-hero:nth-child(3){animation-delay:440ms}.results-sheet .flex.flex-col.gap-2>button.results-hero:nth-child(4){animation-delay:510ms}
/* off dice: solid, calm, readable */
.die-blocked{opacity:1!important;background:#efe8dc!important;box-shadow:inset 0 0 0 1px #2c261e14!important;color:#8a8073}
.die-blocked *{text-decoration-thickness:1px}
/* placeholder while cooking (no blank page) */
.idle-tastes.rr22-dim{opacity:.45;pointer-events:none;transition:opacity var(--m-base) var(--m-out)}
.rr22-ghost{display:flex;flex-direction:column;gap:.6rem}
.rr22-ghost-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.375rem}
.rr22-ghost-grid span{height:52px;border-radius:12px;background:#efe8dc;animation:rr22-breathe 1.2s ease-in-out infinite alternate;animation-delay:calc(var(--i)*80ms)}
.rr22-ghost-card{display:block;height:76px;border-radius:14px;background:#f3ede3;animation:rr22-breathe 1.2s ease-in-out .3s infinite alternate}
@keyframes rr22-breathe{from{opacity:.55}to{opacity:1}}

/* ================= cooking scene ================= */
.kitchen-stage.rr22{--pd:400ms}
.rr22 .rr22-track{position:absolute;inset:0;pointer-events:none;z-index:2;translate:0 0;transition:translate var(--pd) cubic-bezier(.45,0,.3,1);will-change:translate}
.rr22 .rr22-track-jun{--home:70%}.rr22 .rr22-track-nia{--home:85%}
.rr22[data-phase=door] .rr22-on,.rr22[data-phase=grab] .rr22-on{translate:calc(29% - var(--home)) 0}
.rr22[data-phase=carry] .rr22-on,.rr22[data-phase=chop] .rr22-on{translate:calc(40% - var(--home)) 0}
.rr22[data-phase=pan] .rr22-on,.rr22[data-phase=sizzle] .rr22-on{translate:calc(60% - var(--home)) 0}
.rr22 .kitchen-scene .cook-sprite{transition:scale var(--m-fast) var(--m-out)!important;left:var(--cx)!important}
/* the non-acting cook stays home, idles, and reacts */
.rr22[data-phase] .kitchen-scene .rr-other{animation:rr-idle 3.2s ease-in-out infinite!important}
/* actor body language (squash & stretch) */
@keyframes rr22-hop{0%{transform:translateY(0) scale(1,1)}18%{transform:translateY(0) scale(1.06,.92)}50%{transform:translateY(-5%) scale(.96,1.05)}82%{transform:translateY(0) scale(1.05,.95)}100%{transform:translateY(0) scale(1,1)}}
@keyframes rr22-reach{0%{transform:scale(1,1)}35%{transform:scale(.95,1.06) rotate(-2deg)}70%{transform:scale(1.04,.96)}100%{transform:none}}
@keyframes rr22-chopbody{0%,100%{transform:scale(1,1)}50%{transform:scale(1.025,.975) translateY(1%)}}
@keyframes rr22-toss{0%{transform:none}30%{transform:scale(1.04,.95)}55%{transform:scale(.97,1.05) rotate(2deg)}100%{transform:none}}
.rr22[data-phase=door] .kitchen-scene .rr-actor,.rr22[data-phase=carry] .kitchen-scene .rr-actor,.rr22[data-phase=pan] .kitchen-scene .rr-actor{animation:rr22-hop calc(var(--pd)/2) var(--m-out) 2!important}
.rr22[data-phase=grab] .kitchen-scene .rr-actor{animation:rr22-reach var(--pd) var(--m-snap) both!important}
.rr22[data-phase=chop] .kitchen-scene .rr-actor{animation:rr22-chopbody calc(var(--pd)/4) ease-in-out 4!important}
.rr22[data-phase=sizzle] .kitchen-scene .rr-actor{animation:rr22-toss calc(var(--pd)/2) var(--m-out) 2!important}
.rr22[data-phase=door] .rr-actor,.rr22[data-phase=grab] .rr-actor{scale:-1 1!important}
.rr22 .kitchen-scene .rr-actor{scale:1 1}
/* fridge door pop */
.rr22 .rr22-door{position:absolute;z-index:1;left:7%;top:27%;width:22%;height:48%;border-radius:12px;pointer-events:none;opacity:0;background:radial-gradient(60% 50% at 40% 45%,#fff8dcd9,#fff8dc00 70%);transform-origin:0 50%}
@keyframes rr22-door{0%{opacity:0;transform:scale(.9,1)}35%{opacity:1;transform:scale(1.06,1.02)}65%{opacity:.85;transform:scale(.99,1)}100%{opacity:0;transform:scale(1,1)}}
.rr22[data-phase=door] .rr22-door{animation:rr22-door calc(var(--pd)*1.6) var(--m-out) calc(var(--pd)*.35) both}
.rr22 .hotspot{animation:none!important;opacity:0!important}
/* ingredients: one base spot on the board, moved by track transforms only */
.rr22 .rr22-itrack{position:absolute;inset:0;pointer-events:none;z-index:6;opacity:0;translate:calc(-9% - var(--i)*2.2%) -23%;transition:translate var(--pd) var(--m-snap),opacity var(--m-fast) var(--m-out);will-change:translate}
.rr22 .kitchen-scene .fly-item{left:calc(34.5% + var(--i)*2.4%)!important;top:71%!important;width:6.8%!important;opacity:1!important;transform:none!important;transition:none!important;animation:none!important;filter:drop-shadow(0 3px 3px #2c261e40)}
.rr22[data-phase=grab] .rr22-itrack{opacity:1;transition-delay:calc(var(--i)*40ms)}
.rr22[data-phase=grab] .fly-item{animation:rr22-popout var(--pd) var(--m-pop) both!important;animation-delay:calc(var(--i)*45ms)!important}
@keyframes rr22-popout{0%{transform:scale(0) rotate(-20deg)}70%{transform:scale(1.15) rotate(6deg)}100%{transform:scale(.85) rotate(var(--rot,0deg))}}
.rr22[data-phase=carry] .rr22-itrack{opacity:1;translate:calc(2% - var(--i)*1.6%) -21%}
.rr22[data-phase=carry] .fly-item{transform:scale(.85) rotate(var(--rot,0deg))!important}
.rr22[data-phase=chop] .rr22-itrack{opacity:1;translate:0 0;transition-duration:calc(var(--pd)*.3)}
.rr22[data-phase=chop] .fly-item{animation:rr22-squash calc(var(--pd)/4) var(--m-out) 4!important;animation-delay:calc(var(--pd)*.25)!important;transform-origin:50% 100%}
@keyframes rr22-squash{0%,100%{transform:scale(1,1)}25%{transform:scale(1.18,.78)}55%{transform:scale(.94,1.06)}}
.rr22[data-phase=pan] .rr22-itrack{opacity:1;translate:calc(13% - var(--i)*2.2%) -10%;transition:translate calc(var(--pd)*.7) linear calc(var(--i)*70ms),opacity var(--m-fast) ease calc(var(--pd)*.75 + var(--i)*50ms)}
.rr22[data-phase=pan] .fly-item{animation:rr22-arc calc(var(--pd)*.7) var(--m-out) calc(var(--i)*70ms) both!important}
@keyframes rr22-arc{0%{transform:translateY(0) scale(1) rotate(0)}45%{transform:translateY(-130%) scale(1.05) rotate(120deg)}100%{transform:translateY(0) scale(.7) rotate(240deg)}}
.rr22[data-phase=sizzle] .rr22-itrack{opacity:0;translate:calc(13% - var(--i)*2.2%) -10%}
.rr22[data-scene=plated] .rr22-itrack,.rr22[data-scene=idle] .rr22-itrack{opacity:0;transition:none}
/* knife */
.rr22 .rr-knife-wrap{left:36%;top:65%}
@keyframes rr22-chop{0%{transform:rotate(-34deg) translateY(-30%)}55%{transform:rotate(4deg) translateY(30%)}100%{transform:rotate(-34deg) translateY(-30%)}}
.rr22[data-phase=chop] .rr-knife{animation:rr22-chop calc(var(--pd)/4) var(--m-in) 4!important;animation-delay:calc(var(--pd)*.25)!important}
.rr22[data-phase=chop] .rr-puff{animation:rr-puff calc(var(--pd)/4) ease-out 4!important;animation-delay:calc(var(--pd)*.3)!important}
.rr22[data-phase=chop] .rr-puff-b{animation-delay:calc(var(--pd)*.42)!important}
/* skillet + sizzle */
.rr22 .rr-pot{left:44.5%;top:62%;width:10.5%;height:3.6%;border-radius:2px 2px 45% 45%/2px 2px 100% 100%;background:linear-gradient(#4b5054,#2f3336);box-shadow:inset 0 2px 0 #6d7377;opacity:0;transition:opacity var(--m-base) var(--m-out),scale var(--m-base) var(--m-pop);scale:.8;transform-origin:50% 100%}
.rr22 .rr-pot:before{display:none}
.rr22 .rr-pot:after{right:-48%;top:22%;width:52%;height:26%;background:#3a2a1f;border-radius:2px 6px 6px 2px}
.rr22[data-phase=chop] .rr-pot,.rr22[data-phase=pan] .rr-pot,.rr22[data-phase=sizzle] .rr-pot{opacity:1;scale:1}
@keyframes rr22-jiggle{0%,100%{transform:rotate(0) translateY(0)}25%{transform:rotate(-3deg) translateY(-6%)}60%{transform:rotate(2deg) translateY(0)}}
.rr22[data-phase=sizzle] .rr-pot{animation:rr22-jiggle calc(var(--pd)/3) var(--m-out) 3}
.rr22 .rr22-sizzle{position:absolute;inset:-120% 0 auto 0;height:120%;pointer-events:none}
.rr22 .rr22-sizzle i{position:absolute;bottom:0;width:4px;height:4px;border-radius:50%;background:#ffd27a;opacity:0}
.rr22 .rr22-sizzle i:nth-child(1){left:18%;--sx:-10px}.rr22 .rr22-sizzle i:nth-child(2){left:42%;--sx:-3px}.rr22 .rr22-sizzle i:nth-child(3){left:62%;--sx:6px}.rr22 .rr22-sizzle i:nth-child(4){left:80%;--sx:12px}
@keyframes rr22-spit{0%{opacity:0;transform:translate(0,0) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translate(var(--sx),-22px) scale(1)}}
.rr22[data-phase=sizzle] .rr22-sizzle i{animation:rr22-spit calc(var(--pd)/2.2) var(--m-out) infinite}
.rr22[data-phase=sizzle] .rr22-sizzle i:nth-child(2){animation-delay:60ms}.rr22[data-phase=sizzle] .rr22-sizzle i:nth-child(3){animation-delay:120ms}.rr22[data-phase=sizzle] .rr22-sizzle i:nth-child(4){animation-delay:180ms}
.rr22 .steam{left:45.5%;top:47%}
.rr22[data-phase=pan] .steam,.rr22[data-phase=sizzle] .steam{opacity:1!important}
.rr22[data-phase=pan] .steam span,.rr22[data-phase=sizzle] .steam span{animation:steam-up 640ms var(--m-out) infinite!important}
.rr22.rr22-reveal .steam{opacity:1!important}
.rr22.rr22-reveal .steam span{animation:steam-up 900ms var(--m-out) 2!important}
/* plate slides out + sparkle */
@keyframes rr22-plate{0%{opacity:0;transform:translate(140%,-75%) scale(.32) rotate(8deg)}55%{opacity:1;transform:translate(-5%,3%) scale(1.07,.93) rotate(-2deg)}78%{transform:translate(1%,-1%) scale(.98,1.03)}100%{opacity:1;transform:none}}
.kitchen-stage.rr22.rr22-reveal .stage-plate{animation:rr22-plate 560ms var(--m-out) both!important;overflow:visible}
.rr22 .stage-plate img{border-radius:12px}
.rr22 .rr22-spark{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none}
.rr22 .rr22-spark i{position:absolute;left:-3px;top:-3px;width:6px;height:6px;border-radius:2px;background:#ffe39a;box-shadow:0 0 6px #fff3c4;opacity:0;rotate:var(--a);animation:rr22-sparkle 620ms var(--m-out) 420ms both}
.rr22 .rr22-spark i:nth-child(odd){background:#fff;width:4px;height:4px}
@keyframes rr22-sparkle{0%{opacity:0;transform:translateY(0) scale(.4)}25%{opacity:1}100%{opacity:0;transform:translateY(-58px) scale(1) rotate(45deg)}}
/* comic text pops */
.rr22 .rr22-pop{position:absolute;z-index:9;pointer-events:none;font-weight:600;font-size:clamp(14px,2.1cqi + 10px,26px);font-size:clamp(14px,1.6vw + 8px,26px);color:#fffbf6;-webkit-text-stroke:0;text-shadow:0 2px 0 #7a4a2a,0 0 0 #7a4a2a,2px 2px 0 #7a4a2a,-1px 1px 0 #7a4a2a;letter-spacing:.01em;opacity:0;white-space:nowrap}
.rr22 .rr22-pop-chop{left:33%;top:52%;rotate:-8deg}
.rr22 .rr22-pop-sizzle{left:47%;top:42%;rotate:6deg}
.rr22 .rr22-pop-tada{left:14%;top:auto;bottom:40%;rotate:-6deg;color:#fff3c4}
@keyframes rr22-popword{0%{opacity:0;transform:scale(.3) translateY(10px)}35%{opacity:1;transform:scale(1.18) translateY(-4px)}55%{transform:scale(.96)}75%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1) translateY(-8px)}}
.rr22 .rr22-pop-chop,.rr22 .rr22-pop-sizzle{animation:rr22-popword calc(var(--pd)*.95) var(--m-out) calc(var(--pd)*.12) both}
.rr22 .rr22-pop-tada{animation:rr22-popword 1100ms var(--m-out) 360ms both}
.rr22 .kitchen-caption{transition:opacity var(--m-fast) var(--m-out)}
/* camera (flag: .rr-cam). gentle push to the board, drift to the stove, pull back for the reveal */
.rr22.rr-cam .kitchen-scene{transition:scale 520ms var(--m-out),translate 520ms var(--m-out);will-change:scale,translate}
.rr22.rr-cam[data-phase=chop] .kitchen-scene{scale:1.06;translate:.9% -1.4%}
.rr22.rr-cam[data-phase=pan] .kitchen-scene{scale:1.06;translate:-.2% -.8%}
.rr22.rr-cam[data-phase=sizzle] .kitchen-scene{scale:1.07;translate:-.3% -.9%}
.rr22.rr-cam.rr22-reveal .kitchen-scene{transition-duration:640ms}
/* reduced motion: no choreography, quick fades only */
@media (prefers-reduced-motion:reduce){
 .rr22 *,.rr22,.results-sheet *,.rr-opt-overlay,.rr-opt-overlay *,.view-enter,.rr-exp,.rr-exp-wrap{animation:none!important;transition:opacity 120ms linear!important}
 .rr22.rr-cam .kitchen-scene{scale:1!important;translate:none!important}
 .rr22 .rr22-pop,.rr22 .rr22-spark,.rr22 .rr22-door{display:none}
 button:active,.die:active{scale:1}
}
.rr22 .rr22-track .cook-jun{--cx:70%!important}.rr22 .rr22-track .cook-nia{--cx:85%!important}
/* v22c: full-body pose frames (frame-swap sprite, one cook) */
.rr22 .rr22-track .cook-sprite{translate:-14.2% 0}
.rr22 .rr22-track-jun,.rr22 .rr22-track-nia{--home:78%!important}
.rr22 .rr22-track .cook-jun,.rr22 .rr22-track .cook-nia{--cx:78%!important}
.rr22 .rr23-pose{opacity:0!important;will-change:opacity}
.rr22 .rr22-on .rr23-base{opacity:var(--b,1)!important}
.rr22[data-phase=door] .rr22-on,.rr22[data-phase=grab] .rr22-on,.rr22[data-phase=carry] .rr22-on,.rr22[data-phase=chop] .rr22-on,.rr22[data-phase=pan] .rr22-on,.rr22[data-phase=sizzle] .rr22-on{--b:0}
.rr22 .rr-knife-wrap{display:none!important}
.rr22.rr22-reveal .rr23-me .rr23-p-tada{opacity:1!important;animation:rr23-tada 1.6s var(--m-pop) both!important;transform-origin:50% 100%}
@keyframes rr23-tada{0%{transform:scale(1.04,.94)}12%{transform:translateY(-1.5%) scale(.985,1.02)}26%{transform:none}80%{visibility:visible}to{visibility:hidden}}
.rr22.rr22-reveal .rr23-me .rr23-base{animation:rr23-back 1.6s step-end both!important}
@keyframes rr23-back{0%{opacity:0}to{opacity:1}}

/* die options: popover anchored to the tapped die */
.rr-opt-overlay.rr-pop-wrap{background:#2c261e1f!important;display:block}
.rr-opt-sheet.rr-pop{position:fixed;margin:0;border-radius:18px;box-shadow:0 14px 34px #2c261e40,0 0 0 1px #2c261e14;padding:14px 14px 16px;animation:rr23-pop var(--m-base) var(--m-pop) both!important}
.rr-opt-sheet.rr-pop:before{content:"";position:absolute;left:var(--nub);top:-7px;width:14px;height:14px;margin-left:-7px;background:var(--color-card);rotate:45deg;border-radius:3px 0 0 0;box-shadow:-1px -1px 0 #2c261e14}
.rr-opt-sheet.rr-pop[data-up="1"]:before{top:auto;bottom:-7px;border-radius:0 0 3px 0;box-shadow:1px 1px 0 #2c261e14}
.rr-opt-overlay.rr-closing>.rr-opt-sheet.rr-pop{animation:rr23-pop-out 150ms var(--m-in) both!important}
@keyframes rr23-pop{from{opacity:0;scale:.86}to{opacity:1;scale:1}}
@keyframes rr23-pop-out{to{opacity:0;scale:.92}}
/* reroll right under the dice */
.results-sheet>.dice-felt-mini{order:-2}
.results-sheet>.results-actions{order:-1}
/* v22d: calmer cook motion */
@keyframes rr25-bob{0%,100%{transform:none}50%{transform:translateY(-1.8%) scale(.99,1.012)}}
@keyframes rr25-reach{0%{transform:none}40%{transform:scale(.985,1.02) rotate(-1deg)}75%{transform:scale(1.01,.99)}100%{transform:none}}
@keyframes rr25-chop{0%,100%{transform:none}50%{transform:scale(1.012,.988) translateY(.5%)}}
@keyframes rr25-toss{0%{transform:none}35%{transform:scale(1.015,.985)}65%{transform:scale(.99,1.012) rotate(1deg)}100%{transform:none}}
@keyframes rr24-v1{0%,100%{visibility:hidden}0.0%{visibility:visible}60.0%{visibility:hidden}}
.rr22[data-phase=door] .rr22-on .rr23-p-walk1{opacity:1!important;animation:rr25-bob var(--pd) ease-in-out 1,rr24-v1 var(--pd) step-end 1 both!important}
@keyframes rr24-v2{0%,100%{visibility:hidden}60.0%{visibility:visible}100%{visibility:visible}}
.rr22[data-phase=door] .rr22-on .rr23-p-reach{opacity:1!important;animation:rr25-bob var(--pd) ease-in-out 1,rr24-v2 var(--pd) step-end 1 both!important}
@keyframes rr24-v3{0%,100%{visibility:hidden}0.0%{visibility:visible}55.0%{visibility:hidden}}
.rr22[data-phase=grab] .rr22-on .rr23-p-reach{opacity:1!important;animation:rr25-reach var(--pd) var(--m-out) both,rr24-v3 var(--pd) step-end 1 both!important}
@keyframes rr24-v4{0%,100%{visibility:hidden}55.0%{visibility:visible}100%{visibility:visible}}
.rr22[data-phase=grab] .rr22-on .rr23-p-carry1{opacity:1!important;animation:rr25-reach var(--pd) var(--m-out) both,rr24-v4 var(--pd) step-end 1 both!important}
@keyframes rr24-v5{0%,100%{visibility:hidden}0.0%{visibility:visible}100%{visibility:visible}}
.rr22[data-phase=carry] .rr22-on .rr23-p-carry1{opacity:1!important;animation:rr25-bob var(--pd) ease-in-out 1,rr24-v5 var(--pd) step-end 1 both!important}
@keyframes rr24-v6{0%,100%{visibility:hidden}0.0%{visibility:visible}50.0%{visibility:hidden}}
.rr22[data-phase=chop] .rr22-on .rr23-p-chop1{opacity:1!important;animation:rr25-chop calc(var(--pd)/3) ease-in-out 3,rr24-v6 calc(var(--pd)/3) step-end 3 both!important}
@keyframes rr24-v7{0%,100%{visibility:hidden}50.0%{visibility:visible}100%{visibility:visible}}
.rr22[data-phase=chop] .rr22-on .rr23-p-chop2{opacity:1!important;animation:rr25-chop calc(var(--pd)/3) ease-in-out 3,rr24-v7 calc(var(--pd)/3) step-end 3 both!important}
@keyframes rr24-v8{0%,100%{visibility:hidden}0.0%{visibility:visible}50.0%{visibility:hidden}}
.rr22[data-phase=pan] .rr22-on .rr23-p-carry1{opacity:1!important;animation:rr25-bob var(--pd) ease-in-out 1,rr24-v8 var(--pd) step-end 1 both!important}
@keyframes rr24-v9{0%,100%{visibility:hidden}50.0%{visibility:visible}100%{visibility:visible}}
.rr22[data-phase=pan] .rr22-on .rr23-p-pan1{opacity:1!important;animation:rr25-bob var(--pd) ease-in-out 1,rr24-v9 var(--pd) step-end 1 both!important}
@keyframes rr24-v10{0%,100%{visibility:hidden}0.0%{visibility:visible}50.0%{visibility:hidden}}
.rr22[data-phase=sizzle] .rr22-on .rr23-p-pan1{opacity:1!important;animation:rr25-toss var(--pd) ease-in-out 1,rr24-v10 var(--pd) step-end 1 both!important}
@keyframes rr24-v11{0%,100%{visibility:hidden}50.0%{visibility:visible}100%{visibility:visible}}
.rr22[data-phase=sizzle] .rr22-on .rr23-p-pan2{opacity:1!important;animation:rr25-toss var(--pd) ease-in-out 1,rr24-v11 var(--pd) step-end 1 both!important}
@media (prefers-reduced-motion:reduce){.rr-opt-sheet.rr-pop{animation:none!important}.rr22 .rr23-pose{animation:none!important;opacity:0!important}.rr22 .rr23-base{opacity:1!important;animation:none!important}}

/* no flash of both cooks before hydration: legacy SSR sprites hidden */
.kitchen-scene>.cook-sprite{opacity:0!important;animation:none!important}
/* v23: budget mode */
.rr-cost{display:block;margin:.3rem 0 0;padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary);font-size:calc(11.54px * var(--rr-fs));font-weight:600;line-height:1.6;width:max-content}
.rr-cost span{font-weight:500;opacity:.8}
/* v24: seasonal rolls */
.rr-season{display:block;margin:.25rem 0 0;font-size:calc(11.54px * var(--rr-fs));line-height:1.45;color:var(--color-muted-foreground)}
.rr-season b{display:inline-block;padding:0 7px;margin-right:2px;border-radius:999px;background:color-mix(in srgb,#5f8f4e 16%,transparent);color:#4d7a3e;font-weight:600}
.rr-season span{opacity:.75}
.rr-season-ask{width:100%;margin:.25rem 0;padding:.6rem .75rem;border-radius:14px;background:var(--color-card);box-shadow:var(--shadow-border);font-size:calc(12.99px * var(--rr-fs));animation:rr22-sheet-in var(--m-slow) var(--m-snap) both}
.rr-season-ask>p:first-child{margin:0 0 .45rem}
.rr-season-btns{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.rr-season-zip{display:flex;gap:.35rem;align-items:center}
.rr-season-zip input{height:2rem;width:8.5rem;padding:0 .7rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-foreground) 18%,transparent);background:var(--color-background);font-size:calc(14.02px * var(--rr-fs))}
.rr-season-fine{margin:.45rem 0 0;font-size:calc(11.03px * var(--rr-fs));color:var(--color-muted-foreground)}
.rr-season-sheet .rr-season-h{margin:.9rem 0 .35rem;font-size:calc(11.03px * var(--rr-fs));font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted-foreground)}
.rr-season-tog{display:flex;align-items:center;gap:.5rem;margin-top:.6rem;font-size:calc(14.02px * var(--rr-fs))}
.rr-season-tog input{width:18px;height:18px;accent-color:var(--color-primary)}
.rr-season-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}
.rr-season-opt{height:2rem;padding:0 .8rem;border-radius:999px;background:var(--color-card);box-shadow:var(--shadow-border);font-size:calc(12.99px * var(--rr-fs));font-weight:500}
.rr-season-opt.on{background:var(--color-primary);color:var(--color-primary-foreground);box-shadow:none}
.rr-season-now{margin:0;font-size:calc(12.99px * var(--rr-fs));line-height:1.5}
/* v25: receipt scanning */
.rr-rc-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.rr-rc-pick{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:.8rem 0 .2rem}
.rr-rc-big{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;border-radius:16px;background:var(--color-card);box-shadow:var(--shadow-border);text-align:left}
.rr-rc-big b{font-size:calc(14.96px * var(--rr-fs));font-weight:600}.rr-rc-big small{font-size:calc(11.97px * var(--rr-fs));color:var(--color-muted-foreground)}
.rr-rc-ocr{display:flex;gap:.8rem;align-items:center;margin:.8rem 0}
.rr-rc-ocr img,.rr-rc-ph{width:64px;height:88px;object-fit:cover;border-radius:10px;box-shadow:var(--shadow-border);background:var(--color-muted);flex-shrink:0;animation:rr23-pop var(--m-slow) var(--m-pop) both}
.rr-rc-ocr>div{flex:1}
.rr-rc-bar{height:8px;border-radius:999px;background:var(--color-muted);overflow:hidden;margin:.4rem 0 .3rem}
.rr-rc-bar i{display:block;height:100%;background:var(--color-primary);transform-origin:0 50%;transition:transform var(--m-base) var(--m-out)}
.rr-rc-err{margin:.5rem 0;padding:.5rem .7rem;border-radius:12px;background:color-mix(in srgb,#c0583c 10%,transparent);color:#8a3b25;font-size:calc(12.99px * var(--rr-fs))}
.rr-rc-list{max-height:52dvh;overflow:auto}
.rr-rc-row{display:grid!important;grid-template-columns:20px 1fr 4.2rem 5.6rem 28px;gap:.35rem;align-items:center;animation:rr22-sheet-in var(--m-base) var(--m-out) both}
.rr-rc-row.off{opacity:.5}
.rr-rc-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary)}
.rr-rc-zone{padding:0 .3rem}
.rr-rc-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem}
.rr-rc-overlay{z-index:80!important}
/* v26: family plan */
.rr-fam-overlay{z-index:75}
.rr-fam-code{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:.7rem 0 .3rem;padding:12px 14px;border-radius:16px;background:var(--color-card);box-shadow:var(--shadow-border)}
.rr-fam-code b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(24.02px * var(--rr-fs));letter-spacing:.18em;font-weight:600}
.rr-fam-stat{font-size:calc(11.97px * var(--rr-fs));color:var(--color-muted-foreground);margin:0 0 .6rem}
.rr-fam-stat.off,.rr-fam-stat.gone{color:#8a3b25}
.rr-fam-add{display:flex;gap:.4rem;margin:.3rem 0 .5rem}.rr-fam-add input{flex:1;min-width:0}
.rr-fam-codein{font-family:ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase}
.rr-fam-me{width:100%;margin:.6rem 0}
.rr-fam-new{width:100%;margin-bottom:.4rem}
.rr-fam-list{list-style:none;margin:0;padding:0;max-height:36dvh;overflow:auto}
.rr-fam-li{display:flex;align-items:center;gap:.5rem;padding:8px 2px;border-bottom:1px solid color-mix(in srgb,var(--color-foreground) 8%,transparent);animation:rr22-sheet-in var(--m-base) var(--m-out) both}
.rr-fam-li input{width:18px;height:18px;accent-color:var(--color-primary)}
.rr-fam-li span{flex:1;font-size:calc(14.96px * var(--rr-fs));transition:opacity var(--m-base) var(--m-out)}
.rr-fam-li.done span{text-decoration:line-through;opacity:.5}
.rr-fam-li small{font-size:calc(11.03px * var(--rr-fs));color:var(--color-muted-foreground)}
.rr-fam-empty{font-size:calc(12.99px * var(--rr-fs));color:var(--color-muted-foreground);padding:8px 2px}
/* v28: collapsible chip groups */
.rr-fold{border-radius:16px;background:color-mix(in srgb,var(--color-card) 70%,transparent);box-shadow:var(--shadow-border)}
.rr-fold-hd{display:flex;align-items:center;gap:.6rem;width:100%;min-height:48px;padding:10px 14px;border-radius:16px;text-align:left;background:transparent}
.rr-fold-t{flex-shrink:0;font-size:calc(11.03px * var(--rr-fs));font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted-foreground)}
.rr-fold-s{flex:1;min-width:0;text-align:right;font-size:calc(12.99px * var(--rr-fs));color:var(--color-muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--m-base) var(--m-out)}
.rr-fold-s.on{color:var(--color-primary);font-weight:600}
.rr-fold-cv{flex-shrink:0;color:var(--color-muted-foreground);transition:transform var(--m-slow) var(--m-out)}
.rr-fold.open .rr-fold-cv{transform:rotate(180deg)}
.rr-fold-bd{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--m-slow) var(--m-out)}
.rr-fold.open .rr-fold-bd{grid-template-rows:1fr}
.rr-fold-in{overflow:hidden;min-height:0}
.rr-fold-chips{padding:2px 12px 12px;opacity:0;transform:translateY(-4px);transition:opacity var(--m-base) var(--m-out),transform var(--m-slow) var(--m-out)}
.rr-fold.open .rr-fold-chips{opacity:1;transform:none}
.rr-fold-sheet{margin:.5rem 0}
.rr-fold-sheet .rr-fold-chips{gap:.4rem}
@media (prefers-reduced-motion:reduce){.rr-fold-bd,.rr-fold-cv,.rr-fold-chips{transition:none}}
/* v30: Snap my groceries + move items */
.rr-snap{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.6rem 0 .2rem;padding:10px 12px;border-radius:16px;background:var(--color-card);box-shadow:var(--shadow-border)}
.rr-snap-help{flex:1;min-width:9rem;font-size:calc(11.97px * var(--rr-fs));color:var(--color-muted-foreground)}
.rr-snap-sub{margin-top:-.2rem}
.rr-fr-zone{flex:0 1 110px}
/* v31 */
.rr-lock{display:inline-block;flex-shrink:0;width:12px;height:12px;margin-left:.35rem;vertical-align:-1px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.rr-locked,button.rr-locked{background:color-mix(in srgb,var(--color-muted) 85%,transparent)!important;color:color-mix(in srgb,var(--color-muted-foreground) 88%,transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-muted-foreground) 18%,transparent)!important;filter:grayscale(1);opacity:.78}
.rr-locked:active{transform:scale(.97)}
.rr-locked-note{display:inline-flex;align-items:center;gap:.1rem;color:var(--color-muted-foreground)}
.rr-snap-hero{display:flex;flex-direction:column;align-items:stretch;gap:.35rem}
.rr-snap-big{display:flex;align-items:center;gap:.8rem;width:100%;min-height:64px;padding:12px 16px;border-radius:20px;background:var(--color-primary);color:var(--color-primary-foreground);box-shadow:0 6px 18px color-mix(in srgb,var(--color-primary) 28%,transparent);text-align:left;transition:transform var(--m-base) var(--m-out),box-shadow var(--m-base) var(--m-out)}
.rr-snap-big:active{transform:scale(.98)}
.rr-snap-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:color-mix(in srgb,#fff 22%,transparent);font-size:calc(21.97px * var(--rr-fs));flex-shrink:0}
.rr-snap-txt{display:flex;flex-direction:column;min-width:0}
.rr-snap-txt b{display:inline-flex;align-items:center;font-size:calc(17.01px * var(--rr-fs));font-weight:600;line-height:1.2}
.rr-snap-txt small{font-size:calc(12.48px * var(--rr-fs));opacity:.88;line-height:1.3}
.rr-snap-big.rr-locked{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-muted-foreground) 18%,transparent)!important}
.rr-snap-big.rr-locked .rr-snap-ico{background:color-mix(in srgb,var(--color-muted-foreground) 14%,transparent)}
.rr-tour-link{align-self:center;padding:4px 10px;font-size:calc(12.48px * var(--rr-fs));color:var(--color-muted-foreground);border-radius:999px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent)}
.rr-pay-overlay,.rr-tour-overlay{z-index:90!important}
.rr-pay-title{display:flex;align-items:center;gap:.45rem}
.rr-pay-title .rr-lock{width:18px;height:18px;margin:0}
.rr-pay-list{list-style:none;margin:.6rem 0 .4rem;padding:0;display:grid;gap:.35rem}
.rr-pay-list li{display:flex;gap:.7rem;align-items:center;padding:8px 10px;border-radius:14px;background:color-mix(in srgb,var(--color-muted) 55%,transparent)}
.rr-pay-list li.on{box-shadow:inset 0 0 0 1.5px var(--color-primary)}
.rr-pay-list b{display:block;font-size:calc(14.02px * var(--rr-fs));font-weight:600}
.rr-pay-list small{display:block;font-size:calc(11.97px * var(--rr-fs));color:var(--color-muted-foreground)}
.rr-pay-ico{width:28px;text-align:center;font-size:calc(18.03px * var(--rr-fs));flex-shrink:0}
.rr-pay-actions,.rr-tour-actions{justify-content:flex-end}
.rr-tour-sheet{padding-top:22px}
.rr-tour-skip{position:absolute;z-index:2;top:12px;right:14px;padding:6px 12px;border-radius:999px;font-size:calc(12.99px * var(--rr-fs));color:var(--color-muted-foreground)}
.rr-tour-card{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-height:12.5rem;animation:rr31-in var(--m-slow) var(--m-out) both}
.rr-tour-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:color-mix(in srgb,var(--color-primary) 14%,transparent);font-size:calc(25.98px * var(--rr-fs));margin-bottom:.2rem}
.rr-tour-body{font-size:calc(14.96px * var(--rr-fs));line-height:1.45}
.rr-tour-dots{display:flex;gap:6px;justify-content:center;margin:.4rem 0 .2rem}
.rr-tour-dots i{width:6px;height:6px;border-radius:999px;background:color-mix(in srgb,var(--color-muted-foreground) 35%,transparent);transition:width var(--m-base) var(--m-out),background var(--m-base) var(--m-out)}
.rr-tour-dots i.on{width:18px;background:var(--color-primary)}
@keyframes rr31-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rr-tour-card{animation:none}.rr-snap-big{transition:none}}
/* v32: lowercase UI; all-caps styles and recipe cards keep their casing (in base layer so .uppercase utilities still win) */
@layer base{
body{text-transform:lowercase}
button,select,option,summary,label{text-transform:inherit}
input,textarea{text-transform:none}
input::placeholder,textarea::placeholder{text-transform:lowercase}
}
.rr-caps,.rr-fam-code b{text-transform:uppercase}
/* v33: snap is a plain row button; tour link sits under the row */
.rr-tour-row{display:flex;justify-content:flex-start;margin-top:-.15rem}
.rr-tour-row .rr-tour-link{padding:2px 4px}
.rr-fr-actions-snap{justify-content:space-between}
/* v35: favorites */
.rr-fav-heart .rr-fav-ico{font-size:calc(14.02px * var(--rr-fs));line-height:1;margin-right:.3rem}
.rr-fav-heart.on{color:#b4483c}
.rr-fav-heart.on .rr-fav-ico{animation:rr35-pop var(--m-base) var(--m-snap) both}
@keyframes rr35-pop{0%{transform:scale(.6)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
.rr-fav-list,.rr-fav-ings{list-style:none;margin:.2rem 0 .6rem;padding:0;display:grid;gap:.45rem}
.rr-fav-row{display:flex;align-items:center;gap:.5rem;padding:6px;border-radius:16px;background:var(--color-card);box-shadow:var(--shadow-border)}
.rr-fav-open{flex:1;min-width:0;display:flex;align-items:center;gap:.7rem;text-align:left;border-radius:12px;padding:2px}
.rr-fav-img{width:56px;height:56px;border-radius:12px;object-fit:cover;flex-shrink:0}
.rr-fav-txt{display:flex;flex-direction:column;min-width:0}
.rr-fav-title{font-size:calc(15.98px * var(--rr-fs));font-weight:500;line-height:1.2}
.rr-fav-txt small{font-size:calc(11.97px * var(--rr-fs));color:var(--color-muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rr-fav-x{flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border-radius:999px;color:#b4483c;font-size:calc(18.03px * var(--rr-fs));transition:transform var(--m-base) var(--m-out)}
.rr-fav-x:active{transform:scale(.88)}
.rr-fav-ing{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:4px 4px 4px 14px;border-radius:14px;background:color-mix(in srgb,var(--color-muted) 55%,transparent)}
.rr-fav-ing span{display:flex;flex-direction:column;font-size:calc(14.02px * var(--rr-fs));font-weight:500}
.rr-fav-ing small{font-size:calc(11.03px * var(--rr-fs));font-weight:400;color:var(--color-muted-foreground)}
.rr-fav-empty{margin:.1rem 0 .6rem}
@media (prefers-reduced-motion:reduce){.rr-fav-heart.on .rr-fav-ico{animation:none}}
.rr-fav-list,.rr-fav-ings{grid-template-columns:minmax(0,1fr)}
.rr-fav-open{overflow:hidden}
.rr-recipe-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.25rem}
.rr-serv{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.rr-serv-pills{gap:2px}
.rr-serv-form{display:inline-flex;align-items:center;gap:.4rem}
.rr-serv-in{width:5.5rem;height:2rem;border-radius:9999px;padding:0 .75rem;font-size:calc(15.98px * var(--rr-fs));background:var(--card,#fff);box-shadow:var(--shadow-border);outline:none}
.rr-serv-in:focus{box-shadow:0 0 0 2px var(--primary,#333)}
.rr-rx-note{margin-top:.75rem;font-size:.8rem;line-height:1.4;padding:.5rem .75rem;border-radius:.6rem;background:var(--muted,#f3f0ea);color:var(--muted-foreground,#666)}
.rr-ing-list{margin-top:.5rem;display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;line-height:1.4}
.rr-ing{display:flex;flex-wrap:wrap;gap:.25rem .5rem;padding-left:1rem;position:relative}
.rr-ing:before{content:"";position:absolute;left:.2rem;top:.55em;width:.32rem;height:.32rem;border-radius:9999px;background:currentColor;opacity:.45}
.rr-ing-s{margin-left:.75rem}
.rr-ing-sub{margin-top:.35rem;font-size:.7rem;font-weight:600;letter-spacing:.08em;color:var(--muted-foreground,#666)}
.rr-ing-alt{margin-left:1.75rem;font-size:.78rem;font-style:italic;color:var(--muted-foreground,#666)}
.rr-ing-have{font-size:.7rem;font-weight:600;color:var(--primary,#2f6b3f);white-space:nowrap}
.rr-step-h{margin-top:1rem;font-size:.7rem;font-weight:600;letter-spacing:.12em;color:var(--muted-foreground,#666)}
.rr-share-ing li{display:block}
.rr-keep{text-transform:none}
.rr-skill{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.rr-recipe-ctl .rr-skill{margin-top:.25rem}
.rr-store{color:var(--color-muted-foreground);font-size:.8125rem}
.rr-hide{display:none!important}
/* v49: calories, cooking log, starter tour, 5-tab nav */
.rr-nav5{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.rr-nav5 .nav-pill{width:20%}
.rr-cal-row{margin-top:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.rr-cal{font-size:.8rem;color:var(--color-muted-foreground)}
.rr-cooked-btn{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:500;padding:.35rem .8rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-card)}
.rr-cooked-btn.rr-locked{opacity:.55}
.rr-track{padding:.5rem 0 1rem;display:flex;flex-direction:column;gap:1rem}
.rr-track-head{display:flex;align-items:center;justify-content:space-between}
.rr-track-title{text-align:center}.rr-track-title small{display:block;font-size:.72rem;color:var(--color-muted-foreground);letter-spacing:.08em}
.rr-track-nav{width:2.25rem;height:2.25rem;border-radius:999px;font-size:1.4rem;line-height:1;color:var(--color-muted-foreground)}
.rr-track-nav:disabled{opacity:.25}
.rr-track-total{text-align:center;padding:1rem;border-radius:1rem;background:var(--color-card);box-shadow:var(--shadow-border,0 0 0 1px rgba(0,0,0,.06))}
.rr-track-total b{font-family:var(--font-display,inherit);font-size:2.2rem;font-weight:500}
.rr-track-total span{font-size:.9rem;color:var(--color-muted-foreground)}
.rr-track-bar{margin:.75rem auto 0;height:6px;max-width:16rem;border-radius:999px;background:var(--color-muted);overflow:hidden}
.rr-track-bar i{display:block;height:100%;border-radius:999px;background:color-mix(in oklab,var(--color-primary) 55%,transparent)}
.rr-track-list{display:flex;flex-direction:column;gap:.5rem}
.rr-track-list li{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:.8rem;background:var(--color-card);box-shadow:var(--shadow-border,0 0 0 1px rgba(0,0,0,.06));font-size:.875rem}
.rr-track-ic{width:1.4rem;text-align:center}
.rr-track-nm{flex:1;min-width:0;line-height:1.25}.rr-track-nm small{display:block;font-size:.7rem;color:var(--color-muted-foreground)}
.rr-track-sv{display:inline-flex;align-items:center;gap:.25rem;font-size:.8rem}
.rr-track-sv button{width:1.6rem;height:1.6rem;border-radius:999px;background:var(--color-muted)}
.rr-track-c{min-width:2.8rem;text-align:right;font-variant-numeric:tabular-nums}
.rr-track-x{color:var(--color-muted-foreground);font-size:.75rem;padding:.25rem}
.rr-track-empty{text-align:center;font-size:.85rem;color:var(--color-muted-foreground);padding:.5rem 1rem}
.rr-track-add{display:flex;gap:.4rem;align-items:center}
.rr-track-add input,.rr-track-gform input{flex:1;min-width:0;height:2.2rem;border-radius:999px;padding:0 .85rem;font-size:calc(15.98px * var(--rr-fs));background:var(--color-card);box-shadow:var(--shadow-border,0 0 0 1px rgba(0,0,0,.08));outline:none}
.rr-track-add .rr-track-kc{flex:0 0 4.5rem}
.rr-track-add button:disabled{opacity:.45}
.rr-track-goal{display:flex;justify-content:center}.rr-track-gform{display:flex;gap:.4rem;align-items:center;width:100%;max-width:20rem}
.rr-track-note{text-align:center;font-size:.72rem;color:var(--color-muted-foreground)}
.rr-track-locked{text-align:center;align-items:center;padding-top:2rem}.rr-track-sub{font-size:.9rem;color:var(--color-muted-foreground);max-width:20rem}
.rr-tour-row{display:flex;justify-content:center;flex-wrap:wrap;gap:.25rem}
.rr-serv{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}
.rr-serv-lbl{font-size:.8rem;font-weight:500;color:var(--color-muted-foreground);white-space:nowrap}
/* v50 meal types */
.rr-meal-pills{gap:2px}
.rr-meal-pills button{white-space:nowrap}
.rr-meal-pills button:disabled{opacity:.6}
.rr-meal-hint{font-size:.8rem;color:var(--color-muted-foreground);margin:0;line-height:1.35}
.rr-week-pin{min-height:2.5rem}
.rr-week-meal{margin-left:.75rem}
/* v50d */
.rr-opt-offbtn{display:block;width:100%;margin:.25rem 0 .6rem;padding:.55rem .9rem;border-radius:999px;border:1px dashed var(--border,#d8cfc0);background:transparent;font-size:.85rem;font-weight:500;color:var(--muted-foreground,#7a6f60);text-align:center}
.rr-opt-offbtn.on{border-style:solid;background:var(--primary,#3f6b47);color:var(--primary-foreground,#fff)}
.rr-opt-tag{display:inline-block;margin-left:.4em;padding:.05em .45em;border-radius:999px;border:1px dashed currentColor;font-family:var(--font-sans,system-ui);font-size:.55em;font-weight:600;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;opacity:.7}

.rr-sur{display:inline-block;margin-top:.35rem;padding:.1rem .5rem;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.02em;background:color-mix(in oklab,var(--primary) 14%,transparent);color:var(--primary);transform:rotate(-2deg)}
/* v55 custom allergens */
.rr-cal-form{display:flex;gap:.5rem;width:100%;flex-wrap:nowrap}
.rr-cal-in{flex:1;min-width:0;border:0;outline:none;font-size:calc(15.98px * var(--rr-fs))}
.rr-cal-in:focus{box-shadow:0 0 0 2px var(--primary,#c55)}
.rr-cal-x{opacity:.8}
.rr-cal-note{width:100%;font-size:calc(11.03px * var(--rr-fs));line-height:1.35;color:var(--muted-foreground,#777);margin:.15rem .25rem 0}
.rr-hero-tap{cursor:pointer}
/* v61 */
.rr-step-t{display:block}
.rr-tip{display:block;margin-top:.4rem;padding:.35rem .6rem;border-left:3px solid var(--primary);border-radius:.4rem;background:color-mix(in oklab,var(--primary) 9%,transparent);font-size:.8rem;line-height:1.4;color:var(--muted-foreground)}
.rr-tip b{color:var(--primary);font-weight:700;text-transform:uppercase;font-size:.66rem;letter-spacing:.06em;margin-right:.2rem}
.rr-tops{margin-top:1.1rem;padding:.7rem .85rem;border-radius:.8rem;background:var(--muted)}
.rr-tops h4{margin:0 0 .25rem}
.rr-tops p{margin:0;font-size:.875rem;line-height:1.5}
.rr-scr{background:color-mix(in oklab,#e0a100 22%,transparent);color:#8a5a00;transform:rotate(-1.5deg)}
/* v61: use it up sheet */
.rr-uu-wrap{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.35);display:flex;align-items:flex-end;justify-content:center}
.rr-uu{width:100%;max-width:480px;max-height:80vh;overflow:auto;background:var(--card,#fff);color:var(--foreground,#222);border-radius:18px 18px 0 0;padding:14px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px rgba(0,0,0,.18)}
.rr-uu-h{display:flex;justify-content:space-between;align-items:center;font-size:calc(17.01px * var(--rr-fs));margin-bottom:10px}
.rr-uu-x{width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.06)}
.rr-uu-sur{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;padding:10px 12px;border-radius:12px;box-shadow:var(--shadow-border,0 0 0 1px #ddd)}
.rr-uu-sur span{font-size:calc(12.99px * var(--rr-fs));opacity:.7}.rr-uu-sur.on{outline:2px solid var(--primary,#e4572e)}
.rr-uu-or{font-size:calc(12.99px * var(--rr-fs));opacity:.75;margin:12px 2px 8px}
.rr-uu-list{display:flex;flex-direction:column;gap:6px}
.rr-uu-it{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;text-align:left;box-shadow:var(--shadow-border,0 0 0 1px #ddd)}
.rr-uu-it.on{background:color-mix(in srgb,var(--primary,#e4572e) 12%,transparent)}
.rr-uu-ck{width:20px;height:20px;border-radius:6px;border:1.5px solid currentColor;display:inline-flex;align-items:center;justify-content:center;font-size:calc(11.97px * var(--rr-fs));flex:none}
.rr-uu-it.on .rr-uu-ck{background:var(--primary,#e4572e);color:var(--primary-foreground,#fff);border-color:transparent}
.rr-uu-n{flex:1}.rr-uu-d{font-size:calc(11.97px * var(--rr-fs));opacity:.65}
.rr-uu-warn{margin-top:10px;padding:8px 12px;border-radius:12px;background:#fff6e0;color:#6b4a00;font-size:calc(12.99px * var(--rr-fs))}
.rr-uu-f{display:flex;gap:8px;margin-top:12px}
.rr-uu-off{padding:10px 14px;border-radius:999px;box-shadow:var(--shadow-border,0 0 0 1px #ddd)}
.rr-uu-go{flex:1;padding:10px 14px;border-radius:999px;background:var(--primary,#e4572e);color:var(--primary-foreground,#fff);font-weight:600}
.rr-uu-go:disabled{opacity:.45}
.rr-insp-tag{color:#c2410c}

/* v66 bigger text for older eyes */
html{font-size:calc(100% * var(--rr-fs))}
.die-list-btn{right:50px;top:10px;width:30px;height:30px}
.die-list-btn svg{width:15px;height:15px}
.die-compact .die-list-btn{right:42px;top:7px;width:26px;height:26px}
.die .size-7{width:34px!important;height:34px!important}
.die .size-6{width:30px!important;height:30px!important}
.die .rr-lock{width:20px;height:20px}

/* v67: list button top-left, lock top-right, label on its own line */
.die .die-list-btn,.die-compact .die-list-btn{left:8px;right:auto;top:7px}
.die>.relative.z-10.flex.justify-between{flex-wrap:wrap;row-gap:.2rem;min-height:30px}
.die>.relative.z-10.flex.justify-between>span:first-child{order:2;width:100%}
.die>.relative.z-10.flex.justify-between>span:nth-child(2){order:1;margin-left:auto}
.die{overflow-wrap:anywhere;hyphens:auto}

.rr-fs{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin:.25rem 0}
.rr-fs-lbl{font-size:calc(11px * var(--rr-fs));font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted-foreground)}
.rr-fs-pills{display:inline-flex;border-radius:999px;background:var(--color-muted);padding:4px;gap:2px}
.rr-fs-pills button{min-height:40px;padding:0 14px;border-radius:999px;color:var(--color-muted-foreground)}
.rr-fs-pills button[aria-pressed=true]{background:var(--color-primary);color:var(--color-primary-foreground)}
/* v71 drinks */
.rr-dr .rr-serv-lbl{white-space:nowrap}

/* v72 */.rr-cost{max-width:100%;width:fit-content;white-space:normal;border-radius:10px}.results-sheet button>div{min-width:0}

/* v79: no narration caption pill on the kitchen animation */
.kitchen-caption{display:none!important}
/* v80 roll-card quantities */
.rr-need{margin-top:.35rem;font-size:.8rem;line-height:1.35;color:var(--muted-foreground,#7a6f63)}
.rr-need-h{font-weight:600;color:var(--foreground,#3e5a45)}
.rr-need-more{opacity:.75}
/* v81 timed game plan */
.rr-plan-h{margin-top:.5rem;font-size:.85rem;line-height:1.4;color:var(--muted-foreground,#7a6f63)}
.rr-plan-h b{color:var(--foreground,#3e5a45);font-weight:600}
.rr-cue{display:inline-block;margin-right:.25rem;font-weight:600;color:#3e7a4f}
.rr-cue-d{font-weight:400;color:var(--muted-foreground,#7a6f63)}
.rr-store{font-size:.8rem;color:var(--muted-foreground,#7a6f63)}
/* v82 pantry marks */
.rr-have{margin-top:.3rem;font-size:.8rem;line-height:1.35;color:#3e7a4f}
.rr-have-h{font-weight:600}
