:root{--bg-deep:#07080e;--bg-panel:#0c0e188c;--bg-panel-strong:#0c0e18b8;--bg-cell-hover:#7aa2f70f;--bg-cell-focus:#7aa2f71a;--surface-glass:#0a0c166b;--surface-popover:#141826f2;--text-main:#c8cdd8;--text-bright:#e4e8f0;--text-muted:#8e98be;--accent:#7aa2f7;--accent-dim:#7aa2f759;--accent-glow:#7aa2f726;--success:#9ece6a;--success-bright:#d6f5a4;--danger:#f7768e;--danger-hot:#f77a7a;--warning:#e0af68;--purple:#bb9af7;--cyan:#0db9d7;--side-l:#8eada8;--side-r:#ada896;--border:#94a3c91a;--border-strong:#94a3c92e;--border-focus:#7aa2f773;--blur-panel:blur(16px);--blur-popover:blur(24px) saturate(1.3);--motion-fast:.15s ease;--motion-medium:.2s ease;--motion-standard:.2s cubic-bezier(.4, 0, .2, 1);--radius-xs:4px;--radius-sm:8px;--radius-md:10px;--radius-lg:16px;--shadow-panel:0 8px 32px #00000059;--shadow-card:0 4px 20px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-main);scrollbar-width:none;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}::-webkit-scrollbar{display:none}*{box-sizing:border-box}html{background-color:var(--bg-deep);min-height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-deep);background-image:url(/bg.png);background-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;height:100vh;min-height:100vh;margin:0;padding:0;display:flex;overflow:hidden}body:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(at 30% 20%,#07080e80 0%,#07080ed1 100%);position:fixed;inset:0}#root{z-index:1;flex-direction:column;height:100%;display:flex;position:relative}kbd{min-width:18px;height:18px;color:var(--text-bright);border:1px solid var(--border-strong);text-transform:uppercase;-webkit-user-select:none;user-select:none;background:#ffffff0f;border-bottom:2px solid #94a3c959;border-radius:4px;justify-content:center;align-items:center;padding:2px 6px;font-family:inherit;font-size:10px;font-style:normal;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px #0006}.shortcut-key-combo kbd{padding:2px 4px;font-size:9px}@keyframes slide-to-left{to{translate:-100%}}@keyframes slide-from-right{0%{translate:100%}}@keyframes slide-to-right{to{translate:100%}}@keyframes slide-from-left{0%{translate:-100%}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}::view-transition-group(root){animation:none}::view-transition-group(page-content){animation-duration:.28s;animation-timing-function:cubic-bezier(.4,0,.2,1)}html:active-view-transition-type(forward)::view-transition-old(page-content){animation-name:slide-to-left,fade-out}html:active-view-transition-type(forward)::view-transition-new(page-content){animation-name:slide-from-right,fade-in}html:active-view-transition-type(backward)::view-transition-old(page-content){animation-name:slide-to-right,fade-out}html:active-view-transition-type(backward)::view-transition-new(page-content){animation-name:slide-from-left,fade-in}@media (prefers-reduced-motion:reduce){::view-transition-group(page-content){animation:none!important}}.app-container{outline:none;flex-direction:column;gap:125px;height:100vh;padding-top:36px;display:flex;position:relative}.rest-timer-stage{z-index:40;pointer-events:none;justify-content:center;align-items:center;height:0;padding:0 32px;display:flex;position:absolute;top:104px;left:0;right:0}.rest-timer{isolation:isolate;-webkit-backdrop-filter:blur(24px)saturate(1.45);pointer-events:auto;background:linear-gradient(135deg,#7aa2f733,#9ece6a1f 58%,#ffffff09),#070911e0;border:1px solid #7aa2f73d;border-radius:999px;grid-template-columns:82px auto;align-items:center;gap:6px;width:auto;min-width:150px;min-height:38px;padding:5px 6px 5px 15px;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 34px #0000005c,0 0 26px #7aa2f729,inset 0 1px #ffffff1a,inset 0 -14px 28px #7aa2f70e}.rest-timer:before{content:"";z-index:-1;border-radius:inherit;opacity:.42;background:linear-gradient(90deg,#7aa2f757,#9ece6a38,#7aa2f72e);position:absolute;inset:0}.rest-timer:after{content:"";z-index:-1;border-radius:inherit;background:linear-gradient(#fff1,#0000 56%);position:absolute;inset:1px}.rest-timer__meter{background:#94a3c91a;height:2px;position:absolute;bottom:0;left:14px;right:14px;transform:translateZ(0)}.rest-timer__meter span{transform-origin:0;background:linear-gradient(90deg,#7aa2f7,#9ece6a);width:100%;height:100%;transition:transform .2s linear;display:block;box-shadow:0 0 10px #7aa2f78c,0 0 18px #9ece6a3d}.rest-timer__time{width:82px;color:var(--text-bright);font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:center;text-shadow:0 0 12px #7aa2f773,0 0 22px #9ece6a24;font-size:20px;font-weight:800;line-height:1}.rest-timer__actions{opacity:.74;align-items:center;gap:2px;transition:opacity .15s;display:flex}.rest-timer:hover .rest-timer__actions,.rest-timer:focus-within .rest-timer__actions{opacity:1}.rest-timer__button{color:#c8cdd8b8;cursor:pointer;background:#ffffff09;border:1px solid #94a3c91a;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;transition:color .15s,background .15s,border-color .15s,opacity .15s;display:inline-flex}.rest-timer__button:hover:not(:disabled){color:var(--accent);background:#7aa2f713;border-color:#7aa2f72e}.rest-timer__button:disabled{cursor:default;opacity:.38}.rest-timer.is-complete{background:linear-gradient(135deg,#9ece6a33,#7aa2f717),#070911e0;border-color:#9ece6a61;box-shadow:0 14px 34px #00000057,0 0 28px #9ece6a2e,inset 0 1px #ffffff1a}.rest-timer.is-complete .rest-timer__time{color:#9ece6a;text-shadow:0 0 12px #9ece6a94,0 0 24px #9ece6a33}.rest-timer.is-paused .rest-timer__time{color:var(--text-main);text-shadow:none}.rest-timer.is-paused .rest-timer__meter span{opacity:.46}@media (width<=760px){.rest-timer-stage{padding:0 16px;top:100px}.rest-timer{min-width:142px}}@media (width<=560px){.rest-timer{grid-template-columns:76px auto}.rest-timer__time{width:76px;font-size:18px}}.main-grid{flex:1;grid-template-columns:340px 1fr 360px;gap:24px;height:100%;min-height:0;padding:24px 32px 32px;display:grid;overflow:hidden}.main-grid[hidden]{display:none!important}.routine-grid{flex:1;grid-template-columns:1fr 1.8fr 1fr;gap:24px;display:grid;overflow:hidden}.page-content-frame{view-transition-name:page-content;flex:1;min-height:0;overflow:hidden}.page-content-frame--routine{overflow:visible}.page-main{height:100%;padding:24px 32px 32px}.page-main--routine{flex-direction:column;display:flex;overflow:visible}.page-main--log{min-height:0;overflow:hidden auto}.glass-panel,.glass-panel--strong{background:var(--surface-glass);-webkit-backdrop-filter:var(--blur-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:none}.glass-card{background:var(--surface-glass);-webkit-backdrop-filter:var(--blur-panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:none}@media (width>=1800px){.main-grid,.page-main{width:100%;max-width:1600px;margin:0 auto}}.spreadsheet-wrap{margin-left:0;margin-right:0}.spreadsheet{border-collapse:collapse;table-layout:fixed;width:100%}.spreadsheet th,.spreadsheet td{border:none;border-bottom:1px solid var(--border);text-align:center;height:48px;padding:0;font-size:14px}.spreadsheet td+td{border-left:1px solid var(--border)}.spreadsheet thead th{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;background:0 0;border:none;height:38px;font-size:13px;font-weight:600}.grid-header-badge{color:var(--text-muted);box-shadow:none;-webkit-user-select:none;user-select:none;letter-spacing:normal;text-transform:none;pointer-events:none;background:0 0;border:none;justify-content:center;align-items:center;font-family:Caveat,Nanum Pen Script,cursive;font-size:24px;font-weight:700;display:inline-flex;transform:rotate(-4deg)}.grid-header-badge--accent{color:var(--accent);text-shadow:0 0 10px #7aa2f71f;transform:rotate(2deg)}.spreadsheet tbody tr:last-child td{border-bottom:none}.spreadsheet .col-set,.spreadsheet td.cell-set{width:64px}.spreadsheet td.cell-set{color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:2px;font-size:15px;font-weight:500;display:flex}.spreadsheet td.cell-input{padding:0;position:relative}.spreadsheet td.cell-input:hover{background:var(--bg-cell-hover)}body.keyboard-navigating .spreadsheet td.cell-input:hover:not(:focus-within){background:0 0}.spreadsheet td.cell-input:focus-within{background:var(--bg-cell-focus);box-shadow:inset 0 0 0 1.5px var(--border-focus)}.spreadsheet td.cell-input input{width:100%;height:100%;color:var(--text-bright);text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;padding:10px 8px;font-family:inherit;font-size:18px;font-weight:500}.spreadsheet td.cell-input input::placeholder{color:#8e98be6b;font-weight:400}.spreadsheet td.cell-input--weight-disabled input{color:var(--text-muted);cursor:default}.spreadsheet td.cell-input--weight-disabled:focus-within{box-shadow:inset 0 0 0 1.5px #8e98be59}.add-row-btn{width:100%;color:var(--text-muted);cursor:pointer;transition:color var(--motion-medium), background var(--motion-medium);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;gap:6px;margin-top:4px;padding:10px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.add-row-btn:hover{color:var(--accent);background:0 0}body.keyboard-navigating .spreadsheet .add-row-btn:hover{color:var(--text-muted);background:0 0}.add-row-btn:focus-visible{color:var(--accent);background:#7aa2f70f;border-radius:4px;outline:none;box-shadow:0 0 0 2px #7aa2f740,0 0 16px #7aa2f71a}.spreadsheet--readonly th,.spreadsheet--readonly td{height:34px;font-size:13px}.spreadsheet--readonly thead th{height:28px;font-size:11px}.spreadsheet--readonly td.cell-value{color:var(--text-main);font-variant-numeric:tabular-nums;font-weight:500}.note-textarea{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-main);resize:none;background:#00000026;outline:none;min-height:72px;padding:14px 16px;font-family:inherit;font-size:13px;transition:border-color .2s}.note-textarea::placeholder{color:var(--text-muted)}.note-textarea:focus{border-color:var(--border-focus)}.section-header{border-bottom:1px solid var(--border);margin-bottom:0;padding:20px 22px 16px}.section-header h2{color:var(--text-bright);margin:0;font-size:17px;font-weight:600}.section-header .subtitle{color:var(--accent);margin-top:3px;font-size:12px;font-weight:500;display:block}.heatmap-grid{border-radius:var(--radius-md);border:1px solid var(--border);background:#00000026;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:3px;padding:14px;display:grid}.heatmap-cell{aspect-ratio:1;border-radius:2px}.routine-exercise-row:hover .exercise-delete-btn{opacity:.65}.routine-exercise-row .exercise-delete-btn:hover{color:var(--danger-hot);opacity:1}.log-page{grid-template-columns:minmax(0,1fr) 226px;align-items:start;gap:24px;min-height:100%;display:grid}.log-content{flex-direction:column;gap:16px;min-width:0;display:flex}.log-page-header{flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:16px;padding:0 2px;display:flex}.log-page-header h1{color:var(--text-bright);letter-spacing:0;margin:2px 0 0;font-size:24px;font-weight:700}.log-page-header p{color:var(--text-muted);margin:0;font-size:13px}.log-kicker{color:var(--accent);letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.log-sidebar{border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);background:#0a0c166b;flex-direction:column;align-self:start;gap:6px;padding:8px;display:flex;position:sticky;top:0}.log-sidebar-button{width:100%;min-height:62px;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:22px minmax(0,1fr) 22px;align-items:center;gap:10px;padding:11px 12px;font-family:inherit;transition:color .15s,background .15s,border-color .15s;display:grid}.log-sidebar-button:hover{color:var(--text-main);background:#ffffff08}.log-sidebar-button.is-active{color:var(--accent);background:#7aa2f717;border-color:#7aa2f72e}.log-sidebar-button span{flex-direction:column;gap:3px;min-width:0;display:flex}.log-sidebar-button strong{color:inherit;letter-spacing:0;font-size:14px;font-weight:700}.log-sidebar-button i{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-style:normal;overflow:hidden}.log-sidebar-shortcut{border:1px solid var(--border);width:20px;height:20px;color:var(--text-muted);letter-spacing:0;-webkit-user-select:none;user-select:none;background:#ffffff0a;border-radius:5px;justify-content:center;align-items:center;font-family:inherit;font-size:11px;font-style:normal;font-weight:700;line-height:1;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.log-sidebar-button.is-active .log-sidebar-shortcut{color:var(--accent);background:#7aa2f714;border-color:#7aa2f759}.log-view-grid{gap:20px;display:grid}.log-view-grid--daily{grid-template-columns:340px minmax(0,1fr);align-items:start}.log-view-grid--exercise{grid-template-columns:300px minmax(0,1fr);align-items:start}.log-exercise-main{grid-template-rows:auto auto;grid-template-columns:minmax(320px,.9fr) minmax(0,1.35fr);align-content:start;align-items:stretch;gap:20px;display:grid}.log-exercise-main .log-calendar-panel{grid-row:auto}.log-exercise-main .log-full-record-panel{grid-column:1/-1}.log-panel{border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);background:#0a0c166b;min-width:0;overflow:hidden}.log-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:16px 18px;display:flex}.log-panel-header h2{color:var(--text-bright);letter-spacing:0;margin:2px 0 0;font-size:17px;font-weight:700}.log-icon-button-group{gap:4px;display:flex}.log-icon-button{border:1px solid var(--border);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:#ffffff08;border-radius:7px;justify-content:center;align-items:center;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.log-icon-button:hover{color:var(--accent);background:#7aa2f714;border-color:#7aa2f738}.log-calendar-panel{flex-direction:column;display:flex}.log-calendar-weekdays,.log-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.log-calendar-weekdays{padding:14px 16px 8px}.log-calendar-weekdays span{color:#6b7394;text-align:center;font-size:11px;font-weight:700}.log-calendar-grid{padding:0 16px 16px}.log-calendar-cell{aspect-ratio:1;border:1px solid var(--border);min-width:0;color:var(--text-main);cursor:pointer;font-variant-numeric:tabular-nums;background:#ffffff06;border-radius:8px;justify-content:flex-start;align-items:flex-start;padding:7px;font-family:inherit;font-size:12px;transition:background .2s,border-color .2s,color .2s,box-shadow .25s cubic-bezier(.34,1.56,.64,1),scale .25s cubic-bezier(.34,1.56,.64,1),translate .25s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;translate:0;rotate:0deg;scale:1}.log-calendar-cell:hover{border-color:var(--border-strong);z-index:1;background:#ffffff0b;scale:1.04}.log-calendar-cell:active{transition:scale .1s;scale:.96}.log-calendar-cell-date{min-width:22px;height:22px;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast), box-shadow var(--motion-fast), scale .25s cubic-bezier(.34, 1.56, .64, 1);border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;font-weight:500;display:inline-flex;scale:1}.log-calendar-cell.is-outside-month{opacity:.35}.log-calendar-cell.has-activity{border-color:var(--activity-border);background:#ffffff05}.log-calendar-cell.is-selected{z-index:2;background:#ffffff14;scale:1.08;box-shadow:0 8px 24px #0a0c16b3,0 0 20px #7aa2f726}.log-calendar-cell.is-selected:hover{background:#ffffff1a;scale:1.1;box-shadow:0 10px 28px #0a0c16d9,0 0 24px #7aa2f740}.log-calendar-cell.is-selected .log-calendar-cell-date{color:var(--text-bright);box-shadow:none;background:0 0;font-weight:800;position:relative;scale:1.08}.log-calendar-cell.is-selected .log-calendar-cell-date:after{content:"";background:var(--accent);height:2px;box-shadow:0 0 6px var(--accent);border-radius:1px;position:absolute;bottom:-2px;left:2px;right:2px}@keyframes today-pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.log-calendar-cell.is-today{background:#ffffff04;border-color:#ffffff38;position:relative;overflow:hidden}.log-calendar-cell.is-today:before{content:"";background:linear-gradient(135deg, var(--accent), #bb9af7);clip-path:polygon(100% 0,0 0,100% 100%);pointer-events:none;z-index:1;width:12px;height:12px;animation:3s ease-in-out infinite today-pulse;position:absolute;top:0;right:0}.log-calendar-cell.is-today:hover{background:#ffffff0a;border-color:#ffffff73}.log-calendar-cell.is-today:not(.is-selected) .log-calendar-cell-date{color:var(--accent);font-weight:700}.log-calendar-cell-content{flex-direction:row;align-items:center;gap:4px;display:flex}.log-calendar-activity-marks{justify-content:center;align-items:center;gap:3px;display:inline-flex;position:absolute;bottom:7px;right:7px}.log-calendar-check-mark{width:9px;height:11px;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--session-color) 58%, transparent));flex:none;position:relative}.log-calendar-check-mark:before{content:"";border-right:1.7px solid var(--session-color);border-bottom:1.7px solid var(--session-color);border-radius:0 0 1.5px;width:5px;height:10px;position:absolute;top:-1px;left:2px;transform:rotate(42deg)}.log-day-panel,.log-chart-panel,.log-full-record-panel,.log-routine-panel{flex-direction:column;display:flex}.log-stat-row{border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;gap:8px;padding:14px 18px;display:flex}.log-stat-pill{border:1px solid var(--border);min-height:32px;color:var(--text-muted);white-space:nowrap;background:#ffffff06;border-radius:8px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;display:inline-flex}.log-stat-pill strong{color:var(--text-bright);font-weight:700}.log-scroll-area{padding:14px;overflow:visible}.log-record-card{border:1px solid var(--border);background:#ffffff06;border-radius:8px;padding:16px}.log-record-card+.log-record-card{margin-top:12px}.log-record-card-header{justify-content:space-between;gap:14px;display:flex}.log-record-card-header h3{color:var(--text-bright);margin:0;font-size:16px;font-weight:700}.log-record-card-header span{color:var(--text-muted);margin-top:4px;font-size:12px;display:block}.log-time-chip{height:28px;color:var(--accent);font-variant-numeric:tabular-nums;background:#7aa2f712;border:1px solid #7aa2f726;border-radius:7px;flex-shrink:0;align-items:center;gap:6px;padding:0 9px;font-size:12px;display:inline-flex}.log-record-meta{color:var(--text-muted);gap:12px;margin-top:12px;font-size:12px;display:flex}.log-record-meta span{align-items:center;gap:5px;display:inline-flex}.log-exercise-stack{flex-direction:column;gap:14px;margin-top:16px;display:flex}.log-exercise-record-row{grid-template-columns:minmax(132px,170px) minmax(0,1fr);align-items:start;gap:12px;min-width:0;display:grid}.log-exercise-record-meta{min-width:0;padding-top:8px}.log-exercise-record-meta strong{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;display:block;overflow:hidden}.log-exercise-record-meta span{color:var(--text-muted);font-size:11px}.log-set-grid-wrap{background:0 0;border:none;border-radius:0;min-width:0;overflow:visible}.log-set-grid{border-collapse:collapse;table-layout:fixed;width:100%}.log-set-col{width:64px}.log-set-grid.has-memo .log-value-col{width:104px}.log-set-grid.has-memo .log-memo-col{width:auto}.log-set-grid th,.log-set-grid td{border-bottom:1px solid var(--border);text-align:center;height:48px;padding:0 12px}.log-set-grid th+th,.log-set-grid td+td{border-left:1px solid var(--border)}.log-set-grid thead th{border-bottom:1px solid var(--border);background:0 0;height:38px}.log-set-grid tbody tr:last-child td{border-bottom:none}.log-set-grid .cell-set{width:64px;color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:3px;font-size:15px;font-weight:500;display:flex}.log-set-grid .cell-value{color:var(--text-bright);font-variant-numeric:tabular-nums;font-size:18px;font-weight:500}.log-set-grid .cell-memo{color:var(--text-main);text-align:left;vertical-align:middle;padding:8px 14px;font-size:13px;line-height:1.45}.log-set-memo-chip{color:var(--text-main);overflow-wrap:anywhere;border-left:2px solid #9ece6a47;padding-left:10px;display:block}.log-set-memo-empty{color:#6b739473}.log-grid-header-badge{color:var(--text-muted);letter-spacing:0;pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-family:Caveat,Nanum Pen Script,cursive;font-size:24px;font-weight:700;line-height:1;display:inline-flex;transform:rotate(-4deg)}.log-grid-header-badge--accent{color:var(--accent);text-shadow:0 0 10px #7aa2f71f;transform:rotate(2deg)}.log-grid-header-badge--memo{color:#9ece6a;transform:rotate(-1deg)}.log-set-grid-wrap--compact .log-set-grid th,.log-set-grid-wrap--compact .log-set-grid td{height:42px}.log-set-grid-wrap--compact .log-set-grid thead th{height:34px}.log-set-grid-wrap--compact .log-grid-header-badge{font-size:19px}.log-set-grid-wrap--compact .log-set-grid .cell-value{font-size:16px}.log-set-grid-wrap--compact .log-set-grid .cell-memo{font-size:12px}.log-note-list{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.log-note-title{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}.log-note-list p{color:var(--text-main);grid-template-columns:120px minmax(0,1fr);gap:10px;margin:6px 0 0;font-size:12px;display:grid}.log-note-list p strong{color:var(--accent);font-weight:700}.log-empty-state{min-height:180px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:28px;font-size:13px;line-height:1.5;display:flex}.log-empty-state strong{color:var(--text-main);font-size:15px}.log-exercise-picker-panel{flex-direction:column;display:flex}.log-exercise-picker-list{padding:8px;overflow:visible}.log-exercise-picker-list.is-empty{flex:1;min-height:320px}.log-exercise-picker{width:100%;min-height:58px;color:var(--text-main);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;font-family:inherit;transition:background .15s,border-color .15s;display:grid}.log-exercise-picker:hover{background:#ffffff09}.log-exercise-picker.is-active{background:#7aa2f714;border-color:#7aa2f724}.log-exercise-picker span{flex-direction:column;gap:3px;min-width:0;display:flex}.log-exercise-picker strong{color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.log-exercise-picker i{color:var(--text-muted);font-size:11px;font-style:normal}.log-exercise-picker b{color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:700}.log-subtle-chip{border:1px solid var(--border);min-height:28px;color:var(--text-muted);border-radius:7px;align-items:center;padding:4px 9px;font-size:12px;display:inline-flex}.log-chart-wrap{padding:12px 16px 16px}.log-chart-wrap svg{width:100%;height:auto;display:block}.log-chart-grid-line{stroke:#94a3c91f;stroke-width:1px}.log-chart-line{stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.log-chart-dot{fill:#9ece6a;stroke:#07080ee6;stroke-width:2px}.log-chart-axis-label{fill:#6b7394;font-variant-numeric:tabular-nums;font-size:12px}.log-chart-placeholder{border:1px solid var(--border);border-radius:var(--radius-md);height:145px;color:var(--text-muted);background:#0000001f;justify-content:center;align-items:center;font-size:12px;display:flex}.log-full-record-panel{min-height:0}.log-full-record-panel .log-scroll-area:has(.log-empty-state){min-height:220px}.log-exercise-history-row{border-bottom:1px solid var(--border);grid-template-columns:74px minmax(0,1fr);gap:12px;padding:13px 0;display:grid}.log-exercise-history-row:first-child{padding-top:0}.log-exercise-history-row:last-child{border-bottom:none}.log-exercise-history-date strong{color:var(--text-bright);font-size:13px;font-weight:700;display:block}.log-exercise-history-date span{color:var(--text-muted);font-size:11px}.log-exercise-history-body{flex-direction:column;gap:8px;min-width:0;display:flex}.log-exercise-history-summary strong{color:var(--accent);font-size:13px}.log-exercise-history-summary span{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.log-routine-panel{height:auto}.log-routine-workspace{padding:16px 18px 18px}.log-routine-graph-shell{--routine-track-height:128px;--routine-dot-y:72px;border-bottom:1px solid var(--border);background:linear-gradient(#ffffff0a,#ffffff03 58%,#0000),#ffffff03;padding:18px 18px 20px;position:relative}.log-routine-graph-shell:before{content:"";background:linear-gradient(90deg,#0000,#7aa2f733,#9ece6a29,#0000);height:1px;position:absolute;inset:0 0 auto}.log-routine-graph-scroll{overscroll-behavior-x:contain;padding:4px 2px 0;overflow:auto visible}.log-routine-stage{min-width:max(100%, calc(var(--stage-columns,1) * 176px));position:relative}.log-routine-track{grid-template-columns:repeat(var(--commit-count,1), minmax(150px, 1fr));height:var(--routine-track-height);isolation:isolate;display:grid;position:relative}.log-routine-track-line{left:18px;right:18px;top:calc(var(--routine-dot-y) - 1px);background:linear-gradient(90deg,#6b739429,#7aa2f7b8,#9ece6a8f,#6b739429),#ffffff0a;border-radius:999px;height:2px;position:absolute;box-shadow:0 0 18px #7aa2f72e}.log-routine-track-line:before{content:"";border-radius:inherit;filter:blur(8px);background:linear-gradient(90deg,#0000,#7aa2f724,#9ece6a1a,#0000);position:absolute;inset:-5px 0}.log-routine-commit{z-index:1;height:var(--routine-track-height);min-width:0;color:var(--text-muted);cursor:pointer;text-align:center;background:0 0;border:none;padding:0 8px;font-family:inherit;transition:color .15s;position:relative}.log-routine-commit:focus-visible{outline:none}.log-routine-commit:focus-visible .log-routine-commit-dot{border-color:var(--border-focus);box-shadow:0 0 0 7px #7aa2f717,0 0 24px #7aa2f738}.log-routine-commit:hover .log-routine-commit-dot{border-color:color-mix(in srgb, var(--event-color) 68%, white 8%);background:color-mix(in srgb, var(--event-color) 14%, #0a0c16f5);transform:translate(-50%,-50%)scale(1.04)}.log-routine-commit.is-active{color:var(--text-bright)}.log-routine-commit.is-muted .log-routine-commit-dot{border-color:var(--border-strong);background:#ffffff0f}.log-routine-commit-dot{top:var(--routine-dot-y);border:1px solid color-mix(in srgb, var(--event-color) 50%, #ffffff29);width:30px;height:30px;box-shadow:0 0 0 6px #07080edb, 0 0 18px color-mix(in srgb, var(--event-color) 26%, transparent), inset 0 1px 0 #ffffff14;background:#090b14f5;border-radius:999px;justify-content:center;align-items:center;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s;display:inline-flex;position:absolute;left:50%;transform:translate(-50%,-50%)}.log-routine-commit-dot:after{content:"";border-radius:inherit;background:color-mix(in srgb, var(--event-color) 84%, white 10%);width:8px;height:8px;box-shadow:0 0 14px color-mix(in srgb, var(--event-color) 72%, transparent)}.log-routine-commit.is-active .log-routine-commit-dot{background:#9ece6a21;border-color:#d6f5a4c2;box-shadow:0 0 0 7px #9ece6a14,0 0 30px #9ece6a47,inset 0 1px #ffffff1f}.log-routine-commit.is-active .log-routine-commit-dot:after{background:#d6f5a4;box-shadow:0 0 20px #9ece6ac7}.log-routine-commit-label{z-index:2;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:3px;width:min(148px,100% - 10px);min-width:0;padding:7px 8px;transition:background .15s,border-color .15s;display:flex;position:absolute;top:8px;bottom:auto;left:50%;transform:translate(-50%)}.log-routine-commit:hover .log-routine-commit-label,.log-routine-commit.is-active .log-routine-commit-label{background:#ffffff09;border-color:#94a3c914}.log-routine-commit-label strong{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;line-height:1.25;overflow:hidden}.log-routine-commit-label i{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px;font-style:normal}.log-routine-branch-stage{margin-top:calc(var(--routine-dot-y) - var(--routine-track-height));padding-top:var(--routine-track-height);position:relative}.log-routine-branch-lines{z-index:0;pointer-events:none;width:100%;height:150px;position:absolute;top:-12px;left:0;overflow:visible}.log-routine-branch-curve{fill:none;stroke:var(--session-color,var(--accent));stroke-width:2.35px;stroke-linecap:round;stroke-linejoin:round;opacity:.72;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--session-color,var(--accent)) 28%, transparent))}.log-routine-branch-origin{fill:#d6f5a4;stroke:#080a12eb;stroke-width:3px;filter:drop-shadow(0 0 10px #9ece6a6b)}.log-routine-branch-end{fill:var(--session-color,var(--accent));stroke:#080a12eb;stroke-width:3px;filter:drop-shadow(0 0 8px color-mix(in srgb, var(--session-color,var(--accent)) 36%, transparent))}.log-routine-branch-map{z-index:1;grid-template-columns:repeat(var(--branch-count,1), minmax(0, 1fr));gap:16px;display:grid;position:relative}.log-routine-branch-card{--session-color:var(--accent);border:1px solid color-mix(in srgb, var(--session-color) 26%, #94a3c91f);background:linear-gradient(180deg, color-mix(in srgb, var(--session-color) 8%, transparent), #ffffff04 46%), #07080e52;border-radius:8px;min-width:0;padding:clamp(10px,1.4vw,15px);position:relative;box-shadow:inset 0 1px #ffffff0d,0 12px 34px #00000024}.log-routine-branch-card:before{content:"";background:linear-gradient(90deg, transparent, var(--session-color), transparent);opacity:.72;border-radius:999px;height:2px;position:absolute;top:-1px;left:12px;right:12px}.log-routine-branch-card.is-muted{opacity:.72}.log-routine-branch-pin{background:var(--session-color);width:10px;height:10px;box-shadow:0 0 11px color-mix(in srgb, var(--session-color) 46%, transparent);border:2px solid #080a12f5;border-radius:999px;position:absolute;top:-7px;left:50%;transform:translate(-50%)}.log-routine-branch-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:10px;display:flex}.log-routine-branch-head div{min-width:0}.log-routine-branch-head strong{min-width:0;color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;line-height:1.35;display:block;overflow:hidden}.log-routine-branch-head span{color:var(--text-muted);white-space:nowrap;margin-top:3px;font-size:11px;display:block}.log-routine-branch-head b{border:1px solid color-mix(in srgb, var(--session-color) 28%, var(--border));min-height:24px;color:color-mix(in srgb, var(--session-color) 82%, white 8%);background:color-mix(in srgb, var(--session-color) 8%, transparent);white-space:nowrap;border-radius:7px;flex:none;align-items:center;margin-left:auto;padding:3px 7px;font-size:11px;font-weight:800;display:inline-flex}.log-routine-exercise-list{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.log-routine-exercise-list li{min-width:0;min-height:27px;color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;background:#ffffff06;border:1px solid #94a3c912;border-radius:7px;align-items:center;padding:5px 8px 5px 18px;font-size:12px;line-height:1.35;display:flex;position:relative;overflow:hidden}.log-routine-exercise-list li:before{content:"";background:var(--session-color);opacity:.82;border-radius:999px;width:5px;height:5px;position:absolute;left:8px}.log-routine-exercise-list li.is-muted{color:var(--text-muted)}.log-routine-branch-card--free{justify-self:center;width:min(100%,420px);max-width:420px}@media (width<=980px){.log-page{grid-template-columns:minmax(0,1fr)}.log-sidebar{flex-direction:row;position:static;overflow-x:auto}.log-sidebar-button{min-width:176px}.log-view-grid--daily,.log-view-grid--exercise,.log-exercise-main{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.log-page-header{flex-direction:column;align-items:flex-start}.log-routine-graph-shell{padding:16px 14px 18px}.log-routine-stage{min-width:max(100%, calc(var(--stage-columns,1) * 158px))}.log-routine-track{grid-template-columns:repeat(var(--commit-count,1), minmax(136px, 1fr))}.log-routine-branch-map{gap:8px}.log-routine-branch-card{padding:10px}.log-routine-branch-head{gap:7px}.log-routine-branch-head strong,.log-routine-exercise-list li{font-size:11px}.log-routine-branch-head b{min-height:21px;padding:2px 5px;font-size:10px}}.routine-session-row{cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:space-between;align-items:center;margin-bottom:2px;padding:10px;display:flex;position:relative}.routine-session-row:focus-visible{border-color:#7aa2f733;outline:none;box-shadow:0 0 0 2px #7aa2f738,0 0 14px #7aa2f714}.routine-session-edit-row{background:#e4e8f00f;border-radius:7px;align-items:center;gap:6px;margin-bottom:2px;padding:8px 10px;display:flex}.routine-session-edit-input{border:1px solid var(--border-focus);min-width:0;color:var(--text-bright);background:#ffffff0d;border-radius:5px;outline:none;flex:1;padding:4px 8px;font-size:13px}.routine-small-row-button,.routine-session-edit-action,.routine-row-delete-btn,.routine-add-row-cancel{border-radius:var(--radius-xs);color:var(--text-muted);cursor:pointer;transition:color var(--motion-fast), opacity var(--motion-fast), background var(--motion-fast);background:0 0;border:none;align-items:center;padding:4px;display:flex}.routine-small-row-button{opacity:.5}.routine-small-row-button:hover{color:var(--button-hover-color,var(--accent));opacity:1}.routine-session-edit-action{border-radius:5px;padding:4px 6px}.routine-session-edit-action--save{color:var(--accent);background:#7aa2f726}.routine-session-edit-action--cancel{background:#ffffff0d}.routine-row-body{flex:1;min-width:0}.routine-session-name{color:var(--text-main);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:400;overflow:hidden}.routine-session-row.is-highlighted .routine-session-name{color:var(--text-bright);font-weight:600}.routine-session-day{color:var(--session-color);text-shadow:0 0 12px color-mix(in srgb, var(--session-color) 33%, transparent);font-weight:700}.routine-row-separator{opacity:.6;margin:0 6px}.routine-row-subtext{color:var(--text-muted);margin-top:2px;font-size:11px}.routine-row-actions{align-items:center;gap:4px;display:flex}.routine-tabs{z-index:10;scrollbar-width:none;align-items:center;gap:12px;padding:0 2px 28px;display:flex;position:absolute;top:-64px;left:2px;right:2px;overflow-x:auto}.routine-tabs-add{flex-shrink:0;position:relative}.routine-tabs-add-button{width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:color .18s,transform .18s;display:flex}.routine-tabs-add-button:hover,.routine-tabs-add-button.is-open{color:var(--accent);transform:scale(1.1)}.routine-tabs-add-button-icon{transition:transform var(--motion-medium)}.routine-tabs-add-button.is-open .routine-tabs-add-button-icon{transform:rotate(45deg)}.routine-tabs-scrim{z-index:998;position:fixed;inset:0}.routine-tabs-menu{z-index:999;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-popover);-webkit-backdrop-filter:blur(12px);flex-direction:column;gap:2px;min-width:220px;padding:6px;display:flex;position:fixed;box-shadow:0 10px 30px #00000080}.routine-tabs-menu-button,.routine-tabs-menu-copy{cursor:pointer;text-align:left;width:100%;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;border-radius:6px;font-family:inherit;font-size:13px}.routine-tabs-menu-button{color:var(--accent);align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex}.routine-tabs-menu-button:hover{background:#7aa2f71a}.routine-tabs-menu-divider{background:var(--border);height:1px;margin:4px 6px}.routine-tabs-menu-label{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;padding:4px 12px 6px;font-size:10px;font-weight:600}.routine-tabs-copy-list{flex-direction:column;gap:2px;max-height:240px;display:flex;overflow-y:auto}.routine-tabs-menu-copy{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;padding:8px 12px;display:block;overflow:hidden}.routine-tabs-menu-copy:hover{color:var(--text-bright);background:#ffffff0d}.routine-tabs-item{flex-shrink:0;align-items:center;gap:6px;display:flex}.routine-tabs-button{color:var(--text-muted);cursor:pointer;letter-spacing:.02em;white-space:nowrap;transition:color var(--motion-medium), font-weight var(--motion-medium);background:0 0;border:none;padding:8px 12px;font-family:inherit;font-size:14px;font-weight:500;line-height:1.3;position:relative}.routine-tabs-button:hover{color:var(--text-main)}.routine-tabs-button.is-active{color:var(--text-bright);font-weight:600}.routine-tabs-active-marker{background:var(--accent);height:2px;box-shadow:0 0 10px var(--accent-glow), 0 0 4px var(--accent);border-radius:1px;position:absolute;bottom:-6px;left:12px;right:12px}.routine-temporary-session-zone{border-bottom:1px solid var(--border);padding:0 12px 12px}.routine-temporary-session-heading{color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;padding:2px 4px 8px;font-size:10px;font-weight:700;display:flex}.routine-temporary-session-heading span{color:#9ece6a;align-items:center;gap:5px;display:inline-flex}.routine-temporary-session-heading b{text-overflow:ellipsis;white-space:nowrap;opacity:.62;font-size:10px;font-weight:600;overflow:hidden}.routine-temporary-session-create{color:#d6f5a4c2;cursor:pointer;background:#9ece6a09;border:1px dashed #9ece6a40;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:46px;padding:10px;font-family:inherit;font-size:13px;font-weight:700;transition:color .15s,background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.routine-temporary-session-create:hover,.routine-temporary-session-create:focus-visible{color:#d6f5a4;background:#9ece6a12;border-color:#9ece6a6b;outline:none;box-shadow:0 0 0 1px #9ece6a14,0 0 14px #9ece6a14}.routine-temporary-session-create-condensed{color:#9ece6ab3;cursor:pointer;width:fit-content;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);background:#9ece6a05;border:1px dashed #9ece6a33;border-radius:6px;outline:none;justify-content:center;align-self:center;align-items:center;gap:4px;margin-top:4px;padding:6px 12px;font-family:inherit;font-size:11px;font-weight:600;display:inline-flex}.routine-temporary-session-create-condensed:hover,.routine-temporary-session-create-condensed:focus-visible{color:#9ece6a;background:#9ece6a0d;border-color:#9ece6a59}.routine-session-row--temporary{background:#9ece6a09;border-color:#9ece6a29}.routine-session-row--temporary:hover{background:#9ece6a0e}.routine-session-temp-title{align-items:center;gap:7px;min-width:0;display:inline-flex}.routine-session-temp-title>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.routine-session-temp-badge{color:#9ece6a;background:#9ece6a14;border:1px solid #9ece6a3d;border-radius:6px;flex:none;align-items:center;min-height:20px;padding:2px 6px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.routine-exercise-row{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;grid-template-columns:24px minmax(0,1fr) 60px 60px 24px;align-items:center;gap:12px;min-height:58px;margin-bottom:2px;padding:12px;display:grid;position:relative}.routine-exercise-row:focus-visible{border-color:#7aa2f733;outline:none;box-shadow:0 0 0 2px #7aa2f738,0 0 14px #7aa2f714}.routine-row-index{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;font-size:11px}.routine-exercise-main{min-width:0}.routine-exercise-name{color:var(--text-main);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:400;overflow:hidden}.routine-exercise-row.is-highlighted .routine-exercise-name{color:var(--text-bright);font-weight:600}.routine-exercise-muscle{color:var(--text-muted);margin-top:2px;font-size:11px}.routine-exercise-target{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:400}.routine-exercise-target--right{justify-self:end;margin-right:8px}.routine-exercise-row.is-highlighted .routine-exercise-target{color:var(--text-bright);font-weight:500}.routine-row-delete-slot{justify-content:flex-end;display:flex}.routine-row-delete-btn{opacity:0;flex-shrink:0}.routine-row-delete-btn:hover,.routine-add-row-cancel:hover{color:var(--danger-hot);opacity:1}.routine-add-row{border-radius:var(--radius-sm);background:#e4e8f008;grid-template-columns:24px minmax(0,1fr) 60px 60px 24px;align-items:center;gap:12px;margin-bottom:8px;padding:8px 12px;display:grid}.routine-add-row-search{grid-column:2/span 3;min-width:0}.routine-add-row-actions{grid-column:5;justify-content:flex-end;display:flex}.routine-exercise-grid{grid-template-columns:minmax(0,1fr);gap:2px 8px;padding:6px 4px 4px;display:grid}.routine-exercise-grid--with-groups{grid-template-columns:minmax(0,1fr) 32px}.routine-exercise-row-slot{grid-column:1;min-width:0}.routine-exercise-group-bracket{border:1px solid color-mix(in srgb, var(--group-color,#9ece6a) 10%, transparent);background:color-mix(in srgb, var(--group-color,#9ece6a) 3%, transparent);width:32px;min-height:58px;color:color-mix(in srgb, var(--group-color,#9ece6a) 70%, transparent);cursor:pointer;border-radius:8px;outline:none;grid-column:2;justify-content:center;align-items:center;padding:4px 0 4px 2px;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;display:flex;position:relative}.routine-exercise-group-bracket[data-group-size="3"]{width:34px}.routine-exercise-group-bracket[data-group-size="4"],.routine-exercise-group-bracket[data-group-size="5"]{width:36px}.routine-exercise-group-bracket[data-group-size="6"],.routine-exercise-group-bracket[data-group-size="7"],.routine-exercise-group-bracket[data-group-size="8"]{width:38px}body:not(.keyboard-navigating) .routine-exercise-group-bracket:hover,.routine-exercise-group-bracket:focus-visible,.routine-exercise-group-bracket.is-highlighted{border-color:color-mix(in srgb, var(--group-color,#9ece6a) 24%, transparent);background:color-mix(in srgb, var(--group-color,#9ece6a) 7%, transparent);color:var(--group-color,#9ece6a);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--group-color,#9ece6a) 6%, transparent), 0 0 12px color-mix(in srgb, var(--group-color,#9ece6a) 10%, transparent)}.routine-exercise-group-brace{-webkit-user-select:none;user-select:none;text-shadow:0 0 14px color-mix(in srgb, var(--group-color,#9ece6a) 26%, transparent);font-family:ui-serif,Georgia,Times New Roman,serif;font-size:38px;font-weight:400;line-height:.9;transform:scaleX(.72)scaleY(1.25)}.routine-exercise-group-bracket:before{content:"";background:color-mix(in srgb, var(--group-color,#9ece6a) 20%, transparent);border-radius:1px;width:2px;transition:background .15s;position:absolute;top:14px;bottom:14px;left:-1px}body:not(.keyboard-navigating) .routine-exercise-group-bracket:hover:before,.routine-exercise-group-bracket:focus-visible:before,.routine-exercise-group-bracket.is-highlighted:before{background:color-mix(in srgb, var(--group-color,#9ece6a) 50%, transparent)}.routine-exercise-group-bracket{border-top:1px solid color-mix(in srgb, var(--group-color,#9ece6a) 12%, transparent);border-bottom:1px solid color-mix(in srgb, var(--group-color,#9ece6a) 12%, transparent)}.routine-add-group-row{background:#9ece6a09;border:1px solid #9ece6a29;border-radius:8px;grid-template-columns:minmax(0,1fr) auto 28px 28px;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;display:grid}.routine-add-group-row input{border:1px solid var(--border);width:100%;min-width:0;height:30px;color:var(--text-bright);font:inherit;background:#ffffff09;border-radius:6px;outline:none;padding:0 8px;font-size:13px}.routine-add-group-row input:focus{border-color:#9ece6a47;box-shadow:0 0 0 1px #9ece6a14}.routine-add-group-size{align-items:center;gap:5px;display:inline-flex}.routine-add-group-size button,.routine-add-group-row>button{border:1px solid var(--border);width:28px;height:28px;color:var(--text-main);cursor:pointer;font:inherit;background:#ffffff0a;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.routine-add-group-size button:disabled,.routine-add-group-row>button:disabled{cursor:not-allowed;opacity:.38}.routine-add-group-size span{min-width:18px;color:var(--text-bright);text-align:center;font-variant-numeric:tabular-nums;font-size:13px;font-weight:800}.routine-group-row-list{flex-direction:column;gap:2px;margin-top:8px;padding:4px;display:flex}.routine-group-row{min-height:44px;color:var(--text-muted);cursor:pointer;background:#ffffff04;border:1px solid #0000;border-radius:8px;outline:none;grid-template-columns:24px minmax(0,1fr) 44px 24px;align-items:center;gap:10px;padding:8px;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:grid}body:not(.keyboard-navigating) .routine-group-row:hover,.routine-group-row:focus-visible,.routine-group-row.is-highlighted{border-color:color-mix(in srgb, var(--group-color,#9ece6a) 24%, transparent);background:color-mix(in srgb, var(--group-color,#9ece6a) 7%, transparent);color:var(--group-color,#9ece6a);box-shadow:0 0 10px color-mix(in srgb, var(--group-color,#9ece6a) 10%, transparent)}.routine-group-row-index{color:inherit;font-variant-numeric:tabular-nums;text-align:right;opacity:.78;font-size:11px}.routine-group-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.routine-group-row-main strong{color:var(--text-main);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}body:not(.keyboard-navigating) .routine-group-row:hover .routine-group-row-main strong,.routine-group-row:focus-visible .routine-group-row-main strong,.routine-group-row.is-highlighted .routine-group-row-main strong{color:var(--text-bright)}.routine-group-row-main span,.routine-group-row-size{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.routine-group-row-size{white-space:nowrap;justify-self:end}.routine-group-row-delete{width:22px;height:22px;color:var(--text-muted);cursor:pointer;opacity:.65;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,opacity .15s;display:inline-flex}.routine-group-row-delete:hover{color:#f77a7a;opacity:1;background:#f77a7a1f}.setting-stepper-value:focus-visible{box-shadow:0 0 0 1px var(--border-focus), 0 0 10px #7aa2f71f}.routine-add-exercise-btn{transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast), box-shadow var(--motion-fast);outline:none}.routine-add-exercise-btn:hover:not(:disabled){color:var(--accent);background:#7aa2f712;border-color:#7aa2f74d}.routine-add-exercise-btn:focus-visible{color:var(--accent);background:#7aa2f714;border-color:#7aa2f78c;outline:none;box-shadow:0 0 0 2px #7aa2f740,0 0 20px #7aa2f71f}.add-set-row-btn-minimal{width:100%;height:100%;color:var(--text-muted);cursor:pointer;opacity:.22;background:0 0;border:none;outline:none;justify-content:center;align-items:center;font-size:11px;font-weight:500;transition:background .22s cubic-bezier(.4,0,.2,1),color .22s cubic-bezier(.4,0,.2,1),opacity .22s cubic-bezier(.4,0,.2,1);display:inline-flex}.add-set-row-btn-minimal:hover{opacity:.8;color:var(--accent);background:#7aa2f70a}.add-set-row-btn-minimal:active{background:#7aa2f714}body.keyboard-navigating .spreadsheet .add-set-row-btn-minimal{opacity:.22;color:var(--text-muted);background:0 0}.side-badge{letter-spacing:.02em;font-variant-numeric:tabular-nums;text-transform:uppercase;flex-shrink:0;margin-left:4px;font-size:12px;font-weight:600;line-height:1;display:inline-block}.side-badge--l{color:var(--side-l)}.side-badge--r{color:var(--side-r)}.session-dropdown-wrapper{cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;margin-left:4px;transition:background .15s;display:inline-flex;position:relative}.session-dropdown-wrapper:hover{background:#ffffff0f}.session-dropdown-wrapper:active{background:#ffffff1a}.session-inline-select{opacity:0;cursor:pointer;border:none;outline:none;width:100%;height:100%;position:absolute;inset:0}.session-dropdown-arrow{color:var(--text-muted);pointer-events:none;justify-content:center;align-items:center;transition:color .15s;display:flex}.session-dropdown-wrapper:hover .session-dropdown-arrow{color:var(--text-bright)}.session-dropdown-wrapper:focus-within{box-shadow:0 0 0 1px var(--border-focus);background:#ffffff0f}.session-dropdown-wrapper:focus-within .session-dropdown-arrow{color:var(--accent)}.session-inline-option{color:var(--text-main);background-color:#0e111a;padding:8px;font-size:13px}.workout-complete-tr{background:0 0}.spreadsheet td.workout-complete-td{border-bottom:none;height:auto;padding:24px 8px 12px}.workout-complete-row-btn{width:100%;height:46px;color:var(--text-bright);cursor:pointer;letter-spacing:-.01em;background:linear-gradient(135deg,#7aa2f726 0%,#bb9af726 100%);border:1px solid #7aa2f740;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:700;transition:background .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 4px 12px #7aa2f71a,inset 0 1px #ffffff0d}.workout-complete-row-btn:hover:not(:disabled){background:linear-gradient(135deg,#7aa2f740 0%,#bb9af740 100%);border-color:#7aa2f773;transform:translateY(-1px);box-shadow:0 6px 18px #7aa2f726,inset 0 1px #ffffff14}.workout-complete-row-btn:active:not(:disabled){background:linear-gradient(135deg,#7aa2f72e 0%,#bb9af72e 100%);transform:translateY(0);box-shadow:0 2px 8px #7aa2f714,inset 0 1px #ffffff08}.workout-complete-row-btn:disabled{opacity:.3;cursor:not-allowed;box-shadow:none;border-color:var(--border);color:var(--text-muted);background:#ffffff05;transform:none}body.keyboard-navigating .spreadsheet .workout-complete-row-btn:hover,body.keyboard-navigating .spreadsheet .workout-complete-row-btn:active{background:linear-gradient(135deg,#7aa2f726 0%,#bb9af726 100%);border-color:#7aa2f740;transform:none;box-shadow:0 4px 12px #7aa2f71a,inset 0 1px #ffffff0d}.auth-modal-backdrop{z-index:10000;-webkit-backdrop-filter:blur(16px);background:#05070cb3;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.25s cubic-bezier(.4,0,.2,1) fadeIn;display:flex;position:fixed;top:0;left:0}.auth-modal-content{width:380px;color:var(--text-main);background:#121624d9;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;padding:32px;animation:.3s cubic-bezier(.34,1.56,.64,1) slideUp;display:flex;position:relative;box-shadow:0 24px 60px #00000073,inset 0 0 1px #ffffff1a}.auth-modal-close{color:var(--text-muted);cursor:pointer;transition:background var(--motion-medium), color var(--motion-medium);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:20px;right:20px}.auth-modal-close:hover{color:var(--text-main);background:#ffffff0d}.auth-modal-header{text-align:center;margin-bottom:28px}.auth-modal-header h2{letter-spacing:-.02em;color:var(--text-main);margin:0 0 8px;font-size:22px;font-weight:700}.auth-modal-header p{color:var(--text-muted);margin:0;font-size:13px}.auth-feedback-msg{letter-spacing:-.01em;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px;line-height:1.4}.auth-feedback-msg.error{color:#f7768e;background:#f7768e14;border:1px solid #f7768e33}.auth-feedback-msg.success{color:#9ece6a;background:#9ece6a14;border:1px solid #9ece6a33}.auth-feedback-msg.warning{color:#e0af68;background:#e0af681a;border:1px solid #e0af683d}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-input{border:1px solid var(--border);transition:border-color var(--motion-medium), box-shadow var(--motion-medium);background:#0003;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;display:flex}.auth-input:focus-within{border-color:var(--accent);box-shadow:0 0 10px #7aa2f726}.auth-input-field{color:var(--text-main);background:0 0;border:none;outline:none;width:100%;font-size:14px}.auth-submit-btn{background:var(--accent);color:#0c0e18;cursor:pointer;transition:filter var(--motion-medium);border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:12px;font-size:14px;font-weight:600;display:flex;box-shadow:0 4px 12px #7aa2f733}.auth-submit-btn:disabled{cursor:not-allowed}.auth-submit-btn:hover:not(:disabled){filter:brightness(1.1)}.auth-footer-toggle{text-align:center;color:var(--text-muted);margin-top:24px;font-size:13px}.auth-toggle-link{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-left:6px;padding:2px 4px;font-size:13px;font-weight:600}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.account-menu-container{z-index:9999;align-items:center;display:flex;position:absolute;top:10px;right:10px}.account-menu-trigger{letter-spacing:-.02em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:filter var(--motion-medium);border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;display:flex;box-shadow:0 2px 8px #00000026}.account-menu-trigger:hover{filter:brightness(1.1)}.account-menu-trigger.is-guest{color:var(--accent);background:#7aa2f70f;border:1px solid #7aa2f726}.account-menu-trigger.is-user{color:#9ece6a;background:#9ece6a14;border:1px solid #9ece6a40}.account-menu-dropdown{-webkit-backdrop-filter:blur(20px);background:#121624e6;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:2px;width:220px;padding:6px;animation:.15s ease-out dropdownFade;display:flex;position:absolute;top:38px;right:0;box-shadow:0 10px 30px #00000080}.dropdown-item{width:100%;color:var(--text-main);text-align:left;cursor:pointer;transition:background var(--motion-fast), opacity var(--motion-fast);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:500;display:flex}.dropdown-item:hover{background:#ffffff0f}.dropdown-item:disabled{opacity:.5;cursor:not-allowed}.dropdown-divider{background:#ffffff0f;height:1px;margin:4px 6px}.account-menu-info{color:var(--text-muted);padding:8px 12px;font-size:11px}.account-menu-email{color:var(--text-main);font-weight:600}.exercise-search-wrap{z-index:100;width:100%;position:relative}.exercise-search-input-group{align-items:center;display:flex;position:relative}.exercise-search-input{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-bright);background:#00000040;outline:none;padding:12px 16px 12px 42px;font-family:inherit;font-size:14px;transition:border-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1)}.exercise-search-input.is-open{border-color:var(--border-focus);box-shadow:0 0 12px var(--accent-glow)}.exercise-search-icon{transition:color .2s;position:absolute;left:16px}.exercise-search-clear-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;position:absolute;right:16px}.exercise-suggestions-dropdown{-webkit-backdrop-filter:blur(30px);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:#0c0e18f2;max-height:280px;margin:0;padding:6px;list-style:none;animation:.15s ease-out fadeIn;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 40px #00000073}.exercise-suggestion-item{color:var(--text-main);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border-radius:6px;flex-direction:column;gap:4px;padding:10px 14px;display:flex}.exercise-suggestion-item.is-selected{color:var(--text-bright);background:#7aa2f71f}.exercise-suggestion-header{justify-content:space-between;align-items:center;display:flex}.exercise-suggestion-name{font-size:14px;font-weight:600}.exercise-suggestion-english{color:var(--text-muted);font-size:11px;font-style:italic}.exercise-suggestion-meta{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.exercise-badge-muscle{color:var(--accent);background:#7aa2f714;border:1px solid #7aa2f726;border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-size:11px;display:inline-flex}.exercise-badge-equipment{color:var(--text-muted);border:1px solid var(--border);background:#ffffff08;border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-size:11px;display:inline-flex}.exercise-custom-popup{-webkit-backdrop-filter:blur(30px);border-radius:var(--radius-md);color:var(--text-muted);z-index:101;background:#0e101cf7;border:1px solid #7aa2f726;max-height:min(70vh,720px);padding:24px 22px;font-size:13px;animation:.15s ease-out fadeIn;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 48px #0009}.exercise-custom-popup-header{border-bottom:1px solid #ffffff0f;justify-content:center;align-items:center;gap:10px;margin-bottom:8px;padding-bottom:14px;display:flex}.exercise-custom-popup-header-title{color:var(--accent);background:#7aa2f71a;border-radius:5px;padding:2px 10px;font-size:15px;font-weight:700}.exercise-custom-popup-desc{text-align:center;color:var(--text-main);margin-bottom:18px;padding:0 6px;font-size:12px;line-height:1.6}.exercise-custom-form{text-align:left;padding-top:4px}.exercise-custom-label{color:var(--text-bright);letter-spacing:.02em;align-items:center;gap:5px;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}.exercise-custom-options{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.exercise-custom-option-btn{color:var(--text-main);border:1px solid var(--border);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);background:#ffffff08;border-radius:5px;padding:6px 10px;font-family:inherit;font-size:11px;font-weight:500}.exercise-custom-option-btn:hover{border-color:var(--border-strong);color:var(--text-bright);background:#ffffff0f}.exercise-custom-option-btn.is-active{color:var(--accent);background:#7aa2f726;border:1px solid #7aa2f759;font-weight:600}.exercise-unilateral-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff06;justify-content:space-between;align-items:center;margin-bottom:22px;padding:14px 16px;transition:background .2s,border-color .2s;display:flex}.exercise-unilateral-toggle:hover{border-color:var(--border-strong);background:#ffffff0a}.toggle-switch-track{background:#ffffff1a;border-radius:11px;flex-shrink:0;align-items:center;width:40px;height:22px;transition:background .2s;display:flex;position:relative}.toggle-switch-track.is-active{background:var(--accent)}.toggle-switch-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:left .2s cubic-bezier(.4,0,.2,1);position:absolute;left:3px;box-shadow:0 1px 3px #0006}.toggle-switch-track.is-active .toggle-switch-thumb{left:21px}.exercise-custom-submit-btn{background:linear-gradient(135deg, var(--accent) 0%, #5b87e6 100%);border-radius:var(--radius-sm);color:#fff;cursor:pointer;width:100%;transition:filter var(--motion-medium), transform var(--motion-medium);letter-spacing:-.01em;border:none;justify-content:center;align-items:center;gap:7px;padding:12px;font-family:inherit;font-size:13px;font-weight:700;display:flex;box-shadow:0 4px 18px #7aa2f74d}.exercise-custom-submit-btn:hover{filter:brightness(1.12);transform:translateY(-1px)}.exercise-custom-submit-btn:active{filter:brightness(.95);transform:translateY(0)}.workout-grid-empty{height:100%;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.workout-grid-container{flex-direction:column;height:100%;display:flex;overflow:hidden}.workout-grid-header{padding:20px 22px 0}.workout-grid-header-title-row{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.workout-grid-header-selector-group{align-items:center;gap:8px;display:flex}.workout-grid-session-title{color:var(--text-bright);margin:0;font-size:18px;font-weight:600}.workout-grid-header-bar{border-bottom:1px solid var(--border);align-items:center;width:100%;height:38px;display:flex}.workout-grid-header-col-set{justify-content:center;width:60px;display:flex}.workout-grid-header-col-metric{flex:1;justify-content:center;display:flex}.workout-grid-scroll-area{flex:1;padding:0 22px 20px;overflow-y:auto}.workout-grid-table-row-exercise-header td{text-align:left;color:var(--text-bright);letter-spacing:-.02em;border-bottom:none;font-size:14px;font-weight:600}.workout-grid-table-row-exercise-header--first td{padding:20px 14px 10px}.workout-grid-table-row-exercise-header--subsequent td{padding:40px 14px 10px}.workout-grid-table-cell-add-row{text-align:center;border-bottom:1px solid var(--border);vertical-align:middle;height:36px;padding:0}.workout-grid-add-set-icon{margin-right:4px}.workout-grid-memo-container{border-top:1px solid var(--border);padding:18px 22px}.past-logs-empty{height:100%;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.past-logs-container{flex-direction:column;height:100%;display:flex;overflow:hidden}.past-logs-scroll-area{flex:1;padding:0 0 100px;overflow-y:auto}.past-logs-list{flex-direction:column;gap:16px;display:flex}.past-logs-empty-message{color:var(--text-muted);text-align:center;margin-top:20px}.past-logs-card{padding:16px}.past-logs-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.past-logs-card-date{color:var(--text-bright);font-size:14px;font-weight:600}.past-logs-card-volume{color:var(--accent);font-size:12px;font-weight:500}.past-logs-memos-wrapper{border-top:1px dashed var(--border);flex-direction:column;gap:6px;margin-top:12px;padding-top:10px;display:flex}.past-logs-memo-row{color:var(--text-main);align-items:flex-start;gap:8px;font-size:13px;line-height:1.45;display:flex}.past-logs-memo-badge{color:var(--accent);white-space:nowrap;align-items:center;padding-top:1px;font-size:11px;font-weight:600;display:inline-flex}.past-logs-memo-badge .side-badge{margin-left:6px}.past-logs-memo-text{color:var(--text-main);word-break:break-all}.setting-row-label-section{color:var(--text-muted);letter-spacing:.05em;align-items:center;gap:5px;margin-bottom:8px;font-size:11px;font-weight:500;display:flex}.setting-stepper-container{align-items:center;gap:8px;display:flex}.setting-stepper-btn{border:1px solid var(--border);width:28px;height:28px;color:var(--text-main);cursor:pointer;background:#ffffff0a;border-radius:6px;justify-content:center;align-items:center;font-family:inherit;font-size:16px;transition:background .15s;display:flex}.setting-stepper-btn:hover{background:#ffffff14}.setting-stepper-btn:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.3;background:#ffffff0a}.setting-stepper-display-value{color:var(--text-bright);text-align:center;font-variant-numeric:tabular-nums;cursor:default;border-radius:6px;outline:none;min-width:28px;font-size:17px;font-weight:700}.setting-stepper-display-value.rest-time,.setting-stepper-display-value.unilateral{letter-spacing:-.02em;min-width:52px;font-size:15px}.setting-stepper-display-value.unilateral.is-disabled{color:var(--text-muted);cursor:default}.setting-stepper-display-value.unilateral:not(.is-disabled){cursor:pointer}.setting-stepper-unit{color:var(--text-muted);font-size:12px}.setting-text-input{border:1px solid var(--border);width:100%;height:32px;color:var(--text-bright);font:inherit;background:#ffffff09;border-radius:6px;outline:none;padding:0 9px;font-size:13px}.setting-text-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 1px #7aa2f714,0 0 10px #7aa2f71a}.setting-text-input:disabled{color:var(--text-muted);opacity:.55}body.keyboard-navigating *{pointer-events:none!important}.app-nav-shell{flex-shrink:0;justify-content:center;width:100%;display:flex}.app-nav{border:1px solid var(--border);-webkit-backdrop-filter:var(--blur-popover);background:#0c0e1899;border-radius:9999px;align-items:center;gap:3px;padding:5px;display:flex;box-shadow:0 4px 24px #00000040}.app-nav-tab{color:var(--text-muted);cursor:pointer;letter-spacing:.01em;background:0 0;border:none;border-radius:9999px;align-items:center;gap:7px;padding:9px 22px;font-family:inherit;font-size:14px;font-weight:500;transition:background .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),font-weight .3s cubic-bezier(.4,0,.2,1);display:flex}.app-nav-tab.is-active{color:var(--accent);background:#7aa2f71f;font-weight:600}.top-right-header-actions{z-index:9999;align-items:center;gap:8px;display:flex;position:absolute;top:10px;right:10px}.top-right-header-actions .account-menu-container{position:static}.help-trigger-btn{letter-spacing:-.02em;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:background var(--motion-standard), border-color var(--motion-standard), color var(--motion-standard), transform var(--motion-standard);background:#ffffff08;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;display:flex;box-shadow:0 2px 8px #0000001a}.help-trigger-btn:hover{color:var(--accent);background:#7aa2f714;border-color:#7aa2f74d;transform:translateY(-.5px)}.demo-clear-trigger-btn{letter-spacing:-.02em;color:#f7768e;cursor:pointer;transition:background var(--motion-standard), border-color var(--motion-standard), color var(--motion-standard), transform var(--motion-standard);background:#f7768e0f;border:1px solid #f7768e2e;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;display:flex;box-shadow:0 2px 8px #0000001a}.demo-clear-trigger-btn:hover,.demo-clear-trigger-btn.is-open{color:#ff8fa3;background:#f7768e1f;border-color:#f7768e52;transform:translateY(-.5px)}.demo-clear-action{position:relative}.demo-clear-popover{z-index:10001;background:#121624fa;border:1px solid #ffffff1a;border-radius:10px;width:240px;padding:12px;animation:.15s ease-out dropdownFade;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 28px #00000073}.demo-clear-popover-title{color:var(--text-bright);margin:0 0 4px;font-size:13px;font-weight:700;line-height:1.35}.demo-clear-popover-desc{color:var(--text-muted);margin:0 0 10px;font-size:12px;line-height:1.45}.demo-clear-popover-actions{gap:6px;display:flex}.demo-clear-popover-btn{cursor:pointer;transition:background var(--motion-standard), border-color var(--motion-standard), filter var(--motion-standard);border:1px solid #0000;border-radius:6px;flex:1;padding:7px 10px;font-family:inherit;font-size:12px;font-weight:600}.demo-clear-popover-btn.is-danger{color:#07080e;background:#f7768e}.demo-clear-popover-btn.is-danger:hover{filter:brightness(1.08)}.demo-clear-popover-btn.is-cancel{border-color:var(--border);color:var(--text-main);background:#ffffff0d}.demo-clear-popover-btn.is-cancel:hover{color:var(--text-bright);background:#ffffff14}@keyframes spin{to{transform:rotate(360deg)}}.sync-status-banner{z-index:9998;-webkit-backdrop-filter:blur(22px)saturate(1.25);background:linear-gradient(135deg,#f7768e1f,#0c0e18db 42%),#0c0e18e6;border:1px solid #f7768e3d;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:min(380px,100vw - 20px);min-height:50px;padding:10px 10px 10px 12px;display:grid;position:absolute;top:52px;right:10px;box-shadow:0 12px 32px #00000057}.sync-status-banner__icon{color:#f7768e}.sync-status-banner__copy{min-width:0}.sync-status-banner__title{color:var(--text-bright);font-size:12px;font-weight:700;line-height:1.25}.sync-status-banner__detail{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;font-weight:500;line-height:1.25;overflow:hidden}.sync-status-banner__retry{color:#f7768e;cursor:pointer;background:#f7768e14;border:1px solid #f7768e42;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-width:72px;height:30px;padding:0 9px;font-family:inherit;font-size:11px;font-weight:700;transition:background .18s,border-color .18s,transform .18s;display:inline-flex}.sync-status-banner__retry:hover:not(:disabled){background:#f7768e24;border-color:#f7768e61;transform:translateY(-.5px)}.sync-status-banner__retry:disabled{cursor:not-allowed;opacity:.7}.sync-status-banner__retry-icon.is-spinning{animation:.8s linear infinite spin}.help-backdrop{z-index:100000;isolation:isolate;contain:paint;background:radial-gradient(circle at 50% 18%,#7aa2f71a,#0000 32%),#05070cd6;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.25s cubic-bezier(.4,0,.2,1) fadeIn;display:flex;position:fixed;inset:0}.help-card{background:#121624f0;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;width:min(760px,100vw - 40px);max-height:85vh;animation:.3s cubic-bezier(.34,1.56,.64,1) slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #00000073}.help-header{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:24px 28px;display:flex}.help-title-wrap{align-items:center;gap:8px;display:flex}.help-title-wrap h2{color:var(--text-bright);margin:0;font-size:17px;font-weight:700}.help-close-btn{color:var(--text-muted);cursor:pointer;transition:background var(--motion-medium), color var(--motion-medium);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;display:flex}.help-close-btn:hover{color:var(--text-main);background:#ffffff0d}.help-content{scrollbar-width:none;flex-direction:column;flex:1;gap:24px;padding:24px 28px;display:flex;overflow-y:auto}.help-section{flex-direction:column;gap:12px;display:flex}.section-title-wrap{align-items:center;gap:6px;display:flex}.section-title-wrap h3{color:var(--text-bright);letter-spacing:-.01em;margin:0;font-size:15px;font-weight:700}.help-card .help-kbd{text-transform:none;letter-spacing:.01em;color:#e8ecf8;-webkit-user-select:none;user-select:none;background:linear-gradient(#ffffff24 0%,#ffffff12 100%);border:1px solid #ffffff29;border-bottom:2px solid #00000059;border-radius:6px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 8px;font-family:inherit;font-size:12.5px;font-style:normal;font-weight:600;line-height:1;display:inline-flex;box-shadow:0 1px #ffffff0f}.help-card .help-kbd--wide{min-width:0;padding:0 9px}.help-card .shortcut-key-combo{vertical-align:middle;align-items:center;gap:5px;display:inline-flex}.help-kbd-mod-group{align-items:center;gap:4px;display:inline-flex}.help-kbd-sep{color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:12.5px;font-weight:500;line-height:1}.help-kbd-summary{color:var(--text-main);margin:0;font-size:13.5px;line-height:1.75}.help-kbd-summary-text{color:var(--text-muted);margin:0 .2em}.help-nav-hero{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.help-nav-hero-item{border-radius:var(--radius-md);border:1px solid var(--border);text-align:center;background:#0000002e;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:64px;padding:10px 8px;display:flex}.help-nav-hero-item .help-kbd{min-width:36px;height:36px;font-size:15px;font-weight:700}.help-nav-hero-item span{color:var(--text-muted);font-size:12.5px}.help-tip-list{border-radius:var(--radius-md);border:1px solid var(--border);background:#00000026;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.help-shortcut-row{justify-content:space-between;align-items:center;gap:12px;font-size:13.5px;display:flex}.help-shortcut-label{color:var(--text-main);flex-direction:column;gap:2px;min-width:0;display:flex}.help-shortcut-detail{color:var(--text-muted);font-size:12px;line-height:1.45}.help-tip-list .shortcut-key-combo{flex-shrink:0;justify-content:flex-end}@media (width<=760px){.help-card{width:calc(100vw - 24px)}.help-header{padding:20px 22px}.help-content{padding:22px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.workout-grid-empty-state{height:100%}.empty-state-scroll{flex:1;justify-content:center;align-items:center;display:flex}.workout-grid-empty-placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;max-width:340px;padding:40px;animation:.4s ease-out fadeIn;display:flex}.empty-placeholder-icon{margin-bottom:4px;font-size:32px}.workout-grid-empty-placeholder h3{color:var(--text-bright);letter-spacing:-.01em;margin:0;font-size:15px;font-weight:700}.workout-grid-empty-placeholder p{color:var(--text-muted);margin:0;font-size:12.5px;line-height:1.5}.completion-backdrop{z-index:100000;isolation:isolate;contain:paint;background:radial-gradient(circle at 50% 20%, var(--session-color-glow), transparent 48%), #040509db;-webkit-backdrop-filter:blur(24px)saturate(1.4);justify-content:center;align-items:center;width:100vw;height:100vh;animation:.4s cubic-bezier(.4,0,.2,1) fadeIn;display:flex;position:fixed;inset:0}.completion-confetti-canvas{pointer-events:none;z-index:100001;width:100%;height:100%;position:absolute;inset:0}.completion-card{width:min(540px,100vw - 32px);max-height:90vh;box-shadow:0 32px 80px #0009, 0 0 35px var(--session-color-glow);-webkit-backdrop-filter:blur(12px);box-sizing:border-box;background:#121624e0;border:1px solid #ffffff14;border-radius:24px;flex-direction:column;gap:20px;padding:28px 30px;animation:.5s cubic-bezier(.34,1.56,.64,1) slideUpComplete;display:flex;position:relative;overflow:hidden}.completion-header{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-top:4px;display:flex}.completion-icon-wrapper{justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:4px;display:flex;position:relative}.completion-check-icon{color:var(--session-color-bright);filter:drop-shadow(0 0 14px var(--session-color-glow));animation:.5s cubic-bezier(.34,1.56,.64,1) both scaleInCheck}.completion-sparkles-icon{color:#e0af68;animation:2s ease-in-out infinite floatSparkle;position:absolute;top:-2px;right:-2px}.completion-title{color:var(--text-bright);letter-spacing:-.02em;margin:0;font-size:19px;font-weight:800}.completion-subtitle{color:var(--text-muted);max-width:420px;margin:0;font-size:12px;line-height:1.45}.completion-info-banner{border:1px solid var(--border);background:#ffffff04;border-radius:14px;align-items:center;padding:12px 18px;display:flex;position:relative;overflow:hidden}.info-banner-border{background-color:var(--session-color);width:4px;box-shadow:0 0 10px var(--session-color);position:absolute;top:0;bottom:0;left:0}.info-banner-details{flex-direction:column;flex:1;gap:3px;display:flex}.info-banner-details h3{color:var(--text-bright);margin:0;font-size:14px;font-weight:700}.info-banner-details span{color:var(--text-muted);font-size:11px}.info-banner-duration{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.duration-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:9px}.duration-value{color:var(--session-color-bright);filter:drop-shadow(0 0 6px var(--session-color-glow));font-size:15px;font-weight:700}.completion-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.comp-stat-card{border:1px solid var(--border);background:#ffffff03;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;transition:background .22s cubic-bezier(.4,0,.2,1),border-color .22s cubic-bezier(.4,0,.2,1),box-shadow .22s cubic-bezier(.4,0,.2,1),transform .22s cubic-bezier(.4,0,.2,1);display:flex}.comp-stat-card:hover{background:#ffffff08;border-color:#ffffff1f;transform:translateY(-1.5px);box-shadow:0 6px 18px #00000040}.comp-stat-icon-wrap{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.bg-orange{background:#f0717814;border:1px solid #f0717826}.text-orange{color:#f07178}.bg-purple{background:#bb9af714;border:1px solid #bb9af726}.text-purple{color:#bb9af7}.bg-emerald{background:#9ece6a14;border:1px solid #9ece6a26}.text-emerald{color:#9ece6a}.bg-blue{background:#7aa2f714;border:1px solid #7aa2f726}.text-blue{color:#7aa2f7}.comp-stat-content{flex-direction:column;gap:2px;min-width:0;display:flex}.comp-stat-label{color:var(--text-muted);font-size:10px;font-weight:600}.comp-stat-value{color:var(--text-bright);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:16px;font-weight:800}.comp-stat-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.completion-breakdown-section{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.completion-breakdown-section h3{color:var(--text-bright);letter-spacing:-.01em;margin:0;font-size:12.5px;font-weight:700}.completion-breakdown-list{scrollbar-width:none;flex-direction:column;gap:8px;max-height:160px;padding-right:4px;display:flex;overflow-y:auto}.completion-breakdown-row{border:1px solid var(--border);transition:background var(--motion-standard), border-color var(--motion-standard), box-shadow var(--motion-standard);background:#ffffff02;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.completion-breakdown-row.is-pr-row{background:linear-gradient(90deg,#e0af6805,#ffffff01);border-color:#e0af682e;box-shadow:0 0 10px #e0af6805}.breakdown-row-name{flex-direction:column;gap:2px;min-width:0;display:flex}.exercise-name-badge-wrap{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.breakdown-row-name strong{color:var(--text-bright);font-size:12.5px;font-weight:600}.breakdown-row-name span{color:var(--text-muted);font-size:10px}.breakdown-row-badge{flex-shrink:0}.best-set-pill{border:1px solid var(--border);color:var(--text-main);letter-spacing:-.01em;background:#ffffff05;border-radius:20px;padding:3.5px 9px;font-size:10.5px;font-weight:600}.best-set-pill.pr-best-set{color:#bb9af7;background:#bb9af70f;border-color:#bb9af740;font-weight:700;box-shadow:0 0 10px #bb9af70a}.pr-gold-badge{color:#ff007c;letter-spacing:-.01em;background:#ff007c14;border:1px solid #ff007c40;border-radius:6px;align-items:center;padding:2.5px 8px;font-size:8.5px;font-weight:700;display:inline-flex;box-shadow:0 0 10px #ff007c0a}.pr-gold-badge.first-badge{color:#0db9d7;background:#0fb9d714;border-color:#0fb9d740;box-shadow:0 0 10px #0fb9d70a}.completion-footer{margin-top:2px}.completion-primary-btn{background:var(--session-color-bright);color:#07080e;cursor:pointer;width:100%;box-shadow:0 4px 16px var(--session-color-glow);border:none;border-radius:12px;padding:12px;font-size:13.5px;font-weight:700;transition:box-shadow .22s cubic-bezier(.4,0,.2,1),filter .22s cubic-bezier(.4,0,.2,1),transform .22s cubic-bezier(.4,0,.2,1)}.completion-primary-btn:hover{box-shadow:0 6px 20px rgba(var(--session-color-bright), .3);filter:brightness(1.08);transform:translateY(-1px)}.completion-primary-btn:active{transform:translateY(.5px)}@keyframes slideUpComplete{0%{opacity:0;transform:translateY(28px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes scaleInCheck{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes floatSparkle{0%,to{transform:translate(0)scale(1)}50%{transform:translate(3px,-3px)scale(1.15)}}@keyframes glowPulse{0%,to{filter:brightness();box-shadow:0 0 6px #e0af6833}50%{filter:brightness(1.08);box-shadow:0 0 14px #e0af6873}}.workout-grid-group-name-highlight{color:var(--group-color,#7aa2f7)}.log-group-record-card-box{background:color-mix(in srgb, var(--group-color,#7aa2f7) 4%, #ffffff04);border:1px solid color-mix(in srgb, var(--group-color,#7aa2f7) 16%, #ffffff0f);box-shadow:inset 0 0 16px color-mix(in srgb, var(--group-color,#7aa2f7) 3%, transparent), 0 4px 18px #00000026;border-radius:14px;flex-direction:column;gap:14px;margin-bottom:4px;padding:16px;transition:border-color .25s,box-shadow .25s;display:flex}.log-group-record-card-box:hover{border-color:color-mix(in srgb, var(--group-color,#7aa2f7) 24%, #ffffff1a);box-shadow:inset 0 0 20px color-mix(in srgb, var(--group-color,#7aa2f7) 5%, transparent), 0 6px 24px #00000038}.log-group-record-header{border-bottom:1px solid #ffffff0f;align-items:center;gap:10px;padding-bottom:10px;display:flex}.log-group-record-badge{color:var(--group-color,#7aa2f7);background:color-mix(in srgb, var(--group-color,#7aa2f7) 14%, transparent);border:1px solid color-mix(in srgb, var(--group-color,#7aa2f7) 20%, transparent);letter-spacing:-.01em;text-transform:uppercase;border-radius:6px;padding:2.5px 7px;font-size:10.5px;font-weight:800}.log-group-record-exercises-label{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:500;overflow:hidden}.log-group-exercises-container{flex-direction:column;gap:18px;display:flex}.log-exercise-history-summary{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.log-exercise-history-meta-wrap{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.log-exercise-history-meta-wrap span{color:var(--text-muted);white-space:nowrap;align-items:center;margin:0;padding:0;font-size:11px;display:inline-flex}.log-exercise-history-meta-wrap .log-history-group-badge{color:var(--group-color,#7aa2f7);background:color-mix(in srgb, var(--group-color,#7aa2f7) 12%, transparent);border:1px solid color-mix(in srgb, var(--group-color,#7aa2f7) 20%, transparent);text-transform:uppercase;letter-spacing:.01em;border-radius:4px;padding:1.5px 5.5px;font-size:9px;font-weight:700;line-height:1}
