/* GreyMistLife CRPG10.4 — A/B hotfix: stable interaction states + larger readable typography.
   A: no icon swapping / no click-scale / no transition flicker.
   B: desktop typography +2~3px across CRPG, map, building, evidence and document layers. */

/* ---------- A. interaction / icon stability ---------- */
:root{--crpg104-focus:#bd9258;--crpg104-ink:#d9cfbf}
body.gmcrpg-ui01 button,
body.gmcrpg-ui01 [role="button"],
[id^="gmcrpg"] button,
#gmbldOverlay button,
.gmmap button,
#gmevOverlay button,
#gmdocOverlay button{
  -webkit-tap-highlight-color:transparent!important;
  transition:none!important;
  animation:none!important;
  will-change:auto!important;
}
body.gmcrpg-ui01 button *,
[id^="gmcrpg"] button *,
#gmbldOverlay button *,
.gmmap button *,
#gmevOverlay button *,
#gmdocOverlay button *{
  transition:none!important;
  animation:none!important;
}
body.gmcrpg-ui01 button:active,
[id^="gmcrpg"] button:active,
#gmbldOverlay button:active,
.gmmap button:active,
#gmevOverlay button:active,
#gmdocOverlay button:active{filter:none!important}
body.gmcrpg-ui01 button:focus,
[id^="gmcrpg"] button:focus,
#gmbldOverlay button:focus,
.gmmap button:focus{outline:none!important}
body.gmcrpg-ui01 button:focus-visible,
[id^="gmcrpg"] button:focus-visible,
#gmbldOverlay button:focus-visible,
.gmmap button:focus-visible{outline:1px solid var(--crpg104-focus)!important;outline-offset:-2px!important}

/* Pins/nodes keep their base translate and never jump/scale on hover/click. */
.gmbld-node,
.gmbld-node:hover,
.gmbld-node:active,
.gmbld-node.active{transform:translate(-50%,-50%)!important}
.gmmap-pin,
.gmmap-pin:hover,
.gmmap-pin:active,
.gmmap-pin.adjacent:not(.current):hover{transform:translate(-50%,-50%)!important}
.gmcrpg-pin,
.gmcrpg-pin:hover,
.gmcrpg-pin:active,
.gmcrpg-pin.selected{transform:translate(-50%,-50%)!important}

/* Building node icon is physically identical in normal/hover/selected states.
   Selection is communicated by the label/border only, not by swapping/inverting the glyph. */
.gmbld-node i,
.gmbld-node:hover i,
.gmbld-node.active i,
.gmbld-node:active i{
  background:#e2c78f!important;
  color:#2f2418!important;
  border-color:#80603a!important;
  box-shadow:0 3px 10px rgba(48,30,14,.35)!important;
  font-family:"Microsoft YaHei UI","Microsoft YaHei","Noto Sans SC","PingFang SC",Arial,sans-serif!important;
  font-weight:700!important;
  font-variant-emoji:text!important;
  text-rendering:geometricPrecision;
}
.gmbld-node span,
.gmbld-node:hover span,
.gmbld-node:active span{
  background:rgba(232,214,174,.90)!important;
  color:#31261a!important;
  border-color:rgba(97,72,41,.52)!important;
  box-shadow:0 2px 7px rgba(48,30,14,.22)!important;
}
.gmbld-node.active span{
  background:#ead9b7!important;
  color:#241b12!important;
  border-color:#bd9258!important;
  box-shadow:0 0 0 2px rgba(189,146,88,.20),0 3px 9px rgba(48,30,14,.28)!important;
}

/* Text-symbol icons use one stable font stack so click/focus cannot fall back to another glyph font. */
.gmbld-node i,.gmcrpg-hotbar i,.gmcrpg10-mobile-dock i,.gmcrpg10-quick-toggle i,
.gmcrpg-party .party,.gmcrpg-objectives i{
  font-family:"Microsoft YaHei UI","Microsoft YaHei","Noto Sans SC","PingFang SC",Arial,sans-serif!important;
  font-variant-emoji:text!important;
}

