:root{--cream:#f8f5ed;--green:#254b3d;--ink:#28382f;--muted:#647064;--line:#dcded2;--sage:#e5eade}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 system-ui,sans-serif}a{color:inherit}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);border-radius:30px;padding:10px 18px;background:transparent;color:var(--green)}button:hover,button[aria-pressed=true]{background:var(--green);color:white}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bb6c3d;outline-offset:4px}header{max-width:1280px;margin:auto;padding:25px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font:bold 25px Georgia,serif;text-decoration:none}.brand span{display:block;font:10px system-ui;letter-spacing:2px;margin-top:5px}nav{display:flex;gap:24px;align-items:center}nav a{text-decoration:none}main{max-width:1180px;margin:auto;padding:20px 30px 70px;min-height:80vh}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(38px,5vw,64px);max-width:800px;letter-spacing:-1.5px;margin:15px 0 22px}h2{font-size:28px}.intro{padding:48px 0 24px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;color:var(--muted)}.lede{font-size:18px;color:var(--muted)}.tools{display:flex;gap:20px;align-items:end;background:#fffdf7;padding:22px;border:1px solid var(--line);border-radius:12px}.tools label:first-child{flex:1}label{display:block;font-size:14px}input[type=search],input[type=number],select{display:block;width:100%;border:1px solid #b7c1b2;border-radius:6px;padding:12px;margin-top:7px;background:white;color:var(--ink)}.muted{font-size:13px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fffdf8}.recipe-art{display:flex;min-height:145px;padding:25px;flex-direction:column;justify-content:space-between;text-decoration:none;background:var(--sage);color:var(--green);background-image:radial-gradient(ellipse at 90% 90%,#fff9 0 15%,transparent 16%),radial-gradient(ellipse at 75% 110%,#fff5 0 35%,transparent 36%)}.recipe-art strong{font:italic 23px Georgia,serif}.recipe-art span{font-size:11px;letter-spacing:3px}.art-turkey{background-color:#eddfc7}.art-pork{background-color:#eedbd1}.art-fish,.art-tuna{background-color:#dce8e7}.card-content{padding:22px}.card h2{font-size:26px;margin:12px 0 18px;min-height:87px}.card h2 a{text-decoration:none}.card h2 a:hover{text-decoration:underline}.card-content>p:not(.eyebrow){font-size:13px}.badge{background:#f0e8d6;color:#67512d;font-size:11px;border-radius:20px;padding:5px 10px;margin-right:6px}.save{font-size:12px;padding:7px 12px}.back{display:inline-block;margin:20px 0;text-decoration:none}.detail-top{display:grid;grid-template-columns:1.5fr 1fr;gap:45px;margin:25px 0}.detail-top h1{font-size:48px}.notice{background:var(--sage);border-radius:12px;padding:25px;font-size:13px;align-self:center}.calculator{display:flex;gap:18px;align-items:end;padding:25px;background:white;border:1px solid var(--line);border-radius:12px;flex-wrap:wrap}.calculator label{max-width:250px}.error{color:#a23120;width:100%;margin:0}.nutrition{display:flex;gap:35px;padding:25px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.nutrition strong{display:block;font:32px Georgia,serif}.nutrition span{font-size:12px;color:var(--muted)}.nutrition p{margin-left:auto;font-size:13px;align-self:center}.recipe-columns{display:grid;grid-template-columns:1fr 1.5fr;gap:65px;margin-top:25px}.ingredients{list-style:none;padding:0}.ingredients li{padding:13px 0;border-bottom:1px solid var(--line)}.ingredients label,.steps label{display:flex;gap:12px;align-items:flex-start;font-size:15px}.ingredients input,.steps input{accent-color:var(--green);margin-top:6px;width:18px;height:18px;flex-shrink:0}input:checked+span{text-decoration:line-through;color:var(--muted)}.steps{padding-left:25px}.steps li{padding:14px 0 22px 8px}.seasoning-note{font-size:13px;color:var(--muted)}.storage{background:var(--sage);padding:25px 35px;border-radius:12px;margin-top:30px}.storage h2{margin-top:0}footer{padding:30px 5%;border-top:1px solid var(--line);font:20px Georgia,serif}footer span{display:block;font:12px system-ui;color:var(--muted);margin-top:10px}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;padding:10px;z-index:3}.cooking header,.cooking footer,.cooking .detail-top .notice{display:none}.cooking .steps label{font-size:20px}.cooking .calculator{position:sticky;top:0;z-index:1}.empty{padding:40px;grid-column:1/-1;background:white;border-radius:12px}@media(max-width:800px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-top,.recipe-columns{grid-template-columns:1fr;gap:20px}.detail-top h1{font-size:40px}.card h2{min-height:0}}@media(max-width:520px){header{padding:20px}.brand{font-size:21px}nav{gap:8px;font-size:13px}nav a{display:none}main{padding:15px 20px 40px}.intro{padding-top:25px}.tools{flex-wrap:wrap;padding:16px;gap:12px}.tools label:first-child{flex-basis:100%}.grid{grid-template-columns:1fr}.card h2{font-size:28px}.calculator{padding:18px;gap:12px}.calculator label{max-width:none;width:100%}.nutrition{gap:20px}.nutrition strong{font-size:27px}.nutrition p{margin-left:0;width:100%}.storage{padding:22px}.cooking .calculator label,.cooking .calculator button:first-of-type{display:none}}@media print{header,footer,.calculator,.back,.save,.tools{display:none}.recipe-columns{display:block}body{background:white}.notice,.storage{background:white;border:1px solid #aaa}}
