:root{color-scheme:dark;--bg: #0f172a;--bg-elevated: #1e293b;--bg-hover: #334155;--border: #334155;--text: #f8fafc;--text-muted: #94a3b8;--primary: #38bdf8;--primary-hover: #0ea5e9;--accent: #34d399;--accent-hover: #10b981;--danger: #f87171;--radius: 12px;--radius-sm: 8px;--shadow: 0 8px 32px rgba(0, 0, 0, .35);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(circle at top,#1e3a5f 0%,transparent 55%),var(--bg);color:var(--text)}#app{min-height:100dvh}.screen{max-width:560px;margin:0 auto;padding:calc(1.25rem + var(--safe-top)) 1rem calc(1.5rem + var(--safe-bottom));display:flex;flex-direction:column;gap:1rem}.screen-with-nav{padding-bottom:calc(5.5rem + var(--safe-bottom))}.screen-header h1{margin:0 0 .35rem;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.screen-header-with-locale{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.screen-header-main{min-width:0}.locale-picker{flex-shrink:0;margin:0}.locale-picker-label{display:block;margin-bottom:.35rem;font-size:.75rem;font-weight:500;color:var(--text-muted)}.locale-picker-select{width:auto;min-width:7.5rem;margin-top:0;padding:.45rem 2rem .45rem .65rem;font-size:.85rem}.runner-screen>.locale-picker,.completion-screen>.locale-picker{align-self:flex-end}.subtitle{margin:0;color:var(--text-muted);font-size:.95rem}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}.section-title{margin:0 0 .85rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.set-row{padding:.5rem .55rem;margin-bottom:.4rem;background:#0f172a73;border:1px solid var(--border);border-radius:var(--radius-sm)}.set-row:last-of-type{margin-bottom:.55rem}.set-row-top,.set-row-bottom{display:flex;align-items:center;gap:.5rem}.set-row-top{margin-bottom:.35rem}.set-row-top .set-exercise-select{flex:1;min-width:0}.set-row-bottom .quantity-type-label{flex:0 0 auto;min-width:5.75rem;font-size:.85rem;font-weight:600;color:var(--muted)}.set-row-bottom .quantity-type-label.label-with-tooltip{min-width:0;gap:.5rem}.set-row-bottom .quantity-type-label .label-tooltip-bubble{left:0;right:auto;max-width:min(16rem,80vw)}.set-row-bottom .set-quantity-input{flex:1;min-width:0;max-width:5.5rem}.set-row .input,.set-row select.input{margin-top:0;padding:.42rem .5rem;font-size:.88rem}.set-row select.input{padding-right:1.75rem;background-position:right .45rem center}.set-row .set-index{flex-shrink:0;min-width:1.35rem;font-size:.75rem}.set-row .btn-icon{width:1.65rem;height:1.65rem;font-size:1rem}.set-row .exercise-info-btn,.set-row .exercise-info-btn .help-icon{font-size:.78rem}.sets-card{padding:.75rem}.sets-card .section-title{margin-bottom:.55rem}.sets-card .btn-secondary{padding:.5rem .85rem;font-size:.88rem}.set-row-actions{display:flex;align-items:center;gap:.25rem}.generator-card{border-color:#34d39940}.generator-copy{margin:0 0 .85rem;color:var(--text-muted);font-size:.9rem}.generator-how-it-works-link{display:block;width:100%;margin-top:.65rem;text-align:center;font-size:.9rem}.chip-group{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem}.chip-btn{flex:1 1 0;min-width:4.5rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text-muted);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.chip-btn.active{background:#38bdf826;border-color:var(--primary);color:var(--primary)}.generator-card .chip-btn.active{background:#34d39926;border-color:var(--accent);color:var(--accent)}.shuffle-btn:hover:not(:disabled){background:#38bdf826;color:var(--primary)}.set-index{font-size:.8rem;font-weight:600;color:var(--primary)}.field-label{display:block;margin-bottom:.75rem;font-size:.85rem;font-weight:500;color:var(--text-muted)}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.current-name-row{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin-bottom:.35rem}.current-name-row .current-name{margin:0;min-width:0}.help-icon{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;box-sizing:border-box;border:1.5px solid currentColor;border-radius:50%;font-size:1em;font-weight:700;font-style:italic;font-family:Georgia,Times New Roman,serif;line-height:1;flex-shrink:0}.exercise-info-btn{flex-shrink:0}.exercise-info-btn .help-icon{font-size:1rem}.exercise-info-btn:hover:not(:disabled){background:#38bdf826}.exercise-info-btn:hover:not(:disabled) .help-icon{color:var(--primary)}.guide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:1rem;padding-bottom:calc(1rem + var(--safe-bottom))}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:1rem}.confirm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#0f172ab8;cursor:pointer}.confirm-sheet{position:relative;width:min(100%,400px);padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow)}.confirm-title{margin:0 0 .65rem;font-size:1.2rem;font-weight:700}.confirm-message{margin:0 0 1.25rem;color:var(--text-muted);font-size:.95rem;line-height:1.45}.confirm-actions{display:flex;flex-direction:column;gap:.65rem}.guide-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#0f172ab8;cursor:pointer}.guide-sheet{position:relative;width:min(100%,480px);max-height:min(80dvh,640px);overflow:auto;padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow)}.guide-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.guide-heading{display:flex;flex-direction:column;gap:.4rem;min-width:0}.guide-title{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.guide-category{align-self:flex-start;padding:.2rem .55rem;border-radius:999px;background:#3b82f61f;color:var(--primary);font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.guide-gif-search{display:inline-flex;align-items:center;margin:0 0 1rem;color:var(--primary);font-size:.9rem;font-weight:500;text-decoration:none}.guide-gif-search:hover{text-decoration:underline}.guide-close-btn:hover:not(:disabled){background:#94a3b826;color:var(--text)}.guide-summary{margin:0 0 1rem;color:var(--text-muted);font-size:.95rem;line-height:1.55}.guide-steps-title{margin:0 0 .65rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--primary)}.guide-steps{margin:0;padding-left:1.2rem;display:grid;gap:.55rem}.guide-steps li{color:var(--text);font-size:.95rem;line-height:1.5}@media(min-width:480px){.guide-overlay{align-items:center}}.input,select.input{display:block;width:100%;margin-top:.35rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font:inherit;font-size:1rem}select.input{padding-right:2.25rem;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%2394a3b8' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem}.input:focus,select.input:focus{outline:2px solid var(--primary);outline-offset:1px}.rounds-card{display:flex;flex-direction:column}.rounds-card .field-label:not(:first-child){margin-top:.75rem}.rounds-input,.rest-input{margin-top:0;max-width:120px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.65rem 1rem;border:none;border-radius:var(--radius-sm);font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-block{width:100%}.btn-lg{padding:.85rem 1.25rem;font-size:1rem}.btn-primary{background:var(--primary);color:#0f172a}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--bg-hover);color:var(--text)}.btn-secondary:hover:not(:disabled){background:#475569}.btn-accent{background:var(--accent);color:#052e1f}.btn-accent:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:#ffffff0a;color:var(--text)}.btn-text{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem 0;border:none;background:none;color:var(--primary);font:inherit;font-size:.95rem;font-weight:600;cursor:pointer}.btn-text:hover:not(:disabled){color:var(--primary-hover)}.btn-icon{width:2rem;height:2rem;padding:0;border:none;border-radius:999px;background:transparent;color:var(--text-muted);font-size:1.25rem;line-height:1;cursor:pointer}.btn-icon:hover:not(:disabled){background:#f8717126;color:var(--danger)}.btn-icon:disabled{opacity:.25;cursor:not-allowed}.runner-header{display:flex;align-items:center;justify-content:space-between}.round-badge{display:inline-block;padding:.35rem .75rem;border-radius:999px;background:#38bdf826;color:var(--primary);font-size:.85rem;font-weight:600}.rest-badge{background:#34d39926;color:var(--accent)}.rest-hint{margin:0 0 .75rem;color:var(--text-muted);font-size:.95rem}.rest-card .current-qty{color:var(--accent)}.elapsed{margin:0;color:var(--text-muted);font-size:.9rem;font-variant-numeric:tabular-nums}.overview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.overview-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .65rem;border-radius:var(--radius-sm);border:1px solid transparent;color:var(--text-muted);transition:background .15s,border-color .15s,color .15s}.overview-item.current{background:#38bdf81f;border-color:#38bdf859;color:var(--text)}.overview-item.done{opacity:.55;text-decoration:line-through}.overview-main{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.overview-name{font-weight:500;min-width:0;line-height:1.2}.overview-item .exercise-info-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;flex-shrink:0}.overview-item .exercise-info-btn .help-icon{font-size:.72rem;transform:translateY(-.07em)}.overview-qty{font-size:.85rem;font-variant-numeric:tabular-nums}.current-exercise-card{text-align:center}.current-label{margin:0 0 .35rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.current-name{margin:0 0 .35rem;font-size:2rem;font-weight:700;letter-spacing:-.02em}.current-side{margin:0 0 .35rem;color:var(--text);font-size:1.25rem;font-weight:700;letter-spacing:-.01em}.current-qty{margin:0 0 1.25rem;color:var(--primary);font-size:1.1rem;font-weight:600}.current-side+.current-qty{margin-top:.15rem}.timer-panel,.reps-panel{display:flex;flex-direction:column;gap:.75rem}.timer-display{font-size:3.5rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1.1}.timer-display.finished{color:var(--accent);animation:pulse .6s ease-in-out 3}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.timer-done-msg{margin:0;color:var(--accent);font-weight:600}.completion-screen{text-align:center}.completion-header h1{margin:.5rem 0 .35rem}.completion-icon{font-size:3rem;line-height:1}.stats-card{display:grid;gap:.75rem}.stat{display:flex;align-items:center;justify-content:space-between;padding:.65rem 0;border-bottom:1px solid var(--border)}.stat:last-child{border-bottom:none}.stat-label{color:var(--text-muted);font-size:.9rem}.stat-value{font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums}.recap-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.recap-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding-bottom:.65rem;border-bottom:1px solid var(--border);text-align:left}.recap-item:last-child{border-bottom:none;padding-bottom:0}.recap-qty{color:var(--text-muted);font-size:.85rem}.history-card{margin-top:.25rem}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:.35rem;max-width:560px;margin:0 auto;padding:.5rem 1rem calc(.65rem + var(--safe-bottom));border-top:1px solid var(--border);background:#0f172af5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:3.25rem;padding:.35rem .5rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;cursor:pointer;transition:background .15s,color .15s}.bottom-nav-item:hover{background:#94a3b81a;color:var(--text)}.bottom-nav-item.active{background:#38bdf81f;color:var(--primary)}.bottom-nav-icon{font-size:1.15rem;line-height:1}.bottom-nav-label{font-size:.75rem;font-weight:600}.history-screen{gap:.65rem;min-height:100dvh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.history-insights{display:flex;flex-direction:column;gap:.65rem;flex-shrink:0}.history-chart-card{padding:.85rem .9rem;overflow:hidden}.history-chart-title{margin:0 0 .6rem;font-size:.82rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted)}.history-chart-empty{margin:0;color:var(--text-muted);font-size:.85rem}.history-chart-wrap{width:100%}.effort-chart{display:block;width:100%;height:auto}.chart-grid-line{stroke:#94a3b826;stroke-width:1}.chart-axis-label{fill:var(--text-muted);font-size:9px;font-family:inherit}.chart-area{fill:#38bdf81f}.chart-line{fill:none;stroke:var(--primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart-dot{stroke:var(--bg-elevated);stroke-width:1.5}.chart-dot-effort-low{fill:#7dd3fc}.chart-dot-effort-mid{fill:#fbbf24}.chart-dot-effort-high{fill:#fb7185}.regularity-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.regularity-stat{padding:.3rem .55rem;border-radius:999px;background:#38bdf81a;color:var(--primary);font-size:.74rem;font-weight:600}.week-bars{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:.35rem;align-items:end;min-height:5.5rem}.week-bar-col{display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:0}.week-bar-count{min-height:.85rem;color:var(--text-muted);font-size:.62rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.week-bar-track{display:flex;align-items:flex-end;width:100%;height:3.25rem}.week-bar-fill{width:100%;border-radius:4px 4px 2px 2px;background:#94a3b833;transition:height .2s ease}.week-bar-fill.active{background:linear-gradient(180deg,var(--accent) 0%,rgba(52,211,153,.55) 100%)}.week-bar-label{color:var(--text-muted);font-size:.58rem;font-weight:500;line-height:1.1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.history-list-panel{flex:none;height:42dvh;min-height:260px;max-height:380px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated)}.history-list-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.history-list-header{flex-shrink:0;position:relative;z-index:2;display:grid;grid-template-columns:4.5rem minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.45rem .65rem;border-bottom:1px solid var(--border);background:#1e293bfa;color:var(--text-muted);font-size:.68rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.history-list-col-effort{display:flex;justify-content:flex-end}.history-list-col-effort .label-with-tooltip{justify-content:flex-end}.label-with-tooltip{position:relative;display:inline-flex;align-items:center;gap:.25rem}.label-with-tooltip-text{line-height:1.2}.label-tooltip-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--text-muted);font-size:.95rem;line-height:1;cursor:pointer;flex-shrink:0}.label-tooltip-btn .help-icon{font-size:.85rem;background:#94a3b82e}.label-tooltip-btn:hover{color:var(--primary)}.label-tooltip-btn:hover .help-icon{background:#38bdf82e}.label-tooltip-bubble{position:absolute;right:0;bottom:calc(100% + .4rem);z-index:30;width:max-content;max-width:min(14rem,70vw);padding:.5rem .6rem;border-radius:var(--radius-sm);background:var(--bg-hover);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);font-size:.72rem;font-weight:400;line-height:1.4;text-transform:none;letter-spacing:normal;white-space:normal;text-align:left;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease}.label-with-tooltip:hover:not(.dismissed) .label-tooltip-bubble,.label-with-tooltip:focus-within:not(.dismissed) .label-tooltip-bubble,.label-with-tooltip.open .label-tooltip-bubble{opacity:1;visibility:visible}.label-with-tooltip--below .label-tooltip-bubble{bottom:auto;top:calc(100% + .4rem)}.stat-label .label-with-tooltip{display:inline-flex}.stat-label .label-tooltip-bubble{right:auto;left:0}.history-chart-title .label-with-tooltip-text{text-transform:uppercase;letter-spacing:.02em}.history-chart-title .label-tooltip-bubble{right:auto;left:0}.history-list-panel-empty{display:flex;align-items:center;justify-content:center;height:42dvh;min-height:260px;max-height:380px}.history-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1rem;text-align:center}.history-empty-icon{margin:0;font-size:2rem;line-height:1}.history-empty{margin:0;max-width:18rem;color:var(--text-muted);font-size:.9rem}.history-list{list-style:none;margin:0;padding:0}.history-item{margin:0}.history-item-btn{width:100%;display:grid;grid-template-columns:4.5rem minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.42rem .65rem;border:none;border-bottom:1px solid var(--border);border-radius:0;background:transparent;color:inherit;font:inherit;font-size:.78rem;text-align:left;cursor:pointer;box-shadow:none;transition:background .12s}.history-item:last-child .history-item-btn{border-bottom:none}.history-item-btn:active{background:#94a3b81f}.history-item-btn:hover{background:#94a3b814}.history-item-btn.early{border-left:2px solid rgba(251,191,36,.55)}.history-item-btn.complete{border-left:2px solid rgba(52,211,153,.45)}.history-item-date{color:var(--text-muted);font-size:.74rem;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.history-item-meta{min-width:0;overflow:hidden;color:var(--text);font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis}.history-item-effort{flex-shrink:0;font-size:.74rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.history-item-effort.effort-low{color:#7dd3fc}.history-item-effort.effort-mid{color:#fbbf24}.history-item-effort.effort-high{color:#fb7185}.history-detail-screen{gap:.85rem}.history-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.history-back-btn{min-height:2.75rem}.history-detail-intro h1{margin:0 0 .35rem;font-size:1.5rem;font-weight:700}.how-it-works-screen{gap:.85rem}.how-it-works-section .section-title{margin-bottom:.55rem}.how-it-works-body{margin:0;color:var(--text);font-size:.95rem;line-height:1.55}.how-it-works-list{margin:.75rem 0 0;padding-left:1.15rem;color:var(--text);font-size:.92rem;line-height:1.5}.how-it-works-list li+li{margin-top:.45rem}.how-it-works-note{margin:.75rem 0 0;padding:.65rem .75rem;border-left:3px solid var(--accent);background:#34d39914;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-muted);font-size:.9rem;line-height:1.45}@media(min-width:480px){.screen{padding-top:calc(2rem + var(--safe-top))}.current-name{font-size:2.25rem}}
