/* RepRoom v2 · focused high-contrast gym UI. Works without network fonts or icon services. */
:root,:root[data-theme="dark"]{color-scheme:dark;--bg:#09090B;--panel:#18181B;--panel2:#24242A;--panel3:#2C2B34;--line:#34343D;--text:#FAFAFA;--muted:#ADABB9;--faint:#8B8798;--mint:#FACC15;--mint-bg:#352C0D;--warm:#A78BFA;--red:#FDA4AF;--shadow:0 8px 22px #0002;--input:#111116;--navbg:#15141A;--tint:#241F29;--active:#312719;--accent-contrast:#151212}
:root[data-theme="light"]{color-scheme:light;--bg:#F8F8FB;--panel:#FFFFFF;--panel2:#F3F1F7;--panel3:#EBEAF0;--line:#DEDAE5;--text:#18181B;--muted:#555263;--faint:#767182;--mint:#7C3AED;--mint-bg:#F1EAFF;--warm:#6D28D9;--red:#C42B4E;--shadow:0 3px 11px #1613220B;--input:#FFFFFF;--navbg:#FFFFFF;--tint:#FCF7D7;--active:#EEE9FB;--accent-contrast:#FFFFFF}
@media(prefers-color-scheme:light){:root[data-theme="system"]{color-scheme:light;--bg:#F8F8FB;--panel:#FFFFFF;--panel2:#F3F1F7;--panel3:#EBEAF0;--line:#DEDAE5;--text:#18181B;--muted:#555263;--faint:#767182;--mint:#7C3AED;--mint-bg:#F1EAFF;--warm:#6D28D9;--red:#C42B4E;--shadow:0 3px 11px #1613220B;--input:#FFFFFF;--navbg:#FFFFFF;--tint:#FCF7D7;--active:#EEE9FB;--accent-contrast:#FFFFFF}}
html{background:var(--bg);color:var(--text)}html,body{scroll-behavior:smooth}body{background:var(--bg)}input,select,textarea{background:var(--input);color:var(--text);border-color:var(--line)}button{min-height:40px}.button{color:var(--accent-contrast);font-weight:750}.button.ghost,.button.secondary{color:var(--text)}.button.danger{color:var(--red)}.sidebar{background:var(--navbg)}.nav-btn.active{border-color:var(--line);background:var(--mint-bg);color:var(--mint)}.brand-mark{background:#FACC15;color:#14120A}.brand .end{color:var(--warm)}.panel{background:var(--panel);border-color:var(--line);box-shadow:none}.panel.tinted{background:var(--tint);border-color:var(--line)}.routine-card{background:var(--panel);border-color:var(--line)}.stat{background:var(--panel);border-color:var(--line)}.stat .value{color:var(--text)}.eyebrow{color:var(--warm)}.kicker{color:var(--warm)}.set input{background:var(--input);font-size:17px}.set.done input{background:var(--active);border-color:var(--mint)}.set-id{background:var(--panel2);color:var(--text)}.set .complete{background:var(--panel2);border-color:var(--line);color:var(--muted)}.set.done .complete{color:var(--accent-contrast);background:var(--mint);border-color:var(--mint)}.chip.good{background:var(--mint-bg);color:var(--mint);border:1px solid var(--line)}.notice{background:var(--panel2);border-color:var(--line)}.notice.warning{background:var(--tint);border-color:var(--line)}.modal-backdrop{background:#050408BD}.modal{background:var(--panel);border-color:var(--line);color:var(--text)}.timer{background:var(--panel);border:1px solid var(--warm);box-shadow:0 6px 26px #0004;gap:6px}.timer strong{color:var(--mint)}.toast{background:var(--panel3);border-color:var(--line);color:var(--text)}.mini-action,.pill-link{color:var(--warm)}.exercise-row{border-color:var(--line)}.chart .trace{stroke:var(--warm)}.chart circle{fill:var(--mint)}.chart text{fill:var(--muted)}.page-head{margin-bottom:22px}.page-head h1{letter-spacing:-.045em}.hero-actions{flex-wrap:wrap}.session-top{border-color:var(--line)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 15px}.calorie-value{font-weight:850;font-size:clamp(30px,5vw,44px);letter-spacing:-.06em;color:var(--warm);margin:10px 0}.calorie-value span{font-size:14px;font-weight:600;color:var(--muted);letter-spacing:0}.empty.compact{padding:24px}.records-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.record-tile{border:1px solid var(--line);border-radius:13px;background:var(--panel2);padding:15px;display:grid;align-content:start;gap:5px}.record-tile strong{font-size:13px}.record-tile .record-value{font-size:22px;font-weight:800;color:var(--warm)}.cue-list{display:grid;gap:13px;margin-top:17px}.cue-list>div{background:var(--panel2);padding:13px 15px;border-radius:13px;border:1px solid var(--line)}.cue-list strong{color:var(--warm)}.cue-list p{margin-top:7px;line-height:1.57;color:var(--muted)}
.history-filter{margin-bottom:18px}.filter-top,.calendar-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.filter-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;margin-top:15px}.filter-grid .field{margin:0}.quick-filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.quick-filters .mini-action{border:1px solid var(--line);padding:8px 11px;border-radius:50px;font-size:12px}.calendar-head{border-top:1px solid var(--line);padding-top:13px}.calendar-head>div{display:flex;gap:4px}.icon-button{border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);min-width:38px;min-height:38px;font-size:23px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:11px}.calendar-weekday,.calendar-day,.calendar-blank{display:grid;place-items:center;min-height:33px}.calendar-weekday{color:var(--faint);font-size:11px}.calendar-day{background:var(--panel2);border:1px solid transparent;border-radius:10px;color:var(--text);font-weight:550}.calendar-day.has-workout{border-color:var(--warm);font-weight:800}.calendar-day.chosen{background:var(--mint);color:var(--accent-contrast)}.compact-actions{margin:0 0 12px;gap:7px}
#page-content{overflow-wrap:break-word}.button.small{font-size:12px}.exercise-card .exercise-controls button{min-width:36px;min-height:38px}.set input{min-height:45px}.set .complete{min-height:45px;min-width:43px}.modal{overscroll-behavior:contain}.mobile-nav{background:var(--navbg);box-shadow:0 -5px 14px #00000011}.mobile-nav button{color:var(--muted);border-radius:10px}.mobile-nav button.active{color:var(--warm);background:var(--mint-bg)}
@media(max-width:920px){.mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr));height:calc(68px + env(safe-area-inset-bottom,0px));background:var(--navbg)}.content{padding:25px 15px calc(115px + env(safe-area-inset-bottom,0px))}.timer{left:10px;right:10px;bottom:calc(76px + env(safe-area-inset-bottom,0px));padding:9px 10px;justify-content:space-evenly}.timer .button{padding:8px 6px;min-width:46px}.timer strong{min-width:47px;font-size:16px}.mobile-nav button{font-size:10px}.page-head{flex-wrap:wrap}.page-head h1{font-size:26px}.page-head>.button{margin-left:auto}}
@media(max-width:580px){.form-grid{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr 1fr}.filter-grid .field:first-child{grid-column:span 2}.records-grid{grid-template-columns:1fr}.grid3{grid-template-columns:1fr}.hero .hero-actions{display:flex}.hero-actions .button{flex:1;min-width:132px}.page-head{align-items:flex-start}.modal-backdrop{padding:0;align-items:flex-end}.modal{max-width:100%;width:100%;border-radius:22px 22px 0 0;max-height:92dvh;padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px))}.content{padding-left:13px;padding-right:13px}.session-top .row>.button,.session-top .row>div.row{margin-top:10px}.set{grid-template-columns:31px minmax(68px,1fr) minmax(65px,1fr) 45px}.set .complete{min-width:42px}.panel{padding:16px}.page-head p{max-width:300px}.timer .button{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.session-top{background:var(--bg);color:var(--text)}.exercise-foot{background:var(--panel2);color:var(--text)}.set-id{border:1px solid var(--line)}.set.done .complete{color:var(--accent-contrast)}.exercise-controls button{background:var(--panel2)}
.routine-edit-list{display:grid;gap:10px;margin:16px 0}.routine-edit-item{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.routine-edit-item strong{font-size:13px}.routine-edit-item .icon-button{font-size:17px;min-height:34px;min-width:32px}.routine-edit-fields{display:grid;grid-template-columns:70px 1fr 100px;gap:7px}.routine-edit-fields .field{margin:7px 0}.routine-edit-fields input{padding:9px 8px}
@media(max-width:580px){.hero+.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hero+.grid3 .stat{padding:12px 8px}.hero+.grid3 .stat .label{font-size:10px;line-height:1.25}.hero+.grid3 .stat .value{font-size:23px}.routine-edit-fields{grid-template-columns:70px minmax(80px,1fr) 88px}}
.week-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:17px 0}.week-stats>div{display:grid;gap:5px;background:var(--panel2);border:1px solid var(--line);padding:12px;border-radius:11px}.week-stats strong{font-size:19px;color:var(--warm)}.week-stats span{font-size:11px;color:var(--muted)}.week-bars{height:124px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;align-items:end;margin:14px 0}.week-bar-item{display:flex;align-items:center;justify-content:end;flex-direction:column;gap:7px;height:100%;min-width:0}.week-bar{background:var(--warm);border-radius:6px 6px 3px 3px;width:100%;max-width:28px;min-height:3px}.week-bar-item small{font-size:9px;color:var(--muted);white-space:nowrap}.week-stats>div{min-width:0}
.summary-hero{display:grid;gap:7px;background:var(--tint);border-radius:14px;padding:20px;margin-bottom:15px}.summary-hero strong{font-size:20px}.summary-hero span{color:var(--muted);font-size:12px}.summary-stats .stat{padding:13px}.summary-stats .stat .value{font-size:23px}.summary-stats .stat small{font-size:10px;color:var(--muted)}.summary-exercise{padding:9px 0;border-bottom:1px solid var(--line);gap:10px}.summary-exercise span{font-size:12px;color:var(--muted)}
@media(max-width:580px){.summary-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
.profile-avatar-row{display:flex;gap:14px;align-items:center;margin:16px 0}.profile-avatar-row .field{margin:0;flex:1;max-width:230px}.profile-avatar{width:62px;height:62px;display:grid;place-items:center;font-size:28px;background:var(--mint-bg);border:1px solid var(--line);border-radius:18px}
