:root{--paper:#fbf8f3;--card:#fff;--ink:#191714;--muted:#6b6459;--faint:#9a9285;--line:#e8e1d5;--line-strong:#d6ccba;--green:#1e5b44;--green-wash:#e7efea;--amber:#a9621b;--amber-wash:#f7eedf;--red:#a33a2a;--red-wash:#f8eae7;--display:"Fraunces", "Iowan Old Style", "Palatino", Georgia, serif;--ui:"Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s14:56px;--r-sm:6px;--r-md:12px;--r-lg:18px;--r-xl:26px;--r-full:999px;--shadow:0 1px 2px #1917140a, 0 6px 18px #1917140b;--shadow-lift:0 2px 4px #1917140d, 0 14px 32px #19171414;--nav:68px;--ease:cubic-bezier(.22, .61, .36, 1)}@media (prefers-color-scheme:dark){:root{--paper:#12110f;--card:#1b1916;--ink:#f3eee5;--muted:#a79e8f;--faint:#7c7466;--line:#2b2721;--line-strong:#3a352d;--green:#7bc4a3;--green-wash:#1b2822;--amber:#e0a45c;--amber-wash:#2a2117;--red:#e08272;--red-wash:#2c1c19;--shadow:0 1px 2px #0006, 0 6px 18px #00000040;--shadow-lift:0 2px 4px #00000080, 0 14px 32px #00000059}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--ui);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none;min-height:100dvh;font-size:16px;line-height:1.5}::selection{background:var(--green);color:var(--paper)}h1,h2,h3{font-family:var(--display);letter-spacing:-.015em;font-weight:500;line-height:1.12}.display{font-family:var(--display);letter-spacing:-.02em;font-weight:500}h1{font-size:2.25rem}h2{font-size:1.6rem}h3{font-size:1.15rem}p{line-height:1.55}a{color:inherit}.eyebrow{font-family:var(--ui);letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-size:.6875rem;font-weight:600}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:.8125rem}.tiny{font-size:.6875rem}.num{font-variant-numeric:tabular-nums}strong{font-weight:600}.page{width:100%;max-width:560px;padding:var(--s5) var(--s4) calc(var(--nav) + var(--s8) + env(safe-area-inset-bottom));margin:0 auto}.page--plain{padding-bottom:var(--s8)}.stack{flex-direction:column;display:flex}.gap-1{gap:var(--s1)}.gap-2{gap:var(--s2)}.gap-3{gap:var(--s3)}.gap-4{gap:var(--s4)}.gap-5{gap:var(--s5)}.gap-6{gap:var(--s6)}.gap-8{gap:var(--s8)}.row{align-items:center;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:48px;padding:0 var(--s5);border-radius:var(--r-full);background:var(--card);color:var(--ink);font-family:var(--ui);cursor:pointer;transition:transform .14s var(--ease), background .14s var(--ease), box-shadow .14s var(--ease);-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:1px solid #0000;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.985)}.btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--green);color:var(--paper)}@media (prefers-color-scheme:dark){.btn-primary{color:#0c1512}}.btn-primary:hover{box-shadow:var(--shadow)}.btn-outline{border-color:var(--line-strong);background:0 0}.btn-ghost{color:var(--muted);padding:0 var(--s3);background:0 0}.btn-block{width:100%}.btn-sm{min-height:38px;padding:0 var(--s4);font-size:.8125rem}.btn-icon{border-radius:var(--r-full);width:44px;height:44px;min-height:44px;padding:0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s4)}.card--flat{box-shadow:none}.card--lift{box-shadow:var(--shadow)}.card--wash{background:var(--green-wash);border-color:#0000}.card--amber{background:var(--amber-wash);border-color:#0000}.hairline{background:var(--line);border:0;height:1px}.chip{border-radius:var(--r-full);background:var(--paper);border:1px solid var(--line);color:var(--muted);white-space:nowrap;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.chip--green{background:var(--green-wash);color:var(--green);border-color:#0000}.chip--amber{background:var(--amber-wash);color:var(--amber);border-color:#0000}.chip--red{background:var(--red-wash);color:var(--red);border-color:#0000}.dot{background:currentColor;border-radius:50%;flex:none;width:5px;height:5px}.field{width:100%;min-height:50px;padding:0 var(--s4);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--card);color:var(--ink);font-family:var(--ui);font-size:1rem}.field:focus{outline:2px solid var(--green);outline-offset:1px;border-color:#0000}textarea.field{padding:var(--s3) var(--s4);resize:vertical;min-height:96px}label{color:var(--muted);font-size:.8125rem;font-weight:500}.tabbar{z-index:40;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar__inner{width:100%;max-width:560px;display:flex}.tab{height:var(--nav);color:var(--faint);letter-spacing:.04em;text-transform:uppercase;-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:.625rem;font-weight:600;text-decoration:none;display:flex}.tab svg{stroke-width:1.6px;width:21px;height:21px}.tab[aria-current=page]{color:var(--green)}.tab:active{background:var(--green-wash)}.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}.toast{left:50%;bottom:calc(var(--nav) + 16px + env(safe-area-inset-bottom));z-index:60;background:var(--ink);color:var(--paper);border-radius:var(--r-full);box-shadow:var(--shadow-lift);max-width:calc(100vw - 32px);animation:rise .22s var(--ease);padding:10px 18px;font-size:.8125rem;position:fixed;transform:translate(-50%)}@keyframes rise{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--line) 25%, var(--paper) 50%, var(--line) 75%);border-radius:var(--r-sm);background-size:200% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
