:root{--bg:#070b0e;--card:#11181e;--line:#26323b;--blue:#087dff;--red:#f21f28;--gold:#f2b632;--text:#f7f8fa;--muted:#aeb6bf}*{box-sizing:border-box}body{margin:0;background:#020405;color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.app{max-width:430px;min-height:100dvh;margin:auto;background:linear-gradient(#071014,#05090c);padding-bottom:calc(78px + env(safe-area-inset-bottom));position:relative;overflow:hidden}.hero{height:320px;position:relative;background:#070b0e;overflow:hidden}.hero>img{width:100%;height:235px;object-fit:cover;object-position:56% 0;display:block}.photo-mask{position:absolute;left:0;right:0;top:128px;height:118px;background:linear-gradient(180deg,rgba(7,11,14,.76),#070b0e 90%)}.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(4,8,10,.03) 35%,rgba(7,11,14,.82) 65%,#070b0e 100%)}.top{position:absolute;top:0;left:0;right:0;padding:calc(16px + env(safe-area-inset-top)) 24px 0;display:flex;justify-content:space-between;align-items:center}.brand{font-size:31px;font-style:italic;letter-spacing:-2px}.brand strong{color:var(--red)}.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e7edf1;color:#111;font-weight:800;border:2px solid white}.exercise{position:absolute;left:24px;bottom:20px}.exercise span{display:block;width:54px;height:5px;border-radius:5px;background:var(--red);margin-bottom:13px}.exercise h1{margin:0;font-size:40px;letter-spacing:-1.5px;line-height:.95;font-weight:900}.content{padding:0 18px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.stats article{background:linear-gradient(145deg,#121a20,#0d1318);border:1px solid var(--line);border-radius:20px;padding:18px;min-height:150px}.label{font-weight:800;font-size:18px;display:flex;gap:9px;align-items:center}.label svg{width:25px;height:25px;fill:currentColor;flex:0 0 auto}.label.red{color:#ff454b}.label.gold{color:var(--gold)}.label span{color:#cbd1d7}.big{font-size:46px;font-weight:900;margin-top:10px;white-space:nowrap}.big.empty{font-size:50px;line-height:1}.big small{font-size:22px}.stats p{color:var(--muted);margin:10px 0 0;font-size:14px;line-height:1.25}.cta{width:100%;border:0;color:white;border-radius:18px;min-height:82px;margin:10px 0;display:grid;grid-template-columns:48px 1fr 24px;align-items:center;padding:0 20px;font-size:20px;cursor:pointer}.cta b{text-align:left}.cta svg{width:36px;height:36px;fill:#fff}.cta i,.rules i{font-size:42px;font-style:normal;font-weight:300}.blue{background:linear-gradient(135deg,#086af5,#188cff)}.redbg{background:linear-gradient(135deg,#e71922,#ff2c31)}.hint{text-align:center;color:#b8c0c8;margin:-2px 0 18px}.rules{width:100%;background:linear-gradient(145deg,#121a20,#0d1318);border:1px solid #3a4650;border-radius:17px;color:white;min-height:104px;padding:14px;display:grid;grid-template-columns:58px 1fr 20px;align-items:center;text-align:left}.rules .play{width:52px;height:52px;border:4px solid white;border-radius:50%;display:grid;place-items:center;padding-left:3px}.rules b{font-size:19px;display:block}.rules small{display:block;color:#d1d5da;font-size:13px;margin-top:5px}nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(430px,100%);height:calc(70px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:rgba(10,16,20,.97);border-top:1px solid #243039;display:grid;grid-template-columns:repeat(3,1fr);backdrop-filter:blur(15px)}nav button{background:none;border:0;color:#f3f5f7;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:5px 0}nav button svg{width:25px;height:25px;fill:currentColor}nav button:nth-child(2) svg{color:var(--gold)}nav span{font-size:13px}.sheet{position:fixed;z-index:20;inset:0;background:rgba(0,0,0,.72);display:flex;align-items:flex-end;justify-content:center}.hidden{display:none}.panel{width:min(430px,100%);min-height:58dvh;background:#0b1115;border:1px solid #293640;border-radius:28px 28px 0 0;padding:26px 20px calc(34px + env(safe-area-inset-bottom));position:relative}.panel #close{position:absolute;right:18px;top:14px;background:#182128;border:0;color:white;border-radius:50%;width:38px;height:38px;font-size:26px}.panel h2{font-size:28px;margin:10px 0 24px}.field{background:#111a20;border:1px solid #2a3943;border-radius:14px;padding:14px;margin:12px 0}.field label{display:block;color:#aeb6bf;font-size:13px}.field input{width:100%;background:none;border:0;color:white;font-size:30px;font-weight:800;outline:none;margin-top:5px}.save{width:100%;border:0;border-radius:14px;background:var(--blue);color:white;font-weight:900;font-size:17px;padding:18px;margin-top:12px}@media(max-width:360px){.exercise h1{font-size:35px}.big{font-size:40px}.cta{font-size:17px}}
/* v0.3 */
.hero{height:350px}.hero>img{height:300px;object-position:50% 100%;transform:scale(1.02)}
.photo-mask{top:180px;height:135px;background:linear-gradient(180deg,rgba(7,11,14,.58),#070b0e 92%)}
.exercise{bottom:16px}.content{padding-top:0}
.panel{max-height:92dvh;overflow:auto}.training-intro{display:flex;gap:12px;align-items:flex-start;margin:-4px 0 16px}.training-intro b{font-size:21px}.training-intro p{color:#c8ced4;line-height:1.35;margin:5px 0}.mini-dumbbell{color:var(--blue);font-size:28px}.series-card{background:linear-gradient(145deg,#111a20,#0d1419);border:1px solid #273640;border-radius:15px;padding:14px;margin:10px 0}.series-head{display:flex;justify-content:space-between;align-items:center;font-size:17px}.trash{border:0;background:none;color:#e9eef2;font-size:26px;line-height:1;padding:0 4px}.series-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.series-grid label{color:#b7c0c7;font-size:12px}.inputbox{display:flex;align-items:center;background:#121d24;border:1px solid #2a3a44;border-radius:11px;padding:6px 9px;margin-top:5px}.inputbox input{min-width:0;width:100%;border:0;background:transparent;color:white;font-size:25px;font-weight:800;outline:none}.inputbox span{color:#9ea9b1;font-size:12px}.add-series{width:100%;border:1px dashed #1686ff;background:#0d151b;color:#1686ff;border-radius:12px;padding:14px;font-weight:900;margin:10px 0}.add-series:disabled{opacity:.35}.info{background:#10191f;border:1px solid #263640;border-radius:13px;padding:13px;margin:12px 0;color:#dbe0e4}.info b{font-size:15px}.info ul{margin:8px 0 0;padding-left:22px;color:#c5cdd3;font-size:13px;line-height:1.45}.error{background:#42151a;border:1px solid #e43a43;color:#fff;border-radius:12px;padding:11px;margin-bottom:10px}.saved{text-align:center}.check{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#06111a;font-size:45px;font-weight:900;margin:4px auto 12px}.saved h3{font-size:29px;line-height:1.02;margin:0}.saved>p{color:#c8ced4;line-height:1.4}.summary{text-align:left;background:#10191f;border:1px solid #2a3943;border-radius:15px;padding:15px;margin:20px 0}.summary>b{display:block;margin-bottom:10px}.summary div{display:flex;justify-content:space-between;border-top:1px solid #243039;padding:10px 0}.summary strong{font-weight:500}.secondary{width:100%;border:1px solid #3a4852;border-radius:14px;background:#11191f;color:white;font-weight:800;font-size:15px;padding:17px;margin-top:10px}.redsave{background:var(--red)!important}.rules-list{padding-left:22px;line-height:1.55;color:#d7dde1}
@media(max-width:390px){.hero{height:330px}.hero>img{height:280px}.photo-mask{top:165px}.exercise h1{font-size:37px}}
/* v0.4 official attempt */
.official-intro{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.official-icon{color:var(--red);font-size:30px}.official-intro b{font-size:21px}.official-intro p,.official-note{color:#c8ced4;line-height:1.4}.weight-step{display:grid;grid-template-columns:46px 1fr 46px;gap:10px;align-items:center;background:#10191f;border:1px solid #2a3943;border-radius:16px;padding:18px 14px;margin:16px 0}.stepbtn{width:42px;height:42px;border-radius:50%;border:0;background:#22303a;color:white;font-size:28px}.weight-center{text-align:center}.weight-center small{display:block;color:#aeb6bf;text-transform:uppercase;font-size:11px}.weight-center input{width:100%;text-align:center;background:transparent;border:0;color:white;font-size:42px;font-weight:900;outline:none}.weight-center span{color:#b6bec5}.prepared{text-align:center}.official-badge{font-size:52px;color:var(--red)}.prepared h3,.validation h3{font-size:27px;margin:6px 0}.locked-weight{font-size:34px;font-weight:900;border:1px solid #6a1e24;background:#1a1013;border-radius:12px;padding:12px;margin:14px 0}.checks{text-align:left;margin:14px 0 18px}.checks div{margin:9px 0;color:#d7dde1}.checks span{color:#55d57a;margin-right:8px}.validation{text-align:center}.validation-card{text-align:left;background:#10191f;border:1px solid #2a3943;border-radius:15px;padding:15px;margin:16px 0}.validation-card label{display:block;color:#aeb6bf;font-size:12px;text-transform:uppercase;margin:12px 0 5px}.locked-line{display:flex;justify-content:space-between;align-items:center;font-size:25px;font-weight:900;padding-bottom:10px;border-bottom:1px solid #26343d}.rep-step{display:grid;grid-template-columns:44px 1fr 44px;gap:10px}.rep-step button{border:0;border-radius:50%;background:#22303a;color:#fff;font-size:25px}.rep-step input,.code-input{width:100%;background:#121d24;border:1px solid #2a3a44;border-radius:10px;color:white;text-align:center;font-size:26px;font-weight:800;padding:9px;outline:none}.code-input{letter-spacing:7px}.reject{border:1px solid var(--red);background:transparent;color:#fff}.reject-reasons{text-align:left}.reject-reasons label{display:block;background:#10191f;border:1px solid #293943;border-radius:10px;padding:11px;margin:8px 0}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.result-grid>div{background:#10191f;border:1px solid #2a3943;border-radius:12px;padding:10px 6px}.result-grid small{display:block;color:#aeb6bf;font-size:10px}.result-grid b{display:block;font-size:22px;margin-top:4px}.official-result{text-align:center}.official-result .mark{font-size:24px;font-weight:900;margin:12px 0}.invalid{text-align:center}.invalid .xmark{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:var(--red);font-size:42px;font-weight:900;margin:4px auto 12px}.reason-box{background:#10191f;border:1px solid #2a3943;border-radius:13px;padding:14px;text-align:left;margin:16px 0}.home-rank small{font-size:22px}
/* v0.5 Supabase authentication */
.auth-screen{position:fixed;z-index:100;inset:0;background:linear-gradient(180deg,#071014,#030608);display:grid;place-items:center;padding:24px}.auth-card{width:min(390px,100%);background:linear-gradient(145deg,#111a20,#0b1115);border:1px solid #293640;border-radius:24px;padding:28px 22px}.auth-logo{font-size:34px;font-style:italic;font-weight:900;letter-spacing:-2px;margin-bottom:6px}.auth-logo span{color:var(--red)}.auth-card h1{font-size:25px;margin:20px 0 6px}.auth-card>p{color:var(--muted);margin:0 0 20px;line-height:1.4}.auth-card label{display:block;color:#c6cdd3;font-size:13px;margin:12px 0 6px}.auth-card input{width:100%;background:#0b1217;border:1px solid #31404a;border-radius:12px;color:white;font-size:16px;padding:15px;outline:none}.auth-card input:focus{border-color:#687783}.auth-error{display:none;background:#42151a;border:1px solid #e43a43;color:white;border-radius:11px;padding:10px;margin-top:12px;font-size:13px}.auth-loading{color:#bfc7ce;text-align:center;padding:8px}.profile-line{display:flex;align-items:center;gap:12px;background:#10191f;border:1px solid #2a3943;border-radius:14px;padding:14px;margin-bottom:14px}.profile-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e7edf1;color:#111;font-weight:900}.profile-line small{display:block;color:#aeb6bf;margin-top:3px}.logout{width:100%;border:1px solid #3a4852;background:transparent;color:white;border-radius:12px;padding:13px;font-weight:800}.sync-note{font-size:12px;color:#7fd49a;text-align:center;margin-top:8px}

/* v0.5.1 — ensure authenticated screen actually closes */
.auth-screen.hidden{display:none!important}

/* v0.5.2 — body weight profile */
.profile-option{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;background:linear-gradient(145deg,#111a20,#0d1419);border:1px solid #2a3943;border-radius:14px;color:white;padding:15px;margin:12px 0}.profile-option b{display:block;font-size:16px}.profile-option small{display:block;color:#aeb6bf;margin-top:5px;line-height:1.3}.profile-option i{font-style:normal;font-size:30px;color:#aeb6bf}.weight-profile-head p{color:#c8ced4;line-height:1.4}.current-weight{background:linear-gradient(145deg,#111a20,#0d1419);border:1px solid #2a3943;border-radius:16px;padding:17px;margin:15px 0}.current-weight small{color:#aeb6bf;font-size:11px}.current-weight strong{display:block;font-size:40px;margin-top:5px}.current-weight strong span{font-size:20px}.current-weight p{color:#aeb6bf;font-size:12px;margin:5px 0 0}.weight-input-row{display:flex;align-items:center}.weight-input-row input{min-width:0}.weight-input-row span{color:#aeb6bf;font-weight:800;margin-left:8px}.info p{color:#c5cdd3;font-size:13px;line-height:1.45;margin:8px 0 0}
.official-head p{color:#c8ced4;line-height:1.4}.pending-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#3b2426;border:2px solid var(--red);color:#ff4b51;font-size:38px;font-weight:900;margin:4px auto 12px}.pending-state .sync-note{margin-top:14px}

/* v0.5.4 — staff validation */
.staff-option{border-color:#6b2529;background:linear-gradient(145deg,#201215,#11171b)}.staff-option b{color:#ff5960}.staff-head p{color:#c8ced4;line-height:1.4}.pending-list{display:grid;gap:10px;margin:14px 0}.pending-attempt{width:100%;display:grid;grid-template-columns:1fr auto 18px;gap:12px;align-items:center;text-align:left;background:linear-gradient(145deg,#111a20,#0d1419);border:1px solid #33424c;border-radius:14px;color:white;padding:14px}.pending-attempt span{min-width:0}.pending-attempt small{display:block;color:#ff5960;font-size:11px;font-weight:800;text-transform:uppercase}.pending-attempt b{display:block;font-size:17px;margin:4px 0}.pending-attempt em{display:block;color:#9ea9b1;font-size:11px;font-style:normal}.pending-attempt strong{font-size:20px;white-space:nowrap}.pending-attempt i{font-style:normal;font-size:28px;color:#aeb6bf}.validation .official-note{color:#c8ced4}
.text-input,.select-input{margin-top:8px;background:#111;border:1px solid #303030;border-radius:12px;overflow:hidden}
.text-input input,.select-input select{width:100%;box-sizing:border-box;background:transparent;color:#fff;border:0;outline:0;padding:15px 14px;font:inherit;font-weight:700}
.select-input select{appearance:auto;color-scheme:dark}
.field label small{font-weight:500;color:#8f8f8f}
.privacy-toggle{display:flex;gap:12px;align-items:flex-start;margin:18px 0;padding:14px;background:#111;border:1px solid #292929;border-radius:12px;cursor:pointer}
.privacy-toggle input{width:20px;height:20px;margin-top:2px;accent-color:#fff}
.privacy-toggle span{display:flex;flex-direction:column;gap:5px}.privacy-toggle b{font-size:14px}.privacy-toggle small{color:#929292;line-height:1.35}
/* v0.5.6 — real multiuser ranking */
.ranking-head p{color:#aeb6bf;margin:5px 0 15px}.rank-tabs,.sex-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;background:#0d1419;border:1px solid #293943;border-radius:12px;padding:5px;margin:10px 0}.rank-tabs button,.sex-tabs button{border:0;border-radius:8px;background:transparent;color:#8f9aa2;padding:11px 7px;font-weight:900}.rank-tabs button.active{background:#d5a92f;color:#0a0d0f}.sex-tabs button.active{background:#26343d;color:#fff}.ranking-list{display:grid;gap:9px;margin-top:14px}.rank-row{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;background:linear-gradient(145deg,#111a20,#0d1419);border:1px solid #2a3943;border-radius:14px;padding:13px}.rank-row.mine{border-color:#d5a92f;box-shadow:inset 0 0 0 1px rgba(213,169,47,.15)}.rank-pos{font-size:21px;font-weight:900;color:#d5a92f}.rank-person{min-width:0}.rank-person b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-person small{display:block;color:#8f9aa2;font-size:10px;margin-top:4px}.rank-score{text-align:right;font-size:19px;font-weight:900;white-space:nowrap}.rank-score small{font-size:10px;color:#aeb6bf}.rank-loading,.empty-ranking{text-align:center;color:#aeb6bf;padding:28px 12px}.empty-ranking b{color:#fff}.empty-ranking p{font-size:13px;line-height:1.4}

/* v0.5.7 · progreso */
.progress-head{margin-bottom:16px}.progress-head>b{font-size:21px}.progress-head p{margin:5px 0 0;color:#a8adb7;font-size:13px}.progress-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.progress-kpi{background:#14171c;border:1px solid #2a2e35;border-radius:14px;padding:14px}.progress-kpi small{display:block;color:#9298a3;font-size:10px;font-weight:800;letter-spacing:.7px}.progress-kpi strong{display:block;font-size:24px;margin-top:7px}.progress-kpi strong span{font-size:12px;color:#aab0ba}.progress-kpi.official{border-color:#6b2929}.progress-section{margin-top:20px}.progress-section h3{font-size:13px;letter-spacing:.7px;margin:0 0 10px}.history-list{display:flex;flex-direction:column;gap:8px}.history-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:#13161b;border:1px solid #272b31;border-radius:12px;padding:12px}.history-row.official{border-left:3px solid #b33}.history-row.training{border-left:3px solid #2c6fb7}.history-main b{display:block;font-size:15px}.history-main small{display:block;color:#9096a0;font-size:11px;margin-top:3px}.history-value{text-align:right}.history-value strong{display:block;font-size:16px}.history-value small{color:#9096a0;font-size:10px}.progress-chart{height:180px;background:#111419;border:1px solid #272b31;border-radius:14px;padding:12px;position:relative;overflow:hidden}.progress-chart svg{width:100%;height:100%;overflow:visible}.chart-label{font-size:8px;fill:#8d939d}.chart-line{fill:none;stroke:currentColor;stroke-width:2.5}.chart-dot{fill:currentColor}.chart-grid{stroke:#292d34;stroke-width:1}.chart-empty{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;color:#8e949e;font-size:12px}.progress-legend{display:flex;gap:14px;margin-top:8px;color:#9298a3;font-size:10px}.progress-legend span:before{content:'•';font-size:18px;vertical-align:-2px;margin-right:4px}.progress-legend .tr:before{color:#4b8fd1}.progress-legend .of:before{color:#d14b4b}.progress-counts{color:#8f95a0;font-size:11px;margin-top:9px}

/* v0.5.8 — ranking absoluto + categorias de peso */
.weight-cats{display:flex;gap:7px;overflow-x:auto;padding:4px 1px 8px;margin:7px 0 2px;scrollbar-width:none}.weight-cats::-webkit-scrollbar{display:none}.weight-cats button{flex:0 0 auto;border:1px solid #2a3943;border-radius:999px;background:#10181d;color:#aeb6bf;padding:9px 12px;font-weight:800;font-size:11px}.weight-cats button.active{background:#d5a92f;color:#0a0d0f;border-color:#d5a92f}
.exercise{cursor:pointer}.exercise h1:after{content:'  ▾';font-size:18px;color:#aeb6bf;vertical-align:middle}.hero.legpress>img{opacity:.16;filter:grayscale(1)}.hero.legpress .shade{background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(7,11,14,.72) 45%,#070b0e 100%)}
.exercise-picker{display:grid;gap:12px}.exercise-picker button{width:100%;text-align:left;background:#10191f;border:1px solid #2a3943;color:#fff;border-radius:16px;padding:18px}.exercise-picker button.active{border-color:#f21f28;box-shadow:inset 4px 0 #f21f28}.exercise-picker b{display:block;font-size:20px}.exercise-picker small{display:block;color:#aeb6bf;margin-top:5px}

nav.has-staff{grid-template-columns:repeat(4,1fr)}.staff-nav{position:relative}.staff-nav svg{color:#ff5960}.staff-badge{position:absolute;top:7px;left:calc(50% + 9px);min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#f21f28;color:#fff;font-size:11px;font-style:normal;font-weight:900;display:grid;place-items:center;border:2px solid #0a1014}.staff-badge.hidden{display:none}

/* v0.6.2 — official attempt 7-day cooldown */
.cta:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.45)}
.cta.redbg.cooldown{background:#4a2628;border-color:#6b3437}
.hint{transition:opacity .2s ease}
.cooldown-card{margin:18px 0;padding:20px;border:1px solid #5f3437;border-radius:14px;background:rgba(130,35,42,.12);text-align:center}
.cooldown-card small{display:block;color:#c8c8c8;font-size:11px;letter-spacing:.12em;margin-bottom:8px}
.cooldown-card strong{display:block;color:#fff;font-size:21px;text-transform:capitalize}

/* v0.7.0-dev — competiciones privadas */
.competition-option{border-color:#5a4820}.competition-head p{color:#aeb6bf;line-height:1.4;margin:6px 0 16px}.competition-actions{display:grid;gap:9px;margin-bottom:22px}.section-label{font-size:11px;letter-spacing:.12em;color:#9099a1;font-weight:900;margin:18px 0 9px}.competition-list{display:grid;gap:9px}.competition-card{width:100%;display:grid;grid-template-columns:1fr 18px;gap:12px;align-items:center;text-align:left;background:linear-gradient(145deg,#111a20,#0d1419);border:1px solid #2a3943;border-radius:14px;color:#fff;padding:14px}.competition-card b{display:block;font-size:17px;margin:5px 0}.competition-card small{color:#9da7af}.competition-card i{font-style:normal;font-size:28px;color:#aeb6bf}.competition-status{display:inline-block;font-style:normal;font-size:9px;letter-spacing:.09em;font-weight:900;border-radius:999px;padding:5px 8px;background:#28333a;color:#dbe2e6}.competition-status.active{background:#173c28;color:#87dda7}.competition-status.upcoming{background:#423719;color:#e4c865}.competition-status.finished{background:#342a2b;color:#c7b7b9}.invite-code{margin:18px 0;padding:19px;border:1px solid #6b5727;border-radius:15px;background:rgba(184,144,41,.08);text-align:center}.invite-code small{display:block;color:#b9aa7b;font-size:10px;letter-spacing:.12em;font-weight:900}.invite-code strong{display:block;font-size:30px;letter-spacing:.12em;margin:8px 0}.invite-code p{color:#aeb6bf;font-size:12px;margin:0}.invite-code.compact{padding:14px}.invite-code.compact strong{font-size:23px}.invite-input input{text-transform:uppercase;letter-spacing:.12em;font-size:20px!important}.competition-title h3{font-size:24px;margin:8px 0 4px}.competition-title p{color:#aeb6bf;margin:0 0 16px}.competition-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.competition-grid>div{background:#11191e;border:1px solid #293740;border-radius:12px;padding:12px}.competition-grid small{display:block;color:#8f9aa2;font-size:9px;font-weight:900;letter-spacing:.08em}.competition-grid b{display:block;margin-top:6px;font-size:14px}
/* v0.7.0-dev — intento privado + validación + rankings */
.private-exercises{display:grid;gap:9px;margin-bottom:12px}.private-exercise{width:100%;display:grid;grid-template-columns:1fr 18px;gap:10px;align-items:center;text-align:left;background:#11191e;border:1px solid #293740;border-radius:13px;color:#fff;padding:14px}.private-exercise b{display:block;font-size:16px}.private-exercise small{display:block;color:#919ba3;margin-top:4px}.private-exercise i{font-style:normal;font-size:26px;color:#aeb6bf}.private-pending-btn{border-color:#5c4921;color:#e4c865}.danger-outline{border-color:#6b292d!important;color:#ff666d!important}

/* v0.7.1: acceso a competiciones en pantalla principal */
.private-home-link{width:100%;min-height:88px;margin:12px 0 14px;display:grid;grid-template-columns:44px 1fr 18px;align-items:center;gap:10px;text-align:left;border:1px solid #8e6c29;border-radius:17px;background:linear-gradient(125deg,#302714,#171811 70%,#11191c);color:#fff;padding:14px 16px;cursor:pointer}.private-home-icon{font-size:28px}.private-home-link b{display:block;color:#f4d58d;font-size:16px;letter-spacing:.02em}.private-home-link small{display:block;color:#c7c0ad;font-size:12px;line-height:1.35;margin-top:5px}.private-home-link i{font-style:normal;font-size:30px;color:#eac677}

.private-quota{background:#171b1e;border:1px solid #454039;border-radius:12px;padding:14px;margin:10px 0 14px;color:#f1e8d6}.private-quota b{display:block;font-size:11px;letter-spacing:.09em;color:#cbb780}.private-quota strong{display:block;margin:7px 0;font-size:17px}.private-quota small{display:block;color:#b8b4ac;margin-top:7px}.private-quota-track{height:7px;border-radius:8px;overflow:hidden;background:#454545}.private-quota-track>div{height:100%;background:#d7a34c;transition:width .2s}.save:disabled{opacity:.48;cursor:not-allowed;background:#555!important}

/* v0.7.1-dev4 — identificar al usuario sin simular liderazgo */
.rank-row.mine{border-color:#66747c;box-shadow:inset 3px 0 0 #a5b1b9;background:linear-gradient(145deg,#19232a,#10181d)}
.rank-you{display:inline-block;margin-top:5px;padding:2px 6px;border:1px solid #66747c;border-radius:5px;color:#d7e0e5;font-size:9px;font-weight:900;letter-spacing:.08em}
