:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#e8eeed;background:#101820;color-scheme:dark}*{box-sizing:border-box}body{margin:0;line-height:1.55}header{border-bottom:1px solid #29383e;background:#141f27}a{color:#76d6c5;text-decoration:none}a:hover{text-decoration:underline}.shell{max-width:1060px;margin:auto;padding:18px 22px}.top,.between{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:800;letter-spacing:.07em}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:0;color:#97aaa9}.brandmark{display:grid;place-items:center;background:#3baba2;color:#102029;width:40px;height:40px;border-radius:12px}h1,h2,p{margin-top:0}h1{font-size:clamp(24px,4.2vw,36px);line-height:1.16;letter-spacing:-.03em}h2{font-size:19px;letter-spacing:-.015em}.hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0 18px}.hero p{color:#a7bab9;margin:0}.eyebrow{font-weight:700;letter-spacing:.14em;font-size:11px;margin-bottom:8px!important;color:#79cbbf!important}.card,.stat{background:#17242b;border:1px solid #2c3a41;border-radius:15px;padding:21px}.card{margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0 24px}.stat b{font-size:27px;display:block;font-variant-numeric:tabular-nums}.stat span,.muted{color:#a3b3b3;font-size:13px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.stack{display:grid;gap:14px}.stack label{display:grid;gap:5px;font-size:13px;color:#becbc9}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formgrid label:last-child{grid-column:1/-1}input,select{width:100%;min-width:0;border-radius:9px;padding:11px 12px;background:#0f1a22;color:#edf7f5;border:1px solid #405158;font:inherit}input:focus,select:focus{outline:2px solid #4ca7a0;outline-offset:1px}button,.download{font:inherit;cursor:pointer;border-radius:9px;padding:11px 14px;border:1px solid #436b6c;color:#d7f6ef;background:#1b3538}button.primary{border:0;color:#0b2627;background:#75d5c3;font-weight:700}button.primary:hover{background:#a1eadc}button.linklike{border:0;background:transparent;color:#a0cdcb;padding:8px}.download{font-size:13px;white-space:nowrap}.entry{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #2a3940}.entry:last-child{border-bottom:0}.entry strong{font-size:12px;color:#80b4ac;display:inline-block;width:89px}.entry span{font-size:14px}.entry small{display:block;color:#91a9a6;margin-left:90px}.entry button.subtle{background:transparent;border-color:#485358;color:#b1c1c0;padding:5px 8px;font-size:12px}.hint{margin-top:16px}.hint p{color:#a8bab8;margin-bottom:0}.weightchart{width:100%;height:auto;margin:12px 0}.login{max-width:430px;margin:10vh auto;padding:30px;border:1px solid #324349;border-radius:16px;background:#19252d}.alert{background:#593039;border-radius:9px;padding:12px;color:#ffe0e2}footer{color:#7f9897;font-size:12px;padding-top:26px!important;padding-bottom:35px!important}@media(max-width:700px){.shell{padding:15px}.stats{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.hero p{font-size:14px}.stat{padding:16px}.card{padding:17px}.entry strong{display:block}.entry small{margin-left:0}}

/* FIT v0.2: first-class daily check-in */
h3{font-size:16px;margin:0 0 12px}.weight-top{padding-top:6px}.weight-heading{margin:14px 0 4px}.weight-heading h2{font-size:25px;margin-bottom:0}.today-pill{font-size:12px;padding:8px 11px;border-radius:24px;display:inline-block}.today-pill.done{background:#1d433c;color:#b3e4d6}.today-pill.open{background:#463a25;color:#ffe0a3}.weight-metrics{display:flex;gap:22px;flex-wrap:wrap}.weight-metrics span{display:grid}.weight-metrics b{font-size:20px}.weight-metrics small{color:#a3b3b3;font-size:12px}.weight-top .grid2{margin-top:10px}@media(max-width:700px){.weight-heading{display:block}.weight-heading .today-pill{margin-top:14px}}


/* FIT v0.3: separate intermittent fasting section */
.nav-wrap{padding-top:0;padding-bottom:10px}.mainnav{display:flex;gap:8px;flex-wrap:wrap}.mainnav a{font-size:14px;border:1px solid #3b5458;border-radius:10px;padding:8px 14px;color:#bad0ce}.mainnav a.selected{background:#22504c;border-color:#4ca7a0;color:#f0fffc;font-weight:700}.fasting-teaser{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;margin-bottom:20px;background:#193431;border:1px solid #39716b;border-radius:15px}.fasting-teaser p{margin:4px 0 0;color:#bed4d0;font-size:13px}.fasting-teaser .download{flex-shrink:0}.stages{margin:26px 0}.stages>h2{margin-bottom:14px}.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.stage-card{display:flex;flex-direction:column;gap:5px}.stage-card h2{font-size:15px;margin-bottom:0}.stage-card .stage-large{font-size:32px;font-weight:750;font-variant-numeric:tabular-nums}.stage-card p{font-size:13px;margin:0 0 8px}.stage-card .stage-window{color:#e1f1ec}.stage-card form{margin-top:auto}.stage-card button{width:100%}.stage-active{border-color:#4ca7a0;background:#1d3735}.stage-badge{font-size:11px;font-weight:700;color:#bdf6e7;background:#275951;border-radius:20px;padding:4px 8px;white-space:nowrap}.secondary-btn{border-color:#405b59;background:#27413e;color:#d6f3ed}.secondary-btn:disabled{opacity:.78;cursor:default}.fasting-checkin{margin:20px 0}.fasting-checkin .formgrid{margin:8px 0}.stage-card .between{align-items:flex-start}button:disabled{cursor:default}
@media(max-width:850px){.stage-grid{grid-template-columns:1fr}.stage-card{min-height:auto}.stage-card form{margin-top:8px}}
@media(max-width:700px){.fasting-teaser{flex-direction:column;align-items:flex-start}.nav-wrap{padding-top:0}.mainnav a{flex:1;text-align:center;min-width:135px}}
