:root{--bg-0:#06060b;--bg-1:#0b0a14;--ink:#ffffff;--ink-2:rgba(255,255,255,.62);--ink-3:rgba(255,255,255,.38);--ink-4:rgba(255,255,255,.22);--violet:#7c3cff;--violet-2:#b06bff;--magenta:#ff3da8;--cyan:#3ddcff;--lime:#9bff6a;--amber:#ffb547;--rose:#ff6b8a;--glass: rgba(255,255,255,.045);--glass-2: rgba(255,255,255,.07);--glass-3: rgba(255,255,255,.1);--hair: rgba(255,255,255,.08);--hair-2: rgba(255,255,255,.14);--hair-3: rgba(255,255,255,.22);--radius-card: 28px;--radius-sub: 20px;--radius-pill: 999px;--shadow-card: 0 1px 0 rgba(255,255,255,.18) inset, 0 -1px 0 rgba(255,255,255,.04) inset, 0 28px 70px rgba(0,0,0,.55), 0 8px 24px rgba(124,60,255,.15);--shadow-hover: 0 1px 0 rgba(255,255,255,.22) inset, 0 -1px 0 rgba(255,255,255,.04) inset, 0 40px 100px rgba(0,0,0,.6), 0 14px 38px rgba(255,61,168,.22);--grad-iridescent: linear-gradient(95deg,#fff 0%,#b06bff 40%,#ff3da8 75%,#3ddcff 100%);--grad-ring: linear-gradient(180deg,#3ddcff,#7c3cff 38%,#ff3da8 72%,#ffb547 100%);--grad-text: linear-gradient(180deg,#fff 0%,#e7d8ff 50%,#b06bff 100%);--grad-text-soft: linear-gradient(180deg,#fff,#fff 40%,#cfc6e6)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;-webkit-text-size-adjust:100%}html,body,#root{background:var(--bg-0)}body{font-family:General Sans,Inter,system-ui,-apple-system,sans-serif;color:var(--ink);font-weight:400;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;min-height:100dvh;position:relative;overflow-x:hidden}body:before,body:after{content:"";position:fixed;top:-10%;right:-10%;bottom:-10%;left:-10%;pointer-events:none;z-index:0}body:before{background:radial-gradient(38% 32% at 22% 14%,rgba(124,60,255,.55),transparent 60%),radial-gradient(34% 30% at 82% 22%,rgba(255,61,168,.4),transparent 65%),radial-gradient(40% 38% at 70% 78%,rgba(61,220,255,.3),transparent 60%),radial-gradient(36% 30% at 14% 86%,rgba(155,255,106,.16),transparent 60%);filter:blur(40px) saturate(120%);animation:drift 18s ease-in-out infinite alternate}body:after{background:radial-gradient(60% 50% at 50% 50%,#0b0a1400,#06060bc7 80%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");mix-blend-mode:overlay;opacity:.85}@keyframes drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(2%,-1.5%,0) scale(1.04)}to{transform:translate3d(-1.5%,1.5%,0) scale(1.02)}}#root{position:relative;z-index:1;min-height:100dvh}h1,h2,h3,h4{font-family:"Instrument Serif",Times New Roman,serif;font-weight:400;letter-spacing:-.01em;color:var(--ink);line-height:1.1}h1{font-size:32px;font-style:italic}h2{font-size:24px;font-style:italic}h3{font-size:18px;font-style:italic}h4{font-size:15px}em,.italic{font-style:italic}code,kbd,.mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.06em}.eyebrow{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-3)}.text-grad,h1 em,h2 em,h3 em{background:var(--grad-iridescent);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic}a{color:var(--violet-2);text-decoration:none}a:hover{color:var(--magenta)}::selection{background:#7c3cff73;color:#fff}.app-frame{position:relative;z-index:1;max-width:480px;margin:0 auto;padding:18px 16px 120px;min-height:100dvh;display:flex;flex-direction:column;gap:14px}.app-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:8px 4px 4px}.app-header h1,.app-header h2,.app-header .brand{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;font-size:26px;letter-spacing:-.01em;line-height:1}.app-header h1 em,.app-header .brand em{background:var(--grad-iridescent);-webkit-background-clip:text;background-clip:text;color:transparent}.app-header .subtitle{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-top:4px}.app-header .icon-btn,.app-header button{margin-left:auto}.app-content{display:flex;flex-direction:column;gap:14px}.card,.auth-card,.insight-card,.plan-card,.sleep-card,.fitness-age-card,.meal-card,.meal-group,.ai-limit-card,.draft-item,.weight-row,.section,.hero,.modal,.popover,.profile{position:relative;z-index:1;border-radius:var(--radius-card);padding:20px 18px;background:linear-gradient(180deg,#ffffff1a,#ffffff06 40%,#ffffff05);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid var(--hair-2);box-shadow:var(--shadow-card);overflow:hidden;isolation:isolate;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease,border-color .35s ease}.card:before,.insight-card:before,.plan-card:before,.meal-group:before,.hero:before,.fitness-age-card:before,.sleep-card:before,.auth-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;pointer-events:none;background:conic-gradient(from 140deg at 50% 50%,#ffffff80,#7c3cff66,#ff3da866,#3ddcff66,#ffffff80);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.45;z-index:0}.card:after,.insight-card:after,.plan-card:after,.meal-group:after,.hero:after,.fitness-age-card:after,.sleep-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 60% at 50% -10%,rgba(255,255,255,.18),transparent 55%);mix-blend-mode:screen;z-index:0}.card>*,.auth-card>*,.insight-card>*,.plan-card>*,.meal-group>*,.hero>*,.fitness-age-card>*,.sleep-card>*,.meal-card>*,.ai-limit-card>*,.draft-item>*,.weight-row>*,.section>*,.modal>*,.popover>*,.profile>*{position:relative;z-index:1}.card:hover,.insight-card:hover,.plan-card:hover,.meal-card:hover,.meal-group:hover,.fitness-age-card:hover,.sleep-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:var(--hair-3)}.hero{padding:24px 22px 22px;border-radius:32px}.hero:before{background:conic-gradient(from var(--hero-ang,0deg) at 50% 50%,rgba(255,255,255,.55),rgba(124,60,255,.55),rgba(255,61,168,.55),rgba(61,220,255,.55),rgba(255,255,255,.55));opacity:.55;animation:heroBorderSpin 12s linear infinite}@property --hero-ang{syntax:"<angle>"; inherits:false; initial-value:0deg;}@keyframes heroBorderSpin{to{--hero-ang:360deg }}@supports not (background: paint(something)){.hero:before{animation:none}}.date-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:var(--radius-pill);background:#ffffff0d;border:1px solid var(--hair);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.date-nav .nav-btn{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:transparent;border:1px solid transparent;color:var(--ink-2);cursor:pointer;transition:.25s ease;padding:0}.date-nav .nav-btn:hover{background:#ffffff14;border-color:var(--hair-2);color:#fff}.date-nav .nav-btn:disabled{opacity:.35;cursor:not-allowed}.date-nav .date-text{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);display:inline-flex;align-items:center;gap:6px;position:relative}.date-nav .date-text input[type=date]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;background:transparent;border:0;color:transparent;width:100%;height:100%}.date-nav .today-pill{margin-left:6px;font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--lime);background:#9bff6a1a;border:1px solid rgba(155,255,106,.22);border-radius:var(--radius-pill);padding:3px 8px}.ring-wrap{position:relative;width:260px;height:260px;margin:8px auto 6px;display:grid;place-items:center;cursor:default;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.ring-wrap:hover{transform:scale(1.03)}.ring-wrap svg,.ring-wrap .ring-svg{transform:rotate(-90deg);filter:drop-shadow(0 0 18px rgba(176,107,255,.35));transition:filter .5s ease}.ring-wrap:hover svg,.ring-wrap:hover .ring-svg{filter:drop-shadow(0 0 28px rgba(255,61,168,.55)) drop-shadow(0 0 12px rgba(61,220,255,.35))}.ring-bg{stroke:#ffffff0f;fill:none}.ring-fg{stroke:url(#ringGrad);stroke-linecap:round;fill:none}.ring-glow{stroke:url(#ringGrad);stroke-linecap:round;fill:none;filter:blur(8px);opacity:.55}.ring-orbit{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 75%,rgba(124,60,255,0) 75% 80%,rgba(255,61,168,.7) 86%,transparent 92%);-webkit-mask:radial-gradient(closest-side,transparent 96%,#000 97%);mask:radial-gradient(closest-side,transparent 96%,#000 97%);animation:orbitSpin 7s linear infinite;opacity:.65;pointer-events:none}@keyframes orbitSpin{to{transform:rotate(360deg)}}.ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;pointer-events:none}.ring-value{font-family:"Instrument Serif",serif;font-weight:400;font-size:78px;line-height:1;letter-spacing:-.04em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 24px rgba(176,107,255,.3)}.ring-value em{font-style:italic;background:linear-gradient(180deg,#fff,#ffd2eb);-webkit-background-clip:text;background-clip:text;color:transparent}.ring-label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-3);margin-top:6px}.ring-sub{font-family:"Instrument Serif",serif;font-style:italic;font-size:14px;color:var(--ink-2);margin-top:2px}.macros-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.macro-cell{position:relative;border-radius:var(--radius-sub);padding:14px 10px;text-align:center;background:linear-gradient(180deg,#ffffff14,#ffffff06);border:1px solid var(--hair);-webkit-backdrop-filter:blur(10px) saturate(150%);backdrop-filter:blur(10px) saturate(150%);overflow:hidden;cursor:default;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.macro-cell:before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--bar, linear-gradient(90deg, var(--violet), var(--magenta)));opacity:.85;transition:height .3s ease,opacity .3s ease,filter .3s ease}.macro-cell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(80% 40% at 50% 0%,rgba(255,255,255,.16),transparent 60%);mix-blend-mode:screen}.macro-cell:hover{transform:translateY(-4px) scale(1.03);border-color:var(--hair-3);box-shadow:0 18px 36px #00000073,0 0 32px #b06bff33}.macro-cell:hover:before{height:3px;opacity:1;filter:brightness(1.2)}.macros-row>.macro-cell:nth-child(1){--bar: linear-gradient(90deg,#7c3cff,#ff3da8)}.macros-row>.macro-cell:nth-child(2){--bar: linear-gradient(90deg,#ffb547,#ff6b8a)}.macros-row>.macro-cell:nth-child(3){--bar: linear-gradient(90deg,#3ddcff,#7c3cff)}.macros-row>.macro-cell:nth-child(1):hover{box-shadow:0 18px 36px #00000073,0 0 32px #ff3da847}.macros-row>.macro-cell:nth-child(2):hover{box-shadow:0 18px 36px #00000073,0 0 32px #ffb54747}.macros-row>.macro-cell:nth-child(3):hover{box-shadow:0 18px 36px #00000073,0 0 32px #3ddcff47}.m-name{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3)}.m-val{display:block;margin:6px 0 4px;font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;font-size:26px;letter-spacing:-.02em;background:var(--grad-text-soft);-webkit-background-clip:text;background-clip:text;color:transparent;transition:transform .35s ease,filter .35s ease}.macro-cell:hover .m-val{transform:scale(1.06);filter:brightness(1.1)}.m-target{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.1em;color:var(--ink-3)}.m-delta{display:inline-flex;align-items:center;gap:4px;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.06em;padding:3px 7px;border-radius:var(--radius-pill);background:#ffffff0d;border:1px solid var(--hair);color:var(--ink-2);margin-top:4px}.macro-cell.status-ok .m-delta{color:var(--lime);background:#9bff6a1a;border-color:#9bff6a38}.macro-cell.status-warn-low .m-delta,.macro-cell.status-bad-low .m-delta{color:var(--rose);background:#ff6b8a1f;border-color:#ff6b8a38}.macro-cell.status-warn-high .m-delta,.macro-cell.status-bad-high .m-delta{color:var(--amber);background:#ffb5471f;border-color:#ffb54738}.macro-cell.status-bad-low,.macro-cell.status-bad-high{border-color:#ff6b8a47}.macro-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff0d}.macro-bar>*{display:block;height:100%;background:var(--bar, linear-gradient(90deg,var(--violet),var(--magenta)));border-radius:0 2px 2px 0;transition:width .6s cubic-bezier(.2,.7,.2,1)}.status-ok{color:var(--lime)}.status-warn-low,.status-warn-high{color:var(--amber)}.status-bad-low,.status-bad-high{color:var(--rose)}.burned-badge{display:inline-flex;align-items:center;gap:6px;margin:8px auto 0;padding:6px 12px;border-radius:var(--radius-pill);background:#ffb5471a;border:1px solid rgba(255,181,71,.25);color:var(--amber);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.burned-badge svg{width:12px;height:12px;stroke-width:2.2}.meal-group{padding:14px 14px 6px}.meal-group-head{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.meal-group-head-left{display:flex;align-items:center;gap:10px}.meal-group-head .meal-type,.meal-type{font-family:"Instrument Serif",serif;font-style:italic;font-size:18px;letter-spacing:-.01em}.meal-group-head .meal-total,.meal-total{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}.meal-group-meta{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}.meal-group-chev,.chev{transition:transform .35s cubic-bezier(.2,.7,.2,1);color:var(--ink-3)}.meal-group.open .meal-group-chev,.open>.meal-group-chev,.meal-group-head[aria-expanded=true] .meal-group-chev{transform:rotate(180deg)}.meal-group.collapsed .meal-group-body,.collapsed .meal-group-body{display:none}.meal-group-body{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.meal-card{padding:12px 14px;border-radius:18px}.meal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.meal-head-left{display:flex;align-items:center;gap:8px;min-width:0}.meal-title{font-family:"Instrument Serif",serif;font-style:italic;font-size:16px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.meal-actions{display:flex;align-items:center;gap:4px}.meal-items,.item-grid{display:flex;flex-direction:column;gap:6px}.meal-item,.item-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:6px 0;border-top:1px dashed var(--hair)}.meal-item:first-child,.item-row:first-child{border-top:0}.item-name{font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-meta{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.1em;color:var(--ink-3)}.item-cal,.meal-item .kcal{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.1em;color:var(--ink-2)}.draft-list{display:flex;flex-direction:column;gap:8px}.draft-item{padding:12px 14px;border-radius:18px;display:flex;flex-direction:column;gap:8px}.draft-item input,.draft-item select,.add-item input,.add-item select{background:#ffffff0a;border:1px solid var(--hair);border-radius:12px;padding:8px 10px;color:var(--ink);font:inherit;font-size:13px}.add-item{display:grid;grid-template-columns:1fr 80px 80px auto;gap:6px;align-items:center}button,.btn{font-family:inherit;font-size:13px;font-weight:500;letter-spacing:.01em;color:var(--ink);background:#ffffff0d;border:1px solid var(--hair-2);border-radius:var(--radius-pill);padding:10px 16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .25s cubic-bezier(.2,.7,.2,1),background .25s ease,border-color .25s ease,box-shadow .25s ease,color .25s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}button:hover,.btn:hover{transform:translateY(-2px);background:#ffffff1a;border-color:var(--hair-3);box-shadow:0 12px 28px #0006,0 0 24px #b06bff2e}button:active,.btn:active{transform:translateY(0) scale(.99)}button:disabled,.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}button.primary,.btn.primary,.primary,button[type=submit]:not(.secondary):not(.danger):not(.link){background:linear-gradient(135deg,#7c3cff,#ff3da8);border:1px solid rgba(255,255,255,.18);color:#fff;font-weight:600;box-shadow:0 12px 30px #ff3da84d,inset 0 1px #ffffff4d}button.primary:hover,.primary:hover,button[type=submit]:not(.secondary):not(.danger):not(.link):hover{filter:brightness(1.08) saturate(1.1);box-shadow:0 18px 40px #ff3da866,inset 0 1px #ffffff59}button.secondary,.secondary{background:#ffffff0a;border:1px solid var(--hair-2);color:var(--ink)}button.danger,.danger{background:#ff6b8a1a;border:1px solid rgba(255,107,138,.3);color:var(--rose)}button.danger:hover{background:#ff6b8a2e;box-shadow:0 12px 28px #ff6b8a40}button.link,.link{background:transparent;border:0;padding:6px 4px;color:var(--violet-2);font-size:12px;letter-spacing:.02em;border-radius:6px}button.link:hover,.link:hover{background:transparent;color:var(--magenta);transform:none;box-shadow:none}button.big-btn,.big-btn{width:100%;padding:14px 18px;font-size:14px;border-radius:18px}.icon-btn{width:36px;height:36px;padding:0;border-radius:50%;background:#ffffff0d;border:1px solid var(--hair);color:var(--ink-2)}.icon-btn:hover{background:#ffffff1a;color:#fff;border-color:var(--hair-3)}.fab{position:fixed;right:18px;bottom:90px;z-index:50;width:60px;height:60px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:linear-gradient(135deg,#7c3cff,#ff3da8 70%,#ffb547);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;box-shadow:0 18px 40px #ff3da866,0 0 0 1px #ffffff1a inset,0 1px #ffffff4d inset;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}.fab:hover{transform:translateY(-3px) rotate(6deg) scale(1.06);box-shadow:0 24px 50px #ff3da88c,0 0 0 1px #ffffff29 inset,0 1px #fff6 inset}.fab svg{width:24px;height:24px}input,textarea,select,.input{font:inherit;font-size:14px;color:var(--ink);background:#ffffff0a;border:1px solid var(--hair-2);border-radius:14px;padding:12px 14px;width:100%;outline:none;transition:border-color .25s ease,background .25s ease,box-shadow .25s ease}input::placeholder,textarea::placeholder,.input::placeholder{color:var(--ink-3)}input:focus,textarea:focus,select:focus,.input:focus{border-color:#b06bff8c;background:#ffffff0f;box-shadow:0 0 0 4px #7c3cff26}input[type=date]{color-scheme:dark}label{display:flex;flex-direction:column;gap:6px;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}label>input,label>select,label>textarea{font-family:General Sans,sans-serif;font-size:14px;letter-spacing:0;text-transform:none;color:var(--ink)}.label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}.hint,.muted,.small,.subtitle{color:var(--ink-3);font-size:12px}.small{font-size:11px}.error{padding:10px 12px;border-radius:12px;background:#ff6b8a1a;border:1px solid rgba(255,107,138,.3);color:var(--rose);font-size:12px;letter-spacing:.02em}.success-banner{padding:10px 12px;border-radius:12px;background:#9bff6a1a;border:1px solid rgba(155,255,106,.3);color:var(--lime);font-size:12px}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:24px 18px;position:relative;z-index:1}.auth-card{width:100%;max-width:380px;padding:28px 26px 24px;border-radius:32px;display:flex;flex-direction:column;gap:14px}.auth-card h1{font-size:28px;font-style:italic}.auth-card h1 em{background:var(--grad-iridescent);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-subtitle{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);margin-top:-6px;margin-bottom:6px}.auth-card label{margin-top:2px}.auth-card .primary{margin-top:6px}.auth-card .link{align-self:center;margin-top:-2px}.auth-card .toggle{display:flex;justify-content:center;gap:8px;margin-top:4px}.auth-card .toggle button{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-family:JetBrains Mono,monospace;background:transparent;border:0;color:var(--ink-3);padding:4px 8px}.auth-card .toggle button:hover{color:var(--ink);background:transparent;transform:none;box-shadow:none}.insight-card,.plan-card{padding:18px 18px 16px}.insight-head,.plan-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.insight-title,.insight-card h3,.plan-card h3{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;font-size:20px;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:8px}.insight-card h3 em,.plan-card h3 em{background:var(--grad-iridescent);-webkit-background-clip:text;background-clip:text;color:transparent}.insight-card p,.plan-card p{font-size:13px;color:var(--ink-2);line-height:1.55}.insight-advice{margin-top:8px;padding:12px 14px;border-radius:16px;background:#7c3cff1f;border:1px solid rgba(124,60,255,.28);color:var(--ink);font-size:13px;line-height:1.55}.insight-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.insight-error{color:var(--rose);font-size:12px}.insight-loading,.plan-loading{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}.insight-refresh-btn,.plan-refresh-btn{width:34px;height:34px;padding:0;border-radius:50%}.plan-focus{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--violet-2);margin-bottom:6px}.plan-section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 0;background:transparent;border:0;border-top:1px solid var(--hair);color:var(--ink-2);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;border-radius:0}.plan-section-toggle:hover{background:transparent;transform:none;box-shadow:none;color:#fff}.plan-section-body{padding:6px 0 8px;display:flex;flex-direction:column;gap:10px}.plan-meal{display:flex;gap:12px;padding:10px 12px;border-radius:16px;background:#ffffff08;border:1px solid var(--hair)}.plan-meal-photo{width:56px;height:56px;flex:0 0 56px;border-radius:14px;background:linear-gradient(135deg,#7c3cff40,#ff3da833);border:1px solid var(--hair-2);display:grid;place-items:center;color:var(--ink-3);overflow:hidden}.plan-meal-photo img{width:100%;height:100%;object-fit:cover}.plan-meal-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.plan-meal-slot{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}.plan-meal-title{font-family:"Instrument Serif",serif;font-style:italic;font-size:15px;letter-spacing:-.01em}.plan-meal-kcal-badge{align-self:flex-start;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.1em;padding:2px 8px;border-radius:var(--radius-pill);background:#ffb5471a;border:1px solid rgba(255,181,71,.22);color:var(--amber)}.plan-meal-items{font-size:12px;color:var(--ink-2);line-height:1.4}.plan-meal-rationale{font-size:11px;color:var(--ink-3);font-style:italic;line-height:1.4}.plan-workout-head{display:flex;align-items:center;justify-content:space-between;font-family:"Instrument Serif",serif;font-style:italic;font-size:16px}.plan-workout-meta{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.plan-error{color:var(--rose);font-size:12px}.ai-limit-card{padding:18px;display:flex;gap:16px;align-items:center}.ai-limit-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.ai-limit-title{font-family:"Instrument Serif",serif;font-style:italic;font-size:18px}.ai-limit-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.ai-limit-message{font-size:13px;color:var(--ink-2);line-height:1.5}.ai-limit-progress{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink-3)}.ai-limit-used{color:var(--ink)}.ai-limit-limit{color:var(--ink-3)}.ai-limit-text{font-size:12px;color:var(--ink-2)}.ai-limit-countdown{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.1em;color:var(--amber)}.ai-limit-sub{font-size:11px;color:var(--ink-3)}.ai-limit-retry{align-self:flex-start}.ai-limit-ring{position:relative;width:72px;height:72px;flex:0 0 72px}.ai-limit-ring svg{transform:rotate(-90deg)}.ai-limit-ring .ring-bg{stroke:#ffffff0f}.ai-limit-track{stroke:#ffffff0f;fill:none}.ai-limit-ring .ring-fg{stroke:url(#ringGrad);fill:none}.ai-limit-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.1em;color:var(--ink)}.workouts-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;padding:0 4px}.workouts-head h3,.workouts-head .h{display:inline-flex;align-items:center;gap:8px;font-family:"Instrument Serif",serif;font-style:italic;font-size:18px}.workouts-head h3 svg{color:var(--violet-2)}.btn-add-workout{padding:8px 12px;font-size:12px;border-radius:14px}.workout-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px 14px;border-radius:16px;background:#ffffff08;border:1px solid var(--hair);margin-top:8px;transition:.25s ease}.workout-row:hover{background:#ffffff0f;border-color:var(--hair-2)}.workout-left{display:flex;align-items:center;gap:10px;min-width:0}.workout-type{font-family:"Instrument Serif",serif;font-style:italic;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workout-badge{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);background:#3ddcff1a;border:1px solid rgba(61,220,255,.24);border-radius:var(--radius-pill);padding:2px 8px}.workout-meta{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.1em;color:var(--ink-3)}.workout-right{display:flex;align-items:center;gap:8px}.workout-cal{display:inline-flex;align-items:center;gap:4px;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--amber)}.workout-cal svg{width:12px;height:12px}.workout-del{padding:6px;border-radius:10px;background:transparent;border:0;color:var(--ink-3)}.workout-del:hover{color:var(--rose);background:#ff6b8a1a;transform:none;box-shadow:none}.workouts-empty,.empty-state{padding:18px;text-align:center;color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase}.sleep-card{padding:16px 18px}.sleep-row{display:flex;justify-content:space-between;align-items:flex-end;gap:14px}.sleep-main{display:flex;flex-direction:column;gap:2px;flex:1}.sleep-duration{font-family:"Instrument Serif",serif;font-style:italic;font-size:30px;letter-spacing:-.02em;line-height:1;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.sleep-unit{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}.sleep-phases{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.1em;color:var(--ink-3)}.sleep-score{display:inline-flex;align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.16em;padding:6px 10px;border-radius:var(--radius-pill);background:#9bff6a1a;border:1px solid rgba(155,255,106,.22);color:var(--lime)}.sleep-score.bad{background:#ff6b8a1a;border-color:#ff6b8a38;color:var(--rose)}.fitness-age-card{padding:18px}.fa-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.fa-main{display:flex;flex-direction:column;gap:2px;flex:1}.fa-label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3)}.fa-value,.fitness-age-card .age-big{font-family:"Instrument Serif",serif;font-style:italic;font-size:46px;line-height:1;letter-spacing:-.03em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.fa-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}.fa-stat{display:flex;flex-direction:column;align-items:flex-end}.fa-stat-label{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}.fa-stat-val{font-family:"Instrument Serif",serif;font-style:italic;font-size:18px;letter-spacing:-.01em}.garmin-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}.weight-stats{display:flex;flex-direction:column;gap:10px}.weight-row{padding:14px 16px;border-radius:18px}.weight-current{display:flex;align-items:baseline;gap:10px}.weight-current .w-val,.w-val{font-family:"Instrument Serif",serif;font-style:italic;font-size:34px;letter-spacing:-.02em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.w-date{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.weight-deltas{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.weight-delta-good,.deltaClass-good{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:var(--radius-pill);background:#9bff6a1a;border:1px solid rgba(155,255,106,.22);color:var(--lime);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.1em}.weight-delta-bad,.deltaClass-bad{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:var(--radius-pill);background:#ff6b8a1a;border:1px solid rgba(255,107,138,.22);color:var(--rose);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.1em}.weight-chart{height:140px;margin-top:10px;border-radius:16px;background:linear-gradient(180deg,#ffffff0a,#ffffff03);border:1px solid var(--hair)}.tabs{position:fixed;bottom:14px;left:50%;transform:translate(-50%);z-index:40;display:inline-flex;gap:4px;padding:6px;border-radius:var(--radius-pill);background:#0f0c1ca6;border:1px solid var(--hair-2);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);box-shadow:0 18px 40px #0000008c,0 1px #ffffff1a inset}.tabs button,.tabs>button,.tab{background:transparent;border:0;border-radius:var(--radius-pill);padding:9px 14px;color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px;transition:.25s ease}.tabs button:hover,.tab:hover{background:#ffffff0f;color:var(--ink);transform:none;box-shadow:none}.tabs button.active,.tabs button.is-active,.tabs button[aria-selected=true],.tab.active{background:linear-gradient(135deg,#7c3cff,#ff3da8);color:#fff;box-shadow:0 8px 20px #ff3da859,0 1px #ffffff4d inset}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#06060ba6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:flex-end;justify-content:center;animation:backdropIn .28s ease both}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:520px;margin:auto auto 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;animation:modalUp .42s cubic-bezier(.2,.7,.2,1) both;max-height:90dvh;overflow:auto}@media(min-width:520px){.modal-backdrop{align-items:center}.modal{margin:auto;border-radius:28px;max-width:460px}}@keyframes modalUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:4px;border-radius:2px;background:#ffffff2e;z-index:2}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;margin-bottom:14px}.modal h2,.modal h3{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;font-size:22px;letter-spacing:-.01em}.modal-close{width:36px;height:36px;padding:0;border-radius:50%;background:#ffffff0d;border:1px solid var(--hair)}.modal .actions{display:flex;gap:8px;margin-top:18px}.modal .actions>*{flex:1}.photo-input-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.photo-pick-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:9px 12px;border-radius:14px}.photo-preview{width:72px;height:72px;border-radius:14px;overflow:hidden;border:1px solid var(--hair-2);position:relative;background:#ffffff0a}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:#0000008c;border:1px solid rgba(255,255,255,.2);color:#fff;padding:0}.profile{padding:18px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.profile-cell{padding:12px;border-radius:14px;background:#ffffff08;border:1px solid var(--hair);display:flex;flex-direction:column;gap:4px}.p-label{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}.p-val{font-family:"Instrument Serif",serif;font-style:italic;font-size:18px;letter-spacing:-.01em}.target-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.target-stat{padding:12px 14px;border-radius:16px;background:#ffffff08;border:1px solid var(--hair)}.t-label{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}.t-val{font-family:"Instrument Serif",serif;font-style:italic;font-size:22px;letter-spacing:-.01em}.t-unit{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--ink-3);margin-left:2px}.section{padding:18px}.section h2,.section h3{margin-bottom:10px}.section-title{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-3);margin:4px 4px 8px}.meals-section{display:flex;flex-direction:column;gap:10px}.chip{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:var(--radius-pill);background:#ffffff0d;border:1px solid var(--hair-2);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.12em;color:var(--ink-2);text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:default;transition:.3s cubic-bezier(.2,.7,.2,1)}.chip:hover{transform:translateY(-2px) scale(1.04);background:#ffffff1a;color:#fff;border-color:var(--hair-3)}.chip i{width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,var(--violet),var(--magenta));box-shadow:0 0 8px #b06bffb3;transition:.3s ease}.chip:hover i{transform:scale(1.5)}.popover{padding:12px 14px;border-radius:18px;min-width:200px}.dashboard{display:flex;flex-direction:column;gap:14px;padding-bottom:80px}.row{display:flex;align-items:center;gap:8px;justify-content:space-between}.inline{display:inline-flex;align-items:center;gap:6px}.wide{width:100%}.good{color:var(--lime)}.bad{color:var(--rose)}.ok{color:var(--lime)}.warn{color:var(--amber)}.editable{outline:none;border-bottom:1px dashed var(--hair-2);cursor:text;padding:1px 2px;border-radius:4px}.editable:focus{border-bottom-color:var(--violet-2);background:#7c3cff14}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#ffffff2e;background-clip:padding-box}.app-content>*,.dashboard>*{opacity:0;transform:translateY(10px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}.app-content>*:nth-child(1),.dashboard>*:nth-child(1){animation-delay:.04s}.app-content>*:nth-child(2),.dashboard>*:nth-child(2){animation-delay:.1s}.app-content>*:nth-child(3),.dashboard>*:nth-child(3){animation-delay:.16s}.app-content>*:nth-child(4),.dashboard>*:nth-child(4){animation-delay:.22s}.app-content>*:nth-child(5),.dashboard>*:nth-child(5){animation-delay:.28s}.app-content>*:nth-child(6),.dashboard>*:nth-child(6){animation-delay:.34s}.app-content>*:nth-child(7),.dashboard>*:nth-child(7){animation-delay:.4s}.app-content>*:nth-child(8),.dashboard>*:nth-child(8){animation-delay:.46s}.app-content>*:nth-child(n+9),.dashboard>*:nth-child(n+9){animation-delay:.52s}@keyframes rise{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}body:before,.ring-orbit,.hero:before{animation:none!important}}@media(max-width:420px){.app-frame{padding:14px 12px 110px}.ring-wrap{width:230px;height:230px}.ring-value{font-size:64px}.hero{padding:20px 18px}.auth-card{padding:24px 20px 20px;border-radius:28px}.auth-card h1{font-size:24px}.fa-value{font-size:38px}h1{font-size:26px}h2{font-size:20px}}
