:root{--bg: #0e1116;--bg-elev: #161b22;--bg-elev-2: #1c232c;--bg-elev-3: #232c37;--border: #2a323d;--border-soft: #232a33;--text: #e9eef4;--text-dim: #97a3b1;--accent: #ff5b3c;--accent-2: #ffab2e;--accent-soft: rgba(255, 91, 60, .14);--good: #34d399;--radius: 14px;--radius-sm: 10px;--shadow: 0 10px 30px rgba(0, 0, 0, .4);--maxw: 1100px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(1100px 520px at 100% -8%,#1a2230 0%,transparent 55%),radial-gradient(800px 420px at -8% 0%,#211a19 0%,transparent 50%),var(--bg);color:var(--text);font-family:Inter,Segoe UI,system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}button{font-family:inherit}.app-header{position:sticky;top:0;z-index:20;background:#0e1116d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-soft)}.app-header-inner{max-width:var(--maxw);margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:14px}.app-header h1{font-size:1.15rem;letter-spacing:-.02em;margin:0;white-space:nowrap}.app-logo{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-2));font-size:19px;box-shadow:0 4px 14px #ff5b3c66}nav[aria-label="main navigation"]{margin-left:auto;display:flex;gap:6px}nav[aria-label="main navigation"] button{border:1px solid transparent;background:transparent;color:var(--text-dim);padding:8px 14px;border-radius:999px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}nav[aria-label="main navigation"] button:hover{color:var(--text);background:var(--bg-elev)}nav[aria-label="main navigation"] button[aria-pressed=true]{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#1a1005}main{max-width:var(--maxw);margin:0 auto;padding:24px 20px 80px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}h2{font-size:1.5rem;letter-spacing:-.02em;margin:0 0 4px}h3{font-size:1rem;margin:0}.subtle,.card-tags,.stat-label,.entry-date{color:var(--text-dim);font-size:.85rem}.empty-hint{color:var(--text-dim);background:var(--bg-elev);border:1px dashed var(--border);border-radius:var(--radius);padding:22px;text-align:center}nav[aria-label="catalog modes"]{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 18px}nav[aria-label="catalog modes"] button{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);padding:8px 14px;border-radius:999px;font-size:.88rem;font-weight:600;cursor:pointer}nav[aria-label="catalog modes"] button[aria-pressed=true]{border-color:var(--accent);color:var(--accent-2);background:var(--accent-soft)}.btn-primary{border:none;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#1a1005;padding:10px 18px;border-radius:var(--radius-sm);font-weight:700;font-size:.92rem;cursor:pointer;transition:transform .05s ease,filter .15s ease}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{filter:none;opacity:.7;cursor:default;background:var(--good);color:#06251b}.btn-ghost{border:1px solid var(--border);background:transparent;color:var(--text-dim);padding:7px 13px;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem;cursor:pointer}.btn-ghost:hover{color:var(--text);border-color:#3a434f}.add-exercise-btn{margin-bottom:16px}.unit-toggle{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}.unit-toggle button{border:none;background:var(--bg-elev);color:var(--text-dim);padding:7px 16px;font-weight:700;cursor:pointer}.unit-toggle button[aria-pressed=true]{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#1a1005}h3{color:var(--accent-2)}section>h3,section section>h3{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;margin:22px 0 10px}.exercise-grid{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.exercise-grid li{margin:0}.exercise-card{width:100%;text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:var(--radius);padding:0;overflow:hidden;display:flex;flex-direction:column;transition:transform .12s ease,border-color .15s ease}.exercise-card:hover{transform:translateY(-3px);border-color:var(--accent)}.card-thumb-wrap{display:block;width:100%;aspect-ratio:4 / 3;background:var(--bg-elev-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24' fill='none' stroke='%233a434f' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6.5 6.5 17.5 17.5M4 12h2M18 12h2M6 9v6M18 9v6'/%3E%3C/svg%3E") center / 40px no-repeat;overflow:hidden}.card-thumb{width:100%;height:100%;object-fit:cover;display:block}.card-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:3px}.card-name{font-weight:700;font-size:.95rem;line-height:1.25}.detail-actions{margin:4px 0 16px}.exercise-detail{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.exercise-detail header h2{margin-top:0}.body-parts{color:var(--text-dim);font-size:.9rem;margin-top:-2px}.exercise-visual img,.exercise-visual video,.muscle-diagram img{width:100%;max-width:460px;height:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev-2);display:block}.exercise-visual,.muscle-diagram{margin-top:16px}.media-placeholder{display:grid;place-items:center;min-height:200px;max-width:460px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg-elev-2);color:var(--text-dim)}.diagram-highlight-overlay,.targeted-muscles{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.diagram-highlight-overlay li,.targeted-muscles li.highlighted{background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent-2);padding:4px 11px;border-radius:999px;font-size:.8rem;font-weight:600}.targeted-muscles li{background:var(--bg-elev-2);border:1px solid var(--border);padding:4px 11px;border-radius:999px;font-size:.82rem}.exercise-instructions ol{padding-left:20px;margin:8px 0 16px}.exercise-instructions li{margin-bottom:6px}.logged-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}.logged-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.logged-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.logged-name{font-size:1.05rem;color:var(--text)}.set-list{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:6px}.set-list li{display:flex;align-items:center;gap:10px;background:var(--bg-elev-2);border-radius:var(--radius-sm);padding:8px 12px;font-size:.92rem}.set-index{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--accent-soft);color:var(--accent-2);font-size:.75rem;font-weight:700}.set-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.set-form .mult{color:var(--text-dim)}.set-form input{width:120px}.progress-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:18px}.stat-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:6px}.stat-value{font-size:1.6rem;font-weight:800;letter-spacing:-.02em}.stat-card:first-child .stat-value{color:var(--good)}.entry-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.entry-list li{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;display:flex;gap:12px;align-items:baseline}.entry-date{min-width:96px}ul[aria-label="workout sessions"],ul[aria-label="logged exercises"],ul[aria-label="detail exercises"]{list-style:none;padding:0;margin:12px 0;display:grid;gap:10px}[aria-label="session detail"]{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-top:14px}ul[aria-label="detail exercises"]>li{background:var(--bg-elev-2);border-radius:var(--radius-sm);padding:12px 14px}label{display:inline-block;color:var(--text-dim);font-size:.85rem;font-weight:600;margin-right:6px}input,select{background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;font-size:.95rem}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#06080ba8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:start center;padding:8vh 16px 16px}.modal{width:100%;max-width:560px;max-height:78vh;display:flex;flex-direction:column;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border-soft)}.modal-header h3{color:var(--text)}.modal-close{border:none;background:transparent;color:var(--text-dim);font-size:1rem;cursor:pointer;padding:4px 8px;border-radius:8px}.modal-close:hover{background:var(--bg-elev-2);color:var(--text)}.picker-search{margin:14px 18px 8px}.picker-list{list-style:none;margin:0;padding:6px 10px 12px;overflow-y:auto}.picker-item{width:100%;display:flex;align-items:center;gap:12px;border:none;background:transparent;color:var(--text);padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;text-align:left}.picker-item:hover{background:var(--bg-elev-2)}.picker-thumb{width:48px;height:40px;object-fit:cover;border-radius:8px;background:var(--bg-elev-3);flex:0 0 auto}.picker-name{font-weight:600;flex:1}.picker-tags{color:var(--text-dim);font-size:.78rem;white-space:nowrap}.picker-empty{padding:20px;text-align:center;color:var(--text-dim)}[role=alert]{color:#ffb4a6;background:#ff5b3c1a;border:1px solid rgba(255,91,60,.35);padding:10px 14px;border-radius:var(--radius-sm);margin:10px 0;font-size:.9rem}[role=status]{color:var(--text-dim);font-size:.92rem}.media-error{color:#ffb4a6}@media (max-width: 560px){.app-header-inner{flex-wrap:wrap}nav[aria-label="main navigation"]{margin-left:0;width:100%;overflow-x:auto}}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button{cursor:pointer}button:not([class]){border:1px solid var(--border);background:var(--bg-elev-2);color:var(--text);padding:9px 15px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem}button:not([class]):hover{border-color:var(--accent)}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px}.chip{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);padding:8px 16px;border-radius:999px;font-weight:600;font-size:.9rem}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-2)}.chip:hover{color:var(--text)}.search-input{width:100%;max-width:520px;padding:12px 16px;font-size:1rem;border-radius:999px;margin-bottom:16px}.filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.detail-media-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:14px 0 6px}.detail-media-row .exercise-visual{margin-top:0}.exercise-animation{background:radial-gradient(120% 90% at 50% 0%,#232c37 0%,transparent 60%),var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px}.exercise-animation svg{width:100%;max-width:260px;height:auto}.animation-tag{color:var(--text-dim);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.session-cards{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.session-card{width:100%;text-align:left;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:4px}.session-card:hover{border-color:var(--accent)}.session-card[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.session-date{font-weight:700}.session-summary{color:var(--text-dim);font-size:.85rem}.detail-exercises{list-style:none;padding:0;margin:0;display:grid;gap:12px}.detail-ex-name{font-weight:700;display:block;margin-bottom:6px}.detail-sets{list-style:none;padding:0;margin:0;display:grid;gap:6px}.detail-sets li{display:flex;align-items:center;gap:10px;background:var(--bg-elev-3);border-radius:8px;padding:6px 10px;font-size:.9rem}.detail-demo{margin:14px 0 18px}.photo-loop{position:relative;width:100%;max-width:460px;aspect-ratio:4 / 3;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--bg-elev-2)}.photo-loop>img,.photo-frame{width:100%;height:100%;object-fit:cover;display:block}.photo-frame{position:absolute;top:0;right:0;bottom:0;left:0;transition:opacity .6s ease-in-out}.photo-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--text-dim);font-size:.85rem}.media-unavailable{color:var(--text-dim)}.photo-phase{position:absolute;left:10px;bottom:10px;background:#0e1116c7;color:var(--accent-2);border:1px solid var(--border);padding:3px 12px;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.muscle-section{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:18px;align-items:start}@media (max-width: 560px){.muscle-section{grid-template-columns:1fr}}.muscle-map{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius);padding:10px}.muscle-map svg{width:100%;height:auto}nav[aria-label="main navigation"] button{display:inline-flex;align-items:center;gap:6px}.tab-icon{font-size:.95rem}@media (max-width: 620px){.tab-label{display:none}nav[aria-label="main navigation"] button{padding:8px 12px;font-size:1.05rem}}.hero{display:flex;align-items:center;justify-content:space-between;gap:16px;background:radial-gradient(120% 140% at 100% 0%,rgba(255,91,60,.22) 0%,transparent 55%),var(--bg-elev);border:1px solid var(--border);border-radius:18px;padding:26px;margin-bottom:16px}.hero-kicker{color:var(--accent-2);font-weight:700;letter-spacing:.04em;margin:0 0 2px;font-size:.85rem}.hero-title{font-size:1.9rem;margin:0 0 4px;letter-spacing:-.03em}.hero-cta{padding:14px 24px;font-size:1rem;white-space:nowrap}.tile-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.tile{border:1px solid var(--border);background:var(--bg-elev);border-radius:var(--radius);padding:18px;text-align:left;display:flex;flex-direction:column;gap:2px;color:var(--text)}.tile:hover{border-color:var(--accent)}.tile-value{font-size:1.8rem;font-weight:800;color:var(--accent-2);letter-spacing:-.02em}.tile-label{color:var(--text-dim);font-size:.82rem}.home-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:14px}@media (max-width: 680px){.home-columns,.tile-row{grid-template-columns:1fr}.hero{flex-direction:column;align-items:flex-start}}.home-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.home-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.home-card-head h3{color:var(--text);text-transform:none;letter-spacing:0;font-size:1.05rem}.recent-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.recent-list li{display:flex;justify-content:space-between;background:var(--bg-elev-2);border-radius:var(--radius-sm);padding:10px 14px}.recent-date{font-weight:600}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#06080b99;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:flex-end;animation:fade-in .15s ease}.drawer{width:min(560px,100%);height:100%;background:var(--bg);border-left:1px solid var(--border);box-shadow:-12px 0 40px #00000080;display:flex;flex-direction:column;animation:slide-in .22s cubic-bezier(.2,.8,.2,1)}@keyframes slide-in{0%{transform:translate(24px);opacity:.4}to{transform:translate(0);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.drawer-topbar{position:sticky;top:0;padding:14px 18px;border-bottom:1px solid var(--border-soft);background:var(--bg);z-index:1}.drawer-back{border:1px solid var(--border);background:var(--bg-elev-2);color:var(--text);padding:8px 16px;border-radius:999px;font-weight:700;font-size:.9rem}.drawer-back:hover{border-color:var(--accent);color:var(--accent-2)}.drawer-body{overflow-y:auto;padding:18px}.drawer-body .exercise-detail{border:none;box-shadow:none;padding:0;background:transparent}.detail-actions{margin:0 0 16px}.chart-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:16px}.chart-card h3{color:var(--text);text-transform:none;letter-spacing:0;font-size:1rem;margin:0 0 10px}.line-chart svg{width:100%;height:auto}.workout-summary{display:flex;align-items:center;gap:20px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;margin-bottom:14px}.ws-stat{display:flex;flex-direction:column}.ws-value{font-size:1.4rem;font-weight:800;color:var(--accent-2);line-height:1.1}.ws-label{color:var(--text-dim);font-size:.78rem}.ws-finish{margin-left:auto}.set-table{width:100%;border-collapse:collapse;margin:6px 0 12px;font-size:.92rem}.set-table thead th{text-align:left;color:var(--text-dim);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;padding:4px 8px;font-weight:700}.set-row td{padding:6px 8px;border-top:1px solid var(--border-soft);vertical-align:middle}.set-row.editing input{width:72px;padding:6px 8px}.set-actions{display:flex;gap:6px;align-items:center}.icon-btn{border:1px solid var(--border);background:var(--bg-elev-2);color:var(--text-dim);width:30px;height:30px;border-radius:8px;font-size:.85rem;display:inline-grid;place-items:center;cursor:pointer}.icon-btn:hover{color:var(--text);border-color:var(--accent)}.icon-btn.save{color:var(--good);border-color:var(--good)}.icon-btn.danger:hover{color:#ffb4a6;border-color:#ff5b3c}.row-error{color:#ffb4a6;font-size:.78rem;margin-left:6px}.calendar-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:20px;max-width:420px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-title{font-weight:700}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-dow{text-align:center;color:var(--text-dim);font-size:.72rem;font-weight:700;padding-bottom:2px}.cal-cell{aspect-ratio:1;border-radius:7px;border:1px solid var(--border-soft);background:var(--bg-elev-2);color:var(--text-dim);font-size:.72rem;display:grid;place-items:center;cursor:default}.cal-cell.empty{background:transparent;border-color:transparent}.cal-cell.lvl-1{background:#ff5b3c2e}.cal-cell.lvl-2{background:#ff5b3c61}.cal-cell.lvl-3{background:#ff783299;color:#1a1005}.cal-cell.lvl-4{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#1a1005;font-weight:700}.cal-cell.has-workout{cursor:pointer;border-color:transparent}.cal-cell.has-workout:hover{outline:2px solid var(--accent-2)}.calendar-legend{display:flex;align-items:center;gap:5px;margin-top:12px;justify-content:flex-end}.cal-cell.legend{width:16px;height:16px;aspect-ratio:auto;cursor:default}.list-subhead{color:var(--text);text-transform:none;letter-spacing:0;font-size:1.05rem;margin:8px 0 12px}:root{--shadow-lg: 0 20px 50px rgba(0, 0, 0, .5);--ring: 0 0 0 1px rgba(255, 255, 255, .04)}body{background:radial-gradient(900px 500px at 100% -10%,rgba(255,120,46,.1) 0%,transparent 55%),radial-gradient(700px 460px at -10% 5%,rgba(255,91,60,.08) 0%,transparent 50%),var(--bg)}.home-card,.workout-summary,.logged-card,.calendar-card,.session-detail,.chart-card,.stat-card,.tile,.exercise-detail{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 40%),var(--bg-elev);box-shadow:var(--ring),0 6px 20px #00000047}main h2{position:relative;padding-left:14px}main h2:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:4px;border-radius:4px;background:linear-gradient(180deg,var(--accent),var(--accent-2))}.empty-hint{position:relative;padding:34px 24px;background:radial-gradient(120% 100% at 50% -20%,rgba(255,91,60,.08),transparent 60%),var(--bg-elev);border:1px dashed var(--border);border-radius:16px;line-height:1.6}.empty-hint:before{content:"💪";display:block;font-size:30px;margin-bottom:8px;opacity:.85}.workout-summary{background:radial-gradient(140% 180% at 0% 0%,rgba(255,91,60,.16),transparent 55%),var(--bg-elev);padding:18px 20px;gap:28px}.ws-value{font-size:1.7rem}.ws-stat+.ws-stat{padding-left:28px;border-left:1px solid var(--border-soft)}.logged-card{border-radius:16px;padding:18px 20px}.logged-name{font-size:1.1rem}.set-table thead th{border-bottom:1px solid var(--border)}.set-row:hover td{background:#ffffff05}.add-exercise-btn{width:100%;padding:16px;font-size:1rem;background:linear-gradient(135deg,#ff5b3c29,#ffab2e29);color:var(--accent-2);border:1.5px dashed var(--accent)}.add-exercise-btn:hover{background:linear-gradient(135deg,#ff5b3c42,#ffab2e42);filter:none}.progress-controls{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 40%),var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--ring)}.stat-card{border-radius:16px;padding:20px 22px;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;right:-20px;top:-20px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(255,91,60,.16),transparent 70%)}.stat-value{font-size:1.9rem}.hero{padding:32px;border-radius:22px;box-shadow:var(--shadow-lg)}.hero-title{font-size:2.1rem}.tile{border-radius:16px;transition:transform .12s ease,border-color .15s ease}.tile:hover{transform:translateY(-2px)}.calendar-card{max-width:460px;border-radius:18px;padding:20px}.cal-cell{border-radius:8px;font-weight:600}.session-card{border-radius:14px;border-left:3px solid var(--accent);padding:16px 18px}.session-card[aria-pressed=true]{background:linear-gradient(90deg,rgba(255,91,60,.12),transparent 60%),var(--bg-elev)}.drawer-body .exercise-detail header h2{padding-left:0}.drawer-body .exercise-detail header h2:before{display:none}.card-thumb{transition:transform .25s ease}.exercise-card:hover .card-thumb{transform:scale(1.05)}.app-header{background:#0e1116e6}.template-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.template-card{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 40%),var(--bg-elev);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--ring),0 6px 20px #00000047;display:flex;flex-direction:column;gap:12px}.template-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.template-card-head h3{color:var(--text);font-size:1.15rem}.template-chips{display:flex;flex-wrap:wrap;gap:6px;min-height:24px}.mini-chip{background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-dim);padding:3px 10px;border-radius:999px;font-size:.76rem}.template-actions{display:flex;gap:8px;margin-top:auto}.template-actions .btn-primary{flex:1}.modal-scroll{overflow-y:auto;padding:14px 18px}.modal-footer{padding:14px 18px;border-top:1px solid var(--border-soft);display:flex;justify-content:flex-end}.modal-footer .btn-primary{width:100%}.tmpl-ex-head{display:flex;align-items:center;justify-content:space-between;margin:16px 0 8px}.tmpl-ex-list,.check-list{list-style:none;padding:0;margin:0;display:grid;gap:6px}.tmpl-ex-list li{display:flex;align-items:center;gap:12px;background:var(--bg-elev-2);border-radius:var(--radius-sm);padding:8px 10px}.check-row{display:flex;align-items:center;gap:12px;cursor:pointer;background:var(--bg-elev-2);border-radius:var(--radius-sm);padding:10px 12px;margin:0}.check-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.workout-timer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:linear-gradient(135deg,#ff5b3c24,#ffab2e1a),var(--bg-elev);border:1px solid var(--border);border-radius:14px;padding:12px 18px;margin-bottom:14px}.wt-elapsed{display:flex;align-items:center;gap:8px}.wt-dot{width:9px;height:9px;border-radius:50%;background:var(--good);box-shadow:0 0 #34d39999;animation:pulse 1.6s infinite}@keyframes pulse{0%{box-shadow:0 0 #34d39980}70%{box-shadow:0 0 0 8px #34d39900}to{box-shadow:0 0 #34d39900}}.wt-time{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.wt-caption{color:var(--text-dim);font-size:.8rem}.wt-rest-buttons,.wt-rest-active{display:flex;align-items:center;gap:8px}.wt-rest-btn{border:1px solid var(--border);background:var(--bg-elev-2);color:var(--text);padding:6px 12px;border-radius:999px;font-weight:700;font-size:.82rem;font-variant-numeric:tabular-nums}.wt-rest-btn:hover{border-color:var(--accent);color:var(--accent-2)}.wt-rest-time{font-size:1.2rem;font-weight:800;color:var(--accent-2);font-variant-numeric:tabular-nums}.detail-actions.added{background:linear-gradient(135deg,rgba(52,211,153,.14),transparent 70%),var(--bg-elev);border:1px solid rgba(52,211,153,.35);border-radius:14px;padding:14px 16px}.added-confirm{color:var(--good);font-weight:700;margin:0 0 10px}.added-buttons{display:flex;gap:8px}.wt-dot.paused{background:var(--accent-2);animation:none}.wt-pause{margin-left:6px}.cardio-list{list-style:none;padding:0;margin:6px 0 12px;display:grid;gap:6px}.cardio-list li{display:flex;align-items:center;gap:10px;background:var(--bg-elev-2);border-radius:var(--radius-sm);padding:8px 12px;font-size:.92rem}.cardio-list li .icon-btn{margin-left:auto}.cardio-form input{width:150px}.confirm-modal{max-width:420px}.confirm-footer{gap:10px;justify-content:space-between}.confirm-footer .btn-primary,.confirm-footer .btn-ghost{flex:1}.finish-summary{display:flex;gap:16px;margin-top:12px;padding:12px 14px;background:var(--bg-elev-2);border-radius:var(--radius-sm);font-weight:700;color:var(--accent-2);justify-content:space-around}.finish-summary span{font-size:.9rem}.detail-actions.dual{display:flex;flex-direction:column;gap:8px}.dual-buttons{display:flex;gap:8px;flex-wrap:wrap}.dual-buttons .btn-primary{flex:1;min-width:180px}.routine-pick-list{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:6px}.routine-pick{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);background:var(--bg-elev-2);color:var(--text);padding:12px 14px;border-radius:var(--radius-sm);cursor:pointer}.routine-pick:hover{border-color:var(--accent)}.new-routine-row{display:flex;gap:8px;align-items:center}.new-routine-row .search-input{flex:1;margin-bottom:0}.cal-cell:disabled{cursor:default;opacity:.5}.cal-cell.has-workout{cursor:pointer;opacity:1;font-weight:800;color:#1a1005}.cal-cell.has-workout:hover{transform:translateY(-1px);outline:2px solid var(--accent-2)}.cal-cell.today{box-shadow:inset 0 0 0 2px var(--accent-2)}.calendar-footer{margin-top:14px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.cal-hint{color:var(--text-dim);font-size:.78rem}.calendar-legend{margin-top:0}.overview-cards{grid-template-columns:repeat(4,1fr);margin-bottom:20px}@media (max-width: 620px){.overview-cards{grid-template-columns:repeat(2,1fr)}}.overview-cards .stat-value{font-size:1.7rem}.progress-ex-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.progress-ex{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 40%),var(--bg-elev);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--ring)}.progress-ex.open{border-color:var(--accent)}.progress-ex-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:none;color:var(--text);padding:16px 18px;cursor:pointer;text-align:left}.progress-ex-head:hover{background:#ffffff05}.pe-main{display:flex;flex-direction:column;gap:3px}.pe-name{font-weight:700;font-size:1.02rem}.pe-meta{color:var(--text-dim);font-size:.82rem}.pe-chevron{color:var(--text-dim);font-size:.75rem}.progress-ex-body{padding:4px 18px 18px;border-top:1px solid var(--border-soft)}.tile-row.four{grid-template-columns:repeat(4,1fr)}@media (max-width: 680px){.tile-row.four{grid-template-columns:repeat(2,1fr)}}.log-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.log-actions .add-exercise-btn{flex:1;margin-bottom:0}.guided-start{white-space:nowrap}.card-head-actions{display:flex;align-items:center;gap:6px}.guided{max-width:560px;margin:0 auto}.guided-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.guided-progress-text{color:var(--text-dim);font-weight:700;font-size:.85rem}.guided-dots{display:flex;gap:6px;justify-content:center;margin-bottom:16px}.gdot{width:26px;height:6px;border-radius:999px;background:var(--bg-elev-3)}.gdot.done{background:var(--good)}.gdot.active{background:linear-gradient(90deg,var(--accent),var(--accent-2))}.guided-card{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 40%),var(--bg-elev);border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:var(--shadow-lg);text-align:center}.guided-thumb{width:100%;max-width:320px;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);margin:0 auto 12px;display:block}.guided-name{font-size:1.5rem;margin:0 0 2px}.guided-sets{list-style:none;padding:0;margin:14px 0;display:grid;gap:6px}.guided-sets li{display:flex;align-items:center;gap:10px;justify-content:center;background:var(--bg-elev-2);border-radius:var(--radius-sm);padding:8px 12px}.guided-sets li .icon-btn{margin-left:auto}.guided-inputs{display:flex;align-items:flex-end;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:8px}.stepper{display:flex;flex-direction:column;gap:6px}.stepper-label{color:var(--text-dim);font-size:.78rem;font-weight:700}.stepper-controls{display:flex;align-items:center;gap:6px}.stepper-controls input{width:72px;text-align:center;font-size:1.1rem;font-weight:700}.stepper-controls .icon-btn{width:38px;height:38px;font-size:1.1rem}.guided-log{height:42px}.guided-rest{margin-top:16px;padding:14px;background:linear-gradient(135deg,#ff5b3c24,#ffab2e1a),var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius)}.guided-rest-time{font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent-2);margin-bottom:8px}.guided-rest-controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.guided-nav{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.guided-nav .btn-primary,.guided-nav .btn-ghost{flex:1;padding:14px}.guided-target{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:6px}.guided-target-ctrl{display:inline-flex;align-items:center;gap:8px}.guided-target-ctrl .icon-btn{width:28px;height:28px}.guided-advance{margin-top:16px;padding:16px;border-radius:var(--radius);background:linear-gradient(135deg,rgba(52,211,153,.16),transparent 70%),var(--bg-elev-2);border:1px solid rgba(52,211,153,.4);display:flex;flex-direction:column;gap:12px;align-items:center}.guided-advance-buttons{display:flex;gap:10px}.error-boundary{background:var(--bg-elev);border:1px solid rgba(255,91,60,.4);border-radius:var(--radius);padding:24px;text-align:center}.error-boundary h3{color:#ffb4a6;margin:0 0 8px}.error-boundary .btn-primary{margin-top:12px}.sortable-row{display:flex;align-items:stretch;gap:8px;list-style:none}.sortable-content{flex:1;min-width:0}.drag-handle{flex:0 0 auto;align-self:center;border:1px solid var(--border);background:var(--bg-elev-2);color:var(--text-dim);width:30px;border-radius:8px;cursor:grab;font-size:1.1rem;line-height:1;padding:8px 0;touch-action:none}.drag-handle:active{cursor:grabbing;color:var(--accent-2);border-color:var(--accent)}.logged-list{padding:0;margin:0;display:grid;gap:14px}.tmpl-ex-list{padding:0;margin:0;display:grid;gap:6px}.tmpl-ex-item{display:flex;align-items:center;gap:12px;background:var(--bg-elev-2);border-radius:var(--radius-sm);padding:8px 10px}.tmpl-ex-item .picker-name{flex:1}.guided-demo{max-width:340px;margin:0 auto 12px}.guided-demo .photo-loop{margin:0 auto}.guided-rest-head{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.guided-rest-badge{color:var(--good);font-weight:700;font-size:.85rem}.guided-rest-label{color:var(--text-dim);font-size:.85rem}.check-list{padding:0;margin:0;display:grid;gap:6px}.check-list .sortable-content .check-row{margin:0}
