*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{scrollbar-width:none}::-webkit-scrollbar{display:none}:root{--bone:#efe7db;--linen:#fffdf9;--well:#f7f2e9;--edge:#e2d8c8;--ink:#2f2b26;--ink-soft:#6f6759;--ink-faint:#a49a89;--clay:#b08475;--sage:#7f9d80;--wash-top:#fffdf8;--wash-edge:#e6dccb;--focus:#ded5c6;--veil:#faf7f2eb;--shadow:0 1px 2px #3a30240a, 0 10px 26px -14px #3a302433;--radius:20px;--tabbar:6.6rem;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, ui-serif, serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bone:#201d19;--linen:#2b2721;--well:#262219;--edge:#3d382f;--ink:#efe8dc;--ink-soft:#b8b09e;--ink-faint:#857e6f;--clay:#c8988b;--sage:#93b294;--wash-top:#2b2721;--wash-edge:#191612;--focus:#4c463c;--veil:#201d19eb;--shadow:0 1px 2px #0000004d, 0 12px 28px -14px #0009}}:root[data-theme=dark]{--bone:#201d19;--linen:#2b2721;--well:#262219;--edge:#3d382f;--ink:#efe8dc;--ink-soft:#b8b09e;--ink-faint:#857e6f;--clay:#c8988b;--sage:#93b294;--wash-top:#2b2721;--wash-edge:#191612;--focus:#4c463c;--veil:#201d19eb;--shadow:0 1px 2px #0000004d, 0 12px 28px -14px #0009}*{box-sizing:border-box}body{background:var(--bone);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit;font-size:16px}.greeting{background:radial-gradient(120% 80% at 50% 30%, var(--wash-top) 0%, var(--bone) 55%, var(--wash-edge) 100%);z-index:50;opacity:1;transition:opacity var(--fade) ease;place-items:center;padding:2rem;display:grid;position:fixed;inset:0}.greeting.leaving{opacity:0}.greetingline{text-align:center;max-width:15ch;font-family:var(--serif);letter-spacing:-.015em;color:var(--ink);margin:0;font-size:clamp(2rem,9vw,2.9rem);line-height:1.28;animation:.85s cubic-bezier(.2,.7,.2,1) both rise}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.app{max-width:620px;padding:0 1.1rem calc(var(--tabbar) + env(safe-area-inset-bottom));margin:0 auto}.head{align-items:baseline;gap:.85rem;padding:1.6rem .2rem 1.1rem;display:flex}.head h1{font-family:var(--serif);letter-spacing:.01em;margin:0 auto 0 0;font-size:1.45rem;font-weight:400}.signout{color:var(--ink-faint);letter-spacing:.05em;text-transform:uppercase;background:0 0;border:none;padding:.3rem;font-size:.78rem}.screen{flex-direction:column;gap:.9rem;display:flex}.panel{background:var(--linen);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.35rem 1.25rem}h2.display,h3.display{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 .15rem;font-size:1.4rem;font-weight:400}h3.display.small{font-size:1.2rem}.note{color:var(--ink-faint);margin:0 0 1rem;font-size:.86rem}.hint{color:var(--ink-faint);margin:.8rem 0 0;font-size:.82rem}.hint.centred{text-align:center;padding:2rem 1rem}.hint.closed{padding-bottom:1rem}.rule{font-family:var(--serif);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);text-align:center;margin:1.4rem 0 .1rem;font-size:.82rem;font-weight:400}button.primary,button.ghost{letter-spacing:.01em;border-radius:999px;padding:.68rem 1.35rem;font-size:.9rem;transition:transform .15s,opacity .15s}button.primary{background:var(--ink);color:var(--linen);border:none}button.ghost{border:1px solid var(--edge);color:var(--ink-soft);background:0 0}button.primary:active,button.ghost:active{transform:scale(.985)}button.primary:disabled,button.ghost:disabled{opacity:.4}button.wide{width:100%;margin-top:.9rem}.savedline{text-align:right;margin-top:.8rem}.screen.crashed{padding:3rem .2rem}.crashdetail{background:var(--well);border:1px solid var(--edge);color:var(--ink-soft);white-space:pre-wrap;word-break:break-word;border-radius:14px;max-height:40vh;margin-top:.9rem;padding:.8rem .9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;line-height:1.55;overflow-y:auto}.actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.hint.inline{flex:1;min-width:10rem;margin:0}.chartpanel{padding-bottom:.9rem}.range{background:var(--well);border-radius:999px;justify-content:center;gap:.3rem;width:fit-content;margin:0 auto .9rem;padding:.22rem;display:flex}.range button{color:var(--ink-faint);letter-spacing:.02em;background:0 0;border:none;border-radius:999px;padding:.34rem .95rem;font-size:.8rem}.range button.on{background:var(--linen);color:var(--ink);box-shadow:var(--shadow)}.chartlede{text-align:center;margin-bottom:.2rem}.chartlede .figure{font-family:var(--serif);letter-spacing:-.02em;font-size:2.5rem;line-height:1.1;display:block}.chartlede .caption{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:.76rem}.writer{position:relative}.writer .mic{background:var(--linen);width:38px;height:38px;box-shadow:var(--shadow);position:absolute;bottom:.7rem;right:.6rem}textarea{border:1px solid var(--edge);background:var(--well);width:100%;color:var(--ink);resize:vertical;border-radius:14px;margin-top:.9rem;padding:.9rem 3.4rem .9rem .9rem;line-height:1.7}textarea:focus,input:focus{outline:1.5px solid var(--focus);outline-offset:1px}textarea::placeholder,input::placeholder{color:var(--ink-faint)}.energy{margin-top:1.1rem}.energyhead{justify-content:space-between;align-items:baseline;margin-bottom:.45rem;display:flex}.energyhead .label{letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint);font-size:.76rem}.energyhead .reading{font-family:var(--serif);font-size:1.05rem}.energyhead .reading em{opacity:.75;font-size:.85rem;font-style:normal}.energyhead .reading.unset{color:var(--ink-faint);font-size:.85rem}input[type=range]{appearance:none;background:var(--edge);border-radius:999px;width:100%;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--linen);border:2px solid var(--track,var(--ink-faint));width:22px;height:22px;box-shadow:var(--shadow);border-radius:50%}input[type=range]::-moz-range-thumb{background:var(--linen);border:2px solid var(--track,var(--ink-faint));border-radius:50%;width:22px;height:22px}.facts{flex-direction:column;gap:.7rem;margin:1.1rem 0 0;display:flex}.fact{align-items:baseline;gap:.75rem;display:flex}.fact dt{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);flex:0 0 4.6rem;padding-top:.15rem;font-size:.66rem}.fact dd{margin:0;font-size:.94rem;line-height:1.55}.fact.win dd{border-left:2px solid var(--sage);padding-left:.7rem}.fact.thanks dd{border-left:2px solid var(--clay);padding-left:.7rem}button.day{text-align:left;width:100%;color:inherit;font:inherit;padding:1.05rem 1.15rem;transition:box-shadow .15s,transform .15s;display:block}button.day:active{transform:scale(.995)}.dayhead{align-items:center;gap:.65rem;width:100%;display:flex}.dayhead .chevron{color:var(--ink-faint);align-items:center;gap:.45rem;margin-left:auto;transition:transform .2s;display:inline-flex}.day.open .dayhead .chevron{transform:rotate(180deg)}.day.open .dayhead .chevron .more{display:none}.dayhead .dot{border-radius:50%;flex:none;width:9px;height:9px}.dayhead .date{font-family:var(--serif);letter-spacing:.01em;font-size:1rem}.dayhead .pct{color:var(--ink-soft);font-size:.84rem}.dayhead .pct.unset{color:var(--ink-faint)}.dayhead .more{letter-spacing:.04em;font-size:.74rem}.day .daytext{border-top:1px solid var(--edge);white-space:pre-wrap;color:var(--ink-soft);margin:1.1rem 0 0;padding-top:1rem;font-size:.92rem;line-height:1.75}.prose{font-size:.96rem;line-height:1.75}.prose p{margin:0 0 .8rem}.prose p:last-child{margin-bottom:0}.prose strong{font-weight:600}.prose ul,.prose ol{margin:0 0 .8rem;padding-left:1.15rem}.prose li{margin-bottom:.35rem}.prose h1,.prose h2,.prose h3{font-family:var(--serif);margin:1.1rem 0 .4rem;font-size:1.05rem;font-weight:400}.ask{min-height:62vh}.threaddays{scrollbar-width:none;gap:.35rem;padding:.15rem .1rem .4rem;display:flex;overflow-x:auto}.threaddays::-webkit-scrollbar{display:none}.threaddays button{border:1px solid var(--edge);background:var(--linen);color:var(--ink-faint);white-space:nowrap;border-radius:999px;flex:none;padding:.32rem .85rem;font-size:.78rem}.threaddays button.on{background:var(--ink);color:var(--linen);border-color:var(--ink)}.thread{flex-direction:column;gap:.75rem;display:flex}.msg{max-width:92%}.msg.user{background:var(--ink);color:var(--linen);border-radius:18px 18px 5px;align-self:flex-end;max-width:84%;padding:.68rem 1rem;font-size:.94rem}.msg.assistant{background:var(--linen);border:1px solid var(--edge);box-shadow:var(--shadow);border-radius:18px 18px 18px 5px;align-self:flex-start;padding:1.05rem 1.1rem}.sources{letter-spacing:.05em;color:var(--ink-faint);margin:.85rem 0 0;font-size:.73rem}.speak{border:1px solid var(--edge);background:var(--well);letter-spacing:.04em;color:var(--ink-soft);border-radius:999px;align-items:center;gap:.4rem;margin-top:.7rem;padding:.32rem .8rem;font-size:.75rem;display:inline-flex}.speak.busy{opacity:.65}.speak svg{display:block}.typing{gap:5px;padding:1.1rem;display:flex}.typing span{background:var(--ink-faint);border-radius:50%;width:6px;height:6px;animation:1.25s infinite blink}.typing span:nth-child(2){animation-delay:.18s}.typing span:nth-child(3){animation-delay:.36s}@keyframes blink{0%,60%,to{opacity:.25}30%{opacity:.85}}.bar{bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) - .6rem);background:var(--linen);border:1px solid var(--edge);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:.45rem;margin-top:.9rem;padding:.32rem .32rem .32rem .55rem;display:flex;position:sticky}.bar input{color:var(--ink);background:0 0;border:none;flex:1;padding:.5rem .2rem}.bar input:focus{outline:none}.bar .send{background:var(--ink);color:var(--linen);border:none;border-radius:999px;padding:.5rem 1.05rem;font-size:.86rem}.bar .send:disabled{opacity:.35}.mic{border:1px solid var(--edge);background:var(--well);width:34px;height:34px;color:var(--ink-soft);border-radius:50%;flex:none;place-items:center;display:grid}.mic.on{background:var(--clay);border-color:var(--clay);color:var(--linen)}.compose{align-items:center;gap:.45rem;display:flex}.compose input{border:1px solid var(--edge);background:var(--well);color:var(--ink);border-radius:999px;flex:1;padding:.6rem .95rem}.compose .primary{padding:.6rem 1.1rem}.mantra{margin:0;padding:1.3rem 2.4rem 1.3rem 1.4rem;position:relative}.mantra p{font-family:var(--serif);color:var(--ink);margin:0;font-size:1.1rem;line-height:1.6}.mantra input{width:100%;font-family:var(--serif);color:var(--ink);background:0 0;border:none;font-size:1.1rem}.mantra .drop{color:var(--ink-faint);background:0 0;border:none;padding:.3rem;font-size:1.1rem;line-height:1;position:absolute;top:.7rem;right:.8rem}.tabbar{padding:.7rem .6rem calc(1.35rem + env(safe-area-inset-bottom));background:var(--veil);-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px);border-top:1px solid var(--edge);justify-content:center;gap:.3rem;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{letter-spacing:.02em;max-width:8rem;min-height:54px;color:var(--ink-faint);background:0 0;border:none;border-radius:16px;flex:1;padding:.7rem .2rem;font-size:.95rem;font-weight:500}.tabbar button.on{background:var(--linen);color:var(--ink);box-shadow:var(--shadow)}.landing{max-width:640px;margin:0 auto;padding:3.5rem 1.4rem 4rem;position:relative}.landing .langtoggle{border:1px solid var(--edge);background:var(--linen);letter-spacing:.02em;color:var(--ink-soft);border-radius:999px;padding:.4rem .9rem;font-size:.8rem;position:absolute;top:1.2rem;right:1.2rem}.lhero{text-align:center}.lmark{color:var(--clay);font-size:1.5rem}.lhero h1{font-family:var(--serif);letter-spacing:-.02em;margin:.5rem 0 .9rem;font-size:2.6rem;font-weight:400}.llede{max-width:34ch;color:var(--ink-soft);margin:0 auto 1.8rem;font-size:1.02rem;line-height:1.72}.lnote{letter-spacing:.06em;color:var(--ink-faint);margin-top:.9rem;font-size:.76rem;display:block}.lfeatures{flex-direction:column;gap:1.9rem;margin:3.6rem 0 0;display:flex}.lfeature .lnum{letter-spacing:.16em;color:var(--clay);font-size:.72rem}.lfeature h3{font-family:var(--serif);margin:.4rem 0 .35rem;font-size:1.25rem;font-weight:400}.lfeature p{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.7}.lfoot{text-align:center;margin-top:3.6rem}.creed{max-width:30ch;font-family:var(--serif);color:var(--ink-soft);margin:0 auto 1.4rem;font-size:1.15rem;line-height:1.65}@media (width>=560px){.lfeatures{flex-direction:row;gap:1.6rem}.lfeature{flex:1}}.meals{--bone:#0d0e10;--linen:#16181c;--well:#0f1114;--edge:#2a2e35;--edge-strong:#3d434c;--ink:#e9e7e2;--ink-soft:#a7aab1;--ink-faint:#6c717a;--clay:#d98b5a;--sage:#e2b15f;--focus:#4a5160;--shadow:none;--radius:6px;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--ink);min-height:100vh;padding-bottom:3rem}body.meals-body{background:#0d0e10}.meals .panel{border:1px solid var(--edge);border-radius:var(--radius)}.meals input,.meals textarea{border-color:var(--edge-strong);border-radius:4px}.meals input:focus,.meals textarea:focus{outline:1px solid var(--sage);outline-offset:0}.meals input::placeholder,.meals textarea::placeholder{color:var(--ink-faint)}.meals button.primary,.meals button.ghost,.meals .add,.meals .chip,.meals .danger{letter-spacing:.06em;border-radius:4px;font-size:.8rem}.meals button.primary{background:var(--ink);color:#0d0e10;font-weight:600}.meals button.ghost{border-color:var(--edge-strong);color:var(--ink-soft)}.meals button.ghost:hover{border-color:var(--ink-faint);color:var(--ink)}.meals .head{align-items:center;padding:1.5rem 0 1rem}.meals .head h1{font-family:var(--sans);letter-spacing:-.02em;font-size:1.3rem;font-weight:700}.meals .head h1:before{content:"MEALS";font-family:var(--mono);letter-spacing:.22em;color:var(--ink-faint);margin-bottom:.15rem;font-size:.66rem;font-weight:400;display:block}.meals .add{border:1px solid var(--sage);color:var(--sage);background:0 0;padding:.4rem .85rem;font-weight:600}.meals .add:disabled{opacity:.35}.meals .signout{color:var(--ink-faint);font-family:var(--mono);letter-spacing:.12em}.meals .signout:hover{color:var(--ink)}.meals .switch{border:1px solid var(--edge);border-radius:4px;margin:0 0 1rem;display:flex;overflow:hidden}.meals .switch button{color:var(--ink-faint);letter-spacing:.14em;background:0 0;border:none;flex:1;padding:.55rem;font-size:.8rem}.meals .switch button+button{border-left:1px solid var(--edge)}.meals .switch button.on{background:var(--linen);color:var(--ink)}.meals .signin{text-align:center;place-content:center;justify-items:center;gap:.6rem;min-height:80vh;display:grid}.meals .signin h1{letter-spacing:-.03em;font-size:2.2rem;font-weight:700}.meals .hint{color:var(--ink-faint);font-family:var(--mono);letter-spacing:.06em;font-size:.78rem}.meals .note{color:var(--ink-faint)}.meals h2.display{font-family:var(--sans);letter-spacing:-.01em;font-weight:600}.searchpanel{padding:.9rem .9rem .85rem}.searchrow{align-items:stretch;gap:.4rem;display:flex}.searchrow input{border:1px solid var(--edge-strong);background:var(--well);min-width:0;color:var(--ink);flex:1;padding:.6rem .8rem}.searchrow .ghost,.searchrow .primary{white-space:nowrap;padding:0 .85rem}.searchrow .askmode.on{border-color:var(--clay);color:var(--clay)}.fallback{color:var(--clay);font-family:var(--mono);margin:.6rem 0 0;font-size:.76rem}.chips{flex-wrap:wrap;gap:.3rem;margin-top:.55rem;display:flex}.chip{border:1px solid var(--edge);color:var(--ink-soft);background:0 0;padding:.26rem .65rem}.chip:hover{border-color:var(--edge-strong);color:var(--ink)}.chip.on{background:var(--sage);border-color:var(--sage);color:#0d0e10;font-weight:600}.clear{color:var(--ink-faint);font-family:var(--mono);letter-spacing:.1em;background:0 0;border:none;margin-top:.7rem;padding:0;font-size:.74rem}.clear:hover{color:var(--clay)}.meallist{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.mealcard{padding:.95rem 1rem;transition:border-color .12s}.mealcard:hover{border-color:var(--edge-strong)}.mealhead{flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem;display:flex}.mealhead h3{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:600}.tags{flex-wrap:wrap;gap:.25rem;display:flex}.tag{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-soft);border:1px solid var(--edge);border-radius:3px;padding:.08rem .45rem;font-size:.68rem}.recipe{white-space:pre-wrap;color:var(--ink-soft);margin:.6rem 0 0;font-size:.9rem;line-height:1.6}.mealnote{color:var(--ink-faint);white-space:pre-wrap;margin:.4rem 0 0;font-size:.82rem}.cardactions{gap:.35rem;margin-top:.75rem;display:flex}.cardactions button{padding:.3rem .75rem;font-size:.76rem}.cardactions .danger{border:1px solid var(--clay);background:var(--clay);color:#0d0e10;padding:.3rem .75rem;font-weight:600}.dialog{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#060708b3;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.qa{background:var(--linen);border:1px solid var(--edge-strong);border-radius:var(--radius);width:100%;max-width:560px;max-height:calc(100dvh - 2rem);padding:1rem 1.2rem 1.2rem;overflow-y:auto;box-shadow:0 30px 60px -30px #000c}.qahead{justify-content:space-between;align-items:center;display:flex}.dots{gap:.35rem;display:flex}.dot{background:var(--edge);border:none;border-radius:1px;width:18px;height:3px;padding:0}.dot.done{background:var(--edge-strong)}.dot.on{background:var(--sage)}.qnum{color:var(--ink-faint);font-family:var(--mono);letter-spacing:.14em;margin:.9rem 0 0;font-size:.72rem}.qa h2.display{margin:.1rem 0 .3rem;font-size:1.45rem}.qa input{background:var(--well);width:100%;margin-top:.6rem;padding:.8rem .9rem;font-size:1.05rem}.qa textarea{margin-top:.6rem;padding-right:.9rem}.choices{gap:.35rem;margin-top:.6rem;display:grid}.choice{border:1px solid var(--edge);background:var(--well);color:var(--ink);text-align:left;border-radius:4px;align-items:center;gap:.75rem;padding:.7rem .85rem;font-size:.98rem;display:flex}.choice:hover{border-color:var(--edge-strong)}.choice.on{border-color:var(--sage);box-shadow:inset 0 0 0 1px var(--sage)}.choice:focus-visible{outline:1px solid var(--focus)}.keycap{border:1px solid var(--edge-strong);width:20px;height:20px;color:var(--ink-faint);font-family:var(--mono);border-radius:3px;place-items:center;font-size:.7rem;display:inline-grid}.qerror{color:var(--clay);margin:.7rem 0 0;font-size:.84rem}.qafoot{align-items:center;gap:.4rem;margin-top:1rem;display:flex}.qhint{color:var(--ink-faint);font-family:var(--mono);letter-spacing:.06em;margin-left:auto;font-size:.68rem}.notecard{padding:.95rem 1rem}.notetext{white-space:pre-wrap;margin:0;font-size:.98rem;line-height:1.65}.notecard .cardactions{align-items:center}.notedate{color:var(--ink-faint);font-family:var(--mono);letter-spacing:.1em;margin-right:auto;font-size:.72rem}.meals .writer .mic{background:var(--well);border-color:var(--edge-strong);color:var(--ink-soft);border-radius:4px}.meals .writer .mic.on{background:var(--clay);border-color:var(--clay);color:#0d0e10}.rating{align-items:baseline;gap:.5rem;margin:.45rem 0 0;display:flex}.starrow{color:var(--sage);letter-spacing:.08em;font-size:.95rem}.starnum{color:var(--ink-faint);font-family:var(--mono);letter-spacing:.08em;font-size:.72rem}.stars{flex-wrap:wrap;align-items:center;gap:.15rem;margin-top:.7rem;display:flex}.star{color:var(--edge-strong);background:0 0;border:none;padding:.1rem .05rem;font-size:1.7rem;line-height:1;transition:color 80ms,transform 80ms}.star:hover{transform:scale(1.12)}.star.on{color:var(--sage)}.stars .starnum{margin-left:.5rem}.stars .clear{margin:0 0 0 .6rem}.qa .writer{position:relative}.qa .writer textarea{padding-right:3.4rem}.qa .writer .mic{position:absolute;bottom:.7rem;right:.6rem}.viewswitch{gap:.25rem;margin:0 0 .6rem;display:flex}.viewswitch button{border:1px solid var(--edge);color:var(--ink-faint);letter-spacing:.12em;background:0 0;border-radius:4px;padding:.3rem .8rem;font-size:.78rem}.viewswitch button.on{border-color:var(--ink);color:var(--ink)}.kindback{color:var(--ink-soft);background:0 0;border:none;align-self:flex-start;padding:0 0 .2rem;font-size:.85rem}.kindback b{color:var(--sage);font-weight:600}.kindgrid{grid-template-columns:repeat(2,1fr);gap:.5rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=480px){.kindgrid{grid-template-columns:repeat(3,1fr)}}.kindtile{border:1px solid var(--edge);border-radius:var(--radius);background:var(--linen);width:100%;color:var(--ink);text-align:left;justify-content:space-between;align-items:baseline;gap:.5rem;padding:1.1rem 1rem;transition:border-color .12s;display:flex}.kindtile:hover{border-color:var(--sage)}.kindname{letter-spacing:-.01em;font-size:1.05rem;font-weight:600}.kindcount{font-family:var(--mono);color:var(--ink-faint);font-size:.8rem}.tag.kind{border-color:var(--sage);color:var(--sage)}.qa .chips{margin-top:.6rem}.nearrow{align-items:center;gap:.6rem;margin-top:.6rem;display:flex}.chip.near{border-color:var(--edge-strong);color:var(--ink-soft)}.chip.near.on{background:var(--clay);border-color:var(--clay);color:#0d0e10;font-weight:600}.shop{border-left:2px solid var(--sage);background:var(--well);color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:.2rem .9rem;margin:.55rem 0 0;padding:.45rem .7rem;font-size:.86rem;display:flex}.shop b{color:var(--ink);font-weight:600}.shop a{color:var(--ink-soft);text-decoration:none}.shopgo{align-items:baseline;gap:.8rem;margin-left:auto;display:flex}.shopgo em{font-style:normal;font-family:var(--mono);color:var(--clay);letter-spacing:.06em;font-size:.78rem}.shopgo a{color:var(--sage);font-weight:600}.placepick{position:relative}.suggest{border:1px solid var(--edge-strong);background:var(--well);border-radius:4px;max-height:14rem;margin:.3rem 0 0;padding:0;list-style:none;overflow-y:auto}.suggest li+li{border-top:1px solid var(--edge)}.suggest button{width:100%;color:var(--ink);text-align:left;background:0 0;border:none;gap:.05rem;padding:.55rem .8rem;display:grid}.suggest button:hover{background:var(--linen)}.sugmain{font-size:.95rem}.sugsub{color:var(--ink-faint);font-size:.76rem}.picked{border-left:2px solid var(--sage);background:var(--well);color:var(--ink-soft);gap:.1rem;margin-top:.6rem;padding:.6rem .8rem;font-size:.86rem;display:grid}.picked b{color:var(--ink)}.picked .clear{justify-self:start;margin-top:.3rem}.meals .signin .langtoggle{position:absolute;top:1.2rem;right:1.2rem}.meals .signin{position:relative}.watch{border:1px solid var(--edge-strong);color:var(--ink);letter-spacing:.06em;border-radius:4px;margin-top:.55rem;padding:.25rem .7rem;font-size:.8rem;text-decoration:none;display:inline-block}.watch:hover{border-color:var(--sage);color:var(--sage)}.meals .go{--red:#e5322d;background:var(--red);color:#fff;letter-spacing:.18em;box-shadow:0 0 0 1px var(--red), 0 0 22px -6px var(--red);border:none;border-radius:4px;padding:.4rem 1rem;font-size:.9rem;font-weight:800}.meals .go:hover{filter:brightness(1.08)}.meals .go:disabled{opacity:.35;box-shadow:none}.qa.go .choice{justify-content:space-between}.qa.go .choice.nearest{border-color:var(--clay);color:var(--clay);font-weight:600}.gochoice{gap:.05rem;display:grid}.gochoice b{font-weight:600}.gochoice small{color:var(--ink-faint);font-size:.78rem}.qa.go .choice.nearest .gochoice small{color:var(--ink-soft)}.goalpanel{border-color:var(--sage)}.goalpanel .qnum{color:var(--sage);margin:0 0 .4rem}.goal{width:100%;color:var(--ink);text-align:left;letter-spacing:-.01em;white-space:pre-wrap;background:0 0;border:none;padding:0;font-size:1.35rem;font-weight:600;line-height:1.4}.goal.empty{color:var(--ink-faint);font-size:1rem;font-weight:400}.goaledit{margin-top:0;padding-right:.9rem;font-size:1.1rem}.listhead{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.listhead .qnum{margin:0}.habits{margin:0;padding:0;list-style:none;display:grid}.habits li{border-top:1px solid var(--edge);align-items:center;gap:.7rem;padding:.55rem 0;display:flex}.habits li:first-child{border-top:none}.tick{border:1px solid var(--edge-strong);background:var(--well);color:#0d0e10;border-radius:4px;flex:none;place-items:center;width:26px;height:26px;padding:0;font-weight:800;display:grid}.habits li.done .tick{background:var(--sage);border-color:var(--sage)}.habittext{color:var(--ink);text-align:left;background:0 0;border:none;flex:1;padding:0;font-size:1rem;line-height:1.4}.habits li.done .habittext{color:var(--ink-faint);text-decoration:line-through}.habitedit{border:1px solid var(--edge-strong);background:var(--well);color:var(--ink);border-radius:4px;flex:1;padding:.3rem .5rem}.habitdel{color:var(--ink-faint);background:0 0;border:none;flex:none;padding:0 .3rem;font-size:1.1rem}.habitdel:hover{color:var(--clay)}.habitactions{gap:.3rem;display:flex}.habitactions button{padding:.25rem .6rem;font-size:.74rem}.alldone{color:var(--sage);margin:.6rem 0 0}.starterrow{justify-content:space-between;align-items:center;gap:.6rem;margin:.3rem 0;display:flex}.starterrow .hint{margin:0}.addrow{margin-top:.8rem}.tag.protein{border-color:var(--clay);color:var(--clay)}.tag.price{border-color:var(--ink-soft);color:var(--ink);font-weight:600}.shopsection{padding:.9rem 1rem}.shopsection .addrow{margin-top:.5rem}.shopsection .addrow input{padding:.45rem .75rem;font-size:.92rem}.shopsection .addrow .primary{padding:0 .8rem}.clearbought{align-self:flex-end;padding:.35rem .85rem;font-size:.78rem}.meals .toolbar{gap:.5rem;margin:-.3rem 0 .8rem;display:flex}.meals .toolbar .go{flex:1;padding:.6rem 1rem;font-size:1rem}.meals .toolbar .add{padding:.6rem 1rem}.updatebar{border:1px solid var(--sage);background:var(--sage);color:#0d0e10;letter-spacing:.06em;border-radius:4px;width:100%;margin:.6rem 0 0;padding:.6rem;font-weight:700}.buildstamp{text-align:center;font-family:var(--mono);letter-spacing:.14em;color:var(--ink-faint);margin-top:2rem;font-size:.66rem}.forceupdate{color:var(--sage);font:inherit;letter-spacing:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.rulespanel{border-color:var(--edge-strong)}.rulespanel .qnum{color:var(--ink-soft);margin:0 0 .4rem}.rules{margin:0;padding:0;list-style:none}.rules li{border-top:1px solid var(--edge);align-items:center;gap:.7rem;padding:.5rem 0;display:flex}.rules li:first-child{border-top:none}.rulenum{width:22px;font-family:var(--mono);color:var(--sage);flex:none;font-size:.72rem}.ruletext{font-size:1rem;line-height:1.45}.meals .toolbar .add.wide{flex:1}.rewardspanel .listhead .ghost{padding:.3rem .8rem;font-size:.76rem}.clips{margin:0;padding:0;list-style:none}.clips li{border-top:1px solid var(--edge);align-items:center;gap:.6rem;padding:.4rem 0;display:flex}.clips li:first-child{border-top:none}.dialog.reward{background:#000000eb;padding:0}.rewardbox{gap:.8rem;width:100%;max-width:560px;padding:1rem;display:grid}.rewardline{text-align:center;letter-spacing:-.01em;color:var(--sage);margin:0;font-size:1.3rem;font-weight:700}.rewardbox video{background:#000;border-radius:6px;width:100%;max-height:70vh}.pricebig{font-family:var(--mono);color:var(--sage);letter-spacing:.1em;margin-left:.5rem;font-size:.85rem}.todaysclip{border-color:var(--edge-strong)}.todaysclip.open{border-color:var(--sage)}.clipcard{border:1px dashed var(--edge-strong);background:var(--well);width:100%;color:var(--ink);text-align:left;border-radius:6px;grid-template-columns:44px 1fr;align-items:center;gap:.2rem .8rem;padding:.9rem 1rem;display:grid;position:relative;overflow:hidden}.clipcard.open{border-style:solid;border-color:var(--sage);cursor:pointer}.clipcard.open:hover{background:var(--linen)}.clipicon{place-items:center;font-size:1.5rem;display:grid}.clipcard.open .clipicon{color:var(--sage)}.cliptext{gap:.05rem;display:grid}.cliptext b{letter-spacing:.06em;font-weight:600}.cliptext small{color:var(--ink-faint);font-family:var(--mono);letter-spacing:.08em;font-size:.72rem}.clipcard.locked .cliptext b{color:var(--ink-faint);letter-spacing:.3em}.clipbar{background:var(--edge);border-radius:2px;grid-column:1/-1;height:3px;margin-top:.5rem;overflow:hidden}.clipbar i{background:var(--sage);height:100%;transition:width .3s;display:block}.clips li.locked .habittext{color:var(--ink-faint)}.lockedtext{flex:1;font-size:1rem}.clipdate{color:var(--ink-faint);font-family:var(--mono);letter-spacing:.06em;font-size:.7rem}.unlockword{text-align:center;letter-spacing:.2em;color:var(--sage);margin:0;font-size:2.4rem;font-weight:800;animation:.9s cubic-bezier(.2,.9,.2,1.2) both unlockpop}.rewardbox.burst video{animation:.7s .4s both unlockrise}@keyframes unlockpop{0%{opacity:0;filter:blur(6px);transform:scale(.4)rotate(-6deg)}60%{opacity:1;filter:blur();transform:scale(1.15)rotate(2deg)}to{transform:scale(1)rotate(0)}}@keyframes unlockrise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.focuspanel{--amber:#ffb340;--amber-ink:#1a1305;border:1px solid var(--edge-strong);background:var(--linen);transition:background .25s,border-color .25s}.focuspanel.set{background:var(--amber);border-color:var(--amber);color:var(--amber-ink);box-shadow:0 0 0 1px var(--amber), 0 0 30px -10px var(--amber)}.focuspanel.done{background:var(--sage);border-color:var(--sage);color:var(--amber-ink)}.focuspanel .qnum{color:inherit;opacity:.7;margin:0 0 .35rem}.focuspanel:not(.set):not(.done) .qnum{color:var(--ink-faint);opacity:1}.focustext{width:100%;color:inherit;text-align:left;letter-spacing:-.02em;white-space:pre-wrap;background:0 0;border:none;padding:0;font-size:1.55rem;font-weight:800;line-height:1.25}.focustext.empty{color:var(--ink-faint);font-size:1rem;font-weight:400}.focuspanel.done .focustext{opacity:.75;text-decoration:line-through;text-decoration-thickness:2px}.focusedit{margin-top:0;padding-right:.9rem;font-size:1.2rem;font-weight:600}.focusfoot{align-items:center;gap:.8rem;margin-top:.7rem;display:flex}.focusfoot .hint{color:inherit;opacity:.7}.focustick{color:inherit;letter-spacing:.06em;background:0 0;border:1.5px solid;border-radius:4px;padding:.35rem .9rem;font-size:.85rem;font-weight:700}.focustick.on{background:var(--amber-ink);color:var(--sage);border-color:var(--amber-ink)}.rowbtns{gap:.9rem;display:flex}.bars{gap:.7rem;margin-top:.3rem;display:grid}.bar .barhead{color:var(--ink-soft);justify-content:space-between;align-items:baseline;font-size:.85rem;display:flex}.bar .barhead b{color:var(--ink);font-family:var(--mono);font-size:.95rem}.bar .barhead small{color:var(--ink-faint);font-size:.72rem}.bar .track{background:var(--edge);border-radius:3px;height:6px;margin:.3rem 0 .15rem;display:block;overflow:hidden}.bar .track i{background:var(--ink-soft);height:100%;transition:width .3s;display:block}.bar.kcal .track i{background:var(--sage)}.bar.protein .track i{background:var(--clay)}.bar.carbs .track i{background:#e2b15f}.bar.fat .track i{background:#8aa4c8}.bar .remain{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.06em;font-size:.7rem}.bar .remain.over{color:var(--clay)}.targets{grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.4rem;display:grid}.targets label{min-width:0;color:var(--ink-faint);gap:.2rem;font-size:.78rem;display:grid}.targets input{box-sizing:border-box;border:1px solid var(--edge-strong);background:var(--well);width:100%;min-width:0;color:var(--ink);font-family:var(--mono);border-radius:4px;padding:.45rem .6rem}.targets .primary{grid-column:1/-1;width:100%}.esttotals .estnum,.itemnums label{min-width:0}.itemnums input,.estnum input{box-sizing:border-box;min-width:0}.photorow{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.6rem;display:flex}.photorow .ghost{padding:.4rem .7rem;font-size:.78rem}.photopick{align-items:center;gap:.2rem;display:inline-flex}.photopick img{object-fit:cover;border:1px solid var(--edge-strong);border-radius:4px;width:40px;height:40px}.estimate{border-top:1px solid var(--edge);margin-top:.8rem;padding-top:.8rem}.esttotals{grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid}.estnum{color:var(--ink-faint);letter-spacing:.06em;gap:.15rem;font-size:.7rem;display:grid}.estnum input{border:1px solid var(--edge-strong);background:var(--well);width:100%;color:var(--ink);font-family:var(--mono);text-align:center;border-radius:4px;padding:.4rem .3rem;font-size:.95rem}.estitems{gap:.3rem;margin:.6rem 0 0;padding:0;font-size:.85rem;list-style:none;display:grid}.estitems li{color:var(--ink-soft);justify-content:space-between;gap:.6rem;display:flex}.estitems li small{color:var(--ink-faint)}.estitems li b{color:var(--ink);font-family:var(--mono)}.src{font-style:normal;font-family:var(--mono);letter-spacing:.08em;border:1px solid var(--edge);color:var(--ink-faint);border-radius:3px;margin-left:.4rem;padding:.05rem .35rem;font-size:.64rem}.src.tfnd{border-color:var(--sage);color:var(--sage)}.src.label{color:#e2b15f;border-color:#e2b15f}.foodlog{padding:.8rem 1rem}.foodhead{align-items:baseline;gap:.5rem;display:flex}.foodhead b{font-family:var(--mono);margin-left:auto;font-size:1.1rem}.foodhead small{color:var(--ink-faint)}.foodtext{margin:.3rem 0 0;font-size:.95rem}.foodmacros{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.06em;margin:.15rem 0 0;font-size:.72rem}.foodphoto{border-radius:4px;max-width:100%;max-height:180px;margin-top:.5rem;display:block}.reportfacts{grid-template-columns:1fr 1fr;gap:.8rem;margin-top:.8rem;display:grid}.reportfacts div{gap:.1rem;display:grid}.reportfacts .qnum{margin:0}.reportfacts b{font-family:var(--mono);font-size:1.3rem}.reportfacts small{color:var(--ink-faint);font-size:.75rem}.reportdays{margin:.8rem 0 0;padding:0;list-style:none}.reportdays li{border-top:1px solid var(--edge);align-items:baseline;gap:.6rem;padding:.35rem 0;font-size:.85rem;display:flex}.reportdays li b{font-family:var(--mono)}.reportdays li small{color:var(--ink-faint);font-family:var(--mono);margin-left:auto;font-size:.7rem}.meals .switch button{letter-spacing:.05em;padding:.5rem .1rem;font-size:.74rem}.esttotals .estnum b{text-align:center;font-family:var(--mono);color:var(--ink);border:1px solid var(--edge);background:var(--well);border-radius:4px;padding:.35rem 0;font-size:1.05rem;display:block}.estitems.editable li{border-top:1px solid var(--edge);gap:.3rem;padding:.5rem 0;display:grid}.estitems.editable li:first-child{border-top:none}.itemhead{align-items:center;gap:.5rem;display:flex}.itemname{color:var(--ink);flex:1}.itemnums{grid-template-columns:repeat(4,1fr);gap:.35rem;display:grid}.itemnums label{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.06em;gap:.1rem;font-size:.66rem;display:grid}.itemnums input{border:1px solid var(--edge-strong);background:var(--well);width:100%;color:var(--ink);font-family:var(--mono);text-align:center;border-radius:4px;padding:.35rem .3rem;font-size:.9rem}.matchnote{color:var(--ink-faint);font-size:.72rem}.src.brand{border-color:var(--clay);color:var(--clay)}.src.saved{color:#8aa4c8;border-color:#8aa4c8}.splash{z-index:60;color:#e9e7e2;text-align:center;cursor:pointer;background:#0d0e10;align-content:center;justify-items:center;gap:1.2rem;padding:2rem;transition:opacity .45s;animation:.5s both splashin;display:grid;position:fixed;inset:0}.splash.leaving{opacity:0;pointer-events:none}.splasheyebrow{letter-spacing:.32em;color:#ffb340;margin:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.78rem}.splashgoal{letter-spacing:-.02em;white-space:pre-wrap;max-width:22ch;margin:0;font-size:clamp(1.7rem,7vw,2.6rem);font-weight:800;line-height:1.25;animation:.8s cubic-bezier(.2,.8,.2,1) .15s both splashrise}.splashgoal.empty{color:#6c717a;font-size:1.1rem;font-weight:500}.splashhint{color:#6c717a;letter-spacing:.14em;margin:1rem 0 0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.68rem}@keyframes splashin{0%{opacity:0}to{opacity:1}}@keyframes splashrise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.chips.books{margin:0 0 .4rem}.chip.sad.on{color:#0d0e10;background:#8aa4c8;border-color:#8aa4c8}.chip.grateful.on{color:#0d0e10;background:#ffb340;border-color:#ffb340}.notecard.sad{border-left:3px solid #8aa4c8}.notecard.grateful{border-left:3px solid #ffb340}.tag.book.sad{color:#8aa4c8;border-color:#8aa4c8}.tag.book.grateful{color:#ffb340;border-color:#ffb340}.notecard .cardactions .notedate{margin-left:.4rem;margin-right:auto}.balance{border-color:var(--edge-strong)}.balancenums{justify-content:space-between;align-items:flex-end;margin-top:.2rem;display:flex}.balancenums span{gap:0;display:grid}.balancenums b{font-family:var(--mono);font-size:2.4rem;font-weight:700;line-height:1}.balancenums small{letter-spacing:.12em;color:var(--ink-faint);font-size:.72rem}.balancenums .grateful b{color:#ffb340}.balancenums .sad{text-align:right}.balancenums .sad b{color:#8aa4c8}.balancebar{background:var(--edge);border-radius:4px;gap:2px;height:14px;margin-top:.6rem;display:flex;overflow:hidden}.balancebar i{height:100%;transition:width .4s;display:block}.balancebar .grateful{background:#ffb340}.balancebar .sad{background:#8aa4c8}.balanceline{margin:.5rem 0 0;font-size:.85rem}.balanceline.up{color:#ffb340}.balanceline.down{color:#8aa4c8}
