:root{--bg: #0a0a0b;--bg-2: #131316;--bg-3: #1c1c21;--line: #2a2a31;--text: #f1f1f3;--muted: #8a8a93;--accent: #d8ff3e;--accent-dim: #93b026;--danger: #ff5555;--ok: #4ade80;--radius: 14px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;min-height:100vh;overscroll-behavior-y:none}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}.wrap{max-width:540px;margin:0 auto;padding:20px 16px 240px}header.brand{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px}.brand h1{font-family:Bebas Neue,sans-serif;font-size:38px;letter-spacing:.04em;margin:0;line-height:.9}.brand h1 span{color:var(--accent)}.brand .sub{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.15em}.grid{display:grid;gap:12px}.workout-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 16px;cursor:pointer;transition:transform .15s ease,border-color .15s ease;text-align:left;color:inherit;font:inherit;width:100%}.workout-card:active{transform:scale(.985)}.workout-card:hover{border-color:var(--accent-dim)}.workout-card .row1{display:flex;align-items:center;gap:12px;margin-bottom:6px}.workout-card .tag{font-family:Bebas Neue,sans-serif;background:var(--accent);color:#000;padding:4px 10px 2px;border-radius:6px;font-size:18px;letter-spacing:.05em}.workout-card h3{margin:0;font-size:17px;font-weight:600}.workout-card p{margin:4px 0 0;color:var(--muted);font-size:13px}.session-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:10px}.session-head .back{background:var(--bg-2);border:1px solid var(--line);color:var(--text);padding:8px 14px;border-radius:999px;font-size:13px;cursor:pointer}.session-head .session-meta{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.session-head .session-title{font-family:Bebas Neue,sans-serif;font-size:26px;letter-spacing:.04em;line-height:1}.session-head .session-title span{color:var(--accent)}.session-head .session-elapsed{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.05em;display:flex;align-items:center;gap:5px}.session-head .session-elapsed:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.ex-list{display:grid;gap:10px}.ex{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:14px;transition:border-color .15s ease,opacity .2s ease}.ex.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.ex.done{opacity:.5}.ex.clickable{cursor:pointer}.ex.clickable:hover{border-color:var(--accent-dim)}.ex.clickable:active{transform:scale(.99)}.ex .top{display:flex;align-items:flex-start;gap:12px}.ex .info{flex:1;min-width:0}.ex .thumb{width:56px;height:56px;border-radius:10px;background:var(--bg-3);border:1px solid var(--line);object-fit:cover;flex-shrink:0;display:block;cursor:zoom-in}.ex .thumb:active{transform:scale(.95)}.lightbox-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f0;z-index:100;display:flex;align-items:center;justify-content:center;animation:fadein .15s ease;touch-action:none;overflow:hidden}.lightbox-img{width:96vw;height:80vh;max-width:720px;object-fit:contain;image-rendering:auto;background:#fff;border-radius:8px;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;touch-action:none;transform-origin:center center;transition:transform .2s ease;will-change:transform;cursor:zoom-in}.lightbox-img.zoomed{cursor:grab}.lightbox-img.dragging{transition:none;cursor:grabbing}.lightbox-close{position:absolute;top:calc(12px + env(safe-area-inset-top));right:16px;background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:var(--text);width:40px;height:40px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.lightbox-close:active{background:#ffffff26}.lightbox-hint{position:absolute;bottom:calc(18px + env(safe-area-inset-bottom));left:0;right:0;text-align:center;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.18em;pointer-events:none}.lightbox-caption{position:absolute;top:calc(20px + env(safe-area-inset-top));left:16px;right:70px;color:var(--text);font-size:13px;font-weight:500;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.6)}.ex .name{font-weight:600;font-size:15px;line-height:1.25}.ex .reps{color:var(--muted);font-size:12px;margin-top:2px}.ex .edit-btn{background:transparent;border:1px solid var(--line);color:var(--muted);padding:5px 10px;border-radius:8px;font-size:11px;cursor:pointer;text-transform:uppercase;letter-spacing:.08em}.ex .edit-btn:hover{color:var(--text);border-color:var(--text)}.sets-row{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}.set-pill{flex:1;min-width:38px;background:var(--bg-3);border:1px solid var(--line);border-radius:8px;height:36px;display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-weight:700;font-size:13px;color:var(--muted)}.set-pill.done{background:var(--accent);color:#000;border-color:var(--accent)}.set-pill.active{color:var(--accent);border-color:var(--accent)}.action-bar{position:fixed;left:0;right:0;bottom:0;background:linear-gradient(to top,var(--bg) 50%,rgba(10,10,11,0));padding:24px 16px calc(16px + env(safe-area-inset-bottom));display:flex;justify-content:center;pointer-events:none;z-index:10}.action-bar .inner{max-width:540px;width:100%;pointer-events:auto;background:var(--bg-2);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 -10px 40px #0009}.now{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px;gap:10px}.now .label{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.now .ex-name{font-weight:600;font-size:14px;margin-top:2px;line-height:1.25}.now .set-info{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--accent);white-space:nowrap}.timer{font-family:JetBrains Mono,monospace;font-weight:700;font-size:52px;text-align:center;letter-spacing:.02em;line-height:1;margin:4px 0 10px;font-variant-numeric:tabular-nums}.timer.resting{color:var(--accent)}.timer.idle{color:var(--text)}.timer-label{text-align:center;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.2em;margin-bottom:10px}.btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn{border:none;cursor:pointer;padding:14px;border-radius:12px;font-family:Bebas Neue,sans-serif;font-size:18px;letter-spacing:.08em;transition:transform .1s ease,opacity .15s ease}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#000}.btn-secondary{background:var(--bg-3);color:var(--text);border:1px solid var(--line)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-ok-outline{background:transparent;color:var(--text);border:1px solid var(--ok)}.btn-wide{grid-column:1 / -1}.btn:disabled{opacity:.4;cursor:not-allowed}.rest-adjust{display:flex;gap:8px;justify-content:center}.btn-compact{width:auto;padding:12px 8px;font-size:16px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;z-index:50;animation:fadein .15s ease}@keyframes fadein{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-2);border-top:1px solid var(--line);width:100%;max-width:540px;border-radius:20px 20px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));animation:slideup .2s ease}@keyframes slideup{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal h2{margin:0 0 4px;font-family:Bebas Neue,sans-serif;font-size:28px;letter-spacing:.04em}.modal .sub{color:var(--muted);font-size:13px;margin-bottom:18px}.field{margin-bottom:16px}.field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-bottom:8px}.stepper{display:flex;align-items:center;gap:10px;background:var(--bg-3);border:1px solid var(--line);border-radius:12px;padding:6px}.stepper button{width:44px;height:44px;border:none;border-radius:8px;background:var(--bg-2);color:var(--text);font-size:22px;cursor:pointer;font-family:JetBrains Mono,monospace}.stepper button:active{background:var(--accent);color:#000}.stepper .val{flex:1;text-align:center;font-family:JetBrains Mono,monospace;font-size:22px;font-weight:700}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.history-list{display:grid;gap:8px;max-height:220px;overflow-y:auto;margin-bottom:10px}.history-item{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center;background:var(--bg-3);border:1px solid var(--line);border-radius:10px;padding:8px 10px}.history-item input{background:transparent;border:none;color:var(--text);font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;width:100%;padding:6px 4px;border-radius:6px;outline:none}.history-item input:focus{background:var(--bg-2);box-shadow:0 0 0 1px var(--accent)}.history-item .kg-input{text-align:right}.history-item .del-h{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:6px 8px;font-size:16px;border-radius:6px}.history-item .del-h:hover{color:var(--danger)}.history-empty{color:var(--muted);font-size:13px;text-align:center;padding:14px;border:1px dashed var(--line);border-radius:10px;margin-bottom:10px}.add-history-btn{background:transparent;border:1px dashed var(--line);color:var(--muted);padding:10px;border-radius:10px;cursor:pointer;width:100%;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.add-history-btn:hover{color:var(--text);border-color:var(--text)}.finished{text-align:center;padding:60px 20px}.finished h2{font-family:Bebas Neue,sans-serif;font-size:48px;margin:0 0 8px;letter-spacing:.04em}.finished h2 span{color:var(--accent)}.finished p{color:var(--muted);margin:0 0 24px}.hidden{display:none!important}.login{padding-top:8vh}.login-form{margin-top:8px}.login-form .field input{width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:12px;color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:16px;padding:14px;outline:none}.login-form .field input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.login-form .btn{margin-top:6px}.login-error{color:var(--danger);font-size:13px;margin:-4px 0 14px}.brand .brand-actions{display:flex;align-items:center;gap:12px}.logout-btn{background:transparent;border:1px solid var(--line);color:var(--muted);padding:6px 12px;border-radius:999px;font-size:11px;cursor:pointer;text-transform:uppercase;letter-spacing:.1em}.logout-btn:hover{color:var(--text);border-color:var(--text)}.sync-badge{position:fixed;bottom:calc(8px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:40;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--bg-2);border:1px solid var(--line);border-radius:999px;padding:4px 12px;pointer-events:none;opacity:.85}.sync-badge.err{color:var(--danger);border-color:var(--danger)}
