:root{--cream: #f7f2e9;--card: #fcf8f0;--ink: #35302a;--ink-2: #7a7266;--ink-3: #a89c8c;--ink-4: #b3a893;--hair: #eadfce;--track: #f0e8d8;--clay: #b5735a;--clay-deep: #8e5238;--clay-tint: #f2e3dc;--clay-soft: #d9a88f;--clay-pale: #ebd9ce;--olive: #7e7c4f;--olive-deep: #5d5b34;--olive-tint: #eae8d9;--olive-hair: #d6d2b8;--slate: #6c7488;--slate-deep: #4f566b;--slate-tint: #e3e6ec;--slate-soft: #9aa3b8;--slate-pale: #dfe3ea}body.night{--clay: var(--slate);--clay-deep: var(--slate-deep);--clay-tint: var(--slate-tint);--clay-soft: var(--slate-soft);--clay-pale: var(--slate-pale)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%}body{background:var(--cream);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:15px;overscroll-behavior-y:none}#root{min-height:100%;display:flex;flex-direction:column}.fr{font-family:Fraunces,serif;font-weight:500}.lbl{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.whisper{font-size:11px;color:var(--ink-4)}.sub{font-size:12px;color:var(--ink-2)}.screen{flex:1;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 18px) 22px 96px;max-width:480px;width:100%;margin:0 auto}.card{background:var(--card);border:1px solid var(--hair);border-radius:16px;padding:14px 16px}.card+.card,.stack>*+*{margin-top:12px}.grid2>.card+.card{margin-top:0}button{font:inherit;border:none;background:none;color:inherit;padding:0;cursor:pointer;text-align:inherit}.btn-primary{display:block;width:100%;background:var(--clay);color:#fbf6ec;border-radius:999px;padding:13px 0;text-align:center;font-size:15px;font-weight:500}.btn-primary:active{background:var(--clay-deep)}.btn-ghost{display:block;width:100%;border:1px solid var(--clay);color:var(--clay);border-radius:999px;padding:11px 0;text-align:center;font-size:14px;font-weight:500}.btn-quiet{display:block;width:100%;text-align:center;color:var(--ink-3);font-size:13px;padding:10px 0}.bar{position:relative;height:8px;background:var(--track);border-radius:4px;overflow:hidden}.bar.tall{height:10px;border-radius:5px}.bar>i{position:absolute;top:0;bottom:0;border-radius:4px}.bar .band{background:var(--clay-pale)}.bar .eaten{background:var(--clay)}.bar .eaten.deep{background:var(--clay-deep)}.bar .planned{background:var(--clay-soft)}.bar .olive{background:var(--olive)}.bar .track-olive{background:var(--olive-tint)}.hdr{display:flex;justify-content:space-between;align-items:flex-start}.hdr .greet{font-size:26px;margin-top:2px}.hdr-icons{display:flex;gap:14px;align-items:center;margin-top:6px;color:var(--ink-3)}.hdr-icons svg{display:block}.tag-night{font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:var(--slate-tint);color:var(--slate-deep);border-radius:999px;padding:3px 9px;white-space:nowrap;flex:none}@keyframes stone-settle{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.cairn-anim ellipse{opacity:0;animation:stone-settle .5s ease-out forwards}.cairn-anim ellipse:nth-child(1){animation-delay:.05s}.cairn-anim ellipse:nth-child(2){animation-delay:.28s}.cairn-anim ellipse:nth-child(3){animation-delay:.51s}.cairn-anim ellipse:nth-child(4){animation-delay:.74s}@media(prefers-reduced-motion:reduce){.cairn-anim ellipse{animation:none;opacity:1}}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;background:#fbf6ec;border-top:.5px solid var(--hair);padding:8px 8px calc(env(safe-area-inset-bottom) + 8px);max-width:480px;margin:0 auto}.tabbar button{flex:1;text-align:center;color:var(--ink-4);font-size:10px}.tabbar button.on{color:var(--clay);font-weight:500}.tabbar svg{display:block;margin:0 auto 2px}.sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#3a342c73;display:flex;align-items:flex-end;z-index:30}.sheet{background:var(--cream);width:100%;max-width:480px;margin:0 auto;border-radius:24px 24px 0 0;padding:14px 22px calc(env(safe-area-inset-bottom) + 20px);max-height:86vh;overflow-y:auto}.sheet .grab{width:36px;height:4px;border-radius:2px;background:#d9cbb4;margin:0 auto 16px}.row{background:var(--card);border:.5px solid var(--hair);border-radius:14px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%}.row+.row{margin-top:8px}.row .name{font-size:14px;font-weight:500}.row .meta{font-size:11px;color:var(--ink-3);margin-top:2px}.row .macros{text-align:right;font-size:12px;color:var(--ink-2);white-space:nowrap}.row.planned{background:transparent;border:1px dashed #c9c4a8}.row.planned .name{color:#8a8172;font-weight:400}.row.hot{background:var(--clay-tint);border-color:#e4c9bc}.tick{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--olive);flex:none}.stepper{display:flex;gap:6px}.stepper button{border:.5px solid #d6bca9;color:var(--clay-deep);border-radius:999px;padding:4px 10px;font-size:12px}.stepper button.on{background:var(--clay);color:#fbf6ec;border-color:var(--clay);font-weight:500}.toast{position:fixed;left:22px;right:22px;bottom:calc(env(safe-area-inset-bottom) + 78px);max-width:436px;margin:0 auto;z-index:40;background:var(--ink);color:#f3ede1;border-radius:999px;padding:10px 18px;display:flex;justify-content:space-between;align-items:center;font-size:13px}.toast button{color:#e0a98f;font-weight:500}.field{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.field input{font:inherit;border:none;background:transparent;text-align:right;color:var(--ink);width:90px;outline:none;font-family:Fraunces,serif;font-size:17px;font-weight:500}.field input::placeholder{color:var(--ink-4);font-family:Inter,sans-serif;font-size:13px;font-weight:400}input.text{font:inherit;width:100%;border:.5px solid var(--hair);background:var(--card);border-radius:12px;padding:10px 14px;outline:none;color:var(--ink)}.searchbox{display:flex;align-items:center;gap:8px;background:var(--card);border:.5px solid var(--hair);border-radius:999px;padding:10px 16px;color:var(--ink-4)}.searchbox input{border:none;background:none;outline:none;flex:1;font:inherit;color:var(--ink);font-size:13px}.grid2{display:flex;gap:12px}.grid2>*{flex:1;min-width:0}.dashcard{border:1px dashed #d9cbb4;border-radius:16px;padding:12px 16px}a{color:var(--clay-deep)}
