/* FitDiary / Movement: warm surfaces, ink, and energetic chartreuse. */
html{--bg:#111814;--panel:#1a231e;--panel2:#253129;--text:#f1f4ed;--muted:#a6b4a9;--line:#334036;--accent:#d2f56a;--accentdark:#344425;--field:#151e18;--shadow:0 8px 24px #00000010;--action:#d2f56a;--ink:#17251b;--purple:#c5b9f3;--orange:#efb47b;--blue:#a5c9ee}
html.light{--bg:#f4f5ef;--panel:#fff;--panel2:#edf0e8;--text:#223027;--muted:#758176;--line:#e3e7dd;--accent:#42612d;--accentdark:#eaf2d9;--field:#f7f8f3;--shadow:0 6px 22px #34452b05;--action:#d2f56a;--ink:#17251b;--purple:#e9e3fa;--orange:#f9ead8;--blue:#e2eef9}
body{background:var(--bg);font-family:'Segoe UI',system-ui,sans-serif;letter-spacing:-.25px}
.topbar{height:82px;background:var(--bg);border-bottom:1px solid var(--line)}
.brand{font-size:25px;letter-spacing:-1.2px}.brand-icon{background:var(--ink);color:var(--action);width:42px;height:42px;border-radius:15px;box-shadow:none;transform:rotate(-7deg)}.brand-icon span{font-size:17px}
.top-meta>span:first-child{font-size:10px;letter-spacing:2px}.top-meta #user-badge{background:var(--panel);border:1px solid var(--line);padding:9px 15px}
.layout{max-width:1480px;grid-template-columns:195px minmax(0,1fr);gap:42px;padding-top:36px}
aside{padding-top:5px}.nav-link{border-radius:13px;padding:14px;font-size:13px;margin-bottom:6px}.nav-link.active{background:var(--ink);color:#eef6e8;border-color:var(--ink)}.nav-link.active .nav-icon{color:var(--action)}.nav-link:hover:not(.active){background:var(--panel)}
.sidebar-note{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:19px 15px;margin-top:30px}.sidebar-note p{margin:10px 0}.sidebar-note .pill{padding:6px 8px;font-size:10px}
.page-heading{margin-bottom:26px;align-items:center}.page-heading .eyebrow{font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:9px}.page-heading h1{font-size:34px;font-weight:730;letter-spacing:-1.5px;margin-bottom:8px}.page-heading p{font-size:13px;line-height:1.6}.heading-actions>.pill{padding:10px 14px;background:var(--panel);border:1px solid var(--line)}
.card{border-radius:22px;box-shadow:var(--shadow);border-color:var(--line)}.section{margin-top:28px}.section-title{margin-bottom:16px}.section-title h2{font-size:20px;letter-spacing:-.7px}.section-title a{font-size:12px}
.card.hero{position:relative;display:grid;grid-template-columns:1.3fr .85fr;min-height:330px;padding:0;border:0;border-radius:26px;background:#20352a;color:#fff;isolation:isolate;overflow:hidden}
.hero-copy{background:transparent;padding:34px 36px;position:relative;z-index:1;align-items:flex-start;justify-content:center}
.hero-kicker{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.6px;color:#d4e4d8;font-weight:600}.status-dot{width:6px;height:6px;background:var(--action);border-radius:50%;box-shadow:0 0 0 4px #d2f56a12;flex-shrink:0}
.hero h2{font-size:clamp(32px,3.5vw,49px);line-height:1.08;letter-spacing:-1.9px;font-weight:730;margin:23px 0 16px}.hero h2 em{color:#d2f56a;font-style:normal}.hero-copy>p{color:#afc4b5;font-size:13px;line-height:1.75;max-width:340px;margin-bottom:8px}
.hero-copy .button-row{width:auto;margin-top:16px}.hero .primary{background:#d2f56a;color:#18291b;min-height:48px;padding:13px 21px;border-radius:13px;font-size:13px;box-shadow:none}.hero-facts{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px;color:#c5d6c9;font-size:10px}.hero-facts span{white-space:nowrap}
.session-art{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;min-width:0;background:radial-gradient(ellipse at 65% 60%,#a5d34d19,transparent 65%);padding:30px 22px;isolation:isolate}
.session-art-label{font-size:9px;color:#c2d0c4;letter-spacing:1.5px;text-align:center;z-index:1}.session-letter{font-size:190px;line-height:1.1;font-weight:800;letter-spacing:-10px;color:#d2f56a;z-index:1;text-shadow:10px 9px 0 #d2f56a0c;font-style:italic;padding-right:15px}
.session-art-name{color:#dce8dc;font-size:13px;font-weight:500;z-index:1}.track-lines{position:absolute;inset:12px 4%;z-index:-1;opacity:.6}.track-lines i{position:absolute;inset:10%;border:1px solid #d2f56a2c;border-radius:45%}.track-lines i:nth-child(2){inset:18%}.track-lines i:nth-child(3){inset:26%}
.cycle-steps{display:flex;align-items:center;gap:12px;margin-top:20px;z-index:1}.cycle-steps span{display:grid;place-items:center;width:29px;height:29px;border:1px solid #ffffff20;border-radius:50%;font-size:11px;color:#a5b9ac}.cycle-steps .current{background:#d2f56a;color:#20352a;border-color:#d2f56a;font-weight:750}.cycle-steps b{font-weight:400;color:#779782}
button{border-radius:11px;min-height:44px}.primary{background:var(--action);color:var(--ink)}button.primary{box-shadow:none}.secondary{background:var(--panel2);color:var(--text)}.ghost{background:transparent;border-color:var(--line)}button:hover{filter:brightness(.96)}html:not(.light) button:hover{filter:brightness(1.08)}
input,select,textarea{border-radius:11px;background:var(--field)}.pill{font-size:10px;padding:6px 10px}.pill.accent{color:var(--accent)}
.grid.four{gap:14px}.metric{padding:20px}.metric-heading{display:flex;align-items:center;gap:8px;min-width:0}.metric-heading .small{color:var(--text);font-size:12px;font-weight:600}.metric-mark{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:10px;background:var(--accentdark);color:var(--accent);font-size:12px;font-weight:700}.metric-unit{font-size:10px;color:var(--muted);margin-left:auto}.metric .big{font-size:35px;margin:15px 0 11px;letter-spacing:-1.4px;font-weight:700;line-height:1.1}.metric .big .small{font-size:11px;letter-spacing:0;font-weight:400;display:inline;margin-left:3px}.metric>progress{margin:12px 0;height:4px}.metric>.small:last-child{font-size:10px}
.nutrient-protein .metric-mark{background:var(--purple);color:#5b458b}.nutrient-fat .metric-mark{background:var(--orange);color:#8a5a24}.nutrient-carbs .metric-mark{background:var(--blue);color:#3f6084}.nutrient-protein progress::-webkit-progress-value{background:#ad9ada}.nutrient-fat progress::-webkit-progress-value{background:#d9a267}.nutrient-carbs progress::-webkit-progress-value{background:#85acd4}
.empty{padding:22px 16px;border:1px dashed var(--line);background:var(--field);font-size:12px}.chart-card{padding:24px}.notice{background:var(--panel2);border:0;font-size:12px;color:var(--muted)}.warning{border:0;font-size:12px}
.exercise-card{border-radius:22px;overflow:hidden}.exercise-card img{border-bottom:1px solid var(--line)}.exercise-copy h3{font-size:17px}.exercise-copy details{border-top:1px solid var(--line);padding-top:4px}.exercise-copy .pill{margin-bottom:12px}.plan-item{padding-bottom:18px;border-bottom:1px solid var(--line)}.plan-item:last-of-type{border:0}.plan-item img{border:1px solid var(--line)}
.set-form{padding:18px;background:var(--field);border-radius:17px}.set-form.done{background:var(--accentdark);border-color:color-mix(in srgb,var(--accent) 25%,var(--line))}.set-number{font-size:13px}.set-form .primary{font-size:13px}.workout-photo{background:#fff;border:1px solid var(--line)}
.timer-card{background:#20352a;color:#f0f5ec;border-color:#20352a}.timer-card .eyebrow{color:#b7c9b9}.timer-card .timer-face{color:#d2f56a;font-size:64px;font-weight:760}.timer-card label,.timer-card p{color:#b7c9b9}.timer-card .secondary{background:#344b3b;color:#ecf3e9}.timer-card .ghost{border-color:#48604e;color:#d4e0d4}.timer-card input{background:#172c20;border-color:#3f5746;color:#eff4ea}.timer-card progress{background:#496050}.timer-card progress::-webkit-progress-value{background:#d2f56a}
.week-strip button.selected{background:var(--ink);color:var(--action)}.week-strip button{border-radius:12px;font-weight:650}.food-item h3{font-size:15px}.food-item .small{font-size:12px}.food-item button{border-radius:10px}.ingredient{background:var(--field)}
.auth{position:relative;max-width:480px;padding:36px;border-radius:28px;overflow:hidden}.auth:before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--action)}.auth-art{background:var(--ink);color:var(--action);transform:rotate(-7deg);margin-bottom:24px}.auth h1{font-size:40px;line-height:1.08;letter-spacing:-1.8px}.auth>.eyebrow{display:block;margin-bottom:12px;color:var(--muted)}.auth>p{font-size:14px;line-height:1.7}.auth-tabs button.primary{background:var(--panel);color:var(--text);box-shadow:0 2px 8px #0000000a}
dialog{border-radius:24px;border-color:var(--line);padding:26px}dialog h2{font-size:23px}dialog::backdrop{background:#0b170eb0;backdrop-filter:blur(9px)}
@media(max-width:1100px){.layout{grid-template-columns:165px minmax(0,1fr);gap:24px}.hero-copy{padding:28px}.session-letter{font-size:160px}.hero h2{font-size:36px}.metric{padding:17px}.metric .big .small{display:block;margin:5px 0 0}}
@media(max-width:760px){
  .topbar{height:68px}.brand{font-size:23px}.brand-icon{width:36px;height:36px;border-radius:12px}.top-meta #user-badge{font-size:10px;padding:8px 11px}.layout{display:block;padding-top:23px;padding-bottom:calc(190px + env(safe-area-inset-bottom))}.page-heading{margin-bottom:22px}.page-heading h1{font-size:28px;line-height:1.18;letter-spacing:-1px}.page-heading .eyebrow{font-size:8px;letter-spacing:1.5px}.page-heading p{font-size:12px}.heading-actions{margin-top:12px}.heading-actions>.pill{padding:6px 10px;font-size:10px}
  .card.hero{grid-template-columns:minmax(0,1fr);min-height:0;border-radius:23px}.hero-copy{padding:26px 24px 24px;min-width:0}.hero h2{font-size:37px;letter-spacing:-1.7px;margin:21px 0 14px;line-height:1.08}.hero-copy>p{font-size:12px;max-width:280px}.hero-kicker{font-size:8px;letter-spacing:1.4px}.hero-copy .button-row{width:100%;margin-top:15px}.hero .primary{width:100%;padding:13px 15px}.hero-facts{gap:14px;font-size:9px;margin-top:16px}
  .session-art{padding:16px 22px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:13px;row-gap:4px;border-top:1px solid #ffffff14;background:#172d21}.session-letter{grid-column:1;grid-row:1 / 3;font-size:48px;line-height:1;letter-spacing:-3px;padding-right:7px;text-align:center}.session-art-label{grid-column:2;grid-row:1;text-align:left;font-size:7px;letter-spacing:1px}.session-art-name{grid-column:2;grid-row:2;font-size:11px}.cycle-steps{grid-column:3;grid-row:1 / 3;margin:0;gap:5px}.cycle-steps span{width:22px;height:22px;font-size:9px}.cycle-steps b{display:none}.track-lines{display:none}
  .grid.four{gap:10px}.metric{padding:15px}.metric-heading{gap:6px}.metric-mark{flex-basis:25px;width:25px;height:25px;border-radius:8px;font-size:10px}.metric-heading .small{font-size:11px}.metric-unit{font-size:9px}.metric .big{font-size:31px;margin:13px 0 9px}.metric .big .small{font-size:10px;margin-top:5px}.metric>.small:last-child{font-size:9px}.metric>progress{margin:11px 0}.section-title h2{font-size:19px}.section{margin-top:24px}.card{border-radius:20px}.chart-card{padding:20px}.exercise-card{padding:0}.set-form{padding:13px}.timer-card .timer-face{font-size:57px}
  #bottom-nav{background:var(--ink);border:1px solid #ffffff12;box-shadow:0 6px 25px #13271b30;left:10px;right:10px;border-radius:21px;padding:7px 5px}#bottom-nav a{color:#acbdb0;font-size:9px;gap:5px;border-radius:15px}#bottom-nav a.active{background:var(--action);color:var(--ink);font-weight:700}#bottom-nav .nav-icon svg{width:21px;height:21px}.mini{border-radius:16px}.workout-actions{border-radius:17px;padding:8px}
  .auth{padding:28px 23px}.auth h1{font-size:36px}dialog{padding:20px;border-radius:23px}dialog h2{font-size:22px}
}
@media(max-width:359px){.hero-copy{padding:24px 19px 22px}.hero h2{font-size:33px}.session-art{padding:14px 17px;grid-template-columns:38px minmax(0,1fr);gap:6px 10px}.cycle-steps{display:none}.session-letter{font-size:43px}.metric{padding:12px}.metric-heading{flex-wrap:wrap}.metric-unit{display:none}.metric .big{font-size:28px}.page-heading h1{font-size:26px}}
