@layer theme,base;@layer components{.v2 :is(p,li,dd,figcaption){text-wrap:pretty}.v2 h1{text-wrap:balance}.v2-surface,.v2-card,.v2-card-link{background:var(--v2-surface-raised);border:1px solid var(--v2-line);border-radius:var(--v2-radius);box-shadow:var(--v2-shadow-xs)}.v2-surface-dashed{border:1px dashed var(--v2-line-strong);border-radius:var(--v2-radius);box-shadow:none;background:0 0}.v2-card-link{transition:transform .3s var(--v2-ease), box-shadow .3s var(--v2-ease);position:relative}.v2-card-image,.v2-media img{transition:transform .6s var(--v2-ease)}@media (hover:hover) and (pointer:fine){.v2-card-link:hover{box-shadow:var(--v2-shadow-lift)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.v2-card-link:hover{transform:translateY(-2px)}.v2-card-link:active{transform:translateY(-1px)scale(.99)}.v2-card-link:hover :is(.v2-card-image,.v2-media img){transform:scale(1.03)}}.v2-card-link:has(a:focus-visible){outline:3px solid color-mix(in oklch, var(--ring), transparent 50%);outline-offset:2px}.v2-card-link a:focus-visible:after{box-shadow:none!important}.v2-callout{border:1px solid color-mix(in oklab, var(--primary), transparent 80%);border-radius:calc(var(--radius) * 1.4);background:color-mix(in oklab, var(--card), var(--primary) 6%);text-wrap:pretty;padding:1rem;font-size:.875rem;line-height:1.375rem}.v2-callout:has(>svg:first-child){grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:.75rem;display:grid}.v2-callout:has(>svg:first-child)>:not(svg:first-child){grid-column:2}.v2-callout>svg:first-child{width:1.25rem;height:1.25rem;color:var(--primary);margin-top:.125rem}.v2-callout[data-tone=success]{border-color:color-mix(in oklab, var(--keto-yes), transparent 80%);background:color-mix(in oklab, var(--card), var(--keto-yes) 6%)}.v2-callout[data-tone=success]>svg:first-child{color:var(--keto-yes)}.v2-callout[data-tone=warning]{border-color:var(--lightningcss-light,color-mix(in oklab, var(--accent), transparent 75%))var(--lightningcss-dark,color-mix(in oklab, var(--accent), transparent 50%));border-inline-start:3px solid var(--accent);background:color-mix(in oklab, var(--card), var(--accent) 8%)}.v2-callout[data-tone=warning]>svg:first-child{color:var(--accent-text)}.v2-callout[data-tone=danger]{border-color:var(--lightningcss-light,color-mix(in oklab, var(--destructive), transparent 75%))var(--lightningcss-dark,color-mix(in oklab, var(--destructive), transparent 50%));border-inline-start:3px solid var(--destructive);background:color-mix(in oklab, var(--card), var(--destructive) 10%)}.v2-callout[data-tone=danger]>svg:first-child{color:var(--keto-no)}.v2-media{isolation:isolate;background:radial-gradient(80% 90% at 0% 0%, var(--v2-brand-soft), transparent 70%), radial-gradient(80% 90% at 100% 100%, var(--v2-amber-soft), transparent 70%), var(--v2-surface-soft);position:relative;overflow:hidden}.v2-media>img:before{content:"";background:radial-gradient(80% 90% at 0% 0%, var(--v2-brand-soft), transparent 70%), radial-gradient(80% 90% at 100% 100%, var(--v2-amber-soft), transparent 70%), var(--v2-surface-soft);position:absolute;inset:0}.v2-tint{background:var(--v2-surface-tint)}.v2-warm{background:var(--v2-surface-warm)}.v2-soft{background:var(--v2-surface-soft)}.v2-line{border-color:var(--v2-line)}.v2-line-strong{border-color:var(--v2-line-strong)}.v2-glass{background:var(--v2-glass);-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2)}.v2-hero{background:radial-gradient(85% 120% at 0% 0%, var(--v2-brand-soft), transparent 65%), var(--v2-surface)}.v2-hero[data-width=reading]{background:radial-gradient(85% 120% at 50% 0%, var(--v2-brand-soft), transparent 65%), var(--v2-surface)}.v2-ring{box-shadow:var(--v2-shadow-xs)}.v2-snap{scroll-snap-type:x proximity;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-padding-inline:1rem}@media (min-width:640px){.v2-snap{scroll-padding-inline:1.5rem}}.v2-snap::-webkit-scrollbar{display:none}.v2-snap>*{scroll-snap-align:start}@supports (animation-timeline:scroll(self inline)){.v2-snap{animation:linear both v2-snap-edges;animation-timeline:scroll(self inline)}}.v2-bottom-bar,.v2-bottom-nav{background:var(--background);-webkit-backdrop-filter:none;backdrop-filter:none;border-top:1px solid var(--v2-line);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -8px 24px -18px color-mix(in oklch, var(--foreground), transparent 70%)}@media (max-width:767.98px){.v2:has([data-testid=v2-bottom-nav])~[data-testid=cookie-banner]{padding-bottom:calc(5rem + env(safe-area-inset-bottom));z-index:20!important;position:sticky!important}}.v2-nav-panel{background:var(--v2-surface-raised);border:1px solid var(--v2-line);border-radius:var(--v2-radius);box-shadow:var(--v2-shadow-lift);animation:v2-nav-in .15s var(--v2-ease) both}@media (prefers-reduced-motion:reduce){.v2-nav-panel{animation:none}}.v2-keto{border-radius:999px}.v2-keto[data-label=KETO_YES]{color:var(--keto-yes);background-color:color-mix(in oklch, var(--card), var(--keto-yes) 6%);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--keto-yes), transparent 70%)}.v2-keto[data-label=KETO_MODERATE]{color:var(--keto-moderate);background-color:color-mix(in oklch, var(--card), var(--keto-moderate) 6%);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--keto-moderate), transparent 70%)}.v2-keto[data-label=KETO_NO]{color:var(--keto-no);background-color:color-mix(in oklch, var(--card), var(--keto-no) 6%);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--keto-no), transparent 70%)}.v2-slide{animation:v2-slide-up .45s var(--v2-ease) both}.v2-enter{animation:v2-fade-up .5s var(--v2-ease) both}.v2-stagger>*{animation:v2-fade-up .45s var(--v2-ease) both}.v2-stagger>:nth-child(2){animation-delay:50ms}.v2-stagger>:nth-child(3){animation-delay:.1s}.v2-stagger>:nth-child(4){animation-delay:.15s}.v2-stagger>:nth-child(5){animation-delay:.2s}.v2-stagger>:nth-child(n+6){animation-delay:.25s}@media (prefers-reduced-motion:reduce){.v2-slide,.v2-enter,.v2-step-enter,.v2-stagger>*{animation-delay:0s!important}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.v2-reveal{animation:linear both v2-fade-up;animation-timeline:view();animation-range:entry entry 35%}}}.v2-tap{transition:transform .15s var(--v2-ease), color .2s var(--v2-ease), background-color .2s var(--v2-ease), border-color .2s var(--v2-ease), box-shadow .2s var(--v2-ease)}.v2-tap:active{transform:scale(.96)}.v2-donut circle{transition:stroke-dashoffset .9s var(--v2-ease)}.v2-donut .v2-donut-arc{animation:v2-draw 1.1s var(--v2-ease) both}.v2-prose .olaketo-editor{font-size:1.0625rem;line-height:1.8}@media (min-width:768px){.v2-prose .olaketo-editor{font-size:1.125rem}}.v2-prose .olaketo-editor>*+*{margin-top:1.15em}.v2-prose .olaketo-editor :is(h2,h3,h4){margin-top:1.9em;scroll-margin-top:5rem;line-height:1.25}.v2-prose .olaketo-editor>:first-child{margin-top:0}.v2-prose .olaketo-editor h2{font-size:1.375rem}@media (min-width:768px){.v2-prose .olaketo-editor h2{font-size:1.6rem}}.v2-prose .olaketo-editor a{color:var(--accent-text);text-underline-offset:3px;text-decoration-thickness:1px}.v2-prose .olaketo-editor blockquote{border-inline-start:4px solid var(--primary);background:var(--v2-surface-tint);border-radius:0 var(--v2-radius-sm) var(--v2-radius-sm) 0;padding:.75em 1em;font-style:normal}.v2-prose .olaketo-editor figure img{border-radius:var(--v2-radius)}.v2-prose .olaketo-editor ::marker{color:var(--primary)}.v2-prose .olaketo-editor table{font-size:.9375rem;line-height:1.55}.v2-prose .olaketo-editor :is(th,td){border-color:var(--v2-line-strong);padding:.6em .8em}.v2-prose .olaketo-editor th{background:var(--v2-surface-tint)}.v2-progress{display:none}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.v2-progress{inset-inline:0;z-index:50;background:var(--primary);transform-origin:0;pointer-events:none;height:3px;animation:linear both v2-grow;animation-timeline:scroll(root);display:block;position:fixed;top:0;transform:scaleX(0)}}}.v2-table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:100%}.v2-table :is(th,td){border-bottom:1px solid var(--v2-line);text-align:start;vertical-align:top;padding:.625rem .875rem}.v2-table tbody tr:nth-child(2n)>*{background:var(--v2-surface-soft)}.v2-table thead th{letter-spacing:.02em;text-transform:uppercase;color:var(--muted-foreground);font-size:.75rem;font-weight:600}.v2-table .v2-sticky{z-index:1;background:var(--v2-surface-raised);box-shadow:1px 0 0 var(--v2-line);position:sticky;inset-inline-start:0}.v2-table tbody tr:nth-child(2n)>.v2-sticky{background:var(--v2-surface-soft)}.v2-bar{background:color-mix(in oklch, var(--card), var(--primary) 10%);border-radius:999px;height:.625rem;overflow:hidden}.v2-bar>span{border-radius:inherit;width:0;height:100%;transition:width .8s var(--v2-ease);display:block}.v2-bar>span[data-pct="5"]{width:5%}.v2-bar>span[data-pct="10"]{width:10%}.v2-bar>span[data-pct="15"]{width:15%}.v2-bar>span[data-pct="20"]{width:20%}.v2-bar>span[data-pct="25"]{width:25%}.v2-bar>span[data-pct="30"]{width:30%}.v2-bar>span[data-pct="35"]{width:35%}.v2-bar>span[data-pct="40"]{width:40%}.v2-bar>span[data-pct="45"]{width:45%}.v2-bar>span[data-pct="50"]{width:50%}.v2-bar>span[data-pct="55"]{width:55%}.v2-bar>span[data-pct="60"]{width:60%}.v2-bar>span[data-pct="65"]{width:65%}.v2-bar>span[data-pct="70"]{width:70%}.v2-bar>span[data-pct="75"]{width:75%}.v2-bar>span[data-pct="80"]{width:80%}.v2-bar>span[data-pct="85"]{width:85%}.v2-bar>span[data-pct="90"]{width:90%}.v2-bar>span[data-pct="95"]{width:95%}.v2-bar>span[data-pct="100"]{width:100%}.v2-step-dot{background:var(--border);width:.5rem;height:.5rem;transition:width .3s var(--v2-ease), background-color .3s var(--v2-ease);border-radius:999px}.v2-step-dot[data-state=done]{background:color-mix(in oklch, var(--primary), var(--background) 45%)}.v2-step-dot[data-state=current]{background:var(--primary);width:1.75rem}.v2-step-enter{animation:v2-slide-up .35s var(--v2-ease) both}.v2-range{opacity:1;pointer-events:auto;appearance:none;cursor:pointer;background:0 0;width:100%;height:2.25rem;position:relative}.v2-range:focus-visible{outline:none}.v2-range::-webkit-slider-runnable-track{background:color-mix(in oklch, var(--primary), var(--background) 78%);border-radius:999px;height:.5rem}.v2-range::-moz-range-track{background:color-mix(in oklch, var(--primary), var(--background) 78%);border-radius:999px;height:.5rem}.v2-range::-webkit-slider-thumb{appearance:none;background:var(--primary);border:3px solid var(--card);width:1.5rem;height:1.5rem;box-shadow:var(--v2-shadow);transition:transform .15s var(--v2-ease);border-radius:999px;margin-top:-.5rem}.v2-range::-moz-range-thumb{background:var(--primary);border:3px solid var(--card);width:1.5rem;height:1.5rem;box-shadow:var(--v2-shadow);border-radius:999px}.v2-range:active::-webkit-slider-thumb{box-shadow:var(--v2-shadow), 0 0 0 4px color-mix(in oklch, var(--ring), transparent 60%);transform:scale(1.15)}.v2-range:focus-visible::-webkit-slider-thumb{box-shadow:var(--v2-shadow), 0 0 0 4px color-mix(in oklch, var(--ring), transparent 60%);transform:scale(1.15)}.v2-range:focus-visible::-moz-range-thumb{box-shadow:var(--v2-shadow), 0 0 0 4px color-mix(in oklch, var(--ring), transparent 60%)}.v2 li>.shrink-0:has(>[data-slot=button]~[data-slot=button]){flex-wrap:wrap}.v2 select:not([multiple],[size],[data-testid=recipe-servings]){min-height:2.75rem;border-radius:calc(var(--radius) * .8)!important}.v2 select:not([multiple],[size],[data-testid=recipe-servings]):not(:disabled){background-color:var(--card)!important}.v2 .v2-dense :is([data-slot=button],[data-variant][data-size]):not([data-variant=link],[data-size^=icon]){min-height:2.25rem!important}.v2 .v2-dense :is([data-slot=button],[data-variant][data-size]):not([data-variant=link],[data-size^=icon],[data-size=sm],[data-size=xs]){padding-inline:.875rem!important}.v2 .v2-dense :is([data-slot=button],[data-variant][data-size])[data-size^=icon]{width:2.25rem!important;height:2.25rem!important}.v2 .v2-dense :is([data-slot=input],[data-slot=select-trigger]),.v2 .v2-dense select:not([multiple],[size]){min-height:2.25rem;height:2.25rem!important}@media (pointer:fine){.v2 [role=toolbar] :is([data-slot=button],[data-variant][data-size])[data-size^=icon]{width:2rem!important;height:2rem!important}}@media (pointer:coarse){.v2 :is([data-slot=button],[data-variant][data-size])[data-variant=link]{min-height:2.5rem}.v2 .v2-dense :is([data-slot=button],[data-variant][data-size]):not([data-variant=link],[data-size^=icon]){min-height:2.5rem!important}.v2 .v2-dense :is([data-slot=input],[data-slot=select-trigger]),.v2 .v2-dense select:not([multiple],[size]){height:2.5rem!important}.v2 .v2-dense :is([data-slot=button],[data-variant][data-size])[data-size^=icon]{width:2.5rem!important;height:2.5rem!important}}.v2 .v2-newsletter form>div:has(>[data-slot=input]){border:1px solid var(--input);background:var(--card);width:100%;max-width:28rem;box-shadow:var(--v2-shadow-xs);transition:border-color .2s var(--v2-ease), box-shadow .2s var(--v2-ease);border-radius:999px;align-items:center;padding:.25rem;flex-direction:row!important;gap:.25rem!important}.v2 .v2-newsletter form>div:has(>[data-slot=input]:focus){border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklch, var(--ring), transparent 60%)}.v2 .v2-newsletter form>div:has(>[data-slot=input][aria-invalid=true]){border-color:var(--destructive)}.v2 .v2-newsletter form>div>[data-slot=input]{flex:1;min-height:2.5rem;max-width:none!important;height:2.5rem!important;box-shadow:none!important;background-color:#0000!important;border-color:#0000!important;border-radius:999px!important;padding-inline:.75rem!important}.v2 .v2-newsletter form>div>[data-slot=button]{min-height:2.5rem!important}.v2 :is(#comments-title,#_share,h2.font-heading.text-xl){letter-spacing:-.025em;font-weight:600;font-size:1.25rem!important;line-height:1.75rem!important}@media (min-width:640px){.v2 :is(#comments-title,#_share,h2.font-heading.text-xl){font-size:1.5rem!important;line-height:2rem!important}}.v2 [data-testid=admin-shell] :where(.grid)>*{min-width:0}.v2-admin-table-wrap{min-width:0;position:relative}.v2-admin-table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:100%;font-size:.875rem}@media (max-width:767.98px){.v2-admin-table{display:block}.v2-admin-table>tbody{gap:.75rem;display:grid}.v2-admin-table>tbody>tr{background:var(--v2-surface-raised);border:1px solid var(--v2-line);border-radius:var(--v2-radius);min-width:0;box-shadow:var(--v2-shadow-xs);gap:.625rem;padding:1rem;display:grid}.v2-admin-table>tbody>tr[data-v2-tone=danger]{border-color:var(--destructive)}.v2-admin-table>tbody>tr[data-v2-tone=muted]{background:var(--v2-surface-soft);box-shadow:none}.v2-admin-table>tbody>tr>td{overflow-wrap:anywhere;display:block;width:auto!important;min-width:0!important}.v2-admin-table>tbody>tr>td[data-label]{grid-template-columns:minmax(0,7.5rem) minmax(0,1fr);align-items:baseline;gap:.75rem;display:grid}.v2-admin-table>tbody>tr>td[data-label]:before{content:attr(data-label);color:var(--muted-foreground);font-size:.75rem;font-weight:600;line-height:1.25rem}.v2-admin-table>tbody>tr>td[data-primary]{order:-1;font-size:.9375rem}.v2-admin-table>tbody>tr>td:has(>div:empty){display:none}}@media (min-width:768px){.v2-admin-table-wrap{background:var(--v2-surface-raised);border:1px solid var(--v2-line);border-radius:var(--v2-radius);box-shadow:var(--v2-shadow-xs);overflow-x:auto}.v2-admin-table>thead>tr>th{background:var(--v2-surface-soft);border-bottom:1px solid var(--v2-line);letter-spacing:.02em;text-align:start;vertical-align:bottom;color:var(--muted-foreground);padding:.625rem 1rem;font-size:.75rem;font-weight:600}.v2-admin-table>tbody>tr>td{border-bottom:1px solid var(--v2-line);text-align:start;vertical-align:top;padding:.75rem 1rem}.v2-admin-table>tbody>tr:last-child>td{border-bottom:0}.v2-admin-table>:is(thead,tbody)>tr>[data-align=end]{text-align:end}.v2-admin-table>tbody>tr[data-v2-tone=danger]>td:first-child{box-shadow:inset 3px 0 0 var(--destructive)}.v2-admin-table>tbody>tr[data-v2-tone=muted]>td{background:var(--v2-surface-soft)}}@media (min-width:768px) and (hover:hover){.v2-admin-table>tbody>tr:hover>td{background:var(--v2-surface-tint)}}.v2:has([data-testid=search-page]) :is([data-testid=header-search],[data-testid=header-search-link]){display:none!important}}@layer utilities;.v2{--v2-radius:calc(var(--radius) * 1.5);--v2-radius-sm:var(--radius);--v2-surface:var(--background);--v2-surface-raised:var(--card);--v2-surface-tint:color-mix(in oklch, var(--card), var(--primary) 5%);--v2-surface-warm:color-mix(in oklch, var(--card), var(--accent) 7%);--v2-surface-soft:color-mix(in oklch, var(--background), var(--primary) 4%);--v2-line:color-mix(in oklch, var(--border), transparent 30%);--v2-line-strong:color-mix(in oklch, var(--border), var(--foreground) 10%);--v2-brand-soft:color-mix(in oklch, var(--background), var(--primary) 12%);--v2-amber-soft:color-mix(in oklch, var(--background), var(--accent) 12%);--v2-glass:color-mix(in oklch, var(--background), transparent 6%);--v2-shadow-xs:0 1px 2px color-mix(in oklch, var(--foreground), transparent 94%);--v2-shadow:0 1px 2px color-mix(in oklch, var(--foreground), transparent 94%), 0 14px 36px -18px color-mix(in oklch, var(--foreground), transparent 76%);--v2-shadow-lift:0 2px 4px color-mix(in oklch, var(--foreground), transparent 92%), 0 26px 48px -22px color-mix(in oklch, var(--foreground), transparent 66%);--v2-ease:cubic-bezier(.2, .7, .2, 1)}@keyframes v2-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes v2-slide-up{0%{transform:translateY(10px)}to{transform:none}}@keyframes v2-nav-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes v2-draw{0%{stroke-dashoffset:100px}}@keyframes v2-grow{to{transform:scaleX(1)}}@keyframes v2-snap-edges{0%{-webkit-mask-image:linear-gradient(to right, var(--foreground) calc(100% - 1.5rem), transparent);mask-image:linear-gradient(to right, var(--foreground) calc(100% - 1.5rem), transparent)}1%,99%{-webkit-mask-image:linear-gradient(to right, transparent, var(--foreground) 1.5rem, var(--foreground) calc(100% - 1.5rem), transparent);mask-image:linear-gradient(to right, transparent, var(--foreground) 1.5rem, var(--foreground) calc(100% - 1.5rem), transparent)}to{-webkit-mask-image:linear-gradient(to right, transparent, var(--foreground) 1.5rem);mask-image:linear-gradient(to right, transparent, var(--foreground) 1.5rem)}}
