/* Language controls and typography, loaded after the visual theme. */
.header-inner{gap:27px}
.header-inner>.brand{order:0}
.primary-navigation{order:1;margin-left:auto}
.header-actions{order:2;display:flex;align-items:center;gap:12px;flex-shrink:0}
.language-switch{position:relative;color:var(--ink);flex-shrink:0;font-size:11px}
.language-switch>summary{display:flex;align-items:center;justify-content:center;gap:9px;min-height:39px;padding:7px 9px;cursor:pointer;list-style:none;border:1px solid #d5ddcc;border-radius:4px;white-space:nowrap;transition:background .2s}
.language-switch>summary::-webkit-details-marker{display:none}
.language-switch>summary:hover,.language-switch[open]>summary{background:#e9edde}
.language-switch>summary svg{transition:transform .2s}
.language-switch[open]>summary svg{transform:rotate(180deg)}
.language-switch>nav{position:absolute;right:0;top:calc(100% + 12px);min-width:146px;padding:7px;background:#fbfaf5;border:1px solid #d9dfd0;border-radius:5px;box-shadow:0 14px 35px #102e2620;z-index:50}
.language-switch>nav>a{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:39px;padding:8px 12px;white-space:nowrap;border-radius:3px;font-size:12px}
.language-switch>nav>a:hover{background:#edf0e6}
.language-switch>nav>a[aria-current]{background:#e6ecdd;color:#244f39}
.language-switch>nav>a>span{color:#9a8352;font-size:12px}
.age-languages{display:flex;align-items:center;justify-content:center;gap:17px;margin:19px 0 6px;font-size:10px;color:#6a785f}
.age-languages>a{padding:6px 0;border-bottom:1px solid transparent}
.age-languages>a:hover,.age-languages>a[aria-current]{border-bottom-color:#b59d6c;color:#173b32}
.quick-tools-contact>span:last-child{max-width:32px}
.locale-zh-hant{--serif:"Noto Serif TC","Songti TC","PMingLiU",serif;--sans:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;font-family:var(--sans)}
.locale-ja{--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic UI","Hiragino Kaku Gothic ProN","Meiryo",system-ui,sans-serif;font-family:var(--sans);line-break:strict}
.locale-en{--serif:Georgia,"Times New Roman",serif;--sans:Arial,system-ui,sans-serif;font-family:var(--sans)}
.locale-en .hero-rich h1{font-size:66px;line-height:1.25;letter-spacing:-.7px}
.locale-en .hero-description{letter-spacing:.1px;line-height:1.9}
.locale-en .section-heading h2,.locale-en .experience-copy h2,.locale-en .faq-grid h2,.locale-en .partnership-copy h2,.locale-en .partner-path-intro h2,.locale-en .insights-heading h2{letter-spacing:-.35px;line-height:1.35;text-wrap:balance}
.locale-en .partnership-copy h2{font-size:43px}
.locale-en .hero-scene-tab{letter-spacing:0;font-size:11px}
.locale-en .hero-scene-card h2{letter-spacing:0;line-height:1.45}
.locale-en .game-card h3{font-family:var(--serif);letter-spacing:0;font-size:21px}
.locale-en .collection-heading-aside>span:last-child{letter-spacing:0}
.locale-en .insights-card h3,.locale-en .insights-card-featured h3,.locale-en .experience-details h3{letter-spacing:0;line-height:1.4}
.locale-en .partner-path-intro h2{font-size:34px}
.locale-en .partner-path-card h3{font-size:18px;letter-spacing:0;line-height:1.5}
.locale-en .partner-path-card-category{letter-spacing:.7px}
.locale-en .footer-link-column h2,.locale-en .footer-link-column>a,.locale-en .footer-link-column>button{letter-spacing:0;line-height:1.7}
.locale-en .responsible-copy h2{letter-spacing:0}
.locale-en .dialog-body h2,.locale-ja .dialog-body h2{text-wrap:balance;overflow-wrap:anywhere}
.locale-en .age-dialog h2{font-size:27px;letter-spacing:-.3px;line-height:1.3}
.locale-ja .hero-rich h1{font-size:58px;letter-spacing:1px;line-height:1.55}
.locale-ja .hero-description{letter-spacing:0}
.locale-ja .hero-scene-tab{font-size:10px;letter-spacing:0}
.locale-ja .partnership-copy h2{font-size:34px;letter-spacing:1px;line-height:1.6}
.locale-ja .partner-path-intro h2{font-size:30px;letter-spacing:.5px}
.locale-ja .insights-card h3{font-size:20px;letter-spacing:.2px}
.locale-ja .footer-brand-block>p{font-size:18px;letter-spacing:.6px;line-height:1.7}
.locale-ja .footer-link-column>a,.locale-ja .footer-link-column>button{font-size:10px;line-height:1.9}
.locale-ja .age-dialog h2{font-size:25px;letter-spacing:0;line-height:1.6}
.locale-en .game-card-meta,.locale-ja .game-card-meta{flex-wrap:wrap}
.locale-en .collection-dock-link strong,.locale-ja .collection-dock-link strong{white-space:normal;line-height:1.45}
.locale-en .contact-panel h3,.locale-ja .contact-panel h3{text-wrap:balance}
.locale-en .consent-field>span,.locale-ja .consent-field>span{line-height:1.9}
.locale-en .experience-device-note>div:first-child{max-width:238px}
.locale-en .experience-details h3{font-size:24px}
.insights-cover-guide{container-type:inline-size}
@container(max-width:400px){
  .insights-guide-type{font-size:29px;bottom:42px;left:22px}
  .insights-playing-card{width:79px;height:115px}
  .insights-playing-card-front{top:24px;right:27%;width:79px;height:115px}
  .insights-playing-card-back{top:20px;right:8%;width:79px;height:115px}
  .insights-playing-card i{font-size:16px}
  .insights-playing-card i>span{font-size:10px;margin-top:3px}
  .insights-playing-card b,.insights-playing-card-back b{font-size:37px}
  .insights-playing-card small{font-size:15px}
}

@media(min-width:1600px){.locale-en .hero-rich h1{font-size:74px}.locale-ja .hero-rich h1{font-size:65px}}
@media(max-width:1199px){
  .header-inner{gap:20px}
  .primary-navigation{gap:23px}
  .nav-links{gap:20px}
  .locale-en .nav-links{font-size:12px;gap:18px}
  .locale-ja .nav-links{font-size:11px;gap:18px}
  .locale-en .hero-rich h1{font-size:59px}
  .locale-ja .hero-rich h1{font-size:53px}
  .locale-en .experience-device-note>div:first-child{max-width:200px}
}
@media(max-width:1100px){
  .primary-navigation{display:none;position:absolute;left:0;right:0;top:100%;margin-left:0;background:var(--paper);padding:14px 28px 25px;box-shadow:0 12px 24px #102b2315;border-top:1px solid var(--line);gap:15px;z-index:25}
  .primary-navigation.is-open{display:flex;align-items:stretch;flex-direction:column}
  .nav-links,.locale-en .nav-links,.locale-ja .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;font-size:13px}
  .nav-links a{padding:12px 5px;border-bottom:1px solid var(--line)}
  .nav-links a::after{display:none}
  .nav-contact{width:100%;justify-content:space-between;font-size:12px;padding:12px 18px}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:40px;height:40px;padding:9px}
  .menu-toggle span{height:1px;width:22px;background:var(--ink);transition:transform .2s}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
}
@media(max-width:979px){
  .locale-en .hero-rich h1{font-size:53px}
  .locale-ja .hero-rich h1{font-size:47px}
  .locale-en .partnership-copy h2{font-size:35px}
  .locale-ja .partnership-copy h2{font-size:29px}
  .locale-en .experience-device-note>div:first-child{max-width:350px}
}
@media(max-width:719px){
  .header-inner{gap:10px}
  .header-actions{gap:9px}
  .brand-wordmark>span{font-size:20px;letter-spacing:1.4px;gap:6px}
  .brand-wordmark small{font-size:6px;letter-spacing:1.8px}
  .locale-en .brand-wordmark small{font-size:5px;letter-spacing:1.1px}
  .locale-ja .brand-wordmark small{font-size:6px;letter-spacing:.2px}
  .language-switch>summary{min-height:35px;font-size:10px;gap:6px;padding:6px 7px}
  .language-switch>nav{right:0;min-width:142px}
  .primary-navigation{padding:14px 20px 24px;top:100%}
  .hero-rich .hero-copy{width:100%;min-width:0}
  .locale-en .hero-rich h1{font-size:42px;line-height:1.3;letter-spacing:-.5px}
  .locale-ja .hero-rich h1{font-size:36px;line-height:1.6;letter-spacing:.3px}
  .locale-en .hero-rich .hero-description{font-size:12px;line-height:1.9;max-width:290px}
  .locale-ja .hero-rich .hero-description{font-size:11px;line-height:2.1}
  .locale-en .hero-rich .hero-actions,.locale-ja .hero-rich .hero-actions{gap:17px}
  .locale-en .hero-rich .button{font-size:11px;gap:17px;padding-inline:16px}
  .locale-ja .hero-rich .button{font-size:10px;gap:14px;padding-inline:15px}
  .locale-en .hero-secondary{font-size:10px}
  .locale-ja .hero-secondary{font-size:10px;gap:7px}
  .locale-en .hero-scene-card h2{font-size:19px}
  .locale-ja .hero-scene-card h2{font-size:17px}
  .locale-en .hero-scene-tab{font-size:9px;gap:7px;line-height:1.6}
  .locale-ja .hero-scene-tab{font-size:9px;gap:7px}
  .locale-en .collection-dock-link strong{font-size:12px;letter-spacing:0}
  .locale-ja .collection-dock-link strong{font-size:10px;letter-spacing:0}
  .locale-en .section-heading h2{font-size:28px}
  .locale-ja .section-heading h2{font-size:27px;letter-spacing:.5px}
  .locale-en .filter-button{font-size:10px;padding:9px 11px}
  .locale-ja .filter-button{font-size:10px;padding:9px 10px}
  .locale-en .games-section .game-card h3{font-size:18px}
  .locale-ja .games-section .game-card h3{font-size:15px}
  .locale-en .spotlight-copy h3{font-size:27px;letter-spacing:0;line-height:1.4}
  .locale-ja .spotlight-copy h3{font-size:24px;letter-spacing:.5px}
  .locale-en .experience-copy h2{font-size:31px}
  .locale-ja .experience-copy h2{font-size:28px;letter-spacing:.3px}
  .locale-en .experience-device-note>div:first-child{max-width:none}
  .locale-en .experience-details h3{font-size:23px}
  .locale-ja .experience-details h3{font-size:21px;letter-spacing:0}
  .locale-en .experience-photo-caption p{font-size:24px;letter-spacing:.1px}
  .locale-ja .experience-photo-caption p{font-size:21px;letter-spacing:.3px}
  .locale-en .insights-heading h2{font-size:29px}
  .locale-ja .insights-heading h2{font-size:27px;letter-spacing:.5px}
  .locale-en .insights-card h3,.locale-en .insights-card-featured h3{font-size:24px;letter-spacing:0}
  .locale-ja .insights-card h3,.locale-ja .insights-card-featured h3{font-size:21px;letter-spacing:0}
  .locale-en .partner-path-intro h2{font-size:30px}
  .locale-ja .partner-path-intro h2{font-size:27px}
  .locale-en .partner-path-card h3{font-size:20px}
  .locale-ja .partner-path-card h3{font-size:19px}
  .locale-en .partnership-copy h2{font-size:36px}
  .locale-ja .partnership-copy h2{font-size:30px}
  .locale-en .contact-panel h3{font-size:24px}
  .locale-ja .contact-panel h3{font-size:21px}
  .locale-en .form-row{flex-direction:column;gap:14px}
  .locale-en .contact-form input:not([type=checkbox]),.locale-en .contact-form select,.locale-en .contact-form textarea{font-size:12px}
  .locale-ja .contact-form input:not([type=checkbox]),.locale-ja .contact-form select,.locale-ja .contact-form textarea{font-size:11px}
  .locale-en .faq-grid h2{font-size:30px}
  .locale-ja .faq-grid h2{font-size:27px;letter-spacing:.3px}
  .locale-en .responsible-copy h2{font-size:20px;letter-spacing:0}
  .locale-ja .responsible-copy h2{font-size:17px;letter-spacing:0}
  .locale-en .footer-brand-block>p{font-size:19px;letter-spacing:0;line-height:1.6}
  .locale-ja .footer-brand-block>p{font-size:17px}
  .locale-en .footer-link-column h2,.locale-ja .footer-link-column h2{text-wrap:balance;line-height:1.6}
  .locale-en .footer-link-column>a,.locale-en .footer-link-column>button{font-size:10px;overflow-wrap:anywhere}
  .locale-ja .footer-link-column>a,.locale-ja .footer-link-column>button{font-size:10px}
  .locale-en .footer-age-note,.locale-ja .footer-age-note{line-height:1.8}
  .locale-en .age-dialog h2{font-size:26px}
  .locale-ja .age-dialog h2{font-size:23px}
  .locale-en .dialog-body .button{font-size:11px;gap:18px}
  .age-languages{font-size:10px;gap:16px;margin-top:17px}
}
@media(max-width:374px){
  .header-actions{gap:5px}
  .brand{gap:7px}
  .brand-mark{width:24px}
  .brand-wordmark>span{font-size:18px;letter-spacing:1px;gap:5px}
  .brand-wordmark small{font-size:5px;letter-spacing:1.1px}
  .locale-en .brand-wordmark small{font-size:4px;letter-spacing:.8px}
  .locale-ja .brand-wordmark small{font-size:5px;letter-spacing:0}
  .menu-toggle{width:34px;padding:6px}
  .language-switch>summary{font-size:9px;padding:6px;gap:5px}
  .locale-en .hero-rich h1{font-size:36px;letter-spacing:-.6px}
  .locale-ja .hero-rich h1{font-size:32px;letter-spacing:.2px}
  .locale-en .hero-rich .hero-actions,.locale-ja .hero-rich .hero-actions{gap:12px}
  .locale-en .hero-rich .button{padding-inline:12px;gap:12px;font-size:10px}
  .locale-ja .hero-rich .button{padding-inline:12px;gap:11px;font-size:9px}
  .locale-en .hero-secondary,.locale-ja .hero-secondary{font-size:9px;gap:6px}
  .locale-en .hero-scene-tab,.locale-ja .hero-scene-tab{font-size:8px;gap:5px}
  .locale-en .filter-button{font-size:9px;padding-inline:6px}
  .locale-ja .filter-button{font-size:9px;padding-inline:7px}
  .locale-en .collection-dock-link strong{font-size:11px}
  .locale-ja .collection-dock-link strong{font-size:9px}
  .locale-en .section-heading h2{font-size:26px}
  .locale-ja .section-heading h2{font-size:25px}
  .locale-en .games-section .game-card h3{font-size:17px}
  .locale-ja .games-section .game-card h3{font-size:14px}
  .locale-en .experience-copy h2{font-size:29px}
  .locale-ja .experience-copy h2{font-size:26px}
  .locale-en .experience-photo-caption p{font-size:22px}
  .locale-ja .experience-photo-caption p{font-size:19px}
  .locale-en .insights-heading h2{font-size:27px}
  .locale-ja .insights-heading h2{font-size:25px}
  .locale-en .partnership-copy h2{font-size:32px}
  .locale-ja .partnership-copy h2{font-size:27px}
  .locale-en .age-dialog h2{font-size:23px}
  .locale-ja .age-dialog h2{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.language-switch>summary,.language-switch>summary svg{transition:none}}
