/* One visual system for every GymLog screen. */
:root,:root[data-accent]{color-scheme:dark;--bg:#111214;--surface:#1c1e22;--surface2:#25272d;--surface3:#30333a;--text:#f5f6f8;--muted:#a7aab3;--line:#34373f;--accent:#83adff;--accent2:#276be7;--action:#276be7;--actionHover:#1e5dcf;--accentDim:#276be717;--accentSoft:#83adff;--accentBorder:#83adff65;--finished:var(--surface2);--focusTint:#276be722;--danger:#ff8993;--warning:#f5c666;--shadow:0 12px 32px #00000014;--r-lg:20px;--glass-base:#1c1e22d9;--glass-edge:#ffffff26;--ink:#ffffff;--chart-fill:#141519}
:root[data-theme=light]{color-scheme:light;--bg:#f5f6f8;--surface:#ffffff;--surface2:#eef0f3;--surface3:#e4e7ec;--text:#181a20;--muted:#616571;--line:#d9dde4;--accentSoft:var(--action);--finished:var(--surface2);--danger:#ba283e;--warning:#805a04;--shadow:0 10px 32px #1018280a;--glass-base:#ffffffd9;--glass-edge:#ffffffd9;--chart-fill:#f7f8fa}
:root[data-accent=blue]{--accent:#83adff;--accent2:#276be7;--action:#276be7;--actionHover:#1e5dcf;--accentDim:#276be717;--accentSoft:#83adff;--accentBorder:#83adff65;--focusTint:#276be722;--ink:#ffffff}
:root[data-accent=red]{--accent:#ff96a7;--accent2:#d83b56;--action:#d83b56;--actionHover:#bd2943;--accentDim:#d83b5617;--accentSoft:#ff96a7;--accentBorder:#ff96a765;--focusTint:#d83b5622;--ink:#ffffff}
:root[data-accent=violet]{--accent:#bca5ff;--accent2:#7957d5;--action:#7957d5;--actionHover:#6542bd;--accentDim:#7957d517;--accentSoft:#bca5ff;--accentBorder:#bca5ff65;--focusTint:#7957d522;--ink:#ffffff}
:root[data-accent=amber]{--accent:#eac079;--accent2:#b77812;--action:#956008;--actionHover:#7c4f02;--accentDim:#b7781217;--accentSoft:#eac079;--accentBorder:#eac07965;--focusTint:#b7781222;--ink:#ffffff}
:root[data-accent=mint]{--accent:#82d5c6;--accent2:#168372;--action:#117767;--actionHover:#0b6457;--accentDim:#16837217;--accentSoft:#82d5c6;--accentBorder:#82d5c665;--focusTint:#16837222;--ink:#ffffff}
:root[data-accent=lime]{--accent:#b7e942;--accent2:#87b51c;--action:#b7e942;--actionHover:#a8d734;--accentDim:#b7e94217;--accentSoft:#b7e942;--accentBorder:#b7e94265;--focusTint:#b7e94222;--ink:#182009}
:root[data-theme=light][data-accent]{--accentSoft:var(--action)}:root[data-theme=light][data-accent=lime]{--accentSoft:#426500}
html,body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;min-height:100dvh}
body{background-image:none;padding-bottom:calc(100px + env(safe-area-inset-bottom));line-height:1.45}
[hidden]{display:none!important}.app{width:min(820px,100%);padding:calc(12px + env(safe-area-inset-top)) 20px 30px}.top{margin-bottom:18px;min-height:44px}.logo{font-size:24px;font-weight:850;letter-spacing:-1px}.logo span{color:var(--text)}.brand-icon{color:var(--accentSoft)}.brand-note{display:none}.test-channel{display:none}.test-badge{font-size:9px;background:var(--accentDim);color:var(--accentSoft)!important;border:1px solid var(--accentBorder);padding:4px 6px;border-radius:6px}.top-actions{gap:8px}.top-actions #shareApp{display:none}
#saveStatus{font-size:10px;margin-bottom:14px;color:var(--muted)}h1{font-size:34px;letter-spacing:-1.1px;line-height:1.1;font-weight:850}h2{font-size:21px;font-weight:800;letter-spacing:-.5px}h3{font-size:17px;font-weight:750}.eyebrow,.badge{font-size:10px;letter-spacing:1px}.note,.community-private{color:var(--muted);font-size:13px;line-height:1.6}.section{margin-top:24px}.section-head{margin-bottom:16px;gap:12px}.section-head p{font-size:13px}.page.active{animation:none}.page{min-width:0}
:is(.card,.hero,.rank-card,.rank-achievement,.weekly-panel,.plan-card,.template,.history-day,.record,.metric,.list,.week-section,.today-card,.sheet,.profile-summary,.weekly-today){background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:none;color:var(--text);backdrop-filter:none;-webkit-backdrop-filter:none}
.card,.rank-card,.weekly-panel,.chart-card{padding:20px}.card .card{background:var(--surface2);border-radius:14px}.list{padding:0;overflow:hidden}.list:empty{border:none}.row{background:transparent;border:none;border-radius:0;padding:17px 16px;min-height:66px}.row+.row{border-top:1px solid var(--line)}.row-title{font-size:15px;font-weight:750}.row-sub{font-size:12px;line-height:1.5}.empty,.plan-empty{background:var(--surface);border:1px dashed var(--line);border-radius:20px;color:var(--muted);padding:32px 22px}.row-score{font-size:15px}.chev{color:var(--muted)}
:is(.primary,.secondary,.ghost,.danger-btn,.chip-btn,.icon-btn){border-radius:12px;min-height:44px;font-weight:750;transition:background-color .18s,color .18s;border:1px solid var(--line);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.primary{min-height:54px;background:var(--action);border-color:transparent;color:var(--ink);font-size:15px}.primary:hover{background:var(--actionHover)}.secondary,.chip-btn,.icon-btn{background:var(--surface2);color:var(--text)}.ghost{background:transparent;color:var(--muted)}.danger-btn{background:transparent;color:var(--danger);border-color:var(--line)}.small-btn{padding:0 13px;font-size:12px}.text-btn{color:var(--accentSoft);font-size:13px}.icon-btn svg{stroke:currentColor}.icon-btn{width:44px}.actions{gap:10px}
.hero{padding:26px;position:relative;overflow:hidden;border-left:4px solid var(--accent)}.hero:after{display:none}.hero h1{font-size:36px;max-width:100%;margin:16px 0 12px}.hero-copy{font-size:14px;color:var(--muted);margin-bottom:24px}.hero .badge{background:var(--accentDim);color:var(--accentSoft);border:none;padding:0;border-radius:0}.hero .actions{display:grid;grid-template-columns:1fr}.hero .secondary{background:transparent;min-height:44px}.hero .primary{text-align:left;padding:0 18px;font-size:16px}.hero .primary:after{content:'↗';float:right;font-size:23px}.week-section{border:0;background:transparent;padding:0}.week-section>.section-head{margin-bottom:12px}.week-strip{background:transparent;padding:0;gap:8px;border:0}.week-day{padding:10px 0;background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0}.week-day i{background:var(--surface2);color:var(--text)}.week-day.trained i{background:var(--accent);color:var(--ink)}.week-day.is-today{border-color:var(--accentBorder)}.week-day span,.week-day small{color:var(--muted)}.week-day.is-today small{color:var(--text)}.today-card{padding:17px;margin-top:12px}.week-ring{background:conic-gradient(var(--accent) var(--pct,0%),var(--line) 0)}
#rankHome{padding:17px 20px;margin-top:24px}#rankHome .rank-heading{gap:13px}#rankHome h2{font-size:23px;margin:3px 0}#rankHome .rank-xp{font-size:15px;margin:0}#rankHome .rank-heading .eyebrow{font-size:9px}#rankHome .rank-medal{width:44px;height:50px}#rankHome .rank-progress{margin-top:14px;height:6px}#rankHome .rank-week,#rankHome .rank-next{display:none}#rankHome .rank-test-label{margin-bottom:0;font-size:11px}.rank-progress{background:var(--line)}.rank-week,.rank-week-row{border-color:var(--line)}.rank-totals>div{background:var(--surface2);border-color:var(--line)}.rank-ladder li[aria-current]{background:var(--surface2)}.rank-achievement{padding:16px}.rank-achievement-icon{background:var(--surface2)}.rank-test-tools{margin-top:24px}.rank-rules{margin-top:24px}
.design-tabs{display:flex;gap:4px;background:var(--surface2);padding:5px;border:1px solid var(--line);border-radius:14px;margin:0 0 24px}.design-tabs button{flex:1;min-width:0;background:transparent;border:0;padding:10px 6px;min-height:44px;border-radius:9px;color:var(--muted);font-size:13px;font-weight:750}.design-tabs button[aria-current]{background:var(--surface);color:var(--text);box-shadow:0 2px 5px #0000000b}.design-tabs button:active{transform:none}.template-grid{gap:12px}.plan-card .template{min-height:145px;border:0;background:var(--surface);padding:20px}.template:before{display:none}.template-name{font-size:20px;letter-spacing:-.5px}.template-meta{font-size:12px}.template-start{color:var(--accentSoft);left:20px;bottom:18px;font-size:13px}.plan-card-actions{border-color:var(--line);padding:12px 16px}.weekly-heading{display:block}.weekly-heading>button{margin-top:14px}.weekly-grid{margin-top:20px;gap:10px}.weekly-day{background:var(--surface2);border:1px solid var(--line);border-radius:14px;padding:14px}.weekly-day.is-today{border-color:var(--accentBorder);background:var(--accentDim)}.weekly-slot button{background:var(--surface);color:var(--text)}.weekly-prescription{background:var(--surface2);padding:13px 16px;border:1px solid var(--line);border-radius:12px;margin-bottom:14px}
#page-workout.active{animation:none!important}#page-workout .workout-top{top:0;margin:0 0 20px;padding:calc(12px + env(safe-area-inset-top)) 16px 14px;border-radius:16px;isolation:isolate;transform:none;background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 16px #0000000c;backdrop-filter:none;-webkit-backdrop-filter:none}.workout-top .actions{margin-bottom:10px!important}.workout-top .small-btn{font-size:11px;min-height:36px}.workout-titlebar h2{font-size:21px;line-height:1.2}.session-clock{font-size:14px;color:var(--text)}.session-summary{font-size:11px;margin-top:12px;gap:14px}.exercise-card{padding:0;scroll-margin-top:210px;overflow:hidden;margin-bottom:12px}.exercise-card.is-current{border-color:var(--accentBorder)}.exercise-head{padding:16px;align-items:center;border-color:var(--line)}.exercise-focus{padding:0;border:0;background:transparent;text-align:left;flex:1;min-width:0;min-height:44px;color:var(--text)}.exercise-kicker{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.5px;margin-bottom:5px}.exercise-title{font-size:19px;font-weight:800;line-height:1.3}.exercise-history{font-size:11px;color:var(--muted)}.is-collapsed .exercise-history,.is-collapsed .set-head,.is-collapsed .set-line,.is-collapsed .exercise-foot,.is-collapsed .exercise-next{display:none}.is-collapsed .exercise-head{border-bottom:0}.is-collapsed .exercise-title{font-size:16px}.is-collapsed .exercise-focus:after{content:'Rozwiń ↓';display:block;font-size:11px;color:var(--accentSoft);margin-top:6px}.exercise-menu{color:var(--muted)}.set-head,.set-line{grid-template-columns:22px minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,.6fr) 44px 25px;gap:5px;padding-left:12px;padding-right:12px}.set-head{color:var(--muted);font-size:9px;padding-top:13px}.set-line{padding-top:6px;padding-bottom:6px}.set-input{height:50px;min-height:50px;background:var(--chart-fill);color:var(--text);border-radius:10px;border-color:var(--line);font-size:18px!important;font-weight:750}.set-input.rir{font-size:15px!important}.set-input[readonly]{background:var(--finished);color:var(--accentSoft);border-color:var(--accentBorder)}.set-input::placeholder{color:var(--muted)}.complete{width:44px;height:50px;border-radius:10px;background:var(--surface2);border-color:var(--line);color:var(--muted)}.complete.done{background:var(--accent);color:var(--ink);border-color:var(--accent);box-shadow:none}.set-prev{color:var(--muted);font-size:10px}.set-line.finished{background:var(--finished)}.exercise-foot{padding:8px 16px 12px}.exercise-next{padding:0 16px 16px}.exercise-next button{font-size:13px}.fab-area{bottom:calc(90px + env(safe-area-inset-bottom));padding-top:14px;background:linear-gradient(transparent,var(--bg) 70%)}.fab-area .primary{min-height:48px}
.rest-overlay{top:auto;bottom:calc(158px + env(safe-area-inset-bottom))}.rest-pill{background:var(--surface);border-color:var(--accentBorder);box-shadow:var(--shadow);backdrop-filter:none;-webkit-backdrop-filter:none}.rest-time{color:var(--accentSoft)}.rest-label{color:var(--muted)}.rest-close{background:var(--surface2);color:var(--text)}
.field :is(input,select,textarea),.search,.plan-line input,.notes-preview input{background:var(--chart-fill);color:var(--text);border:1px solid var(--line);border-radius:12px;min-height:48px;font-size:16px}.field label{font-size:10px;color:var(--muted)}.field input:focus,.field select:focus,.field textarea:focus,.search:focus{border-color:var(--accentBorder);box-shadow:0 0 0 3px var(--focusTint)}.segment{background:var(--surface2);border-color:var(--line)}.segment button.on{background:var(--surface);color:var(--text)}.chart-wrap{background:var(--chart-fill);border-color:var(--line)}.record{padding:17px}.record .k{color:var(--muted)}.metric-value,.record .v{color:var(--text)}.metrics{gap:10px;margin:0 0 24px}.metric{padding:17px}.metric-label{font-size:11px}.history-day-head{background:var(--surface2);color:var(--text)}.history-day-head strong{font-size:13px}.quick-pr{background:var(--surface)}.pr-icon{background:var(--accentDim);color:var(--accentSoft)}
.community-login{margin-top:0}.community-heading{align-items:center}.community-consent{background:var(--surface2);border:1px solid var(--line);padding:14px;border-radius:12px;margin:14px 0;font-size:12px;color:var(--text)}input[type=checkbox]{accent-color:#739b13}.community-player{border-radius:0;border-bottom:1px solid var(--line);padding:16px 0;gap:10px}.community-mine{background:var(--accentDim)}.community-player-info strong{font-size:14px;overflow-wrap:anywhere}.community-result strong{font-size:16px}.community-rank-tag{border-color:var(--line)}.community-status:empty{display:none}.community-private{font-size:12px}.community-filters{gap:12px;margin:20px 0}.community-result small{font-size:11px}.community-player small{color:var(--muted)}.community-place{color:var(--muted)}.community-leaderboard{padding:0}.community-leaderboard>li:last-child{border-bottom:0}.community-conflict{background:var(--surface2);border:1px solid var(--warning)}
.profile-summary{display:flex;gap:18px;align-items:center;padding:22px;margin-bottom:24px}.profile-summary h2{font-size:24px;overflow-wrap:anywhere}.profile-summary .note{margin:6px 0 0;font-size:12px}.profile-summary>div:last-child{min-width:0}.profile-shortcuts{display:grid;gap:12px;margin-bottom:24px}.profile-shortcut{display:flex;align-items:center;justify-content:space-between;text-align:left;min-height:64px;padding:16px 20px;background:var(--surface);border:1px solid var(--line);border-radius:16px;font-weight:750}.profile-content>.card,.profile-content>details{margin-top:20px}.profile-content>.card:first-child{margin-top:0}.profile-content .community-identity{overflow-wrap:anywhere}.profile-content h2{font-size:20px;overflow-wrap:anywhere}.profile-danger{margin:24px 0;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px}.profile-danger>summary{color:var(--danger)}.profile-danger .card{padding:16px}.appearance-options{gap:16px}.notes-check{font-size:13px;line-height:1.5}.stats-control{background:var(--surface2);border-color:var(--line)}.pick-row{background:var(--surface2);border-color:var(--line)}.pick-row[aria-pressed=true]{background:var(--accentDim)}.picker-footer{background:var(--surface)}.pick-muscle{color:var(--muted)}.picker-choice{background:var(--accentDim);color:var(--accentSoft)}
.nav{left:0;right:0;bottom:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none!important;border-radius:0}.nav-inner{width:min(720px,100%);grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.nav button{min-height:56px;font-size:10px;font-weight:700;min-width:0;color:var(--muted);border-radius:12px}.nav button.active{color:var(--text);background:var(--accentDim)}.nav button.active svg{color:var(--accentSoft)}.nav svg{width:22px;height:22px;margin-bottom:4px;stroke-width:1.8}.nav button.active:after{content:'';display:block;width:4px;height:4px;background:var(--accentSoft);border-radius:50%;position:absolute;bottom:3px;left:calc(50% - 2px)}.nav button{position:relative}.nav button:active{transform:none}.toast{bottom:calc(100px + env(safe-area-inset-bottom));background:var(--text);color:var(--bg)}.sheet{background:var(--surface);border-color:var(--line);border-radius:24px 24px 0 0;padding:18px 20px calc(24px + env(safe-area-inset-bottom));max-height:90dvh}.modal{backdrop-filter:none;-webkit-backdrop-filter:none}.handle{background:var(--line)}.update-banner{background:var(--surface);border-color:var(--accentBorder)}details>summary{font-size:13px;min-height:44px;display:list-item;padding:10px 0;font-weight:700;color:var(--text)}.notes-example{background:var(--surface2);color:var(--text)}#problem{color:var(--danger)}
/* Glass is opt-in, with a single stable layer per major surface. */
:root[data-glass=on][data-theme] :is(.card,.rank-card,.rank-achievement,.week-section,.weekly-panel,.plan-card,.history-day-head,.list,.sheet,.rest-pill,.update-banner,.test-channel){background:var(--surface);border-color:var(--line);box-shadow:none;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
:root[data-glass=on] body{background:var(--bg)}
:root[data-glass=on][data-theme] :is(.hero,.nav,.profile-summary),:root[data-glass=on] #rankHome,:root[data-glass=on] #rankDetails,:root[data-glass=on] #communityRankingCard,:root[data-glass=on] #page-workout .workout-top{background:linear-gradient(135deg,#ffffff12,#ffffff03),var(--glass-base);border-color:var(--glass-edge);box-shadow:inset 0 1px #ffffff15;backdrop-filter:blur(16px) saturate(125%)!important;-webkit-backdrop-filter:blur(16px) saturate(125%)!important}
:root[data-glass=on] .field :is(input,select,textarea),:root[data-glass=on] .set-input{background:var(--chart-fill);color:var(--text)}:root[data-glass=on] .set-input[readonly]{background:var(--finished);color:var(--accentSoft)}:root[data-glass=on] .rank-totals>div{background:var(--surface2)}
@media(min-width:740px){.app{padding-left:36px;padding-right:36px}.hero .actions{grid-template-columns:1.4fr 1fr}.hero{padding:32px}.hero h1{font-size:44px}.weekly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-shortcuts{grid-template-columns:1fr 1fr}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.app{padding-left:14px;padding-right:14px}.hero{padding:21px}.hero h1{font-size:30px}.card,.rank-card,.weekly-panel{padding:16px}.exercise-card{padding:0}.set-head,.set-line{padding-left:8px;padding-right:8px;grid-template-columns:16px minmax(0,1fr) minmax(0,1fr) minmax(0,.55fr) 44px 22px;gap:4px}.exercise-head{padding:14px}.community-player{gap:6px}.community-result strong{font-size:14px}.profile-summary{padding:18px}.profile-summary h2{font-size:22px}.week-strip{gap:5px}.nav{padding-left:6px;padding-right:6px}.nav button{font-size:9px}.template-grid{grid-template-columns:1fr 1fr}.plan-card .template{padding:15px}.template-name{font-size:17px}.template-start{left:15px}.sheet{padding-left:16px;padding-right:16px}}
.hero .badge{display:inline-flex;background:transparent}.rank-heading h2,.rank-ladder li[aria-current],.community-rank-tag{color:var(--text)}.nav button.active:after{display:block;top:auto;right:auto;transform:none}
.toast{top:auto;height:auto;min-height:0;font-size:13px;border-radius:12px;max-width:90vw}.top-actions .icon-btn{background:var(--surface2);color:var(--text);width:44px;height:44px;min-width:44px;min-height:44px}.week-ring{height:50px;width:50px;min-width:50px;flex-shrink:0;display:grid;border-radius:50%;background:conic-gradient(var(--accent) var(--pct,0%),var(--line) 0);color:var(--text)}.week-ring:after{display:block;position:absolute;inset:4px;background:var(--surface);border-radius:50%}.week-ring strong{position:relative;z-index:1;font-size:16px;font-weight:750}.card.today-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px}.today-card h3{font-size:14px}.today-card .row-sub{font-size:11px}
button:hover{filter:none}.hero .secondary{color:var(--text)}.top-actions .icon-btn:not(:hover){background:var(--surface2)}.top-actions .icon-btn:hover{background:var(--surface3)}.community-mine .community-player-info strong,.community-mine .community-result strong{color:var(--text)}.workout-actions{margin-bottom:14px!important}.workout-actions button{min-height:40px;font-size:12px}.exercise-card{scroll-margin-top:145px}
:root[data-glass=on][data-theme] .weekly-day{background:var(--surface2)}:root[data-glass=on][data-theme] .weekly-day.is-today{background:var(--surface2)}.rank-achievement.unlocked .rank-achievement-icon{background:var(--action);color:var(--ink)}#communityLocalCode{color:var(--accentSoft)}
.palette{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 24px}.swatch{min-height:76px;background:var(--surface);border-color:var(--line);border-radius:12px;font-size:12px}.swatch[aria-pressed=true]{background:var(--surface2);border-color:var(--action);color:var(--text)}.swatch i{color:#fff}.swatch[data-color=lime] i{color:#182009}.complete.done,.week-day.trained i{background:var(--action);border-color:var(--action);color:var(--ink)}.hero{border-left:1px solid var(--line)}.hero .badge{color:var(--muted)}.test-badge{background:var(--surface2);border-color:var(--line);color:var(--muted)!important}.brand-icon{background:var(--action)}.nav button.active{background:var(--surface2)}.community-mine{background:var(--surface2)}.week-day.is-today{border-color:var(--line)}.week-day.is-today:not(.trained) i{background:var(--surface2);border-color:var(--line)}.week-day.is-today:not(.trained) i:after{background:var(--accentSoft)}.weekly-day.is-today{background:var(--surface2);border-color:var(--line)}input[type=checkbox]{accent-color:var(--action)}.community-consent input{accent-color:var(--action)}
:root[data-theme=light] .community-player[data-place="1"] .community-place{color:#765508}:root[data-theme=light] .community-player[data-place="2"] .community-place{color:#546777}:root[data-theme=light] .community-player[data-place="3"] .community-place{color:#89572d}
@media(min-width:850px){#page-today.active{display:block}#page-today>.week-section{margin-top:24px;display:block}#page-today .hero{padding:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(prefers-reduced-transparency:reduce){:root[data-glass=on] :is(.hero,.nav,.profile-summary,.rank-card,.workout-top){background:var(--surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
/* Days and goal belong to one weekly card, including its optional glass layer. */
.week-section{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px;min-width:0}
.week-section>.section-head{align-items:center;margin:0 0 16px;gap:8px}.week-section h2{font-size:18px;letter-spacing:-.4px}.week-section>.section-head button{font-size:12px;padding:0 9px;min-height:44px;flex-shrink:0}
.week-section .week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:0;margin:0;background:transparent;border:0}
.week-section .week-day{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:0;background:transparent;border:0;border-radius:0;font-size:11px;line-height:1.2}
.week-section .week-day span{color:var(--muted);font-weight:600}.week-section .week-day i{display:grid;place-items:center;width:min(36px,100%);height:auto;aspect-ratio:1;min-width:0;margin:0;border:1px solid transparent;border-radius:11px;background:var(--surface2);color:var(--text);font-size:14px;font-weight:750;box-shadow:none}
.week-section .week-day small{height:14px;line-height:14px;font-size:10px;color:var(--muted);font-weight:600}.week-section .week-day.trained i{background:var(--action);border-color:var(--action);color:var(--ink)}.week-section .week-day.is-today span{color:var(--text)}.week-section .week-day.is-today:not(.trained) i{background:var(--surface2);border-color:var(--accentSoft);box-shadow:none}.week-section .week-day.is-today:not(.trained) i:after{content:none}.week-section .week-day.is-today small,.week-section .week-day.trained small{color:var(--accentSoft)}
#page-today .week-section .today-card{display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:14px;margin:18px 0 0;padding:18px 0 0;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.week-section .today-card>div{min-width:0}.week-section .today-card h3{font-size:14px;line-height:1.4;overflow-wrap:anywhere}.week-section .today-card .row-sub{font-size:12px;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}.week-section .week-ring{margin:0}.week-section .week-ring:after{background:var(--surface2)}
@media(max-width:380px){.week-section{padding:16px}.week-section .week-day{font-size:10px}.week-section>.section-head button{padding:0 6px;font-size:11px}}

/* Taste direction: neutral precision, confident type, one clear action per view.
   Longbow informs the surfaces; Nothin' informs contrast and typographic scale.
   All components inherit the user's accent, theme and optional glass setting. */
html{scroll-padding-bottom:100px}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.app{padding-top:calc(18px + env(safe-area-inset-top))}.top{margin-bottom:10px}.logo{font-size:23px;font-weight:750;letter-spacing:-.9px}.brand-icon{border-radius:10px}.top-actions .icon-btn{border-color:transparent}
h1{font-weight:750;letter-spacing:-1.2px;font-size:34px}h2{font-weight:650;letter-spacing:-.6px}h3{font-weight:650}.row-title,.template-name,.exercise-title{font-weight:650}.primary,.secondary,.chip-btn,.ghost,.danger-btn{font-weight:650}.note{line-height:1.6}
.eyebrow,.badge{font-weight:600;letter-spacing:1.25px;color:var(--muted)}.section-head>div>p{margin-top:9px;color:var(--muted)}
.hero{padding:28px;min-height:300px;display:flex;flex-direction:column;justify-content:center}.hero h1{font-size:clamp(34px,7.6vw,50px);line-height:1.04;letter-spacing:-1.8px;font-weight:750;margin:22px 0 14px;max-width:12ch;overflow-wrap:anywhere}.hero-copy{font-size:14px;line-height:1.65;max-width:36ch;margin-bottom:26px}.hero .badge{font-size:11px}.hero .actions{gap:10px}.hero .primary{min-height:58px}.hero .secondary{border:0;color:var(--muted);font-size:13px;min-height:44px}.hero .secondary:hover{color:var(--text);background:var(--surface2)}
.week-section{margin-top:20px}.week-section h2{font-weight:650}.week-section .week-strip{margin-top:22px;margin-bottom:22px}.week-section .week-day{gap:10px}.week-section .week-day i{border-radius:10px;font-weight:600}.week-section .week-day small{font-weight:500}.week-section .today-card h3{font-weight:650}.week-ring strong{font-weight:600;font-variant-numeric:tabular-nums}
#rankHome{margin-top:20px;padding:20px}#rankHome h2{font-size:25px;font-weight:650}#rankHome .rank-heading .eyebrow{letter-spacing:1px}#rankHome .rank-xp{font-weight:550}#rankHome .rank-next{display:block;font-size:12px;margin:10px 0 0;color:var(--muted)}#rankHome .rank-progress{height:4px}.rank-progress>span{box-shadow:none;background:var(--rank-color,var(--action))}.rank-medal{filter:none}.rank-card h2{font-weight:650}.rank-totals strong,.metric-value,.record .v{font-weight:650;letter-spacing:-.9px}.rank-achievement h3{font-size:14px;line-height:1.4}.rank-achievement p{font-size:12px;line-height:1.6}.rank-achievement:not(.unlocked){opacity:.75}.rank-ladder li{padding:14px 10px}.rank-ladder strong{font-weight:650}
.design-tabs{padding:4px;background:var(--surface2);border-color:transparent;border-radius:12px}.design-tabs button{font-weight:600;min-height:44px}.design-tabs button[aria-current]{box-shadow:0 1px 3px #00000012;border-radius:8px}.template-grid{gap:14px}.plan-card{overflow:hidden}.plan-card .template{border-radius:0;min-height:160px;text-align:left}.template-name{font-size:22px;line-height:1.2;overflow-wrap:anywhere}.template-meta{margin-top:8px;color:var(--muted)}.template-start{font-weight:600}.plan-card-actions{display:flex;justify-content:space-between;padding:8px 14px;gap:8px;background:var(--surface2)}.plan-card-actions button{font-size:12px;min-height:44px;border-color:transparent}.plan-empty{border-style:solid;padding:30px 24px;line-height:1.65}.plan-empty strong{display:block;font-size:20px;font-weight:650;color:var(--text);margin-bottom:8px}.plan-empty p{font-size:13px;max-width:36ch}.plan-empty{grid-column:1/-1}#trainingPlansPanel>h2{font-size:17px;margin:0 0 16px}#trainingPlansPanel #newPlan{min-height:48px}#trainingPlansPanel>.section:last-child .actions{gap:8px}.weekly-day{padding:16px}.weekly-day-head strong{font-weight:650}.weekly-heading .note{max-width:40ch}
.field label{font-size:12px;font-weight:550;text-transform:none;letter-spacing:0;display:block;margin-bottom:8px}.field input,.field select{width:100%}.field :is(input,select,textarea){box-shadow:none}.field [aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 12%,transparent)}
:is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--accentSoft);outline-offset:4px}.session-clock,.session-summary strong,.set-input,.rest-time,.community-result,.metric-value,.record .v{font-variant-numeric:tabular-nums}.exercise-kicker{font-weight:550;letter-spacing:.8px}.exercise-title{letter-spacing:-.35px}.set-input{font-weight:600}.set-prev{line-height:1.4}.exercise-menu{min-width:44px;min-height:44px}.workout-titlebar h2{font-weight:650}.workout-actions .danger-btn{border-color:transparent}.session-summary strong{color:var(--text)}
.history-day-head{padding:14px 16px}.row-title{line-height:1.35}.row-sub{margin-top:5px}.record .k,.metric-label{font-size:11px;letter-spacing:.3px}.chart-card .field{margin-bottom:16px}.metric-help{margin-top:16px}.empty{border-style:solid;font-size:13px;line-height:1.65}
#communityRankingCard{margin-top:0}.community-heading h2{font-size:25px;font-weight:650}.community-filters{padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0 14px}.community-player{padding:19px 4px}.community-player-info strong{font-size:15px;font-weight:650}.community-result strong{font-size:19px;font-weight:650;letter-spacing:-.6px}.community-rank-tag{font-weight:500;background:transparent;padding:3px 6px}.community-place{font-size:14px;font-weight:600;width:22px}.community-player.community-mine{border-radius:12px}.community-leaderboard>li.note{padding:30px 18px;margin:16px 0;text-align:center;background:var(--surface2);border:1px dashed var(--line);border-radius:14px;font-size:14px;line-height:1.7}#communityRefresh{width:100%;margin:12px 0}#communityRankingPeriod{font-size:12px}
.profile-summary{margin-bottom:18px;padding:22px}.profile-summary h2{font-weight:650}.profile-summary .rank-medal{width:50px;height:58px}.profile-shortcuts{gap:10px;margin-bottom:22px}.profile-shortcut{min-height:60px;font-size:14px;font-weight:600;padding:16px}.profile-shortcut>span:last-child{color:var(--muted);font-size:20px}.profile-content>p.note{margin-bottom:16px}.community-consent{gap:12px;font-size:12px;line-height:1.7;padding:16px}.community-consent input{margin-top:2px}.community-identity{font-size:16px!important}#communityProfile .field{margin:22px 0 18px}#communitySaveProfile{width:100%;margin-top:8px}.profile-danger summary{font-weight:600}.profile-danger{margin-top:22px}
#communitySignIn{padding:26px;gap:0}.auth-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.auth-symbol{width:44px;height:44px;display:grid;place-items:center;background:var(--surface2);border:1px solid var(--line);border-radius:12px}.auth-symbol svg{width:23px;height:23px;fill:none;stroke:var(--text);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#authTitle{font-size:32px;font-weight:700;line-height:1.08;letter-spacing:-1.2px;margin:0 0 14px}.auth-intro{margin:0 0 20px;max-width:44ch}.auth-mode{background:var(--surface2);padding:12px 14px;border-radius:10px;margin:0 0 22px;font-size:12px}.community-login form{display:grid;gap:16px}.community-login .field{margin:0}.auth-recipient{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}.auth-recipient span{min-width:0;overflow-wrap:anywhere;color:var(--muted);font-size:13px}.auth-recipient button{flex-shrink:0;font-size:11px}#communityLocalCode:empty{display:none}#communityLocalCode{padding:14px;margin:0 0 18px;background:var(--surface2);border:1px dashed var(--line);border-radius:10px;font-size:14px;font-weight:600;letter-spacing:.5px}.community-login .community-code{width:100%;max-width:100%;height:68px;font-size:28px!important;letter-spacing:7px;text-align:center;font-variant-numeric:tabular-nums}.auth-status{margin:16px 0 0;min-height:0;font-size:12px}.auth-status:empty{display:none}.auth-footer{border-top:1px solid var(--line);padding-top:18px;margin:20px 0 0;font-size:12px;line-height:1.7}.community-login[aria-busy=true] form{opacity:.65}.community-login button:disabled{cursor:wait}
.nav button{font-weight:550}.nav button.active{font-weight:650}.nav-inner{gap:6px}.nav svg{stroke-width:1.6}.nav button.active svg{stroke-width:2}.nav button.active:after{display:none}.sheet h2{font-weight:650}.sheet .note{font-size:13px}
@media(min-width:740px){.hero .actions{grid-template-columns:1fr}.hero h1{font-size:50px}.profile-shortcuts{grid-template-columns:1fr 1fr}.settings-page .palette{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(min-width:960px){.app{width:min(1040px,100%);padding-left:36px;padding-right:36px}.top{margin-bottom:16px}#page-today.active{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:stretch}#page-today>.hero{padding:36px;min-height:350px;grid-row:1}#page-today>.week-section{grid-row:1;margin-top:0;display:flex;flex-direction:column;justify-content:center;padding:28px}#page-today>#rankHome{grid-column:1/-1;grid-row:2;margin-top:0}#page-today #rankHome .rank-progress{margin-top:18px}#page-today .hero h1{font-size:54px}#page-profile.active{max-width:760px;margin:auto}.settings-page{max-width:820px;margin:auto}#page-community{max-width:820px}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.hero{padding:24px 20px;min-height:285px}.hero h1{font-size:34px}.hero-copy{font-size:13px}.template-name{font-size:19px}.plan-card .template{padding:16px;min-height:154px}.community-result strong{font-size:16px}.community-player-info strong{font-size:13px}.community-player{gap:6px}#communitySignIn{padding:20px}#authTitle{font-size:30px}.profile-summary h2{font-size:22px}.auth-recipient{align-items:flex-start}}
