:root{--bg: #fff5f2;--surface: #ffffff;--blush: #ffe3e6;--ink: #2b1a20;--muted: #8b6f76;--line: #f2dcdc;--rose: #d9466f;--rose-deep: #b8325a;--mint: #2fb383;--mint-soft: #dcf5ea;--honey: #f4b23e;--honey-soft: #fff0d2;--danger: #c2413a;--font-display: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;--font-body: "Nunito Sans", "Segoe UI", system-ui, sans-serif;--radius: 22px;--shadow: 0 6px 20px rgba(185, 70, 100, .08);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3{font-family:var(--font-display);line-height:1.15;margin:0;text-wrap:balance;letter-spacing:-.01em}h1{font-size:1.85rem;font-weight:800}h2{font-size:1.15rem;font-weight:700}h3{font-size:1rem;font-weight:700}.app{display:flex;flex-direction:column;min-height:100%;max-width:520px;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 14px) max(20px,env(safe-area-inset-right,0px)) 4px max(20px,env(safe-area-inset-left,0px))}.wordmark{font-family:var(--font-display);font-weight:800;font-size:1.1rem;color:var(--rose);letter-spacing:-.02em}.status{font-size:.72rem;font-weight:700;color:var(--muted);background:var(--surface);border-radius:999px;padding:4px 10px}.status.ok{color:var(--mint)}.screen{flex:1;padding:8px max(20px,env(safe-area-inset-right,0px)) 110px max(20px,env(safe-area-inset-left,0px))}.stack{display:flex;flex-direction:column;gap:16px}.greeting{display:flex;flex-direction:column;gap:2px;padding:8px 0 4px}.greeting .date{font-size:.85rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.card{background:var(--surface);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0;box-shadow:var(--shadow)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.card.rose{background:var(--rose);color:#fff;box-shadow:0 10px 28px #d9466f47}.card.rose .muted{color:#ffffffd1}.pill{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:4px 10px;background:var(--blush);color:var(--rose-deep)}.card.rose .pill{background:#fff3;color:#fff}.eyebrow{margin:0;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.muted{margin:0;color:var(--muted);font-size:.9rem}.error{color:var(--danger);font-weight:700}.plain{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.wins-score{display:flex;align-items:baseline;gap:6px}.wins-score strong{font-family:var(--font-display);font-size:2.6rem;font-weight:800;line-height:1}.wins{display:flex;flex-direction:column;gap:8px}.wins-row{display:grid;grid-template-columns:64px repeat(7,1fr);gap:6px;align-items:center}.wins-day{font-size:.72rem;font-weight:800;text-align:center;opacity:.85}.wins-day.today{background:#fff;color:var(--rose);border-radius:999px;padding:1px 0;opacity:1}.wins-label{font-size:.8rem;font-weight:700}.tick{aspect-ratio:1;max-width:100%;border-radius:50%;background:#ffffff2e;display:grid;place-items:center}.tick svg{width:62%;height:62%}.tick.on{background:#fff;color:var(--mint)}.rings{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ring{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.ring svg{width:100%;max-width:150px;height:auto}.ring .ring-track{stroke:var(--blush)}.ring .ring-fill{stroke:var(--rose);transition:stroke-dashoffset .6s ease}.ring.protein .ring-track{stroke:var(--honey-soft)}.ring.protein .ring-fill{stroke:var(--honey)}.ring-big{font-family:var(--font-display);font-weight:800;font-size:26px;fill:var(--ink)}.ring-small{font-size:11px;font-weight:700;fill:var(--muted)}.ring-label{font-size:.85rem;font-weight:800}.card.row-card{flex-direction:row;align-items:center;gap:14px;text-align:left;width:100%}.row-icon{flex:none;width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--blush);color:var(--rose)}.row-icon.mint{background:var(--mint-soft);color:var(--mint)}.row-icon.honey{background:var(--honey-soft);color:#b77a0c}.row-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chev{color:var(--muted);font-size:1.4rem}.streak{display:flex;align-items:center;gap:10px;background:var(--honey-soft);border-radius:18px;padding:12px 16px;font-weight:800;color:#8a5a06}.streak svg{flex:none;width:22px;height:22px;color:var(--honey)}.quote{font-family:var(--font-display);font-weight:700;font-size:1.05rem;line-height:1.35;margin:0}.button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;padding:15px 18px;background:var(--rose);color:#fff;font:800 1rem var(--font-display);cursor:pointer;box-shadow:0 8px 20px #d9466f40}.button.ghost{background:var(--surface);color:var(--rose);box-shadow:var(--shadow)}.button:focus-visible,.tab:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--honey);outline-offset:2px}.form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:800;color:var(--muted)}.form input,.form select{font:700 1rem var(--font-body);color:var(--ink);background:var(--bg);border:2px solid transparent;border-radius:14px;padding:12px;width:100%}.form input:focus,.form select:focus{border-color:var(--blush)}.segmented{display:grid;grid-template-columns:1fr 1fr;background:var(--bg);border-radius:999px;padding:4px;gap:4px}.segmented button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;border-radius:999px;padding:10px;font:800 .9rem var(--font-display);color:var(--muted);cursor:pointer}.segmented button.on{background:var(--surface);color:var(--rose);box-shadow:var(--shadow)}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat{background:var(--surface);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow)}.stat-label{font-size:.72rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-family:var(--font-display);font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums}.stat.feature{background:var(--rose);color:#fff}.stat.feature .stat-label{color:#ffffffd9}.chart{width:100%;height:auto}.chart .grid{stroke:var(--line);stroke-width:1}.chart .axis{fill:var(--muted);font-size:10px;font-weight:700;font-family:var(--font-body)}.chart .line{fill:none;stroke:var(--rose);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.chart .area{fill:var(--blush)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{padding:8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{font-weight:800;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.num{text-align:right;font-variant-numeric:tabular-nums}.phase{display:inline-block;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:800}.phase.FAT_LOSS{background:var(--blush);color:var(--rose-deep)}.phase.MAINTENANCE{background:var(--mint-soft);color:#1d7a57}.phase.REVERSE_DIET{background:var(--honey-soft);color:#8a5a06}.soon-hero{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.soon-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.soon-list li{display:flex;gap:10px;align-items:center;font-weight:700}.soon-list li:before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--rose)}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:0 max(12px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 10px) max(12px,env(safe-area-inset-left,0px));pointer-events:none}.tabbar-inner{pointer-events:auto;display:flex;width:100%;max-width:496px;background:var(--surface);border-radius:26px;padding:6px;box-shadow:0 10px 30px #2b1a2024}.tab{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0;border-radius:20px;font:800 .68rem var(--font-display);cursor:pointer}.tab svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tab.active{color:var(--rose);background:var(--blush)}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
