@layer base{:root{--paper:#f7f4ec;--ink:#302f29;--muted:#77766a;--olive:#586044;--olive-dark:#3e4933;--line:#deddd1;--rust:#a85437;--white:#fffefa;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--rust);outline-offset:5px}[hidden]{display:none!important}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:400}h1{letter-spacing:-.045em;font-size:clamp(2.7rem,6vw,5.5rem);line-height:1.08}h2{letter-spacing:-.035em;font-size:clamp(1.8rem,3vw,2.6rem)}h3{font-size:1.6rem;line-height:1.2}p{line-height:1.7}ul,ol{margin:0;padding:0}em{color:var(--olive);font-weight:400}.wrap{width:min(1220px,100% - 40px);margin-inline:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:#fff;padding:12px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.eyebrow{letter-spacing:.2em;color:var(--olive);font-size:.68rem;font-weight:600}.muted{color:var(--muted);font-size:.8rem}.lede{color:#69695d;font-size:1rem;line-height:1.8}.button{border:1px solid var(--olive);background:var(--olive);min-height:46px;color:var(--white);border-radius:2px;justify-content:center;align-items:center;gap:20px;padding:14px 22px;font-size:.8rem;text-decoration:none;display:inline-flex}.button:hover{background:var(--olive-dark)}.button-small{min-height:42px;padding:10px 14px;font-size:.72rem}.text-link{border:0;border-bottom:1px solid var(--olive);color:var(--olive);background:0 0;align-items:center;gap:24px;padding:0 0 7px;font-size:.83rem;text-decoration:none;display:inline-flex}.text-link:hover{color:var(--rust);border-color:var(--rust)}}@layer components{.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-block:22px;display:flex}.brand{align-items:center;gap:9px;font:1.5rem/1 Georgia,serif;text-decoration:none;display:flex}.brand-small{letter-spacing:.32em;margin-top:4px;font:.52rem/1.7 Arial,sans-serif;display:block}.sprig{width:30px;height:43px;color:var(--olive);flex-shrink:0}.brand .sprig{width:24px;height:39px}.site-header nav{align-items:center;gap:30px;display:flex}.nav-recipes{font-size:.8rem;text-decoration:none;display:none}.recipe-index{padding-block:40px 70px;scroll-margin-top:25px}.section-heading{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;padding-bottom:25px;display:flex}.section-heading h1{font-size:clamp(2.5rem,4vw,3.5rem)}.section-heading>.muted{white-space:nowrap}.count{color:var(--muted);vertical-align:top;margin-left:12px;padding-top:5px;font:.7rem Arial,sans-serif;display:inline-block}.empty-collection{text-align:center;background:radial-gradient(#eeeee340,#0000 70%);padding:55px 15px 35px}.empty-collection .sprig{width:34px;height:50px;margin-bottom:17px}.empty-collection h2{font-size:2rem}.empty-collection p{color:var(--muted);margin-block:18px 25px;font-size:.9rem}.collection-controls{gap:12px;padding-block:25px;display:flex}.collection-controls input,.collection-controls select{border:1px solid var(--line);background:0 0;width:100%;min-height:44px;padding:12px;font-size:.85rem}.search-label{flex:1}.collection-controls>label:last-child{max-width:45%}.recipe-grid{gap:36px;display:grid}.card-image{aspect-ratio:4/3;background:#e9e7db;display:block;overflow:hidden}.card-image img{object-fit:cover;width:100%;height:100%;transition:transform .25s}.recipe-card:hover .card-image img{transform:scale(1.025)}.photo-placeholder{background:linear-gradient(135deg,#eae9df,#dedfcd);place-items:center;width:100%;height:100%;display:grid}.photo-placeholder .sprig{opacity:.6;width:50px;height:75px}.card-meta{color:var(--muted);justify-content:space-between;gap:10px;margin-block:18px 10px;font-size:.66rem;display:flex}.recipe-card h3 a{text-decoration:none}.recipe-card h3 a:hover{color:var(--olive)}.recipe-card>p{color:var(--muted);margin-top:10px;font-size:.83rem}.labels{flex-wrap:wrap;gap:8px;margin-top:15px;display:flex}.labels span{color:var(--olive);border:1px solid #d8dacb;border-radius:20px;padding:5px 8px;font-size:.64rem}.site-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:15px 25px;padding-block:30px;font-size:.7rem;display:flex}.site-footer>span{color:var(--ink);font:1.1rem Georgia,serif}.site-footer p{order:3;width:100%}.site-footer a{text-decoration:none}.recipe-page{padding-top:30px;padding-bottom:60px}.back-link{color:var(--olive);font-size:.78rem;text-decoration:none}.recipe-heading{max-width:850px;padding-block:35px 25px}.recipe-heading h1{margin-block:15px 20px;font-size:clamp(2.7rem,5.5vw,5rem)}.recipe-facts{flex-wrap:wrap;align-items:end;gap:25px;margin-top:30px;display:flex}.recipe-facts>div{gap:8px;display:grid}.recipe-facts>div>span{color:var(--muted);letter-spacing:.14em;font-size:.6rem}.recipe-facts strong{font-size:.85rem;font-weight:400}.print-button{min-height:35px;font-size:.73rem}.cover-photo{margin-block:10px 35px}.cover-photo>img{object-fit:cover;aspect-ratio:4/3;width:100%;max-height:600px}figcaption{color:var(--muted);margin-top:9px;font:italic .8rem/1.5 Georgia,serif}.recipe-story{max-width:700px;margin-block:35px 45px}.recipe-story h2{margin-bottom:14px;font-size:1.7rem}.recipe-story p{white-space:pre-line;color:#66665b;font-size:.95rem}.cooking-layout{gap:44px;margin-top:30px;display:grid}.ingredients-panel{background:#eeeee3;align-self:start;padding:25px 20px}.ingredient-top{justify-content:space-between;align-items:center;gap:15px;display:flex}.ingredient-top h2,.method h2,.recipe-gallery h2{font-size:1.9rem}.servings-control{color:var(--muted);white-space:nowrap;font-size:.7rem}.servings-control input{background:var(--paper);text-align:center;border:1px solid #d0d3c0;width:56px;min-height:40px;padding:5px}.measurement-hint{color:var(--muted);margin-block:15px 13px;font-size:.66rem}.ingredients-list{list-style:none}.ingredient-group{letter-spacing:.04em;color:var(--olive);margin-top:22px;padding-bottom:5px;font-size:.75rem;font-weight:600}.ingredient-row{border-bottom:1px solid #daddcd;align-items:baseline;gap:13px;padding-block:14px;font-size:.85rem;display:flex}.ingredient-row>span:last-child{flex:1;line-height:1.6}.ingredient-row small{color:var(--muted);font-size:.8rem}.quantity{flex-shrink:0;position:relative}.gram-button{border:0;border-bottom:1px dotted var(--olive);color:var(--olive-dark);background:0 0;min-height:30px;padding:4px 0;font-size:.8rem}.measurement-popover{z-index:5;background:var(--white);border:1px solid var(--line);width:235px;padding:16px;font-size:.78rem;line-height:1.7;position:absolute;top:100%;left:0;box-shadow:0 5px 25px #30302525}.measurement-popover>strong,.measurement-popover>span,.measurement-popover>small{display:block}.measurement-popover strong{margin-bottom:5px;font-weight:600}.measurement-popover>small{margin-top:8px;font-size:.65rem;line-height:1.5}.steps-list{margin-top:24px;list-style:none}.steps-list>li{border-top:1px solid var(--line);grid-template-columns:30px 1fr;gap:14px;padding-block:22px;display:grid}.step-number{color:var(--rust);padding-top:3px;font:1.1rem Georgia,serif}.steps-list p{white-space:pre-line;font-size:.95rem}.step-photos{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px;display:grid}.step-photos:not(:empty){margin-top:20px}.step-photos img{border-radius:2px;width:100%}.recipe-gallery,.end-link{margin-top:50px}.not-found{min-height:60vh;padding-block:80px}.not-found h1{margin-block:20px}.not-found p{color:var(--muted);margin-bottom:25px}}@layer responsive{@media (width>=650px){.wrap{width:min(1220px,100% - 80px)}.nav-recipes{display:block}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}.section-heading>.muted{display:block}.site-footer p{order:0;width:auto}.cover-photo>img{aspect-ratio:16/9}.ingredients-panel{padding:30px}.recipe-index{padding-bottom:90px}}@media (width>=1000px){.site-header{padding-block:28px}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 30px}.empty-collection{padding-block:65px 40px}.cooking-layout{grid-template-columns:minmax(300px,.85fr) minmax(0,1.4fr);gap:65px}.recipe-heading{padding-top:50px}.recipe-heading .lede{max-width:700px}.steps-list>li{grid-template-columns:40px 1fr;gap:20px;padding-block:25px}.method>h2{margin-bottom:10px}.steps-list{margin-top:20px}.recipe-page{padding-bottom:90px}}@media (width>=1000px) and (height>=900px){.ingredients-panel{position:sticky;top:25px}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}@media print{body{background:#fff;font-size:11pt}.wrap{width:100%}.site-header,.site-footer,.back-link,.print-button,.end-link,.measurement-hint,.measurement-popover,.servings-control{display:none!important}.recipe-page{padding:0}.recipe-heading{padding-top:0}h1{font-size:28pt!important}.cover-photo{max-width:55%}.cooking-layout{grid-template-columns:1fr 2fr;gap:25px;display:grid}.ingredients-panel{background:#fff;padding:10px;position:static}.gram-button{color:#000;border:0;padding:0}.ingredients-list .ingredient-row{padding-block:8px}.steps-list>li{break-inside:avoid}.steps-list p{font-size:10pt}.step-photos{max-width:80%}a{text-decoration:none}.recipe-story{margin-block:15px}}}.studio-header{margin-bottom:24px}.studio-header>.text-link{gap:8px;font-size:.7rem}.studio-shell{padding-bottom:60px}.studio-nav{border-bottom:1px solid var(--line);align-items:center;gap:7px;margin-bottom:28px;padding-block:5px 16px;display:flex;overflow-x:auto}.studio-nav>.eyebrow{display:none}.studio-nav a{white-space:nowrap;border-radius:3px;padding:11px 12px;font-size:.74rem;text-decoration:none}.studio-nav a[aria-current=page]{color:var(--olive-dark);background:#e7e9dc}.studio-nav .quiet{white-space:nowrap;margin-left:auto}.quiet{color:var(--muted);background:0 0;border:0;min-height:40px;padding:10px;font-size:.75rem}.quiet:hover{color:var(--rust)}#workspace{min-width:0}#workspace h1{margin-block:12px 15px;font-size:clamp(2.3rem,5vw,3.7rem)}#workspace>.page-header{margin-bottom:28px}.page-header .lede{max-width:650px}.page-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:15px;display:flex}.page-heading-row .button{margin-bottom:16px}.panel{background:var(--white);border:1px solid var(--line);border-radius:3px;margin-bottom:20px;padding:22px}.panel>h2{margin-bottom:20px;font-size:1.6rem}.field{gap:8px;margin-bottom:18px;font-size:.78rem;display:grid}.field>span:first-child,.field>label{font-weight:600}.field input,.field textarea,.field select,.editor-row input,.editor-row select{background:var(--white);width:100%;color:var(--ink);border:1px solid #d4d5c7;border-radius:2px;min-height:44px;padding:12px}.field textarea{resize:vertical;min-height:95px;line-height:1.6}.field small,.help{color:var(--muted);font-size:.73rem;line-height:1.6}.field-grid{gap:0 18px;display:grid}.field-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.cols-3 input{padding-inline:8px}.button.secondary{color:var(--olive);background:0 0}.button.secondary:hover{background:#eef0e5}.button.danger{color:#a85039;background:0 0;border-color:#a85039}.button:disabled{opacity:.5;cursor:wait}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.login-card{max-width:450px;margin:35px auto;padding:25px 20px}.login-card h1{font-size:2.7rem!important}.login-card>p{color:var(--muted);margin-block:15px 25px;font-size:.9rem}.login-card .button{width:100%}.login-card .or{color:var(--muted);align-items:center;gap:15px;margin-block:22px;font-size:.7rem;display:flex}.login-card .or:before,.login-card .or:after{content:"";background:var(--line);flex:1;height:1px}.turnstile-slot{min-height:65px;margin:0 0 18px}.form-error,.notice{color:#8c4028;white-space:pre-line;background:#fcf1eb;border:1px solid #e6c9bc;border-radius:2px;margin-bottom:20px;padding:15px 17px;font-size:.8rem;line-height:1.7}.notice.success{color:var(--olive-dark);background:#edf1e5;border-color:#d4ddc4}.notice.neutral{border-color:var(--line);color:var(--muted);background:#eeeee5}.loading-state{padding:60px 10px}.loading-state p:last-child{color:var(--muted)}.empty-workspace{text-align:center;padding:45px 20px}.empty-workspace p{color:var(--muted);margin-block:15px 25px;font-size:.9rem}.own-recipes{gap:15px;display:grid}.own-recipe{border:1px solid var(--line);background:var(--white);border-radius:3px;justify-content:space-between;align-items:center;gap:15px;padding:22px;display:flex}.own-recipe h2{margin-block:7px 10px;font-size:1.45rem}.own-recipe h2 a{text-decoration:none}.own-recipe p{color:var(--muted);font-size:.8rem}.badge{color:var(--olive);letter-spacing:.03em;border:1px solid #d7dacb;border-radius:12px;padding:4px 7px;font-size:.6rem;display:inline-block}.badge.draft{color:var(--muted);border-color:var(--line)}.editor-actions{z-index:10;background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px;padding:12px 0;display:flex;position:sticky;top:0}.editor-actions .button{padding:11px 15px;font-size:.75rem}.save-status{color:var(--muted);font-size:.7rem}.editor-columns{gap:0 22px;display:grid}.editor-row{border-top:1px solid var(--line);padding-block:18px}.ingredient-fields{grid-template-columns:minmax(0,1fr) 75px 90px;gap:10px;display:grid}.ingredient-fields .field{margin-bottom:10px}.ingredient-fields .field input{padding-inline:8px}.ingredient-extras{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ingredient-extras .field{margin-bottom:10px}.row-actions{align-items:center;gap:5px;display:flex}.icon-button{border:1px solid var(--line);min-width:38px;min-height:38px;color:var(--olive);background:0 0;border-radius:2px;font-size:.8rem}.icon-button:hover{background:#eeeede}.row-actions .quiet{margin-left:auto}.step-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.step-heading>span{color:var(--rust);font:1.1rem Georgia,serif}.step-heading .row-actions{margin-left:auto}.editor-row textarea{min-height:110px}.review-note{color:#974c31;background:#faf1e8;margin-bottom:10px;padding:8px 12px;font-size:.72rem}.photo-editor-grid{gap:20px;display:grid}.photo-editor{border-top:1px solid var(--line);grid-template-columns:85px minmax(0,1fr);gap:15px;padding-top:20px;display:grid}.photo-editor img{object-fit:cover;border-radius:2px;width:85px;height:100px}.photo-editor .field{margin-bottom:10px}.photo-editor .field input,.photo-editor .field select{padding:9px;font-size:.75rem}.upload-input{width:100%;margin-top:18px;font-size:.8rem;line-height:1.5;display:block}.upload-input::file-selector-button{font:inherit;border:1px solid var(--olive);color:var(--olive);background:0 0;border-radius:2px;margin-right:12px;padding:12px}.editor-details{margin-block:20px}.editor-details>summary{color:var(--olive);cursor:pointer;min-height:40px;padding:10px 0;font-size:.8rem}.editor-details pre{white-space:pre-wrap;word-break:break-word;background:#eeeee5;max-height:350px;padding:15px;font-size:.78rem;line-height:1.6;overflow:auto}.import-source{min-height:280px!important}.import-photo-list{gap:15px;margin-block:20px;display:grid}.import-photo-item{grid-template-columns:70px 1fr;gap:12px;display:grid}.import-photo-item img{object-fit:cover;width:70px;height:85px}.import-progress{color:var(--olive);margin-top:20px;font-size:.85rem}.invite-list{list-style:none}.invite-list>li{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-block:18px;display:flex}.invite-list strong{overflow-wrap:anywhere;font-size:.83rem;font-weight:400}.invite-list .help{margin-top:6px;display:block}.invite-list .button{min-height:38px;padding:8px 12px;font-size:.7rem}.passkey-list{margin-block:15px;list-style:none}.passkey-list li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-block:12px;font-size:.85rem;display:flex}.toast{z-index:50;background:var(--olive-dark);color:#fff;border-radius:3px;max-width:500px;padding:15px 20px;font-size:.85rem;position:fixed;bottom:20px;left:20px;right:20px;box-shadow:0 4px 20px #30302525}.editor-preview h1{font-size:2.5rem!important}.editor-preview .cooking-layout{grid-template-columns:1fr;gap:30px}.editor-preview .ingredients-panel{position:static}.editor-preview p{white-space:pre-line}.editor-preview>p{margin-block:15px 25px}#preview-close{margin-bottom:25px}.status-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.status-banner p{font-size:.8rem}.status-banner .quiet{padding:0}.catalog-row{border-top:1px solid var(--line);padding-block:16px}.catalog-row strong{font:1.1rem Georgia,serif}.catalog-row .field-grid{margin-top:12px}.catalog-row .field{font-size:.7rem}@media (width>=700px){.login-card{padding:35px}.field-grid.general{grid-template-columns:1fr 1fr}.panel{padding:28px}.ingredient-fields{grid-template-columns:minmax(0,1fr) 105px 130px}.ingredient-extras{grid-template-columns:2fr 1fr}.photo-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-editor{grid-template-columns:75px minmax(0,1fr)}.photo-editor img{width:75px}.toast{width:400px;left:auto;right:30px}.editor-preview .cooking-layout{grid-template-columns:1fr 1.5fr}}@media (width<=650px){.editor-actions{flex-wrap:wrap}.editor-actions .save-status{flex-basis:100%}.editor-actions>.button-row{justify-content:space-between;gap:6px;width:100%}.editor-actions .button{padding:10px 12px}.editor-actions .quiet{padding-inline:5px}}@media (width>=1050px){.studio-shell{grid-template-columns:180px minmax(0,1fr);gap:45px;display:grid}.studio-nav{border-bottom:0;border-right:1px solid var(--line);flex-direction:column;align-self:start;align-items:stretch;gap:6px;margin-bottom:0;padding:15px 25px 20px 0;position:sticky;top:30px;overflow:visible}.studio-nav>.eyebrow{margin-bottom:20px;font-size:.6rem;display:block}.studio-nav a{padding:13px}.studio-nav .quiet{text-align:left;margin:20px 0 0;padding-left:13px}.editor-columns{grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr)}.editor-columns>.editor-primary{min-width:0}.photo-editor-grid{grid-template-columns:1fr}.editor-actions{padding-block:15px}.studio-shell:has(.login-card){display:block}.editor-preview .cooking-layout{grid-template-columns:1fr 1.5fr}.own-recipes{grid-template-columns:1fr 1fr}.own-recipe{align-items:start}.own-recipe>.text-link{display:none}}
