:root{--navy:#102c4c;--navy2:#0a2038;--cream:#f7f2e8;--paper:#fcf9f3;--gold:#c39a4a;--gold2:#dfc791;--olive:#68734a;--text:#1f2933;--muted:#667085;--border:#e5ded1;--white:#fff;--danger:#b42318;--success:#287a4b;--shadow:0 18px 45px #102c4c17}*{box-sizing:border-box}html{background:var(--cream);color:var(--text);scroll-behavior:smooth}body{background:linear-gradient(180deg,#fbf8f2 0%,var(--cream) 100%);min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;background:#fcf9f3eb;align-items:center;gap:32px;height:82px;padding:0 max(24px,50vw - 640px);display:flex;position:sticky;top:0}.brand img{object-fit:contain;width:132px;height:auto}.desktop-nav{color:var(--navy);gap:25px;font-weight:650;display:flex}.desktop-nav a:hover{color:var(--gold)}.user-actions{align-items:center;gap:14px;margin-left:auto;display:flex}.user-name{color:var(--muted);font-size:14px}.link-button{color:var(--navy);background:0 0;border:0;padding:8px;font-weight:700}.page-wrap{width:min(1180px,100% - 32px);margin:0 auto;padding:42px 0 110px}.bottom-nav{display:none}.stack-xl>*+*{margin-top:58px}.stack-lg>*+*{margin-top:34px}.stack-md>*+*{margin-top:20px}.stack-sm>*+*{margin-top:10px}.kicker,.eyebrow{letter-spacing:.15em;color:var(--gold);text-transform:uppercase;font-size:12px;font-weight:800}.hero-panel{background:var(--navy);color:#fff;min-height:380px;box-shadow:var(--shadow);border-radius:28px;grid-template-columns:1.35fr .65fr;align-items:center;padding:58px;display:grid;overflow:hidden}.hero-panel h1,.page-title h1,.recipe-hero h1,.wizard-head h1,.auth-card h1{letter-spacing:-.03em;font-family:Georgia,Times New Roman,serif;font-weight:500}.hero-panel h1{max-width:700px;margin:14px 0 18px;font-size:clamp(46px,6vw,72px);line-height:.98}.hero-panel h1 em{color:var(--gold2);font-weight:400}.hero-panel p{color:#e9eef3;max-width:650px;font-size:18px;line-height:1.65}.hero-mark{opacity:.95;filter:drop-shadow(0 18px 30px #0000001f);justify-self:end;width:290px;max-width:100%}.button-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-weight:750;transition:all .18s;display:inline-flex}.button.primary{background:var(--gold);color:var(--navy2)}.button.primary:hover{background:var(--gold2)}.button.secondary{background:var(--paper);border-color:var(--border);color:var(--navy)}.button.secondary.selected{border-color:var(--gold);background:#efe5cf}.button.ghost{color:var(--navy);background:0 0}.button.compact{padding:8px 14px;font-size:14px}.button.wide{width:100%}.button:disabled{opacity:.5;cursor:not-allowed}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;display:flex}.section-heading h2{color:var(--navy);margin:6px 0 0;font-family:Georgia,serif;font-size:34px;font-weight:500}.section-heading>a{color:var(--navy);font-weight:750}.section-heading.compact{align-items:center}.section-heading.compact h2{font-size:30px}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.recipe-card{background:var(--paper);border:1px solid var(--border);border-radius:22px;transition:transform .2s;overflow:hidden;box-shadow:0 9px 24px #102c4c0d}.recipe-card:hover{transform:translateY(-3px)}.card-image{aspect-ratio:4/3;background:#efe9dc;display:block;overflow:hidden}.card-image img{object-fit:cover;width:100%;height:100%}.image-placeholder{height:100%;color:var(--navy);background:radial-gradient(circle at 30% 20%,#fff9,#0000 40%),#e8deca;place-items:center;font-family:Georgia,serif;font-size:30px;display:grid}.card-body{padding:20px}.card-body h3{color:var(--navy);margin:7px 0;font-family:Georgia,serif;font-size:25px;font-weight:500}.card-body p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 17px;line-height:1.5;display:-webkit-box;overflow:hidden}.meta-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:13px;font-size:13px;display:flex}.meta-row span{align-items:center;gap:5px;display:flex}.empty-state{text-align:center;background:#faf6ee;border:1px dashed #cfc5b5;border-radius:24px;padding:56px 24px}.empty-state h2{color:var(--navy);margin:8px;font-family:Georgia,serif;font-size:30px}.empty-state p{color:var(--muted);max-width:520px;margin:0 auto 22px}.empty-mark{color:var(--gold);font-size:26px}.page-title h1{color:var(--navy);margin:7px 0 6px;font-size:48px}.page-title p{color:var(--muted);font-size:17px}.page-title.row{justify-content:space-between;align-items:end;gap:20px;display:flex}.filters{background:var(--paper);border:1px solid var(--border);border-radius:18px;grid-template-columns:2fr 1fr 1fr auto;gap:10px;padding:13px;display:grid}.filters input,.filters select,.field input,.field select,.field textarea,.ingredient-row input,.step-edit input,.step-edit textarea,.contribution-form textarea{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:12px;outline:none;padding:12px 14px}.filters input:focus,.filters select:focus,.field input:focus,.field select:focus,.field textarea:focus,.ingredient-row input:focus,.step-edit input:focus,.step-edit textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c39a4a1f}.auth-card{text-align:center;background:var(--paper);border:1px solid var(--border);max-width:520px;box-shadow:var(--shadow);border-radius:28px;margin:60px auto;padding:42px}.auth-card img{object-fit:contain;width:130px;height:130px}.auth-card h1{color:var(--navy);margin:12px 0;font-size:42px}.auth-card p{color:var(--muted);line-height:1.6}.wide-card{max-width:720px}.wizard-page{max-width:980px;margin:0 auto}.wizard-head{justify-content:space-between;align-items:end;gap:20px;display:flex}.wizard-head h1{color:var(--navy);margin:7px 0;font-size:44px}.save-state{color:var(--muted);background:#eee6d8;border-radius:99px;padding:7px 11px;font-size:13px}.save-state.saved{color:var(--success);background:#e8f2ec}.save-state.error{color:var(--danger);background:#fbeaea}.stepper{grid-template-columns:repeat(6,1fr);margin:25px 0;display:grid}.step{color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:8px;font-size:13px;display:flex}.step span{border:1px solid var(--border);background:var(--paper);border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.step.active{color:var(--navy);font-weight:800}.step.active span,.step.done span{background:var(--navy);color:#fff;border-color:var(--navy)}.wizard-card{background:var(--paper);border:1px solid var(--border);min-height:460px;box-shadow:var(--shadow);border-radius:24px;padding:30px}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.field{color:var(--navy);flex-direction:column;gap:8px;font-weight:700;display:flex}.field textarea{resize:vertical;min-height:110px}.span-2{grid-column:span 2}.photo-field{align-self:end}.photo-button{border:1px dashed var(--gold);color:var(--navy);background:#fbf4e5;border-radius:12px;align-items:center;gap:8px;padding:12px 14px;font-weight:700;display:flex;position:relative;overflow:hidden}.photo-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.cover-preview{object-fit:cover;border-radius:16px;grid-column:span 2;width:100%;max-height:280px}.summary-tile{background:var(--navy);color:#fff;border-radius:17px;flex-direction:column;gap:4px;padding:18px;display:flex}.summary-tile strong{font-size:28px}.inline-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.inline-heading h2{color:var(--navy);margin:0;font-family:Georgia,serif;font-size:30px}.inline-heading p{color:var(--muted);margin:4px 0}.ingredient-row{align-items:center;gap:8px;display:flex}.ingredient-row>input{width:88px}.ingredient-row>.grow{flex:1;width:auto}.icon-button{border:1px solid var(--border);width:40px;height:40px;color:var(--danger);background:#fff;border-radius:50%;flex:none;place-items:center;display:grid}.step-edit{border-top:1px solid var(--border);align-items:flex-start;gap:14px;padding-top:18px;display:flex}.step-number{background:var(--navy);color:#fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-family:Georgia,serif;font-size:19px;display:grid}.grow{flex:1}.step-edit textarea{resize:vertical;width:100%;min-height:100px}.step-edit input{width:100%}.step-edit .short-input{width:130px}.review-card{text-align:center;max-width:650px;margin:auto}.review-card h2{color:var(--navy);margin:8px;font-family:Georgia,serif;font-size:40px}.review-card>p{color:var(--muted);line-height:1.6}.review-stats{flex-wrap:wrap;justify-content:center;gap:9px;margin:20px;display:flex}.review-stats span{background:#eee5d5;border-radius:99px;padding:7px 10px;font-size:13px}.review-card img,.review-placeholder{aspect-ratio:16/8;object-fit:cover;border-radius:18px;width:100%;margin-bottom:20px}.review-placeholder{color:var(--muted);background:#eee6d8;place-items:center;display:grid}.wizard-footer{justify-content:space-between;margin-top:18px;display:flex}.alert{border-radius:12px;margin:12px 0;padding:12px 15px}.alert.error{color:var(--danger);background:#fdecec;border:1px solid #f3c5c2}.recipe-detail{flex-direction:column;gap:40px;display:flex}.recipe-hero{background:var(--navy);color:#fff;border-radius:28px;grid-template-columns:1.05fr .95fr;min-height:480px;display:grid;overflow:hidden}.recipe-hero>img{object-fit:cover;width:100%;height:100%}.recipe-hero-copy{flex-direction:column;justify-content:center;padding:50px;display:flex}.recipe-hero h1{margin:10px 0;font-size:52px;line-height:1.04}.lede{color:#e6edf3;font-size:18px;line-height:1.65}.byline{color:#bdcad5}.quick-stats{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.quick-stats span{color:#dce4eb;border-top:1px solid #ffffff24;align-items:center;gap:7px;padding-top:12px;font-size:13px;display:flex}.quick-stats strong{color:#fff}.recipe-layout{grid-template-columns:minmax(0,1fr) 300px;gap:42px;display:grid}.recipe-main>section+section{margin-top:48px}.ingredients-list{grid-template-columns:1fr 1fr;gap:0 24px;margin:0;padding:0;list-style:none;display:grid}.ingredients-list li{border-bottom:1px solid var(--border);gap:12px;padding:13px 0;display:flex}.ingredients-list strong{min-width:78px;color:var(--navy)}.ingredients-list span{color:var(--text)}.steps-list{margin:0;padding:0;list-style:none}.steps-list li{border-bottom:1px solid var(--border);grid-template-columns:48px 1fr;gap:14px;padding:20px 0;display:grid}.steps-list h3{color:var(--navy);margin:4px 0;font-family:Georgia,serif;font-size:23px}.steps-list p{color:#394451;line-height:1.7}.steps-list img{object-fit:cover;border-radius:16px;width:100%;max-height:360px;margin-top:12px}.mini-meta{color:var(--gold);font-size:12px;font-weight:800}.editorial-notes{border-left:5px solid var(--gold);background:#efe4cf;border-radius:22px;padding:28px}.editorial-notes>div+div{margin-top:18px}.editorial-notes h3{color:var(--navy);margin:0 0 5px}.editorial-notes p{margin:0;line-height:1.6}.sticky-card{background:var(--paper);border:1px solid var(--border);border-radius:20px;padding:22px;position:sticky;top:110px}.sticky-card dl{margin:12px 0 24px}.sticky-card dl>div{border-bottom:1px solid var(--border);justify-content:space-between;padding:11px 0;display:flex}.sticky-card dt{color:var(--muted)}.sticky-card dd{color:var(--navy);font-weight:800}.sticky-card h3{color:var(--navy);margin-bottom:6px;font-family:Georgia,serif;font-size:21px}.sticky-card p{color:var(--muted);line-height:1.55}.social-actions{background:var(--paper);border:1px solid var(--border);border-radius:20px;padding:20px}.rating-box{justify-content:space-between;align-items:center;margin:18px 0;display:flex}.rating-box>span{color:var(--navy);font-weight:750}.rating-box button{color:var(--gold);background:0 0;border:0;padding:3px}.contribution-form textarea{resize:vertical;width:100%;min-height:95px;margin:10px 0}.segmented{background:#eee7da;border-radius:99px;width:max-content;padding:4px;display:flex}.segmented button{background:0 0;border:0;border-radius:99px;padding:7px 12px}.segmented button.active{color:var(--navy);background:#fff;font-weight:800}.form-error{color:var(--danger)}.comments{margin-top:20px}.comments article{border-bottom:1px solid var(--border);padding:17px 0}.comment-head{align-items:center;gap:9px;display:flex}.pill{color:var(--muted);background:#ece6db;border-radius:99px;padding:4px 8px;font-size:11px}.pill.recommendation{color:var(--olive);background:#e5eadc}.comments p{line-height:1.6}.comments time{color:var(--muted);font-size:12px}.management-list{flex-direction:column;gap:12px;display:flex}.management-list article{background:var(--paper);border:1px solid var(--border);border-radius:18px;justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}.management-list h2,.management-list h3{color:var(--navy);margin:7px 0;font-family:Georgia,serif}.management-list p{color:var(--muted);margin:0}.status{text-transform:uppercase;letter-spacing:.08em;border-radius:99px;padding:5px 9px;font-size:11px;font-weight:800}.status.published{color:var(--success);background:#e4f0e7}.status.private{color:var(--navy);background:#e4e9ef}.status.draft{color:#8b6d30;background:#eee5d8}.profile-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.profile-form{background:var(--paper);border:1px solid var(--border);border-radius:22px;flex-direction:column;gap:18px;padding:25px;display:flex}.avatar-editor{align-items:center;gap:15px;display:flex}.avatar-editor img,.avatar-placeholder{object-fit:cover;background:var(--navy);color:#fff;border-radius:50%;place-items:center;width:82px;height:82px;font-family:Georgia,serif;font-size:28px;display:grid}.profile-stats,.admin-stats{grid-template-columns:repeat(3,1fr);align-self:start;gap:12px;display:grid}.profile-stats>div,.admin-stats>div{background:var(--navy);color:#fff;border-radius:18px;flex-direction:column;padding:22px;display:flex}.profile-stats strong,.admin-stats strong{color:var(--gold2);font-family:Georgia,serif;font-size:34px}.profile-stats span,.admin-stats span{font-size:13px}.admin-stats{grid-template-columns:repeat(4,1fr)}.muted,.form-note{color:var(--muted)}.error-row{align-items:flex-start!important}.error-summary{flex:1;min-width:0}.error-details{margin-top:12px}.error-details summary{cursor:pointer;color:var(--navy);font-weight:750}.error-details pre{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--border);background:#f3eee4;border-radius:12px;max-height:320px;padding:12px;font-size:12px;line-height:1.45;overflow:auto}@media (max-width:900px){.card-grid{grid-template-columns:repeat(2,1fr)}.hero-panel{grid-template-columns:1fr;padding:38px}.hero-mark{display:none}.filters{grid-template-columns:1fr 1fr}.filters input{grid-column:span 2}.recipe-hero{grid-template-columns:1fr}.recipe-hero>img{max-height:430px}.recipe-layout{grid-template-columns:1fr}.recipe-aside{order:-1}.sticky-card{position:static}.profile-grid{grid-template-columns:1fr}.admin-stats{grid-template-columns:1fr 1fr}.ingredient-row{flex-wrap:wrap}.ingredient-row>.grow{min-width:180px}}@media (max-width:700px){.topbar{height:66px;padding:0 16px}.brand img{width:105px}.desktop-nav,.user-name,.user-actions form{display:none}.page-wrap{width:min(100% - 24px,1180px);padding:26px 0 100px}.bottom-nav{border-top:1px solid var(--border);z-index:30;height:72px;padding:0 8px env(safe-area-inset-bottom);background:#fcf9f3f7;grid-template-columns:1fr 1fr 64px 1fr 1fr;align-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-item{color:var(--muted);flex-direction:column;align-items:center;gap:3px;font-size:10px;font-weight:650;display:flex}.bottom-item.active{color:var(--navy)}.create-fab{background:var(--gold);width:54px;height:54px;color:var(--navy);border-radius:50%;justify-self:center;place-items:center;display:grid;transform:translateY(-14px);box-shadow:0 8px 20px #c39a4a55}.hero-panel{border-radius:22px;min-height:350px;padding:31px 24px}.hero-panel h1{font-size:48px}.hero-panel p{font-size:16px}.section-heading h2{font-size:29px}.card-grid{grid-template-columns:1fr}.page-title h1{font-size:39px}.page-title.row{flex-direction:column;align-items:flex-start}.filters{grid-template-columns:1fr}.filters input{grid-column:auto}.stepper{justify-content:flex-start;padding-bottom:4px;display:flex;overflow:auto}.step{flex-direction:column;min-width:92px}.wizard-card{min-height:420px;padding:20px}.wizard-head{flex-direction:column;align-items:flex-start}.wizard-head h1{font-size:37px}.form-grid{grid-template-columns:1fr}.span-2,.cover-preview{grid-column:auto}.ingredient-row>input{width:calc(50% - 5px)}.ingredient-row>.grow{flex-basis:100%;width:100%}.step-edit{gap:9px}.review-stats{justify-content:flex-start}.recipe-hero{border-radius:22px}.recipe-hero-copy{padding:28px 22px}.recipe-hero h1{font-size:42px}.quick-stats{grid-template-columns:1fr 1fr}.recipe-layout{gap:20px}.ingredients-list{grid-template-columns:1fr}.management-list article{flex-direction:column;align-items:flex-start}.profile-stats,.admin-stats{grid-template-columns:1fr 1fr}.section-heading.compact{flex-direction:column;align-items:flex-start}.rating-box{flex-direction:column;align-items:flex-start;gap:8px}.button-row .button{flex:1}.user-actions{display:flex}.user-actions>a{display:inline-flex}}
