@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap";:root{--paper: #EEF1F4;--card: #FFFFFF;--ink: #101B2D;--sub: #5A6678;--cobalt: #2451E6;--cobalt-soft: #E4EAFE;--amber: #F5A300;--line: #DDE3EA;--good: #128A52;--good-soft: #E9F7F0;--bad: #B4231B;--water: #2E93CF;--ring-track: #E6EAF0;--banner-bg: #FFF6E3;--banner-line: #F1DCA8;--proposal-bg: #FFFDF6;--glass: rgba(238, 241, 244, .82);--shadow: 0 1px 2px rgba(16, 27, 45, .04), 0 10px 30px rgba(16, 27, 45, .06);--radius: 18px}[data-theme=dark]{--paper: #0E1320;--card: #171E2F;--ink: #F0F3F8;--sub: #8D97AB;--cobalt: #6B8AFF;--cobalt-soft: #223059;--amber: #FFB525;--line: #27314A;--good: #3BC98B;--good-soft: #12301F;--bad: #FF7A70;--water: #56B6F0;--ring-track: #222B41;--banner-bg: #2B2413;--banner-line: #4A3D1B;--proposal-bg: #211E15;--glass: rgba(14, 19, 32, .8);--shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 12px 32px rgba(0, 0, 0, .35)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #0E1320;--card: #171E2F;--ink: #F0F3F8;--sub: #8D97AB;--cobalt: #6B8AFF;--cobalt-soft: #223059;--amber: #FFB525;--line: #27314A;--good: #3BC98B;--good-soft: #12301F;--bad: #FF7A70;--water: #56B6F0;--ring-track: #222B41;--banner-bg: #2B2413;--banner-line: #4A3D1B;--proposal-bg: #211E15;--glass: rgba(14, 19, 32, .8);--shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 12px 32px rgba(0, 0, 0, .35)}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--paper);transition:background .25s ease}.n1{min-height:100vh;min-height:100dvh;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;padding-bottom:calc(96px + env(safe-area-inset-bottom));-webkit-tap-highlight-color:transparent}.wrap{max-width:520px;margin:0 auto;padding:0 16px}.hdr{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top)) 16px 10px;margin:0 -16px;background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.logo{font-family:Barlow Condensed,sans-serif;font-weight:800;font-size:27px;letter-spacing:.03em}.logo em{font-style:normal;color:var(--cobalt)}.hdr-side{display:flex;align-items:center;gap:10px}.hi{font-size:12.5px;color:var(--sub);font-weight:500;text-align:right;line-height:1.3}.hi b{display:block;color:var(--ink);font-size:14px;font-weight:600}.iconbtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:var(--card);color:var(--sub);width:34px;height:34px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--line);transition:transform .12s ease}.iconbtn:active{transform:scale(.92)}.iconbtn svg{width:17px;height:17px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-top:14px;box-shadow:var(--shadow)}.card h3{font-family:Barlow Condensed,sans-serif;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--sub);margin-bottom:10px}.card.brief{border-color:color-mix(in srgb,var(--cobalt) 40%,var(--line))}.card.brief h3{color:var(--cobalt)}.card.proposal{border-color:var(--amber);background:var(--proposal-bg)}.bignum{font-family:Barlow Condensed,sans-serif;font-weight:800;font-size:44px;line-height:1;font-variant-numeric:tabular-nums}.unit{font-size:15px;font-weight:600;color:var(--sub);margin-left:4px}.row{display:flex;gap:10px}.row>*{flex:1}.macro{background:var(--cobalt-soft);border-radius:12px;padding:10px 12px;text-align:center}.macro b{display:block;font-family:Barlow Condensed,sans-serif;font-size:22px;font-weight:800}.macro span{font-size:11px;font-weight:600;color:var(--sub);text-transform:uppercase;letter-spacing:.06em}.bar{height:10px;background:var(--ring-track);border-radius:6px;overflow:hidden;margin-top:8px}.bar i{display:block;height:100%;background:var(--cobalt);border-radius:6px;transition:width .4s}.bar i.over{background:var(--amber)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:.06em;background:var(--cobalt);color:#fff;border-radius:12px;padding:12px 18px;transition:transform .12s ease,opacity .15s ease}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{background:transparent;color:var(--cobalt);border:1.5px solid var(--cobalt)}.btn.sm{padding:8px 12px;font-size:14px}.btn.danger{background:transparent;color:var(--bad);border:1.5px solid var(--bad)}.btn:focus-visible,.chip:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.tab:focus-visible,.iconbtn:focus-visible{outline:3px solid var(--amber);outline-offset:2px}input,select,textarea{width:100%;font:inherit;font-size:16px;padding:11px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--sub);opacity:.7}label{display:block;font-size:12px;font-weight:600;color:var(--sub);text-transform:uppercase;letter-spacing:.05em;margin:14px 0 6px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{cursor:pointer;border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500;color:var(--ink);transition:transform .12s ease}.chip:active{transform:scale(.95)}.chip.on{border-color:var(--cobalt);background:var(--cobalt-soft);color:var(--cobalt);font-weight:600}.tabs{position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.tab{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--sub);padding:7px 14px;border-radius:14px;transition:color .15s ease}.tab svg{width:21px;height:21px}.tab.on{color:var(--cobalt);background:var(--cobalt-soft)}.view{animation:rise .28s ease both}@keyframes rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.day{border:1px solid var(--line);border-radius:14px;padding:13px;margin-top:10px}.day h4{font-family:Barlow Condensed,sans-serif;font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.day ul{list-style:none;margin-top:6px}.day li{font-size:14px;padding:5px 0;border-bottom:1px dashed var(--line);display:flex;justify-content:space-between;gap:8px}.day li:last-child{border-bottom:none}.day li span{color:var(--sub);white-space:nowrap;font-variant-numeric:tabular-nums}.meal-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;padding:8px 0;border-bottom:1px dashed var(--line)}.meal-row:last-child{border-bottom:none}.meal-row .x,.x{cursor:pointer;border:none;background:none;color:var(--sub);font-size:16px;padding:2px 6px}.meal-row .x:hover,.x:hover{color:var(--bad)}.foodstrip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-top:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.foodstrip::-webkit-scrollbar{display:none}.foodstrip .chip{flex:0 0 auto}.set-grid{display:grid;grid-template-columns:1fr 76px 64px 32px;gap:6px;align-items:center;margin-top:6px}.set-grid input{padding:8px 9px;font-size:15px}.set-grid .x{font-size:16px;padding:0}.timer{display:flex;align-items:center;gap:10px;margin-top:12px}.timer b{font-family:Barlow Condensed,sans-serif;font-size:30px;font-weight:800;min-width:72px;font-variant-numeric:tabular-nums}.timer b.done{color:var(--good)}.chat{display:flex;flex-direction:column;gap:10px;margin-top:12px}.msg{max-width:88%;padding:11px 13px;border-radius:16px;font-size:14.5px;line-height:1.5;white-space:pre-wrap}.msg.me{align-self:flex-end;background:var(--cobalt);color:#fff;border-bottom-right-radius:5px}.msg.ai{align-self:flex-start;background:var(--paper);border:1px solid var(--line);border-bottom-left-radius:5px}.chatbar{display:flex;gap:8px;margin-top:12px}.note{font-size:12.5px;color:var(--sub);margin-top:8px;line-height:1.55}.note.err{color:var(--bad)}.step-dots{display:flex;gap:6px;margin:14px 0 4px}.step-dots i{width:26px;height:5px;border-radius:3px;background:var(--line)}.step-dots i.on{background:var(--cobalt)}.check{display:flex;align-items:center;gap:10px;padding:13px;border:1.5px solid var(--line);border-radius:14px;cursor:pointer;font-weight:600;font-size:15px;background:var(--card);color:var(--ink);width:100%;transition:transform .12s ease}.check:active{transform:scale(.98)}.check.on{border-color:var(--good);background:var(--good-soft);color:var(--good)}.qbtns{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.qb{cursor:pointer;border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;padding:8px 12px;font-size:13.5px;font-weight:600}.qb:hover{border-color:var(--cobalt);color:var(--cobalt)}.loading{opacity:.7}.rings{display:flex;align-items:center;justify-content:center;gap:20px;margin:8px 0 10px}.rings-side{display:flex;flex-direction:column;gap:12px}.badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--cobalt-soft);color:var(--cobalt);font-size:11px;font-weight:700;letter-spacing:.05em;vertical-align:middle}.btn.listening{border-color:var(--bad);color:var(--bad);animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.5}}.banner{background:var(--banner-bg);border:1px solid var(--banner-line);border-radius:12px;padding:10px 12px;font-size:13px;margin-top:12px;line-height:1.5}.insight{white-space:pre-wrap;font-size:14.5px;line-height:1.6;margin-top:6px}.skel{border-radius:var(--radius);background:var(--card);border:1px solid var(--line);margin-top:14px;overflow:hidden;position:relative}.skel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--sub) 8%,transparent),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.bar i,.btn,.chip,.check,.iconbtn{transition:none}.btn.listening,.skel:after{animation:none}.view{animation:none}}
