:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#f3f6ff;background:#0b1020;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at top,#182641,#0b1020 60%)}button,input,select{font:inherit}button{cursor:pointer}#app{max-width:780px;margin:auto;padding:0 17px}header{display:flex;justify-content:space-between;align-items:center;padding:19px 1px;border-bottom:1px solid #ffffff16}.brand{display:flex;align-items:center;gap:10px}.brand strong{font-size:22px;letter-spacing:-1px}.brand small{display:block;color:#9cabc7;font-size:10px}.logo{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#acff65;color:#11241a;font-size:28px;font-weight:1000;transform:skew(-6deg)}.top-btn,.text-btn{border:0;background:transparent;color:#bdcae2;font-weight:700}.top-btn{border:1px solid #3c4b69;border-radius:12px;padding:10px}main{padding:24px 0 35px}.hidden{display:none!important}.panel,.workoutCard,.hero{border:1px solid #344360;border-radius:23px;padding:25px;background:#182239;box-shadow:0 12px 35px #06091036;margin-bottom:17px}.hero{background:linear-gradient(135deg,#21345c,#17223c 65%,#153e3c);border-color:#344e6f;padding:28px}.hero h1{font-size:34px;margin:10px 0}.hero p,.panel p,.workoutCard p{color:#bdc9dd;line-height:1.5}.eyebrow{color:#acff65;font-size:11px;font-weight:900;letter-spacing:1.7px}.stats{display:flex;justify-content:space-around;margin-top:25px;border-top:1px solid #ffffff29;padding-top:20px}.stats div{text-align:center}.stats b{display:block;font-size:30px;color:#acff65}.stats span{font-size:12px;color:#c2cee0}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.pill{border:1px solid #acff6566;border-radius:30px;padding:7px 11px;color:#acff65;font-size:10px;font-weight:900;letter-spacing:1px}.workoutCard h2{font-size:28px;margin:17px 0 3px}.preview{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0 24px}.preview span{background:#283753;border-radius:9px;padding:8px 11px;color:#dbe5f5;font-size:12px}.primary{border:0;background:#acff65;color:#12261b;border-radius:13px;padding:16px;font-weight:900;font-size:15px}.primary:disabled{opacity:.45}.secondary{background:#293954;color:white;border:1px solid #5a6983;border-radius:13px;padding:16px;font-weight:750}.full{width:100%}.split{display:grid;grid-template-columns:1fr 1fr;gap:13px}.compact{padding:20px}.compact h3{margin:10px 0}label{display:block;color:#dfe6f5;font-size:13px;font-weight:700;margin:15px 0 6px}input:not([type=checkbox]),select{width:100%;border-radius:11px;padding:13px;background:#0f1930;color:white;border:1px solid #52617c;margin-top:7px;outline-color:#acff65}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:13px}.check{display:flex;gap:10px;align-items:start;line-height:1.4;margin:16px 0;color:#d3dded}.check input{accent-color:#acff65;margin-top:3px}.check label{margin:0}.fine{display:block;color:#8fa1be;font-size:11px;line-height:1.5;margin-top:12px}.warning{background:#63421f;border:1px solid #dcae65;border-radius:11px;padding:12px;line-height:1.5;margin-top:10px}#training{text-align:center}#training h1{font-size:33px;margin-top:33px}#training .instruction{color:#c2cee0;min-height:52px}.counter{margin:35px auto;border:10px solid #263d55;width:240px;height:240px;display:flex;justify-content:center;align-items:center;flex-direction:column;border-radius:50%;box-shadow:0 0 0 2px #acff6555}.counter div{font-size:60px;font-weight:950;font-variant-numeric:tabular-nums;letter-spacing:-3px}.counter small{color:#acff65;letter-spacing:2px;font-weight:800}.progressbar{width:100%;height:9px;background:#344360;border-radius:20px;overflow:hidden}.progressbar div{height:100%;background:#acff65;width:0;transition:width .3s}.info{color:#c3cfe0;font-size:13px;margin:16px 0 24px}.actions{display:flex;gap:10px}.actions button{flex:1}.secondaryActions{margin-top:14px}.danger{color:#ffb2a8}.centered{text-align:center}.finishIcon{font-size:65px;text-align:center}#finish h1{text-align:center}#finish p{text-align:center}.historyItem{border-bottom:1px solid #ffffff17;padding:11px 0;color:#c5d0e2;font-size:13px}footer{text-align:center;font-size:10px;color:#73839c;margin:12px 0 30px}@media(max-width:550px){.split,.grid2{grid-template-columns:1fr}.hero h1{font-size:30px}.actions{flex-direction:column}.counter{width:205px;height:205px}.counter div{font-size:52px}.panel,.hero,.workoutCard{padding:20px}}
#extra{margin-top:22px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tabs button{background:#26364e;color:white;border:1px solid #46607c;border-radius:12px;padding:10px;cursor:pointer}.extraPage h2{margin:10px 0}.badgeCard,.post{padding:15px;border:1px solid #36485e;border-radius:16px;margin:10px 0;background:#17253a}.badgeCard{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.badgeCard div{flex:1}.badgeCard small{display:block;color:#a9b8ce}.bigEmoji{font-size:2rem}.post h3{margin:12px 0 4px}#accountForms{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}#accountForms form{padding:14px;border:1px solid #374a60;border-radius:14px}#extraNotice:not(:empty){padding:10px;margin:12px 0;border-radius:8px;background:#304158}#loggedAccount .actions{flex-wrap:wrap}#extra input{max-width:100%}

