@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap";:root{--ink:#2f2b2a;--muted:#827876;--cream:#fcfaf7;--paper:#fff;--line:#e9e0db;--coral:#d96959;--coral-dark:#b95749;--peach:#f7ded5;--sage:#dbe6db;--butter:#f7ebc4;--shadow:0 18px 55px #472f2617;color:var(--ink);background:var(--cream);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:var(--cream);min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;border:0}.icon{justify-content:center;align-items:center;line-height:1;display:inline-flex}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1180px;height:76px;margin:auto;padding:0 32px;display:flex}.brand{color:var(--ink);letter-spacing:-.4px;align-items:center;gap:10px;font-size:17px;font-weight:700;text-decoration:none;display:flex}.brand-mark{color:#fff;background:var(--coral);border-radius:50%;place-items:center;width:31px;height:31px;font-size:18px;display:grid;transform:rotate(-9deg)}.brand-dot{color:var(--coral)}nav{gap:34px;margin-left:90px;display:flex}.nav-link{color:var(--muted);background:0 0;padding:28px 0;font-size:13px;position:relative}.nav-link.active,.nav-link:hover{color:var(--ink)}.nav-link.active:after{content:"";background:var(--coral);height:2px;position:absolute;bottom:-1px;left:0;right:0}.top-actions{align-items:center;gap:19px;display:flex}.saved-label{color:#9b938f;font-size:11px}.saved-label .icon{color:#72a878;margin-right:4px}.avatar{width:33px;height:33px;color:var(--coral);background:#f2e6df;border-radius:50%;font-weight:700}.avatar.logged{background:var(--coral);color:#fff}.page{max-width:1180px;margin:auto;padding:0 32px 90px}.hero-section{grid-template-columns:1fr 1fr;align-items:center;gap:50px;min-height:505px;padding:70px 55px 56px;display:grid}.hero-copy{max-width:470px}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;color:#a39a96;font-size:10px;font-weight:700}.eyebrow.warm{color:var(--coral)}.hero-copy h1,.admin-heading h1,.detail-header h1,.login-card h1{letter-spacing:-2.2px;margin:19px 0 21px;font-family:Playfair Display,serif;font-size:66px;font-weight:600;line-height:1.02}.hero-copy h1 em{color:var(--coral);font-style:italic}.hero-lead{max-width:390px;color:var(--muted);font-size:14px;line-height:1.8}.hero-actions{align-items:center;gap:22px;margin-top:28px;display:flex}.primary-button{background:var(--coral);color:#fff;border-radius:5px;justify-content:center;align-items:center;gap:12px;padding:14px 21px;font-size:12px;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 9px 19px #d9695938}.primary-button:hover{background:var(--coral-dark);transform:translateY(-2px)}.primary-button.full{width:100%;margin-top:23px}.quiet-button{color:var(--muted);background:0 0;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.quiet-button:hover{color:var(--coral)}.hero-art{background:var(--sage);border-radius:47% 53% 43% 57%/49% 43% 57% 51%;height:360px;position:relative;transform:rotate(3deg)}.art-plate{background:#f9f4e9;border-radius:50%;width:260px;height:260px;position:absolute;top:50%;left:50%;transform:translate(-50%,-43%);box-shadow:inset 0 0 0 12px #fff9,0 18px 20px #4657461a}.art-cookie{background:var(--peach);border-radius:50%;place-items:center;width:97px;height:80px;font-size:50px;display:grid;position:absolute;box-shadow:0 8px 7px #532f261f}.art-cookie.one{top:30px;left:35px;transform:rotate(-17deg)}.art-cookie.two{background:var(--butter);top:90px;right:30px;transform:rotate(16deg)}.art-cookie.three{bottom:25px;left:85px;transform:rotate(4deg)}.art-label{z-index:2;font-family:Playfair Display,serif;font-size:16px;line-height:1.15;position:absolute;top:24px;left:26px;transform:rotate(-5deg)}.art-label strong{color:var(--coral);font-size:19px;font-style:italic}.art-scribble{color:#78907a;font-family:Playfair Display,serif;font-size:13px;font-style:italic;position:absolute;bottom:20px;right:24px;transform:rotate(-8deg)}.section-block{padding:54px 55px 75px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:27px;display:flex}.section-heading h2,.panel-title h2,.ai-modal h2{letter-spacing:-.8px;margin:8px 0 0;font-family:Playfair Display,serif;font-size:32px}.recipe-count,.collection-count{color:#aaa09a;font-size:11px}.recipe-grid{grid-template-columns:repeat(2,1fr);gap:28px;display:grid}.recipe-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);animation:.7s both rise;animation-delay:var(--delay);border-radius:8px;overflow:hidden}.card-image{height:218px;position:relative;overflow:hidden}.card-image.rose{background:var(--peach)}.card-image.yellow{background:var(--butter)}.card-image:before{content:"";background:#fff8e9;border-radius:50%;position:absolute;inset:35px 95px;box-shadow:0 15px 20px #694b3a1a}.image-note{color:#aa7269;text-transform:uppercase;letter-spacing:1.2px;font-size:9px;font-weight:700;position:absolute;top:18px;left:20px}.floating-stamp{color:#9b6b61;background:#ffffffa6;border-radius:30px;padding:6px 10px;font-size:10px;font-weight:600;position:absolute;top:17px;right:17px}.fake-food{filter:drop-shadow(0 10px 6px #4c322626);place-items:center;font-size:105px;display:grid;position:absolute;inset:0;transform:rotate(-8deg)}.card-body{padding:22px 24px 24px}.card-body h3{margin:8px 0;font-family:Playfair Display,serif;font-size:25px}.card-body p{min-height:42px;color:var(--muted);font-size:12px;line-height:1.65}.text-button{color:var(--coral);background:0 0;margin-top:17px;padding:0;font-size:12px;font-weight:700}.text-button .icon{margin-left:6px;transition:transform .2s}.text-button:hover .icon{transform:translate(4px)}.tip-banner{background:#edf1e9;border-radius:7px;align-items:center;gap:20px;margin:0 55px;padding:28px 31px;display:flex}.tip-icon{color:#86a184;background:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.tip-banner h3{margin:7px 0 4px;font-family:Playfair Display,serif;font-size:22px}.tip-banner p{color:#748071;font-size:11px}.round-button{color:#fff;background:var(--coral);border-radius:50%;place-items:center;width:40px;height:40px;margin-left:auto;display:grid}.round-button:disabled{opacity:.3;cursor:not-allowed}.centered-page{place-items:center;min-height:calc(100vh - 76px);display:grid}.login-card{text-align:center;border:1px solid var(--line);width:100%;max-width:410px;box-shadow:var(--shadow);background:#fff;border-radius:8px;padding:45px}.big-mark{color:#fff;background:var(--coral);border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 21px;font-size:25px;display:grid}.login-card h1{margin:11px 0 10px;font-size:42px}.login-card>p{color:var(--muted);font-size:13px;line-height:1.7}.login-card form{text-align:left;margin-top:29px}.form-hint,.label-note{color:#a79b96;font-size:10px}.form-hint{margin:7px 0 0}.admin-page{padding-top:56px}.admin-heading{justify-content:space-between;align-items:start;padding:0 55px 36px;display:flex}.admin-heading h1{margin:13px 0 7px;font-size:47px}.admin-heading p{color:var(--muted);font-size:13px}.admin-layout{grid-template-columns:1.35fr .9fr;gap:28px;padding:0 55px;display:grid}.editor-panel,.manage-panel{border:1px solid var(--line);background:#fff;border-radius:8px;padding:30px}.panel-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;margin-bottom:25px;padding-bottom:20px;display:flex}.panel-title h2{font-size:25px}.step-number{color:var(--coral);font-family:Playfair Display,serif;font-size:24px}.editor-panel label{color:#665d59;margin:0 0 17px;font-size:11px;font-weight:700;display:block}.editor-panel input,.editor-panel textarea,.editor-panel select,.ai-modal input{border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;background:#fffdfa;border-radius:4px;outline:none;margin-top:7px;padding:11px 12px;font-size:12px;display:block}.editor-panel input:focus,.editor-panel textarea:focus,.editor-panel select:focus,.ai-modal input:focus{border-color:var(--coral);box-shadow:0 0 0 3px #d969591a}.form-row{grid-template-columns:1fr 1fr 1fr;gap:11px;display:grid}.steps-header{color:#665d59;justify-content:space-between;align-items:center;margin:27px 0 14px;font-size:11px;font-weight:700;display:flex}.steps-header label{margin:0}.add-step{color:var(--coral);background:0 0;font-size:11px;font-weight:700}.step-field{border-top:1px solid var(--line);align-items:start;gap:11px;padding:15px 0;display:flex;position:relative}.step-index{background:var(--peach);width:29px;height:29px;color:var(--coral);border-radius:50%;flex:none;place-items:center;font-size:10px;font-weight:700;display:grid}.step-inputs{flex:1}.step-inputs input,.step-inputs textarea{margin-top:0;margin-bottom:8px}.upload-row{gap:7px;display:flex}.upload-row input{flex:1;margin:0}.upload-button{white-space:nowrap;background:#fffaf7;border:1px dashed #d7c9c3;border-radius:4px;align-items:center;gap:5px;padding:9px 10px;color:var(--coral)!important;margin:0!important;font-size:10px!important;display:inline-flex!important}.step-preview{object-fit:cover;border-radius:4px;width:70px;height:45px;margin-top:3px}.remove-step{color:#b5a7a2;background:0 0;font-size:15px}.remove-step:hover,.icon-button.danger:hover{color:var(--coral)}.manage-list{flex-direction:column;gap:13px;display:flex}.manage-item{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding-bottom:13px;display:flex}.mini-food{border-radius:6px;place-items:center;width:38px;height:38px;font-size:22px;display:grid}.mini-food.rose{background:var(--peach)}.mini-food.yellow{background:var(--butter)}.mini-food.mint{background:var(--sage)}.manage-copy{flex:1;min-width:0}.manage-copy strong,.manage-copy span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.manage-copy strong{font-family:Playfair Display,serif;font-size:14px}.manage-copy span{color:#a39994;margin-top:3px;font-size:10px}.icon-button{color:#9e918c;background:0 0;width:25px;height:25px}.cancel-button{color:var(--muted);box-shadow:none;background:0 0}.detail-page{padding-top:39px}.back-link{color:var(--muted);background:0 0;align-items:center;gap:8px;font-size:12px;display:flex}.back-link:hover{color:var(--coral)}.detail-header{justify-content:space-between;align-items:end;margin:50px 55px 26px;display:flex}.detail-header h1{margin:13px 0 10px;font-size:52px}.detail-header p{color:var(--muted);font-size:13px}.ai-pill{color:var(--coral);background:#fff8f5;border:1px solid #e9c0b8;border-radius:20px;align-items:center;gap:8px;padding:11px 15px;font-size:11px;font-weight:700;display:flex}.progress-line{background:var(--line);height:2px;margin:0 55px 28px}.progress-line span{background:var(--coral);height:100%;transition:width .3s;display:block}.cook-layout{grid-template-columns:1.12fr .88fr;align-items:center;gap:58px;margin:0 55px;display:grid}.step-visual{border-radius:8px;height:380px;position:relative;overflow:hidden}.step-visual.rose{background:var(--peach)}.step-visual.yellow{background:var(--butter)}.step-visual img{object-fit:cover;mix-blend-mode:multiply;width:100%;height:100%}.step-badge{color:var(--ink);background:#ffffffd9;border-radius:4px;padding:9px 13px;font-family:Playfair Display,serif;font-size:17px;position:absolute;bottom:22px;left:22px}.step-content{max-width:350px}.step-content h2{margin:14px 0;font-family:Playfair Display,serif;font-size:37px;line-height:1.1}.step-content>p{color:var(--muted);font-size:14px;line-height:1.8}.step-controls{align-items:center;gap:12px;margin-top:28px;display:flex}.step-dots{gap:7px;margin-top:30px;display:flex}.dot{background:#ded6d1;width:24px;height:3px;padding:0}.dot.current{background:var(--coral)}.dot.done{background:#db9a8f}.ingredients-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:40px;margin:58px 55px 0;padding:23px 0;display:flex}.ingredients-strip strong{margin-top:5px;font-family:Playfair Display,serif;font-size:16px;display:block}.ingredient-list{color:var(--muted);flex-wrap:wrap;gap:8px 22px;font-size:11px;display:flex}.ingredient-list .icon{color:#79a17d;margin-right:4px}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2f2b2a66;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.ai-modal{background:#fffdfa;border-radius:9px;width:100%;max-width:440px;padding:33px;position:relative;box-shadow:0 30px 80px #2f2b2a33}.modal-close{color:#9f928d;background:0 0;font-size:24px;position:absolute;top:16px;right:18px}.ai-avatar{color:#fff;background:var(--coral);border-radius:50%;place-items:center;width:38px;height:38px;margin-bottom:19px;display:grid}.ai-modal h2{margin:8px 0;font-size:30px}.modal-intro{color:var(--muted);font-size:12px;line-height:1.6}.suggestions{flex-wrap:wrap;gap:7px;margin:22px 0 14px;display:flex}.suggestions button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:20px;padding:8px 10px;font-size:10px}.suggestions button:hover{border-color:var(--coral);color:var(--coral)}.chat-answer{color:var(--muted);background:#f7eee9;border-radius:5px;margin:13px 0;padding:15px;font-size:12px;line-height:1.65}.chat-answer strong{color:var(--coral);font-size:11px}.chat-answer p{margin:5px 0 0}.ai-modal form{gap:7px;display:flex}.ai-modal form input{margin:0}.ai-modal form button{color:#fff;background:var(--coral);border-radius:4px;flex:none;width:41px}@keyframes rise{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}@media (width<=800px){.topbar{padding:0 19px}.saved-label{display:none}nav{gap:18px;margin-left:0}.page{padding-left:19px;padding-right:19px}.hero-section{grid-template-columns:1fr;gap:42px;padding:55px 12px 35px}.hero-copy h1{font-size:53px}.hero-art{height:300px}.section-block{padding:40px 12px 55px}.recipe-grid,.admin-layout,.cook-layout{grid-template-columns:1fr}.tip-banner{margin:0 12px}.admin-page{padding-top:35px}.admin-heading,.admin-layout{padding-left:12px;padding-right:12px}.admin-heading{align-items:end}.admin-heading h1{font-size:40px}.detail-header{margin:36px 12px 24px;display:block}.detail-header h1{font-size:42px}.ai-pill{margin-top:20px}.progress-line,.cook-layout,.ingredients-strip{margin-left:12px;margin-right:12px}.step-visual{height:280px}.ingredients-strip{flex-direction:column;align-items:start;gap:15px}.ingredient-list{gap:8px 15px}}@media (width<=500px){.topbar{height:65px}.nav-link{padding:22px 0;font-size:11px}.brand{font-size:14px}.hero-copy h1{font-size:47px}.hero-actions{flex-direction:column;align-items:start;gap:15px}.recipe-grid{gap:17px}.card-image{height:190px}.section-heading h2{font-size:27px}.form-row{grid-template-columns:1fr;gap:0}.editor-panel,.manage-panel{padding:21px 17px}.upload-row{flex-direction:column}.upload-button{justify-content:center}.login-card{padding:32px 23px}.detail-header h1{font-size:37px}.cook-layout{gap:27px}.step-content h2{font-size:31px}}
