:root{--color-bg:#f5f7fa;--color-surface:#fff;--color-subtle:#f8fafc;--color-text:#101828;--color-secondary:#475467;--color-tertiary:#667085;--color-border:#e4e7ec;--color-divider:#eaecf0;--color-primary:#1677ff;--color-primary-pressed:#0958d9;--color-primary-soft:#eaf3ff;--color-success:#12b76a;--color-success-soft:#ecfdf3;--color-warning:#f79009;--color-warning-soft:#fff7e8;--color-danger:#f04438;--color-danger-soft:#fff1f0;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:var(--color-bg);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;border-radius:12px;min-height:44px;padding:10px 14px;font-weight:650;transition:background .15s,transform .15s}button:active{transform:scale(.98)}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}#root,.app-shell{min-height:100vh}.app-shell{background:var(--color-bg)}.app-content{width:min(100%,640px);min-height:calc(100vh - 84px);padding:20px 16px calc(100px + env(safe-area-inset-bottom));margin:0 auto}.page{gap:16px;display:grid}.page h1{color:var(--color-text);letter-spacing:-.035em;margin:0;font-size:28px;line-height:1.25}.eyebrow{color:var(--color-tertiary);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.page-heading,.exercise-row,.family-row,.row-actions,.inline-form,.quick-family{align-items:center;gap:12px;display:flex}.page-heading{justify-content:space-between;margin-bottom:4px}.page-heading h1{margin:0}.top-bar{grid-template-columns:1fr auto 1fr;align-items:center;min-height:44px;margin:-4px 0 4px;display:grid}.top-bar h1{letter-spacing:-.01em;font-size:17px}.top-bar__side{align-items:center;min-width:44px;display:flex}.top-bar__side--end{justify-content:flex-end}.top-bar a{color:var(--color-secondary);font-size:14px;text-decoration:none}.primary-link,.text-link{border-radius:12px;justify-content:center;align-items:center;min-height:44px;font-weight:700;text-decoration:none;display:inline-flex}.primary-link,.primary-button{color:#fff;background:var(--color-primary)}.primary-button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.primary-link{white-space:nowrap;padding:10px 14px}.primary-link:hover,.primary-button:hover{background:var(--color-primary-pressed)}.text-link{color:var(--color-primary)}.quiet-button,.row-actions button,.inline-form button,.quick-family button{color:var(--color-primary);background:var(--color-primary-soft)}.danger-button{color:var(--color-danger)!important;background:var(--color-danger-soft)!important}.icon-button{width:40px;min-width:40px;min-height:40px;color:var(--color-secondary);background:0 0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.icon-button:hover{background:var(--color-subtle)}.app-icon{display:block}.search-field,.exercise-form>label,.exercise-form fieldset>label,.inline-form label,.quick-family label,.record-composer label{color:var(--color-secondary);gap:6px;font-size:14px;font-weight:650;display:grid}.search-field{margin:0}input,select{border:1px solid var(--color-border);width:100%;min-height:44px;color:var(--color-text);background:var(--color-surface);border-radius:10px;padding:10px 12px;font-size:16px}input:focus,select:focus{outline:3px solid color-mix(in srgb, var(--color-primary) 20%, transparent);border-color:var(--color-primary)}.field-hint,.exercise-row__main span,.family-management>p{color:var(--color-tertiary);font-size:14px;line-height:1.5}.exercise-groups,.exercise-form,.family-management,.settings-page,.statistics-page,.exercise-statistics-page{gap:16px;display:grid}.exercise-group,.family-management,.exercise-form,.settings-card,.backup-summary,.summary-card,.statistics-section,.empty-state,.workout-card,.session-header{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;padding:16px}.exercise-group h2,.family-management h2,.settings-card h2,.backup-summary h3,.statistics-section h2,.statistics-section h3{color:var(--color-text);margin:0;font-size:17px}.exercise-list,.family-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.exercise-row,.family-row{border-top:1px solid var(--color-divider);justify-content:space-between;min-width:0;padding:12px 0}.exercise-list li:first-child .exercise-row,.exercise-list li:first-child>.exercise-row__main,.family-list li:first-child .family-row{border-top:0}.exercise-row__main{gap:3px;min-width:0;padding:12px 0;text-decoration:none;display:grid}.exercise-row__main strong,.exercise-row__main span,.family-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-actions{flex:none}.row-actions button{min-height:40px;padding:8px 10px}.exercise-form fieldset{border:1px solid var(--color-border);border-radius:12px;margin:0;padding:14px}.exercise-form legend{color:var(--color-secondary);padding:0 4px;font-weight:700}.schema-grid,.record-composer{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.choice-list{gap:12px;display:grid}.choice-list label{align-items:center;gap:8px;display:flex}.choice-list input{width:20px;min-height:20px}.inline-form,.quick-family{flex-wrap:wrap;align-items:end}.inline-form label,.quick-family label{flex:12rem}.form-error,.form-warning,.inline-feedback{border-radius:12px;margin:0;padding:12px;font-size:14px;line-height:1.45}.form-error{color:#b42318;background:var(--color-danger-soft)}.form-warning,.inline-feedback{color:#8a5700;background:var(--color-warning-soft)}.empty-state{text-align:center;color:var(--color-tertiary);place-items:center;padding:32px 20px}.empty-state h2,.empty-state p{margin:0}.empty-state h2{color:var(--color-text);font-size:17px}.empty-state__mark{width:48px;height:48px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:16px;place-items:center;display:grid}.settings-card,.backup-summary{gap:12px}.settings-card h2,.backup-summary h3,.settings-card p,.backup-summary p{margin:0}.backup-summary{background:var(--color-subtle)}.backup-summary ul{gap:4px;margin:0;padding-left:20px;display:grid}.statistics-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.summary-card{gap:4px;display:grid}.summary-card span,.summary-card small{color:var(--color-tertiary)}.summary-card strong,.metric-value{color:var(--color-text);font-variant-numeric:tabular-nums;margin:0;font-size:22px}.statistics-section{gap:12px;display:grid}.statistics-section h2,.statistics-section h3{margin:0}.statistics-section .exercise-group{z-index:1;position:relative}.heatmap{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.active-day-list{gap:8px;margin:0;padding-bottom:2px;display:flex;overflow-x:auto}.heatmap-day{color:#98a2b3;background:var(--color-subtle);border-radius:8px;place-items:center;min-width:0;min-height:32px;padding:4px;font-size:11px;display:grid}.heatmap-day--active{color:#fff;background:var(--color-primary)}.trend-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.trend-list li,.filter-buttons{justify-content:space-between;align-items:center;gap:12px;display:flex}.trend-chart{gap:12px;display:grid}.trend-chart svg{width:100%;height:128px;color:var(--color-primary);border-bottom:1px solid var(--color-border);overflow:visible}.trend-chart circle{fill:var(--color-primary)}.trend-tooltip{color:var(--color-secondary);margin:0}.filter-buttons{flex-wrap:wrap;justify-content:flex-start}.workout-card{color:inherit;gap:6px;text-decoration:none;display:grid}.workout-card:hover{border-color:#b2ddff}.workout-card__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.workout-card__date{font-weight:750}.workout-card__meta{color:var(--color-tertiary);font-size:14px}.unfinished-card{background:var(--color-warning-soft);border-color:#fedf89}.session-header{gap:14px;display:grid}.session-header__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.session-header__grid span{color:var(--color-tertiary);gap:3px;font-size:12px;display:grid}.session-header__grid strong{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:14px}.exercise-card__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.exercise-card__header h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.record-list{gap:0;margin:4px 0 0;display:grid}.record-row{border-top:1px solid var(--color-divider);grid-template-columns:28px 1fr auto;align-items:center;gap:8px;min-height:44px;display:grid}.record-row__index{color:var(--color-tertiary);font-variant-numeric:tabular-nums;font-size:13px}.record-row__value{color:var(--color-secondary);font-variant-numeric:tabular-nums;font-size:14px}.record-composer{padding-top:12px}.record-composer label{font-size:13px}.record-composer input{min-height:42px;padding:8px 10px}.record-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sticky-actions{z-index:3;bottom:calc(70px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);padding:12px 16px calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;grid-template-columns:1fr 1fr;gap:10px;margin:8px -16px -16px;display:grid;position:sticky}.sheet-backdrop{z-index:30;background:#10182861;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:min(100%,640px);max-height:min(82vh,700px);padding:8px 16px calc(20px + env(safe-area-inset-bottom));background:var(--color-surface);border-radius:20px 20px 0 0;overflow:auto;box-shadow:0 -12px 36px #10182829}.sheet__handle{background:var(--color-border);border-radius:999px;width:36px;height:4px;margin:0 auto 10px}.sheet__header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.sheet__header h2{margin:0;font-size:18px}.sheet__content{gap:12px;display:grid}.bottom-navigation{z-index:10;border-top:1px solid var(--color-border);padding:7px 4px calc(7px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #1018280d}.bottom-navigation__item{min-height:48px;color:var(--color-tertiary);border-radius:10px;align-content:center;place-items:center;gap:2px;font-size:11px;font-weight:650;text-decoration:none;display:grid}.bottom-navigation__item--active{color:var(--color-primary)}.bottom-navigation__item .app-icon{width:20px;height:20px}.bottom-navigation__item:focus-visible,button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #b2ddff}.update-prompt{z-index:20;right:16px;bottom:calc(80px + env(safe-area-inset-bottom));color:#eff6ff;background:#101828;border-radius:16px;width:min(100% - 32px,480px);margin:0 auto;padding:16px;position:fixed;left:16px;box-shadow:0 16px 32px #0f172a40}.update-prompt p{margin:0}.update-prompt__actions{gap:12px;margin-top:12px;display:flex}.update-prompt button{color:#eff6ff;background:#344054;flex:1}.update-prompt button:last-child{color:#fff;background:var(--color-primary)}@media (width<=400px){.app-content{padding-left:12px;padding-right:12px}.schema-grid,.record-composer{grid-template-columns:1fr}.page-heading,.exercise-row,.family-row{flex-direction:column;align-items:stretch}.primary-link,.row-actions,.row-actions button,.quiet-button{width:100%}.session-header__grid{grid-template-columns:1fr}}@media (width>=768px){.app-shell{border:1px solid var(--color-border);border-radius:20px;width:min(100% - 32px,672px);margin:20px auto;overflow:hidden;box-shadow:0 16px 40px #10182814}.bottom-navigation{width:min(100% - 32px,672px);left:50%;right:auto;transform:translate(-50%)}}
