:root{--bg:#f6f6f1;--surface:#fff;--surface-sunk:#e9eae2;--ink:#1b1d18;--ink-soft:#3f4439;--muted:#5e6358;--line:#e3e4dc;--line-strong:#d6d8ce;--accent:#2e6b3f;--accent-dark:#1f4d2c;--accent-soft:#e4efe5;--accent-line:#a9c3ae;--warm:#b8471f;--warm-ink:#9a3a18;--warm-soft:#f8e6dd;--note:#fff4d6;--note-line:#e8cf84;--note-ink:#6b4e00;--danger:#a33a16;--glass:#ffffffc7;--ease-out:cubic-bezier(.2, .8, .2, 1);--font-display:"Bricolage Grotesque", system-ui, sans-serif;--font-body:"Figtree", system-ui, sans-serif;--safe-top:env(safe-area-inset-top);--safe-bottom:env(safe-area-inset-bottom);--sidenav:248px}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0}a{color:var(--accent);text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{margin:0}.screen{flex-direction:column;max-width:560px;min-height:100dvh;margin:0 auto;display:flex}.page-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:34px;font-weight:700}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:16px;justify-content:center;align-items:center;gap:8px;width:100%;height:52px;font-size:16px;font-weight:600;display:flex}.btn-primary:disabled{opacity:.6}.btn-icon{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--ink);border-radius:22px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.btn-text{min-height:44px;color:var(--accent);background:0 0;border:none;font-size:15px;font-weight:600}.chip{border:1px solid var(--line-strong);background:var(--surface);white-space:nowrap;border-radius:18px;height:36px;padding:0 14px;font-size:14px}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}.input{border:1px solid var(--line-strong);background:var(--surface);border-radius:14px;width:100%;height:50px;padding:0 14px;font-size:16px}.bottom-bar{padding:14px 20px max(14px,-8px + var(--safe-bottom));background:var(--bg);border-top:1px solid var(--line);position:sticky;bottom:0}@media (width>=1024px){.with-sidenav{padding-left:var(--sidenav)}.screen--wide{max-width:1280px}.screen--mid{max-width:1040px}.mobile-only{display:none!important}.with-sidenav .screen.page{padding:32px 40px 48px}.with-sidenav .screen.page .page-title{font-size:36px}dialog.sheet[open]{border-radius:24px;max-height:calc(100dvh - 64px);margin:auto}.with-sidenav dialog[open]{translate:calc(var(--sidenav) / 2) 0}}.ach--recipes{--ach:var(--accent);--ach-soft:var(--accent-soft)}.ach--comments{--ach:var(--note-ink);--ach-soft:var(--note)}.ach--likes{--ach:var(--warm-ink);--ach-soft:var(--warm-soft)}.ach--commentsReceived{--ach:#1f4e79;--ach-soft:#dfeaf3}.ach--favorited{--ach:#5b3470;--ach-soft:#eee4f2}.ach--cooked{--ach:#8a4b12;--ach-soft:#fbebd9}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}::view-transition-group(*){animation-duration:.34s;animation-timing-function:var(--ease-out)}html[data-nav=fade]::view-transition-old(root){animation:.12s ease-in both vt-fade-out}html[data-nav=fade]::view-transition-new(root){animation:.2s var(--ease-out) both vt-rise}html[data-nav=fade]::view-transition-group(*){animation-duration:.2s}html[data-nav=forward]::view-transition-old(root){animation:.34s var(--ease-out) both vt-push-under}html[data-nav=forward]::view-transition-new(root){animation:.34s var(--ease-out) both vt-push-in}html[data-nav=back]::view-transition-old(root){animation:.3s var(--ease-out) both vt-pop-out;z-index:1}html[data-nav=back]::view-transition-new(root){animation:.3s var(--ease-out) both vt-pop-under}html[data-keep-tabbar] .tabbar{view-transition-name:tabbar}::view-transition-new(recipe-image){-o-object-fit:cover;object-fit:cover;height:100%}::view-transition-old(recipe-image){-o-object-fit:cover;object-fit:cover;height:100%}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-rise{0%{opacity:0;transform:translateY(6px)}}@keyframes vt-push-in{0%{transform:translate(100%)}}@keyframes vt-push-under{to{filter:brightness(.92);transform:translate(-28%)}}@keyframes vt-pop-out{to{transform:translate(100%)}}@keyframes vt-pop-under{0%{filter:brightness(.92);transform:translate(-28%)}}.avatar[data-v-3b1ac97d]{-o-object-fit:cover;object-fit:cover;border-radius:50%;flex-shrink:0}.initial[data-v-3b1ac97d]{background:var(--accent-soft);color:var(--accent);font-family:var(--font-display);justify-content:center;align-items:center;font-weight:700;display:flex}.sidenav[data-v-db602e20]{z-index:10;width:var(--sidenav);background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:6px;padding:24px 16px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand[data-v-db602e20]{color:var(--ink);font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:10px;padding:0 10px 18px;font-size:22px;font-weight:700;display:flex}.brand-mark[data-v-db602e20]{background:var(--accent);color:#fff;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.links[data-v-db602e20]{flex-direction:column;gap:2px;display:flex}.section[data-v-db602e20]{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:22px 12px 6px;font-size:12px;font-weight:700}.link[data-v-db602e20]{min-height:44px;color:var(--ink-soft);border-radius:12px;align-items:center;gap:12px;padding:0 12px;font-weight:500;display:flex}.link[data-v-db602e20]:hover{background:var(--bg);color:var(--ink)}.link--home.is-active[data-v-db602e20],.link.router-link-active[data-v-db602e20]:not(.link--home),.link.router-link-exact-active[data-v-db602e20]{background:var(--accent-soft);color:var(--accent-dark);font-weight:600}.badge[data-v-db602e20]{background:var(--warm);color:#fff;border-radius:11px;place-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 7px;font-size:12px;font-weight:700;display:grid}.foot[data-v-db602e20]{border-top:1px solid var(--line);gap:8px;margin-top:auto;padding-top:16px}.foot[data-v-db602e20],.me[data-v-db602e20]{align-items:center;display:flex}.me[data-v-db602e20]{min-width:0;color:var(--ink);flex:1;gap:10px;padding-left:8px}.me-text[data-v-db602e20]{flex-direction:column;min-width:0;font-size:12px;display:flex}@media (width<=1023px){.sidenav[data-v-db602e20]{display:none}}.me-name[data-v-db602e20]{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.toast-region[data-v-3ade41a3]{left:0;right:0;bottom:calc(16px + var(--safe-bottom));z-index:20;pointer-events:none;view-transition-name:toast;max-width:560px;margin:0 auto;padding:0 16px;position:fixed}body:has(.tabbar,.bottom-bar) .toast-region{bottom:calc(88px + var(--safe-bottom))}.toast[data-v-3ade41a3]{background:var(--ink);color:var(--bg);pointer-events:auto;border-radius:16px;align-items:center;gap:10px;padding:12px 14px 12px 16px;font-size:15px;font-weight:500;line-height:1.3;display:flex;box-shadow:0 10px 28px -8px #1b1d1873}.toast[data-v-3ade41a3]>:first-child{flex-shrink:0}.toast--ok[data-v-3ade41a3]>:first-child{color:#8fd3a0}.toast--error[data-v-3ade41a3]>:first-child{color:#ff9c78}.text[data-v-3ade41a3]{flex:1;min-width:0}.action[data-v-3ade41a3]{color:#8fd3a0;background:0 0;border:none;min-height:32px;padding:0 4px;font-weight:700}.toast--error .action[data-v-3ade41a3]{color:#ff9c78}.toast-enter-active[data-v-3ade41a3]{transition:opacity .26s,transform .26s cubic-bezier(.2,.8,.2,1)}.toast-leave-active[data-v-3ade41a3]{transition:opacity .16s ease-in,transform .16s ease-in;position:absolute;bottom:0;left:16px;right:16px}.toast-enter-from[data-v-3ade41a3]{opacity:0;transform:translateY(16px)scale(.96)}.toast-leave-to[data-v-3ade41a3]{opacity:0;transform:translateY(8px)}.spin[data-v-3ade41a3]{animation:1.2s linear infinite spin-3ade41a3}@keyframes spin-3ade41a3{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spin[data-v-3ade41a3]{animation:none}.toast-enter-active[data-v-3ade41a3],.toast-leave-active[data-v-3ade41a3]{transition:none}}@media (width>=1024px){body:has(.with-sidenav) .toast-region{left:var(--sidenav);bottom:24px}body:has(.with-sidenav):has(.bottom-bar) .toast-region{left:var(--sidenav);bottom:88px}}
