:root{--orange: #e15a29;--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f3f4f6;--border: #e3e5e8;--text: #1f2328;--muted: #5f6670;--faint: #8b929a;--ingredient: #c2410c;--ingredient-bg: #fff1e8;--cookware: #0369a1;--cookware-bg: #e8f4fb;--timer: #15803d;--timer-bg: #e9f7ee;--code-bg: #f8f9fa;--shadow: 0 1px 2px rgb(16 24 40 / 6%), 0 1px 3px rgb(16 24 40 / 8%);--radius: 12px;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #0f1115;--surface: #16191f;--surface-2: #1d2128;--border: #2a2f37;--text: #e6e8eb;--muted: #a3aab3;--faint: #7b838d;--ingredient: #fb923c;--ingredient-bg: rgb(251 146 60 / 12%);--cookware: #38bdf8;--cookware-bg: rgb(56 189 248 / 12%);--timer: #4ade80;--timer-bg: rgb(74 222 128 / 12%);--code-bg: #12151a;--shadow: 0 1px 2px rgb(0 0 0 / 40%);color-scheme:dark}}*{box-sizing:border-box}html,body{height:100%}body{margin:0;display:flex;flex-direction:column;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;color:var(--text);background:var(--bg)}a{color:var(--orange);text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:JetBrains Mono,ui-monospace,monospace}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.topbar{display:flex;align-items:center;gap:16px;padding:10px 20px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-size:17px;white-space:nowrap}.brand:hover{text-decoration:none}.brand strong{font-weight:700}.topbar-actions{display:flex;gap:8px;margin-left:12px}.topbar-links{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:14px}.topbar-links a{color:var(--muted)}.topbar-links a:hover{color:var(--orange);text-decoration:none}.version{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--faint);background:var(--surface-2);border-radius:999px;padding:2px 10px}.btn,.select select{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;font:inherit;font-size:14px;font-weight:500;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer}.btn:hover,.select select:hover{border-color:var(--orange)}.select select{padding-right:28px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 15px,calc(100% - 10px) 15px;background-size:5px 5px;background-repeat:no-repeat}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:16px 20px 20px}.pane{display:flex;flex-direction:column;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.pane-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:0 12px 0 16px;border-bottom:1px solid var(--border)}.pane-title{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--muted)}.legend{display:flex;gap:6px;font-size:12px}#editor{flex:1;min-height:200px}.ace_editor{background:var(--surface)!important;color:var(--text)!important;line-height:1.6!important}.ace_gutter{background:var(--surface)!important;color:var(--faint)!important}.ace_gutter-active-line{background:transparent!important}.ace_cursor{color:var(--orange)!important}.ace_marker-layer .ace_selection{background:color-mix(in srgb,var(--orange) 22%,transparent)!important}.ace_marker-layer .ace_bracket{display:none}.ace_placeholder{color:var(--faint)!important;font-family:inherit!important}.ace_ingredient{color:var(--ingredient);font-weight:600}.ace_cookware{color:var(--cookware);font-weight:600}.ace_timer{color:var(--timer);font-weight:600}.ace_editor .ace_comment{color:var(--faint);font-style:italic}.ace_frontmatter{color:var(--muted)}.ace_frontmatter.ace_key{color:var(--text);font-weight:600}.ace_section{color:var(--orange);font-weight:700}.ace_note{color:var(--muted);font-style:italic}.cheatsheet{border-top:1px solid var(--border);padding:10px 16px;font-size:13px}.cheatsheet summary{cursor:pointer;color:var(--muted);font-weight:500}.cheatsheet dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:12px 0}.cheatsheet dt{font-family:JetBrains Mono,monospace;color:var(--ingredient)}.cheatsheet dd{margin:0;color:var(--muted)}.cheatsheet code{font-size:12px}.tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.tabs button{font:inherit;font-size:14px;font-weight:500;color:var(--muted);background:none;border:0;padding:13px 10px 11px;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}.tabs button:hover{color:var(--text)}.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--orange)}.settings-wrap{position:relative}.icon-btn{display:grid;place-items:center;width:34px;height:34px;color:var(--muted);background:none;border:1px solid transparent;border-radius:8px;cursor:pointer}.icon-btn:hover,.icon-btn[aria-expanded=true]{color:var(--text);border-color:var(--border);background:var(--surface-2)}.settings{position:absolute;right:0;top:40px;z-index:10;width:300px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 30px #00000026;font-size:13px}.settings fieldset{border:0;padding:0;margin:10px 0 0}.settings legend{font-weight:600;margin-bottom:6px}.check{display:flex;align-items:center;gap:8px;padding:3px 0;cursor:pointer}.check input{accent-color:var(--orange)}.output{flex:1;min-height:0;overflow:auto}.code-out{margin:0;padding:16px 18px;min-height:100%;background:var(--code-bg);font-size:13px;line-height:1.55;white-space:pre;overflow-x:auto}.status{border-top:1px solid var(--border);font-size:13px}.status summary{padding:10px 16px;cursor:pointer;font-weight:500;list-style:none}.status summary::-webkit-details-marker{display:none}.status.ok summary{color:var(--timer);cursor:default}.status.warn summary{color:#b45309}.status.error summary{color:#dc2626}.status pre{margin:0;padding:12px 16px;max-height:30vh;overflow:auto;background:#111418;color:#e6e8eb;font-size:12px;white-space:pre-wrap}.recipe{padding:22px 24px 28px;max-width:760px}.recipe-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.recipe-title{margin:0 0 6px;font-size:26px;font-weight:700;letter-spacing:-.01em}.description{margin:0 0 8px;color:var(--muted)}.meta-chips{display:flex;flex-wrap:wrap;gap:6px}.servings{display:flex;align-items:center;gap:4px;flex-shrink:0;border:1px solid var(--border);border-radius:999px;padding:3px}.servings-label{font-size:12px;color:var(--muted);padding:0 6px 0 8px}.servings-value{min-width:24px;text-align:center;font-weight:600}.step-btn{width:28px;height:28px;border-radius:999px;border:0;background:var(--surface-2);color:var(--text);font-size:16px;cursor:pointer}.step-btn:hover{background:var(--orange);color:#fff}.recipe-lists{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:24px}.block{margin-bottom:22px}.label{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.label-ingredient{color:var(--ingredient)}.label-cookware{color:var(--cookware)}.ingredients{list-style:none;margin:0;padding:0}.ingredients li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--border)}.ingredients li:last-child{border-bottom:0}.amount{color:var(--muted);white-space:nowrap}.note{color:var(--faint)}.ref{color:var(--orange)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:13px}.chip-meta{background:var(--surface-2);color:var(--muted)}a.chip-meta:hover{color:var(--orange);text-decoration:none}.chip-tag{background:var(--surface-2);color:var(--muted)}.chip-cookware{background:var(--cookware-bg);color:var(--cookware)}.section-title{margin:18px 0 8px;font-size:16px;font-weight:700}.steps{list-style:none;margin:0;padding:0}.step{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:8px 0}.step p,.text-block p{margin:0;line-height:1.7}.step-num{display:grid;place-items:center;width:26px;height:26px;margin-top:1px;border-radius:999px;background:var(--ingredient-bg);color:var(--ingredient);font-size:13px;font-weight:700}.text-block{padding:8px 12px;margin:6px 0 6px 40px;border-left:3px solid var(--border);color:var(--muted);font-style:italic}.tok{border-radius:6px;padding:1px 6px;font-weight:500;white-space:nowrap}.tok-ingredient{background:var(--ingredient-bg);color:var(--ingredient)}.tok-cookware{background:var(--cookware-bg);color:var(--cookware)}.tok-timer{background:var(--timer-bg);color:var(--timer)}.tok-quantity{background:var(--surface-2);color:var(--text)}.tok .qty{opacity:.75;font-weight:400}.legend .tok{font-family:JetBrains Mono,monospace;font-size:11px}.empty{color:var(--muted)}.crash{margin:20px;padding:16px 18px;border-radius:var(--radius);border:1px solid #fca5a5;background:color-mix(in srgb,#dc2626 8%,var(--surface))}.crash p{margin:6px 0 10px;color:var(--muted)}.crash pre{margin:0;font-size:12px;color:var(--faint);white-space:pre-wrap}.mobile-switch{display:none}@media (max-width: 900px){.topbar{flex-wrap:wrap;gap:10px;padding:10px 14px}.topbar-actions{margin-left:auto}.topbar-links{width:100%;margin-left:0;gap:14px;font-size:13px}.brand span{font-size:15px}.mobile-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:12px 14px 0;padding:4px;background:var(--surface-2);border-radius:10px}.mobile-switch button{font:inherit;font-size:14px;font-weight:500;padding:8px;border:0;border-radius:7px;background:none;color:var(--muted);cursor:pointer}.mobile-switch button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.workspace{grid-template-columns:minmax(0,1fr);padding:12px 14px 14px}.workspace[data-mobile-pane=output] .pane-edit,.workspace[data-mobile-pane=edit] .pane-output{display:none}.recipe{padding:18px 16px 22px}.recipe-head{flex-direction:column}.recipe-lists{grid-template-columns:minmax(0,1fr);gap:0}.tok{white-space:normal}.legend{display:none}}
