:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d10;--panel:#14181d;--panel-2:#1a1f26;--line:#2b323b;--text:#f5f7fa;--muted:#9aa5b1;--accent:#7aa2ff;--danger:#f77}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}input,textarea,select{color:var(--text);background:0 0}a{color:inherit}.shell{width:min(100% - 24px,760px);margin:0 auto;padding:20px 0 48px}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px}.muted{color:var(--muted)}.btn{border:1px solid var(--line);background:var(--panel-2);min-height:48px;color:var(--text);border-radius:12px;padding:0 14px}.btn-primary{background:var(--accent);color:#0a0d12;border-color:#0000;font-weight:800}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}input,textarea,select{border:1px solid var(--line);border-radius:10px;width:100%;padding:11px;font-size:16px}select option{background:var(--panel-2);color:var(--text)}.eyebrow{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px}.auth-shell{padding-top:48px}.auth-card{max-width:520px;margin:0 auto}.auth-form{gap:10px;margin-top:20px;display:grid}.auth-form label{color:var(--muted);margin-top:4px;font-size:14px}.notice{border:1px solid var(--line);border-radius:12px;margin:14px 0;padding:12px;font-size:14px}.notice-error{color:#faa;background:#ff777714;border-color:#ff777780}.notice-ok{background:#7aa2ff14;border-color:#7aa2ff73}.text-link{color:var(--muted);margin-top:16px;text-decoration:none;display:inline-block}.link-btn{place-items:center;text-decoration:none;display:grid}.userbar{justify-content:space-between;align-items:center;gap:12px;width:min(100% - 24px,760px);margin:0 auto;padding:14px 0 0;display:flex}.btn-compact{min-height:40px}@media (max-width:520px){.auth-shell{padding-top:18px}.grid-2{grid-template-columns:1fr}}.routine-form{gap:10px;display:grid}.routine-form label,.routine-grid label{color:var(--muted);gap:6px;font-size:13px;display:grid}.routine-day{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.routine-day-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.routine-day-head h3{margin:3px 0}.routine-exercises{gap:8px;margin:12px 0;display:grid}.routine-exercise,.add-exercise-box{border:1px solid var(--line);background:var(--panel-2);border-radius:14px;padding:12px}.routine-exercise summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.routine-exercise summary span:first-child{gap:3px;display:grid}.routine-exercise summary small{color:var(--muted);font-weight:400}.routine-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.span-2{grid-column:1/-1}.danger-btn{color:#faa;border-color:#f776}@media (max-width:520px){.routine-grid{grid-template-columns:1fr 1fr}.routine-day-head{align-items:flex-end}.routine-day-head .btn{min-height:44px}}.progression-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.progression-card{gap:6px;min-width:0;display:grid}.progression-card strong{overflow-wrap:anywhere;line-height:1.35}.compact-link{margin-top:2px;font-size:12px}.progression-reason{border:1px solid var(--line);background:var(--panel-2);border-radius:12px;padding:11px 12px}.progression-reason summary{cursor:pointer;font-weight:700}.history-list,.history-exercises{gap:10px;display:grid}.history-row{border:1px solid var(--line);background:var(--panel);border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:14px;text-decoration:none;display:flex}.history-row:hover{border-color:var(--accent)}.history-main{gap:4px;min-width:0;display:grid}.history-meta{text-align:right;color:var(--muted);white-space:nowrap;gap:3px;font-size:13px;display:grid}.history-detail-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.history-note{border:1px solid var(--line);background:var(--panel-2);border-radius:12px;gap:4px;margin-bottom:12px;padding:10px 12px;display:grid}.history-set-head,.history-set-row{grid-template-columns:32px 1fr 1fr 1fr 1fr 1fr;align-items:center;gap:8px;display:grid}.history-set-head{color:var(--muted);padding:4px 0 7px;font-size:12px}.history-set-row{border-top:1px solid var(--line);font-variant-numeric:tabular-nums;padding:9px 0}.history-set-pending{opacity:.45}@media (max-width:620px){.progression-grid{grid-template-columns:1fr}.history-row{align-items:flex-start}.history-meta{font-size:12px}.history-detail-head{flex-direction:column}.history-set-head,.history-set-row{grid-template-columns:28px 1fr 1fr 1fr 1fr 1fr;gap:5px;font-size:13px}}.nav-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.metric-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;gap:6px;min-width:0;padding:13px;display:grid}.metric-card span{color:var(--muted);font-size:12px}.metric-card strong{overflow-wrap:anywhere;font-size:20px}.progress-section{margin-top:14px}.progress-selector{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:8px;display:grid}.comparison-box{border:1px solid var(--line);background:var(--panel-2);border-radius:14px;grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;margin-top:12px;padding:12px;display:grid}.comparison-box>div:not(.pr-tags){gap:4px;display:grid}.pr-tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.tag{background:#7aa2ff14;border:1px solid #7aa2ff73;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:700}.progress-chart-wrap{width:100%;overflow-x:auto}.progress-chart{width:100%;min-width:520px;height:auto;display:block}.chart-grid-line{stroke:var(--line);stroke-width:1px}.chart-line{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--accent);stroke:var(--panel);stroke-width:2px}.chart-axis-label{fill:var(--muted);font-size:11px}.chart-empty{color:var(--muted);text-align:center;padding:28px 0}.progress-table-wrap{overflow-x:auto}.progress-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:560px}.progress-table th,.progress-table td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px}.progress-table th{color:var(--muted);font-size:12px;font-weight:600}.progress-table a{font-weight:700;text-decoration:none}.weekly-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.weekly-card{border:1px solid var(--line);background:var(--panel-2);border-radius:14px;gap:8px;padding:12px;display:grid}.weekly-muscle{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding-top:8px;display:flex}.weekly-muscle small{color:var(--muted);text-align:right}@media (max-width:680px){.userbar{align-items:flex-start}.nav-actions{gap:6px}.nav-actions .btn{min-height:40px;padding:0 10px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-box{grid-template-columns:1fr 1fr}.pr-tags{grid-column:1/-1;justify-content:flex-start}.weekly-grid{grid-template-columns:1fr}}@media (max-width:430px){.userbar{flex-direction:column}.nav-actions{justify-content:flex-start;width:100%}.progress-selector{grid-template-columns:1fr}.metric-card strong{font-size:18px}}.shell{width:min(100% - 32px,1180px)}.shell-wide{max-width:1180px}.userbar{width:min(100% - 32px,1180px)}.workout-shell{max-width:760px}.mobile-bottom-nav,.mobile-today{display:none}.desktop-dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr);gap:12px;display:grid}.dashboard-primary{flex-direction:column;grid-row:span 3;justify-content:center;min-height:330px;display:flex}.dashboard-primary .btn{align-self:flex-start;min-width:220px}.dashboard-link{align-content:center;gap:7px;min-height:98px;text-decoration:none;transition:border-color .15s,transform .15s;display:grid}.dashboard-link:hover{border-color:var(--accent);transform:translateY(-1px)}.exercise-media-manager{border-top:1px solid var(--line);gap:10px;margin-top:14px;padding-top:14px;display:grid}.media-upload-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.media-upload-row input[type=file]{padding:8px}.media-status{color:var(--muted);font-size:13px}.technique-viewer{margin:10px 0 14px}.technique-toggle{width:100%}.technique-panel{border:1px solid var(--line);background:var(--panel-2);border-radius:14px;gap:12px;margin-top:8px;padding:12px;display:grid}.technique-notes p{white-space:pre-wrap;margin:6px 0 0;line-height:1.5}.technique-video-wrap,.technique-embed-wrap{background:#000;border-radius:12px;width:100%;overflow:hidden}.technique-video{background:#000;width:100%;max-height:520px;display:block}.technique-embed-wrap{aspect-ratio:16/9}.technique-embed-wrap iframe{border:0;width:100%;height:100%;display:block}.workout-timer-card{z-index:10;position:sticky;bottom:10px;box-shadow:0 -8px 28px #00000038}@media (min-width:900px){.routine-exercises{grid-template-columns:repeat(2,minmax(0,1fr))}.add-exercise-box{grid-column:1/-1}.progress-section{padding:20px}}@media (max-width:720px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}body:has(.workout-shell){padding-bottom:env(safe-area-inset-bottom)}.desktop-userbar{display:none}.shell{width:min(100% - 20px,760px);padding-top:12px}.shell-wide{max-width:760px}.mobile-today{gap:8px;display:grid}.desktop-dashboard-grid{display:none}.home-dashboard{padding-top:14px}.mobile-bottom-nav{z-index:50;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0b0d10f5;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{min-height:48px;color:var(--muted);border-radius:10px;align-content:center;place-items:center;gap:2px;font-size:11px;text-decoration:none;display:grid}.mobile-nav-item.active{color:var(--text);background:var(--panel-2)}.mobile-nav-icon{font-size:18px;line-height:1}.desktop-advanced{display:none!important}.workout-shell{width:100%;padding:8px 10px calc(18px + env(safe-area-inset-bottom))}.workout-session-head{padding:0 4px;margin-bottom:8px!important}.workout-card{border-radius:16px;padding:12px}.workout-card>h1{font-size:24px;line-height:1.08}.workout-card .progression-grid{gap:7px}.workout-card .progression-card{padding:10px}.workout-timer-card{bottom:6px}.technique-panel{padding:10px}.technique-video{max-height:60vh}.media-upload-row,.routine-exercises{grid-template-columns:1fr}.routine-exercise summary small{line-height:1.35}}@media (display-mode:standalone) and (max-width:720px){body{overscroll-behavior-y:contain}.workout-shell{padding-top:calc(8px + env(safe-area-inset-top))}}
.delete-x{cursor:pointer;color:#f88;background:#ff77771a;border:1px solid #ff77778c;border-radius:9px;place-items:center;width:34px;height:34px;font-size:24px;font-weight:700;line-height:1;list-style:none;display:grid}.delete-x::-webkit-details-marker{display:none}.delete-popover{z-index:5;width:min(360px,100vw - 48px);position:absolute;top:40px;right:0;box-shadow:0 12px 32px #00000073}.muscle-progress-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.muscle-progress-card h3{margin:0 0 10px}.muscle-exercise-list{gap:7px;display:grid}.muscle-exercise-link{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:9px 11px;text-decoration:none;display:flex}.muscle-exercise-link:hover,.muscle-exercise-link.active{border-color:var(--accent)}.route-loading{align-items:center;gap:14px;min-height:96px;display:flex}.route-loading-spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;flex:none;width:24px;height:24px;animation:.75s linear infinite route-loading-spin}@keyframes route-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.route-loading-spinner{border-top-color:var(--line);animation:none}}@media (max-width:820px){.muscle-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.muscle-progress-grid{grid-template-columns:1fr}}
:root{--bg:#080a0f;--panel:#121620;--panel-2:#181e2a;--panel-3:#202838;--line:#2b3446;--text:#f6f8fb;--muted:#98a6ba;--accent:#8b7cff;--accent-strong:#6f5cff;--accent-soft:#8b7cff24;--success:#36d399;--cyan:#42c6ff;--warning:#ffb454;--danger:#ff6f7d;--shadow:0 14px 38px #00000047}html{background:var(--bg)}body{background:radial-gradient(circle at 18% -10%,#8b7cff26,#0000 34%),radial-gradient(circle at 90% 8%,#36d39914,#0000 28%),linear-gradient(#090b11 0%,#080a0f 100%);min-height:100vh}body:before{content:"";pointer-events:none;opacity:.025;background-image:linear-gradient(#fffc 1px,#0000 1px),linear-gradient(90deg,#fffc 1px,#0000 1px);background-size:42px 42px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 70%);mask-image:linear-gradient(#000,#0000 70%)}h1,h2,h3,h4{letter-spacing:-.025em}h1{font-size:clamp(30px,4vw,44px)}.shell{position:relative}.shell-wide,.userbar{width:min(100% - 32px,1040px)}.card{box-shadow:0 1px 0 #ffffff06 inset, var(--shadow);background:linear-gradient(#181e2aeb,#11161ff0);border-color:#7c8fad38}.btn{background:linear-gradient(#222a39f5,#191f2bf5);border-color:#8b9dbb42;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s}.btn:hover:not(:disabled){border-color:#8b7cffb3;transform:translateY(-1px);box-shadow:0 8px 22px #00000038}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:#fff;background:linear-gradient(135deg,#9a8cff,#6f5cff 62%,#5d4ce8);box-shadow:0 10px 28px #6f5cff3d}.btn-primary:hover:not(:disabled){box-shadow:0 14px 34px #6f5cff52}.nav-accent{background:#8b7cff17;border-color:#8b7cff75}input,textarea,select{background:#090c1294;border-color:#8293b047;transition:border-color .15s,box-shadow .15s,background .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent);background:#0c0f17e6;outline:none;box-shadow:0 0 0 3px #8b7cff21}.eyebrow{color:#9eabbe;letter-spacing:.09em;font-weight:700}.app-header{padding-top:18px}.app-header>div:first-child strong{font-size:18px}.page-hero{box-shadow:var(--shadow);background:linear-gradient(120deg,#8b7cff24,#0000 52%),linear-gradient(#161c28eb,#0e121beb);border:1px solid #8b7cff42;border-radius:22px;justify-content:space-between;align-items:center;gap:22px;margin:8px 0 20px;padding:22px 24px;display:flex}.page-hero>div:first-child{align-items:center;gap:16px;min-width:0;display:flex}.page-hero h1{margin:2px 0 5px}.page-hero p{max-width:680px;margin:0}.hero-icon,.choice-icon{color:#fff;background:linear-gradient(145deg,#978aff,#6553e8);border-radius:16px;flex:0 0 54px;place-items:center;width:54px;height:54px;font-size:24px;font-weight:900;display:grid;box-shadow:0 12px 26px #6f5cff47}.hero-stat,.hero-action{text-align:center;background:#8b7cff17;border:1px solid #8b7cff47;border-radius:14px;min-width:120px;padding:12px 14px;text-decoration:none}.hero-stat{gap:2px;display:grid}.hero-stat strong{font-size:25px}.hero-stat span,.hero-action{color:#c2cad8;font-size:13px}.section-summary{cursor:pointer;align-items:center;gap:10px;font-weight:800;list-style:none;display:flex}.section-summary::-webkit-details-marker{display:none}.section-summary.compact{font-size:14px}.summary-icon{color:#c9c2ff;background:#8b7cff1f;border:1px solid #8b7cff3d;border-radius:9px;place-items:center;width:28px;height:28px;display:inline-grid}.exercise-groups{gap:24px;margin-top:22px;display:grid}.exercise-group{--muscle:#8b7cff;border-left:3px solid var(--muscle);padding-left:16px}.exercise-group-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.exercise-group-head>div{align-items:center;gap:10px;display:flex}.exercise-group-head h2{margin:0;font-size:22px}.muscle-dot{background:var(--muscle);width:10px;height:10px;box-shadow:0 0 16px var(--muscle);border-radius:50%}.count-pill,.usage-badge,.muscle-chip{color:#cbd3df;letter-spacing:.02em;background:#ffffff0e;border:1px solid #ffffff14;border-radius:999px;align-items:center;width:fit-content;font-size:11px;font-weight:800;display:inline-flex}.count-pill{justify-content:center;min-width:30px;padding:5px 9px}.usage-badge{white-space:nowrap;padding:5px 8px}.muscle-chip{color:#d4d0ff;background:#8b7cff1c;border-color:#8b7cff38;padding:4px 8px}.muscle-pectoral{--muscle:#ff6f8f}.muscle-espalda{--muscle:#42c6ff}.muscle-hombro{--muscle:#ffb454}.muscle-biceps{--muscle:#b68cff}.muscle-triceps{--muscle:#36d399}.muscle-pierna{--muscle:#ffd166}.exercise-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.exercise-library-card{padding:15px;overflow:hidden}.exercise-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.exercise-card-top h3{margin:8px 0 0;font-size:18px}.exercise-tech-preview{color:var(--muted);min-height:44px;line-height:1.5}.exercise-edit-panel{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.library-danger-zone{border-top:1px solid #ff6f7d2e;margin-top:14px;padding-top:12px}.confirm-line{color:var(--muted);align-items:flex-start;gap:8px;margin-bottom:10px;font-size:13px;display:flex}.confirm-line input{width:auto;margin-top:2px}.empty-muscle-card,.empty-inline{color:var(--muted);background:#ffffff05;border:1px dashed #8c9cb63d;border-radius:14px;padding:14px}.empty-inline{justify-content:space-between;align-items:center;gap:10px;display:flex}.empty-inline a{color:#c6beff;font-weight:700;text-decoration:none}.add-exercise-panel{margin-top:12px}.add-exercise-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.add-choice-card{background:#0a0e1561;border:1px solid #7e91b038;border-radius:16px;padding:14px}.add-choice-card .choice-icon{float:right;border-radius:11px;width:38px;height:38px;font-size:16px}.add-choice-card h4{margin:3px 0 4px;font-size:17px}.add-choice-card>div:nth-child(2){margin-bottom:12px}.library-choice{border-color:#8b7cff40}.new-choice{border-color:#36d3992e}.new-choice .choice-icon{background:linear-gradient(145deg,#3cd9a0,#1ba274);box-shadow:0 10px 22px #36d3992e}.program-card{overflow:visible}.routine-day{padding:18px 0 6px}.routine-exercise{transition:border-color .15s,transform .15s}.routine-exercise:hover{border-color:#8b7cff61}.routine-exercise summary span:first-child{gap:5px}.active-session-card{background:linear-gradient(120deg,#36d39914,#11161ff0 48%);border-color:#36d39947}.dashboard-link{transition:transform .16s,border-color .16s}.dashboard-link:hover{border-color:#8b7cff75;transform:translateY(-2px)}.dashboard-link strong{font-size:18px}.dashboard-exercises{background:linear-gradient(145deg,#8b7cff1a,#11161ff0 58%);border-color:#8b7cff52}.mobile-bottom-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a0d13e6!important;border-top-color:#8b7cff2e!important}.mobile-nav-item{border-radius:12px}.mobile-nav-item.active{color:#fff;background:#8b7cff1f}.mobile-nav-icon{font-size:18px}.notice-ok{background:#36d39914;border-color:#36d3994d}.notice-error{background:#ff6f7d14;border-color:#ff6f7d57}.danger-btn{color:#ff9ca6;background:#ff6f7d12;border-color:#ff6f7d6b}@media (max-width:720px){.mobile-bottom-nav{grid-template-columns:repeat(5,1fr)!important}.mobile-nav-item{min-width:0;font-size:10px}}@media (max-width:760px){.page-hero{align-items:flex-start;padding:18px}.page-hero>div:first-child{align-items:flex-start}.hero-icon{border-radius:13px;flex-basis:44px;width:44px;height:44px;font-size:19px}.hero-stat,.hero-action{display:none}.exercise-library-grid,.add-exercise-choice-grid{grid-template-columns:1fr}}@media (max-width:520px){.shell-wide,.userbar{width:min(100% - 20px,1040px)}.page-hero{border-radius:18px;margin-top:4px}.page-hero h1{font-size:30px}.exercise-group{padding-left:10px}.exercise-library-card{padding:13px}.routine-grid{gap:8px}}
.rir-series-editor{background:#8b7cff0e;border:1px solid #8b7cff38;border-radius:14px;gap:10px;padding:12px;display:grid}.rir-series-editor>div:first-child{gap:2px;display:grid}.rir-series-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;display:grid}.rir-series-grid label{color:var(--muted);gap:5px;font-size:12px;display:grid}.rir-series-grid input{text-align:center;color:var(--text);font-weight:800}@media (max-width:520px){.rir-series-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.routine-exercises{counter-reset:routine-exercise-order}.routine-exercises>div{counter-increment:routine-exercise-order}.routine-exercises>div .routine-exercise>summary:before{content:counter(routine-exercise-order);color:#ddd9ff;font-variant-numeric:tabular-nums;background:#8b7cff1a;border:1px solid #8b7cff42;border-radius:999px;flex:none;place-items:center;width:28px;height:28px;margin-right:10px;font-size:12px;font-weight:900;display:inline-grid}.muscle-antebrazo{--muscle:#5ee0c2}.muscle-abdomen{--muscle:#ff8a65}@media (max-width:720px){.routine-exercises>div .routine-exercise>summary:before{width:26px;height:26px;margin-right:8px}}
