/* Nova Math v69 UI polish */
.hub-header{transition:background .18s ease,box-shadow .18s ease,border-color .18s ease}
.hub-header.mh-scrolled{background:rgba(8,8,10,.94);box-shadow:0 10px 34px rgba(0,0,0,.38);border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(16px)}
.hub-header .tabs{min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;padding:0 2px}
.hub-header .tabs::-webkit-scrollbar{display:none}
.hub-header .tab-btn{position:relative;flex:0 0 auto;scroll-snap-align:center;opacity:.76}
.hub-header .tab-btn:after{content:"";position:absolute;left:50%;right:50%;bottom:12px;height:3px;border-radius:999px;background:var(--mh-accent,var(--hub-red));transition:left .18s ease,right .18s ease,opacity .18s ease;opacity:0}
.hub-header .tab-btn.active{opacity:1}
.hub-header .tab-btn.active:after{left:0;right:0;opacity:1}
.hub-header .tab-btn:focus-visible{border-radius:7px!important}

.game-genre-nav{position:sticky;top:68px;z-index:120;display:flex;gap:7px;overflow-x:auto;padding:10px 4vw 11px;background:linear-gradient(180deg,rgba(8,8,8,.98),rgba(8,8,8,.9));border-top:1px solid rgba(255,255,255,.035);border-bottom:1px solid rgba(255,255,255,.055);backdrop-filter:blur(16px);scrollbar-width:none;overscroll-behavior-x:contain}
.game-genre-nav::-webkit-scrollbar{display:none}
.game-genre-chip{flex:0 0 auto;border:1px solid #33343a;background:#16171b;color:#aaaeb7;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:850;letter-spacing:.15px;cursor:pointer;transition:.15s ease}
.game-genre-chip:hover,.game-genre-chip:focus-visible{color:#fff;border-color:#5a5b66;background:#212228}
.game-genre-chip.active{background:#f4f4f5;color:#101014;border-color:#f4f4f5;box-shadow:0 6px 24px rgba(255,255,255,.09)}
.game-row-section.mh-row-current>.game-row-title{color:#fff}
.game-row-section>.game-row-title{transition:color .18s ease;color:#d7d7db}

.mh-chromebook .hub-header{padding-left:26px;padding-right:26px}
.mh-chromebook .games-toolbar{padding-left:3vw;padding-right:3vw}
.mh-chromebook .game-genre-nav{padding-left:3vw;padding-right:3vw}
.mh-chromebook .game-row{padding-left:3vw;padding-right:3vw;scroll-padding-inline:3vw}
.mh-chromebook .game-row-title{margin-left:3vw}
.mh-chromebook .netflix-game-card{flex-basis:clamp(136px,12vw,174px)}
.mh-chromebook .netflix-game-card:focus-visible .game-art,.mh-chromebook .netflix-game-card:hover .game-art{box-shadow:0 0 0 2px rgba(255,255,255,.9),0 14px 35px rgba(0,0,0,.55)}
.mh-chromebook .netflix-game-card:focus-visible{transform:translateY(-4px) scale(1.035);z-index:8}
.mh-chromebook .game-row{scroll-snap-type:x mandatory}
.mh-chromebook .game-row .netflix-game-card{scroll-snap-align:start}

.mh-sfx-setting{display:grid;gap:9px}.mh-sfx-setting label{display:flex;align-items:center;gap:8px;font-size:11px;color:#ccc}.mh-sfx-setting input[type="range"]{width:100%}

@media(min-width:900px) and (max-height:850px){.game-genre-nav{top:58px;padding-top:8px;padding-bottom:8px}.hub-header .tab-btn:after{bottom:8px}.mh-chromebook .netflix-game-card{flex-basis:clamp(128px,11.3vw,166px)}}
@media(max-width:760px){.game-genre-nav{top:58px;padding-left:16px;padding-right:16px}.hub-header .tab-btn:after{bottom:8px}.game-genre-chip{padding:7px 10px}.hub-header .tabs{gap:15px}}


/* Secret-code easter egg */
.mh-secret-card input{min-width:0}
.mh-secret-shake{animation:mhSecretShake .34s ease}
@keyframes mhSecretShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-4px)}}
.mh-secret-overlay{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;background:#000;overflow:hidden;opacity:0;pointer-events:none}
.mh-secret-overlay[hidden]{display:none!important}
.mh-secret-overlay.show{opacity:1}
.mh-secret-photo-wrap{position:absolute;inset:0;display:grid;place-items:center;background:#000;transform:scale(1.06);animation:mhSecretPunch .32s cubic-bezier(.18,.9,.25,1) both}
.mh-secret-photo-wrap img{width:100%;height:100%;object-fit:contain;filter:contrast(1.03) saturate(1.06)}
.mh-secret-flash{position:absolute;inset:-5%;z-index:2;background:#fff;opacity:0;animation:mhSecretFlash .62s ease-out both}
.mh-secret-overlay.fade{animation:mhSecretFade .95s ease forwards}
@keyframes mhSecretFlash{0%{opacity:1}16%{opacity:1}100%{opacity:0}}
@keyframes mhSecretPunch{0%{transform:scale(1.28);filter:brightness(2.5)}45%{transform:scale(1.02);filter:brightness(1)}100%{transform:scale(1.06);filter:brightness(1)}}
@keyframes mhSecretFade{0%{opacity:1}100%{opacity:0}}
@media(max-width:760px){.mh-secret-photo-wrap img{object-fit:cover}}
