:root{font-family:system-ui,sans-serif;color:#242219;background:#f7f4e9;font-synthesis:none;--red: #cd212a;--basil: #009246;--line: #d9d2bc}*{box-sizing:border-box}body{margin:0}body>header{border-bottom:1px solid var(--line);display:flex;flex-direction:column;flex-wrap:wrap;gap:1rem;justify-content:flex-start;align-items:flex-start;padding:1rem max(5vw,calc((100vw - 72rem)/2));box-shadow:0 .35rem 1rem #20251e14;position:sticky;top:0;z-index:20;background:#fff}.language-switcher{position:absolute;top:1rem;right:max(5vw,calc((100vw - 72rem)/2));display:block;font-weight:650}.language-switcher select{width:auto;min-width:8rem;padding:.42rem 2rem .42rem .6rem;border-radius:999px;background:#fff;box-shadow:0 .2rem .6rem #20251e1f}.language-switcher[hidden]{display:none}body>header nav{justify-content:flex-start}nav,.actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}a{color:inherit}a:hover{color:var(--red)}.brand{font:700 1.4rem Georgia,serif;text-decoration:none}.brand span,.eyebrow{color:var(--red)}.header-brand .brand-green{color:var(--basil)}.header-brand .brand-i{position:relative;color:inherit}.header-brand .brand-i:after{content:"";position:absolute;top:.12em;left:50%;width:.16em;height:.16em;border-radius:50%;background:var(--red);transform:translate(-50%)}main{width:min(90%,72rem);margin:0 auto;padding-bottom:4rem}.hero{padding:clamp(2rem,7vw,5rem) 0 2rem}.landing{background:radial-gradient(ellipse at bottom right,#f0bb7a 0%,transparent 55%),#f0e7cc;padding:clamp(1.4rem,6vw,5rem);margin-top:clamp(1rem,4vw,3rem);border-radius:1.2rem}h1,h2{font-family:Georgia,serif;line-height:1.1}h1{font-size:clamp(2.45rem,7vw,5rem);letter-spacing:-.04em;margin:.2em 0;max-width:15ch}h2{font-size:1.6rem;margin:.3em 0}.eyebrow{font-size:.8rem;font-weight:750;letter-spacing:.12em}.lede{font-size:clamp(1rem,2.5vw,1.25rem)}.button,button{display:inline-block;border:1px solid var(--red);border-radius:.35rem;background:var(--red);color:#fff;padding:.65rem .9rem;font:inherit;font-weight:650;text-decoration:none;cursor:pointer}.button:hover,button:hover{background:var(--red);color:#fff}.button{margin:.45rem .45rem 0 0}.secondary{background:#f7f4e9;color:#242219}button:disabled{opacity:.65;cursor:wait}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1rem}.card,.filters,.sponsor{border:1px solid var(--line);background:#fffdf6;border-radius:.65rem;padding:1.25rem}.tool{text-decoration:none}.sponsor{margin-top:2rem}.sponsor p{margin:0}.sponsor .eyebrow{margin-bottom:.35rem;text-transform:uppercase}.recipe{white-space:pre-wrap;overflow-wrap:anywhere}.recipe-paragraphs{display:grid;gap:.8rem}.recipe-paragraphs>p{margin:0}.operator{max-width:44rem;display:grid;gap:1rem}.filters{margin-bottom:1.5rem;display:flex;flex-wrap:wrap;gap:1rem}fieldset{border:1px solid var(--line);display:grid;gap:.75rem;min-width:0}label{display:grid;gap:.3rem;font-weight:650}input,select,textarea{font:inherit;width:100%;padding:.55rem;border:1px solid #82795f;border-radius:.3rem;background:#fff;color:#242219}textarea{min-height:7rem;resize:vertical}small{font-weight:400}video{width:100%;max-height:18rem}.back{display:inline-block;margin-bottom:1rem}.error{color:var(--red);font-weight:650}table{border-collapse:collapse;width:100%;max-width:50rem;background:#fffdf6}th,td{border-bottom:1px solid var(--line);text-align:left;padding:.65rem}.analytics-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:2rem}.analytics-metric{display:grid;gap:.35rem;padding:1.1rem;border:1px solid var(--line);border-radius:.65rem;background:#fffdf6}.analytics-metric strong{font:700 clamp(1.8rem,5vw,3rem)/1 Georgia,serif}.analytics-controls{max-width:20rem}.analytics-table{max-width:none}.analytics-table td:first-child{display:grid;gap:.2rem}.analytics-table small{color:#615e53;overflow-wrap:anywhere}.consent-banner{position:fixed;right:1rem;bottom:1rem;z-index:50;width:min(calc(100% - 2rem),32rem);padding:1rem;border:2px solid var(--red);border-radius:.65rem;background:#fff;box-shadow:0 .65rem 1.5rem #20251e38}.consent-banner p{margin:0 0 .75rem}:focus-visible{outline:3px solid #14624f;outline-offset:3px}.operator [hidden]{display:none}.operator .checkbox{display:flex;align-items:center}.operator .checkbox input{width:auto}.recipe-detail{max-width:45rem;padding-top:2rem}.recipe-actions{flex-wrap:wrap;margin-bottom:2rem}.recipe-photo{display:block;max-width:min(100%,28rem);max-height:24rem;object-fit:contain;border-radius:.4rem}.recipe-dough{margin-top:2rem}.instagram-source{overflow-wrap:anywhere}:root{background:#fff;color:#20251e;--red: #cd212a;--line: #dddcd3}body>header{border-top:5px solid #20251e;padding-top:1.4rem;padding-bottom:1.4rem}.brand{font-size:clamp(1.35rem,3vw,2rem);letter-spacing:-.05em}body>header nav a{font-size:.85rem;font-weight:750;text-decoration:none;text-transform:uppercase;letter-spacing:.06em}body>header .admin-link{color:var(--red)}body>header .admin-link:hover{color:var(--red)}main{width:min(92%,76rem)}.hero{border-bottom:2px solid #20251e;margin-bottom:2rem}.hero h1{max-width:19ch;font-size:clamp(2.6rem,6vw,4.6rem)}.landing{background:#f4f1e7;border-radius:0;border-bottom:5px solid var(--red);margin-bottom:3rem}.landing h1{max-width:14ch}.landing .lede{max-width:40ch}.home-recipes>h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:1.5rem}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem 1.8rem;align-items:start}.card{background:#fff;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 0 1.4rem;min-width:0}.grid>.card>img{display:block;width:100%;height:auto;max-width:100%;max-height:none;aspect-ratio:3 / 2;object-fit:cover;object-position:center;border-radius:0;background:#f4f1e7}.grid>.card>img.recipe-placeholder,.grid>.card>img[src="/pizza-missing.svg"]{object-fit:contain;background:#f8ead1}.pizza-card-media{position:relative;width:100%;aspect-ratio:3 / 2;overflow:hidden;background:#f4f1e7}.pizza-card-media>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:var(--crop-x, 50%) var(--crop-y, 50%);transform-origin:var(--crop-x, 50%) var(--crop-y, 50%);transform:scale(calc(var(--crop-zoom, 1) * var(--crop-cover-scale, 1)));border-radius:0}.dip-d20-badge{position:absolute;right:.6rem;bottom:.6rem;z-index:1;display:block;width:clamp(2.625rem,15.4%,3.325rem);aspect-ratio:1150 / 1367;color:#fff;pointer-events:none}.dip-d20-badge>img{position:absolute;inset:0;width:100%;height:100%;filter:brightness(0) invert(1) drop-shadow(0 .12rem .16rem rgb(0 0 0 / .9))}.dip-d20-value{position:absolute;top:48%;left:50%;transform:translate(-50%,calc(-50% - 3px));color:#fff;font:900 clamp(.735rem,3.15vw,1.015rem)/1 Georgia,serif;text-shadow:0 .1rem .14rem #000,0 0 .2rem #000}.crop-preview{max-width:32rem;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.crop-preview:active{cursor:grabbing}.photo-crop-editor[hidden]{display:none}.photo-crop-editor output{font-weight:400}.photo-crop-editor input[type=range]{padding:.5rem 0}.card h2,.card h3{font:700 1.6rem/1.15 Georgia,serif;margin:.65rem 0}.card h2 a,.card h3 a{text-decoration:none}.card>p{line-height:1.55}.card>.recipe{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card .eyebrow{font-size:.72rem}.pizza-flip-card{border:0;min-height:25rem;perspective:80rem;padding:0}.pizza-flip-inner{position:relative;width:100%;min-height:25rem;transform-style:preserve-3d;transition:transform .55s ease}.pizza-flip-card.is-flipped .pizza-flip-inner{transform:rotateY(180deg)}.pizza-card-face{border:2px solid var(--line);background:#fff;color:#20251e;border-radius:1rem;box-shadow:0 .65rem 1.5rem #20251e29}.pizza-card-face{position:absolute;inset:0;width:100%;min-height:100%;backface-visibility:hidden}.pizza-card-front{display:grid;grid-template-rows:auto 1fr;padding:0;text-align:left;overflow:hidden}.pizza-card-front:hover{background:#fff;color:#20251e}.pizza-card-front>img,.pizza-card-front>.pizza-card-media,.pizza-card-front>.dough-card-visual,.pizza-card-front>.topping-card-visual{width:100%;height:auto;min-height:0;aspect-ratio:3 / 2;object-fit:cover;border-radius:0}.pizza-card-front>img.recipe-placeholder{object-fit:contain;background:#f8ead1}.dough-card-visual,.topping-card-visual{display:flex;flex-direction:column;justify-content:end;gap:.35rem;padding:1.25rem;background:linear-gradient(145deg,#f3dfbc,#dca66f);color:#4b2518;font:700 1rem/1.2 Georgia,serif}.dough-card-visual strong{font-size:1.8rem}.topping-card-visual{justify-content:center;background:linear-gradient(145deg,#efe9d3,#c8a566);font-size:1.5rem;text-align:center}.my-recipe-sections{display:grid;gap:2.5rem}.pizza-card-front h2{display:flex;align-items:center;padding:.8rem 1rem 1rem;margin:0}.pizza-card-back{transform:rotateY(180deg);display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:1.25rem;overflow:auto}.pizza-card-back h2{margin:0}.card-turn-back{position:absolute;top:.65rem;right:.65rem;width:2.5rem;height:2.5rem;padding:0;border-radius:50%}.pizza-card-actions{display:grid;gap:.65rem}.pizza-card-actions button{width:100%}.pizza-counts,.card-status{margin:0}.pizza-counts{font-weight:700}.card-status{color:var(--red);min-height:1.4em}.made-toggle{display:flex;align-items:center;gap:.45rem}.made-toggle input{width:auto}.made-toggle[hidden]{display:none}.recipe-modal{width:min(92vw,50rem);max-height:88vh;padding:0;border:1px solid var(--line);color:#20251e;background:#fff}.recipe-modal::backdrop{background:#161914b8}.modal-header{position:sticky;top:0;z-index:2;display:flex;flex-wrap:nowrap;justify-content:space-between;gap:1rem;border:0;border-bottom:1px solid var(--line);background:#fff;padding:1rem 1.25rem}.modal-header h2{margin:0}.modal-content{padding:1.25rem}.modal-content>ul,.modal-content .recipe-dough>ul{padding:1rem 2rem;background:#f4f1e7;line-height:1.8}.modal-content .recipe-photo{width:100%;max-width:none;max-height:28rem}.share-options{display:flex;flex-wrap:wrap;gap:.45rem}.share-options .button{margin:0;text-align:center}.share-option{display:grid;place-items:center;width:2.75rem;height:2.75rem;min-height:0;padding:.45rem;border-radius:.65rem}.share-option .fi{font-size:1.15rem;line-height:1}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.share-message{min-height:1.5em}.home-article-card>img{aspect-ratio:3 / 2;width:100%;object-fit:cover}.my-recipes-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.filters{background:#f4f1e7;border:1px solid var(--line);border-radius:1rem;box-shadow:0 .45rem 1.25rem #20251e1a;padding:1.3rem;align-items:end}.filters label{flex:1 1 12rem;font-size:.85rem}.operator.card{padding:1.5rem;border:1px solid var(--line)}.tool.card{padding:1.2rem;background:#f4f1e7}.recipe-detail{max-width:54rem;margin:0 auto}.recipe-detail h1{font-size:clamp(2.4rem,5vw,4.2rem);max-width:22ch;margin-bottom:1.4rem}.recipe-photo{max-width:100%;width:100%;max-height:34rem;background:#f4f1e7;border-radius:0}.recipe-detail>ul,.recipe-dough>ul,.linked-dough>ul{padding:1.5rem 2.6rem;background:#f4f1e7;line-height:1.9}.recipe-detail .recipe{line-height:1.75}.recipe-dough{border-top:2px solid #20251e;padding-top:1.5rem}.community{border-top:2px solid #20251e;margin-top:3rem;padding-top:2rem}.community-score{font-weight:750;font-size:1.25rem}.rating-form,.comment-form{display:grid;gap:1rem;margin:1.5rem 0;max-width:38rem}.rating-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.comment-form button{justify-self:start}.comment{border-top:1px solid var(--line);padding:1.2rem 0}.ingredient-photo{width:9rem;max-width:100%;height:7rem;object-fit:contain;background:#f4f1e7}.stock-card{border:1px solid var(--line);padding:1.4rem;margin:1.5rem 0}.stock-adjustment{display:flex;flex-wrap:wrap;align-items:end;gap:1rem;margin:1.2rem 0}.stock-adjustment label{flex:1 1 10rem}.article-body{font-size:1.12rem;margin:2rem 0;overflow-wrap:anywhere}.article-byline{border-top:1px solid var(--line);padding:1rem 0;background:transparent}.dip-score-page{padding-top:0}.dip-scale{padding-left:2.4rem;margin:1.5rem 0 3rem}.dip-scale li{border-top:1px solid var(--line);padding:1.15rem .5rem 1.15rem .8rem}.dip-scale li::marker{color:var(--red);font:700 1.35rem Georgia,serif}.dip-scale p{margin:0;line-height:1.7}.article-byline p{color:inherit}.article-author{color:#53594f;font-size:.9rem}.article-review{border:2px solid var(--red);padding:1.5rem;margin:1.5rem 0}.article-review button{margin:.4rem .6rem .4rem 0}.article-status{font-weight:750}footer{border-top:4px solid #20251e;padding:2.5rem max(4vw,calc((100vw - 76rem)/2));background:#f4f1e7}footer p{color:#53594f}.terms-page{max-width:58rem}.terms-page section+section{margin-top:2.25rem}.terms-page li p{margin:.35rem 0}@media(max-width:850px){.grid,.analytics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.language-switcher{top:.8rem;right:1rem}.language-switcher select{min-width:6.8rem;max-width:8rem}.grid{grid-template-columns:minmax(0,1fr)}body>header{gap:.8rem}body>header nav{gap:.85rem}.rating-form{grid-template-columns:minmax(0,1fr)}.stock-card{padding:.9rem}.pizza-flip-card,.pizza-flip-inner{min-height:23rem}}@media(prefers-reduced-motion:reduce){.pizza-flip-inner{transition:none}}@media print{@page{margin:15mm}body{background:#fff;color:#000}body>header,footer,.recipe-actions,.recipe-placeholder,.community{display:none}.article-byline{display:block}main,.recipe-detail{width:100%;max-width:none;margin:0;padding:0}.recipe-detail h1{font-size:26pt;max-width:none}.recipe-detail h2,.recipe-detail h3{break-after:avoid}.recipe-photo{max-width:75mm;max-height:50mm;break-inside:avoid}.instagram-source a:after{content:" (" attr(href) ")"}}.breadcrumbs{max-width:1200px;margin:1rem auto;padding:0 1.5rem;font-size:.875rem}.editorial-roster{max-width:100%;overflow-x:auto}.editorial-roster table{min-width:38rem}.editorial-roster td button{margin:.25rem}@media print{.breadcrumbs{display:none}}
