@charset "UTF-8";
@import url("palette.8c82a9662b3c.css");
:root{--background:var(--palette-page);--paper:var(--palette-white);--ink:var(--palette-purple);--muted:var(--palette-slate);--surface-green:var(--palette-soft-green);--primary:var(--palette-pine);--accent:var(--palette-teal);--line:var(--palette-lavender);--danger:var(--palette-purple);--radius:18px;--shadow:0 12px 34px var(--palette-shadow);--serif:Georgia,"Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body{min-height:100vh;display:flex;flex-direction:column}main{flex:1}a{color:inherit;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;font-family:var(--serif);font-weight:400;overflow-wrap:anywhere}h1{font-size:clamp(2.35rem,5vw,4.5rem);letter-spacing:-.045em;margin-bottom:24px}h2{font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.035em;margin-bottom:20px}h3{font-size:1.6rem;margin-bottom:14px}em{color:var(--accent);font-weight:400}p{margin-bottom:18px}fieldset{margin:0;padding:0;border:0;min-width:0}legend{padding:0}form{margin:0}ul,ol{padding-left:24px}::selection{background:var(--palette-lavender);color:var(--palette-purple)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.container{width:min(1180px,calc(100% - 80px));margin-inline:auto}.main-content{padding-top:36px;padding-bottom:90px}.main-content:focus{outline:none}.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}.skip-link{position:fixed;top:12px;left:12px;z-index:10;padding:12px 20px;background:var(--ink);color:var(--palette-white);transform:translateY(-160%);border-radius:8px}.skip-link:focus{transform:translateY(0)}
.site-header{background:var(--palette-purple);color:var(--palette-white);border-bottom:3px solid var(--palette-lavender)}.site-header .text-button{color:var(--palette-white)}.site-header :focus-visible{outline-color:var(--palette-lavender)}.site-header .button{background:var(--palette-soft-purple);color:var(--palette-purple);border-color:var(--palette-lavender)}.site-header .button:hover{background:var(--palette-lavender);color:var(--palette-purple)}.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;text-decoration:none;font:700 30px var(--serif);letter-spacing:-1px;white-space:nowrap}.brand-mark{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50% 50% 45% 45%;background:var(--palette-lavender);color:var(--palette-purple);font:italic 30px var(--serif);margin-right:12px;padding-bottom:4px}.brand-dot{color:var(--palette-lavender)}.main-nav{display:flex;align-items:center;gap:26px;font-size:.9rem;font-weight:600}.main-nav>a:not(.button){text-decoration:none}.main-nav>a:hover{text-decoration:underline}.button{border:1px solid transparent;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--primary);color:var(--palette-white);padding:13px 23px;text-decoration:none;font-weight:600;font-size:.9rem;line-height:1.5;min-height:48px;transition:background .18s,transform .18s}.button:hover{background:var(--palette-teal)}.button-small{padding:10px 17px;min-height:42px}.button-secondary{background:transparent;color:var(--primary);border-color:var(--palette-lavender)}.button-secondary:hover{background:var(--surface-green)}.button-danger{background:var(--danger)}.button-danger:hover{background:var(--palette-slate)}.text-button{border:0;background:none;padding:10px 0;color:var(--muted);font-size:.85rem;min-height:44px}.text-button:hover,.subtle-link:hover,.back-link:hover{color:var(--accent)}.button-group{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.subtle-link,.danger-link{font-size:.875rem;font-weight:600}.danger-link{color:var(--danger)}.back-link{display:inline-block;font-size:.875rem;color:var(--muted);text-decoration:none;margin-bottom:34px;padding-block:5px}.eyebrow{font-size:.69rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}.muted,.help-text{color:var(--muted)}
.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;min-height:370px;gap:40px;padding:12px 28px 48px 0}.hero h1{margin-bottom:23px}.hero-description{color:var(--muted);font-size:1rem;line-height:1.8;margin:0}.hero-art{position:relative;display:grid;place-items:center;min-height:290px}.plate{width:265px;aspect-ratio:1;background:var(--palette-lavender);border-radius:50%;border:1px solid var(--palette-slate);box-shadow:12px 18px 28px var(--palette-shadow),inset 0 0 0 14px var(--palette-page),inset 0 0 0 16px var(--palette-lavender);display:grid;place-items:center;transform:rotate(-18deg)}.plate-center{position:relative;width:180px;aspect-ratio:1;border-radius:50%;background:var(--palette-soft-green);box-shadow:inset 0 3px 10px var(--palette-shadow)}.leaf{position:absolute;width:73px;height:34px;background:var(--palette-teal);border-radius:0 95% 0 95%;box-shadow:inset 0 -3px 0 var(--palette-pine);transform:rotate(35deg)}.leaf-one{top:30px;left:32px}.leaf-two{top:90px;left:68px;transform:rotate(110deg)}.leaf-three{top:85px;left:17px;transform:rotate(-10deg);background:var(--palette-pine)}.tomato{position:absolute;background:var(--palette-purple);width:48px;height:48px;border-radius:50%;border:5px solid var(--palette-slate);box-shadow:inset 0 0 0 2px var(--palette-lavender)}.tomato-one{top:44px;right:19px}.tomato-two{bottom:28px;left:49px;width:39px;height:39px}.grain{position:absolute;width:24px;height:10px;border-radius:50%;background:var(--palette-lavender);transform:rotate(30deg)}.grain-one{left:45px;top:75px}.grain-two{right:27px;bottom:40px;transform:rotate(95deg)}.grain-three{right:61px;top:21px}.hero-note{position:absolute;bottom:-10px;right:14px;color:var(--accent);font:italic 22px var(--serif);transform:rotate(-7deg)}
.filter-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:27px 30px;box-shadow:var(--shadow)}.search-grid{display:grid;grid-template-columns:1fr 1.15fr auto;gap:20px;align-items:start}.search-grid .field{margin:0}.search-button{margin-top:30px}.field{margin-bottom:24px;min-width:0}.field>label,.category-fields>legend,.category-filter>legend{display:block;font-size:.8rem;font-weight:650;margin-bottom:8px}.field input:not([type=checkbox]):not([type=radio]),.field textarea,.field select{width:100%;border:1px solid var(--palette-lavender);border-radius:8px;background:var(--paper);padding:11px 13px;color:var(--ink);min-height:47px}.field input::placeholder,.field textarea::placeholder{color:var(--palette-slate)}.field textarea{resize:vertical;min-height:112px;line-height:1.65}.field input[type=file]{font-size:.875rem;line-height:1.8}.field input[type=file]::file-selector-button{border:0;border-radius:5px;background:var(--surface-green);color:var(--ink);padding:8px 12px;margin-right:12px;font:inherit;cursor:pointer}.field input[type=checkbox],input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--primary);vertical-align:middle;flex-shrink:0}small,.help-text{display:block;font-size:.74rem;line-height:1.55;margin-top:7px;color:var(--muted)}.filter-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.category-filter>legend{font-size:.7rem;color:var(--muted);letter-spacing:.07em}.chips,.tags{display:flex;flex-wrap:wrap;gap:7px}.filter-chip{position:relative;cursor:pointer;font-size:.76rem}.filter-chip input{position:absolute;opacity:0;width:1px;height:1px}.filter-chip span{display:block;border:1px solid var(--line);border-radius:30px;padding:8px 14px;background:var(--paper);transition:background .15s}.filter-chip input:checked+span{background:var(--primary);border-color:var(--primary);color:var(--palette-white)}.filter-chip input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.filter-chip:hover span{background:var(--surface-green)}.filter-options{display:flex;align-items:center;gap:20px;flex-shrink:0;flex-wrap:wrap;padding-bottom:5px}.check-label{display:flex;align-items:center;gap:8px;font-size:.8rem;cursor:pointer;min-height:36px}.filter-options .subtle-link{font-size:.76rem;color:var(--muted)}
.recipe-collection{margin-top:50px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.section-heading .eyebrow{margin-bottom:9px}.section-heading h2{margin:0}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.recipe-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px var(--palette-shadow)}.card-image-link{display:block;text-decoration:none;overflow:hidden}.card-image,.image-placeholder{width:100%;aspect-ratio:1.5;object-fit:cover}.image-placeholder{background:var(--palette-pine);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--palette-white);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase}.recipe-card:nth-child(3n+2) .image-placeholder{background:var(--palette-soft-purple);color:var(--palette-purple)}.recipe-card:nth-child(3n) .image-placeholder{background:var(--palette-lavender);color:var(--palette-purple)}.placeholder-plate{display:grid;place-items:center;border:1px solid currentColor;outline:1px solid var(--palette-white);outline-offset:7px;border-radius:50%;width:80px;height:80px;font:italic 40px var(--serif);text-transform:none;opacity:.65}.card-body{padding:23px;display:flex;flex:1;flex-direction:column}.tag{display:inline-block;background:var(--surface-green);color:var(--primary);padding:4px 10px;border-radius:5px;font-size:.64rem;font-weight:600;letter-spacing:.025em}.card-body .tags:empty{display:none}.card-body .tags{margin-bottom:14px}.card-body h3 a{text-decoration:none}.card-body h3 a:hover{color:var(--accent)}.card-description{color:var(--muted);font-size:.83rem;line-height:1.7;overflow-wrap:anywhere}.card-meta{display:flex;align-items:center;gap:18px;margin-top:auto;padding-top:17px;border-top:1px solid var(--line);color:var(--muted);font-size:.74rem}.card-meta>span:first-child{display:flex;align-items:center;gap:6px}.card-meta .card-arrow{margin-left:auto;color:var(--accent);font-size:1.2rem}.empty-state{grid-column:1/-1;text-align:center;padding:55px 25px;border:1px dashed var(--palette-lavender);border-radius:var(--radius);background:var(--palette-page)}.empty-state p{color:var(--muted);font-size:.9rem}.empty-mark{display:block;font-size:42px;color:var(--primary);margin-bottom:12px}.empty-state h3{font-size:1.9rem}
.detail-header{max-width:1040px;margin-inline:auto}.detail-header>.tags{margin-bottom:20px}.detail-header h1{max-width:900px}.detail-description{max-width:750px;color:var(--muted);font-size:1.08rem;overflow-wrap:anywhere}.detail-toolbar{display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap;margin:28px 0 34px}.detail-meta,.detail-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.detail-meta{font-size:.9rem;color:var(--muted)}.detail-meta strong{color:var(--ink)}.detail-actions{gap:18px}.detail-image{width:100%;max-height:510px;aspect-ratio:2.3;object-fit:cover;border-radius:var(--radius)}.recipe-body{display:grid;grid-template-columns:320px minmax(0,1fr);gap:70px;margin:50px auto 0;max-width:1040px;align-items:start}.ingredients-panel{background:var(--surface-green);padding:30px;border-radius:var(--radius)}.ingredients-panel .eyebrow,.method>.eyebrow{margin-bottom:12px}.ingredients-panel h2{margin-bottom:9px}.ingredients-panel>.muted{font-size:.8rem}.ingredient-list{list-style:none;margin:20px 0 0;padding:0}.ingredient-list li{display:flex;gap:15px;padding:14px 0;border-top:1px solid var(--palette-lavender);font-size:.875rem;overflow-wrap:anywhere}.ingredient-amount{flex:0 0 75px;font-weight:650}.ingredient-list li>span:last-child{min-width:0}.step-list{list-style:none;padding:0;counter-reset:steps}.step-list li{display:flex;gap:22px;counter-increment:steps;margin-bottom:28px}.step-list li:before{content:counter(steps,decimal-leading-zero);font:italic 21px var(--serif);color:var(--accent);background:var(--palette-soft-purple);border-radius:50%;height:42px;flex:0 0 42px;display:grid;place-items:center}.step-list li>div{padding-top:6px;min-width:0;overflow-wrap:anywhere}.step-list p{margin-bottom:12px}.recipe-note{background:var(--palette-soft-purple);border-left:3px solid var(--palette-purple);padding:26px 30px;border-radius:0 12px 12px 0;margin-top:35px;overflow-wrap:anywhere}.recipe-note .eyebrow{margin-bottom:10px}.recipe-note h3{font-size:1.4rem}.recipe-note p:last-child{margin:0}
.editor-shell{max-width:850px;margin:auto}.page-heading{margin-bottom:38px}.page-heading h1{font-size:clamp(2.2rem,4vw,3.2rem)}.page-heading>p:last-child{font-size:.9rem;color:var(--muted)}.editor-section{padding:32px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:22px}.editor-section-heading{display:flex;gap:18px;align-items:flex-start;margin-bottom:27px}.section-number{display:grid;place-items:center;flex:0 0 39px;height:39px;background:var(--surface-green);color:var(--primary);border-radius:50%;font:italic 18px var(--serif)}.editor-section-heading h2{font-size:1.8rem;margin-bottom:6px}.editor-section-heading p{font-size:.83rem;color:var(--muted);margin-bottom:0}.required{color:var(--accent)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.upload-panel{padding:20px;background:var(--background);border:1px dashed var(--palette-lavender);border-radius:10px;margin-bottom:24px;overflow-wrap:anywhere}.upload-panel .field{margin-bottom:12px}.upload-panel .field a{font-size:.8rem}.check-field,.delete-field{font-size:.82rem}.check-field label,.delete-field label{margin-left:5px}.category-fields>div{display:flex;flex-wrap:wrap;gap:8px 18px}.category-fields label{display:flex;align-items:center;gap:8px;font-size:.875rem;min-height:36px}.category-fields ul{list-style:none;padding:0;display:flex;gap:15px;flex-wrap:wrap}.formset-row{position:relative;margin-bottom:17px;align-items:start;gap:12px}.ingredient-row{display:grid;grid-template-columns:minmax(70px,.7fr) minmax(70px,.7fr) minmax(120px,2fr) auto}.formset-row .field{margin-bottom:0}.formset-row label{font-size:.75rem}.row-controls{padding-top:28px}.remove-row{width:42px;height:45px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);font-size:24px;line-height:1}.remove-row:hover{background:var(--palette-soft-purple);border-color:var(--palette-purple);color:var(--danger)}.row-errors{grid-column:1/-1}.add-row{margin-top:4px;font-size:.8rem}.step-editor-rows{counter-reset:editor-steps}.step-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;counter-increment:editor-steps}.step-number{font:italic 20px var(--serif);color:var(--accent);padding-top:37px}.step-number:empty:before{content:counter(editor-steps,decimal-leading-zero)}.step-row textarea{min-height:105px}.editor-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0}.editor-footer>p{margin:0;font:italic 19px var(--serif);color:var(--muted)}.form-errors,.message{padding:16px 20px;border-radius:10px;margin-bottom:22px;font-size:.9rem;background:var(--palette-soft-green);border:1px solid var(--palette-teal);overflow-wrap:anywhere}.form-errors,.message.error{background:var(--palette-soft-purple);border-color:var(--palette-purple);color:var(--palette-purple)}.message.success{background:var(--palette-soft-green);border-color:var(--palette-teal)}.message.warning{background:var(--palette-soft-purple);border-color:var(--palette-slate)}.field-errors{color:var(--danger);font-size:.8rem;margin-top:7px}.errorlist{list-style:none;padding:0;margin:0}.field-invalid input:not([type=checkbox]),.field-invalid textarea,.field-invalid select{border-color:var(--danger)}.help-text ul{margin:6px 0;padding-left:18px}
.login-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center;max-width:1040px;margin:58px auto 30px}.login-intro h1{font-size:clamp(2.5rem,4vw,3.7rem)}.login-intro>p:not(.eyebrow){color:var(--muted);max-width:380px}.login-decoration{margin-top:40px;width:160px;height:160px;border:1px solid var(--palette-teal);border-radius:50%;display:grid;place-content:center;text-align:center;color:var(--primary);font:italic 25px/1.2 var(--serif);transform:rotate(-10deg);background:var(--surface-green);outline:1px solid var(--palette-lavender);outline-offset:7px}.login-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:40px;box-shadow:var(--shadow);min-width:0}.login-card>.brand-mark{margin-bottom:25px}.login-card h2{font-size:2rem;margin-bottom:12px}.login-card>.muted{font-size:.875rem;margin-bottom:28px}.full-width{width:100%}.login-footnote{font-size:.72rem;color:var(--muted);text-align:center;margin:22px 0 0}.dialog-shell{max-width:650px;margin:35px auto}.dialog-card{padding:40px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.dialog-card h1{font-size:2.8rem}.dialog-card>p:not(.eyebrow){color:var(--muted);overflow-wrap:anywhere}.dialog-card .button-group{margin-top:30px;gap:14px}.site-footer{border-top:3px solid var(--palette-teal);padding:28px 0;background:var(--palette-purple);color:var(--palette-white)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.7rem}.footer-brand{font:700 23px var(--serif);color:var(--palette-lavender);text-decoration:none}.footer-inner p{margin:0}.footer-inner>span{font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}
.management-heading{padding:24px 0}.management-heading>p{max-width:700px}.card-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.ingredient-editor-group{border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:20px;background:var(--palette-page)}.ingredient-group-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px}.ingredient-group-heading h3{font-size:1.25rem;margin:0;flex:1}.ingredient-group-heading .group-name-field{flex:1 1 220px;margin-bottom:0}.subtle-button{background:none;border:0;padding:10px 0;min-height:44px;color:var(--muted);font-size:.78rem;text-align:left;text-decoration:underline;text-underline-offset:3px}.subtle-button:hover{color:var(--ink)}.ingredient-editor-actions{display:flex;flex-wrap:wrap;gap:12px}.ingredient-editor-group .ingredient-row{padding-bottom:16px;border-bottom:1px solid var(--line)}
.ingredient-section-field{grid-column:1/-1;max-width:360px;width:100%;padding-bottom:12px}.ingredient-group+.ingredient-group{margin-top:28px}.ingredient-group-title{font-size:1.3rem;font-weight:600;margin:24px 0 8px;break-after:avoid}.ingredient-group-title+.ingredient-list{margin-top:0}
@media(min-width:1400px){.hero{padding-top:28px;padding-bottom:60px}.hero-art{transform:scale(1.06)}}
@media(max-width:1000px){.container{width:calc(100% - 48px)}.search-grid{grid-template-columns:1fr 1fr}.search-button{grid-column:1/-1;margin-top:0;justify-self:start}.filter-bottom{align-items:flex-start;flex-direction:column;gap:16px}.recipe-grid{gap:18px}.card-body{padding:18px}.card-body h3{font-size:1.4rem}.recipe-body{grid-template-columns:280px minmax(0,1fr);gap:35px}.login-layout{gap:45px}.login-card{padding:30px}.main-nav{gap:18px}.hero-art{transform:scale(.9)}.footer-inner>span{display:none}}
@media(max-width:760px){.header-inner{min-height:86px}.brand{font-size:26px}.main-nav{gap:14px}.main-nav>a:first-child{display:none}.hero{gap:12px;grid-template-columns:1.35fr .8fr;padding:16px 0 36px;min-height:300px}.hero-art{min-height:230px;transform:none}.plate{width:185px}.plate-center{transform:scale(.7)}.hero-note{font-size:17px;right:0;bottom:0}.hero h1{font-size:3.1rem}.hero-description{font-size:.9rem}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-panel{padding:22px}.recipe-body{grid-template-columns:1fr;gap:35px;margin-top:30px}.ingredient-list{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.ingredients-panel{padding:25px}.detail-header h1{font-size:3rem}.detail-image{aspect-ratio:1.7}.login-layout{grid-template-columns:1fr;max-width:480px;margin-top:16px;gap:24px}.login-intro h1{font-size:2.6rem}.login-decoration{display:none}.login-intro>p:not(.eyebrow){max-width:none}.editor-footer{align-items:flex-start;flex-direction:column}.editor-footer .button-group{width:100%;justify-content:flex-end}.section-heading{align-items:flex-end}.section-heading>.subtle-link{font-size:.75rem;text-align:right}.footer-inner{flex-direction:column;gap:10px;text-align:center}}
@media(max-width:520px){.container{width:calc(100% - 32px)}.main-content{padding-top:24px;padding-bottom:55px}.header-inner{flex-wrap:wrap;gap:10px;padding-block:15px}.brand{font-size:25px}.brand-mark{width:34px;height:34px;font-size:25px;margin-right:8px}.main-nav{gap:12px;margin-left:auto}.main-nav .button{padding:8px 10px;font-size:.72rem;min-height:40px;gap:4px}.text-button{font-size:.7rem}.hero{grid-template-columns:1fr;padding:12px 0 32px;position:relative;min-height:0}.hero>div:first-child{position:relative;z-index:1}.hero h1{font-size:3.25rem;max-width:290px}.hero-art{display:none}.hero-description{font-size:.86rem}.eyebrow{font-size:.62rem}.filter-panel{padding:20px 16px;border-radius:12px}.search-grid{grid-template-columns:1fr;gap:18px}.search-button{width:100%}.filter-bottom{gap:16px}.filter-options{width:100%;justify-content:space-between;gap:10px}.filter-chip span{padding:9px 13px}.recipe-collection{margin-top:35px}.section-heading{align-items:flex-start;gap:12px}.section-heading h2{font-size:1.8rem}.section-heading>.subtle-link{max-width:105px;padding-top:20px}.recipe-grid{grid-template-columns:1fr;gap:22px}.card-body{padding:22px}.card-body h3{font-size:1.7rem}.card-description{font-size:.9rem}.card-meta{font-size:.8rem}.tag{font-size:.7rem}.back-link{margin-bottom:24px}.detail-header h1{font-size:2.6rem}.detail-description{font-size:.95rem}.detail-actions{gap:15px}.detail-meta{font-size:.82rem;gap:18px}.detail-image{aspect-ratio:1.3;border-radius:12px}.ingredient-list{grid-template-columns:1fr}.step-list li{gap:15px}.step-list li:before{flex-basis:36px;height:36px;font-size:18px}.step-list li>div{font-size:.9rem}.recipe-note{padding:22px}.editor-section{padding:22px 16px;border-radius:12px}.editor-section-heading{gap:12px}.editor-section-heading h2{font-size:1.65rem}.editor-section-heading p{font-size:.78rem}.two-columns{gap:12px}.field input:not([type=checkbox]):not([type=radio]),.field textarea,.field select{font-size:16px}.ingredient-row{grid-template-columns:1fr 1fr 42px;padding-bottom:20px;border-bottom:1px solid var(--line);gap:10px}.ingredient-row .row-controls{grid-column:3;align-self:end;padding:0}.ingredient-row>.field:has(input[name$="-name"]){grid-column:1/3}.step-row{grid-template-columns:minmax(0,1fr) 42px;gap:10px}.step-number{display:none}.step-row>.field{grid-column:1}.upload-panel{padding:14px}.editor-footer>p{font-size:18px}.login-card{padding:27px 22px}.login-card h2{font-size:1.8rem}.dialog-shell{margin-top:10px}.dialog-card{padding:28px 22px}.dialog-card h1{font-size:2.3rem}.dialog-card .button-group{align-items:stretch;flex-direction:column}.empty-state{padding:35px 18px}.empty-state h3{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.recipe-card:hover{transform:none}}
@media print{body{background:var(--palette-white);color:var(--palette-purple)}.site-header,.site-footer,.back-link,.detail-actions,.skip-link,.messages{display:none}.container{width:100%}.main-content{padding:0}.detail-image{max-height:230px;object-fit:contain}.recipe-body{grid-template-columns:1fr 2fr;gap:25px;margin-top:25px}.ingredients-panel,.recipe-note{background:transparent;border:1px solid var(--palette-lavender)}.step-list li,.ingredient-list li{break-inside:avoid}.detail-header h1{font-size:32px}.eyebrow{color:var(--palette-slate)}.recipe-body h2{font-size:25px}}
