:root{--accent:#e8590c;--bg:#faf7f2;--card:#fff;--border:#e8e0d6;--text:#2d2a26;--muted:#8a7f70;--shadow:#00000014;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root[data-theme=dark]{--accent:#ff9f5a;--bg:#1d1b19;--card:#2a2723;--border:#3a352e;--text:#ece7df;--muted:#978b7c;--shadow:#00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}.app-header{background:var(--card);border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.brand{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:1.15rem;font-weight:700}.link{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:.95rem}.theme-toggle{cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:1.1rem;line-height:1}main{max-width:960px;margin:0 auto;padding:1.5rem}.error{color:#b02a2a;background:#fdecec;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 1.5rem;padding:.75rem 1rem;display:flex}.error p{margin:0}.error-retry{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:.95rem;font-weight:600}:root[data-theme=dark] .error{color:#ff9d9d;background:#3a2424}.cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.card{text-align:left;background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:12px;padding:1rem 1.25rem;transition:transform 80ms,box-shadow 80ms}.card:hover{box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.card h3{margin:0 0 .3rem}.card .desc,.card .meta{color:var(--muted);margin:0;font-size:.9rem}.empty{color:var(--muted)}.detail h2{margin:.4rem 0 .2rem}.detail .meta{color:var(--muted);margin:0 0 1rem}.two-col{grid-template-columns:1fr 1fr;gap:2rem;display:grid}@media (width<=720px){.two-col{grid-template-columns:1fr}}.ingredients{padding:0;list-style:none}.ingredients li{border-bottom:1px dashed var(--border);padding:.35rem 0}.ingredients .qty{color:var(--accent);margin-right:.5rem;font-weight:600}.steps li{margin-bottom:.6rem}.steps .timer{color:var(--accent);margin:.2rem 0 0;font-size:.85rem}.steps .uses{flex-wrap:wrap;gap:.3rem;margin:.25rem 0 0;display:flex}.steps .chip{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.1rem .5rem;font-size:.75rem}.modes{border:1px solid var(--border);background:var(--card);border-radius:999px;gap:2px;margin:0 0 1rem;padding:3px;display:inline-flex}.mode{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.35rem .95rem;font-size:.85rem}.mode.active{background:var(--accent);color:var(--bg)}.flow-wrap{overflow-x:auto}.flow{border-collapse:collapse;width:100%;font-size:.85rem}.flow th,.flow td{border:1px solid var(--border);vertical-align:top;padding:.45rem .7rem}.flow thead th{background:var(--card);text-align:left;font-weight:700}.flow .flow-depth-th{color:var(--muted);text-align:center;font-size:.72rem;font-weight:400}.flow .flow-ing{white-space:nowrap}.flow .flow-ing .flow-qty{color:var(--muted);font-weight:400}.flow .flow-ing .flow-opt{color:var(--muted);font-size:.72rem;font-style:italic}.flow .flow-phase{background:var(--card);text-align:left;min-width:16rem}.flow-head{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:.3rem;display:flex}.flow-head .phase-n{color:var(--accent);border:1px solid var(--accent);border-radius:999px;flex:none;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.72rem;font-weight:700;display:inline-flex}.flow-head .phase-name{color:var(--accent);font-weight:700}.flow-head .phase-time{color:var(--muted);font-size:.75rem}.flow-phase .phase-req{flex-wrap:wrap;gap:.3rem;margin:0 0 .4rem;display:flex}.flow-phase .steps{margin:0;padding-left:1.2rem}.flow-phase .steps li{margin-bottom:.5rem}.graph-wrap{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:.5rem;overflow:auto}.gnode{fill:var(--card);stroke:var(--border);stroke-width:1px}.gnode.g-it{stroke-dasharray:4 3}.gnode.g-ph{fill:color-mix(in srgb, var(--accent) 30%, var(--card));stroke:var(--accent);stroke-width:1.4px}.gnode.g-prod{stroke:var(--accent);stroke-width:2px;fill:color-mix(in srgb, var(--accent) 12%, var(--card))}.gtext{fill:var(--text);font-family:system-ui,sans-serif}.gtext.gname{font-size:12px;font-weight:600}.gtext.gsub{fill:var(--muted);font-size:10px}.gedge{fill:none;stroke:var(--muted);stroke-width:1.3px;opacity:.85}.garrow{fill:var(--muted)}
