:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#070a12;color:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom);--safe-left: env(safe-area-inset-left);--safe-right: env(safe-area-inset-right);--bg: #070a12;--ink: #f8fafc;--muted: #94a3b8;--quiet: #64748b;--line: rgba(148, 163, 184, .22);--glass: rgba(15, 23, 42, .66);--glass-strong: rgba(17, 24, 39, .82);--blue: #3b82f6;--blue-soft: rgba(59, 130, 246, .18);--green: #22c55e;--orange: #f97316;--red: #fb7185}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:linear-gradient(145deg,rgba(59,130,246,.16),transparent 28%),linear-gradient(215deg,rgba(34,197,94,.08),transparent 32%),linear-gradient(180deg,#0b1020,#070a12 62%,#03050a)}body:before{position:fixed;inset:0;z-index:-1;pointer-events:none;content:"";background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.58),transparent 76%);mask-image:linear-gradient(180deg,rgba(0,0,0,.58),transparent 76%)}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{width:min(100%,780px);min-height:100vh;margin:0 auto;padding:calc(14px + var(--safe-top)) calc(16px + var(--safe-right)) calc(96px + var(--safe-bottom)) calc(16px + var(--safe-left))}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 2px 18px;animation:rise-in .44s ease both}.top-bar h1,.hero-panel h2,.section-block h2,.live-workout h2{margin:0;color:var(--ink);font-size:1.58rem;line-height:1.1;letter-spacing:0}.eyebrow{margin:0 0 5px;color:#93c5fd;font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.avatar{display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:linear-gradient(145deg,#3b82f6eb,#0ea5e9b3);color:#fff;box-shadow:0 18px 36px #2563eb3d;font-weight:900}.page-content{display:block}.stack{display:grid;gap:14px;animation:rise-in .48s ease both}.hero-panel,.live-workout,.goal-panel,.body-panel,.stat-card,.section-block,.chart-panel,.timer-card,.exercise-card,.line-chart-card,.reminder-card,.record-stat{border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#1e293bc7,#0f172a85);box-shadow:0 24px 70px #00000052,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.hero-panel,.live-workout{display:grid;gap:18px;padding:20px;overflow:hidden;position:relative}.hero-panel:after,.live-workout:after{position:absolute;inset:auto 0 0;height:1px;content:"";background:linear-gradient(90deg,transparent,rgba(96,165,250,.82),transparent)}.hero-panel p:not(.eyebrow),.live-workout span{margin:8px 0 0;color:var(--muted);line-height:1.45}.primary-action,.secondary-action,.icon-action,.section-heading button,.mini-action,.timer-actions button,.weight-buttons button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:16px;cursor:pointer;font-weight:850;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.primary-action{background:linear-gradient(135deg,#60a5fa,#2563eb);color:#fff;padding:0 18px;box-shadow:0 16px 34px #2563eb5c}.primary-action:active,.secondary-action:active,.icon-action:active,.nav-item:active,.muscle-chip:active,.tab-pill:active,.mini-action:active,.timer-actions button:active,.weight-buttons button:active{transform:scale(.97)}.secondary-action{border:1px solid var(--line);background:#0f172ab8;color:var(--ink)}.wide{width:100%}.icon-action{width:48px;height:48px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#fff}.body-panel,.section-block,.chart-panel,.exercise-card,.line-chart-card{display:grid;gap:14px;padding:16px}.body-map{width:min(100%,330px);height:auto;justify-self:center;filter:drop-shadow(0 24px 50px rgba(37,99,235,.18))}.muscle-atlas{display:grid;gap:12px;justify-items:center}.map-view-toggle{display:grid;width:min(100%,260px);grid-template-columns:1fr 1fr;gap:6px;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:#02061757;padding:5px}.map-view-toggle button{min-height:38px;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font-weight:850}.map-view-toggle button.active{background:#3b82f62e;color:#bfdbfe;box-shadow:inset 0 0 0 1px #60a5fa42}.anatomy-map{max-height:680px}.anatomy-base{fill:#0f172ae0;stroke:#94a3b84d;stroke-width:2.2}.anatomy-head,.anatomy-neck{fill:#1e293be6;stroke:#94a3b847;stroke-width:2}.muscle-zone{cursor:pointer;fill:#374151e0;stroke:#94a3b857;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transition:fill .18s ease,filter .18s ease,opacity .18s ease,stroke .18s ease,transform .18s ease;transform-origin:center}.muscle-zone line{stroke:#dbeafe9e;stroke-width:1.7}.muscle-zone:hover,.muscle-zone.active{fill:#60a5fae6;stroke:#fff;opacity:1;transform:scale(1.015)}.anatomy-map .muscle-zone.active{filter:url(#selectedMuscleGlow)}.muscle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.muscle-chip,.tab-pill{border:1px solid var(--line);color:var(--ink);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.muscle-chip{display:grid;min-height:88px;gap:4px;align-content:center;border-radius:18px;background:#0f172aad;padding:12px;text-align:left}.muscle-chip strong{color:var(--ink)}.muscle-chip span{color:var(--muted);font-size:.78rem;line-height:1.25}.muscle-chip.active{border-color:var(--muscle-color);background:linear-gradient(145deg,color-mix(in srgb,var(--muscle-color) 26%,transparent),#0f172ab3)}.focus-pill,.timer-pill{display:inline-flex;min-height:34px;align-items:center;gap:7px;border:1px solid rgba(96,165,250,.32);border-radius:999px;background:#3b82f61f;color:#bfdbfe;padding:7px 10px;font-size:.82rem;font-weight:850}.goal-panel{display:flex;align-items:center;gap:16px;padding:16px}.goal-panel h3,.section-heading h3,.section-block h3,.chart-panel h3,.exercise-heading h3{margin:0;color:var(--ink);font-size:1rem;letter-spacing:0}.goal-panel p{margin:4px 0 0;color:var(--muted)}.goal-ring{display:grid;width:76px;height:76px;flex:0 0 76px;place-items:center;border-radius:50%;background:conic-gradient(#60a5fa var(--progress),rgba(148,163,184,.2) 0);box-shadow:0 16px 28px #2563eb33}.goal-ring span{display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:#0b1020;color:#fff;font-weight:900}.stats-grid{display:grid;grid-template-columns:1fr;gap:12px}.stat-card{padding:16px}.stat-card-header,.section-heading,.exercise-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.stat-card-header{color:var(--muted);font-size:.83rem;font-weight:800}.stat-card strong{display:block;margin-top:8px;color:var(--ink);font-size:1.2rem}.stat-card small,.activity-row span,.record-row span,.toggle-row small,.machine-placeholder span{color:var(--muted)}.section-heading button{min-height:34px;padding:0 12px;background:#3b82f624;color:#93c5fd;font-size:.86rem}.activity-list{display:grid;gap:10px}.activity-row,.record-row{display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(148,163,184,.16);border-radius:18px;background:#02061757}.activity-row div,.record-row div:first-child{display:grid;min-width:0;gap:3px}.activity-row strong,.record-row strong{overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.record-value{display:flex;flex:0 0 auto;align-items:center;gap:8px}.record-value button{display:grid;width:40px;height:40px;place-items:center;border:1px solid rgba(251,113,133,.24);border-radius:14px;background:#fb71851a;color:var(--red)}.live-workout{grid-template-columns:1fr auto;align-items:center}.muscle-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none}.muscle-tabs::-webkit-scrollbar{display:none}.tab-pill{min-height:40px;border-radius:999px;background:#0f172ab3;padding:0 14px;white-space:nowrap}.tab-pill.active{border-color:#93c5fdb3;background:var(--blue-soft);color:#bfdbfe}.timer-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px}.timer-card strong{display:block;color:var(--ink);font-size:2rem;line-height:1}.timer-actions{display:flex;gap:8px}.timer-actions button{width:46px;height:46px;border:1px solid var(--line);background:#3b82f624;color:#dbeafe}.machine-placeholder{display:flex;min-height:86px;align-items:center;gap:12px;border:1px solid rgba(96,165,250,.22);border-radius:20px;background:linear-gradient(135deg,#3b82f62e,#0f172a6b),repeating-linear-gradient(45deg,transparent 0 12px,rgba(255,255,255,.035) 12px 13px);padding:14px;color:#bfdbfe}.machine-placeholder div{display:grid;gap:3px}.machine-placeholder strong{color:var(--ink)}.mini-action{min-height:38px;padding:0 12px;border:1px solid rgba(96,165,250,.28);background:#3b82f629;color:#bfdbfe}.set-list{display:grid;gap:10px}.set-row{display:grid;grid-template-columns:46px minmax(72px,1fr) minmax(86px,1.1fr);gap:9px;align-items:end;border:1px solid rgba(148,163,184,.16);border-radius:18px;background:#02061747;padding:10px;transition:border-color .18s ease,background .18s ease}.set-row.complete{border-color:#22c55e61;background:#22c55e14}.check-label{display:grid;gap:6px;place-items:center;color:var(--muted)}.check-label input{width:24px;height:24px;min-height:24px;accent-color:var(--blue)}.check-label span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#94a3b81f;color:var(--ink);font-size:.82rem;font-weight:900}.set-row label:not(.check-label),label{display:grid;gap:7px;color:var(--muted);font-size:.78rem;font-weight:820}input,select{width:100%;min-height:48px;border:1px solid rgba(148,163,184,.2);border-radius:16px;background:#02061770;color:var(--ink);padding:0 12px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}input:focus,select:focus{border-color:#60a5fad1;box-shadow:0 0 0 4px #3b82f62e}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.weight-buttons{display:grid;grid-column:1 / -1;grid-template-columns:1fr 1fr;gap:8px}.weight-buttons button{min-height:38px;border:1px solid rgba(96,165,250,.22);background:#3b82f61f;color:#bfdbfe}.chart{display:grid;height:210px;grid-auto-flow:column;grid-auto-columns:1fr;align-items:end;gap:8px;padding-top:18px}.bar-column{display:grid;height:100%;min-width:0;grid-template-rows:1fr auto;gap:8px;text-align:center}.bar{align-self:end;border-radius:14px 14px 5px 5px;background:linear-gradient(180deg,#60a5fa,#22c55e);box-shadow:0 10px 18px #3b82f633}.bar-column small{color:var(--muted);font-size:.72rem}.progress-chart-grid,.record-summary-grid{display:grid;grid-template-columns:1fr;gap:12px}.line-chart{width:100%;height:150px;overflow:visible}.line-chart-grid{fill:none;stroke:#94a3b824;stroke-width:1;vector-effect:non-scaling-stroke}.line-chart-path{fill:none;stroke:#60a5fa;stroke-linecap:round;stroke-linejoin:round;stroke-width:4;filter:drop-shadow(0 8px 14px rgba(59,130,246,.36));vector-effect:non-scaling-stroke}.chart-labels{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.75rem}.reminder-card{display:flex;align-items:center;gap:12px;padding:14px}.reminder-card.due{border-color:#60a5fa75;background:linear-gradient(145deg,#3b82f638,#0f172a9e)}.reminder-card div{display:grid;gap:3px}.reminder-card strong{color:var(--ink)}.reminder-card span{color:var(--muted);font-size:.86rem}.upload-card{display:flex;min-height:104px;align-items:center;justify-content:center;gap:10px;border:1px dashed rgba(147,197,253,.46);border-radius:20px;background:#3b82f61a;color:#bfdbfe;cursor:pointer;text-align:center}.upload-card input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compare-grid figure{display:grid;gap:8px;min-width:0;margin:0}.compare-grid img,.photo-empty{width:100%;aspect-ratio:3 / 4;border:1px solid rgba(148,163,184,.16);border-radius:20px;background:#0206175c;object-fit:cover}.photo-empty{display:grid;place-items:center;color:var(--muted)}.compare-grid figcaption{display:grid;gap:2px}.compare-grid figcaption strong{color:var(--ink)}.compare-grid figcaption span{color:var(--muted);font-size:.78rem}.metric-row{display:grid;grid-template-columns:1fr auto auto}.record-summary-grid{grid-template-columns:repeat(2,1fr)}.record-stat{display:grid;gap:6px;padding:14px}.record-stat span{color:var(--muted);font-size:.78rem;font-weight:820}.record-stat strong{color:var(--ink);font-size:1.08rem}.record-table{display:grid;gap:8px}.record-line{display:grid;min-height:66px;grid-template-columns:minmax(0,1fr) 58px 58px 58px;align-items:center;gap:8px;border:1px solid rgba(148,163,184,.16);border-radius:18px;background:#02061747;color:var(--muted);padding:10px;text-align:left}.record-line.active{border-color:#60a5fa8a;background:#3b82f624}.record-line span:first-child{display:grid;min-width:0;gap:3px}.record-line strong{overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.record-line small{color:var(--quiet)}.record-line>span:not(:first-child){justify-self:end;color:#bfdbfe;font-weight:850}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.toggle-row span{display:grid;gap:3px}.toggle-row input{width:52px;height:32px;min-height:32px;accent-color:var(--blue)}.bottom-nav{position:fixed;right:max(12px,var(--safe-right));bottom:0;left:max(12px,var(--safe-left));z-index:20;display:grid;max-width:728px;grid-template-columns:repeat(5,1fr);gap:4px;margin:0 auto;padding:9px 8px calc(9px + var(--safe-bottom));border:1px solid rgba(255,255,255,.14);border-bottom:0;border-radius:24px 24px 0 0;background:#070a12d1;box-shadow:0 -18px 48px #00000061,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.nav-item{display:grid;min-width:0;min-height:56px;place-items:center;gap:3px;border:0;border-radius:18px;background:transparent;color:#64748b;cursor:pointer;font-size:.68rem;font-weight:820;transition:background .18s ease,color .18s ease,transform .18s ease}.nav-item.active{background:#3b82f62e;color:#bfdbfe}.nav-item span{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@media(min-width:560px){.app-shell{padding-inline:24px}.hero-panel{grid-template-columns:1fr auto;align-items:end}.body-panel{grid-template-columns:minmax(220px,.8fr) 1fr;align-items:center}.body-panel .section-heading{grid-column:1 / -1}.stats-grid{grid-template-columns:repeat(3,1fr)}.progress-chart-grid,.record-summary-grid{grid-template-columns:repeat(2,1fr)}.set-row{grid-template-columns:46px minmax(82px,1fr) minmax(110px,1.1fr) 148px}.weight-buttons{grid-column:auto}.bottom-nav{left:50%;width:min(calc(100% - 48px),728px);transform:translate(-50%)}}
