/* Basil: the approved direction, shared by the book and every cooking tool. */
:root{--paper:#fffaf0;--ink:#244531;--muted:#657261;--accent:#244531;--line:#dce2d4;--sage:#edf1e4;--gold:#ffbd35;--serif:'Manrope',system-ui,sans-serif}
body{font-family:'Manrope',system-ui,sans-serif;font-size:15px;line-height:1.65;background:var(--paper)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#d28b0a}
h1,h2,h3,h4{font-family:var(--serif);font-weight:800;letter-spacing:-.6px}
.header{max-width:1440px;padding:15px 5%;gap:24px;flex-wrap:nowrap;border-bottom:1px solid var(--line)}
.header .brand{gap:0}.brand-wordmark{width:205px;height:auto;aspect-ratio:3/1}.header nav{display:flex;gap:24px;border:0;padding:0;width:auto;flex-basis:auto;order:0;margin-left:auto}
.nav-btn{font-size:12px;font-weight:500;background:none}.nav-btn.active{font-weight:800;color:var(--ink)}
.header>.add-recipe{margin-left:15px;font-size:12px;flex-shrink:0}
.primary,.secondary{border-radius:40px;padding:12px 20px;font-size:13px;font-weight:700;min-height:44px}
.primary{background:var(--ink);color:#fffdf3}.primary:hover{background:#345b3d}.secondary{background:#fffef8;border-color:var(--line);color:var(--ink)}.secondary:hover{background:var(--sage)}
main{max-width:1320px;padding:0 5%;margin:auto}
.hero{padding:52px 0 45px;display:grid;grid-template-columns:1.03fr 1fr;gap:55px;align-items:center}
.hero-copy{padding:0}.hero .eyebrow{font-size:11px;letter-spacing:1.4px;font-weight:800;color:var(--ink)}
.hero h1{font:800 clamp(43px,4.5vw,68px)/1.07 var(--serif);letter-spacing:-3px;margin:21px 0 22px}
.hero-copy>p{font-size:14px;line-height:1.85;color:var(--muted);max-width:350px;margin:0}
.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:27px}.hero-actions .primary{display:inline-flex;align-items:center;gap:10px;padding:14px 24px}
.hero-actions svg{width:17px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;flex-shrink:0}
.hero-browse{font-size:12px;text-underline-offset:5px;color:var(--muted);padding:3px 0}
.hero-art{height:auto;aspect-ratio:1;max-height:none;max-width:490px;width:100%;justify-self:end;border-radius:48% 48% 32% 32%;position:relative;margin:0}
.hero-art>img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.art-caption{top:22px;left:-10px;background:var(--gold);color:var(--ink);padding:9px 17px;border-radius:30px;font-size:10px;letter-spacing:.3px;font-weight:800;transform:rotate(-6deg)}
.hero-recipe{bottom:18px;left:18px;right:18px;border-radius:19px;padding:18px 20px;background:#fffefa;backdrop-filter:none;box-shadow:0 8px 30px #253e2a0d;font-size:11px;color:var(--muted)}
.hero-recipe small{font:800 23px/1.35 var(--serif);letter-spacing:-.6px;color:var(--ink);margin-top:3px}.round-arrow{border-color:var(--line);width:40px;height:40px;font-size:22px}
.collection{border-top:0;padding-top:22px;scroll-margin-top:24px}.section-heading{align-items:center;gap:20px;margin-bottom:12px}.section-heading h2{font:800 33px/1.2 var(--serif);letter-spacing:-1.2px;margin:5px 0 0}.section-heading .eyebrow{font-size:9px;letter-spacing:1.7px}.section-heading>p{font-size:12px;padding:0;max-width:none}
.cloud-info{font-size:11px;margin:0 0 20px;color:var(--muted)}.cloud-dot{background:#6c8b54}
.toolbar{gap:12px}.search{height:52px;border-radius:30px;background:#fffef9;border-color:var(--line);padding:0 19px}.search input{font-size:14px}.search>span{display:none}.search svg{stroke:var(--muted)}
.author-filter select,.sort-label select{height:52px;background:#fffef9;border-color:var(--line);border-radius:14px;font-size:12px;padding-left:15px;max-width:220px}
.filter-row{margin:19px 0 25px;gap:14px}.filters{gap:8px}.filter{border-color:var(--line);background:transparent;padding:9px 15px;font-size:11px;border-radius:28px;min-height:38px}.filter.active{background:var(--ink);border-color:var(--ink);color:#fffdf3}.filter:hover{border-color:#79906d}.ready-filter{font-size:11px;white-space:normal}.ready-filter input{accent-color:var(--ink);width:16px;height:16px}
.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.recipe-card{background:#fffef9;border:1px solid #f0efe4;border-radius:23px;padding:22px;display:flex;flex-direction:column;min-height:310px;transition:box-shadow .2s,transform .2s}
.recipe-card:hover{box-shadow:0 10px 28px #25442e0c;transform:translateY(-3px)}
.card-top{min-height:37px;padding:1px 42px 0 0;display:flex;align-items:center}.card-category{position:static;padding:0;background:none;color:var(--muted);font-size:10px;letter-spacing:.7px;text-transform:uppercase;line-height:1.5}
.favorite{right:19px;top:19px;width:37px;height:37px;line-height:1;font-size:25px;border:1px solid var(--line);background:transparent;color:var(--ink)}.favorite[aria-pressed=true]{background:#ffcb58;color:var(--ink);border-color:#ffcb58}
.card-body{padding:14px 0 0;display:flex;flex-direction:column;flex:1}.recipe-author{font-size:10px;min-height:22px;margin-bottom:4px}.author-avatar{background:var(--sage);color:#496a3c;font-size:10px}
.card-title{font:800 24px/1.2 var(--serif);letter-spacing:-.8px;margin:9px 0 10px}.card-subtitle{font-size:12px;line-height:1.75;min-height:0}.method-card-note{font-size:11px;line-height:1.7;color:var(--muted);margin-top:11px}
.tags{gap:5px;margin:13px 0 18px}.tag{background:#edf1e5;border-radius:7px;padding:4px 7px;font-size:10px;color:#576f48}.card-meta{font-size:11px;border-color:var(--line);padding-top:13px;margin-top:auto;flex-wrap:wrap;gap:6px 12px}.card-meta span:last-child{margin-left:auto;color:var(--ink)}
.badge{border-radius:7px;font-size:10px;width:fit-content;padding:4px 8px}.badge.draft{background:#fff0c8;color:#755719}
.bottom-note{background:#edf1e3;border:0;border-radius:24px;padding:28px;margin-top:35px;gap:20px}.bottom-note h2{font:800 29px/1.25 var(--serif);letter-spacing:-1px}.bottom-note p{font-size:12px;max-width:630px}.note-flower{color:#8ba66a}.bottom-note>.secondary{font-size:12px;border:1px solid #d1dcbc;background:#fffef9}
footer{padding:25px 5% 30px;font-size:11px;border-color:var(--line);align-items:center}.footer-brand img{width:170px}footer>p{font-size:11px}footer>div{display:flex;flex-wrap:wrap;gap:4px 8px;justify-content:flex-end}footer button,#owner-button{font-size:11px;color:var(--muted);padding:5px;background:none;margin:0}.footer-brand{font-family:var(--serif)}
dialog{border:0;border-radius:24px;background:var(--paper);box-shadow:0 30px 100px #14392140}dialog::backdrop{background:#193b2c88;backdrop-filter:blur(5px)}
.dialog-top h2{font:800 28px/1.2 var(--serif);letter-spacing:-1px}.icon{width:40px;height:40px;background:#edf1e4;border:0;color:var(--ink)}
.detail-cover{background:#eff1e5}.detail-intro h2{font:800 35px/1.12 var(--serif);letter-spacing:-1.2px}.detail-intro p{font-size:13px}.detail-meta{color:#5f7451}.detail-body h3,.notes-box h3{font:800 24px/1.2 var(--serif);letter-spacing:-.7px}.detail-tools button{font-size:12px}
.ingredients-panel{background:#f0f3e8;border:1px solid var(--line);border-radius:18px}.ingredient{font-size:13px;border-color:#dce4d3;line-height:1.65}.ingredient b{font-size:13px}.ingredient small{font-size:11px;color:#627458}.scale-note{font-size:11px;line-height:1.8}.ingredient input{accent-color:var(--ink)}
.step{gap:15px;padding:22px 0}.step-number{width:32px;height:32px;font:700 13px var(--serif);border-color:#c5d2bb}.step h4{font-size:16px;font-weight:800;line-height:1.4;letter-spacing:-.3px}.step p{font-size:13px;line-height:1.95;color:#53694c}.step-time{font-size:11px;color:#5e744e}.step.done .step-number{background:var(--ink)}
.source-warnings,.notes-box{background:#f7efda;border-radius:17px}.notes-box p{font-size:13px;line-height:1.9}.progress-wrap{background:#edf1e3}.progress-bar{background:#dce5cc}.progress-bar span{background:#608749}.progress-head{font-size:12px}
.method-picker,.smart-planner{background:#edf1e4;border:1px solid var(--line);border-radius:18px}.method-heading h3,.smart-heading h3{font:800 26px/1.2 var(--serif);letter-spacing:-.9px}.method-picker select,.smart-fields select,.smart-fields input,.dairy-options select{border-color:#d2ddc5;background:#fffef9;border-radius:10px;font-size:14px}.method-picker p,.method-picker small,.smart-reset,.mode-description,.smart-result p,.dairy-options p,.dairy-note{color:#627557}
.smart-tabs{border-radius:12px;background:#dfe7d1;padding:4px}.smart-tabs button{border-radius:9px;font-size:12px;min-height:38px}.smart-tabs button.active{color:var(--ink);background:#fffefa}.smart-result{border:0;border-radius:13px;background:#fffef9}.dairy-options{border-color:#d3ddc4}.water-guidance{background:#fff4d3;color:#695422;border-radius:12px}
.form-grid input,.form-grid select,textarea,.ingredient-row input,.step-row input,.field-label input{border-color:#d1dac6;background:#fffef9;border-radius:10px;font-size:14px;line-height:1.6}.form-grid label,.field-label{font-size:12px;color:#526a45}.ingredient-row,.step-row{border-color:var(--line);border-radius:14px;background:#f8f9ef}.editor-section h3{font:800 23px var(--serif)}.editor-note,.editor-section>p,.publish-note{font-size:12px}.draft-status,.draft-resume{background:#eef2e4;color:#526d44;border-radius:10px}.editor-extra{border-color:var(--line);border-radius:12px}.editor-extra summary{color:var(--ink)}.text-btn{color:var(--ink);font-size:12px}.form-error{color:#a13f28}
.add-tabs{background:#e6ecd9;border-radius:13px;padding:4px}.add-tabs button{border-radius:10px;color:#627654}.add-tabs button.active{background:#fffefa;color:var(--ink)}.manual-intro h3{font:800 26px var(--serif)}
.assistant-dialog{border-radius:25px}.assistant-welcome{border-color:var(--line);background:#eff3e5;border-radius:18px}.assistant-welcome>span{color:#8baa67}.assistant-message{border-radius:16px;background:#edf1e2}.assistant-composer{background:#fffef9;border:1px solid var(--line);border-radius:18px}.assistant-composer textarea{font-size:15px;min-height:130px;border:0;border-radius:12px;background:#fffef9}.assistant-input-tools{gap:8px}.assistant-preview{background:#f0f3e6;border:1px solid var(--line);border-radius:18px}.assistant-preview h3{font:800 24px var(--serif)}.assistant-card{border-color:var(--line);border-radius:15px}.assistant-card h4{font:800 24px/1.2 var(--serif)}.assistant-question{background:#fff1c8;border-radius:14px}.assistant-privacy,.assistant-small{font-size:11px;line-height:1.7;color:var(--muted)}.assistant-footer{color:var(--muted)}
.cooking .step.focused{background:#f2f5e9;border-color:#cfddbd;border-radius:17px}.cooking .step.focused h4{font:800 26px/1.25 var(--serif)}.cook-controls{background:var(--paper)}.timer-panel button{border-radius:8px;background:#e4ebd7}.cook-success{background:#e5efda;border-radius:18px}.cook-success h3{font:800 29px var(--serif)}
#toast{border-radius:15px;background:var(--ink);font-size:13px}.empty{border-color:#c3d0b5;border-radius:22px}.empty h3{font:800 26px var(--serif)}.empty p{font-size:13px}
@media(min-width:1500px){.hero-art{height:auto}.hero{gap:65px}.hero h1{font-size:72px}}
@media(max-width:1050px){.header{gap:18px}.brand-wordmark{width:178px}.header nav{gap:17px}.nav-btn{font-size:11px}.header>.add-recipe{margin-left:0;padding:12px 17px;font-size:11px}.hero{gap:32px;padding-top:40px}.hero h1{font-size:55px;letter-spacing:-2.5px}.hero-recipe small{font-size:21px}.recipe-grid{gap:15px}.recipe-card{padding:19px}.card-title{font-size:22px}.card-meta{font-size:10px}.favorite{right:17px;top:17px}.filter-row{align-items:flex-start;flex-direction:column}.author-filter select,.sort-label select{max-width:190px}.detail-tools button{font-size:11px}}
@media(max-width:780px){.header{flex-wrap:wrap;padding:12px 5% 16px;gap:10px 15px}.header .brand{margin-right:auto}.brand-wordmark{width:188px}.header nav{order:3;flex-basis:100%;justify-content:center;margin:0;padding-top:10px;gap:28px;border-top:1px solid var(--line)}.header nav .nav-btn{font-size:12px}.header>.add-recipe{margin-left:0;font-size:12px}.hero{padding:32px 0 35px;gap:23px}.hero h1{font-size:43px;letter-spacing:-2px}.hero .eyebrow{font-size:9px;letter-spacing:1px}.hero-copy>p{font-size:13px}.hero-actions{margin-top:21px}.hero-actions .primary{font-size:11px;padding:12px 17px}.hero-art{height:auto;aspect-ratio:1}.hero-recipe{left:9px;right:9px;bottom:10px;padding:13px 14px;border-radius:16px}.hero-recipe small{font-size:18px}.round-arrow{width:30px;height:30px;font-size:18px}.art-caption{font-size:8px;left:0;top:10px;padding:8px 12px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-card{min-height:305px}.section-heading h2{font-size:29px}.toolbar{flex-wrap:wrap}.search{flex-basis:100%}.author-filter,.sort-label{flex:1}.author-filter select,.sort-label select{width:100%;max-width:none}.bottom-note{padding:24px}.bottom-note h2{font-size:25px}.bottom-note>.secondary{font-size:11px}footer{padding-left:5%;padding-right:5%;flex-wrap:wrap}footer>div{justify-content:flex-start}.detail-intro h2{font-size:29px}.detail-tools{flex-wrap:wrap}}
@media(max-width:520px){.brand-wordmark{width:166px}.header nav{justify-content:space-between;gap:8px;overflow:visible}.header nav .nav-btn{font-size:11px;padding-left:0;padding-right:0}.header>.add-recipe{padding:11px 14px;font-size:11px}.hero{grid-template-columns:1fr;gap:27px;padding:30px 0}.hero h1{font-size:49px;letter-spacing:-2.5px;line-height:1.07;margin:15px 0 18px}.hero .eyebrow{font-size:9px;letter-spacing:1.1px}.hero-copy>p{font-size:13px;max-width:340px;line-height:1.8}.hero-actions{gap:11px;margin-top:21px}.hero-actions .primary{font-size:12px;padding:13px 20px}.hero-browse{font-size:11px}.hero-art{max-width:370px;justify-self:center;width:100%;aspect-ratio:1.1;margin:0;height:auto}.hero-recipe{padding:15px 17px;left:12px;right:12px;bottom:12px}.hero-recipe small{font-size:21px}.art-caption{font-size:9px;padding:8px 14px;top:17px;left:0}.collection{padding-top:23px}.section-heading{gap:14px;flex-direction:column;align-items:flex-start;margin-bottom:10px}.section-heading h2{font-size:30px}.section-heading>p{padding:0;font-size:11px;max-width:none}.cloud-info{font-size:10px;margin-bottom:17px}.search{height:49px}.search input{font-size:16px}.author-filter select,.sort-label select{height:44px;font-size:11px;border-radius:12px;padding-left:10px;min-width:0}.toolbar{gap:9px}.filter-row{margin:16px 0 23px}.filter{font-size:11px;padding:8px 12px;min-height:38px}.ready-filter{font-size:11px}.recipe-grid{grid-template-columns:1fr;gap:15px}.recipe-card{padding:21px;min-height:0}.card-body{padding-top:10px}.card-title{font-size:26px;line-height:1.2;margin-top:8px}.card-subtitle{font-size:13px}.recipe-author{font-size:11px}.card-meta{font-size:11px;margin-top:2px;padding-top:13px}.tags{margin:12px 0 17px}.tag{font-size:10px}.favorite{top:18px;right:18px;width:40px;height:40px}.card-top{min-height:30px}.bottom-note{margin-top:28px;padding:24px 21px;border-radius:22px;gap:14px}.bottom-note h2{font-size:26px}.bottom-note p{font-size:12px}.bottom-note .note-flower{display:none}.bottom-note>.secondary{margin-left:0;font-size:12px}.bottom-note>div:nth-child(2){flex-basis:100%}footer>p{order:0;width:100%}.footer-brand img{width:150px}footer button,#owner-button{font-size:11px}footer>div{gap:5px 9px}dialog{border-radius:22px}.dialog-top h2{font-size:25px}.detail-intro h2{font-size:31px}.detail-toolbar{gap:15px}.detail-tools{gap:7px;justify-content:flex-start}.detail-tools button{font-size:11px;padding:10px 13px}.detail-body h3{font-size:24px}.step{gap:13px}.step h4{font-size:16px}.step p{font-size:13px}.ingredient{font-size:13px}.ingredient small{font-size:11px}.ingredient b{font-size:12px}.smart-heading h3,.method-heading h3{font-size:24px}.smart-fields input,.smart-fields select,.dairy-options select,.form-grid input,.form-grid select,.ingredient-row input,.step-row input,.field-label input,textarea{font-size:16px}.ingredient-row{grid-template-columns:1fr 68px 65px 25px;gap:5px}.ingredient-row input{padding:8px 5px}.ingredient-row .ing-name{font-size:14px}.ingredient-row .ing-unit{font-size:14px}.step-row{grid-template-columns:1fr 65px 25px}.step-row input{font-size:14px}.step-row textarea{font-size:16px}.assistant-composer textarea{font-size:16px}.assistant-input-tools .primary,.assistant-input-tools .secondary{font-size:11px;padding:10px 12px}.assistant-dialog{width:96vw}.cook-controls .primary,.cook-controls .secondary{font-size:11px;padding:10px 12px}}
@media(max-width:360px){.brand-wordmark{width:136px}.header>.add-recipe{font-size:10px;padding:10px 12px}.header nav .nav-btn{font-size:10px}.hero h1{font-size:43px;letter-spacing:-2.3px}.hero-recipe small{font-size:19px}.section-heading h2{font-size:27px}.card-title{font-size:24px}}
@media(pointer:coarse){.favorite,.icon,.step-number,.portion-control button{min-width:44px;min-height:44px}.filter{min-height:44px}.nav-btn{min-height:40px}.hero-browse{min-height:40px;display:inline-flex;align-items:center}.smart-tabs button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.recipe-card{transition:none}.recipe-card:hover{transform:none}}
@media print{body{background:white}.hero,.basil-only{display:none!important}.recipe-card{break-inside:avoid}.recipe-dialog{border:0}.ingredients-panel{border:1px solid #bbb}.detail-cover{background:white}.step p{color:#222}}