/* ---------- B. desktop typography scale ---------- */
@media (min-width:901px){
  body.gmcrpg-ui01{font-size:15px!important}

  /* top shell */
  .gmcrpg-brand span{font-size:12px!important}
  .gmcrpg-clock{font-size:14px!important}
  .gmcrpg-tabs button{font-size:14px!important}
  .gmcrpg-res>span{font-size:14px!important}

  /* chat home */
  .gmcrpg10-story-place small{font-size:10px!important}
  .gmcrpg10-story-place b{font-size:20px!important}
  .gmcrpg10-story-place span{font-size:12px!important}
  .gmcrpg10-story-tools button{font-size:13px!important;min-width:88px!important}
  .gmcrpg10-story-tools kbd{font-size:10px!important}
  body.gmcrpg-ui01.gmcrpg10-chat-home .feed-entry{font-size:15px!important;line-height:1.78!important;padding:13px 16px!important}
  body.gmcrpg-ui01.gmcrpg10-chat-home .feed-meta{font-size:11px!important}
  body.gmcrpg-ui01.gmcrpg10-chat-home #actionArea .free-row textarea{font-size:15px!important;line-height:1.6!important;min-height:58px!important}
  body.gmcrpg-ui01.gmcrpg10-chat-home #actionArea .free-row button{font-size:14px!important;min-height:58px!important}
  .gmcrpg10-quick-toggle span{font-size:13px!important}
  .gmcrpg10-quick-toggle small{font-size:11px!important}
  body.gmcrpg-ui01.gmcrpg10-chat-home #actionArea.gmcrpg10-quick-open>.choices .choice{font-size:13px!important}

  /* map */
  .gmcrpg-map-title small,.gmcrpg-map-legend,.gmcrpg-district-card small{font-size:11px!important}
  .gmcrpg-district-card p{font-size:13px!important}
  .gmcrpg-district-card button{font-size:13px!important}
  .gmcrpg-pin span{font-size:13px!important}
  .gmmap-title small,.gmmap-panel small{font-size:12px!important}
  .gmmap-title h2{font-size:27px!important}
  .gmmap-current{font-size:14px!important}.gmmap-current b{font-size:17px!important}
  .gmmap-pin-label{font-size:14px!important}.gmmap-pin-state{font-size:11px!important}
  .gmmap-panel h3{font-size:18px!important}.gmmap-panel p{font-size:13px!important}
  .gmmap-legend span,.gmmap-feedback,.gmmap-foot{font-size:12px!important}
  .gmmap-actions button{font-size:13px!important}

  /* building atlas */
  .gmbld-brand small,.gmbld-top-status small,.gmbld-room-head small{font-size:11px!important}
  .gmbld-brand h2{font-size:23px!important}.gmbld-top-status b{font-size:15px!important}
  .gmbld-tabs button{font-size:14px!important;padding:11px 17px!important}
  .gmbld-floor-switch button{font-size:14px!important}
  .gmbld-node i{width:32px!important;height:32px!important;font-size:15px!important}
  .gmbld-node span{font-size:12px!important;padding:4px 8px!important}
  .gmbld-room-head h3{font-size:23px!important}
  .gmbld-room-desc{font-size:14px!important}
  .gmbld-room-state{font-size:12px!important}
  .gmbld-room h4{font-size:12px!important}
  .gmbld-action span{font-size:10px!important}.gmbld-action b{font-size:13px!important}
  .gmbld-no-actions,.gmbld-compose{font-size:13px!important}.gmbld-boundary{font-size:11px!important}
  .gmbld-card small{font-size:9px!important}.gmbld-card b{font-size:12px!important}.gmbld-card em{font-size:10px!important}
  .gmbld-bottom-note{font-size:11px!important}
  .gmbld-hub>header p,.gmbld-hub-current,.gmbld-hub>footer{font-size:13px!important}
  .gmbld-hub-current b{font-size:16px!important}
  .gmbld-hub-grid .gmbld-card small{font-size:10px!important}.gmbld-hub-grid .gmbld-card b{font-size:17px!important}.gmbld-hub-grid .gmbld-card em{font-size:12px!important}

  /* inventory/equipment CRPG02 */
  .gmcrpg02-head{font-size:14px!important}.gmcrpg02-head b{font-size:22px!important}.gmcrpg02-head small{font-size:12px!important}
  .gmcrpg02-title{font-size:14px!important}.gmcrpg02-title small{font-size:12px!important}
  .gmcrpg02-who h2,.gmcrpg02-detail h2{font-size:25px!important}.gmcrpg02-who p{font-size:14px!important}
  .gmcrpg02-vital,.gmcrpg02-kv{font-size:14px!important}.gmcrpg02-slot strong{font-size:14px!important}.gmcrpg02-slot small{font-size:12px!important}
  .gmcrpg02-cats button{font-size:14px!important}.gmcrpg02-item span{font-size:13px!important}.gmcrpg02-item em{font-size:12px!important}
  .gmcrpg02-tags i,.gmcrpg02-note{font-size:12px!important}.gmcrpg02-desc{font-size:15px!important}
  .gmcrpg02-actions button{font-size:14px!important}

  /* commerce CRPG04 */
  .gmcrpg04-head button{font-size:14px!important}.gmcrpg04-head small{font-size:11px!important}.gmcrpg04-head b{font-size:22px!important}
  .gmcrpg04-wallet small,.gmcrpg04-storehead small,.gmcrpg04-till span,.gmcrpg04-till small{font-size:11px!important}
  .gmcrpg04-wallet span,.gmcrpg04-wallet em,.gmcrpg04-section-title{font-size:13px!important}
  .gmcrpg04-shop small{font-size:11px!important}.gmcrpg04-shop strong{font-size:15px!important}.gmcrpg04-shop span,.gmcrpg04-shop i{font-size:12px!important}
  .gmcrpg04-storehead h1{font-size:28px!important}.gmcrpg04-storehead p{font-size:13px!important}
  .gmcrpg04-item small{font-size:10px!important}.gmcrpg04-item strong{font-size:14px!important}.gmcrpg04-item span,.gmcrpg04-item i{font-size:11px!important}
  .gmcrpg04-side small{font-size:11px!important}.gmcrpg04-side h2{font-size:25px!important}.gmcrpg04-side p{font-size:13px!important}
  .gmcrpg04-detail .chips i,.gmcrpg04-detail .price span,.gmcrpg04-detail .note{font-size:11px!important}
  .gmcrpg04-detail dl div{font-size:12px!important}.gmcrpg04-detail button{font-size:14px!important}

  /* generic CRPG overlays 03/05/06/07/08/09: lift microcopy without changing layouts. */
  #gmcrpg03 small,#gmcrpg05 small,#gmcrpg06 small,#gmcrpg07 small,#gmcrpg08 small,#gmcrpg09 small{font-size:11px!important}
  #gmcrpg03 p,#gmcrpg05 p,#gmcrpg06 p,#gmcrpg07 p,#gmcrpg08 p,#gmcrpg09 p{font-size:13px!important;line-height:1.65!important}
  #gmcrpg03 button,#gmcrpg05 button,#gmcrpg06 button,#gmcrpg07 button,#gmcrpg08 button,#gmcrpg09 button{font-size:13px!important}
  #gmcrpg03 li,#gmcrpg05 li,#gmcrpg06 li,#gmcrpg07 li,#gmcrpg08 li,#gmcrpg09 li,
  #gmcrpg03 td,#gmcrpg05 td,#gmcrpg06 td,#gmcrpg07 td,#gmcrpg08 td,#gmcrpg09 td{font-size:13px!important}
}

/* Mobile gets a smaller bump, not the full desktop scale. */
@media (max-width:900px){
  body.gmcrpg-ui01.gmcrpg10-chat-home .feed-entry{font-size:14px!important}
  body.gmcrpg-ui01.gmcrpg10-chat-home #actionArea .free-row textarea{font-size:14px!important}
  body.gmcrpg-ui01.gmcrpg10-chat-home #actionArea .free-row button{font-size:13px!important}
  .gmbld-tabs button{font-size:12px!important}.gmbld-room-desc{font-size:13px!important}.gmbld-room-state{font-size:11px!important}
  .gmbld-node span{font-size:10px!important}.gmbld-node i{font-size:12px!important}
}
