@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap");:root{color-scheme:light;--ink:#171717;--ink-soft:#505050;--paper:#f7f7f5;--white:#fff;--green:#167a45;--green-dark:#105f36;--green-pale:#e8f4ec;--line:#deded9;--danger:#86291f;--focus:#105f36}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM Sans,sans-serif;-webkit-font-smoothing:antialiased;scrollbar-color:#a7a7a0 var(--paper)}::selection{color:var(--ink);background:#cce8d6}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}a:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button:disabled{cursor:wait}.app-shell{width:min(100%,680px);padding:22px 24px 40px}.app-shell,.landing-shell{min-height:100svh;margin:0 auto}.landing-shell{width:min(100%,1240px);display:flex;flex-direction:column;padding:22px 42px 26px}.landing-header{display:flex;align-items:center;min-height:52px}.landing-brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:17px;font-weight:700;letter-spacing:-.02em;text-decoration:none}.landing-brand img,.preview-mark img{display:block;object-fit:contain}.landing-brand img{width:40px;height:40px}.landing-hero{width:100%;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.82fr);align-items:center;grid-gap:clamp(46px,8vw,112px);gap:clamp(46px,8vw,112px);flex:1 1;padding:52px 0 62px}.landing-copy{max-width:620px}.landing-copy h1{max-width:590px;margin:0 0 20px;font-size:clamp(48px,6.4vw,76px);font-weight:700;line-height:.99;letter-spacing:-.055em;text-wrap:balance}.landing-copy p{max-width:46ch;margin:0 0 28px;color:var(--ink-soft);font-size:18px;line-height:1.55}.landing-cta{width:-moz-fit-content;width:fit-content;min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 23px;border-radius:999px;background:var(--green);color:#fff;font-size:15px;font-weight:700;text-decoration:none;transition:background-color .14s ease,transform .14s ease}.landing-cta:hover{background:var(--green-dark);transform:translateY(-1px)}.landing-cta:active{transform:translateY(1px)}.checklist-preview{width:100%;max-width:410px;justify-self:center;padding:23px 25px 19px;border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:0 14px 38px rgb(23 23 23/7%)}.preview-topline{display:flex;align-items:center;gap:9px;padding-bottom:19px;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.preview-mark{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--paper)}.preview-mark img{width:22px;height:22px}.checklist-preview h2{margin:21px 0 3px;font-size:25px;line-height:1.2;letter-spacing:-.035em}.preview-description{margin:0 0 12px;color:var(--ink-soft);font-size:13px}.preview-items{margin:0;padding:0;list-style:none}.preview-items li{min-height:51px;display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);font-size:15px;font-weight:600}.preview-check{width:21px;height:21px;flex:0 0 auto;border:1.5px solid #777;border-radius:5px;background:var(--white)}.preview-add{display:flex;align-items:center;gap:9px;min-height:42px;margin-top:6px;border-top:1px solid var(--line);color:var(--green-dark);font-size:14px;font-weight:700}.preview-add span{font-size:21px;font-weight:500}.landing-footer{padding-top:16px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:12px;line-height:1.5}.brand{display:flex;align-items:center;gap:9px;width:-moz-fit-content;width:fit-content;font-size:17px;font-weight:700;letter-spacing:-.02em}.brand img{width:38px;height:38px;object-fit:contain;border:1px solid var(--line);border-radius:9px;background:var(--white)}.start-screen{width:min(100%,460px);min-height:calc(100svh - 90px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;margin:0 auto;padding:24px 4px 12px}.start-copy{width:100%;max-width:410px}h1,h2,p{margin-top:0}h1,h2{letter-spacing:-.035em}.start-copy h1{max-width:360px;margin-bottom:10px;font-size:clamp(36px,4.6vw,44px);line-height:1.1;font-weight:700}.start-copy p{max-width:34ch;margin:0 0 24px;color:var(--ink-soft);font-size:16px;line-height:1.5}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:11px;border:0;border-radius:999px;cursor:pointer;font-weight:700;transition:background-color .14s ease,transform .14s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{color:#fff;background:var(--green)}.button-primary:hover:not(:disabled){background:var(--green-dark)}.button-primary:active:not(:disabled){transform:translateY(1px)}.button-wide{width:100%;max-width:330px;padding:0 22px}.arrow-icon,.back-arrow{position:relative;display:inline-block;width:16px;height:12px}.arrow-icon:before,.back-arrow:before{content:"";position:absolute;top:5px;left:1px;width:13px;height:2px;background:currentColor}.arrow-icon:after,.back-arrow:after{content:"";position:absolute;top:2px;right:0;width:7px;height:7px;border-top:2px solid;border-right:2px solid;transform:rotate(45deg)}.back-arrow{transform:rotate(180deg)}.reset-note{margin:22px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.5}.content-screen{padding:24px 4px 0}.list-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.button-add{min-height:42px;padding:0 15px;border:1px solid #b9b9b3;border-radius:999px;background:var(--white);font-size:14px;font-weight:700;cursor:pointer;transition:background-color .14s ease,border-color .14s ease}.button-add:hover{border-color:var(--green);background:var(--green-pale)}.plus{font-size:20px;font-weight:500;line-height:.7}.day-label{color:var(--ink-soft);font-size:10px;font-weight:700;letter-spacing:.1em}.list-heading{margin:25px 0 18px}.list-heading h1{margin:0 0 6px;font-size:clamp(32px,4.6vw,40px);line-height:1.12;font-weight:700}.list-heading p{margin:0;color:var(--ink-soft);font-size:15px;line-height:1.5}.checklist{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.check-row{border-bottom:1px solid var(--line)}.check-control{width:100%;min-height:64px;display:flex;align-items:center;gap:14px;padding:10px 3px;border:0;background:transparent;text-align:left;cursor:pointer}.check-control:hover .check-box{border-color:var(--green);background:var(--green-pale)}.check-control:disabled{cursor:wait}.check-box{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;border:1.5px solid #777;border-radius:5px;background:var(--white);transition:border-color .15s ease,background .15s ease}.item-name{font-size:16px;font-weight:600}.special-tag{margin-left:auto;padding:4px 9px;border-radius:999px;color:#145b35;background:var(--green-pale);font-size:10px;font-weight:700;letter-spacing:.06em}.bursting .check-box{animation:pop-away .42s cubic-bezier(.2,.85,.25,1) forwards}.bursting .item-name,.bursting .special-tag{animation:label-away .42s ease-out forwards}.bursting .check-box:after{content:"";width:9px;height:9px;border:2px solid var(--green);border-radius:50%;animation:ring-away .42s ease-out forwards}@keyframes pop-away{0%{transform:scale(1);opacity:1}38%{transform:scale(1.2);background:#cce8d6}to{transform:scale(.45);opacity:0}}@keyframes ring-away{0%{transform:scale(.6);opacity:1}to{transform:scale(2.4);opacity:0}}@keyframes label-away{0%{transform:translateX(0);opacity:1}to{transform:translateX(10px);opacity:0}}.empty-state{margin:18px 0 0;padding:34px 0;text-align:center}.empty-state h2{margin:0 0 6px;font-size:23px;font-weight:700}.empty-state p{max-width:32ch;margin:0 auto;color:var(--ink-soft);line-height:1.5}.access-note{max-width:62ch;margin:24px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.55}.content-screen>.reset-note{margin-top:15px;font-size:13px}.text-button{margin:12px 0 0;padding:5px 0;border:0;background:transparent;color:var(--green-dark);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.error-box{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:16px 0;padding:13px 15px;border:1px solid #cf9087;border-radius:12px;color:var(--danger);background:#fff3f1;line-height:1.45}.error-box button{flex:0 0 auto;border:0;background:transparent;color:var(--danger);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.status-line{margin:14px 0;color:var(--green-dark);font-size:14px;font-weight:600}.back-button{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:0;border:0;background:transparent;color:var(--ink);font-weight:700;cursor:pointer}.add-heading{margin-top:34px}.add-form{display:flex;flex-direction:column;align-items:flex-start}.add-form label{margin-bottom:8px;font-size:14px;font-weight:700}.add-form input{width:100%;max-width:440px;min-height:54px;padding:0 16px;border:1px solid #777;border-radius:12px;color:var(--ink);background:var(--white);font-size:16px}.add-form input::placeholder{color:#5f5f5b;opacity:1}.field-hint{margin-top:7px;color:var(--ink-soft);font-size:12px}.add-form .button{margin-top:21px}.form-error{margin:12px 0 0;color:var(--danger);font-size:14px;line-height:1.45}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.signout-button{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--ink);font-size:13px;font-weight:700;cursor:pointer}.signout-button:hover{border-color:var(--green);background:var(--green-pale)}.list-picker-label{display:grid;grid-gap:7px;gap:7px;width:100%;max-width:360px;margin:19px 0 0;color:var(--ink-soft);font-size:13px;font-weight:700}.list-picker-label select{width:100%;min-height:46px;padding:0 12px;border:1px solid #777;border-radius:10px;background:var(--white);color:var(--ink);font:inherit;font-weight:500}.check-row-inner{display:flex;align-items:center;gap:8px}.check-row-inner .check-control{flex:1 1 auto;min-width:0}.edit-button{min-height:40px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:var(--green-dark);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.edit-button:hover:not(:disabled){background:var(--green-pale)}.inline-edit-form{display:flex;align-items:center;gap:8px;min-height:64px;padding:8px 0}.inline-edit-form input,.share-form input{width:100%;min-width:0;min-height:46px;padding:0 12px;border:1px solid #777;border-radius:10px;background:var(--white);color:var(--ink);font-size:16px}.inline-edit-form button{min-height:40px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--white);font-size:13px;font-weight:700;cursor:pointer}.inline-edit-form button[type=submit]{border-color:var(--green);background:var(--green);color:var(--white)}.share-section{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.share-section h2{margin:0 0 6px;font-size:19px}.share-section>p{max-width:48ch;margin:0 0 18px;color:var(--ink-soft);font-size:14px;line-height:1.5}.share-form label{display:block;margin-bottom:7px;font-size:13px;font-weight:700}.share-form-row{display:flex;align-items:center;gap:9px}.share-form-row .button{min-height:46px;flex:0 0 auto;padding:0 14px;font-size:13px}.share-list{margin:18px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.share-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;border-bottom:1px solid var(--line);font-size:14px;overflow-wrap:anywhere}.share-list .text-button{flex:0 0 auto;margin:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.photo-picker{position:relative;display:inline-flex;align-items:center;min-height:36px;margin:0 0 12px 42px;padding:0 10px;border:1px solid #b9b9b3;border-radius:8px;background:var(--white);color:var(--green-dark);font-size:13px;font-weight:700;cursor:pointer}.photo-picker:hover{border-color:var(--green);background:var(--green-pale)}.photo-picker:focus-within{outline:3px solid var(--focus);outline-offset:3px}.photo-picker input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.photo-picker input:disabled{cursor:wait}.item-photo{display:block;width:min(160px,calc(100% - 42px));aspect-ratio:4/3;margin:0 0 8px 42px;border:1px solid var(--line);border-radius:9px;background:var(--white);object-fit:cover}.photo-fallback,.photo-loading{margin:0 0 8px 42px;color:var(--ink-soft);font-size:12px;line-height:1.45}.photo-fallback,.status-error{color:var(--danger)}button:disabled{opacity:.62}input::placeholder{color:#5f5f5b;opacity:1}input,select{caret-color:var(--green-dark)}@media (max-width:600px){.landing-shell{padding:15px 20px 20px}.landing-brand{gap:8px;font-size:16px}.landing-brand img{width:36px;height:36px}.landing-hero{grid-template-columns:minmax(0,1fr);gap:34px;padding:49px 0 34px}.landing-copy h1{max-width:440px;margin-bottom:14px;font-size:clamp(43px,12vw,56px);line-height:1.01}.landing-copy p{margin-bottom:21px;font-size:16px;line-height:1.5}.landing-cta{width:100%}.checklist-preview{max-width:none;padding:20px 20px 14px;border-radius:15px}.preview-topline{padding-bottom:15px}.checklist-preview h2{margin-top:17px}.preview-items li{min-height:48px}.landing-footer{font-size:12px}.app-shell{padding:15px 20px 30px}.brand{gap:8px;font-size:17px}.brand img{width:36px;height:36px}.start-screen{min-height:calc(100svh - 82px);padding:20px 2px 8px}.start-copy h1{margin-bottom:9px;font-size:clamp(34px,9vw,42px)}.start-copy p{margin-bottom:19px;font-size:15px}.button-wide{max-width:none}.reset-note{margin-top:20px;font-size:13px}.content-screen{padding:20px 0 0}.list-topline{gap:10px}.button-add{min-height:40px;padding:0 13px}.day-label{font-size:9px;text-align:right}.list-heading{margin-top:22px}.check-control{min-height:62px;gap:13px}.item-name{font-size:16px;overflow-wrap:anywhere}.access-note{margin-top:21px;font-size:12px}.inline-edit-form{flex-wrap:wrap}.inline-edit-form input{flex:1 1 100%}.share-form-row{align-items:stretch;flex-direction:column}.share-form-row .button{width:100%}.share-list li{align-items:flex-start;flex-direction:column;justify-content:center;gap:1px;padding:7px 0}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}