.eth-section,.eth-status,.eth-modal{--eth-accent:#9146ff;--eth-online:#30d158;font-family:inherit}
.eth-section{min-width:0;margin:0 0 34px;color:#fff}
.eth-title{margin:0 0 18px;color:#fff;font-size:clamp(1.55rem,2.6vw,2.35rem);line-height:1.08;letter-spacing:-.025em}
.eth-hub{display:grid;gap:34px}.eth-hub>.eth-section,.eth-hub>.eth-status{margin:0}
.eth-status{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(145deg,rgba(21,22,33,.96),rgba(10,11,17,.98));box-shadow:0 16px 42px rgba(0,0,0,.24);color:#fff}
.eth-status.is-online{border-color:color-mix(in srgb,var(--eth-online) 45%,transparent);box-shadow:0 16px 42px rgba(0,0,0,.24),0 0 36px color-mix(in srgb,var(--eth-online) 14%,transparent)}
.eth-avatar{width:66px;height:66px;flex:0 0 auto;border-radius:16px;object-fit:cover;border:2px solid rgba(255,255,255,.14)}
.eth-status-copy{display:grid;min-width:0;gap:3px;flex:1}.eth-status-copy strong{overflow:hidden;color:#fff;font-size:1.02rem;white-space:nowrap;text-overflow:ellipsis}.eth-meta{overflow:hidden;color:rgba(255,255,255,.66);font-size:.86rem;white-space:nowrap;text-overflow:ellipsis}
.eth-live-label{display:flex;align-items:center;gap:7px;color:rgba(255,255,255,.72);font-size:.7rem;font-weight:900;letter-spacing:.14em}.eth-live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#7f8793}.is-online .eth-live-dot{background:var(--eth-online);box-shadow:0 0 0 5px color-mix(in srgb,var(--eth-online) 16%,transparent);animation:eth-pulse 1.4s infinite}.is-online .eth-live-label{color:var(--eth-online)}
.eth-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;border:0;border-radius:12px;background:var(--eth-accent);color:#fff!important;text-decoration:none!important;font:inherit;font-weight:850;cursor:pointer;transition:transform .2s ease,filter .2s ease,background .2s ease}.eth-button:hover{transform:translateY(-2px);filter:brightness(1.12)}.eth-button--ghost{border:1px solid rgba(255,255,255,.2);background:rgba(4,5,9,.55);backdrop-filter:blur(8px)}.eth-button--play{gap:8px}
.eth-status.is-compact{gap:10px;padding:8px 10px;border:0;border-radius:12px;background:transparent;box-shadow:none}.eth-status.is-compact .eth-avatar{display:none}.eth-status.is-compact .eth-status-copy{display:flex;align-items:center;gap:10px}.eth-status.is-compact .eth-status-copy strong,.eth-status.is-compact .eth-meta{display:none}.eth-status.is-compact .eth-button{min-height:34px;padding:0 12px;font-size:.78rem}.eth-status.is-compact .eth-live-label{font-size:.72rem}
.eth-live-layout{display:grid;grid-template-columns:1fr;gap:14px}.eth-live-layout.has-chat{grid-template-columns:minmax(0,1fr) minmax(300px,360px)}
.eth-live-player,.eth-chat{display:block;width:100%;height:var(--eth-player-height,620px);min-height:300px;border:0;border-radius:18px;background:#090a12;box-shadow:0 18px 48px rgba(0,0,0,.26)}
.eth-offline{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:var(--eth-player-height,520px);overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:#090b0d var(--eth-offline-image) center/cover no-repeat;box-shadow:0 18px 55px rgba(0,0,0,.3)}
.eth-offline::before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(circle at 82% 16%,color-mix(in srgb,var(--eth-accent) 30%,transparent),transparent 34%),linear-gradient(135deg,#10121a,#080a0d)}
.eth-offline-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(4,5,8,.96) 0%,rgba(4,5,8,.78) 43%,rgba(4,5,8,.2) 78%,rgba(4,5,8,.35) 100%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%)}
.eth-offline-content{width:min(650px,100%);padding:clamp(26px,5vw,56px)}.eth-offline-badge{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:7px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(4,5,9,.54);font-size:.72rem;font-weight:900;letter-spacing:.14em}.eth-offline h3{max-width:580px;margin:0;color:#fff;font-size:clamp(2rem,4.4vw,4.5rem);line-height:.96;letter-spacing:-.045em}.eth-offline-kicker{margin:24px 0 5px;color:color-mix(in srgb,var(--eth-accent) 55%,#fff);font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.eth-offline-video-title{display:block;max-width:620px;color:#fff;font-size:clamp(1rem,2vw,1.35rem);line-height:1.3}.eth-offline-meta,.eth-offline-content>p{margin:8px 0 0;color:rgba(255,255,255,.68)}.eth-offline-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:25px}
.eth-live-now-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:12px 15px;border:1px solid color-mix(in srgb,var(--eth-online) 38%,transparent);border-radius:12px;background:color-mix(in srgb,var(--eth-online) 10%,transparent);color:#fff}.eth-live-now-notice a{color:var(--eth-online);font-weight:900}.eth-live-now-notice[hidden]{display:none!important}
.eth-grid{display:grid;grid-template-columns:repeat(var(--eth-columns,3),minmax(0,1fr));gap:18px}
.eth-card{min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:linear-gradient(180deg,rgba(25,24,38,.98),rgba(12,13,21,.98));box-shadow:0 12px 30px rgba(0,0,0,.2);transition:transform .22s ease,border-color .22s ease}.eth-card:hover{transform:translateY(-4px);border-color:var(--eth-accent)}
.eth-media-button{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#080910;cursor:pointer;overflow:hidden}.eth-media-button img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}.eth-card:hover .eth-media-button img{transform:scale(1.04);filter:brightness(.78)}
.eth-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--eth-accent);color:#fff;transform:translate(-50%,-50%);box-shadow:0 0 30px color-mix(in srgb,var(--eth-accent) 55%,transparent);font-size:19px;padding-left:3px}.eth-duration{position:absolute;right:9px;bottom:8px;padding:3px 7px;border-radius:7px;background:rgba(0,0,0,.82);color:#fff;font-size:.72rem;font-weight:800}
.eth-card-body{padding:14px}.eth-card-body h3{display:-webkit-box;overflow:hidden;margin:0 0 8px;color:#fff;font-size:1rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.eth-card-body p{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0;color:rgba(255,255,255,.62);font-size:.8rem}.eth-card-body p span+span::before{content:"·";margin-right:10px;color:rgba(255,255,255,.28)}
.eth-layout-compact .eth-grid{grid-template-columns:1fr!important;gap:12px}.eth-layout-compact .eth-card{display:grid;grid-template-columns:minmax(124px,42%) minmax(0,1fr);border-radius:14px}.eth-layout-compact .eth-media-button{height:100%;min-height:100px;aspect-ratio:auto}.eth-layout-compact .eth-play{width:42px;height:42px;font-size:15px}.eth-layout-compact .eth-card-body{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:13px}.eth-layout-compact .eth-card-body h3{font-size:.94rem;-webkit-line-clamp:3}.eth-layout-compact .eth-card-body p{display:grid;gap:2px;font-size:.76rem}.eth-layout-compact .eth-card-body p span+span::before{display:none}
.eth-message{padding:18px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.04);color:rgba(255,255,255,.8)}.eth-error{border-color:rgba(255,90,90,.45);background:rgba(160,20,20,.18)}
.eth-schedule{display:grid;gap:12px}.eth-schedule-item{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.035)}.eth-schedule-item time{display:grid;place-items:center;min-width:76px;padding:8px;border-radius:11px;background:var(--eth-accent);color:#fff;text-transform:uppercase}.eth-schedule-item time strong{font-size:1rem}.eth-schedule-item time span{font-size:.85rem}.eth-schedule-item h3{margin:0 0 4px;color:#fff;font-size:1rem}.eth-schedule-item p{margin:0;color:rgba(255,255,255,.66)}
.eth-modal[hidden]{display:none}.eth-modal{position:fixed;z-index:999999;inset:0;display:grid;place-items:center;padding:24px}.eth-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(8px)}.eth-modal-dialog{position:relative;z-index:1;width:min(1100px,94vw);overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:#080910;box-shadow:0 30px 100px rgba(0,0,0,.65)}.eth-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:12px 14px 12px 18px;border-bottom:1px solid rgba(255,255,255,.1);color:#fff}.eth-modal-header strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eth-modal-close{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;font-size:25px;line-height:1;cursor:pointer}.eth-modal-player{display:grid;place-items:center;aspect-ratio:16/9;min-height:300px}.eth-modal-player iframe{display:block;width:100%;height:100%;min-height:300px;border:0}.eth-modal-loading{color:rgba(255,255,255,.65)}.eth-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:13px 16px;background:#111119;border-top:1px solid rgba(255,255,255,.1)}.eth-modal-note{margin:0;color:#d0d0d7}.eth-modal-external{flex:0 0 auto}.eth-modal-open{overflow:hidden}
.eth-ok{color:#30d158;font-weight:700}.eth-bad{color:#ff6b6b;font-weight:700}
@keyframes eth-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.72);opacity:.55}}
@media(max-width:980px){.eth-live-layout.has-chat{grid-template-columns:1fr}.eth-chat{height:420px}.eth-grid{grid-template-columns:repeat(min(2,var(--eth-columns,3)),minmax(0,1fr))}}
@media(max-width:620px){.eth-status:not(.is-compact){align-items:flex-start;flex-wrap:wrap}.eth-avatar{width:58px;height:58px}.eth-status:not(.is-compact) .eth-button{width:100%}.eth-grid{grid-template-columns:1fr}.eth-layout-compact .eth-card{grid-template-columns:122px minmax(0,1fr)}.eth-modal{padding:10px}.eth-modal-player{min-height:240px}.eth-live-player{height:360px}.eth-chat{height:380px}.eth-offline{min-height:430px}.eth-offline-content{padding:25px}.eth-offline-actions{align-items:stretch;flex-direction:column}.eth-offline-actions .eth-button{width:100%}.eth-modal-actions{align-items:stretch;flex-direction:column}.eth-modal-external{width:100%;text-align:center}}

/* Esnake Twitch Hub: carga progresiva y accesibilidad */
.eth-load-more-wrap{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px}.eth-load-more{min-width:180px}.eth-load-more.is-loading{cursor:wait;opacity:.72}.eth-load-status{color:rgba(255,255,255,.66);font-size:.84rem}.eth-media-button:focus-visible,.eth-button:focus-visible,.eth-modal-close:focus-visible{outline:3px solid color-mix(in srgb,var(--eth-accent) 72%,#fff);outline-offset:3px}.eth-card.is-new{animation:eth-card-in .28s ease both}@keyframes eth-card-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:620px){.eth-load-more-wrap{align-items:stretch;flex-direction:column}.eth-load-more{width:100%}.eth-load-status{text-align:center}}

/* ===== Esnake Twitch Hub 0.4.0 ===== */
.eth-live-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 12px;padding:12px 14px;border:1px solid rgba(255,255,255,.11);border-radius:15px;background:linear-gradient(120deg,rgba(18,15,30,.92),rgba(8,16,11,.94));box-shadow:0 12px 32px rgba(0,0,0,.18)}
.eth-live-toolbar__state{display:flex;align-items:center;min-width:0;gap:13px}.eth-live-toolbar__state>div{display:grid;min-width:0;gap:2px}.eth-live-toolbar__state strong{overflow:hidden;color:#fff;font-size:.93rem;line-height:1.25;white-space:nowrap;text-overflow:ellipsis}.eth-live-toolbar__state [data-eth-toolbar-meta]{overflow:hidden;color:rgba(255,255,255,.62);font-size:.76rem;white-space:nowrap;text-overflow:ellipsis}
.eth-live-toolbar__actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.eth-toolbar-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 11px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.055);color:#fff!important;text-decoration:none!important;font:inherit;font-size:.76rem;font-weight:850;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.eth-toolbar-button:hover{border-color:color-mix(in srgb,var(--eth-accent) 56%,transparent);background:color-mix(in srgb,var(--eth-accent) 16%,transparent);transform:translateY(-1px)}.eth-toolbar-button:disabled{cursor:not-allowed;opacity:.45;transform:none}.eth-toolbar-button[aria-pressed="true"]{border-color:color-mix(in srgb,var(--eth-accent) 64%,transparent);background:color-mix(in srgb,var(--eth-accent) 22%,transparent)}
.eth-chat[hidden]{display:none!important}.eth-live-layout:not(.has-chat){grid-template-columns:1fr}.eth-live-section--hidden-offline{display:none}.eth-offline-hidden{display:none}
.eth-featured-badge{position:absolute;left:9px;top:9px;padding:4px 8px;border-radius:999px;background:rgba(3,7,4,.86);color:#baff94;font-size:.65rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 4px 14px rgba(0,0,0,.35)}.eth-card.is-featured{border-color:color-mix(in srgb,var(--eth-online) 35%,rgba(255,255,255,.11));box-shadow:0 12px 34px color-mix(in srgb,var(--eth-online) 8%,transparent)}
.eth-modal-counter{margin-left:auto;color:rgba(255,255,255,.62);font-size:.78rem;font-weight:800}.eth-modal-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid rgba(255,255,255,.08);background:#0c0d14}.eth-modal-navigation .eth-toolbar-button{min-width:115px}.eth-modal-actions{flex-wrap:wrap}.eth-modal-note{margin-right:auto;max-width:520px;font-size:.78rem}
.eth-theater-open{overflow:hidden}.eth-live-section.is-theater{position:fixed;z-index:999998;inset:0;display:flex!important;flex-direction:column;margin:0!important;padding:18px!important;overflow:auto;background:#030507}.eth-live-section.is-theater>.eth-title{display:none}.eth-live-section.is-theater .eth-live-toolbar{flex:0 0 auto}.eth-live-section.is-theater .eth-live-layout{flex:1;min-height:0;grid-template-columns:minmax(0,1fr) minmax(300px,360px)}.eth-live-section.is-theater .eth-live-layout:not(.has-chat){grid-template-columns:1fr}.eth-live-section.is-theater .eth-live-player,.eth-live-section.is-theater .eth-chat{height:calc(100vh - 112px);min-height:420px;border-radius:12px}.eth-live-section.is-theater .eth-offline{flex:1;min-height:calc(100vh - 112px)}
.eth-live-now-notice{position:relative;z-index:2}.eth-live-now-notice[hidden]{display:none!important}

@media(max-width:980px){.eth-live-toolbar{align-items:flex-start;flex-direction:column}.eth-live-toolbar__actions{justify-content:flex-start}.eth-live-section.is-theater .eth-live-layout.has-chat{grid-template-columns:1fr}.eth-live-section.is-theater .eth-chat{height:38vh;min-height:300px}.eth-live-section.is-theater .eth-live-player{height:55vh}}
@media(max-width:620px){.eth-live-toolbar{padding:11px}.eth-live-toolbar__state{align-items:flex-start}.eth-live-toolbar__state strong,.eth-live-toolbar__state [data-eth-toolbar-meta]{white-space:normal}.eth-live-toolbar__actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.eth-toolbar-button{width:100%;padding-inline:8px}.eth-live-section.is-theater{padding:8px!important}.eth-live-section.is-theater .eth-live-player{height:52vh;min-height:300px}.eth-live-section.is-theater .eth-chat{height:38vh;min-height:250px}.eth-modal-header{gap:8px}.eth-modal-counter{font-size:.7rem}.eth-modal-navigation{gap:8px}.eth-modal-navigation .eth-toolbar-button{min-width:0}.eth-modal-actions .eth-toolbar-button{width:100%}.eth-modal-note{width:100%;margin:0;text-align:center}}

/* ===== Esnake Twitch Hub 0.4.1: VOD integrado + chat ===== */
.eth-live-section.is-vod .eth-live-dot{background:var(--eth-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--eth-accent) 16%,transparent)}
.eth-live-section.is-vod .eth-live-label{color:color-mix(in srgb,var(--eth-accent) 72%,#fff)}
.eth-vod-chat-note{margin:10px 4px 0;color:rgba(255,255,255,.58);font-size:.76rem;line-height:1.45}
.eth-modal-dialog{width:min(1380px,96vw)}
.eth-modal-media{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;background:#05060a}
.eth-modal-media.has-chat{grid-template-columns:minmax(0,1fr) minmax(300px,360px)}
.eth-modal-media .eth-modal-player{min-width:0}
.eth-modal-chat{display:block;width:100%;height:100%;min-height:300px;border:0;border-left:1px solid rgba(255,255,255,.1);background:#090a12}
.eth-modal-chat[hidden]{display:none!important}
.eth-modal-media:not(.has-chat){grid-template-columns:minmax(0,1fr)}
.eth-modal-media.has-chat .eth-modal-player{aspect-ratio:auto;min-height:520px}
.eth-modal-media.has-chat .eth-modal-player iframe{min-height:520px}
@media(max-width:980px){.eth-modal-media.has-chat{grid-template-columns:1fr}.eth-modal-media.has-chat .eth-modal-player,.eth-modal-media.has-chat .eth-modal-player iframe{min-height:420px}.eth-modal-chat{height:420px;border-top:1px solid rgba(255,255,255,.1);border-left:0}}
@media(max-width:620px){.eth-modal-media.has-chat .eth-modal-player,.eth-modal-media.has-chat .eth-modal-player iframe{min-height:260px}.eth-modal-chat{height:360px;min-height:300px}.eth-vod-chat-note{font-size:.72rem}}
