@charset "UTF-8";:root{--base: #f7f1e8;--mantle: #f1e8da;--crust: #e9dccb;--text: #2c2521;--subtext1: #574c42;--subtext0: #756a5e;--surface0: #e7dac6;--surface1: #dccbb2;--surface2: #cdb999;--overlay0: #b5a085;--red: #bf452b;--peach: #cd6b3c;--yellow: #c2871d;--green: #5a7137;--teal: #2f877a;--blue: #3f6cb3;--mauve: #9460a3;--pink: #c76b8e;--flamingo: #cf8463;--rosewater: #cf9670;--accent: var(--peach);--accent-strong: var(--red);--card: #fffdf8;--card-border: color-mix(in srgb, var(--text) 11%, transparent);--shadow: 0 1px 2px rgba(74, 54, 36, .07), 0 10px 28px rgba(74, 54, 36, .09);--shadow-lg: 0 18px 48px rgba(74, 54, 36, .17);--radius: 18px;--radius-sm: 11px;--radius-pill: 999px;--maxw: 1180px;--nav-h: 68px;--font: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--serif: "Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif}:root[data-theme=dark]{--base: #211c18;--mantle: #1a1511;--crust: #130f0c;--text: #f0e6d6;--subtext1: #d6c9b6;--subtext0: #ac9d89;--surface0: #342c25;--surface1: #463b31;--surface2: #594b3e;--overlay0: #786959;--red: #e87a5c;--peach: #e89a67;--yellow: #e3bd6b;--green: #a7c47e;--teal: #6cc1b1;--blue: #7fa3df;--mauve: #c79ad5;--pink: #e29bb6;--flamingo: #ecae8c;--rosewater: #ecbf9c;--accent: var(--peach);--accent-strong: var(--peach);--card: #29221c;--card-border: color-mix(in srgb, var(--text) 13%, transparent);--shadow: 0 1px 2px rgba(0, 0, 0, .34), 0 12px 30px rgba(0, 0, 0, .4);--shadow-lg: 0 20px 52px rgba(0, 0, 0, .55)}*{box-sizing:border-box}html,body{height:100%}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);font-size:17px;background:var(--base);color:var(--text);line-height:1.6;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.4;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E")}:root[data-theme=dark] body:before{mix-blend-mode:screen;opacity:.5}h1,h2,h3,h4{font-family:var(--serif);font-optical-sizing:auto;line-height:1.08;font-weight:580;color:var(--text);margin:0 0 .4em;text-wrap:balance}h1{font-size:clamp(2.4rem,5.5vw,4.4rem);font-weight:540;letter-spacing:-.025em}h2{font-size:clamp(1.7rem,3.4vw,2.6rem);letter-spacing:-.018em}h3{font-size:1.3rem;letter-spacing:-.01em}p{margin:0 0 1rem;color:var(--subtext1);text-wrap:pretty}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}rf-nav,.app-main,app-root>*{position:relative;z-index:2}rf-nav{z-index:50}::selection{background:color-mix(in srgb,var(--accent) 38%,transparent);color:var(--text)}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:20px}.section{padding-block:clamp(48px,8vw,96px)}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.wrap{flex-wrap:wrap}.gap-1{gap:8px}.gap-2{gap:16px}.gap-3{gap:24px}.gap-4{gap:32px}.grow{flex:1}.muted{color:var(--subtext0)}.center{text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;color:var(--accent-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;font-size:.95rem;padding:11px 20px;border-radius:var(--radius-pill);border:1px solid transparent;cursor:pointer;transition:transform .12s ease,background .2s,box-shadow .2s,border-color .2s;text-decoration:none;min-height:44px;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent-strong);color:#fff8f1;box-shadow:0 8px 20px color-mix(in srgb,var(--accent-strong) 32%,transparent)}:root[data-theme=dark] .btn-primary{color:#211c18}.btn-primary:hover{filter:brightness(1.05);box-shadow:0 12px 26px color-mix(in srgb,var(--accent-strong) 42%,transparent)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--card-border)}.btn-ghost:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.btn-soft{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent-strong)}.btn-soft:hover{background:color-mix(in srgb,var(--accent) 26%,transparent)}.btn-sm{padding:7px 14px;min-height:36px;font-size:.85rem}.btn-block{width:100%}.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:22px}.hoverable{transition:transform .15s ease,box-shadow .2s}.hoverable:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:var(--radius-pill);font-size:.78rem;font-weight:600;background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--subtext1)}.chip.accent{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-strong)}.chip.green{background:color-mix(in srgb,var(--green) 20%,transparent);color:var(--green)}.chip.blue{background:color-mix(in srgb,var(--blue) 18%,transparent);color:var(--blue)}.chip.mauve{background:color-mix(in srgb,var(--mauve) 18%,transparent);color:var(--mauve)}input,textarea,select{font:inherit;color:var(--text);background:var(--base);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:10px 12px;width:100%;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}label{font-size:.82rem;font-weight:600;color:var(--subtext0);display:block;margin-bottom:6px}textarea{resize:vertical;min-height:90px}.avatar{border-radius:50%;object-fit:cover;background:var(--surface0);display:inline-grid;place-items:center;font-weight:700;color:var(--text);width:40px;height:40px;flex:0 0 auto;overflow:hidden}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}.stars{color:var(--yellow);letter-spacing:1px}a.link{color:var(--blue);font-weight:600}a.link:hover{text-decoration:underline}.divider{height:1px;background:var(--card-border);border:0;margin:0}:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px;border-radius:4px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.recipe-card{display:block;text-decoration:none;color:inherit;overflow:hidden}.recipe-card-hero{height:186px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden;position:relative}.recipe-card-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,transparent 32%,transparent 70%,rgba(0,0,0,.16) 100%);pointer-events:none}.recipe-card-hero-img{width:100%;height:100%;object-fit:cover}.recipe-card-emoji{font-size:3rem;opacity:.7;filter:saturate(.9) drop-shadow(0 2px 4px rgba(0,0,0,.18))}.recipe-card-badge{position:absolute;top:11px;right:11px;font-size:.68rem;z-index:1;background:color-mix(in srgb,var(--base) 82%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-transform:capitalize;color:var(--text)}.recipe-card-title{font-family:var(--serif);font-size:1.18rem;font-weight:560;margin-bottom:8px;line-height:1.18;letter-spacing:-.012em}.recipe-card:hover .recipe-card-title{color:var(--accent-strong)}.recipe-card-author{margin-top:4px}.settings-section{margin-bottom:20px}.settings-section h2{font-size:1.1rem;margin-bottom:20px;border-bottom:1px solid var(--card-border);padding-bottom:10px}.input-prefix{display:flex;align-items:center;padding:10px 12px;background:var(--mantle);border:1px solid var(--card-border);border-right:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm);color:var(--subtext0);font-size:.9rem}.input-prefix+input{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.circle-card{text-decoration:none;color:inherit;overflow:hidden}.circle-card-header{border-bottom:1px solid var(--card-border)}.circle-card-footer{padding:12px 22px;background:var(--mantle)}.circle-emoji{font-size:2rem;display:block;margin-bottom:8px}.profile-avatar{width:80px!important;height:80px!important;font-size:1.5rem!important}.profile-header{margin-bottom:32px}.member-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-pill);background:var(--mantle);text-decoration:none;color:var(--text);font-size:.88rem;transition:background .1s}.member-chip:hover{background:var(--surface0)}.ingredient-section-marker{display:flex;align-items:center;justify-content:center;width:32px;height:44px;flex-shrink:0;font-weight:700;color:var(--accent-strong);font-size:1.1rem}.step-num-badge{width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-strong);display:grid;place-items:center;font-weight:700;font-size:.85rem;flex-shrink:0;margin-top:11px}.cb-header{margin-bottom:20px;align-items:flex-start}.cb-search{margin-bottom:16px}.cb-tags{margin-bottom:20px}.page{padding-block:clamp(32px,5vw,64px)}.page-head{margin-bottom:clamp(28px,4vw,44px)}.page-eyebrow{display:block;margin-bottom:12px}.page-title{font-family:var(--serif);font-weight:560;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.025em;line-height:1.05;margin:0 0 8px}.page-sub{font-size:1.06rem;color:var(--subtext0);max-width:44rem;margin:0}.page-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.rule-list{list-style:none;margin:0;padding:0}.rule-list>*{padding-block:22px;border-top:1px solid var(--card-border)}.rule-list>*:last-child{border-bottom:1px solid var(--card-border)}.app-section{margin-top:clamp(36px,6vw,64px)}.app-section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:20px}.app-section-head h2{font-size:clamp(1.3rem,2.4vw,1.7rem);margin:0}.app-section-head .count{font-size:.9rem;color:var(--subtext0);font-weight:600}.panel{background:var(--mantle);border-radius:var(--radius);padding:clamp(20px,3vw,32px)}.lede{font-size:1.15rem;line-height:1.6;color:var(--subtext1);max-width:40rem}.cb-tabs{border-bottom:2px solid var(--card-border);margin-bottom:0}.cb-tab{background:transparent;border:none;cursor:pointer;font:inherit;font-size:.9rem;font-weight:600;color:var(--subtext0);padding:10px 16px;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.cb-tab:hover:not(:disabled){color:var(--text)}.cb-tab.active{color:var(--accent-strong);border-bottom-color:var(--accent-strong)}.cb-tab:disabled{opacity:.4;cursor:default}.cb-tab-count{font-size:.72rem;font-weight:700;background:color-mix(in srgb,var(--text) 8%,transparent);border-radius:var(--radius-pill);padding:1px 6px;margin-left:4px}.cb-tab.active .cb-tab-count{background:color-mix(in srgb,var(--accent-strong) 15%,transparent)}.btn-theme-toggle{background:transparent;border:none;cursor:pointer;font-size:1.1rem;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--subtext0);transition:background .15s,color .15s}.btn-theme-toggle:hover{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}.nutri-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);font-size:.74rem;font-weight:800;letter-spacing:.02em;color:#fff}.nutri-badge[data-grade=a]{background:#2e7d32}.nutri-badge[data-grade=b]{background:#7cb342;color:#14210a}.nutri-badge[data-grade=c]{background:#f9a825;color:#2c2521}.nutri-badge[data-grade=d]{background:#ef6c00}.nutri-badge[data-grade=e]{background:#d32f2f}
