:root{--bg: #131316;--surface: #1d1d21;--surface-2: #26262b;--border: rgba(255, 255, 255, .09);--text: #f3f1ec;--text-dim: #8f8c88;--accent: #b8925a;--accent-ink: #1a1108;--success: #5fae6b;--danger: #d9615f;--warning: #d9a94a;color-scheme:dark}[data-theme=light]{--bg: #f7f5f1;--surface: #ffffff;--surface-2: #ece8e1;--border: rgba(20, 16, 8, .1);--text: #1c1a17;--text-dim: #6b6560;--accent: #96723c;--accent-ink: #ffffff;--success: #2f8f45;--danger: #c33d3d;--warning: #b8791f;color-scheme:light}[data-theme=light] .calendar-cell,[data-theme=light] .session-row,[data-theme=light] .set-chip{border:1px solid var(--border)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;-webkit-font-smoothing:antialiased;touch-action:manipulation}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}input,button{font-size:16px;font-family:inherit}button{cursor:pointer;transition:transform .12s ease,opacity .12s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}button:active{transform:scale(.97)}button:disabled{opacity:.5;transform:none;cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.target-row strong,.period-card strong,.set-chip,.rest-clock,.session-row-stats span,.pr-badge,.exercise-block-title,.settings-ex-fields input,.input-row input{font-variant-numeric:tabular-nums}.app-shell{display:flex;flex-direction:column;height:100dvh}.app-content{flex:1;overflow-y:auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.bottom-nav{display:flex;justify-content:space-around;background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);border-top:1px solid var(--border);padding:8px 4px calc(8px + env(safe-area-inset-bottom))}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--text-dim);text-decoration:none;font-size:10.5px;font-weight:600;padding:6px 10px;border-radius:12px;min-width:52px;transition:background-color .18s cubic-bezier(.34,1.56,.64,1),color .18s ease,transform .18s cubic-bezier(.34,1.56,.64,1)}.nav-item:active{transform:scale(.92)}.nav-item.active{color:var(--accent-ink);background:var(--accent)}.nav-icon{font-size:19px}.home-screen h2{color:var(--text-dim);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}.today-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:24px;text-align:center;margin-bottom:16px;box-shadow:0 8px 24px -12px #00000080}.today-card h1{margin:0 0 12px;font-size:26px;letter-spacing:-.01em}.today-card p{color:var(--text-dim);margin:4px 0}.today-card.rest{opacity:.85}.cta{width:100%;margin-top:16px;padding:16px;font-size:17px;font-weight:600;letter-spacing:-.01em;border:none;border-radius:14px;background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 16px -6px #b8925a80,inset 0 1px #ffffff26;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .15s ease,opacity .12s ease}.cta:active{box-shadow:inset 0 1px 4px #0003;transform:scale(.97)}.next-card{background:var(--surface-2);border-radius:12px;padding:16px;color:var(--text-dim)}.day-picker-toggle{display:block;width:100%;margin:16px 0 0;padding:10px;background:transparent;border:none;color:var(--text-dim);font-size:13px;font-weight:600;text-align:center}.day-picker{display:flex;flex-direction:column;gap:8px;margin-top:8px}.day-picker-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:15px;font-weight:600;text-align:left}.day-picker-item.current{border-color:var(--accent)}.day-picker-meta{font-size:12px;font-weight:400;color:var(--text-dim)}.past-workout-link{display:block;width:100%;margin:20px 0 0;padding:12px;background:transparent;border:1px dashed var(--border);border-radius:10px;color:var(--text-dim);font-size:14px;font-weight:600;text-align:center}.login-screen,.splash-screen,.placeholder-screen{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center}.login-screen form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px}.login-screen input{padding:14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.login-screen button:not(.secondary){padding:14px;border-radius:14px;border:none;background:var(--accent);color:var(--accent-ink);font-weight:600;box-shadow:0 6px 16px -6px #b8925a80}.login-screen button.secondary{margin-top:4px}.error{color:var(--danger);font-size:14px}.today-card.in-progress{border:1px solid var(--warning)}.progress-label{color:var(--text-dim);font-size:13px;margin-bottom:4px}.workout-screen h1{font-size:24px;margin:4px 0 20px;letter-spacing:-.01em}.target-row{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--border);padding:12px 16px;border-radius:12px;margin-bottom:8px;font-size:14px;box-shadow:0 1px 6px -3px #0003}.target-row span{color:var(--text-dim);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.set-entry{margin-top:24px;background:var(--surface-2);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 8px 24px -14px #00000080}.set-label{text-align:center;color:var(--text-dim);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:0 0 16px}.input-row{display:flex;gap:12px;margin-bottom:20px}.input-row label{flex:1;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-dim)}.input-row input{padding:14px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);text-align:center;font-size:20px;font-weight:700;transition:border-color .15s ease,box-shadow .15s ease}.input-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b8925a2e}.app-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:dialog-fade-in .18s ease}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}.app-dialog-box{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:20px;max-width:360px;width:100%;box-shadow:0 20px 48px #00000073;animation:dialog-pop-in .22s cubic-bezier(.34,1.56,.64,1)}@keyframes dialog-pop-in{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.app-dialog-message{color:var(--text);font-size:15px;line-height:1.5;margin:0 0 18px;white-space:pre-line}.app-dialog-actions{display:flex;gap:10px;justify-content:flex-end}.app-dialog-actions .cta,.app-dialog-actions .secondary{width:auto;flex:none;margin-top:0;padding:12px 20px}.set-note-input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:14px;margin-bottom:16px}.set-flex-row{display:flex;gap:10px;margin:12px 0}.secondary{flex:1;padding:12px;font-size:14px;font-weight:600;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text);transition:transform .15s cubic-bezier(.34,1.56,.64,1),background-color .15s ease}.secondary:active{background:var(--border)}.secondary.small{flex:none;padding:8px 12px;align-self:flex-end;margin-bottom:20px;color:var(--danger);border-color:var(--danger)}.exercise-toggle-btn{padding:10px;font-size:13px}.exercise-form{margin-top:12px}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-dim);margin-bottom:16px}.checkbox-row input{width:auto}.form-error{color:var(--danger);font-size:13px;margin:8px 0}.hint{color:var(--text-dim);font-size:12px;margin:6px 0}.exercise-note-row{display:flex;align-items:center;gap:8px;margin:10px 0 4px}.exercise-note-row input{flex:1;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px}.exercise-note-row input:focus{border-color:var(--accent);outline:none}.muscle-breakdown{display:flex;flex-direction:column;gap:12px;margin:8px 0 20px}.muscle-bar-row{display:flex;flex-direction:column;gap:4px}.muscle-bar-label{display:flex;justify-content:space-between;font-size:12px;color:var(--text-dim)}.muscle-bar-track{height:10px;border-radius:6px;background:var(--surface-2);overflow:hidden}.muscle-bar-fill{height:100%;border-radius:6px;background:var(--accent)}.finish-screen{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:24px}.finish-screen ul{list-style:none;padding:0;margin:16px 0;color:var(--text-dim)}.finish-screen .hint{color:var(--text-dim);font-size:13px;margin:8px 0 20px}.cancel-workout-btn{display:block;margin:0 0 16px;width:100%;padding:10px;font-size:13px;font-weight:600;border:1px solid var(--danger);border-radius:10px;background:transparent;color:var(--danger)}.workout-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.timer-toggle{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);border-radius:20px;padding:6px 12px;font-size:12px}.target-row.highlight{background:#b8925a1f;border:1px solid var(--accent)}.suggestion-note{font-size:13px;color:var(--success);margin:8px 0 0}.mode-toggle{display:flex;gap:8px;margin-top:20px}.mode-toggle button{flex:1;padding:10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:13px}.mode-toggle button.active{border-color:var(--accent);color:var(--accent-ink);background:var(--accent);font-weight:700}.set-type-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.set-type-row button{flex:1 1 auto;padding:7px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:12px}.set-type-row button.active{border-color:var(--accent);color:var(--accent-ink);background:var(--accent);font-weight:700}.rest-timer{margin-top:24px;background:var(--surface-2);border:1px solid var(--border);border-radius:16px;padding:24px;text-align:center;box-shadow:0 8px 24px -14px #00000080}.rest-label{color:var(--text-dim);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px}.rest-clock{font-size:44px;font-weight:700;letter-spacing:-.02em;margin:0 0 16px;font-variant-numeric:tabular-nums;color:var(--accent)}.rest-controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.rest-controls button{padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px}.delta-up{color:var(--success);font-size:14px;margin:4px 0 0;font-weight:600}.delta-down{color:var(--text-dim);font-size:14px;margin:4px 0 0}.pr-list{margin:16px 0;display:flex;flex-direction:column;gap:8px;width:100%;max-width:320px}.pr-badge{background:#d9a94a1f;border:1px solid var(--warning);color:var(--text);border-radius:10px;padding:10px 12px;font-size:13px;margin:0;line-height:1.5}.storico-screen{padding-bottom:8px}.storico-screen h2{color:var(--text-dim);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px}.storico-screen h1{font-size:22px;margin:4px 0;letter-spacing:-.01em}.back-link{background:none;border:none;color:var(--text-dim);font-size:14px;padding:0 0 12px;text-align:left}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-header strong{text-transform:capitalize;font-size:15px}.calendar-header button{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;width:36px;height:36px;font-size:16px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:24px}.calendar-weekday{text-align:center;color:var(--text-dim);font-size:11px;padding-bottom:4px}.calendar-empty{min-height:1px}.calendar-cell{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 0;color:var(--text)}.calendar-cell:disabled{opacity:.55}.calendar-cell.has-session{border:1px solid var(--accent)}.calendar-daynum{font-size:12px}.calendar-dot{font-size:10px}.list-title{color:var(--text-dim);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px}.session-list{display:flex;flex-direction:column;gap:8px}.session-row{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px 16px;color:var(--text);text-align:left;box-shadow:0 2px 8px -4px #0003;transition:transform .15s cubic-bezier(.34,1.56,.64,1)}.session-row:active{transform:scale(.985)}.session-row-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:12px;color:var(--text-dim)}.pr-chip{color:var(--warning)}.past-session-screen .day-picker{margin-bottom:16px}.past-exercise-block{margin-bottom:18px}.past-exercise-block .add-exercise-btn{margin-top:4px}.session-detail-exercises{margin-top:20px;display:flex;flex-direction:column;gap:14px}.exercise-block-title{font-size:14px;font-weight:600;margin:0 0 6px}.sets-row{display:flex;flex-wrap:wrap;gap:6px}.set-chip{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:12px;color:var(--text-dim)}.superset-badge{display:inline-block;background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700;border-radius:6px;padding:2px 6px;margin-right:6px;vertical-align:middle}.tag-chip{display:inline-block;background:var(--surface);border:1px solid var(--border);color:var(--text-dim);font-size:11px;border-radius:6px;padding:2px 6px;margin-left:6px;vertical-align:middle}.editable-sets .set-chip.editable{cursor:pointer;border:1px solid transparent}.editable-sets .set-chip.editable:active{border-color:var(--accent)}.set-edit-row{display:flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--accent);border-radius:8px;padding:4px 6px}.set-edit-row input{width:52px;padding:4px 6px;font-size:12px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.set-edit-row span{font-size:11px;color:var(--text-dim)}.set-edit-row button.small{padding:4px 8px;font-size:12px;border-radius:6px}.set-edit-row button.danger{background:transparent;border:1px solid #b91c1c;color:#f87171}.error-text{color:#f87171;font-size:13px;margin:6px 0 0}.timed-block .set-label{font-variant-numeric:tabular-nums}.settings-superset-input{width:100%;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px}.exercise-comparisons{margin:12px 0;width:100%;max-width:320px;display:flex;flex-direction:column;gap:4px}.insight-note{font-size:13px;color:var(--text-dim);margin:8px 0 0;line-height:1.5}.insight-note.delta-up{color:var(--success)}.insight-note.delta-down{color:var(--text-dim)}.progressi-screen{padding-bottom:8px}.progressi-screen h2,.settings-screen h2{color:var(--text-dim);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px}.period-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.period-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:3px;box-shadow:0 2px 10px -4px #00000040}.period-card span{font-size:11px;color:var(--text-dim);font-weight:600;letter-spacing:.03em;text-transform:uppercase}.period-card strong{font-size:19px;font-weight:700;letter-spacing:-.02em}.period-card em{font-size:11px;font-style:normal}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 8px 4px;margin-bottom:16px;box-shadow:0 2px 10px -4px #00000040}.chart-title{font-size:13px;color:var(--text-dim);margin:0 0 8px 8px}.filter-row{display:flex;flex-wrap:wrap;gap:3px;margin:10px 0;background:var(--surface-2);border-radius:11px;padding:3px}.filter-row button{flex:1;padding:8px 12px;border-radius:8px;border:none;background:transparent;color:var(--text-dim);font-size:12px;font-weight:600;white-space:nowrap;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.filter-row button.active{color:var(--accent-ink);background:var(--accent);box-shadow:0 2px 6px -2px #00000059}.metric-switch{margin:4px 0 12px}.scheda-filter{margin-top:0}.chart-title-row{display:flex;align-items:center;justify-content:space-between}.session-row.static-row{cursor:default}.session-row.static-row:active{transform:none}.period-card em.delta-up,.period-card em.delta-down{color:inherit}.exercise-select{width:100%;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);margin-bottom:16px}.searchable-select{position:relative;margin-bottom:16px}.searchable-select .exercise-select{margin-bottom:0}.searchable-select-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:10px;z-index:20;box-shadow:0 8px 24px #00000040}.searchable-select-item{display:block;width:100%;text-align:left;padding:10px 12px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:14px;cursor:pointer}.searchable-select-item:last-child{border-bottom:none}.searchable-select-item:hover,.searchable-select-item.active{background:var(--surface-alt, rgba(184, 146, 90, .12))}.insights-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}.insight-note{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:13px;margin:0;line-height:1.5}.settings-screen{padding-bottom:24px}.settings-tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:20px;padding-bottom:4px}.settings-tabs button{flex-shrink:0;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:13px}.settings-tabs button.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.settings-tab-content{display:flex;flex-direction:column;gap:12px}.settings-day-block{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:4px}.settings-exercise-row{border-top:1px solid var(--border);padding:10px 0;display:flex;flex-direction:column;gap:8px}.settings-exercise-row:first-of-type{border-top:none}.settings-ex-name{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:14px;font-weight:600}.settings-ex-fields{display:flex;gap:8px;flex-wrap:wrap}.settings-ex-fields label{display:flex;flex-direction:column;gap:2px;font-size:10px;color:var(--text-dim);flex:1;min-width:60px}.settings-ex-fields input{padding:6px;border-radius:6px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);width:100%}.settings-ex-fields select{padding:6px;border-radius:6px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);width:100%;font-size:12px}.settings-ex-actions{display:flex;align-items:center;gap:8px}.settings-active-toggle{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-dim);margin-right:auto}.settings-ex-actions button{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.settings-ex-actions button.danger{color:var(--danger);border-color:var(--danger)}.add-exercise-btn{margin-top:8px;width:100%;padding:10px;border-radius:8px;border:1px dashed var(--border);background:none;color:var(--text-dim);font-size:13px}.input-row{display:flex;gap:10px;flex-wrap:wrap}.input-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-dim);flex:1;min-width:100px}.input-row input,.input-row select{padding:10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.settings-note-label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-dim)}.settings-note-label input{padding:10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.mode-toggle{display:flex;gap:6px}.mode-toggle button{flex:1;padding:10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:13px}.mode-toggle button.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.logout-btn{margin-top:12px;width:100%;padding:12px;border-radius:10px;border:1px solid var(--danger);background:none;color:var(--danger);font-size:14px}.templates-screen{padding-bottom:8px}.templates-screen .hint{margin-bottom:16px}
