:root{--color-bg:#faf4ed;--color-surface:#fffaf3;--color-surface-alt:#f2e9e1;--color-primary:#286983;--color-primary-dark:#1f5366;--color-primary-light:#e6eef0;--color-text:#575279;--color-text-secondary:#797593;--color-success:#56949f;--color-success-light:#e9eef0;--color-warning:#ea9d34;--color-warning-light:#f7eed6;--color-danger:#b4637a;--color-danger-light:#f1e3e6;--color-border:#ece2de;--color-border-strong:#d8c9c1;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px 0 #3c32460d;--shadow-md:0 2px 8px -2px #3c324612, 0 1px 3px -1px #3c32460d;--shadow-lg:0 8px 24px -8px #3c32461a, 0 2px 6px -2px #3c32460f}*{box-sizing:border-box}html{min-height:100%;font-size:16px}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100%;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.6}.icon{vertical-align:middle;flex-shrink:0;display:inline-flex}.app-header .badge .icon{color:var(--color-primary-dark)}.card-title .icon{color:var(--color-primary)}.tip-box strong .icon,.tip-box .icon{color:var(--color-warning);vertical-align:-2px;margin-right:2px}.tip-box.progression strong .icon,.tip-box.progression .icon,.video-link .icon{color:var(--color-primary)}.error .icon,.success-message .icon{margin-right:4px}.empty-state-icon{color:var(--color-text-secondary)}.app{max-width:960px;min-height:100dvh;margin:0 auto;padding:24px 16px 48px}.app-header{background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);margin-bottom:24px;padding:22px 24px 20px;position:relative;overflow:hidden}.app-header:before{content:"";background:var(--color-primary);opacity:.85;width:4px;position:absolute;inset:0 auto 0 0}.app-header-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.app-header-titles{min-width:0}.app-header h1{letter-spacing:-.01em;color:var(--color-text);margin:0 0 4px;font-size:1.6rem;font-weight:700}.app-header p{color:var(--color-text-secondary);margin:0;font-size:.98rem}.app-header .badge{background:var(--color-primary-light);color:var(--color-primary-dark);border-radius:999px;align-items:center;gap:6px;margin-top:16px;padding:6px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.logout-button{flex-shrink:0;margin-top:2px}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);margin-bottom:20px;padding:22px}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-title{color:var(--color-text);letter-spacing:-.005em;align-items:center;gap:10px;margin:0;font-size:1.1rem;font-weight:700;display:flex}.card-subtitle{color:var(--color-text-secondary);margin:4px 0 0;font-size:.9rem}.exercise-list{flex-direction:column;gap:12px;display:flex}.exercise-card{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:box-shadow .2s,border-color .2s;overflow:hidden}.exercise-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.exercise-header{cursor:pointer;background:var(--color-surface);text-align:left;width:100%;font:inherit;border:none;align-items:center;gap:14px;padding:16px;display:flex}.exercise-number{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:.9rem;font-weight:700;display:grid}.exercise-number.warmup{background:var(--color-warning)}.exercise-title-block{flex:1;min-width:0}.exercise-title-block h3{color:var(--color-text);margin:0;font-size:1.05rem;font-weight:600}.exercise-english{color:var(--color-text-secondary);margin-top:2px;font-size:.85rem;font-weight:400;display:block}.exercise-meta{flex-direction:column;align-items:flex-end;gap:6px;min-width:0;display:flex}.exercise-sets{color:var(--color-success);overflow-wrap:anywhere;text-align:right;max-width:100%;font-size:.95rem;font-weight:700}.exercise-weight{color:var(--color-primary);font-size:.85rem;font-weight:700}.exercise-toggle{color:var(--color-text-secondary);font-size:.8rem}.exercise-body{border-top:1px solid var(--color-border);background:var(--color-surface);padding:0 16px 16px;animation:.2s slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.target-muscles{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.target-muscle{background:var(--color-primary-light);color:var(--color-primary-dark);border-radius:999px;padding:4px 10px;font-size:.8rem;font-weight:600}.tip-box{background:var(--color-warning-light);border-left:4px solid var(--color-warning);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-text);margin:12px 0;padding:12px;font-size:.92rem}.tip-box strong{color:#a6741f}.tip-box.progression{background:var(--color-primary-light);border-left-color:var(--color-primary)}.tip-box.progression strong{color:var(--color-primary-dark)}.instructions{color:var(--color-text);margin:12px 0 0;padding-left:18px;font-size:.95rem}.instructions li{margin-bottom:6px}.video-link{color:var(--color-primary);align-items:center;gap:6px;margin-top:10px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.video-link:hover{text-decoration:underline}.chat-container{flex-direction:column;height:560px;display:flex}.messages{background:var(--color-surface-alt);border-radius:var(--radius-md);border:1px solid var(--color-border);flex:1;margin-bottom:16px;padding:14px;overflow-y:auto}.empty-state{text-align:center;color:var(--color-text-secondary);padding:40px 20px}.empty-state-icon{justify-content:center;margin-bottom:12px;font-size:2.5rem;display:inline-flex}.chat-context-guide{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);text-align:left;gap:2px;max-width:560px;margin:16px auto 0;padding:10px 12px;font-size:.9rem;line-height:1.4;display:grid}.chat-context-guide strong{color:var(--color-text)}.message{align-items:flex-end;gap:10px;margin-bottom:14px;display:flex}.message.user{flex-direction:row-reverse}.message-avatar{border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:.9rem;display:grid}.message-avatar.user{background:var(--color-primary);color:#fff}.message-avatar.assistant{background:var(--color-primary-light)}.message-bubble{border-radius:var(--radius-md);white-space:pre-wrap;max-width:75%;padding:12px 14px;font-size:.95rem;line-height:1.5}.message-bubble.user{background:var(--color-primary);color:#fff;border-bottom-right-radius:4px}.message-bubble.assistant{background:var(--color-surface);border:1px solid var(--color-border);border-bottom-left-radius:4px}.chat-job-progress{gap:7px;max-width:min(82%,560px);display:grid}.chat-job-progress-main{align-items:center;gap:9px;display:flex}.chat-job-progress small,.coach-job-progress small{color:var(--color-text-secondary);line-height:1.4}.message-bubble.assistant .markdown{white-space:normal;word-wrap:break-word;overflow-wrap:anywhere}.message-bubble.assistant .markdown>:last-child{margin-bottom:0}.message-bubble.assistant .markdown p{margin:0 0 .6em}.message-bubble.assistant .markdown ul,.message-bubble.assistant .markdown ol{margin:0 0 .6em;padding-left:1.4em}.message-bubble.assistant .markdown li{margin:.15em 0}.message-bubble.assistant .markdown li>input[type=checkbox]{margin-right:.4em}.message-bubble.assistant .markdown h1,.message-bubble.assistant .markdown h2,.message-bubble.assistant .markdown h3,.message-bubble.assistant .markdown h4,.message-bubble.assistant .markdown h5,.message-bubble.assistant .markdown h6{margin:.5em 0 .3em;font-weight:600;line-height:1.25}.message-bubble.assistant .markdown h1{font-size:1.3rem}.message-bubble.assistant .markdown h2{font-size:1.15rem}.message-bubble.assistant .markdown h3{font-size:1.05rem}.message-bubble.assistant .markdown h4{font-size:1rem}.message-bubble.assistant .markdown h5{font-size:.95rem}.message-bubble.assistant .markdown h6{font-size:.9rem}.message-bubble.assistant .markdown strong{font-weight:600}.message-bubble.assistant .markdown em{font-style:italic}.message-bubble.assistant .markdown code{background:var(--color-bg);border-radius:4px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.message-bubble.assistant .markdown pre{color:#e0def4;background:#191724;border-radius:6px;margin:0 0 .6em;padding:10px 12px;overflow-x:auto}.message-bubble.assistant .markdown pre code{color:inherit;background:0 0;padding:0;font-size:.85em}.message-bubble.assistant .markdown blockquote{border-left:3px solid var(--color-border);color:var(--color-text-secondary);margin:0 0 .6em;padding-left:.8em}.message-bubble.assistant .markdown a{color:var(--color-primary);text-decoration:underline}.message-bubble.assistant .markdown table{border-collapse:collapse;margin:.4em 0;display:block;overflow-x:auto}.message-bubble.assistant .markdown th,.message-bubble.assistant .markdown td{border:1px solid var(--color-border);text-align:left;padding:4px 8px}.message-bubble.assistant .markdown th{background:var(--color-surface-alt);font-weight:600}.message-bubble.assistant .markdown hr{border:none;border-top:1px solid var(--color-border);margin:.6em 0}.message-time{color:var(--color-text-secondary);text-align:right;margin-top:4px;font-size:.7rem}.proposals-container{flex-direction:column;gap:12px;margin-top:16px;display:flex}.proposal-bulk-actions{justify-content:flex-end;gap:8px;padding:8px 0;display:flex}.proposal{background:var(--color-surface);border:1px solid var(--color-border-strong);border-left:4px solid var(--color-warning);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-top:0;padding:16px}.proposal h4{color:var(--color-text);align-items:center;gap:8px;margin:0 0 10px;font-size:1rem;display:flex}.proposal h4 .icon{color:var(--color-warning)}.proposal-description{color:var(--color-text);margin:0 0 12px;font-size:.93rem;line-height:1.5}.proposal-fields{flex-direction:column;gap:8px;margin:0 0 14px;display:flex}.proposal-field{background:var(--color-surface-alt);border-radius:var(--radius-sm);grid-template-columns:minmax(120px,.4fr) 1fr;align-items:baseline;gap:12px;padding:8px 10px;display:grid}.proposal-field dt{color:var(--color-text-secondary);margin:0;font-size:.8rem;font-weight:600}.proposal-field dd{color:var(--color-text);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:.9rem;display:flex}.proposal-from{color:var(--color-text-secondary);text-decoration:line-through;-webkit-text-decoration-color:var(--color-danger);text-decoration-color:var(--color-danger);text-decoration-thickness:2px}.proposal-to{color:var(--color-text);font-weight:600}.proposal-arrow{color:var(--color-primary);font-weight:700}.proposal-actions{gap:10px;margin-top:14px;display:flex}.model-selector{background:var(--color-surface-alt);border-radius:var(--radius-md);border:1px solid var(--color-border);align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;display:flex}.model-selector label{color:var(--color-text-secondary);font-size:.9rem;font-weight:600}.model-selector select{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);min-width:160px;padding:8px 12px;font-size:.95rem}.chat-context-selector{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);min-width:0;margin:0 0 14px;padding:10px 12px 12px}.chat-context-selector legend{color:var(--color-text-secondary);padding:0 5px;font-size:.85rem;font-weight:700}.chat-context-options{flex-wrap:wrap;gap:8px;display:flex}.chat-context-option{cursor:pointer;flex:150px;position:relative}.chat-context-option input{opacity:0;width:1px;height:1px;position:absolute}.chat-context-option span{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-height:38px;color:var(--color-text-secondary);text-align:center;justify-content:center;align-items:center;padding:7px 10px;font-size:.88rem;font-weight:600;transition:border-color .2s,background .2s,color .2s;display:flex}.chat-context-option input:checked+span{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-dark)}.chat-context-option input:focus-visible+span{outline:3px solid var(--color-primary-light);outline-offset:2px}.chat-exercise-selector{grid-template-columns:auto minmax(180px,1fr);align-items:center;gap:6px 10px;margin-top:10px;display:grid}.chat-exercise-selector label{font-size:.88rem;font-weight:700}.chat-exercise-selector select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-width:0;color:var(--color-text);font:inherit;padding:8px 10px;font-size:.92rem}.chat-exercise-selector select:focus-visible{outline:3px solid var(--color-primary-light);border-color:var(--color-primary)}.chat-context-help{color:var(--color-danger);grid-column:2;margin:0;font-size:.82rem}.chat-input{gap:10px;min-width:0;display:flex}.chat-input input{border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;flex:auto;min-width:0;padding:12px 14px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.chat-input .btn{white-space:nowrap;flex:none}.chat-input input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:.95rem;font-weight:600;transition:background .2s,border-color .2s,transform .1s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background:#447a85}.btn-secondary{color:var(--color-text);border-color:var(--color-border-strong);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--color-surface-alt);border-color:var(--color-text-secondary)}.btn-outline{border-color:var(--color-border-strong);color:var(--color-primary);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, transparent)}.workout-session-actions{flex-wrap:wrap;gap:8px;display:flex}.workout-start-actions{gap:8px;display:grid}.workout-guided-start{width:100%;min-height:52px;font-size:1rem}.session-gym-loading{color:var(--color-text-secondary);align-items:center;gap:6px;margin-bottom:14px;padding:8px 12px;font-size:.9rem;display:flex}.gym-picker{margin-bottom:12px}.gym-picker-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.gym-picker-heading .choice-heading{margin-bottom:2px}.gym-picker-heading p{color:var(--color-text-secondary);margin:0;font-size:.82rem;line-height:1.35}.gym-manage-button,.gym-edit-button,.guided-edit-details{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:700}.gym-manage-button{flex:none;min-height:44px;margin-top:-7px;padding:6px 4px 6px 12px}.gym-manage-button:disabled{opacity:.45;cursor:wait}.gym-choice-list{margin-bottom:0}.gym-choice{background:var(--color-surface);min-height:54px}.gym-choice-ring{border:2px solid var(--color-border-strong);border-radius:50%;width:18px;height:18px}.gym-empty-action{border:1px dashed var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary-light);width:100%;min-height:54px;color:var(--color-primary-dark);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:8px;font-weight:700;display:flex}.gym-connection-state{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-height:72px;padding:12px 14px;display:grid}.gym-connection-state>span:not(.gym-connection-spinner){gap:2px;display:grid}.gym-connection-state strong{color:var(--color-text);font-size:.92rem}.gym-connection-state small{color:var(--color-text-secondary);font-size:.8rem;line-height:1.4}.gym-connection-state.error{border-color:color-mix(in srgb, var(--color-danger) 32%, var(--color-border));background:var(--color-danger-light);grid-template-columns:auto minmax(0,1fr) auto}.gym-connection-state.error>.icon{color:var(--color-danger)}.gym-connection-state.error .btn{white-space:nowrap;min-height:42px}.gym-connection-spinner{border:2px solid var(--color-border-strong);border-top-color:var(--color-primary);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite gym-connection-spin}@keyframes gym-connection-spin{to{transform:rotate(360deg)}}.gym-sheet-backdrop{z-index:110;background:#0f172a7a;align-items:end;display:grid;position:fixed;inset:0}.gym-sheet{width:min(560px,100%);max-height:min(86dvh,760px);padding:18px 18px max(18px, env(safe-area-inset-bottom,0px));background:var(--color-surface);border-radius:20px 20px 0 0;margin-inline:auto;overflow-y:auto;box-shadow:0 -12px 40px #0f172a33}.gym-sheet-eyebrow{color:var(--color-text-secondary);letter-spacing:.06em;text-transform:uppercase;margin:0 0 2px;font-size:.72rem;font-weight:800}.gym-management-list{gap:8px;margin-bottom:14px;display:grid}.gym-management-row{border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) 48px;min-height:54px;display:grid;overflow:hidden}.gym-management-select{min-width:0;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-weight:700;display:flex}.gym-management-select small{color:var(--color-success);font-size:.75rem}.gym-edit-button{border-left:1px solid var(--color-border);place-items:center;display:grid}.gym-add-button{width:100%}.gym-form{gap:16px;display:grid}.gym-form h3,.gym-form p{margin:0}.gym-form p{color:var(--color-text-secondary);margin-top:4px;font-size:.86rem}.gym-form-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.loading{text-align:center;color:var(--color-text-secondary);padding:40px}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;margin:0 auto 12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error{background:var(--color-danger-light);color:var(--color-danger);border-radius:var(--radius-md);border:1px solid #d8b3bd;padding:16px}.success-message{background:var(--color-success-light);color:var(--color-success);border-radius:var(--radius-md);border:1px solid #b9d2d6;padding:12px 16px;font-weight:600}.profile-form{flex-direction:column;gap:20px;display:flex}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{color:var(--color-text);font-size:.95rem;font-weight:700}.field-description{color:var(--color-text-secondary);margin:0 0 4px;font-size:.85rem;line-height:1.4}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;padding:10px 12px;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-field textarea{resize:vertical;min-height:100px}.list-item-row{gap:8px;margin-bottom:8px;display:flex}.list-item-row input{flex:1}.form-actions{border-top:1px solid var(--color-border);justify-content:flex-end;padding-top:8px;display:flex}.login-page{place-items:center;display:grid}.login-card{width:min(100%,420px)}.login-card h1{margin:0 0 6px}.login-form{flex-direction:column;gap:16px;margin-top:20px;display:flex}.log-history{flex-direction:column;gap:12px;display:flex}.log-entry{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px}.log-entry-header,.log-exercise{justify-content:space-between;gap:12px;display:flex}.guided-workout{max-width:920px;margin-inline:auto}.guided-workout>section,.card.guided-workout>section,.guided-workout{--guided-space-1:4px;--guided-space-2:8px;--guided-space-3:12px;--guided-space-4:16px;--guided-space-5:24px;--guided-control-height:44px;--guided-radius-control:10px;--guided-radius-surface:12px}.guided-toolbar,.guided-timer{justify-content:space-between;align-items:center;gap:12px;display:flex}.guided-toolbar{border-bottom:1px solid var(--color-border);grid-template-columns:1fr auto auto auto;align-items:center;gap:12px;padding-bottom:14px;display:grid}.guided-toolbar-title{color:var(--color-text-secondary);font-size:.9rem}.guided-toolbar-action{color:var(--color-text-secondary);background:0 0;justify-self:start;padding:7px 9px}.guided-toolbar-action:hover:not(:disabled){background:var(--color-surface-alt);color:var(--color-text)}.guided-coach-button{border:1px solid var(--color-primary);background:var(--color-primary-light);min-height:42px;color:var(--color-primary-dark);padding:8px 12px}.guided-discard{color:var(--color-danger)}.guided-toolbar-menu{justify-self:end;position:relative}.guided-toolbar-menu summary{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;place-items:center;list-style:none;display:grid}.guided-toolbar-menu summary::-webkit-details-marker{display:none}.guided-toolbar-menu summary:hover{background:var(--color-surface-alt)}.guided-toolbar-menu>div{z-index:5;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:max-content;box-shadow:var(--shadow-md);padding:6px;position:absolute;top:calc(100% + 6px);right:0}.guided-timer-wrap{margin:10px 0}.guided-timer{border-radius:var(--radius-md);background:var(--color-surface-alt);padding:8px 10px;font-size:.95rem}.guided-timer-actions,.guided-navigation{flex-wrap:wrap;gap:8px;display:flex}.guided-timer-actions .btn{min-height:44px;padding-block:6px}.guided-exercise-picker{margin:12px 0 16px}.session-save-status{top:max(12px, env(safe-area-inset-top));z-index:80;border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:999px;align-items:center;gap:6px;max-width:min(86vw,420px);padding:9px 16px;font-size:.85rem;font-weight:600;animation:.18s ease-out session-save-status-in;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0f172a29}.ui-update-banner{z-index:75;top:max(8px, env(safe-area-inset-top));border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary-light);box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex;position:sticky}.ui-update-banner>div{gap:2px;display:grid}.ui-update-banner span{color:var(--color-text-secondary);font-size:.82rem}.ui-update-banner .btn{flex:none}.ui-reload-control{gap:10px;margin-top:16px;display:grid}.ui-reload-control>:is(h2,p){margin:0}@media (width<=480px){.ui-update-banner{flex-direction:column;align-items:stretch}.ui-update-banner .btn{width:100%}}@media (width<=759px){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}button,a,summary,.guided-rir-chip{touch-action:manipulation}}@keyframes session-save-status-in{0%{opacity:0;transform:translate(-50%)translateY(-6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.guided-exercise-picker-toggle{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;transition:border-color .2s,box-shadow .2s;display:grid}.guided-exercise-picker-toggle:hover,.guided-exercise-picker-toggle[aria-expanded=true]{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.guided-exercise-picker-toggle>.icon{color:var(--color-text-secondary);transition:transform .2s}.guided-exercise-picker-toggle>.icon.open{transform:rotate(180deg)}.guided-group-chip{background:color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-primary);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-self:start;padding:3px 8px;font-size:.66rem;font-weight:800;line-height:1.4}.guided-group-chip.warmup{color:#b46f17;background:#b46f1724}.guided-picker-current{gap:1px;min-width:0;display:grid}.guided-picker-current strong{overflow-wrap:anywhere;font-size:1rem;font-weight:700;line-height:1.32}.guided-picker-current small{color:var(--color-text-secondary);font-size:.78rem}.guided-picker-current>small:last-child{color:var(--color-text-secondary);font-size:.75rem}.guided-status-track{gap:4px;height:4px;margin:9px 4px 0;display:flex}.guided-status-segment{background:var(--color-border-strong);border-radius:999px;flex:1;min-width:3px}.guided-status-segment.partial{background:var(--color-warning)}.guided-status-segment.complete{background:var(--color-success)}.guided-status-segment.skipped{background:var(--color-text-secondary)}.guided-status-segment.active{background:var(--color-primary)}.guided-status-segment.group-start{margin-left:8px}.guided-exercise-picker-panel{overscroll-behavior:contain;min-height:0;padding:8px;overflow-y:auto}.guided-exercise-picker-layer{z-index:120;align-items:end;display:grid;position:fixed;inset:0}.guided-exercise-picker-backdrop{cursor:default;background:#0f172a7a;border:0;width:100%;position:absolute;inset:0}.guided-exercise-picker-dialog{width:min(680px,100%);max-height:min(86dvh,760px);padding:16px 10px max(14px, env(safe-area-inset-bottom,0px));background:var(--color-surface);border-radius:20px 20px 0 0;grid-template-rows:auto minmax(0,1fr);margin-inline:auto;display:grid;position:relative;overflow:hidden;box-shadow:0 -14px 42px #0f172a38}.guided-exercise-picker-dialog>.guided-sheet-header{border-bottom:1px solid var(--color-border);margin:0;padding:0 8px 10px}.guided-exercise-group+.guided-exercise-group{border-top:1px solid var(--color-border-strong);margin-top:14px;padding-top:12px}.guided-exercise-group h3{color:var(--color-text-secondary);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:baseline;margin:2px 4px 7px;font-size:.78rem;display:flex}.guided-exercise-group h3 small{letter-spacing:0;text-transform:none;font-size:.7rem;font-weight:500}.guided-exercise-picker-item{border-radius:var(--radius-sm);width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:space-between;gap:8px;padding:9px 10px;display:flex}.guided-exercise-picker-item+.guided-exercise-picker-item{margin-top:3px}.guided-exercise-picker-item small{color:var(--color-text-secondary)}.guided-exercise-picker-item.active{border-color:var(--color-primary);background:var(--color-primary-light)}.guided-exercise-picker-item.complete{background:var(--color-success-light)}.guided-exercise-picker-item.partial{background:var(--color-warning-light)}.guided-exercise-picker-item.skipped{color:var(--color-text-secondary)}.guided-progress,.guided-target{color:var(--color-text-secondary);font-weight:600}.guided-previous{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);margin:10px 0;padding:9px 11px}.guided-coaching-cue{border-left:4px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary-light);align-items:flex-start;gap:9px;margin:10px 0;padding:10px 12px;line-height:1.45;display:flex}.guided-coaching-cue .icon{color:var(--color-primary);flex:none;margin-top:2px}.guided-workout-guidance{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);margin:10px 0;padding:10px 12px}.guided-workout-guidance summary{color:var(--color-text-secondary);cursor:pointer;font-weight:700}.guided-workout-guidance[open] summary{color:var(--color-text);margin-bottom:10px}.guided-workout-guidance ul{margin:8px 0;padding-left:20px}.guided-quick-checklist{columns:2;column-gap:24px}@media (width<=520px){.guided-quick-checklist{columns:1}}.guided-set-form{gap:12px;margin-top:14px;display:grid}.guided-set-workspace{outline:none;gap:12px;display:grid}.guided-number-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.guided-number-grid.single{grid-template-columns:minmax(0,1fr)}.guided-plan.reps-only p{color:var(--color-text-secondary);margin:6px 0 0;font-size:.85rem}.guided-reps-grid{gap:10px;display:grid}.guided-reps-set{grid-template-columns:68px minmax(0,1fr);align-items:center;gap:10px;display:grid}.guided-reps-set>span{color:var(--color-text-secondary);font-size:.85rem;font-weight:700}.guided-stepper{gap:4px;display:grid}.guided-stepper-label{color:var(--color-text-secondary,#5b6472);letter-spacing:.02em;padding-left:4px;font-size:.8125rem;font-weight:600}.guided-stepper-control{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:10px;grid-template-columns:44px minmax(0,1fr) 44px;gap:0;min-height:44px;display:grid;overflow:hidden}.guided-stepper-button{background:var(--color-surface-alt);min-width:44px;min-height:44px;color:var(--color-primary);font:inherit;cursor:pointer;border:0;border-radius:0;place-items:center;font-size:1.15rem;font-weight:700;display:grid}.guided-stepper-button:disabled{color:var(--color-text-secondary);opacity:.45;cursor:default}.guided-stepper-value{border:0;border-inline:1px solid var(--color-border);background:var(--color-surface);border-radius:0;justify-content:center;align-items:center;gap:3px;min-width:0;display:flex;position:relative}.guided-stepper-value input{text-align:center;width:100%;min-width:0;min-height:44px;color:var(--color-text);background:0 0;border:0;outline:none;padding-inline:30px;font-size:1.25rem;font-weight:700}.guided-stepper-value input:focus{box-shadow:inset 0 0 0 2px var(--color-primary);border-radius:var(--radius-sm)}.guided-stepper-unit{color:var(--color-text-secondary,#5b6472);white-space:nowrap;pointer-events:none;font-size:.78rem;font-weight:600;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.guided-pain-scale button,.guided-icon-button{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-width:44px;min-height:44px;color:var(--color-text);font:inherit;cursor:pointer;place-items:center;font-weight:700;display:grid}.guided-stepper-button:hover,.guided-pain-scale button:hover,.guided-icon-button:hover{border-color:var(--color-primary)}.guided-pain-scale{border:0;min-width:0;margin:0;padding:0}.guided-pain-scale legend{margin-bottom:6px;font-weight:700}.guided-rir{gap:5px;font-weight:700;display:grid}.guided-rir select{width:100%;min-height:52px;font-weight:600}.guided-pain-scale button.selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.guided-pain-fields{gap:10px;display:grid}.guided-pain-toggle{cursor:pointer;align-items:center;width:fit-content;min-height:44px;grid-template-columns:none!important;gap:8px!important;display:flex!important}.guided-pain-toggle input{width:22px;min-height:22px}.guided-pain-scale>div{grid-template-columns:repeat(11,minmax(38px,1fr));gap:4px;display:grid}.guided-form-feedback{align-items:center;display:grid}.guided-form-feedback .error,.guided-form-feedback .success-message{margin:0}.guided-form-feedback .success-message{align-items:center;gap:6px;display:flex}.guided-primary-action{gap:8px;display:grid}.guided-submit-error{text-align:left;width:min(100%,620px);margin:0 auto}.guided-set-feedback{border:1px solid color-mix(in srgb, var(--color-success) 34%, var(--color-border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-success) 8%, var(--color-surface));padding:12px 14px;gap:5px!important;display:grid!important}.guided-set-feedback>span{align-items:center;gap:6px;display:flex}.guided-set-feedback small{color:var(--color-text-secondary);font-size:.9rem;line-height:1.4}.guided-primary-action .btn{width:100%;min-height:52px}.guided-set-form label{gap:5px;font-weight:600;display:grid}.guided-set-form input,.guided-set-form select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:46px;font:inherit;padding:10px 12px}.guided-exercise-notes{gap:5px;margin-top:18px;font-weight:600;display:grid}.guided-exercise-notes textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:90px;font:inherit;resize:vertical;padding:10px 12px}.guided-details{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);margin-top:14px;padding:11px 12px}.guided-details summary{color:var(--color-text-secondary);cursor:pointer;font-weight:700}.guided-details[open] summary{color:var(--color-text);margin-bottom:12px}.guided-details .guided-exercise-notes{margin-top:0}.log-exercise-notes{margin-top:4px;display:block}.guided-completed-sets{gap:8px;margin:18px 0;display:grid}.guided-completed-sets h3{margin-bottom:2px;font-size:1rem}.guided-completed-set,.guided-duration-result,.guided-skipped{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);padding:12px}.guided-completed-set{justify-content:space-between;align-items:center;gap:12px;display:flex}.guided-set-actions{gap:6px;display:flex}.guided-icon-button.danger{color:var(--color-danger)}.guided-pain-warning{border-left:4px solid var(--color-warning);border-radius:var(--radius-sm);background:var(--color-warning-light);color:var(--color-text);padding:12px}.guided-pain-warning.high{border-left-color:var(--color-danger);background:var(--color-danger-light);color:var(--color-text)}.guided-confirm{grid-template-columns:auto 1fr;align-items:center;margin-top:10px;font-weight:600;display:flex!important}.guided-confirm input{min-height:auto}.guided-navigation{border-top:1px solid var(--color-border);justify-content:space-between;margin-top:22px;padding-top:18px}.guided-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.guided-summary-grid>div{border-radius:var(--radius-sm);background:var(--color-surface-alt);text-align:center;gap:4px;padding:14px;display:grid}.guided-summary-grid strong{font-size:1.25rem}.guided-summary-grid span{color:var(--color-text-secondary);font-size:.85rem}.coach-review{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);margin-top:18px;padding:14px}.coach-review h3{align-items:center;gap:7px;margin-bottom:8px;display:flex}.coach-answer{border-left:4px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary-light);white-space:pre-wrap;padding:12px;line-height:1.55}.coach-job-progress{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);gap:8px;margin-top:12px;padding:12px;display:grid}.coach-job-progress .spinner{width:18px;height:18px;margin:0}.coach-sheet-backdrop{z-index:100;background:#0f172a6b;align-items:end;display:grid;position:fixed;inset:0}.coach-sheet{width:min(680px,100%);max-height:min(82dvh,760px);padding:18px 18px max(18px, env(safe-area-inset-bottom,0px));background:var(--color-surface);border-radius:18px 18px 0 0;margin-inline:auto;overflow-y:auto;box-shadow:0 -12px 40px #0f172a2e}.coach-sheet-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.coach-sheet-header small{color:var(--color-text-secondary)}.coach-sheet-header h2{margin:1px 0 0;font-size:1.15rem}.coach-quick-questions{gap:8px;margin-bottom:14px;display:grid}.coach-quick-questions button{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-alt);min-height:44px;color:var(--color-text);font:inherit;text-align:left;padding:10px 12px}.coach-sheet form{gap:10px;display:grid}.coach-sheet form label{gap:5px;font-weight:700;display:grid}.coach-sheet textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:82px;font:inherit;resize:vertical;padding:10px 12px}.coach-sheet .error,.coach-sheet .coach-answer{margin-top:12px}@media (width<=600px){.guided-workout{padding:14px}.guided-timer{gap:6px}.guided-timer-actions{flex-wrap:nowrap}.guided-timer-actions .btn{padding-inline:9px;font-size:.82rem}.guided-completed-set{align-items:center}.guided-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-toolbar{grid-template-columns:1fr auto auto;gap:6px}.guided-toolbar-title{display:none}.guided-coach-button{padding-inline:10px;font-size:.86rem}.guided-exercise-picker-toggle{gap:10px;padding-inline:11px}.guided-exercise-picker{margin-bottom:14px}.guided-exercise h2{margin-bottom:4px}.guided-progress,.guided-target{margin-block:4px}.guided-number-grid{gap:7px}.guided-pain-scale>div{grid-template-columns:repeat(6,minmax(44px,1fr))}.guided-workout{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.guided-navigation{scroll-margin-bottom:96px}.guided-sticky-action{z-index:10;padding:8px max(14px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #0f172a1a}.guided-sticky-action .btn{max-width:620px;min-height:48px;margin-inline:auto}}@media (width>=760px){.guided-set-workspace{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:start}.guided-number-grid,.guided-rir{grid-column:1}.guided-pain-fields{grid-area:1/2/span 2}}.log-entry-header{margin-bottom:8px}.log-entry-header span,.log-exercise span:last-child{color:var(--color-text-secondary)}.log-exercise{border-top:1px solid var(--color-border);padding:4px 0;font-size:.92rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.progress-latest,.progress-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.progress-latest h3,.progress-heading h3,.progress-baseline h3{margin:0}.progress-eyebrow{color:var(--color-text-secondary);letter-spacing:.04em;text-transform:uppercase;margin:0 0 2px;font-size:.78rem;font-weight:700}.progress-summary-grid{grid-template-columns:repeat(3,minmax(75px,1fr));gap:8px;display:grid}.progress-summary-grid>div{border-radius:var(--radius-sm);background:var(--color-surface-alt);text-align:center;padding:9px 12px;display:grid}.progress-summary-grid span{color:var(--color-text-secondary);font-size:.78rem}.progress-exercise-select{gap:5px;margin-bottom:22px;font-weight:700;display:grid}.progress-exercise-select select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:46px;color:var(--color-text);font:inherit;padding:10px 12px}.progress-heading>strong{color:var(--color-primary);font-size:1.25rem}.progress-baseline,.progress-signal{border-radius:var(--radius-sm);background:var(--color-primary-light);margin-top:16px;padding:12px 14px}.progress-signal.improved{border-left:4px solid var(--color-success);background:var(--color-success-light)}.progress-signal.pain{border-left:4px solid var(--color-warning);background:var(--color-warning-light)}.progress-weekly{margin-top:16px}.progress-weekly-metrics{gap:6px;display:grid}.progress-weekly-streak{color:var(--color-text-secondary);align-items:center;gap:5px;margin:4px 0 0;font-size:.85rem;display:flex}.progress-weekly-note{color:var(--color-text-secondary);margin:0;font-size:.82rem}.records-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:10px;margin-top:14px;display:grid}.record-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);padding:12px 14px}.record-card h3{margin:0 0 8px;font-size:1rem}.record-row{justify-content:space-between;align-items:baseline;gap:8px;padding:2px 0;font-size:.88rem;display:flex}.record-row>span{color:var(--color-text-secondary)}.record-new{background:var(--color-success);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:.68rem;font-weight:700;display:inline-block}.progress-chart-wrap{width:100%;min-width:0;margin-top:18px;overflow:hidden}.progress-chart{aspect-ratio:640/190;width:100%;height:auto;display:block}.progress-chart-axis{stroke:var(--color-border-strong);stroke-width:2px}.progress-chart-line{fill:none;stroke:var(--color-primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.progress-chart-point{fill:var(--color-primary);stroke:var(--color-surface);stroke-width:3px}.progress-chart-point.pain{fill:var(--color-warning)}.progress-chart-label{fill:var(--color-text-secondary);font-size:12px}.progress-table-wrap{margin-top:14px;overflow-x:auto}.progress-table{border-collapse:collapse;width:100%;font-size:.88rem}.progress-table th,.progress-table td{border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;padding:9px 10px}.progress-table th{color:var(--color-text-secondary);text-transform:uppercase;font-size:.78rem}.progress-empty{text-align:center;padding-block:42px}.progress-empty .icon{color:var(--color-text-secondary)}.progress-empty h2{margin-bottom:4px}.progress-empty p{color:var(--color-text-secondary);margin:0}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.tab{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-secondary);align-items:center;gap:8px;padding:10px 16px;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.tab .icon{color:var(--color-text-secondary);transition:color .2s}.tab:hover{border-color:var(--color-primary);color:var(--color-primary)}.tab:hover .icon{color:var(--color-primary)}.tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}@media (width<=640px){.app{padding:16px 12px 40px}.app-header{border-radius:var(--radius-md);padding:18px}.app-header-top{flex-wrap:wrap}.app-header h1{font-size:1.3rem}.logout-button{order:2}.card{border-radius:var(--radius-md);padding:16px}.exercise-header{grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.exercise-number{grid-row:1/span 2;width:30px;height:30px;font-size:.85rem}.exercise-meta{flex-direction:row;grid-column:2;justify-content:space-between;align-items:center;width:100%}.exercise-english{display:none}.exercise-toggle{text-align:center;width:28px;margin-left:auto;font-size:0;line-height:1}.exercise-toggle:after{content:"›";color:var(--color-primary);font-size:1.35rem;transition:transform .18s;display:inline-block}.exercise-header[aria-expanded=true] .exercise-toggle:after{transform:rotate(90deg)}.exercise-sets{text-align:left}.gym-connection-state.error{grid-template-columns:auto minmax(0,1fr)}.gym-connection-state.error .btn{grid-column:1/-1;width:100%}.chat-context-option{flex-basis:100%}.chat-exercise-selector{grid-template-columns:1fr}.chat-context-help{grid-column:1}.chat-container{height:460px}.empty-state{padding:20px 4px}.chat-context-guide{margin-top:12px;padding:8px 10px}.message-bubble{max-width:85%}.proposal-actions{flex-direction:column}.log-entry-header,.log-exercise{flex-direction:column;gap:2px}.progress-latest,.progress-heading{flex-direction:column;align-items:stretch}.progress-summary-grid{width:100%}.records-grid{grid-template-columns:1fr}}.connection-banner{background:#fff4cc;border:1px solid #e6c95c;border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.choice-heading{color:var(--color-text);margin-bottom:8px;font-size:.95rem;font-weight:700}.choice-list{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.choice-option{text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:48px;font:inherit;color:var(--color-text);cursor:pointer;align-items:center;gap:10px;padding:10px 14px;font-size:.95rem;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.choice-option:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-alt)}.choice-option:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.choice-option.selected{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 0 0 3px var(--color-primary-light);color:var(--color-primary-dark)}.choice-option:disabled{opacity:.6;cursor:not-allowed}.choice-option-icon{color:var(--color-text-secondary);display:inline-flex}.choice-option.selected .choice-option-icon{color:var(--color-primary)}.choice-option-name{flex:1;font-weight:600}.choice-option-check{color:var(--color-primary);display:inline-flex}.guided-implementation-selector{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);gap:10px;margin:14px 0;padding:14px;display:grid}.guided-implementation-selector.compact{background:0 0;border:0;border-radius:0;margin:10px 0 14px;padding:0}.guided-implementation-row-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);width:100%;min-height:66px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.guided-device-icon{background:var(--color-primary-light);width:38px;height:38px;color:var(--color-primary);border-radius:50%;place-items:center;display:grid}.guided-implementation-row-btn .guided-implementation-summary-main{gap:1px;display:grid}.guided-implementation-row-btn .guided-implementation-summary-main strong{font-size:.95rem;font-weight:700}.guided-implementation-row-btn .guided-implementation-summary-main small{color:var(--color-text-secondary);font-size:.83rem}.guided-implementation-row-btn .guided-implementation-summary-main .guided-device-label{color:var(--color-text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:800}.guided-implementation-row-cta{color:var(--color-primary);flex-shrink:0;font-size:.88rem;font-weight:600}.guided-sheet-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.guided-sheet-header h2{margin:0;font-size:1.15rem}.guided-sheet-close{width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.guided-sheet-close:hover{background:var(--color-surface-alt)}.guided-sheet-body{gap:12px;display:grid}.guided-sheet-device{gap:2px;display:grid}.guided-sheet-device small{color:var(--color-text-secondary)}.guided-sheet-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.guided-sheet-actions .btn{justify-content:center;align-items:center;gap:6px;display:inline-flex}.guided-edit-details{grid-column:1/-1;min-height:44px}.guided-implementation-sheet-backdrop{z-index:100;background:#0f172a6b;align-items:end;display:grid;position:fixed;inset:0}.guided-implementation-sheet{width:min(680px,100%);max-height:min(82dvh,760px);padding:16px 18px max(16px, env(safe-area-inset-bottom,0px));background:var(--color-surface);border-radius:18px 18px 0 0;margin-inline:auto;overflow-y:auto;box-shadow:0 -12px 40px #0f172a2e}.guided-implementation-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.guided-implementation-heading .choice-heading{margin-bottom:0}.guided-create-implementation{white-space:nowrap;align-items:center;gap:6px;min-height:40px;padding:6px 12px;display:inline-flex}.guided-implementation-selector .choice-list{margin:0}.guided-implementation-create{border-top:1px solid var(--color-border);gap:12px;padding-top:14px;display:grid}.guided-implementation-create h3{margin:0;font-size:1rem}.guided-device-empty{border-radius:var(--radius-md);background:var(--color-surface-alt);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:14px;display:grid}.guided-device-empty>span:nth-child(2){gap:2px;display:grid}.guided-device-empty strong{color:var(--color-text);font-size:.92rem}.guided-device-empty small{color:var(--color-text-secondary);font-size:.8rem;line-height:1.4}.guided-unit-help{color:var(--color-text-secondary);font-size:.78rem;font-weight:400;line-height:1.35}.guided-scale-advanced{padding-top:2px}.guided-scale-advanced summary{width:fit-content;color:var(--color-primary);cursor:pointer;font-size:.86rem;font-weight:700}.guided-scale-advanced[open] .form-field{margin-top:10px}.guided-create-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.guided-implementation-context{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);gap:6px;padding:12px 14px;display:grid}.guided-implementation-row{justify-content:space-between;align-items:baseline;gap:12px;margin:0;display:flex}.guided-implementation-row span{color:var(--color-text-secondary);white-space:nowrap;font-size:.9rem}.guided-implementation-row strong{text-align:right;font-weight:600}.guided-implementation-rows{gap:6px;display:grid}.guided-implementation-rows .guided-implementation-row:first-child{margin-top:2px}.guided-context-edit{justify-content:center;align-items:center;gap:6px;min-height:40px;margin-top:4px;display:inline-flex}.guided-implementation-edit{border-top:1px solid var(--color-border);gap:12px;padding-top:14px;display:grid}.guided-duration{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);gap:10px;margin:14px 0;padding:14px;display:grid}.guided-duration h3{margin:0;font-size:1rem}.guided-duration-target{color:var(--color-text-secondary);margin:0;font-size:.9rem}.guided-duration-form{gap:10px;display:grid}.error-boundary{text-align:center;gap:12px;max-width:420px;margin:15vh auto;padding:24px;display:grid}.error-boundary h1{margin:0;font-size:1.4rem}.error-boundary p{color:var(--color-text-secondary);margin:0}.guided-plan{gap:3px;margin:14px 0 4px;display:grid}.guided-plan-label{color:var(--color-text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:700}.guided-plan-target{font-size:1.5rem;font-weight:800;line-height:1.2}.guided-plan-alert{border-radius:var(--radius-sm);background:var(--color-warning-light);margin:4px 0 0;padding:8px 10px}.guided-plan-status{color:var(--color-text-secondary);margin:0;font-size:.85rem}.guided-plan-status.ok{color:var(--color-success);font-weight:600}.guided-plan-details{margin-top:2px}.guided-plan-details summary{width:fit-content;color:var(--color-primary);cursor:pointer;font-size:.85rem;font-weight:600;position:relative}.guided-plan-details summary:before{content:"";position:absolute;inset:-12px -16px}.guided-plan-rows{gap:4px 20px;margin-top:6px;display:grid}@media (width>=521px){.guided-plan-rows{grid-template-columns:repeat(2,minmax(0,1fr))}}.guided-plan-row{justify-content:space-between;align-items:baseline;gap:12px;margin:0;display:flex}.guided-plan-row span{color:var(--color-text-secondary);font-size:.85rem}.guided-plan-row strong{font-weight:600}.guided-rir-picker{border:0;min-width:0;margin:0;padding:0}.guided-rir-picker legend{color:var(--color-text-secondary);margin-bottom:6px;font-size:.8125rem;font-weight:600}.guided-rir-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.guided-rir-chip{min-width:0;position:relative}.guided-rir-chip input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.guided-rir-chip span{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-height:42px;color:var(--color-text);cursor:pointer;place-items:center;font-weight:700;transition:border-color .15s,background .15s,box-shadow .15s;display:grid}.guided-rir-chip.guided-rir-unknown{justify-self:center;min-width:0;margin-top:4px}.guided-rir-unknown span{min-height:32px;color:var(--color-text-secondary);background:0 0;border:0;border-radius:0;justify-self:center;padding:4px 10px;font-size:.82rem;font-weight:600}.guided-rir-unknown input:checked+span{background:color-mix(in srgb, var(--color-primary) 10%, transparent);color:var(--color-primary)}.guided-rir-chip:hover span,.guided-rir-chip input:hover+span{border-color:var(--color-primary)}.guided-rir-chip input:focus-visible+span{outline:2px solid var(--color-primary);outline-offset:2px}.guided-rir-chip input:checked+span{border-color:var(--color-primary);background:var(--color-primary);color:#fff}@media (width<=480px){.guided-create-grid{grid-template-columns:1fr}}.feel-path{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);gap:10px;margin:18px 0;padding:14px;display:grid}.feel-path h3{margin:0;font-size:1rem}.feel-path>p{margin:0}.feel-path-actions{gap:8px;display:grid}.feel-path-actions .btn{width:100%}.feel-ask-pt{align-items:center;gap:6px;width:fit-content;display:inline-flex}.feel-checklist{gap:6px;margin:0;padding:0 0 0 20px;display:grid}.feel-checklist li{line-height:1.45}.feel-check{vertical-align:middle;color:var(--color-success);margin-left:4px;display:inline-flex}.feel-resolution{gap:10px;display:grid}.feel-resolution-actions{flex-wrap:wrap;gap:8px;display:flex}.feel-path-form{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}@media (width<=480px){.feel-path-form{grid-template-columns:1fr}}.guided-exercise h2{margin:8px 0 0;font-size:1.25rem;line-height:1.25}.guided-set-progress{color:var(--color-text-secondary);margin:2px 0 4px;font-size:.8rem;font-weight:700}.guided-implementation-list-part{gap:10px;display:grid}.guided-implementation-summary{gap:8px;padding:6px 2px 0;display:grid}.guided-implementation-summary-main{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.guided-implementation-summary-main small{color:var(--color-text-secondary);font-size:.85rem}.guided-implementation-summary-actions{flex-wrap:wrap;gap:8px;display:flex}.guided-implementation-summary-actions .btn{min-height:38px;padding:6px 12px;font-size:.88rem}.guided-implementation-details{border-top:1px dashed var(--color-border);padding-top:6px}.guided-implementation-details summary{width:fit-content;color:var(--color-primary);cursor:pointer;font-size:.85rem;font-weight:600;position:relative}.guided-implementation-details summary:before{content:"";position:absolute;inset:-12px -16px}.guided-implementation-details[open] .guided-implementation-rows{margin-top:6px}.feel-path-trigger{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:12px 14px;display:flex}.feel-path-trigger h3{margin:0;font-size:.95rem;font-weight:600}.feel-ask-pt{width:fit-content;color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-top:8px;padding:0;font-size:.85rem;font-weight:600;display:inline-flex}.guided-checklist-advance{align-items:center;gap:6px;min-height:38px;padding:6px 12px;font-size:.88rem;display:inline-flex}.guided-duration-complete{border:1px solid color-mix(in srgb, var(--color-success) 34%, var(--color-border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-success) 8%, var(--color-surface));gap:4px;padding:14px;display:grid}.guided-duration-complete p{align-items:center;gap:8px;margin:0;display:flex}.guided-duration-complete p+p{color:var(--color-text-secondary);margin-top:4px}:root{--color-bg:#f3f5f7;--color-surface:#fff;--color-surface-alt:#f7f8fa;--color-primary:#155e75;--color-primary-dark:#0e4b5e;--color-primary-light:#e4f1f4;--color-text:#17212b;--color-text-secondary:#5e6873;--color-success:#16794f;--color-success-light:#e7f4ed;--color-warning:#b86500;--color-warning-light:#fff1d6;--color-danger:#b4233d;--color-danger-light:#fde8ec;--color-border:#dfe3e8;--color-border-strong:#c8ced6;--radius-sm:6px;--radius-md:8px;--radius-lg:8px;--shadow-sm:0 1px 2px #17212b0d;--shadow-md:0 4px 14px #17212b14;--shadow-lg:0 10px 28px #17212b1a;--mobile-tab-bar-content-height:56px;--mobile-tab-bar-height:calc(var(--mobile-tab-bar-content-height) + max(7px, env(safe-area-inset-bottom,0px)))}.app-header{box-shadow:none;background:0 0;border:0;padding:8px 4px 18px;overflow:visible}.app-header:before{display:none}.app-header h1{letter-spacing:0;font-size:1.8rem}.app-header .badge{border-radius:var(--radius-sm)}.card{box-shadow:none;background:0 0;border:0;padding:0}.exercise-card,.log-entry,.messages,.profile-editor,.version-history{background:var(--color-surface)}.guided-workout{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:20px}.tabs{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f3f5f7f0;padding:8px 0;position:sticky;top:0}.tab{background:0 0;border-color:#0000;min-height:44px}.tab.active{background:var(--color-surface);color:var(--color-primary-dark);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.tab.active .icon{color:var(--color-primary)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #3b93ac}.btn{min-height:44px}.session-save-status{width:fit-content;color:var(--color-text-secondary);margin:8px 0;font-size:.84rem;font-weight:600}.session-save-status.saved{color:var(--color-success)}.session-save-status.local{color:var(--color-warning)}.session-save-status.error{color:var(--color-danger)}.startup-loading,.startup-error{border:1px solid var(--color-border);background:var(--color-surface);width:min(440px,100%);box-shadow:var(--shadow-md);text-align:center;border-radius:16px;margin:min(18dvh,150px) auto 0;padding:28px}.startup-loading strong{color:var(--color-text);font-size:1.05rem;display:block}.startup-loading p,.startup-error p{color:var(--color-text-secondary);margin:6px 0 0;font-size:.9rem;line-height:1.5}.startup-error{text-align:left;grid-template-columns:auto minmax(0,1fr);gap:14px;display:grid}.startup-error h1{color:var(--color-text);margin:0;font-size:1.15rem}.startup-error .btn{margin-top:18px}.startup-error-icon{background:var(--color-danger-light);width:42px;height:42px;color:var(--color-danger);border-radius:50%;place-items:center;display:grid}.workout-overview{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;padding:16px;display:flex}.workout-overview-eyebrow{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin:0 0 2px;font-size:.72rem;font-weight:800}.workout-overview h3{color:var(--color-text);margin:0;font-size:1.15rem}.workout-overview>p:last-child{color:var(--color-text-secondary);text-align:right;margin:0;font-size:.84rem}.program-disclosure{margin:22px 0}.program-disclosure>summary{border:1px solid var(--color-border);background:var(--color-surface);min-height:58px;box-shadow:var(--shadow-sm);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;list-style:none;display:flex}.program-disclosure>summary::-webkit-details-marker{display:none}.program-disclosure>summary>span:first-child{gap:1px;display:grid}.program-disclosure summary strong{color:var(--color-text)}.program-disclosure summary small{color:var(--color-text-secondary);font-size:.78rem}.program-disclosure-action{color:var(--color-primary);font-size:.84rem;font-weight:800}.program-hide-label,.program-disclosure[open] .program-show-label{display:none}.program-disclosure[open] .program-hide-label{display:inline}.program-disclosure-content{gap:22px;padding-top:22px;display:grid}.workout-history-content{padding-top:12px}.guided-device-quick-actions{grid-column:1/-1;gap:6px;display:grid}.guided-device-quick-actions .btn{width:100%}.guided-device-quick-actions .guided-edit-details{min-height:44px}.guided-device-empty>.error{grid-column:1/-1}body:has(.guided-workout) .app-header{display:none}body:has(.guided-workout) .tabs{display:none}#panel-program:has(.guided-workout)>:not(.guided-workout){display:none}body:has(.guided-workout) .app{max-width:100%;padding-top:0}@media (width<=640px){.app{min-height:100dvh;padding:max(16px, env(safe-area-inset-top,0px)) max(12px, env(safe-area-inset-right,0px)) calc(var(--mobile-tab-bar-height) + 16px) max(12px, env(safe-area-inset-left,0px))}body:has(.guided-workout) .app{min-height:100dvh;padding:0}.tabs{padding:7px max(8px, env(safe-area-inset-right,0px)) max(7px, env(safe-area-inset-bottom,0px)) max(8px, env(safe-area-inset-left,0px));border-top:1px solid var(--color-border);background:#fffffff7;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin:0;display:grid;position:fixed;inset:auto 0 0}.app-header{align-items:center;gap:8px;padding:0 0 8px;display:flex}.app-header-top{flex:none}.app-header-titles p{display:none}.app-header h1{font-size:1rem;line-height:1}.logout-button{display:none}.app-header .badge{flex:1;margin:0;padding:8px 10px;font-size:.8rem}.tab{border:0;flex-direction:column;gap:2px;min-width:0;padding:6px 2px;font-size:.72rem}.tab.active{box-shadow:none}.guided-workout{min-height:100dvh;padding:max(14px, env(safe-area-inset-top,0px)) max(14px, env(safe-area-inset-right,0px)) calc(90px + env(safe-area-inset-bottom,0px)) max(14px, env(safe-area-inset-left,0px));border-inline:0;border-radius:0;margin:0}.startup-loading,.startup-error{margin-top:min(16dvh,110px);padding:22px}.workout-overview{gap:4px;margin-bottom:14px;padding:14px;display:grid}.workout-overview>p:last-child{text-align:left}.guided-toolbar{z-index:10;margin:min(-14px, calc(0px - env(safe-area-inset-top,0px))) min(-14px, calc(0px - env(safe-area-inset-right,0px))) 0 min(-14px, calc(0px - env(safe-area-inset-left,0px)));padding:max(10px, env(safe-area-inset-top,0px)) max(14px, env(safe-area-inset-right,0px)) 10px max(14px, env(safe-area-inset-left,0px));background:var(--color-surface);position:sticky;top:0}.guided-navigation{padding-bottom:env(safe-area-inset-bottom,0px);margin-top:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.progression-panel{border-top:1px solid var(--color-border);margin-top:22px;padding-top:20px}.progression-panel-heading h3{margin:0}.progression-suggestions{gap:8px;margin-top:12px;display:grid}.progression-suggestion{border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-surface);justify-content:space-between;align-items:center;gap:18px;padding:14px;display:flex}.progression-suggestion.increase,.progression-suggestion.establish{border-left-color:var(--color-success)}.progression-suggestion.decrease{border-left-color:var(--color-warning)}.progression-suggestion p{color:var(--color-text-secondary);margin:3px 0 0;font-size:.88rem}.progression-suggestion-action{flex-shrink:0;align-items:center;gap:12px;display:flex}@media (width<=640px){.progression-suggestion,.progression-suggestion-action{flex-direction:column;align-items:stretch}}
