@font-face{font-family:'Noto Sans';font-weight:400;font-style:normal;src:url("../fonts/Noto-Sans-regular/Noto-Sans-regular.eot");src:url("../fonts/Noto-Sans-regular/Noto-Sans-regular.eot?#iefix") format("embedded-opentype"),local("Noto Sans"),local("Noto-Sans-regular"),url("../fonts/Noto-Sans-regular/Noto-Sans-regular.woff2") format("woff2"),url("../fonts/Noto-Sans-regular/Noto-Sans-regular.woff") format("woff"),url("../fonts/Noto-Sans-regular/Noto-Sans-regular.ttf") format("truetype"),url("../fonts/Noto-Sans-regular/Noto-Sans-regular.svg#NotoSans") format("svg")}@font-face{font-family:'Noto Sans';font-weight:700;font-style:normal;src:url("../fonts/Noto-Sans-700/Noto-Sans-700.eot");src:url("../fonts/Noto-Sans-700/Noto-Sans-700.eot?#iefix") format("embedded-opentype"),local("Noto Sans Bold"),local("Noto-Sans-700"),url("../fonts/Noto-Sans-700/Noto-Sans-700.woff2") format("woff2"),url("../fonts/Noto-Sans-700/Noto-Sans-700.woff") format("woff"),url("../fonts/Noto-Sans-700/Noto-Sans-700.ttf") format("truetype"),url("../fonts/Noto-Sans-700/Noto-Sans-700.svg#NotoSans") format("svg")}@font-face{font-family:'Noto Sans';font-weight:400;font-style:italic;src:url("../fonts/Noto-Sans-italic/Noto-Sans-italic.eot");src:url("../fonts/Noto-Sans-italic/Noto-Sans-italic.eot?#iefix") format("embedded-opentype"),local("Noto Sans Italic"),local("Noto-Sans-italic"),url("../fonts/Noto-Sans-italic/Noto-Sans-italic.woff2") format("woff2"),url("../fonts/Noto-Sans-italic/Noto-Sans-italic.woff") format("woff"),url("../fonts/Noto-Sans-italic/Noto-Sans-italic.ttf") format("truetype"),url("../fonts/Noto-Sans-italic/Noto-Sans-italic.svg#NotoSans") format("svg")}@font-face{font-family:'Noto Sans';font-weight:700;font-style:italic;src:url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot");src:url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot?#iefix") format("embedded-opentype"),local("Noto Sans Bold Italic"),local("Noto-Sans-700italic"),url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff2") format("woff2"),url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff") format("woff"),url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.ttf") format("truetype"),url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.svg#NotoSans") format("svg")}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight .cm{color:#999988;font-style:italic}.highlight .cp{color:#999999;font-weight:bold}.highlight .c1{color:#999988;font-style:italic}.highlight .cs{color:#999999;font-weight:bold;font-style:italic}.highlight .c,.highlight .cd{color:#999988;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .gd{color:#000000;background-color:#ffdddd}.highlight .ge{color:#000000;font-style:italic}.highlight .gr{color:#aa0000}.highlight .gh{color:#999999}.highlight .gi{color:#000000;background-color:#ddffdd}.highlight .go{color:#888888}.highlight .gp{color:#555555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaaaaa}.highlight .gt{color:#aa0000}.highlight .kc{color:#000000;font-weight:bold}.highlight .kd{color:#000000;font-weight:bold}.highlight .kn{color:#000000;font-weight:bold}.highlight .kp{color:#000000;font-weight:bold}.highlight .kr{color:#000000;font-weight:bold}.highlight .kt{color:#445588;font-weight:bold}.highlight .k,.highlight .kv{color:#000000;font-weight:bold}.highlight .mf{color:#009999}.highlight .mh{color:#009999}.highlight .il{color:#009999}.highlight .mi{color:#009999}.highlight .mo{color:#009999}.highlight .m,.highlight .mb,.highlight .mx{color:#009999}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#d14}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .s{color:#d14}.highlight .na{color:#008080}.highlight .bp{color:#999999}.highlight .nb{color:#0086B3}.highlight .nc{color:#445588;font-weight:bold}.highlight .no{color:#008080}.highlight .nd{color:#3c5d5d;font-weight:bold}.highlight .ni{color:#800080}.highlight .ne{color:#990000;font-weight:bold}.highlight .nf{color:#990000;font-weight:bold}.highlight .nl{color:#990000;font-weight:bold}.highlight .nn{color:#555555}.highlight .nt{color:#000080}.highlight .vc{color:#008080}.highlight .vg{color:#008080}.highlight .vi{color:#008080}.highlight .nv{color:#008080}.highlight .ow{color:#000000;font-weight:bold}.highlight .o{color:#000000;font-weight:bold}.highlight .w{color:#bbbbbb}.highlight{background-color:#f8f8f8}body{background-color:#fff;padding:50px;font:14px/1.5 "Noto Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;color:#727272;font-weight:400}h1,h2,h3,h4,h5,h6{color:#222;margin:0 0 20px}p,ul,ol,table,pre,dl{margin:0 0 20px}h1,h2,h3{line-height:1.1}h1{font-size:28px}h2{color:#393939}h3,h4,h5,h6{color:#494949}a{color:#267CB9;text-decoration:none}a:hover,a:focus{color:#069;font-weight:bold}a small{font-size:11px;color:#777;margin-top:-0.3em;display:block}a:hover small{color:#777}.wrapper{width:860px;margin:0 auto}blockquote{border-left:1px solid #e5e5e5;margin:0;padding:0 0 0 20px;font-style:italic}code,pre{font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, Consolas, Liberation Mono, DejaVu Sans Mono, Courier New, monospace;color:#333}pre{padding:8px 15px;background:#f8f8f8;border-radius:5px;border:1px solid #e5e5e5;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:5px 10px;border-bottom:1px solid #e5e5e5}dt{color:#444;font-weight:700}th{color:#444}img{max-width:100%}kbd{background-color:#fafbfc;border:1px solid #c6cbd1;border-bottom-color:#959da5;border-radius:3px;box-shadow:inset 0 -1px 0 #959da5;color:#444d56;display:inline-block;font-size:11px;line-height:10px;padding:3px 5px;vertical-align:middle}header{width:270px;float:left;position:fixed;-webkit-font-smoothing:subpixel-antialiased}ul.downloads{list-style:none;height:40px;padding:0;background:#f4f4f4;border-radius:5px;border:1px solid #e0e0e0;width:270px}.downloads li{width:89px;float:left;border-right:1px solid #e0e0e0;height:40px}.downloads li:first-child a{border-radius:5px 0 0 5px}.downloads li:last-child a{border-radius:0 5px 5px 0}.downloads a{line-height:1;font-size:11px;color:#676767;display:block;text-align:center;padding-top:6px;height:34px}.downloads a:hover,.downloads a:focus{color:#675C5C;font-weight:bold}.downloads ul a:active{background-color:#f0f0f0}strong{color:#222;font-weight:700}.downloads li+li+li{border-right:none;width:89px}.downloads a strong{font-size:14px;display:block;color:#222}section{width:500px;float:right;padding-bottom:50px}small{font-size:11px}hr{border:0;background:#e5e5e5;height:1px;margin:0 0 20px}footer{width:270px;float:left;position:fixed;bottom:50px;-webkit-font-smoothing:subpixel-antialiased}@media print, screen and (max-width: 960px){div.wrapper{width:auto;margin:0}header,section,footer{float:none;position:static;width:auto}header{padding-right:320px}section{border:1px solid #e5e5e5;border-width:1px 0;padding:20px 0;margin:0 0 20px}header a small{display:inline}header ul{position:absolute;right:50px;top:52px}}@media print, screen and (max-width: 720px){body{word-wrap:break-word}header{padding:0}header ul,header p.view{position:static}pre,code{word-wrap:normal}}@media print, screen and (max-width: 480px){body{padding:15px}.downloads{width:99%}.downloads li,.downloads li+li+li{width:33%}}@media print{body{padding:0.4in;font-size:12pt;color:#444}}:root{--bg-primary: #F8F6F0;--bg-secondary: #F4F1E8;--bg-code: #f5f5f5;--text-primary: #2B2927;--text-secondary: #525252;--text-muted: #737373;--border-color: #E0DDD5;--accent-color: #171717;--accent-hover: #404040;--link-color: #171717;--link-hover: #525252;--recipe-card-bg: rgba(255, 255, 255, 0.3);--recipe-list-bg: rgba(90, 88, 85, 0.04);--recipe-link-color: #3d3b39;--recipe-link-hover: #2B2927;--bg-texture: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' seed='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23paper)' opacity='0.09'/%3E%3C/svg%3E")}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg-primary: #0a0a0a;--bg-secondary: #171717;--bg-code: #262626;--text-primary: #fafafa;--text-secondary: #a3a3a3;--text-muted: #8a8a8a;--border-color: #262626;--accent-color: #fafafa;--accent-hover: #d4d4d4;--link-color: #fafafa;--link-hover: #d4d4d4;--recipe-card-bg: rgba(255, 255, 255, 0.02);--recipe-list-bg: rgba(255, 255, 255, 0.05);--recipe-link-color: #d4d4d4;--recipe-link-hover: #fafafa;--bg-texture: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='3' seed='5'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23grain)' opacity='0.015'/%3E%3C/svg%3E")}}:root[data-theme="dark"]{--bg-primary: #0a0a0a;--bg-secondary: #171717;--bg-code: #262626;--text-primary: #fafafa;--text-secondary: #a3a3a3;--text-muted: #8a8a8a;--border-color: #262626;--accent-color: #fafafa;--accent-hover: #d4d4d4;--link-color: #fafafa;--link-hover: #d4d4d4;--recipe-card-bg: rgba(255, 255, 255, 0.02);--recipe-list-bg: rgba(255, 255, 255, 0.05);--recipe-link-color: #d4d4d4;--recipe-link-hover: #fafafa;--bg-texture: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='3' seed='5'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23grain)' opacity='0.015'/%3E%3C/svg%3E")}*{box-sizing:border-box}html{font-size:18px;scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}body{font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', sans-serif;line-height:1.75;color:var(--text-primary);background-color:var(--bg-primary);background-image:var(--bg-texture);background-repeat:repeat;background-attachment:fixed;margin:0;padding:0;transition:background-color 0.3s ease, color 0.3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400}@media (prefers-contrast: more){body{background-image:none}}.container{max-width:884px;margin:0 auto;padding:3rem 2rem;box-shadow:0 1px 3px rgba(0,0,0,0.02);border-radius:2px}@media (min-width: 768px){.container{padding:6rem 4rem}}header{position:sticky;top:0;z-index:100;background-color:var(--bg-primary) !important;border-bottom:1px solid var(--border-color);transition:background-color 0.3s ease, border-color 0.3s ease;width:100%;opacity:1}.header-content{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;max-width:884px;margin:0 auto;padding:0.5rem 2rem}@media (min-width: 768px){.header-content{gap:2rem;padding:0.5rem 4rem}}.header-actions{display:flex;align-items:center;gap:1rem}header h1{margin:0;font-size:0.75rem;font-weight:300;color:var(--text-primary);letter-spacing:0.05em;text-transform:uppercase;line-height:1.3}@media (min-width: 768px){header h1{font-size:0.875rem}}.github-link{display:flex;align-items:center;justify-content:center;color:var(--text-primary);transition:all 0.2s ease;padding:0.5rem;border-radius:50%;width:44px;height:44px;min-width:44px;flex-shrink:0}.github-link:hover{color:var(--text-secondary);background:var(--bg-secondary);text-decoration:none}.github-link:focus{outline:2px solid var(--text-primary);outline-offset:2px}.github-link:focus:not(:focus-visible){outline:none}.github-link:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.github-link svg{width:24px;height:24px}.theme-toggle{background:transparent;border:1px solid var(--text-secondary);width:44px;height:44px;min-width:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;padding:0;flex-shrink:0}.theme-toggle:hover{border-color:var(--text-primary);background:var(--bg-secondary)}.theme-toggle:focus{outline:2px solid var(--text-primary);outline-offset:2px}.theme-toggle:focus:not(:focus-visible){outline:none}.theme-toggle:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.theme-toggle-icon{width:16px;height:16px;border-radius:50%;background:var(--text-primary);transition:all 0.3s ease;position:relative}:root[data-theme="dark"] .theme-toggle-icon{background:transparent;box-shadow:inset 8px -8px 0 0 var(--text-primary);transform:scale(0.8)}:root[data-theme="light"] .theme-toggle-icon{background:var(--text-primary);box-shadow:0 -8px 0 0 var(--text-primary),0 8px 0 0 var(--text-primary),8px 0 0 0 var(--text-primary),-8px 0 0 0 var(--text-primary),6px 6px 0 0 var(--text-primary),-6px -6px 0 0 var(--text-primary),6px -6px 0 0 var(--text-primary),-6px 6px 0 0 var(--text-primary);transform:scale(0.6)}.language-toggle{background:transparent;border:1px solid var(--text-secondary);width:44px;height:44px;min-width:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;padding:0;flex-shrink:0}.language-toggle:hover{border-color:var(--text-primary);background:var(--bg-secondary)}.language-toggle:focus{outline:2px solid var(--text-primary);outline-offset:2px}.language-toggle:focus:not(:focus-visible){outline:none}.language-toggle:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.language-toggle-icon{font-size:0.625rem;font-weight:500;color:var(--text-primary);letter-spacing:0.05em;transition:all 0.2s ease}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.4;margin-top:3rem;margin-bottom:1.5rem;color:var(--text-primary);letter-spacing:0.03em}h1{font-size:2rem;margin-top:0;margin-bottom:1rem;padding-bottom:0;border-bottom:none;font-weight:500}h1+p{font-size:1.125rem;color:var(--text-secondary);margin-top:1rem;margin-bottom:2rem;line-height:1.7}h2{font-size:1.5rem;margin-top:4rem;margin-bottom:1.5rem;padding-bottom:0;border-bottom:none;font-weight:500}h3{font-size:1.125rem;color:var(--text-primary);text-transform:uppercase;letter-spacing:0.1em;font-weight:500;margin-top:2.5rem;margin-bottom:1rem}h4{font-size:1rem;font-weight:500;margin-top:2rem;margin-bottom:1rem}p{margin:1.5rem 0;font-size:1.0625rem;color:var(--text-secondary);font-weight:400}strong,b{color:var(--text-primary);font-weight:600}a{color:var(--link-color);text-decoration:none;transition:color 0.2s ease}a:hover{color:var(--link-hover);text-decoration:underline}a:focus{outline:2px solid var(--text-primary);outline-offset:2px}a:focus:not(:focus-visible){outline:none}a:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px;text-decoration:underline}ul,ol{margin:2rem 0;padding-left:2rem}li{margin:1rem 0;font-size:1.0625rem;color:var(--text-secondary);line-height:1.6}.category-section{margin:2rem 0;padding-top:0}.category-section:first-of-type{margin-top:0;padding-top:0}.category-section:last-of-type{margin-bottom:0}@media (min-width: 768px){.category-section{margin:3rem 0;padding-top:0}.category-section:first-of-type{margin-top:0;padding-top:0}.category-section:last-of-type{margin-bottom:0}}.category-section h3{font-size:0.875rem;color:var(--text-primary);margin-bottom:2rem;font-weight:500;opacity:0.7}.recipe-list{display:grid;gap:0.5rem;list-style:none;padding:0}.recipe-list li{background:var(--recipe-list-bg);border:none;border-bottom:1px solid var(--border-color);border-radius:1px;padding:0;transition:all 0.2s ease;margin:0;box-shadow:0 0.5px 1px rgba(0,0,0,0.03)}.recipe-list li:last-child{border-bottom:none}.recipe-list li:hover{border-color:var(--text-primary);background:var(--bg-secondary);margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}@media (min-width: 768px){.recipe-list li:hover{margin-left:-1.5rem;margin-right:-1.5rem;padding-left:1.5rem;padding-right:1.5rem}}.recipe-list a{font-size:1rem;font-weight:400;color:var(--recipe-link-color);text-decoration:none;display:block;letter-spacing:0.01em;padding:1.5rem 0 1.5rem 1rem}.recipe-list li:first-child a{padding-top:1.5rem}.recipe-list a:hover{color:var(--recipe-link-hover);text-decoration:none}.recipe-list a:focus{outline:2px solid var(--text-primary);outline-offset:4px}.recipe-list a:focus:not(:focus-visible){outline:none}.recipe-list a:focus-visible{outline:2px solid var(--text-primary);outline-offset:4px;color:var(--recipe-link-hover)}.new-indicator{display:inline-block;font-size:0.625rem;font-weight:600;letter-spacing:0.05em;color:var(--accent-color);margin-left:0.5rem;opacity:0.5;transition:opacity 0.2s ease;text-transform:uppercase}.new-indicator::before{content:"NEW"}.recipe-list a:hover .new-indicator{opacity:0.8}code{background:var(--bg-code);padding:0.2rem 0.5rem;border-radius:0;font-size:0.9em;font-family:'Consolas', 'Monaco', 'Courier New', monospace;color:var(--text-primary)}pre{background:var(--bg-code);padding:2rem;border-radius:0;overflow-x:auto;border:1px solid var(--border-color);margin:2rem 0}pre code{background:none;padding:0;font-size:0.875rem;line-height:1.7}table{width:100%;border-collapse:collapse;margin:3rem 0;font-size:0.95rem}th,td{padding:1rem 1.5rem;text-align:left;border-bottom:1px solid var(--border-color)}th{background:transparent;font-weight:400;color:var(--text-primary);text-transform:uppercase;font-size:0.75rem;letter-spacing:0.1em}td{color:var(--text-secondary)}blockquote{border-left:1px solid var(--border-color);margin:3rem 0;padding:1.5rem 2rem;background:transparent;border-radius:0;color:var(--text-secondary);font-style:italic}blockquote p{margin:0.5rem 0}hr{border:none;border-top:1px solid var(--border-color);margin:4rem 0}.back-link{display:inline-flex;align-items:center;gap:0.5rem;margin-bottom:3rem;font-size:0.875rem;color:var(--text-primary);text-decoration:none;transition:all 0.2s ease;text-transform:uppercase;letter-spacing:0.1em;font-weight:400;padding:0.75rem 1.25rem;border:1px solid var(--border-color);background:transparent}.back-link:hover{color:var(--text-primary);background:var(--bg-secondary);border-color:var(--text-primary);transform:translateX(-4px);text-decoration:none}.back-link::before{content:"←";font-size:1rem}*,*::before,*::after{transition-property:background-color, border-color, color;transition-duration:0.3s;transition-timing-function:ease}.back-link,.recipe-list li{transition-property:all}
