/* PlayWexa v0.25.0 — character-free worlds, scene-wide banners and footer social links */
:root{--pw-content-max:1760px}
/* Owner-provided cinematic hero artwork: full-bleed, with localized gradient only at the text. */
body[data-route="/"] .pw-cinematic-hero.hero{
 background:#061329;
 min-height:clamp(470px,34vw,640px);
}
body[data-route="/"] .pw-cinematic-hero .hero-inner{
 min-height:clamp(470px,34vw,640px);
 padding:clamp(38px,4vw,78px) 0 clamp(30px,3vw,48px);
}
body[data-route="/"] .pw-cinematic-hero .hero-copy{width:min(53%,730px)}
body[data-route="/"] .pw-cinematic-hero .hero-copy h1{font-size:clamp(3.15rem,4.85vw,6rem);line-height:1.08;color:#fff;position:relative}
body[data-route="/"] .pw-cinematic-hero .hero-copy>p{font-weight:500;color:#f3f6ff;max-width:620px;text-shadow:0 2px 12px #000e}
body[data-route="/"] .pw-cinematic-hero .pw-cinematic-image,
body[data-route="/"] .pw-cinematic-hero .pw-cinematic-scene:hover .pw-cinematic-image{
 object-fit:cover;object-position:center 48%;filter:contrast(1.06) saturate(1.12) brightness(.96);transform:none;
}
body[data-route="/"] .pw-cinematic-hero .pw-cinematic-scene::after{
 background:
 linear-gradient(90deg,rgba(3,10,30,.97) 0%,rgba(3,11,31,.90) 19%,rgba(3,12,34,.70) 36%,rgba(3,12,34,.24) 55%,transparent 77%),
 linear-gradient(0deg,rgba(3,9,26,.35),transparent 35%);
}
body[data-route="/"] .pw-cinematic-hero .pw-portal-trigger{z-index:5;right:9%;bottom:9%;}
body[data-route="/"] .pw-cinematic-hero .pw-hero-artifact{z-index:5;top:30px}
/* Cards use the original, high-quality themed illustrations without human character overlays. */
.world-card .world-illustration,.pw-ref-world-card img{object-fit:cover;object-position:center;}
/* World landing banner. Artwork fills the entire card; text overlays a dark fade. */
body[data-page="site"] .world-hero{
 display:flex;position:relative;isolation:isolate;overflow:hidden;
 min-height:clamp(420px,29vw,550px);
 align-items:center;padding:clamp(30px,4.5vw,82px) clamp(26px,5vw,88px);
 border:1px solid rgba(128,183,255,.4);
 background:#08142e;border-radius:30px;
 box-shadow:0 20px 55px #0107178c,0 0 36px rgba(62,133,255,.15);
}
body[data-page="site"] .world-hero-glyph{
 position:absolute;inset:0;z-index:0;display:block;
 width:100%;height:100%;max-width:none;min-width:0;margin:0;
 pointer-events:none;filter:none;
}
body[data-page="site"] .world-hero-glyph img{
 display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;
 border:0;border-radius:0;object-fit:cover;object-position:center center;
 box-shadow:none;filter:saturate(1.06) contrast(1.05);
}
body[data-page="site"] .world-hero::after{
 content:"";pointer-events:none;position:absolute;inset:0;z-index:1;
 background:linear-gradient(90deg,rgba(4,12,31,.97) 0%,rgba(4,12,31,.9) 24%,rgba(5,15,33,.68) 46%,rgba(4,12,31,.12) 75%,rgba(4,12,31,.05)),
 linear-gradient(0deg,rgba(4,12,31,.2),transparent 28%);
}
body[data-page="site"] .world-hero>div:first-child{
 position:relative;z-index:2;width:min(62%,810px);max-width:100%;
 text-shadow:0 3px 14px rgba(0,0,0,.7);
}
body[data-page="site"] .world-hero h1{font-size:clamp(3.5rem,6vw,7.3rem);line-height:1.05;letter-spacing:-.055em;color:#f5faff}
body[data-page="site"] .world-hero h2{color:#b998ff;font-size:clamp(1.2rem,1.65vw,1.65rem)}
body[data-page="site"] .world-hero p{max-width:650px;color:#eef4ff;line-height:1.7;font-size:clamp(.95rem,1.14vw,1.18rem)}
body[data-page="site"] .world-hero .button-row{position:relative;z-index:3;flex-wrap:wrap}
/* Five-column desktop footer; clear vertical social column after Legal & Contact. */
.footer-grid{display:grid;grid-template-columns:minmax(210px,1.35fr) repeat(4,minmax(145px,1fr));gap:clamp(20px,2.8vw,56px);align-items:start}
.footer-grid .footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-grid .footer-column>b{font-size:1.05rem;margin-bottom:8px;white-space:normal}
.footer-grid .footer-column>a{display:block;padding:5px 0}
.footer-social .pw-social-link{
 display:flex;align-items:center;gap:10px;width:100%;max-width:210px;
 color:#bcecff;text-decoration:none;border-radius:12px;padding:9px 10px;
 background:rgba(25,42,85,.28);border:1px solid rgba(118,162,249,.16);
 transition:background .18s,border-color .18s,transform .18s;
}
.footer-social a.pw-social-link:hover,.footer-social a.pw-social-link:focus-visible{
 background:rgba(40,74,148,.55);border-color:#89e6ff;transform:translateY(-1px);color:#fff;
}
.footer-social .pw-social-icon{
 display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:9px;
 background:linear-gradient(135deg,#5546c0,#17689d);color:#f2f8ff;font-weight:900;
}
.footer-social .pw-social-unset{opacity:.58;cursor:default;color:#b8c8dd}
@media(max-width:1150px){
 .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .footer-grid .footer-social{grid-column:auto}
}
@media(max-width:850px){
 body[data-route="/"] .pw-cinematic-hero .hero-inner{padding:32px 0 0;min-height:0}
 body[data-route="/"] .pw-cinematic-hero .hero-copy{width:100%}
 body[data-route="/"] .pw-cinematic-hero .hero-visual.pw-cinematic-scene{height:clamp(295px,59vw,505px)}
 body[data-route="/"] .pw-cinematic-hero .pw-cinematic-scene::after{
  background:linear-gradient(0deg,rgba(3,11,31,.64),transparent 43%);
 }
 body[data-page="site"] .world-hero{min-height:450px}
 body[data-page="site"] .world-hero>div:first-child{width:min(85%,690px)}
 body[data-page="site"] .world-hero::after{background:linear-gradient(90deg,rgba(4,12,31,.95),rgba(4,12,31,.69) 63%,rgba(4,12,31,.22))}
}
@media(max-width:600px){
 body[data-route="/"] .pw-cinematic-hero .hero-copy h1{font-size:clamp(2.6rem,9vw,3.7rem)}
 body[data-route="/"] .pw-cinematic-hero .hero-visual.pw-cinematic-scene{height:clamp(260px,64vw,380px)}
 body[data-page="site"] .world-hero{min-height:465px;padding:28px 22px;align-items:flex-end}
 body[data-page="site"] .world-hero-glyph img{object-position:58% center}
 body[data-page="site"] .world-hero::after{background:linear-gradient(0deg,rgba(3,11,29,.98),rgba(4,13,31,.79) 43%,rgba(4,13,31,.05) 85%)}
 body[data-page="site"] .world-hero>div:first-child{width:100%}
 body[data-page="site"] .world-hero h1{font-size:clamp(2.75rem,10vw,4.5rem);overflow-wrap:anywhere}
 body[data-page="site"] .world-hero p{font-size:.94rem}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;padding:22px}
 .footer-grid .footer-brand{grid-column:1/-1}
 .footer-social .pw-social-link{padding:8px 6px}
}
@media(max-width:380px){.footer-grid{grid-template-columns:1fr}.footer-grid .footer-brand{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.footer-social .pw-social-link{transition:none}}
