:root{--color-primary: #2461a6;--color-primary-hover: #084c7a;--color-primary-soft: #eef4fc;--color-active: #61c76b;--color-active-hover: #2ed03c;--color-attention: #fcec3f;--color-attention-hover: #ffd200;--color-danger: #ef7777;--color-danger-hover: #da3e3e;--color-ghost: #e3e3e3;--color-ghost-hover: #bbbbbb;--color-bg: #f6f8fa;--color-card: #ffffff;--color-card-alt: #e9f3fa;--color-text: #1f2937;--color-text-muted: #51658f;--color-btn-text: white;--color-border: #e5e7eb;--radius: 12px;--radius-lg: 16px;--card-gap: 8px;--card-padding: 8px;--shadow-sm: 0 1px 4px rgba(0,0,0,.08);--shadow-md: 0 4px 8px rgba(0,0,0,.12);--tap-size: 44px}.dark-theme{--color-primary: #195e97;--color-primary-hover: #1e326a;--color-primary-soft: #31528a;--color-active: #3cb769;--color-active-hover: #03bd48;--color-attention: #facc15;--color-attention-hover: #eab308;--color-danger: #f87171;--color-danger-hover: #dc2626;--color-ghost: #66707e;--color-ghost-hover: #535d75;--color-bg: #13141a;--color-card: #174061;--color-card-alt: #213142;--color-text: #f9fafb;--color-text-muted: #b2cbf6;--color-btn-text: white;--color-border: #374151;--card-gap: 8px;--shadow-sm: 0 1px 4px rgba(79, 77, 77, .54);--shadow-md: 0 4px 8px rgba(131, 131, 131, .36)}*{box-sizing:border-box}html,body,#root{margin:0;background-color:var(--color-bg);color:var(--color-text)}html,body{min-height:100%}body{overscroll-behavior-y:none}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text)}input,select{border:1px solid var(--color-border);border-radius:var(--radius);padding:8px 10px;min-height:var(--tap-size);font-size:16px;color:var(--color-text);background-color:var(--color-bg)}a{color:var(--color-primary);text-decoration:none}.offline-banner{position:sticky;top:8px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text);box-shadow:var(--shadow-sm)}.offline-banner__text{display:flex;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600}.offline-banner__button{flex:0 0 auto;min-width:var(--tap-size)}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:8px 14px;border-radius:var(--radius);font-size:14px;opacity:.95;z-index:1000}#root{height:100%}.btn{min-height:var(--tap-size);padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:4px;border-radius:var(--radius);font-weight:600;font-size:16px;border:none;cursor:pointer;transition:.15s;color:var(--color-btn-text)}.btn-primary{background:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-active{background:var(--color-active)}.btn-active:hover{background:var(--color-active-hover)}.btn-danger{background:var(--color-danger)}.btn-danger:hover{background:var(--color-danger-hover)}.btn-ghost{background:var(--color-ghost);color:var(--color-text)}.btn-ghost:hover{background:var(--color-ghost-hover);color:var(--color-text)}.btn-attention{background:var(--color-attention);color:#000}.btn-attention:hover{background:var(--color-attention-hover);color:#000}.btn:disabled{opacity:.4;cursor:not-allowed}.floating-rest-timer{position:fixed;z-index:9999;width:100px;height:100px;border-radius:50%;background:var(--color-bg);box-shadow:0 8px 24px #00000040;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;touch-action:none;cursor:pointer;transition:transform .2s,opacity .3s}.floating-rest-timer svg{width:100px;height:100px}.floating-rest-timer circle{fill:none}.floating-rest-timer .progress{stroke:var(--color-active);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .3s linear}.floating-rest-timer .timer-text{font-size:24px;font-weight:800;fill:var(--color-text)}.floating-rest-timer.blinking{animation:pulse 1s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(1);opacity:1}}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%) scale(.8);background:linear-gradient(135deg,var(--color-primary-hover),var(--color-primary));color:#fff;font-size:20px;font-weight:700;padding:16px 32px;border-radius:16px;box-shadow:0 12px 32px #00000059;z-index:10000;pointer-events:none;opacity:0;animation:popIn .5s forwards,popOut .5s forwards 2.5s}@keyframes popIn{0%{transform:translate(-50%) scale(.8);opacity:0}60%{transform:translate(-50%) scale(1.1);opacity:1}to{transform:translate(-50%) scale(1);opacity:1}}@keyframes popOut{0%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(.8)}}.app{min-height:100vh;display:flex;justify-content:center}body{background-color:var(--color-bg);color:var(--color-text)}.container{width:100%;max-width:420px;padding:16px}.workout-item{cursor:pointer;border-radius:var(--radius-lg);transition:.15s;position:relative;box-shadow:var(--shadow-sm);background:var(--color-card);border:1px solid var(--color-border)}.workout-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-primary-soft)}.delete-btn{position:absolute;bottom:8px;right:8px;border-radius:50%;width:34px;height:34px;cursor:pointer}.workout-actions{position:absolute;bottom:8px;right:8px;display:flex;gap:8px}.error-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;margin:32px 0;text-align:center;padding:24px;border-radius:var(--radius-lg);background:var(--color-card);box-shadow:var(--shadow-sm)}.error-message{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:18px;font-weight:500;color:var(--color-text-muted)}.page{max-width:720px;margin:0 auto;padding:8px}.page-wide{max-width:940px}.stack{display:flex;flex-direction:column;gap:var(--card-gap)}.row{display:flex;justify-content:space-between;align-items:center}.row-actions{display:flex;gap:8px}.card{border:1px solid var(--color-border);background:var(--color-card);border-radius:var(--radius-lg);padding:var(--card-padding);box-shadow:var(--shadow-sm);cursor:pointer}.card:hover{box-shadow:var(--shadow-md)}.exercise-card-edit{width:100%;padding:12px;touch-action:auto}.drag-handle{cursor:grab;touch-action:none;padding:6px 8px;margin-bottom:6px;display:inline-block;-webkit-user-select:none;user-select:none;background:var(--color-bg);border-radius:4px;font-size:18px}.drag-handle:active{cursor:grabbing}.exercise-card-edit-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.minus{margin-left:auto;background:none;border:none;cursor:pointer;font-size:18px}.selector{display:flex;gap:8px;align-items:center}.selector>*{min-width:0}.selector select{appearance:none;-webkit-appearance:none;height:var(--tap-size);flex:1 1 0;width:0;overflow:hidden;text-overflow:ellipsis}.selector button{flex:0 0 auto;min-height:var(--tap-size);white-space:nowrap}@media(max-width:480px){.exercise-card-edit{padding:10px}.selector{flex-direction:column}.selector select,.selector button{width:100%}.set-row input{width:48px;font-size:13px}}.table-wrapper{overflow-x:auto;max-height:70vh}.measurements-table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);background:var(--color-card)}.measurements-table th,.measurements-table td{padding:8px;text-align:center;vertical-align:middle}.measurements-table thead th{background-color:var(--color-card-alt)}.measurements-table tbody tr:nth-child(2n){background-color:var(--color-card)}.measurements-table thead th{background:var(--color-card-alt);position:sticky;top:0;font-weight:600;z-index:1}.measurements-table tbody tr:nth-child(2n){background:var(--color-card-alt)}.measurements-table tbody tr:hover{background:var(--color-primary-soft)}.measurements-table td input{width:100%;box-sizing:border-box;padding:6px;text-align:center;border:1px solid #d1d5db;border-radius:4px;font-size:14px}.weight{font-weight:700}.cards-wrapper{display:flex;flex-direction:column}.measurement-card{background:var(--color-card);border-radius:var(--radius-lg);padding:var(--card-padding);margin-top:var(--card-gap);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:transform .1s}.measurement-card:active{transform:scale(.99)}.measurement-card:first-child{margin-top:0}.card-header{display:flex;justify-content:space-between;font-weight:600;margin-bottom:12px}.card-body.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.card-row{display:flex;justify-content:space-between;padding:4px 0}.card-form{background:var(--color-card);border-radius:var(--radius-lg);padding:var(--card-padding);box-shadow:var(--shadow-md);border:1px solid var(--color-border);display:grid;grid-template-columns:1fr 1fr;gap:var(--card-gap)}@media(max-width:768px){.card-form{grid-template-columns:1fr}}.card-form-field{display:flex;flex-direction:column}.card-form-field input{width:100%;box-sizing:border-box;padding:4px;font-size:13px;border:1px solid #d1d5db;border-radius:var(--radius);text-align:center}.card-form-buttons{grid-column:span 2;display:flex;flex-wrap:wrap;gap:var(--card-gap);margin-top:8px}.card-form-buttons button{min-width:100px;padding:6px 12px;font-size:13px}@media(max-width:768px){.card-form-buttons{grid-column:span 1;justify-content:flex-start}.card-form-buttons button{flex:1}}.desktop-only{display:none}.mobile-only{display:block}@media(min-width:769px){.desktop-only{display:block}.mobile-only{display:none}}.exercise-card-view{background:var(--color-card);border-radius:20px;padding:8px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;border:1px solid var(--color-border)}.exercise-card-view-header{position:relative;display:flex;flex-direction:column;padding-top:8px}.exercise-card-view-title{font-size:20px;font-weight:700;padding:0 45px 20px 0;word-break:break-word}.controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.controls button{height:42px;border-radius:12px;border:none;font-weight:600}.controls .finish{background:#ff4d4f;color:#fff}.rest-timer{display:flex;align-items:center;font-weight:600;font-size:14px}.exercise-card-view-link{padding:16px 0;display:inline-block;margin-top:8px;color:#4da6ff;text-decoration:none;font-size:14px}.exercise-card-view-link:active{opacity:.6}.editable-wrapper{display:inline-flex;align-items:center;gap:4px;min-width:60px}.edit-input{width:auto;min-width:50px;padding:4px 6px;border-radius:6px;border:1px solid #ccc;text-align:center;font-size:14px}.input-suffix{white-space:nowrap;font-size:14px}.completed-row{display:grid;grid-template-columns:max-content;gap:4px;align-items:center;min-width:50px}.value-text{font-weight:600;text-align:center}.done-highlight{color:#4caf50}.sets{display:flex;flex-direction:column}.set-row{grid-template-columns:30px 1fr 1fr 40px 40px;align-items:center;padding:6px 0;border-radius:12px;background:var(--color-card)}.set-row{display:flex;align-items:center;gap:6px}.set-row input{width:100%;height:34px;border-radius:8px;border:1px solid #ddd;text-align:center;font-size:14px}.set-row.done{opacity:.55;text-decoration:line-through}.set-index{font-weight:600;opacity:.6;min-width:20px;text-align:center}.set-actions{display:flex;gap:4px;margin-left:auto}.rest-timer{position:sticky;bottom:0;margin-top:10px;padding:12px;background:var(--color-card);border-radius:var(--radius-lg);margin-bottom:8px;background:var(--color-primary-soft)}.timer-inner{display:flex;flex-direction:column;gap:10px;max-width:600px;margin:0 auto}.timer-top-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.circle{position:relative;width:60px;height:60px;flex-shrink:0}.circle svg{display:block;width:60px;height:60px}.circle circle{fill:none;stroke-linecap:round}.circle .bg{stroke:var(--color-border)}.circle .progress{stroke:var(--color-active);transition:stroke-dashoffset .4s linear}.circle .time{position:absolute;top:0;left:0;width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;font-variant-numeric:tabular-nums;color:var(--color-text);line-height:1}.actions{display:flex;gap:6px;flex-shrink:0}.rest-value-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:15px;font-weight:500;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:var(--tap-size);cursor:pointer;transition:.15s}.rest-value-btn:active:not(:disabled){transform:scale(.98);background:var(--color-primary-soft)}.rest-value-btn:disabled{opacity:.5;cursor:not-allowed}.rest-label{color:var(--color-text-muted);font-size:14px}.rest-time{font-weight:700}.rest-sheet-overlay{position:fixed;inset:0;background:#00000080;z-index:30;display:flex;align-items:flex-end;animation:fadeIn .2s ease}.rest-sheet-overlay:before{content:"";position:absolute;inset:0;pointer-events:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.rest-sheet{position:relative;width:100%;background:var(--color-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:12px 16px 32px;animation:slideUp .3s cubic-bezier(.16,1,.3,1);max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:1}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{width:36px;height:4px;background:var(--color-border);border-radius:2px;margin:0 auto 16px}.sheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.sheet-header h3{margin:0;font-size:17px;font-weight:700;color:var(--color-text)}.sheet-done{background:none;border:none;color:var(--color-text);font-size:16px;font-weight:600;padding:8px;-webkit-tap-highlight-color:transparent;cursor:pointer}.presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.preset-chip{flex:1;min-width:56px;padding:10px 6px;background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius);font-size:15px;font-weight:600;color:var(--color-text);text-align:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:var(--tap-size);cursor:pointer;transition:.15s}.preset-chip:active{transform:scale(.96)}.preset-chip.active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-text)}.fine-tune{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px}.tune-btn{width:60px;height:60px;border-radius:50%;border:none;background:var(--color-bg);color:var(--color-text);font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none;cursor:pointer;transition:.15s}.tune-btn:active{background:var(--color-primary-soft);transform:scale(.92)}.tune-input-wrap{display:flex;align-items:center;gap:4px}.tune-input-wrap input{width:72px;height:60px;text-align:center;font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text)}.tune-input-wrap input:focus{outline:none;border-color:var(--color-primary)}.tune-input-wrap span{color:var(--color-text-muted);font-size:15px}.sheet-start-btn{width:100%;padding:14px;background:var(--color-active);color:var(--color-btn-text);border:none;border-radius:var(--radius);font-size:16px;font-weight:700;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:var(--tap-size);cursor:pointer;transition:.15s}.sheet-start-btn:active{background:var(--color-primary-hover);transform:scale(.98)}@media(max-width:480px){.timer-top-row{gap:8px}.circle{width:60px;height:60px}.circle svg{width:60px;height:60px}.circle .time{width:60px;height:60px;font-size:12px}.actions{gap:4px}.actions button{padding:0 12px;font-size:14px}}@media(max-height:600px){.rest-sheet{max-height:85vh}}.ai-page h1{display:flex;align-items:center;gap:10px}.ai-hero,.ai-card{background:var(--color-card);border-radius:var(--radius);padding:var(--card-padding);box-shadow:var(--shadow-md)}.ai-hero p{margin:8px 0 0;color:var(--color-text-muted);line-height:1.45}.ai-card h2{margin-top:var(--card-gap)}.ai-grid{display:grid;gap:var(--card-gap)}.ai-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-card label{display:flex;flex-direction:column;gap:var(--card-gap);margin-bottom:var(--card-padding);font-weight:700}.ai-card input,.ai-card select,.ai-card textarea{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--card-padding);background:var(--color-bg);color:var(--color-text);width:100%;font-size:16px}.ai-card select{width:100%}.ai-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ai-metrics div{border-radius:var(--radius);padding:var(--card-padding);background:var(--color-bg);display:flex;flex-direction:column}.ai-metrics b{font-size:22px}.ai-metrics span{color:var(--color-text-muted);font-size:16px}.ai-result-title{display:flex;justify-content:space-between;align-items:center}.ai-card pre{overflow:auto;white-space:pre-wrap;background:var(--color-bg);border-radius:var(--radius);padding:var(--card-padding);max-height:420px}@media(max-width:768px){.ai-grid.two,.ai-metrics{grid-template-columns:1fr}}.ai-help{color:var(--color-text-muted);line-height:1.45}.ai-checkbox{flex-direction:row!important;align-items:center;font-weight:600!important}.ai-checkbox input{width:auto}.ai-autocomplete-label{position:relative;margin-bottom:0!important}.ai-tags-input-container{position:relative;width:100%}.ai-tags-wrapper{display:flex;flex-wrap:wrap;align-items:center;gap:6px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:8px 10px;min-height:42px;box-sizing:border-box;cursor:text;margin-bottom:var(--card-padding)}.ai-tags-wrapper:focus-within{border-color:var(--color-primary, #007bff);box-shadow:0 0 0 1px var(--color-primary, #007bff);outline:none}.ai-tag{display:inline-flex;align-items:center;gap:4px;background:var(--color-primary-light, #e7f1ff);color:var(--color-primary, #007bff);padding:2px 8px;border-radius:var(--radius);font-weight:500;line-height:1.4;white-space:nowrap;font-size:16px}.ai-tag-remove{background:none;border:none;padding:0;margin-left:2px;cursor:pointer;display:flex;align-items:center;color:inherit;opacity:.6;transition:opacity .2s}.ai-tag-remove:hover{opacity:1}.ai-tags-input{border:none;outline:none;flex:1;min-width:80px;background:transparent;font-size:inherit;padding:2px 0;font-weight:400;line-height:1.4}.ai-tags-input::placeholder{color:var(--color-text-muted, #888);opacity:.7}.ai-suggestions-list{position:absolute;top:100%;left:0;right:0;background:var(--color-card, #fff);border:1px solid var(--color-border, #ccc);border-radius:var(--radius, 4px);margin-top:4px;padding:4px 0;z-index:50;max-height:200px;overflow-y:auto;box-shadow:0 4px 12px #00000026}.ai-suggestion-item{padding:10px 14px;cursor:pointer;transition:background .15s;font-weight:400}.ai-suggestion-item:hover{background:var(--color-hover, #f0f0f0)}.ai-tag{position:relative}.ai-tag-remove{position:relative;z-index:2;background:none;border:none;padding:4px;margin:-4px -4px -4px 2px;cursor:pointer;display:inline-flex;align-items:center;color:inherit;opacity:.6;transition:opacity .2s;min-width:24px;min-height:24px;border-radius:50%}.ai-tag-remove:hover{opacity:1;background:#0000000d}.ai-tag-remove svg{pointer-events:none}
