/* Korean pixel type keeps its own screen-space size, independently of map zoom. */
@font-face{font-family:Galmuri14;src:url('assets/Galmuri14.woff2') format('woff2');font-display:swap}
:root{font-family:Galmuri14,Galmuri,system-ui,sans-serif;font-size:15px;line-height:1.6;--muted:#526451}
button,input{font-size:15px}strong{font-weight:400}
.brand span{font-family:Galmuri;font-size:36px;font-weight:700;letter-spacing:0}
.brand small{font-family:Galmuri;font-size:12px;letter-spacing:0;line-height:1.3}
.site-header nav button{font-size:15px;color:#526451}.site-header nav button.active{font-weight:400}
.count{font-family:Galmuri;font-size:12px}.village-tag strong{font-size:15px;font-weight:400}
.village-tag small,.destination small,.destination .badge,.notice-hotspot,.dialogue small,.keyboard-hint,.keyboard-hint span,.village-footer>span,.village-footer p,.eyebrow,.work-type,.filters span,.note-card small,.dialog-top{font-family:Galmuri;font-size:12px;line-height:1.6;letter-spacing:0;color:#526451}
.destination{padding:10px 14px;min-width:168px}.destination strong{font-size:15px;font-weight:400}.destination .badge{color:#fff;font-size:12px;padding:1px 5px}.destination small{margin-top:3px}
.notice-hotspot{color:#fff}.construction-tag{font-size:15px;white-space:nowrap}.construction-tag span{color:#526451}
.dialogue{padding:14px 20px;gap:14px;max-width:510px;min-height:100px}.dialogue canvas{width:48px;height:64px;flex-shrink:0}.dialogue p{font-size:15px;line-height:1.8;margin:5px 12px 0 0}.dialogue-arrow{font-size:12px}
.keyboard-hint{max-width:350px}.keyboard-hint span{color:var(--ink)}.village-footer button{font-size:15px;font-weight:400}.village-footer>span{font-size:12px}
.library-heading h1{font-family:Galmuri;font-size:36px;letter-spacing:0;font-weight:700;line-height:1.5}.library-heading>div>p:last-child{font-size:15px;color:#526451;line-height:1.8}
.back-button,.filters button,.search input,.work-action,.work-pending,.archive-note,.empty p,.experience-toolbar button,.experience-toolbar strong,.primary,.toast,dialog p,dialog li{font-size:15px;line-height:1.8;font-weight:400}
.search input{width:190px;padding:12px 0}.work-content h2,.note-card h2{font-family:Galmuri;font-size:24px;line-height:1.5;font-weight:700}.work-content p,.note-card p{font-family:Galmuri14,Galmuri,sans-serif;font-size:15px;color:#526451;line-height:1.9}
.work-pending{color:#5b6858}.archive-note{color:#526451}.empty strong,dialog h2{font-family:Galmuri;font-size:24px;font-weight:700}.experience-toolbar{height:60px}#app-frame{height:calc(100dvh - 138px)}
.dpad button.pressed{background:#cce3bd;box-shadow:none;transform:translate(2px,2px)}
@media(max-width:900px){
 .site-header{gap:6px}.brand{gap:6px}.brand span{font-size:24px}.brand small{font-size:8px;letter-spacing:0}.site-header nav{gap:8px}.site-header nav button{font-family:Galmuri;font-size:12px;white-space:nowrap}.mobile-hide{display:none}
 .village-tag{padding:8px 10px}.village-tag strong{font-size:15px}.village-tag small{font-size:12px;max-width:none}.view-controls{gap:4px}.view-controls button{width:32px;height:32px}
 .destination{min-width:155px;padding:8px 10px}.destination strong{font-size:15px}.destination small,.destination .badge{font-size:12px}
 .travel-menu{top:86px;gap:5px}.travel-menu button{font-family:Galmuri;font-size:12px;padding:8px 9px;white-space:nowrap}
 .dialogue{bottom:127px;left:10px;right:10px;min-height:96px;padding:12px;gap:10px}.dialogue canvas{width:48px;height:64px}.dialogue p{font-size:15px;line-height:1.8}.dialogue small{font-size:12px}
 .dpad{grid-template-columns:44px 44px 44px;grid-template-rows:44px 44px;gap:4px;bottom:16px;left:15px}.dpad button{font-size:15px}#interact{width:58px;height:58px;right:20px;bottom:30px}
 .construction-tag{font-size:15px}.village-footer button{font-size:15px}.village-footer>span{font-size:12px}.library-heading h1{font-size:24px}.library-heading>div>p:last-child{font-size:15px}
 .filters{flex-wrap:wrap;gap:6px}.filters button{font-size:15px;padding:8px 10px}.filters span{font-size:12px}.search input{width:100%;font-size:15px}.work-content h2,.note-card h2{font-size:24px}.back-button{font-size:15px}
 .experience-toolbar strong{font-size:15px;max-width:110px}.experience-toolbar button{font-family:Galmuri;font-size:12px}#app-frame{height:calc(100dvh - 128px)}.toast{font-size:15px}
}
@media(max-width:360px){.village-tag small{display:none}.village-tag{max-width:200px}.travel-menu{top:65px}.travel-menu button{padding:8px}.village-footer>span{font-size:12px}.dialogue{gap:8px}.dialogue p{margin-right:0}.view-controls button{width:28px;height:28px}.site-header{padding:0 10px}}
