:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"FZKai-Z03", "STKaiti", "KaiTi", serif;--font-body:"LXGW WenKai Screen", "Microsoft YaHei UI", "PingFang SC", sans-serif;--font-number:"Bahnschrift", "DIN Alternate", "Roboto Mono", monospace;--canvas:#f4f0e5;--canvas-deep:#e9e3d5;--surface:#fbf9f2;--surface-raised:#fffdf7;--surface-muted:#ecefe7;--ink:#18372d;--ink-soft:#52675f;--ink-faint:#819087;--line:#1e493921;--line-strong:#1e493938;--brand:#245b46;--brand-deep:#173f31;--brand-soft:#dce9de;--accent:#c4654d;--accent-soft:#f2ded4;--positive:#3f7960;--negative:#b55d4b;--warning:#b57a3e;--focus:#d4775c;--shadow-xs:0 2px 8px #2c42370f;--shadow-sm:0 8px 24px #2c423714;--shadow-md:0 16px 44px #283e331c;--shadow-lg:0 28px 80px #22392f24;--ease-spring:cubic-bezier(.2, .8, .2, 1);--ease-soft:cubic-bezier(.33, 1, .68, 1);--radius-sm:12px;--radius-md:20px;--radius-lg:30px;--radius-xl:42px;--page-max:1180px;--nav-width:224px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#0e1613;--canvas-deep:#090f0d;--surface:#15211c;--surface-raised:#1c2b25;--surface-muted:#22322b;--ink:#ecf2e9;--ink-soft:#b5c2ba;--ink-faint:#7f9287;--line:#d6eadc1c;--line-strong:#d6eadc33;--brand:#82b496;--brand-deep:#b9d6c2;--brand-soft:#203c30;--accent:#e18b70;--accent-soft:#472c25;--positive:#8cc0a3;--negative:#e18b70;--warning:#d5a368;--focus:#f0a087;--shadow-xs:0 2px 8px #0000002e;--shadow-sm:0 10px 28px #00000038;--shadow-md:0 18px 48px #00000047;--shadow-lg:0 32px 90px #0000005c}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth;min-width:320px;min-height:100%}body,#root{min-width:320px;min-height:100vh;margin:0}body{color:var(--ink);background:radial-gradient(circle at 8% 3%, color-mix(in srgb, var(--surface-raised) 86%, transparent), transparent 30rem), radial-gradient(circle at 92% 90%, color-mix(in srgb, var(--brand-soft) 48%, transparent), transparent 34rem), var(--canvas);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:color .18s,background-color .18s;overflow-x:hidden}body:before{z-index:-1;pointer-events:none;content:"";opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");position:fixed;inset:0}button,input,textarea,select{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0;min-width:44px;min-height:44px}a{color:inherit;text-decoration:none}img,svg{display:block}:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 70%, transparent);outline-offset:3px}::selection{color:var(--surface-raised);background:var(--brand)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{width:min(100%, var(--page-max));margin-inline:auto;animation:.42s cubic-bezier(.2,.8,.2,1) backwards page-arrive}.page-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.page-kicker{color:var(--accent);letter-spacing:.17em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800}.page-title{font-family:var(--font-display);letter-spacing:.02em;margin:0;font-size:clamp(34px,5vw,54px);font-weight:600;line-height:1.08}.page-subtitle{max-width:620px;color:var(--ink-soft);margin:10px 0 0;font-size:14px;line-height:1.75}.card{border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 94%, transparent);box-shadow:var(--shadow-sm);transition:box-shadow .24s var(--ease-soft), border-color .24s var(--ease-soft)}a.card{transition:box-shadow .24s var(--ease-soft), border-color .24s var(--ease-soft), translate .24s var(--ease-soft)}a.card:hover{border-color:color-mix(in srgb, var(--brand) 24%, var(--line));box-shadow:var(--shadow-md);translate:0 -3px}.button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 18px;font-size:14px;font-weight:750;transition:transform .16s,background .16s,border-color .16s,box-shadow .2s,opacity .16s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{cursor:wait;opacity:.58}.button--primary{color:#f8fbf7;background:linear-gradient(165deg, var(--brand) 8%, var(--brand-deep) 88%);box-shadow:0 12px 25px color-mix(in srgb, var(--brand-deep) 22%, transparent), inset 0 1px 0 #ffffff1f}.button--primary:hover:not(:disabled){box-shadow:0 16px 34px color-mix(in srgb, var(--brand-deep) 30%, transparent), inset 0 1px 0 #ffffff29}:root[data-theme=dark] .button--primary{color:#132019;background:linear-gradient(165deg, var(--brand-deep) 8%, var(--brand) 92%);box-shadow:0 12px 28px color-mix(in srgb, var(--brand) 18%, transparent), inset 0 1px 0 #ffffff38}.button--secondary{border-color:var(--line-strong);background:var(--surface-raised);box-shadow:var(--shadow-xs)}.button--secondary:hover:not(:disabled){border-color:color-mix(in srgb, var(--brand) 30%, var(--line-strong));background:color-mix(in srgb, var(--brand-soft) 34%, var(--surface-raised))}.button--danger{color:var(--negative);border-color:color-mix(in srgb, var(--negative) 24%, transparent);background:color-mix(in srgb, var(--negative) 8%, var(--surface))}.button--danger:hover:not(:disabled){border-color:color-mix(in srgb, var(--negative) 40%, transparent);background:color-mix(in srgb, var(--negative) 14%, var(--surface))}.field{gap:8px;display:grid}.field label,.field-label{color:var(--ink-soft);font-size:13px;font-weight:700}.input,.select,.textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;min-height:48px;color:var(--ink);background:var(--surface-raised);outline:none;padding:11px 14px;transition:border-color .15s,box-shadow .15s}.textarea{resize:vertical;min-height:92px}.input:hover,.select:hover,.textarea:hover{border-color:color-mix(in srgb, var(--brand) 26%, var(--line-strong))}.input::placeholder,.textarea::placeholder{color:var(--ink-faint);opacity:.72}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 13%, transparent)}.field-error{color:var(--negative);margin:0;font-size:12px;line-height:1.5}.empty-state{text-align:center;place-items:center;min-height:280px;padding:36px;display:grid}.empty-state__mark{width:64px;height:64px;color:var(--brand);background:var(--brand-soft);border-radius:24px;place-items:center;margin:0 auto 18px;display:grid}.empty-state h2{font-family:var(--font-display);margin:0 0 8px;font-size:26px}.empty-state p{max-width:420px;color:var(--ink-soft);margin:0 auto 20px;line-height:1.7}.empty-state__mark{animation:3.6s ease-in-out infinite gentle-float}@keyframes gentle-float{0%,to{translate:0}50%{translate:0 -6px}}@keyframes page-arrive{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@keyframes card-arrive{0%{opacity:0;translate:0 14px}to{opacity:1;translate:0}}.home-grid>*,.metrics-grid>*,.settings-stack>*,.statistics-lower>*{animation:card-arrive .46s var(--ease-spring) backwards}.home-grid>:nth-child(2),.metrics-grid>:nth-child(2),.settings-stack>:nth-child(2),.statistics-lower>:nth-child(2){animation-delay:55ms}.home-grid>:nth-child(3),.metrics-grid>:nth-child(3),.settings-stack>:nth-child(3){animation-delay:.11s}.home-grid>:nth-child(4),.metrics-grid>:nth-child(4){animation-delay:.165s}.home-grid>:nth-child(5),.metrics-grid>:nth-child(5){animation-delay:.22s}.home-grid>:nth-child(6),.metrics-grid>:nth-child(6){animation-delay:.275s}.metrics-grid>:nth-child(7){animation-delay:.33s}.metrics-grid>:nth-child(8){animation-delay:.385s}.metrics-grid>:nth-child(9){animation-delay:.44s}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--ink-faint) 42%, transparent);background-clip:padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--ink-faint) 68%, transparent);background-clip:padding-box}@media (width<=600px){.page-header{flex-direction:column;align-items:start}.page-title{font-size:36px}.card{border-radius:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{min-height:100vh}.side-rail{z-index:20;width:var(--nav-width);border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 93%, transparent);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:32px;flex-direction:column;padding:22px 16px;display:flex;position:fixed;top:18px;bottom:18px;left:18px}.brand{align-items:center;gap:12px;padding:4px 8px 22px;display:flex}.brand__mark{color:#f6faf6;background:linear-gradient(150deg, var(--brand) 6%, var(--brand-deep) 90%);width:43px;height:43px;box-shadow:0 12px 28px color-mix(in srgb, var(--brand-deep) 22%, transparent), inset 0 1px 0 #ffffff24;border-radius:16px 16px 16px 7px;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.brand__mark:after{content:"";border:7px solid #ffffff2e;border-radius:50%;width:28px;height:28px;position:absolute;bottom:-10px;right:-10px}.brand__name{font-family:var(--font-display);font-size:23px;font-weight:700;line-height:1;display:block}:root[data-theme=dark] .brand__mark{color:#132019}.brand__tagline{color:var(--ink-faint);letter-spacing:.11em;margin-top:4px;font-size:10px;font-weight:700;display:block}.side-nav{gap:6px;display:grid}.nav-link{min-height:48px;color:var(--ink-soft);border-radius:16px;align-items:center;gap:12px;padding:0 13px;font-size:14px;font-weight:700;transition:color .15s,background .15s,transform .15s;display:flex;position:relative}.nav-link:before{background:linear-gradient(var(--brand), var(--accent));content:"";opacity:0;width:4px;height:0;transition:height .22s var(--ease-spring), opacity .16s ease;border-radius:999px;position:absolute;top:50%;left:-9px;transform:translateY(-50%)}.nav-link:hover{color:var(--ink);background:var(--surface-muted);transform:translate(2px)}.nav-link[aria-current=page]{color:var(--brand-deep);background:var(--brand-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 12%, transparent)}.nav-link[aria-current=page]:before{opacity:1;height:22px}.nav-link svg{stroke-width:1.8px;width:19px;height:19px}.side-rail__footer{border-top:1px solid var(--line);gap:13px;margin-top:auto;padding:18px 8px 4px;display:grid}.morning-note{color:var(--ink-faint);font-size:11px;line-height:1.6}.theme-switch{border:1px solid var(--line);background:var(--surface-muted);border-radius:13px;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;display:grid}.theme-switch button{cursor:pointer;min-width:38px;min-height:38px;color:var(--ink-faint);background:0 0;border-radius:10px;place-items:center;display:grid}.theme-switch button[aria-pressed=true]{color:var(--brand-deep);background:var(--surface-raised);box-shadow:0 3px 10px #00000012}.app-content{min-height:100vh;padding:34px 34px 54px calc(var(--nav-width) + 52px)}.mobile-header,.bottom-nav{display:none}.placeholder-page{place-items:center;min-height:calc(100vh - 88px);display:grid}.placeholder-card{width:min(100%,760px);padding:clamp(32px,7vw,72px);position:relative;overflow:hidden}.placeholder-card:before{border:46px solid color-mix(in srgb, var(--brand) 7%, transparent);content:"";border-radius:50%;width:250px;height:250px;position:absolute;top:-96px;right:-78px}.placeholder-card h1{font-family:var(--font-display);margin:0 0 16px;font-size:clamp(48px,9vw,78px);font-weight:600;position:relative}.placeholder-card p{max-width:520px;color:var(--ink-soft);margin:0;line-height:1.9;position:relative}@media (width<=860px){.side-rail{display:none}.mobile-header{z-index:15;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--canvas) 88%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;min-height:64px;padding:10px 18px;display:flex;position:sticky;top:0}.mobile-header .brand{padding:0}.mobile-header .brand__mark{border-radius:14px 14px 14px 6px;width:38px;height:38px}.mobile-header .brand__tagline{display:none}.mobile-theme-button{cursor:pointer;width:44px;height:44px;color:var(--ink-soft);background:var(--surface-muted);border-radius:15px;place-items:center;display:grid}.app-content{padding:22px 16px calc(96px + env(safe-area-inset-bottom))}.bottom-nav{z-index:30;right:10px;bottom:max(10px, env(safe-area-inset-bottom));border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 93%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:24px;grid-template-columns:repeat(5,1fr);min-height:66px;padding:6px;display:grid;position:fixed;left:10px;box-shadow:0 16px 50px #1c2f272e}.bottom-nav .nav-link{border-radius:18px;flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:52px;padding:4px 2px;font-size:10px}.bottom-nav .nav-link:before{width:14px;height:3px;top:auto;bottom:2px;left:50%;transform:translate(-50%)}.bottom-nav .nav-link[aria-current=page]:before{width:14px;height:3px}.bottom-nav .nav-link:hover{transform:none}.bottom-nav .nav-link svg{width:20px;height:20px}.placeholder-page{min-height:calc(100vh - 194px)}.placeholder-card{border-radius:28px;padding:36px 24px}}@media (width<=360px){.app-content{padding-inline:12px}.bottom-nav{left:6px;right:6px}}.session-loading{min-height:100vh;color:var(--ink-soft);align-content:center;place-items:center;gap:14px;display:grid}.session-loading__ring{border:3px solid var(--brand-soft);border-top-color:var(--brand);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite spin}.auth-page{grid-template-columns:minmax(420px,1.05fr) minmax(440px,.95fr);min-height:100vh;padding:14px;display:grid}.auth-story{color:#f1f6ef;background:radial-gradient(circle at 85% 20%,#bddcc62b,#0000 24rem),linear-gradient(145deg,#173f31,#102a21 72%);border-radius:34px;flex-direction:column;justify-content:space-between;min-height:calc(100vh - 28px);padding:clamp(30px,5vw,68px);display:flex;position:relative;overflow:hidden}.auth-story:after{content:"";border:90px solid #ffffff0a;border-radius:50%;width:520px;height:520px;animation:14s ease-in-out infinite alternate drift;position:absolute;bottom:-190px;right:-160px}.auth-story:before{content:"";border:56px solid #ffffff08;border-radius:50%;width:320px;height:320px;animation:18s ease-in-out infinite alternate-reverse drift;position:absolute;top:-120px;left:-100px}.auth-story__brand{font-family:var(--font-display);align-items:center;gap:9px;font-size:23px;font-weight:700;display:flex}.auth-story__copy{z-index:1;position:relative}.auth-story__copy .page-kicker{color:#e49a82}.auth-story__copy h1{font-family:var(--font-display);margin:0;font-size:clamp(50px,6vw,84px);font-weight:500;line-height:1.15}.auth-story__copy>p:last-child{color:#b8c9bf;max-width:460px;margin:22px 0 0;line-height:1.8}.auth-story__trace{z-index:1;color:#d9e6dc;font-family:var(--font-number);align-items:center;gap:10px;font-size:12px;display:flex;position:relative}.auth-story__trace i{background:linear-gradient(90deg,#769a83,#e38e73);width:clamp(38px,8vw,108px);height:1px;transform:rotate(-5deg)}.auth-story__note{z-index:1;color:#91aa9b;align-items:center;gap:8px;margin:0;font-size:12px;display:flex;position:relative}.auth-panel{place-items:center;min-height:calc(100vh - 28px);padding:clamp(26px,6vw,88px);display:grid}.auth-form-wrap{width:min(100%,470px)}.auth-form-wrap h2{font-family:var(--font-display);margin:0;font-size:clamp(38px,5vw,54px);font-weight:600}.auth-form-wrap__intro{color:var(--ink-soft);margin:12px 0 30px;line-height:1.7}.auth-form{gap:18px;display:grid}.auth-form__row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.password-field{position:relative}.password-field .input{padding-right:50px}.password-field button{cursor:pointer;width:42px;height:42px;color:var(--ink-faint);background:0 0;place-items:center;display:grid;position:absolute;top:3px;right:4px}.password-field svg{width:18px}.auth-submit{width:100%;margin-top:4px}.auth-switch{color:var(--ink-soft);text-align:center;margin:24px 0 0;font-size:13px}.auth-switch a{color:var(--accent);margin-left:5px;font-weight:800}.form-error,.form-success{border-radius:12px;margin:0;padding:11px 13px;font-size:13px;line-height:1.55}.form-error{color:var(--negative);background:color-mix(in srgb, var(--negative) 9%, transparent)}.form-success{color:var(--positive);background:color-mix(in srgb, var(--positive) 10%, transparent)}.account-grid{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:20px;display:grid}.account-card{align-content:start;gap:18px;padding:28px;display:grid}.account-card__title{align-items:start;gap:14px;display:flex}.account-card__title>svg{width:42px;height:42px;color:var(--brand);background:var(--brand-soft);border-radius:15px;padding:10px}.account-card h2{font-family:var(--font-display);margin:0 0 5px;font-size:25px}.account-card p{color:var(--ink-soft);margin:0;line-height:1.65}.account-card--quiet{align-content:space-between}@keyframes spin{to{transform:rotate(360deg)}}@keyframes drift{0%{transform:translate(0,0)}to{transform:translate(22px,-18px)}}@media (width<=900px){.auth-page{padding:0;display:block}.auth-story{border-radius:0 0 34px 34px;min-height:250px;padding:25px 24px 34px}.auth-story__copy h1{margin-top:34px;font-size:43px}.auth-story__copy>p:last-child,.auth-story__trace,.auth-story__note{display:none}.auth-panel{min-height:auto;padding:38px 22px 60px}}@media (width<=620px){.auth-form__row,.account-grid{grid-template-columns:1fr}.account-card{padding:22px}}.home-page{gap:24px;display:grid}.home-greeting{justify-content:space-between;align-items:end;gap:22px;padding:10px 4px;display:flex}.home-greeting>div{min-width:0;max-width:100%}.home-greeting h1{overflow-wrap:anywhere;max-width:100%;font-family:var(--font-display);margin:0;font-size:clamp(38px,5vw,58px);font-weight:600}.home-greeting>div>p:last-child{color:var(--ink-soft);margin:10px 0 0}.home-record-button{flex:none}.home-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1.45fr);gap:18px;display:grid}.weight-hero{color:#f2f7f2;background:radial-gradient(circle at 82% -8%,#7ebf9638,#0000 22rem),linear-gradient(150deg,#1f5741 4%,#143729 68%,#102e22);flex-direction:column;min-height:350px;padding:28px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #14372952,inset 0 1px #ffffff14}.weight-hero:after{content:"";border:46px solid #ffffff0d;border-radius:50%;width:260px;height:260px;position:absolute;bottom:-100px;right:-90px}.weight-hero:before{content:"";border:34px solid #ffffff09;border-radius:50%;width:200px;height:200px;position:absolute;top:-70px;left:-60px}.weight-hero__top{z-index:1;color:#b7ccbf;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;display:flex;position:relative}.status-pill{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #ffffff26;border-radius:999px;padding:7px 10px}.status-pill--done{color:#dff0e3;background:#c1e2c91f;border-color:#c1e2c93d}.weight-hero__value{z-index:1;align-items:baseline;gap:10px;margin:auto 0 0;display:flex;position:relative}.weight-hero__value strong{font-family:var(--font-number);letter-spacing:-.06em;font-size:clamp(76px,11vw,118px);font-weight:500;line-height:.9}.weight-hero__value span{color:#afc4b7;font-size:17px}.weight-hero__delta{z-index:1;color:#b8cbc0;margin-top:14px;font-size:13px;position:relative}.weight-hero__action{z-index:1;cursor:pointer;color:#f0b09b;background:0 0;align-self:start;align-items:center;gap:8px;margin-top:26px;padding:0 0 3px;font-weight:750;display:flex;position:relative}.weight-hero__action:after{content:"";opacity:0;transform-origin:0;height:1px;transition:opacity .2s ease, transform .24s var(--ease-spring);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(.4)}.weight-hero__action:hover:after{opacity:.85;transform:scaleX(1)}.weight-hero__action svg{width:16px;transition:translate .2s var(--ease-spring)}.weight-hero__action:hover svg{translate:3px}.trend-card{flex-direction:column;min-height:350px;padding:28px;display:flex}.section-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.section-heading h2{font-family:var(--font-display);margin:0;font-size:29px}.section-heading a{color:var(--accent);align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.section-heading a svg{width:14px;transition:translate .2s var(--ease-spring)}.section-heading a:hover svg{translate:3px}.mini-trend{width:100%;height:190px;margin:22px 0 10px;overflow:visible}.mini-trend--empty{color:var(--ink-faint);border-bottom:1px dashed var(--line-strong);place-items:center;font-size:13px;display:grid}.trend-card__legend{color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:auto;font-size:12px;display:flex}.trend-card__legend span{align-items:center;gap:7px;display:flex}.trend-card__legend i{background:var(--brand);border-radius:50%;width:9px;height:9px}.home-small-card{transition:box-shadow .24s var(--ease-soft), border-color .24s var(--ease-soft);grid-template-columns:auto 1fr;align-items:start;gap:14px;padding:24px;display:grid}.home-small-card:hover{border-color:color-mix(in srgb, var(--brand) 20%, var(--line));box-shadow:var(--shadow-md)}.home-small-card>svg{width:42px;height:42px;color:var(--accent);background:var(--accent-soft);border-radius:15px;padding:10px}.home-small-card div{align-items:baseline;gap:8px;display:flex}.home-small-card strong{font-family:var(--font-number);font-size:35px;font-weight:500}.home-small-card span,.home-small-card p,.home-small-card a{color:var(--ink-soft);font-size:12px}.home-small-card p,.home-small-card a{grid-column:2;margin:-5px 0 0;line-height:1.6}.home-small-card a{color:var(--accent);align-items:center;gap:5px;font-weight:800;display:flex}.home-small-card a svg{width:14px}.goal-card{padding:24px}.goal-progress{gap:14px;display:grid}.goal-progress__head,.goal-progress__meta{justify-content:space-between;gap:12px;display:flex}.goal-progress__head span{color:var(--ink-soft);align-items:center;gap:7px;font-size:13px;display:flex}.goal-progress__head strong{font-family:var(--font-number);font-size:18px;font-weight:500}.goal-progress__track{background:var(--surface-muted);border-radius:999px;height:8px;overflow:hidden;box-shadow:inset 0 1px 3px #00000014}.goal-progress__track span{border-radius:inherit;background:linear-gradient(90deg, var(--brand), var(--accent));height:100%;transition:width .7s var(--ease-spring);display:block;position:relative}.goal-progress__track span:after{border-radius:inherit;content:"";background:linear-gradient(#ffffff42,#0000 55%);position:absolute;inset:0}.goal-progress__meta{color:var(--ink-faint);font-size:11px}.goal-empty{align-items:start;gap:14px;display:flex}.goal-empty>svg{color:var(--brand)}.goal-empty h2{font-family:var(--font-display);margin:0 0 6px;font-size:21px}.goal-empty p{color:var(--ink-soft);margin:0 0 9px;font-size:12px;line-height:1.6}.goal-empty a{color:var(--accent);font-size:12px;font-weight:800}.statistics-link{flex-direction:column;justify-content:space-between;min-height:122px;padding:24px;display:flex}.statistics-link>span{color:var(--ink-soft);align-items:center;gap:8px;font-size:12px;display:flex}.statistics-link>strong{font-family:var(--font-display);justify-content:space-between;align-items:end;gap:12px;font-size:20px;display:flex}.statistics-link svg{width:17px}.statistics-link strong svg{transition:translate .2s var(--ease-spring)}.statistics-link:hover strong svg{translate:4px}.first-record{grid-template-columns:.8fr 1.2fr;align-items:center;gap:44px;min-height:500px;padding:clamp(30px,7vw,80px);display:grid}.first-record__orb{aspect-ratio:1;color:var(--brand);background:radial-gradient(circle at 35% 30%, var(--surface-raised), var(--brand-soft));border-radius:50%;place-items:center;display:grid;position:relative}.first-record__orb:after{border:1px dashed color-mix(in srgb, var(--brand) 35%, transparent);content:"";border-radius:50%;position:absolute;inset:12%}.first-record__orb svg{width:52px;height:52px}.first-record h2{font-family:var(--font-display);margin:0;font-size:clamp(32px,4vw,48px)}.first-record p:not(.page-kicker){max-width:470px;color:var(--ink-soft);margin:16px 0 26px;line-height:1.8}.home-skeleton{grid-template-columns:1fr 1.4fr;gap:18px;display:grid}.home-skeleton i{min-height:340px}.home-skeleton i:nth-of-type(3){grid-column:1/-1;min-height:120px}.notice{border:1px solid color-mix(in srgb, var(--positive) 20%, transparent);color:var(--positive);background:color-mix(in srgb, var(--positive) 8%, var(--surface));border-radius:16px;align-items:center;gap:9px;padding:12px 15px;font-size:13px;font-weight:700;display:flex}.notice button{cursor:pointer;color:inherit;background:0 0;margin-left:auto;font-size:20px}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(10px)saturate(1.1);backdrop-filter:blur(10px)saturate(1.1);background:#0a16118c;place-items:center;padding:20px;animation:.18s both fade-in;display:grid;position:fixed;inset:0}.record-dialog,.confirm-dialog{border:1px solid var(--line);background:var(--surface-raised);width:min(100%,560px);max-height:min(88vh,760px);box-shadow:var(--shadow-lg), inset 0 1px 0 color-mix(in srgb, var(--surface) 80%, #fff 20%);animation:dialog-up .26s var(--ease-spring) both;border-radius:32px;overflow:auto}.record-dialog{padding:28px}.record-dialog__header{justify-content:space-between;align-items:start;gap:18px;display:flex}.record-dialog__header h2{font-family:var(--font-display);margin:0;font-size:31px}.icon-button{cursor:pointer;width:44px;height:44px;color:var(--ink-soft);background:var(--surface-muted);border-radius:15px;flex:none;place-items:center;display:grid}.icon-button svg{width:19px}.weight-input-wrap{justify-content:center;align-items:baseline;gap:12px;margin:22px 0 0;display:flex}.weight-input{border:0;border-bottom:2px solid var(--line-strong);width:min(74%,300px);color:var(--ink);font-family:var(--font-number);letter-spacing:-.06em;text-align:center;background:0 0;outline:none;font-size:clamp(60px,15vw,92px);font-weight:500;line-height:1.15;transition:border-color .2s}.weight-input:focus{border-color:var(--accent)}.weight-input::placeholder{color:color-mix(in srgb, var(--ink-faint) 45%, transparent)}.weight-input-wrap span{color:var(--ink-faint)}.record-dialog__error,.record-dialog__date{text-align:center}.record-dialog__date{color:var(--ink-faint);margin:9px 0 20px;font-size:11px}.details-toggle{cursor:pointer;width:100%;min-height:45px;color:var(--ink-soft);background:0 0;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:750;display:flex}.details-toggle svg{width:16px;transition:transform .16s}.details-toggle svg.is-open{transform:rotate(180deg)}.record-details{border-top:1px solid var(--line);gap:16px;padding:18px 0;display:grid}.record-details fieldset{border:0;margin:0;padding:0}.record-details legend{color:var(--ink-soft);margin-bottom:9px;font-size:12px;font-weight:700}.state-chips{flex-wrap:wrap;gap:7px;display:flex}.state-chips button{border:1px solid var(--line);cursor:pointer;min-height:36px;color:var(--ink-soft);background:var(--surface);transition:border-color .16s ease, background .16s ease, color .16s ease, translate .16s var(--ease-spring);border-radius:999px;align-items:center;gap:4px;padding:0 11px;font-size:11px;display:flex}.state-chips button:hover{border-color:color-mix(in srgb, var(--brand) 24%, var(--line));translate:0 -1px}.state-chips button[aria-pressed=true]{color:var(--brand-deep);border-color:color-mix(in srgb, var(--brand) 28%, transparent);background:var(--brand-soft)}.record-submit{width:100%;margin-top:18px}.outlier-confirm{background:color-mix(in srgb, var(--warning) 10%, var(--surface));border-radius:16px;margin-top:14px;padding:14px}.outlier-confirm p{color:var(--warning);margin:0 0 10px;font-size:12px;line-height:1.6}.confirm-dialog{padding:30px}.confirm-dialog h2{font-family:var(--font-display);margin:0;font-size:29px}.confirm-dialog p{color:var(--ink-soft);margin:12px 0 24px;line-height:1.7}.confirm-dialog>div{justify-content:flex-end;gap:10px;display:flex}@keyframes shimmer{to{background-position:-200% 0}}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-up{0%{opacity:0;transform:translateY(16px)scale(.98)}}@media (width<=760px){.home-greeting{flex-direction:column;align-items:start}.home-greeting>div,.home-record-button{width:100%}.home-grid{grid-template-columns:1fr}.weight-hero,.trend-card{min-height:320px}.first-record{grid-template-columns:1fr;gap:28px;min-height:auto;padding:32px 24px}.first-record__orb{width:150px}.home-skeleton{grid-template-columns:1fr}.home-skeleton i:nth-of-type(3){grid-column:auto}.dialog-backdrop{align-items:end;padding:0}.record-dialog{width:100%;max-height:92vh;padding:24px 20px calc(24px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0}.confirm-dialog{border-radius:26px;width:calc(100% - 20px);margin-bottom:10px}}.trend-page{gap:20px;display:grid}.range-selector{border:1px solid var(--line);background:var(--surface-muted);border-radius:999px;flex-wrap:wrap;gap:5px;padding:4px;display:flex}.range-selector button{cursor:pointer;min-height:38px;color:var(--ink-faint);background:0 0;border-radius:999px;padding:0 13px;font-size:11px;font-weight:750;transition:color .16s,background .16s,box-shadow .16s}.range-selector button:hover:not([aria-pressed=true]){color:var(--ink)}.range-selector button[aria-pressed=true]{color:var(--brand-deep);background:var(--surface-raised);box-shadow:0 3px 12px #00000012, inset 0 0 0 1px color-mix(in srgb, var(--brand) 10%, transparent)}.trend-summary{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.trend-summary>div{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 88%, transparent);box-shadow:var(--shadow-xs);gap:8px;padding:19px 21px;display:grid}.trend-summary span{color:var(--ink-faint);font-size:11px}.trend-summary strong{font-family:var(--font-number);align-items:center;gap:4px;font-size:27px;font-weight:500;display:flex}.trend-summary strong svg{width:20px}.trend-summary small{color:var(--ink-faint);font-size:11px}.trend-summary .is-up{color:var(--negative)}.trend-summary .is-down{color:var(--positive)}.trend-chart-card{padding:24px;position:relative}.chart-legend{color:var(--ink-soft);justify-content:flex-end;gap:18px;font-size:11px;display:flex}.chart-legend span{align-items:center;gap:7px;display:flex}.chart-legend i{background:var(--brand);width:20px;height:2px}.chart-legend i.average{border-top:2px dashed var(--accent);background:0 0;height:0}.trend-chart-wrap{min-height:450px;position:relative}.trend-chart{width:100%;height:450px}.chart-loading{color:var(--ink-faint);place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.chart-skeleton i{min-height:520px}@media (width<=720px){.trend-page .page-header{gap:18px}.range-selector{border-radius:20px;grid-template-columns:repeat(3,1fr);width:100%;display:grid}.trend-summary{grid-template-columns:1fr 1fr}.trend-summary>div:first-child{grid-column:1/-1}.trend-summary strong{font-size:24px}.trend-chart-card{padding:18px 8px 12px}.trend-chart-wrap,.trend-chart{height:380px;min-height:380px}}.history-page{gap:22px;display:grid}.history-toolbar{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 88%, transparent);border-radius:22px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.history-filters{flex-wrap:wrap;gap:5px;display:flex}.history-filters button{cursor:pointer;min-height:38px;color:var(--ink-faint);background:0 0;border-radius:999px;padding:0 13px;font-size:11px;font-weight:750;transition:color .16s,background .16s}.history-filters button:hover:not([aria-pressed=true]){color:var(--ink);background:var(--surface-muted)}.history-filters button[aria-pressed=true]{color:var(--brand-deep);background:var(--brand-soft)}.compact-field,.custom-range label{color:var(--ink-faint);align-items:center;gap:7px;font-size:11px;display:flex}.compact-field .input,.custom-range .input{min-height:38px;padding-block:5px}.custom-range{align-items:center;gap:7px;display:flex}.timeline{gap:14px;margin:0;padding:0 0 0 26px;list-style:none;display:grid;position:relative}.timeline:before{background:linear-gradient(var(--brand), var(--line), transparent);content:"";width:1px;position:absolute;top:18px;bottom:18px;left:7px}.timeline>li{position:relative}.timeline__dot{border:3px solid var(--canvas);background:var(--brand);width:13px;height:13px;box-shadow:0 0 0 1px var(--brand), 0 3px 8px color-mix(in srgb, var(--brand) 34%, transparent);border-radius:50%;transition:box-shadow .22s;position:absolute;top:31px;left:-25px}.timeline>li:hover .timeline__dot{box-shadow:0 0 0 1px var(--brand), 0 0 0 5px color-mix(in srgb, var(--brand) 16%, transparent)}.timeline-card{transition:box-shadow .22s var(--ease-soft), border-color .22s var(--ease-soft);grid-template-columns:150px 150px minmax(0,1fr) auto;align-items:center;gap:20px;padding:20px 22px;display:grid}.timeline-card:hover{border-color:color-mix(in srgb, var(--brand) 22%, var(--line));box-shadow:var(--shadow-md)}.timeline-card__date{gap:5px;display:grid}.timeline-card__date strong{font-family:var(--font-display);font-size:21px}.timeline-card__date span{color:var(--ink-faint);font-size:10px}.timeline-card__weight{align-items:baseline;gap:5px;display:flex}.timeline-card__weight>strong{font-family:var(--font-number);font-size:35px;font-weight:500}.timeline-card__weight>span{color:var(--ink-faint);font-size:11px}.timeline-card__weight small{align-items:center;margin-left:5px;font-size:10px;display:flex}.timeline-card__weight small svg{width:13px}.timeline-card__weight .is-up{color:var(--negative)}.timeline-card__weight .is-down{color:var(--positive)}.timeline-card__context{min-width:0}.timeline-card__context>div{flex-wrap:wrap;gap:5px;display:flex}.timeline-card__context span{color:var(--brand-deep);background:var(--brand-soft);border-radius:999px;padding:5px 8px;font-size:9px}.timeline-card__context p{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin:7px 0 0;font-size:11px;overflow:hidden}.timeline-card__actions{gap:5px;display:flex}.timeline-card__actions button{cursor:pointer;min-height:40px;color:var(--ink-faint);background:0 0;border-radius:12px;align-items:center;gap:5px;padding:0 9px;font-size:10px;display:flex}.timeline-card__actions button:hover{color:var(--ink);background:var(--surface-muted)}.timeline-card__actions svg{width:14px}.timeline-loading{gap:12px;display:grid}.timeline-loading i{min-height:100px}.history-pagination{min-height:52px;color:var(--ink-faint);justify-content:center;align-items:center;gap:14px;font-size:11px;display:flex}.history-pagination .button{min-height:40px}.editor-form{gap:16px;margin-top:22px;display:grid}.editor-form__row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.editor-form fieldset{border:0;margin:0;padding:0}.editor-form legend{color:var(--ink-soft);margin-bottom:9px;font-size:12px;font-weight:700}.input--number{font-family:var(--font-number);font-size:25px}@media (width<=900px){.timeline-card{grid-template-columns:1fr auto}.timeline-card__context{grid-column:1/-1}.timeline-card__actions{position:absolute;top:12px;right:12px}.timeline-card__date{padding-right:110px}.timeline-card__weight{grid-area:1/2;margin-top:36px}}@media (width<=640px){.history-toolbar{flex-direction:column;align-items:stretch}.history-filters{grid-template-columns:1fr 1fr;display:grid}.custom-range{flex-direction:column;align-items:stretch}.custom-range>span{display:none}.custom-range label{justify-content:space-between}.timeline{padding-left:18px}.timeline:before{left:3px}.timeline__dot{left:-20px}.timeline-card{padding:20px;display:block}.timeline-card__date{padding-right:95px}.timeline-card__weight{margin:18px 0 14px}.timeline-card__actions button{font-size:0}.timeline-card__actions svg{width:18px}.editor-form__row{grid-template-columns:1fr}}.calendar-page{gap:20px;display:grid}.calendar-navigation{justify-content:space-between;align-items:stretch;gap:12px;display:flex}.month-switcher{border:1px solid var(--line);background:var(--surface);min-width:290px;min-height:50px;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--surface-raised) 80%, transparent);border-radius:18px;justify-content:space-between;align-items:center;gap:8px;padding:4px;display:flex}.month-switcher button{cursor:pointer;width:40px;height:40px;color:var(--ink-soft);background:0 0;border-radius:50%;place-items:center;display:grid}.month-switcher button:hover{background:var(--surface-muted)}.month-switcher button:disabled{cursor:not-allowed;opacity:.32;background:0 0}.month-switcher svg{width:18px}.calendar-month-picker{cursor:pointer;justify-items:center;gap:1px;min-width:156px;display:grid}.calendar-month-picker>span{color:var(--ink-faint);letter-spacing:.12em;font-size:8px;font-weight:850}.calendar-month-picker input{width:150px;min-width:0;color:var(--ink);font-family:var(--font-display);text-align:center;background:0 0;border:0;outline:0;padding:0;font-size:17px}.calendar-month-picker input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.56}.calendar-navigation__shortcuts{gap:8px;display:flex}.calendar-today-button,.calendar-date-jump{border:1px solid var(--line);min-height:50px;color:var(--ink-soft);background:var(--surface);border-radius:18px}.calendar-today-button{cursor:pointer;align-items:center;gap:7px;padding:0 16px;font-weight:750;display:flex}.calendar-today-button:hover,.calendar-date-jump:hover{border-color:color-mix(in srgb, var(--brand) 40%, var(--line));background:var(--surface-raised)}.calendar-today-button svg,.calendar-date-jump>svg{width:16px;color:var(--brand)}.calendar-date-jump{grid-template-columns:auto minmax(142px,1fr) 38px;align-items:center;gap:8px;padding:4px 5px 4px 13px;font-size:11px;font-weight:750;display:grid}.calendar-date-jump label{cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.calendar-date-jump input{border:0;border-left:1px solid var(--line);width:136px;min-width:0;height:38px;color:var(--ink);font-family:var(--font-number);background:0 0;outline:0;padding:0 8px;font-size:12px}.calendar-date-jump input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.62}.calendar-date-jump button{cursor:pointer;width:38px;height:38px;color:var(--brand-deep);background:var(--brand-soft);border-radius:13px;place-items:center;display:grid}.calendar-date-jump button:hover{color:var(--surface-raised);background:var(--brand)}.calendar-date-jump button svg{width:15px}.calendar-card{overflow:hidden}.calendar-summary{border-bottom:1px solid var(--line);background:linear-gradient(120deg, color-mix(in srgb, var(--brand-soft) 34%, var(--surface-raised)), var(--surface-raised) 44%)}.calendar-summary__toggle{display:none}.calendar-summary__grid{grid-template-columns:1.08fr repeat(3,1fr);display:grid}.calendar-summary__item{border-right:1px solid var(--line);min-width:0;padding:20px 21px}.calendar-summary__item:last-child{border-right:0}.calendar-summary__item>span{color:var(--ink-faint);letter-spacing:.11em;margin-bottom:8px;font-size:9px;font-weight:850;display:block}.calendar-summary__item strong{color:var(--ink);font-family:var(--font-number);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(15px,1.7vw,22px);font-weight:560;line-height:1.15;display:block;overflow:hidden}.calendar-summary__item small{color:var(--ink-faint);margin-top:7px;font-size:8px;line-height:1.4;display:block}.calendar-summary__item--progress strong{color:var(--brand-deep);font-size:clamp(17px,2vw,25px)}.calendar-summary__change--down{color:var(--positive)!important}.calendar-summary__change--up{color:var(--accent)!important}.calendar-summary__change--steady{color:var(--ink-soft)!important}.weight-calendar{padding:18px 22px 25px}.calendar-legend{min-height:24px;color:var(--ink-faint);justify-content:flex-end;align-items:center;gap:14px;padding:0 3px 4px;font-size:9px;font-weight:750;display:flex}.calendar-legend span{align-items:center;gap:4px;display:inline-flex}.calendar-legend svg{width:11px;height:11px}.calendar-legend span:first-child svg{color:var(--positive)}.calendar-legend span:nth-child(2) svg{color:var(--line-strong)}.calendar-legend span:last-child svg{color:var(--accent)}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays span{color:var(--ink-faint);text-align:center;padding:10px 4px;font-size:10px;font-weight:800}.calendar-grid{gap:7px}.calendar-blank{aspect-ratio:1/.82}.calendar-day{border:1px solid var(--line);cursor:pointer;min-width:0;min-height:82px;color:var(--ink);background:var(--surface-raised);border-radius:18px;align-content:center;place-items:center;gap:2px;transition:transform .15s,border-color .15s,box-shadow .15s,background .15s;display:grid;position:relative}.calendar-day:not(:disabled):hover{z-index:1;border-color:var(--brand);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.calendar-day:focus-visible{z-index:2;outline:3px solid color-mix(in srgb, var(--brand) 32%, transparent);outline-offset:2px}.calendar-day--today{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent) 68%, transparent)}.calendar-day--today .calendar-day__number{color:var(--accent);font-weight:800}.calendar-day__number{color:var(--ink-faint);font-family:var(--font-number);font-size:10px;position:absolute;top:8px;left:9px}.calendar-day strong{font-family:var(--font-number);font-size:clamp(14px,2vw,23px);font-weight:500}.calendar-day small{color:var(--ink-faint);font-size:8px}.calendar-day__change{font-family:var(--font-number);font-size:9px;font-weight:700;line-height:1}.calendar-day__change--down{color:var(--positive)}.calendar-day__change--up{color:var(--accent)}.calendar-day__change--steady{color:var(--ink-faint)}.calendar-day>i:not(.calendar-day__missing){width:16px;height:16px;color:var(--surface-raised);background:var(--positive);border-radius:50%;place-items:center;display:grid;position:absolute;top:7px;right:7px}.calendar-day>i svg{width:10px}.calendar-day--recorded{border-color:color-mix(in srgb, var(--brand) 20%, var(--line));background:linear-gradient(160deg, color-mix(in srgb, var(--brand-soft) 62%, var(--surface-raised)), color-mix(in srgb, var(--brand-soft) 38%, var(--surface-raised)))}.calendar-day--recorded>i:not(.calendar-day__missing){box-shadow:0 3px 8px color-mix(in srgb, var(--positive) 34%, transparent)}.calendar-day--missing{color:var(--ink-faint);background:0 0;border-style:dashed}.calendar-day__missing{color:var(--line-strong)}.calendar-day--future{cursor:not-allowed;opacity:.48;background:var(--surface-muted)}.calendar-day__future-label{color:var(--ink-faint);font-size:9px}.day-detail{border:1px solid var(--line);background:var(--surface-raised);width:min(100%,440px);box-shadow:var(--shadow-lg), inset 0 1px 0 color-mix(in srgb, var(--surface) 80%, #fff 20%);animation:dialog-up .26s var(--ease-spring) both;border-radius:32px;padding:28px}.day-detail header{justify-content:space-between;align-items:start;display:flex}.day-detail h2{font-family:var(--font-display);margin:0;font-size:29px}.day-detail__weight{justify-content:center;align-items:baseline;gap:9px;margin:30px 0 12px;display:flex}.day-detail__weight strong{font-family:var(--font-number);letter-spacing:-.06em;font-size:76px;font-weight:500}.day-detail__weight span,.day-detail__time{color:var(--ink-faint)}.day-detail__time{justify-content:center;align-items:center;gap:7px;font-size:11px;display:flex}.day-detail__time svg{width:14px}.day-detail__comparisons{grid-template-columns:1fr 1fr;gap:8px;margin:22px 0 4px;display:grid}.day-detail__comparisons>div{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-muted) 72%, transparent);border-radius:16px;min-width:0;padding:13px 14px}.day-detail__comparisons dt{color:var(--ink-faint);letter-spacing:.08em;margin-bottom:5px;font-size:9px;font-weight:800}.day-detail__comparisons dd{color:var(--ink);font-family:var(--font-number);margin:0;font-size:14px;font-weight:600}.day-detail__comparisons .day-detail__change--down{color:var(--positive)}.day-detail__comparisons .day-detail__change--up{color:var(--accent)}.day-detail__comparisons .day-detail__change--steady{color:var(--ink-soft)}.day-detail__states{flex-wrap:wrap;justify-content:center;gap:6px;margin:18px 0;display:flex}.day-detail__states span{color:var(--brand-deep);background:var(--brand-soft);border-radius:999px;padding:6px 9px;font-size:10px}.day-detail blockquote{border-left:2px solid var(--accent);color:var(--ink-soft);background:var(--surface-muted);margin:18px 0;padding:14px 16px;font-size:12px;line-height:1.7}.day-detail>.button{width:100%;margin-top:12px}.calendar-skeleton i{min-height:600px}@media (width<=680px){.calendar-page{gap:14px}.calendar-navigation{gap:8px;display:grid}.month-switcher{width:100%;min-width:0}.calendar-navigation__shortcuts{grid-template-columns:auto minmax(0,1fr);display:grid}.calendar-today-button{padding:0 14px}.calendar-date-jump{grid-template-columns:auto minmax(0,1fr) 38px;min-width:0}.calendar-date-jump input{width:100%}.calendar-summary__toggle{cursor:pointer;width:100%;min-height:56px;color:var(--ink);text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:10px 15px;display:flex}.calendar-summary__toggle>span{gap:2px;display:grid}.calendar-summary__toggle b{letter-spacing:.04em;font-size:11px}.calendar-summary__toggle small{color:var(--ink-faint);font-size:9px;font-weight:650}.calendar-summary__toggle svg{width:17px;color:var(--ink-faint);transition:transform .18s}.calendar-summary[data-expanded=true] .calendar-summary__toggle svg{transform:rotate(180deg)}.calendar-summary[data-expanded=false] .calendar-summary__grid{display:none}.calendar-summary__grid{border-top:1px solid var(--line);grid-template-columns:1fr 1fr}.calendar-summary__item{min-height:91px;padding:14px 15px}.calendar-summary__grid .calendar-summary__item:nth-child(2){border-right:0}.calendar-summary__grid .calendar-summary__item:nth-child(-n+2){border-bottom:1px solid var(--line)}.calendar-summary__item strong,.calendar-summary__item--progress strong{font-size:15px}.calendar-summary__item small{margin-top:5px}.weight-calendar{padding:10px 8px 16px}.calendar-legend{justify-content:center;gap:11px;padding:0 0 2px}.calendar-grid{gap:3px}.calendar-day{border-radius:12px;min-height:58px}.calendar-day strong{font-size:14px}.calendar-day__number{font-size:8px;top:5px;left:6px}.calendar-day>i:not(.calendar-day__missing){width:12px;height:12px;top:4px;right:4px}.calendar-day__future-label,.calendar-day small{display:none}.day-detail{border-radius:28px;width:calc(100% - 20px);margin-bottom:10px}}@media (width<=390px){.calendar-date-jump>svg{display:none}.calendar-date-jump{grid-template-columns:minmax(0,1fr) 38px;padding-left:8px}.calendar-date-jump label>span{display:none}.calendar-date-jump label{grid-template-columns:minmax(0,1fr)}.calendar-date-jump input{border-left:0}}.statistics-page{gap:22px;display:grid}.record-count{justify-items:end;min-width:130px;display:grid}.record-count strong{font-family:var(--font-number);font-size:38px;font-weight:500}.record-count span{color:var(--ink-faint);font-size:10px}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.metric-card{min-height:178px;transition:box-shadow .24s var(--ease-soft), border-color .24s var(--ease-soft), translate .24s var(--ease-soft);align-content:space-between;padding:20px;display:grid;position:relative;overflow:hidden}.metric-card:hover{border-color:color-mix(in srgb, var(--brand) 22%, var(--line));box-shadow:var(--shadow-md);translate:0 -2px}.metric-card:after{border:15px solid color-mix(in srgb, var(--brand) 5%, transparent);content:"";border-radius:50%;width:72px;height:72px;position:absolute;bottom:-24px;right:-22px}.metric-card__icon{width:36px;height:36px;color:var(--brand);background:var(--brand-soft);border-radius:13px;place-items:center;display:grid}.metric-card__icon svg{width:17px}.metric-card>span{color:var(--ink-faint);margin-top:18px;font-size:10px}.metric-card strong{font-family:var(--font-number);font-size:30px;font-weight:500}.metric-card strong small{color:var(--ink-faint);font-size:10px}.metric-card p{color:var(--ink-faint);margin:5px 0 0;font-size:9px}.metric-card--positive strong{color:var(--positive)}.metric-card--negative strong{color:var(--negative)}.statistics-lower{grid-template-columns:.8fr 1.2fr;gap:12px;display:grid}.bmi-card{align-items:center;gap:20px;padding:24px;display:flex}.bmi-card__mark{width:64px;height:64px;color:var(--accent);background:var(--accent-soft);font-family:var(--font-number);border-radius:22px;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.bmi-card span{color:var(--ink-faint);font-size:10px}.bmi-card strong{font-family:var(--font-number);margin:3px 0;font-size:31px;font-weight:500;display:block}.bmi-card p{color:var(--ink-faint);margin:0;font-size:9px;line-height:1.5}.statistics-goal{padding:24px}.statistics-skeleton{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.statistics-skeleton i{min-height:190px}@media (width<=720px){.record-count{justify-items:start}.metrics-grid{grid-template-columns:1fr 1fr}.metric-card{min-height:155px}.metrics-grid .metric-card:first-child{grid-column:1/-1}.statistics-lower{grid-template-columns:1fr}}@media (width<=390px){.metric-card{padding:16px}.metric-card strong{font-size:25px}}.profile-page{gap:20px;display:grid}.settings-stack{gap:16px;display:grid}.settings-card{gap:22px;padding:28px;display:grid}.settings-card__title{align-items:start;gap:14px;display:flex}.settings-card__title>div{min-width:0}.settings-card__title h2{font-family:var(--font-display);margin:0 0 5px;font-size:25px}.settings-card__title p{color:var(--ink-soft);margin:0;font-size:12px}.settings-icon{width:43px;height:43px;color:var(--brand);background:var(--brand-soft);border-radius:15px;flex:none;place-items:center;display:grid}.settings-icon svg{width:20px}.settings-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.settings-grid__wide{grid-column:1/-1}.settings-grid label svg{vertical-align:-2px;margin-right:5px;display:inline}.settings-save{justify-self:end}.theme-preference{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.theme-preference button{border:1px solid var(--line);cursor:pointer;min-height:76px;color:var(--ink-soft);background:var(--surface-muted);text-align:left;transition:border-color .18s ease, background .18s ease, translate .18s var(--ease-spring), box-shadow .18s ease;border-radius:18px;align-items:center;gap:12px;padding:13px;display:flex}.theme-preference button:hover:not([aria-pressed=true]){border-color:color-mix(in srgb, var(--brand) 22%, var(--line));box-shadow:var(--shadow-xs);translate:0 -1px}.theme-preference button[aria-pressed=true]{color:var(--brand-deep);border-color:color-mix(in srgb, var(--brand) 30%, transparent);background:var(--brand-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 10%, transparent)}.theme-preference svg{flex:none;width:20px}.theme-preference span{gap:3px;display:grid}.theme-preference strong{font-size:12px}.theme-preference small{color:var(--ink-faint);font-size:9px}.reminder-settings .settings-card__title{align-items:center}.switch{cursor:pointer;align-items:center;gap:8px;min-height:44px;margin-left:auto;display:flex}.switch input{opacity:0;position:absolute}.switch>span{pointer-events:none;background:var(--surface-muted);width:46px;height:27px;box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:999px;transition:background .2s,box-shadow .2s;position:relative}.switch>span:after{background:var(--surface-raised);content:"";width:19px;height:19px;transition:transform .22s var(--ease-spring);border-radius:50%;position:absolute;top:4px;left:4px;box-shadow:0 2px 5px #0000002e}.switch:hover>span{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 34%, var(--line-strong))}.switch input:checked+span{background:var(--brand);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-deep) 30%, transparent)}.switch input:checked+span:after{transform:translate(19px)}.switch input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.switch b{min-width:45px;color:var(--ink-soft);font-size:10px}.settings-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.notification-permission{background:var(--surface-muted);border-radius:18px;align-items:center;gap:13px;padding:15px;display:flex}.notification-permission>svg{width:20px;color:var(--accent)}.notification-permission>div{flex:1;min-width:0}.notification-permission strong{font-size:12px}.notification-permission p{color:var(--ink-faint);margin:3px 0 0;font-size:10px;line-height:1.5}.notification-permission .button{min-height:40px;font-size:11px}.capability-note{border:1px dashed var(--line-strong);border-radius:16px;align-items:start;gap:10px;padding:13px 15px;display:flex}.capability-note svg{width:17px;color:var(--warning);flex:none}.capability-note p{color:var(--ink-soft);margin:0;font-size:10px;line-height:1.65}.reminder-banner{border:1px solid color-mix(in srgb, var(--brand) 18%, transparent);color:var(--brand-deep);background:color-mix(in srgb, var(--brand-soft) 82%, var(--surface-raised));box-shadow:var(--shadow-xs);animation:banner-arrive .34s var(--ease-spring) both;border-radius:17px;align-items:center;gap:10px;padding:13px 15px;font-size:12px;font-weight:700;display:flex}.reminder-banner>svg{flex:none;width:17px}.reminder-banner button{cursor:pointer;min-height:34px;color:var(--accent);background:0 0;border-radius:10px;margin-left:auto;padding:0 10px;font-weight:800}.reminder-banner button:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.global-reminder{width:min(100%, var(--page-max));margin:0 auto 16px}@keyframes banner-arrive{0%{opacity:0;translate:0 -8px}to{opacity:1;translate:0}}.profile-skeleton{gap:16px;display:grid}.profile-skeleton i{min-height:280px}@media (width<=680px){.settings-card{padding:22px}.settings-grid,.settings-row{grid-template-columns:1fr}.settings-grid__wide{grid-column:auto}.theme-preference{grid-template-columns:1fr}.theme-preference button{min-height:64px}.settings-save{width:100%}.reminder-settings .settings-card__title{flex-wrap:wrap;align-items:start}.switch{width:100%;margin-left:57px}.notification-permission{flex-wrap:wrap;align-items:start}.notification-permission .button{width:100%}}.toast-viewport{z-index:220;pointer-events:none;gap:10px;width:min(390px,100vw - 32px);display:grid;position:fixed;top:22px;right:22px}.toast{border:1px solid var(--line-strong);color:var(--ink);background:color-mix(in srgb, var(--surface-raised) 96%, transparent);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;animation:toast-arrive .26s var(--ease-spring) both;border-radius:17px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:13px 14px 13px 17px;display:grid;position:relative;overflow:hidden}.toast:before{content:"";border-radius:999px;width:3px;position:absolute;top:12px;bottom:12px;left:0}.toast--success:before{background:var(--positive)}.toast--error:before{background:var(--negative)}.toast--info:before{background:var(--brand)}.toast>svg{width:20px}.toast p{margin:0;font-size:13px;font-weight:700;line-height:1.55}.toast button{cursor:pointer;width:36px;height:36px;color:var(--ink-faint);background:0 0;border-radius:12px;place-items:center;display:grid}.toast button:hover{background:var(--surface-muted)}.toast button svg{width:16px}.toast--success>svg{color:var(--positive)}.toast--error>svg{color:var(--negative)}.toast--info>svg{color:var(--brand)}.loading-state{gap:16px;display:grid}.loading-state i{border-radius:var(--radius-lg);background:linear-gradient(100deg, var(--surface-muted), var(--surface), var(--surface-muted));background-size:200% 100%;min-height:180px;animation:1.4s linear infinite shimmer;display:block}.loading-state--single i{min-height:520px}.error-state .button svg{width:16px}.fatal-error{place-content:center;justify-items:start;min-height:100vh;padding:30px;display:grid}.fatal-error__mark{width:62px;height:62px;color:var(--warning);background:color-mix(in srgb, var(--warning) 12%, var(--surface));border-radius:22px;place-items:center;margin-bottom:22px;display:grid}.fatal-error h1{font-family:var(--font-display);margin:0;font-size:clamp(38px,6vw,64px)}.fatal-error>p:not(.page-kicker){max-width:460px;color:var(--ink-soft);margin:14px 0 26px;line-height:1.75}@keyframes toast-arrive{0%{opacity:0;transform:translateY(-10px)scale(.98)}}@media (width<=760px){.toast-viewport{top:76px;right:16px}}
