:root{--navy:#061a4d;--blue:#0b3279;--green:#087441;--lime:#20b85f;--gold:#f4cf22;--ink:#10203a;--muted:#69758a;--paper:#f4f7f6;--white:#fff;--shadow:0 18px 48px rgba(6,26,77,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{position:fixed;inset:0 0 auto;z-index:50;height:76px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;color:#fff;transition:.3s;background:linear-gradient(180deg,rgba(3,14,43,.78),transparent)}.site-header.scrolled{height:66px;background:rgba(4,20,60,.96);box-shadow:0 8px 30px #0003;backdrop-filter:blur(14px)}.public-brand{display:flex;align-items:center;gap:11px}.public-brand img{width:48px;height:48px;object-fit:contain}.public-brand strong,.public-brand small{display:block}.public-brand strong{font-family:Georgia,serif;font-size:21px}.public-brand small{font-size:10px;letter-spacing:.08em;color:#bdd4ce}.public-nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px);font-weight:700;font-size:14px}.public-nav a{position:relative;transition:.2s}.public-nav a:not(.admin-link):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--gold);transition:.25s}.public-nav a:hover:after{right:0}.admin-link{border:1px solid #ffffff55;border-radius:999px;padding:9px 15px}.nav-toggle{display:none;border:0;background:none;color:#fff;font-size:28px}.hero{position:relative;min-height:680px;height:min(88vh,850px);padding:130px clamp(20px,7vw,105px) 80px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.55fr);align-items:center;gap:7vw;color:#fff;background:url('../img/credential-field-bg.png') center 58%/cover fixed no-repeat;overflow:hidden}.hero:after{content:"";position:absolute;width:440px;height:440px;right:-150px;bottom:-210px;border:80px solid rgba(244,207,34,.12);border-radius:50%;animation:pulse 5s ease-in-out infinite}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,48,.96) 0%,rgba(4,31,54,.82) 48%,rgba(3,50,33,.38) 100%)}.hero-content,.competition-panel{position:relative;z-index:2}.eyebrow,.section-kicker{font-size:12px;font-weight:900;letter-spacing:.19em;color:var(--gold)}.hero h1{max-width:800px;margin:18px 0;font-family:Georgia,serif;font-size:clamp(52px,7vw,98px);line-height:.92;letter-spacing:-.045em}.hero h1 em{color:var(--gold);font-weight:inherit}.hero p{max-width:650px;font-size:clamp(17px,2vw,22px);line-height:1.55;color:#d9e4e1}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;align-items:center;gap:9px;padding:14px 21px;border-radius:12px;font-weight:800;transition:.25s}.button:hover{transform:translateY(-3px)}.button.primary{background:var(--green);box-shadow:0 10px 26px #031a1366}.button.glass{border:1px solid #ffffff66;background:#ffffff12;backdrop-filter:blur(10px)}.competition-panel{padding:24px;border:1px solid #ffffff3d;border-radius:20px;background:rgba(5,24,64,.68);box-shadow:0 24px 50px #0005;backdrop-filter:blur(13px)}.competition-panel label{display:block;margin-bottom:9px;color:#c8d9d5;font-size:12px;font-weight:900;letter-spacing:.13em}.competition-panel select{width:100%;border:1px solid #ffffff44;border-radius:11px;padding:13px;background:#fff;color:var(--navy);font-weight:750}.competition-meta{display:flex;justify-content:space-between;align-items:end;margin-top:20px;border-top:1px solid #ffffff28;padding-top:18px}.competition-meta span{font-size:13px;color:#c8d9d5}.competition-meta strong{font-family:Georgia,serif;font-size:22px;color:var(--gold)}.quick-search{position:relative;z-index:4;width:min(780px,calc(100% - 40px));margin:-29px auto 54px;height:60px;border-radius:18px;background:#fff;display:flex;align-items:center;box-shadow:var(--shadow)}.quick-search>i{margin-left:21px;color:var(--green);font-size:20px}.quick-search input{flex:1;height:100%;border:0;outline:0;padding:0 15px;font-size:16px;background:transparent}.quick-search button{margin-right:10px;border:0;background:#eef4f1;width:38px;height:38px;border-radius:10px;color:var(--muted)}.search-message{width:min(1180px,calc(100% - 40px));margin:-30px auto 38px;text-align:center;color:var(--muted)}.featured,.section{width:min(1180px,calc(100% - 40px));margin:0 auto 78px}.featured>.section-kicker{display:block;margin-bottom:12px}.featured-game{overflow:hidden;border-radius:24px;background:linear-gradient(125deg,var(--navy),#0b3e67 64%,var(--green));box-shadow:var(--shadow);color:#fff;display:grid;grid-template-columns:240px 1fr}.featured-date{padding:31px;background:#ffffff0d;display:flex;flex-direction:column;justify-content:center}.featured-date strong{font-family:Georgia,serif;font-size:27px;color:var(--gold)}.featured-date span{margin:7px 0;font-weight:800}.featured-date small{color:#c1d4d1}.duel{padding:25px;display:grid;grid-template-columns:1fr 70px 1fr;align-items:center}.duel-team{text-align:center}.duel-team img{width:82px;height:82px;margin:0 auto 10px;object-fit:contain;filter:drop-shadow(0 8px 12px #0006)}.duel-team strong,.duel-team small{display:block}.duel-team strong{font-size:20px}.duel-team small{margin-top:4px;color:#bed1cd;font-size:12px}.versus{text-align:center}.versus span{display:block;font-family:Georgia,serif;font-size:25px}.versus i{color:var(--gold)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section h2{margin:7px 0 0;font-family:Georgia,serif;color:var(--navy);font-size:clamp(29px,4vw,44px)}.season-pill,.count-pill{padding:9px 13px;border-radius:999px;background:#e4eee9;color:var(--green);font-size:13px;font-weight:800}.table-shell{overflow-x:auto;border-radius:18px;background:#fff;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:650px}th,td{padding:15px 18px;text-align:center;border-bottom:1px solid #e9eeec}th{background:#f7faf9;color:var(--muted);font-size:11px;letter-spacing:.1em}th:nth-child(2),td:nth-child(2){text-align:left}.position{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:50%;font-weight:900}.position.top{background:var(--green);color:#fff}.team-cell{display:flex;align-items:center;gap:12px}.team-cell img{width:38px;height:38px;object-fit:contain}.win{font-weight:900;color:var(--green)}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.team-card{position:relative;overflow:hidden;padding:25px 18px;border-radius:20px;background:#fff;text-align:center;box-shadow:0 10px 30px rgba(6,26,77,.08);transition:.3s}.team-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.team-card img{position:relative;width:88px;height:88px;margin:auto;object-fit:contain}.team-card h3{position:relative;margin:14px 0 4px;color:var(--navy)}.team-card p{position:relative;margin:0 0 12px;color:var(--muted)}.team-card span{position:relative;color:var(--green);font-size:12px;font-weight:800}.team-glow{position:absolute;width:130px;height:130px;top:-70px;left:50%;transform:translateX(-50%);border-radius:50%;background:#20b85f22;filter:blur(12px)}.game-list{display:grid;gap:12px}.game-row{display:grid;grid-template-columns:130px 1fr 50px 1fr 175px;align-items:center;gap:13px;padding:16px 22px;border-radius:17px;background:#fff;box-shadow:0 8px 25px rgba(6,26,77,.07);transition:.25s}.game-row:hover{transform:translateX(5px)}.game-row time strong,.game-row time span{display:block}.game-row time strong{color:var(--navy)}.game-row time span{font-size:13px;color:var(--green);font-weight:800}.game-team{display:flex;align-items:center;gap:10px}.game-team.right{justify-content:flex-end;text-align:right}.game-team img{width:42px;height:42px;object-fit:contain}.vs{text-align:center;color:var(--muted);font-weight:900}.venue{color:var(--navy);font-size:13px}.venue i{color:var(--green);margin-right:7px}.venue small{display:block;margin:4px 0 0 20px;color:var(--muted)}.results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.result-card{position:relative;padding:18px;border-radius:18px;background:#fff;box-shadow:0 9px 28px rgba(6,26,77,.08)}.result-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-bottom:15px}.score-team{display:grid;grid-template-columns:35px 1fr 32px;align-items:center;gap:9px;padding:7px 0}.score-team img{width:34px;height:34px;object-fit:contain}.score-team b{font-family:Georgia,serif;font-size:27px;color:var(--navy);text-align:right}.final-label{display:inline-block;margin-top:12px;padding:4px 8px;border-radius:5px;background:var(--navy);color:#fff;font-size:9px;font-weight:900;letter-spacing:.12em}.stat-tabs{display:flex;padding:4px;border-radius:11px;background:#e5ece9}.stat-tabs button{border:0;border-radius:8px;padding:9px 15px;background:none;color:var(--muted);font-weight:800}.stat-tabs button.active{background:var(--green);color:#fff}.leader-panel{display:none;padding:10px 24px;border-radius:20px;background:#fff;box-shadow:var(--shadow)}.leader-panel.active{display:block;animation:fadeUp .35s ease}.leader{display:grid;grid-template-columns:35px 50px 1fr auto;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #e9eeec}.leader:last-child{border:0}.leader-rank{font-family:Georgia,serif;font-size:22px;color:var(--green)}.leader img{width:48px;height:48px;border-radius:50%;object-fit:cover}.leader strong,.leader small,.leader>b small{display:block}.leader>div small{margin-top:3px;color:var(--muted)}.leader>b{font-family:Georgia,serif;font-size:28px;color:var(--navy);text-align:right}.leader>b small{font-family:inherit;font-size:10px;color:var(--green)}.no-data,.empty-state{padding:45px;text-align:center;color:var(--muted)}.empty-state{margin:80px auto}.empty-state i{font-size:50px;color:var(--green)}footer{position:relative;padding:55px clamp(20px,7vw,105px) 25px;background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:35px}.footer-brand{display:flex;align-items:center;gap:13px}.footer-brand img{width:62px}.footer-brand strong,.footer-brand small{display:block}.footer-brand strong{font-family:Georgia,serif;font-size:20px}.footer-brand small{color:#aebfcb}.footer-links,.footer-contact{display:grid;gap:8px;font-size:13px;color:#c8d4db}.footer-links a:hover{color:var(--gold)}.copyright{grid-column:1/-1;border-top:1px solid #ffffff20;padding-top:20px;color:#8194a7}.to-top{position:fixed;right:22px;bottom:22px;z-index:30;width:45px;height:45px;border:0;border-radius:50%;background:var(--green);color:#fff;box-shadow:0 8px 25px #0004;opacity:0;transform:translateY(15px);pointer-events:none;transition:.3s}.to-top.show{opacity:1;transform:none;pointer-events:auto}.reveal{opacity:0;transform:translateY(25px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}.search-hidden{display:none!important}@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pulse{50%{transform:scale(1.08)}}
@media(max-width:950px){.nav-toggle{display:block}.public-nav{position:absolute;top:66px;left:16px;right:16px;padding:18px;display:none;flex-direction:column;align-items:stretch;border-radius:16px;background:rgba(4,20,60,.98);box-shadow:0 20px 40px #0004}.public-nav.open{display:flex}.hero{grid-template-columns:1fr;height:auto;min-height:760px;background-attachment:scroll}.competition-panel{max-width:520px}.team-grid,.results-grid{grid-template-columns:repeat(2,1fr)}.game-row{grid-template-columns:100px 1fr 35px 1fr}.venue{grid-column:2/-1;text-align:center}.featured-game{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:620px){.site-header{height:66px;padding:0 16px}.public-brand img{width:42px;height:42px}.public-brand small{display:none}.hero{padding:105px 20px 65px;min-height:700px}.hero h1{font-size:50px}.hero p{font-size:16px}.competition-panel{padding:18px}.quick-search{margin-bottom:42px}.featured,.section{width:min(100% - 24px,1180px);margin-bottom:55px}.featured-game{border-radius:18px}.duel{grid-template-columns:1fr 45px 1fr;padding:19px 10px}.duel-team img{width:60px;height:60px}.duel-team strong{font-size:15px}.team-grid{grid-template-columns:1fr 1fr;gap:10px}.team-card{padding:19px 10px}.team-card img{width:67px;height:67px}.team-card h3{font-size:15px}.game-row{grid-template-columns:1fr 34px 1fr;padding:16px 12px}.game-row time{grid-column:1/-1;text-align:center}.game-team{display:grid;text-align:center;justify-items:center;font-size:13px}.game-team.right{display:grid;text-align:center;justify-items:center}.game-team.right strong{order:2}.game-team img{width:45px;height:45px}.venue{grid-column:1/-1}.section-head{align-items:flex-start;flex-direction:column}.stat-tabs{align-self:stretch}.stat-tabs button{flex:1}.leader-panel{padding:7px 13px}.leader{grid-template-columns:24px 43px 1fr auto;gap:9px}.leader img{width:42px;height:42px}.leader strong{font-size:13px}.leader>div small{font-size:10px}.leader>b{font-size:22px}footer{grid-template-columns:1fr;padding:45px 24px 24px}.footer-brand{grid-column:auto}.copyright{grid-column:auto}.results-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.hero{background-image:url('../../APP/assets/img/credential-field-bg.png')}
.reveal{opacity:1;transform:none;animation:fadeUp .6s ease both}
.public-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:12px}.gallery-photo{position:relative;overflow:hidden;min-height:230px;padding:0;border:0;border-radius:18px;background:#10203a;cursor:pointer}.gallery-photo.horizontal{grid-column:span 2}.gallery-photo.vertical{grid-row:span 2}.gallery-photo img{width:100%;height:100%;min-height:230px;object-fit:cover;transition:transform .45s}.gallery-photo:hover img{transform:scale(1.06)}.gallery-photo span{position:absolute;inset:auto 0 0;padding:35px 16px 15px;text-align:left;color:#fff;background:linear-gradient(transparent,#061a4de8)}.gallery-photo strong,.gallery-photo small{display:block}.gallery-photo small{margin-top:4px;color:#d8e2df}.gallery-lightbox{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:25px;background:#020918e8;backdrop-filter:blur(9px)}.gallery-lightbox.open{display:grid}.gallery-lightbox img{max-width:min(1100px,95vw);max-height:82vh;border-radius:14px;box-shadow:0 20px 70px #000}.gallery-lightbox>button{position:absolute;right:25px;top:20px;border:0;background:none;color:#fff;font-size:30px}.gallery-lightbox>strong{color:#fff;margin-top:12px}@media(max-width:760px){.public-gallery{grid-template-columns:repeat(2,1fr)}.gallery-photo.horizontal{grid-column:span 2}.gallery-photo.vertical{grid-row:span 1}.gallery-photo{min-height:190px}}
.team-card-link{display:block;color:inherit;text-decoration:none;cursor:pointer}.team-card-link:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.team-card-action{display:flex!important;align-items:center;justify-content:center;gap:.4rem;margin-top:1rem;color:var(--green)!important;font-weight:800}.team-card-link:hover .team-card-action i{transform:translateX(4px)}.team-card-action i{transition:transform .2s ease}
.team-profile-page{padding-top:88px}.team-profile-hero{max-width:1200px;margin:2rem auto;padding:2rem;border-radius:28px;background:linear-gradient(135deg,#061a4d,#073b2a);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem;box-shadow:0 24px 60px rgba(6,26,77,.2)}.team-profile-brand{display:flex;align-items:center;gap:1.5rem}.team-profile-brand>img{width:210px;height:140px;aspect-ratio:3/2;border-radius:22px;object-fit:contain;background:#fff;border:4px solid rgba(255,255,255,.25);padding:3px}.team-profile-brand h1{font-size:clamp(2rem,5vw,4rem);margin:.4rem 0}.team-profile-brand p{margin:0;color:rgba(255,255,255,.72)}.team-profile-numbers{display:grid;grid-template-columns:repeat(5,minmax(72px,1fr));gap:.7rem;flex:1;max-width:590px}.team-profile-numbers div{min-width:0;padding:.8rem .55rem;text-align:center;border-radius:18px;background:rgba(255,255,255,.1)}.team-profile-numbers strong,.team-profile-numbers span{display:block}.team-profile-numbers strong{font-size:2rem;color:#f6c900}.team-profile-numbers span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.game-team b{font-size:1.4rem;color:var(--navy)}.roster-public-grid{display:grid;grid-template-columns:1fr;gap:.75rem;counter-reset:roster-player}.roster-public-card{position:relative;display:grid;grid-template-columns:minmax(260px,1fr) minmax(420px,1.7fr);align-items:center;gap:1.25rem;background:#fff;border:1px solid #e6ebef;border-radius:18px;padding:1rem 1.25rem 1rem 4.4rem;box-shadow:0 10px 28px rgba(6,26,77,.06);counter-increment:roster-player}.roster-public-card::before{content:counter(roster-player);position:absolute;left:1.15rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#073b2a;color:#fff;font-size:.95rem;font-weight:900}.roster-player-head{display:flex;align-items:center;gap:1rem;margin:0}.roster-player-head img{width:68px;height:68px;border-radius:50%;object-fit:cover;border:3px solid #e8f0ec}.roster-player-head h3{font-size:1rem;margin:0 0 .2rem}.roster-player-head p{margin:0;color:#728079;font-size:.85rem}.player-stat-lines{display:grid;grid-template-columns:1fr;gap:.4rem}.player-stat-lines>div{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;padding:.55rem .7rem;border-radius:10px;background:#f4f7f5}.player-stat-lines span{font-size:.67rem;font-weight:800;color:#77837c}.player-stat-lines strong{font-size:.82rem;margin-right:.35rem;color:#062f22}@media(max-width:800px){.team-profile-hero{margin:1rem;align-items:flex-start;flex-direction:column}.team-profile-brand{align-items:flex-start}.team-profile-brand>img{width:150px;height:100px}.team-profile-numbers{width:100%;max-width:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem}.team-profile-numbers div{min-width:0;padding:.7rem .3rem}.team-profile-numbers span{font-size:.62rem;letter-spacing:.04em}.roster-public-card{grid-template-columns:1fr;padding-left:4rem}.roster-public-card::before{top:2.1rem;transform:none}.roster-player-head{padding-left:.35rem}}@media(max-width:520px){.team-profile-numbers{grid-template-columns:repeat(3,1fr)}}
.standings-team-link{color:inherit;text-decoration:none}.standings-team-link:hover strong{color:var(--green)}.standings-team-link i{color:var(--green);font-size:1.25rem;transition:transform .2s ease}.standings-team-link:hover i{transform:translateX(3px)}

/* Identidad visual de softbol */
body{background-color:#f2f7f4;background-image:radial-gradient(circle at 8% 22%,rgba(32,184,95,.08),transparent 24%),radial-gradient(circle at 92% 58%,rgba(11,50,121,.07),transparent 25%)}
.hero:before{content:"";position:absolute;z-index:1;right:clamp(25px,8vw,130px);top:105px;width:clamp(105px,13vw,180px);aspect-ratio:1;border-radius:50%;opacity:.22;background-color:#f7df43;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23d33b32' stroke-width='7' stroke-linecap='round'%3E%3Cpath d='M36 20c50 37 50 123 0 160'/%3E%3Cpath d='M164 20c-50 37-50 123 0 160'/%3E%3C/g%3E%3Cg stroke='%23d33b32' stroke-width='3'%3E%3Cpath d='m49 43-13 8m20 5-14 9m19 7-14 8m18 9-15 6m101-52 13 8m-20 5 14 9m-19 7 14 8m-18 9 15 6'/%3E%3C/g%3E%3C/svg%3E");box-shadow:0 0 0 22px rgba(255,255,255,.07),0 18px 50px #0005;animation:softballFloat 6s ease-in-out infinite}
.competition-panel:before{content:"LIGA MC";display:block;margin:-8px 0 14px;color:rgba(255,255,255,.1);font-family:Georgia,serif;font-size:42px;font-weight:900;line-height:1;letter-spacing:.08em}
.section{position:relative}.section:before{content:"";position:absolute;z-index:-1;right:-25px;top:-24px;width:72px;height:72px;border:2px solid rgba(8,116,65,.11);transform:rotate(45deg);border-radius:13px}.section:nth-of-type(even):before{right:auto;left:-25px;border-color:rgba(11,50,121,.11)}
.section-head:after{content:"";position:absolute;left:0;bottom:-10px;width:72px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--green) 0 67%,var(--gold) 67%)}.section-head{position:relative}
.featured-game:before,.team-profile-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:url('../../APP/assets/img/logo-lmc.png');background-repeat:no-repeat;background-position:calc(100% + 45px) center;background-size:210px;opacity:.055}.featured-game{position:relative}
.team-card{border-top:4px solid var(--green)}.team-card:nth-child(3n+2){border-top-color:var(--gold)}.team-card:nth-child(3n){border-top-color:var(--blue)}
.team-card:after{content:"";position:absolute;right:-22px;bottom:-28px;width:72px;height:72px;border:7px double rgba(8,116,65,.08);border-radius:50%}
.result-card{border-bottom:4px solid var(--navy)}.result-card:nth-child(even){border-bottom-color:var(--green)}
.leader-rank{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e8f4ed}.leader:nth-child(-n+3) .leader-rank{background:linear-gradient(135deg,var(--gold),#fff3a8);color:var(--navy);box-shadow:0 5px 14px rgba(244,207,34,.28)}
.team-profile-hero{position:relative;overflow:hidden}.team-profile-hero:after{content:"";position:absolute;right:-65px;bottom:-65px;width:190px;height:190px;border:25px solid rgba(244,207,34,.12);border-radius:50%}.team-profile-hero>*{position:relative;z-index:1}
.roster-public-card{overflow:hidden;border-left:5px solid var(--green)}.roster-public-card:nth-child(even){border-left-color:var(--gold)}
footer:before{content:"";position:absolute;right:5%;top:50%;width:180px;height:180px;transform:translateY(-50%);background:url('../../APP/assets/img/logo-lmc.png') center/contain no-repeat;opacity:.055;pointer-events:none}
@keyframes softballFloat{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(16px) rotate(8deg)}}
@media(max-width:950px){.hero:before{right:25px;top:90px;width:110px}.competition-panel:before{font-size:30px}.section:before{display:none}}
@media(max-width:620px){.hero:before{width:76px;top:82px;right:14px}.section-head:after{bottom:-8px}.team-profile-hero:after{width:125px;height:125px}}
.hero{background-position:center calc(58% + var(--parallax-y,0px));transition:background-position .08s linear}.hero-content,.competition-panel{animation:heroEnter .9s cubic-bezier(.2,.75,.25,1) both}.competition-panel{animation-delay:.16s}.team-card,.result-card{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));will-change:transform}.team-card:hover,.result-card:hover{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-7px)}.featured-game,.table-shell,.leader-panel,.quick-search{animation:softReveal .7s ease both}.button.primary{position:relative;overflow:hidden}.button.primary:after{content:"";position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(100deg,transparent,#ffffff55,transparent);animation:buttonShine 4.5s ease-in-out infinite}.section:nth-of-type(odd) .section-head h2{letter-spacing:-.025em}@keyframes heroEnter{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes softReveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes buttonShine{0%,55%{transform:translateX(-110%)}75%,100%{transform:translateX(110%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.hero{background-position:center 58%}.team-card,.result-card{transform:none}}
.section#lideres{overflow:hidden}.section#lideres:after{content:"";position:absolute;left:8%;right:8%;bottom:-95px;height:210px;border-radius:30px;background:linear-gradient(90deg,rgba(6,26,77,.9),rgba(8,116,65,.38)),url('../img/softball-hero-v2.png') center 72%/cover;opacity:.18;transform:translateY(calc(var(--parallax-y,0px)*.35));pointer-events:none;z-index:0}.section#lideres>.section-head,.section#lideres>.leader-panel{position:relative;z-index:1}

.player-search-results{width:min(780px,calc(100% - 40px));margin:-38px auto 38px;padding:10px;border-radius:14px;background:#fff;box-shadow:var(--shadow);text-align:left}.player-search-option{display:none;align-items:center;justify-content:space-between;padding:10px 13px;border-bottom:1px solid #e9eeec;color:var(--navy)}.player-search-option:last-child{border-bottom:0}.player-search-option small{color:var(--muted)}
.player-search-results{position:relative;z-index:8;margin:-42px auto 42px;padding:8px;border:1px solid rgba(8,116,65,.14);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 18px 42px rgba(6,26,77,.16);backdrop-filter:blur(12px);text-align:left}.player-search-option{display:none;align-items:center;gap:14px;padding:13px 16px;border:0;border-radius:12px;color:var(--navy);transition:background .2s,transform .2s,box-shadow .2s}.player-search-option:before{content:"";width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--gold));box-shadow:0 0 0 5px rgba(8,116,65,.08)}.player-search-option strong{flex:1;font-size:14px;letter-spacing:.01em}.player-search-option small{color:var(--muted);font-size:12px;font-weight:700}.player-search-option:hover{background:#eef7f2;transform:translateX(3px);box-shadow:0 6px 16px rgba(6,26,77,.08)}@media(max-width:620px){.player-search-results{margin:-30px 12px 30px;width:auto}.player-search-option{align-items:flex-start;flex-direction:column;gap:3px;padding:12px 14px}.player-search-option:before{display:none}.player-search-option strong,.player-search-option small{width:100%}}/* Tabla de posiciones: identidad deportiva */
.standings-section{position:relative;isolation:isolate;overflow:hidden}
.standings-section:before{content:"";position:absolute;z-index:-1;right:4%;top:42px;width:170px;height:170px;border:2px solid rgba(8,116,65,.12);border-radius:28px;transform:rotate(45deg);box-shadow:0 0 0 16px rgba(246,201,0,.045),0 0 0 34px rgba(6,26,77,.025);pointer-events:none}
.standings-section:after{content:"";position:absolute;z-index:-1;left:-80px;bottom:25px;width:220px;height:220px;border-radius:50%;background:repeating-linear-gradient(135deg,transparent 0 18px,rgba(7,59,42,.035) 19px 21px);pointer-events:none}
.standings-section .section-kicker{display:inline-flex;align-items:center;gap:.45rem}
.standings-section .section-kicker i{color:#f6c900;font-size:1rem;filter:drop-shadow(0 2px 3px rgba(6,26,77,.18))}
.standings-section .table-shell{position:relative;border:1px solid rgba(6,26,77,.08);background:linear-gradient(135deg,#fff 0%,#f4faf7 100%);box-shadow:0 22px 55px rgba(6,26,77,.13);overflow-x:auto}
.standings-section .table-shell:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#073b2a 0 58%,#f6c900 58% 100%);z-index:2}
.standings-section table{position:relative;z-index:1;min-width:900px}
.standings-section thead th{padding:17px 14px;background:#062f22;color:#eaf5ef;border-bottom:0;font-size:10px;letter-spacing:.13em}
.standings-section thead th:first-child{border-top-left-radius:17px}
.standings-section thead th:last-child{border-top-right-radius:17px}
.standings-section tbody tr{background:rgba(255,255,255,.92);transition:transform .22s ease,box-shadow .22s ease,background .22s ease;animation:standingsRowIn .5s both}
.standings-section tbody tr:nth-child(even){background:rgba(247,251,249,.94)}
.standings-section tbody tr:hover{position:relative;z-index:2;background:#fff;transform:translateX(5px);box-shadow:0 8px 22px rgba(6,26,77,.1)}
.standings-section tbody tr:nth-child(1){animation-delay:.04s}
.standings-section tbody tr:nth-child(2){animation-delay:.08s}
.standings-section tbody tr:nth-child(3){animation-delay:.12s}
.standings-section tbody tr:nth-child(4){animation-delay:.16s}
.standings-section tbody tr:nth-child(5){animation-delay:.2s}
.standings-section .position{width:34px;height:34px;background:#e8f0ec;color:#34554a;box-shadow:inset 0 0 0 1px rgba(6,26,77,.06)}
.standings-section .position.top{color:#fff;background:linear-gradient(145deg,#087441,#04522e);box-shadow:0 5px 12px rgba(7,59,42,.22)}
.standings-section tbody tr:nth-child(1) .position{background:linear-gradient(145deg,#f7d74a,#c89500);color:#fff}
.standings-section tbody tr:nth-child(2) .position{background:linear-gradient(145deg,#cfd8dc,#87969e);color:#fff}
.standings-section tbody tr:nth-child(3) .position{background:linear-gradient(145deg,#d8915a,#9c542b);color:#fff}
.standings-section .team-cell strong{color:#132b49;letter-spacing:.01em}
.standings-section .team-cell img{width:44px;height:44px;padding:3px;border-radius:12px;background:#fff;box-shadow:0 3px 10px rgba(6,26,77,.1)}
.standings-section td{padding:14px;border-bottom-color:#e1ebe5;font-variant-numeric:tabular-nums}
.standings-section td.win{font-size:1.05rem}
@keyframes standingsRowIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.standings-section tbody tr{animation:none}.standings-section tbody tr:hover{transform:none}}/* Fotografías: llenar el contenedor sin deformar la imagen */
img[src*="galerias/"]{object-fit:cover!important;object-position:center;background:#eef4f1}
.team-profile-brand>img[src*="galerias/"]{object-position:center;border-color:rgba(255,255,255,.72);box-shadow:0 12px 28px rgba(0,0,0,.24)}
.roster-player-head img[src*="galerias/"],.leader img[src*="galerias/"]{object-position:center top;background:#e8f0ec}
.team-profile-brand>img,.team-card img,.team-cell img{overflow:hidden}.team-card img[src*="galerias/"],.team-cell img[src*="galerias/"]{object-fit:contain!important}/* Recursos visuales para la portada */
#equipos,#calendario,#resultados,#lideres{position:relative}
#equipos:after,#calendario:after,#resultados:after,#lideres:after{content:"";position:absolute;z-index:-1;pointer-events:none;opacity:.8}
#equipos:after{right:-42px;top:85px;width:145px;height:145px;border:2px solid rgba(8,116,65,.1);border-radius:38px;transform:rotate(22deg);box-shadow:0 0 0 15px rgba(244,207,34,.045)}
#calendario:after{left:-35px;top:58px;width:110px;height:110px;border-radius:50%;background:linear-gradient(135deg,rgba(8,116,65,.09),rgba(244,207,34,.06));box-shadow:inset 0 0 0 13px rgba(255,255,255,.42)}
#resultados:after{right:-20px;bottom:18px;width:180px;height:85px;border-radius:50%;border:2px dashed rgba(11,50,121,.13);transform:rotate(-18deg)}
#lideres:after{right:-35px;top:92px;width:235px;height:235px;border-radius:50%;background-image:linear-gradient(135deg,rgba(6,26,77,.03),rgba(8,116,65,.08)),url('../img/softball-hero-v2.png');background-size:cover;background-position:center;filter:grayscale(.25);opacity:.18;box-shadow:0 0 0 18px rgba(255,255,255,.3)}
#equipos .team-card{background:linear-gradient(155deg,#fff 0%,#f7fbf8 72%,#edf6f1 100%);border:1px solid rgba(8,116,65,.08)}
#equipos .team-card:after{content:"";position:absolute;right:-24px;bottom:-38px;width:105px;height:105px;border:2px solid rgba(244,207,34,.2);border-radius:50%;transition:transform .35s ease}
#equipos .team-card:hover:after{transform:scale(1.18) rotate(18deg)}
#calendario .game-row{position:relative;overflow:hidden;border-left:5px solid var(--green);background:linear-gradient(100deg,#fff 0%,#fbfdfc 72%,#eef7f2 100%)}
#calendario .game-row:after{content:"";position:absolute;right:18px;top:50%;width:42px;height:42px;border:2px solid rgba(244,207,34,.18);border-radius:50%;transform:translateY(-50%);pointer-events:none}
#resultados .result-card{overflow:hidden;border:1px solid rgba(6,26,77,.06);background:linear-gradient(145deg,#fff 0%,#f7faf9 100%)}
#resultados .result-card:before{content:"";position:absolute;left:-30px;top:-36px;width:105px;height:105px;border-radius:50%;background:rgba(8,116,65,.08);pointer-events:none}
#lideres .leader-panel{position:relative;overflow:hidden;border:1px solid rgba(8,116,65,.08);background:linear-gradient(110deg,rgba(255,255,255,.98),rgba(247,251,249,.94))}
#lideres .leader{position:relative;z-index:1}
@media(max-width:620px){#lideres:after{right:-105px;top:150px;width:180px;height:180px}#equipos:after{right:-70px;top:110px}#calendario:after{left:-60px}}