:root{font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;color:#24231f;background:#fffefa;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible,.table-scroll:focus-visible{outline:3px solid #b44c3a;outline-offset:3px}.site-shell{min-height:100vh;overflow:clip}.site-header{height:96px;width:100%;padding:16px clamp(24px,3.3vw,54px);display:grid;grid-template-columns:minmax(235px,340px) minmax(220px,430px) 1fr auto auto;align-items:center;gap:clamp(16px,2.1vw,35px);position:relative;z-index:10;background:#fffefa;border-bottom:1px solid #eee9e2}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;width:max-content}.brand img{width:64px;height:64px;object-fit:contain;flex:none}.brand-words{display:flex;flex-direction:column;gap:1px;white-space:nowrap}.brand-words strong{font-family:Songti SC,"Noto Serif CJK SC",serif;font-size:31px;font-weight:800;line-height:1.12;letter-spacing:.08em;color:#111}.brand-words small{font-size:11px;letter-spacing:.05em;color:#77716b}.search-area{height:52px;min-width:0;display:flex;align-items:center;gap:13px;padding:0 17px;border:1px solid #d4cec6;border-radius:27px;background:#fff;color:#77716b;transition:border-color .2s,box-shadow .2s}.search-area:focus-within{border-color:#a33624;box-shadow:0 0 0 3px #a336241a}.search-area input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#25211e;font-size:16px}.search-area input::placeholder{color:#98928b}.search-area input::-webkit-search-cancel-button{cursor:pointer}.search-area kbd{white-space:nowrap;color:#aaa39b;font-size:11px;border:1px solid #e8e2db;border-radius:5px;padding:2px 4px}.category-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(14px,1.8vw,29px);white-space:nowrap}.category-nav button{padding:8px 0;border:0;border-bottom:2px solid transparent;background:transparent;color:#282420;font-size:16px}.category-nav button:hover,.category-nav button.active{color:#a62d1c;border-bottom-color:#a62d1c}.shuffle-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;border:1px solid #b53b2b;border-radius:25px;background:#fffefa;color:#a62d1c;height:51px;padding:0 25px;font-size:16px;font-weight:700;transition:background .2s,color .2s}.shuffle-button:hover{background:#a62d1c;color:#fff}.github-link{display:grid;place-items:center;width:40px;height:40px;color:#302a25;text-decoration:none}.github-link:hover{color:#a62d1c}.picker-panel{position:absolute;right:clamp(24px,3.3vw,54px);top:calc(100% - 3px);width:min(510px,calc(100vw - 48px));background:#fffefa;border:1px solid #e4dbd2;box-shadow:0 16px 45px #3b2a1c22;border-radius:0 0 16px 16px;padding:18px 20px 16px;z-index:20}.picker-heading{display:flex;align-items:center;justify-content:space-between;color:#9a2d1e;font-size:15px;font-weight:700;padding-bottom:8px}.icon-button{display:grid;place-items:center;background:transparent;border:0;color:#58524a;padding:6px}.picker-list{max-height:320px;overflow:auto}.picker-result{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px;border:0;border-bottom:1px solid #eee8e2;background:transparent;text-align:left;color:#302b25}.picker-result:hover{color:#9a2d1e;background:#fbf6ef}.picker-result span{display:flex;flex-direction:column;gap:4px}.picker-result strong{font-size:17px;font-weight:700}.picker-result small{font-size:12px;color:#807971}.picker-empty{margin:20px 4px;color:#77716b;font-size:14px}.picker-note{margin:13px 4px 0;color:#938b83;font-size:12px;line-height:1.5}.content-frame{max-width:1650px;margin-inline:auto;padding-inline:clamp(24px,3.3vw,54px)}.recipe-hero-frame{padding-top:14px}.recipe-hero{position:relative;width:100%;height:218px;display:flex;align-items:center;background:#f5eee5;border-radius:10px;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 auto;width:67%;height:100%;object-fit:cover;object-position:center 53%;-webkit-mask-image:linear-gradient(to right,transparent,#000 22%);mask-image:linear-gradient(to right,transparent,#000 22%)}.hero-content{position:relative;z-index:1;width:62%;padding-left:clamp(25px,3.7vw,58px);padding-right:15px}.recipe-hero.no-photo{height:190px}.recipe-hero.no-photo .hero-content{width:100%}.hero-eyebrow{color:#aa3c2b;font-size:13px;font-weight:700;letter-spacing:.16em;margin-bottom:5px}.hero-eyebrow span{padding:0 5px}.hero-content h1{font-family:Songti SC,"Noto Serif CJK SC",serif;color:#9c2617;font-size:clamp(48px,4.4vw,66px);font-weight:900;letter-spacing:.035em;line-height:1.17;margin:0 0 4px;white-space:nowrap}.hero-subtitle{color:#504940;font-size:18px;letter-spacing:.04em;margin:0 0 17px}.hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px;color:#302a25;font-size:14px}.hero-meta span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.hero-meta span+span:before{content:"";width:1px;height:18px;background:#bcb2a7;margin-right:15px}.hero-note{color:#6b6155}.recipe-section{padding-top:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-table-hint{display:none}.table-scroll{overflow-x:auto;overflow-y:hidden;border:2px solid #18804a;border-radius:10px;scrollbar-color:#bbb1a4 transparent}.recipe-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1040px;table-layout:fixed;font-size:16px;line-height:1.65}.recipe-table .ingredient-column{width:14%}.recipe-table .quantity-column{width:19%}.recipe-table .step-column{width:16.75%}.recipe-table th,.recipe-table td{border-right:1px solid #199353;border-bottom:1px solid #199353}.recipe-table thead th:last-child,.recipe-table .last-stage{border-right:0}.recipe-table tbody tr:last-child>th,.recipe-table tbody tr:last-child>td:not([rowspan]),.recipe-table .last-row{border-bottom:0}.recipe-table thead th{height:91px;background:#f4fcf3;text-align:center;vertical-align:middle;font-size:22px;font-weight:800;color:#17251b;line-height:1.35;letter-spacing:.045em}.recipe-table thead .step-head{font-size:19px}.step-head span{display:block}.step-head .step-count{font-size:15px;margin-bottom:2px;letter-spacing:.05em}.recipe-table tbody tr{height:67px}.featured-table tbody tr{height:75px}.ingredient-name,.ingredient-amount{background:#fffefa;text-align:left;padding:8px 15px;vertical-align:middle;font-size:17px}.ingredient-name{font-weight:650;white-space:nowrap}.ingredient-amount{color:#39352e;white-space:nowrap}.process-cell{padding:12px 18px;vertical-align:middle;text-align:left;color:#24251f;font-size:16px}.process-cell span{display:block;max-width:28ch;margin:0 auto}.process-cell.has-text{font-weight:500}.recipe-table .tone-0{background:#fff9df}.recipe-table .tone-1{background:#eaf6ff}.recipe-table .tone-2{background:#fff0f2}.recipe-table .tone-3{background:#edfbf0}.site-footer{display:flex;justify-content:center;gap:20px;max-width:1650px;margin:26px auto 0;padding:22px clamp(24px,3.3vw,54px) 32px;border-top:1px solid #e9e3db;color:#80776c;font-size:12px;letter-spacing:.12em;text-align:center}.site-footer a{color:inherit;text-decoration:none;font-weight:inherit;font-style:inherit}@media(max-width:1120px){.site-header{grid-template-columns:auto minmax(210px,1fr) auto auto;gap:16px;height:126px;padding-top:11px;padding-bottom:7px}.category-nav{grid-column:1 / -1;grid-row:2;justify-content:center;gap:30px}.brand img{width:52px;height:52px}.brand-words strong{font-size:25px}.brand-words small{font-size:10px}.shuffle-button{height:45px;padding:0 19px}.recipe-table{min-width:980px}}@media(max-width:700px){.site-header{height:auto;grid-template-columns:1fr auto auto;padding:13px 18px 9px;gap:10px}.brand img{width:44px;height:44px}.brand{gap:9px}.brand-words strong{font-size:23px}.brand-words small{font-size:9px}.shuffle-button{height:40px;padding:0 12px;font-size:13px}.shuffle-button svg{width:17px}.github-link{width:32px;height:40px}.github-link svg{width:22px}.search-area{grid-column:1 / -1;grid-row:2;height:45px}.search-area kbd{display:none}.category-nav{grid-column:1 / -1;grid-row:3;justify-content:space-between;gap:12px;overflow-x:auto}.category-nav button{font-size:14px;padding:5px 2px}.picker-panel{right:10px;left:10px;width:auto;top:100%}.recipe-hero{height:auto;flex-direction:column;align-items:stretch}.recipe-hero.no-photo{height:auto;min-height:190px}.recipe-hero-frame{padding-top:11px}.hero-photo{position:relative;width:100%;height:145px;object-position:right center;-webkit-mask-image:none;mask-image:none;order:0}.hero-content{width:100%;padding:16px 20px 19px;order:1}.hero-eyebrow{font-size:11px}.hero-content h1{font-size:clamp(40px,11vw,52px)}.hero-subtitle{font-size:16px;margin:0 0 12px}.hero-meta{gap:8px 11px;font-size:12px}.hero-meta span+span:before{margin-right:5px;height:13px}.hero-note:before{display:none}.hero-meta svg{width:16px}.content-frame{padding-inline:16px}.recipe-section{padding-top:13px}.mobile-table-hint{display:block;color:#867b6f;font-size:11px;margin:0 0 8px}.recipe-table{min-width:760px;font-size:14px}.recipe-table .ingredient-column{width:16%}.recipe-table .quantity-column{width:17%}.recipe-table .step-column{width:16.75%}.recipe-table thead th{height:69px;font-size:17px}.recipe-table thead .step-head{font-size:16px}.step-head .step-count{font-size:12px}.recipe-table tbody tr{height:56px}.ingredient-name,.ingredient-amount{font-size:13px;padding:6px 8px}.ingredient-amount{white-space:normal}.recipe-table thead th:first-child,.recipe-table tbody th:first-child{position:sticky;left:0;z-index:2;border-right:2px solid #18804a}.recipe-table thead th:first-child{z-index:3}.process-cell{font-size:13px;padding:8px 10px}.site-footer{margin-top:19px;padding:18px 16px 25px;font-size:10px}}@media(max-width:360px){.site-header{padding-inline:12px;gap:6px}.brand{gap:6px}.brand img{width:36px;height:36px}.brand-words strong{font-size:20px}.brand-words small{font-size:8px}.shuffle-button{height:36px;padding-inline:8px;font-size:12px;gap:5px}.github-link{width:28px;height:36px}}
