/* Shared localization layer; no font download or client-side translation bundle. */
.nav-wrap{gap:24px}
.site-nav{margin-left:auto;gap:24px}
.brand{flex-shrink:0}
.language-switch{position:relative;flex-shrink:0;color:#302452;font-size:14px}
.language-switch summary{display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 12px;border:1px solid #d5c9ec;border-radius:999px;background:#f0eafa;cursor:pointer;list-style:none;font-weight:650;white-space:nowrap}
.language-switch summary::-webkit-details-marker{display:none}
.language-switch summary:hover,.language-switch[open] summary{background:#e6ddf7;border-color:#b6a3df}
.language-switch summary:focus-visible,.language-options a:focus-visible{outline:3px solid #7252d2;outline-offset:3px}
.language-symbol{width:18px;height:18px;flex-shrink:0}
.language-chevron{font-size:16px;transition:transform .15s}
.language-switch[open] .language-chevron{transform:rotate(180deg)}
.language-options{position:absolute;right:0;top:calc(100% + 12px);width:250px;padding:9px;border:1px solid #d9cfee;border-radius:18px;background:#fcfaff;box-shadow:0 14px 40px #31205626;max-height:calc(100dvh - 110px);overflow:auto}
.language-options a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:9px 12px;border-radius:10px;line-height:1.45}
.language-options a:hover{background:#f0eafa}
.language-options a[aria-current]{background:#e8dff8;color:#5636b0;font-weight:750}
.language-options a[aria-current]::after{content:'✓'}
html[data-localized] body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html:lang(zh-Hant) body{font-family:system-ui,"PingFang TC","Microsoft JhengHei",sans-serif}
html:lang(ja) body{font-family:system-ui,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
html:lang(ko) body{font-family:system-ui,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;word-break:keep-all}
html[data-localized] :is(h1,h2,h3,p,.tags,.pipeline-stage,.section-note){overflow-wrap:anywhere}
html[data-localized] :is(.hero h1,.about-hero h1){font-size:clamp(40px,4.5vw,64px);line-height:1.12;letter-spacing:-.035em;text-wrap:balance}
html[data-localized] .section-heading h2{font-size:clamp(30px,3.1vw,44px);line-height:1.2;letter-spacing:-.025em;text-wrap:balance}
html[data-localized] :is(.hero-copy,.section-heading.row>div,.pipeline-stage>div,.about-row>div){min-width:0}
html[data-localized] .eyebrow{letter-spacing:.035em;line-height:1.5;font-size:14px}
html[data-localized] .hero-actions{flex-wrap:wrap;gap:18px 24px}
html[data-localized] .section-heading.row{gap:32px}
html[data-localized] .section-heading.row>div{flex:1}
html[data-localized] .section-note{flex:1}
html[data-localized] :is(.core-card h3,.toolkit-card h3,.work-info h3){font-size:26px;line-height:1.28;letter-spacing:-.02em;text-wrap:balance}
html[data-localized] .tags{flex-wrap:wrap}
html[data-localized] .tags span{font-size:13px}
html[data-localized] .system-relation span{min-width:0;white-space:normal;text-align:center}
html[data-localized] .pipeline-stage{align-items:flex-start;min-width:0}
html[data-localized] .pipeline-stage b{font-size:18px}
html[data-localized] .pipeline-stage em{font-size:14px;line-height:1.5}
html[data-localized] .pipeline-stage small{font-size:13px;letter-spacing:.04em}
html[data-localized] .game-art-note{max-width:calc(100% - 24px);font-size:12px;line-height:1.4}
html[data-localized] .principles h3{font-size:24px;line-height:1.3;text-wrap:balance}
html[data-localized] .about-row h2{font-size:28px;line-height:1.3;letter-spacing:-.02em}
html[data-localized] .contact h2{font-size:clamp(40px,5vw,70px);line-height:1.1;letter-spacing:-.035em}
html[data-localized] .contact-inner{min-width:0}
html[data-localized] .site-footer{gap:28px}
html[data-localized] .site-footer>div:first-child{max-width:360px}
@media(min-width:901px) and (max-width:1150px){.nav-wrap{gap:14px}.site-nav{gap:14px;font-size:14px}.language-switch summary{padding:8px 10px}}
@media(max-width:1050px){html[data-localized] .site-nav{position:absolute;left:18px;right:18px;top:72px;background:#fcfaff;border-radius:18px;box-shadow:var(--shadow);padding:12px;display:none;flex-direction:column;gap:0}html[data-localized] .site-nav.open{display:flex}html[data-localized] .site-nav a{padding:14px;width:100%}html[data-localized] .site-nav a:after{display:none}html[data-localized] .menu-toggle{display:block}}
@media(max-width:1050px){html[data-localized] .menu-toggle{order:3}html[data-localized] .language-switch{margin-left:auto}}
@media(max-width:900px){.menu-toggle{order:3}.language-switch{margin-left:auto}.nav-wrap{gap:12px}.site-nav{margin-left:0}html[data-localized] .section-heading.row{display:block}html[data-localized] .site-footer>div:first-child{max-width:none}}
@media(max-width:560px){.nav-wrap{gap:8px;padding:0 16px}.brand{gap:6px;font-size:17px}.brand-logo{width:38px;height:38px}.language-switch summary{gap:6px;padding:8px 9px;font-size:13px;max-width:158px}.language-switch summary .language-current{overflow:hidden;text-overflow:ellipsis}.language-options{right:-42px;width:min(280px,calc(100vw - 32px))}.menu-toggle{padding:5px}.menu-toggle span{margin:5px 2px}html[data-localized] :is(.hero h1,.about-hero h1){font-size:40px}html[data-localized] .section-heading h2{font-size:32px}html[data-localized] :is(.core-card h3,.toolkit-card h3,.work-info h3){font-size:24px}html[data-localized] .about-row h2{font-size:25px}html[data-localized] .hero-lead{font-size:17px}html[data-localized] .footer-meta{max-width:none}html[data-localized] .game-art-note{font-size:11px}}
/* Content stays readable without JavaScript; motion is enabled progressively. */
html:not(.has-js) .reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.language-chevron{transition:none}}
