:root{--ink:#47404d;--muted:#746d78;--blue:#dfe8f6;--blue-deep:#c9d8ee;--lilac:#e4d5e9;--lilac-deep:#a8658e;--butter:#f6e49a;--paper:#fbfaf7;--white:#fff;--line:rgba(71,64,77,.13);--shadow:0 18px 50px rgba(77,65,83,.10);--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Avenir,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.5}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-header{min-height:82px;padding:10px max(24px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(251,250,247,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.app-brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.08}
.app-brand img{width:52px;height:52px;object-fit:contain}
.app-brand b{display:block;color:var(--lilac-deep);font-weight:400;font-style:italic}
.install-button{border:0;border-radius:999px;background:var(--butter);color:var(--ink);padding:12px 20px;font-weight:700;cursor:pointer}.install-button:disabled{background:var(--blue);color:var(--muted);cursor:default}
.app-hero{max-width:1120px;margin:0 auto;padding:70px 24px 42px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:60px;align-items:end}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:13px;font-weight:700;margin:0 0 18px;color:#795f78}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:.98;letter-spacing:-.045em;margin:0}
h1{font-size:clamp(48px,7vw,84px);max-width:760px}
h1 em{color:var(--lilac-deep);font-weight:400}
.app-hero>div>p:last-child{font-size:20px;max-width:630px;margin:25px 0 0;color:var(--muted)}
.progress-card{background:var(--blue);border-radius:42px;padding:24px;display:flex;align-items:center;gap:20px;box-shadow:var(--shadow)}
.progress-ring{--progress:0deg;flex:0 0 92px;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--lilac-deep) var(--progress),rgba(255,255,255,.75) 0);position:relative}
.progress-ring:before{content:"";position:absolute;inset:9px;background:var(--blue);border-radius:50%}
.progress-ring strong{position:relative;font-size:18px}
.progress-card span,.progress-card small{display:block}.progress-card span{font-weight:700}.progress-card small{margin-top:4px;color:var(--muted)}
.list-shell{max-width:1120px;margin:0 auto 48px;background:var(--white);border-radius:44px;box-shadow:var(--shadow);overflow:hidden}
.list-controls{padding:26px 30px 22px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto minmax(220px,1fr);gap:18px 30px;align-items:center}
.area-tabs{display:flex;background:var(--blue);padding:5px;border-radius:999px}
.area-tabs button,.filter-button{border:0;cursor:pointer;color:var(--ink);background:transparent;font-weight:700}
.area-tabs button{padding:12px 21px;border-radius:999px;white-space:nowrap}
.area-tabs button[aria-selected="true"]{background:var(--white);box-shadow:0 4px 16px rgba(60,60,75,.1)}
.search-box input{width:100%;border:1px solid var(--line);border-radius:999px;padding:13px 20px;background:var(--paper);color:var(--ink);outline:none}
.search-box input:focus{border-color:var(--lilac-deep);box-shadow:0 0 0 3px rgba(168,101,142,.12)}
.filter-row{grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap}
.filter-button{padding:9px 14px;border:1px solid var(--line);border-radius:999px;font-size:14px}
.filter-button.is-active{background:var(--ink);color:white;border-color:var(--ink)}
.list-content{padding:8px 30px 34px}
.list-group{padding-top:28px}
.group-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:12px}
.group-heading h2{font-size:31px}.group-heading span{color:var(--muted);font-size:14px;white-space:nowrap}
.shopping-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.shopping-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:15px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}
.item-check{width:29px;height:29px;border:2px solid #b8afba;border-radius:10px;background:white;display:grid;place-items:center;cursor:pointer;color:white;font-weight:800;transition:.18s ease}
.item-check[aria-pressed="true"]{border-color:var(--lilac-deep);background:var(--lilac-deep)}
.item-check[aria-pressed="true"]:after{content:"✓"}
.item-copy{min-width:0}.item-copy strong{display:block;font-size:16px}.item-copy small{display:block;color:var(--muted);font-size:14px;margin-top:2px}
.shopping-item.is-done .item-copy strong{text-decoration:line-through;color:#8f8891}.shopping-item.is-done{opacity:.72}
.buy-button{border:0;border-radius:999px;background:var(--butter);text-decoration:none;padding:10px 14px;font-size:14px;font-weight:700;white-space:nowrap}
.buy-button:hover{background:#f1d872}
.item-recommendation{display:grid;justify-items:end;gap:5px;max-width:250px}.item-recommendation small{color:var(--muted);font-size:13px;line-height:1.3;text-align:right}
.empty-state{text-align:center;padding:80px 24px}.empty-state span{display:grid;place-items:center;margin:auto;width:66px;height:66px;border-radius:50%;background:var(--lilac);font-size:30px}.empty-state h2{font-size:34px;margin-top:18px}.empty-state p{color:var(--muted)}
.app-note{max-width:1120px;margin:0 auto 70px;background:var(--lilac);border-radius:44px;padding:38px 42px;display:grid;grid-template-columns:.9fr 1.45fr auto;align-items:center;gap:35px}.app-note span{font-size:13px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.app-note h2{font-size:34px;margin-top:8px}.app-note p{margin:0}.privacy-copy ul{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:5px}.privacy-copy li:before{content:"✓";font-weight:800;color:#815d7b;margin-right:8px}.app-note button{border:0;background:transparent;text-decoration:underline;cursor:pointer;color:var(--ink);white-space:nowrap}
footer{background:var(--ink);color:white;padding:52px 0 calc(28px + var(--safe-bottom));font-size:13px}footer .page-width{width:min(1120px,calc(100% - 48px));margin-inline:auto}.footer-main{display:grid;grid-template-columns:.8fr 1.1fr 1.35fr;align-items:center;gap:38px}.footer-brand{display:inline-flex;align-items:center;gap:11px;color:white;text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.08}.footer-brand img{width:51px;height:51px;object-fit:contain}.footer-brand b{display:block;color:var(--butter);font-weight:400;font-style:italic}.footer-main>p{margin:0;color:#ddd7e0;font-size:14px}.footer-main>p strong{color:white}.footer-main>p a{color:var(--butter);font-weight:700}.footer-main nav{display:flex;justify-content:flex-end;gap:10px 16px;flex-wrap:wrap}.footer-main nav a{color:white;font-size:13px}.footer-legal{margin-top:38px;padding-top:22px;border-top:1px solid rgba(255,255,255,.15);color:#c5bec9}.footer-legal p{margin:7px 0;font-size:13px;line-height:1.55}.footer-legal strong{color:#e8e3eb}
dialog{border:0;border-radius:34px;padding:36px;max-width:500px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 28px 90px rgba(35,28,39,.35)}dialog::backdrop{background:rgba(46,39,49,.55);backdrop-filter:blur(5px)}dialog>img{width:80px;height:80px;display:block;margin:0 auto 12px}dialog h2{text-align:center;font-size:36px;margin-bottom:26px}.dialog-close{position:absolute;right:16px;top:13px;border:0;background:transparent;font-size:32px;cursor:pointer}.install-privacy{margin:18px 0 0;padding:15px 17px;border-radius:18px;background:var(--blue);font-size:14px;color:var(--muted)}.install-privacy strong{color:var(--ink)}
.welcome-dialog{max-width:620px;padding:40px}.welcome-dialog>img{width:72px;height:72px}.welcome-dialog .dialog-kicker{margin:0 0 8px;color:var(--lilac-deep);font-size:14px;font-weight:700;letter-spacing:.1em;text-align:center;text-transform:uppercase}.welcome-dialog h2{max-width:500px;margin:0 auto 18px}.welcome-dialog>p:not(.dialog-kicker):not(.welcome-fineprint){margin:0 auto 22px;max-width:520px;color:var(--muted);text-align:center}.welcome-benefits{list-style:none;margin:0;padding:20px 22px;background:var(--blue);border-radius:24px;display:grid;gap:13px}.welcome-benefits li{padding-left:28px;position:relative}.welcome-benefits li:before{content:"✓";position:absolute;left:0;top:0;color:var(--lilac-deep);font-weight:800}.welcome-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.welcome-actions button{min-height:50px;border-radius:999px;padding:10px 18px;font-weight:700;cursor:pointer}.welcome-primary{border:0;color:white;background:var(--lilac-deep)}.welcome-secondary{border:1px solid var(--line);color:var(--ink);background:white}.welcome-fineprint{margin:17px 0 0;color:var(--muted);font-size:14px;line-height:1.45}
.install-dialog{max-width:690px;max-height:min(92dvh,900px);overflow:auto;padding:32px 38px 30px}.install-dialog>img{width:64px;height:64px;margin-bottom:5px}.install-dialog .dialog-kicker{margin:0 0 6px;color:var(--lilac-deep);font-size:12px;font-weight:700;letter-spacing:.12em;text-align:center;text-transform:uppercase}.install-dialog h2{max-width:540px;margin:0 auto 10px;font-size:34px}.install-intro{max-width:520px;margin:0 auto 20px;text-align:center;color:var(--muted)}.platform-guide{display:grid;grid-template-columns:220px minmax(0,1fr);gap:26px;align-items:center;padding:23px;border-radius:27px;background:var(--paper);border:1px solid var(--line)}.phone-demo{position:relative;width:190px;height:270px;margin:auto;border:8px solid var(--ink);border-radius:29px;background:white;overflow:hidden;box-shadow:0 12px 28px rgba(71,64,77,.18)}.phone-demo:before{content:"";position:absolute;z-index:5;top:6px;left:50%;width:54px;height:7px;border-radius:9px;background:var(--ink);transform:translateX(-50%)}.demo-browser{height:53px;padding:24px 10px 7px;background:#f2f0f2;font-size:9px;display:flex;align-items:center;justify-content:space-between}.demo-browser span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-browser b{font-size:22px;line-height:1}.demo-sheet{position:absolute;z-index:3;left:8px;right:8px;bottom:44px;padding:11px 9px 16px;border-radius:15px;background:#f5f3f5;box-shadow:0 6px 20px rgba(33,30,35,.2);font-size:10px}.demo-sheet b{display:flex;align-items:center;gap:7px;margin-top:12px}.demo-handle{display:block;width:32px;height:3px;margin:auto;border-radius:4px;background:#c8c3ca}.home-plus{display:grid;place-items:center;width:22px;height:22px;border:1px solid #85808a;border-radius:5px;font-size:15px}.demo-toolbar{position:absolute;z-index:4;left:0;right:0;bottom:0;height:43px;padding:8px 13px;display:flex;justify-content:space-between;align-items:center;background:#eeeaf0;font-size:18px}.share-symbol,.share-mini{display:inline-grid;place-items:center;width:25px;height:25px;border:1.5px solid currentColor;border-top:0;border-radius:4px;font-style:normal;font-weight:700}.share-symbol{color:var(--lilac-deep);background:white;box-shadow:0 0 0 5px rgba(168,101,142,.15)}.demo-callout{position:absolute;z-index:6;right:6px;bottom:52px;padding:5px 8px;border-radius:999px;background:var(--butter);font-size:9px;font-weight:800}.phone-demo-android .android-menu{position:absolute;z-index:4;right:7px;top:48px;width:125px;padding:10px 0;border-radius:8px;background:white;box-shadow:0 8px 25px rgba(33,30,35,.25);display:grid;font-size:10px}.android-menu span,.android-menu strong{padding:8px 12px}.android-menu strong{background:var(--blue);color:var(--lilac-deep)}.phone-demo-android .demo-callout{top:56px;right:112px;bottom:auto;white-space:nowrap}.install-step-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.install-step-list li{display:grid;grid-template-columns:32px 1fr;gap:11px;align-items:start}.install-step-list li>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--lilac);color:#75536e;font-weight:800}.install-step-list div{padding-top:4px}.browser-note{grid-column:1/-1;margin:0;padding:12px 15px;border-radius:16px;background:#fff4c9;color:var(--ink);font-size:14px}.desktop-install-icon{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 15px;border-radius:15px;background:white;border:1px solid var(--line);color:var(--muted);font-size:14px}.desktop-install-icon b{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--blue);color:var(--lilac-deep);font-size:22px}.platform-guide[data-platform="desktop"]{grid-template-columns:1fr}.platform-guide[data-platform="desktop"] .install-step-list{grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){body{font-size:16px}.app-header{min-height:72px;padding:8px 15px}.app-brand{font-size:18px}.app-brand img{width:46px;height:46px}.install-button{font-size:13px;padding:10px 13px}.app-hero{padding:42px 15px 28px;display:block}.app-hero>div>p:last-child{font-size:17px}.progress-card{margin-top:28px;border-radius:30px}.list-shell{margin:0 0 28px;border-radius:30px}.list-controls{padding:18px 15px;display:block}.area-tabs{width:100%}.area-tabs button{flex:1;padding:11px 8px}.search-box{display:block;margin-top:13px}.filter-row{margin-top:13px;gap:7px}.filter-button{font-size:13px;padding:8px 11px}.list-content{padding:2px 15px 26px}.group-heading{align-items:start}.group-heading h2{font-size:27px}.shopping-item{grid-template-columns:auto minmax(0,1fr);gap:11px;padding:14px 0}.item-recommendation{grid-column:2;justify-items:start;max-width:100%;margin-top:-2px}.item-recommendation small{text-align:left}.buy-button{justify-self:start;margin-top:0}.item-check{width:28px;height:28px}.app-note{margin:0 15px 36px;border-radius:30px;padding:28px 24px;display:block}.app-note .privacy-copy>p{margin:16px 0 0}.privacy-copy ul{margin-bottom:10px}.app-note button{padding:8px 0}footer{padding-top:38px}footer .page-width{width:min(100% - 40px,1120px)}.footer-main{grid-template-columns:1fr;gap:24px}.footer-main nav{justify-content:flex-start}.footer-legal{margin-top:30px}.progress-ring{width:76px;height:76px;flex-basis:76px}}
@media(max-width:390px){.install-button{max-width:100px;line-height:1.1}.app-brand span{font-size:16px}h1{font-size:46px}}
@media(max-width:620px){.install-dialog{padding:27px 18px 22px}.install-dialog>img{width:54px;height:54px}.install-dialog h2{font-size:29px}.install-intro{font-size:15px}.platform-guide{grid-template-columns:1fr;padding:17px;gap:18px}.phone-demo{width:168px;height:225px;border-width:7px}.demo-sheet{bottom:40px}.demo-toolbar{height:40px}.platform-guide[data-platform="desktop"] .install-step-list{grid-template-columns:1fr}.install-step-list{font-size:15px}.install-privacy{font-size:13px}}
@media(max-width:520px){.welcome-dialog{max-height:92dvh;overflow:auto;padding:29px 21px}.welcome-dialog h2{font-size:32px}.welcome-benefits{padding:18px}.welcome-actions{position:sticky;z-index:2;bottom:-29px;grid-template-columns:1fr;margin-inline:-21px;padding:12px 21px 14px;background:white;box-shadow:0 -12px 22px rgba(71,64,77,.08)}.welcome-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
