@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=Instrument+Sans:wght@400;500;600&display=swap');
:root{--ink:#0b0b0a;--paper:#fdfdfb;--muted:#8c8a84;--surface:#1a1918;--line:#2a2927;--soft:#e8e6df;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{background:var(--ink);color:var(--paper)}body{margin:0;font-family:"Instrument Sans",sans-serif;font-size:15px;min-height:100dvh}button,input,select{font:inherit}.page-shell{padding:clamp(22px,4vw,56px);padding-bottom:110px}.utility-nav{display:flex;justify-content:space-between;align-items:baseline;gap:16px;max-width:1180px;margin:auto}.brand{color:var(--paper);text-decoration:none;font-size:10px;font-weight:600;letter-spacing:.24em}.brand em{color:var(--muted);font:300 italic 14px "Cormorant Garamond",serif;letter-spacing:.08em;margin-left:4px}.micro-label,.sync-status{color:var(--muted);font-size:9px;letter-spacing:.15em;text-transform:uppercase}.sync-status[data-state="ready"]{color:#b6bb9e}.sync-status[data-state="offline"]{color:#c9aa77}.home-main,.shopping-main{max-width:1180px;margin:auto}.home-main{padding:clamp(76px,14vh,160px) 0 72px}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}h1,h2{font-family:"Cormorant Garamond",serif;font-weight:300;letter-spacing:-.045em;margin:0}h1{font-size:clamp(60px,10vw,132px);line-height:.77}h1 i,h2 i{color:#aaa79f}.intro{max-width:400px;font-size:14px;line-height:1.7;letter-spacing:.015em;color:var(--muted);margin:42px 0 52px}.tool-list{max-width:680px;border-top:1px solid var(--line)}.tool-link{display:flex;align-items:center;gap:22px;min-height:100px;padding:20px 0;border-bottom:1px solid var(--line);color:var(--paper);text-decoration:none;transition:padding .55s var(--ease),color .55s var(--ease)}.tool-link:not(.tool-link--soon):hover{padding-left:16px}.tool-number{font:300 20px "Cormorant Garamond",serif;color:var(--muted)}.tool-copy{display:grid;gap:5px;flex:1}.tool-copy strong{font-size:14px;font-weight:500;letter-spacing:.01em}.tool-copy small{font-size:12px;color:var(--muted)}.arrow{font:300 26px "Cormorant Garamond",serif}.tool-link--soon{opacity:.42}.soon{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.bottom-dock{position:fixed;z-index:10;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 36px),420px);min-height:61px;padding:9px 26px;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;box-shadow:0 20px 60px #0008}.bottom-dock a,.dock-muted{display:grid;gap:3px;justify-items:center;color:var(--muted);text-decoration:none;text-transform:uppercase;font-size:8px;font-weight:500;letter-spacing:.13em}.bottom-dock .active{color:var(--paper)}.dock-icon{font-size:17px;line-height:16px;font-weight:300}.heading-row{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:clamp(54px,10vh,110px) 0 42px}.heading-row h1{font-size:clamp(62px,9vw,118px)}.heading-note{max-width:170px;color:var(--muted);font-size:12px;line-height:1.5;margin:0 0 6px}.composer{background:var(--surface);border:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.35fr) auto;min-height:70px}.composer input,.composer select{min-width:0;background:transparent;color:var(--paper);border:0;border-right:1px solid var(--line);outline:none;padding:0 22px}.composer input::placeholder{color:#77756f}.composer select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 19px) 30px,calc(100% - 14px) 30px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.composer select option{background:var(--surface);color:var(--paper)}button{border:0;cursor:pointer}.composer button,.new-store-form button{background:var(--paper);color:var(--ink);padding:0 25px;text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:.15em;transition:background .45s var(--ease),color .45s var(--ease)}.composer button:hover,.new-store-form button:hover{background:#aaa79f}.composer button span,.new-store-form button span{font-size:17px;margin-left:8px}.active-list{padding-top:65px}.section-title{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:13px;border-bottom:1px solid var(--line)}.section-title h2{font-size:31px}.section-title span{color:var(--muted);font-size:9px;letter-spacing:.13em;text-transform:uppercase}.store-group{border-bottom:1px solid var(--line);padding:22px 0 10px}.store-name{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.16em;margin-bottom:7px}.item-row{display:flex;align-items:center;gap:16px;min-height:46px}.check{width:21px;height:21px;border:1px solid #55534e;background:transparent;display:grid;place-items:center;color:transparent;flex:0 0 auto;transition:all .35s var(--ease)}.check:hover{border-color:var(--paper)}.item-name{font-size:16px;letter-spacing:.01em;flex:1}.remove{opacity:0;color:var(--muted);background:transparent;padding:7px;font-size:17px;transition:opacity .25s}.item-row:hover .remove{opacity:1}.recent-list{margin-top:80px;padding-bottom:30px}.recent-items{border-bottom:1px solid var(--line)}.recent-item{opacity:.55;cursor:pointer}.recent-item .check{border-color:#aaa79f;color:var(--ink);background:#aaa79f}.recent-item .item-name{text-decoration:line-through;text-decoration-color:#77756f}.recent-store{font-size:9px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.empty{color:var(--muted);font:300 italic 22px "Cormorant Garamond",serif;padding:26px 0 36px}.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}dialog{border:0;padding:0;color:var(--paper);background:transparent;width:min(100% - 36px,440px)}dialog::backdrop{background:#000c}.new-store-form{position:relative;background:var(--surface);border:1px solid var(--line);padding:38px}.new-store-form h2{font-size:55px;line-height:.77}.new-store-form p{color:var(--muted);font-size:13px;line-height:1.5;margin:26px 0}.new-store-form label{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.new-store-form input{display:block;width:100%;background:var(--ink);border:1px solid var(--line);color:var(--paper);padding:15px;outline:none;margin-bottom:14px}.new-store-form button{height:52px;width:100%}.dialog-close{position:absolute;right:14px;top:12px;background:none!important;color:var(--muted)!important;width:auto!important;height:auto!important;padding:5px!important;font-size:25px!important;font-weight:300!important;letter-spacing:0!important}@media(max-width:620px){.page-shell{padding:22px 18px 110px}.micro-label{display:none}.heading-row{padding:62px 0 34px}.heading-note{display:none}.composer{grid-template-columns:1fr auto}.composer input{height:61px}.composer select{grid-row:2;border-top:1px solid var(--line);border-right:1px solid var(--line);height:52px}.composer button{grid-row:2;padding:0 18px}.item-row{min-height:49px}.remove{opacity:1}}@media(min-width:700px){.store-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:50px}.store-group{break-inside:avoid}.shopping-main{padding-bottom:90px}}
 .gift-switch{position:relative;width:min(100%,500px);height:54px;border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;margin-bottom:10px}.gift-switch button{position:relative;z-index:1;background:transparent;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.gift-switch button.active{color:var(--ink)}.switch-indicator{position:absolute;inset:0 auto 0 0;width:50%;background:var(--paper);transition:transform .5s var(--ease)}.gift-switch button:nth-of-type(2).active~.switch-indicator{transform:translateX(100%)}.gift-panel{animation:giftReveal .5s var(--ease)}.external-link{color:var(--muted);font-size:19px;text-decoration:none;padding:6px 9px}.external-link:hover{color:var(--paper)}@keyframes giftReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
 .freeze-date{font-size:10px;letter-spacing:.06em;color:var(--muted);white-space:nowrap}.freezer-row.age-orange{box-shadow:inset 2px 0 0 #ae793d;background:linear-gradient(90deg,#ae793d10,transparent 35%)}.freezer-row.age-red{box-shadow:inset 2px 0 0 #a84e4e;background:linear-gradient(90deg,#a84e4e12,transparent 35%)}.freezer-row.age-orange .freeze-date{color:#c59559}.freezer-row.age-red .freeze-date{color:#c46a6a}
 .chore-composer{background:var(--surface);border:1px solid var(--line);display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:0;margin-bottom:12px}.chore-composer input,.chore-composer select,.chore-composer textarea{min-width:0;min-height:61px;background:transparent;color:var(--paper);border:0;border-right:1px solid var(--line);padding:14px;outline:0}.chore-composer textarea{grid-column:1/4;border-top:1px solid var(--line);resize:vertical;min-height:52px}.chore-composer button{background:var(--paper);color:var(--ink);border:0;text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:.13em;padding:16px}.chore-composer .repeat-toggle{grid-column:4;grid-row:2;background:transparent;color:var(--muted);border-top:1px solid var(--line)}.chore-composer .repeat-toggle.active{color:var(--paper)}#repeatFields{grid-column:1/5;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}#repeatFields select,#repeatFields input{border-right:1px solid var(--line)}.chore-row .item-name{display:grid;gap:3px}.chore-row .item-name strong{font-weight:400}.chore-row .item-name small,.chore-meta{font-size:10px;color:var(--muted);font-weight:400}.chore-meta{max-width:140px;text-align:right}.no-deadline{padding-top:42px}@media(max-width:620px){.chore-composer{grid-template-columns:1fr 1fr}.chore-composer input,.chore-composer select{border-top:1px solid var(--line)}.chore-composer input:first-child{grid-column:1/3;border-top:0}.chore-composer textarea{grid-column:1/3}.chore-composer .repeat-toggle{grid-column:1}.chore-composer #addChore{grid-column:2}.chore-meta{display:none}#repeatFields{grid-column:1/3;grid-template-columns:1fr 1fr}}
 .collection-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.collection-card{min-height:150px;text-align:left;padding:22px;background:var(--surface);color:var(--paper);border:0;display:grid;gap:10px}.collection-card span{font:300 24px "Cormorant Garamond",serif;color:var(--muted)}.collection-card strong{font:300 31px "Cormorant Garamond",serif}.collection-card i{color:var(--muted);font-style:normal}.back{background:none;border:0;color:var(--muted);padding:40px 0 14px;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.collection-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:14px}.collection-head h2{font-size:48px}.collection-head span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.collection-form{display:grid;grid-template-columns:repeat(3,1fr);margin-top:25px;border:1px solid var(--line)}.collection-form input,.collection-form select,.collection-form textarea{background:var(--surface);border:0;border-right:1px solid var(--line);color:var(--paper);padding:15px;min-width:0}.collection-form textarea{resize:vertical}.collection-add{background:var(--paper);color:var(--ink);border:0;padding:15px 22px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600}.collection-items{border-top:1px solid var(--line);margin-top:42px}.collection-item{display:grid;grid-template-columns:1fr 2fr auto;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding:16px 0}.collection-item strong{font-weight:400}.collection-item span,.collection-item em{font-size:11px;color:var(--muted);font-style:normal}.collection-item em{grid-column:1/3;color:#c59559}.collection-item button{background:transparent;border:1px solid var(--line);color:var(--paper);padding:8px 10px;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.collection-item.loaned{box-shadow:inset 2px 0 0 #c59559}@media(max-width:620px){.collection-cards{grid-template-columns:1fr}.collection-form{grid-template-columns:1fr}.collection-form input,.collection-form select,.collection-form textarea{border-right:0;border-bottom:1px solid var(--line)}.collection-item{grid-template-columns:1fr auto}.collection-item span,.collection-item em{grid-column:1/2}}
