:root{--ink: #22221f;--bg: #f6f4ef;--surface: #ffffff;--surface-2: #f1eee7;--text: var(--ink);--muted: #8b877e;--border: #ebe7df;--peach: #f8cf94;--peach-soft: #fbe7c9;--sage: #d3e4c8;--sage-soft: #e8f0e2;--sage-deep: #8e9e86;--sand: #e2dbd2;--blush: #f2d0bd;--sky: #d5e5ec;--water: #4f8aa6;--accent: #6f8a66;--accent-text: #ffffff;--accent-soft: var(--sage-soft);--protein: #6f8a66;--fat: #e3a24f;--carbs: #b98e74;--danger: #cf5f45;--c-protein: #5b84b1;--c-fat: #e0b04a;--c-carbs: #9a80b8;--radius: 24px;--shadow: 0 1px 2px rgb(60 48 24 / 4%), 0 10px 28px rgb(60 48 24 / 5%);--tabbar: rgb(116 114 108 / 78%);--glow-1: #e9ede1;--glow-2: #f1f2eb;--ink-rgb: 34 34 31;--glass-rgb: 255 255 255;--on-ink: #ffffff;--placeholder: #b2ada3;--tab-add: var(--peach);--on-water: #ffffff;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Onest,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}h1{margin:0;font-size:28px;font-weight:600;line-height:1.15;letter-spacing:-.02em}h2{margin:0 0 12px;font-size:18px;font-weight:600;letter-spacing:-.01em}h3{margin:8px 0 4px;font-size:16px;font-weight:600}p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.5}.icon{flex:none}.muted{color:var(--muted)}.small{font-size:13px}.capitalize:first-letter{text-transform:uppercase}.positive{color:var(--accent)}.negative,.error,.danger{color:var(--danger)}.success{color:var(--accent)}.app{position:relative;min-height:100dvh;padding-bottom:calc(104px + env(safe-area-inset-bottom));overflow-x:clip}.app:before,.app:after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none}.app:before{top:-150px;right:-130px;width:340px;height:340px;background:var(--glow-1)}.app:after{top:120px;right:-60px;width:140px;height:140px;background:var(--glow-2)}.app>*{position:relative}.topbar{display:flex;align-items:center;justify-content:space-between;max-width:560px;height:64px;margin:0 auto;padding:0 20px}.brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:20px;letter-spacing:-.02em}.content{max-width:560px;margin:0 auto;padding:12px 20px 0}.content.solo{padding-bottom:calc(32px + env(safe-area-inset-bottom))}.app.mini .content{padding-top:16px}.page{display:flex;flex-direction:column;gap:16px}.page.center{min-height:70dvh;justify-content:center}.tabbar{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;width:min(calc(100% - 24px),480px);height:68px;padding:0 6px;border-radius:28px;background:var(--tabbar);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 12px 32px #28241c2e;transform:translate(-50%);color:#fff}.tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:56px;border-radius:20px;font-size:11px;font-weight:600;color:#ffffffad}.tab .icon{width:22px;height:22px}.tab-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab.active{color:#fff;background:#ffffff24}.tab-add{justify-self:center;display:grid;place-items:center;width:50px;height:50px;border-radius:18px;background:var(--tab-add);color:#22221f;box-shadow:0 6px 16px #28241c2e}.tab-add.active{background:#fff}.card{display:block;padding:18px;border:0;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);text-align:left}.card.peach,.tone-peach{background:var(--peach)}.card.sage,.tone-sage{background:var(--sage)}.card.sand,.tone-sand{background:var(--sand)}.card.blush,.tone-blush{background:var(--blush)}.tone-sky{background:var(--sky)}.card.peach,.card.sage,.card.sand,.card.blush{box-shadow:none}.stack{display:flex;flex-direction:column;gap:10px}.row{display:flex;gap:10px}.row>*{flex:1}.empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 20px;border-radius:var(--radius);background:var(--surface-2);color:var(--muted);text-align:center}.empty .art{width:140px;height:140px;object-fit:contain}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}.section-head h2{margin:0}.link{font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 22px;border:0;border-radius:18px;background:var(--surface-2);font-weight:600}.btn-primary{background:var(--ink);color:var(--on-ink)}.btn-block{width:100%}.btn.small{min-height:38px;padding:0 16px;border-radius:14px;font-size:14px}.btn-ghost{align-self:center;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:0;border-radius:12px;background:transparent;font-weight:600;color:var(--text)}.btn-ghost.danger{color:var(--danger)}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border:0;border-radius:14px;background:var(--surface);font-size:20px;line-height:1;box-shadow:var(--shadow)}.input{width:100%;min-height:52px;padding:12px 16px;border:1.5px solid transparent;border-radius:16px;background:var(--surface);color:var(--text);font:inherit;font-size:16px;outline:none;resize:vertical;box-shadow:inset 0 0 0 1px var(--border)}.card .input{background:var(--surface-2);box-shadow:none}.card.peach .muted,.card.sage .muted,.card.sand .muted,.card.blush .muted{color:rgb(var(--ink-rgb) / 62%)}.card.peach .input,.card.sage .input,.card.sand .input,.card.blush .input{background:rgb(var(--glass-rgb) / 70%)}.input:focus{border-color:var(--ink)}.input::placeholder{color:var(--placeholder)}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}.form{display:flex;flex-direction:column;gap:18px}.fields-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.inline-form{display:flex;gap:10px}.segmented{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;border-radius:18px;background:var(--surface-2)}.card .segmented{background:var(--bg)}.segmented button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:0;border-radius:14px;background:transparent;font-weight:600;color:var(--muted)}.segmented button[aria-selected=true]{background:var(--ink);color:var(--on-ink)}.goal-list{display:grid;gap:8px}.goal{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:14px 16px;border:0;border-radius:18px;background:var(--surface-2);text-align:left}.goal[aria-selected=true]{background:var(--peach)}.goal[aria-selected=true] .muted{color:var(--ink);opacity:.6}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:8px 14px;border:0;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);font-weight:600;font-size:14px}.hello{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.hello-date{margin-bottom:6px;font-size:14px;color:var(--muted)}.hello h1{font-size:30px}.avatar{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.avatar-img{display:grid;place-items:center;width:52px;height:52px;overflow:hidden;border:3px solid var(--surface);border-radius:50%;background:var(--sage);box-shadow:var(--shadow);font-size:20px;font-weight:600;color:var(--ink)}.avatar-img img{width:100%;height:100%;object-fit:cover}.date-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.date-strip button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 0;border:0;border-radius:16px;background:transparent}.date-strip strong{font-size:20px;font-weight:500;line-height:1.1}.date-strip span{font-size:12px;color:var(--muted)}.date-strip button[aria-pressed=true]{background:var(--peach)}.date-strip button[aria-pressed=true] span{color:var(--ink)}.summary{display:flex;flex-direction:column;gap:18px;padding:20px}.summary-top{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.summary-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.summary-head h2{margin:0;font-size:16px}.summary-list{display:grid;grid-template-columns:auto auto;justify-content:start;gap:6px 20px;margin:0;font-size:15px}.summary-list dt{color:rgb(var(--ink-rgb) / 75%)}.summary-list dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.summary-note{font-size:13px;color:rgb(var(--ink-rgb) / 65%)}.ring{position:relative;display:grid;place-items:center}.ring svg{display:block}.ring-track{fill:none;stroke:rgb(var(--glass-rgb) / 55%)}.ring-value{fill:none;stroke:var(--ink);stroke-linecap:round;transition:stroke-dasharray .6s ease}.ring-over{stroke:var(--danger)}.ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.1}.ring-label strong{font-size:20px;font-weight:600}.ring-label span{font-size:12px;color:rgb(var(--ink-rgb) / 65%)}.macros{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.macro{display:flex;flex-direction:column;gap:6px;font-size:13px}.macro-name{font-weight:500}.macro-value{color:rgb(var(--ink-rgb) / 70%);font-variant-numeric:tabular-nums}.bar{height:6px;border-radius:99px;background:rgb(var(--glass-rgb) / 60%);overflow:hidden}.card:not(.peach):not(.sage):not(.sand):not(.blush) .bar,.page>.bar{background:var(--surface-2)}.bar-fill{height:100%;border-radius:inherit;background:var(--ink);transition:width .6s ease}.bar-fill.protein{background:var(--protein)}.bar-fill.fat{background:var(--fat)}.bar-fill.carbs{background:var(--carbs)}.summary .bar-fill{background:var(--ink)}.bar-fill.over,.summary .bar-fill.over{background:var(--danger)}.macro.over .macro-value{color:var(--danger);font-weight:600}.dash,.dash-main{display:flex;flex-direction:column;gap:16px}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tile-card{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:168px;padding:16px 18px;border:0;border-radius:var(--radius);text-align:left}.tile-card.short{min-height:120px}.tile-card:disabled{opacity:1}.tile-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:20px;background:rgb(var(--glass-rgb) / 70%)}.tile-card h3{margin:0;font-size:15px;font-weight:600}.tile-card strong{display:block;font-size:26px;font-weight:600;line-height:1.1;letter-spacing:-.02em}.tile-card .unit{font-size:13px;color:rgb(var(--ink-rgb) / 65%)}.tile-card .input{min-height:44px;background:rgb(var(--glass-rgb) / 70%)}.tile-card .btn{min-height:40px}.bars-mini{display:flex;align-items:flex-end;gap:5px;height:52px}.bars-mini i{flex:1;border-radius:99px;background:rgb(var(--ink-rgb) / 18%)}.bars-mini i.on{background:var(--ink)}.spark{width:100%;height:52px}.spark path{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.spark circle{fill:var(--ink)}.stats-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stats-row.three{grid-template-columns:repeat(3,1fr)}.stat{display:flex;flex-direction:column;gap:2px;width:100%;font-size:14px}.stat strong{font-size:26px;font-weight:600;letter-spacing:-.02em}.stat .input{margin:4px 0}.stats-row.three{gap:8px}.stats-row.three .card.stat{padding:14px 12px}.stats-row.three .stat strong{font-size:22px}.meal{padding:0;overflow:hidden;box-shadow:none}.meal:nth-child(odd){background:var(--sand)}.meal:nth-child(2n){background:var(--sage)}.meal summary{display:flex;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;list-style:none}.meal summary::-webkit-details-marker{display:none}.meal-icon{display:grid;place-items:center;flex:none;width:56px;height:56px;overflow:hidden;border-radius:50%;background:rgb(var(--glass-rgb) / 70%);font-size:24px}.meal-icon .art,.meal-icon img{width:100%;height:100%;object-fit:cover}.meal-photo{display:block;width:calc(100% - 24px);max-height:240px;margin:0 12px 10px;object-fit:cover;border-radius:18px}.meal-title{display:flex;flex:1;flex-direction:column;min-width:0}.meal-title strong{overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.meal-title>span{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.meal-title .muted{font-size:13px;color:rgb(var(--ink-rgb) / 60%)}.meal-kcal{font-weight:600}.meal-chevron{transition:transform .2s ease}.meal[open] .meal-chevron{transform:rotate(90deg)}.meal-items{margin:0 12px;padding:4px 14px;list-style:none;border-radius:18px;background:rgb(var(--glass-rgb) / 60%)}.meal-items li{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;padding:8px 0;font-size:14px}.meal-items li:has(.item-edit){display:block}.item-name{min-width:0}.item-grams{min-height:34px;padding:0 10px;border:0;border-radius:10px;background:var(--surface);font-weight:600;white-space:nowrap}.item-kcal{min-width:64px;text-align:right}.item-remove{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--danger)}.item-edit{display:grid;grid-template-columns:1fr 84px auto auto;align-items:center;gap:8px}.item-edit .input{min-height:40px;padding:8px 10px;background:var(--surface);text-align:right}.meal-hint{margin:8px 16px 0;font-size:12px;color:rgb(var(--ink-rgb) / 55%)}.meal-refine{display:grid;grid-template-columns:1fr auto;gap:8px;margin:10px 16px 0}.meal-refine .input{min-height:40px;font-size:14px}.meal-refine .error{grid-column:1 / -1;margin:0}.meal-items li+li{border-top:1px solid rgb(var(--ink-rgb) / 8%)}.meal-items .muted{color:rgb(var(--ink-rgb) / 60%);white-space:nowrap}.meal-actions{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 14px}.stepper{display:flex;align-items:center;gap:4px;padding:4px;border-radius:16px;background:rgb(var(--glass-rgb) / 60%);font-weight:600;font-size:14px}.stepper button{width:38px;height:38px;border:0;border-radius:12px;background:var(--surface);font-size:18px}.stepper span{min-width:52px;text-align:center}.dropzone{display:grid;place-items:center;min-height:260px;padding:0;overflow:hidden;border:0;border-radius:var(--radius);background:var(--peach-soft)}.dropzone>span{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px}.dropzone .art{width:160px;height:160px;object-fit:contain}.dropzone>.dropzone-empty{align-self:stretch;justify-content:space-between;gap:12px;width:100%;padding:24px 0 0}.dropzone-text{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 20px}.dropzone-empty .dropzone-icon{margin-bottom:28px}.dropzone .add-art{display:block;width:min(100%,300px);height:auto;aspect-ratio:1;-webkit-mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent)}.dropzone-icon{display:grid;place-items:center;width:72px;height:72px;margin-bottom:6px;border-radius:24px;background:var(--surface)}.dropzone img:not(.art){width:100%;max-height:380px;object-fit:cover}.done-head{display:flex;align-items:center;gap:14px}.fields-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fields-2 .field{gap:4px}.manual-total{padding:12px 14px;border-radius:16px;background:var(--peach-soft);font-size:14px}.history-meals{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.history-meal{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.history-meal .meal-icon{width:48px;height:48px;background:var(--surface-2)}.history-meal .times{font-weight:500;color:var(--muted)}.history-add{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;border-radius:16px;background:var(--peach);color:var(--ink)}.done-text{display:flex;flex-direction:column;gap:4px}.done-head .art{width:84px;height:84px;object-fit:contain}.sets-grid{display:grid;grid-template-columns:28px 1fr 1fr 36px;align-items:center;gap:8px}.set-index{font-weight:600;color:var(--muted);text-align:center}.set-title{display:block;margin-bottom:6px;font-weight:600}.set-title:first-letter{text-transform:uppercase}.set-list{margin:0;padding:0;list-style:none}.set-list li{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-top:1px solid var(--border)}.set-list .icon-btn{width:28px;height:28px;font-size:16px}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{padding-bottom:8px;font-weight:600;color:var(--muted);text-align:left}.table th.num{text-align:right}.table td{padding:8px 0;border-top:1px solid var(--border)}.chart svg{display:block;width:100%;height:auto;touch-action:pan-y}.chart-readout{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.chart-readout strong{font-size:22px;font-weight:600}.chart-grid{stroke:var(--border);stroke-dasharray:4 4}.chart-axis{fill:var(--muted);font-size:12px}.chart-line{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart-area{fill:var(--sage);opacity:.5}.chart-dot{fill:var(--surface);stroke:var(--ink);stroke-width:2}.chart-dot.active{fill:var(--ink)}.heat-legend{display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;color:var(--muted)}.heat-scale{width:96px;height:8px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--muscle) 35%,var(--body)),var(--muscle))}.profile-section{margin-top:12px;font-size:18px}.profile-head{display:flex;align-items:center;gap:14px;padding:20px}.profile-head .avatar-img{width:64px;height:64px;border-color:rgb(var(--glass-rgb) / 70%);background:var(--surface)}.profile-head strong{display:block;font-size:20px;font-weight:600}.profile-head .muted{color:rgb(var(--ink-rgb) / 65%)}.onboarding-art{align-self:center;width:220px;height:220px;object-fit:contain}.target-line{margin-top:4px}.menu{display:flex;flex-direction:column;padding:6px 18px}.menu a,.menu button{display:flex;align-items:center;gap:14px;padding:14px 0;border:0;background:transparent;font-size:16px;font-weight:500;text-align:left}.menu>*+*{border-top:1px solid var(--border)}.menu .grow{flex:1}.landing{max-width:560px;margin:0 auto;padding:24px 20px 48px}.hero{display:flex;flex-direction:column;align-items:center;gap:18px;padding-bottom:32px;text-align:center}.hero-mark{display:grid;place-items:center;gap:8px;width:100%;max-width:300px;aspect-ratio:1;border-radius:36px;background:var(--sand)}.hero-mark span{font-size:30px;font-weight:500;letter-spacing:-.02em}.hero-mark>div{display:grid;place-items:center;gap:10px}.hero-mark .art{width:100%;height:100%;border-radius:inherit;object-fit:cover}.hero h1{font-size:32px}.lead{max-width:460px;font-size:17px;color:var(--muted)}.widget{min-height:48px}.features{display:grid;gap:12px}.feature{display:grid;grid-template-columns:1fr 96px;align-items:center;gap:12px;padding:20px}.feature h3{margin:0 0 4px}.feature p{font-size:14px;color:rgb(var(--ink-rgb) / 70%)}.feature .art,.feature-icon{width:96px;height:96px;object-fit:contain}.feature-icon{display:grid;place-items:center;font-size:40px}.paywall{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 20px;text-align:center}.invite-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.invite-head h2{margin:0}.invite-head .art{width:72px;height:72px;object-fit:contain}.paywall .art{width:180px;height:180px;object-fit:contain}.perks{display:grid;gap:8px;margin:4px 0 0;padding:0;list-style:none;text-align:left}.perks li:before{content:"⭐ "}.support-thread{display:flex;flex-direction:column;gap:8px}.support-msg{display:grid;gap:4px;max-width:85%;align-self:flex-end;padding:10px 14px;border-radius:18px 18px 6px;background:var(--sage-soft)}.support-msg.reply{align-self:flex-start;border-radius:18px 18px 18px 6px;background:var(--surface);box-shadow:var(--shadow)}.support-msg p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.premium-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;color:inherit;font-size:14px;text-decoration:none}.state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:56px 20px;text-align:center}.spinner{width:30px;height:30px;border:3px solid var(--sand);border-top-color:var(--ink);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:380px){.content{padding-left:14px;padding-right:14px}.fields-3,.stats-row.three{grid-template-columns:1fr}.hello h1{font-size:26px}.tile-card strong{font-size:22px}}@media(min-width:960px){.topbar{position:sticky;top:0;z-index:25;max-width:1120px;height:76px;padding:0 32px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.content{max-width:1120px;padding:16px 32px 0}.page{max-width:720px;margin:0 auto}.page.wide,.app.admin .page{max-width:none}.tabbar{width:560px}.tab{flex-direction:row;gap:8px;font-size:13px}.hello h1{font-size:38px}.date-strip{max-width:640px}.dash{display:grid;grid-template-columns:1.1fr 1fr;align-items:start;gap:16px}.tiles{gap:16px}}:root{--series-1: #6f8a66;--series-2: #e3a24f;--series-3: #b98e74;--series-rest: #c9c3b8;--ramp-1: #dfe9d7;--ramp-2: #b9cfad;--ramp-3: #8ea983;--ramp-4: #5f7a57}.chart-bar{fill:var(--series-1)}.chart-bar.over{fill:var(--fat)}.chart-bar.under{fill:var(--ramp-2)}.chart.protein .chart-bar{fill:var(--c-protein)}.chart.protein .chart-bar.under{fill:color-mix(in srgb,var(--c-protein) 45%,var(--surface))}.chart.fat .chart-bar{fill:var(--c-fat)}.chart.carbs .chart-bar{fill:var(--c-carbs)}.chart.fat .chart-bar.over,.chart.carbs .chart-bar.over{fill:var(--danger)}.chart-bar.dim{opacity:.45}.chart-goal{stroke:var(--ink);stroke-width:1.5;stroke-dasharray:6 4}.chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:10px;font-size:13px;color:var(--muted)}.chart-legend-item{display:inline-flex;align-items:center;gap:6px}.chart .chart-legend-swatch{flex:none;width:10px;height:10px}.chart-legend-dot{width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.6}.chart-legend-trend{width:18px;border-top:3px solid var(--series-1);border-radius:2px}.chart-legend-goal{width:18px;border-top:1.5px dashed var(--ink)}.chart.series .chart-line{stroke:var(--series-1);stroke-width:2}.chart.series .chart-area{fill:var(--series-1);opacity:.12}.chart.series .chart-dot{stroke:var(--series-1)}.chart.series .chart-dot.active{fill:var(--series-1)}.app.admin .content{max-width:1080px}.admin-nav{display:flex;gap:6px;overflow-x:auto;margin:0 -16px;padding:0 16px 4px;scrollbar-width:none}.admin-nav a{flex:none;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:14px;font-weight:600;color:var(--muted)}.admin-nav a.active{border-color:transparent;background:var(--text);color:var(--bg)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}@media(max-width:559px){.kpis{grid-template-columns:1fr 1fr}.kpis>:last-child:nth-child(odd){grid-column:1 / -1}}.kpi{display:flex;flex-direction:column;gap:2px;padding:14px 16px}.kpi-label{font-size:13px;color:var(--muted)}.kpi-value{font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums}.kpi-sub{font-size:13px;color:var(--muted)}.grid-2{display:grid;gap:16px}@media(min-width:860px){.grid-2{grid-template-columns:1fr 1fr}}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}.card-head h2{margin:0}.stacked{display:flex;gap:2px;height:14px;margin:4px 0 14px}.stacked span{min-width:4px;border-radius:4px}.legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none;font-size:14px}.legend li{display:flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:3px}.legend strong{font-variant-numeric:tabular-nums}.hbars{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.hbar-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:14px}.hbar-head span:last-child{font-variant-numeric:tabular-nums}.hbar-track{height:10px}.hbar-fill{height:100%;min-width:4px;border-radius:0 4px 4px 0;background:var(--series-1)}.metric-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 12px;margin:0}.metric-list dt{font-size:13px;color:var(--muted)}.metric-list dd{margin:0;font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.toolbar .input{flex:1 1 220px;width:auto}.select{min-height:46px;padding:0 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text);font:inherit}.chips button.chip{cursor:pointer}.chips button.chip[aria-pressed=true]{border-color:transparent;background:var(--text);color:var(--bg)}.table-wrap{overflow-x:auto;margin:0 -16px;padding:0 16px}.table.users{min-width:720px}.table.users td,.table.users th{padding-right:12px;white-space:nowrap}.table.users tbody tr{cursor:pointer}.table.users tbody tr:hover td{background:var(--surface-2)}.num{text-align:right;font-variant-numeric:tabular-nums}.user-cell{display:flex;flex-direction:column}.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--surface-2);font-size:12px;font-weight:600;white-space:nowrap}.badge.trial{background:color-mix(in srgb,var(--series-1) 16%,transparent)}.badge.active,.badge.lifetime{background:var(--accent-soft);color:var(--accent)}.badge.expired{color:var(--muted)}.badge.warn{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.badge.caution{background:color-mix(in srgb,var(--fat) 18%,transparent);color:color-mix(in srgb,var(--fat) 70%,var(--text))}.feature-name{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.health-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.health-row .user-cell{min-width:0;overflow-wrap:anywhere}.health-status{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.user-cards{display:none}@media(max-width:720px){.table-wrap.desktop{display:none}.user-cards{display:flex;flex-direction:column;gap:8px}}.user-card{display:flex;justify-content:space-between;gap:12px;padding:12px 14px}.badges{display:flex;flex-wrap:wrap;gap:6px}.actions{display:flex;flex-wrap:wrap;gap:8px}.actions .btn{min-height:40px;padding:0 14px;font-size:14px}.btn.danger{color:var(--danger)}.toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border);font-size:15px}.toggle:first-child{border-top:0}.toggle input{width:20px;height:20px;accent-color:var(--accent)}.progress{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}.progress span{display:block;height:100%;background:var(--series-1)}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:14px}.list{margin:0;padding:0;list-style:none}.list>li{padding:10px 0;border-top:1px solid var(--border)}.list>li:first-child{border-top:0}.preview{white-space:pre-wrap;word-break:break-word}.app.admin .topbar{max-width:1080px}.inline-form .btn{flex:none;white-space:nowrap}:root{--muscle: var(--series-2);--body: #e4ded4}.center{text-align:center}.no-scroll{overflow:hidden}.btn.dashed{border-style:dashed;background:transparent;color:var(--accent)}.btn-ghost.inline{align-self:flex-start;padding:4px 0}.body-map{display:flex;justify-content:center;gap:8%}.body-map .figure{width:100%;max-width:140px;height:auto}.body-map.large .figure{max-width:180px}.figure .bone,.figure .muscle{fill:var(--body)}.figure path{stroke:var(--surface);stroke-width:.8;transition:fill .2s}.figure .heart{fill:var(--danger)}.thumb{flex:none;width:52px;height:52px;border-radius:12px;object-fit:cover;background:#fff}.thumb-map{display:grid;place-items:center;padding:3px;background:var(--surface-2)}.thumb-map .body-map,.thumb-map .figure,.tile-art .body-map,.tile-art .figure{width:100%;max-width:none;height:100%;min-height:0}.pick-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.pick-list.card{padding:4px 16px}.pick-list li+li{border-top:1px solid var(--border)}.pick-list a,.pick-list button{display:flex;align-items:center;gap:12px;width:100%;padding:10px 0;border:0;background:none;text-align:left}.pick-list a>span:not(.chevron),.pick-list button>span{display:flex;flex:1;flex-direction:column;min-width:0}.pick-list strong{display:block;font-weight:600}.chevron{color:var(--muted);font-size:22px}.ex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0;padding:0;list-style:none}.ex-card{display:flex;flex-direction:column;width:100%;height:100%;padding:0;overflow:hidden;border:0;border-radius:20px;background:var(--surface);box-shadow:var(--shadow);text-align:left}.ex-img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;background:#fff}.ex-img.thumb-map{position:relative;display:block;flex:none;height:0;padding:75% 0 0;aspect-ratio:auto;background:var(--sage-soft)}.ex-img.thumb-map .body-map{position:absolute;top:10px;right:10px;bottom:10px;left:10px;width:auto;height:auto}.ex-img.thumb-map .figure{width:100%;height:100%}.ex-text{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px}.ex-text strong{display:-webkit-box;overflow:hidden;font-size:14px;font-weight:600;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ex-text span{overflow:hidden;font-size:12px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.ex-grid+.btn{margin-top:12px}.scroll-x{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:0 16px 2px;scrollbar-width:none}.scroll-x>*{flex:none}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;background:#0006}.sheet{display:flex;flex-direction:column;gap:12px;width:100%;max-width:560px;height:min(88dvh,820px);padding:16px 16px calc(12px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:var(--bg);animation:sheet-in .2s ease-out}@keyframes sheet-in{0%{transform:translateY(24px);opacity:0}}.sheet-head{display:flex;align-items:center;justify-content:space-between}.sheet-head h2{margin:0}.sheet-body{flex:1;overflow-y:auto;overscroll-behavior:contain}.sheet-body h3{margin:8px 0 0;font-weight:600}.nav-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nav-card{display:flex;flex-direction:column;gap:2px}.nav-card-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:8px;border-radius:16px;background:rgb(var(--glass-rgb) / 70%);color:var(--ink)}.active-workout{display:flex;align-items:center;gap:12px;background:var(--peach);box-shadow:none}.active-workout>div{display:flex;flex:1;flex-direction:column}.pulse{flex:none;width:10px;height:10px;border-radius:50%;background:var(--accent);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}.template-list{display:flex;flex-direction:column;gap:8px}.template{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 16px}.template-body{display:flex;flex:1;flex-direction:column;min-width:0}.template-body .small,.clamp{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.template .btn{width:44px;padding:0}.history-item,.history-row,.history-body{display:flex;flex-direction:column;gap:4px}.history-repeat{align-self:flex-start;margin-top:8px}.history-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.history-stats{display:flex;flex-wrap:wrap;gap:4px 14px;font-weight:600}.set-chips{display:flex;flex-wrap:wrap;gap:6px}.set-chip{padding:3px 9px;border-radius:8px;background:var(--surface-2);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.session-head{display:flex;flex-direction:column;gap:4px}.title-input{width:100%;padding:0;border:0;background:none;color:var(--text);font:inherit;font-size:26px;font-weight:600;letter-spacing:-.02em;outline:none}.title-input::placeholder{color:var(--text)}.title-input:focus::placeholder{color:var(--muted)}.session-stats{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted);font-size:14px;font-weight:600}.live{display:inline-flex;align-items:center;gap:6px;color:var(--accent)}.exercise-block{display:flex;flex-direction:column;gap:12px}.exercise-head{display:flex;align-items:center;gap:10px}.exercise-head .thumb{width:44px;height:44px}.exercise-head .icon-btn{flex:none;width:32px;height:32px;font-size:16px}.exercise-title{display:flex;flex:1;flex-direction:column;min-width:0;font-weight:600}.exercise-title .small{font-weight:500}.set-table{display:grid;grid-template-columns:28px 1fr 1fr 44px;align-items:center;gap:8px}.set-table.cardio{grid-template-columns:28px 1fr 44px}.set-input{min-height:42px;padding:8px 10px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}.set-input::placeholder{font-weight:500}.set-index.done{color:var(--accent)}.set-index.removable{width:28px;height:28px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.set-value{min-height:42px;border:1px solid transparent;border-radius:12px;background:var(--accent-soft);font-weight:600;font-variant-numeric:tabular-nums}.set-check{width:44px;height:42px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--muted);font-size:18px;font-weight:600}.set-check:not(:disabled):not(.done){border-color:var(--accent);color:var(--accent)}span.set-check{display:grid;place-items:center}.set-check.done{border-color:transparent;background:var(--accent);color:var(--accent-text)}.page.with-rest{padding-bottom:72px}.rest-bar{position:fixed;inset:auto 12px calc(92px + env(safe-area-inset-bottom));z-index:20;display:flex;align-items:center;gap:8px;max-width:480px;margin:0 auto;padding:10px 14px;overflow:hidden;border-radius:22px;background:var(--peach);box-shadow:0 10px 28px #28241c24}@media(max-width:720px){.rest-bar{margin:0 12px}}.rest-progress{position:absolute;inset:auto auto 0 0;height:3px;background:var(--accent);transition:width .25s linear}.rest-time{flex:1;font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.rest-bar .chip{padding:6px 10px}.toast{position:fixed;top:calc(16px + env(safe-area-inset-top));left:50%;z-index:60;padding:10px 18px;border-radius:999px;background:var(--text);color:var(--bg);font-weight:600;transform:translate(-50%);animation:sheet-in .2s ease-out}.search{min-height:48px}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px 12px}.tile-grid.two{grid-template-columns:1fr 1fr}.tile{display:flex;flex-direction:column;align-items:center;gap:8px;font-weight:600;text-align:center}.tile-art{display:grid;place-items:center;width:100%;aspect-ratio:1;min-height:0;padding:8px;overflow:hidden;border-radius:var(--radius);background:var(--sage-soft)}.tile:nth-child(4n+1) .tile-art{background:var(--peach-soft)}.tile:nth-child(4n+3) .tile-art{background:var(--sand)}.tile:nth-child(4n) .tile-art{background:var(--blush)}.tile-art>.cover{width:calc(100% + 16px);height:calc(100% + 16px);margin:-8px;object-fit:cover}.tile-art>.art{width:100%;height:100%;object-fit:contain}.tile-art.photo{aspect-ratio:4 / 3;padding:0;overflow:hidden;background:#fff}.tile-art.photo img{width:100%;height:100%;object-fit:cover}.hero-frames{position:relative;display:grid;width:100%;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--radius);background:#fff}.hero-frames img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .25s}.hero-frames img.shown{opacity:1}.hero-frames.thumb-map{padding:16px}.actions-row{display:flex;flex-wrap:wrap;gap:10px}.actions-row .btn-primary{flex:1}.muscles-card{display:flex;flex-direction:column;gap:14px}.muscle-legend{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:14px}.muscle-legend dt{display:flex;align-items:center;gap:6px;color:var(--muted)}.muscle-legend dd{margin:0;font-weight:600}.swatch{display:inline-block;width:12px;height:12px;border-radius:4px;background:color-mix(in srgb,var(--muscle) 58%,var(--body))}.swatch.strong{background:var(--muscle)}.steps{display:flex;flex-direction:column;gap:10px;margin:0;padding-left:22px}.steps li::marker{color:var(--accent);font-weight:600}.segmented.compact{margin-bottom:12px}.segmented.compact button{min-height:34px;font-size:14px}.hbar-fill.accent{background:var(--muscle)}.template-items{display:flex;flex-direction:column;margin:0;padding:4px 12px;list-style:none}.template-items li{display:grid;grid-template-columns:44px 1fr auto;grid-template-areas:"thumb name reorder" "thumb sets reorder";align-items:center;gap:6px 10px;padding:10px 0}.template-items li+li{border-top:1px solid var(--border)}.template-items .thumb{grid-area:thumb;width:44px;height:44px}.template-item-name{grid-area:name;font-weight:600}.template-items .stepper{grid-area:sets;justify-self:start}.reorder{grid-area:reorder;display:flex;gap:6px}.reorder .icon-btn{width:32px;height:32px;font-size:16px}@media(prefers-reduced-motion:reduce){.pulse,.sheet,.toast{animation:none}}.plans{display:flex;flex-direction:column;gap:10px}.plan{display:flex;align-items:center;gap:12px;width:100%;font:inherit}.plan.featured{background:var(--peach);box-shadow:none}.plan-info{display:flex;flex:1;flex-direction:column}.plan-badge{padding:3px 10px;border-radius:999px;background:var(--ink);color:var(--on-ink);font-size:12px;font-weight:600}.plan-price{padding:10px 16px;border-radius:999px;background:var(--ink);color:var(--on-ink);font-size:16px;font-weight:600;white-space:nowrap}.adaptive-progress{display:grid;gap:10px;padding-top:10px;border-top:1px solid var(--border)}.adaptive-row{display:grid;gap:6px}.wide-tile{grid-column:1 / -1}.water{gap:10px}.water-head{display:flex;align-items:baseline;justify-content:space-between}.water-head strong{display:inline}.water .progress{background:rgb(var(--glass-rgb) / 60%)}.water .progress span{background:var(--water);transition:width .25s ease}.water-steps{display:grid;grid-template-columns:.8fr 1fr 1fr 1fr;gap:6px}.water-steps .btn{padding:0;background:rgb(var(--glass-rgb) / 60%);font-variant-numeric:tabular-nums}.water-steps .btn.add{background:var(--water);color:var(--on-water)}.barcode-scan{display:grid;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--border)}.error-row{display:flex;flex-direction:column;gap:6px}.error-head{display:flex;align-items:flex-start;gap:8px;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.error-message{flex:1;min-width:0;overflow-wrap:anywhere}.error-detail{max-height:320px;margin:0;padding:10px;overflow:auto;border-radius:10px;background:var(--surface-2);font-size:11px;white-space:pre-wrap;word-break:break-all}.crash{min-height:100vh;justify-content:center}:root[data-theme=sea]{--bg: #f2f5f5;--surface-2: #e8eff0;--border: #e0e8ea;--muted: #7d898c;--peach: #f5d1c3;--peach-soft: #fae6de;--sage: #cde5e3;--sage-soft: #e3f1f0;--sage-deep: #7f9fa3;--sand: #d9e2e5;--blush: #f0d6cc;--sky: #cfe0ee;--water: #3f7fa8;--accent: #33768f;--accent-soft: #dfeef2;--protein: #33768f;--fat: #e3925a;--carbs: #8ea0b4;--glow-1: #dfebee;--glow-2: #ebf1f2;--series-1: #33768f;--series-2: #e3925a;--series-3: #8ea0b4;--series-rest: #c3ccd0;--ramp-1: #d8e9ee;--ramp-2: #a9cbd6;--ramp-3: #6fa1b3;--ramp-4: #2c6479;--body: #d9e1e4}:root[data-theme=lavender]{--bg: #f5f4f8;--surface-2: #edebf3;--border: #e6e3ee;--muted: #868296;--peach: #f4e0a4;--peach-soft: #f9eecd;--sage: #dcd5ef;--sage-soft: #ece8f6;--sage-deep: #9890b5;--sand: #e0dce8;--blush: #efd3e0;--sky: #d7e0f2;--water: #5b7fbf;--accent: #6e60a6;--accent-soft: #ece8f6;--protein: #6e60a6;--fat: #dba53a;--carbs: #b98aa6;--glow-1: #e8e4f2;--glow-2: #f0eef6;--series-1: #6e60a6;--series-2: #dba53a;--series-3: #b98aa6;--series-rest: #cbc7d6;--ramp-1: #e6e2f3;--ramp-2: #c3bbe2;--ramp-3: #978bc6;--ramp-4: #5c4f92;--body: #e0dce8}:root[data-theme=terracotta]{--bg: #f7f2ed;--surface-2: #f0e8e0;--border: #ebe1d7;--muted: #8d8279;--peach: #f4cdb4;--peach-soft: #f9e4d6;--sage: #dfe1c1;--sage-soft: #eef0de;--sage-deep: #a19f7f;--sand: #e6d8cb;--blush: #f0c8bb;--sky: #d2e2e4;--water: #4c8a97;--accent: #a65a3a;--accent-soft: #f6e3d8;--protein: #a65a3a;--fat: #d6a23e;--carbs: #6e918b;--glow-1: #f1e3d8;--glow-2: #f4ece4;--series-1: #a65a3a;--series-2: #d6a23e;--series-3: #6e918b;--series-rest: #d1c6bb;--ramp-1: #f3dfd3;--ramp-2: #e2b59c;--ramp-3: #c7856a;--ramp-4: #8f4a2e;--body: #e6dbd0}:root[data-theme=berry]{--bg: #f8f3f4;--surface-2: #f2e9eb;--border: #ede2e4;--muted: #8f8286;--peach: #e3ebc3;--peach-soft: #f0f5df;--sage: #f1d0da;--sage-soft: #f8e6eb;--sage-deep: #b38a97;--sand: #e7d9dc;--blush: #f4d7cc;--sky: #dfdcef;--water: #5a7fb0;--accent: #a24c68;--accent-soft: #f8e6eb;--protein: #a24c68;--fat: #d99a3e;--carbs: #7f9158;--glow-1: #f3e2e6;--glow-2: #f6eef0;--series-1: #a24c68;--series-2: #d99a3e;--series-3: #7f9158;--series-rest: #d3c7ca;--ramp-1: #f4dde4;--ramp-2: #e2adbd;--ramp-3: #c67a93;--ramp-4: #8a3a55;--body: #e7dcdf}.theme-group{display:grid;gap:8px}.theme-group-title{font-size:13px;color:var(--muted)}.themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}.theme-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;border:2px solid transparent;border-radius:18px;background:var(--surface-2);color:var(--text);font:inherit;font-size:13px;font-weight:500;cursor:pointer}.theme-option[aria-pressed=true]{border-color:var(--ink)}.theme-swatch{display:flex;width:56px;height:56px;overflow:hidden;border-radius:50%;box-shadow:inset 0 0 0 1px rgb(var(--ink-rgb) / 8%)}.theme-swatch span:nth-child(1){flex:6}.theme-swatch span:nth-child(2){flex:3}.theme-swatch span:nth-child(3){flex:1}.stats-section{display:flex;flex-direction:column;gap:12px}.period-switch{margin:0}.chart-grid.chart-zero{stroke-dasharray:none}.chart-trend{fill:none;stroke:var(--series-1);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.chart-trend-area{fill:var(--series-1);opacity:.1}.chart-guide{stroke:var(--border);stroke-width:1}.chart.with-trend .chart-dot{fill:var(--muted);stroke:none;opacity:.45}.chart.with-trend .chart-dot.active{fill:var(--surface);stroke:var(--ink);stroke-width:2.5;opacity:1}.chart.act-water .chart-bar{fill:var(--water)}.chart.act-water .chart-bar.under{fill:color-mix(in srgb,var(--water) 40%,var(--surface))}.chart-note{margin:12px 0 0;font-size:13px;line-height:1.45;color:var(--muted)}.chart-note.top{margin:0 0 12px}.card-title{margin:0 0 4px;font-size:16px;font-weight:600}.stats-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.stats-head h1{margin:0}.period-chips{flex-wrap:nowrap;gap:4px}.period-chips .chip{padding:6px 10px;font-size:13px}.stats-grid{display:flex;flex-direction:column;gap:28px}.stats-col{display:contents}.stats-col>*{order:3}.stats-col>.order-weight{order:1}.stats-col>.order-activity{order:5}.stats-section h2{margin:0}.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:26px}.kpi-action{padding:4px 10px;border:0;border-radius:999px;background:var(--surface-2);color:var(--text);font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.kpi-unit{font-size:15px;font-weight:500;letter-spacing:0;color:var(--muted)}.kpi-value.good{color:var(--accent)}.kpi-value.bad{color:var(--danger)}.kpi-form{gap:8px}.kpi-form-row{display:grid;grid-template-columns:1fr auto;gap:8px}.kpi-form .input{min-height:40px;min-width:0}.link-button{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.metric-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metric-tiles.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:379px){.metric-tiles.four{grid-template-columns:1fr 1fr}}.metric-tile{display:flex;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;border:0;border-radius:16px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);color:var(--text);font:inherit;text-align:left;cursor:pointer}.metric-tile[aria-selected=true]{box-shadow:inset 0 0 0 2px var(--ink)}.metric-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--series-1)}.metric-tile.protein .metric-dot{background:var(--c-protein)}.metric-tile.fat .metric-dot{background:var(--c-fat)}.metric-tile.carbs .metric-dot{background:var(--c-carbs)}.metric-tile.act-water .metric-dot{background:var(--water)}.metric-value{font-size:18px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}.metric-value.warn{color:var(--danger)}.metric-sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tiles-caption{margin:-4px 0 0;font-size:12px;color:var(--muted)}.split{display:grid;gap:8px}.split-row{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:10px}.split-label{font-size:13px;color:var(--muted)}.split-bar{display:flex;height:24px;border-radius:8px;overflow:hidden;background:var(--surface-2)}.split-seg{display:grid;place-items:center;font-size:12px;font-weight:600;color:#fff}.split-seg.protein,.split-dot.protein{background:var(--c-protein)}.split-seg.fat,.split-dot.fat{background:var(--c-fat)}.split-seg.carbs,.split-dot.carbs{background:var(--c-carbs)}.split-dot{width:10px;height:10px;border-radius:3px}@media(min-width:960px){.page.stats-page{max-width:1080px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:24px}.stats-col{display:flex;flex-direction:column;gap:28px}}:root[data-theme=black],:root[data-theme=graphite],:root[data-theme=night-sea],:root[data-theme=plum]{--c-green: #7ccf8f;--c-orange: #f2a65a;--c-blue: #6fa8f5;--c-purple: #b49cf0;--c-red: #ff7a6b;--c-yellow: #f2cc6b;--text: var(--ink);--accent-soft: color-mix(in srgb, var(--accent) 14%, var(--surface));--protein: var(--accent);--fat: var(--c-orange);--carbs: var(--c-purple);--danger: var(--c-red);--water: var(--c-blue);--on-water: #0c1626;--c-protein: var(--c-blue);--c-fat: var(--c-yellow);--c-carbs: var(--c-purple);--peach: color-mix(in srgb, var(--c-orange) 10%, var(--surface));--peach-soft: color-mix(in srgb, var(--c-orange) 6%, var(--surface));--sage: color-mix(in srgb, var(--accent) 13%, var(--surface));--sage-soft: color-mix(in srgb, var(--accent) 9%, var(--surface));--sage-deep: color-mix(in srgb, var(--accent) 60%, var(--surface));--sand: var(--surface-2);--blush: color-mix(in srgb, var(--c-red) 9%, var(--surface));--sky: color-mix(in srgb, var(--c-blue) 12%, var(--surface));--series-1: var(--accent);--series-2: var(--c-orange);--series-3: var(--c-purple);--series-rest: color-mix(in srgb, var(--ink) 25%, var(--surface));--ramp-1: color-mix(in srgb, var(--accent) 18%, var(--surface));--ramp-2: color-mix(in srgb, var(--accent) 38%, var(--surface));--ramp-3: color-mix(in srgb, var(--accent) 65%, var(--surface));--ramp-4: var(--accent);--body: var(--surface-2);--tab-add: var(--accent);--shadow: none;--glow-1: var(--bg);--glow-2: var(--bg);--glass-rgb: 0 0 0;color-scheme:dark}:root[data-theme=black]{--ink: #f2f2f7;--ink-rgb: 242 242 247;--on-ink: #000000;--bg: #000000;--surface: #1c1c1e;--surface-2: #2c2c2e;--border: #38383a;--muted: #8e8e93;--placeholder: #5a5a5e;--accent: #7ccf8f;--accent-text: #08170c;--tabbar: rgb(44 44 46 / 88%)}:root[data-theme=graphite]{--ink: #ececec;--ink-rgb: 236 236 236;--on-ink: #121212;--bg: #121212;--surface: #1e1e1e;--surface-2: #2a2a2a;--border: #333333;--muted: #9a9a9a;--placeholder: #5f5f5f;--accent: #9ccc65;--accent-text: #11180a;--tabbar: rgb(48 48 48 / 88%)}:root[data-theme=night-sea]{--ink: #e8eef2;--ink-rgb: 232 238 242;--on-ink: #0f1418;--bg: #0f1418;--surface: #182026;--surface-2: #212b33;--border: #2a353e;--muted: #8b9aa5;--placeholder: #56636c;--accent: #5fd0d6;--accent-text: #061a1c;--tabbar: rgb(36 46 54 / 88%)}:root[data-theme=plum]{--ink: #f1eaf2;--ink-rgb: 241 234 242;--on-ink: #141014;--bg: #141014;--surface: #1f1a20;--surface-2: #2a232b;--border: #342c35;--muted: #a093a3;--placeholder: #63586a;--accent: #f28bb0;--accent-text: #22101a;--tabbar: rgb(52 44 54 / 88%)}
