*{box-sizing:border-box}:root{--pwa-bg:#000;--pwa-surface:#1c1c1e;--pwa-surface-2:#2c2c2e;--pwa-label:#fff;--pwa-label-2:#ebebf599;--pwa-accent:#30d158;--pwa-radius-card:14px;--pwa-content-width:560px;--pwa-safe-top:env(safe-area-inset-top,0px);--pwa-safe-bottom:env(safe-area-inset-bottom,0px)}body{background:var(--pwa-bg);color:var(--pwa-label);margin:0;font:15px/1.45 system-ui,sans-serif}button,select,input{font:inherit}.pwa-shell{background:var(--pwa-bg);min-height:100dvh;padding:var(--pwa-safe-top) 0 var(--pwa-safe-bottom)}.pwa-content{width:min(100%,var(--pwa-content-width));margin:auto;padding:12px 16px 108px}.pwa-card{background:var(--pwa-surface);border-radius:var(--pwa-radius-card);padding:18px}.pwa-eyebrow{color:var(--pwa-accent);letter-spacing:.12em;font-size:11px}.pwa-section-title{color:var(--pwa-label-2);margin-left:12px}.athlete-header{margin-bottom:26px}.pwa-button{background:var(--pwa-accent);color:#000;border:0;border-radius:10px;padding:10px 14px;font-weight:700}.pwa-muted,.athlete-placeholder{color:var(--pwa-label-2)}.row-between{justify-content:space-between;align-items:center;display:flex}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0;display:grid}.stats-grid strong,.stats-grid span{display:block}.stats-grid strong{font-size:26px}.stats-grid span{color:var(--pwa-label-2);margin-top:4px;font-size:12px}.athlete-tabs{z-index:2;width:min(100%,560px);padding:8px 8px calc(8px + var(--pwa-safe-bottom));background:#1c1c1ef5;grid-template-columns:repeat(4,1fr);gap:2px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.athlete-tabs button{color:var(--pwa-label-2);background:0 0;border:0;padding:8px 2px;font-size:11px}.athlete-tabs button.active{color:var(--pwa-accent)}.settings-list{gap:1px;padding:0;display:grid;overflow:hidden}.settings-list label{background:var(--pwa-surface);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.settings-list select{color:var(--pwa-accent);background:var(--pwa-surface-2);border:0;border-radius:8px;padding:6px 8px}.plan-days{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.plan-day{justify-content:space-between;gap:8px;padding:13px;display:flex}.plan-day span{color:var(--pwa-label-2);text-align:right}.plan-routines,.workout-routines,.library-list,.history-list,.notification-list,.stats-list{gap:8px;display:grid}.plan-routine{grid-template-columns:32px 1fr auto;align-items:center;gap:8px;display:grid}.library-search{border:1px solid var(--pwa-surface-2);background:var(--pwa-surface);width:100%;color:var(--pwa-label);border-radius:10px;margin:0 0 12px;padding:12px}.library-item,.workout-choice,.history-item{text-align:left;color:var(--pwa-label);border:0;grid-template-columns:32px 1fr;width:100%;display:grid}.library-item small,.workout-choice span,.history-item span,.history-item small{color:var(--pwa-label-2);margin-top:3px;display:block}.library-detail{margin-top:12px}.exercise-gif{object-fit:contain;border-radius:10px;width:100%;max-height:280px;margin:14px 0;display:block}.workout-progress{background:var(--pwa-surface-2);border-radius:5px;height:5px;margin:12px 0 18px}.workout-progress i{background:var(--pwa-accent);border-radius:5px;height:100%;display:block}.workout-entry{margin-bottom:12px;padding:0;overflow:hidden}.workout-entry h2{padding:0 16px;font-size:17px}.workout-entry label{border-top:1px solid var(--pwa-surface-2)}.workout-entry label span:nth-child(2){color:var(--pwa-label-2);margin-left:auto}.set-done{color:var(--pwa-accent)}.history-item{grid-template-columns:1fr auto}.history-item small{grid-column:1/-1}.history-entry{border-top:1px solid var(--pwa-surface-2);padding:12px 0}.history-set{color:var(--pwa-label-2);margin:5px 5px 0 0;display:inline-block}.notification-item{color:var(--pwa-label);justify-content:space-between;gap:12px;text-decoration:none;display:flex}.notification-item p{color:var(--pwa-label-2);margin:6px 0 0}.notification-item time{white-space:nowrap;color:var(--pwa-label-2);font-size:12px}.notification-item.unread{box-shadow:inset 2px 0 var(--pwa-accent)}.stats-body{margin:12px 0}.stats-row{justify-content:space-between;gap:12px;display:flex}.stats-row span{color:var(--pwa-label-2);text-align:right}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
