.lp{font-size:16px;line-height:1.5;overflow-x:hidden}.lp .btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;font-family:var(--sans);font-weight:500;font-size:14px;border-radius:var(--radius-full);transition:transform var(--duration-fast);text-decoration:none}.lp .btn-primary{background:var(--accent);color:#fff}.lp .btn-primary:hover{transform:translateY(-1px);background:var(--brand)}.lp .btn-ghost{border:1px solid var(--line);color:var(--ink)}.lp .btn-ghost:hover{background:var(--paper)}.lp .lp-nav{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--paper) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.lp .lp-nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}.lp .lp-logo{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1;letter-spacing:-.015em;display:flex;align-items:center}.lp .lp-logo em{font-style:italic;color:var(--accent)}.lp .lp-nav-links{display:flex;gap:28px;font-size:13px}.lp .lp-nav-links a:hover{opacity:.65}.lp .lp-nav-right{display:flex;align-items:center;gap:14px}.lp .lp-lang-toggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;font-family:var(--mono);font-size:11px;letter-spacing:.05em}.lp .lp-lang-toggle button{padding:4px 10px;border-radius:999px;color:var(--muted)}.lp .lp-lang-toggle button.active{background:var(--ink);color:var(--paper)}.lp .lp-nav-login{padding:8px 16px;font-size:13px;font-weight:500;color:var(--ink);border:1.5px solid var(--ink);opacity:.65;border-radius:999px;transition:opacity .15s;white-space:nowrap}.lp .lp-nav-login:hover{opacity:1}.lp .lp-hero{padding-top:56px;padding-bottom:72px}.lp .lp-hero-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:32px;gap:32px}.lp .lp-hero-top .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block}.lp .lp-hero-top .meta{display:flex;gap:20px;align-items:baseline}.lp .lp-hero-headline{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:end;margin-bottom:48px}.lp .lp-hero-h1{font-family:var(--serif);font-size:clamp(42px,6vw,96px);font-weight:400;letter-spacing:-.02em;line-height:.95;margin:0}.lp .lp-hero-h1 em{font-style:italic}.lp .lp-hero-h1 .accent{color:var(--accent);font-style:italic}.lp .lp-hero-intro{max-width:460px;padding-bottom:12px}.lp .lp-hero-sub{font-size:17px;line-height:1.55;margin:0 0 24px}.lp .lp-hero-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.lp .lp-hero-trust{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.lp .lp-hero-photos{display:grid;grid-template-columns:1.1fr 1fr .85fr;gap:20px;align-items:end}.lp .lp-hero-photo-main{aspect-ratio:5/6;border-radius:4px;overflow:hidden;background:var(--paper);position:relative}.lp .lp-hero-photo-main img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.lp .lp-hero-photo-side{border-radius:4px;overflow:hidden;background:var(--paper)}.lp .lp-hero-photo-side img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.lp .photo-caption{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-top:10px;display:flex;justify-content:space-between}.lp .recipe-chip{position:absolute;background:var(--paper);color:var(--ink);padding:14px 16px;border-radius:4px;box-shadow:0 20px 40px -20px #0000004d;font-size:12px;min-width:190px}.lp .recipe-chip-top{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}.lp .recipe-chip-name{font-family:var(--serif);font-size:17px;font-weight:500;letter-spacing:-.01em;line-height:1.15}.lp .recipe-chip-score{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;font-family:var(--sans);font-weight:700;font-size:11px;color:#fff;background:var(--color-success)}.lp .lp-ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;overflow:hidden;white-space:nowrap;font-family:var(--serif);font-size:22px;letter-spacing:-.01em}.lp .lp-ticker-inner{display:inline-flex;gap:48px;animation:lp-tick 40s linear infinite}.lp .lp-ticker-inner em{font-style:italic;color:var(--muted);font-weight:400}.lp .lp-ticker-inner .sep{color:var(--accent);font-style:normal}@keyframes lp-tick{0%{transform:translate(0)}to{transform:translate(-50%)}}.lp .block{padding-top:var(--section-pad);padding-bottom:var(--section-pad);position:relative}.lp .section-head{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;margin-bottom:64px;align-items:end}.lp .section-num{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.08em}.lp .section-title{font-family:var(--serif);font-size:clamp(40px,4.6vw,72px);line-height:1;letter-spacing:-.02em;margin:8px 0 0;font-weight:400}.lp .section-title em{font-style:italic;color:var(--accent)}.lp .section-kicker{font-size:17px;max-width:480px;line-height:1.5}.lp .section-foot-rule{margin-top:28px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:20px;border-top:1px solid var(--line);display:inline-block}.lp .conditions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lp .conditions-grid--health{grid-template-columns:repeat(3,1fr)}.lp .condition-card{background:var(--paper);padding:36px 28px 40px;display:flex;flex-direction:column;gap:14px;min-height:280px;transition:background .3s}.lp .condition-card:hover{background:var(--paper)}.lp .condition-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;font-family:var(--serif);font-style:italic;font-size:20px}.lp .condition-category{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.lp .condition-name{font-family:var(--serif);font-size:22px;line-height:1.1;letter-spacing:-.01em;font-weight:500}.lp .condition-desc{font-size:14px;color:var(--muted);line-height:1.5;margin-top:auto}.lp .condition-count{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--accent);text-transform:uppercase}.lp .sport-block{background:var(--ink);color:var(--paper);padding:var(--section-pad) 0;margin:var(--section-pad) 0}.lp .sport-block .section-num{color:var(--accent)}.lp .sport-block .section-title{color:var(--paper)}.lp .sport-block .section-title em{color:var(--accent);border:none}.lp .sport-block .section-kicker{color:color-mix(in oklab,var(--paper) 70%,transparent)}.lp .sport-block .conditions-grid{background:color-mix(in oklab,var(--paper) 15%,transparent);border-top-color:color-mix(in oklab,var(--paper) 15%,transparent);border-bottom-color:color-mix(in oklab,var(--paper) 15%,transparent)}.lp .sport-block .condition-card{background:var(--ink)}.lp .sport-block .condition-card:hover{background:color-mix(in oklab,var(--ink) 85%,var(--paper))}.lp .sport-block .condition-icon{border-color:var(--paper);color:var(--paper)}.lp .sport-block .condition-category{color:color-mix(in oklab,var(--paper) 50%,transparent)}.lp .sport-block .condition-name{color:var(--paper)}.lp .sport-block .condition-desc{color:color-mix(in oklab,var(--paper) 65%,transparent)}.lp .sport-block .condition-count{color:var(--accent)}.lp .sport-block .section-foot-rule{color:color-mix(in oklab,var(--paper) 55%,transparent);border-top-color:color-mix(in oklab,var(--paper) 15%,transparent)}.lp .nutri-wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:stretch}.lp .nutri-card{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:32px;box-shadow:0 30px 60px -30px #00000026}.lp .nutri-card-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.lp .nutri-card-title{font-family:var(--serif);font-size:28px;line-height:1.1;font-weight:500;letter-spacing:-.01em;max-width:60%}.lp .nutri-meta{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;text-align:right}.lp .nutri-photo{aspect-ratio:16/10;border-radius:4px;overflow:hidden;margin-bottom:20px;background:var(--paper)}.lp .nutri-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.lp .nutri-metrics{display:grid;grid-template-columns:1fr 1fr;gap:20px 32px}.lp .metric{display:flex;flex-direction:column;gap:6px}.lp .metric-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.lp .metric-val{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-.01em}.lp .metric-val .unit{font-size:13px;color:var(--muted);font-family:var(--sans);font-weight:400}.lp .nutriscore{display:flex;align-items:center;gap:4px;margin-top:4px}.lp .nutriscore span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-family:var(--sans);font-weight:700;font-size:12px;color:#fff;opacity:.3}.lp .nutriscore span.active{opacity:1;transform:scale(1.2)}.lp .ig-bar{height:6px;background:var(--paper);border-radius:3px;position:relative;overflow:visible}.lp .ig-bar:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#038141,#85bb2f,#fecb02 60%,#ee8100,#e63312);opacity:.2}.lp .ig-bar-fill{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink)}.lp .proof-list{display:flex;flex-direction:column}.lp .proof{padding:32px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:48px 1fr;gap:24px;align-items:start}.lp .proof:first-child{padding-top:0}.lp .proof:last-child{border-bottom:none}.lp .proof-num{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.08em;padding-top:6px}.lp .proof h3{font-family:var(--serif);font-size:26px;line-height:1.15;letter-spacing:-.01em;margin:0 0 10px;font-weight:500}.lp .proof p{font-size:15px;color:var(--muted);line-height:1.55}.lp .email-section{background:var(--paper)}.lp .email-wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:72px;align-items:start}.lp .email-left ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px}.lp .email-left li{display:grid;grid-template-columns:14px 1fr;gap:16px;align-items:start;font-size:15px;line-height:1.5}.lp .email-left li:before{content:"";width:14px;height:14px;border:1px solid currentColor;border-radius:50%;margin-top:4px;display:block}.lp .email-left strong{font-weight:600;display:block;margin-bottom:2px;font-family:var(--serif);font-size:17px}.lp .email-left span{color:var(--muted)}.lp .email-preview{background:#fff;color:var(--ink);border-radius:8px;box-shadow:0 40px 80px -30px #0000004d;overflow:hidden;transform:rotate(-.8deg);transition:transform .4s}.lp .email-preview:hover{transform:rotate(0) scale(1.02)}.lp .email-head{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);font-family:var(--mono)}.lp .email-head .dots{display:flex;gap:6px}.lp .email-head .dots span{width:10px;height:10px;border-radius:50%;background:var(--line)}.lp .email-body{padding:32px 36px 40px}.lp .email-from{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--line)}.lp .email-logo{width:24px;height:24px;border-radius:6px;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-weight:600;font-style:italic;font-size:13px}.lp .email-subject{font-family:var(--serif);font-size:32px;line-height:1.05;letter-spacing:-.015em;font-weight:400;margin-bottom:8px}.lp .email-subject em{font-style:italic;color:var(--accent)}.lp .email-date{font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:28px}.lp .email-intro{font-size:15px;line-height:1.6;color:var(--ink);margin-bottom:28px}.lp .email-recipes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lp .email-recipe{border:1px solid var(--line);border-radius:6px;overflow:hidden}.lp .email-recipe-img{aspect-ratio:4/3;background:var(--line)}.lp .email-recipe-img img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.lp .email-recipe-body{padding:12px 14px 14px}.lp .email-recipe-tag{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.lp .email-recipe-name{font-family:var(--serif);font-size:15px;line-height:1.2;margin:4px 0 6px;font-weight:500}.lp .email-recipe-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.lp .ns-mini{width:18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;font-size:9px;font-weight:700;color:#fff}.lp .final-cta{text-align:center;padding:140px 0;border-top:1px solid var(--line)}.lp .final-cta .display{font-family:var(--serif);font-size:clamp(40px,5vw,80px);font-weight:400;letter-spacing:-.02em;line-height:1.05;margin:0}.lp .final-cta .display em{font-style:italic;color:var(--accent)}.lp .final-cta p{margin:28px auto 36px;font-size:17px;max-width:480px;color:var(--muted)}.lp .final-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.lp footer{border-top:1px solid var(--line);padding:60px 0 40px}.lp .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:60px}.lp .footer-grid h4{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 16px;font-weight:500}.lp .footer-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;font-size:14px}.lp .footer-grid ul a:hover{opacity:.65}.lp .footer-bottom{display:flex;justify-content:space-between;padding-top:28px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}.lp .footer-wordmark{display:flex;align-items:center;gap:14px;font-family:var(--serif);font-size:28px;line-height:1;font-weight:500;letter-spacing:-.015em;margin:0 0 16px}.lp .footer-wordmark em{font-style:italic;color:var(--accent)}@media (max-width: 1023px){.lp .lp-hero-headline,.lp .lp-hero-photos{grid-template-columns:1fr}.lp .nutri-wrap{grid-template-columns:1fr;gap:48px}.lp .conditions-grid,.lp .conditions-grid--health{grid-template-columns:repeat(2,1fr)}.lp .email-wrap{grid-template-columns:1fr}.lp .footer-grid{grid-template-columns:1fr 1fr}.lp .section-head{grid-template-columns:1fr;gap:16px}.lp .lp-nav-links{display:none}}@media (max-width: 639px){.lp .conditions-grid,.lp .conditions-grid--health,.lp .footer-grid{grid-template-columns:1fr}.lp .lp-nav-right .btn{display:none}.lp .lp-hero-photos{grid-template-columns:1fr}.lp .lp-hero{padding-top:32px;padding-bottom:48px}.lp .lp-nav-inner{height:56px}.lp .lp-nav-right{gap:8px}.lp .email-recipes{grid-template-columns:1fr}.lp .final-cta{padding:80px 0}.lp .nutri-card{padding:22px}.lp .nutri-metrics{grid-template-columns:1fr 1fr;gap:16px 20px}.lp .footer-bottom{flex-direction:column;gap:8px;align-items:flex-start}}:root{--sauge-ink:#12120f;--sauge-paper:#f3efe6;--sauge-paper-2:#ebe5d6;--sauge-green:#2f4a3a;--sauge-accent:#c8553d;--sauge-muted:#6f6a5d;--sauge-line:rgba(18,18,15,.14);--encre-ink:#0b0b0a;--encre-paper:#efe8d9;--encre-paper-2:#e3dac5;--encre-green:#c4f24a;--encre-accent:#ff5722;--encre-muted:#8a8577;--encre-line:rgba(11,11,10,.18);--agrume-ink:#2a1a0a;--agrume-paper:#fdf4e3;--agrume-paper-2:#f6e8cc;--agrume-green:#3d5a3d;--agrume-accent:#e85d1e;--agrume-muted:#8a7456;--agrume-line:rgba(42,26,10,.16);--minuit-ink:#f2ece0;--minuit-paper:#0f1612;--minuit-paper-2:#1a2620;--minuit-green:#5ee0a3;--minuit-accent:#ffb347;--minuit-muted:#7a8a82;--minuit-line:rgba(242,236,224,.12);--grenade-ink:#1e0f14;--grenade-paper:#f8ede8;--grenade-paper-2:#f1dcd4;--grenade-green:#8b2a3d;--grenade-accent:#e8a798;--grenade-muted:#8a6a70;--grenade-line:rgba(30,15,20,.15);--ink: var(--sauge-ink);--paper: var(--sauge-paper);--paper-2: var(--sauge-paper-2);--brand: var(--sauge-green);--accent: var(--sauge-accent);--muted: var(--sauge-muted);--line: var(--sauge-line);--serif: "Fraunces", Georgia, serif;--serif-display: "Fraunces", Georgia, serif;--sans: "Inter", -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--pad-x: clamp(20px, 3vw, 40px);--gap: 24px;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 12px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(18,18,15,.04), 0 1px 4px rgba(18,18,15,.06);--shadow-md: 0 2px 4px rgba(18,18,15,.06), 0 4px 16px rgba(18,18,15,.1);--shadow-lg: 0 4px 8px rgba(18,18,15,.08), 0 12px 32px rgba(18,18,15,.14);--duration-fast: .15s;--duration-normal: .25s;--color-brand: var(--accent);--color-primary: var(--accent);--color-primary-hover: var(--brand);--color-primary-light: var(--paper-2);--color-bg: var(--paper);--color-surface: var(--paper);--color-surface-hover: var(--paper-2);--color-sidebar: var(--ink);--color-sidebar-hover: color-mix(in oklab, var(--ink) 85%, transparent);--color-sidebar-text: var(--paper);--color-sidebar-text-muted: var(--muted);--color-text-primary: var(--ink);--color-text-secondary: var(--muted);--color-text-muted: var(--muted);--color-border: var(--line);--color-border-light: var(--line);--color-error: #c0372e;--color-error-bg: #fdf2f2;--color-success: #1a7a3a;--color-success-bg: #dde5d0;--font-display: var(--serif);--font-body: var(--sans);--font-mono: var(--mono)}[data-typo=grotesk]{--serif: "Space Grotesk", sans-serif;--serif-display: "Space Grotesk", sans-serif}[data-typo=instrument]{--serif: "Instrument Serif", Georgia, serif;--serif-display: "Instrument Serif", Georgia, serif}[data-density=dense]{--gap: 18px}[data-density=airy]{--gap: 32px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden;max-width:100vw}body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:14px;line-height:1.55;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--serif, "Fraunces", Georgia, serif);font-weight:500;color:var(--ink);margin:0}h1{font-size:38px;line-height:1.05;letter-spacing:-.02em;font-family:Fraunces,Georgia,serif}h2{font-size:28px;line-height:1.1;letter-spacing:-.015em}h3{font-size:21px;line-height:1.15;letter-spacing:-.01em}h4{font-size:17px;line-height:1.2;letter-spacing:-.005em}h5{font-size:14px;line-height:1.25;letter-spacing:0}h6{font-size:12px;line-height:1.3;letter-spacing:0}a:hover{color:var(--accent)}button{cursor:pointer;font-family:inherit;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;color:inherit;font-size:1rem}img{max-width:100%;height:auto;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width: 639px){button,a,[role=button],input[type=checkbox],input[type=radio]{min-height:44px;min-width:44px}html{-webkit-text-size-adjust:100%}input,select,textarea{font-size:16px!important}}.mobile-overlay{position:fixed;inset:0;background:#00000080;z-index:40;opacity:0;pointer-events:none;transition:opacity .3s ease}.mobile-overlay.active{opacity:1;pointer-events:auto}.sidebar-mobile{transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar-mobile.open{transform:translate(0)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--paper);border-top:1px solid var(--line);padding:.25rem 0;padding-bottom:env(safe-area-inset-bottom,0);display:flex;justify-content:space-around;align-items:center;box-shadow:0 -2px 10px #12120f14}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.35rem .5rem;min-width:56px;min-height:48px;border:none;background:transparent;cursor:pointer;text-decoration:none;color:var(--muted);font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;transition:color .15s;-webkit-tap-highlight-color:transparent}.bottom-nav-item.active{color:var(--ink)}.bottom-nav-item span{line-height:1}@media (max-width: 1023px){.main-content-with-bottom-nav{padding-bottom:calc(64px + env(safe-area-inset-bottom,0))}}.date-filter-scroll::-webkit-scrollbar{height:4px}.date-filter-scroll::-webkit-scrollbar-track{background:transparent}.date-filter-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}:root{--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--spacing-20: 80px;--z-tabs: 20;--z-fab: 25;--z-bottom-nav: 30;--z-overlay: 40;--z-quick-nav: 49;--z-top-bar: 50;--z-scrim: 80;--z-drawer: 90;--z-modal: 1000;--m-top-h: 97px;--m-quick-h: 73px;--space-0: 0px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 60px}:root{--sauge-ink:#12120f;--sauge-paper:#f3efe6;--sauge-paper-2:#ebe5d6;--sauge-green:#2f4a3a;--sauge-accent:#c8553d;--sauge-muted:#6f6a5d;--sauge-line:rgba(18,18,15,.14);--encre-ink:#0b0b0a;--encre-paper:#efe8d9;--encre-paper-2:#e3dac5;--encre-green:#c4f24a;--encre-accent:#ff5722;--encre-muted:#8a8577;--encre-line:rgba(11,11,10,.18);--agrume-ink:#2a1a0a;--agrume-paper:#fdf4e3;--agrume-paper-2:#f6e8cc;--agrume-green:#3d5a3d;--agrume-accent:#e85d1e;--agrume-muted:#8a7456;--agrume-line:rgba(42,26,10,.16);--minuit-ink:#f2ece0;--minuit-paper:#0f1612;--minuit-paper-2:#1a2620;--minuit-green:#5ee0a3;--minuit-accent:#ffb347;--minuit-muted:#7a8a82;--minuit-line:rgba(242,236,224,.12);--grenade-ink:#1e0f14;--grenade-paper:#f8ede8;--grenade-paper-2:#f1dcd4;--grenade-green:#8b2a3d;--grenade-accent:#e8a798;--grenade-muted:#8a6a70;--grenade-line:rgba(30,15,20,.15);--ink:var(--sauge-ink);--paper:var(--sauge-paper);--paper-2:var(--sauge-paper-2);--brand:var(--sauge-green);--accent:var(--sauge-accent);--muted:var(--sauge-muted);--line:var(--sauge-line);--serif:"Fraunces",Georgia,serif;--serif-display:"Fraunces",Georgia,serif;--sans:"Inter",-apple-system,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--pad-x:clamp(20px,3vw,40px);--gap:24px}[data-typo=grotesk]{--serif:"Space Grotesk",sans-serif;--serif-display:"Space Grotesk",sans-serif}[data-typo=instrument]{--serif:"Instrument Serif",Georgia,serif;--serif-display:"Instrument Serif",Georgia,serif}[data-palette=sauge]{--ink:var(--sauge-ink);--paper:var(--sauge-paper);--paper-2:var(--sauge-paper-2);--brand:var(--sauge-green);--accent:var(--sauge-accent);--muted:var(--sauge-muted);--line:var(--sauge-line)}[data-palette=encre]{--ink:var(--encre-ink);--paper:var(--encre-paper);--paper-2:var(--encre-paper-2);--brand:var(--encre-green);--accent:var(--encre-accent);--muted:var(--encre-muted);--line:var(--encre-line)}[data-palette=agrume]{--ink:var(--agrume-ink);--paper:var(--agrume-paper);--paper-2:var(--agrume-paper-2);--brand:var(--agrume-green);--accent:var(--agrume-accent);--muted:var(--agrume-muted);--line:var(--agrume-line)}[data-palette=minuit]{--ink:var(--minuit-ink);--paper:var(--minuit-paper);--paper-2:var(--minuit-paper-2);--brand:var(--minuit-green);--accent:var(--minuit-accent);--muted:var(--minuit-muted);--line:var(--minuit-line)}[data-palette=grenade]{--ink:var(--grenade-ink);--paper:var(--grenade-paper);--paper-2:var(--grenade-paper-2);--brand:var(--grenade-green);--accent:var(--grenade-accent);--muted:var(--grenade-muted);--line:var(--grenade-line)}[data-density=dense]{--gap:18px}[data-density=airy]{--gap:32px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;color:inherit}.eyebrow{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:500}.serif{font-family:var(--serif)}.tt-display{font-family:var(--serif);font-weight:400;font-size:56px;letter-spacing:-.025em;line-height:.95}.tt-display em{font-style:italic;color:var(--accent)}.tt-h1{font-family:var(--serif);font-weight:500;font-size:38px;letter-spacing:-.02em;line-height:1.05}.tt-h1 em{font-style:italic;color:var(--accent)}.tt-h2{font-family:var(--serif);font-weight:500;font-size:28px;letter-spacing:-.015em;line-height:1.1}.tt-h3{font-family:var(--serif);font-weight:500;font-size:21px;letter-spacing:-.01em;line-height:1.15}.tt-h4{font-family:var(--serif);font-weight:500;font-size:17px;letter-spacing:-.005em;line-height:1.2}.tt-lead{font-family:var(--sans);font-weight:400;font-size:16px;color:var(--muted);line-height:1.55}.tt-body{font-family:var(--sans);font-weight:400;font-size:14px;line-height:1.55}.tt-small{font-family:var(--sans);font-size:12px;color:var(--muted)}.tt-mono{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink)}.tt-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}.app{display:grid;grid-template-columns:264px 1fr;min-height:100vh}aside.sidebar{border-right:1px solid var(--line);padding:22px 18px 18px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh;background:var(--paper)}[data-sidebar=tinted] aside.sidebar{background:var(--paper-2);border-right-color:transparent}[data-sidebar=tinted] aside.sidebar .nav-item:hover{background:color-mix(in oklab,var(--ink) 8%,transparent)}[data-sidebar=tinted] aside.sidebar .side-brand,[data-sidebar=tinted] aside.sidebar .side-foot{border-color:color-mix(in oklab,var(--ink) 12%,transparent)}[data-sidebar=dark] aside.sidebar{background:var(--ink);color:var(--paper);border-right-color:transparent}[data-sidebar=dark] aside.sidebar .side-brand,[data-sidebar=dark] aside.sidebar .side-foot{border-color:color-mix(in oklab,var(--paper) 12%,transparent)}[data-sidebar=dark] aside.sidebar .side-brand em{color:var(--brand);font-style:italic}[data-palette=encre][data-sidebar=dark] aside.sidebar .side-brand em{color:var(--brand);font-style:normal}[data-sidebar=dark] aside.sidebar .nav-item{color:color-mix(in oklab,var(--paper) 80%,transparent)}[data-sidebar=dark] aside.sidebar .nav-item:hover{background:color-mix(in oklab,var(--paper) 8%,transparent);color:var(--paper)}[data-sidebar=dark] aside.sidebar .nav-item.current{background:var(--paper);color:var(--ink)}[data-palette=encre][data-sidebar=dark] aside.sidebar .nav-item.current,[data-palette=minuit][data-sidebar=dark] aside.sidebar .nav-item.current{background:var(--brand);color:#0f1612}[data-sidebar=dark] aside.sidebar .nav-section h5,[data-sidebar=dark] aside.sidebar .side-meta,[data-sidebar=dark] aside.sidebar .side-foot .signout{color:color-mix(in oklab,var(--paper) 50%,transparent)}[data-sidebar=dark] aside.sidebar .side-foot .signout:hover{background:color-mix(in oklab,var(--paper) 8%,transparent);color:var(--paper)}[data-sidebar=dark] aside.sidebar .nav-item .num{color:color-mix(in oklab,var(--paper) 50%,transparent);opacity:1}[data-sidebar=dark] aside.sidebar .nav-item.current .num{color:var(--ink);opacity:.6}.side-brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:-.015em;line-height:1;padding:4px 6px 12px;border-bottom:1px solid var(--line)}.side-brand em{font-style:italic;color:var(--accent)}[data-palette=encre] .side-brand em{color:var(--brand);font-style:normal}.side-brand .mark{width:30px;height:30px;border-radius:8px;background:var(--brand);color:var(--paper);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-weight:600;font-size:16px;flex-shrink:0}[data-palette=encre] .side-brand .mark,[data-palette=minuit] .side-brand .mark{color:#0f1612}.user-block{display:flex;align-items:center;gap:11px;padding:6px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;font-family:var(--serif);font-weight:500;font-style:italic;font-size:15px;color:var(--ink);flex-shrink:0}.user-name{font-family:var(--serif);font-size:15px;font-weight:500;letter-spacing:-.01em;line-height:1.15}.user-mail{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.05em;margin-top:2px}.nav-section{display:flex;flex-direction:column;gap:1px}.nav-section h5{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:8px;font-weight:500}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:8px;font-size:13px;color:var(--ink);font-weight:400;line-height:1;position:relative;transition:background .15s}.nav-item:hover{background:var(--paper-2)}.nav-item.current{background:var(--ink);color:var(--paper);font-weight:500}[data-palette=encre] .nav-item.current,[data-palette=minuit] .nav-item.current{background:var(--brand);color:#0f1612}.nav-item .num{font-family:var(--mono);font-size:9px;letter-spacing:.08em;opacity:.5;width:16px;flex-shrink:0}.nav-item.current .num{opacity:.7}.nav-item .badge-mini{margin-left:auto;font-family:var(--mono);font-size:9px;background:var(--accent);color:#fff;padding:2px 6px;border-radius:999px;letter-spacing:.04em}[data-palette=encre] .nav-item .badge-mini{background:var(--brand);color:#0f1612}.nav-item.staff{color:var(--accent)}[data-palette=encre] .nav-item.staff{color:var(--brand)}.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:14px;padding-top:14px;border-top:1px solid var(--line)}.side-foot .signout{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border-radius:8px;font-size:13px;color:var(--muted)}.side-foot .signout:hover{background:var(--paper-2);color:var(--ink)}.side-meta{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;padding:0 4px}main.dash{padding:28px var(--pad-x) 60px;display:flex;flex-direction:column;gap:32px;max-width:1280px}.dash-header{display:flex;justify-content:space-between;align-items:end;gap:32px;padding-bottom:22px;border-bottom:1px solid var(--line)}.dash-h1{font-family:var(--serif-display);font-size:clamp(40px,4.4vw,60px);line-height:.98;letter-spacing:-.02em;margin:6px 0 0;font-weight:400}.dash-h1 em{font-style:italic;color:var(--accent)}[data-palette=encre] .dash-h1 em{color:var(--brand);font-style:normal;border-bottom:3px solid var(--brand)}.dash-sub{font-size:15px;color:var(--muted);margin:10px 0 0;max-width:540px}.dash-meta{text-align:right;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);line-height:1.7}.dash-meta strong{color:var(--ink);font-family:var(--serif);font-weight:500;font-size:14px;letter-spacing:-.01em;display:block;text-transform:none;line-height:1.25;margin-bottom:2px}.sec-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line);gap:24px}.sec-num{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.sec-title{font-family:var(--serif);font-size:26px;line-height:1;letter-spacing:-.015em;margin:6px 0 0;font-weight:500}.sec-title em{font-style:italic;color:var(--accent)}[data-palette=encre] .sec-title em{color:var(--brand);font-style:normal}.sec-action{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--ink);text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:2px}.sec-action:hover{color:var(--accent);border-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;font-size:13px;font-weight:500;border-radius:999px;background:var(--ink);color:var(--paper);transition:transform .15s;line-height:1}[data-palette=encre] .btn,[data-palette=minuit] .btn{background:var(--brand);color:#0f1612}.btn:hover{transform:translateY(-1px)}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}[data-palette=encre] .btn.ghost,[data-palette=minuit] .btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.danger{background:#c0372e;color:#fff}.btn.warn{background:var(--accent);color:#fff}[data-palette=encre] .btn.warn{background:var(--brand);color:#0f1612}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.sm{padding:8px 14px;font-size:12px}.btn.xs{padding:5px 10px;font-size:11px;gap:5px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);line-height:1.2;cursor:pointer;transition:all .15s}.pill:hover{background:var(--paper-2)}.pill.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}[data-palette=encre] .pill.active,[data-palette=minuit] .pill.active{background:var(--brand);color:#0f1612;border-color:var(--brand)}.pill .dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}[data-palette=encre] .pill .dot{background:var(--brand)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:4px 10px;border-radius:999px;background:var(--paper-2);color:var(--ink);font-weight:500;line-height:1.2}.badge.premium{background:var(--ink);color:var(--paper)}[data-palette=encre] .badge.premium,[data-palette=minuit] .badge.premium{background:var(--brand);color:#0f1612}.badge.trial{background:var(--accent);color:#fff}[data-palette=encre] .badge.trial{background:var(--brand);color:#0f1612}.badge.ok{background:#1a7a3a;color:#fff}.badge.warn{background:var(--accent);color:#fff}.badge.muted{background:var(--paper-2);color:var(--muted)}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.input,.select,.textarea{width:100%;padding:11px 14px;background:var(--paper);border:1px solid var(--line);border-radius:3px;font-family:var(--sans);font-size:14px;color:var(--ink);outline:none;transition:border-color .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--ink)}.textarea{min-height:80px;resize:vertical;line-height:1.5}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.field-help{font-size:12px;color:var(--muted);line-height:1.4}.search-wrap{display:flex;align-items:center;gap:10px;padding:11px 16px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}.search-wrap input{flex:1;background:transparent;border:0;outline:none;font-size:14px;color:var(--ink)}.search-wrap input::-moz-placeholder{color:var(--muted)}.search-wrap input::placeholder{color:var(--muted)}.search-wrap svg{width:14px;height:14px;opacity:.6;flex-shrink:0}.search-wrap .clear{font-family:var(--mono);font-size:11px;color:var(--muted);padding:2px 6px;border-radius:4px}.search-wrap .clear:hover{background:var(--paper-2);color:var(--ink)}.card{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:22px 24px}.card.tight{padding:16px 18px}.card.lg{padding:28px 30px}.card-title{font-family:var(--serif);font-size:20px;letter-spacing:-.01em;font-weight:500;margin:0 0 4px;line-height:1.15}.card-sub{font-size:13px;color:var(--muted);margin:0 0 16px}.cluster-grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden}.cluster-grid>*{background:var(--paper)}.cluster-grid.cols-2{grid-template-columns:repeat(2,1fr)}.cluster-grid.cols-3{grid-template-columns:repeat(3,1fr)}.cluster-grid.cols-4{grid-template-columns:repeat(4,1fr)}.recipe-card{display:flex;flex-direction:column;cursor:pointer}.recipe-img{aspect-ratio:5/6;border-radius:var(--radius-md);overflow:hidden;background:var(--paper-2);position:relative}.recipe-img img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .5s}.recipe-card:hover .recipe-img img{transform:scale(1.04)}.recipe-ribbon{position:absolute;top:10px;left:10px;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;background:var(--paper);color:var(--ink);padding:4px 8px;border-radius:var(--radius-sm)}.ns-badge{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;color:#fff;font-weight:700;font-size:11px;font-family:var(--sans)}.recipe-img .ns-badge{position:absolute;top:10px;right:10px}.recipe-body{padding:12px 0 0;display:flex;flex-direction:column;gap:6px}.recipe-meta-top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.recipe-name{font-family:var(--serif);font-size:17px;line-height:1.2;font-weight:500;letter-spacing:-.01em;margin:0}.recipe-tags{display:flex;flex-wrap:wrap;gap:4px}.recipe-tag{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--brand);padding:2px 7px;border:1px solid var(--line);border-radius:var(--radius-full)}[data-palette=encre] .recipe-tag{color:var(--ink)}.fav-btn{position:absolute;top:10px;right:42px;width:28px;height:28px;border-radius:50%;background:color-mix(in oklab,var(--paper) 90%,transparent);backdrop-filter:blur(6px);display:grid;place-items:center;font-size:13px;color:var(--ink);transition:all var(--duration-fast)}.fav-btn:hover{transform:scale(1.08)}.fav-btn.on{color:var(--accent)}.fav-btn.on:before{content:"♥"}.fav-btn:not(.on):before{content:"♡"}.rate-btns{display:flex;gap:6px}.rate-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--paper);display:grid;place-items:center;transition:all .15s;color:var(--ink)}.rate-btn:hover{background:var(--paper-2);transform:scale(1.05)}.rate-btn.on-up{background:var(--brand);border-color:var(--brand);color:var(--paper)}[data-palette=encre] .rate-btn.on-up,[data-palette=minuit] .rate-btn.on-up{color:#0f1612}.rate-btn.on-down{background:var(--accent);border-color:var(--accent);color:#fff}[data-palette=encre] .rate-btn.on-down{background:var(--brand);color:#0f1612}.rate-btn svg{width:13px;height:13px}.alert{padding:14px 18px;border-radius:6px;display:flex;gap:14px;align-items:start;font-size:13px;line-height:1.5}.alert.info{background:var(--paper-2);color:var(--ink)}.alert.ok{background:#dde5d0;color:#2c4a39;border:1px solid rgba(47,74,58,.22)}.alert.warn{background:#ead7b0;color:#6e4f1a;border:1px solid rgba(110,79,26,.24)}.alert.danger{background:#ecd0c2;color:#7d3526;border:1px solid rgba(125,53,38,.25)}.alert .ic{width:18px;height:18px;flex-shrink:0;border-radius:50%;background:currentColor;display:grid;place-items:center;color:var(--paper);font-family:var(--serif);font-style:italic;font-size:11px;font-weight:600}.alert.ok .ic{color:#dde5d0}.alert.warn .ic{color:#ead7b0}.alert.danger .ic{color:#ecd0c2}.alert .body strong{display:block;margin-bottom:2px;font-family:var(--serif);font-weight:500;font-size:14px;letter-spacing:-.01em}.tweaks{position:fixed;bottom:24px;right:24px;background:#12120f;color:#f3efe6;border-radius:14px;padding:18px 20px 20px;width:280px;z-index:100;box-shadow:0 20px 50px -10px #0006;font-family:var(--sans);display:none}.tweaks.on{display:block}.tweaks h5{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 6px;opacity:.6;font-weight:500}.tweaks-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tweaks-top .title{font-family:var(--serif);font-size:17px;letter-spacing:-.01em}.tweaks .row{margin-bottom:14px}.tweaks .seg{display:flex;flex-wrap:wrap;gap:4px;background:#ffffff14;border-radius:8px;padding:3px}.tweaks .seg button{flex:1;min-width:0;padding:7px 8px;border-radius:6px;font-size:11px;color:#fff9;font-weight:500;background:transparent;border:0;cursor:pointer;font-family:inherit}.tweaks .seg button.active{background:#f3efe6;color:#12120f}.tweaks .close{opacity:.5;font-family:var(--mono);font-size:11px;background:transparent;border:0;color:inherit;cursor:pointer}.check{display:flex;align-items:center;gap:10px;font-size:13px;cursor:pointer;line-height:1.4;padding:6px 0}.check input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:1px solid var(--line);border-radius:4px;background:var(--paper);position:relative;cursor:pointer;flex-shrink:0;margin:0}.check input:checked{background:var(--ink);border-color:var(--ink)}[data-palette=encre] .check input:checked,[data-palette=minuit] .check input:checked{background:var(--brand);border-color:var(--brand)}.check input:checked:after{content:"";position:absolute;left:4px;top:1px;width:6px;height:9px;border:solid var(--paper);border-width:0 2px 2px 0;transform:rotate(45deg)}[data-palette=minuit] .check input:checked:after,[data-palette=encre] .check input:checked:after{border-color:#0f1612}.check.radio input{border-radius:50%}.check.radio input:checked:after{left:4px;top:4px;width:6px;height:6px;border:0;background:var(--paper);border-radius:50%;transform:none}[data-palette=encre] .check.radio input:checked:after,[data-palette=minuit] .check.radio input:checked:after{background:#0f1612}.check .desc{display:block;font-size:12px;color:var(--muted);margin-top:2px;font-weight:400}.check span.lab{display:block;font-weight:500}.toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.toggle .track{width:34px;height:20px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line);position:relative;transition:background .15s}.toggle .track:after{content:"";position:absolute;top:1px;left:1px;width:16px;height:16px;border-radius:50%;background:var(--ink);transition:transform .18s}.toggle.on .track{background:var(--ink);border-color:var(--ink)}.toggle.on .track:after{transform:translate(14px);background:var(--paper)}[data-palette=encre] .toggle.on .track,[data-palette=minuit] .toggle.on .track{background:var(--brand);border-color:var(--brand)}[data-palette=encre] .toggle.on .track:after,[data-palette=minuit] .toggle.on .track:after{background:#0f1612}.toggle .lab{font-size:13px}.empty{text-align:center;padding:72px 20px;color:var(--muted);border:1px dashed var(--line);border-radius:6px}.empty .glyph{width:56px;height:56px;border-radius:50%;background:var(--paper-2);display:grid;place-items:center;margin:0 auto 18px;font-family:var(--serif);font-size:22px;font-style:italic;color:var(--ink)}.empty h3{font-family:var(--serif);font-size:24px;color:var(--ink);margin:0 0 8px;font-weight:500;letter-spacing:-.01em}.empty p{margin:0 0 18px;font-size:13px;line-height:1.55}input[type=range]{width:100%;accent-color:var(--ink)}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;padding:10px 14px;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:500;border-bottom:1px solid var(--line)}.table td{padding:14px;border-bottom:1px solid var(--line);vertical-align:top}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--paper-2)}.progress{height:4px;background:var(--paper-2);border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--ink);border-radius:999px;transition:width .35s}[data-palette=encre] .progress>div,[data-palette=minuit] .progress>div{background:var(--brand)}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:var(--ink);color:var(--paper);border-radius:999px;font-size:12px;line-height:1.2}[data-palette=encre] .chip,[data-palette=minuit] .chip{background:var(--brand);color:#0f1612}.chip button{opacity:.7;font-size:14px;line-height:1;margin-left:2px;color:inherit}.filter-toggle{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.filter-toggle.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter-toggle svg{width:14px;height:14px;flex-shrink:0}.filter-toggle .ft-count{font-family:var(--sans);font-size:10px;letter-spacing:0;background:var(--accent);color:#fff;border-radius:999px;padding:1px 7px}.filter-toggle.on .ft-count{background:var(--paper);color:var(--ink)}.cat-filters{width:240px;display:flex;flex-direction:column}.cat-filters .filter-group{padding:20px 0;border-bottom:1px solid var(--line)}.cat-filters .filter-group:first-child{padding-top:0}.cat-filters .filter-group:last-child{border-bottom:0}.cat-filters .filter-group h4{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 12px;font-weight:500}.cat-filters .filter-list{display:flex;flex-direction:column;gap:6px}.cat-filters .filter-item{display:flex;align-items:center;gap:10px;font-size:13px;cursor:pointer;padding:3px 0}.cat-filters .filter-item input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border:1px solid var(--line);border-radius:3px;background:var(--paper);position:relative;flex-shrink:0;cursor:pointer}.cat-filters .filter-item input[type=checkbox]:checked{background:var(--ink);border-color:var(--ink)}.cat-filters .filter-item input[type=checkbox]:checked:after{content:"";position:absolute;left:3px;top:0;width:6px;height:9px;border:solid var(--paper);border-width:0 2px 2px 0;transform:rotate(45deg)}[data-palette=encre] .cat-filters .filter-item input:checked,[data-palette=minuit] .cat-filters .filter-item input:checked{background:var(--brand);border-color:var(--brand)}.cat-filters .filter-count{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.05em}.cat-filters .range-display{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.08em;margin-top:6px;text-transform:uppercase}.cat-filters .clear-all{font-family:var(--mono);font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-top:14px;text-decoration:underline;text-underline-offset:3px;background:transparent;border:0;padding:0;cursor:pointer;align-self:flex-start}.filters-layout{display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:start}@media (max-width:1023px){.filters-layout{grid-template-columns:1fr}}.cat-sort{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}.cat-sort .l{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.cat-sort select{border:0;background:transparent;font-size:13px;color:var(--ink);outline:none;cursor:pointer}.view-toggle{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px;background:var(--paper)}.view-toggle button{padding:6px 14px;border-radius:999px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);background:transparent;border:0;cursor:pointer;transition:all .15s}.view-toggle button.active{background:var(--ink);color:var(--paper)}[data-palette=encre] .view-toggle button.active,[data-palette=minuit] .view-toggle button.active{background:var(--brand);color:#0f1612}.pagination{display:flex;justify-content:center;align-items:center;gap:6px;padding:24px 0}.pagination .prev,.pagination .next{padding:0 14px;height:34px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:transparent;border:0;cursor:pointer}.pagination .prev:hover,.pagination .next:hover{color:var(--ink)}.pagination .page-btn{width:34px;height:34px;border-radius:50%;font-size:13px;display:grid;place-items:center;color:var(--muted);background:transparent;border:0;cursor:pointer;transition:all .15s}.pagination .page-btn:hover{background:var(--paper-2);color:var(--ink)}.pagination .page-btn.active{background:var(--ink);color:var(--paper)}[data-palette=encre] .pagination .page-btn.active,[data-palette=minuit] .pagination .page-btn.active{background:var(--brand);color:#0f1612}.pagination .ellipsis{color:var(--muted);padding:0 6px}.recipe-tile{display:grid;grid-template-columns:200px 1fr auto;gap:24px;align-items:center;padding:18px 22px;border-radius:6px;background:var(--paper);border:1px solid var(--line);transition:border-color .15s}.recipe-tile:hover{border-color:var(--ink)}.recipe-tile .thumb{width:200px;aspect-ratio:5/4;border-radius:4px;overflow:hidden;background:var(--paper-2);position:relative;display:grid;place-items:center}.recipe-tile .thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.recipe-tile h3{font-family:var(--serif);font-size:21px;letter-spacing:-.015em;line-height:1.15;margin:0 0 6px;font-weight:500}.recipe-tile .meta{display:flex;flex-wrap:wrap;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-bottom:8px}.recipe-tile .meta span:before{content:"·";margin-right:10px;color:var(--line)}.recipe-tile .meta span:first-child:before{content:"";margin:0}.recipe-tile .why{font-size:13px;color:var(--muted);line-height:1.4;margin:4px 0 8px}.recipe-tile .ing-list{display:flex;flex-wrap:wrap;gap:5px}.recipe-tile .ing{font-size:11px;background:var(--paper-2);padding:3px 9px;border-radius:999px;color:var(--ink)}.recipe-tile .actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.cat-list-row{display:grid;grid-template-columns:140px 1fr auto;gap:22px;align-items:center;padding:18px 22px;border:1px solid var(--line);border-radius:6px;background:var(--paper);transition:border-color .15s}.cat-list-row:hover{border-color:var(--ink)}.cat-list-row .thumb{width:140px;aspect-ratio:1;border-radius:4px;overflow:hidden;background:var(--paper-2)}.cat-list-row .thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.cat-list-row h3{font-family:var(--serif);font-size:21px;letter-spacing:-.015em;font-weight:500;margin:0 0 6px}.cat-list-row .desc{font-size:13px;color:var(--muted);line-height:1.45;margin:0 0 8px;max-width:520px}.cat-list-row .m{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;gap:14px;margin-bottom:8px}.cat-list-row .nutri{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:right}.cat-list-row .nutri .vlabel{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.cat-list-row .nutri .vval{font-family:var(--serif);font-size:18px;font-weight:500;letter-spacing:-.01em;display:block;margin-top:2px}.cat-list-row .nutri .vval .u{font-size:11px;color:var(--muted);font-family:var(--sans)}.fav-row{display:grid;grid-template-columns:88px 1fr auto;gap:18px;align-items:center;padding:14px 18px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.fav-row .thumb{width:88px;aspect-ratio:5/4;border-radius:4px;overflow:hidden;background:var(--paper-2)}.fav-row .thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.fav-row h3{font-family:var(--serif);font-size:18px;letter-spacing:-.01em;font-weight:500;margin:0 0 4px}.fav-row .m{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;display:flex;gap:14px}.fav-row .tags{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap}.fav-row .heart{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--paper);display:grid;place-items:center;color:var(--accent);font-size:18px;cursor:pointer;transition:all .15s}.fav-row .heart.on{background:var(--accent);color:var(--paper);border-color:var(--accent)}@media (max-width:1023px){.cluster-grid.cols-3,.cluster-grid.cols-4{grid-template-columns:repeat(2,1fr)}.recipe-tile{grid-template-columns:140px 1fr;gap:18px}.recipe-tile .actions{grid-column:1/-1;flex-direction:row}}@media (max-width:639px){.app{grid-template-columns:1fr}aside.sidebar{position:static;height:auto}.cluster-grid.cols-2,.cluster-grid.cols-3,.cluster-grid.cols-4,.recipe-tile{grid-template-columns:1fr}.recipe-tile .thumb{width:100%}.cat-list-row{grid-template-columns:1fr}}.lp,.cat-public{--pad-x: clamp(24px, 5vw, 72px);--section-pad: 120px;font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh}.lp *,.lp *:before,.lp *:after,.cat-public *,.cat-public *:before,.cat-public *:after{box-sizing:border-box}.lp a,.cat-public a{color:inherit;text-decoration:none}.lp button,.cat-public button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}.lp h1,.lp h2,.lp h3,.lp h4,.lp h5,.lp h6,.cat-public h1,.cat-public h2,.cat-public h3,.cat-public h4,.cat-public h5,.cat-public h6{font-family:var(--serif);color:var(--ink);line-height:1}.lp p,.cat-public p{margin:0}.lp .wrap,.cat-public .wrap{padding-left:var(--pad-x);padding-right:var(--pad-x)}.lp .eyebrow,.cat-public .eyebrow{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:500}.lp .logo,.cat-public .logo{display:inline-flex;align-items:center;gap:12px;font-family:var(--serif);font-weight:500;font-size:22px;line-height:1;letter-spacing:-.015em;flex-shrink:0}.lp .logo em,.cat-public .logo em{font-style:italic;color:var(--accent)}.lp .ns-a,.cat-public .ns-a{background:#038141}.lp .ns-b,.cat-public .ns-b{background:#85bb2f}.lp .ns-c,.cat-public .ns-c{background:#fecb02;color:#333}.lp .ns-d,.cat-public .ns-d{background:#ee8100}.lp .ns-e,.cat-public .ns-e{background:#e63312}@media (max-width: 639px){.lp,.cat-public{--pad-x: 16px;--section-pad: 60px}}.km-app{--pad-x: clamp(16px, calc(4vw - 16px) , 40px);--gap: 24px;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;min-height:100vh}.km-app{display:block}.km-app .km-sidebar{grid-column:unset;width:264px;min-width:264px;height:100vh;position:fixed;top:0;left:0;background:var(--ink);color:var(--paper);border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:24px;padding:22px 18px 18px;overflow-y:auto}.km-sidebar .side-brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:-.015em;line-height:1;padding:4px 6px 12px;border-bottom:1px solid rgba(242,236,224,.12);color:var(--paper);text-decoration:none}.km-sidebar .side-brand .mark{width:30px;height:30px;border-radius:8px;background:var(--brand);color:var(--paper);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-weight:600;font-size:16px;flex-shrink:0}.km-sidebar .side-brand em{font-style:italic;color:var(--accent)}.km-sidebar .nav-section{display:flex;flex-direction:column;gap:1px}.km-sidebar .nav-section h5{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:8px;font-weight:500}.km-sidebar .nav-item{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:8px;font-size:13px;color:#f2ece0cc;font-weight:400;line-height:1;text-decoration:none;transition:background .15s}.km-sidebar .nav-item:hover{background:color-mix(in oklab,var(--paper) 8%,transparent);color:var(--paper)}.km-sidebar .nav-item.current{background:var(--paper);color:var(--ink);font-weight:500}.km-sidebar .nav-item .num{font-family:var(--mono);font-size:9px;letter-spacing:.08em;opacity:.5;width:16px;flex-shrink:0}.km-sidebar .nav-item.current .num{opacity:.6;color:var(--ink)}.km-sidebar .nav-item .badge-mini{margin-left:auto;font-family:var(--mono);font-size:9px;background:var(--accent);color:#fff;padding:2px 6px;border-radius:999px;letter-spacing:.04em}.km-sidebar .nav-item.staff-item{color:var(--accent)}.km-sidebar .side-foot{margin-top:auto;display:flex;flex-direction:column;gap:14px;padding-top:14px;border-top:1px solid rgba(242,236,224,.12)}.km-sidebar .signout{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border-radius:8px;font-size:13px;color:var(--muted);text-decoration:none;cursor:pointer;background:none;border:none;font-family:inherit;width:100%}.km-sidebar .signout:hover{background:color-mix(in oklab,var(--paper) 8%,transparent);color:var(--paper)}.km-sidebar .side-meta{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;padding:0 4px}.km-main{margin-left:50px;padding:28px var(--pad-x) 60px;padding-left:max(var(--pad-x),env(safe-area-inset-left));padding-right:max(var(--pad-x),env(safe-area-inset-right));display:flex;flex-direction:column;gap:32px;min-height:100vh;background:var(--paper)}.km-eyebrow{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:500}.km-sec-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line);gap:24px}.km-sec-num{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.km-sec-title{font-family:var(--serif);font-size:26px;line-height:1;letter-spacing:-.015em;margin:6px 0 0;font-weight:500;color:var(--ink)}.km-sec-title em{font-style:italic;color:var(--accent)}.km-sec-action{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.1em;color:var(--ink);text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:2px;text-decoration:none;white-space:nowrap;flex-shrink:0;background:none;border-left:none;border-top:none;border-right:none;cursor:pointer;font-family:var(--mono)}.km-sec-action:hover{color:var(--accent);border-color:var(--accent)}.km-dash-header{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding-bottom:22px;border-bottom:1px solid var(--line)}h1.km-dash-h1{font-family:var(--serif);font-size:clamp(40px,4.4vw,60px);line-height:.98;letter-spacing:-.02em;margin:6px 0 0;font-weight:400;color:var(--ink)}h1.km-dash-h1 em{font-style:italic;color:var(--accent)}.km-dash-sub{font-size:15px;color:var(--muted);margin:10px 0 0;max-width:540px}.km-dash-meta{text-align:right;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);line-height:1.7;flex-shrink:0}.km-dash-meta strong{color:var(--ink);font-family:var(--serif);font-weight:500;font-size:14px;letter-spacing:-.01em;display:block;text-transform:none;line-height:1.25;margin-bottom:2px}.km-cluster{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden}.km-cluster.cols-2{grid-template-columns:repeat(2,1fr)}.km-cluster.cols-3{grid-template-columns:repeat(3,1fr)}.km-cluster.cols-4{grid-template-columns:repeat(4,1fr)}.km-cluster>*{background:var(--paper)}.km-profile-card{background:var(--paper);padding:22px 22px 24px;display:flex;flex-direction:column;gap:14px;min-height:220px;transition:background .25s;position:relative}.km-profile-card:hover{background:var(--paper)}.km-profile-card .icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;font-family:var(--serif);font-style:italic;font-size:18px;font-weight:500;color:var(--ink)}.km-profile-card h3{font-family:var(--serif);font-size:18px;letter-spacing:-.01em;font-weight:500;margin:0;line-height:1.15;color:var(--ink)}.km-profile-card .cat{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.km-profile-list{display:flex;flex-wrap:wrap;gap:5px}.km-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);line-height:1.2}.km-pill.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.km-pill .dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.km-levels{display:flex;align-items:flex-end;gap:3px;height:30px;margin-top:2px}.km-levels span{flex:1;background:var(--paper);border-radius:2px}.km-levels span.on{background:var(--ink)}.km-levels-label{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-top:4px}.km-macros{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.km-macro{display:flex;flex-direction:column;gap:2px}.km-macro-val{font-family:var(--serif);font-size:18px;font-weight:500;letter-spacing:-.01em;line-height:1;color:var(--ink)}.km-macro-val .unit{font-size:10px;color:var(--muted);font-family:var(--sans);font-weight:400;margin-left:1px}.km-macro-label{font-family:var(--mono);font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.km-card-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:8px}.km-card-foot a{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:1px;text-decoration:none}.km-kpi{background:var(--paper);padding:22px 22px 24px;display:flex;flex-direction:column;gap:12px;min-height:200px}.km-kpi-head{display:flex;justify-content:space-between;align-items:flex-start}.km-kpi-label{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.km-kpi-val{font-family:var(--serif);font-size:34px;line-height:1;letter-spacing:-.02em;font-weight:400;color:var(--ink)}.km-kpi-val em{font-style:italic;color:var(--accent)}.km-kpi-sub{font-size:13px;color:var(--muted);line-height:1.5}.km-kpi-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px}.km-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;font-size:12px;font-weight:500;border-radius:999px;background:var(--ink);color:var(--paper);width:-moz-fit-content;width:fit-content;border:none;cursor:pointer;text-decoration:none;font-family:var(--sans);transition:transform .15s}.km-btn:hover{transform:translateY(-1px)}.km-btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.km-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:4px 10px;border-radius:999px;background:var(--paper);color:var(--ink);font-weight:500;line-height:1.2}.km-badge.premium{background:var(--ink);color:var(--paper)}.km-badge.trial{background:var(--accent);color:#fff}.km-badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.km-calmini{display:flex;align-items:flex-end;gap:14px}.km-calmini-date{width:64px;flex-shrink:0;border:1px solid var(--ink);border-radius:6px;text-align:center;overflow:hidden;background:var(--paper)}.km-calmini-date .month{background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em;padding:3px 0}.km-calmini-date .day{font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:-.02em;line-height:1;padding:8px 0 4px;color:var(--ink)}.km-calmini-date .wday{font-family:var(--mono);font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding-bottom:5px}.km-calmini-info{display:flex;flex-direction:column;gap:3px}.km-calmini-info strong{font-family:var(--serif);font-size:18px;letter-spacing:-.01em;font-weight:500;line-height:1.1;color:var(--ink)}.km-calmini-info span{font-size:12px;color:var(--muted)}.km-recipes-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}.km-recipe-card{display:flex;flex-direction:column;gap:0;cursor:pointer}.km-recipe-img{aspect-ratio:5/6;border-radius:var(--radius-md);overflow:hidden;background:var(--paper);position:relative}.km-recipe-img img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .5s}.km-recipe-card:hover .km-recipe-img img{transform:scale(1.04)}.km-recipe-ribbon{position:absolute;top:10px;left:10px;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;background:var(--paper);color:var(--ink);padding:4px 8px;border-radius:var(--radius-sm)}.km-ns-badge{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:11px}.ns-a{background:#038141}.ns-b{background:#85bb2f}.ns-c{background:#fecb02;color:#333}.ns-d{background:#ee8100}.ns-e{background:#e63312}.km-recipe-body{padding:12px 0 0;display:flex;flex-direction:column;gap:6px}.km-recipe-meta-top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.km-recipe-name{font-family:var(--serif);font-size:17px;line-height:1.2;font-weight:500;letter-spacing:-.01em;margin:0;color:var(--ink)}.km-recipe-tags{display:flex;flex-wrap:wrap;gap:4px}.km-recipe-tag{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);padding:2px 7px;border:1px solid var(--line);border-radius:var(--radius-full)}.km-rate-row{display:flex;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line);align-items:center;justify-content:space-between}.km-rate-btns{display:flex;gap:6px}.km-rate-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--paper);display:grid;place-items:center;cursor:pointer;transition:all var(--duration-fast)}.km-rate-btn:hover{background:var(--paper);transform:scale(1.05)}.km-rate-btn.on-up{background:var(--accent);border-color:var(--accent);color:var(--paper)}.km-rate-btn.on-down{background:var(--accent);border-color:var(--accent);color:#fff}.km-rate-btn svg{width:14px;height:14px}.km-rate-meta{font-family:var(--mono);font-size:9px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.km-wk-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden}.km-wk-card{background:var(--paper);padding:22px 22px 24px;display:flex;flex-direction:column;gap:14px}.km-wk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.km-wk-cat{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.km-wk-title{font-family:var(--serif);font-size:17px;font-weight:500;letter-spacing:-.01em;line-height:1.2;margin:2px 0 0;color:var(--ink)}.km-wk-source{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:6px}.km-wk-source .dot{width:6px;height:6px;border-radius:50%;background:var(--color-success)}.km-wk-load-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:4px -22px}.km-wk-load{background:var(--paper);padding:14px 22px;display:flex;flex-direction:column;gap:4px}.km-wk-load-val{font-family:var(--serif);font-size:26px;line-height:1;letter-spacing:-.02em;font-weight:400;color:var(--ink)}.km-wk-load-val em{font-style:italic;color:var(--accent);font-size:13px;margin-left:4px;font-family:var(--mono);letter-spacing:0}.km-wk-load-lab{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.km-wk-plan{display:flex;flex-direction:column;border-top:1px solid var(--line)}.km-wk-plan-row{display:grid;grid-template-columns:42px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.km-wk-plan-row:last-child{border-bottom:none}.km-wk-plan-day{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-weight:500}.km-wk-plan-type{font-family:var(--serif);font-size:14px;font-weight:500;line-height:1.3;color:var(--ink)}.km-wk-plan-meta{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:3px}.km-wk-plan-time{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);text-align:right}.km-wk-plan-int{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px;vertical-align:middle}.km-wk-plan-int.modérée{background:var(--color-gold-400)}.km-wk-plan-int.intense{background:var(--color-error)}.km-wk-plan-int.faible{background:var(--color-success)}.km-wk-recent{display:flex;flex-direction:column}.km-wk-recent-row{display:flex;justify-content:space-between;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line);gap:10px}.km-wk-recent-row:last-child{border-bottom:none}.km-wk-recent-name{font-family:var(--serif);font-size:14px;font-weight:500;line-height:1.3;color:var(--ink)}.km-wk-recent-date{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:3px}.km-wk-recent-stats{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--ink);text-align:right;line-height:1.5}.km-wk-recent-stats .muted{color:var(--muted)}.km-nutr-wrap{border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:22px 22px 24px;display:flex;flex-direction:column;gap:20px}.km-nutr-score-row{display:flex;align-items:center;gap:18px}.km-nutr-score-circle{width:60px;height:60px;flex-shrink:0;border-radius:50%;border:3px solid;display:flex;flex-direction:column;align-items:center;justify-content:center}.km-nutr-score-num{font-family:var(--serif);font-size:22px;font-weight:500;line-height:1}.km-nutr-score-denom{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.06em}.km-nutr-score-title{font-family:var(--serif);font-size:16px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.km-nutr-score-sub{font-family:var(--mono);font-size:9px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-top:3px}.km-nutr-group{display:flex;flex-direction:column;gap:10px}.km-nutr-group-title{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}.km-nutr-row{display:flex;align-items:center;gap:10px}.km-nutr-label{font-family:var(--sans);font-size:12px;color:var(--muted);width:90px;flex-shrink:0}.km-nutr-val{font-family:var(--mono);font-size:11px;color:var(--ink);width:70px;text-align:right;flex-shrink:0;letter-spacing:.04em}.km-nutr-bar-track{flex:1;height:6px;background:var(--paper);border-radius:3px;overflow:hidden}.km-nutr-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}.km-nutr-pct{font-family:var(--mono);font-size:9px;color:var(--muted);width:32px;text-align:right;letter-spacing:.04em;flex-shrink:0}.km-nutr-toggle{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;background:none;border:none;cursor:pointer;padding:0}.km-nutr-toggle:hover{color:var(--ink)}.km-nutr-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.km-nutr-card{border:1px solid var(--line);border-radius:4px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.km-nutr-card--good{border-color:var(--color-success);background:var(--color-success-bg)}.km-nutr-card--warn{border-color:var(--accent);background:var(--paper-2)}.km-nutr-card-head{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--ink)}.km-nutr-card-line{font-family:var(--sans);font-size:12px;color:var(--muted);margin:0;line-height:1.4}.km-nutr-tip{display:flex;align-items:flex-start;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:12px 14px;color:var(--muted)}.km-nutr-tip-text{font-family:var(--sans);font-size:12px;color:var(--muted);margin:0;line-height:1.5}.km-nutr-footnote{font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:var(--muted);font-style:italic;margin:0}.km-table-wrap{border:1px solid var(--line);background:var(--paper);overflow:hidden;margin-bottom:32px}.km-table-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.km-table-head h3{font-family:var(--serif);font-size:17px;font-weight:500;color:var(--ink);margin:0}.km-table-head .count{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.km-table{width:100%;border-collapse:collapse}.km-table th{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:400;padding:10px 18px;border-bottom:1px solid var(--line);text-align:left}.km-table td{padding:11px 18px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink)}.km-table td.mono{font-family:var(--mono);font-size:12px}.km-table tr:last-child td{border-bottom:none}.km-table-empty{padding:2rem;text-align:center;color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em}.km-label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.km-input{width:100%;padding:10px 14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;outline:none;transition:border-color .15s}.km-input:focus{border-color:var(--ink)}.km-select{padding:8px 14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;cursor:pointer}.km-form-row{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.km-toggle{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.km-toggle[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.km-toggle svg{flex-shrink:0}.km-toggle .ft-count{font-family:var(--sans);font-size:10px;letter-spacing:0;background:var(--accent);color:#fff;border-radius:999px;padding:1px 7px}.km-toggle[aria-pressed=true] .ft-count{background:var(--paper);color:var(--ink)}.km-split{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:start}.km-split-list{display:flex;flex-direction:column;gap:2px}.km-split-preview{background:var(--paper);padding:24px}.km-toc{position:sticky;top:24px;display:flex;flex-direction:column;gap:4px}.km-toc a,.km-toc button{display:block;padding:8px 12px;text-align:left;width:100%;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;background:none;border:none;border-left:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s}.km-toc a:hover,.km-toc button:hover{color:var(--ink)}.km-toc a.active,.km-toc button.active{color:var(--ink);border-left-color:var(--ink);font-weight:500}.km-filter-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:24px}.km-filter-search{flex:1;min-width:200px;padding:8px 14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px}.km-filter-select{padding:8px 14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.km-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.km-modal{background:var(--paper);width:100%;max-width:560px;max-height:80vh;overflow-y:auto;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000040;-webkit-overflow-scrolling:touch}.km-modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 28px 20px;border-bottom:1px solid var(--line)}.km-modal-body{padding:24px 28px;flex:1;overflow-y:auto}.km-modal-foot{padding:16px 28px 24px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end}@media (max-width: 639px){.km-modal-overlay{padding:0}.km-modal{max-width:100%;width:100%;height:100dvh;max-height:100dvh;border-radius:0}.km-modal-head{padding:calc(16px + env(safe-area-inset-top,0)) clamp(16px,4vw,28px) 16px}.km-modal-body{padding:16px clamp(16px,4vw,28px)}.km-modal-foot{padding:14px clamp(16px,4vw,28px) calc(16px + env(safe-area-inset-bottom,0))}}.km-data-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.km-data-row:last-child{border-bottom:none}.km-empty{padding:2rem;text-align:center;color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em}.km-two-col{display:grid;grid-template-columns:200px 1fr;gap:48px;align-items:start}.km-shop-row{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.km-shop-row:last-child{border-bottom:none}.km-stat-strip{display:flex;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}.km-stat-val{font-family:var(--serif);font-size:26px;font-weight:500;letter-spacing:-.015em;line-height:1;color:var(--ink)}.km-stat-val em{font-style:italic;color:var(--accent)}.km-stat-label{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:4px}.km-fav-remove-btn{position:absolute;bottom:10px;right:10px;width:32px;height:32px;border-radius:50%;background:var(--paper);border:none;display:grid;place-items:center;cursor:pointer;font-size:16px;color:var(--accent)}.km-fav-remove-btn--list{width:32px;height:32px;border-radius:50%;background:transparent;border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;font-size:15px;color:var(--accent);position:static}.km-fav-list-row{display:grid;grid-template-columns:88px 1fr auto auto;gap:18px;align-items:center}.km-fav-list-thumb{width:88px;aspect-ratio:5/4;border-radius:4px;overflow:hidden;background:var(--paper);flex-shrink:0}.km-fav-list-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.km-fav-list-name{font-family:var(--serif);font-size:18px;letter-spacing:-.01em;font-weight:500;margin:0 0 4px;color:var(--ink)}.km-fav-list-meta{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;display:flex;gap:14px}.km-fav-list-tags{margin-top:6px}.km-alert-error{background:var(--paper);border:1px solid var(--accent);border-radius:4px;padding:12px 16px;font-size:13px;color:var(--accent);font-family:var(--sans)}.km-alert{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:.75rem 1rem;font-family:var(--mono);font-size:.7rem;color:var(--ink);text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;gap:.5rem}.km-alert.err{color:var(--accent);border-left:3px solid var(--accent)}.km-alert.ok,.km-alert.warn{border-left:3px solid var(--accent)}.km-card-dismissed{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:1.5rem;text-align:center;opacity:.5}.km-foot-right{display:flex;justify-content:flex-end}.km-picker-thumb{width:52px;height:52px;border-radius:4px;overflow:hidden;flex-shrink:0;background:var(--paper)}.km-picker-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.km-picker-thumb-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.km-picker-row{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);text-align:left;width:100%;transition:background .15s;cursor:pointer}.km-picker-row:hover{background:var(--paper)}.km-picker-row:disabled{cursor:not-allowed}.km-picker-name{font-family:var(--serif);font-size:.95rem;font-weight:500;color:var(--ink);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.km-day-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.25rem;border-bottom:1px solid var(--line);padding-bottom:.75rem}.km-dnd-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.km-cta-dark{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:22px 26px;border-radius:6px;background:var(--ink);color:var(--paper)}.km-cta-dark-label{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.14em;opacity:.7;margin-bottom:6px}.km-cta-dark h3{font-family:var(--serif);font-size:22px;letter-spacing:-.015em;font-weight:500;margin:0 0 6px;line-height:1.1}.km-cta-dark p{margin:0;opacity:.75;font-size:13px;max-width:480px}.km-cta-dark-actions{display:flex;gap:10px}.km-cta-btn-ghost{padding:8px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:transparent;color:var(--paper);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center}.km-cta-btn-solid{padding:8px 16px;border-radius:999px;border:none;background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.km-stat-val--sm{font-size:16px}.km-collection-placeholder{display:grid;place-items:center;border:2px dashed var(--line);background:transparent;aspect-ratio:5/3;min-height:unset;gap:0}.km-collection-placeholder-inner{text-align:center;color:var(--muted)}.km-collection-add-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--serif);font-size:24px;color:var(--muted);margin:0 auto 8px}.km-collection-placeholder p{margin:6px 0 0;font-size:13px}.km-empty__icon{color:var(--muted);margin-bottom:12px}.km-content-aside{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}.km-aside-sticky{position:sticky;top:24px;display:flex;flex-direction:column;gap:18px}.km-totals-card{background:var(--ink);color:var(--paper);border-radius:8px;padding:22px 24px 24px}.km-totals-card-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.6;margin-bottom:6px}.km-totals-card h3{font-family:var(--serif);font-size:22px;letter-spacing:-.015em;font-weight:500;margin:0 0 18px;line-height:1.1}.km-totals-row{display:flex;justify-content:space-between;align-items:flex-end;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.15);font-size:13px}.km-totals-row-label{font-family:var(--sans)}.km-totals-row-val{font-family:var(--serif);font-size:20px;letter-spacing:-.01em;font-weight:500}.km-progress-track{height:6px;border-radius:999px;overflow:hidden;margin-top:14px;background:#ffffff2e}.km-progress-track-inner{height:100%;border-radius:999px;transition:width .3s ease}.km-progress-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;margin-top:8px;opacity:.7;text-transform:uppercase}.km-progress-track--light{background:#ffffff2e;border-radius:999px;height:6px;overflow:hidden;border:1px solid var(--line)}.km-progress-label--light{font-family:var(--mono);font-size:9px;letter-spacing:.1em;margin-top:6px;opacity:.7;text-transform:uppercase;color:var(--muted)}.km-export-card{padding:18px 20px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.km-export-card h4{font-family:var(--serif);font-size:18px;margin:0 0 14px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.km-export-card-btns{display:flex;flex-direction:column;gap:8px}.km-info-note{margin-top:24px;display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:4px;background:var(--paper)}.km-info-note-icon{width:20px;height:20px;border-radius:50%;border:1px solid var(--muted);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:12px;color:var(--muted);flex-shrink:0}.km-info-note-text{font-family:var(--sans);font-size:12px;color:var(--muted);line-height:1.5}.km-info-note-text strong{color:var(--ink);font-family:var(--serif);font-weight:500;font-size:13px;letter-spacing:-.01em}.km-shop-section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px;gap:18px;cursor:pointer}.km-shop-section-head h3{font-family:var(--serif);font-size:24px;letter-spacing:-.015em;font-weight:500;margin:0;line-height:1;color:var(--ink)}.km-shop-section-head h3.capitalize{text-transform:capitalize}.km-shop-section-meta{display:flex;align-items:center;gap:10px;padding-bottom:2px}.km-shop-section-meta .km-eyebrow{color:var(--muted)}.km-checkbox{width:20px;height:20px;border-radius:4px;display:grid;place-items:center;transition:all .15s;flex-shrink:0}.km-checkbox.unchecked{border:1px solid var(--ink);background:var(--paper)}.km-checkbox.checked{border:none;background:var(--ink)}.km-checkbox-tick{display:inline-block;width:6px;height:10px;border:solid var(--paper);border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}.km-recipe-dots{display:flex;gap:3px}.km-recipe-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);opacity:.7}.km-date-filter-scroll{display:flex;gap:6px;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:thin;scrollbar-color:var(--line) transparent;-webkit-overflow-scrolling:touch}.km-view-toggle{display:flex;gap:6px}.km-filter-pill-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 18px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}.km-filter-pill-bar-left{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.km-filter-pill-bar-right{display:flex;gap:8px;align-items:center;flex-shrink:0}.km-slider-wrap{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:1rem 1.25rem}.km-health-link{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--paper);border:1px solid var(--line);border-radius:4px;text-decoration:none;transition:background .15s}.km-health-link:hover{background:var(--paper)}.km-health-link-inner{display:flex;align-items:center;gap:.65rem}.km-health-link-label{font-family:var(--sans);font-size:.85rem;font-weight:500;color:var(--ink)}.km-selection-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex-shrink:0}.km-filter-chips{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.km-mobile-slots{display:flex;flex-direction:column;gap:.75rem}.km-add-slot-btn{display:flex;align-items:center;gap:.3rem;background:none;border:1px dashed var(--line);border-radius:6px;padding:.5rem .75rem;color:var(--muted);font-family:var(--mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:border-color .15s,color .15s;width:100%;justify-content:center}.km-add-slot-btn:hover{border-color:var(--ink);color:var(--ink)}.km-empty-slot{border:1px dashed var(--line);border-radius:6px;padding:1.5rem .75rem;text-align:center;flex:1;color:var(--muted);font-family:var(--mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;display:flex;flex-direction:column;align-items:"center";justify-content:center;gap:.4rem;transition:border-color .15s,background .15s}.km-empty-slot.clickable{cursor:pointer}.km-empty-slot.clickable:hover{border-color:var(--ink);background:var(--paper)}.km-empty-slot.past{cursor:default}.km-history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;padding:1rem 0 .5rem}.km-collapse-btn{width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:.75rem 1rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-family:var(--sans);font-size:.875rem;color:var(--ink);transition:background .15s}.km-collapse-btn:hover{background:var(--paper)}.km-empty__title{font-family:var(--serif);font-size:26px;color:var(--ink);margin:0 0 10px;font-weight:500;letter-spacing:-.01em}.km-empty__hint{color:var(--muted);margin:6px 0 0;font-size:13px}.km-empty-title{font-family:var(--serif);font-size:26px;color:var(--ink);margin:0 0 10px;font-weight:500;letter-spacing:-.01em}.km-filter-bar__pills{display:flex;gap:6px;flex-wrap:wrap}.km-filter-bar__actions{display:flex;gap:14px;align-items:center;margin-left:auto}.km-view-toggle{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.km-view-toggle .km-pill{border-radius:0;border:none}.km-main--centered{align-items:center;justify-content:center}.km-feature-gate{max-width:520px;text-align:center;padding:4rem 2rem}.km-feature-gate__desc{color:var(--muted);margin-top:12px;line-height:1.6}.km-kpi--compact{min-height:unset}.km-kpi-unit{font-family:var(--mono);font-size:12px;letter-spacing:0;margin-left:4px;font-style:normal;color:var(--muted)}.km-kpi-head{display:flex;align-items:center;gap:.5rem}.km-tabs{display:flex;gap:0;border-bottom:1px solid var(--line)}.km-tab{background:transparent;border:none;border-bottom:2px solid transparent;padding:10px 16px;margin-bottom:-1px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:400;transition:color .15s}.km-tab.active{border-bottom-color:var(--ink);color:var(--ink);font-weight:600}.km-section-hint{color:var(--muted);margin:0 0 20px;font-size:13px;line-height:1.6}.km-loading-hint{padding:2rem 0}.km-sync-strip{margin-bottom:24px}.km-filter-bar--pills{border-bottom:none;padding:0;margin-bottom:20px}.km-wk-recent-body{flex:1;min-width:0}.km-wk-recent-title-row,.km-wk-recent-actions{display:flex;align-items:center;gap:8px}.km-wk-cat--source{display:inline-flex;align-items:center;gap:4px}.km-badge--matched{display:inline-flex;align-items:center;gap:3px;background:var(--color-success-bg);color:var(--color-success);font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:999px}.km-icon-btn{background:none;border:none;cursor:pointer;color:var(--muted);padding:4px;border-radius:4px;display:flex}.km-icon-btn:hover{color:var(--ink)}.km-admin-nav{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:32px}.km-admin-tab{padding:12px 18px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer}.km-admin-tab:hover{color:var(--ink)}.km-admin-tab.active{color:var(--ink);border-bottom-color:var(--ink);font-weight:500}.km-section{margin-bottom:40px}.km-label--inline{display:inline;margin:0}.km-label--no-margin{margin:0}.km-label--mt{margin-top:8px;margin-bottom:0}.km-cluster--no-mb{margin-bottom:0}.km-cluster--mb-sm,.km-activity-card--mb{margin-bottom:18px}.km-filter-group{padding:20px 0;border-bottom:1px solid var(--line)}.km-filter-group:first-child{padding-top:0}.km-filter-group:last-child{border-bottom:0}.km-filter-group h4{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 12px;font-weight:500}.km-filter-group-list{display:flex;flex-direction:column;gap:6px}.km-filter-option{display:flex;align-items:center;gap:10px;font-size:13px;cursor:pointer;padding:3px 0;font-family:var(--sans);color:var(--ink)}.km-filter-count{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.05em}.km-checkbox-custom{display:inline-block;width:14px;height:14px;flex-shrink:0;border:1px solid var(--line);border-radius:3px;background:var(--paper);position:relative;cursor:pointer}.km-checkbox-custom.checked{border-color:var(--ink);background:var(--ink)}.km-checkbox-custom.radio{border-radius:50%}.km-checkmark{position:absolute;left:3px;top:0;width:6px;height:9px;border:solid var(--paper);border-width:0 2px 2px 0;transform:rotate(45deg);display:block}.km-radiomark{position:absolute;inset:3px;border-radius:50%;background:var(--paper);display:block}.km-checkbox-hidden{position:absolute;opacity:0;width:0;height:0}.km-list-row{display:grid;grid-template-columns:140px 1fr auto;gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.km-list-thumb{width:140px;aspect-ratio:1;border-radius:4px;overflow:hidden;background:var(--paper);position:relative}.km-list-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.km-list-name{font-family:var(--serif);font-size:21px;letter-spacing:-.015em;font-weight:500;margin:0 0 6px;color:var(--ink)}.km-list-meta-row{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;gap:14px;margin-bottom:8px}.km-list-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;text-align:right}.km-list-actions-end{display:flex;flex-direction:column;align-items:flex-end;justify-content:center}.km-pagination{display:flex;justify-content:center;gap:8px;padding:24px 0}.km-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden}.km-stat-cell{background:var(--paper);padding:18px 22px}.km-search-form{display:flex;align-items:center;gap:10px;flex:1;padding:12px 18px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}.km-search-form input{border:0;outline:0;background:transparent;flex:1;font-family:var(--sans);font-size:14px;color:var(--ink)}.km-fav-btn{position:absolute;bottom:10px;right:10px;width:32px;height:32px;border-radius:50%;background:var(--paper);border:none;display:grid;place-items:center;cursor:pointer;font-size:15px;color:var(--muted)}.km-fav-btn.active{color:var(--accent)}.km-fav-btn--list{width:32px;height:32px;border-radius:50%;background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;font-size:15px;color:var(--muted)}.km-fav-btn--list.active{color:var(--accent)}.km-clear-btn{font-family:var(--mono);font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-top:14px;text-decoration:underline;text-underline-offset:3px;background:transparent;border:0;padding:0;cursor:pointer}.km-results-count{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.km-sidebar-filters{position:sticky;top:24px}.km-catalogue-layout{display:grid;gap:40px;align-items:start}.km-catalogue-layout.open{grid-template-columns:240px 1fr}.km-catalogue-layout.closed{grid-template-columns:1fr}.km-catalogue-layout .km-recipes-row{grid-template-columns:repeat(3,1fr);gap:28px 22px}.km-catalogue-layout .km-recipes-row .km-recipe-img{aspect-ratio:4/5}@media (max-width: 1100px){.km-catalogue-layout.open{grid-template-columns:1fr}.km-catalogue-layout .km-recipes-row{grid-template-columns:repeat(2,1fr)}}.km-view-toggle-bar{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}.km-view-btn{padding:8px 14px;border-radius:999px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;background:transparent;color:var(--muted);border:none;cursor:pointer}.km-view-btn.active{background:var(--ink);color:var(--paper)}.km-sort-wrap{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:13px}.km-profile-col{display:flex;flex-direction:column;gap:18px}.km-activity-card{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:22px 22px 20px}.km-activity-title{font-family:var(--serif);font-size:16px;font-weight:500;letter-spacing:-.01em;color:var(--ink);margin-bottom:4px}.km-activity-bars{display:flex;align-items:flex-end;gap:4px;height:60px}.km-activity-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}.km-activity-bar-label{font-family:var(--mono);font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.km-timeline{display:flex;flex-direction:column;gap:0;border-left:1px solid var(--line);padding-left:22px;margin-left:8px}.km-timeline-item{position:relative;padding:12px 0 14px}.km-timeline-dot{position:absolute;left:-28px;top:18px;width:8px;height:8px;background:var(--ink);border-radius:50%;border:2px solid var(--paper);box-shadow:0 0 0 1px var(--line)}.km-timeline-title{font-family:var(--serif);font-size:16px;font-weight:500;letter-spacing:-.01em;margin:4px 0 2px;color:var(--ink)}.km-timeline-desc{margin:0;font-size:12px;color:var(--muted);line-height:1.4}.km-danger-zone{border:1px solid var(--color-error);border-radius:6px;padding:24px 28px;background:#c0372e0a}.km-danger-title{font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:-.01em;margin:0 0 4px;color:var(--color-error)}.km-danger-desc{margin:0 0 14px;font-size:13px;color:var(--color-error);opacity:.85}.km-danger-actions{display:flex;gap:8px;flex-wrap:wrap}.km-danger-btn-ghost{font-size:11px;padding:7px 12px;border-color:var(--color-error);color:var(--color-error)}.km-danger-btn-delete{font-size:11px;padding:7px 12px;background:var(--color-error);color:#fff;border-color:var(--color-error)}.km-identity-header{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-align:right}.km-identity-avatar-row{display:flex;align-items:center;gap:18px}.km-identity-avatar{width:88px;height:88px;border-radius:50%;background:var(--paper);border:1px solid var(--ink);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-weight:500;font-size:42px;color:var(--ink);flex-shrink:0}.km-identity-name{font-family:var(--serif);font-size:34px;letter-spacing:-.02em;font-weight:400;line-height:1;color:var(--ink)}.km-identity-name em{font-style:italic;color:var(--accent)}.km-identity-info{border-top:1px solid var(--line);padding-top:16px}.km-identity-row{display:grid;grid-template-columns:120px 1fr auto;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);align-items:center}.km-identity-row:last-child{border-bottom:none}.km-identity-val-mono{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.km-identity-val-serif{font-family:var(--serif);font-size:16px;font-weight:500;letter-spacing:-.01em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.km-identity-edit-btn{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:none;border:none;cursor:pointer;padding:0}.km-identity-badges{margin-top:8px;padding-top:14px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}.km-profile-stripe{position:absolute;top:0;left:0;right:0;height:6px;background:repeating-linear-gradient(90deg,var(--ink) 0 6px,transparent 6px 12px)}.km-profile-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:32px;align-items:start}.km-sel-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:end}.km-countdown{display:flex;align-items:flex-start;gap:18px}.km-cd-num{font-family:var(--serif);font-size:48px;line-height:.9;letter-spacing:-.04em;font-weight:400;color:var(--accent)}.km-cd-meta{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);line-height:1.6;padding-top:4px}.km-cd-meta strong{display:block;font-family:var(--serif);font-size:18px;color:var(--ink);text-transform:none;letter-spacing:-.01em;font-weight:500;margin-bottom:2px}.km-send-card{padding:18px 22px;display:flex;flex-direction:column;gap:14px;background:var(--paper);border:1px solid var(--line)}.km-send-card .label{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.km-send-card .when{font-family:var(--serif);font-size:22px;letter-spacing:-.01em;font-weight:500;line-height:1.15}.km-send-card .actions{display:flex;gap:8px;flex-wrap:wrap}.km-sel-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden}.km-sel-summary>div{background:var(--paper);padding:18px 20px;display:flex;flex-direction:column;gap:6px}.km-sel-summary .v{font-family:var(--serif);font-size:26px;letter-spacing:-.015em;font-weight:500;line-height:1;color:var(--ink)}.km-sel-summary .v em{font-style:italic;color:var(--accent)}.km-sel-summary .l{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}@media (max-width: 1023px){.km-sel-hero{grid-template-columns:1fr}.km-sel-summary{grid-template-columns:repeat(2,1fr)}}.km-week-nav{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}.km-day-tab{background:var(--paper);padding:18px 6px 16px;cursor:pointer;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;transition:background .15s;position:relative;border:none;width:100%}.km-day-tab:hover{background:var(--paper)}.km-day-tab.active{background:var(--ink);color:var(--paper)}.km-day-tab .wd{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.6}.km-day-tab.active .wd{opacity:.7}.km-day-tab .dnum{font-family:var(--serif);font-size:30px;letter-spacing:-.02em;font-weight:400;line-height:1}.km-day-tab .month{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;opacity:.5}.km-day-tab.active .month{opacity:.7}.km-day-tab .pip-row{display:flex;gap:3px;height:6px;align-items:center;margin-top:4px}.km-day-tab .pip{width:6px;height:6px;border-radius:50%;background:var(--paper);border:1px solid var(--line)}.km-day-tab .pip.on{background:var(--accent);border-color:var(--accent)}.km-day-tab.active .pip{background:#fff3;border-color:transparent}.km-day-tab.active .pip.on{background:var(--paper)}.km-day-tab.today:after{content:"aujourd'hui";position:absolute;top:6px;right:8px;font-family:var(--mono);font-size:8px;letter-spacing:.12em;color:var(--accent);text-transform:uppercase}.km-sel-day-head{display:flex;justify-content:space-between;align-items:flex-end;padding:32px 0 22px;border-bottom:1px solid var(--ink)}.km-sel-day-head .left{display:flex;align-items:flex-end;gap:22px}.km-day-stamp{width:80px;flex-shrink:0;border:1px solid var(--ink);border-radius:6px;text-align:center;overflow:hidden}.km-day-stamp .month{background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em;padding:4px 0}.km-day-stamp .day{font-family:var(--serif);font-size:42px;font-weight:500;letter-spacing:-.03em;line-height:1;padding:10px 0 4px;color:var(--ink)}.km-day-stamp .wd{font-family:var(--mono);font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;padding-bottom:6px}.km-sel-day-head h2{font-family:var(--serif);font-size:48px;letter-spacing:-.02em;font-weight:400;line-height:.98;margin:0}.km-sel-day-head h2 em{font-style:italic;color:var(--accent)}.km-sel-day-head .sub{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin-top:6px}.km-sel-day-head .right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}.km-sel-day-head .right .v{font-family:var(--serif);font-size:24px;letter-spacing:-.01em;font-weight:500;line-height:1}.km-sel-day-head .right .v em{font-style:italic;color:var(--accent)}.km-sel-day-head .right .l{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.km-meal-slots{display:flex;flex-direction:column}.km-meal-slot{display:grid;grid-template-columns:110px 1fr;gap:32px;padding:32px 0;border-bottom:1px solid var(--line)}.km-meal-slot:last-child{border-bottom:0}.km-slot-meta{display:flex;flex-direction:column;gap:6px;padding-top:4px}.km-slot-num{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.km-slot-name{font-family:var(--serif);font-size:22px;letter-spacing:-.015em;font-weight:500;line-height:1}.km-slot-icon{display:flex;align-items:center;color:var(--accent);line-height:1}.km-slot-time{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.06em;margin-top:4px}.km-recipe-tile{display:grid;grid-template-columns:200px 1fr 180px;gap:28px;align-items:center;padding:18px 22px;background:var(--paper);border:1px solid var(--line);border-radius:8px;transition:background .15s}.km-recipe-tile:hover{background:var(--paper)}.km-recipe-tile .thumb{width:200px;aspect-ratio:5/4;border-radius:4px;overflow:hidden;background:var(--paper);position:relative}.km-recipe-tile .thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.km-recipe-tile h3{font-family:var(--serif);font-size:21px;letter-spacing:-.015em;line-height:1.15;margin:0 0 6px;font-weight:500}.km-recipe-tile .meta{display:flex;flex-wrap:wrap;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-bottom:8px}.km-recipe-tile .meta span:before{content:"·";margin-right:10px;color:var(--line)}.km-recipe-tile .meta span:first-child:before{content:"";margin:0}.km-recipe-tile .why{font-size:13px;color:var(--muted);line-height:1.4;margin:4px 0 8px}.km-recipe-tile .ing-list{display:flex;flex-wrap:wrap;gap:5px}.km-recipe-tile .ing{font-size:11px;background:var(--paper);padding:3px 9px;border-radius:999px;color:var(--ink)}.km-recipe-tile:hover .ing{background:var(--paper)}.km-recipe-tile .actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.km-swap-btn{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line);padding:6px 12px;border-radius:999px;background:var(--paper);cursor:pointer}.km-swap-btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.km-lock-btn{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--muted);cursor:pointer;transition:all .15s}.km-lock-btn:hover{background:var(--paper-2);color:var(--ink)}.km-lock-btn.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.km-meal-empty{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:18px 22px;background:transparent;border:1px dashed var(--line);border-radius:8px;color:var(--muted)}.km-meal-empty .e-icon{width:60px;height:48px;border-radius:4px;background:var(--paper);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:22px;color:var(--muted)}.km-meal-empty .e-text strong{font-family:var(--serif);font-size:16px;font-weight:500;letter-spacing:-.01em;display:block;color:var(--ink)}.km-meal-empty .e-text p{margin:2px 0 0;font-size:12px;line-height:1.4}.km-compose-row{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:22px 26px;border-radius:6px;background:var(--ink);color:var(--paper)}.km-compose-row h3{font-family:var(--serif);font-size:24px;letter-spacing:-.015em;font-weight:500;margin:0;line-height:1.1}.km-compose-row p{margin:6px 0 0;opacity:.75;font-size:13px;max-width:480px}.km-compose-row .actions{display:flex;gap:10px}.km-compose-row .km-btn{background:var(--paper);color:var(--ink)}.km-compose-row .km-btn.ghost{background:transparent;color:inherit;border:1px solid currentColor}@media (max-width: 1023px){.km-recipes-row,.km-cluster.cols-3,.km-cluster.cols-4{grid-template-columns:repeat(2,1fr)}.km-wk-grid{grid-template-columns:1fr}.km-week-nav{display:flex;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.km-week-nav::-webkit-scrollbar{display:none}.km-week-nav .km-day-tab{min-width:80px;flex-shrink:0}.km-recipe-tile{grid-template-columns:140px 1fr;gap:var(--gap)}.km-recipe-tile .actions{grid-column:1/-1;flex-direction:row}.km-meal-slot{grid-template-columns:1fr;gap:12px}.km-sel-day-head{flex-direction:column;align-items:flex-start;gap:var(--gap)}}@media (max-width: 1280px){.km-main{--pad-x: clamp(8px, calc(3.5vw - 16px) , 32px)}}@media (max-width: 1023px){.km-main{--pad-x: clamp(8px, calc(3vw - 12px) , 24px)}}@media (max-width: 1023px){.km-cluster.cols-3{grid-template-columns:1fr}.km-cluster.cols-2,.km-recipes-row{grid-template-columns:repeat(2,1fr)}.km-dash-header{flex-direction:column;align-items:flex-start;gap:var(--gap)}.km-dash-meta{text-align:left}h1.km-dash-h1{font-size:clamp(32px,8vw,48px)}.km-sec-head{flex-wrap:wrap}}@media (max-width: 639px){.km-recipes-row,.km-cluster.cols-2,.km-cluster.cols-3,.km-cluster.cols-4,.km-wk-grid{grid-template-columns:1fr}h1.km-dash-h1{font-size:clamp(28px,9vw,40px)}.km-dash-meta{font-size:11px}.km-sec-action{font-size:9px}.km-profile-card,.km-kpi{min-height:unset}.km-macros{grid-template-columns:repeat(2,1fr);gap:8px}.km-compose-row{grid-template-columns:1fr}.km-compose-row .actions{flex-wrap:wrap}.km-workout-card{grid-template-columns:36px 1fr;gap:10px;padding:10px 12px}.km-day-workouts{margin:0 -8px}.km-app[data-density=airy]{--gap: 24px}}.km-day-workouts{margin:16px 0 8px;padding:16px 20px;background:var(--paper);border:1px solid var(--line);border-radius:8px}.km-day-workouts-header{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-weight:600}.km-day-workouts-list{display:flex;flex-direction:column;gap:8px}.km-workout-card{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;padding:12px 16px;background:var(--paper);border:1px solid var(--line);border-radius:6px;transition:background .15s,border-color .15s}.km-workout-card:hover{background:var(--paper)}.km-workout-card.completed{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 4%,var(--paper))}.km-workout-card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--paper);color:var(--accent);flex-shrink:0}.km-workout-card.completed .km-workout-card-icon{background:var(--accent);color:var(--paper)}.km-workout-card-body{min-width:0}.km-workout-card-title{font-family:var(--serif);font-size:15px;font-weight:500;letter-spacing:-.01em;color:var(--ink);display:flex;align-items:center;gap:6px}.km-workout-done-icon{color:var(--accent);flex-shrink:0}.km-workout-card-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.km-workout-card-meta span{display:inline-flex;align-items:center;gap:4px}.km-workout-intensity,.km-workout-source{padding:1px 7px;border-radius:999px;background:var(--paper);font-weight:500}.km-day-tab .pip.workout{background:var(--accent);border-color:var(--accent);width:5px;height:5px}.km-day-tab.active .pip.workout{background:var(--paper);border-color:transparent}.wk-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:end;padding-bottom:8px}.wk-hero-charge-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);line-height:1.7;margin-bottom:8px}.wk-hero-charge-h{font-family:var(--serif);font-size:40px;font-weight:400;letter-spacing:-.02em;line-height:1;margin:0 0 12px;color:var(--ink)}.wk-hero-charge-h em{font-style:italic;color:var(--accent)}.wk-hero-charge-desc{color:var(--muted);font-size:14px;max-width:480px;margin:0;line-height:1.55}.wk-sync-card{padding:18px 22px;display:flex;flex-direction:column;gap:12px;border-radius:6px;background:var(--paper);border:1px solid var(--line)}.wk-sync-label{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.wk-sync-row{display:flex;align-items:center;gap:14px}.wk-sync-logo{width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:18px;font-weight:600;flex-shrink:0}.wk-sync-logo.garmin{background:var(--paper);color:var(--ink);border:1px solid var(--line);font-style:normal}.wk-sync-who{font-family:var(--serif);font-size:16px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.wk-sync-when{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:6px;margin-top:3px}.wk-sync-dot{width:6px;height:6px;border-radius:50%;background:var(--color-success);flex-shrink:0}.wk-sync-dot.off{background:var(--muted)}.wk-sync-foot{display:flex;gap:8px;margin-top:4px;padding-top:10px;border-top:1px solid var(--line)}.wk-stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden}.wk-stat{background:var(--paper);padding:18px 22px;display:flex;flex-direction:column;gap:6px}.wk-stat-v{font-family:var(--serif);font-size:30px;letter-spacing:-.015em;font-weight:500;line-height:1;color:var(--ink)}.wk-stat-v em{font-style:italic;color:var(--accent);font-size:14px;font-family:var(--mono);letter-spacing:0;margin-left:4px;font-weight:400}.wk-stat-l{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.wk-stat-trend{font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--muted);margin-top:2px}.wk-stat-trend.up{color:var(--color-success)}.wk-stat-trend.dn{color:var(--accent)}.wk-int{display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:5px;vertical-align:middle}.wk-int.low{background:var(--color-success)}.wk-int.moderate{background:var(--color-gold-400)}.wk-int.high,.wk-int.very_high{background:var(--color-error)}.wk-insight-band{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:24px 28px;background:var(--paper);border:1px solid var(--line);border-radius:6px}.wk-insight h4{font-family:var(--serif);font-size:18px;font-weight:500;margin:0 0 6px;letter-spacing:-.01em;line-height:1.2;color:var(--ink)}.wk-insight p{font-size:13px;color:var(--muted);margin:0;line-height:1.55}.wk-hist-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:18px;flex-wrap:wrap}.wk-filter-group{display:flex;gap:6px;flex-wrap:wrap}.wk-filter-pill{padding:6px 12px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;cursor:pointer;background:transparent;transition:all .15s}.wk-filter-pill:hover{color:var(--ink);border-color:var(--ink)}.wk-filter-pill.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.wk-hist-table{width:100%;border-collapse:collapse}.wk-hist-table thead th{text-align:left;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--ink);font-weight:500}.wk-hist-table tbody td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}.wk-hist-table tbody tr:hover td{background:var(--paper)}.wk-hist-table .ht-name{font-family:var(--serif);font-size:15px;font-weight:500;letter-spacing:-.01em;line-height:1.25;color:var(--ink)}.wk-hist-table .ht-sub{font-family:var(--mono);font-size:9px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-top:3px}.wk-hist-table .ht-num{font-family:var(--serif);font-size:16px;font-weight:500;line-height:1;color:var(--ink)}.wk-hist-table .ht-num em{font-family:var(--mono);font-size:9px;color:var(--muted);font-style:normal;letter-spacing:.06em;margin-left:3px;text-transform:uppercase}.wk-src-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.wk-src-dot{width:5px;height:5px;border-radius:50%;background:var(--color-success);flex-shrink:0}.wk-src-dot.manual{background:var(--muted)}.km-modal--form h3{font-family:var(--serif);font-size:26px;letter-spacing:-.015em;font-weight:500;margin:0;line-height:1.1;color:var(--ink)}.km-modal--form h3 em{font-style:italic;color:var(--accent)}.km-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.km-modal--form label{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.km-modal--form input,.km-modal--form select{padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);font-family:var(--sans);font-size:14px;color:var(--ink);outline:none;transition:border-color var(--duration-fast)}.km-modal--form input:focus,.km-modal--form select:focus{border-color:var(--accent)}.wk-charge-box{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.06em;padding:10px 14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);line-height:1.6;margin-top:14px}.wk-charge-box strong{color:var(--ink);font-family:var(--serif);font-weight:500;font-size:12px;letter-spacing:-.005em;display:block;margin-bottom:2px}@media (max-width: 1023px){.wk-hero{grid-template-columns:1fr}.wk-stat-strip{grid-template-columns:repeat(2,1fr)}.wk-cal{grid-template-columns:repeat(4,1fr)}.wk-insight-band{grid-template-columns:1fr}}@media (max-width: 639px){.wk-cal{grid-template-columns:repeat(2,1fr)}.wk-hist-table thead{display:none}.wk-hist-table td{display:block;padding:6px 12px;border-bottom:none}.wk-hist-table tr{display:block;border-bottom:1px solid var(--line);padding:10px 0}.km-form-row{grid-template-columns:1fr}}.km-profile-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:32px}.km-profile-tab{background:none;border:none;border-bottom:2px solid transparent;padding:10px 20px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.km-profile-tab:hover{color:var(--ink)}.km-profile-tab.active{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}.km-nutri-root{max-width:100%}.km-nutri-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:32px}@media (max-width: 639px){.km-nutri-summary-grid{grid-template-columns:1fr}}.km-nutri-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:20px 22px;display:flex;flex-direction:column;gap:6px}.km-nutri-card--active{border-color:var(--ink);background:var(--paper)}.km-nutri-card--warn{border-color:var(--accent)}.km-nutri-card-eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center}.km-nutri-card-value{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-.02em;color:var(--ink);line-height:1.15}.km-nutri-card-sub{font-size:12px;color:var(--muted);line-height:1.45}.km-nutri-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.km-nutri-tag{display:inline-flex;align-items:center;padding:3px 9px;border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--paper)}.km-nutri-details{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.km-nutri-detail-section{border-bottom:1px solid var(--line)}.km-nutri-detail-section:last-child{border-bottom:none}.km-nutri-detail-header{width:100%;background:none;border:none;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left;transition:background .12s}.km-nutri-detail-header:hover{background:var(--paper)}.km-nutri-detail-title{font-family:var(--serif);font-size:15px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.km-nutri-detail-badge{font-family:var(--mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:2px 6px}.km-nutri-detail-body{padding:4px 20px 20px}.km-nutri-detail-summary{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 12px}.km-nutri-rule-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.km-nutri-rule-item{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--ink);line-height:1.45}.km-nutri-rule-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:5px}.km-nutri-rule-dot--ok{background:var(--accent)}.km-nutri-targets-row{display:flex;flex-wrap:wrap;gap:8px}.km-nutri-target-chip{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:var(--paper);min-width:80px}.km-nutri-target-chip-label{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.km-nutri-target-chip-val{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--ink);line-height:1.1}.km-nutri-empty{text-align:center;padding:60px 20px;display:flex;flex-direction:column;align-items:center;gap:8px}.km-nutri-empty-title{font-family:var(--serif);font-size:18px;font-weight:500;letter-spacing:-.01em;color:var(--ink);margin:0}.km-profile-sub{color:var(--muted);font-size:13px;font-family:var(--sans);font-weight:400;letter-spacing:0}.km-kpi-foot-col{gap:8px;flex-direction:column;align-items:stretch}.km-shortcut-btn{width:auto;justify-content:space-between}.km-wk-empty{color:var(--muted);font-size:13px;margin:4px 0 0}.km-wk-empty-link{display:inline;padding:0;border:none;font-size:13px;cursor:pointer;background:none;color:var(--accent);font-family:inherit}.km-wk-add-btn{margin-top:auto}.km-wk-add-icon{font-size:18px;line-height:1}.km-fav-remove-abs{position:absolute;top:8px;right:8px}.km-breadcrumb-link{color:inherit;text-decoration:none}.km-dash-meta-count{font-size:14px;color:var(--muted);margin-top:4px}.km-collection-actions{display:flex;gap:8px}.km-collection-delete-btn{color:var(--color-error)}.settings-section-head{margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--line)}.settings-section-title{font-family:var(--serif);font-size:clamp(1.4rem,4vw,1.875rem);letter-spacing:-.02em;font-weight:500;margin:6px 0 4px;line-height:1;color:var(--ink)}.settings-section-title em{font-style:italic;color:var(--accent)}.settings-section-desc{margin:0;color:var(--muted);font-size:14px;max-width:540px}.settings-card{padding:22px 28px;margin-bottom:14px;background:var(--paper);border:1px solid var(--line);border-radius:6px}.settings-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:18px 0 8px;border-top:1px solid var(--line);margin-top:10px}.settings-row--first{padding-top:8px;border-top:none;margin-top:0}.settings-row-label{font-family:var(--serif);font-size:17px;letter-spacing:-.01em;font-weight:500;margin:0 0 4px}.settings-row-desc{margin:0;font-size:13px;color:var(--muted);line-height:1.5}.settings-row-ctrl{display:flex;gap:8px;align-items:center}.settings-plan-price{font-family:var(--serif);font-size:clamp(1.75rem,6vw,2.375rem);letter-spacing:-.02em;font-weight:400;line-height:1}.settings-plan-price-unit{font-size:13px;color:var(--muted);font-family:var(--sans);font-weight:400;letter-spacing:0;margin-left:4px}.settings-plan-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.settings-plan-item{font-size:13px;display:flex;gap:10px;align-items:flex-start;line-height:1.4}.settings-plan-item-dot{font-weight:700;width:8px;flex-shrink:0;text-align:center}.settings-confirm-box{margin-top:14px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:6px;padding:16px 20px;display:flex;align-items:center;gap:14px;background:color-mix(in srgb,var(--accent) 10%,var(--paper))}.settings-confirm-box-text{font-family:var(--sans);font-size:13px;color:var(--accent);flex:1}.settings-danger-box{border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:6px;padding:22px 28px;background:color-mix(in srgb,var(--accent) 8%,var(--paper))}.settings-alert{padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:14px;line-height:1.5;background:color-mix(in srgb,var(--accent) 12%,var(--paper));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.settings-toc-num{font-family:var(--mono);font-size:9px;letter-spacing:.1em;opacity:.6}.settings-content{display:flex;flex-direction:column;gap:48px}.settings-invoice-th{text-align:left;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0 0 10px;border-bottom:1px solid var(--line)}.settings-invoice-th--right{text-align:right}.settings-invoice-td{padding:12px 0;border-bottom:1px solid var(--line)}.settings-invoice-td--last{border-bottom:none}.settings-invoice-td--serif{font-family:var(--serif);font-weight:500;font-size:14px}.settings-invoice-td--mono{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em}.settings-invoice-td--right{text-align:right}.settings-invoice-table{width:100%;border-collapse:collapse}.settings-history-title{margin:0 0 14px;font-family:var(--serif);font-size:18px;font-weight:500;letter-spacing:-.01em}@media (max-width: 639px){.settings-card{padding:16px}.settings-row{grid-template-columns:1fr}.settings-row-ctrl{justify-content:flex-start}}.prefs-block-head{margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--line)}.prefs-block-title{font-family:var(--serif);font-size:clamp(1.4rem,4vw,1.875rem);letter-spacing:-.02em;font-weight:500;margin:6px 0 4px;line-height:1;color:var(--ink)}.prefs-block-title em{font-style:italic;color:var(--accent)}.prefs-block-desc{margin:0;color:var(--muted);font-size:14px;max-width:540px}.prefs-card{padding:24px 28px;margin-bottom:18px;background:var(--paper);border:1px solid var(--line)}.prefs-card-title{font-family:var(--serif);font-size:20px;letter-spacing:-.01em;font-weight:500;margin:0 0 4px;line-height:1.15;color:var(--ink)}.prefs-card-sub{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.5}.prefs-pill-row{display:flex;flex-wrap:wrap;gap:6px}.prefs-col{display:flex;flex-direction:column;gap:6px}.prefs-health-btn{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;cursor:pointer;text-align:left;background:var(--paper);transition:all .15s;width:100%;border:1.5px solid var(--line)}.prefs-health-btn.active{border-color:var(--ink)}.prefs-health-checkbox{width:18px;height:18px;flex-shrink:0;margin-top:1px;border:2px solid var(--line);background:transparent;display:flex;align-items:center;justify-content:center}.prefs-health-checkbox.active{border-color:var(--ink);background:var(--ink)}.prefs-health-name{font-family:var(--serif);font-size:15px;font-weight:500;color:var(--ink);display:block;letter-spacing:-.01em}.prefs-health-desc{font-family:var(--sans);font-size:12px;color:var(--muted);line-height:1.4}.shopping-item-name{font-family:var(--serif);font-size:18px;letter-spacing:-.01em;font-weight:500;line-height:1.2;color:var(--ink);transition:opacity .15s}.shopping-item-name--checked{text-decoration:line-through;opacity:.5}.shopping-item-recipes{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--muted);margin-top:2px;line-height:1.4}.shopping-item-recipes--checked{opacity:.5}.shopping-item-days{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:4px}.shopping-day-section-title{font-family:var(--serif);font-size:24px;letter-spacing:-.015em;font-weight:500;margin:0 0 4px;line-height:1;color:var(--ink);text-transform:capitalize}.shopping-section-aisle{border-top:1px solid var(--ink);padding-top:22px}.selection-day-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}.selection-day-val{font-family:var(--serif);font-size:24px;letter-spacing:-.01em;font-weight:500;line-height:1}.selection-day-val em{font-style:italic;color:var(--accent)}.selection-day-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.progress-bar-wrap{margin-bottom:2rem}.progress-bar-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.progress-label{font-size:.75rem;color:var(--muted);font-family:var(--sans)}.progress-label--accent{font-size:.75rem;color:var(--accent);font-weight:600;font-family:var(--sans)}.progress-track{height:6px;background:var(--line);border-radius:var(--radius-sm, 4px);overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:var(--radius-sm, 4px);transition:width var(--duration-normal, .25s) ease}.km-eyebrow--centered{margin:0;display:flex;align-items:center;justify-content:center;gap:.4rem}.km-eyebrow--modal-sub{margin:.25rem 0 0}.km-eyebrow--picker-meta{margin-top:.2rem;display:flex;gap:.75rem;align-items:center}.km-eyebrow--inline-count{margin-left:.5rem;vertical-align:middle}.km-eyebrow--faded{opacity:.7}.km-eyebrow--mb-sm{margin-bottom:6px}.km-eyebrow--mt-sm{margin-top:8px}.km-eyebrow--loading{padding:20px 0}.km-week-nav-controls{display:flex;align-items:center;justify-content:space-between;margin:0 0 1rem;padding:.75rem 1rem;background:var(--paper);border-radius:var(--radius-md);border:1px solid var(--line)}.km-week-nav-center{text-align:center}.km-week-nav-range{font-family:var(--serif);font-size:.9rem;font-weight:500;color:var(--ink);letter-spacing:-.01em}.km-week-nav-week-num{font-family:var(--mono);font-size:.65rem;color:var(--muted);margin-left:8px}.km-alert--regen-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.km-alert--regen-inner{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.km-alert--mb{margin-bottom:1.5rem}.km-alert--done-dark{background:var(--ink);color:var(--paper)}.km-alert-inline--error{color:var(--ink);background:#dc262614;padding:10px 14px;border-radius:var(--radius-md);margin-top:8px}.km-modal-subtitle-top{margin:0}.km-modal--narrow{max-width:420px}.km-modal-title{font-family:var(--serif);font-size:1.2rem;font-weight:500;color:var(--ink);margin:0;letter-spacing:-.015em}.km-modal-close-btn{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--muted)}.km-modal-body-text{margin:0 0 1.25rem;color:var(--ink);font-size:.95rem}.km-modal-loading-text{color:var(--muted);font-size:.85rem;margin:0}.km-modal-error{color:var(--color-error);font-size:.85rem;margin:0 0 .75rem}.km-modal-new-coll-btn{background:none;border:none;cursor:pointer;color:var(--accent);font-size:.85rem;font-weight:500;padding:0;margin-bottom:1rem;display:block}.km-modal-new-coll-form{display:flex;gap:.5rem;margin-bottom:1rem}.km-profile-card--identity{border:1px solid var(--ink);gap:18px;padding:32px 32px 28px}.km-profile-card--premium{border:2px solid var(--ink)}.km-badge--success{color:var(--color-success)}.km-badge--inline{margin-left:8px;font-size:10px!important}.km-kpi--stat{gap:6px;padding:18px 22px}.km-kpi--compact{gap:4px}.km-kpi-val--lg{font-size:30px}.km-coll-card{color:inherit;position:relative}.km-coll-card-actions{position:absolute;top:6px;right:6px;display:flex;gap:4px;z-index:2}.km-coll-card-link{text-decoration:none;color:inherit;display:block}.km-coll-card-cover{height:100px;border-radius:var(--radius-md) var(--radius-md) 0 0;display:flex;align-items:flex-end;padding:10px}.km-coll-card-initial{color:var(--muted);font-family:var(--serif);font-size:36px}.km-coll-card-body{padding:10px 14px 4px}.km-coll-card-name{margin:0;font-size:15px}.km-coll-card-count{margin:4px 0 0;font-size:12px;color:var(--muted)}.km-coll-card-footer{padding:6px 14px 12px}.km-coll-card-add-btn{font-size:12px!important;padding:4px 10px!important;width:100%}.km-collection-placeholder{cursor:pointer}.km-btn--danger-text{color:var(--color-error)!important}.km-btn--accent{background:var(--accent)!important;color:var(--paper)!important}.km-btn--flex-center{flex:1;justify-content:center}.km-btn--nowrap{white-space:nowrap;flex-shrink:0}.km-btn--mono{font-size:10px;letter-spacing:.1em;padding:4px 10px}.km-chip-remove-btn{background:none;border:none;cursor:pointer;padding:2px 4px;font-size:11px;line-height:1;color:var(--muted);margin-left:4px;border-radius:2px;flex-shrink:0}.km-chip-remove-btn:hover{color:var(--ink)}.km-ns-badge--inline{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:3px;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:0;text-transform:uppercase;flex-shrink:0}.km-stat-val--sm{display:block;margin-top:2px;font-size:18px}.km-stat-unit{font-size:11px;color:var(--muted);font-family:var(--sans)}.km-results-strong{color:var(--ink);font-weight:500}.km-data-row--results-bar{margin-bottom:20px}.km-empty-para{margin:0 0 16px}.km-clear-btn--inline{display:inline;margin-top:0;text-decoration:underline}.km-plan-card-cta{margin-top:auto}.km-form-row--constrained{max-width:320px}.km-form-row--narrow{max-width:280px}.km-form-actions{display:flex;justify-content:flex-end}.km-flex-gap{display:flex;gap:8px}.km-flex-wrap{flex-wrap:wrap;align-items:center}.km-flex-1{flex:1}.km-flex-noshrink{flex-shrink:0}.km-flex-col{display:flex;flex-direction:column;gap:32px}.settings-section-note{margin:0 0 8px;font-size:13px;color:var(--muted)}.settings-danger-label{margin-bottom:8px;color:var(--accent)}.settings-danger-text{margin:0 0 16px;font-size:13px;color:var(--accent);line-height:1.5;opacity:.8}.km-input--danger{border-color:color-mix(in srgb,var(--accent) 40%,transparent)!important}.km-sec-title--lg{font-size:24px}.km-dash-meta-week{margin-top:6px}.km-recipe-img-fallback{width:100%;height:100%;background:var(--paper);display:flex;align-items:center;justify-content:center;font-size:40px}.auth-card--centered{text-align:center}.auth-card--narrow{max-width:480px}.auth-card-icon-row{margin-bottom:1rem;display:flex;justify-content:center}.auth-card-actions{display:flex;flex-direction:column;gap:.75rem}.tt-small{font-size:.85rem}.eh-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:10}.eh-mono-meta{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;opacity:.65}.eh-mono-date{font-family:var(--mono);font-size:9px;letter-spacing:.06em;opacity:.7;white-space:nowrap}.eh-subject{font-family:var(--serif);font-size:15px;font-weight:500;letter-spacing:-.01em;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:100%}.eh-status-row{display:flex;gap:10px;align-items:center;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;opacity:.75;margin-top:2px}.eh-meta-bar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 16px;background:var(--paper);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.eh-meta-cell{display:flex;flex-direction:column;gap:2px}.eh-meta-val{font-family:var(--serif);font-size:13px;font-weight:500;letter-spacing:-.01em;text-transform:none;color:var(--ink)}.eh-article{background:var(--paper);border:1px solid var(--line);padding:36px 40px;max-width:580px;margin:0 auto;width:100%}.eh-stamp{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);text-align:center;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:28px}.eh-headline{font-family:var(--serif);font-size:34px;letter-spacing:-.02em;font-weight:400;line-height:1.05;margin:0 0 10px;color:var(--ink)}.eh-lede{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--muted);margin:0 0 28px;line-height:1.5}.eh-tracking{padding:12px 16px;background:var(--paper);border:1px solid var(--line);font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--muted);line-height:1.6;margin-bottom:24px}.eh-track-row{display:flex;align-items:center;gap:8px}.eh-dot6{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.eh-signoff{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-family:var(--serif);font-style:italic;font-size:14px;color:var(--muted);line-height:1.6}.eh-footer{margin-top:28px;text-align:center;font-family:var(--mono);font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em}.eh-list-head{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.eh-list-hdr{font-family:var(--serif);font-size:16px;font-weight:500;letter-spacing:-.01em;margin:0;color:var(--ink)}.eh-month-div{padding:10px 20px;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:var(--paper);border-bottom:1px solid var(--line)}.eh-kpi-em{font-family:var(--mono);font-size:12px;letter-spacing:0;margin-left:4px}.eh-split-wrap{border:1px solid var(--line);overflow:hidden;min-height:680px}.eh-split-panel{border-right:1px solid var(--line);background:var(--paper);overflow-y:auto}.eh-load-more{border-top:1px solid var(--line);display:inline-flex;align-items:center;gap:6px;width:100%;justify-content:center}.eh-empty-wrap{padding:4rem 2rem;border:1px solid var(--line);background:var(--paper)}.eh-empty-icon{color:var(--muted);margin-bottom:16px}.eh-empty-title{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--ink);margin:0}.eh-empty-desc{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.6}.eh-preview-icon{margin-bottom:12px}.eh-preview-msg{font-family:var(--serif);font-size:16px;margin:0}.eh-loading-pad{padding:2rem 0}.km-empty--mt{margin-top:60px}.km-empty__icon--lg{font-size:28px}.wk-session-meta--planned-foot{font-style:italic;display:flex;justify-content:space-between}.wk-freq-badge{font-style:normal;font-size:.65rem;color:var(--accent);font-weight:500}.km-strong-ink{color:var(--ink);font-weight:500}.km-link--accent{color:var(--accent);border-bottom:1px solid currentColor}.ht-date{font-family:var(--serif);font-size:13px;font-weight:500;color:var(--ink)}.km-page-col{display:flex;flex-direction:column;gap:32px}.km-empty--padded{padding:4rem}.km-empty--dashed{padding:3rem 2rem;background:var(--paper);border-radius:var(--radius-md);border:1px dashed var(--line)}.km-empty--lg{padding:4rem 2rem}.km-empty-icon-row{margin-bottom:1rem;display:flex;justify-content:center}.km-empty-text{font-family:var(--sans);font-size:.9rem;color:var(--muted);margin:0}.km-empty-text--mb{margin-bottom:1.5rem}.km-empty-heading{font-family:var(--serif);font-size:1.4rem;color:var(--ink);margin:0 0 .5rem;font-weight:500;letter-spacing:-.015em}.km-mb-md{margin-bottom:24px}.km-items-col{display:flex;flex-direction:column;gap:28px}.km-progress-fill--thin{height:100%;border-radius:999px;transition:width .3s ease}.km-pill--xs{font-size:9px!important;padding:2px 7px!important}.km-pill--nowrap{white-space:nowrap}.km-pill--date-filter{cursor:pointer;white-space:nowrap;flex-shrink:0;border:none}.km-export-btn{width:100%;justify-content:flex-start;font-size:11px;padding:10px 14px}.km-icon-mr{margin-right:6px}.km-form-error{font-size:13px;color:var(--color-error)}.km-nutri-detail-right{display:flex;align-items:center;gap:8px}.km-icon-muted{color:var(--muted)}.km-nutri-unit{font-family:var(--sans);font-size:12px;font-style:normal;color:var(--muted);margin-left:2px}.km-nutri-unit--lg{font-size:14px;margin-left:3px}.km-nutri-empty-icon{margin:0 auto 16px;color:var(--muted);display:block}.km-nutri-empty-hint{font-size:14px;color:var(--muted);margin-bottom:20px}.km-nutri-card-icon{display:inline;margin-right:4px}.km-nutri-card-muted{color:var(--muted);font-family:var(--sans);font-size:15px}.km-nutri-targets-row--mb{margin-bottom:16px}.km-nutri-target-chip-val--lg{font-size:15px}.km-nutri-cta-section{padding:16px 20px;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:12px}.km-nutri-detail-title--sm{font-size:14px;margin-bottom:4px}.km-nutri-cta-hint{font-size:13px;color:var(--muted);margin:0}.km-label--mb{margin-bottom:8px}.km-label--mt{margin-top:16px}.km-label--mb-md{margin-bottom:12px}.km-label--block{display:block;margin-bottom:.4rem}.km-sec-head--mb{margin-bottom:24px}.km-self-start{align-self:flex-start}.km-form-field{margin-bottom:1rem}.km-filter-select--full{width:100%;padding:.5rem .75rem;font-size:.9rem}.km-filter-search--flex{flex:1;padding:.5rem .75rem;font-size:.85rem}.km-add-coll-wrap{position:relative;display:inline-block}.km-add-coll-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:220px;z-index:100;padding:8px}.km-add-coll-feedback{padding:8px 12px;font-size:13px;color:var(--muted)}.km-add-coll-feedback--success{color:var(--color-success)}.km-add-coll-list{max-height:200px;overflow-y:auto}.km-add-coll-item{display:block;width:100%;text-align:left;padding:6px 12px;font-size:13px;border:none;background:transparent;cursor:pointer;border-radius:4px}.km-add-coll-count{color:var(--muted);margin-left:4px;font-size:11px}.km-add-coll-footer{padding-top:4px}.km-add-coll-footer--sep{border-top:1px solid var(--line);margin-top:4px}.km-add-coll-new-btn{display:block;width:100%;text-align:left;padding:6px 12px;font-size:13px;border:none;background:transparent;cursor:pointer;font-weight:500;border-radius:4px}.km-add-coll-input{flex:1;padding:4px 8px;font-size:13px;border:1px solid var(--line);border-radius:4px}.km-add-coll-create-form{display:flex;gap:4px;padding:4px 8px}.km-min-w0{min-width:0}.km-recipe-img-placeholder{width:100%;height:100%;background:var(--paper)}.km-eyebrow--optional{margin-left:.4rem;font-weight:400}.settings-plan-item-dot--active{color:var(--accent)}.km-text-muted{color:var(--muted)}.km-text-accent{color:var(--accent)}.km-accent-strong{color:var(--accent);font-weight:500}.km-capitalize{text-transform:capitalize}.km-history-group{margin-bottom:4px}.km-icon-sm{width:14px;height:14px}.km-rate-row--spread{display:flex;align-items:center;justify-content:space-between}.km-tabs--padded{padding:0 1.5rem}.km-picker-search-row{padding:1rem 1.5rem .5rem;display:flex;gap:.5rem}.km-picker-list{display:flex;flex-direction:column;gap:.5rem}.km-cd-suffix{font-size:.5em;letter-spacing:0}.auth-page{min-height:100vh;background:var(--paper);display:flex;align-items:center;justify-content:center;padding:2rem var(--pad-x)}.auth-wrap{width:100%;max-width:440px;display:flex;flex-direction:column;gap:32px}.auth-wrap.wide{max-width:480px}.auth-brand{text-align:center}.auth-brand .wordmark{font-family:var(--serif);font-weight:500;font-size:24px;letter-spacing:-.02em;line-height:1;color:var(--ink)}.auth-brand .wordmark em{font-style:italic;color:var(--accent)}.auth-brand .tagline{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px}.auth-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:32px;display:flex;flex-direction:column;gap:20px}.auth-card-title{font-family:var(--serif);font-size:21px;font-weight:500;letter-spacing:-.01em;line-height:1.1;color:var(--ink);margin:0}.auth-sep{display:flex;align-items:center;gap:12px}.auth-sep .line{flex:1;height:1px;background:var(--line)}.auth-sep .label{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.btn-full{width:100%;justify-content:center}.auth-name-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 639px){.auth-name-row{grid-template-columns:1fr}}.auth-footer{text-align:center;font-size:13px;color:var(--muted);line-height:1.5}.auth-footer a{color:var(--accent);font-weight:500}.auth-footer a:hover{color:var(--brand)}.auth-trial{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center}.req{color:var(--accent);margin-left:2px}body.mobile-preview{margin:0;min-height:100vh;background:#d9d4c5;display:grid;place-items:center;padding:40px 20px;font-family:var(--sans)}.device-stage{display:flex;flex-direction:column;align-items:center;gap:20px}.device-stage .lab{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#6f6a5d;text-transform:uppercase}.screen{width:100%;height:100%;overflow:auto;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;display:flex;flex-direction:column}.m-top{padding:calc(env(safe-area-inset-top,44px) + 16px) 16px 10px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:var(--z-top-bar, 5)}.m-top .brand{font-family:var(--serif);font-size:16px;font-weight:500;letter-spacing:-.01em;line-height:1;flex:1;text-align:center}.m-top .brand em{font-style:italic;color:var(--accent)}.m-top .menu-btn{width:36px;height:36px;border-radius:10px;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;cursor:pointer}.m-top .menu-btn span{display:block;width:14px;height:1.5px;background:var(--ink);position:relative}.m-top .menu-btn span:before,.m-top .menu-btn span:after{content:"";position:absolute;left:0;width:14px;height:1.5px;background:var(--ink)}.m-top .menu-btn span:before{top:-5px}.m-top .menu-btn span:after{top:5px}.m-top .right{display:flex;align-items:center;gap:10px}.m-top .avatar{width:30px;height:30px;border-radius:50%;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-weight:500;font-size:13px}.m-quick{padding:10px 16px;display:flex;justify-content:space-around;gap:8px;border-bottom:1px solid var(--line);background:var(--paper)}.m-quick a{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 4px;color:var(--ink);text-decoration:none;border-radius:10px;transition:background .15s}.m-quick a:active{background:var(--paper-2)}.m-quick a .ic{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--paper-2);display:grid;place-items:center;color:var(--ink)}.m-quick a.current .ic{background:var(--ink);border-color:var(--ink);color:var(--paper)}.m-quick a .ic svg{width:18px;height:18px;display:block}.m-quick a .lab{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.m-quick a.current .lab{color:var(--ink)}.scrim{position:absolute;inset:0;background:#12120f66;opacity:0;pointer-events:none;transition:opacity .25s;z-index:var(--z-scrim, 80)}.scrim.on{opacity:1;pointer-events:auto}.drawer{position:absolute;top:0;left:0;bottom:0;width:78%;max-width:300px;background:var(--paper);transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:var(--z-drawer, 90);display:flex;flex-direction:column;padding:54px 14px 18px;border-right:1px solid var(--line);overflow-y:auto}.drawer.on{transform:translate(0)}.drawer .d-brand{font-family:var(--serif);font-size:18px;font-weight:500;letter-spacing:-.01em;padding:6px 10px 14px;border-bottom:1px solid var(--line);margin-bottom:10px}.drawer .d-brand em{font-style:italic;color:var(--accent)}.drawer .d-user{display:flex;align-items:center;gap:11px;padding:6px 10px 14px}.drawer .d-user .av{width:36px;height:36px;border-radius:50%;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-weight:500;font-size:15px}.drawer .d-user .nm{font-family:var(--serif);font-size:14px;font-weight:500;letter-spacing:-.01em;line-height:1.15}.drawer .d-user .ml{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.05em;margin-top:2px}.drawer .d-sec-title{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:8px 10px 6px;font-weight:500}.drawer .nav-item{display:flex;align-items:center;gap:11px;padding:14px 10px;border-radius:8px;font-size:13px;color:var(--ink);line-height:1;text-decoration:none}.drawer .nav-item:active{background:var(--paper-2)}.drawer .nav-item.current{background:var(--ink);color:var(--paper);font-weight:500}.drawer .nav-item .num{font-family:var(--mono);font-size:9px;letter-spacing:.08em;opacity:.5;width:18px}.drawer .nav-item.current .num{opacity:.7}.drawer .nav-item .badge-mini{margin-left:auto;font-family:var(--mono);font-size:9px;background:var(--accent);color:#fff;padding:2px 6px;border-radius:999px}.m-hero{padding:18px 20px 16px;border-bottom:1px solid var(--line)}.m-hero .num{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}@media (max-width: 1023px){.m-hero h1{font-family:var(--serif);font-weight:500;font-size:38px;line-height:.95;letter-spacing:-.02em;margin:6px 0 10px}.m-hero h1 em{font-style:italic;color:var(--accent)}}.m-hero .sub{font-size:13px;color:var(--muted);line-height:1.45;margin:0;max-width:300px}.m-hero .meta{display:flex;justify-content:space-between;align-items:end;margin-top:14px;gap:18px}.m-hero .meta .big{font-family:var(--serif);font-weight:500;font-size:30px;line-height:.9;letter-spacing:-.02em}.m-hero .meta .big em{font-style:italic;color:var(--accent)}.m-hero .meta .lab{font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin-top:4px}.m-hero .meta .bar-wrap{flex:1;max-width:160px}.m-hero .progress{height:4px;background:var(--paper-2);border-radius:999px;overflow:hidden}.m-hero .progress>div{height:100%;background:var(--ink);border-radius:999px;transition:width .3s}.m-hero .ratio{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-align:right;margin-top:6px;color:var(--muted)}.m-filters{padding:12px 16px 14px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-bottom:1px solid var(--line);background:var(--paper)}.m-filters .f-btn{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px 12px 9px;background:var(--paper-2);border:1px solid transparent;border-radius:12px;color:var(--ink);cursor:pointer;text-align:left;min-height:54px;transition:all .15s}.m-filters .f-btn:active{transform:scale(.98)}.m-filters .f-btn .lab{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);line-height:1}.m-filters .f-btn .v{font-family:var(--serif);font-weight:500;font-size:18px;letter-spacing:-.01em;line-height:1}.m-filters .f-btn.active{background:var(--ink);color:var(--paper)}.m-filters .f-btn.active .lab{color:#f3efe6b3}.m-filters .f-btn.active .v{color:var(--paper)}.m-pills{display:flex;gap:6px;overflow-x:auto;padding:12px 16px 14px;border-bottom:1px solid var(--line);background:var(--paper);scrollbar-width:none;-ms-overflow-style:none}.m-pills::-webkit-scrollbar{display:none}.m-pills .pill{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:7px 13px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);cursor:pointer;white-space:nowrap}.m-pills .pill.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.m-pills .pill .dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.m-section{padding:18px 20px 6px}.m-section-head{display:flex;justify-content:space-between;align-items:end;padding-bottom:10px;border-bottom:1px solid var(--ink);margin-bottom:14px}.m-section-head .left{display:flex;align-items:end;gap:10px}.m-section-head .num{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;padding-bottom:2px}.m-section-head h3{font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:-.015em;margin:0;line-height:1}.m-section-head h3 em{font-style:italic;color:var(--accent)}.m-section-head .count{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.m-list{display:flex;flex-direction:column}.m-list-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:13px 0;align-items:center;border-bottom:1px solid rgba(18,18,15,.08);cursor:pointer}.m-list-row:last-child{border-bottom:0}.m-list-row:active{background:var(--paper-2)}.m-list-row .ttl{font-family:var(--serif);font-weight:500;font-size:16px;letter-spacing:-.005em;line-height:1.2}.m-list-row .sub{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.35}.m-list-row .tag{font-family:var(--mono);font-size:10px;letter-spacing:.05em;background:var(--paper-2);padding:5px 10px;border-radius:999px;white-space:nowrap}.m-fab{position:sticky;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:var(--z-fab, 25);margin:6px 14px 0;background:var(--ink);color:var(--paper);border-radius:999px;padding:14px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 14px 30px -10px #00000059;font-size:13px;font-weight:500;text-decoration:none}.m-fab .label{font-family:var(--serif);font-style:italic;font-size:15px;letter-spacing:-.005em}.m-fab .arrow{font-family:var(--mono);font-size:11px;opacity:.7}[data-palette=encre] .m-fab,[data-palette=minuit] .m-fab{background:var(--brand);color:#0f1612}.m-tiles{padding:14px 16px 6px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.m-tile{background:var(--paper-2);border-radius:12px;padding:14px 14px 13px;display:flex;flex-direction:column;gap:6px;min-height:96px;justify-content:space-between}.m-tile .lab{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);line-height:1}.m-tile .v{font-family:var(--serif);font-weight:500;font-size:32px;line-height:.9;letter-spacing:-.02em}.m-tile .v em{font-style:italic;color:var(--accent)}.m-tile .hint{font-size:11px;color:var(--muted);line-height:1.35}.m-tile.dark{background:var(--ink);color:var(--paper)}.m-tile.dark .lab,.m-tile.dark .hint{color:#f3efe699}[data-palette=encre] .m-tile.dark,[data-palette=minuit] .m-tile.dark{background:var(--brand);color:#0f1612}.m-recipes{padding:6px 16px;display:flex;flex-direction:column;gap:14px}.m-recipe{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:6px 0;align-items:start}.m-recipe .img{aspect-ratio:5/6;background:var(--paper-2);border-radius:8px;overflow:hidden;position:relative}.m-recipe .img .ph{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:30px;color:var(--muted);opacity:.6}.m-recipe .body{display:flex;flex-direction:column;gap:6px;padding-top:2px;min-width:0}.m-recipe .meta{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.m-recipe .nm{font-family:var(--serif);font-weight:500;font-size:17px;letter-spacing:-.01em;line-height:1.2;margin:2px 0 0}.m-recipe .tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.m-recipe .tag{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--brand);padding:2px 7px;border:1px solid var(--line);border-radius:999px}.m-recipe .ns{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;color:#fff;font-weight:700;font-size:10px;position:absolute;top:8px;right:8px}.ns-c{background:#efbe1b}.m-alert{margin:14px 16px;padding:12px 14px;border-radius:10px;background:var(--paper-2);font-size:12px;line-height:1.45;display:flex;gap:10px;align-items:flex-start}.m-alert .ic{flex-shrink:0;width:18px;height:18px;border-radius:50%;background:var(--ink);color:var(--paper);font-family:var(--serif);font-style:italic;font-weight:600;font-size:11px;display:grid;place-items:center}.m-alert strong{display:block;font-family:var(--serif);font-size:13px;font-weight:500;letter-spacing:-.01em;margin-bottom:2px}.m-form{padding:8px 16px 6px;display:flex;flex-direction:column}.m-field{padding:13px 0;border-bottom:1px solid rgba(18,18,15,.08);display:flex;flex-direction:column;gap:4px}.m-field:last-child{border-bottom:0}.m-field .lab{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.m-field .val{font-family:var(--serif);font-size:16px;font-weight:500;letter-spacing:-.005em}.m-field input,.m-field select,.m-field textarea{font-family:var(--sans);font-size:14px;color:var(--ink);border:0;background:transparent;outline:none;width:100%;padding:0}.m-field.row-toggle{flex-direction:row;align-items:center;justify-content:space-between;gap:14px}.m-field.row-toggle .lab{text-transform:none;letter-spacing:0;font-family:var(--serif);font-size:15px;color:var(--ink);font-weight:500}.m-field.row-toggle .hint{font-family:var(--sans);font-size:11px;color:var(--muted);margin-top:2px;line-height:1.35}.m-toggle{width:42px;height:24px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line);position:relative;flex-shrink:0;cursor:pointer;transition:background .15s}.m-toggle:after{content:"";position:absolute;top:1px;left:1px;width:20px;height:20px;border-radius:50%;background:var(--ink);transition:transform .18s}.m-toggle.on{background:var(--ink);border-color:var(--ink)}.m-toggle.on:after{transform:translate(18px);background:var(--paper)}[data-palette=encre] .m-toggle.on,[data-palette=minuit] .m-toggle.on{background:var(--brand);border-color:var(--brand)}.m-mail{display:flex;flex-direction:column;padding:0 0 6px}.m-mail-row{display:grid;grid-template-columns:36px 1fr auto;gap:11px;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(18,18,15,.08);text-decoration:none;color:inherit;cursor:pointer}.m-mail-row:active{background:var(--paper-2)}.m-mail-row .av{width:36px;height:36px;border-radius:50%;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-weight:500;font-size:14px;color:var(--ink)}.m-mail-row .av.unread{background:var(--ink);color:var(--paper);border-color:var(--ink)}.m-mail-row .from{font-family:var(--serif);font-weight:500;font-size:14px;letter-spacing:-.005em;line-height:1.15}.m-mail-row .sub{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.35}.m-mail-row .at{font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;text-align:right}.m-bottom-pad{height:80px}.m-divider{height:1px;background:var(--line);margin:6px 16px}.m-spacer{height:14px}.km-app .scrim,.km-app .drawer{position:fixed}.km-app .m-top{position:fixed;top:0;left:0;right:0;z-index:var(--z-top-bar, 50)}.km-app .m-quick{position:fixed;top:0;left:0;right:0;z-index:var(--z-quick-nav, 49);margin-top:var(--m-top-h)}@media (max-width:1023px){.km-app .km-main{padding-top:calc(var(--m-top-h) + var(--m-quick-h))!important}}.m-tabs-wrap{position:sticky;top:calc(var(--m-top-h) + var(--m-quick-h));z-index:var(--z-tabs, 20);background:var(--paper);padding:14px 16px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.m-tabs-eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:9px;display:flex;justify-content:space-between;align-items:baseline}.m-tabs-eyebrow em{font-family:var(--serif);font-style:italic;font-size:11px;color:var(--accent);letter-spacing:0;text-transform:none;font-weight:500}.m-tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ink);border-radius:999px;overflow:hidden;background:var(--paper)}.m-tabs.tabs-2{grid-template-columns:repeat(2,1fr)}.m-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:13px 6px;cursor:pointer;font-family:var(--serif);font-weight:500;font-size:14px;letter-spacing:-.005em;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1;transition:color .15s,background .2s}.m-tabs button+button{border-left:1px solid var(--line)}.m-tabs button .nidx{font-family:var(--mono);font-weight:400;font-size:9px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.m-tabs button.active{background:var(--ink);color:var(--paper)}.m-tabs button.active+button{border-left-color:var(--ink)}.m-tabs button.active .nidx{color:var(--accent);font-style:italic}.m-tabs button:not(.active):active{background:var(--paper-2)}.m-section-opener{padding:16px 0 4px;display:flex;justify-content:space-between;align-items:end;gap:12px}.m-section-opener .left{display:flex;flex-direction:column;gap:4px;min-width:0}.m-section-opener .lbl{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.m-section-opener h2{font-family:var(--serif);font-weight:400;font-size:26px;letter-spacing:-.02em;line-height:1;margin:0}.m-section-opener h2 em{font-style:italic;color:var(--accent)}.m-section-opener .badge{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--paper-2);padding:5px 10px;border-radius:999px;white-space:nowrap;flex-shrink:0}@media (min-width: 1024px){.m-top,.m-quick{display:none!important}.km-app .m-hero{padding:revert;border-bottom:revert}.km-app .m-hero .num{font-family:revert;font-size:revert;letter-spacing:revert;color:revert;text-transform:revert}.km-app .m-hero .sub{font-size:revert;color:revert;line-height:revert;margin:revert;max-width:revert}.km-app .m-hero .meta{display:revert;justify-content:revert;align-items:revert;margin-top:revert;gap:revert}.km-app .m-tiles{padding:revert;display:revert;grid-template-columns:revert;gap:revert}.km-app .m-tile{background:revert;border-radius:revert;padding:revert;display:revert;flex-direction:revert;gap:revert;min-height:revert;justify-content:revert}.km-app .m-section{padding:revert}.km-app .m-section-head{display:revert;justify-content:revert;align-items:revert;padding-bottom:revert;border-bottom:revert;margin-bottom:revert}.km-app .m-recipes{padding:revert;display:revert;flex-direction:revert;gap:revert}.km-app .m-recipe{display:revert;grid-template-columns:revert;gap:revert;padding:revert;align-items:revert}.km-app .km-recipes-row.m-recipes{display:grid;gap:var(--gap)}.km-app .km-catalogue-layout .km-recipes-row.m-recipes{gap:28px 22px}.km-app .m-list{display:revert;flex-direction:revert}.km-app .m-list-row{display:grid;grid-template-columns:revert;gap:revert;padding:revert;align-items:revert;border-bottom:revert;cursor:revert}.km-app .m-form{padding:revert;display:revert;flex-direction:revert}.km-app .m-field{padding:revert;border-bottom:revert;display:flex;flex-direction:revert;gap:revert}.km-app .m-fab{display:none!important}.km-app .m-pills{display:revert;gap:revert;overflow-x:revert;padding:revert;border-bottom:revert;background:revert;scrollbar-width:revert}.km-app .m-filters{padding:revert;display:revert;grid-template-columns:revert;gap:revert;border-bottom:revert;background:revert}.km-app .m-alert{margin:revert;padding:revert;border-radius:revert;background:revert;font-size:revert;line-height:revert;display:revert;gap:revert;align-items:revert}.km-app .m-mail{display:revert;flex-direction:revert;padding:revert}.km-app .m-mail-row{display:grid;grid-template-columns:revert;gap:revert;align-items:revert;padding:revert;border-bottom:revert}.km-app .m-toggle{display:revert}.km-app .m-bottom-pad{display:none}}@media (max-width: 1023px){.bottom-nav,.km-sidebar{display:none!important}.km-main{margin-left:0!important}body{display:block!important;padding:0!important;background:var(--paper)!important}.km-app .km-dash-header.m-hero{padding:18px 20px 16px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.km-app .km-dash-header.m-hero .km-eyebrow.num{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.km-app .km-dash-header.m-hero .km-dash-h1{font-family:var(--serif);font-weight:500;font-size:38px;line-height:.95;letter-spacing:-.02em;margin:6px 0 10px}.km-app .km-dash-header.m-hero .sub{font-size:13px;color:var(--muted);line-height:1.45;margin:0;max-width:300px}.km-app .km-dash-header.m-hero .km-dash-meta{display:flex;gap:8px;align-items:baseline;font-size:12px;color:var(--muted);text-align:left;margin-top:2px}.km-app .km-dash-header.m-hero .km-dash-meta strong{font-weight:500}.km-app .km-dash-header.m-hero .km-dash-meta .km-dash-meta-week{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.km-app .km-recipes-row.m-recipes{display:flex;flex-direction:column;gap:14px;padding:6px 16px}.km-app .km-recipes-row.m-recipes .km-recipe-card,.km-app .km-recipes-row.m-recipes .recipe-card{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:6px 0}.km-app .km-recipes-row.m-recipes .km-recipe-img,.km-app .km-recipes-row.m-recipes .recipe-img{aspect-ratio:5/6;border-radius:8px;overflow:hidden}.km-app .km-filter-bar--pills.m-pills{display:flex;gap:6px;overflow-x:auto;padding:12px 16px 14px;border-bottom:1px solid var(--line);scrollbar-width:none;-ms-overflow-style:none}.km-app .km-filter-bar--pills.m-pills::-webkit-scrollbar{display:none}.km-two-col{display:flex!important;flex-direction:column!important}.km-toc{display:none!important}.km-content-aside{display:flex!important;flex-direction:column!important}.km-aside-sticky{position:static!important}.km-split{display:flex!important;flex-direction:column!important}.km-split-list{border-right:none!important;border-bottom:1px solid var(--line);max-height:50vh;overflow-y:auto}}@media (max-width: 1023px){.km-app .km-profile-grid{grid-template-columns:1fr;gap:0}}.onboarding-page{min-height:100vh;background:var(--paper);display:flex;align-items:center;justify-content:center;padding:2rem}.onboarding-wrap{width:100%;max-width:560px}.onboarding-brand{text-align:center;margin-bottom:2rem}.onboarding-brand h1{font-family:var(--serif);font-size:1.75rem;color:var(--accent);margin:0}.onboarding-brand p{color:var(--muted);margin-top:.25rem;font-size:.9rem}.onboarding-card{background:var(--paper);border-radius:12px;box-shadow:var(--shadow-md);padding:2rem;border:1px solid var(--line)}.onboarding-title{font-family:var(--serif);font-size:1.4rem;color:var(--ink);margin:0 0 .25rem}.onboarding-subtitle{font-size:.875rem;color:var(--muted);margin:0 0 1.75rem}.onboarding-group{display:flex;flex-direction:column;gap:1.25rem}.onboarding-group-lg{display:flex;flex-direction:column;gap:1.5rem}.onboarding-label{font-size:.875rem;color:var(--muted);margin-bottom:.75rem}.onboarding-chips{display:flex;flex-wrap:wrap;gap:.5rem}.onboarding-chips-col{display:flex;flex-direction:column;gap:.5rem}.onboarding-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.onboarding-blacklist-row{display:flex;gap:.5rem;margin-bottom:1rem;align-items:flex-end}.onboarding-blacklist-row>div{flex:1}.onboarding-excluded-list{display:flex;flex-wrap:wrap;gap:.5rem}.onboarding-excluded-item{display:inline-flex;align-items:center;gap:.4rem;background:var(--paper-2);border:1px solid var(--accent);border-radius:6px;padding:.35rem .75rem;font-size:.875rem;color:var(--accent)}.onboarding-excluded-item button{background:none;border:none;cursor:pointer;color:var(--accent);font-size:1rem;line-height:1;padding:0}.onboarding-empty{font-size:.85rem;color:var(--muted);font-style:italic}.onboarding-option-label{font-weight:600}.onboarding-option-desc{margin-left:.5rem;font-weight:400;opacity:.7}.onboarding-nutri-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:1.25rem}.onboarding-nutri-desc{font-size:.85rem;color:var(--muted);margin-bottom:1rem}.onboarding-nutri-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.onboarding-check-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.9rem;color:var(--ink)}.onboarding-check-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.onboarding-alert-warn{background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:.85rem 1rem;font-size:.8rem;color:var(--ink);line-height:1.5}.onboarding-alert-error{background:var(--paper-2);border:1px solid var(--accent);border-radius:6px;padding:.75rem;font-size:.875rem;color:var(--accent)}.onboarding-nav{display:flex;justify-content:space-between;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.onboarding-footer{text-align:center;margin-top:1rem;font-size:.8rem;color:var(--muted)}@media (max-width: 639px){.onboarding-wrap{padding:16px}.onboarding-card{padding:20px 16px}.onboarding-grid-2,.onboarding-nutri-grid{grid-template-columns:1fr}.onboarding-nav{flex-direction:column;gap:8px}.onboarding-nav>*{width:100%;justify-content:center}}.pricing-page{min-height:100vh;background:var(--paper);padding:3rem 1.5rem}.pricing-wrap{max-width:860px;margin:0 auto}.pricing-header{text-align:center;margin-bottom:3rem}.pricing-header h1{font-family:var(--serif);font-size:2.5rem;color:var(--ink);margin:0 0 .75rem}.pricing-header p{font-size:1.1rem;color:var(--muted);max-width:480px;margin:0 auto}.pricing-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:3rem}@media (max-width: 768px){.pricing-cards{grid-template-columns:1fr}}.pricing-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:2rem}.pricing-card.premium{background:var(--ink);border:2px solid var(--accent);position:relative;color:var(--paper)}.pricing-popular-tag{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;padding:.25rem 1rem;border-radius:100px;font-size:.75rem;font-weight:700;white-space:nowrap;letter-spacing:.03em}.pricing-tier-header{margin-bottom:1.5rem}.pricing-tier-label{font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin:0 0 .5rem}.pricing-tier-label.free{color:var(--muted)}.pricing-tier-label.premium-label{color:var(--accent)}.pricing-price{display:flex;align-items:baseline;gap:.25rem}.pricing-amount{font-family:var(--serif);font-size:3rem;font-weight:700;color:var(--ink)}.pricing-card.premium .pricing-amount{color:var(--paper)}.pricing-period{color:var(--muted)}.pricing-card.premium .pricing-period{color:#fff9}.pricing-note{font-size:.875rem;color:var(--muted);margin:.5rem 0 0}.pricing-card.premium .pricing-note{color:#fff9}.pricing-features{list-style:none;padding:0;margin:0 0 2rem}.pricing-feature{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;margin-bottom:.6rem}.pricing-feature.included{color:var(--ink)}.pricing-feature.excluded{color:var(--muted)}.pricing-card.premium .pricing-feature{color:#ffffffe6}.pricing-feature-icon{flex-shrink:0;margin-top:.05rem}.pricing-feature-icon.ok{color:var(--brand)}.pricing-feature-icon.no{color:var(--line)}.pricing-card.premium .pricing-feature-icon{color:var(--paper-2)}.pricing-reassurance{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:3rem}@media (max-width: 768px){.pricing-reassurance{grid-template-columns:1fr}}.pricing-reassurance-item{text-align:center;padding:1.5rem;background:var(--paper);border-radius:12px;border:1px solid var(--line)}.pricing-reassurance-icon{margin-bottom:.75rem;display:flex;justify-content:center}.pricing-reassurance-item h3{font-family:var(--serif);font-size:1rem;color:var(--ink);margin:0 0 .5rem}.pricing-reassurance-item p{font-size:.85rem;color:var(--muted);margin:0}.pricing-faq{background:var(--paper);border-radius:12px;border:1px solid var(--line);padding:2rem}.pricing-faq h2{font-family:var(--serif);font-size:1.5rem;color:var(--ink);margin:0 0 1.5rem;text-align:center}.pricing-faq-list{display:flex;flex-direction:column;gap:1.25rem}.pricing-faq-item{border-bottom:1px solid var(--line);padding-bottom:1.25rem}.pricing-faq-item h4{font-size:.95rem;font-weight:600;color:var(--ink);margin:0 0 .4rem}.pricing-faq-item p{font-size:.875rem;color:var(--muted);margin:0;line-height:1.6}.pricing-cta-full{width:100%;justify-content:center;padding:.75rem}.pricing-error{margin-top:.75rem;font-size:.8rem;color:var(--accent);text-align:center}.badge-success{background:var(--color-success-bg, #e6f4ea);color:var(--color-success, #1a7a3a)}.badge-warning{background:var(--paper-2);color:var(--muted)}.badge-error{background:var(--color-error-bg, #fce8e6);color:var(--color-error, #c0372e)}.badge-muted{background:var(--paper-2);color:var(--muted)}.recipe-main{--page-pad: 40px;padding:0 var(--page-pad) var(--page-pad);max-width:1200px;margin:0 auto}.recipe-detail-loading{padding:5rem;text-align:center;color:var(--muted);font-family:var(--serif);font-style:italic}.recipe-detail-error{padding:5rem;text-align:center;color:var(--accent);font-family:var(--sans)}.recipe-detail-instructions{background:var(--paper);border-radius:8px;padding:1.5rem;border:1px solid var(--line);line-height:1.8;color:var(--muted);white-space:pre-line;font-family:var(--sans);font-size:.9375rem}.recipe-bread{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:16px 0 20px;border-bottom:1px solid var(--line);margin-bottom:36px;flex-wrap:wrap}.recipe-bread-crumbs{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-size:.8125rem;color:var(--muted);min-width:0;overflow:hidden}.recipe-bread-link{background:none;border:none;padding:0;cursor:pointer;font-family:var(--sans);font-size:.8125rem;color:var(--muted);text-decoration:none;white-space:nowrap;transition:color .15s}.recipe-bread-link:hover{color:var(--ink)}.recipe-bread-sep{color:var(--line);font-size:.875rem;flex-shrink:0}.recipe-bread-current{color:var(--ink);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.recipe-bread-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.recipe-action-ghost{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:6px;border:1px solid var(--line);background:transparent;color:var(--ink);font-family:var(--sans);font-size:.8125rem;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.recipe-action-ghost:hover{background:var(--paper-2);border-color:#12120f3d}.recipe-action-primary{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:6px;border:none;background:var(--brand, #2f4a3a);color:#fff;font-family:var(--sans);font-size:.8125rem;font-weight:600;cursor:pointer;transition:opacity .15s;white-space:nowrap}.recipe-action-primary:hover{opacity:.88}.recipe-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;margin-bottom:48px;align-items:start}.recipe-img-wrap{position:relative;aspect-ratio:4/5;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,var(--paper-2),#d8d2c3)}.recipe-img-wrap img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.recipe-img-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.recipe-img-letter{font-family:var(--serif);font-size:5rem;font-style:italic;color:var(--muted);line-height:1;opacity:.45}.recipe-img-ns{position:absolute;top:12px;left:12px;z-index:2}.recipe-img-ribbon{position:absolute;top:12px;right:12px;z-index:2;background:var(--brand, #2f4a3a);color:#fff;font-family:var(--sans);font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:3px}.recipe-img-fav{position:absolute;bottom:12px;right:12px;z-index:2;width:36px;height:36px;border-radius:50%;border:none;background:#f3efe6e0;display:grid;place-items:center;cursor:pointer;transition:background .15s,transform .15s}.recipe-img-fav:hover{background:var(--paper);transform:scale(1.06)}.recipe-img-fav.active{background:#c8553d14}.recipe-info{display:flex;flex-direction:column;gap:0;padding-top:4px}.recipe-num{font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;color:var(--muted);margin:0 0 10px;text-transform:uppercase}.recipe-title{font-family:var(--serif);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:500;line-height:1.12;letter-spacing:-.02em;color:var(--ink);margin:0 0 10px}.recipe-title em{font-style:italic;color:var(--accent)}.recipe-author{font-family:var(--serif);font-size:.9375rem;color:var(--muted);margin:0 0 16px}.recipe-tags-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.recipe-tag{font-family:var(--sans);font-size:.75rem;color:var(--muted);background:var(--paper-2);border:1px solid var(--line);border-radius:3px;padding:3px 10px;white-space:nowrap}.recipe-quote{border-left:2px solid var(--accent);margin:0 0 24px;padding:2px 0 2px 16px}.recipe-quote p{font-family:var(--serif);font-size:1rem;font-style:italic;line-height:1.6;color:var(--muted);margin:0}.recipe-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:24px}.recipe-fact{display:flex;flex-direction:column;align-items:center;padding:14px 8px;gap:4px;border-right:1px solid var(--line)}.recipe-fact:last-child{border-right:none}.recipe-fact-val{font-family:var(--serif);font-size:1.0625rem;font-weight:500;color:var(--ink);text-align:center}.recipe-fact-lbl{font-family:var(--mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:center}.recipe-cta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.recipe-servings-ctrl{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:6px;overflow:hidden}.serv-btn{width:36px;height:36px;background:transparent;border:none;cursor:pointer;font-size:1.1rem;color:var(--ink);display:grid;place-items:center;transition:background .12s}.serv-btn:hover:not(:disabled){background:var(--paper-2)}.serv-btn:disabled{color:var(--muted);cursor:not-allowed}.serv-val{font-family:var(--sans);font-size:.875rem;font-weight:500;color:var(--ink);padding:0 12px;white-space:nowrap;border-left:1px solid var(--line);border-right:1px solid var(--line);height:36px;display:grid;place-items:center}.recipe-body{display:grid;grid-template-columns:340px 1fr;gap:32px;margin-bottom:48px;align-items:start}.ing-panel{background:var(--paper-2);border-radius:8px;padding:24px;position:sticky;top:24px}.ing-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--line)}.ing-head-label{font-family:var(--mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 4px}.ing-head-title{font-family:var(--serif);font-size:1.125rem;font-weight:500;margin:0;color:var(--ink)}.ing-head-title em{font-style:italic;color:var(--accent)}.ing-head-count{font-family:var(--mono);font-size:.6875rem;color:var(--muted);white-space:nowrap;margin-top:4px;flex-shrink:0}.ing-groups{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}.ing-group{display:flex;flex-direction:column;gap:2px}.ing-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:5px;cursor:pointer;transition:background .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ing-row:hover{background:#12120f0a}.ing-row.done .ing-row-name{text-decoration:line-through;color:var(--muted);opacity:.6}.ing-row-check{width:18px;height:18px;border-radius:3px;border:1.5px solid var(--line);display:grid;place-items:center;font-size:.625rem;color:var(--brand, #2f4a3a);flex-shrink:0;background:#fff;transition:background .12s,border-color .12s}.ing-row.done .ing-row-check{background:var(--brand, #2f4a3a);border-color:var(--brand, #2f4a3a);color:#fff}.ing-row-name{flex:1;font-family:var(--sans);font-size:.875rem;color:var(--ink);transition:color .12s}.ing-row-opt{color:var(--muted);font-style:italic;font-size:.8rem}.ing-row-qty{font-family:var(--mono);font-size:.75rem;color:var(--muted);background:#12120f0f;padding:2px 7px;border-radius:3px;white-space:nowrap;flex-shrink:0}.ing-foot{padding-top:16px;border-top:1px solid var(--line)}.ing-foot-btn{width:100%;padding:10px;border-radius:6px;border:1px solid var(--line);background:transparent;font-family:var(--sans);font-size:.8125rem;font-weight:500;color:var(--ink);cursor:pointer;transition:background .15s}.ing-foot-btn:hover{background:#12120f0d}.steps-panel{display:flex;flex-direction:column;gap:0}.steps-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--line)}.steps-head h2{font-family:var(--serif);font-size:1.25rem;margin:0;color:var(--ink)}.steps-head-meta{font-family:var(--mono);font-size:9px;color:var(--muted);white-space:nowrap}.step{display:grid;grid-template-columns:80px 1fr;gap:0 28px;padding:28px 0;border-bottom:1px solid var(--line)}.step:last-child{border-bottom:0;padding-bottom:0}.step .num{font-family:var(--serif);font-style:italic;font-size:64px;line-height:.9;letter-spacing:-.03em;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;user-select:none}.step .body{display:flex;flex-direction:column;gap:10px}.step .timing{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.step h4{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-.01em;margin:0;color:var(--ink)}.step p{line-height:1.7;color:var(--muted);margin:0;font-family:var(--sans);font-size:.9375rem}.step p em{font-family:var(--serif);font-style:italic;color:var(--accent);font-weight:500}.recipe-info-alert{font-family:var(--sans);font-size:.8125rem;color:var(--muted);background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:12px 16px;margin-top:32px;line-height:1.5}.ns-badge{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;color:#fff;font-weight:700;font-size:11px;font-family:var(--sans);flex-shrink:0}.ns-a{background:#1a7a3a}.ns-b{background:#6ba026}.ns-c{background:#efbe1b;color:#12120f}.ns-d{background:#ec7a1b}.ns-e{background:#c0372e}@media (max-width: 1023px){.recipe-main{--page-pad: 0px;padding:0;max-width:100%}.m-recipe-hero{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(135deg,var(--paper-2),#c8bfad);max-height:520px}.m-hero-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.m-hero-placeholder{width:100%;height:100%;display:grid;place-items:center}.m-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,#12120fb3,#12120f00 45%);pointer-events:none}.m-hero-top{position:absolute;top:14px;left:14px;right:14px;display:flex;align-items:center;gap:8px;z-index:3}.m-hero-ribbon{background:var(--brand, #2f4a3a);color:#fff;font-family:var(--sans);font-size:.625rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:3px 8px;border-radius:3px}.m-hero-fav{margin-left:auto;width:34px;height:34px;border-radius:50%;border:none;background:#12120f59;display:grid;place-items:center;cursor:pointer;transition:background .15s}.m-hero-fav:hover,.m-hero-fav.active{background:#c8553d8c}.m-hero-bottom{position:absolute;bottom:20px;left:16px;right:16px;z-index:3}.m-hero-num{font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;margin:0 0 6px}.m-hero-title{font-family:var(--serif);font-size:clamp(1.5rem,6vw,2rem);font-weight:500;line-height:1.1;letter-spacing:-.02em;color:#fff;margin:0}.m-hero-title em{font-style:italic;color:#fffc}.m-recipe-meta{padding:14px 16px 4px}.m-author{font-family:var(--serif);font-size:.9375rem;color:var(--muted);margin:0}.m-recipe-tags{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px 4px}.m-tag{font-family:var(--sans);font-size:.75rem;color:var(--muted);background:var(--paper-2);border:1px solid var(--line);border-radius:3px;padding:3px 9px}.m-facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:16px 0 0}.m-fact{display:flex;flex-direction:column;align-items:center;padding:12px 6px;gap:3px;border-right:1px solid var(--line)}.m-fact:last-child{border-right:none}.m-fact-val{font-family:var(--serif);font-size:.9375rem;font-weight:500;color:var(--ink);text-align:center}.m-fact-lbl{font-family:var(--mono);font-size:.5625rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);text-align:center}.m-recipe-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.m-servings-ctrl{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:6px;overflow:hidden}.m-serv-btn{width:34px;height:34px;background:transparent;border:none;cursor:pointer;font-size:1.1rem;color:var(--ink);display:grid;place-items:center;transition:background .12s}.m-serv-btn:hover:not(:disabled){background:var(--paper-2)}.m-serv-btn:disabled{color:var(--muted);cursor:not-allowed}.m-serv-val{font-family:var(--sans);font-size:.875rem;font-weight:500;color:var(--ink);padding:0 10px;white-space:nowrap;border-left:1px solid var(--line);border-right:1px solid var(--line);height:34px;display:grid;place-items:center}.m-cta-pill{flex:1;min-width:140px;padding:9px 16px!important;border-radius:24px!important;font-size:.875rem!important}.m-tabs-wrap{position:sticky;top:0;z-index:10;background:var(--paper, #f3efe6);border-bottom:1px solid var(--line)}.m-tabs-eyebrow{display:flex;align-items:center;justify-content:space-between;padding:7px 16px 0;font-family:var(--mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.m-tabs-eyebrow em{font-style:italic;font-family:var(--serif);text-transform:none;letter-spacing:0;font-size:.6875rem;color:var(--accent)}.m-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:6px}.m-tabs.tabs-2{grid-template-columns:repeat(2,1fr)}.m-tabs button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;background:none;border:none;border-right:1px solid var(--line);border-bottom:3px solid transparent;cursor:pointer;font-family:var(--sans);font-size:.75rem;color:var(--muted);transition:color .15s,border-color .15s}.m-tabs button:last-child{border-right:none}.m-tabs button.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.m-tabs button .nidx{font-family:var(--mono);font-size:.5625rem;color:var(--muted);letter-spacing:.05em}.m-tabs button.active .nidx{color:var(--accent)}.m-section-opener{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:24px 16px 16px;border-bottom:1px solid var(--line);margin-bottom:0}.m-section-opener .left{display:flex;flex-direction:column;gap:4px}.m-section-opener .lbl{font-family:var(--mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.m-section-opener h2{font-family:var(--serif);font-size:1.25rem;font-weight:500;margin:0;color:var(--ink)}.m-section-opener h2 em{font-style:italic;color:var(--accent)}.m-section-opener .badge{font-family:var(--mono);font-size:.6875rem;color:var(--muted);background:var(--paper-2);border:1px solid var(--line);border-radius:3px;padding:3px 8px;white-space:nowrap;flex-shrink:0}.m-ing-section{padding:0 0 24px}.m-ing-group{display:flex;flex-direction:column;gap:0}.m-ing-row{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.m-ing-row:hover{background:var(--paper-2)}.m-ing-row.done .m-ing-name{text-decoration:line-through;color:var(--muted);opacity:.55}.m-ing-check{width:20px;height:20px;border-radius:4px;border:1.5px solid var(--line);display:grid;place-items:center;font-size:.625rem;color:var(--brand, #2f4a3a);flex-shrink:0;background:#fff;transition:background .12s,border-color .12s}.m-ing-row.done .m-ing-check{background:var(--brand, #2f4a3a);border-color:var(--brand, #2f4a3a);color:#fff}.m-ing-name{flex:1;font-family:var(--sans);font-size:.9375rem;color:var(--ink)}.m-ing-opt{color:var(--muted);font-size:.8rem}.m-ing-qty{font-family:var(--mono);font-size:.75rem;color:var(--muted);background:var(--paper-2);padding:2px 8px;border-radius:3px;flex-shrink:0}.m-ing-foot{padding:16px 16px 0}.m-ing-foot-btn{width:100%;padding:11px;border-radius:6px;border:1px solid var(--line);background:transparent;font-family:var(--sans);font-size:.875rem;font-weight:500;color:var(--ink);cursor:pointer;transition:background .15s}.m-ing-foot-btn:hover{background:var(--paper-2)}.m-step{display:grid;grid-template-columns:52px 1fr;gap:0 14px;padding:20px 16px;border-bottom:1px solid var(--line)}.m-step:last-child{border-bottom:none}.m-step-num{font-family:var(--serif);font-style:italic;font-size:44px;line-height:.9;letter-spacing:-.03em;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;user-select:none}.m-step-body{display:flex;flex-direction:column;gap:8px;padding-top:4px}.m-step-timing{font-family:var(--mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.m-step-title{font-family:var(--serif);font-size:1.0625rem;font-weight:500;margin:0;color:var(--ink)}.m-step-text{font-family:var(--sans);font-size:.9375rem;line-height:1.65;color:var(--muted);margin:0}.m-nutri-section{padding:16px}.recipe-bread,.recipe-hero,.recipe-body,.recipe-info-alert{display:none}}@media (min-width: 1024px){.m-recipe-hero,.m-recipe-meta,.m-recipe-tags,.m-facts,.m-recipe-cta,.m-tabs-wrap,.m-section-opener,.m-ing-section,.m-step,.m-nutri-section{display:none}}@media print{.recipe-bread-actions,.recipe-img-fav,.recipe-img-ribbon,.recipe-img-ns,.ing-foot,.m-hero-fav,.m-recipe-cta{display:none!important}.recipe-main{max-width:100%;padding:0}.recipe-hero,.recipe-body{grid-template-columns:1fr 1fr}}.email-preview-wrap{max-width:680px;margin:0 auto;padding:2rem}.email-preview-header{margin-bottom:2rem;display:flex;align-items:center;justify-content:space-between}.email-preview-header h1{font-family:var(--serif);font-size:1.5rem;color:var(--ink);margin:0 0 .25rem}.email-preview-header p{font-size:.875rem;color:var(--muted);margin:0}.email-preview-back{font-size:.875rem;color:var(--accent);text-decoration:none;border:1px solid var(--accent);padding:.5rem 1rem;border-radius:6px}.email-preview-frame{border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md)}.email-chrome{background:var(--paper-2);border-bottom:1px solid var(--line);padding:.75rem 1rem;font-size:.75rem;color:var(--muted)}.email-body{background:var(--paper-2);padding:32px 24px}.email-date{font-family:var(--serif);font-size:13px;color:var(--muted);margin:0 0 8px}.email-title{font-family:var(--serif);font-size:28px;color:var(--ink);margin:0 0 8px;font-weight:700}.email-greeting{font-family:var(--serif);font-size:16px;color:var(--muted);margin:0}.email-separator{border-top:1px solid var(--line);margin-bottom:24px}.email-loading{text-align:center;padding:2rem;font-family:var(--serif);color:var(--muted)}.email-empty{text-align:center;padding:2rem;background:var(--paper);border-radius:8px;border:1px solid var(--line)}.email-empty p{font-family:var(--serif);font-size:15px;color:var(--muted)}.email-empty a{color:var(--accent)}.email-cta{text-align:center;margin:24px 0}.email-cta a{background:var(--accent);color:#fff;padding:12px 28px;border-radius:8px;text-decoration:none;font-family:var(--serif);font-size:16px;display:inline-block;font-weight:700}.email-footer{border-top:1px solid var(--line);padding-top:20px;text-align:center}.email-footer p{font-family:var(--serif);color:var(--muted);margin:0 0 4px}.email-footer .email-footer-main{font-size:12px}.email-footer .email-footer-sub{font-size:11px;opacity:.7}.email-recipe-row{border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:12px;background:var(--paper);display:flex;gap:16px;align-items:flex-start}.email-recipe-img{width:80px;height:80px;flex-shrink:0;background:linear-gradient(135deg,var(--paper-2),var(--paper-2));border-radius:6px;display:flex;align-items:center;justify-content:center}.email-recipe-body{flex:1;min-width:0}.email-recipe-title{font-family:var(--serif);font-size:16px;color:var(--ink);margin:0 0 6px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-recipe-desc{font-family:var(--serif);font-size:13px;color:var(--muted);margin:0 0 8px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.email-recipe-meta{display:flex;gap:12px;flex-wrap:wrap}.email-recipe-meta span{font-family:var(--serif);font-size:12px;color:var(--muted)}.email-recipe-difficulty{font-family:var(--serif);font-size:11px;padding:1px 6px;border-radius:4px;background:var(--paper-2);color:var(--accent);font-weight:700}@media (max-width: 639px){.email-preview-wrap{padding:12px;max-width:100%}.email-preview-header{flex-direction:column;align-items:flex-start;gap:12px}}.admin-page-header{margin-bottom:1.5rem}.admin-page-header h1{font-family:var(--serif);font-size:1.75rem;color:var(--ink);margin:0 0 .25rem}.admin-page-header p{color:var(--muted);font-size:.875rem;margin:0}.admin-filters{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:1rem 1.25rem;margin-bottom:1rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.admin-filter-label{font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.admin-filter-field{display:flex;flex-direction:column;gap:.2rem}.admin-search-field{display:flex;flex-direction:column;gap:.2rem;flex:1 1 200px;min-width:180px}.admin-table-wrap{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}.admin-table-scroll{overflow-x:auto}.admin-loading{padding:3rem;text-align:center;color:var(--muted)}.admin-error{padding:3rem;text-align:center;color:var(--accent)}.admin-bulk-bar{background:var(--paper-2);border:1px solid var(--paper-2);border-radius:12px;padding:.65rem 1rem;margin-bottom:.75rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.admin-bulk-count{font-size:.85rem;color:var(--brand);font-weight:600}.admin-bulk-actions{display:flex;gap:.5rem}.admin-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;flex-wrap:wrap;gap:.5rem}.admin-pagination-info{font-size:.8rem;color:var(--muted)}.admin-pagination-btns{display:flex;gap:.5rem}.admin-detail-panel{position:fixed;top:0;right:0;width:min(560px,100vw);height:100vh;background:var(--paper);border-left:1px solid var(--line);box-shadow:-4px 0 24px #0000001a;z-index:50;display:flex;flex-direction:column;overflow-y:auto}.admin-detail-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--paper);z-index:1}.admin-detail-header h2{font-family:var(--serif);font-size:1.1rem;color:var(--ink);margin:0}.admin-detail-close{background:none;border:none;cursor:pointer;color:var(--muted);padding:.25rem;border-radius:3px;display:flex;align-items:center}.admin-detail-body{padding:1.25rem 1.5rem;flex:1}.admin-detail-footer{padding:1rem 1.5rem;border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--paper)}.admin-detail-block{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:1rem 1.25rem;margin-bottom:1rem}.admin-detail-block-title{display:flex;align-items:center;gap:.4rem;margin-bottom:.75rem;color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.admin-detail-row{display:flex;gap:.5rem;margin-bottom:.4rem;font-size:.85rem}.admin-detail-row-label{color:var(--muted);min-width:140px;flex-shrink:0}.admin-detail-row-value{color:var(--ink);font-weight:500;word-break:break-word}.admin-confirm-overlay{position:fixed;inset:0;background:#00000080;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.admin-confirm-card{background:var(--paper);border-radius:12px;padding:1.75rem;max-width:420px;width:100%;box-shadow:var(--shadow-lg)}.admin-confirm-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.admin-confirm-header h3{font-family:var(--serif);font-size:1.05rem;color:var(--ink);margin:0}.admin-confirm-body{font-size:.875rem;color:var(--muted);margin:0 0 .5rem}.admin-confirm-warning{background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:.65rem .85rem;font-size:.8rem;color:var(--ink);margin-bottom:1.25rem}.admin-confirm-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem}.admin-email-link{background:none;border:none;cursor:pointer;color:var(--accent);font-size:.85rem;padding:0;text-align:left;text-decoration:underline;text-decoration-color:transparent}.admin-email-link:hover{text-decoration-color:currentColor}.admin-badge{font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:4px;white-space:nowrap}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th{padding:.65rem 1rem;text-align:left;font-weight:600;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);white-space:nowrap}.admin-table td{padding:.65rem 1rem;font-size:.85rem;color:var(--ink)}.admin-table td.muted{color:var(--muted)}.admin-table-empty{padding:2.5rem;text-align:center;color:var(--muted)}.admin-detail-mini-table{width:100%;border-collapse:collapse;font-size:.8rem}.admin-detail-mini-table th{text-align:left;padding:.3rem .5rem;color:var(--muted);font-weight:600;font-size:.7rem;text-transform:uppercase;border-bottom:1px solid var(--line)}.admin-detail-mini-table td{padding:.35rem .5rem}.admin-detail-mini-table td.muted{color:var(--muted)}.admin-detail-close-btn{width:100%;padding:.6rem 1rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;color:var(--ink);font-weight:500}.admin-bulk-btn{padding:.35rem .85rem;border:none;border-radius:var(--radius-md);cursor:pointer;color:#fff;font-size:.8rem;font-weight:600}.admin-bulk-btn.success{background:var(--color-success)}.admin-bulk-btn.danger{background:var(--color-error)}.admin-bulk-btn.ghost{background:none;border:1px solid var(--paper-2);color:var(--brand)}.admin-page-btn{display:flex;align-items:center;gap:.25rem;padding:.4rem .75rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);font-size:.85rem;color:var(--ink);cursor:pointer}.admin-page-btn:disabled{opacity:.5;cursor:not-allowed}.admin-input{padding:.4rem .65rem;font-family:var(--sans);font-size:14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink)}.admin-select{padding:.45rem .75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;cursor:pointer}.admin-recipe-title-cell{max-width:280px}.admin-recipe-title-cell span.name{font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-recipe-title-cell .custom-tag{font-size:.65rem;color:var(--accent);font-weight:600;text-transform:uppercase}.admin-recipe-quality{font-size:.75rem;color:var(--muted);text-transform:capitalize}.admin-delete-btn{background:transparent;border:1px solid var(--color-error);color:var(--color-error);border-radius:var(--radius-sm);padding:.3rem .5rem;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem}.admin-search-icon-wrap{position:relative;flex:1 1 200px;min-width:160px}.admin-search-icon-wrap svg{position:absolute;left:.6rem;top:50%;transform:translateY(-50%);color:var(--muted)}.admin-search-icon-wrap input{padding-left:2rem;width:100%;box-sizing:border-box}.admin-skeleton{height:16px;background:var(--line);border-radius:4px;animation:pulse 1.5s infinite}.admin-root-loading{padding:3rem;text-align:center;color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.admin-root-error{padding:2rem;background:var(--color-error-bg);border:1px solid rgba(192,55,46,.25);border-radius:6px;color:var(--brand);font-size:14px}.admin-root-empty-row{padding:2rem;text-align:center;color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em}.admin-toggle{width:36px;height:20px;border-radius:10px;border:none;position:relative;transition:background .2s;flex-shrink:0}.admin-toggle:not(:disabled){cursor:pointer}.admin-toggle:disabled{cursor:not-allowed}.admin-toggle.on{background:var(--color-success)}.admin-toggle.off{background:var(--line)}.admin-toggle .knob{position:absolute;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px #0003}.admin-toggle.on .knob{left:19px}.admin-toggle.off .knob{left:3px}.admin-table-pagination{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}.admin-table tbody tr{border-bottom:1px solid var(--line)}.admin-table tbody tr:last-child{border-bottom:none}.admin-table tbody tr.selected{background:var(--paper-2)}.admin-table tbody tr:hover{transition:background .1s}.kpi-grid-root{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:32px}.admin-kpi-root{background:var(--paper);padding:22px 24px;display:flex;flex-direction:column;gap:10px;min-height:120px}.admin-kpi-root .label{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.admin-kpi-root .value{font-family:var(--serif);font-size:42px;line-height:1;letter-spacing:-.025em;font-weight:400;color:var(--ink)}.admin-kpi-root .sub{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--muted);margin-top:auto}.data-card-root{border:1px solid var(--line);border-radius:6px;background:var(--paper);overflow:hidden;margin-bottom:32px}.data-head-root{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.data-head-root h3{margin:0;font-family:var(--serif);font-size:18px;letter-spacing:-.01em;font-weight:500}.data-head-root .count{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.admin-table-root{width:100%;border-collapse:collapse}.admin-table-root th{padding:10px 18px;text-align:left;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);font-weight:500}.admin-table-root th:first-child,.admin-table-root td:first-child{padding-left:22px}.admin-table-root th:last-child,.admin-table-root td:last-child{padding-right:22px}.admin-table-root td{padding:11px 18px;font-size:13px;border-bottom:1px solid var(--line)}.admin-table-root tbody tr:last-child td{border-bottom:none}.admin-table-root tbody tr:hover{background:var(--paper)}.cell-email-root{font-family:var(--mono);font-size:12px;color:var(--ink)}.cell-name-root{font-family:var(--serif);font-size:14px;font-weight:500;letter-spacing:-.01em}.cell-date-root{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.04em}.status-pill-root{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--paper)}.status-pill-root .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.status-pill-root.ok{color:var(--color-success);background:var(--color-success-bg);border-color:#1a7a3a33}.status-pill-root.info{color:var(--accent);background:var(--paper-2);border-color:#1d466633}.status-pill-root.danger{color:var(--color-error);background:var(--color-error-bg);border-color:#c0372e40}.etype-root{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--ink);background:var(--paper);padding:3px 8px;border-radius:4px;border:1px solid var(--line)}@media (max-width: 1023px){.kpi-grid-root{grid-template-columns:repeat(2,1fr)}}.legal-page{min-height:100vh;background:var(--paper);color:var(--ink)}.legal-nav{position:sticky;top:0;z-index:100;background:color-mix(in oklab,var(--paper-2) 90%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.legal-nav-inner{max-width:1100px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:60px}.legal-nav-brand{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--accent);letter-spacing:.01em;text-decoration:none}.legal-nav-links{display:flex;gap:1rem;align-items:center}.legal-nav-links a{font-size:.9rem;color:var(--muted)}.legal-nav-cta{background:var(--accent);color:#fff;padding:.45rem 1.1rem;border-radius:6px;font-size:.875rem;font-weight:500}.legal-content{max-width:800px;margin:0 auto;padding:3rem 2rem 5rem}.legal-title{font-family:var(--serif);font-size:2rem;margin-bottom:.5rem}.legal-date{font-size:.875rem;color:var(--muted);margin-bottom:2.5rem}.legal-section{margin-bottom:2rem}.legal-heading{font-family:var(--serif);font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--ink)}.legal-subheading{font-family:var(--serif);font-size:1.05rem;font-weight:600;margin-top:1rem;margin-bottom:.75rem;color:var(--ink)}.legal-body{font-size:.95rem;color:var(--muted);line-height:1.75;margin-bottom:.75rem}.legal-list{font-size:.95rem;color:var(--muted);line-height:1.75;padding-left:1.5rem;margin-bottom:.75rem}.legal-bottom{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}.legal-bottom p{font-size:.875rem;color:var(--muted)}.legal-bottom-links{margin-top:1rem;display:flex;gap:1rem;flex-wrap:wrap}.legal-bottom-links a{font-size:.875rem;color:var(--accent)}.legal-footer{border-top:1px solid var(--line);padding:1.5rem 2rem;text-align:center}.legal-footer p{font-size:.8rem;color:var(--muted)}.legal-footer a{color:var(--muted)}@media (max-width: 639px){.legal-wrap,.legal-content{padding:24px 16px;max-width:100%}.legal-title{font-size:1.4rem}.legal-heading{font-size:1.1rem}.legal-nav-inner{padding:0 1rem}.legal-nav-links{display:none}}.nutri-summary,.nutri-panel{margin-bottom:2rem}.nutri-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.nutri-header-left{display:flex;flex-direction:column;gap:.25rem}.nutri-eyebrow{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.nutri-title{font-family:var(--serif);font-size:1.25rem;color:var(--ink);margin:0;font-weight:400}.nutri-title em{font-style:italic;color:var(--accent)}.nutri-header-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.nutri-meta{font-family:var(--mono);font-size:9px;color:var(--muted)}.nutri-quality-ok{color:var(--brand);font-family:var(--mono);font-size:9px}.nutri-quality-partial{color:var(--muted);font-family:var(--mono);font-size:9px}.macros-wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:1.25rem;margin-bottom:1.25rem}.macros-left{display:flex;flex-direction:column;gap:.75rem}.energy{display:flex;flex-direction:column;gap:.15rem}.energy .val{font-family:var(--serif);font-size:48px;line-height:.9;letter-spacing:-.03em;font-weight:400;color:var(--ink)}.energy .kcal-suffix{font-family:var(--mono);font-size:12px;color:var(--accent)}.energy .ajr-note{font-family:var(--mono);font-size:9px;color:var(--muted);line-height:1.4;margin-top:.2rem}.nbar{display:flex;height:12px;border-radius:3px;overflow:hidden}.nbar .s-p{background:var(--ink)}.nbar .s-c{background:var(--accent)}.nbar .s-l{background:#cfc9b8}.nleg{display:flex;gap:.75rem;flex-wrap:wrap}.nleg span{font-family:var(--mono);font-size:9px;color:var(--muted)}.ndetail{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}.ndetail>div{background:var(--paper);padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px}.ndetail .l{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.ndetail .v{font-family:var(--serif);font-size:20px;font-weight:500;line-height:1.1;color:var(--ink)}.ndetail .u{font-family:var(--sans);font-size:11px;color:var(--muted);font-weight:400}.ndetail .delta{font-family:var(--mono);font-size:9px;color:var(--muted);margin-top:2px}.ndetail .delta.good{color:#2c4a39}.ndetail .delta.warn{color:var(--accent)}.nutri-gi{border-radius:6px;padding:.875rem 1rem;margin-bottom:1.25rem}.nutri-gi-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.nutri-gi-label{font-family:var(--mono);font-size:9px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.nutri-gi-values{display:flex;align-items:center;gap:.5rem}.nutri-gi-number{font-family:var(--serif);font-size:1.5rem;font-weight:400;line-height:1}.nutri-gi-badge{font-family:var(--mono);font-size:9px;font-weight:700;padding:.2rem .55rem;border-radius:99px}.nutri-gi-bar-wrap{position:relative;height:10px;border-radius:5px;overflow:hidden;margin-bottom:.4rem}.nutri-gi-bar-bg,.nutri-gi-bar-fill{position:absolute;inset:0}.nutri-gi-bar-bg{opacity:.25}.nutri-gi-bar-fill{transition:clip-path .5s ease}.nutri-gi-scale{display:flex;justify-content:space-between}.nutri-gi-scale span{font-family:var(--mono);font-size:9px}.nutri-gi-desc{font-family:var(--mono);font-size:9px;margin:.5rem 0 0;line-height:1.4}.nutri-divider{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.25rem 0 .875rem;border-top:1px solid var(--line);margin-bottom:1px}.nutri-divider-left{display:flex;flex-direction:column;gap:.2rem}.nutri-divider-eyebrow{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.nutri-divider-title{font-family:var(--serif);font-size:18px;font-weight:400;color:var(--ink);margin:0}.nutri-divider-title em{font-style:italic;color:var(--muted)}.nutri-divider-right{font-family:var(--mono);font-size:9px;color:var(--muted);text-align:right;white-space:nowrap}.mgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:.875rem}.mcell{background:var(--paper);padding:14px 16px;display:flex;flex-direction:column;gap:6px}.mcell .r1{display:flex;align-items:baseline;justify-content:space-between;gap:4px}.mcell .nm{font-family:var(--serif);font-size:14px;font-weight:500;color:var(--ink)}.mcell .nm em{font-style:italic;color:var(--muted);font-size:11px;font-family:var(--sans)}.mcell .pct{font-family:var(--mono);font-size:10px;color:var(--muted);flex-shrink:0}.mcell .pct b{font-family:var(--serif);font-size:15px;font-weight:500;margin-right:2px;color:var(--ink)}.mcell .pct.high,.mcell .pct.high b{color:var(--accent);font-style:italic}.mcell .r2{display:flex;align-items:center;gap:6px}.mcell .gb{flex:1;height:4px;border-radius:2px;background:var(--paper-2);overflow:hidden}.mcell .gb i{display:block;height:100%;background:var(--ink);border-radius:2px;font-style:normal}.mcell .gb i.high{background:var(--accent)}.mcell .qty{font-family:var(--mono);font-size:9px;color:var(--muted);flex-shrink:0}.mfoot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.5rem}.mfoot-source{font-family:var(--mono);font-size:9px;color:var(--muted)}.mfoot-legend{display:flex;align-items:center;gap:.75rem;font-family:var(--mono);font-size:9px;color:var(--muted)}.mfoot-swatch{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:3px;vertical-align:middle}.nutri-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.55rem}.nutri-label{font-family:var(--mono);font-size:.78rem;color:var(--muted);width:110px;flex-shrink:0}.nutri-value{font-size:.75rem;font-weight:600;color:var(--ink);width:60px;text-align:right;flex-shrink:0}.nutri-bar{flex:1;height:8px;background:var(--line);border-radius:4px;overflow:hidden;min-width:60px}.nutri-bar>div{height:100%;border-radius:4px;transition:width .5s ease}.nutri-pct{font-family:var(--mono);font-size:.7rem;color:var(--muted);width:36px;text-align:right;flex-shrink:0}@media (max-width: 639px){.nutri-summary,.nutri-panel{padding:0}.macros-wrap{grid-template-columns:1fr}.energy .val{font-size:36px}.ndetail,.mgrid{grid-template-columns:repeat(2,1fr)}.nutri-label{width:80px}.nutri-row{gap:6px}}
