/* One gentle type system for the game and every in-game page. */
@font-face{font-family:Jua;src:url('./assets/fonts/Jua-subset.woff2?v=20260923-font-87') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Gowun Dodum';src:url('./assets/fonts/GowunDodum-subset.woff2?v=20260923-font-87') format('woff2');font-weight:400;font-display:swap}
:root{font-family:'Gowun Dodum','Malgun Gothic',sans-serif;font-size:16px;font-synthesis:none}
body{color:#514f43;line-height:1.55}
body *{font-weight:400!important}
#coin-balance{font-weight:400!important}
button,input,select,textarea,dialog{font-family:'Gowun Dodum','Malgun Gothic',sans-serif}
:is(h1,h2,h3,h4,.wordmark,.modal-app-brand,.app-nav-menu,.app-nav-home,.app-menu-grid strong,.score-block strong,.time-block strong,.welcome h2,.primary-button,.secondary-button,.menu-page-header h1,.home-interior-head,.home-shop-head,.lodging-page-head h1,.lodging-booking strong,.lodging-status strong,.lodging-primary,.lodging-links button,.records-daily-title h2,.records-daily-title>strong,.record-sheet strong,.city-store-title h3,.property-card strong,.destination-card strong,.rental-section-head>span){font-family:Jua,'Malgun Gothic',sans-serif!important;letter-spacing:-.015em}
:is(p,small,.city-product small,.property-card small,.rental-card small,.coupon-card small,.home-item-card small,.game-shell .score-block>span){font-family:'Gowun Dodum','Malgun Gothic',sans-serif!important}

/* Supporting copy stays readable; hierarchy comes from size and colour, never bold. */
.game-shell .score-block>span{font-size:14px!important;color:#5b614f!important}
.game-shell .time-block small{font-size:13px!important;color:#5c6253!important}
.game-shell .welcome-tag{font-size:13px!important;color:#625b4c!important}
.game-shell .welcome p{font-size:14px!important;line-height:1.65!important;color:#625e50!important}
.game-shell .welcome>small{font-size:12px!important;color:#676052!important}
.game-shell .round-guide strong{font-size:17px!important;line-height:1.25!important}
.game-shell .round-guide span{font-size:13px!important;line-height:1.45!important;color:#594e42!important}
.game-shell .fever-label,.game-shell #fever-caption{font-size:13px!important;color:#5d594e!important}
.game-shell .game-tools button{font-family:Jua,'Malgun Gothic',sans-serif!important;font-size:14px!important;color:#5b5b4c!important}
.game-shell .game-tools small{font-size:12px!important}
.home-extra-menu summary{font-size:16px!important}
.home-extra-menu button{font-size:14px!important}

.app-menu-head small,.menu-page-header small{font-size:13px!important;color:#506b54!important;letter-spacing:.07em}
.app-menu-head p,.app-menu-grid small{font-size:14px!important;color:#545b4c!important;line-height:1.5}
.app-menu-grid strong{font-size:22px!important}
.modal-app-nav #modal-app-location{font-size:17px!important;color:#4b6550!important}
#modal-content p{font-size:15px!important;line-height:1.65!important;color:#5b574c}
#modal-content small{font-size:13px!important;line-height:1.45;color:#5c6254}
#modal-content :is(b,strong){overflow-wrap:anywhere}
.menu-page-header p{font-size:16px!important;line-height:1.55!important;color:#555b4e!important}
.menu-page-header h1{font-size:clamp(28px,4vw,36px)!important}

/* Shops, housing, records and facilities use the same text scale. */
.city-store-title small,.city-product small,.destination-card small,.destination-card p,.property-card small,.property-card p,.home-item-card small,.home-item-card p,.rental-card small,.coupon-card small,.wellness-grid small,.records-goal small{font-size:13px!important;line-height:1.5!important;color:#5b5d4f!important}
.city-product strong,.property-card strong,.home-item-card strong,.rental-card strong,.coupon-card strong,.records-goal b{font-size:16px!important;color:#475c49!important}
.city-product button,.property-card button,.home-item-card button,.rental-card button,.coupon-card button,.destination-card button,.wellness-grid button,.records-goal button{font-size:14px!important;line-height:1.35!important}
.city-store-title h3,.home-shop-head,.wellness-head,.rental-section-head>span{font-size:20px!important}
.home-actions small,.lodging-booking small,.wellness-status span,.wellness-landmark small{font-size:13px!important;line-height:1.5!important;color:#555f50!important}
.home-actions button,.lodging-links button{font-size:16px!important}
.city-product>div,.home-item-card>div,.property-card,.rental-card,.coupon-card{min-width:0}
.city-head{flex-wrap:wrap;gap:10px}
.city-head b{flex:0 0 auto;margin-left:auto}
.city-product strong,.city-product small,.property-card strong,.property-card p,.home-item-card strong,.home-item-card p{word-break:keep-all;overflow-wrap:anywhere}

@media(max-width:620px){
  .modal-app-nav #modal-app-location{font-size:15px!important}
  .app-menu-grid strong{font-size:20px!important}
  .game-shell .welcome p{font-size:13px!important;line-height:1.5!important}
  .game-shell .round-guide strong{font-size:15px!important}
  .game-shell .round-guide span{font-size:12px!important;line-height:1.35!important}
  .game-shell .game-tools button{font-size:13px!important}
  .menu-page-header p{font-size:15px!important}
  .menu-page-header h1{font-size:28px!important}
  .city-product strong,.property-card strong,.home-item-card strong,.rental-card strong,.coupon-card strong,.records-goal b{font-size:15px!important}
  .city-product button,.property-card button,.home-item-card button,.rental-card button,.coupon-card button,.destination-card button,.wellness-grid button{font-size:13px!important}
  .property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Property is a focused dialog inside the city, so it does not repeat the app navigation. */
#modal.property-modal[open]>.modal-app-nav,#modal.contracts-modal[open]>.modal-app-nav{display:none!important}
#modal.property-modal[open]>.close-modal,#modal.contracts-modal[open]>.close-modal{display:grid!important;position:sticky!important;top:10px!important;z-index:1100!important;place-items:center;width:44px!important;height:44px!important;margin:0 0 -44px auto!important;border:1px solid #e3dcc8!important;border-radius:50%!important;background:#fffdf6!important;color:#675f50!important;box-shadow:0 5px 18px #5e674929!important;font-family:'Gowun Dodum','Malgun Gothic',sans-serif!important;font-size:29px!important;line-height:1!important}
.property-modal #modal-content,.contracts-modal #modal-content{padding-top:12px}
.property-modal .property-head,.contracts-modal .contracts-head{padding-right:58px}
.property-modal :is(p,span,small,b,strong,button),.contracts-modal :is(p,span,small,b,strong,button){font-weight:400!important}

/* Buildings opened from the walkable city are focused dialogs. */
#modal.city-building-modal[open]>.modal-app-nav{display:none!important}
#modal.city-building-modal[open]>.close-modal{display:grid!important;position:sticky!important;top:10px!important;z-index:1100!important;place-items:center;width:46px!important;height:46px!important;margin:0 0 -46px auto!important;border:1px solid #dce5d5!important;border-radius:50%!important;background:#fffdf8!important;color:#5d6758!important;box-shadow:0 7px 22px #50664e2b!important;font-family:'Gowun Dodum','Malgun Gothic',sans-serif!important;font-size:30px!important;line-height:1!important}
#modal.city-building-modal[open]{width:min(860px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:20px 26px 30px;background:#fffaf0;text-align:left}
#modal.city-building-modal[open]>#modal-content{padding-top:8px!important}
.city-building-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:0 58px 18px 0}
.city-building-head small{display:block;margin-bottom:4px;color:#6c886d!important}
.city-building-head h2{margin:0!important;color:#54735a!important;font-size:28px!important}
.city-building-head p{margin:5px 0 0!important}
.city-building-head>b{flex:0 0 auto;border-radius:16px;padding:9px 13px;background:#f6d778;color:#785a31;font-size:16px}
.city-store-modal .city-store-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.city-store-modal .city-store{padding:16px;border-radius:20px;background:#fff8e9}
.city-store-modal .city-product{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px 0}
.city-store-modal .city-product>span{font-size:25px}
.city-store-modal .city-product strong{font-size:14px!important}
.city-store-modal .city-product small{font-size:12px!important}
.city-store-modal .city-product button{grid-column:auto;min-width:94px;padding:9px 8px;font-size:12px!important}
.wellness-building-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:2px 58px 15px 0}
.wellness-building-head small{display:block;color:#557364!important}.wellness-building-head h2{margin:3px 0 0!important;color:#416a59!important;font-size:27px!important}
.wellness-building-head>b{flex:0 0 auto;border-radius:15px;padding:8px 12px;background:#f5d778;color:#73562f;font-size:15px}
.wellness-building-scene{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:18px;min-height:220px;overflow:hidden;border:5px solid #fff;border-radius:25px;padding:28px;background:linear-gradient(#cdeafa 0 48%,#e4eed1 49% 70%,#d7b38b 71%);box-shadow:0 10px 26px #58745c24;text-align:center}
.wellness-building-scene:before{content:'';position:absolute;left:12%;right:12%;bottom:30px;height:105px;border:7px solid #fff6e7;border-radius:48px 48px 9px 9px;background:#e5b99d;box-shadow:inset 0 18px #f3d4bb,0 7px 0 #9d7a62}
.wellness-building-scene>span{position:relative;z-index:1;font-size:70px}.wellness-building-scene>div{position:relative;z-index:1;max-width:310px;border:2px solid #fff;border-radius:15px;padding:10px 13px;background:#fffdf1e8}
.wellness-building-scene strong,.wellness-building-scene small{display:block}.wellness-building-scene strong{color:#3e6657;font-size:20px!important}.wellness-building-scene small{margin-top:3px;font-size:12px!important}
.wellness-building-scene.facility-bath:before{background:#b8dce7;box-shadow:inset 0 18px #d8f0f4,0 7px 0 #7fa4ad}.wellness-building-scene.facility-spa:before{background:#dab787}.wellness-building-scene.facility-guest:before{background:#d5b182;border-radius:45px 45px 5px 5px}.wellness-building-scene.facility-motel:before{background:#d9c4df}.wellness-building-scene.facility-hotel:before{height:145px;background:#d4c8a7;border-radius:12px 12px 4px 4px}
.wellness-building-card,.wellness-building-coupon{margin-top:13px;border:1px solid #d4e3d0;border-radius:18px;padding:16px;background:#f2faef;color:#405f4b}
.wellness-building-card>span,.wellness-building-card>strong{display:block}.wellness-building-card>span{font-size:12px}.wellness-building-card>strong{margin-top:3px;font-size:20px!important}.wellness-building-card p{margin:7px 0!important}.wellness-building-card button{width:100%;border:0;border-radius:13px;padding:13px;background:#e5bd72;color:#65481f;font-size:16px!important}
.wellness-building-coupon{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff8e5;border-color:#e9d8ab}.wellness-building-coupon div span,.wellness-building-coupon div strong,.wellness-building-coupon div small{display:block}.wellness-building-coupon div strong{margin:3px 0;color:#76582e;font-size:17px!important}.wellness-building-coupon button{flex:0 0 auto;border:0;border-radius:12px;padding:11px 14px;background:#eac66d;color:#694b23}.wellness-building-coupon.active{background:#edf8e8}.wellness-building-source{display:block;margin:14px 0 0;color:#356b5b;text-align:center;text-decoration:underline;text-underline-offset:3px}.wellness-building-note{margin:9px 0 0!important;color:#6b6b60!important;text-align:center}
@media(max-width:620px){
  #modal.city-building-modal[open]{position:fixed;inset:10px;width:calc(100% - 20px)!important;height:calc(100dvh - 20px);max-height:none;margin:0;padding:14px 13px 24px;border-radius:24px;overflow-y:auto}
  .city-building-head{display:block;padding:4px 52px 14px 2px}.city-building-head h2{font-size:23px!important}.city-building-head>b{display:inline-block;margin-top:9px;font-size:14px}
  .city-store-modal .city-store-grid{grid-template-columns:1fr;gap:10px}
  .city-store-modal .city-store{padding:12px}
  .city-store-modal .city-product{grid-template-columns:31px minmax(0,1fr) auto}
  .city-store-modal .city-product button{min-width:82px}
  .wellness-building-head{display:block;padding-right:52px}.wellness-building-head h2{font-size:22px!important}.wellness-building-head>b{display:inline-block;margin-top:8px}
  .wellness-building-scene{min-height:190px;padding:18px;gap:8px}.wellness-building-scene>span{font-size:52px}.wellness-building-scene>div{max-width:230px;padding:8px}.wellness-building-scene strong{font-size:17px!important}.wellness-building-scene small{font-size:11px!important}
  .wellness-building-coupon{align-items:stretch;flex-direction:column}.wellness-building-coupon button{width:100%}
}
