/* Hub: estilos compartidos de Glosario, Arma tu once, Jugadas del mes y el bloque de la home.
   Se apoya en las variables y el encabezado/pie de home.css. */

/* ── Pizarra (SVG de tt-pitch.js) ───────────────────────── */
.tp-scene{width:100%;height:100%;display:block}
.tp-grass{fill:#0b241d}
.tp-p .tp-dot{stroke:rgba(4,20,15,.75);stroke-width:.45}
.tp-a .tp-dot{fill:#00e5be}
.tp-b .tp-dot{fill:#ff6b81}
.tp-p text{font:700 2.2px 'Space Grotesk',sans-serif;fill:#04140f}
.tp-ring{fill:none;stroke:#ffd166;stroke-width:.5;opacity:.95;animation:tpPulse 1.9s ease-in-out infinite}
.tp-ball{fill:#fff;stroke:#10241f;stroke-width:.3}
.tp-arrow{fill:none;stroke-linecap:round}
.tp-pass{stroke:#f4f8fc;stroke-width:.5}
.tp-run{stroke:#ffd166;stroke-width:.55;stroke-dasharray:1.5 1.1}
.tp-press{stroke:#ff6b81;stroke-width:.6;stroke-dasharray:1.5 1.1}
.tp-cover{stroke:#00e5be;stroke-width:.55;stroke-dasharray:1.5 1.1}
.tp-zone rect{fill:rgba(255,209,102,.1);stroke:rgba(255,209,102,.55);stroke-width:.3;stroke-dasharray:1.2 1}
.tp-zone text{font:600 1.9px 'Inter',sans-serif;fill:#ffd166}
.tp-z-b rect{fill:rgba(255,107,129,.1);stroke:rgba(255,107,129,.55)}
.tp-z-b text{fill:#ff8fa0}
.tp-z-a rect{fill:rgba(0,229,190,.1);stroke:rgba(0,229,190,.5)}
.tp-z-a text{fill:#00e5be}
.tp-dash line{stroke:rgba(255,255,255,.45);stroke-width:.3;stroke-dasharray:1.2 1}
.tp-dash text{font:500 1.8px 'Inter',sans-serif;fill:rgba(255,255,255,.72)}
.tp-label rect{fill:rgba(5,12,20,.84);stroke:rgba(255,255,255,.22);stroke-width:.2}
.tp-label text{font:600 1.9px 'Inter',sans-serif;fill:#f4f8fc}
.tp-l-gold rect{stroke:rgba(255,209,102,.65)}
.tp-l-gold text{fill:#ffd166}
@keyframes tpDraw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes tpFade{from{opacity:0}to{opacity:1}}
@keyframes tpPulse{0%,100%{opacity:.35}50%{opacity:1}}
.tp-scene.play .tp-draw{stroke-dasharray:100;animation:tpDraw .9s ease-out var(--d,0s) backwards,tpFade .3s ease-out var(--d,0s) backwards}
.tp-scene.play .tp-fade,.tp-scene.play .tp-zone,.tp-scene.play .tp-dash,.tp-scene.play .tp-label,.tp-scene.play .tp-p{animation:tpFade .55s ease-out var(--d,0s) backwards}
@media (prefers-reduced-motion:reduce){.tp-ring{animation:none}.tp-scene.play *{animation:none!important}}

/* ── Estructura de las paginas ─────────────────────────── */
.hub-page{min-height:60vh;padding-top:92px}
.hub-hero{padding:46px 0 26px;text-align:center}
.hub-hero .chip{margin-bottom:20px}
.hub-hero h1{font-size:clamp(36px,6vw,64px);letter-spacing:-.025em;margin-bottom:16px}
.hub-hero p{max-width:660px;margin:0 auto;color:var(--muted);font-size:17px;font-weight:300;line-height:1.65}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12.5px;color:var(--dim);margin:6px 0 24px}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--cyan)}
.crumbs i{font-size:9px;opacity:.6}

/* ── Glosario: buscador, chips y tarjetas ──────────────── */
.gl-tools{display:flex;flex-direction:column;gap:16px;align-items:center;margin:8px auto 34px;max-width:900px}
.gl-search{position:relative;width:100%;max-width:520px}
.gl-search i{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--dim);font-size:14px}
.gl-search input{width:100%;padding:15px 18px 15px 46px;border-radius:100px;border:1px solid var(--line-2);background:var(--glass);color:var(--ink);font:400 15.5px 'Inter',sans-serif;outline:none;transition:border-color .2s,background .2s}
.gl-search input:focus{border-color:var(--cyan);background:var(--glass-2)}
.gl-chips{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}
.hub-chip{border:1px solid var(--line);background:var(--glass);color:var(--muted);padding:9px 16px;border-radius:100px;font:500 13px 'Inter',sans-serif;cursor:pointer;transition:all .2s}
.hub-chip:hover{color:var(--ink);border-color:var(--line-2)}
.hub-chip.on{background:rgba(0,229,190,.12);border-color:var(--cyan);color:var(--cyan)}
.gl-count{color:var(--dim);font-size:13px;text-align:center;margin:-14px 0 22px}
.gl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:60px}
.gl-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;background:var(--glass);overflow:hidden;transition:transform .3s cubic-bezier(.2,.75,.2,1),border-color .3s,box-shadow .3s}
.gl-card:hover{transform:translateY(-5px);border-color:var(--line-2);box-shadow:0 26px 50px -28px rgba(0,229,190,.35)}
.gl-thumb{aspect-ratio:16/10;background:#0b241d;border-bottom:1px solid var(--line)}
.gl-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.gl-cat{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600}
.gl-body h2{font:600 22px 'Space Grotesk',sans-serif;letter-spacing:-.01em;color:var(--ink)}
.gl-body p{color:var(--muted);font-size:14.5px;line-height:1.55;font-weight:300}
.gl-go{margin-top:auto;padding-top:6px;color:var(--cyan);font:600 13.5px 'Space Grotesk',sans-serif;display:inline-flex;gap:8px;align-items:center}
.gl-empty{text-align:center;color:var(--muted);padding:40px 0 70px;display:none}

/* ── Pagina de un termino ───────────────────────────────── */
.term-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:46px;align-items:start;margin-bottom:56px}
.term-main .sec-lbl{margin-bottom:12px}
.term-main h1{font-size:clamp(38px,5.4vw,60px);letter-spacing:-.025em;margin-bottom:16px}
.term-short{font:500 19px/1.5 'Inter',sans-serif;color:var(--ink);margin-bottom:18px}
.term-text{color:var(--muted);font-size:16.5px;line-height:1.75;font-weight:300;margin-bottom:26px}
.term-main h2{font:600 15px 'Space Grotesk',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:28px 0 12px}
.term-look{display:grid;gap:10px;padding:0;margin:0;list-style:none}
.term-look li{position:relative;padding:14px 16px 14px 44px;border:1px solid var(--line);border-radius:14px;background:var(--glass);color:var(--muted);font-size:15px;line-height:1.55}
.term-look li::before{content:"";position:absolute;left:16px;top:18px;width:14px;height:14px;border-radius:50%;background:rgba(0,229,190,.16);border:1px solid var(--cyan)}
.term-ex{margin-top:18px;padding:16px 18px;border-left:3px solid var(--gold);background:rgba(185,142,67,.08);border-radius:0 12px 12px 0;color:var(--muted);font-size:15px;line-height:1.6}
.term-ex b{color:var(--ink)}
.term-links,.term-related{display:flex;flex-wrap:wrap;gap:10px}
.term-links a,.term-related a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:100px;border:1px solid var(--line-2);background:var(--glass);color:var(--ink);font:500 13.5px 'Inter',sans-serif;transition:all .2s}
.term-links a:hover,.term-related a:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(0,229,190,.08)}
.term-board{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}
.board-card{border:1px solid var(--line-2);border-radius:20px;background:#0b241d;overflow:hidden;box-shadow:0 30px 70px -34px rgba(0,229,190,.35)}
.board-card .board-svg{aspect-ratio:105/68;max-height:520px}
.board-card.crop .board-svg{aspect-ratio:auto}
.board-bar{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:12px 14px;background:rgba(5,12,20,.7);border-top:1px solid var(--line)}
.board-key{display:flex;flex-wrap:wrap;gap:12px;font-size:11.5px;color:var(--muted)}
.board-key span{display:inline-flex;align-items:center;gap:6px}
.board-key i{display:inline-block;width:18px;height:0;border-top:2px dashed #ffd166}
.board-key i.k-pass{border-top:2px solid #f4f8fc}
.board-key i.k-press{border-top-color:#ff6b81}
.hub-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:100px;border:1px solid var(--line-2);background:var(--glass);color:var(--ink);font:600 13px 'Space Grotesk',sans-serif;cursor:pointer;transition:all .2s}
.hub-btn:hover{border-color:var(--cyan);color:var(--cyan)}
.hub-btn.solid{background:var(--grad);color:#04140f;border:0}
.hub-btn.solid:hover{color:#04140f;transform:translateY(-1px)}
.hub-cta{padding:22px 24px;border-radius:18px;border:1px solid var(--line-2);background:linear-gradient(135deg,rgba(0,229,190,.1),rgba(139,123,255,.07))}
.hub-cta b{display:block;font:600 19px 'Space Grotesk',sans-serif;margin-bottom:6px}
.hub-cta p{color:var(--muted);font-size:14.5px;line-height:1.55;margin-bottom:14px}

/* ── Bloque de la home ──────────────────────────────────── */
.hubs-section .hubs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.hub-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;background:var(--glass);overflow:hidden;transition:transform .4s cubic-bezier(.2,.75,.2,1),border-color .3s,box-shadow .3s}
.hub-card:hover{transform:translateY(-6px);border-color:var(--hc,var(--cyan));box-shadow:0 30px 60px -30px var(--hg,rgba(0,229,190,.4))}
.hub-media{aspect-ratio:16/10;background:#0b241d;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.hub-media.thumb{background-size:cover;background-position:center}
.hub-media .tag{position:absolute;left:14px;top:14px;z-index:2;padding:6px 11px;border-radius:100px;background:rgba(5,12,20,.78);border:1px solid var(--line-2);color:var(--hc,var(--cyan));font:600 10.5px 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase}
.hub-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.hub-body h3{font:600 24px 'Space Grotesk',sans-serif;letter-spacing:-.01em;margin-bottom:9px}
.hub-body p{color:var(--muted);font-size:15px;line-height:1.6;font-weight:300;margin-bottom:20px}
.hub-body .go{margin-top:auto;color:var(--hc,var(--cyan));font:600 14px 'Space Grotesk',sans-serif;display:inline-flex;gap:10px;align-items:center}
.hub-body .go i{transition:transform .25s}
.hub-card:hover .go i{transform:translateX(5px)}
.hub-play{position:absolute;inset:0;display:grid;place-items:center;z-index:1}
.hub-play span{width:62px;height:62px;border-radius:50%;background:rgba(0,229,190,.92);display:grid;place-items:center;color:#04140f;font-size:22px;box-shadow:0 14px 36px -10px rgba(0,229,190,.7)}

/* ── Responsive ─────────────────────────────────────────── */
@media(max-width:1020px){.gl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.term-grid{grid-template-columns:minmax(0,1fr);gap:28px}.term-board{position:static;order:-1}.hubs-section .hubs{grid-template-columns:1fr}}
@media(max-width:620px){.hub-page{padding-top:78px}.hub-hero{padding:30px 0 18px}.gl-grid{grid-template-columns:1fr;gap:16px}.hub-hero p{font-size:15.5px}.term-short{font-size:17px}.hub-body{padding:20px}}
