/* TZ-desktop-layout-2026-10-19. Geometry and colour values live in tokens.css.
   Phone layout stays in the original stylesheets. */
@media (min-width:900px) {
  .d-only[hidden] { display:flex; }
  .d-grid, .d-grid[hidden] { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:var(--grid-gap); max-width:var(--page-max); margin:0 auto; }
  .d-grid > * { min-width:0; }
  .d-8 { grid-column:span 8; } .d-4 { grid-column:span 4; }
  .d-6 { grid-column:span 6; } .d-12 { grid-column:span 12; }
  .d-tile { background:var(--s1); border:0; border-radius:var(--tile-r); padding:var(--tile-pad); display:flex; flex-direction:column; gap:var(--sp-2); margin:0; min-width:0; }
  .d-tile.is-hero { padding:var(--tile-pad-hero); background:linear-gradient(160deg,var(--s1-hero) 0%,var(--s1) 60%); }
  .d-k { font:var(--fw-semibold) var(--fs-xs)/var(--lh-body) var(--font-sans); color:var(--mut); text-transform:none; letter-spacing:var(--ls-normal); margin:0; }
  .d-v { font:var(--fw-semibold) var(--fs-num)/var(--lh-tight) var(--font-sans); font-variant-numeric:tabular-nums; }
  .d-v small { font-size:var(--fs-md); font-weight:var(--fw-medium); color:var(--mut); }
  .d-v.is-empty { color:var(--faint); }
  .d-l { font-size:var(--fs-sm); line-height:var(--lh-body); color:var(--mut); margin:0; }
  .d-a { color:var(--act); font-size:var(--fs-sm); margin-top:auto; }
  .app { grid-template-columns:var(--sb-w-d) minmax(0,1fr); }
  .main, body.today .main { padding:var(--sp-8) var(--sp-12) var(--sp-16); min-width:0; max-width:none; }
  .main > :not(.d-grid):not(.d-head) { max-width:var(--page-max); margin-left:auto; margin-right:auto; }
  body.sec .sidebar .sb-brand, body.today .sidebar .sb-brand { display:flex; margin-bottom:var(--sp-8); }
  .sidebar .sb-brand .logo, .sidebar .sb-brand small { display:none; }
  .sidebar .sb-brand > span:last-child { display:block; width:100%; height:var(--fs-lg); overflow:hidden; text-indent:110%; white-space:nowrap; background:var(--ink); mask:url(/static/brand/wordmark.svg) no-repeat left center / contain; }
  .sidebar .sb-day { display:none; }
  .sidebar .sb-nav a { font-size:var(--fs-sm); font-weight:var(--fw-medium); text-transform:none; letter-spacing:var(--ls-normal); }
  .sidebar .sb-nav a.active { border-color:transparent; background:var(--s1); border-radius:var(--r-md); }
  .d-head, .d-head[hidden] { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-6); max-width:var(--page-max); margin:0 auto var(--sp-6); }
  .d-head h2, .sec-title, .onboarding h1, .onboarding h2 { font-family:var(--font-head); font-size:var(--fs-page); font-weight:var(--fw-bold); margin:0; }
  .d-head-meta { display:flex; align-items:center; gap:var(--sp-4); }
  body.today .d-head .tc-dateline { display:flex; margin:0; padding:0; border:0; gap:var(--sp-2); }
  .d-head .daypart-switch { margin:0; }
  body.today .tc-mast, body.today .tc-race-days, body.today .cmdbar-slim,
  body.today .foot, body.today .dash > .col-left > .sec-h,
  body.today .hero-date, body.today .tc-cta, body.today .statusbar { display:none; }
  body.today .tc-cover, body.today .tc-body, body.today .tc-main, body.today .tc-spread,
  body.today .dash, body.today .col-left, body.today .col-right, body.today .hero { display:contents; }
  body.today .tc-h1 { font-size:var(--fs-verdict); line-height:var(--lh-tight); margin:var(--sp-2) 0; max-width:none; }
  body.today .tc-deck { font-size:var(--fs-md); margin:var(--sp-2) 0; }
  body.today .tc-status { margin:0; font-size:var(--fs-xs); }
  .d-training-action { margin-top:var(--sp-4); }
  .d-today-grid .hero-card, .d-today-grid .card { border:0; background:transparent; padding:0; margin:0; box-shadow:none; }
  .d-today-grid .hero-h { font-size:var(--fs-xs); color:var(--mut); margin:0 0 var(--sp-3); }
  .d-today-grid .hero-ready .hr-top { margin-top:0; }
  .d-today-grid .hero-ready .hr-advice { font-size:var(--fs-md); }
  .d-today-grid .tc-trio { margin:var(--sp-3) 0 0; gap:var(--sp-3); }
  .d-today-grid .tc-trio .tc-v { font-size:var(--fs-3xl); }
  .d-body-manual { margin-top:var(--sp-4); }
  .d-body-manual summary { color:var(--act); font-size:var(--fs-sm); cursor:pointer; }
  .d-body-manual .body-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sp-2); }
  .d-body-manual .body-save { grid-column:span 2; justify-self:end; }
  .d-body-manual input { width:100%; min-width:0; }
  .d-today-grid #sec-water { display:flex; align-items:center; flex-wrap:wrap; gap:var(--sp-2); margin-top:var(--sp-3); padding-top:var(--sp-3); }
  .d-today-grid #sec-water .tc-sh { margin:0; }
  .d-today-grid #sec-water .tc-rub { font-size:var(--fs-sm); text-transform:none; letter-spacing:var(--ls-normal); }
  .d-today-grid #sec-water .tc-water { margin:0; gap:var(--sp-1); }
  .d-today-grid #sec-water .tc-v, .d-today-grid #sec-water .tc-of { font-size:var(--fs-sm); }
  .d-today-grid #sec-water > .tc-bar, .d-today-grid #sec-water > .tc-sub,
  .d-today-grid #sec-water > .tc-row, .d-today-grid #sec-water:not([data-goal-l="0"]) > .tc-small,
  .d-today-grid #sec-water > .tc-more { display:none; }
  .d-water-controls { position:relative; }
  .d-water-controls summary { cursor:pointer; color:var(--act); padding:var(--sp-1) var(--sp-2); }
  .d-water-controls .tc-chips { display:flex; flex-wrap:wrap; gap:var(--sp-2); padding:var(--sp-2) 0; }
  .d-water-controls[open] { flex-basis:100%; }
  .d-today-grid #sec-water .tc-chip { white-space:nowrap; }
  #water-undo button { padding:0; border:0; background:transparent; color:var(--act); font-size:var(--fs-xs); }
  .d-today-grid #sec-meals > .ttl { display:none; }
  .d-today-grid #sec-meals input { min-width:0; width:100%; }
  .d-today-grid [data-d-slot=notes]:not(:has(> :not(.is-hidden))) { display:none; }
  /* Exactly one filled primary; existing semantic handler classes remain intact. */
  :is(body.today, body.sec) :is(button, .btn, .tc-btn):not(.d-primary):not(.wk-tab):not(.ch-btn):not(.wut-sw):not(.wut-th) { background:transparent; border-color:var(--pl); color:var(--ink); box-shadow:none; }
  :is(body.today, body.sec) :is(button, .btn, .tc-btn):not(.d-primary):not(.wk-tab):not(.ch-btn):not(.wut-sw):not(.wut-th):is(.active-rpe, .wbtn-sel) { background:var(--s1); border-color:var(--ink); color:var(--ink); }
  :is(body.today, body.sec) .d-primary { background:var(--act); color:var(--on-act); border-color:var(--act); }
  .desktop-gate > .app .main > h1 { font-family:var(--font-head); font-size:var(--fs-page); margin-bottom:var(--sp-6); }
  .gate-grid #intervals-connect-prompt, .gate-grid #intervals-waiting { padding:0; border:0; background:transparent; margin:0; }
  .gate-grid #intervals-connect-prompt > p:first-child { font-family:var(--font-head); font-size:var(--fs-verdict); line-height:var(--lh-tight); margin:var(--sp-2) 0 var(--sp-4); }
  .gate-grid #intervals-connect-prompt .btn { order:2; align-self:start; }
  .d-steps { display:grid; gap:var(--sp-6); padding-left:var(--sp-6); margin-bottom:0; }
  .d-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:var(--sp-2); }
  .d-day { display:flex; flex-direction:column; gap:var(--sp-4); padding:var(--sp-3); background:var(--s0); border-radius:var(--r-sm); }
  .d-day time { color:var(--mut); font-size:var(--fs-xs); }
  .d-day .d-v { font-size:var(--fs-xl); }
  .d-progress { height:var(--d-progress-h); border-radius:var(--r-full); overflow:hidden; background:var(--pl); }
  .d-progress::after { content:""; display:block; width:var(--d-progress-width); height:100%; background:var(--ink); animation:d-progress var(--d-progress-time) ease-in-out infinite alternate; }
  @keyframes d-progress { from { transform:translateX(var(--d-progress-start)); } to { transform:translateX(var(--d-progress-end)); } }
  @media (prefers-reduced-motion:reduce) { .d-progress::after { animation:none; transform:none; } }
  .onboarding-top { max-width:var(--onboarding-max); margin:var(--sp-8) auto var(--sp-12); display:flex; justify-content:space-between; align-items:center; color:var(--mut); font-size:var(--fs-sm); }
  body.onboarding .onboarding-layout { max-width:var(--onboarding-max); grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:var(--sp-12); padding:0; }
  .onboarding-progress { gap:var(--sp-2); }
  .onboarding-progress .step-dot { display:block; font-size:0; border:0; border-radius:var(--r-full); height:var(--d-progress-h); width:100%; background:var(--pl); }
  .onboarding-progress .is-done .step-dot, .onboarding-progress [aria-current] .step-dot { background:var(--ink); }
  .onboarding h1 { margin:var(--sp-6) 0 var(--sp-4); }
  .onboarding .onboarding-summary { display:flex; }
  .onboarding-summary h2 { font-family:var(--font-sans); font-size:var(--fs-xs); color:var(--mut); font-weight:var(--fw-semibold); }
  .onboarding-actions { align-items:center; justify-content:flex-end; }
  .onboarding-actions [value=back] { margin-right:auto; padding-left:0; border:0; background:transparent; color:var(--mut); }
  .channel-tile span { min-height:var(--d-channel-min); }
  .d-plan-grid > :not(.d-4):not(.d-8):not(#sec-camp-create):not(#sec-away-create) { grid-column:span 12; }
  .d-plan-grid > #sec-week-report { grid-column:span 4; }
  .d-plan-grid > #sec-camp-create, .d-plan-grid > #sec-away-create { grid-column:span 6; padding:var(--tile-pad); border:0; background:var(--s1); border-radius:var(--tile-r); margin:0; }
  .d-plan-grid #volume-build h2 { display:none; }
  .d-plan-grid #volume-build p { font-size:var(--fs-sm); color:var(--mut); }
  .d-plan-grid .pl-h { flex-wrap:wrap; }
  .d-plan-grid .pl-act { float:none; margin:0; }
  .d-plan-action { margin:0 0 var(--sp-4); }
  .d-plan-grid .planw > .pl-note:first-child { display:none; }
  .d-plan-grid .d-plan-generate { order:0; align-self:start; }
  .d-profile .main { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:var(--grid-gap); align-items:start; }
  .d-profile .main > * { grid-column:span 8; width:100%; min-width:0; }
  .d-profile .main > .sec-title, .d-profile .main > .sticky { grid-column:span 12; }
  .d-profile .main > .d-profile-side { grid-column:9 / span 4; grid-row:3 / span 20; display:flex; flex-direction:column; gap:var(--grid-gap); }
  .d-profile #sec-passport, .d-profile-side > * { background:var(--s1); border:0; border-radius:var(--tile-r); padding:var(--tile-pad); margin:0; }
  .d-profile #sec-passport { grid-row:3; }
  .d-profile #sec-passport form > button { width:auto; display:block; margin-left:auto; }
  .d-profile-side .d-passport-link { font-size:var(--fs-sm); }
  .d-profile-side #sec-rider .ttl { font-size:var(--fs-xs); color:var(--mut); }
  .d-profile-side #sec-rider > .d-v { margin:var(--sp-3) 0; }
  .d-profile-side #sec-rider .zones { overflow-x:auto; }
  .d-trends .trends-view, .d-trends .trends-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:var(--grid-gap); }
  .d-trends .trends-view > *, .d-trends .trends-grid > * { grid-column:span 12; min-width:0; }
  .d-trends #sec-type { display:block; background:var(--s1); border:0; border-radius:var(--tile-r); padding:var(--tile-pad); }
  .d-trends #sec-type [data-profile-window]:not([hidden]) { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:var(--grid-gap); }
  .d-trends #sec-type .axes-grid { grid-column:2; grid-row:1 / span 6; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; }
  .d-trends #sec-type [data-profile-window] > :not(.axes-grid) { grid-column:1; }
  .d-trends .axes-grid .ax-v { font-size:var(--fs-3xl); }
  .d-trends .axes-grid .ax-v small { display:block; font-size:var(--fs-sm); }
  .d-trends .trend-card { background:var(--s1); border:0; border-radius:var(--tile-r); padding:var(--tile-pad); margin:0; max-width:none; }
  .d-trends #sec-trend-ctl svg, .d-trends .trend-card svg:not(.icon) { width:100%; max-width:none; }
  .d-trends .tc-rangebar { display:flex; justify-content:flex-end; margin:0; }
  .d-trends .tc-rangebar:has(+ .trends-grid) { grid-column:span 12; }
  body.sec:not(.today):not(.onboarding) .sticky { display:none; }
  body.sec .sec-title { margin-bottom:var(--sp-6); }
  .d-today-grid .d-duplicate-ctl, body.today #daily-macro-target, body.today #fabAdd,
  body.today #fabWaterPop { display:none; }
  .d-chart-label { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-4); }
  .d-chart-label .tc-h { margin:0; }
  .d-trends .d-chart-label .tc-rangebar { margin:0; }
  .d-today-grid #first-plan-status { order:-1; }
  .d-today-grid .onboarding-summary { display:flex; padding:0; }
  .d-reading-article .card { max-width:var(--reading-column); }

}
@media (min-width:1100px) {
  .wrap:has(.toc), .wrap:has(.d-reading-frame) { max-width:var(--why-max); }
  .wrap:has(.d-reading-frame) > .hero { max-width:var(--reading-column); margin-left:calc(var(--why-index) + var(--sp-12)); }
  .d-reading-frame { display:grid; grid-template-columns:var(--why-index) minmax(0,var(--reading-column)); gap:var(--sp-12); align-items:start; }
  .d-reading-frame .toc { display:flex; flex-direction:column; position:sticky; top:var(--sp-8); margin:0; }
  .d-reading-frame .toc a { font-size:var(--fs-sm); min-height:var(--sp-8); padding:var(--sp-2); border:0; border-radius:var(--r-sm); }
  .d-reading-frame .toc a.is-active { color:var(--ink); background:var(--s1); }
  .d-reading-article { min-width:0; max-width:var(--reading-column); }
  .d-reading-article .terms { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--grid-gap); }
  .d-reading-article .term { display:block; background:var(--s1); border:0; border-radius:var(--tile-r); padding:var(--tile-pad); }
}

