:root{--color-primary: #015d82;--color-primary-dark: #014563;--color-primary-light: #e4f1f8;--color-accent: #d27908;--color-accent-dark: #a45e02;--color-bg-light: #f3f5f7;--color-text: #1f1f1f;--color-white: #ffffff;--color-ink-soft: #555555;--color-ink-muted: #717171;--color-line: #d4d8db;--color-ok: #036639;--color-warn: #855904;--color-danger: #a92227;--viz-1: #015d82;--viz-2: #268099;--viz-3: #50a2a1;--viz-4: #78bfa6;--viz-5: #a6dba7;--viz-6: #d27908;--viz-grid: #e1e5e7;--viz-axis: #717171;--color-primary-a80: rgba(1, 93, 130, .8);--color-primary-a60: rgba(1, 93, 130, .6);--color-primary-a10: rgba(1, 93, 130, .1);--color-white-a20: rgba(255, 255, 255, .2);--color-white-a10: rgba(255, 255, 255, .1);--scrim-50: rgba(0, 0, 0, .5);--scrim-30: rgba(0, 0, 0, .3);--scrim-20: rgba(0, 0, 0, .2);--scrim-0: rgba(0, 0, 0, 0);--shadow-card: 0 2px 12px rgba(0, 0, 0, .08);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .12);--shadow-float: 0 4px 12px rgba(0, 0, 0, .3);--shadow-text: 0 2px 12px rgba(0, 0, 0, .3);--text-xs: 1.125rem;--text-sm: 1.25rem;--text-base: 1.375rem;--text-lg: 1.625rem;--text-xl: 2rem;--text-2xl: clamp(2rem, 1.5rem + 2vw, 2.75rem);--text-3xl: clamp(2.75rem, 2rem + 3.5vw, 4.5rem);--font-sans: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--font-serif: "Noto Serif TC", "PingFang TC", "Microsoft JhengHei", serif;--font-mono: ui-monospace, "SFMono-Regular", "Menlo", "Consolas", monospace}@supports (color: oklch(.5 .1 250)){:root{--color-primary: oklch(.45 .095 235);--color-primary-dark: oklch(.37 .078 235);--color-primary-light: oklch(.95 .017 235);--color-accent: oklch(.66 .15 62);--color-accent-dark: oklch(.55 .126 62);--color-bg-light: oklch(.97 .003 235);--color-text: oklch(.239 0 0);--color-white: oklch(1 0 0);--color-ink-soft: oklch(.45 0 0);--color-ink-muted: oklch(.55 0 0);--color-line: oklch(.88 .006 235);--color-ok: oklch(.45 .11 155);--color-warn: oklch(.5 .104 75);--color-danger: oklch(.48 .17 25);--viz-1: oklch(.45 .095 235);--viz-2: oklch(.56 .09 220);--viz-3: oklch(.66 .08 195);--viz-4: oklch(.75 .08 170);--viz-5: oklch(.84 .09 145);--viz-6: oklch(.66 .15 62);--viz-grid: oklch(.92 .005 235);--viz-axis: oklch(.55 0 0);--color-primary-a80: oklch(.45 .095 235 / .8);--color-primary-a60: oklch(.45 .095 235 / .6);--color-primary-a10: oklch(.45 .095 235 / .1);--color-white-a20: oklch(1 0 0 / .2);--color-white-a10: oklch(1 0 0 / .1);--scrim-50: oklch(0 0 0 / .5);--scrim-30: oklch(0 0 0 / .3);--scrim-20: oklch(0 0 0 / .2);--scrim-0: oklch(0 0 0 / 0);--shadow-card: 0 2px 12px oklch(0 0 0 / .08);--shadow-card-hover: 0 8px 24px oklch(0 0 0 / .12);--shadow-float: 0 4px 12px oklch(0 0 0 / .3);--shadow-text: 0 2px 12px oklch(0 0 0 / .3)}}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-sans);color:var(--color-text);background:var(--color-white);-webkit-text-size-adjust:100%}body{margin:0;font-size:var(--text-base);line-height:1.75}h1{font-size:var(--text-2xl);line-height:1.25}h2{font-size:var(--text-xl);line-height:1.3}h3{font-size:var(--text-lg);line-height:1.4}small{font-size:var(--text-xs)}a{color:var(--color-primary)}a:hover{color:var(--color-accent-dark)}img,video{max-width:100%;height:auto}code,.num{font-family:var(--font-mono)}table{width:100%;border-collapse:collapse}th,td{padding:.5rem .75rem;border-bottom:1px solid var(--color-line);text-align:left}th{font-size:var(--text-sm);color:var(--color-ink-soft)}.badge{display:inline-block;padding:.1em .6em;border-radius:.25em;font-size:var(--text-xs);color:var(--color-white)}.badge-ok{background:var(--color-ok)}.badge-warn{background:var(--color-warn)}.badge-danger{background:var(--color-danger)}.container{max-width:72rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.ingredient-body caption{caption-side:top;text-align:left;padding-bottom:.5rem;font-size:var(--text-sm);color:var(--color-ink-soft)}.ingredient-body blockquote{margin:1rem 0;padding:1rem 1.25rem;background:var(--color-bg-light);border-left:3px solid var(--color-line);max-width:68ch}.ingredient-body blockquote p{margin:.5rem 0}.ingredient-body .src{margin-top:0;font-size:var(--text-sm);color:var(--color-ink-soft)}.ingredient-body .caveat{font-size:var(--text-sm);color:var(--color-ink-soft)}.ingredient-body p,.ingredient-body ol,.ingredient-body ul{max-width:68ch}.ingredient-body .mistakes dt{margin-top:1.25rem;font-weight:700;color:var(--color-primary-dark)}.ingredient-body .mistakes dd{margin:.35rem 0 0;max-width:68ch}.ingredient-body .scroll{overflow-x:auto}
