@charset "UTF-8";
/* 1.3.0: story, world text, profiles, rules, legal documents, social links and the movie. */

/* Story */
.story-prologue-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:70px;align-items:start}
.story-prologue-head{position:sticky;top:110px}
.story-prologue-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.8vw,40px);letter-spacing:.1em;line-height:1.7;word-break:keep-all}
.story-prologue-text p{font-family:var(--serif);font-size:16px;line-height:2.3;color:#d9dbe1;letter-spacing:.04em}
.story-prologue-text p+p{margin-top:1.4em}
.story-opening,.story-band{position:relative;min-height:520px;display:flex;align-items:center;isolation:isolate;overflow:hidden;border-block:1px solid var(--line)}
.story-opening>img,.story-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.story-opening-copy,.story-band-copy{padding:80px 0;max-width:620px}
.story-opening-copy h2,.story-band-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4.4vw,60px);letter-spacing:.14em;margin-bottom:24px}
.story-opening-copy>p:not(.eyebrow),.story-band-copy>p:not(.eyebrow){font-family:var(--serif);font-size:16px;line-height:2.2;letter-spacing:.04em}
.story-band-copy .line-link{margin-top:30px}
.chapter-list{list-style:none;padding:0;margin:0;display:grid;gap:28px}
.chapter-item{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;padding:28px;border:1px solid var(--line);background:linear-gradient(135deg,#121b2a,#0c121d)}
.chapter-item:nth-child(even) .screenshot-frame{order:2}
.chapter-item .screenshot-frame{padding:0;border:1px solid var(--line);overflow:hidden}
.chapter-item .screenshot-frame>img{aspect-ratio:16/9;object-fit:cover}
.chapter-number{display:block;font:13px Georgia,serif;color:var(--gold);letter-spacing:.2em;margin-bottom:10px}
.chapter-copy h3{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.2vw,30px);letter-spacing:.1em;margin-bottom:18px}
.chapter-copy ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.chapter-copy li{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;color:#cfd2da}
.chapter-copy rt,.story-band rt{font-size:.5em;color:var(--muted)}
.section-more .line-link{margin-left:28px}

/* World */
.world-section{overflow:hidden}
.region-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.region-card{padding:30px;border:1px solid var(--line);border-top:2px solid var(--accent,var(--gold));background:#101723}
.region-card h3{font-family:var(--serif);font-weight:400;font-size:24px;letter-spacing:.08em;margin:18px 0 6px}
.region-place{font-size:12px;color:var(--gold);letter-spacing:.08em;margin-bottom:14px!important}
.region-card p:not(.theme-chip):not(.region-place){font-size:14px;line-height:2;color:#cfd2da}
.world-groups-section{background:#0c1320;border-block:1px solid var(--line)}
.group-list{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:0 50px}
.group-list>div{padding:24px 0;border-bottom:1px solid var(--line)}
.group-list dt{font-family:var(--serif);font-size:20px;letter-spacing:.1em;margin-bottom:8px}
.group-list dd{margin:0;font-size:14px;color:#cfd2da;line-height:2}

/* Characters */
.character-profile{margin:22px 0 4px;max-width:520px}
.character-profile p{font-size:14px;line-height:2.1;color:#d3d6de}
.character-profile p+p{margin-top:.6em}

/* Rules and glossary */
.rule-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px}
.rule-steps li{padding:28px;border:1px solid var(--line);background:#101723}
.rule-number{font:13px Georgia,serif;color:var(--gold);letter-spacing:.2em}
.rule-steps h3{font-size:19px;margin:8px 0 12px;letter-spacing:.06em}
.rule-steps p{font-size:14px;line-height:2;color:#cfd2da}
.keywords-section{background:#0c1320;border-top:1px solid var(--line)}
.glossary-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:30px;margin-bottom:30px}
.glossary-group{padding:30px;border:1px solid var(--line);background:#101723}
.glossary-group h3{font-family:var(--serif);font-weight:400;font-size:24px;letter-spacing:.08em;margin-bottom:12px}
.glossary-group dl{margin:0}
.glossary-group dl>div{padding:16px 0;border-bottom:1px solid var(--line)}
.glossary-group dl>div:last-child{border-bottom:0}
.glossary-group dt{color:var(--gold);font-size:15px;letter-spacing:.06em;margin-bottom:6px}
.glossary-group dd{margin:0;font-size:13.5px;line-height:2;color:#cfd2da}
.glossary-keywords dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));column-gap:40px}
.glossary-keywords dl>div:last-child{border-bottom:1px solid var(--line)}

/* Legal */
.legal-document{max-width:960px}
.legal-title{font-family:var(--serif);font-size:24px;letter-spacing:.08em;margin-bottom:10px}
.legal-body h2{font-size:20px}
.legal-body ul{padding-left:1.2em;margin:12px 0}
.legal-body li{margin:6px 0}
.legal-table{margin:20px 0 0;border-top:1px solid var(--line)}
.legal-table>div{display:grid;grid-template-columns:240px 1fr;gap:30px;padding:22px 0;border-bottom:1px solid var(--line)}
.legal-table dt{color:var(--gold);font-size:14px}
.legal-table dd{margin:0}
.legal-table dd p,.legal-note p{margin:0 0 8px}
.legal-note{padding:22px 0;border-bottom:1px solid var(--line)}
.legal-blank{background:#a73f3933;color:#ffb3a8;padding:0 4px}
.legal-siblings{margin-top:60px;display:flex;flex-wrap:wrap;gap:14px 30px}
.portal-document .article-content ol{padding-left:1.4em}

/* Social links */
.social-links{margin-top:26px}
.social-links .eyebrow{margin-bottom:10px}
.social-links div{display:flex;flex-wrap:wrap;gap:10px}
.social-links a{border:1px solid var(--line);padding:8px 16px;font-size:12px;letter-spacing:.08em}
.social-links a:hover{border-color:var(--gold)}

/* Movie */
.movie-frame{border:1px solid var(--line);background:#000;aspect-ratio:16/9}
.movie-frame video{display:block;width:100%;height:100%;background:#000}
.movie-button{display:inline-flex;align-items:center;gap:14px;margin-top:22px;padding:10px 22px 10px 12px;border:1px solid var(--line);background:#0c1324b0;font:13px Georgia,serif;letter-spacing:.2em}
.movie-button:hover{border-color:var(--gold)}
.movie-play{width:34px;height:34px;border-radius:50%;border:1px solid var(--gold);position:relative}
.movie-play:after{content:'';position:absolute;left:13px;top:10px;border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent var(--gold)}
.movie-dialog{width:min(1200px,calc(100% - 48px));max-width:none;padding:0;border:1px solid var(--line);background:#05080f;color:var(--paper)}
.movie-dialog::backdrop{background:#000c}
.movie-dialog-bar{display:flex;justify-content:flex-end;padding:10px 14px}
.movie-dialog-bar button{border:0;font-size:12px;letter-spacing:.1em}
.movie-dialog .movie-frame{border:0}

@media(max-width:1000px){
  .story-prologue-wrap{grid-template-columns:1fr;gap:30px}
  .chapter-item{grid-template-columns:1fr;gap:22px}
  .chapter-item:nth-child(even) .screenshot-frame{order:0}
  .glossary-groups{grid-template-columns:1fr}
}
@media(max-width:800px){
  .story-opening,.story-band{min-height:440px}
  .story-opening-copy,.story-band-copy{padding:60px 8px}
  .story-prologue-text p,.story-opening-copy>p:not(.eyebrow),.story-band-copy>p:not(.eyebrow){font-size:15px}
  .chapter-item{padding:18px}
  .region-grid,.group-list,.rule-steps,.glossary-keywords dl{grid-template-columns:1fr}
  .region-card,.rule-steps li,.glossary-group{padding:22px}
  .legal-table>div{grid-template-columns:1fr;gap:8px}
  .section-more .line-link{margin:18px 0 0;display:table}
  .movie-dialog{width:calc(100% - 24px)}
}

/* -- Legibility floor ---------------------------------------------------
   Last in the cascade on purpose: earlier layouts shrank text to 6-11px. */
.hero-description,.game-heading>p,.game-caption p,.pickup-copy p,.article-content{font-size:15px!important;line-height:2!important}
.hero-description{color:var(--paper)!important;font-weight:500;text-shadow:0 1px 3px #000,0 0 18px #05080fd0}
.hero-catch,.hero-platforms,.world-copy>p,.story-band-copy>p,.story-opening-copy>p,.character-copy,.pickup-copy{text-shadow:0 1px 3px #000c,0 0 16px #05080fb0}
.product-details dd,.news-title,.archive-results .news-title,.release-label,.character-title{font-size:max(14px,1em)!important}
.image-note,.store-note,.preview-notice,.character-footnote,.copyright,.legal,.site-footer p,.hero-bottom,.hero-bottom p{font-size:12px!important}
.eyebrow,.hero-copy .eyebrow,.character-copy .eyebrow,.inner-masthead .eyebrow,.section-heading h2>span,.masthead-title span,.tab-nav small,.desktop-nav small,.bc-store-device,.catalog-environment span,.ace-card small,.character-copy h3 small,.news-shortcuts a>span:first-child{font-size:11px!important}
.news-tag,.theme-chip,.character-theme,.theme-tab span,.breadcrumb,.breadcrumb a,.breadcrumb span,.breadcrumbs,.breadcrumbs a,.breadcrumbs span,.bc-store-status,.product-details dt,.portal-links strong,.portal-links span,.line-link,.quiet-button,.zoom-button,.support-nav a,.header-store,.mobile-store>span,.pickup-copy time,.tab-nav strong,.tab-nav a>span:first-child,.desktop-nav a,.desktop-nav span,.footer-links,.article-meta,.news-row time,[class^="theme-"]>span{font-size:12px!important}
@media(max-width:800px){
  .hero-description,.game-heading>p,.game-caption p,.pickup-copy p,.article-content{font-size:14px!important}
  .tab-nav small{font-size:10px!important}
}
