*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff4fb;color:#45283a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.shell{min-height:100vh;background:radial-gradient(circle at 8% 3%,rgba(255,108,183,.28),transparent 24%),radial-gradient(circle at 94% 9%,rgba(203,149,255,.34),transparent 27%),radial-gradient(circle at 55% 65%,rgba(255,190,224,.4),transparent 34%),linear-gradient(145deg,#fff8fc,#ffeef8 45%,#f8efff);position:relative;overflow:hidden}.shell:after,.shell:before{content:"✦";position:fixed;pointer-events:none;z-index:0;color:#ff69ad;text-shadow:38px 68px #d89cff,110px 12px #ff9fcb,185px 95px #fff,260px 30px #cfa0f8,340px 120px #ff78b7,420px 48px #fff,510px 105px #ed8fc0,610px 25px #ffb4d7,710px 92px #c998f2,810px 42px #ff6cae,890px 120px #fff;font-size:18px;opacity:.8;filter:drop-shadow(0 0 5px rgba(255,255,255,.9))}.shell:before{top:95px;left:3%;animation:twinkle 4s ease-in-out infinite}.shell:after{bottom:90px;right:8%;transform:rotate(25deg);animation:twinkle 5s ease-in-out 1s infinite}@keyframes twinkle{0%,to{opacity:.45}50%{opacity:1}}button,input,select,textarea{font:inherit}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:rgba(255,247,252,.78);border-bottom:1px solid rgba(241,158,201,.5)}.topbar-inner{max-width:1440px;margin:0 auto;padding:17px 24px;justify-content:space-between;gap:20px}.brand,.topbar-inner{display:flex;align-items:center}.brand{gap:12px}.brand-mark{width:46px;height:46px;border-radius:17px;background:linear-gradient(135deg,#ff4fa0,#e970d5 55%,#b985f5);display:grid;place-items:center;color:white;font-weight:900;box-shadow:0 10px 30px rgba(222,64,145,.34),inset 0 1px rgba(255,255,255,.7);position:relative}.brand-mark:after{content:"✦";position:absolute;right:-5px;top:-8px;color:#fff;font-size:17px;text-shadow:0 0 8px #ff70b2,0 0 14px #fff}.brand h1{font-size:21px;margin:0;letter-spacing:-.03em}.brand p{margin:2px 0 0;color:#b86c95;font-size:12px}.nav{display:flex;gap:7px;flex-wrap:wrap}.nav button{border:0;background:transparent;padding:10px 14px;border-radius:999px;color:#a85e86;font-weight:750;cursor:pointer;transition:.2s}.nav button:hover{background:#ffe3f2;color:#dc398b}.nav button.active{background:linear-gradient(135deg,#fff,#ffe4f3);color:#db3589;box-shadow:0 7px 22px rgba(211,67,139,.16);border:1px solid #f6bddb}.main{max-width:1440px;margin:0 auto;padding:34px 24px 80px;position:relative;z-index:1}.hero{display:grid;grid-template-columns:1.35fr .65fr;grid-gap:22px;gap:22px;align-items:stretch}.card{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(255,247,252,.91));border:1px solid rgba(246,181,215,.85);border-radius:30px;box-shadow:0 18px 55px rgba(196,71,137,.12),0 2px 8px rgba(199,136,171,.07);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-main{padding:44px;min-height:300px;background:radial-gradient(circle at 88% 15%,rgba(255,255,255,.95),transparent 17%),radial-gradient(circle at 75% 80%,rgba(225,185,255,.5),transparent 32%),linear-gradient(135deg,#ffe5f3,#fff9fd 48%,#f2e4ff);position:relative;overflow:hidden}.hero-main:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.95) 1px,transparent 1.5px);background-size:23px 23px;opacity:.55;pointer-events:none}.hero-main:after{content:"✦  ✧  ✦";position:absolute;right:34px;top:32px;color:#e9519b;font-size:24px;letter-spacing:10px;transform:rotate(8deg);text-shadow:0 0 8px #fff,0 0 16px #ffb3d6}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:900;color:#e43e90}.hero h2{font-size:48px;line-height:1.02;letter-spacing:-.055em;margin:14px 0 16px;background:linear-gradient(110deg,#51263e,#e3358a 58%,#9a52d1);-webkit-background-clip:text;background-clip:text;color:transparent}.hero h2,.hero p{max-width:760px;position:relative}.hero p{color:#965d7d;font-size:17px;line-height:1.7}.hero-side{padding:28px;background:linear-gradient(180deg,#ffe9f5,#fff 55%,#fbf0ff)}.hero-side h3,.section-head h3{margin:0;font-size:22px;letter-spacing:-.03em}.quick-actions{display:grid;grid-gap:12px;gap:12px;margin-top:20px}.quick{display:flex;align-items:center;gap:12px;border:1px solid #f5c6df;background:linear-gradient(135deg,#fff,#fff0f8);padding:14px 16px;border-radius:18px;font-weight:750;color:#75405e;cursor:pointer;transition:.2s}.quick:hover{transform:translateY(-2px) scale(1.005);border-color:#ee8fbd;box-shadow:0 10px 25px rgba(214,64,143,.16)}.quick svg{color:#e33f91}.grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:22px;gap:22px;margin-top:22px}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.pad{padding:27px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-head p{margin:5px 0 0;color:#ad7292;font-size:13px}.btn{border:0;border-radius:15px;padding:11px 16px;font-weight:850;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,#ff559f,#df3b92 58%,#c357c8);color:#fff;box-shadow:0 9px 24px rgba(218,53,143,.27)}.btn-soft{background:linear-gradient(135deg,#ffe4f2,#f7e9ff);color:#c83b83}.btn-peach{background:linear-gradient(135deg,#ffddec,#eee1ff);color:#a24785}.stat{padding:23px;position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#fff0f8)}.stat:after{content:"✦";position:absolute;right:18px;top:15px;color:#e84b99;font-size:18px;text-shadow:0 0 9px #ffb7d8}.stat strong{display:block;font-size:34px;letter-spacing:-.04em;color:#d93286}.stat span{color:#ad7292;font-size:13px}.recipe-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:12px;gap:12px}.recipe-card{overflow:hidden;border:1px solid #f2c8dd;border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(199,69,137,.1);transition:.2s;min-width:0}.recipe-card:hover{transform:translateY(-3px);box-shadow:0 13px 28px rgba(199,69,137,.15)}.recipe-image{height:105px;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.9),transparent 18%),linear-gradient(135deg,#ffd5e9,#e9d3ff 55%,#fff0f7);display:grid;place-items:center;color:#c96f9d;font-size:11px;background-size:cover;background-position:50%}.recipe-body{padding:12px}.recipe-body h4{font-size:14px;line-height:1.25;margin:0 0 6px}.recipe-body .muted{font-size:11px}.recipe-body .chips{gap:4px;margin-top:8px}.recipe-body .chip{font-size:9px;padding:5px 7px}.recipe-body details{font-size:12px}.recipe-body .btn{padding:8px 9px;border-radius:11px;font-size:11px}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.chip{font-size:11px;font-weight:850;padding:8px 11px;border-radius:999px;background:linear-gradient(135deg,#ffe5f2,#f3e5ff);color:#b84380;border:1px solid #f4c3dc;cursor:pointer}.muted{color:#b27a99;font-size:13px}.grocery-row,.journal-row{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #f9d9e9}.grocery-row:last-child,.journal-row:last-child{border-bottom:0}.grocery-row input[type=checkbox]{margin-top:3px;accent-color:#e63e90}.grow{flex:1 1}.done{text-decoration:line-through;color:#c89cb3}.empty{padding:28px;border:1px dashed #ebadd0;border-radius:20px;text-align:center;color:#b66f96;background:linear-gradient(135deg,#fff8fc,#fff0f8)}.modal-backdrop{position:fixed;inset:0;z-index:60;background:rgba(86,28,62,.3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px}.modal{width:min(860px,100%);max-height:92vh;overflow:auto;background:linear-gradient(180deg,#fff,#fff4fa);border:1px solid #efb5d3;border-radius:29px;padding:27px;box-shadow:0 28px 90px rgba(111,31,77,.25)}.modal h3{margin:0 0 6px;font-size:27px}.modal-sub{margin:0 0 22px;color:#ac718f}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.field{display:grid;grid-gap:7px;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:850;color:#87506f}.field input,.field select,.field textarea{width:100%;border:1px solid #efbfd8;background:#fff9fc;border-radius:15px;padding:12px 13px;color:#4b2b3e;outline:none}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#e85c9f;box-shadow:0 0 0 3px rgba(232,92,159,.14)}.photo-preview{height:170px;border-radius:18px;background:linear-gradient(135deg,#ffe5f2,#f1e4ff) 50%/cover no-repeat;border:1px dashed #eaa8ca;display:grid;place-items:center;color:#b86e95;margin-top:8px}.modal-actions{justify-content:flex-end;margin-top:20px}.modal-actions,.searchbar{display:flex;gap:10px}.searchbar input{flex:1 1;border:1px solid #efbfd8;border-radius:15px;padding:12px 14px;background:#fff9fc;color:#4b2b3e}.recipe-detail h4{font-size:30px;margin:10px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.list-clean{padding-left:20px;line-height:1.8}.tiny-link{background:none;border:0;padding:0;color:#d63c88;font-weight:850;cursor:pointer}.journal-photo{width:74px;height:74px;border-radius:17px;object-fit:cover;background:#ffe7f3}.quote{font-family:Georgia,serif;font-size:24px;line-height:1.45;color:#8c486e}.footer-note{margin-top:30px;text-align:center;color:#c486a6;font-size:12px}@media(max-width:1200px){.recipe-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1000px){.hero{grid-template-columns:1fr}.span-4,.span-5,.span-6,.span-7,.span-8{grid-column:span 12}.recipe-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:800px){.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.topbar-inner{align-items:flex-start;flex-direction:column}.nav{width:100%;overflow:auto;flex-wrap:nowrap}.main{padding:24px 14px 60px}.hero-main{padding:29px}.hero h2{font-size:38px}.hero-main:after{font-size:16px;right:14px;top:18px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid,.two-col{grid-template-columns:1fr}.card{border-radius:24px}.modal{padding:20px;border-radius:22px}}@media(max-width:430px){.recipe-grid{grid-template-columns:1fr 1fr}.recipe-image{height:95px}.recipe-body{padding:10px}}