:root.cook{--bg: #0d0c09;--fg: #f4f3ee;--muted: #9a9890;--line: #2a2924;--accent: #e07a5f;--card: #1a1916;color-scheme:dark}html.cook,html.cook body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;height:100dvh;overflow:hidden;-webkit-font-smoothing:antialiased;overscroll-behavior:contain}.cook-shell{display:grid;grid-template-rows:auto 1fr auto;height:100dvh;max-height:100dvh}.cook-header{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);background:var(--bg)}.cook-header .title{flex:1;font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.cook-header .scaler{display:inline-flex;align-items:center;gap:.4rem;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.2rem .5rem}.cook-header .scaler button{background:none;border:none;color:var(--fg);font-size:1rem;width:1.5rem;height:1.5rem;border-radius:4px;cursor:pointer;font-family:inherit}.cook-header .scaler button:hover{background:var(--line)}.cook-header .scaler .value{font-variant-numeric:tabular-nums;font-weight:600;font-size:.9rem;min-width:1.5ch;text-align:center}.cook-header .exit{background:none;border:1px solid var(--line);color:var(--fg);width:2rem;height:2rem;border-radius:50%;font-size:1.1rem;line-height:1;cursor:pointer;font-family:inherit}.cook-header .exit:hover{background:var(--card)}.cook-progress{height:3px;background:var(--line);position:relative}.cook-progress:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--progress, 0%);background:var(--accent);transition:width .2s ease}.cook-body{overflow-y:auto;padding:clamp(1rem,4vw,2.5rem);display:flex;flex-direction:column;gap:1.5rem;-webkit-overflow-scrolling:touch}.step-counter{font-size:.95rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.step-text{font-size:clamp(1.6rem,4.5vw,3rem);line-height:1.3;font-weight:400;margin:0;max-width:28ch}.step-text strong{font-weight:600}.step-uses{background:var(--card);border-radius:12px;padding:1rem 1.25rem;border:1px solid var(--line);max-width:32ch}.step-uses h3{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-weight:600}.step-uses ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.3rem}.step-uses li{font-size:clamp(1rem,2.2vw,1.15rem);line-height:1.4}.step-uses .qty{font-variant-numeric:tabular-nums;font-weight:500;color:var(--accent);margin-right:.4rem}.step-uses .note{color:var(--muted);font-size:.92em}.timer-chip{display:inline-block;background:#e07a5f26;color:var(--accent);border:1px solid rgba(224,122,95,.4);border-radius:999px;padding:.05em .55em;margin:0 .1em;font:inherit;cursor:pointer;white-space:nowrap;transition:background .12s ease}.timer-chip:hover,.timer-chip:focus-visible{background:#e07a5f4d;outline:none}.timer-chip.armed{background:var(--accent);color:#fff;border-color:var(--accent)}.cook-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--line);background:var(--bg)}.cook-footer button{background:var(--card);border:1px solid var(--line);color:var(--fg);font:inherit;font-size:1rem;padding:.85rem 1.25rem;border-radius:12px;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;font-weight:600;min-height:3rem}.cook-footer button:disabled{opacity:.3;cursor:not-allowed}.cook-footer button:hover:not(:disabled){background:var(--line)}.cook-footer .prev{justify-self:start}.cook-footer .next{justify-self:end;background:var(--accent);border-color:var(--accent);color:#fff}.cook-footer .next:hover:not(:disabled){background:#d06b50;border-color:#d06b50}.cook-footer .step-pill{font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.timers-panel{position:fixed;bottom:5.5rem;right:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:100;pointer-events:none}.timer-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.7rem .85rem;min-width:14rem;box-shadow:0 4px 16px #0006;display:grid;grid-template-columns:1fr auto;gap:.5rem .75rem;align-items:center;pointer-events:auto}.timer-card.fired{background:var(--accent);border-color:var(--accent);color:#fff;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 4px 16px #e07a5f99}50%{box-shadow:0 4px 28px #e07a5fe6}}.timer-card .timer-label{font-size:.85rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timer-card.fired .timer-label{color:#ffffffd9}.timer-card .timer-time{font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums;grid-row:2;grid-column:1}.timer-card .timer-actions{grid-row:1 / span 2;grid-column:2;display:flex;flex-direction:column;gap:.25rem}.timer-card .timer-actions button{background:var(--bg);border:1px solid var(--line);color:var(--fg);font:inherit;font-size:.8rem;padding:.25rem .55rem;border-radius:6px;cursor:pointer;font-family:inherit}.timer-card.fired .timer-actions button{background:#ffffff2e;border-color:#ffffff59;color:#fff}.timer-card .timer-actions button:hover{filter:brightness(1.15)}.cook-step[hidden]{display:none!important}.cook-done{background:var(--bg);display:grid;place-items:center;text-align:center;padding:2rem;min-height:50vh}.cook-done h2{font-size:clamp(2rem,6vw,3.5rem);margin:0 0 1rem;border:none}.cook-done p{color:var(--muted);margin-bottom:2rem}.cook-done .actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.cook-done .actions a,.cook-done .actions button{padding:.85rem 1.5rem;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--fg);text-decoration:none;font:inherit;font-weight:600;cursor:pointer;font-family:inherit}.cook-done .actions .primary{background:var(--accent);border-color:var(--accent);color:#fff}@media(min-width:900px){.cook-body{flex-direction:row;align-items:flex-start;gap:3rem;padding:3rem 4rem}.step-text{font-size:clamp(2.5rem,4.5vw,4rem);max-width:22ch;flex:2}.step-uses{flex:1;max-width:none;position:sticky;top:1rem}}
