html,body{margin:0}img{max-width:100%}[hidden]{display:none!important}:root{--teal:#176b67;--sage:#d8e9e3;--amber:#e9b96e;--cream:#f8f7f2;--charcoal:#263633;--bg:#f8f7f2;--card:#fff;--fg:#263633;--muted:#5a6a66;--line:#dce6e2;--elev:0 1px 2px #2636330d, 0 4px 14px -6px #2636331f;--lift:0 2px 4px #26363312, 0 14px 30px -12px #17534f40;--accent:#176b67;--accent-ink:#fff;--accent-soft:#d8e9e3;--ink:#176b67;--ink-fg:#f8f7f2;--ink-sub:#d8e9e3;--logo-a:#176b67;--soft:#eef4f1;--warn:#7a4f08;--warn-soft:#fbebd0;--good:#1e6b45;--good-soft:#e1f2e8;--crit:#b42318;--focus:#176b67;--display:"Fraunces",Georgia,"Times New Roman",serif;--body:"Figtree",ui-sans-serif,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#12302e;--card:#1b4542;--fg:#eef4f1;--muted:#a9c2bc;--line:#2f5b57;--elev:0 1px 2px #0006, 0 6px 16px -8px #000a;--lift:0 2px 4px #00000080, 0 16px 32px -12px #000c;--accent:#d8e9e3;--accent-ink:#1b3b38;--accent-soft:#2c5a56;--logo-a:#d8e9e3;--soft:#24524e;--warn:#f2c77e;--warn-soft:#3d3016;--good:#8fe0b0;--good-soft:#173a2a;--crit:#ff8a80;--focus:#e9b96e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#12302e;--card:#1b4542;--fg:#eef4f1;--muted:#a9c2bc;--line:#2f5b57;--elev:0 1px 2px #0006, 0 6px 16px -8px #000a;--lift:0 2px 4px #00000080, 0 16px 32px -12px #000c;--accent:#d8e9e3;--accent-ink:#1b3b38;--accent-soft:#2c5a56;--logo-a:#d8e9e3;--soft:#24524e;--warn:#f2c77e;--warn-soft:#3d3016;--good:#8fe0b0;--good-soft:#173a2a;--crit:#ff8a80;--focus:#e9b96e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:var(--body);padding:calc(12px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 32px max(16px,env(safe-area-inset-left,0px));margin:0;font-size:16px;line-height:1.5}.app{flex-direction:column;gap:14px;min-width:0;max-width:430px;margin:0 auto;display:flex}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.15}h1{letter-spacing:-.02em;font-size:34px;font-weight:600}h2{font-size:22px;font-weight:600}h3{font-size:18px;font-weight:600}p{margin:0}.muted{color:var(--muted)}.small{font-size:13.5px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px;font-weight:700}.demo{background:var(--warn-soft);color:var(--fg);border:0;border-radius:14px;padding:8px 12px;font-size:13px}.demo b{color:var(--warn)}.top{justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{font-family:var(--display);letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:8px;font-size:24px;font-weight:700;display:inline-flex}.logo{fill:none;stroke-width:8px;flex:none;width:1.3em;height:1.3em}.logo .ring-a{stroke:var(--logo-a)}.logo .ring-b{stroke:var(--amber)}.back{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 0;font-weight:700}.card{background:var(--card);box-shadow:var(--elev);border:0;border-radius:20px;flex-direction:column;gap:10px;min-width:0;padding:16px;display:flex}.tile{text-align:left;background:var(--card);width:100%;box-shadow:var(--elev);cursor:pointer;color:var(--fg);font:inherit;border:0;border-radius:20px;align-items:center;gap:14px;padding:18px;display:flex}.tile:hover{box-shadow:var(--lift)}.tile .ic{background:var(--teal);width:52px;height:52px;color:var(--cream);font-family:var(--display);border-radius:50%;flex:none;place-items:center;font-size:22px;font-weight:700;display:grid}.tile:nth-of-type(2) .ic{background:var(--amber);color:var(--charcoal)}.tile:nth-of-type(3) .ic{background:var(--sage);color:var(--teal)}.tile:nth-of-type(4) .ic{background:var(--charcoal);color:var(--cream)}.hero{background:var(--teal);color:var(--cream);border-radius:28px;flex-direction:column;gap:10px;padding:26px 22px;display:flex}.hero h1{color:var(--cream)}.hero p{color:var(--sage);font-size:16px;line-height:1.45}.tile h3{margin-bottom:2px}.btn{background:var(--accent);color:var(--accent-ink);min-height:48px;font:inherit;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 18px;font-weight:600;display:inline-flex}.btn.ghost{color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent);background:0 0}.btn:disabled{opacity:.5;cursor:default}.btn:focus-visible,.tile:focus-visible,.chip:focus-visible,.back:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px solid var(--line);background:var(--card);color:var(--fg);font:inherit;cursor:pointer;border-radius:999px;padding:8px 14px;font-size:15px}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--ink-fg);font-weight:700}label{font-size:14px;font-weight:700}select,input,textarea{width:100%;font:inherit;border:1.5px solid var(--line);background:var(--card);color:var(--fg);border-radius:14px;padding:12px 14px;font-size:16px}textarea{min-height:220px;font-size:14.5px;line-height:1.45}.progress{gap:6px;display:flex}.progress i{background:var(--line);border-radius:3px;flex:1;height:5px}.progress i.on{background:var(--accent)}.ent{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:12px;display:flex}.ent:first-of-type{border-top:0;padding-top:0}.ent .row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ent .row h3{flex:55%;min-width:0}.amt{font-family:var(--display);color:var(--accent);text-align:right;font-variant-numeric:tabular-nums;flex:0 auto;max-width:45%;font-size:18px;font-weight:800;line-height:1.2}.badge{border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.badge.v{background:var(--good-soft);color:var(--good)}.badge.u{background:var(--warn-soft);color:var(--warn)}.badge.l{background:var(--accent-soft);color:var(--accent)}details summary{cursor:pointer;color:var(--accent);font-size:14px;font-weight:700}details.more>summary{font-family:var(--display);color:var(--fg);justify-content:space-between;align-items:center;font-size:17px;list-style:none;display:flex}details.more>summary:after{content:"+";color:var(--accent);font-size:26px}details.more[open]>summary:after{content:"−"}details.more .ent{border-top:1px solid var(--line);padding-top:12px}details .script{background:var(--bg);border-radius:10px;margin-top:8px;padding:10px 12px;font-size:14.5px}.src{color:var(--muted);font-size:12.5px}.src a{color:var(--accent)}.help{background:var(--card);padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border:0;border-radius:24px;flex-direction:column;gap:6px;display:flex;position:sticky;bottom:0;box-shadow:0 -6px 18px #0000000f}.avatar{background:var(--ink);width:36px;height:36px;color:var(--ink-fg);font:800 15px var(--display);cursor:pointer;border:0;border-radius:50%}.chip.mini{padding:5px 10px;font-size:12.5px}.track{background:var(--soft);border-radius:14px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.help .row{flex-wrap:wrap;gap:6px 14px;font-size:13.5px;display:flex}.help b{color:var(--crit)}.more{background:var(--ink)!important;color:var(--ink-fg)!important}.more summary{color:var(--ink-fg)!important}.more .muted{color:var(--ink-sub)!important}.help .num{font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all}.steps{flex-direction:column;gap:10px;display:flex}.step{gap:12px;display:flex}.step .n{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);font-weight:800;font-family:var(--display);border-radius:50%;flex:none;place-items:center;font-size:14px;display:grid}.step.done .n{background:var(--good-soft);color:var(--good)}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--fg);color:var(--bg);opacity:0;pointer-events:none;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:700;transition:opacity .2s;position:fixed;transform:translate(-50%)}.toast.show{opacity:1}.kv{grid-template-columns:auto 1fr;gap:4px 12px;font-size:14.5px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:700}@media (prefers-reduced-motion:reduce){.toast{transition:none}}.btn.inline{align-self:flex-start;width:auto;min-height:40px;padding:8px 14px;font-size:14px}details .script .btn.inline{margin-top:8px}.chips.tight{gap:6px}.back.remove{color:var(--muted);align-self:flex-start;font-size:13px}a.num{color:inherit;font-variant-numeric:tabular-nums;text-decoration:none}a.num.strong{color:var(--accent);font-weight:700}.feedback{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:2px;padding-top:10px;display:flex}.feedback-form{background:var(--soft);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.feedback-form .back{align-self:flex-start}textarea.short{min-height:90px}.chip:disabled{opacity:.5;cursor:default}.more .feedback-form{color:var(--fg)}.more .feedback-form .muted{color:var(--muted)!important}.more .feedback .muted{color:var(--ink-sub)!important}.ent a,.script a,.card p a,.finder a{color:var(--accent);font-weight:700}.actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}a.btn{text-decoration:none}.btn.inline{gap:6px}.contact{border:2px solid var(--accent-soft)}.contact .actions .btn.inline{flex:auto;justify-content:center}.finder{flex-direction:column;gap:10px;display:flex}.matches{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.match{text-align:left;background:var(--card);width:100%;color:var(--fg);border:1.5px solid var(--line);font:inherit;cursor:pointer;border-radius:16px;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;display:flex}.match:hover,.match:focus-visible{border-color:var(--accent);outline:none}.picked{background:var(--card);box-shadow:var(--elev);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.unsure{background:var(--soft);border-radius:14px;padding:10px 12px}.unsure ul{margin:6px 0;padding-left:20px}.unsure p{margin:6px 0}.law-row{text-align:left;border:0;border-top:1px solid var(--line);width:100%;font:inherit;color:var(--fg);cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 0;display:flex}.law-row:first-of-type{border-top:0}.law-row b{font-family:var(--display);font-size:17px}.law-row:hover b,.law-row:focus-visible b{color:var(--accent)}.law-part h2{font-size:19px}.for-you{background:var(--soft);border-radius:14px;padding:10px 12px}.for-you ul{flex-direction:column;gap:4px;margin:6px 0 0;padding-left:20px;display:flex}.more h2{color:var(--ink-fg)}.more a{color:var(--accent)}.row-between{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;padding-top:8px;display:flex}.helper{flex-direction:column;gap:10px;margin-top:8px;display:flex}.helper-options{flex-direction:column;gap:8px;display:flex}.helper .back{align-self:flex-start;padding:0}.helper-result{border:2px solid var(--accent-soft)}.helper-result h3{font-size:20px}.linkish{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.letter{white-space:pre-wrap;background:var(--bg);border-radius:12px;max-height:340px;padding:12px;font-size:14px;line-height:1.5;overflow:auto}.signin{flex-direction:column;gap:10px;display:flex}.reassure{background:var(--good-soft);color:var(--fg);border-radius:16px;padding:12px 14px;font-size:17px;line-height:1.5}.checklist{flex-direction:column;gap:6px;margin:0;padding-left:22px;display:flex}.nation-note{background:var(--soft);border-radius:12px;padding:8px 10px}.about-card{border:2px solid var(--accent-soft);font-size:17px}.about-card p{margin:2px 0}.about-form{gap:8px}.site-nav,.site-side,.site-foot,.hero-cta,.hero-rings{display:none}button.brand{color:var(--fg);cursor:pointer;background:0 0;border:0;padding:0}@media (width>=1000px){:root:not(.native) body{padding:0}:root:not(.native) #root{flex-direction:column;min-height:100vh;display:flex}:root:not(.native) .site-body{flex:1 0 auto;width:100%}:root:not(.native) .site-nav{z-index:10;background:color-mix(in srgb,var(--card) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line);display:block;position:sticky;top:0}:root:not(.native) .site-nav-in{align-items:center;gap:28px;max-width:1180px;margin:0 auto;padding:14px 32px;display:flex}:root:not(.native) .site-nav nav{flex:1;gap:4px;display:flex}:root:not(.native) .site-nav nav button{font:inherit;white-space:nowrap;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 12px;font-size:15px;font-weight:700;transition:background .15s,color .15s}:root:not(.native) .site-nav nav button:hover{background:var(--soft);color:var(--fg)}:root:not(.native) .site-nav nav button[aria-current=page]{background:var(--ink);color:var(--ink-fg)}:root:not(.native) .site-nav .btn.inline{align-self:center;padding:10px 18px;font-size:15px}:root:not(.native) .site-body{grid-template-columns:minmax(0,820px) 300px;justify-content:center;align-items:start;gap:40px;max-width:1180px;margin:0 auto;padding:36px 32px 64px;display:grid}:root:not(.native) .site-body .app{gap:18px;max-width:none;margin:0}:root:not(.native) .app>.top,:root:not(.native) .site-body:not(.screen-home) .app>.help{display:none}:root:not(.native) .site-side{display:block;position:sticky;top:96px}:root:not(.native) .site-side .help{box-shadow:var(--elev);gap:10px;padding:18px;position:static}:root:not(.native) .site-side .help .row{flex-direction:column;gap:6px;font-size:15px}:root:not(.native) .site-side .help .row:last-child span{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding-top:6px;display:flex}:root:not(.native) h1{font-size:44px}:root:not(.native) .hero{border-radius:32px;padding:40px}:root:not(.native) .hero p{max-width:640px;font-size:18px}:root:not(.native) .card{padding:22px 24px}:root:not(.native) .tile{transition:transform .18s,box-shadow .18s}:root:not(.native) .tile:hover{box-shadow:var(--lift);transform:translateY(-3px)}:root:not(.native) .app>*{animation:.35s both rise}:root:not(.native) .app>:nth-child(2){animation-delay:40ms}:root:not(.native) .app>:nth-child(3){animation-delay:80ms}:root:not(.native) .app>:nth-child(4){animation-delay:.12s}:root:not(.native) .app>:nth-child(5){animation-delay:.16s}:root:not(.native) .app>:nth-child(6){animation-delay:.2s}:root:not(.native) .app>:nth-child(n+7){animation-delay:.24s}:root:not(.native) .screen-home{grid-template-columns:minmax(0,1fr)}:root:not(.native) .screen-home .app{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}:root:not(.native) .screen-home .app>:not(.tile){grid-column:1/-1}:root:not(.native) .screen-home .hero{background:radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--amber) 38%,transparent),transparent 42%),radial-gradient(circle at 75% 125%,color-mix(in srgb,var(--charcoal) 55%,transparent),transparent 55%),var(--teal);gap:18px;padding:64px 56px}:root:not(.native) .screen-home .hero h1{max-width:760px;font-size:64px}:root:not(.native) .screen-home .hero p{max-width:min(640px,58%);font-size:20px}:root:not(.native) .screen-home .hero{position:relative;overflow:hidden}:root:not(.native) .screen-home .hero>:not(.hero-rings){z-index:1;position:relative}:root:not(.native) .screen-home .hero h1{max-width:72%}:root:not(.native) .hero-rings{fill:none;stroke-width:7px;width:clamp(200px,23%,290px);display:block;position:absolute;top:50%;right:3.5%;overflow:visible;transform:translateY(-50%)}:root:not(.native) .hero-rings .ring-a{stroke:var(--cream)}:root:not(.native) .hero-rings .ring-b{stroke:var(--amber)}:root:not(.native) .hero-rings circle,:root:not(.native) .hero-rings path{stroke-dasharray:1;stroke-dashoffset:1px;animation:1.1s cubic-bezier(.6,0,.2,1) .2s forwards draw}:root:not(.native) .hero-rings .ring-b{animation-delay:.45s}:root:not(.native) .hero-rings .over{animation-duration:.35s;animation-delay:1.35s}:root:not(.native) .hero-cta{gap:12px;margin-top:8px;display:flex}:root:not(.native) .hero-cta .btn{background:var(--amber);width:auto;color:var(--charcoal);padding:14px 24px;font-size:17px}:root:not(.native) .hero-cta .btn.ghost{color:var(--cream);box-shadow:inset 0 0 0 1.5px var(--sage);background:0 0}:root:not(.native) .screen-home .tile{flex-direction:column;align-items:flex-start;gap:16px;padding:26px}:root:not(.native) .screen-home .tile .ic{width:60px;height:60px;font-size:26px}:root:not(.native) .screen-home .tile h3{margin-bottom:6px;font-size:20px}:root:not(.native) .screen-home .tile p{font-size:15px}:root:not(.native) .screen-home .tile:last-of-type{flex-direction:row;grid-column:1/-1;align-items:center}:root:not(.native) .screen-home .help{position:static}:root:not(.native) .home-note{display:none}:root:not(.native) .screen-guides:not(.has-param) .app{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}:root:not(.native) .screen-guides:not(.has-param) .app>:not(.tile){grid-column:1/-1}:root:not(.native) .site-foot{background:var(--teal);color:var(--sage);margin-top:24px;display:block}:root:not(.native) .site-foot-in{justify-content:space-between;gap:40px;max-width:1180px;margin:0 auto;padding:40px 32px;display:flex}:root:not(.native) .site-foot .brand{color:var(--cream);--logo-a:var(--cream);margin-bottom:8px}:root:not(.native) .site-foot nav{grid-template-columns:repeat(2,auto);align-content:start;gap:8px 32px;display:grid}:root:not(.native) .site-foot .linkish{color:var(--cream);text-align:left;text-decoration:none}:root:not(.native) .site-foot .linkish:hover{color:var(--amber)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hero-rings circle,.hero-rings path{stroke-dashoffset:0!important;animation:none!important}.app>*{animation:none!important}.tile{transition:none!important}.tile:hover{transform:none!important}}.top .back{white-space:nowrap}@media (width<=400px){.top .brand{gap:6px;font-size:21px}.top .back{font-size:15px}}@media (width>=1000px) and (width<=1180px){:root:not(.native) .site-nav-in{gap:16px;padding-inline:24px}:root:not(.native) .site-nav nav{gap:0}:root:not(.native) .site-nav nav button{padding:8px 9px;font-size:14px}:root:not(.native) .site-nav .btn.inline{white-space:nowrap}}.planner-grid{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.tile h3 .count{background:var(--accent-soft);min-width:22px;height:22px;color:var(--accent);font:700 12px var(--body);vertical-align:2px;border-radius:999px;place-items:center;margin-left:8px;padding:0 6px;display:inline-grid}.planner-form{background:var(--soft);border-radius:16px;flex-direction:column;gap:8px;padding:14px;display:flex}.planner-form .field,.card .field{flex-direction:column;gap:4px;display:flex}.two{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.two>div{flex-direction:column;gap:4px;min-width:0;display:flex}.tick-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.tick-list label{cursor:pointer;align-items:flex-start;gap:10px;padding:6px 0;font-size:15px;font-weight:400;display:flex}.tick-list input{width:20px;height:20px;accent-color:var(--teal);flex:none;margin-top:2px}.tick-list label.got span{color:var(--muted);text-decoration:line-through}.inline-add{align-items:center;gap:8px;display:flex}.inline-add input{flex:1;min-width:0}.inline-add .btn.inline{align-self:center}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.calc{background:var(--soft);border-radius:16px;flex-direction:column;gap:8px;margin-top:4px;padding:14px;display:flex}.meal{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:12px;display:flex}.meal .row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.meal ol,.helper-box ol,details ol{flex-direction:column;gap:4px;margin:6px 0;padding-left:20px;display:flex}.swap{background:var(--amber-soft,var(--warn-soft));border-radius:10px;padding:6px 10px}.helper-box{background:var(--soft);border-radius:16px;flex-direction:column;gap:8px;padding:14px;display:flex}.safety{background:var(--warn-soft);color:var(--fg);border-radius:10px;margin:6px 0;padding:8px 10px}.file-btn{position:relative;overflow:hidden}.file-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}@media (width>=1000px){:root:not(.native) .planner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.btn.oauth{background:var(--card);color:var(--fg);box-shadow:inset 0 0 0 1.5px var(--line)}.btn.oauth.apple{color:#fff;box-shadow:none;background:#000}.or{text-align:center;margin:2px 0}
