
:root{
  --rp-sky:#68d8ff;
  --rp-sky-deep:#2f8dff;
  --rp-cloud:#ffffff;
  --rp-cream:#fff7d2;
  --rp-grass:#43c96f;
  --rp-grass-dark:#158444;
  --rp-earth:#9b6335;
  --rp-earth-dark:#613716;
  --rp-block:#ffd35a;
  --rp-block-dark:#d18b24;
  --rp-blue:#1168d9;
  --rp-red:#ff5b51;
  --rp-ink:#1f2937;
  --rp-card:#fffaf0;
  --rp-line:#233044;
  --rp-shadow:0 18px 0 rgba(27,48,76,.22),0 26px 50px rgba(25,66,120,.22);
}
body:not(.player-body){
  color:var(--rp-ink);
  background:
    radial-gradient(circle at 12% 13%,rgba(255,255,255,.95) 0 22px,transparent 23px),
    radial-gradient(circle at 17% 13%,rgba(255,255,255,.95) 0 31px,transparent 32px),
    radial-gradient(circle at 22% 13%,rgba(255,255,255,.95) 0 22px,transparent 23px),
    radial-gradient(circle at 78% 9%,rgba(255,255,255,.86) 0 26px,transparent 27px),
    radial-gradient(circle at 84% 9%,rgba(255,255,255,.86) 0 38px,transparent 39px),
    radial-gradient(circle at 90% 9%,rgba(255,255,255,.86) 0 26px,transparent 27px),
    linear-gradient(180deg,#70dcff 0%,#c2f4ff 48%,#efffd2 49%,#d7ffd6 100%);
  background-attachment:fixed;
}
body:not(.player-body)::before{content:"";position:fixed;left:0;right:0;bottom:0;height:52px;z-index:-1;background:linear-gradient(180deg,var(--rp-grass) 0 20px,var(--rp-grass-dark) 20px 28px,var(--rp-earth) 28px 100%);box-shadow:inset 0 12px 0 rgba(255,255,255,.16)}
body.no-retro-decor:not(.player-body){background:#f4fbff!important}
body.no-retro-decor:not(.player-body)::before,body.no-retro-decor:not(.player-body)::after{display:none!important}
body:not(.player-body)::after{content:"";position:fixed;left:0;right:0;bottom:0;height:24px;z-index:-1;background:repeating-linear-gradient(45deg,rgba(255,255,255,.14) 0 10px,transparent 10px 20px)}
.site-header{background:rgba(255,250,240,.86)!important;border-bottom:4px solid rgba(31,41,55,.15)!important;box-shadow:0 10px 0 rgba(54,101,152,.12);backdrop-filter:blur(14px)}
.site-header nav a,.filter-tabs a,.filter-tabs button,.secondary-link{color:var(--rp-ink)!important;border:2px solid rgba(31,41,55,.18)!important;background:#fffaf0!important;box-shadow:0 4px 0 rgba(31,41,55,.13);font-weight:950}.site-header nav a:hover,.filter-tabs a:hover,.filter-tabs button:hover,.secondary-link:hover{transform:translateY(-1px)}
.platformer-brand span,.brand span{border:3px solid rgba(31,41,55,.22);background:linear-gradient(180deg,#fff186,var(--rp-block))!important;color:#6d4313!important;box-shadow:0 5px 0 var(--rp-block-dark);border-radius:12px!important}.platformer-brand strong,.brand strong{color:var(--rp-ink)}
.page-wrap{position:relative}.hero-panel,.section-headline,.empty-card,.table-card,.guest-drop-panel,.safe-notice-card,.account-upload-card{color:var(--rp-ink)!important;border:4px solid rgba(31,41,55,.14)!important;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,247,210,.94))!important;border-radius:30px!important;box-shadow:var(--rp-shadow)!important}.hero-panel p,.section-headline p,.game-card p,.site-footer p,.muted,.legal-page p{color:#42526a!important}.eyebrow{color:#0d64c9!important;text-shadow:0 2px 0 rgba(255,255,255,.9)}
.primary-link,.primary-btn,.play-btn,.guest-file-button,button{background:linear-gradient(180deg,#ffe887 0%,#ffc233 100%)!important;color:#5a3510!important;border:3px solid rgba(90,53,16,.22)!important;box-shadow:0 7px 0 var(--rp-block-dark),0 14px 24px rgba(139,83,17,.2)!important;border-radius:999px!important;text-decoration:none!important;font-weight:950!important}.primary-link:hover,.primary-btn:hover,.play-btn:hover,.guest-file-button:hover,button:hover{transform:translateY(-2px);box-shadow:0 9px 0 var(--rp-block-dark),0 18px 28px rgba(139,83,17,.24)!important}.primary-link:active,.primary-btn:active,.play-btn:active,.guest-file-button:active,button:active{transform:translateY(3px);box-shadow:0 3px 0 var(--rp-block-dark)!important}
.platformer-hero{overflow:hidden;position:relative;grid-template-columns:1.05fr .95fr!important}.platformer-hero h1{font-size:clamp(2.8rem,6vw,6.4rem)!important;color:#10345c!important;text-shadow:0 4px 0 rgba(255,255,255,.9),0 8px 0 rgba(17,104,217,.12)}.hero-subtitle{font-size:1.2rem;font-weight:900;color:#24517b!important}.retro-scene-card{position:relative;min-height:340px;border:4px solid rgba(31,41,55,.16);border-radius:28px;overflow:hidden;background:linear-gradient(180deg,#65d9ff 0%,#d7f8ff 60%,#dfffd7 61%);box-shadow:inset 0 0 0 6px rgba(255,255,255,.26),0 16px 0 rgba(17,104,217,.14)}.scene-cloud{position:absolute;width:76px;height:38px;background:#fff;border-radius:999px;box-shadow:28px 0 #fff,14px -18px #fff}.scene-cloud.c1{top:48px;left:42px}.scene-cloud.c2{top:86px;right:82px;transform:scale(.78)}.scene-hill{position:absolute;bottom:55px;border-radius:50% 50% 0 0;background:#61d97b}.scene-hill.h1{left:18px;width:190px;height:95px}.scene-hill.h2{right:22px;width:250px;height:126px;background:#83e28e}.scene-platform{position:absolute;left:0;right:0;bottom:0;height:72px;background:linear-gradient(180deg,var(--rp-grass) 0 25px,var(--rp-grass-dark) 25px 34px,var(--rp-earth) 34px)}.scene-platform::after{content:"";position:absolute;inset:34px 0 0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.17) 0 10px,transparent 10px 20px)}.scene-platform span{position:absolute;bottom:86px;width:54px;height:44px;background:linear-gradient(180deg,#ffe276,#f1a433);border:3px solid rgba(97,55,22,.2);border-radius:10px;box-shadow:0 6px 0 #c8781c}.scene-platform span:nth-child(1){left:30%}.scene-platform span:nth-child(2){left:44%;bottom:128px}.scene-platform span:nth-child(3){left:58%}.scene-platform span:nth-child(4){left:72%;bottom:104px}.scene-stats{position:absolute;left:18px;right:18px;bottom:18px;display:flex;gap:.55rem;flex-wrap:wrap}.scene-stats b{padding:.46rem .62rem;background:rgba(255,250,240,.88);border:2px solid rgba(31,41,55,.14);border-radius:999px;font-size:.82rem;color:#17395f}
.platformer-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.feature-platform-card{position:relative;padding:1.2rem;border:4px solid rgba(31,41,55,.14);border-radius:28px;background:linear-gradient(180deg,#fffaf0,#fff2be);box-shadow:var(--rp-shadow);overflow:hidden}.feature-platform-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:18px;background:linear-gradient(180deg,var(--rp-grass),var(--rp-grass-dark))}.feature-platform-card h2{margin:.5rem 0;color:#143a63}.feature-platform-card p,.feature-platform-card li{color:#42526a;line-height:1.5}.feature-platform-card ul{margin:1rem 0 1.2rem;padding-left:1.1rem}.platform-icon{width:54px;height:54px;display:block;border-radius:14px;border:3px solid rgba(31,41,55,.16);background:linear-gradient(180deg,#fff186,#ffc233);box-shadow:0 6px 0 var(--rp-block-dark)}.cartridge-icon::before,.save-icon::before,.trophy-icon::before{content:"";display:block;margin:14px auto;width:28px;height:18px;background:#176bd7;border-radius:4px;box-shadow:0 9px 0 #43c96f}.save-icon::before{width:24px;height:28px;border-radius:5px;background:#ff5b51;box-shadow:12px 0 0 #176bd7}.trophy-icon::before{width:28px;height:24px;border-radius:6px 6px 12px 12px;background:#ffd35a;box-shadow:0 20px 0 -6px #8b5a22}
.platformer-drop{position:relative;background:linear-gradient(180deg,#e4fbff,#fffaf0)!important}.guest-drop-zone{background:#fffaf0!important;border:4px dashed rgba(21,132,68,.55)!important}.guest-drop-panel.is-dragging .guest-drop-zone{border-color:#0d64c9!important;background:#effcff!important}.format-badges{display:flex;gap:.45rem;flex-wrap:wrap}.format-badges span,.card-meta span,.hero-stats span,.stat-grid span{background:#fffaf0!important;color:#17395f!important;border:2px solid rgba(31,41,55,.12)!important;box-shadow:0 4px 0 rgba(31,41,55,.09)}.safe-notice-card{border-color:rgba(255,151,38,.34)!important}.platformer-legal-banner h2{color:#904c05}.library-tools input,.public-form input,.admin-form input,.admin-form textarea,.upload-rom-form input[type=file],input,textarea,select{background:#fffaf0!important;color:var(--rp-ink)!important;border:3px solid rgba(31,41,55,.16)!important;box-shadow:0 4px 0 rgba(31,41,55,.08)}
.game-card{color:var(--rp-ink)!important;background:linear-gradient(180deg,#fffaf0,#fff2be)!important;border:4px solid rgba(31,41,55,.14)!important;box-shadow:0 12px 0 rgba(21,132,68,.18),0 24px 45px rgba(50,90,120,.15)!important}.game-card h2{color:#143a63}.console-badge,.mini-console-badge{background:linear-gradient(180deg,#70ddff,#2d96ff)!important;color:white!important;text-shadow:0 2px 0 rgba(0,0,0,.18);border:2px solid rgba(0,0,0,.12)}.console-badge.sega,.mini-console-badge.sega{background:linear-gradient(180deg,#ff8a85,#ff5b51)!important}.cover-box{background:linear-gradient(180deg,#65d9ff 0%,#d7f8ff 62%,#6fd77b 63%,#43c96f 100%)!important;border:4px solid rgba(31,41,55,.12)!important}.css-art.platformer-css-art,.platformer-css-art{position:relative;min-height:150px}.platformer-css-art::before{content:"";position:absolute;left:14%;right:14%;bottom:20px;height:58px;border-radius:50% 50% 0 0;background:#62d77b;box-shadow:80px 20px 0 20px #85e38d}.platformer-css-art::after{content:"";position:absolute;left:14%;right:14%;bottom:0;height:26px;background:linear-gradient(180deg,var(--rp-grass),var(--rp-earth));border-radius:12px 12px 0 0}.empty-card.platformer-empty{text-align:center}.table-card table{color:var(--rp-ink)}.table-card th{color:#10345c}.table-card td,.table-card th{border-bottom-color:rgba(31,41,55,.12)}
.platformer-scoreboard-hero h1,.platformer-account-hero h1,.platformer-legal-page h1{color:#10345c!important;text-shadow:0 4px 0 rgba(255,255,255,.9)}.leaderboard-layout .table-card,.platformer-leaderboard-layout .table-card{background:linear-gradient(180deg,#fffaf0,#fff2be)!important}.stat-row{border-bottom:2px solid rgba(31,41,55,.08)!important;color:#42526a!important}.stat-row b{color:#10345c!important}.account-stats div{background:#fffaf0!important;border:4px solid rgba(31,41,55,.12)!important;box-shadow:0 8px 0 rgba(21,132,68,.14)}.account-stats b{color:#10345c}.platformer-upload-card{position:relative;overflow:hidden}.platformer-upload-card::before{content:"";position:absolute;right:-30px;top:-30px;width:145px;height:145px;border-radius:50%;background:rgba(104,216,255,.25)}.legal-page{max-width:none}.platformer-legal-page p{font-size:1.04rem}
.site-footer{width:min(1480px,calc(100% - 2rem));margin:2rem auto 4rem;padding:1.2rem;border:4px solid rgba(31,41,55,.12);border-radius:24px;background:rgba(255,250,240,.92);box-shadow:0 12px 0 rgba(21,132,68,.16);color:var(--rp-ink);text-align:center}.site-footer a{color:#0d64c9;font-weight:950}.footer-platform-strip{display:flex;gap:8px;justify-content:center;margin-bottom:.8rem}.footer-platform-strip span{width:42px;height:18px;border-radius:6px;background:linear-gradient(180deg,var(--rp-grass),var(--rp-grass-dark));box-shadow:0 7px 0 var(--rp-earth)}

.retro-player-body{background:linear-gradient(180deg,#071018,#0d1b2b)!important}.retro-player-topbar{background:linear-gradient(180deg,#fffaf0,#fff2be)!important;color:var(--rp-ink)!important;border-bottom:4px solid rgba(31,41,55,.16)!important}.retro-player-topbar .back-link,.retro-player-topbar strong{color:var(--rp-ink)!important}.retro-player-topbar button{font-size:.9rem}.player-stage{background:radial-gradient(circle at 50% 20%,rgba(104,216,255,.15),transparent 22rem),#071018}.emulator-mount{border:6px solid #fffaf0!important;box-shadow:0 18px 0 rgba(0,0,0,.34),0 0 0 3px rgba(31,41,55,.3)!important;background:#000!important}.player-state-overlay{background:radial-gradient(circle at 50% 30%,rgba(104,216,255,.16),transparent 20rem),linear-gradient(180deg,rgba(4,16,30,.88),rgba(1,6,12,.94))!important}.player-state-overlay h1{color:#fffaf0!important;text-shadow:0 4px 0 rgba(0,0,0,.32)}.state-pill{background:linear-gradient(180deg,#ffe887,#ffc233)!important;color:#5a3510!important;border:2px solid rgba(255,255,255,.2)!important}.retro-player-panel{background:linear-gradient(180deg,#fffaf0,#fff2be)!important;color:var(--rp-ink)!important;border-left:4px solid rgba(31,41,55,.16)!important}.retro-player-panel h2,.retro-player-panel h3,.retro-player-panel summary,.retro-player-panel b{color:#10345c!important}.retro-player-panel .muted,.retro-player-panel p{color:#42526a!important}.essential-status span,.panel-section,.mapping-box{background:#fff!important;border:2px solid rgba(31,41,55,.12)!important;color:#42526a!important}.guest-warning-card{background:#e4fbff!important;border:3px solid rgba(17,104,217,.22)!important;color:var(--rp-ink)!important}.touch-controls button{background:linear-gradient(180deg,#ffe887,#ffc233)!important;color:#5a3510!important;border:3px solid rgba(90,53,16,.25)!important}.touch-left{background:rgba(255,250,240,.82)!important;border:3px solid rgba(255,255,255,.2)!important}
@media(max-width:1050px){.platformer-hero{grid-template-columns:1fr!important}.retro-scene-card{min-height:280px}.platformer-choice-grid{grid-template-columns:1fr}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.site-header{align-items:flex-start;flex-wrap:wrap}.site-header nav{width:100%}.site-header nav a{flex:1 1 42%;text-align:center}}
@media(max-width:760px){.hero-panel h1,.section-headline h1{font-size:clamp(2.2rem,14vw,4rem)!important}.game-grid{grid-template-columns:1fr!important}.library-tools{display:grid!important}.platformer-choice-grid{gap:.8rem}.site-footer{width:calc(100% - 1rem)}.scene-platform span:nth-child(3),.scene-platform span:nth-child(4){display:none}.retro-scene-card{min-height:230px}.player-topbar.retro-player-topbar{background:rgba(255,250,240,.96)!important}}


#playTemporarilyBtn {
    background: linear-gradient(180deg, #ffb347 0%, #ffcc33 100%) !important;
    border: 2px solid #cc8e00 !important;
    border-bottom: 5px solid #996a00 !important;
    color: #3d2600 !important;
    font-weight: 800;
    border-radius: 20px;
    transition: all 0.1s ease;
}

#playTemporarilyBtn:active:not([disabled]) {
    transform: translateY(3px);
    border-bottom: 2px solid #996a00 !important;
}

#playTemporarilyBtn:disabled {
    opacity: 0.5;
    background: #e2e8f0 !important;
    border-color: #cbd5e0 !important;
    border-bottom-width: 2px !important;
    color: #a0aec0 !important;
    cursor: not-allowed;
    transform: none !important;
}

.guest-upload-zone.dragover {
    border-color: #ffcc33 !important;
    background-color: rgba(255, 204, 51, 0.05) !important;
}


@media (max-width: 760px) and (orientation: portrait){
  .site-header{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:.38rem .5rem .32rem!important;
    gap:.32rem .48rem!important;
    border-bottom-width:2px!important;
    box-shadow:0 4px 0 rgba(54,101,152,.10)!important;
  }
  .site-header nav{
    width:100%!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:.28rem!important;
    padding:.08rem .02rem .2rem!important;
    scrollbar-width:none!important;
  }
  .site-header nav::-webkit-scrollbar{display:none!important;}
  .site-header nav a{
    flex:0 0 auto!important;
    text-align:center!important;
    padding:.36rem .5rem!important;
    font-size:.72rem!important;
    line-height:1!important;
    border-width:1px!important;
    box-shadow:0 2px 0 rgba(31,41,55,.12)!important;
  }
  .platformer-brand span,
  .brand span{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    border-width:2px!important;
    border-radius:9px!important;
    font-size:.95rem!important;
    box-shadow:0 2px 0 var(--rp-block-dark)!important;
  }
  .platformer-brand strong,
  .brand strong{
    max-width:calc(100vw - 3.5rem)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:.92rem!important;
  }
  .hero-panel,
  .section-headline,
  .empty-card,
  .table-card,
  .guest-drop-panel,
  .safe-notice-card,
  .account-upload-card{
    padding:.78rem!important;
    margin:.65rem 0!important;
    border-width:2px!important;
    border-radius:18px!important;
    box-shadow:0 5px 0 rgba(54,101,152,.12),0 12px 26px rgba(50,90,120,.12)!important;
  }
  .hero-panel h1,
  .section-headline h1,
  .auth-card h1{
    font-size:clamp(1.65rem,9vw,2.55rem)!important;
    line-height:1!important;
  }
  .game-card{
    border-width:2px!important;
    border-radius:18px!important;
    box-shadow:0 5px 0 rgba(21,132,68,.12),0 14px 28px rgba(50,90,120,.12)!important;
  }
  .account-stats div{
    border-width:2px!important;
    box-shadow:0 4px 0 rgba(21,132,68,.12)!important;
  }
}

@media (orientation: landscape) and (hover: none) and (pointer: coarse){
  .site-header{
    padding:.28rem .55rem!important;
    gap:.35rem!important;
    border-bottom-width:2px!important;
    box-shadow:0 3px 0 rgba(54,101,152,.10)!important;
  }
  .site-header nav{
    width:auto!important;
    flex:1 1 auto!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    gap:.28rem!important;
    scrollbar-width:none!important;
  }
  .site-header nav::-webkit-scrollbar{display:none!important;}
  .site-header nav a{
    flex:0 0 auto!important;
    padding:.34rem .52rem!important;
    font-size:.72rem!important;
    line-height:1!important;
    border-width:1px!important;
    box-shadow:0 2px 0 rgba(31,41,55,.12)!important;
  }
}



@media (max-width: 760px) and (orientation: portrait){
  .site-header{
    position:sticky!important;
    top:0!important;
    z-index:2000!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:.5rem!important;
    padding:.46rem .58rem!important;
    overflow:visible!important;
  }
  .site-header .brand,
  .site-header .platformer-brand{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:calc(100% - 5.85rem)!important;
  }
  .site-header .brand span,
  .site-header .platformer-brand span{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    border-radius:10px!important;
    font-size:1rem!important;
  }
  .site-header .brand strong,
  .site-header .platformer-brand strong{
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:clamp(.92rem,4.6vw,1.12rem)!important;
    line-height:1.05!important;
  }
  .mobile-menu-toggle{
    display:inline-flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:center!important;
    gap:.34rem!important;
    min-height:38px!important;
    min-width:0!important;
    padding:.38rem .58rem!important;
    font-size:.88rem!important;
    line-height:1!important;
    border-radius:14px!important;
    white-space:nowrap!important;
    box-shadow:0 4px 0 var(--rp-block-dark),0 9px 18px rgba(139,83,17,.16)!important;
  }
  .mobile-menu-toggle:hover{
    transform:none!important;
    box-shadow:0 4px 0 var(--rp-block-dark),0 9px 18px rgba(139,83,17,.16)!important;
  }
  .mobile-menu-bars,
  .mobile-menu-bars::before,
  .mobile-menu-bars::after{
    width:16px!important;
    height:2px!important;
  }
  .mobile-menu-bars::before{top:-5px!important;}
  .mobile-menu-bars::after{top:5px!important;}
  .site-header:not(.site-header--menu-open) #siteNav{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .site-header #siteNav{
    position:absolute!important;
    left:.58rem!important;
    right:.58rem!important;
    top:calc(100% + .32rem)!important;
    width:auto!important;
    max-height:min(62vh, 360px)!important;
    display:none!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    gap:.32rem!important;
    margin:0!important;
    padding:.46rem!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    border:2px solid rgba(31,41,55,.16)!important;
    border-radius:18px!important;
    background:rgba(255,250,240,.98)!important;
    box-shadow:0 10px 0 rgba(54,101,152,.10),0 18px 36px rgba(35,60,85,.22)!important;
    z-index:2001!important;
    scrollbar-width:thin!important;
  }
  .site-header.site-header--menu-open #siteNav{
    display:flex!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .site-header #siteNav a{
    width:100%!important;
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:38px!important;
    padding:.42rem .62rem!important;
    font-size:.82rem!important;
    line-height:1.1!important;
    text-align:center!important;
    white-space:normal!important;
    border-radius:12px!important;
    border-width:1px!important;
    box-shadow:0 2px 0 rgba(31,41,55,.10)!important;
  }
  .bring-rom-hero h1,
  .platformer-hero.bring-rom-hero h1{
    font-size:clamp(2.05rem,10vw,3rem)!important;
    line-height:1.02!important;
    letter-spacing:-.05em!important;
    margin:.1rem 0 .48rem!important;
  }
  .bring-rom-hero .hero-copy{
    min-width:0!important;
  }
}


.homepage-state-hero{
  align-items:stretch!important;
}
.homepage-state-hero .hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.homepage-upload-panel,
.homepage-dashboard-panel{
  position:relative;
  min-height:340px;
  display:flex;
  flex-direction:column;
  gap:.9rem;
  padding:1.05rem;
  background:linear-gradient(180deg,#e7fbff 0%,#fffaf0 58%,#fff1b5 100%)!important;
  overflow:hidden;
}
.homepage-upload-panel::before,
.homepage-dashboard-panel::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:28px;
  background:linear-gradient(180deg,var(--rp-grass),var(--rp-grass-dark));
  opacity:.9;
}
.homepage-upload-panel > *,
.homepage-dashboard-panel > *{
  position:relative;
  z-index:1;
}
.homepage-upload-panel__head,
.homepage-dashboard-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
}
.homepage-upload-panel__head h2,
.homepage-dashboard-head h2{
  margin:.1rem 0 0;
  color:#143a63;
  font-size:clamp(1.35rem,3vw,2.1rem);
  line-height:1;
}
.homepage-upload-icon{
  width:56px;
  height:56px;
  flex:0 0 auto;
  display:block;
  border-radius:16px;
  border:3px solid rgba(31,41,55,.16);
  background:linear-gradient(180deg,#fff186,#ffc233);
  box-shadow:0 6px 0 var(--rp-block-dark);
}
.homepage-guest-form{
  display:grid;
  gap:.58rem;
  padding:.9rem;
  border:4px dashed rgba(21,132,68,.55)!important;
  border-radius:22px;
  background:rgba(255,250,240,.92)!important;
}
.homepage-upload-panel.is-dragging .homepage-guest-form{
  border-color:#0d64c9!important;
  background:#effcff!important;
}
.homepage-helper-text,
.homepage-register-note{
  margin:0;
  color:#42526a!important;
  font-size:.88rem;
  line-height:1.35;
}
.homepage-checkline{
  margin:.1rem 0;
  font-size:.9rem;
  line-height:1.35;
}
.homepage-disabled-panel,
.homepage-empty-state{
  display:grid;
  gap:.7rem;
  place-items:start;
  padding:1rem;
  border:3px solid rgba(31,41,55,.12);
  border-radius:20px;
  background:rgba(255,250,240,.86);
}
.homepage-dashboard-head span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  padding:.45rem .7rem;
  border:2px solid rgba(31,41,55,.12);
  border-radius:999px;
  background:#fffaf0;
  color:#17395f;
  font-weight:950;
  box-shadow:0 4px 0 rgba(31,41,55,.09);
}
.homepage-recent-games{
  display:grid;
  gap:.62rem;
}
.homepage-game-tile{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:.72rem;
  align-items:center;
  padding:.72rem;
  border:3px solid rgba(31,41,55,.13);
  border-radius:20px;
  background:rgba(255,250,240,.92);
  box-shadow:0 5px 0 rgba(31,41,55,.08);
}
.homepage-rom-cover{
  width:70px;
  height:70px;
  display:grid;
  place-items:center;
  border-radius:16px;
  border:3px solid rgba(31,41,55,.14);
  background:linear-gradient(180deg,#ffe887,#ffc233);
  box-shadow:0 5px 0 var(--rp-block-dark);
  color:#10345c;
  font-weight:950;
  letter-spacing:.08em;
}
.homepage-rom-cover--fallback{
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.28) 0 8px,transparent 8px 16px),linear-gradient(180deg,#ffe887,#ffc233);
}
.homepage-rom-cover--image{
  background:#fffaf0;
  overflow:hidden;
}
.homepage-rom-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.homepage-game-info h3,
.homepage-empty-state h3{
  margin:0;
  color:#143a63;
  font-size:1rem;
}
.homepage-game-info p,
.homepage-empty-state p{
  margin:.18rem 0 .45rem;
  color:#42526a!important;
  font-size:.86rem;
  line-height:1.25;
}
.homepage-game-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
}
.homepage-game-actions .small-link,
.homepage-state-cards .small-link,
.homepage-full-width-link{
  min-height:34px;
  padding:.45rem .72rem!important;
  font-size:.8rem!important;
  box-shadow:0 4px 0 var(--rp-block-dark),0 9px 18px rgba(139,83,17,.12)!important;
}
.disabled-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:2px solid rgba(31,41,55,.12);
  border-radius:999px;
  background:rgba(255,250,240,.7);
  color:#697587;
  font-weight:950;
  text-decoration:none;
}
.homepage-full-width-link{
  width:100%;
  margin-top:auto;
}
.homepage-mini-leaderboard{
  display:grid;
  gap:.45rem;
  margin:.5rem 0 .85rem;
  padding:0;
  list-style:none;
}
.homepage-mini-leaderboard li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.7rem;
  padding:.5rem .65rem;
  border:2px solid rgba(31,41,55,.12);
  border-radius:14px;
  background:#fffaf0;
  color:#42526a;
}
.homepage-mini-leaderboard b{
  color:#143a63;
}
.homepage-public-library-tools{
  margin-top:1.35rem;
}
@media(max-width:1050px){
  .homepage-state-hero{
    grid-template-columns:1fr!important;
  }
  .homepage-upload-panel,
  .homepage-dashboard-panel{
    min-height:0;
  }
}
@media(max-width:760px){
  .homepage-state-hero{
    gap:.85rem!important;
    margin:1rem 0!important;
    padding:1rem!important;
  }
  .homepage-state-hero h1{
    font-size:clamp(2.05rem,10vw,3rem)!important;
    line-height:1.02!important;
  }
  .homepage-state-hero .hero-subtitle{
    font-size:1rem!important;
    line-height:1.35!important;
  }
  .homepage-hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .homepage-upload-panel,
  .homepage-dashboard-panel{
    padding:.85rem;
    border-radius:22px!important;
  }
  .homepage-upload-panel__head,
  .homepage-dashboard-head{
    align-items:flex-start;
  }
  .homepage-game-tile{
    grid-template-columns:58px 1fr;
    gap:.55rem;
    padding:.58rem;
  }
  .homepage-rom-cover{
    width:58px;
    height:58px;
    border-radius:14px;
    font-size:.82rem;
  }
  .homepage-game-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .homepage-game-actions .small-link,
  .homepage-state-cards .small-link{
    width:100%;
  }
}


@media (min-width: 1051px){
  .homepage-guest-hero{
    align-items:center!important;
  }
  .homepage-guest-hero .homepage-upload-panel{
    min-height:0!important;
    align-self:center!important;
    justify-content:center!important;
    padding:1.15rem!important;
  }
  .homepage-guest-hero .homepage-upload-panel::before{
    height:18px!important;
  }
  .homepage-guest-hero .homepage-guest-form{
    padding:1rem!important;
    border-width:3px!important;
    border-radius:20px!important;
    gap:.55rem!important;
    background:rgba(255,250,240,.96)!important;
  }
  .homepage-guest-hero .guest-file-button{
    padding:.78rem 1rem!important;
  }
}
.homepage-guest-chips{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-top:.05rem;
}
.homepage-guest-chips span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:.34rem .55rem;
  border:2px solid rgba(31,41,55,.12);
  border-radius:999px;
  background:rgba(255,250,240,.92);
  color:#17395f;
  font-size:.78rem;
  line-height:1;
  font-weight:950;
  box-shadow:0 3px 0 rgba(31,41,55,.08);
}
@media (max-width: 760px){
  .homepage-guest-chips{
    display:grid;
    grid-template-columns:1fr;
  }
  .homepage-guest-chips span{
    width:100%;
  }
}


.homepage-player-hero .homepage-dashboard-panel::before{
  display:none!important;
  content:none!important;
}
.homepage-player-hero .homepage-dashboard-panel{
  padding-bottom:1.05rem!important;
}
.homepage-player-hero .homepage-full-width-link{
  margin-top:.25rem!important;
}
.homepage-player-hero .homepage-game-tile{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  will-change:transform;
}
.homepage-player-hero .homepage-rom-cover{
  position:relative;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
  will-change:transform;
}
.homepage-player-hero .homepage-rom-cover img{
  transition:transform .22s ease;
  transform-origin:center;
}
.homepage-player-hero .homepage-game-tile:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 0 rgba(31,41,55,.1),0 14px 24px rgba(23,57,95,.10);
  border-color:rgba(21,132,68,.24);
}
.homepage-player-hero .homepage-game-tile:hover .homepage-rom-cover{
  transform:translateY(-1px);
  box-shadow:0 6px 0 var(--rp-block-dark),0 10px 16px rgba(139,83,17,.14);
}
.homepage-player-hero .homepage-game-tile:hover .homepage-rom-cover img{
  transform:scale(1.035);
}
.homepage-player-hero .homepage-rom-cover--image::after,
.homepage-player-hero .homepage-game-actions .primary-link::before,
.homepage-player-hero .homepage-full-width-link::before{
  content:"";
  position:absolute;
  top:-40%;
  bottom:-40%;
  width:42%;
  left:-65%;
  pointer-events:none;
  background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.44) 50%,transparent 100%);
  transform:skewX(-18deg);
}
.homepage-player-hero .homepage-rom-cover--image::after{
  animation:eggyCoverSoftShine 7.5s ease-in-out infinite;
  opacity:.55;
}
.homepage-player-hero .homepage-game-actions .primary-link,
.homepage-player-hero .homepage-full-width-link{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate;
}
.homepage-player-hero .homepage-game-actions .primary-link::before,
.homepage-player-hero .homepage-full-width-link::before{
  animation:eggyButtonSoftShine 5.8s ease-in-out infinite;
  opacity:.42;
}
.homepage-player-hero .homepage-game-actions .primary-link{
  animation:eggyPlayButtonBreath 4.8s ease-in-out infinite;
}
.homepage-player-hero .homepage-rom-cover--fallback{
  background-size:24px 24px,auto!important;
  animation:eggyFallbackStripeDrift 12s linear infinite;
}
@keyframes eggyCoverSoftShine{
  0%,62%{left:-65%;opacity:0;}
  68%{opacity:.55;}
  82%{left:125%;opacity:.38;}
  100%{left:125%;opacity:0;}
}
@keyframes eggyButtonSoftShine{
  0%,55%{left:-65%;opacity:0;}
  64%{opacity:.42;}
  78%{left:125%;opacity:.28;}
  100%{left:125%;opacity:0;}
}
@keyframes eggyPlayButtonBreath{
  0%,100%{filter:none;}
  50%{filter:brightness(1.035);}
}
@keyframes eggyFallbackStripeDrift{
  from{background-position:0 0,0 0;}
  to{background-position:24px 24px,0 0;}
}
@media (prefers-reduced-motion: reduce){
  .homepage-player-hero .homepage-game-tile,
  .homepage-player-hero .homepage-rom-cover,
  .homepage-player-hero .homepage-rom-cover img{
    transition:none!important;
    will-change:auto!important;
  }
  .homepage-player-hero .homepage-game-tile:hover,
  .homepage-player-hero .homepage-game-tile:hover .homepage-rom-cover,
  .homepage-player-hero .homepage-game-tile:hover .homepage-rom-cover img{
    transform:none!important;
  }
  .homepage-player-hero .homepage-rom-cover--image::after,
  .homepage-player-hero .homepage-game-actions .primary-link::before,
  .homepage-player-hero .homepage-full-width-link::before,
  .homepage-player-hero .homepage-game-actions .primary-link,
  .homepage-player-hero .homepage-rom-cover--fallback{
    animation:none!important;
  }
}


.site-footer.retro-footer{
  width:min(1480px,calc(100% - 2rem))!important;
  margin:1.55rem auto 2.6rem!important;
  padding:.95rem 1.15rem!important;
  border:3px solid rgba(31,41,55,.10)!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(255,250,240,.82),rgba(255,242,190,.76))!important;
  box-shadow:0 8px 0 rgba(27,48,76,.12),0 18px 34px rgba(38,91,120,.10)!important;
  color:#42526a!important;
  text-align:center!important;
}
.site-footer.retro-footer .footer-platform-strip{
  display:none!important;
}
.site-footer.retro-footer .footer-legal-copy,
.site-footer.retro-footer p{
  max-width:980px!important;
  margin:.05rem auto .72rem!important;
  color:#42526a!important;
  font-size:.95rem!important;
  line-height:1.45!important;
  font-weight:700!important;
}
.site-footer.retro-footer .footer-links{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:.45rem!important;
  margin:0!important;
}
.site-footer.retro-footer .footer-links a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:.38rem .68rem!important;
  border:2px solid rgba(31,41,55,.12)!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#fffaf0,#fff1bd)!important;
  color:#17395f!important;
  text-decoration:none!important;
  font-size:.82rem!important;
  font-weight:950!important;
  box-shadow:0 4px 0 rgba(31,41,55,.09)!important;
}
.site-footer.retro-footer .footer-links a:hover,
.site-footer.retro-footer .footer-links a:focus-visible{
  color:#5a3510!important;
  border-color:rgba(209,139,36,.42)!important;
  background:linear-gradient(180deg,#fff186,#ffd35a)!important;
  transform:translateY(-1px);
}
@media(max-width:760px){
  .site-footer.retro-footer{
    width:calc(100% - 1rem)!important;
    margin:1rem auto 2rem!important;
    padding:.85rem .7rem!important;
    border-radius:18px!important;
  }
  .site-footer.retro-footer .footer-legal-copy,
  .site-footer.retro-footer p{
    font-size:.86rem!important;
  }
  .site-footer.retro-footer .footer-links{
    gap:.35rem!important;
  }
  .site-footer.retro-footer .footer-links a{
    min-height:32px!important;
    padding:.34rem .55rem!important;
    font-size:.76rem!important;
  }
}


.homepage-guest-hero .homepage-upload-panel::before{
  display:none!important;
  content:none!important;
}
.homepage-guest-hero .homepage-upload-panel{
  padding-bottom:1.15rem!important;
}
.homepage-guest-hero .homepage-guest-form{
  margin-bottom:0!important;
}
.homepage-guest-hero .homepage-guest-chips{
  margin-top:.7rem!important;
  padding:0 0 .05rem!important;
  position:relative;
  z-index:2;
}
@media(max-width:760px){
  .homepage-guest-hero .homepage-guest-chips{
    margin-top:.65rem!important;
  }
}


.romconsole-brand{gap:.7rem!important;min-width:0;text-decoration:none!important;}
.romconsole-brand span{width:48px!important;height:48px!important;font-size:.9rem!important;letter-spacing:-.03em!important;font-weight:950!important;}
.romconsole-brand strong{display:grid!important;gap:.02rem!important;line-height:1.02!important;font-size:1.05rem!important;letter-spacing:-.02em!important;white-space:nowrap!important;color:#102f52!important;}
.romconsole-brand strong small{display:block!important;font-size:.64rem!important;line-height:1!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#62718a!important;font-weight:950!important;}
@media(max-width:760px) and (orientation:portrait){
  .romconsole-brand{gap:.5rem!important;}
  .romconsole-brand span{width:38px!important;height:38px!important;font-size:.74rem!important;border-radius:11px!important;}
  .romconsole-brand strong{font-size:.92rem!important;max-width:44vw;overflow:hidden;text-overflow:ellipsis;}
  .romconsole-brand strong small{font-size:.54rem!important;letter-spacing:.08em!important;}
}


.romconsole-brand .romconsole-logo-mark{
  position:relative!important;
  flex:0 0 auto!important;
  width:52px!important;
  height:52px!important;
  display:inline-block!important;
  border-radius:15px 15px 17px 17px!important;
  border:3px solid rgba(109,67,19,.28)!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.42) 0 18%,transparent 19% 100%),
    linear-gradient(180deg,#fff09a 0%,#ffd24d 55%,#f2a90f 100%)!important;
  box-shadow:0 6px 0 #c77c08,0 10px 18px rgba(16,47,82,.15)!important;
  overflow:hidden!important;
  color:transparent!important;
  font-size:0!important;
  letter-spacing:0!important;
}
.romconsole-brand .romconsole-logo-mark::before{
  content:"";
  position:absolute;
  left:9px;
  right:9px;
  top:7px;
  height:7px;
  border-radius:8px 8px 4px 4px;
  background:rgba(255,255,255,.42);
  box-shadow:inset 0 -2px 0 rgba(109,67,19,.11);
}
.romconsole-brand .romconsole-logo-mark::after{
  content:"";
  position:absolute;
  left:9px;
  right:9px;
  bottom:7px;
  height:5px;
  border-radius:999px;
  background:#8b5a22;
  box-shadow:0 -1px 0 rgba(255,255,255,.35);
}
.romconsole-logo-screen{
  position:absolute;
  left:12px;
  top:19px;
  width:19px;
  height:15px;
  border-radius:4px;
  background:linear-gradient(180deg,#1d70d8,#0a4aa0);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.28),0 0 0 2px rgba(16,47,82,.08);
}
.romconsole-logo-slot{
  position:absolute;
  left:12px;
  top:37px;
  width:29px;
  height:4px;
  border-radius:999px;
  background:rgba(109,67,19,.38);
}
.romconsole-logo-button{
  position:absolute;
  width:8px;
  height:8px;
  border-radius:999px;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.33),0 1px 0 rgba(109,67,19,.18);
}
.romconsole-logo-button-a{right:12px;top:20px;background:#ff5b51;}
.romconsole-logo-button-b{right:12px;top:31px;background:#43c96f;}
.romconsole-brand strong small{color:#4f6075!important;}
.dashboard-feature-card{
  padding:1.35rem 1.3rem 1.55rem!important;
}
.dashboard-card-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.78rem;
  margin:0 0 1rem;
}
.dashboard-card-head h2{
  margin:0!important;
  line-height:1.08;
}
.dashboard-card-pill{
  align-self:start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:.32rem .62rem;
  border-radius:999px;
  border:3px solid rgba(31,41,55,.12);
  background:linear-gradient(180deg,#fffdf7,#fff0b8);
  box-shadow:0 4px 0 rgba(31,41,55,.12);
  color:#143a63;
  font-size:.72rem;
  font-weight:950;
  white-space:nowrap;
}
.homepage-player-cards .dashboard-feature-card{
  transition:transform .18s ease, box-shadow .18s ease;
}
.homepage-player-cards .dashboard-feature-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 0 rgba(18,83,58,.24),0 22px 30px rgba(16,47,82,.13);
}
.homepage-player-cards .platform-icon{
  position:relative;
  width:58px;
  height:58px;
  overflow:hidden;
}
.homepage-player-cards .platform-icon::after{
  content:"";
  position:absolute;
  inset:-40% auto auto -65%;
  width:55%;
  height:185%;
  transform:rotate(25deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  opacity:.8;
  animation:romconsoleIconShine 5.8s ease-in-out infinite;
}
.library-shelf-icon::before,
.leaderboard-trophy-icon::before,
.activity-pulse-icon::before{
  content:"";
  position:absolute;
  display:block;
}
.library-shelf-icon::before{
  left:11px;
  top:13px;
  width:26px;
  height:30px;
  border-radius:6px 6px 8px 8px;
  background:linear-gradient(180deg,#1d70d8,#0d4ea7);
  box-shadow:
    7px 4px 0 #43c96f,
    14px 8px 0 #ff5b51,
    0 24px 0 -8px rgba(109,67,19,.55);
}
.leaderboard-trophy-icon::before{
  left:15px;
  top:11px;
  width:28px;
  height:27px;
  border-radius:7px 7px 13px 13px;
  background:linear-gradient(180deg,#fff176,#ffbf2f);
  box-shadow:
    -10px 5px 0 -4px #ffd35a,
    10px 5px 0 -4px #ffd35a,
    0 22px 0 -8px #8b5a22,
    0 30px 0 -10px #6d4313;
}
.leaderboard-trophy-icon::after{
  content:"";
  position:absolute;
  left:23px;
  top:38px;
  width:13px;
  height:8px;
  border-radius:4px 4px 2px 2px;
  background:#8b5a22;
  box-shadow:0 7px 0 -2px #6d4313;
}
.activity-pulse-icon::before{
  left:11px;
  top:15px;
  width:36px;
  height:28px;
  border-radius:10px;
  background:linear-gradient(180deg,#fff9cf,#ffd35a);
  box-shadow:inset 0 -4px 0 rgba(109,67,19,.16);
}
.activity-pulse-icon::after{
  content:"";
  position:absolute;
  left:15px;
  top:29px;
  width:29px;
  height:11px;
  background:linear-gradient(90deg,transparent 0 9%,#176bd7 10% 20%,transparent 21% 31%,#176bd7 32% 43%,transparent 44% 54%,#43c96f 55% 68%,transparent 69% 100%);
  clip-path:polygon(0 55%,16% 55%,25% 14%,38% 82%,50% 32%,62% 55%,100% 55%,100% 76%,0 76%);
}
@keyframes romconsoleIconShine{
  0%,68%{transform:translateX(0) rotate(25deg);opacity:0;}
  74%{opacity:.72;}
  88%{transform:translateX(280%) rotate(25deg);opacity:0;}
  100%{transform:translateX(280%) rotate(25deg);opacity:0;}
}
@media(max-width:760px){
  .romconsole-brand .romconsole-logo-mark{
    width:40px!important;
    height:40px!important;
    border-radius:12px!important;
    box-shadow:0 5px 0 #c77c08,0 8px 14px rgba(16,47,82,.13)!important;
  }
  .romconsole-brand .romconsole-logo-mark::before{left:7px;right:7px;top:5px;height:5px;}
  .romconsole-brand .romconsole-logo-mark::after{left:7px;right:7px;bottom:5px;height:4px;}
  .romconsole-logo-screen{left:9px;top:14px;width:15px;height:12px;border-radius:3px;}
  .romconsole-logo-slot{left:9px;top:29px;width:23px;height:3px;}
  .romconsole-logo-button{width:6px;height:6px;right:9px;}
  .romconsole-logo-button-a{top:15px;}
  .romconsole-logo-button-b{top:24px;}
  .dashboard-card-head{grid-template-columns:auto minmax(0,1fr);gap:.65rem;}
  .dashboard-card-pill{grid-column:1 / -1;justify-self:start;}
}
@media(prefers-reduced-motion:reduce){
  .homepage-player-cards .dashboard-feature-card,
  .homepage-player-cards .platform-icon::after{
    transition:none!important;
    animation:none!important;
  }
  .homepage-player-cards .dashboard-feature-card:hover{transform:none!important;}
}


.homepage-player-cards .dashboard-card-head{
  grid-template-columns:78px minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
}
.homepage-player-cards .dashboard-card-title{
  min-width:0;
  display:grid;
  gap:.18rem;
}
.homepage-player-cards .dashboard-card-title h2{
  margin:0!important;
  line-height:1.02!important;
}
.homepage-player-cards .dashboard-card-title small{
  display:block;
  color:#63748b;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.homepage-player-cards .library-shelf-icon,
.homepage-player-cards .leaderboard-trophy-icon,
.homepage-player-cards .activity-pulse-icon{
  width:72px!important;
  height:66px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  overflow:visible!important;
  transform:translateZ(0);
  transition:transform .18s ease;
}
.homepage-player-cards .dashboard-feature-card:hover .library-shelf-icon,
.homepage-player-cards .dashboard-feature-card:hover .leaderboard-trophy-icon,
.homepage-player-cards .dashboard-feature-card:hover .activity-pulse-icon{
  transform:translateY(-2px);
}
.homepage-player-cards .library-shelf-icon::before,
.homepage-player-cards .leaderboard-trophy-icon::before,
.homepage-player-cards .activity-pulse-icon::before,
.homepage-player-cards .library-shelf-icon::after,
.homepage-player-cards .leaderboard-trophy-icon::after,
.homepage-player-cards .activity-pulse-icon::after{
  content:""!important;
  position:absolute!important;
  display:block!important;
  animation:none!important;
}
.homepage-player-cards .library-shelf-icon::before{
  left:4px;
  right:4px;
  bottom:7px;
  height:12px;
  border-radius:999px 999px 10px 10px;
  background:linear-gradient(180deg,#9b631d,#6d4313);
  box-shadow:0 5px 0 rgba(90,53,16,.25);
}
.homepage-player-cards .library-shelf-icon::after{
  left:3px;
  top:5px;
  width:62px;
  height:45px;
  border-radius:14px 14px 12px 12px;
  border:3px solid rgba(90,53,16,.2);
  background:
    linear-gradient(180deg,#176bd7,#0d4ea7) 9px 13px / 13px 17px no-repeat,
    linear-gradient(180deg,#43c96f,#15924a) 27px 14px / 13px 17px no-repeat,
    linear-gradient(180deg,#ff5b51,#d53635) 45px 13px / 13px 17px no-repeat,
    repeating-linear-gradient(135deg,rgba(255,255,255,.28) 0 7px,transparent 7px 14px),
    linear-gradient(180deg,#fff18a,#ffc237);
  box-shadow:0 7px 0 #c77c08,0 10px 14px rgba(16,47,82,.16);
}
.homepage-player-cards .leaderboard-trophy-icon::before{
  left:13px;
  top:5px;
  width:43px;
  height:35px;
  border-radius:12px 12px 18px 18px;
  border:3px solid rgba(90,53,16,.22);
  background:linear-gradient(180deg,#fff6a0 0%,#ffd24e 44%,#f4a91e 100%);
  box-shadow:
    -15px 8px 0 -6px #ffd45e,
    15px 8px 0 -6px #ffd45e,
    inset 0 -7px 0 rgba(139,83,17,.16),
    0 6px 0 #c77c08,
    0 11px 16px rgba(16,47,82,.14);
}
.homepage-player-cards .leaderboard-trophy-icon::after{
  left:22px;
  top:38px;
  width:29px;
  height:20px;
  border-radius:6px 6px 4px 4px;
  background:
    linear-gradient(180deg,#8b5a22,#6d4313) 9px 0 / 11px 10px no-repeat,
    linear-gradient(180deg,#a86b21,#6d4313) 2px 10px / 25px 9px no-repeat;
  box-shadow:0 5px 0 rgba(90,53,16,.22);
}
.homepage-player-cards .activity-pulse-icon::before{
  left:7px;
  top:5px;
  width:50px;
  height:50px;
  border-radius:50%;
  border:4px solid #176bd7;
  background:
    radial-gradient(circle at 50% 50%,#143a63 0 3px,transparent 4px),
    linear-gradient(#143a63,#143a63) 50% 15px / 4px 17px no-repeat,
    linear-gradient(90deg,#143a63,#143a63) 50% 50% / 17px 4px no-repeat,
    linear-gradient(180deg,#fffdf1,#ffe777);
  box-shadow:0 7px 0 #c77c08,0 12px 16px rgba(16,47,82,.14),inset 0 -6px 0 rgba(139,83,17,.12);
}
.homepage-player-cards .activity-pulse-icon::after{
  left:22px;
  top:37px;
  width:43px;
  height:16px;
  background:linear-gradient(90deg,#176bd7 0 32%,#43c96f 33% 65%,#ff5b51 66% 100%);
  clip-path:polygon(0 58%,14% 58%,24% 18%,36% 90%,49% 34%,61% 58%,75% 58%,86% 20%,100% 58%,100% 78%,0 78%);
  filter:drop-shadow(0 3px 0 rgba(20,58,99,.18));
}
@media(max-width:760px){
  .homepage-player-cards .dashboard-card-head{grid-template-columns:64px minmax(0,1fr);gap:.82rem;}
  .homepage-player-cards .library-shelf-icon,
  .homepage-player-cards .leaderboard-trophy-icon,
  .homepage-player-cards .activity-pulse-icon{width:62px!important;height:58px!important;transform:scale(.88);transform-origin:left center;}
  .homepage-player-cards .dashboard-card-pill{grid-column:1 / -1;justify-self:start;margin-left:0;}
}
@media(prefers-reduced-motion:reduce){
  .homepage-player-cards .library-shelf-icon,
  .homepage-player-cards .leaderboard-trophy-icon,
  .homepage-player-cards .activity-pulse-icon{transition:none!important;}
  .homepage-player-cards .dashboard-feature-card:hover .library-shelf-icon,
  .homepage-player-cards .dashboard-feature-card:hover .leaderboard-trophy-icon,
  .homepage-player-cards .dashboard-feature-card:hover .activity-pulse-icon{transform:none!important;}
}


.homepage-guest-hero .homepage-upload-panel--mockup{
  min-height:0!important;
  align-self:center!important;
  justify-content:flex-start!important;
  gap:.72rem!important;
  padding:1rem!important;
  border:4px solid rgba(121,207,224,.58)!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,#6fd6ee 0%,#dffaff 48%,#fff5bc 100%)!important;
  box-shadow:0 8px 0 rgba(16,79,94,.18),0 18px 34px rgba(16,79,94,.12)!important;
  overflow:hidden!important;
}
.homepage-guest-hero .homepage-upload-panel--mockup::before,
.homepage-guest-hero .homepage-upload-panel--mockup::after{
  display:none!important;
  content:none!important;
}
.homepage-guest-hero .homepage-upload-panel__head--mockup{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:.75rem!important;
  margin:0!important;
}
.homepage-guest-hero .homepage-upload-panel__head--mockup h2{
  margin:0!important;
  color:#153e67!important;
  font-size:clamp(1.05rem,1.75vw,1.35rem)!important;
  line-height:1.1!important;
  letter-spacing:-.02em!important;
}
.homepage-temp-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:30px!important;
  padding:.34rem .65rem!important;
  border-radius:999px!important;
  border:3px solid rgba(90,53,16,.22)!important;
  background:linear-gradient(180deg,#ffe887,#ffc233)!important;
  color:#6a3d0d!important;
  box-shadow:0 4px 0 var(--rp-block-dark)!important;
  font-size:.68rem!important;
  line-height:1!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.homepage-guest-hero .homepage-guest-form--mockup{
  display:grid!important;
  gap:.62rem!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.homepage-guest-drop-core{
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
  min-height:138px!important;
  padding:1.05rem!important;
  border:4px dashed rgba(59,157,104,.55)!important;
  border-radius:24px!important;
  background:rgba(255,250,240,.9)!important;
  color:#143a63!important;
  transition:border-color .18s ease,background .18s ease,transform .18s ease!important;
}
.homepage-guest-form--mockup.dragover .homepage-guest-drop-core,
.homepage-upload-panel--mockup.is-dragging .homepage-guest-drop-core{
  border-color:#0b66c9!important;
  background:#effcff!important;
  transform:translateY(-1px)!important;
}
.homepage-rom-drop-icon{
  position:relative!important;
  width:58px!important;
  height:64px!important;
  display:grid!important;
  place-items:center!important;
  margin:0 auto .48rem!important;
  border-radius:15px!important;
  border:4px solid rgba(90,53,16,.24)!important;
  background:linear-gradient(180deg,#ffe985 0%,#ffc733 100%)!important;
  box-shadow:0 5px 0 var(--rp-block-dark),inset 0 2px 0 rgba(255,255,255,.48)!important;
  color:#0d4b80!important;
  font-size:.63rem!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
}
.homepage-rom-drop-icon::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-1px;
  width:22px;
  height:6px;
  transform:translateX(-50%);
  border-radius:8px 8px 2px 2px;
  background:rgba(90,53,16,.2);
}
.homepage-guest-drop-core strong{
  display:block!important;
  margin:0!important;
  color:#11375f!important;
  font-size:1.2rem!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
}
.homepage-guest-drop-core small{
  display:block!important;
  margin:.12rem 0 0!important;
  color:#385069!important;
  font-size:.86rem!important;
  line-height:1.1!important;
  font-weight:850!important;
}
.homepage-guest-file-row,
.homepage-checkline--mockup{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.7rem!important;
  min-height:48px!important;
  padding:.43rem .62rem!important;
  border:3px solid rgba(31,41,55,.12)!important;
  border-radius:16px!important;
  background:rgba(255,250,240,.95)!important;
  box-shadow:0 3px 0 rgba(31,41,55,.07)!important;
}
.homepage-guest-file-row{
  flex-direction:column!important;
  gap:.18rem!important;
  min-height:64px!important;
  padding:.55rem .7rem .48rem!important;
  text-align:center!important;
}
.homepage-guest-file-row .guest-file-button{
  flex:0 0 auto!important;
  width:100%!important;
  min-height:28px!important;
  padding:.1rem .7rem!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:#1c2f4a!important;
  font-size:.86rem!important;
  font-weight:950!important;
  line-height:1.15!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.homepage-guest-file-row .guest-file-name{
  flex:0 0 auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  color:#65738a!important;
  font-size:.78rem!important;
  font-weight:850!important;
  line-height:1.18!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}
.homepage-checkline--mockup{
  justify-content:flex-start!important;
  margin:0!important;
  color:#1f3552!important;
  font-size:.9rem!important;
  font-weight:900!important;
  line-height:1.25!important;
}
.homepage-checkline--mockup input{
  flex:0 0 auto!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
}
.homepage-checkline--mockup span{
  min-width:0!important;
}
.homepage-guest-action-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:.65rem!important;
  align-items:center!important;
}
.homepage-guest-action-row .primary-btn,
.homepage-guest-action-row .homepage-register-save-link{
  width:100%!important;
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:.55rem .85rem!important;
  font-size:.9rem!important;
  line-height:1!important;
  text-align:center!important;
}
.homepage-guest-action-row .primary-btn:disabled{
  opacity:.7!important;
  filter:saturate(.72)!important;
  cursor:not-allowed!important;
  transform:none!important;
}
.homepage-guest-platform-chips{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:.38rem!important;
  margin:0!important;
}
.homepage-guest-platform-chips span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:28px!important;
  padding:.3rem .56rem!important;
  border-radius:999px!important;
  border:2px solid rgba(31,41,55,.1)!important;
  background:rgba(255,250,240,.92)!important;
  color:#17406b!important;
  font-size:.72rem!important;
  line-height:1!important;
  font-weight:950!important;
  white-space:nowrap!important;
  box-shadow:0 2px 0 rgba(31,41,55,.08)!important;
}
.homepage-register-note--mockup{
  margin:-.12rem 0 0!important;
  padding:0 .08rem!important;
  color:#40506a!important;
  font-size:.78rem!important;
  line-height:1.3!important;
}
.homepage-guest-form--mockup .guest-error{
  min-height:0!important;
  color:#a83b32!important;
  font-size:.82rem!important;
  font-weight:850!important;
}
@media (min-width:1051px){
  .homepage-guest-hero .homepage-upload-panel--mockup{
    max-width:560px!important;
    width:100%!important;
  }
}
@media (max-width:760px){
  .homepage-guest-hero .homepage-upload-panel--mockup{
    padding:.82rem!important;
    border-radius:22px!important;
  }
  .homepage-guest-drop-core{
    min-height:116px!important;
    padding:.85rem .7rem!important;
    border-radius:19px!important;
  }
  .homepage-rom-drop-icon{
    width:50px!important;
    height:56px!important;
  }
  .homepage-guest-action-row{
    grid-template-columns:1fr!important;
  }
  .homepage-guest-file-row{
    display:flex!important;
    flex-direction:column!important;
  }
  .homepage-guest-file-row .guest-file-button{
    width:100%!important;
  }
  .homepage-guest-platform-chips span{
    flex:1 1 auto!important;
  }
}


body.player-body.retro-player-body{
  background:radial-gradient(circle at 50% 0%,rgba(78,207,238,.10),transparent 30rem),linear-gradient(180deg,#081827 0%,#03080f 100%)!important;
  color:#f7f1dc!important;
}
body.player-body .retro-player-topbar,
body.player-body .player-topbar.retro-player-topbar{
  background:linear-gradient(180deg,#10263a 0%,#071522 100%)!important;
  color:#f7f1dc!important;
  border-bottom:3px solid rgba(219,184,91,.38)!important;
  box-shadow:0 5px 0 rgba(0,0,0,.24)!important;
}
body.player-body .retro-player-topbar .back-link,
body.player-body .retro-player-topbar strong,
body.player-body .retro-player-topbar .player-titlebar strong{
  color:#fff7df!important;
  text-shadow:0 2px 0 rgba(0,0,0,.28)!important;
}
body.player-body .retro-player-topbar span,
body.player-body .retro-player-topbar .player-titlebar span{
  color:#cbd9e7!important;
}
body.player-body .player-shell{
  background:linear-gradient(135deg,#05101b 0%,#071522 54%,#02060b 100%)!important;
}
body.player-body .player-stage{
  background:radial-gradient(circle at 50% 20%,rgba(76,203,239,.10),transparent 21rem),linear-gradient(180deg,#050c14 0%,#02060b 100%)!important;
}
body.player-body .emulator-mount{
  background:#000!important;
  border:5px solid rgba(251,241,204,.92)!important;
  box-shadow:0 14px 0 rgba(0,0,0,.42),0 0 0 2px rgba(219,184,91,.28),0 28px 54px rgba(0,0,0,.44)!important;
}
body.player-body .retro-player-panel,
body.player-body .player-panel.retro-player-panel{
  background:linear-gradient(180deg,#0f2236 0%,#091827 100%)!important;
  color:#f7f1dc!important;
  border-left:3px solid rgba(219,184,91,.38)!important;
  box-shadow:inset 1px 0 0 rgba(255,255,255,.05)!important;
}
body.player-body .retro-player-panel h2,
body.player-body .retro-player-panel h3,
body.player-body .retro-player-panel summary,
body.player-body .retro-player-panel b{
  color:#fff7df!important;
}
body.player-body .retro-player-panel p,
body.player-body .retro-player-panel .muted,
body.player-body .retro-player-panel .tiny{
  color:#d3dfeb!important;
}
body.player-body .retro-player-panel .status-list span,
body.player-body .retro-player-panel .essential-status span,
body.player-body .retro-player-panel .panel-section,
body.player-body .retro-player-panel .mapping-box,
body.player-body .retro-player-panel .stat-grid span,
body.player-body .retro-player-panel .core-status-list span{
  background:rgba(255,250,240,.075)!important;
  border:2px solid rgba(251,241,204,.14)!important;
  color:#eaf3fb!important;
  box-shadow:0 4px 0 rgba(0,0,0,.18)!important;
}
body.player-body .retro-player-panel .status-list b,
body.player-body .retro-player-panel .stat-grid b,
body.player-body .retro-player-panel .core-status-list b{
  color:#ffe28a!important;
}
body.player-body .guest-warning-card{
  background:linear-gradient(180deg,rgba(27,69,96,.94),rgba(18,48,74,.94))!important;
  border:2px solid rgba(104,216,255,.26)!important;
  color:#f7f1dc!important;
}
body.player-body .secondary-player-btn,
body.player-body .player-topbar button,
body.player-body #fullscreenBtn,
body.player-body #panelToggle{
  background:linear-gradient(180deg,#ffe887,#ffc233)!important;
  color:#5a3510!important;
  border:2px solid rgba(90,53,16,.22)!important;
  box-shadow:0 5px 0 #d68d13,0 11px 20px rgba(0,0,0,.22)!important;
}

@media (max-width:760px) and (orientation:portrait){
  .homepage-public-game-grid{
    gap:.72rem!important;
    margin-bottom:1rem!important;
  }
  .homepage-public-game-grid .platformer-game-card,
  .homepage-public-game-grid .game-card{
    min-height:0!important;
    padding:.72rem!important;
    border-width:2px!important;
    border-radius:20px!important;
    display:grid!important;
    gap:.42rem!important;
    overflow:hidden!important;
  }
  .homepage-public-game-grid .console-badge{
    min-width:0!important;
    width:max-content!important;
    max-width:100%!important;
    padding:.34rem .62rem!important;
    font-size:.74rem!important;
    line-height:1!important;
    border-radius:999px!important;
  }
  .homepage-public-game-grid .cover-box{
    height:108px!important;
    margin:.38rem 0 .45rem!important;
    border-width:3px!important;
    border-radius:16px!important;
  }
  .homepage-public-game-grid .cover-box img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  .homepage-public-game-grid .platformer-css-art,
  .homepage-public-game-grid .css-art.platformer-css-art{
    min-height:108px!important;
  }
  .homepage-public-game-grid .game-card h2,
  .homepage-public-game-grid .platformer-game-card h2{
    margin:.08rem 0 .16rem!important;
    font-size:1.14rem!important;
    line-height:1.12!important;
    letter-spacing:-.025em!important;
  }
  .homepage-public-game-grid .game-card p,
  .homepage-public-game-grid .platformer-game-card p{
    min-height:0!important;
    max-height:2.9em!important;
    margin:.08rem 0 .42rem!important;
    font-size:.84rem!important;
    line-height:1.42!important;
    overflow:hidden!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow-wrap:anywhere!important;
  }
  .homepage-public-game-grid .card-meta{
    gap:.28rem!important;
    margin:0 0 .5rem!important;
  }
  .homepage-public-game-grid .card-meta span{
    padding:.28rem .44rem!important;
    font-size:.68rem!important;
    line-height:1!important;
    border-width:2px!important;
  }
  .homepage-public-game-grid .play-btn{
    width:max-content!important;
    min-height:38px!important;
    padding:.5rem .88rem!important;
    font-size:.9rem!important;
    line-height:1!important;
    border-radius:999px!important;
  }
}

@media (max-height:560px) and (orientation:landscape) and (hover:none) and (pointer:coarse){
  body.player-body .eggy-primary-start-controls{
    position:static!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:0!important;
    height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    display:contents!important;
  }
  body.player-body .eggy-primary-start-controls [data-eggy-runtime-input]{
    position:fixed!important;
    z-index:2147483647!important;
    bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:72px!important;
    min-width:72px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 .5rem!important;
    border-radius:14px!important;
    border:2px solid rgba(255,255,255,.42)!important;
    background:linear-gradient(180deg,rgba(255,232,135,.98),rgba(255,194,51,.96))!important;
    color:#5a3510!important;
    font:900 12px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    letter-spacing:.035em!important;
    text-align:center!important;
    text-shadow:none!important;
    box-shadow:0 3px 0 rgba(139,83,17,.9),0 8px 16px rgba(0,0,0,.38)!important;
    opacity:.96!important;
    pointer-events:auto!important;
    touch-action:none!important;
    user-select:none!important;
    -webkit-user-select:none!important;
  }
  body.player-body .eggy-primary-start-controls [data-eggy-runtime-input="select"]{
    left:calc(10px + env(safe-area-inset-left,0px))!important;
    right:auto!important;
    transform:none!important;
  }
  body.player-body .eggy-primary-start-controls [data-eggy-runtime-input="start"]{
    right:calc(10px + env(safe-area-inset-right,0px))!important;
    left:auto!important;
    transform:none!important;
  }
}


@media (max-width:760px) and (orientation:portrait){
  .homepage-public-game-grid .platformer-game-card,
  .homepage-public-game-grid .game-card{
    padding:.78rem!important;
    gap:.45rem!important;
  }
  .homepage-public-game-grid .cover-box{
    width:min(220px,68vw)!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
    margin:.5rem auto .65rem!important;
    border-width:3px!important;
    border-radius:22px!important;
    display:block!important;
    overflow:hidden!important;
    background:linear-gradient(180deg,#fffaf0,#fff2be)!important;
  }
  .homepage-public-game-grid .cover-box img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  .homepage-public-game-grid .platformer-css-art,
  .homepage-public-game-grid .css-art.platformer-css-art{
    width:min(220px,68vw)!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1 / 1!important;
    margin:.5rem auto .65rem!important;
    border-radius:22px!important;
  }
  .homepage-public-game-grid .game-card h2,
  .homepage-public-game-grid .platformer-game-card h2{
    font-size:1.08rem!important;
    line-height:1.12!important;
    margin:.15rem 0 .18rem!important;
  }
  .homepage-public-game-grid .game-card p,
  .homepage-public-game-grid .platformer-game-card p{
    font-size:.82rem!important;
    line-height:1.38!important;
    max-height:2.76em!important;
    min-height:0!important;
    margin:.05rem 0 .45rem!important;
  }
}






.homepage-public-hero,
.platformer-public-hero,
.public-games-hero,
.game-browser-hero,
.homepage-game-browser-head,
.section-headline.homepage-public-hero{
  max-width:1180px!important;
  margin:1.15rem auto 1rem!important;
  padding:1.25rem 1.45rem!important;
  border:4px solid rgba(31,41,55,.14)!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,249,224,.96) 54%,rgba(255,240,181,.92))!important;
  box-shadow:0 10px 0 rgba(54,101,152,.14),0 24px 44px rgba(50,90,120,.18)!important;
  color:#143a63!important;
}
.homepage-public-hero h1,
.platformer-public-hero h1,
.public-games-hero h1,
.game-browser-hero h1,
.homepage-game-browser-head h1{
  margin:0 0 .58rem!important;
  font-size:clamp(2rem,4vw,3.2rem)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  color:#123b66!important;
  text-shadow:0 4px 0 rgba(42,111,154,.12)!important;
}
.homepage-public-hero p,
.platformer-public-hero p,
.public-games-hero p,
.game-browser-hero p,
.homepage-game-browser-head p{
  max-width:980px!important;
  margin:0!important;
  font-size:1rem!important;
  line-height:1.55!important;
  color:#42526a!important;
}
.homepage-public-library-tools{
  max-width:1180px!important;
  margin:0 auto 1rem!important;
  display:flex!important;
  align-items:center!important;
  gap:.75rem!important;
  flex-wrap:wrap!important;
}
.homepage-public-library-tools input[type="search"],
.platformer-library-tools.homepage-public-library-tools input[type="search"]{
  width:min(360px,100%)!important;
  min-height:44px!important;
  border-radius:18px!important;
  font-size:.95rem!important;
}
.homepage-public-library-tools .filter-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.42rem!important;
}
.homepage-public-library-tools .filter-tabs button{
  padding:.38rem .68rem!important;
  min-height:34px!important;
  font-size:.78rem!important;
  border-radius:999px!important;
}
.homepage-public-game-grid,
.platformer-game-grid.homepage-public-game-grid{
  max-width:1180px!important;
  margin:0 auto 1.5rem!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(210px,248px))!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:1rem!important;
}
.homepage-public-game-grid .platformer-game-card,
.homepage-public-game-grid .game-card{
  width:100%!important;
  min-height:0!important;
  padding:.92rem!important;
  border-width:3px!important;
  border-radius:22px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:.55rem!important;
  box-shadow:0 8px 0 rgba(21,132,68,.14),0 18px 32px rgba(50,90,120,.14)!important;
  overflow:hidden!important;
}
.homepage-public-game-grid .console-badge{
  align-self:flex-start!important;
  min-width:0!important;
  width:max-content!important;
  max-width:100%!important;
  padding:.36rem .72rem!important;
  font-size:.76rem!important;
  line-height:1!important;
  border-radius:999px!important;
}
.homepage-public-game-grid .cover-box{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4 / 3!important;
  margin:.18rem auto .34rem!important;
  border-width:3px!important;
  border-radius:16px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#fffdf5,#fff1bd)!important;
}
.homepage-public-game-grid .cover-box img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.homepage-public-game-grid .platformer-css-art,
.homepage-public-game-grid .css-art.platformer-css-art{
  min-height:0!important;
  width:100%!important;
  aspect-ratio:4 / 3!important;
}
.homepage-public-game-grid .game-card h2,
.homepage-public-game-grid .platformer-game-card h2{
  margin:.05rem 0 .04rem!important;
  font-size:1.02rem!important;
  line-height:1.16!important;
  letter-spacing:-.025em!important;
}
.homepage-public-game-grid .game-card p,
.homepage-public-game-grid .platformer-game-card p{
  min-height:0!important;
  max-height:2.8em!important;
  margin:0!important;
  font-size:.82rem!important;
  line-height:1.4!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow-wrap:anywhere!important;
}
.homepage-public-game-grid .card-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.3rem!important;
  margin:.12rem 0 .24rem!important;
}
.homepage-public-game-grid .card-meta span{
  padding:.28rem .45rem!important;
  font-size:.68rem!important;
  line-height:1!important;
  border-width:2px!important;
}
.homepage-public-game-grid .play-btn{
  align-self:flex-start!important;
  width:max-content!important;
  min-height:38px!important;
  margin-top:auto!important;
  padding:.5rem .85rem!important;
  font-size:.9rem!important;
  line-height:1!important;
  border-radius:999px!important;
}
@media (min-width:1400px){
  .homepage-public-game-grid,
  .platformer-game-grid.homepage-public-game-grid{
    max-width:1320px!important;
    grid-template-columns:repeat(auto-fill,minmax(205px,240px))!important;
  }
  .homepage-public-hero,
  .platformer-public-hero,
  .homepage-public-library-tools{max-width:1320px!important;}
}
@media (max-width:760px) and (orientation:portrait){
  .homepage-public-hero,
  .platformer-public-hero,
  .public-games-hero,
  .game-browser-hero,
  .homepage-game-browser-head,
  .section-headline.homepage-public-hero{
    margin:.85rem .7rem .75rem!important;
    padding:.9rem 1rem!important;
    border-width:3px!important;
    border-radius:22px!important;
    box-shadow:0 7px 0 rgba(54,101,152,.13),0 16px 30px rgba(50,90,120,.14)!important;
  }
  .homepage-public-hero h1,
  .platformer-public-hero h1,
  .public-games-hero h1,
  .game-browser-hero h1,
  .homepage-game-browser-head h1{
    font-size:clamp(1.75rem,8vw,2.35rem)!important;
    line-height:1.05!important;
    margin-bottom:.5rem!important;
  }
  .homepage-public-hero p,
  .platformer-public-hero p,
  .public-games-hero p,
  .game-browser-hero p,
  .homepage-game-browser-head p{
    font-size:.94rem!important;
    line-height:1.4!important;
  }
  .homepage-public-library-tools{
    margin:.65rem .7rem .85rem!important;
    display:grid!important;
    gap:.55rem!important;
  }
  .homepage-public-library-tools input[type="search"]{
    width:100%!important;
    min-height:42px!important;
    font-size:.92rem!important;
  }
  .homepage-public-library-tools .filter-tabs{gap:.28rem!important;}
  .homepage-public-library-tools .filter-tabs button{font-size:.68rem!important;padding:.3rem .48rem!important;min-height:30px!important;}
  .homepage-public-game-grid,
  .platformer-game-grid.homepage-public-game-grid{
    grid-template-columns:1fr!important;
    gap:.65rem!important;
    margin:.65rem .7rem 1rem!important;
    max-width:none!important;
  }
  .homepage-public-game-grid .platformer-game-card,
  .homepage-public-game-grid .game-card{
    display:grid!important;
    grid-template-columns:96px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto auto auto!important;
    column-gap:.7rem!important;
    row-gap:.24rem!important;
    padding:.62rem!important;
    border-width:2px!important;
    border-radius:18px!important;
    align-items:start!important;
  }
  .homepage-public-game-grid .console-badge{
    grid-column:1 / -1!important;
    grid-row:1!important;
    margin:0 0 .18rem!important;
    padding:.3rem .52rem!important;
    font-size:.68rem!important;
  }
  .homepage-public-game-grid .cover-box{
    grid-column:1!important;
    grid-row:2 / 6!important;
    width:96px!important;
    height:96px!important;
    aspect-ratio:1 / 1!important;
    margin:0!important;
    border-width:3px!important;
    border-radius:14px!important;
  }
  .homepage-public-game-grid .cover-box img{
    object-fit:contain!important;
    object-position:center!important;
  }
  .homepage-public-game-grid .platformer-css-art,
  .homepage-public-game-grid .css-art.platformer-css-art{
    width:96px!important;
    height:96px!important;
    min-height:0!important;
    aspect-ratio:1 / 1!important;
    margin:0!important;
    border-radius:14px!important;
  }
  .homepage-public-game-grid .game-card h2,
  .homepage-public-game-grid .platformer-game-card h2{
    grid-column:2!important;
    grid-row:2!important;
    margin:0!important;
    font-size:1rem!important;
    line-height:1.16!important;
  }
  .homepage-public-game-grid .game-card p,
  .homepage-public-game-grid .platformer-game-card p{
    grid-column:2!important;
    grid-row:3!important;
    margin:.05rem 0!important;
    font-size:.78rem!important;
    line-height:1.3!important;
    max-height:2.6em!important;
  }
  .homepage-public-game-grid .card-meta{
    grid-column:2!important;
    grid-row:4!important;
    gap:.22rem!important;
    margin:.08rem 0!important;
  }
  .homepage-public-game-grid .card-meta span{
    padding:.22rem .36rem!important;
    font-size:.62rem!important;
    border-width:2px!important;
  }
  .homepage-public-game-grid .play-btn{
    grid-column:2!important;
    grid-row:5!important;
    min-height:34px!important;
    padding:.43rem .72rem!important;
    font-size:.82rem!important;
    margin-top:.08rem!important;
  }
}
@media (max-width:380px) and (orientation:portrait){
  .homepage-public-game-grid .platformer-game-card,
  .homepage-public-game-grid .game-card{grid-template-columns:84px minmax(0,1fr)!important;column-gap:.58rem!important;}
  .homepage-public-game-grid .cover-box,
  .homepage-public-game-grid .platformer-css-art,
  .homepage-public-game-grid .css-art.platformer-css-art{width:84px!important;height:84px!important;}
}
@media (orientation:landscape) and (hover:none) and (pointer:coarse){
  .homepage-public-hero,
  .platformer-public-hero,
  .public-games-hero,
  .game-browser-hero,
  .homepage-game-browser-head,
  .section-headline.homepage-public-hero{
    margin:.65rem .85rem .6rem!important;
    padding:.75rem 1rem!important;
    border-width:3px!important;
    border-radius:20px!important;
  }
  .homepage-public-hero h1,
  .platformer-public-hero h1,
  .public-games-hero h1,
  .game-browser-hero h1,
  .homepage-game-browser-head h1{font-size:1.6rem!important;margin-bottom:.32rem!important;}
  .homepage-public-hero p,
  .platformer-public-hero p,
  .public-games-hero p,
  .game-browser-hero p,
  .homepage-game-browser-head p{font-size:.85rem!important;line-height:1.35!important;}
  .homepage-public-library-tools{margin:.55rem .85rem .7rem!important;}
  .homepage-public-game-grid,
  .platformer-game-grid.homepage-public-game-grid{
    grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;
    gap:.7rem!important;
    margin:.55rem .85rem 1rem!important;
    max-width:none!important;
  }
  .homepage-public-game-grid .platformer-game-card,
  .homepage-public-game-grid .game-card{
    display:grid!important;
    grid-template-columns:86px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto auto auto!important;
    column-gap:.65rem!important;
    row-gap:.18rem!important;
    padding:.58rem!important;
    border-width:2px!important;
    border-radius:16px!important;
  }
  .homepage-public-game-grid .console-badge{grid-column:1 / -1!important;font-size:.62rem!important;padding:.26rem .44rem!important;margin-bottom:.12rem!important;}
  .homepage-public-game-grid .cover-box{grid-column:1!important;grid-row:2 / 6!important;width:86px!important;height:86px!important;aspect-ratio:1 / 1!important;margin:0!important;border-radius:13px!important;}
  .homepage-public-game-grid .cover-box img{object-fit:contain!important;}
  .homepage-public-game-grid .platformer-css-art,
  .homepage-public-game-grid .css-art.platformer-css-art{width:86px!important;height:86px!important;min-height:0!important;aspect-ratio:1 / 1!important;}
  .homepage-public-game-grid .game-card h2,.homepage-public-game-grid .platformer-game-card h2{grid-column:2!important;grid-row:2!important;font-size:.94rem!important;line-height:1.12!important;margin:0!important;}
  .homepage-public-game-grid .game-card p,.homepage-public-game-grid .platformer-game-card p{grid-column:2!important;grid-row:3!important;font-size:.72rem!important;line-height:1.25!important;max-height:2.5em!important;margin:.02rem 0!important;}
  .homepage-public-game-grid .card-meta{grid-column:2!important;grid-row:4!important;gap:.18rem!important;margin:.05rem 0!important;}
  .homepage-public-game-grid .card-meta span{font-size:.58rem!important;padding:.2rem .32rem!important;}
  .homepage-public-game-grid .play-btn{grid-column:2!important;grid-row:5!important;min-height:31px!important;padding:.35rem .62rem!important;font-size:.76rem!important;margin-top:.06rem!important;}
}


.achievements-page-shell{
  width:min(1120px, calc(100% - 28px));
  margin:0 auto 40px;
  display:grid;
  gap:18px;
}
.achievements-hero-card,
.achievement-empty-card,
.achievement-detail-head{
  background:linear-gradient(180deg, rgba(255,249,220,.98), rgba(252,232,155,.95));
  border:2px solid rgba(15,62,96,.22);
  border-radius:24px;
  box-shadow:0 16px 0 rgba(8,58,90,.16), 0 22px 40px rgba(4,27,45,.18);
  padding:22px;
  color:#102c46;
}
.achievements-hero-card .eyebrow,
.achievement-system-pill{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:5px 10px;
  border-radius:999px;
  background:#ffe16a;
  border:1px solid rgba(12,50,82,.18);
  color:#18324b;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.achievements-hero-card h1{
  margin:10px 0 8px;
  font-size:clamp(2rem, 4vw, 3.4rem);
  line-height:.96;
  color:#102c46;
}
.achievements-hero-card p{max-width:780px;margin:0;color:#31566b;font-weight:700;line-height:1.5;}
.achievement-login-note{
  margin-top:14px;
  display:inline-flex;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(15,62,96,.15);
  color:#18324b;
  font-weight:900;
}
.achievement-game-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
  gap:16px;
}
.achievement-game-card,
.achievement-row{
  background:rgba(248,253,255,.95);
  border:2px solid rgba(12,50,82,.18);
  border-radius:22px;
  box-shadow:0 10px 0 rgba(9,71,101,.12), 0 18px 28px rgba(6,31,51,.12);
  overflow:hidden;
  color:#102c46;
}
.achievement-game-card{display:grid;grid-template-rows:auto 1fr;}
.achievement-game-cover{
  width:100%;
  aspect-ratio:4/3;
  background:linear-gradient(145deg,#0b263e,#154f76);
  display:grid;
  place-items:center;
  overflow:hidden;
  border-bottom:2px solid rgba(12,50,82,.16);
}
.achievement-game-cover.small{width:88px;border-radius:18px;border:2px solid rgba(12,50,82,.18);border-bottom-width:2px;flex:0 0 auto;}
.achievement-game-cover img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;}
.achievement-game-cover--fallback span{
  display:grid;
  place-items:center;
  width:70px;
  height:84px;
  border-radius:14px 14px 8px 8px;
  background:#ffe16a;
  border:3px solid rgba(255,255,255,.72);
  color:#102c46;
  font-weight:1000;
}
.achievement-game-card-body{padding:14px;display:grid;gap:9px;}
.achievement-game-card h2{margin:0;font-size:1.15rem;color:#102c46;}
.achievement-game-card p{margin:0;color:#31566b;font-weight:800;}
.achievement-progress{width:100%;height:11px;background:rgba(15,62,96,.12);border-radius:999px;overflow:hidden;border:1px solid rgba(15,62,96,.12);}
.achievement-progress span{display:block;height:100%;background:linear-gradient(90deg,#f7c948,#ffe98a);border-radius:inherit;}
.achievement-game-card small,.achievement-row small{color:#557185;font-weight:800;}
.achievement-view-btn,.achievement-back-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:9px 12px;
  border-radius:13px;
  background:#ffcf42;
  border:2px solid rgba(12,50,82,.25);
  color:#102c46;
  font-weight:1000;
  text-decoration:none;
  box-shadow:0 4px 0 rgba(12,50,82,.18);
}
.achievement-detail-head{display:grid;gap:14px;}
.achievement-detail-title{display:flex;align-items:center;gap:14px;}
.achievement-detail-title h2{margin:5px 0 3px;font-size:clamp(1.6rem, 3vw, 2.45rem);color:#102c46;}
.achievement-detail-title p{margin:0;color:#31566b;font-weight:900;}
.achievement-list{display:grid;gap:12px;}
.achievement-row{display:grid;grid-template-columns:76px 1fr auto;gap:14px;align-items:center;padding:14px;}
.achievement-badge-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:#ffe16a;border:2px solid rgba(12,50,82,.18);box-shadow:inset 0 -5px 0 rgba(0,0,0,.08);}
.achievement-badge-mark span{font-size:.68rem;font-weight:1000;text-align:center;color:#102c46;text-transform:uppercase;}
.achievement-row-body{min-width:0;display:grid;gap:5px;}
.achievement-row-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.achievement-row h3{margin:0;color:#102c46;font-size:1.06rem;}
.achievement-row p{margin:0;color:#31566b;font-weight:700;line-height:1.4;}
.achievement-state-pill{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 9px;border-radius:999px;background:rgba(15,62,96,.1);color:#102c46;font-size:.72rem;font-weight:1000;}
.achievement-row.is-earned .achievement-state-pill{background:#d9ffcf;color:#195324;}
.achievement-row.is-planned{opacity:.86;}
.achievement-row.is-planned .achievement-state-pill{background:#eef2f6;color:#5d6875;}
.achievement-points{font-size:.86rem;color:#102c46;white-space:nowrap;}
@media (max-width:700px){
  .achievements-page-shell{width:min(100% - 18px, 1120px);gap:12px;}
  .achievements-hero-card,.achievement-empty-card,.achievement-detail-head{border-radius:18px;padding:16px;box-shadow:0 10px 0 rgba(8,58,90,.12),0 16px 24px rgba(4,27,45,.12);}
  .achievement-game-grid{grid-template-columns:1fr;gap:12px;}
  .achievement-game-card{grid-template-columns:96px 1fr;grid-template-rows:auto;align-items:stretch;}
  .achievement-game-cover{aspect-ratio:1/1;height:100%;border-bottom:0;border-right:2px solid rgba(12,50,82,.16);}
  .achievement-game-card-body{padding:12px;gap:7px;}
  .achievement-row{grid-template-columns:54px 1fr;gap:10px;padding:12px;}
  .achievement-badge-mark{width:50px;height:50px;border-radius:14px;}
  .achievement-row-top{align-items:flex-start;flex-direction:column;gap:5px;}
  .achievement-points{grid-column:2;justify-self:start;}
  .achievement-detail-title{align-items:flex-start;}
  .achievement-game-cover.small{width:70px;}
}



.achievements-page-shell .achievement-game-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(min(100%, 480px), 520px));
  gap:16px;
  justify-content:start;
  align-items:start;
}
.achievements-page-shell .achievement-game-card{
  display:grid;
  grid-template-columns:132px minmax(0, 1fr);
  grid-template-rows:auto;
  align-items:center;
  gap:16px;
  max-width:560px;
  padding:14px;
}
.achievements-page-shell .achievement-game-cover{
  width:128px;
  height:128px;
  aspect-ratio:1 / 1;
  background:linear-gradient(180deg, rgba(255,250,226,.98), rgba(252,232,155,.96));
  border:2px solid rgba(12,50,82,.2);
  border-radius:18px;
  border-bottom-width:2px;
  box-shadow:inset 0 -6px 0 rgba(255,201,66,.22), 0 5px 0 rgba(12,50,82,.08);
  display:grid;
  place-items:center;
  overflow:hidden;
}
.achievements-page-shell .achievement-game-cover img{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  padding:8px;
  box-sizing:border-box;
  object-fit:contain;
  object-position:center;
  display:block;
}
.achievements-page-shell .achievement-game-cover.small{
  width:88px;
  height:88px;
  flex:0 0 88px;
  border-radius:18px;
}
.achievements-page-shell .achievement-game-card-body{
  padding:0;
  min-width:0;
  display:grid;
  align-content:center;
  gap:7px;
}
.achievements-page-shell .achievement-game-card h2{
  margin:0;
  font-size:1.08rem;
  line-height:1.15;
}
.achievements-page-shell .achievement-game-card p{
  margin:0;
}
.achievements-page-shell .achievement-game-card small{
  line-height:1.25;
}
.achievements-page-shell .achievement-progress{
  width:100%;
  height:12px;
  background:linear-gradient(180deg, #94b5c5, #789dad);
  border:1px solid rgba(7,38,61,.38);
  border-radius:999px;
  overflow:hidden;
  box-shadow:inset 0 1px 3px rgba(5,29,46,.25);
}
.achievements-page-shell .achievement-progress span{
  display:block;
  height:100%;
  background:linear-gradient(90deg, #d79618, #ffd24a);
  border-radius:inherit;
  box-shadow:inset 0 -1px 0 rgba(122,74,0,.2);
}
.achievements-page-shell .achievement-game-card .achievement-view-btn{
  width:auto;
  max-width:220px;
  justify-self:start;
  padding:9px 16px;
  white-space:nowrap;
}
@media (max-width:700px){
  .achievements-page-shell .achievement-game-grid{
    grid-template-columns:1fr;
    justify-content:stretch;
  }
  .achievements-page-shell .achievement-game-card{
    grid-template-columns:96px minmax(0, 1fr);
    gap:12px;
    max-width:none;
    padding:12px;
    align-items:center;
  }
  .achievements-page-shell .achievement-game-cover{
    width:96px;
    height:96px;
    border-right:2px solid rgba(12,50,82,.2);
  }
  .achievements-page-shell .achievement-game-cover.small{
    width:70px;
    height:70px;
    flex-basis:70px;
  }
  .achievements-page-shell .achievement-game-card-body{
    gap:6px;
  }
  .achievements-page-shell .achievement-game-card .achievement-view-btn{
    max-width:100%;
    min-height:34px;
    padding:8px 12px;
    white-space:normal;
  }
}
@media (max-width:390px){
  .achievements-page-shell .achievement-game-card{
    grid-template-columns:1fr;
    justify-items:start;
  }
  .achievements-page-shell .achievement-game-cover{
    width:104px;
    height:104px;
  }
}


.leaderboard-player-link{
  color:inherit;
  text-decoration:none;
  font-weight:950;
}
.leaderboard-player-link:hover,
.leaderboard-player-link:focus-visible{
  text-decoration:underline;
  text-decoration-thickness:2px;
}
.achievement-points-card .achievement-points-row b{
  white-space:nowrap;
  color:#10345c;
}
@media(max-width:1100px){
  .public-profile-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:760px){
  .public-profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}


.leaderboard-table-modern .leaderboard-achievement-points{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  padding:.28rem .55rem;
  border-radius:999px;
  background:linear-gradient(180deg,#fff0ad,#ffd24b);
  border:2px solid rgba(31,41,55,.14);
  color:#10345c;
  box-shadow:0 3px 0 rgba(198,129,16,.28);
  white-space:nowrap;
}
.public-profile-stat-achievements b{
  color:#10345c;
}
@media(max-width:900px){
  .leaderboard-table-modern th,
  .leaderboard-table-modern td{
    white-space:nowrap;
  }
  .leaderboard-table-scroll{
    overflow-x:auto;
  }
}


.site-footer.retro-footer{background:transparent!important;border:0!important;box-shadow:none!important;padding:1rem 1.2rem!important;margin:2rem auto 4rem!important;color:#42516a!important;}
.site-footer.retro-footer .footer-copyright{margin:0!important;color:#42516a!important;font-weight:950!important;}
.site-footer.retro-footer .footer-links{margin-top:.45rem!important;gap:.7rem!important;}
.site-footer.retro-footer .footer-links a{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;color:#0d64c9!important;text-decoration:underline!important;text-underline-offset:.18em!important;}



html{min-height:100%;}
body:not(.player-body){min-height:100vh!important;display:flex!important;flex-direction:column!important;color:#172235!important;background:linear-gradient(180deg,#72dcff 0,#b9f2ff 49%,#e8ffd4 49%,#dcffd4 100%)!important;}
body:not(.player-body)::after{content:"";position:fixed;left:0;right:0;bottom:0;height:42px;pointer-events:none;z-index:0;background:linear-gradient(180deg,#4ade7e 0 13px,#20b96d 13px 22px,#9b6a32 22px 100%);box-shadow:0 -5px 0 rgba(29,112,71,.18);}
body:not(.player-body) .site-header{position:relative!important;z-index:5!important;background:rgba(245,251,248,.92)!important;border-bottom:4px solid rgba(12,50,82,.15)!important;box-shadow:0 4px 0 rgba(12,50,82,.12)!important;}
body:not(.player-body) .page-wrap{position:relative;z-index:1;flex:1 0 auto;width:min(1320px,calc(100% - 32px))!important;margin:0 auto!important;padding:clamp(18px,3vw,36px) 0 54px!important;display:block;}
body:not(.player-body) .site-footer{position:relative;z-index:1;flex:0 0 auto;margin-top:auto!important;margin-bottom:66px!important;}
.section-headline,.hero-panel,.empty-card,.table-card,.auth-card,.homepage-guest-upload-card,.homepage-callout-card{background:linear-gradient(180deg,#fffdf6,#fff3bd)!important;border:4px solid rgba(12,50,82,.13)!important;border-radius:28px!important;box-shadow:0 14px 0 rgba(8,92,84,.20),0 24px 42px rgba(7,46,70,.14)!important;color:#172235!important;}
.section-headline,.hero-panel,.empty-card,.table-card{margin:0 auto 28px!important;max-width:1180px!important;}
.section-headline h1,.hero-panel h1,.auth-card h1{color:#10345c!important;text-shadow:0 4px 0 rgba(255,255,255,.85)!important;letter-spacing:-.06em!important;}
.section-headline p,.hero-panel p,.empty-card p,.table-card p,.auth-card p,.muted{color:#40516a!important;line-height:1.55!important;}
.eyebrow{color:#0d64c9!important;letter-spacing:.16em!important;font-weight:1000!important;}
.primary-link,.secondary-link,.play-btn,.filter-tabs a,.filter-tabs button,.forum-actions a,.forum-card-actions a{border-radius:999px!important;font-weight:1000!important;text-decoration:none!important;}
.primary-link,.play-btn,.filter-tabs a.active,.filter-tabs button.active{background:linear-gradient(180deg,#ffe887,#ffc233)!important;color:#5a3510!important;border:3px solid rgba(90,53,16,.22)!important;box-shadow:0 6px 0 #c8781c!important;}
.secondary-link,.filter-tabs a,.filter-tabs button{background:#fffaf0!important;color:#172235!important;border:3px solid rgba(31,41,55,.13)!important;box-shadow:0 4px 0 rgba(198,120,28,.30)!important;}
input,select,textarea{background:#fffdf8!important;color:#172235!important;border:3px solid rgba(31,41,55,.14)!important;border-radius:16px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;}
select option{background:#fffdf8!important;color:#172235!important;}
table{color:#172235!important;} th{color:#10345c!important;background:rgba(255,232,135,.45)!important;} td{color:#172235!important;border-bottom:1px solid rgba(31,41,55,.14)!important;}
.homepage-public-start{grid-template-columns:minmax(0,1fr) minmax(320px,480px)!important;gap:24px!important;align-items:stretch!important;}
.homepage-guest-upload-card{margin:0!important;padding:clamp(18px,2.2vw,28px)!important;display:grid!important;gap:12px!important;align-content:start!important;}
.homepage-guest-upload-card h2,.homepage-callout-card h2,.homepage-public-empty-state h2{margin:.15rem 0;color:#10345c!important;}
.guest-file-field{display:grid;gap:8px;font-weight:1000;color:#10345c!important;}
.guest-policy-check{font-size:.94rem;line-height:1.35;background:#fffaf0;border:2px solid rgba(31,41,55,.12);border-radius:16px;padding:10px 12px;}
.homepage-supported-systems{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px;}
.homepage-supported-systems span{display:inline-flex;border-radius:999px;background:#fffaf0;border:2px solid rgba(31,41,55,.12);padding:5px 9px;color:#10345c;font-weight:900;font-size:.78rem;}
.homepage-customer-ready-callouts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1180px;margin:0 auto 28px;}
.homepage-callout-card{margin:0!important;padding:24px!important;}
.homepage-no-games-shell{max-width:1180px;margin:0 auto 28px;}
.homepage-public-empty-state{text-align:left!important;}
.homepage-notice-card{max-width:1180px;margin:0 auto 28px!important;padding:22px 26px!important;background:linear-gradient(180deg,#fffdf6,#fff3bd)!important;color:#172235!important;border:4px solid rgba(12,50,82,.13)!important;border-left-width:12px!important;border-radius:24px!important;box-shadow:0 12px 0 rgba(8,92,84,.18),0 20px 38px rgba(7,46,70,.13)!important;}
.homepage-notice-card h2{margin:0 0 8px!important;color:#10345c!important;}.homepage-notice-card p{margin:0!important;color:#40516a!important;}.homepage-notice-info{border-left-color:#2d9cff!important}.homepage-notice-warning{border-left-color:#d79618!important}.homepage-notice-success{border-left-color:#31a957!important}.homepage-notice-maintenance{border-left-color:#b24b43!important}
.leaderboard-filter-shell{max-width:1180px;margin:0 auto 24px!important;padding:18px!important;background:linear-gradient(180deg,#fffdf6,#fff3bd)!important;border:4px solid rgba(12,50,82,.13)!important;border-radius:24px!important;box-shadow:0 10px 0 rgba(8,92,84,.18)!important;display:grid!important;gap:14px!important;}
.leaderboard-filter-group{display:grid!important;gap:8px!important;}.leaderboard-filter-group>span{font-weight:1000;color:#10345c!important;text-transform:uppercase;font-size:.75rem;letter-spacing:.12em;}.leaderboard-filter-divider{display:none!important;}
.leaderboard-dashboard-grid{max-width:1180px;margin:0 auto 28px!important;display:grid!important;grid-template-columns:1fr!important;gap:24px!important;}
.leaderboard-main-stack,.leaderboard-side-stack{display:grid!important;gap:24px!important;}.leaderboard-side-stack{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;}
.leaderboard-table-scroll{overflow:auto;border-radius:18px;background:rgba(255,255,255,.32);}.leaderboard-table-modern{font-size:.95rem!important;}.leaderboard-inline-notice,.forum-empty{background:#fffaf0!important;color:#40516a!important;border:3px solid rgba(31,41,55,.12)!important;border-radius:18px!important;padding:14px 16px!important;font-weight:900!important;}
.leaderboard-fact-row,.leaderboard-game-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(31,41,55,.12);padding:9px 0;color:#172235!important;}.leaderboard-fact-row b,.leaderboard-game-row b{color:#10345c!important;}
.auth-card{width:min(560px,calc(100% - 28px))!important;margin:24px auto 34px!important;padding:clamp(18px,3vw,30px)!important;}.auth-card h1{font-size:clamp(2.35rem,6vw,4rem)!important;margin:.12rem 0 .65rem!important;}.auth-card p{margin:.45rem 0!important;}.public-form{gap:12px!important;margin:16px 0!important;}.public-form label{gap:6px!important;color:#172235!important;font-weight:1000!important;}.public-form input{min-height:48px!important;padding:.75rem .9rem!important;}.legal-check{display:grid!important;grid-template-columns:22px 1fr!important;align-items:start!important;gap:10px!important;font-size:.92rem!important;line-height:1.38!important;background:#fffaf0!important;border:2px solid rgba(31,41,55,.12)!important;border-radius:16px!important;padding:12px!important;}.legal-check input{width:18px!important;min-height:18px!important;margin-top:2px!important;}
.forum-hero,.achievements-hero-card,.members-hero-card{max-width:1180px!important;}.forum-category-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;}.forum-category{background:#fffdf8!important;color:#172235!important;border:3px solid rgba(31,41,55,.13)!important;box-shadow:0 7px 0 rgba(31,41,55,.10)!important;}
.site-footer.retro-footer{background:transparent!important;border:0!important;box-shadow:none!important;padding:1rem!important;margin:2rem auto 66px!important;text-align:center!important;}.site-footer.retro-footer .footer-copyright{color:#42516a!important;font-weight:1000!important;}.site-footer.retro-footer .footer-links{display:flex!important;justify-content:center!important;gap:.85rem!important;flex-wrap:wrap!important;margin-top:.45rem!important;}.site-footer.retro-footer .footer-links a{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;color:#0d64c9!important;text-decoration:underline!important;}
@media(max-width:900px){body:not(.player-body) .page-wrap{width:min(100% - 22px,1180px)!important;padding-top:18px!important}.homepage-public-start{grid-template-columns:1fr!important}.homepage-customer-ready-callouts{grid-template-columns:1fr!important;width:min(100% - 22px,1180px)}.section-headline,.hero-panel,.empty-card,.table-card{width:100%!important}.leaderboard-side-stack{grid-template-columns:1fr!important}.auth-card{margin-top:18px!important}.site-header nav a{font-size:.88rem!important}}
@media(max-width:560px){.section-headline,.hero-panel,.empty-card,.table-card,.auth-card,.homepage-guest-upload-card{border-radius:20px!important;border-width:3px!important}.section-headline h1,.hero-panel h1,.auth-card h1{font-size:clamp(2.2rem,13vw,3.4rem)!important}.public-form{gap:10px!important}.auth-card{padding:18px!important}.leaderboard-table-modern{font-size:.86rem!important}.homepage-supported-systems span{font-size:.72rem}}



:root{
  --rc-navy:#10345c;
  --rc-ink:#172235;
  --rc-muted:#40516a;
  --rc-cream:#fffaf0;
  --rc-cream-2:#fff3bd;
  --rc-sky:#72dcff;
  --rc-sky-2:#bdf4ff;
  --rc-ground:#e8ffd4;
  --rc-gold:#ffc233;
  --rc-gold-2:#ffe887;
  --rc-card-shadow:0 14px 0 rgba(8,92,84,.20),0 26px 48px rgba(7,46,70,.16);
}
html{min-height:100%;background:#e8ffd4;}
body:not(.player-body){
  min-height:100vh!important;
  display:flex!important;
  flex-direction:column!important;
  color:var(--rc-ink)!important;
  background:linear-gradient(180deg,var(--rc-sky) 0%,var(--rc-sky-2) 54%,var(--rc-ground) 54%,#dcffd4 100%)!important;
  background-attachment:fixed!important;
}
body:not(.player-body)::before{display:none!important;content:none!important;}
body:not(.player-body)::after{pointer-events:none;}
body:not(.player-body) .page-wrap{
  flex:1 0 auto!important;
  width:min(100% - 32px,1240px)!important;
  margin:0 auto!important;
  padding:clamp(22px,3vw,42px) 0 32px!important;
  position:relative!important;
  z-index:1!important;
}
.site-header{position:relative;z-index:5!important;}
.section-headline,
.hero-panel,
.empty-card,
.table-card,
.auth-card,
.homepage-guest-upload-card,
.homepage-callout-card,
.homepage-public-empty-state{
  background:linear-gradient(180deg,#fffdf8 0%,#fff8dc 58%,var(--rc-cream-2) 100%)!important;
  border:4px solid rgba(12,50,82,.13)!important;
  border-radius:28px!important;
  box-shadow:var(--rc-card-shadow)!important;
  color:var(--rc-ink)!important;
}
.section-headline h1,
.hero-panel h1,
.auth-card h1{
  color:var(--rc-navy)!important;
  letter-spacing:-.06em!important;
  text-shadow:0 4px 0 rgba(255,255,255,.92)!important;
}
.section-headline p,
.hero-panel p,
.empty-card p,
.table-card p,
.auth-card p,
.muted,
.tiny{color:var(--rc-muted)!important;line-height:1.55!important;}
.primary-link,.play-btn,.primary-btn,button[type="submit"]{
  background:linear-gradient(180deg,var(--rc-gold-2),var(--rc-gold))!important;
  color:#5a3510!important;
  border:3px solid rgba(154,104,14,.35)!important;
  box-shadow:0 6px 0 #d68100,0 13px 22px rgba(163,96,0,.16)!important;
  border-radius:999px!important;
  font-weight:1000!important;
}
.secondary-link,.secondary-btn,.filter-tabs a,.filter-tabs button{
  background:linear-gradient(180deg,#fffdf8,#fffaf0)!important;
  color:var(--rc-ink)!important;
  border:3px solid rgba(31,41,55,.13)!important;
  box-shadow:0 5px 0 rgba(187,118,0,.55)!important;
  border-radius:999px!important;
  font-weight:1000!important;
}
.filter-tabs a.active,.filter-tabs button.active{background:linear-gradient(180deg,var(--rc-gold-2),var(--rc-gold))!important;color:#5a3510!important;}
input,textarea,select,
.public-form input,
.public-form textarea,
.public-form select,
.guest-file-field input[type="file"]{
  background:#fffdf8!important;
  color:var(--rc-ink)!important;
  border:3px solid rgba(31,41,55,.16)!important;
  border-radius:16px!important;
  box-shadow:0 4px 0 rgba(31,41,55,.08)!important;
}
select option{background:#fffdf8!important;color:var(--rc-ink)!important;}


.homepage-public-start{
  width:min(100%,1180px)!important;
  margin:0 auto 28px!important;
  padding:clamp(24px,4vw,46px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr)!important;
  gap:clamp(24px,4vw,44px)!important;
  align-items:center!important;
}
.homepage-public-start h1{font-size:clamp(3rem,7vw,6.4rem)!important;line-height:.94!important;margin:.15rem 0 .9rem!important;}
.homepage-guest-upload-card{padding:clamp(18px,2.2vw,28px)!important;display:grid!important;gap:12px!important;align-content:start!important;}
.homepage-guest-upload-card .play-btn{width:100%!important;min-height:48px!important;}
.homepage-supported-systems{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:8px!important;}
.homepage-supported-systems span{display:inline-flex!important;padding:.38rem .62rem!important;border-radius:999px!important;background:#fffdf8!important;border:2px solid rgba(31,41,55,.12)!important;color:#10345c!important;font-weight:1000!important;font-size:.78rem!important;}
.homepage-customer-ready-callouts{width:min(100%,1180px)!important;margin:0 auto 28px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;}
.homepage-no-games-shell{width:min(100%,1180px)!important;margin:0 auto 30px!important;}
.homepage-public-empty-state{text-align:center!important;padding:clamp(22px,3vw,36px)!important;}
.homepage-notice-card{width:min(100%,1180px)!important;margin:0 auto 24px!important;background:linear-gradient(180deg,#fffdf8,#fff3bd)!important;border:4px solid rgba(12,50,82,.13)!important;border-left-width:12px!important;border-radius:24px!important;box-shadow:var(--rc-card-shadow)!important;color:var(--rc-ink)!important;padding:20px 24px!important;}
.homepage-notice-card h2{color:var(--rc-navy)!important;margin:.1rem 0 .35rem!important;}.homepage-notice-card p{color:var(--rc-muted)!important;margin:.25rem 0!important;}.homepage-notice-info{border-left-color:#2d96ff!important}.homepage-notice-warning{border-left-color:#ffb11f!important}.homepage-notice-success{border-left-color:#31b967!important}.homepage-notice-maintenance{border-left-color:#d95050!important}


.leaderboard-hero-card,
.leaderboard-filter-shell,
.leaderboard-dashboard-grid{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.leaderboard-hero-card{padding:clamp(24px,4vw,42px)!important;margin-bottom:24px!important;}
.leaderboard-hero-card h1{font-size:clamp(3rem,7vw,5.8rem)!important;line-height:.96!important;}
.leaderboard-filter-shell{margin-bottom:26px!important;padding:20px 24px!important;display:grid!important;gap:16px!important;background:linear-gradient(180deg,#fffdf8,#fff3bd)!important;border:4px solid rgba(12,50,82,.13)!important;border-radius:24px!important;box-shadow:0 10px 0 rgba(8,92,84,.18)!important;}
.leaderboard-filter-group{display:grid!important;gap:10px!important;}
.leaderboard-filter-group>span{font-weight:1000!important;color:var(--rc-navy)!important;text-transform:uppercase!important;font-size:.78rem!important;letter-spacing:.12em!important;}
.leaderboard-tabs{display:flex!important;flex-wrap:wrap!important;gap:10px!important;}
.leaderboard-dashboard-grid{display:grid!important;grid-template-columns:1fr!important;gap:26px!important;}
.leaderboard-main-stack,.leaderboard-side-stack{display:grid!important;grid-template-columns:1fr!important;gap:26px!important;}
.leaderboard-side-stack{max-width:1180px!important;}
.leaderboard-board-card,.leaderboard-explainer-card,.leaderboard-side-card{width:100%!important;max-width:1180px!important;margin:0 auto!important;padding:clamp(20px,3vw,32px)!important;}
.leaderboard-card-head{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:16px!important;flex-wrap:wrap!important;}
.leaderboard-table-scroll{overflow:auto!important;border-radius:18px!important;background:rgba(255,255,255,.35)!important;}
.leaderboard-table-modern{width:100%!important;border-collapse:collapse!important;color:var(--rc-ink)!important;font-size:.98rem!important;}
.leaderboard-table-modern th{background:#fff0a9!important;color:var(--rc-navy)!important;font-weight:1000!important;padding:12px 14px!important;text-align:left!important;white-space:nowrap!important;}
.leaderboard-table-modern td{color:var(--rc-ink)!important;padding:13px 14px!important;border-bottom:1px solid rgba(31,41,55,.12)!important;}
.leaderboard-table-modern td[colspan]{color:var(--rc-muted)!important;background:rgba(255,255,255,.35)!important;}
.leaderboard-inline-notice,.forum-empty{background:#fffaf0!important;color:var(--rc-muted)!important;border:3px solid rgba(31,41,55,.12)!important;border-radius:18px!important;padding:14px 16px!important;font-weight:900!important;margin-top:16px!important;}
.leaderboard-fact-row,.leaderboard-game-row{display:flex!important;justify-content:space-between!important;gap:12px!important;border-bottom:1px solid rgba(31,41,55,.12)!important;padding:10px 0!important;color:var(--rc-ink)!important;}.leaderboard-fact-row b,.leaderboard-game-row b{color:var(--rc-navy)!important;}


.auth-card{width:min(540px,calc(100% - 32px))!important;max-width:540px!important;margin:clamp(22px,5vh,48px) auto 36px!important;padding:clamp(20px,2.4vw,30px)!important;background:linear-gradient(180deg,#fffdf8,#fff3bd)!important;}
.auth-card h1{font-size:clamp(2.7rem,5.5vw,4.4rem)!important;line-height:.94!important;margin:.15rem 0 .7rem!important;}
.auth-card p{margin:.45rem 0!important;}.public-form{gap:12px!important;margin:16px 0!important;}.public-form label{display:grid!important;gap:6px!important;color:var(--rc-ink)!important;font-weight:1000!important;}.public-form input{min-height:48px!important;padding:.75rem .95rem!important;}
.auth-card-register{width:min(520px,calc(100% - 32px))!important;max-width:520px!important;}
.auth-card-register h1{font-size:clamp(2.7rem,5vw,4rem)!important;}
.auth-card-register .muted{font-size:.96rem!important;}
.legal-check{display:grid!important;grid-template-columns:22px 1fr!important;align-items:start!important;gap:10px!important;font-size:.9rem!important;line-height:1.35!important;background:#fffaf0!important;border:2px solid rgba(31,41,55,.12)!important;border-radius:16px!important;padding:12px!important;}.legal-check input{width:18px!important;min-height:18px!important;margin-top:2px!important;}


.site-footer.retro-footer,.site-footer{width:min(1180px,calc(100% - 32px))!important;margin:auto auto 28px!important;padding:1rem!important;text-align:center!important;color:#42516a!important;background:transparent!important;border:0!important;box-shadow:none!important;}.site-footer .footer-copyright{color:#42516a!important;font-weight:1000!important;margin:0!important;}.site-footer .footer-links{margin-top:.45rem!important;}.site-footer .footer-links a{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;color:#0d64c9!important;text-decoration:underline!important;}

@media(max-width:900px){
  body:not(.player-body) .page-wrap{width:min(100% - 22px,1180px)!important;padding-top:18px!important;}
  .homepage-public-start{grid-template-columns:1fr!important;padding:22px!important;}
  .homepage-customer-ready-callouts{grid-template-columns:1fr!important;width:min(100% - 22px,1180px)!important;}
  .leaderboard-filter-shell,.leaderboard-dashboard-grid,.leaderboard-hero-card{width:min(100% - 22px,1180px)!important;}
  .leaderboard-card-head{align-items:start!important;}
  .site-header nav a{font-size:.88rem!important;}
}
@media(max-width:560px){
  .section-headline,.hero-panel,.empty-card,.table-card,.auth-card,.homepage-guest-upload-card{border-radius:20px!important;border-width:3px!important;}
  .section-headline h1,.hero-panel h1,.auth-card h1{font-size:clamp(2.2rem,13vw,3.3rem)!important;}
  .auth-card,.auth-card-register{width:calc(100% - 18px)!important;margin:14px auto 24px!important;padding:16px!important;}
  .public-form{gap:9px!important;}.public-form input{min-height:44px!important;}
  .legal-check{font-size:.84rem!important;padding:10px!important;}
  .leaderboard-table-modern{font-size:.86rem!important;}
  .leaderboard-table-modern th,.leaderboard-table-modern td{padding:10px!important;}
  .homepage-supported-systems span{font-size:.72rem!important;}
}




:root{
  --rc-home-target-max:1240px;
  --rc-home-target-gap:24px;
  --rc-home-target-card-bg:linear-gradient(180deg,#fffdf8 0%,#fff8dc 62%,#fff3bd 100%);
  --rc-home-target-border:rgba(12,50,82,.13);
  --rc-home-target-shadow:0 12px 0 rgba(8,92,84,.14),0 24px 42px rgba(7,46,70,.12);
}
html{min-height:100%;background:#e4ffd5!important;}
body:not(.player-body){
  min-height:100vh!important;
  color:#172235!important;
  background:
    radial-gradient(circle at 88% 4%,rgba(255,255,255,.38) 0 82px,transparent 86px),
    radial-gradient(circle at 10% 8%,rgba(255,255,255,.20) 0 120px,transparent 320px),
    linear-gradient(180deg,#72dcff 0%,#8ce8f5 30%,#baf3e6 62%,#e4ffd5 100%)!important;
  background-attachment:fixed!important;
}
body:not(.player-body)::after{
  display:none!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
}
body:not(.player-body) .page-wrap{
  width:min(calc(100% - 32px),var(--rc-home-target-max))!important;
  max-width:var(--rc-home-target-max)!important;
  margin:0 auto!important;
}
body:not(.player-body) .homepage-audience-layout,
body:not(.player-body) .homepage-customer-ready-callouts,
body:not(.player-body) .homepage-managed-sections,
body:not(.player-body) .homepage-no-games-shell,
body:not(.player-body) .homepage-notice-card,
body:not(.player-body) .site-footer.retro-footer{
  width:min(calc(100% - 32px),var(--rc-home-target-max))!important;
  max-width:var(--rc-home-target-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body:not(.player-body) .homepage-audience-layout{
  padding:0!important;
  margin-top:26px!important;
  margin-bottom:28px!important;
  gap:var(--rc-home-target-gap)!important;
}
body:not(.player-body) .homepage-top-widget-row,
body:not(.player-body) .homepage-main-widget-grid,
body:not(.player-body) .homepage-lower-widget-grid,
body:not(.player-body) .homepage-lower-widget-grid--notices,
body:not(.player-body) .homepage-managed-sections,
body:not(.player-body) .homepage-customer-ready-callouts{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:var(--rc-home-target-gap)!important;
  align-items:stretch!important;
}
body:not(.player-body) .homepage-widget-card,
body:not(.player-body) .homepage-audience-layout .homepage-managed-section--hero,
body:not(.player-body) .homepage-managed-section,
body:not(.player-body) .homepage-callout-card{
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  align-self:stretch!important;
  margin:0!important;
  box-sizing:border-box!important;
  border-radius:28px!important;
  border:4px solid var(--rc-home-target-border)!important;
  box-shadow:var(--rc-home-target-shadow)!important;
  background:var(--rc-home-target-card-bg)!important;
}
body:not(.player-body) .homepage-widget-card,
body:not(.player-body) .homepage-managed-section,
body:not(.player-body) .homepage-callout-card{
  display:flex!important;
  flex-direction:column!important;
}
body:not(.player-body) .homepage-widget--full,
body:not(.player-body) .homepage-managed-section--full,
body:not(.player-body) .homepage-callout-card.homepage-managed-section--full{
  grid-column:1 / -1!important;
}
body:not(.player-body) .homepage-widget--half,
body:not(.player-body) .homepage-widget--third,
body:not(.player-body) .homepage-managed-section--half{
  grid-column:auto!important;
}
body:not(.player-body) .homepage-top-widget-row > *,
body:not(.player-body) .homepage-main-widget-grid > *,
body:not(.player-body) .homepage-lower-widget-grid > *,
body:not(.player-body) .homepage-managed-sections > *{
  min-width:0!important;
}
body:not(.player-body) .homepage-top-widget-row .homepage-widget-card,
body:not(.player-body) .homepage-top-widget-row .homepage-managed-section--hero{
  min-height:100%!important;
}
body:not(.player-body) .homepage-managed-section--hero.homepage-managed-section--half,
body:not(.player-body) .homepage-top-widget-row .homepage-managed-section--hero{
  padding:clamp(20px,2.5vw,30px)!important;
}
body:not(.player-body) .homepage-managed-section--hero.homepage-managed-section--half h1,
body:not(.player-body) .homepage-top-widget-row .platformer-hero h1,
body:not(.player-body) .homepage-top-widget-row .hero-panel h1,
body:not(.player-body) .homepage-top-widget-row .section-headline h1{
  font-size:clamp(2.25rem,3.35vw,3.65rem)!important;
  line-height:.95!important;
  margin:.12rem 0 .65rem!important;
  letter-spacing:-.055em!important;
}
body:not(.player-body) .homepage-managed-section--hero.homepage-managed-section--full h1{
  font-size:clamp(3rem,5vw,5.6rem)!important;
}
body:not(.player-body) .homepage-managed-section--hero .homepage-section-actions,
body:not(.player-body) .homepage-widget-actions{
  margin-top:auto!important;
  padding-top:14px!important;
}
body:not(.player-body) .homepage-widget-card h2,
body:not(.player-body) .homepage-callout-card h2{
  font-size:clamp(1.28rem,1.75vw,1.75rem)!important;
  line-height:1.08!important;
}
body:not(.player-body) .homepage-supported-systems,
body:not(.player-body) .homepage-guest-local-card .homepage-supported-systems,
body:not(.player-body) .homepage-widget-card .homepage-supported-systems{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  max-height:none!important;
  overflow:visible!important;
  padding:0!important;
  margin-top:8px!important;
}
body:not(.player-body) .homepage-supported-systems span,
body:not(.player-body) .homepage-guest-local-card .homepage-supported-systems span,
body:not(.player-body) .homepage-widget-card .homepage-supported-systems span{
  font-size:.66rem!important;
  line-height:1.05!important;
  padding:.22rem .42rem!important;
  white-space:nowrap!important;
}
body:not(.player-body) .site-footer.retro-footer{
  position:relative!important;
  z-index:1!important;
  flex-shrink:0!important;
  margin-top:28px!important;
  margin-bottom:28px!important;
  padding:18px 22px!important;
  color:#40516a!important;
  text-align:center!important;
  background:var(--rc-home-target-card-bg)!important;
  border:4px solid var(--rc-home-target-border)!important;
  border-radius:24px!important;
  box-shadow:var(--rc-home-target-shadow)!important;
}
body:not(.player-body) .site-footer.retro-footer .footer-copyright,
body:not(.player-body) .site-footer.retro-footer .footer-disclaimer{
  margin:.15rem 0!important;
  color:#40516a!important;
  font-weight:900!important;
}
body:not(.player-body) .site-footer.retro-footer .footer-links{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:.55rem!important;
  flex-wrap:wrap!important;
  margin-top:.55rem!important;
}
body:not(.player-body) .site-footer.retro-footer .footer-links a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:.38rem .62rem!important;
  border-radius:999px!important;
  border:2px solid rgba(31,41,55,.12)!important;
  background:#fffdf8!important;
  color:#10345c!important;
  text-decoration:none!important;
  font-weight:900!important;
  box-shadow:0 3px 0 rgba(187,118,0,.32)!important;
}
@media(max-width:900px){
  :root{--rc-home-target-gap:16px;}
  body:not(.player-body) .page-wrap,
  body:not(.player-body) .homepage-audience-layout,
  body:not(.player-body) .homepage-customer-ready-callouts,
  body:not(.player-body) .homepage-managed-sections,
  body:not(.player-body) .homepage-no-games-shell,
  body:not(.player-body) .homepage-notice-card,
  body:not(.player-body) .site-footer.retro-footer{
    width:min(calc(100% - 22px),var(--rc-home-target-max))!important;
  }
  body:not(.player-body) .homepage-top-widget-row,
  body:not(.player-body) .homepage-main-widget-grid,
  body:not(.player-body) .homepage-lower-widget-grid,
  body:not(.player-body) .homepage-lower-widget-grid--notices,
  body:not(.player-body) .homepage-managed-sections,
  body:not(.player-body) .homepage-customer-ready-callouts{
    grid-template-columns:1fr!important;
  }
  body:not(.player-body) .homepage-widget--full,
  body:not(.player-body) .homepage-widget--half,
  body:not(.player-body) .homepage-widget--third,
  body:not(.player-body) .homepage-managed-section--full,
  body:not(.player-body) .homepage-managed-section--half{
    grid-column:auto!important;
  }
  body:not(.player-body) .homepage-managed-section--hero h1,
  body:not(.player-body) .homepage-managed-section--hero.homepage-managed-section--half h1{
    font-size:clamp(2.2rem,11vw,3.3rem)!important;
  }
  body:not(.player-body) .homepage-widget-actions .primary-link,
  body:not(.player-body) .homepage-widget-actions .secondary-link,
  body:not(.player-body) .homepage-widget-actions button.primary-link,
  body:not(.player-body) .homepage-section-actions .primary-link,
  body:not(.player-body) .homepage-section-actions .secondary-link{
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
  }
  body:not(.player-body) .site-footer.retro-footer{margin-bottom:22px!important;padding:16px!important;}
}
@media(max-width:560px){
  body:not(.player-body) .page-wrap{padding-top:18px!important;}
  body:not(.player-body) .homepage-widget-card,
  body:not(.player-body) .homepage-managed-section,
  body:not(.player-body) .homepage-callout-card,
  body:not(.player-body) .site-footer.retro-footer{border-radius:20px!important;border-width:3px!important;}
  body:not(.player-body) .homepage-supported-systems span,
  body:not(.player-body) .homepage-guest-local-card .homepage-supported-systems span,
  body:not(.player-body) .homepage-widget-card .homepage-supported-systems span{font-size:.62rem!important;padding:.2rem .34rem!important;}
}



.romconsole-portrait-brand-panel{
  display:none;
}

@media (max-width:760px) and (orientation:portrait) and (hover:none) and (pointer:coarse){
  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy"],
  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy-color"],
  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy-advance"]{
    background:#202870!important;
  }

  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy"] .player-stage,
  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy-color"] .player-stage,
  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy-advance"] .player-stage{
    background:
      radial-gradient(circle at 50% 80%,rgba(255,255,255,.09),transparent 20rem),
      linear-gradient(180deg,#050c14 0%,#050c14 43%,#202870 43%,#202870 100%)!important;
  }

  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy"] .emulator-mount,
  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy-color"] .emulator-mount,
  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy-advance"] .emulator-mount{
    position:relative!important;
    z-index:5!important;
  }

  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy"] .romconsole-portrait-brand-panel,
  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy-color"] .romconsole-portrait-brand-panel,
  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy-advance"] .romconsole-portrait-brand-panel{
    display:flex!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    height:min(46vh,360px)!important;
    min-height:240px!important;
    padding:clamp(14px,4vw,28px) clamp(16px,5vw,34px)!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    text-align:center!important;
    color:#fff7df!important;
    background:
      radial-gradient(circle at 50% 18%,rgba(255,255,255,.16),transparent 7.5rem),
      linear-gradient(180deg,rgba(32,40,112,.92),#202870 44%,#151c58 100%)!important;
    pointer-events:none!important;
    user-select:none!important;
    -webkit-user-select:none!important;
    z-index:2!important;
  }

  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy"] .romconsole-portrait-brand-panel img,
  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy-color"] .romconsole-portrait-brand-panel img,
  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy-advance"] .romconsole-portrait-brand-panel img{
    width:clamp(74px,24vw,116px)!important;
    height:auto!important;
    max-height:116px!important;
    display:block!important;
    object-fit:contain!important;
    filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))!important;
  }

  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy"] .romconsole-portrait-brand-panel strong,
  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy-color"] .romconsole-portrait-brand-panel strong,
  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy-advance"] .romconsole-portrait-brand-panel strong{
    display:block!important;
    margin-top:2px!important;
    font-weight:950!important;
    font-size:clamp(18px,5vw,28px)!important;
    line-height:1.05!important;
    letter-spacing:-.035em!important;
    color:#fff7df!important;
    text-shadow:0 3px 0 rgba(0,0,0,.28)!important;
  }

  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy"] .romconsole-portrait-brand-panel span,
  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy-color"] .romconsole-portrait-brand-panel span,
  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy-advance"] .romconsole-portrait-brand-panel span{
    display:block!important;
    font-weight:900!important;
    font-size:clamp(12px,3.4vw,16px)!important;
    line-height:1.15!important;
    letter-spacing:.14em!important;
    text-transform:uppercase!important;
    color:rgba(255,247,223,.84)!important;
  }

  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy"] #touchControls,
  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy-color"] #touchControls,
  body.player-body.touch-overlay-portrait .player-shell[data-console="game-boy-advance"] #touchControls{
    z-index:20!important;
  }
}

/* ROMConsole player.php retro shell restore + local ROM card contrast fix.
   Visual-only scoped overrides for player page shell/modals. */
body.player-body.retro-player-body{
  background:linear-gradient(180deg,#72dcff 0%,#bdf4ff 56%,#e8ffd4 100%)!important;
  color:#172235!important;
}
body.player-body .player-shell{
  background:linear-gradient(180deg,#bdf4ff 0%,#e8ffd4 100%)!important;
}
body.player-body .retro-player-topbar,
body.player-body .player-topbar.retro-player-topbar{
  background:linear-gradient(180deg,#fffdf8 0%,#fff7dc 58%,#fff2be 100%)!important;
  color:#10345c!important;
  border-bottom:4px solid rgba(12,50,82,.13)!important;
  box-shadow:0 5px 0 rgba(187,118,0,.18),0 12px 28px rgba(7,46,70,.12)!important;
}
body.player-body .retro-player-topbar .back-link,
body.player-body .retro-player-topbar strong,
body.player-body .retro-player-topbar .player-titlebar strong{
  color:#10345c!important;
  text-shadow:0 2px 0 rgba(255,255,255,.85)!important;
}
body.player-body .retro-player-topbar span,
body.player-body .retro-player-topbar .player-titlebar span{
  color:#40516a!important;
}
body.player-body .mini-console-badge{
  background:linear-gradient(180deg,#72dcff,#2d9cff)!important;
  color:#fffdf8!important;
  border:2px solid rgba(16,52,92,.12)!important;
  box-shadow:0 3px 0 rgba(16,52,92,.18)!important;
}
body.player-body .player-stage{
  background:linear-gradient(180deg,#bdf4ff 0%,#e8ffd4 100%)!important;
}
body.player-body .emulator-mount{
  background:#071018!important;
  border:6px solid #fff3bd!important;
  border-radius:26px!important;
  box-shadow:0 0 0 4px rgba(90,53,16,.18),0 18px 0 rgba(8,92,84,.18),0 28px 52px rgba(7,46,70,.18)!important;
}
body.player-body #emulatorjsGame,
body.player-body .emulatorjs-game{
  background:#071018!important;
}
body.player-body .player-state-overlay{
  background:radial-gradient(circle at 50% 35%,rgba(103,216,255,.10),transparent 21rem),linear-gradient(180deg,rgba(18,32,43,.84),rgba(4,10,17,.94))!important;
  color:#fffaf0!important;
}
body.player-body .player-state-overlay h1{
  color:#fffaf0!important;
  text-shadow:0 4px 0 rgba(0,0,0,.32)!important;
}
body.player-body .player-state-overlay p{
  color:#eef7ff!important;
}
body.player-body .state-pill,
body.player-body .player-state-overlay .state-pill{
  background:linear-gradient(180deg,#ffe887,#ffc233)!important;
  color:#5a3510!important;
  border:2px solid rgba(90,53,16,.20)!important;
  box-shadow:0 4px 0 #d68d13!important;
}
body.player-body .retro-player-panel,
body.player-body .player-panel.retro-player-panel{
  background:linear-gradient(180deg,#fffdf8 0%,#fff8dc 58%,#fff3bd 100%)!important;
  color:#172235!important;
  border-left:4px solid rgba(12,50,82,.13)!important;
  box-shadow:inset 5px 0 0 rgba(187,118,0,.10),-8px 0 22px rgba(7,46,70,.08)!important;
}
body.player-body .retro-player-panel h2,
body.player-body .retro-player-panel h3,
body.player-body .retro-player-panel summary,
body.player-body .retro-player-panel b{
  color:#10345c!important;
  text-shadow:none!important;
}
body.player-body .retro-player-panel p,
body.player-body .retro-player-panel .muted,
body.player-body .retro-player-panel .tiny{
  color:#40516a!important;
}
body.player-body .retro-player-panel .status-list span,
body.player-body .retro-player-panel .essential-status span,
body.player-body .retro-player-panel .panel-section,
body.player-body .retro-player-panel .mapping-box,
body.player-body .retro-player-panel .stat-grid span,
body.player-body .retro-player-panel .core-status-list span{
  background:rgba(255,253,248,.88)!important;
  border:2px solid rgba(31,41,55,.12)!important;
  color:#40516a!important;
  box-shadow:0 4px 0 rgba(31,41,55,.08)!important;
}
body.player-body .retro-player-panel .status-list b,
body.player-body .retro-player-panel .stat-grid b,
body.player-body .retro-player-panel .core-status-list b{
  color:#10345c!important;
}
body.player-body .guest-warning-card{
  background:linear-gradient(180deg,#eaf7ff 0%,#dff4ff 100%)!important;
  border:3px solid rgba(45,150,255,.18)!important;
  color:#172235!important;
  box-shadow:0 6px 0 rgba(16,52,92,.08)!important;
}
body.player-body .guest-warning-card h2,
body.player-body .guest-warning-card h3{
  color:#10345c!important;
}
body.player-body .guest-warning-card p,
body.player-body .guest-warning-card .muted,
body.player-body .guest-warning-card .tiny{
  color:#40516a!important;
}
body.player-body .secondary-player-btn,
body.player-body .player-topbar button,
body.player-body #fullscreenBtn,
body.player-body #panelToggle,
body.player-body .player-menu-actions button{
  background:linear-gradient(180deg,#ffe887,#ffc233)!important;
  color:#5a3510!important;
  border:3px solid rgba(90,53,16,.22)!important;
  box-shadow:0 6px 0 #d68d13,0 12px 20px rgba(163,96,0,.16)!important;
  border-radius:999px!important;
  font-weight:1000!important;
}
body.player-body .ghost-player-link{
  background:linear-gradient(180deg,#fffdf8,#fffaf0)!important;
  color:#10345c!important;
  border:3px solid rgba(31,41,55,.14)!important;
  box-shadow:0 5px 0 rgba(187,118,0,.45)!important;
  border-radius:999px!important;
  font-weight:1000!important;
}
body.player-body #localRomGateBackdrop{
  background:rgba(159,202,215,.72)!important;
  backdrop-filter:blur(4px)!important;
}
body.player-body #localRomGate{
  background:linear-gradient(180deg,#fffdf8 0%,#fff8dc 58%,#fff3bd 100%)!important;
  color:#172235!important;
  border:4px solid rgba(12,50,82,.15)!important;
  border-radius:18px!important;
  box-shadow:0 12px 0 rgba(8,92,84,.18),0 28px 60px rgba(16,52,92,.24)!important;
}
body.player-body #localRomGate h2{
  color:#10345c!important;
  text-shadow:0 2px 0 rgba(255,255,255,.78)!important;
}
body.player-body #localRomGate p,
body.player-body #localRomGate .muted,
body.player-body #localRomGate .tiny,
body.player-body #localRomPlayerStatus{
  color:#40516a!important;
}
body.player-body #localRomGate .player-state-actions{
  align-items:center!important;
  gap:.75rem!important;
}
body.player-body #localRomGate .ghost-player-link{
  background:linear-gradient(180deg,#fffdf8,#fffaf0)!important;
  color:#10345c!important;
  border:3px solid rgba(31,41,55,.12)!important;
  box-shadow:0 5px 0 rgba(187,118,0,.35)!important;
}
body.player-body .touch-controls button,
body.player-body #emulatorjsGame .ejs_virtualGamepad_button{
  background:linear-gradient(180deg,#ffe887,#ffc233)!important;
  color:#5a3510!important;
  border:3px solid rgba(90,53,16,.25)!important;
}
@media (max-width:760px){
  body.player-body .player-panel.retro-player-panel{background:linear-gradient(180deg,#fffdf8,#fff3bd)!important;}
  body.player-body #localRomGate{max-width:min(560px,calc(100% - 22px))!important;}
}

