:root{--evergreen: #1e4634;--cranberry: #a8322a;--gold: #6b4f12;--ground: #f5f0e6;--card: #fffdf9;--border: #e7dfd0;--ink: #1c2420;--muted: #56615b;--track: #e9e1d2;--chip: #ece5d7;--love: #f6e4df;--on-evergreen: #f5f0e6;--serif: "New York", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root{--evergreen: #86c48f;--cranberry: #f08a7e;--gold: #e8c77a;--ground: #141715;--card: #1f2421;--border: #2e3531;--ink: #f2eee6;--muted: #a3aca6;--track: #2e3531;--chip: #2a302c;--love: #3a2220;--on-evergreen: #0f1a14;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--evergreen)}.app{max-width:560px;margin:0 auto;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 16px) 20px calc(env(safe-area-inset-bottom) + 96px)}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:12px}.grow{flex:1;min-width:0}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.display{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;margin:0;line-height:1.1}h1.display{font-size:32px}h2.display{font-size:21px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0}.muted{color:var(--muted)}.small{font-size:14px}.tiny{font-size:12px}.bold{font-weight:700}.danger{color:var(--cranberry)}.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:16px}.card.link{text-decoration:none;color:inherit;text-align:left;width:100%;font:inherit}.card.link:not(.row):not(.stack){display:block}.hero{background:var(--evergreen);color:var(--on-evergreen);border-radius:24px;padding:22px}.love{background:var(--love);border-radius:18px;padding:16px}.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:15px;flex-shrink:0}.bar{height:6px;border-radius:3px;background:var(--track);overflow:hidden}.bar>span{display:block;height:100%;border-radius:3px;background:var(--evergreen)}.bar.low>span{background:var(--cranberry)}.pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;background:var(--chip);white-space:nowrap}.pill.green{background:color-mix(in srgb,var(--evergreen) 16%,transparent);color:var(--evergreen)}.pill.gold{background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold)}.pill.red{background:color-mix(in srgb,var(--cranberry) 14%,transparent);color:var(--cranberry)}.pills{display:flex;flex-wrap:wrap;gap:8px}.btn{min-height:52px;border-radius:14px;border:0;font-weight:700;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--evergreen);color:var(--on-evergreen)}.btn.small{min-height:44px;width:auto;border-radius:12px;font-size:15px}.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--border)}.btn.red{background:var(--cranberry);color:#fff}.btn.plain{background:transparent;color:var(--evergreen);width:auto;min-height:44px;padding:0 8px}.btn:disabled{background:var(--chip);color:var(--muted);cursor:default}.chip{min-height:44px;padding:0 15px;border-radius:999px;border:1px solid var(--border);background:var(--card);font-weight:600;font-size:15px;white-space:nowrap}.chip.on{background:var(--evergreen);border-color:var(--evergreen);color:var(--on-evergreen)}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:13px;font-weight:700;color:var(--muted)}.input{min-height:48px;border-radius:12px;border:1px solid var(--border);background:var(--card);padding:10px 14px;width:100%}textarea.input{resize:vertical;min-height:72px}.input:focus{outline:2px solid var(--evergreen);outline-offset:1px}.item{display:flex;gap:14px;align-items:center}.item .thumb{width:64px;height:64px;border-radius:12px;background:var(--chip);display:grid;place-items:center;flex-shrink:0;font-size:26px;overflow:hidden}.item.dim{opacity:.55}.item.dim .title{text-decoration:line-through}.item.suggestion{border-style:dashed}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:8px 12px calc(env(safe-area-inset-bottom) + 8px);background:color-mix(in srgb,var(--card) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border)}.tabbar nav{display:flex;width:100%;max-width:560px;justify-content:space-around}.tabbar button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:600;color:var(--muted);min-width:72px;min-height:48px}.tabbar button[aria-current=page]{color:var(--evergreen)}.tabbar svg{width:24px;height:24px}.overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:flex-end;justify-content:center;z-index:20}.sheet{background:var(--ground);width:100%;max-width:560px;max-height:92dvh;overflow-y:auto;border-radius:26px 26px 0 0;padding:14px 20px calc(env(safe-area-inset-bottom) + 24px)}.sheet .grabber{width:40px;height:5px;border-radius:3px;background:var(--border);margin:0 auto 12px}.toast{position:fixed;top:calc(env(safe-area-inset-top) + 12px);left:50%;transform:translate(-50%);background:var(--evergreen);color:var(--on-evergreen);padding:12px 18px;border-radius:999px;font-weight:600;font-size:15px;z-index:30;box-shadow:0 6px 20px #0003;max-width:calc(100% - 40px)}.error{background:color-mix(in srgb,var(--cranberry) 12%,var(--card));color:var(--cranberry);border-radius:14px;padding:12px 14px;font-weight:600}.banner-note{background:color-mix(in srgb,var(--gold) 14%,var(--card));color:var(--gold);border-radius:14px;padding:12px 14px;font-size:14px}.count{font-family:var(--serif);font-size:84px;font-weight:600;line-height:.9;letter-spacing:-.03em}.back{background:var(--chip);border:0;width:44px;height:44px;border-radius:50%;font-size:20px}select.status{border:0;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;background:var(--chip)}
