/* Original Astrivia treatment inspired by FrnkHwk's dark, image-led gallery.
   No reference-site code, artwork, branding, WebGL or scroll hijacking. */
:root{--bg:#030f16;--panel:#101d26;--line:#293840;--text:#f1f4f3;--muted:#a9b8bf}
.gallery-shell{min-height:100dvh;background:var(--bg)}
.gallery-shell img[hidden]{display:none}
.gallery-header{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:76px;padding:12px clamp(20px,4vw,64px);background:#030f16f5;border-bottom:1px solid #b6d8d010}
.brand-home{min-height:44px;display:flex;align-items:center;text-decoration:none;justify-self:start;flex:none}.gallery-header .brand{gap:10px}.gallery-header .brand img{width:34px;height:38px}.gallery-header .brand strong{font-size:15px;letter-spacing:.16em}.gallery-header .brand small{font-size:8px;letter-spacing:.18em;color:#91a8af}
.gallery-primary{display:flex;align-items:center;gap:12px}.gallery-primary .nav-link{display:flex;align-items:center;min-height:44px;padding:10px 14px;font-size:12px;font-weight:400;color:#a9b9c0;text-decoration:none;border-radius:24px;white-space:nowrap;background:none;transition:color .18s,background .18s}
.gallery-primary .nav-link:hover,.gallery-primary .nav-link.active{color:#f2f5f4;background:#b4ded00b}.gallery-primary .nav-link.active{box-shadow:inset 0 -1px #b0d5c67a}
.gallery-menu{position:relative}.gallery-menu summary{min-height:44px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;list-style:none;color:#c5d2d5;border:1px solid #7c9d9b42;border-radius:24px;padding:9px 16px;font-size:11px;white-space:nowrap;transition:color .18s,border-color .18s}
.gallery-menu summary::-webkit-details-marker{display:none}.gallery-menu summary:after{content:'⌄';font-size:14px;margin-left:4px}.gallery-menu[open] summary,.gallery-menu summary:hover{border-color:var(--accent);color:#f8fbf9}.gallery-menu summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.account-picker{justify-self:end}.account-picker summary{border-color:#45605d55;padding:5px 12px 5px 6px;gap:8px}.account-picker .avatar{width:30px;height:30px;background:#14372f;color:#aae3cb;font-size:11px}
.account-options{position:absolute;right:0;top:calc(100% + 14px);width:240px;padding:12px;border:1px solid #3e555e;border-radius:14px;background:#0d1c25;box-shadow:0 16px 44px #0006}.account-options p{font-size:10px;padding:10px 10px 14px;color:#9cb0b8}.account-options p strong{display:block;font-size:13px;color:#e2e9e8;margin-top:5px;overflow-wrap:anywhere}
.menu-action{display:block;width:100%;padding:12px 10px;text-align:left;border:0;border-radius:7px;background:none;font:inherit;font-size:12px;color:#d2dedd;text-decoration:none;min-height:44px}.menu-action:hover{background:#253f4966;color:#fff}.account-options .exit{margin:0;border-top:1px solid #31434b;border-radius:0;padding-top:14px;color:#c9b6ba}
.gallery-shell>.gallery-content{padding:24px clamp(20px,4vw,64px) 80px;max-width:1640px;width:100%;margin-inline:auto;min-width:0}
.gallery-topbar{display:flex;align-items:center;gap:24px;min-height:48px;margin-bottom:28px}.gallery-topbar[hidden],.gallery-topbar [hidden]{display:none}
.gallery-topbar .breadcrumbs{display:flex;align-items:center;gap:10px;flex:1;min-width:0;font-size:11px;letter-spacing:0;font-weight:400}.gallery-topbar .breadcrumbs a{color:#94aab2;text-decoration:none}.gallery-topbar .breadcrumbs strong{font-weight:450;color:#dce5e4}
.gallery-topbar .search{width:clamp(200px,25vw,340px)}.gallery-topbar .search input{min-height:44px;padding:12px 16px;border:1px solid #36505a;border-radius:24px;background:#0a1922;color:#eef4f2;font-size:11px}.gallery-topbar .search input::placeholder{color:#99afb8}
.world-picker .world-navigation{position:absolute;top:calc(100% + 14px);right:0;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:430px;max-height:70dvh;overflow:auto;padding:14px;border:1px solid #3c555f;border-radius:14px;background:#0d1c25;box-shadow:0 18px 44px #0006}
.world-picker .nav-world{min-height:54px;padding:9px 10px;font-size:11px;border-radius:8px;color:#bfced2;gap:10px}.world-picker .nav-world img{width:34px;height:34px;border-radius:7px;filter:none}.world-picker .nav-world.selected,.world-picker .nav-world:hover{background:#31504a66;color:#d9f4e8}
.gallery-intro{padding:0 0 76px;text-align:center}.portal-stage{max-width:1500px;max-height:340px;margin:-12px auto 0;aspect-ratio:3;overflow:hidden;isolation:isolate}.portal-stage img{display:block;width:100%;height:100%;object-fit:contain;mask-image:linear-gradient(#000 84%,transparent);animation:portal-arrival .65s ease-out both}
.universe-copy{position:relative;margin:-12px auto 0;max-width:1100px}.universe-copy h1{font-size:clamp(54px,7.3vw,96px);font-weight:380;letter-spacing:-.065em;line-height:1.06;color:#f2f5f4}.universe-copy p{font-size:clamp(12px,1.2vw,16px);line-height:1.75;color:#a9bbc2;max-width:640px;margin:22px auto 24px}.universe-copy .portal-cta{min-height:48px;border:1px solid #839b8d70;background:transparent;border-radius:28px;color:#dce9de;font-size:12px;font-weight:450;padding:13px 22px;gap:22px;transition:background .18s,color .18s,border-color .18s}.universe-copy .portal-cta:hover{background:#e0f0df;color:#0b1d17;border-color:#e0f0df;filter:none}
.gallery-library{margin:0}.gallery-title{text-align:center;margin:0 0 40px}.gallery-title h2{font-size:clamp(25px,3vw,42px);font-weight:400;letter-spacing:-.05em;line-height:1.18;scroll-margin-top:108px}.gallery-title p{font-size:12px;margin-top:14px;color:#9db2ba}.gallery-library .world-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 28px}
.gallery-library .world-card,.gallery-library .world-card:first-child{position:relative;grid-column:auto;display:block;aspect-ratio:auto;min-height:0;border:0;border-radius:0;background:transparent;overflow:visible;transform:none;text-decoration:none;isolation:auto}
.gallery-library .world-card:after{display:none}.gallery-library .world-card>.world-art{position:relative;inset:auto;overflow:hidden;aspect-ratio:16/10;padding:0;background:#0b1b25;border-radius:14px;border:1px solid #5a7c8640;display:block}
.gallery-library .world-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease-out}.gallery-library .world-card>.world-copy{position:relative;inset:auto;display:block;padding:20px 0 0;background:none}.gallery-library .world-copy strong{display:block;font-size:clamp(21px,2.5vw,32px);font-weight:450;letter-spacing:-.045em;line-height:1.2}.gallery-library .world-copy p{margin:10px 0 0;max-width:48ch;font-size:12px;line-height:1.7;color:#9fb2bb;display:block}
.gallery-library .world-arrow{display:grid;place-items:center;position:absolute;right:20px;bottom:20px;width:42px;height:42px;font-size:22px;border-radius:50%;background:#06141dc9;border:1px solid #c8ead382;color:#e0f1de;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}
.gallery-library .world-card:focus-visible{outline:2px solid var(--accent);outline-offset:8px;border-radius:14px}.gallery-library .world-card:focus-visible .world-arrow{opacity:1;transform:none}
.gallery-shell .hero{border-radius:16px;border-color:#354954;background-color:#0a1922}.gallery-shell .hero h1{font-weight:450;letter-spacing:-.055em}.gallery-shell .hero p{line-height:1.7}.gallery-shell .section-head h2{font-weight:450;letter-spacing:-.04em}.gallery-shell .poster{background:transparent;border-color:#2a414c;border-radius:12px}.gallery-shell .poster>strong{font-weight:450}.gallery-shell .poster:hover{transform:translateY(-2px)}
.gallery-shell .signal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.gallery-shell .signal-card{background:#0b1c28;border-color:#36526066}.gallery-shell .signal-art{background:radial-gradient(ellipse at 50% 20%,#284c5f55,transparent 75%),#0c2231}.gallery-shell .signal-art:before{opacity:.45}.gallery-shell .signal-caption strong{font-weight:500}.gallery-shell .live-toolbar{border-color:#29404a}
.gallery-shell .category-link{background:#0d202b;border-color:#35505d;border-radius:12px}.gallery-shell .game-card{background:#0c2028;border-color:#36544f99}.gallery-shell .game-card h3{font-weight:500}.gallery-shell .console-card{background:#0c1e27;border-color:#334e58}.gallery-shell .settings-card{background:#0b1d28;border-color:#344b56;border-radius:12px}
@keyframes portal-arrival{from{opacity:0}to{opacity:1}}
@media(hover:hover){.gallery-library .world-card:hover .world-art>img{transform:scale(1.025)}.gallery-library .world-card:hover .world-art{border-color:#a2c8ca80}.gallery-library .world-card:hover .world-arrow{opacity:1;transform:none}}
@media(min-width:651px) and (max-height:760px){.portal-stage{max-height:260px}.universe-copy h1{font-size:clamp(54px,6vw,78px)}.gallery-intro{padding-bottom:48px}}
@media(max-width:1100px){.gallery-header{gap:16px}.gallery-primary{gap:4px}.gallery-primary .nav-link{padding-inline:12px}.gallery-shell .signal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-topbar{gap:14px}.gallery-topbar .breadcrumbs{font-size:10px}.gallery-topbar .search{width:240px}.world-picker .world-navigation{right:-80px}.gallery-intro{padding-bottom:60px}}
@media(max-width:780px){.gallery-header{padding-inline:24px;grid-template-columns:auto 1fr auto;gap:16px}.gallery-primary{justify-content:center}.gallery-primary .nav-link{font-size:11px;padding-inline:10px}.gallery-header .brand small{display:none}.gallery-header .brand strong{font-size:13px}.gallery-header .brand img{width:30px;height:34px}.account-picker summary>span+span{display:none}.account-picker summary{padding:4px 7px 4px 4px}.account-picker summary:after{display:none}.gallery-shell>.gallery-content{padding-inline:24px}.gallery-topbar .search{width:210px}.gallery-topbar{gap:12px}.gallery-topbar .breadcrumbs{gap:6px}.gallery-menu summary{font-size:10px;padding-inline:12px}.world-picker .world-navigation{width:380px;right:-70px}.gallery-library .world-grid{gap:36px 20px}.gallery-library .world-copy p{font-size:11px}.universe-copy h1{font-size:64px}.universe-copy p{max-width:480px}.gallery-intro{padding-bottom:48px}.portal-stage{aspect-ratio:2.7}}
@media(max-width:650px){.gallery-header{grid-template-columns:1fr auto;gap:4px 16px;padding:10px 20px;min-height:102px}.gallery-primary{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:8px}.gallery-primary .nav-link{font-size:11px;min-height:44px;padding:10px 12px}.gallery-header .brand strong{font-size:14px}.gallery-header .brand img{width:30px;height:32px}.account-picker{grid-column:2;grid-row:1}.account-picker .avatar{width:28px;height:28px}.account-picker summary{min-height:44px}.gallery-shell>.gallery-content{padding:20px 20px 48px}.gallery-topbar{flex-wrap:wrap;gap:12px;margin-bottom:24px}.gallery-topbar .breadcrumbs{flex:1;font-size:10px}.gallery-topbar .world-picker{margin-left:auto}.gallery-topbar .search{flex:1 1 100%;width:100%}.gallery-topbar .search input{font-size:11px;padding:12px 16px}.world-picker .world-navigation{width:min(400px,calc(100vw - 40px));right:0;grid-template-columns:1fr;max-height:64dvh}.world-picker .nav-world{min-height:48px;font-size:12px}.gallery-menu summary{padding:8px 12px;min-height:44px}.account-picker summary{padding:4px 6px}.account-options{width:228px;max-width:calc(100vw - 40px)}.gallery-intro{padding-bottom:44px}.portal-stage{margin:-8px -20px 0;aspect-ratio:auto;height:200px;max-width:none}.portal-stage img{object-fit:cover}.universe-copy{margin:0}.universe-copy h1{font-size:clamp(35px,8vw,52px);letter-spacing:-.065em;line-height:1.07}.universe-copy p{font-size:12px;max-width:340px;margin:20px auto}.universe-copy .portal-cta{font-size:11px;min-height:46px;padding:12px 20px}.gallery-title{margin-bottom:28px}.gallery-title h2{font-size:27px;scroll-margin-top:130px}.gallery-title p{font-size:11px;max-width:260px;margin:12px auto 0}.gallery-library .world-grid{grid-template-columns:1fr;gap:32px}.gallery-library .world-card>.world-art{aspect-ratio:16/10;border-radius:12px}.gallery-library .world-card>.world-copy{padding-top:16px}.gallery-library .world-copy strong{font-size:24px}.gallery-library .world-copy p{font-size:12px;margin-top:8px}.gallery-library .world-arrow{opacity:1;transform:none;display:grid;width:34px;height:34px;right:12px;bottom:12px;font-size:18px}.gallery-shell .signal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-shell .hero{border-radius:12px}.gallery-shell .game-grid{gap:12px}.gallery-shell .section-head{gap:12px}.gallery-shell .section-head h2{font-size:20px}.gallery-shell .section-head>span{font-size:9px;max-width:100px}.gallery-header .brand-home{min-width:0;min-height:44px;display:flex;align-items:center}.gallery-primary .nav-link{min-width:0}.gallery-topbar .breadcrumbs strong{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.gallery-shell *{animation:none!important;scroll-behavior:auto!important}.gallery-library .world-art>img,.gallery-library .world-arrow,.gallery-shell .poster{transition:none!important;transform:none!important}}
