/* Clear, readable hierarchy at actual screen size. */
:root{--muted:#c2c5b9;--gold:#e2ce94;--line:#d2c6a744}
.section{padding-top:70px;padding-bottom:70px}.intro{padding-top:70px;padding-bottom:0}.voices{padding-top:50px}.cinema{padding-top:28px}.community{padding-top:75px;padding-bottom:75px}.faq{padding-top:65px}
.chapter-rule{font-family:var(--heading);font-size:22px;font-weight:500;letter-spacing:2px;color:#e2ce94;padding:25px 0;margin-top:35px;border:0;gap:30px}
.section-marker{font-size:17px;font-weight:600;letter-spacing:2px;color:#ecd9a4;margin-bottom:24px}.section-marker span{font-size:16px;color:#d0be92}
.text-link,.community-actions .text-link,.hero-actions .text-link{font-size:17px;font-weight:600;letter-spacing:1px;line-height:1.6;color:#f0dca3;border-bottom:1px solid #c4b078;padding:8px 0}
.header nav a{font-size:16px;color:#e0e1d5;letter-spacing:1px}.support-link{font-size:15px}.button,.hero-actions .button{font-size:15px;min-height:58px;letter-spacing:1px}.hero .eyebrow{font-size:14px}.hero-tags{font-size:12px;color:#d0d3c4}.hero-bottom{font-size:13px;color:#d8ddca}.location small{font-size:11px;color:#bfc9b5}
.intro-copy>p,.section-heading>p,.download p,.community p,details p{color:#d0d4c6}.intro-copy>p{font-size:22px}.intro-copy>p:first-child{font-size:25px}.section-heading>p{font-size:22px}
.filters button{font-size:18px;font-weight:600;color:#cdd3c3;padding:19px 0}.filters button[aria-pressed=true]{color:#ffe6a9;border-bottom-width:3px}.filter-bar{border-color:#d2c6a755}.search input{font-size:17px;width:200px}.search input::placeholder{color:#bec5b4}.search>span{color:#dfc98e}.filters{gap:30px}
.character-badge{font-size:12px;color:#eee8d5;background:#0c110deb;border-color:#d5c59270;padding:8px 10px}.character-badge.done{color:#dfebc9}.character-info small{font-size:12px;color:#eedba9}.character-info p{font-size:15px;color:#e1e6d7}.character-info h3{font-size:29px}.catalog-bottom>span{font-size:15px;color:#c8d0bd}.outline-button{font-size:15px;border-color:#d0bc8580;min-height:52px;color:#ecdba9}
.release-strip small{font-size:13px;color:#c4ceba}.release-status{font-size:14px}.release-status small{font-size:16px;color:#c4ceba}.release-more{font-size:13px}.release-strip{grid-template-columns:1.4fr 1fr 1fr 75px}
.hero .release-panel h3{font-size:15px;color:#ead9ac}.hero .hero-release-time{font-size:13px;color:#dce2d3}.hero .countdown small{font-size:13px;color:#d3dbc6}.panel-top{font-size:13px;color:#c3ceb7}.progress-heading{font-size:13px}.hero .release-panel>p:last-child{font-size:12px;color:#d2dbc5}.hero .release-panel>p:last-child span{color:#bac8ab}
.subtle,.cinema-label,.cinema-label b,.cinema-caption small{font-size:14px;color:#d4dcc8}.media-note,.download-note,.community small{font-size:15px;color:#becbb1}.download-info .eyebrow,.community .eyebrow{font-size:14px;color:#dfd0a8}summary{font-size:18px;color:#eee7d4}.footer small{font-size:13px;color:#bac8ad}.footer>a:last-child{font-size:15px;color:#e9d8a4}.footer p{color:#dee5d4}.voice-status,.voice-details label,.voice-details select,.clip-controls button{font-size:15px}.voice-footnote{font-size:14px;color:#c0cdb3}
/* A thin metal seam, with an interlaced three-diamond ornament. */
.section-seam{display:flex;align-items:center;width:100%;height:36px;margin:10px 0;pointer-events:none;color:#c1b493}
.section-seam:before,.section-seam:after{content:'';height:1px;flex:1;background:linear-gradient(90deg,#756d5638,#b3a586a6);box-shadow:0 1px 0 #000}
.section-seam:after{background:linear-gradient(90deg,#b3a586a6,#756d5638)}
.seam-mark{display:block;position:relative;width:67px;height:22px;flex-shrink:0}
.seam-mark i{position:absolute;top:4px;width:15px;height:15px;border:1px solid #c1b493;transform:rotate(45deg);background:var(--bg)}
.seam-mark i:nth-child(1){left:12px}.seam-mark i:nth-child(2){left:25px;z-index:1}.seam-mark i:nth-child(3){left:38px}
.chapter-rule+.section-seam{margin:0}.download,.community,.footer{border-top:0;border-bottom:0}.release-strip{border-bottom:0}
@media(min-width:1600px){.chapter-rule{font-size:24px}.section-marker{font-size:18px}.hero .release-panel h3{font-size:15px}.hero .hero-release-time{font-size:14px}}
@media(max-width:1200px){.header{gap:20px}.header nav{gap:19px}.header nav a{font-size:14px}.filters{gap:24px}.filter-bar{flex-wrap:wrap}.search{margin-left:0}.search input{width:230px}.character-info h3{font-size:25px}.character-info p{font-size:14px}.character-badge{font-size:10px}.hero-tags{flex-wrap:wrap}.hero-actions{flex-wrap:wrap}.hero-actions .button{font-size:13px}.hero-actions .text-link{font-size:15px}}
@media(max-width:800px){.section{padding-top:55px;padding-bottom:55px}.intro{padding-bottom:0}.voices{padding-top:35px}.cinema{padding-top:20px}.chapter-rule{font-size:18px;letter-spacing:1px;gap:20px}.section-marker{font-size:15px}.section-marker span{font-size:14px}.header nav a{font-size:17px}.hero .eyebrow{font-size:12px}.hero-tags{font-size:11px}.hero-bottom{font-size:11px}.release-strip{grid-template-columns:1fr 1fr}.filters{gap:0 25px}.filters button{font-size:17px}.character-badge{font-size:12px}.character-info h3{font-size:27px}.character-info p{font-size:15px}.intro-copy>p{font-size:21px}.intro-copy>p:first-child{font-size:24px}.section-heading>p{font-size:21px}}
@media(max-width:520px){.chapter-rule{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:15px 23px;font-size:17px;padding:22px 0;margin-top:22px}.section-marker{font-size:14px;letter-spacing:1.2px}.section-marker span{font-size:14px}.text-link,.community-actions .text-link,.hero-actions .text-link{font-size:15px}.hero .eyebrow{font-size:11px;letter-spacing:1.4px}.hero-tags{font-size:10px;letter-spacing:0;gap:8px}.hero-actions .button{font-size:13px}.hero .release-panel h3{font-size:14px}.hero .hero-release-time{font-size:12px}.hero .countdown small{font-size:12px}.hero .release-panel{padding:22px}.hero .hero-release-date{font-size:24px}.release-strip small{font-size:11px}.release-status{font-size:12px}.release-status small{font-size:14px}.release-strip strong{font-size:23px}.release-strip strong span{font-size:13px}.filters button{font-size:16px;padding:14px 0}.filters{gap:0 22px}.character{height:345px}.character-badge{font-size:10px;padding:6px 8px}.character-info small{font-size:11px;letter-spacing:.4px}.character-info h3{font-size:22px}.character-info p{font-size:13px}.catalog-bottom>span{font-size:12px}.outline-button{font-size:13px;padding:13px}.subtle,.cinema-label,.cinema-label b,.cinema-caption small{font-size:12px}.media-note,.download-note,.community small{font-size:14px}.community .eyebrow{font-size:12px}.download-info .eyebrow{font-size:12px}.community p,.download p,details p{font-size:20px}summary{font-size:16px;letter-spacing:.6px}.footer small{font-size:12px}.footer>a:last-child{font-size:14px}.voice-details .eyebrow{font-size:12px}.voice-status,.voice-details label,.voice-details select,.clip-controls button{font-size:14px}.voice-footnote{font-size:13px}}

/* Compact game marks; the hero carries its branding in the navigation. */
.hero{height:min(820px,100svh);min-height:680px;display:flex;align-items:center}.hero-content{padding:155px 6% 135px;max-width:1000px;width:100%}
.chapter-rule.chapter-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;align-items:center;max-width:880px;margin:32px auto 0;padding:12px 0 20px}
.chapter-logo{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;height:122px}
.chapter-logo img{position:relative;display:block;width:100%;height:100%;max-width:225px;object-fit:contain}.chapter-logo.base-game img{max-width:185px}
.chapter-logo.expansion img.logo-illuminated{position:absolute;inset:0;margin:auto;clip-path:inset(0 0 36% 0);filter:brightness(2.5) drop-shadow(0 0 1px #c8d4d088);pointer-events:none}
@media(max-width:800px){.hero{height:auto;min-height:660px}.hero-content{padding:155px 5% 135px;max-width:100%}.chapter-rule.chapter-logos{gap:24px}.chapter-logo{height:100px}}
@media(max-width:520px){.hero{min-height:620px}.hero-content{padding:139px 6% 120px}.chapter-rule.chapter-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;padding:8px 0 18px}.chapter-logo{height:70px}.chapter-logo img{max-width:100%}.chapter-logo.base-game img{max-width:100%}}

/* Living portrait presentation. */
.voice-dialog{width:min(1040px,92vw);max-height:90svh;overflow:auto;border:1px solid #d3c08b66;background:#101610;box-shadow:0 30px 120px #000c}
.voice-dialog[open]{animation:voice-reveal .42s cubic-bezier(.16,1,.3,1)}
.voice-dialog::backdrop{background:#030705d9;backdrop-filter:blur(8px)}
.voice-layout{grid-template-columns:44% 1fr;min-height:570px}.voice-art{position:relative;overflow:hidden;min-height:100%;background:radial-gradient(ellipse at center,#52624a,#121a13 75%)}
.voice-art:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#101610a6,transparent 40%),linear-gradient(90deg,transparent 65%,#10161060)}
.voice-art .voice-portrait{display:block;width:100%;height:100%;min-height:570px;object-fit:cover;object-position:50% 20%;filter:saturate(.85);transform-origin:50% 35%;animation:portrait-breathe 7s ease-in-out infinite alternate}
.voice-details{align-self:center;padding:42px 34px}.voice-play-note{font:13px/1.5 var(--body);color:#e2ce94;margin:8px 0}.voice-play-note:empty{display:none}#voice-play{margin-top:12px;width:100%}#voice-play[hidden]{display:none}.voice-dialog .dialog-close{position:absolute;right:12px;top:12px;width:42px;height:42px;background:#0b100de6;border:1px solid #d3c08b88;color:#f3e6c5}
@keyframes voice-reveal{from{opacity:0;transform:translateY(24px) scale(.87)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes portrait-breathe{from{transform:scale(1.015) translateY(0)}to{transform:scale(1.075) translateY(-5px)}}
@media(max-width:600px){.voice-dialog{width:94vw;max-height:92svh}.voice-layout{display:block;min-height:0}.voice-art{height:260px;min-height:0}.voice-art .voice-portrait{min-height:0;height:100%;object-position:50% 22%}.voice-details{padding:24px}.voice-details h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){.voice-dialog[open],.voice-art .voice-portrait{animation:none}.voice-art .voice-portrait{transform:none}}
