@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=DM+Sans:wght@400;500;600&family=Caveat:wght@500;600&display=swap";@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--paper:#f4efe5;--ink:#29251f;--red:#b6422c;--sage:#8d9078;--line:#d8cebc;--cream:#fbf8f1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,sans-serif;font-size:15px}.shell{width:min(1180px,100% - 48px);margin-inline:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:104px;display:flex}.brand{font-family:Cormorant Garamond,serif;font-size:32px;font-weight:600;line-height:.65}.brand span{color:var(--red);margin-bottom:3px;margin-left:6px;font-family:Caveat,cursive;font-size:15px;display:block;transform:rotate(-3deg)}.navlinks{align-items:center;gap:30px;font-size:13px;display:flex}.admin-link{border:1px solid var(--ink);padding:12px 18px}.hero{grid-template-columns:1fr .95fr;align-items:center;gap:80px;min-height:610px;padding-block:64px 80px;display:grid}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--red);margin-bottom:17px;font-size:11px;font-weight:600}.hero h1,.detail h1,.admin-head h1{letter-spacing:-.04em;margin-bottom:28px;font-family:Cormorant Garamond,serif;font-size:76px;font-weight:500;line-height:.9}.hero h1 em{color:var(--red)}.lead{color:#625b50;max-width:520px;font-family:Cormorant Garamond,serif;font-size:22px;line-height:1.5}.primary{background:var(--red);color:#fff;border:0;align-items:center;gap:28px;padding:16px 22px;font-size:13px;font-weight:600;display:inline-flex}.hero-copy .primary{margin-top:18px}.hero-photo{background-position:50%;background-size:cover;height:480px;position:relative;transform:rotate(1.2deg);box-shadow:11px 14px #d7cab6}.hero-photo:after,.detail-photo:after,.card-image:after{content:"";background:linear-gradient(#0000 45%,#1e140a8f);position:absolute;inset:0}.tape{z-index:2;background:#ebdebebf;width:100px;height:28px;position:absolute;top:-14px;left:calc(50% - 50px);transform:rotate(-2deg)}.handwritten{color:var(--red);font-family:Caveat,cursive;font-size:24px}.hero-photo>.handwritten{background:var(--cream);z-index:3;padding:6px 14px;position:absolute;top:50px;right:-38px;transform:rotate(4deg)}.hero-caption{z-index:2;color:#fff;position:absolute;bottom:28px;left:30px}.hero-caption small{text-transform:uppercase;letter-spacing:.18em;font-size:10px;display:block}.hero-caption strong{margin-top:3px;font:500 34px Cormorant Garamond,serif;display:block}.intro-strip{background:var(--red);color:#fff}.intro-inner{justify-content:center;align-items:center;gap:36px;height:88px;display:flex}.intro-inner p{margin:0;font:italic 500 23px Cormorant Garamond,serif}.library{padding-block:105px 130px}.section-head{justify-content:space-between;align-items:end;margin-bottom:35px;display:flex}.section-head h2{margin:0;font:500 55px Cormorant Garamond,serif}.section-head>p{color:#756d62;font-size:12px}.filters{border-block:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-bottom:55px;padding-block:18px;display:flex}.filters button{color:#655f56;background:0 0;border:0;padding:8px 11px;font-size:12px}.filters button.active{background:var(--ink);color:#fff}.recipe-grid{grid-template-columns:repeat(3,1fr);gap:54px 34px;display:grid}.recipe-card{background:var(--cream);transition:all .25s;box-shadow:0 2px #3228140f}.recipe-card:hover{box-shadow:0 15px 35px #3728141a;transform:translateY(-5px)rotate(0)!important}.tilt-1{transform:rotate(.5deg)}.tilt-2{transform:rotate(-.5deg)}.card-image{background-position:50%;background-size:cover;height:270px;position:relative}.card-number{z-index:2;background:var(--paper);place-items:center;width:38px;height:38px;font:600 15px Cormorant Garamond,serif;display:grid;position:absolute;top:12px;left:13px}.card-body{padding:25px 25px 28px}.card-meta{text-transform:uppercase;letter-spacing:.12em;color:var(--red);justify-content:space-between;font-size:9px;display:flex}.card-body h3{margin:14px 0 11px;font:600 30px/1.05 Cormorant Garamond,serif}.card-body p{color:#6b645b;min-height:61px;font-size:13px;line-height:1.55}.read-more{border-top:1px solid var(--line);justify-content:space-between;margin-top:18px;padding-top:17px;font-size:11px;font-weight:600;display:flex}.empty{text-align:center;padding:80px}.empty span{color:var(--red);font-size:35px}footer{color:#eee7db;background:#28251f}.footer-inner{justify-content:space-between;align-items:center;min-height:210px;display:flex}.footer-inner .brand span{color:#d9806f}.footer-inner p{color:#a9a093;margin:0;font:italic 18px Cormorant Garamond,serif}.footer-inner>a:last-child,.back{font-size:12px}.detail{padding-bottom:100px}.detail-hero{grid-template-columns:1fr .85fr;align-items:center;gap:75px;padding:64px 0 95px;display:grid}.detail-title h1{font-size:72px}.detail-intro{color:#665f55;max-width:570px;font:500 22px/1.5 Cormorant Garamond,serif}.time-row{border-block:1px solid var(--line);margin-top:36px;padding:19px 0;display:flex}.time-row div{border-right:1px solid var(--line);margin-right:38px;padding-right:38px}.time-row div:last-child{border:0}.time-row small{text-transform:uppercase;letter-spacing:.15em;color:#81786c;font-size:9px;display:block}.time-row strong{margin-top:5px;font:600 17px Cormorant Garamond,serif;display:block}.detail-photo{background-position:50%;background-size:cover;height:490px;position:relative;transform:rotate(1deg);box-shadow:12px 14px #d7cab6}.detail-photo .handwritten{z-index:2;background:var(--cream);padding:8px 15px;position:absolute;bottom:-20px;right:25px;transform:rotate(-3deg)}.recipe-content{border-top:1px solid var(--line);grid-template-columns:.8fr 1.4fr;gap:90px;padding-top:70px;display:grid}.chapter{color:var(--red);border:1px solid var(--red);border-radius:50%;place-items:center;width:33px;height:33px;font:500 13px Cormorant Garamond,serif;display:grid}.recipe-content h2,.notes-grid h2{font:600 38px Cormorant Garamond,serif}.serves{color:#776f64;margin-bottom:24px;font-size:11px}.ingredients{padding:0;list-style:none}.ingredients li{border-bottom:1px dotted #c9bdab;gap:12px;padding:13px 0;display:flex}.ingredients li span{color:var(--red)}.method ol{padding:0;list-style:none}.method li{grid-template-columns:42px 1fr;gap:20px;margin-bottom:30px;display:grid}.method li>span{color:var(--red);font:500 26px Cormorant Garamond,serif}.method li p{line-height:1.7}.notes-grid{grid-template-columns:1fr 1fr;gap:30px;margin-top:75px;display:grid}.mom-tip,.family-note{padding:40px}.mom-tip{background:var(--red);color:#fff;transform:rotate(-.5deg)}.mom-tip .handwritten{color:#f4c5b9}.mom-tip h2{margin:8px 0 18px}.mom-tip p,.family-note p{line-height:1.7}.family-note{border:1px solid var(--line);gap:23px;display:flex}.family-note>span{color:var(--red);font-size:28px}.family-note h2{font-size:29px}.missing{background:#f3e4c8;border-left:3px solid #c88929;margin-top:30px;padding:18px 22px}.missing p{color:#746245;margin:5px 0 0}.missing.small{font-size:12px}.detail-bottom{border-top:1px solid var(--line);justify-content:space-between;margin-top:65px;padding-top:25px;font-size:12px;display:flex}.not-found{text-align:center;place-content:center;min-height:100vh;display:grid}.not-found h1{font:500 55px Cormorant Garamond,serif}.admin-page{background:#eee7da;min-height:100vh}.admin-head{justify-content:space-between;padding:70px 0 55px;display:flex}.admin-head h1{margin-bottom:15px;font-size:66px}.admin-head>div>p:last-child{color:#676055;max-width:610px;line-height:1.6}.admin-head>.handwritten{align-self:center;transform:rotate(3deg)}.admin-workspace{grid-template-columns:1.05fr .95fr;align-items:start;gap:38px;display:grid}.recipe-form,.preview-panel{background:var(--cream);padding:38px}.form-section{border-bottom:1px solid var(--line);grid-template-columns:38px 1fr;gap:18px;margin-bottom:32px;padding:8px 0 35px;display:grid}.form-section>span{color:var(--red);font:600 17px Cormorant Garamond,serif}.form-section h2{margin-bottom:22px;font:600 27px Cormorant Garamond,serif}.field{margin-bottom:18px}.field label{text-transform:uppercase;letter-spacing:.13em;margin-bottom:8px;font-size:9px;font-weight:600;display:block}.field input,.field textarea,.field select,.recipe-form>textarea,.form-section>div>textarea{outline-color:var(--red);background:#f7f2e9;border:1px solid #d8cebc;width:100%;padding:13px}.field-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.field-row.three{grid-template-columns:repeat(3,1fr)}.field-help{color:#81786c;font-size:11px;line-height:1.5}.generate{background:var(--ink);color:#fff;border:0;width:100%;padding:17px;font-weight:600}.ai-rule{text-align:center;color:#81786c;margin:14px 20px 0;font-size:10px;line-height:1.5}.preview-panel{position:sticky;top:20px}.preview-empty{text-align:center;border:1px dashed #c8baa5;place-content:center;min-height:430px;padding:50px;display:grid}.preview-empty span{color:var(--red);font:500 50px Caveat,cursive}.preview-empty h3{font:600 28px Cormorant Garamond,serif}.preview-empty p{color:#81786c;line-height:1.6}.preview-card input,.preview-card textarea{resize:vertical;background:0 0;border:0;border-bottom:1px dashed #c8baa5;width:100%;margin-bottom:10px;padding:8px 0}.preview-title{font:600 36px Cormorant Garamond,serif!important}.preview-photo{background-position:50%;background-size:cover;height:220px;margin-bottom:20px}.preview-facts{gap:8px;margin:12px 0;display:flex}.preview-facts span{background:#e8ded0;padding:7px;font-size:10px}.preview-card h3{margin:18px 0 2px;font:600 20px Cormorant Garamond,serif}.publish-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;display:grid}.publish-actions button{border:1px solid var(--ink);background:0 0;padding:13px;font-size:11px}.publish-actions .primary{background:var(--red);border-color:var(--red);justify-content:center}.notice{color:#4c6144;text-align:center;background:#dfe8d7;margin-top:10px;padding:12px;font-size:11px}.admin-list{padding:100px 0}.admin-list .section-head button{background:var(--ink);color:#fff;border:0;padding:12px 18px}.recipe-rows button{text-align:left;border:0;border-top:1px solid var(--line);background:0 0;grid-template-columns:100px 1fr 180px 100px;align-items:center;width:100%;padding:18px;display:grid}.recipe-rows button:hover{background:#fff6}.recipe-rows small{color:#766e62}.recipe-rows b{text-align:right;font-size:11px}.status{text-transform:uppercase;letter-spacing:.1em;font-size:9px}.status.published{color:#4f7544}.status.draft{color:#9b6919}@media (width<=850px){.shell{width:min(100% - 28px,680px)}.topbar{height:85px}.navlinks>a:first-child{display:none}.brand{font-size:26px}.hero{grid-template-columns:1fr;gap:48px;padding-top:60px}.hero h1,.detail h1,.admin-head h1{font-size:54px}.hero-photo{height:430px}.hero-photo>.handwritten{right:10px}.intro-inner{text-align:center;gap:15px}.intro-inner p{font-size:18px}.library{padding-block:75px}.recipe-grid{grid-template-columns:1fr 1fr;gap:28px 18px}.card-image{height:220px}.detail-hero{grid-template-columns:1fr;gap:40px}.detail-photo{height:420px}.recipe-content{grid-template-columns:1fr;gap:55px}.notes-grid{grid-template-columns:1fr}.admin-head>.handwritten{display:none}.admin-workspace{grid-template-columns:1fr}.preview-panel{position:static}.recipe-rows button{grid-template-columns:90px 1fr 90px}.recipe-rows small{display:none}.footer-inner{flex-direction:column;justify-content:center;gap:22px}}@media (width<=540px){.shell{width:calc(100% - 26px)}.navlinks{gap:8px}.admin-link{padding:10px}.hero{padding-top:45px}.hero h1,.detail h1,.admin-head h1{font-size:46px}.lead{font-size:19px}.hero-photo{height:340px}.section-head{align-items:start}.section-head h2{font-size:44px}.section-head>p{display:none}.recipe-grid{grid-template-columns:1fr}.card-image{height:270px}.intro-inner span{display:none}.detail-hero{padding-top:45px}.detail-photo{height:350px}.time-row{justify-content:space-between}.time-row div{margin-right:14px;padding-right:14px}.recipe-content{padding-top:50px}.notes-grid{margin-top:50px}.mom-tip,.family-note{padding:28px}.admin-head{padding-top:50px}.recipe-form,.preview-panel{padding:23px 18px}.form-section{grid-template-columns:25px 1fr}.field-row,.field-row.three,.publish-actions{grid-template-columns:1fr}.recipe-rows button{grid-template-columns:78px 1fr 70px;padding-inline:7px}.recipe-rows b{font-size:0}.recipe-rows b:after{content:"Modifier";font-size:10px}.footer-inner p{text-align:center}}.recipe-row{border-top:1px solid var(--line);grid-template-columns:1fr auto;display:grid}.recipe-rows .recipe-edit{text-align:left;background:0 0;border:0;grid-template-columns:100px 1fr 180px 100px;align-items:center;width:100%;padding:18px;display:grid}.recipe-rows .recipe-edit:hover{background:#fff6}.recipe-rows .recipe-delete{color:#9f3828;background:0 0;border:1px solid #b86758;align-self:center;width:auto;margin:0 16px;padding:9px 12px;font-size:10px;display:block}.recipe-rows .recipe-delete:hover{color:#fff;background:#b6422c}.recipe-rows .recipe-delete:disabled{opacity:.45}@media (width<=850px){.recipe-rows .recipe-edit{grid-template-columns:90px 1fr 90px}}@media (width<=540px){.recipe-row{grid-template-columns:1fr}.recipe-rows .recipe-edit{grid-template-columns:78px 1fr;padding-inline:7px}.recipe-rows .recipe-edit b{display:none}.recipe-rows .recipe-delete{justify-self:end;margin:0 7px 12px}}.login-page{background:radial-gradient(circle at 20% 15%,#fffaf0 0,transparent 35%),var(--paper);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--cream);border:1px solid var(--line);text-align:center;width:min(460px,100%);padding:54px 48px;box-shadow:12px 14px #d7cab6}.login-card .brand{margin-bottom:55px;display:inline-block}.login-card h1{margin-bottom:18px;font:600 44px/1 Cormorant Garamond,serif}.login-card>p:not(.eyebrow){color:#6b645b;line-height:1.6}.login-card form{text-align:left;margin:30px 0 24px}.login-card label{text-transform:uppercase;letter-spacing:.13em;margin-bottom:8px;font-size:9px;font-weight:600;display:block}.login-card input{border:1px solid var(--line);outline-color:var(--red);background:#f7f2e9;width:100%;padding:14px}.login-card button{background:var(--red);color:#fff;border:0;width:100%;margin-top:12px;padding:15px;font-weight:600}.login-card button:disabled{opacity:.65}.login-error{text-align:center;font-size:12px;color:#a53525!important;margin:12px 0 0!important}.login-card>.back{font-size:11px}@media (width<=540px){.login-card{padding:42px 24px}.login-card h1{font-size:38px}}
