:root{--bg:#fbf8f3;--surface:#fff;--text:#2a2522;--muted:#7a6f68;--line:#e8e0d6;--accent:#b5542d;--accent-soft:#f5e3d9;--ok:#2f7a4b;--ok-soft:#e3f2e8;--error:#a8322b;--error-soft:#fbe6e4;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1b1817;--surface:#262220;--text:#efe8e2;--muted:#a69a92;--line:#3a3431;--accent:#e0835a;--accent-soft:#3d2a21;--ok:#7cc496;--ok-soft:#1f3327;--error:#f08b83;--error-soft:#3d2220}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font:17px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}h1,h2,h3{margin:0 0 .5em;line-height:1.25}h1{font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1rem}button{font:inherit;color:inherit}.page{max-width:720px;padding:max(16px, env(safe-area-inset-top)) 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.topbar h1{margin:0}.btn{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.small{min-height:34px;padding:0 12px;font-size:.9rem}.btn:disabled{opacity:.4;cursor:default}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link.danger{color:var(--error)}.back{font-weight:600;text-decoration:none}.search{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;min-height:48px;color:var(--text);font:inherit;padding:0 16px}.chips{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.chip{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;min-height:36px;padding:0 14px}.chip.small{min-height:30px;color:var(--muted);padding:0 10px;font-size:.85rem}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.chips.static .chip{cursor:default;align-items:center;display:inline-flex}.cards{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:inherit;padding:14px 16px;text-decoration:none;display:block}.card h2{margin:0 0 4px;font-size:1.05rem}.meta{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin:0;font-size:.9rem;display:flex}.empty,.foot{color:var(--muted);text-align:center;margin:24px 0}.foot{font-size:.85rem}.hint{color:var(--muted);font-size:.85rem}.recipe section{margin-top:28px}.description{margin:12px 0 0}.source{color:var(--muted);margin:8px 0 0;font-size:.9rem}.servings{align-items:center;gap:8px;margin-bottom:8px;display:flex}.servings span{flex:1}.servings button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:50%;width:44px;height:44px;font-size:1.3rem}.group h3{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin:16px 0 4px;font-size:.85rem}.ingredients{margin:0;padding:0;list-style:none}.ingredients li{border-bottom:1px solid var(--line);grid-template-columns:6.5em 1fr;gap:12px;padding:7px 0;display:grid}.qty{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.qty.none{color:var(--muted);font-weight:400}.note{color:var(--muted)}.badge{background:var(--accent-soft);border-radius:4px;margin-left:6px;padding:1px 6px;font-size:.75rem}.steps{padding-left:1.4em}.steps>li{margin-bottom:20px}.steps>li::marker{color:var(--accent);font-weight:700}.steps ul{margin:0;padding-left:1.1em}.steps ul li{margin-bottom:6px}.important{font-weight:600}.time{background:var(--accent-soft);border-radius:4px;padding:0 3px}.notes li{margin-bottom:4px}.recipe-actions{text-align:center;margin-top:40px}.howto{padding-left:1.3em}.howto li{margin-bottom:8px}.howto .btn{margin-top:6px}.paste{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;min-height:220px;color:var(--text);padding:12px;font:.85rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.banner{border-radius:var(--radius);margin:16px 0;padding:12px 16px}.banner p{margin:0 0 6px}.banner.error{background:var(--error-soft);color:var(--error)}.banner.ok{background:var(--ok-soft)}.banner.ok p,.banner.ok strong{color:var(--ok)}.errors{color:var(--text);margin:0 0 8px;padding-left:1.2em}.errors code{color:var(--muted);font-size:.8rem}.timers{gap:6px;display:grid}.timer{border-radius:var(--radius);background:var(--text);color:var(--bg);align-items:center;gap:10px;padding:8px 8px 8px 14px;display:flex}.timer.done{background:var(--accent);color:#fff;animation:1s infinite pulse}.timer-label{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;overflow:hidden}.timer-clock{font-variant-numeric:tabular-nums;font-weight:700}.timer button{width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.3rem}@keyframes pulse{50%{opacity:.7}}.floating-timers{left:50%;bottom:calc(12px + env(safe-area-inset-bottom));width:min(688px,100% - 32px);position:fixed;transform:translate(-50%)}.cook{flex-direction:column;max-width:720px;min-height:100dvh;margin:0 auto;display:flex}.cook-head{padding:max(10px, env(safe-area-inset-top)) 16px 10px 8px;background:var(--bg);align-items:center;gap:8px;display:flex;position:sticky;top:0}.close{width:44px;height:44px;color:var(--text);place-items:center;font-size:1.8rem;text-decoration:none;display:grid}.cook-title{flex-direction:column;min-width:0;display:flex}.cook-title span{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.cook-title small{color:var(--muted)}.progress{background:var(--line);height:4px}.progress div{background:var(--accent);height:100%;transition:width .2s}.cook-body{flex:1;padding:20px 16px}.cook-body h2{font-size:1.5rem}.cook-items{padding-left:1.2em;font-size:1.2rem;line-height:1.6}.cook-items li{margin-bottom:14px}.time-btn{border:1px solid var(--accent);background:var(--accent-soft);color:var(--text);cursor:pointer;border-radius:999px;padding:1px 8px}.cook-foot{padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);gap:10px;display:grid;position:sticky;bottom:0}.cook-nav{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cook-nav .btn{min-height:52px}
