:root{--bg: #070d0b;--bg-2: #0a1310;--surface: #0e1814;--surface-2: #14211c;--surface-3: #1b2b25;--border: #22362e;--border-2: #2c443a;--text: #ecf3ef;--muted: #9db0a7;--muted-2: #7e938a;--accent: #10b981;--accent-2: #34d399;--accent-ink: #022c1e;--accent-soft: rgba(16, 185, 129, .14);--warn: #f5b84b;--danger: #ff8a7a;--info: #7db3ff;--cardio: #7db3ff;--c1: #34d399;--c2: #7db3ff;--c3: #f5b84b;--c4: #c38bff;--c5: #ff8a65;--radius: 18px;--radius-sm: 12px;--shadow: 0 10px 30px rgba(0, 0, 0, .35);--font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--nav-h: 72px;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;letter-spacing:-.01em}h1{font-size:1.55rem;font-weight:700}h2{font-size:1.15rem}h3{font-size:.95rem;font-weight:600}p{margin:.4rem 0}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:.82rem}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.center{text-align:center}.grow{flex:1;min-width:0}.right{text-align:right}.spacer{height:.75rem}.divider{height:1px;background:var(--border);margin:.85rem 0}.tone-up{color:var(--warn)}.tone-down{color:var(--accent)}.tone-neutral{color:var(--muted)}.boot,.auth{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;text-align:center}.brand-lg{font-weight:800;letter-spacing:.32em;font-size:1.8rem;background:linear-gradient(90deg,var(--accent),var(--info));-webkit-background-clip:text;background-clip:text;color:transparent}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--border-2);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:.9rem;background:var(--surface);border:1px solid var(--border);padding:1.6rem;border-radius:var(--radius);text-align:left}.auth-card .brand-lg{text-align:center}.shell{min-height:100dvh}.sidebar{display:none}.main{padding:1rem 1rem calc(var(--nav-h) + var(--safe-b) + 1.5rem);max-width:1180px;margin:0 auto}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(var(--nav-h) + var(--safe-b));padding-bottom:var(--safe-b);display:grid;grid-template-columns:repeat(5,1fr);background:#0f1217eb;backdrop-filter:blur(14px);border-top:1px solid var(--border);z-index:30}.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);background:none;border:0;font-size:1.15rem;cursor:pointer;text-decoration:none}.bottom-nav small{font-size:.68rem}.bottom-nav .active{color:var(--accent)}.more-sheet{position:fixed;inset:0;background:#00000080;z-index:29}.more-panel{position:absolute;left:.75rem;right:.75rem;bottom:calc(var(--nav-h) + var(--safe-b) + .5rem);background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--radius);padding:.5rem;display:grid;grid-template-columns:1fr 1fr;gap:.35rem;box-shadow:var(--shadow)}.more-item{display:flex;gap:.6rem;align-items:center;padding:.85rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left}.more-item.active{border-color:var(--accent);color:var(--accent)}@media(min-width:960px){.sidebar{display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:228px;background:var(--bg-2);border-right:1px solid var(--border);padding:1.3rem .85rem;gap:1.2rem}.brand{font-weight:800;letter-spacing:.3em;font-size:1.15rem;padding:0 .6rem;background:linear-gradient(90deg,var(--accent),var(--info));-webkit-background-clip:text;background-clip:text;color:transparent}.sidebar nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem;border-radius:var(--radius-sm);color:var(--muted);font-weight:500}.nav-item:hover{background:var(--surface);color:var(--text);text-decoration:none}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.nav-icon{width:1.2rem;text-align:center}.sidebar-user{margin-top:auto;padding:.6rem;color:var(--muted);font-size:.85rem}.main{margin-left:228px;padding:1.8rem 2.2rem 3rem;max-width:none}.main>*{max-width:1100px}.bottom-nav,.more-sheet{display:none}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.page-head p{margin:.2rem 0 0}.page-actions{display:flex;gap:.5rem;flex-wrap:wrap}.title-input{background:transparent;border:0;border-bottom:1px dashed transparent;color:var(--text);font-size:1.45rem;font-weight:700;width:100%;padding:.1rem 0}.title-input:hover,.title-input:focus{border-bottom-color:var(--border-2);outline:none}.section-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:1rem 0 .4rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:.9rem}.card-flush{padding:0;overflow:hidden}.card-flush .card-head{padding:1rem 1rem .5rem}.card-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.75rem;flex-wrap:wrap}.card.highlight{border-color:#3ee0a166;background:linear-gradient(135deg,rgba(62,224,161,.08),transparent 60%),var(--surface)}.grid-2{display:grid;gap:.9rem}.grid-2>.card{margin-bottom:0}.grid-2{margin-bottom:.9rem}@media(min-width:820px){.grid-2{grid-template-columns:1fr 1fr}}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin-bottom:.9rem}.stats-grid.compact{margin:.6rem 0}@media(min-width:820px){.stats-grid{grid-template-columns:repeat(4,1fr)}.stats-grid.compact{grid-template-columns:repeat(3,1fr)}}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem .9rem;min-width:0;display:flex;flex-direction:column;gap:.15rem}.card .stat{background:var(--surface-2)}.stat-link{color:inherit;transition:border-color .15s}.stat-link:hover{border-color:var(--border-2);text-decoration:none}.stat-label{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}@media(max-width:400px){.stat-value{font-size:1.2rem}}.stat-value small{font-size:.85rem;color:var(--muted);font-weight:500}.stat-sub{font-size:.78rem;color:var(--muted)}.spark{width:100%;height:28px;margin-top:.3rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border-radius:var(--radius-sm);border:1px solid var(--border-2);background:var(--surface-2);color:var(--text);cursor:pointer;font-weight:600;white-space:nowrap;transition:background .15s,border-color .15s,transform .05s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{padding:.35rem .7rem;font-size:.82rem}.btn-md{padding:.6rem 1rem}.btn-lg{padding:.85rem 1.2rem;font-size:1rem}.btn-block{width:100%;margin-bottom:.9rem}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:var(--accent-2)}@media(max-width:959px){.btn{min-height:44px;min-width:44px}}.btn-subtle:hover:not(:disabled){background:var(--surface-3)}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn-ghost:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#2a0606}.btn-row{display:flex;gap:.5rem;flex-wrap:wrap}.btn-col{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0}.icon-btn{background:transparent;border:1px solid transparent;color:var(--muted);border-radius:8px;min-width:34px;height:34px;cursor:pointer;font-size:1rem}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.icon-btn:disabled{opacity:.3}.icon-btn.small{min-width:28px;height:28px;font-size:.8rem}.row-between{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;margin:.4rem 0}.row-end{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.input{width:100%;background:var(--bg-2);border:1px solid var(--border-2);color:var(--text);border-radius:var(--radius-sm);padding:.6rem .7rem;font:inherit;min-height:42px}.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.input::placeholder{color:var(--muted-2)}.input-sm{width:auto;min-height:34px;padding:.3rem .5rem;font-size:.85rem;max-width:60vw}.input-xs{min-height:32px;padding:.25rem .4rem;width:4.2rem;text-align:center}select.input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) 55%,calc(100% - 11px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:1.8rem}input[type=date].input{color-scheme:dark}.field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.field-label{font-size:.8rem;color:var(--muted);font-weight:500}.field-hint{font-size:.75rem;color:var(--muted-2)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:.6rem 0}.form-grid .span-2{grid-column:span 2}@media(max-width:480px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}.toolbar{display:grid;grid-template-columns:1fr;gap:.5rem;margin-bottom:.6rem}@media(min-width:720px){.toolbar{grid-template-columns:1fr 200px auto}}.quick-add{display:flex;gap:.6rem;align-items:flex-end}.quick-add .field{flex:1}.calc-box{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;background:var(--bg-2);border:1px dashed var(--border-2);border-radius:var(--radius-sm);padding:.6rem .8rem;font-size:.9rem;margin:.4rem 0}.date-nav{display:flex;align-items:center;gap:.5rem;margin-bottom:.9rem;flex-wrap:wrap}.date-nav input{width:auto}.segmented{display:inline-flex;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px;gap:2px}.segmented button{background:transparent;border:0;padding:.35rem .75rem;border-radius:7px;color:var(--muted);cursor:pointer;font-size:.85rem;font-weight:500}.segmented button.active{background:var(--surface-3);color:var(--text)}.scale{display:flex;gap:.35rem}.scale button{width:42px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--border-2);background:var(--bg-2);cursor:pointer;font-weight:600}.scale button.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--border-2);background:var(--surface-2);font-size:.82rem;white-space:nowrap;color:var(--text)}.chip-btn{cursor:pointer}.chip-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.chip-good{color:var(--accent);border-color:#3ee0a166}.chip-info{color:var(--info);border-color:#6aa8ff66;font-size:.72rem;padding:.1rem .5rem}.chips-scroll{display:flex;gap:.4rem;overflow-x:auto;padding:.2rem 0 .7rem;scrollbar-width:none}.chips-scroll::-webkit-scrollbar{display:none}.chips-wrap{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0 .6rem}.chips-inline{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.25rem}.tag{display:inline-block;font-size:.7rem;padding:.1rem .45rem;border-radius:6px;background:var(--surface-3);color:var(--muted)}.badge{font-size:.65rem;padding:.05rem .4rem;border-radius:5px;background:#6aa8ff26;color:var(--info);margin-left:.4rem;vertical-align:middle}.progress{height:6px;background:var(--surface-3);border-radius:999px;overflow:hidden;margin-top:.35rem}.progress-fill{height:100%;background:var(--info);border-radius:999px;transition:width .3s}.fill-good{background:var(--accent)}.fill-warn{background:var(--warn)}.notice{padding:.65rem .8rem;border-radius:var(--radius-sm);font-size:.88rem;margin:.5rem 0}.notice-error{background:#ff6b6b1f;color:#ffb3b3;border:1px solid rgba(255,107,107,.3)}.notice-info{background:#6aa8ff1a;color:#bcd6ff;border:1px solid rgba(106,168,255,.25)}.list{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.9rem}.list.compact,.list.flush{gap:0;margin:0}.list-row{display:flex;align-items:center;gap:.8rem;padding:.75rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;cursor:pointer;text-decoration:none}.list-row:hover{border-color:var(--border-2);text-decoration:none}.list.compact .list-row,.list.flush .list-row{background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:.65rem .2rem}.list.flush .list-row{padding:.75rem 1rem}.list.compact .list-row:last-child,.list.flush .list-row:last-child{border-bottom:0}.list-row.static{cursor:default}.row-title{font-weight:600;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:46px;height:46px;border-radius:10px;background:var(--surface-2);line-height:1.05}.date-badge b{font-size:1.05rem}.date-badge small{font-size:.68rem;color:var(--muted);text-transform:uppercase}.act-icon{font-size:1.35rem;width:36px;text-align:center}.kcal{min-width:3rem;text-align:right;font-variant-numeric:tabular-nums}.pick-list{display:flex;flex-direction:column;max-height:48vh;overflow-y:auto;margin:.5rem 0;border:1px solid var(--border);border-radius:var(--radius-sm)}.pick-row{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.65rem .8rem;background:transparent;border:0;border-bottom:1px solid var(--border);cursor:pointer;text-align:left}.pick-row:last-child{border-bottom:0}.pick-row:hover{background:var(--surface-2)}.pick-name{font-weight:600}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th{text-align:left;font-weight:500;color:var(--muted);font-size:.78rem;padding:.4rem .5rem;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:.5rem;border-bottom:1px solid var(--border)}.table tr:last-child td{border-bottom:0}.table.tight td{padding:.3rem}.empty{text-align:center;padding:2rem 1rem}.empty-icon{font-size:1.8rem;color:var(--muted-2)}.empty-title{font-weight:600;margin:.4rem 0}ul.plain{margin:0;padding-left:1.1rem;color:var(--muted)}ul.plain li{margin:.3rem 0}.ex-block{padding:.9rem}.ex-head{display:flex;align-items:flex-start;gap:.5rem}.ex-name{font-weight:700;font-size:1.02rem;color:var(--text)}.ex-tools{display:flex;align-items:center;gap:.1rem}.ex-prev{font-size:.83rem;background:var(--bg-2);border-radius:var(--radius-sm);padding:.45rem .6rem;margin:.6rem 0}.suggestion{border:1px solid rgba(62,224,161,.35);background:var(--accent-soft);border-radius:var(--radius-sm);padding:.55rem .7rem;margin-bottom:.6rem;display:flex;flex-direction:column;gap:.2rem}.suggestion .row-between{margin:0}.suggestion-warn{border-color:#f5b84b73;background:#f5b84b14}.sets{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.4rem}.set-row{display:grid;grid-template-columns:34px 1fr 1fr .8fr 76px;gap:.4rem;align-items:center;position:relative}.set-row .input{min-height:44px;text-align:center;font-variant-numeric:tabular-nums;font-size:1rem;padding:.4rem}.set-head{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.set-head span{text-align:center}.set-num{width:34px;height:44px;border-radius:8px;border:1px solid var(--border-2);background:var(--surface-2);cursor:pointer;font-weight:700;color:var(--muted)}.set-row.warm .set-num{color:var(--warn)}.set-row.done .input{border-color:#3ee0a159;background:#3ee0a10f}.set-actions{display:flex;align-items:center;gap:.2rem;justify-content:flex-end}.check{width:44px;height:44px;border-radius:10px;border:1px solid var(--border-2);background:var(--surface-2);cursor:pointer;font-size:1.15rem;color:var(--muted-2)}.check.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.pr-flag{grid-column:2 / -1;font-size:.75rem;color:var(--warn);font-weight:600;margin-top:-.15rem}.rest-bar{position:fixed;left:.6rem;right:.6rem;bottom:calc(var(--nav-h) + var(--safe-b) + .5rem);z-index:25;display:flex;align-items:center;gap:.4rem;background:var(--surface-3);border:1px solid var(--border-2);border-radius:14px;padding:.5rem .6rem .5rem .9rem;box-shadow:var(--shadow);overflow:hidden}.rest-bar.done{border-color:var(--accent)}.rest-fill{position:absolute;left:0;top:0;bottom:0;background:var(--accent-soft);z-index:-1;transition:width .25s linear}.rest-label{flex:1;font-size:.82rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rest-time{font-family:var(--mono);font-size:1.3rem;font-weight:700}.rest-bar button{background:var(--surface-2);border:1px solid var(--border-2);border-radius:8px;height:36px;min-width:42px;cursor:pointer}@media(min-width:960px){.rest-bar{left:auto;right:1.5rem;bottom:1.5rem;width:380px}}.week{display:grid;grid-template-columns:1fr;gap:.4rem}.day{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem;display:flex;flex-direction:column;gap:.3rem;min-height:60px}.day.today{border-color:var(--accent)}.day-head{display:flex;gap:.4rem;align-items:baseline;color:var(--muted);font-size:.8rem;text-transform:capitalize}.day-head b{color:var(--text);font-size:1rem}@media(max-width:819px){.day{flex-direction:row;flex-wrap:wrap;align-items:center}.day-head{width:64px}}@media(min-width:820px){.week{grid-template-columns:repeat(7,1fr)}.day{min-height:150px}}.slot{display:flex;flex-direction:column;text-align:left;padding:.4rem .5rem;border-radius:8px;background:var(--surface-2);border:1px solid var(--border-2);border-left:3px solid var(--info);font-size:.8rem;cursor:pointer;color:var(--text);text-decoration:none}.slot small{color:var(--muted);font-size:.7rem}.slot-done{border-left-color:var(--accent)}.slot-cancelled,.slot-skipped{opacity:.55;text-decoration:line-through;border-left-color:var(--muted-2)}.slot-free{border-left-color:var(--c4);cursor:default}a.slot-free{cursor:pointer}.slot-add{background:transparent;border:1px dashed var(--border-2);border-radius:8px;color:var(--muted-2);cursor:pointer;padding:.2rem .6rem}.slot-add:hover{color:var(--accent);border-color:var(--accent)}.template{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem;margin:.75rem 0;background:var(--bg-2)}.pain-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.4rem;margin:.4rem 0 .8rem}.pain-item{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.3rem .3rem .3rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem}.pain-item.on{border-color:var(--warn)}.macros{display:grid;grid-template-columns:1fr;gap:.75rem}@media(min-width:720px){.macros{grid-template-columns:1fr 1fr}}.macro .row-between{margin:0;font-size:.9rem}.insights{display:grid;gap:.6rem;margin-bottom:.9rem}.card .insights{margin-bottom:0}@media(min-width:820px){.insights{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.insight{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--muted-2);border-radius:var(--radius-sm);padding:.75rem .85rem;display:flex;flex-direction:column;gap:.3rem}.page-head+.insights .insight{background:var(--surface)}.insight-positive{border-left-color:var(--accent)}.insight-attention{border-left-color:var(--warn)}.insight-neutral{border-left-color:var(--info)}.insight-head{display:flex;align-items:center;gap:.4rem}.insight-icon{font-size:.7rem}.insight-positive .insight-icon{color:var(--accent)}.insight-attention .insight-icon{color:var(--warn)}.insight-neutral .insight-icon{color:var(--info)}.insight-title{font-weight:650}.insight-body{font-size:.9rem;color:#c8d0dc}.insight-evidence{font-size:.75rem;color:var(--muted-2)}.chart{position:relative;width:100%;margin:.3rem 0}.chart svg{display:block;max-width:100%;touch-action:pan-y;overflow:visible;border-radius:6px}.chart svg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chart .grid{stroke:var(--border);stroke-width:1;vector-effect:non-scaling-stroke}.chart .axis{fill:var(--muted);font-size:11.5px;font-family:var(--font)}.chart .cursor{stroke:var(--muted-2);stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.chart .target{stroke:var(--warn);stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.chart-empty{padding:2rem 1rem;text-align:center;color:var(--muted);font-size:.9rem;border:1px dashed var(--border);border-radius:var(--radius-sm);margin:.3rem 0}.tooltip{position:absolute;top:0;transform:translate(-50%);background:var(--surface-3);border:1px solid var(--border-2);border-radius:8px;padding:.35rem .55rem;font-size:.78rem;pointer-events:none;white-space:nowrap;box-shadow:var(--shadow);z-index:2}.tooltip-x{color:var(--muted);font-size:.72rem}.tooltip i,.legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:.35rem}.legend{display:flex;flex-wrap:wrap;gap:.3rem .9rem;font-size:.78rem;color:var(--muted);margin-top:.3rem}.hbars{display:flex;flex-direction:column;gap:.4rem}.hbar{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:.6rem;font-size:.85rem}.hbar-label{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbar-track{height:10px;background:var(--surface-3);border-radius:999px;overflow:hidden}.hbar-fill{display:block;height:100%;border-radius:999px}.hbar-val{font-variant-numeric:tabular-nums;font-size:.8rem;white-space:nowrap}.modal-backdrop{position:fixed;inset:0;background:#030508b3;backdrop-filter:blur(3px);z-index:50;display:flex;align-items:flex-end;justify-content:center}.modal{background:var(--surface);border:1px solid var(--border-2);width:100%;max-height:92dvh;display:flex;flex-direction:column;border-radius:18px 18px 0 0;box-shadow:var(--shadow);animation:up .18s ease-out}@keyframes up{0%{transform:translateY(24px);opacity:.6}}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem .5rem}.modal-body{padding:.4rem 1rem 1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem}.modal-body>.btn-block{margin-bottom:0}.modal-foot{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem calc(.75rem + var(--safe-b));border-top:1px solid var(--border)}@media(min-width:720px){.modal-backdrop{align-items:center}.modal{max-width:620px;border-radius:18px;max-height:86vh}.modal-foot{padding-bottom:.75rem}}.import-log{background:var(--bg-2);border-radius:var(--radius-sm);padding:.6rem;font-size:.82rem;display:flex;flex-direction:column;gap:.25rem;font-family:var(--mono)}.toasts{position:fixed;top:.8rem;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;gap:.4rem;width:min(92vw,420px);pointer-events:none}.toast{background:var(--surface-3);border:1px solid var(--border-2);border-radius:10px;padding:.6rem .85rem;box-shadow:var(--shadow);font-size:.9rem;animation:up .18s ease-out}.toast-success{border-color:#3ee0a180}.toast-error{border-color:#ff6b6b99;color:#ffc9c9}:root{--avatar-a: #2a3a4a;--avatar-b: #1d2836}.tabs-row{display:flex;overflow-x:auto;margin-bottom:.9rem;scrollbar-width:none}.tabs-row::-webkit-scrollbar{display:none}.link-btn{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline}.check-label{display:flex;align-items:flex-start;gap:.55rem;font-size:.9rem;margin:.4rem 0;cursor:pointer}.check-label input{width:18px;height:18px;accent-color:var(--accent);margin-top:2px;flex-shrink:0}.readonly-field{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0 .7rem;border:1px dashed var(--border-2);border-radius:var(--radius-sm);font-weight:600}.readonly-field a{font-weight:500;font-size:.85rem}.proposal{display:flex;flex-direction:column;gap:.5rem}.proposal-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.needs-current{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.big-kcal{font-size:2.2rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.big-kcal small{font-size:.9rem;color:var(--muted);font-weight:500}.macro-donut{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.macro-legend{display:flex;flex-direction:column;gap:.35rem;font-size:.88rem;min-width:170px}.macro-legend>div{display:grid;grid-template-columns:10px 1fr auto 3rem;align-items:center;gap:.5rem}.macro-legend i{width:10px;height:10px;border-radius:3px}.macro-legend small{text-align:right}.donut{position:relative;flex-shrink:0}.donut svg{width:100%;height:100%}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}.donut-center b{font-size:1.15rem}.donut-center small{color:var(--muted);font-size:.72rem}details.explain{margin-top:.6rem;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .8rem;background:var(--bg-2)}details.explain summary{cursor:pointer;font-weight:600}details.explain ol{margin:.6rem 0 0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.55rem}details.explain .row-between{margin:0}.timeline{margin:.2rem 0 .8rem}.timeline input[type=range]{width:100%;accent-color:var(--accent);height:28px}.avatar-layout{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}@media(min-width:820px){.avatar-layout{grid-template-columns:minmax(240px,340px) 1fr}}.avatar-stage{background:radial-gradient(circle at 50% 30%,rgba(62,224,161,.07),transparent 65%),var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem;position:relative}.avatar{display:block;margin:0 auto;width:100%;height:auto}.avatar-md{max-width:300px;max-height:62vh}.avatar-sm{max-width:190px}.avatar-body path{fill:url(#avatarFill);stroke:#6f8fb0;stroke-width:1.4;stroke-linejoin:round}.avatar-ghost path{fill:none;stroke:var(--warn);stroke-width:1.6;stroke-dasharray:5 4}.avatar-spine{stroke:#6f8fb0;stroke-width:1;stroke-dasharray:3 4;opacity:.7}.avatar-marker{stroke-width:2.2;stroke-linecap:round}.avatar-marker.measured{stroke:var(--accent)}.avatar-marker.neutral{stroke:var(--muted-2);stroke-dasharray:3 3}.avatar-marker.hl{stroke:var(--warn);stroke-width:4}.avatar-sides{display:flex;justify-content:space-between;padding:0 .5rem}.zone-list{display:grid;grid-template-columns:1fr;gap:.25rem;margin-bottom:.6rem}@media(min-width:520px){.zone-list{grid-template-columns:1fr 1fr}}.zone-row{display:flex;justify-content:space-between;gap:.5rem;padding:.45rem .6rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;text-align:left;font-size:.86rem;border-left:3px solid var(--accent)}.zone-row.neutral{border-left-color:var(--muted-2);color:var(--muted)}.zone-row.active{border-color:var(--warn)}.avatar-compare{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:.6rem 0}.avatar-compare.one{grid-template-columns:1fr}.avatar-compare figure{margin:0;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem;text-align:center}.avatar-compare.one .avatar{max-width:300px}.avatar-compare figcaption{font-size:.82rem;color:var(--muted);margin-top:.3rem;display:flex;align-items:center;justify-content:center;gap:.35rem;flex-wrap:wrap}.legend-ghost,.legend-fill{display:inline-block;width:18px;height:10px;border-radius:3px}.legend-ghost{border:2px dashed var(--warn)}.legend-fill{background:var(--avatar-a);border:1px solid #6f8fb0}.transfo{display:grid;grid-template-columns:110px 1fr;gap:1rem;align-items:center}.transfo-avatar{display:block;background:var(--bg-2);border-radius:var(--radius-sm);padding:.3rem}.transfo-avatar .avatar{max-height:210px}.transfo-stats{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1rem}.transfo-stats>div{display:flex;flex-direction:column;gap:.1rem;min-width:0}.transfo-stats b{font-size:1.15rem}@media(min-width:820px){.transfo{grid-template-columns:140px 1fr}.transfo-stats{grid-template-columns:repeat(4,1fr)}}.toast-warning{border-color:#f5b84bb3;color:#ffe2a8}.input-invalid,.input[aria-invalid=true]{border-color:var(--danger)!important;box-shadow:0 0 0 3px #ff6b6b26}.form-error{color:#ffb3b3;font-size:.85rem;margin:.3rem 0}.backup-text{font-family:var(--mono);font-size:.8rem;min-height:160px;resize:vertical}@media(max-width:959px){.input,.input-sm,.input-xs,select.input,textarea.input,.title-input{font-size:16px}}.ex-name{display:inline-flex;align-items:center;min-height:28px}.transfo-stats a,.avatar-panel .link-btn{display:inline-flex;align-items:center;min-height:24px}@media(max-width:400px){.transfo{grid-template-columns:1fr}.transfo-avatar{max-width:120px;margin:0 auto}.transfo-stats b{white-space:nowrap}}.icon{flex:none}.topbar{display:flex;justify-content:flex-end;height:0;position:relative;z-index:5}.profile-btn{position:absolute;right:0;top:-.15rem;width:44px;height:44px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border-2);color:var(--accent-2);font-weight:700;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.profile-btn.on{border-color:var(--accent)}.profile-btn:hover{text-decoration:none}.main .page-head,.main>.subnav+div>.page-head{padding-right:52px}.subnav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;padding:4px;margin:0 52px 1rem 0;border-radius:16px;background:var(--surface);border:1px solid var(--border)}.subnav a{min-height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-weight:600;font-size:.9rem;text-decoration:none}.subnav a.on{background:var(--surface-3);color:var(--text)}.subnav a:hover{text-decoration:none;color:var(--text)}.subnav+* .page-head,.subnav+.page-head{padding-right:0}.bottom-nav{height:calc(var(--nav-h) + var(--safe-b));background:#09100df7;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center}.bottom-nav a{min-height:56px;gap:3px}.bottom-nav small{font-size:.7rem;font-weight:500}.bottom-nav .active{color:var(--accent-2)}.bottom-nav .fab{width:56px;height:56px;margin:0 auto;border-radius:18px;background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 24px #10b98159}.side-group{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:.65rem}.nav-sub{padding:.45rem .6rem .45rem 2.6rem;border-radius:var(--radius-sm);color:var(--muted);font-size:.88rem;text-decoration:none}.nav-sub.active{color:var(--text);background:var(--surface-2)}.nav-quick{margin-top:.6rem;background:var(--accent);color:var(--accent-ink)!important;border:0;cursor:pointer;font-weight:600}.side-profile{margin-top:auto}@media(min-width:960px){.topbar,.subnav{display:none}.main .page-head{padding-right:0}}.quick-weight{display:flex;align-items:flex-end;gap:.5rem;padding:.75rem;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border)}.quick-weight label{display:flex;flex-direction:column;gap:.25rem}.quick-item{display:flex;align-items:center;gap:.8rem;width:100%;min-height:60px;padding:.5rem .75rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer}.quick-item b{display:block;font-weight:600}.quick-item small{display:block}.quick-ico{width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent-2);display:inline-flex;align-items:center;justify-content:center}.save-ind{display:inline-flex;align-items:center;gap:.25rem;font-size:.8rem;font-weight:500;white-space:nowrap}.save-ok{color:var(--accent-2)}.save-pending,.save-idle{color:var(--muted)}.save-error,.save-volatile{color:var(--danger);font-weight:600}.recovery-box{display:flex;flex-direction:column;gap:.6rem;padding:.85rem;border-radius:var(--radius);background:var(--surface-2)}.recovery-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.recovery-stats div{display:flex;flex-direction:column}.recovery-stats b{font-size:1.05rem}.tone-danger{color:var(--danger)!important}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.chip-btn{min-height:44px;padding:0 .9rem;border-radius:12px;border:1px solid var(--border-2);background:var(--surface-2);color:var(--text);font-weight:600;cursor:pointer}.chip-btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-2)}.chip-good{background:var(--accent-soft)!important;color:var(--accent-2)!important}.row-gap{display:flex;flex-direction:column;gap:.5rem}.shell-focus .main-focus{margin:0;padding:0;max-width:none}.session{display:flex;flex-direction:column;gap:.5rem;height:100dvh;overflow:hidden;padding:.4rem .9rem calc(.6rem + var(--safe-b));max-width:620px;margin:0 auto}.session-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;overscroll-behavior:contain}.session-bottom{flex:none;display:flex;flex-direction:column;gap:.5rem}.session-head{display:flex;align-items:center;gap:.5rem;min-height:52px;flex:none}.session-head .btn{min-height:44px}.session-title{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center}.session-title b{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.icon-btn.lg{width:44px;height:44px;border-radius:14px;border:1px solid var(--border);font-size:1.15rem;flex:none}.session-progress{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;flex:none}.session-progress span{height:4px;border-radius:2px;background:var(--border-2)}.session-progress span.done{background:var(--accent)}.session-progress span.cur{background:var(--accent-2);box-shadow:0 0 0 1px var(--accent-2)}.session-ex p{margin:0}.session-ex-name{font-size:1.4rem;line-height:1.15;margin:.1rem 0 0}.session-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.session-chips .chip{font-size:.8rem;padding:.35rem .6rem;border-radius:10px;background:var(--surface-2);color:var(--muted);border:0}.session-sets{display:flex;flex-direction:column;gap:2px;padding:.4rem;border-radius:20px;background:var(--surface);border:1px solid var(--border)}.sset{display:grid;grid-template-columns:2.2rem minmax(0,1fr) 3.9rem 2.9rem 3.9rem;align-items:center;min-height:44px;padding:0 .2rem 0 .7rem;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--muted);font:inherit;text-align:left;cursor:default;scroll-margin:.4rem}.sset>span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sset .b{font-weight:600;color:var(--text)}.sset.done{cursor:pointer}.sset.cur{background:var(--surface-2);border-color:var(--accent);color:var(--text)}.sset.sel{background:#1f2a1f;border-color:var(--warn)}.sset-head{min-height:26px;font-size:.75rem}.sset-state{display:flex;justify-content:center}.sset-state small{font-size:.68rem;font-weight:700;white-space:nowrap}.sset .ok{width:32px;height:32px;border-radius:10px;background:var(--accent);color:var(--accent-ink);display:inline-flex;align-items:center;justify-content:center;font-weight:800}.sset-add{min-height:44px;border:0;background:transparent;color:var(--accent-2);font-weight:600;border-radius:12px;cursor:pointer}.session-editbar{display:flex;flex-direction:column;gap:.5rem;padding:.7rem;border-radius:18px;background:var(--surface-2);border:1px solid var(--warn)}.session-editbar-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.session-editbar-actions .btn{min-height:44px;padding:0 .4rem;font-size:.85rem}.session-rest{display:flex;align-items:center;gap:.4rem;min-height:52px;padding:.2rem .4rem .2rem .9rem;border-radius:18px;background:#0d1e18;border:1px solid #1e5a44}.session-rest-time{flex:1;font-size:1.55rem}.session-rest .btn{min-height:44px;min-width:48px}.session-ready{margin:0;padding:0 .3rem;font-size:.9rem}.session-input{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.stepper-field{display:flex;flex-direction:column;gap:.25rem;align-items:stretch;min-width:0}.stepper-field>span{text-align:center}.stepper{display:flex;align-items:center;justify-content:space-between;gap:.25rem;padding:.25rem;border-radius:18px;background:var(--surface);border:1px solid var(--border)}.step{width:50px;height:52px;flex:none;border-radius:15px;border:1px solid var(--border-2);background:var(--surface-3);color:var(--text);font-size:1.5rem;font-weight:600;cursor:pointer}.stepper-value{flex:1;min-width:0;height:52px;border:0;background:transparent;color:var(--text);font-size:1.45rem;font-weight:700;font-variant-numeric:tabular-nums;cursor:text;padding:0;white-space:nowrap}.stepper-value.long{font-size:1.15rem}.session-ended{display:flex;flex-direction:column;gap:.5rem;padding:.7rem;border-radius:18px;background:var(--surface-2);border:1px solid var(--border-2)}.session-ended p{margin:0}.stepper-input{flex:1;min-width:0;height:52px;text-align:center;font-size:1.35rem!important;font-weight:700}.session-actions{display:flex;flex-direction:column;gap:.5rem}.session-validate{min-height:58px;border-radius:20px;border:0;background:var(--accent);color:var(--accent-ink);font-size:1.1rem;font-weight:700;cursor:pointer}.session-validate.editing{background:var(--surface-2);color:var(--accent-2);border:2px solid var(--accent)}.session-undo{display:flex;align-items:center;gap:.6rem;min-height:48px;padding:0 .4rem 0 1rem;border-radius:16px;background:var(--text);color:var(--bg);font-weight:600}.session-undo span{flex:1}.session-undo button{min-height:44px;padding:0 .9rem;border:0;border-radius:12px;background:transparent;color:#047857;font-weight:800;cursor:pointer}.session-next{display:flex;flex-direction:column;align-items:flex-start;min-height:48px;padding:.3rem 1rem;border-radius:16px;background:var(--surface);border:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer}.session-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.session-list li{display:flex;align-items:center;gap:.2rem;border-radius:12px;border:1px solid transparent}.session-list li.cur{border-color:var(--accent);background:var(--surface-2)}.session-list-go{flex:1;display:flex;align-items:center;gap:.6rem;min-height:48px;padding:0 .6rem;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.session-list .dot{width:24px;height:24px;border-radius:12px;border:2px solid var(--border-2);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;flex:none}.session-list .dot.done{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:800}.session-list .icon-btn{width:44px;height:44px}.session-empty{display:flex;flex-direction:column;gap:1rem;padding-top:2rem}@media(max-height:700px){.session,.session-bottom{gap:.4rem}.session-ex-name{font-size:1.15rem}.session-chips .chip{font-size:.75rem}.stepper-field>span{font-size:.75rem}.step,.stepper-value,.stepper-input{height:48px}.step{width:48px}.session-validate{min-height:52px}.session-rest{min-height:48px}.session-rest-time{font-size:1.35rem}}@media(max-height:480px){.session-chips,.session-progress,.session-next,.session-undo,.session-ready,.stepper-field>span,.session-ex .muted{display:none}.session-ex-name{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-head{min-height:44px}.session-sets{padding:.2rem}.sset-head,.sset-add{display:none}.session-rest{min-height:44px;padding-left:.7rem}.session-rest>.muted{display:none}.session-rest-time{font-size:1.15rem}}.legend{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.legend button{display:inline-flex;align-items:center;min-height:44px;padding:0 .6rem;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.8rem;cursor:pointer}.legend button.off{opacity:.45;text-decoration:line-through}.tone-cardio{color:var(--cardio)}.notice-warn{background:#f5b84b1a;color:#f7d79b;border:1px solid rgba(245,184,75,.3)}.bar{height:8px;border-radius:4px;background:var(--surface-3);overflow:hidden}.bar>span{display:block;height:100%;border-radius:4px;background:var(--accent)}.cardio-bar>span{background:var(--cardio)}.big-num{font-size:1.5rem}.section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:1.2rem .2rem .5rem}.timeline input[type=range]{height:44px}.dash-food{display:flex;align-items:center;gap:1rem;padding:1rem}.dash-food:hover{text-decoration:none}.kcal-ring{flex:none}.kcal-ring .ring-big{fill:var(--text);font-size:24px;font-weight:700;font-family:var(--font)}.kcal-ring .ring-sub{fill:var(--muted);font-size:10.5px;font-family:var(--font)}.dash-kcal{margin:.15rem 0 .5rem}.dash-kcal b{font-size:1.15rem}.dash-macro{margin-top:.35rem}.dash-macro .bar{height:6px;margin-top:.2rem}.macro-p .bar>span{background:var(--accent-2)}.macro-c .bar>span{background:var(--info)}.macro-f .bar>span{background:var(--warn)}.quick-chips{display:flex;gap:.4rem;overflow-x:auto;padding:.1rem 0 .7rem;scrollbar-width:none}.quick-chips .chip-btn{flex:none;display:inline-flex;align-items:center;text-decoration:none}.dash-session-title{font-size:1.1rem;display:block;margin:.1rem 0}.dash-session .btn-row{margin-top:.7rem}.dash-tiles .stat-value small{font-size:.75rem;color:var(--muted);font-weight:500}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin:.4rem 0}.wday{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.68rem;color:var(--muted)}.wday i{width:100%;max-width:26px;height:18px;border-radius:6px;background:var(--surface-3);display:block}.wday i.str{background:var(--accent)}.wday i.car{background:transparent;border:2px solid var(--cardio)}.wday i.str.car{background:var(--accent);border:2px solid var(--cardio)}.wday.today small{color:var(--text);font-weight:700}@media(max-width:400px){.dash-food{gap:.75rem;padding:.85rem}.dash-food .kcal-ring{width:92px;height:92px}.dash-kcal{font-size:.95rem}}.nut-top{display:flex;justify-content:space-between;align-items:flex-end;gap:.8rem;margin-bottom:.6rem}.nut-big b{font-size:2.1rem;line-height:1.1}.macro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.macro-grid .macro{display:flex;flex-direction:column;gap:.15rem;min-width:0;font-size:.85rem}.macros{grid-template-columns:1fr!important}.meals{padding:0;overflow:hidden}.meal-block{padding:.75rem .9rem;border-top:1px solid var(--border)}.meal-block:first-child{border-top:0}.meal-block.next{background:#0d1e18}.meal-head{display:flex;align-items:center;gap:.6rem}.meal-head .btn{min-height:44px}.meal-block .list{margin-top:.4rem}.meal-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.meal-actions:empty{display:none}.link-chip{min-height:44px;padding:0 .8rem;border-radius:12px;border:1px dashed var(--border-2);background:transparent;color:var(--accent-2);font-size:.85rem;font-weight:600;cursor:pointer;text-align:left}.food-row{display:flex;align-items:stretch;border-bottom:1px solid var(--border)}.food-row:last-child{border-bottom:0}.food-row .pick-row{flex:1;border-bottom:0;min-height:52px;justify-content:center}.star{width:48px;flex:none;border:0;background:transparent;color:var(--muted);font-size:1.25rem;cursor:pointer}.star.on{color:var(--warn)}.pick-group{margin:0;padding:.5rem .8rem .25rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--bg-2)}.qty-panel{display:flex;flex-direction:column;gap:.5rem}.qty-stepper{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:end;gap:.5rem}.qty-stepper .field{margin:0}.qty-stepper input{text-align:center;font-size:1.2rem!important;font-weight:700;height:52px}.cardio-week .nut-big b{font-size:2rem}.cardio-week .bar{margin:.5rem 0}.cardio-week-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.5rem}.cardio-week-stats div{display:flex;flex-direction:column}.month-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.6rem .9rem .3rem;background:var(--bg-2);border-top:1px solid var(--border)}.month-group:first-child .month-head{border-top:0}.weight-insight{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-bottom:.4rem}.weight-insight div{display:flex;flex-direction:column;min-width:0}.weight-insight b{font-size:1.05rem}.weight-insight .big-num{font-size:1.4rem;color:var(--accent-2)}.weigh-list .list-row{min-height:44px}.weigh-list .dev{min-width:7.5rem;text-align:right}.avatar-limits{margin-top:.6rem;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.2rem .8rem;background:var(--bg-2)}.avatar-limits summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--muted)}.avatar-limits ul{margin:0 0 .6rem;padding-left:1.1rem;display:flex;flex-direction:column;gap:.25rem}@media(max-width:400px){.weight-insight{grid-template-columns:1fr 1fr}.weight-insight>div:first-child{grid-column:1 / -1}}.profile-jump{margin-bottom:.2rem}.profile-section{scroll-margin-top:1rem}.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 12px;margin:10px 0 0}.kv dt{color:var(--muted, #8b95a7)}.kv dd{margin:0;overflow-wrap:anywhere}@media(max-width:420px){.kv{grid-template-columns:1fr;gap:2px}.kv dd{margin-bottom:6px}}.backup-reminder{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.backup-reminder>.grow{flex:1 1 240px;min-width:0}.backup-reminder .btn-row{margin:0}.backup-reminder.compact{margin-bottom:8px}.snapshot-row{flex-wrap:wrap;gap:6px}.card-head .save-ind{white-space:normal;min-width:0;max-width:100%;overflow-wrap:anywhere}.sync-badge{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted, #8b95a7)}.sync-badge i{width:10px;height:10px;border-radius:50%;background:#10b981;box-shadow:0 0 0 2px var(--bg, #07100d);flex:none}.sync-badge.sync-pending i{background:#8b95a7}.sync-badge.sync-warn i{background:#f5b84b}.sync-badge.sync-error i{background:#f87171}.profile-btn{position:absolute}.profile-btn .sync-badge{position:absolute;right:-1px;bottom:-1px}.side-sync{padding:6px 14px 10px}.sync-card .kv dd{overflow-wrap:anywhere}.main{padding-top:calc(1rem + var(--safe-t));padding-left:calc(1rem + var(--safe-l));padding-right:calc(1rem + var(--safe-r))}.session{padding-top:calc(.4rem + var(--safe-t));padding-left:calc(.9rem + var(--safe-l));padding-right:calc(.9rem + var(--safe-r))}.bottom-nav{padding-left:var(--safe-l);padding-right:var(--safe-r)}.toasts{top:calc(.8rem + var(--safe-t))}@media(display-mode:standalone){html,body{overscroll-behavior-y:none}}.update-banner{position:fixed;left:calc(.75rem + var(--safe-l));right:calc(.75rem + var(--safe-r));top:calc(.6rem + var(--safe-t));z-index:60;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;border-radius:14px;background:var(--surface-3, #15201c);border:1px solid rgba(16,185,129,.45);box-shadow:var(--shadow);font-size:.88rem;max-width:620px;margin:0 auto}.update-banner .grow{flex:1 1 200px;min-width:0}.import-wizard{display:flex;flex-direction:column;gap:10px}.import-strategy{border:1px solid var(--border, #1f2a27);border-radius:12px;padding:8px 12px;margin:0}.import-strategy legend{padding:0 4px}
