@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--ink:#10110f;--canvas:#f3f0e9;--paper:#fbfaf6;--muted:#77756e;--line:#dfdace;--deep:#272822;--accent:#7b8262;--accent-soft:#e5e9dc;--danger:#aa5c4d;--shadow:0 16px 48px rgba(35,34,29,.10)}
*{box-sizing:border-box}html{background:var(--canvas);color:var(--ink)}body{min-height:100dvh;background:var(--canvas);font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);padding-bottom:42px}.page-shell{padding:clamp(18px,3vw,42px);padding-bottom:58px}.utility-nav{height:54px;max-width:1120px;margin:0 auto;align-items:center}.brand{font-size:12px;letter-spacing:.2em;color:var(--ink)}.brand em{font-family:'DM Serif Display',serif;color:var(--muted);font-size:15px}.micro-label,.sync-status{font-size:9px;letter-spacing:.12em;color:var(--muted)}.menu-toggle{display:grid;gap:4px;width:39px;height:39px;margin-left:10px;padding:10px;background:var(--ink);border-radius:50%;place-content:center}.menu-toggle i{display:block;width:16px;height:1px;background:var(--paper);transition:transform .25s ease}.menu-toggle i:nth-child(2){width:11px;justify-self:end}.menu-toggle:hover i:nth-child(2){width:16px}.bottom-dock{display:none!important}.menu-backdrop{position:fixed;inset:0;background:rgba(17,17,15,.28);opacity:0;pointer-events:none;z-index:98;transition:.25s}.menu-panel{position:fixed;z-index:99;inset:0 0 0 auto;width:min(100%,420px);padding:28px;background:var(--ink);color:var(--paper);transform:translateX(100%);transition:transform .42s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.menu-open{overflow:hidden}.menu-open .menu-panel{transform:none}.menu-open .menu-backdrop{opacity:1;pointer-events:auto}.menu-panel__top{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;letter-spacing:.18em}.menu-close{width:38px;height:38px;border-radius:50%;background:#34352e;color:var(--paper);font:300 28px/1 'DM Serif Display',serif}.menu-panel>p{font:42px/.9 'DM Serif Display',serif;margin:12vh 0 34px}.menu-panel>p em{color:#b6bd99}.menu-panel nav{border-top:1px solid #3e3f37}.menu-panel nav a{color:var(--paper);display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:17px 0;border-bottom:1px solid #3e3f37;text-decoration:none;font-size:17px}.menu-panel nav a small{color:#8e8d84;font-size:9px;letter-spacing:.12em}.menu-panel nav a b{font:300 23px 'DM Serif Display',serif;color:#aeb594}.menu-panel nav a.is-current{color:#aeb594}.menu-panel footer{margin-top:auto;color:#96948b;font-size:10px;line-height:1.7;letter-spacing:.08em;text-transform:uppercase}
.home-main,.shopping-main,.gifts-main,.freezer-main,.chores-main,.collections-main,body.page-shell>main{max-width:1120px;margin:0 auto}.home-main{padding:clamp(58px,9vw,118px) 0 24px}.home-main .eyebrow,.heading-row .eyebrow{color:var(--accent);font-size:10px;font-weight:600;letter-spacing:.16em}.home-main h1,.heading-row h1{font:clamp(53px,8vw,94px)/.9 'DM Serif Display',Georgia,serif;letter-spacing:-.055em}.home-main h1 i,.heading-row h1 i{color:var(--accent)}.intro{margin:22px 0 42px;max-width:480px;color:#5e5d57;font-size:14px;line-height:1.7}.tool-list{max-width:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0}.tool-link{position:relative;min-height:168px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--paper);display:flex;align-items:flex-end;transition:transform .25s ease,box-shadow .25s ease;border-bottom:1px solid var(--line)}.tool-link:hover{padding-left:22px;transform:translateY(-3px);box-shadow:var(--shadow)}.tool-number{position:absolute;top:19px;left:22px;color:var(--accent);font:15px 'DM Serif Display',serif}.tool-copy strong{font-size:18px}.tool-copy small{font-size:11px;line-height:1.45;color:var(--muted);max-width:180px}.arrow{color:var(--accent)}
.heading-row{padding:clamp(40px,6vw,76px) 0 26px;align-items:end}.heading-row h1{font-size:clamp(43px,6vw,70px)}.heading-note{max-width:230px;color:var(--muted);font-size:12px;line-height:1.55}.composer,.chore-composer{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 15px rgba(30,29,25,.035);overflow:hidden}.composer input,.composer select,.chore-composer input,.chore-composer select,.chore-composer textarea,.collection-form input,.collection-form select,.collection-form textarea{background:transparent;color:var(--ink)}.composer input::placeholder,.chore-composer input::placeholder,.chore-composer textarea::placeholder{color:#96938a}.composer select{background-color:transparent}.composer select option,.chore-composer select option,.collection-form select option{background:var(--paper);color:var(--ink)}.composer button,.chore-composer button,.collection-add{background:var(--ink);color:var(--paper);border-radius:0}.composer button:hover,.chore-composer button:hover,.collection-add:hover{background:var(--accent)}.active-list{padding-top:44px}.recent-list{margin-top:54px}.section-title{border-color:var(--line)}.section-title h2{font:28px 'DM Serif Display',serif}.section-title span{color:var(--muted)}.store-group{border-color:var(--line)}.store-group h3{font-size:10px;color:var(--accent);letter-spacing:.13em;text-transform:uppercase}.list-item,.recent-item{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;padding:12px 0;border:0;border-bottom:1px solid #ebe7de;background:transparent;color:var(--ink)}.list-item:hover{color:var(--accent)}.list-item small,.recent-item small{font-size:9px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.recent-item{opacity:.65}.check{width:19px;height:19px;border-color:#aaa79f;border-radius:50%}.gift-switch{display:inline-flex;gap:3px;padding:4px;background:#e4e0d7;border-radius:12px;border:1px solid #dad5ca}.gift-switch button{position:relative;padding:10px 14px;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;font-weight:600}.gift-switch button.active{background:var(--paper);color:var(--ink);box-shadow:0 2px 7px rgba(30,29,25,.09)}.switch-indicator{display:none}.gift-panel,.freezer-panel{padding-top:12px}.collection-cards{background:transparent;border:0;gap:12px}.collection-card{min-height:168px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 4px 12px rgba(28,27,23,.025);transition:.25s}.collection-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.collection-card strong,.collection-head h2{font-family:'DM Serif Display',serif}.collection-card .eyebrow{color:var(--accent)}.collection-form{border-color:var(--line);background:var(--paper);border-radius:14px;overflow:hidden}.collection-items{border-color:var(--line)}.collection-item{grid-template-columns:minmax(0,1fr) auto;border-color:var(--line)}.collection-item small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.collection-item button{border-color:var(--line);color:var(--ink);border-radius:8px}.back{color:var(--accent)}.search{display:block;width:100%;margin-top:18px;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);outline-color:var(--accent)}.new-store-form{background:var(--paper);color:var(--ink);border-radius:18px;border-color:var(--line);box-shadow:var(--shadow)}.new-store-form input{background:var(--canvas);color:var(--ink);border-color:var(--line)}.dialog-close{color:var(--ink)!important}.new-store-form button{background:var(--ink);color:var(--paper)}
@media(max-width:720px){body{padding-bottom:22px}.page-shell{padding:16px 16px 34px}.utility-nav{height:48px}.sync-status{max-width:145px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-main{padding-top:55px}.tool-list{grid-template-columns:1fr 1fr;gap:9px}.tool-link{min-height:145px;padding:17px;border-radius:13px}.tool-link:hover{padding-left:17px}.tool-copy strong{font-size:15px}.tool-copy small{font-size:10px}.heading-row{padding:42px 0 20px}.heading-note{display:none}.composer{border-radius:13px}.gift-switch{width:100%;margin:3px 0 10px}.gift-switch button{flex:1;padding:10px 7px}.collection-cards{gap:9px}.collection-card{border-radius:13px;min-height:130px}.menu-panel{padding:23px}.menu-panel>p{margin-top:10vh;font-size:39px}.list-item,.recent-item{grid-template-columns:25px minmax(0,1fr) auto}.recent-list{margin-top:45px}}
.gift-composer,.freezer-composer{grid-template-columns:1.4fr 1.15fr .8fr auto}.gifts-page{--accent:#855d70;--accent-soft:#eee0e5}.freezer-page{--accent:#547e83;--accent-soft:#dce9e8}.chores-page{--accent:#ad7544;--accent-soft:#f2e5d6}body[data-page="collections"]{--accent:#896b47;--accent-soft:#eee4d6}body[data-page="addressbook"]{--accent:#766d91;--accent-soft:#e6e2ef}@media(max-width:720px){.gift-composer,.freezer-composer{grid-template-columns:1fr 1fr}.gift-composer input,.freezer-composer input{grid-row:1!important}.gift-composer select,.freezer-composer select{grid-row:2!important}.gift-composer button,.freezer-composer button{grid-row:2!important}}