.workoutSummary{background:#101c32;border-radius:12px;padding:10px 15px;margin-top:14px}.workoutSummary p{margin:7px 0}.libraryGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.exerciseCard{text-align:left;border:1px solid #415570;border-radius:13px;background:#22334d;color:#fff;overflow:hidden;padding:0 0 12px}.exerciseCard img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#fff}.exerciseCard b,.exerciseCard small{display:block;padding:5px 10px}.exerciseCard small{color:#bbcee0;font-size:11px}#exerciseDialog{width:min(94%,650px);max-height:85%;background:#15233b;color:#f7f9ff;border:1px solid #637a96;border-radius:16px;overflow:auto}#exerciseDialog::backdrop{background:#000b}.modalInside{padding:10px}.detailImg{display:block;max-width:100%;max-height:320px;margin:auto;border-radius:12px}.modalInside li{margin:9px 0;line-height:1.45}#preflightExercises{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 22px}.gearExercise{padding:11px;font-size:12px}#preflightGear{line-height:1.6;background:#22344b;padding:12px;border-radius:10px}

.headerActions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.headerActions .top-btn{font-size:.83rem;padding:8px}.headerActions button{min-height:42px}@media(max-width:520px){header{gap:8px;flex-wrap:wrap}.headerActions{width:100%;justify-content:space-between}.headerActions button{flex:1}}

/* CaliFit 0.5: portada minimalista, tres destinos */
.mainNav{max-width:780px;margin:12px auto 0;padding:0 17px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mainNav button{background:#1b2b43;color:#dce7f5;border:1px solid #384c65;padding:11px 5px;border-radius:12px;min-height:50px;font-weight:700;font-size:clamp(11px,2.8vw,14px)}
.mainNav button.active{border-color:#acff65;color:#acff65}
.heroMinimal{padding:16px 22px;margin-bottom:12px}.heroMinimal h1{font-size:25px;margin:6px 0}.heroMinimal p{margin:3px 0}
#home .panel,#home .workoutCard{margin-bottom:12px}#home .panel h2{margin:4px 0;font-size:21px}#home .panel p{margin:5px 0;font-size:13px}
#home .row>.secondary{flex-shrink:0;padding:12px}
#home .workoutCard{padding:20px}#home .workoutCard h2{font-size:23px;margin:11px 0 4px}
#home .workoutCard .workoutSummary{margin:10px 0 16px}#home .workoutCard .workoutSummary p{margin:4px 0}
.accountQuick{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.accountQuick button{flex:1}
#extra,#libraryPanel{margin-top:12px}
@media(max-width:440px){.mainNav{gap:5px;padding:0 12px}.mainNav button{padding:10px 3px}#home .row>.secondary{padding:10px;font-size:12px}}

/* Biblioteca: una ficha por página, sin lista infinita */
.libraryGrid{display:block!important;max-width:550px;margin:1rem auto}.libraryGrid .soloCard{display:flex;flex-direction:column;gap:10px;padding:16px;text-align:left;width:100%;cursor:default}.libraryGrid .soloCard img{width:100%;max-height:290px;object-fit:contain}.libraryGrid .soloCard button{align-self:stretch}.libraryPager{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:18px 0}.libraryPager button{flex:1;min-width:100px}.libraryPager span{text-align:center;flex:1;min-width:110px}.libraryPager button:disabled{opacity:.4;cursor:not-allowed}

/* 0.5.2: limpieza de controles marcados, sin duplicar los accesos principales */
header{padding:14px 2px 11px;border-bottom:1px solid #ffffff12}
.headerActions{width:auto!important;flex:none!important;gap:8px}
.headerActions:has(.top-btn:not(.hidden)){margin-left:auto}
.top-btn{background:#24334b;border:1px solid #526783;color:#e4edf9;padding:10px 13px;border-radius:999px;font-size:12px;white-space:nowrap}
.mainNav{padding:0;margin:12px 0 0;gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}
.mainNav button{background:transparent;border:1px solid #435572;border-radius:14px;color:#bdcce0;font-size:13px;font-weight:750;min-height:48px;padding:10px 5px}
.mainNav button.active{background:#253d32;border-color:#93db61;color:#c4ff9b}
#home .panel.compact{padding:15px 18px;border-radius:17px;background:#15223a;box-shadow:none}
#home .panel .row{gap:10px}
#home .panel h2{font-size:18px;margin:3px 0}
#home .panel p{font-size:12px}
#home .panel .eyebrow{font-size:10px}
.cardAction{border:1px solid #536782;border-radius:50%;background:#233753;color:#e5f2ff;min-width:42px;width:42px;height:42px;font-size:25px;line-height:1;padding:0;flex-shrink:0;display:grid;place-items:center}
#home .workoutCard{box-shadow:none;border-radius:18px}
@media(max-width:450px){header{flex-wrap:nowrap}.headerActions{width:auto!important}.mainNav button{font-size:12px}#home .panel.compact{padding:13px}}

.repPace{font-weight:750;text-align:center;font-size:1.18rem;margin:12px 0;color:var(--accent,#60a5fa)}
#finish label{display:block;margin:15px 0}

.localMusicSelect{display:block;margin-top:12px;font-weight:600}.localMusicSelect input{display:block;width:100%;margin-top:8px;max-width:100%;font-size:14px}.localMusicSelect input::file-selector-button{border:1px solid var(--line,#888);border-radius:10px;padding:10px;margin-right:10px;background:transparent;color:inherit;cursor:pointer}#localMusicStatus{display:block;margin-top:8px;overflow-wrap:anywhere}

/* 0.6.2: previsualización y corona segmentada radial */
.screening{border:1px solid #52617c;border-radius:14px;padding:14px;margin:16px 0}.screening legend{color:#acff65;font-weight:800}.screening .check{font-size:14px}
#timerRing{position:relative;isolation:isolate;border:0;box-shadow:none;background:#1c2d45}
#tickRing{--remaining:60;position:absolute;inset:-13px;border-radius:50%;pointer-events:none;background:repeating-conic-gradient(from -90deg,#294058 0deg 3deg,transparent 3deg 6deg);mask:radial-gradient(transparent 0 86%,#000 87% 100%);-webkit-mask:radial-gradient(transparent 0 86%,#000 87% 100%)}
#tickRing:after{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from -90deg,#9ef35b 0deg 3deg,transparent 3deg 6deg);mask:conic-gradient(from -90deg,#000 calc(var(--remaining)*1%),transparent 0);-webkit-mask:conic-gradient(from -90deg,#000 calc(var(--remaining)*1%),transparent 0)}
#tickRing.urgent:after{background:repeating-conic-gradient(from -90deg,#ff625b 0deg 3deg,transparent 3deg 6deg)}
.nextVisual{margin:14px auto;max-width:330px;padding:12px;background:#1c304a;border:1px solid #46617c;border-radius:18px;display:grid;justify-items:center;gap:5px}
.nextVisual span{font-size:11px;font-weight:900;letter-spacing:1px;color:#acff65}
.nextVisual img{height:155px;max-width:100%;object-fit:contain;background:white;border-radius:12px}
.nextVisual strong{font-size:19px}.nextVisual small{color:#c9d8eb}

/* 0.6.3: 60 marcas reales, robustas en navegadores móviles */
#tickRing{--remaining:60;position:absolute;inset:-16px;background:none!important;mask:none!important;-webkit-mask:none!important;pointer-events:none;}
#tickRing:after{display:none!important;}
#tickRing i{position:absolute;top:50%;left:50%;width:3px;height:12px;border-radius:2px;background:#35465b;transition:background .12s;transform-origin:center center;}
#tickRing i.lit{background:#80e15e;}
#tickRing.urgent i.lit{background:#ff5d57;}

#timerRing #tickRing i{display:block;}
#timerRing #tickRing{font-size:initial;letter-spacing:normal;font-weight:normal;}
