/* System fonts and one language pack keep localization light. */
:root{--serif:Georgia,'Yu Mincho','Hiragino Mincho ProN','Noto Serif CJK TC','Noto Serif CJK SC','Batang',serif;--sans:'Segoe UI',Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,'Malgun Gothic','Microsoft JhengHei','Microsoft YaHei',sans-serif}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.language-control{display:flex;align-items:center;gap:7px;min-width:0;font:12px var(--sans);color:var(--ivory,var(--paper));border:1px solid var(--line);border-radius:4px;padding-inline:9px;background:#102b24d9}
.language-control select{min-height:44px;max-width:162px;background:transparent;border:0;color:inherit;font:inherit;cursor:pointer;min-width:0}
[data-language] option{color:#f4f1e6;background:#213f36;font-family:var(--sans)}
.language-control:focus-within{outline:2px solid var(--gold);outline-offset:3px}
.intro-tools{gap:10px;align-items:center}.book-controls{display:flex;gap:24px;align-items:center;min-width:0}
.intro-signature>[data-i18n]{width:auto;height:auto;background:none;flex:1}
.intro-artbook{margin-left:0;margin-inline-start:22px}
.locale-status{position:fixed;inset:auto 16px max(16px,env(safe-area-inset-bottom));z-index:100;margin:0 auto;max-width:600px;padding:12px 18px;background:#17332ff5;color:#f4f1e6;border:1px solid #d9b77980;border-radius:4px;font-size:13px;line-height:1.6;pointer-events:none}
.locale-status:empty{display:none}
.intro-poem,.intro-description,.intro-signature,.primary-button,.dialog-top h2,.micro-label,.eyebrow,.book-brand{overflow-wrap:anywhere}
html:not([lang=ja]):not([lang^=zh]):not([lang=ko]) .intro-poem{letter-spacing:.015em}
html:not([lang=ja]):not([lang^=zh]):not([lang=ko]) .intro-description,html:not([lang=ja]):not([lang^=zh]):not([lang=ko]) .primary-button{letter-spacing:.035em}
.journal-entry>div,.settings-row>div,.dialog-top>div,.control-list>div>span{min-width:0}
.journal-entry button{white-space:normal;max-width:180px}.journal-tabs{flex-wrap:wrap}
.settings-row select{max-width:100%;min-height:44px}.settings-row [data-language]{width:190px;flex-shrink:0}
.art-navigation button{line-height:1.6;max-width:48%;text-align:start}.book-count{margin-left:0;margin-inline-start:auto;white-space:nowrap}
.forest-link span{margin-left:0;margin-inline-start:12px}.journal-entry .entry-status{margin-left:0;margin-inline-start:8px}
.memory-count,#game-time,.time-value,.entry-meta,.photo-meta,.spirit-number,.map-node,.map-north,#heading,#focus-distance,#book-progress,#art-number,kbd{direction:ltr;unicode-bidi:isolate}
html[lang=ar]{--serif:'Traditional Arabic','Noto Naskh Arabic',Tahoma,serif;--sans:Tahoma,'Segoe UI',Arial,sans-serif}
html[lang=ar] .wordmark,html[lang=ar] .intro-copy h1,html[lang=ar] .book-brand{font-family:Georgia,serif;direction:ltr;unicode-bidi:isolate}
html[dir=rtl] body{letter-spacing:normal}
html[dir=rtl] .intro-poem,html[dir=rtl] .intro-description,html[dir=rtl] .micro-label,html[dir=rtl] .eyebrow,html[dir=rtl] .primary-button,html[dir=rtl] .secondary-button,html[dir=rtl] .dialog-top h2,html[dir=rtl] .intro-signature,html[dir=rtl] .camera-button,html[dir=rtl] .finder-top,html[dir=rtl] .finder-bottom{letter-spacing:normal}
html[dir=rtl] .intro-copy{left:auto;right:5.6%}
html[dir=rtl] .intro-art:after{content:'';position:absolute;inset:0;background:linear-gradient(270deg,#0e292b88,transparent 90%),linear-gradient(0deg,#0c272b66,transparent 50%)}
html[dir=rtl] .hud-header,html[dir=rtl] .hud-footer,html[dir=rtl] #finder,html[dir=rtl] #touch-controls,html[dir=rtl] .map-wrap{direction:ltr}
html[dir=rtl] .memory-display,html[dir=rtl] .location-block,html[dir=rtl] .camera-actions,html[dir=rtl] #focus-label,html[dir=rtl] .touch-look-hint{direction:rtl;text-align:start}
html[dir=rtl] .small-close{float:left;padding:0 15px 8px 0}
html[dir=rtl] #objective .small-close{right:auto;left:4px}html[dir=rtl] #objective .micro-label{padding-right:0;padding-left:34px}
html[dir=rtl] .close-detail{right:auto;left:13px}
html[dir=rtl] [data-icon=arrow]{transform:scaleX(-1)}
@media(max-width:900px){.intro-header{flex-wrap:wrap;gap:10px}.intro-tools{margin-inline-start:auto}.intro-copy{max-width:88%}.settings-row [data-language]{width:165px}.control-list>div{gap:12px}.book-controls{gap:12px}}
@media(max-width:650px){.book-header{flex-wrap:wrap;gap:12px}.book-controls{width:100%;justify-content:space-between;flex-wrap:wrap}.book-count{margin-inline-start:0}.book-intro h1{font-size:28px}.language-control select{max-width:146px}.intro-header .language-control select{max-width:130px}.intro-header .wordmark{width:100%}.intro-header .intro-tools{gap:8px}.intro-header .language-control{margin-inline-end:auto}.intro-copy{max-width:none}.settings-row{flex-wrap:wrap;gap:12px}.settings-row>div{flex:1 1 65%}.settings-row [data-language]{width:100%;max-width:100%}.settings-row select{flex-shrink:0}.control-list>div{align-items:flex-start}.control-list kbd{white-space:normal;text-align:center;flex-shrink:0;max-width:58%}.journal-entry button{max-width:none}.finder-bottom #focus-label{line-height:1.45}.intro-description{line-height:1.65}.intro-signature{line-height:1.6}}
@media(max-width:400px){.language-control{padding-inline:7px}.intro-copy .intro-poem{font-size:16px}.intro-copy .intro-description{font-size:11px}.intro-copy h1{margin-bottom:14px}.intro-copy .primary-button{font-size:13px}.book-controls .language-control select{max-width:140px}}
@media(max-width:650px){.settings-row select{width:100%;max-width:100%;flex-basis:100%}.camera-button,.aiming .camera-button{white-space:normal;text-align:center;line-height:1.4}.touch-look-hint{max-width:calc(100vw - 36px);text-align:end}}
@media(max-width:650px){.intro-copy{max-width:calc(100% - 44px)}html[dir=rtl] .intro-copy{right:22px}}
@media(max-height:500px) and (max-width:1000px) and (orientation:landscape){.intro-header .wordmark{width:auto}.intro-copy{top:74px}.intro-copy .intro-poem{font-size:14px;line-height:1.5}.intro-tools{flex-shrink:0}}
@media(pointer:coarse),(max-width:650px){.language-control select{font-size:16px}}
