:root,:root[data-theme=dark]{--bg:#15161a;--fg:#ececef;--muted:#8a8e98;--line:#2c2f36;--accent:#ff7e5f;--picker-bg:#1f2128;--picker-hover:#262932;--card-bg:#1a1c22}:root[data-theme=light]{--bg:#fafaf7;--fg:#1a1a1a;--muted:#6b6b6b;--line:#e0e0dc;--accent:#e0654b;--picker-bg:#fff;--picker-hover:#f3f3ee;--card-bg:#fff}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100%;color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.55}.app{flex-direction:column;gap:2.4rem;max-width:880px;min-height:100%;margin:0 auto;padding:4vh 24px;display:flex}.loading{text-align:center;color:var(--muted);margin-top:4rem}.app-header{text-align:center;flex-direction:column;gap:.4em;display:flex}.app-header h1{letter-spacing:-.01em;margin:0;font-size:1.8rem;font-weight:500}.app-header .tagline{color:var(--muted);margin:0;font-size:.95rem}.nav-row{flex-wrap:wrap;justify-content:center;gap:.6em;margin:.6em auto 0;display:flex}.pill-nav{background:var(--picker-bg);border:1px solid var(--line);border-radius:999px;padding:3px;display:inline-flex}.pill-nav button{color:var(--muted);cursor:pointer;letter-spacing:.02em;background:0 0;border:none;border-radius:999px;padding:6px 18px;font-family:inherit;font-size:.88rem;transition:all .16s}.pill-nav button.active{background:var(--bg);color:var(--fg);box-shadow:0 1px 3px #00000014}.pill-nav button:not(.active):hover{color:var(--fg)}.pill-nav button:disabled{opacity:.4;cursor:not-allowed}.pill-nav button:disabled:hover,.muted{color:var(--muted)}.kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 .4em;font-size:.78rem;font-weight:500}.recipe-view{flex-direction:column;gap:.6em;display:flex}.recipe-title{letter-spacing:-.015em;margin:0;font-size:2rem;font-weight:500;line-height:1.2}.recipe-tagline{color:var(--fg);opacity:.9;margin:0;font-size:1.05rem;font-style:italic}.recipe-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.85rem}.recipe-subheading{text-transform:capitalize;margin:0;font-size:.9rem}.recipe-tags{flex-wrap:wrap;gap:6px;margin:.2em 0;display:flex}.recipe-tag{border:1px solid var(--line);color:var(--muted);letter-spacing:.02em;border-radius:999px;padding:2px 9px;font-size:.72rem}.recipe-body{border-top:1px solid var(--line);grid-template-columns:1fr 1.4fr;gap:2.2rem;margin-top:1.2em;padding-top:1.4em;display:grid}.recipe-body h3{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 1em;font-size:.78rem;font-weight:500}.ingredients ul{flex-direction:column;gap:.45em;margin:0;padding:0;list-style:none;display:flex}.ingredients li{padding-left:1em;font-size:.95rem;position:relative}.ingredients li:before{content:"·";color:var(--accent);font-weight:700;position:absolute;left:0}.instructions ol{counter-reset:step;flex-direction:column;gap:.85em;margin:0;padding:0;list-style:none;display:flex}.instructions li{counter-increment:step;padding-left:2.2em;font-size:.97rem;position:relative}.instructions li:before{content:counter(step);border:1px solid var(--line);width:1.6em;height:1.6em;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;font-size:.78rem;display:flex;position:absolute;top:0;left:0}.recipe-actions{border-top:1px solid var(--line);margin-top:1.6em;padding-top:1.2em}.day-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6em;display:flex}.day-nav button{border:1px solid var(--line);color:var(--fg);cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:.88rem;transition:all .12s}.day-nav button:hover{border-color:var(--accent);color:var(--accent)}.day-nav .back-to-today{color:var(--muted);font-size:.82rem}.back-btn{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:.88rem;transition:all .12s}.back-btn:hover{border-color:var(--accent);color:var(--accent)}.week-view h2,.browse-view h2{letter-spacing:-.01em;margin:0 0 .2em;font-size:1.4rem;font-weight:500}.week-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:1.4em;display:grid}.week-card{background:var(--card-bg);border:1px solid var(--line);text-align:left;cursor:pointer;color:var(--fg);border-radius:10px;flex-direction:column;gap:.25em;padding:14px 16px;font-family:inherit;transition:border-color .14s,transform .14s;display:flex}.week-card:hover{border-color:var(--accent);transform:translateY(-1px)}.week-card.is-today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.week-card-day{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-size:.72rem}.week-card-date{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.week-card-title{margin-top:.35em;font-size:1.02rem;font-weight:500}.week-card-tagline{color:var(--muted);font-size:.85rem;font-style:italic}.tag-chips{flex-wrap:wrap;gap:6px;margin:1em 0 1.6em;display:flex}.chip{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-family:inherit;font-size:.82rem;transition:all .12s}.chip:hover{color:var(--fg)}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.recipe-card{background:var(--card-bg);border:1px solid var(--line);text-align:left;cursor:pointer;color:var(--fg);border-radius:10px;flex-direction:column;gap:.3em;padding:14px 16px;font-family:inherit;transition:border-color .14s,transform .14s;display:flex}.recipe-card:hover{border-color:var(--accent);transform:translateY(-1px)}.recipe-card-title{font-size:1.02rem;font-weight:500}.recipe-card-tagline{color:var(--muted);font-size:.85rem;font-style:italic}.recipe-card-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:.4em;font-size:.75rem}.theme-toggle{background:var(--picker-bg);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;padding:0;transition:color .2s,border-color .2s,background .2s;display:flex;position:fixed;bottom:16px;right:16px}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.theme-toggle:focus{border-color:var(--accent);outline:none}.seo{border-top:1px solid var(--line);max-width:640px;color:var(--muted);margin:1.2rem auto 0;padding-top:2rem;font-size:.92rem;line-height:1.65}.seo h2{color:var(--fg);letter-spacing:-.005em;margin:0 0 .6em;font-size:1rem;font-weight:500}.seo h3{color:var(--fg);margin:1.4em 0 .4em;font-size:.92rem;font-weight:500}.seo p{margin:.8em 0}.seo em{color:var(--fg);font-style:italic}.app-footer{text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:auto;padding-bottom:.5em;font-family:JetBrains Mono,Menlo,monospace;font-size:.78rem}.made-by{font-variant-numeric:normal;letter-spacing:0;font-family:-apple-system,Helvetica Neue,sans-serif}.made-by a{color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:2px;transition:color .12s}.made-by a:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@media (width<=540px){.app{gap:1.6rem;padding:3vh 14px}.app-header h1,.recipe-title{font-size:1.5rem}.recipe-body{grid-template-columns:1fr;gap:1.6rem}.pill-nav button{padding:6px 12px;font-size:.82rem}.nav-row{gap:.4em}.week-grid,.recipe-grid{grid-template-columns:1fr}.recipe-meta{font-size:.78rem}}html,body,#root{min-height:100%;margin:0;padding:0}