/* TZ-newcomer-dayone-and-mobile-2026-10-19: shared live Today nodes. */
.meal-mobile-totals, .mobile-training-label { display:none; }
.onboarding-sex { border:0; margin-top:var(--sp-4); padding:0; }
.onboarding-sex label { display:inline-flex; align-items:center; gap:var(--sp-2); margin-right:var(--sp-6); }
.onboarding-sex input { width:auto; }
@media(max-width:899px) {
  body.today .d-today-grid[hidden] { display:flex; flex-direction:column; gap:var(--sp-4); }
  .d-today-grid > *, .d-today-grid .card { min-width:0; max-width:100%; }
  .d-today-grid .d-tile { padding:var(--sp-4); border-radius:var(--r-md); background:var(--s1); }
  .d-today-grid .d-k { font-size:var(--fs-sm); color:var(--mut); margin:0 0 var(--sp-2); }
  .d-today-grid .d-v { font-size:var(--fs-3xl); font-variant-numeric:tabular-nums; }
  .d-today-grid .d-v small { font-size:var(--fs-sm); }
  .d-today-grid .d-l, .d-today-grid .d-a { font-size:var(--fs-sm); }
  body.today .tc-cover, body.today .tc-body, body.today .tc-main, body.today .tc-spread,
  body.today .dash, body.today .col-left, body.today .col-right, body.today .hero { display:contents; }
  body.today .tc-mast, body.today .tc-race-days, body.today .cmdbar-slim,
  body.today .dash > .col-left > .sec-h, body.today .tc-cta, body.today .statusbar,
  body.today .cmd-auth, body.today .sticky { display:none; }
  .d-today-grid .hero-card, .d-today-grid .card { border:0; background:transparent; padding:0; margin:0; box-shadow:none; }
  .d-today-grid .hero-ready .hr-advice { font-size:var(--fs-lg); }
  .d-today-grid .tc-h1 { margin:var(--sp-2) 0; font-size:var(--fs-3xl); }
  .d-today-grid .tc-deck { margin:var(--sp-2) 0; }
  .d-today-grid .d-body-manual { margin-top:var(--sp-4); }
  .d-today-grid .d-body-manual summary { color:var(--act); cursor:pointer; }
  .d-today-grid .body-form { display:flex; flex-wrap:wrap; }
  .d-today-grid .body-field { min-width:0; flex:1; }
  .d-today-grid input { max-width:100%; min-width:0; }
  .d-today-grid .d-form-home { background:transparent; padding:0; margin-top:var(--sp-4); }
  .d-today-grid #sec-water { display:flex; align-items:center; flex-wrap:wrap; gap:var(--sp-2); margin-top:var(--sp-3); }
  .d-today-grid #sec-water .tc-sh, .d-today-grid #sec-water .tc-water { margin:0; }
  .d-today-grid #sec-water .tc-rub { text-transform:none; letter-spacing:normal; }
  .d-today-grid #sec-water .tc-v, .d-today-grid #sec-water .tc-of { font-size:var(--fs-md); }
  .d-today-grid #sec-water > .tc-bar, .d-today-grid #sec-water > .tc-sub,
  .d-today-grid #sec-water > .tc-row, .d-today-grid #sec-water:not([data-goal-l="0"]) > .tc-small,
  .d-today-grid #sec-water > .tc-more { display:none; }
  .d-today-grid .d-water-controls summary { color:var(--act); cursor:pointer; padding:var(--sp-2); }
  .d-today-grid .d-water-controls[open] { flex-basis:100%; }
  .d-today-grid .d-water-controls .tc-chips { display:flex; flex-wrap:wrap; gap:var(--sp-2); }
  .d-today-grid .meal-inline-entry { display:none; }
  .d-today-grid .meal-mobile-totals { display:block; }
  .d-today-grid [data-d-slot=notes]:empty { display:none; }
  .mobile-training-label { display:inline; }
  .desktop-training-label { display:none; }
  .d-today-grid .d-primary { display:inline-flex; padding:var(--sp-3) var(--sp-4); border-radius:var(--r-md); background:var(--act); color:var(--on-act); }
}
@media(max-width:899px){
  .d-today-grid .d-duplicate-ctl, body.today #daily-macro-target{display:none}
}
@media(max-width:899px){
  .d-today-grid .tc-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
}
@media(max-width:899px){
  .d-today-grid [data-d-slot=notes]:not(:has(> :not(.d-duplicate-ctl):not(.is-hidden))){display:none}
}

/* The undo form moves out of its chips row on both layouts.
   Beat body.today .tc-inline without changing the shared water handler. */
body.today #water-undo.is-hidden { display:none; }
body.today .tc-inline[hidden] { display:none; }   /* .tc-inline sets display and beat [hidden]: a stray «+330 мл» showed when bottles already include 330 (19.10) */
@media(max-width:899px) {
  body.today .d-fuel-secondary { background:transparent; color:var(--ink); border-color:var(--pl); }
}
