/* Game-inspired scenery for community pages; account and authentication pages stay plain. */
body.portal-modern { isolation:isolate; }
.portal-modern:is(.dashboard-active,.profile-active,.auth-mode) .portal-backgrounds { display:none; }
.portal-backgrounds { position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none; background:#11151b; }
.portal-background-scene { position:absolute; inset:0; opacity:0; transition:opacity 1.6s ease-in-out; }
.portal-background-scene.is-active { opacity:1; }
.portal-background-scene img { width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }
.portal-background-scene.is-active img, .portal-background-scene.is-leaving img { animation:portal-background-drift 14s linear both; }
.portal-background-scene[data-scene="rdr-overlook"] img { object-position:75% center; animation-direction:reverse; }
.portal-background-scene[data-scene="l4d2-parish"] img, .portal-background-scene[data-scene="gmod-construct"] img { object-position:85% center; }
.portal-backgrounds.is-paused img { animation-play-state:paused; }
.portal-backgrounds::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#09090b75 0%,#09090b80 30%,#09090bc9 100%),linear-gradient(90deg,#09090b30,#09090b80 50%,#09090b30); transition:background .3s; }
.portal-modern .portal-header { background:#0c0c0edb; backdrop-filter:blur(16px); }
.portal-modern.auth-mode .portal-header { background:#0c0c0f; border-bottom-color:#ffffff0d; backdrop-filter:none; }
.portal-modern.auth-mode .auth-card { background:#101014; border-color:#2a2a32; box-shadow:0 18px 80px #0003; backdrop-filter:none; }
.portal-modern .dashboard-eyebrow { color:#b8b5c0; }
.portal-modern :is(.dashboard-heading p,.forum-heading p) { color:#c3c0cb; }
.portal-modern :is(.dashboard-heading,.forum-heading) { text-shadow:0 2px 18px #000b; }
@keyframes portal-background-drift { from { transform:scale(1.005) translate3d(.2%,0,0); } to { transform:scale(1.035) translate3d(-.5%,-.2%,0); } }
@media(max-width:760px) {
 .portal-background-scene img { object-position:65% center; }
 .portal-background-scene[data-scene="rdr-overlook"] img { object-position:80% center; }
}
@media(prefers-reduced-motion:reduce) { .portal-background-scene { transition:none; } .portal-background-scene img { animation:none !important; transform:none; } }
