/* Shared type for the eleven experiences. Korean controls stay proportional;
   English display titles match the collection. Code keeps its monospace face. */
@font-face{font-family:Premade;src:url('fonts/PretendardVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Manrope;src:url('fonts/ManropeVariable.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{--world-ui:Premade,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;--world-display:Manrope,Premade,sans-serif}
body,body.has-world-menu{font-family:var(--world-ui);-webkit-font-smoothing:antialiased}
body :is(button,input,select,textarea){font-family:var(--world-ui)}
body:is(.dv-page,.cd-page,.bubble-page,.hamster-page) :is(.dv-stage,.cd-stage,.cd-chooser,.bb-stage,.hm-stage){font-family:var(--world-ui)}
body :is(.xp-header,.forest-header,.play-header,.atlas-header,header){font-family:var(--world-display);letter-spacing:.04em}
body.xp .xp-back{font-family:var(--world-ui);font-size:12px;letter-spacing:0}
body :is(.experience-tool,.world-arrow-label){font-family:var(--world-ui);letter-spacing:0}
body.xp .article{font-family:var(--world-ui);font-size:15px;line-height:1.85;word-break:keep-all;overflow-wrap:break-word}
body.xp .article :is(h1,h2){letter-spacing:-.025em;font-weight:600;line-height:1.35}

/* Remove the inherited tracking and text-indent from every driving overlay. */
body.dv-page .dv-intro{padding:28px;gap:18px}
body.dv-page .dv-intro h2{font-family:var(--world-display);font-size:clamp(38px,6.2vw,82px);font-weight:600;line-height:1.05;letter-spacing:-.05em;text-indent:0;margin:0;max-width:100%;text-wrap:balance}
body.dv-page .dv-intro p{font-size:15px;font-weight:400;line-height:1.7;letter-spacing:-.015em;text-indent:0;margin:0}
body.dv-page .dv-intro .begin{font-family:var(--world-ui);font-size:15px;font-weight:550;letter-spacing:0;text-indent:0;line-height:1.4;padding:15px 38px;min-height:48px;margin-top:12px}
body.dv-page .dv-intro-foot{font-size:12px;letter-spacing:0;text-indent:0}
body.dv-page :is(.bar-prompt,.settings-blurb,.settings-list,.section-header,.setting-value,.enum,.slider output){font-family:var(--world-ui);letter-spacing:0;font-style:normal}
body.dv-page #ui-settings{font-family:var(--world-ui);font-weight:400;letter-spacing:0}
body.dv-page #ui-settings-header{overflow-x:auto;gap:14px}
body.dv-settings :is(.xp-header,.aw-directory-trigger){visibility:hidden}
body.dv-page .settings-header{font-family:var(--world-display);font-size:14px;font-weight:600;letter-spacing:.01em}
body.dv-page .settings-list{font-size:14px;line-height:1.6}
body.dv-page .settings-blurb{font-size:13px;font-weight:400;line-height:1.7}
body.dv-page .section-header{font-size:15px;font-weight:600}
body.dv-page .setting-label{font-size:14px;font-weight:550}
body.dv-page :is(.setting-value,.enum,.slider output){font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}
body.dv-page .conf-tab{font-family:var(--world-display)!important;font-size:11px!important;font-weight:600!important;letter-spacing:.04em}
body.dv-page #dash-autodrive{font-family:var(--world-display);font-size:11px;letter-spacing:.06em}
body.dv-page .ui-btn{letter-spacing:0;font-size:13px}
body.dv-page .stat-value{font-family:var(--world-display);font-size:29px;font-style:normal;font-weight:500;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
body.dv-page .stat-unit{font-family:var(--world-display);font-size:9px;font-weight:500;letter-spacing:.04em;opacity:.8}
body.dv-page :is(.paused,.dv-ghost){font-family:var(--world-ui);font-weight:500;letter-spacing:-.015em;line-height:1.6;text-indent:0}
body.dv-page .dv-ghost{font-size:clamp(18px,2.3vw,28px)}
body.dv-page .experience-tool{font-size:12px}
body.dv-page #btnSound{position:relative}
body.dv-page #btnSound::after{content:attr(data-label);position:absolute;right:0;bottom:calc(100% + 8px);font:500 11px/1.4 var(--world-ui);letter-spacing:0;white-space:nowrap;color:#fff;text-shadow:0 1px 5px #000}

/* Headlines use the same face rather than Impact / platform serif fallbacks. */
body :is(.forest-intro h1,.forest-intro h1 em,.play-title h1,.intro-copy h1,.atlas-panel h1,.city-caption h2,.ch-box>h2,.hm-start h1){font-family:var(--world-display);font-weight:600;font-style:normal;letter-spacing:-.045em;line-height:1.03;text-wrap:balance}
body .forest-intro h1{font-size:clamp(46px,6.5vw,86px)}
body .forest-about h2{font-family:var(--world-ui);font-weight:600;letter-spacing:-.025em;line-height:1.4}
body .forest-footer output{font-family:var(--world-display);font-weight:500;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
body :is(.forest-copy,.forest-caption,.forest-stage dialog,.forest-about){font-size:14px;letter-spacing:-.01em;line-height:1.8}
body :is(.forest-stage button,.forest-intro #begin,.forest-walk span){font-size:13px;letter-spacing:0}
body :is(.forest-intro small,.forest-eyebrow){font-family:var(--world-ui);font-size:11px}
body .forest-eyebrow{font-family:var(--world-display);letter-spacing:.09em}
body .play-title h1{font-size:clamp(52px,6.6vw,92px)}
body :is(.play-title p,.intro-copy p,.intro){font-size:14px;line-height:1.75;letter-spacing:-.01em;word-break:keep-all}
body :is(.play-title small,.intro-copy small,.eyebrow,.aw-directory-head p){font-family:var(--world-display);font-size:10px;font-weight:500;letter-spacing:.08em}
body :is(.play-toolbar button,.play-toolbar select,.scene-controls button,.modes button,.primary,.quiet){font-family:var(--world-ui);font-size:13px;letter-spacing:0}
body :is(.play-tip,.scene-hint,.scene-note,.bb-hint){font-family:var(--world-ui);font-size:12px;line-height:1.65;letter-spacing:0}
body .play-tip{text-shadow:0 1px 5px #000,0 0 14px #000}
body :is(.play-status,.scene-readout,.atlas-bottom){font-family:var(--world-display);font-size:11px;letter-spacing:.025em;font-variant-numeric:tabular-nums}
body .atlas-panel h1{font-size:52px}
body :is(.atlas-panel label,#status){font-family:var(--world-ui);font-size:12px;letter-spacing:0}
body .atlas-bottom small{font-family:var(--world-ui);font-size:11px}
body.cd-page .cd-panel :is(h1,h2){font-family:var(--world-display);letter-spacing:-.025em;font-weight:600}
body .ch-box>h2{font-size:clamp(32px,4.5vw,52px)}
body .city-caption p{font-family:var(--world-display);font-size:12px;letter-spacing:.025em}
body.bubble-page :is(.bb-s,.bb-stat,.bb-ctl){font-family:var(--world-ui);font-size:12px;letter-spacing:0}
body.bubble-page .bb-toast{font-weight:550;letter-spacing:-.02em;text-indent:0;line-height:1.5}
body.hamster-page .hm-stage{font-weight:400}
body.hamster-page :is(.hm-start h2,.cage-name){font-family:var(--world-ui);font-weight:600;letter-spacing:-.025em}
body.hamster-page :is(.hm-title,.care-dock strong){font-family:var(--world-display);letter-spacing:0;font-weight:600}
body.hamster-page :is(.care-dock p,.care-dock button,.habitat-camera button,.hm-info){font-size:12px;font-family:var(--world-ui);letter-spacing:0}
body.hacker-page :is(.terminal-prompt,.terminal-scenarios,.hk-modal,.hk-tap,.hk-footer){font-family:var(--world-ui);letter-spacing:0}
body.hacker-page .terminal-log{font-family:var(--world-ui);font-size:12px;letter-spacing:0}
body .terminal-prompt h2{font-weight:550;letter-spacing:-.025em}
body .terminal-prompt p,body .terminal-scenarios button{font-family:var(--world-ui);font-size:12px;line-height:1.6;letter-spacing:0}

body .aw-directory{font-family:var(--world-ui)}
body .aw-directory-trigger{font-family:var(--world-display);font-size:11px;font-weight:600;letter-spacing:.045em}
body .aw-directory h2{font-family:var(--world-display);font-weight:600;font-size:clamp(34px,5vw,58px);line-height:1.1;letter-spacing:-.045em}
body .aw-directory-desc{font-size:14px;line-height:1.7}
body .aw-directory nav strong{font-family:var(--world-display);font-size:16px;font-weight:550;letter-spacing:-.015em}
body .aw-directory nav em{font-size:12px;line-height:1.5;letter-spacing:0}
body .directory-home{font-size:13px}
@media(max-width:650px){
 body.dv-page .dv-intro h2{font-size:clamp(34px,8.8vw,52px);max-width:340px}
 body.dv-page .dv-intro p{font-size:14px}
 body.dv-page .conf-tab{font-size:10px!important}
 body.dv-page .settings-header{font-size:11px}
 body.dv-page .stat-value{font-size:25px}
 body.dv-page .stat-unit{font-size:8px}
 body .forest-intro h1{font-size:clamp(43px,11vw,58px)}
 body .play-title h1,body .intro-copy h1{font-size:clamp(44px,13vw,62px)}
 body :is(.play-title p,.intro-copy p){font-size:13px}
 body :is(.play-toolbar button,.play-toolbar select,.scene-controls button){font-size:12px}
 body :is(.play-tip,.scene-hint,.scene-note){font-size:11px}
 body .atlas-panel h1{font-size:28px;line-height:1.05}
 body .aw-directory-head p{letter-spacing:.035em}
 body .aw-directory nav strong{font-size:15px}
}
