@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Manrope:wght@400;500;600&family=Marck+Script&display=swap";:root{--canvas:#faf7f1;--surface:#fffcf8;--muted:#f3efe7;--lilac:#eee9f2;--lavender:#a995c2;--plum:#756181;--ink:#514c49;--ink-muted:#7d7670;--sage:#aab69e;--border:#ded5d1;--danger:#ad665e;--shadow:0 6px 18px #5b485814}*{box-sizing:border-box}html{background:#faf7f1}body{color:var(--ink);background:#faf7f1;margin:0;font:400 15px/1.5 Manrope,Arial,sans-serif}body:before{content:"";z-index:0;pointer-events:none;background:var(--watercolor-image) center top/cover no-repeat;position:fixed;inset:0}body:after{content:"";z-index:1;pointer-events:none;background:#ffffff8a;position:fixed;inset:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--lilac);outline-offset:2px}.app{z-index:2;width:min(100%,720px);min-height:100dvh;margin:0 auto;padding:22px 16px 116px;position:relative}.display,h1,h2,h3{color:var(--plum);margin:0;font-family:Cormorant Garamond,Georgia,serif;font-weight:500;line-height:1.04}.display{font-size:clamp(42px,13vw,62px)}h1{font-size:clamp(38px,11vw,52px)}h2{font-size:31px}h3{font-size:25px}.page-head{text-align:center;margin:10px 0 22px}.eyebrow{letter-spacing:.04em;color:var(--ink-muted);font-size:11px;font-weight:600}.leaf{color:var(--sage);letter-spacing:5px;margin:9px 0}.brand-head{margin:0 0 18px}.brand-mark{grid-template-columns:132px minmax(0,1fr);align-items:center;gap:14px;width:min(100%,430px);margin:0 auto;padding:5px 0;display:grid}.brand-art{grid-row:1/span 2;width:132px;height:132px;overflow:hidden}.brand-art .brand-logo{object-fit:contain;width:190px;max-width:none;height:190px;display:block;transform:translate(-29px,-39px)}.brand-mark .brand-kicker{color:var(--ink-muted);letter-spacing:.045em;grid-area:1/2;align-self:end;margin:0 0 2px;font-size:10px;font-weight:600}.brand-mark h1{letter-spacing:-.025em;white-space:nowrap;grid-area:2/2;align-self:start;margin:-3px 0 0;font-family:Marck Script,cursive;font-size:clamp(47px,13.2vw,65px);font-weight:400;line-height:.9}.brand-mark h1.brand-title{white-space:normal;overflow-wrap:anywhere;font-size:clamp(36px,10vw,49px);line-height:.9}.title-with-logo{justify-content:center;align-items:center;gap:8px;margin:3px 0 0;display:flex}.brand-logo.small{object-fit:contain;width:38px;height:38px}.section{margin-top:32px}.home-categories{margin-top:clamp(60px,9vh,150px)}.home-section-head{justify-content:space-between;align-items:end;gap:12px;margin:0 1px 13px;display:flex}.home-section-head h2{margin-top:2px}.catalog-actions{gap:10px;margin:0 0 14px;display:flex}.catalog-actions .primary,.catalog-actions .secondary{flex:1;min-height:46px;padding:10px}.hero{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:25px;grid-template-columns:1fr;display:grid;overflow:hidden}.hero img{object-fit:cover;width:100%;height:270px;display:block}.hero-copy{text-align:center;padding:20px 20px 23px}.hero-copy h1{margin:6px 0;font-size:38px}.meta{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.hero-copy .meta{justify-content:center}.section-title{text-align:center;margin-bottom:17px}.category-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:82px;gap:8px;display:grid}.tile{text-align:center;color:#604a6e;background:linear-gradient(#fffdfaf7,#fffdfaf7) padding-box padding-box,linear-gradient(135deg,#795f90 0%,#b699c4 48%,#8ba184 100%) border-box;border:2px solid #0000;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:4px;height:82px;min-height:0;padding:7px 5px;font:600 16px/1.05 Cormorant Garamond,Georgia,serif;display:flex;overflow:hidden;box-shadow:0 5px 14px #5b485824}.tile span{-webkit-line-clamp:2;text-shadow:0 1px #ffffffa6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tile svg{color:#718561;stroke-width:1.8px;flex:none;width:20px;height:20px}.tile:hover,.tile:focus-visible{background:linear-gradient(#fffdf9,#fffdf9) padding-box padding-box,linear-gradient(135deg,#60456f 0%,#c09ccc 48%,#718b68 100%) border-box;box-shadow:0 6px 17px #5b485833}.nav{z-index:5;height:82px;padding-bottom:env(safe-area-inset-bottom);background:#fffcf8f0;border-top:1px solid #d1bed3cc;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px 18px #5b485814}.nav a{min-width:0;color:var(--ink-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:10px;display:flex;position:relative}.nav a.active{color:var(--lavender);font-weight:600}.nav a.active:after{content:"";background:var(--lavender);border-radius:999px;width:28px;height:3px;position:absolute;bottom:9px}.nav-icon{width:30px;height:29px;color:var(--sage);place-items:center;display:grid}.back-to-home{min-height:38px;color:var(--plum);align-items:center;margin:-4px 0 9px;font-size:13px;font-weight:600;display:inline-flex}.search{border:1px solid var(--border);background:var(--surface);width:100%;height:54px;color:var(--ink);border-radius:20px;padding:0 18px;font-size:16px}.chips{scrollbar-width:none;gap:8px;padding:15px 0 17px;display:flex;overflow-x:auto}.chip{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--ink);border-radius:999px;flex:none;padding:8px 14px;font-size:13px}.chip.active,.primary{border-color:var(--lavender);background:var(--lavender);color:#fff}.recipes{gap:12px;display:grid}.recipe-card{border:1px solid var(--border);background:var(--surface);min-height:130px;box-shadow:var(--shadow);border-radius:22px;grid-template-columns:42% 1fr;display:grid;overflow:hidden}.recipe-card img{object-fit:cover;width:100%;height:100%;display:block}.placeholder{background:linear-gradient(135deg,var(--lilac),var(--muted));min-height:130px;color:var(--plum);text-align:center;place-items:center;padding:8px;font:500 25px Cormorant Garamond,Georgia,serif;display:grid}.card-copy{flex-direction:column;justify-content:center;padding:16px;display:flex}.card-copy h3{margin:5px 0 12px;font-size:27px}.detail-hero{margin:-22px -16px 25px;position:relative}.detail-hero img,.detail-hero .placeholder{object-fit:cover;width:100%;height:300px;display:block}.back{border:1px solid var(--border);width:46px;height:46px;color:var(--plum);background:#fffcf8ed;border-radius:50%;font-size:24px;position:absolute;top:16px;left:16px}.detail h1{text-align:center}.recipe-author{text-align:center;color:var(--ink-muted);margin:7px 0 20px;font-size:14px;line-height:1.35}.info{text-align:center;color:var(--ink-muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:20px 0 28px;font-size:12px;display:grid}.servings{justify-content:center;align-items:center;gap:16px;margin:16px;display:flex}.icon-btn{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--plum);border-radius:50%;font-size:23px}.panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:22px;padding:18px}.ingredient{border-bottom:1px dashed var(--border);grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:13px 0;display:grid}.ingredient:last-child{border:0}.ingredient-section+.ingredient-section{margin-top:18px}.ingredient-section h3{color:var(--plum);margin:0 0 3px;font-size:22px}.ingredient-group{padding:4px 0 14px}.ingredient-group+.ingredient-group{border-top:1px dashed var(--border);padding-top:15px}.ingredient-group h3{color:var(--plum);margin:0 0 2px;font-size:23px}.compact{margin-top:8px;font-size:12px;min-height:38px!important;padding:8px 12px!important}.step{grid-template-columns:34px minmax(0,1fr);gap:13px;margin:18px 0;display:grid}.number{background:var(--lilac);width:32px;height:32px;color:var(--plum);border-radius:50%;place-items:center;font-weight:600;display:grid}.primary,.secondary,.danger{border:1px solid var(--lavender);border-radius:18px;justify-content:center;align-items:center;min-height:50px;padding:12px 18px;font-weight:600;display:inline-flex}.secondary{background:var(--surface);color:var(--plum)}.danger{color:var(--danger);background:#fbefed;border-color:#e5c2bd}.actions{flex-wrap:wrap;gap:9px;margin:22px 0;display:flex}.empty{text-align:center;padding:38px 17px}.empty div{color:var(--lavender);font-size:45px}.form{gap:14px;display:grid}.form .panel{padding:17px}.form h2{margin-bottom:12px}.field{border-bottom:1px solid var(--border);padding:9px 0}.field:last-child{border-bottom:0}.field label{color:var(--ink-muted);margin-bottom:5px;font-size:12px;font-weight:600;display:block}.field input,.field select,.field textarea,.note{width:100%;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:10px;outline:0}.field input:focus,.field select:focus,.field textarea:focus,.note:focus{border-color:var(--lavender)}.field textarea,.note{background:var(--canvas);min-height:90px;padding:10px}.row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.toast{z-index:10;background:var(--plum);color:#fff;text-align:center;border-radius:999px;max-width:calc(100% - 32px);padding:12px 17px;font-size:13px;position:fixed;bottom:94px;left:50%;transform:translate(-50%)}.profile{text-align:center;padding-top:34px}.avatar{background:var(--lilac);width:84px;height:84px;color:var(--plum);border-radius:50%;place-items:center;margin:0 auto 14px;font:50px Cormorant Garamond,Georgia,serif;display:grid}@media (width>=760px){.app{padding:38px 28px 120px}.home-recipes{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1.08fr .92fr}.hero img{height:340px}.hero-copy{justify-content:center;display:flex}.category-grid{grid-template-columns:repeat(4,1fr)}.recipes{grid-template-columns:repeat(2,1fr)}.recipe-card{grid-template-columns:1fr}.recipe-card img,.recipe-card .placeholder{height:190px}.card-copy{min-height:128px}.detail-hero{margin:-38px -28px 30px}.detail-hero img,.detail-hero .placeholder{height:420px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.recipe-card{min-height:0;display:block}.recipe-card-link{grid-template-columns:42% 1fr;min-height:130px;display:grid}.recipe-card-actions{gap:8px;padding:0 12px 12px;display:flex}.recipe-card-actions .secondary,.recipe-card-actions .danger{border-radius:13px;flex:1;min-height:40px;padding:8px 12px;font-size:12px}@media (width>=760px){.recipe-card-link{grid-template-columns:1fr}.recipe-card-link img,.recipe-card-link .placeholder{height:190px}}.catalog-actions .primary{width:100%}.catalog-category{color:var(--plum);margin:5px 0 10px;font:500 22px Cormorant Garamond,Georgia,serif}.placeholder{background:#fffcf8c7;padding:12px}.placeholder-logo{object-fit:contain!important;width:78px!important;height:78px!important;display:block!important}.catalog-add{z-index:4;width:min(100% - 32px,688px);min-height:52px;position:fixed;bottom:94px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #60496d33}.form-photo-placeholder{border:1px dashed var(--border);min-height:210px;color:var(--ink-muted);text-align:center;background:#fffcf899;border-radius:16px;align-content:center;place-items:center;gap:8px;font-size:12px;display:grid}.form-photo-placeholder img{object-fit:contain;width:112px;height:112px}.form-photo-preview{object-fit:cover;border-radius:16px;width:100%;max-height:260px;display:block}.field-hint{color:var(--ink-muted);margin:9px 0 0;font-size:11px}.detail-hero-empty .placeholder{place-items:center;height:180px;padding:12px;display:grid}.detail-hero-empty .placeholder-logo{width:112px!important;height:112px!important}.row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.row>*{min-width:0}.field span{min-width:0;display:flex}.field span input,.field span select{min-width:0!important}html,body{max-width:100%;overflow-x:hidden}.publish-toggle{color:var(--plum);align-items:center;gap:9px;padding-top:13px;font-size:14px;font-weight:600;display:flex}.publish-toggle input{width:18px;height:18px;accent-color:var(--lavender)}.auth-tabs{justify-content:center;gap:8px;margin:19px 0 12px;display:flex}.auth-tabs button{border:1px solid var(--border);background:var(--surface);min-height:38px;color:var(--ink-muted);border-radius:999px;padding:7px 12px;font-size:12px}.auth-tabs button.active{border-color:var(--lavender);background:var(--lilac);color:var(--plum);font-weight:600}.profile .field{text-align:left}.profile .primary{width:100%;margin-top:19px}.backup-tools{border-top:1px dashed var(--border);margin-top:23px;padding-top:18px}.backup-tools h3{color:var(--plum);margin:0 0 10px;font-size:22px}.backup-tools .secondary{width:100%;margin-top:8px}.backup-restore{cursor:pointer}.pdf-export{margin-top:14px!important}.pdf-export-hint{color:var(--ink-muted);margin:8px 0 0;font-size:11px;line-height:1.35}.profile .eyebrow{margin-top:15px}.chip.active{color:#fff;background:linear-gradient(135deg,#795f90 0%,#b699c4 50%,#8ba184 100%);border-color:#886b9a;box-shadow:0 5px 14px #5b48582e}.chip.active:hover{background:linear-gradient(135deg,#60456f 0%,#aa87b9 50%,#718b68 100%)}.primary{border-color:var(--lavender);background:var(--lavender);color:#fff;box-shadow:none}.primary:hover{background:var(--lavender)}.nav a.active{color:#7d6290}.nav a.active .nav-icon{color:#795f90}.nav a.active:after{background:linear-gradient(90deg,#795f90,#b699c4,#8ba184)}.auth-tabs button.active{color:#604a6e;background:linear-gradient(135deg,#eee7f1,#f8eff5 55%,#eef3e9);border-color:#8c70a0;box-shadow:0 3px 9px #5b48581f}.home-welcome{width:min(100%,430px);color:var(--ink-muted);margin:32px auto 0;padding-left:4px}.home-welcome p{color:var(--plum);margin:0;font:700 25px/1.1 Cormorant Garamond,Georgia,serif}.home-welcome span{font-size:12px}.home-welcome+.home-categories{margin-top:32px}.lavender-icon{color:#819173;fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;overflow:visible;width:24px!important;height:24px!important}.lavender-icon .lavender-buds{fill:#a882ba;stroke:#a882ba;stroke-width:.45px}.recipe-card-link{grid-template-columns:112px minmax(0,1fr);height:130px;min-height:130px}.recipe-card-link>img,.recipe-card-link>.placeholder{object-fit:cover;width:112px;height:130px;min-height:0;max-height:130px}@media (width>=760px){.recipe-card-link{grid-template-columns:1fr;height:auto}.recipe-card-link>img,.recipe-card-link>.placeholder{width:100%;height:190px;max-height:190px}}html,body{width:100%;min-width:0;overflow-x:clip}body{overflow-wrap:break-word}img,svg,video,canvas{max-width:100%}.app,.app>*,.detail,.form,.panel,.field,.row,.ingredient-group,.ingredient-section,.actions{min-width:0;max-width:100%}.form{width:100%}.panel{overflow:hidden}.field,.field>*{min-width:0}.field input,.field select,.field textarea,.note{min-width:0;max-width:100%;font-size:16px;display:block}.field textarea,.note{resize:vertical;overflow-wrap:anywhere}.field span{width:100%;max-width:100%;overflow:hidden}.field span input,.field span select{flex:1 1 0;max-width:none}.row{width:100%}.actions>*{white-space:normal;text-align:center;max-width:100%}.primary,.secondary,.danger{white-space:normal;text-align:center;min-width:0}.form h2,.brand-title,.detail h1,.card-copy h3,.ingredient span,.step div{overflow-wrap:anywhere}@media (width<=374px){.app{padding-left:12px;padding-right:12px}.brand-mark{grid-template-columns:112px minmax(0,1fr);gap:10px}.brand-art{width:112px;height:112px}.brand-art .brand-logo{width:164px;height:164px;transform:translate(-26px,-34px)}.brand-mark h1.brand-title{font-size:clamp(31px,9.6vw,40px)}.panel,.form .panel{padding:14px}.row{grid-template-columns:1fr;gap:0}.catalog-add{width:calc(100% - 24px)}}.update-notice{z-index:11;background:var(--surface);color:var(--plum);text-align:center;border:1px solid #8c70a0;border-radius:17px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:11px 13px;font-size:12px;display:flex;position:fixed;bottom:94px;left:16px;right:16px;box-shadow:0 8px 22px #5b48582e}.update-notice button{background:var(--lavender);color:#fff;border:0;border-radius:11px;min-height:34px;padding:6px 11px;font-weight:600}.update-notice .update-later{color:var(--plum);background:0 0;text-decoration:underline}
