/* One frame and one scroll owner for every game screen. Existing B materials. */
:root{--workspace-width:1280px;--workspace-height:880px;--workspace-edge:16px;--workspace-pad:22px;--workspace-gap:16px}
#game-dialog{width:min(var(--workspace-width),calc(100vw - max(var(--workspace-edge),var(--safe-left)) - max(var(--workspace-edge),var(--safe-right))));height:min(var(--workspace-height),calc(100dvh - max(var(--workspace-edge),var(--safe-top)) - max(var(--workspace-edge),var(--safe-bottom))));max-width:none;max-height:none;padding:0;overflow:hidden;scrollbar-gutter:auto;scroll-padding:0;margin:auto}
#game-dialog>.modal-surface{display:flex;flex-direction:column;position:relative;height:100%;min-height:0;padding:0;overflow:hidden}
#game-dialog [data-workspace-head]{flex:none;padding:16px var(--workspace-pad) 12px;background:var(--ui-surface);border-bottom:1px solid #627d80;min-width:0}
#game-dialog .modal-header{position:static;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0;margin:0;background:none;box-shadow:none;min-height:48px}
#game-dialog .modal-header h2{font-size:27px;line-height:1.15;overflow-wrap:anywhere}
#game-dialog .modal-kicker{font-size:11px;line-height:1.4;margin-bottom:4px}
#game-dialog .close-dialog{width:44px;height:44px;min-width:44px;min-height:44px}
#game-dialog button,#game-dialog select{min-width:44px;min-height:44px}
#game-dialog [data-workspace-body]{flex:1;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding:18px var(--workspace-pad);scroll-padding-block:12px}
#game-dialog [data-workspace-body] button{scroll-margin-block:12px}
#game-dialog [data-workspace-footer]{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;position:relative;flex:none;min-height:70px;padding:12px var(--workspace-pad);margin:0;background:var(--ui-surface-chrome);border-top:1px solid #627d80;min-width:0}
#game-dialog [data-workspace-footer]>button{flex:1;min-width:0;min-height:44px;width:auto;margin:0;padding:10px 14px;font-size:13px;line-height:1.35;white-space:normal}
#game-dialog [data-workspace-footer]>.gold-button{flex:1.4}
#game-dialog [data-workspace-footer]>span{flex:1.5;font-size:11px;line-height:1.5;color:#c9d8cc}
#game-dialog [data-workspace-footer]>.modal-feedback{position:absolute;z-index:6;bottom:calc(100% + 8px);left:12px;right:12px;max-width:700px;margin:0 auto;padding:10px 14px;pointer-events:none;box-shadow:0 4px 20px #102e40aa}
#game-dialog .modal-copy{line-height:1.65}
.workspace-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center;flex-shrink:0;min-height:0;width:100%;max-width:1100px;margin:auto}
.workspace-primary,.workspace-secondary{min-width:0}
.workspace-columns .forge-summary{margin-top:0}
.workspace-columns .stat-improvement{margin-top:24px}
.workspace-columns .gear-specimen{margin-top:0;display:flex;align-items:center;gap:20px}
.workspace-columns .gear-specimen .item-picture{width:112px;height:150px}
#game-dialog[data-view='item'] .gear-comparison{margin:0}
.workspace-body>.quest-ready{margin-bottom:16px}
.workspace-body>.secondary-button{max-width:560px}
.workspace-body>.stage-summary{max-width:860px;margin-inline:auto}
.workspace-body>.readiness,.workspace-body>.modal-copy{max-width:78ch}
#game-dialog[data-view='forge'] .workspace-body,#game-dialog[data-view='item'] .workspace-body,#game-dialog[data-view='boss'] .workspace-body,#game-dialog[data-view='patrol'] .workspace-body,#game-dialog[data-view='claim'] .workspace-body,#game-dialog[data-view='stage-result'] .workspace-body,#game-dialog[data-view='battle-result'] .workspace-body{display:flex;flex-direction:column}
.workspace-income{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px 24px;align-content:start;margin-top:12px}
.workspace-income>.income-method{margin:0;padding:14px;border:1px solid #648080;border-radius:8px;background:#1b3b4e}
.workspace-income>.workspace-recon{grid-column:1;grid-row:1/4}
.workspace-income>.income-method:not(.workspace-recon){grid-column:2}
.workspace-income .income-method h3{font-size:20px;margin-bottom:8px}
.workspace-income .modal-copy{font-size:12px}
.workspace-income .rate-explanation{max-width:none;margin:14px 0 0;padding:8px 10px;font-size:11px;line-height:1.5}
.workspace-income .income-comparison{padding-block:10px;margin-block:10px}
.workspace-income .modal-button,.workspace-income .secondary-button{font-size:13px;min-height:44px}
.workspace-journal{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}
.workspace-journal-current,.workspace-journal-list{min-width:0}
.workspace-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.workspace-chapters>button{font-size:12px}

.workspace-journal .quest-list-title{margin:0 0 10px}
.workspace-journal .quest-list{gap:5px}
.workspace-journal .quest-step{padding:7px 10px;min-height:44px}
.workspace-journal .chapter-lock{margin-bottom:10px}
.workspace-journal .active-quest{margin-top:16px}
.workspace-combat{display:grid;grid-template-columns:minmax(0,500px) minmax(0,1fr);gap:30px;max-width:1060px;min-height:100%;margin:auto;align-items:center}
.workspace-combat .battle-scene{width:100%;max-width:500px}
.workspace-combat .battle-hud{margin-top:0}
.workspace-combat .battle-log{font-size:16px;line-height:1.7;min-height:96px}
.workspace-combat .battle-explanation{font-size:12px;line-height:1.6;margin-top:14px}
#game-dialog[data-view='journey'] .region-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#game-dialog .region-card .compact-rates{grid-template-columns:1fr;gap:6px;margin-block:12px}
#game-dialog .region-card .compact-rates>span{justify-content:flex-start;white-space:nowrap;font-size:14px}
#game-dialog .region-card-heading h3{min-width:0;overflow-wrap:anywhere}
#game-dialog[data-view='quests'] .workspace-journal .chapter-banner{height:auto;max-height:150px;margin-block:12px}
#game-dialog .hero-toolbar{margin-top:12px}
#game-dialog .hero-toolbar .hero-quest-notice{margin:0}
#game-dialog [data-workspace-head] .camp-tabs{margin:12px 0 0}
#game-dialog .hunt-intro{margin:0}
#game-dialog .hunt-layout{gap:24px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
#game-dialog .hunt-target{min-height:128px}
#game-dialog .camp-receipt{min-height:0;padding:7px 10px;font-size:12px}
#game-dialog .camp-layout{gap:24px}
#game-dialog .camp-return{position:static}
#game-dialog .adventure-later{position:static}
#game-dialog[data-view='buyback'] .buyback-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#game-dialog .specialization-effect{min-height:70px}
#game-dialog .specialization-perk>small{min-height:45px}
#game-dialog .hunt-summary-body{overflow-y:auto}
@media(max-width:959px){
  :root{--workspace-edge:10px;--workspace-pad:16px;--workspace-gap:12px}
  .workspace-columns{gap:20px;align-items:start}
  .workspace-combat{grid-template-columns:minmax(0,1fr);gap:16px;max-width:500px;min-height:0}
  .workspace-combat .battle-log{min-height:0;font-size:13px}
  .workspace-combat .battle-explanation{margin-top:8px}
  #game-dialog[data-view='journey'] .region-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workspace-journal{gap:16px;grid-template-columns:minmax(0,1fr)}
  .workspace-income{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
  #game-dialog [data-workspace-footer]>button{font-size:12px;padding-inline:10px}
}
@media(max-width:639px){
  :root{--workspace-edge:8px;--workspace-pad:14px}
  #game-dialog [data-workspace-head]{padding-block:12px 10px}
  #game-dialog .modal-header h2{font-size:22px}
  #game-dialog [data-workspace-body]{padding-block:14px}
  #game-dialog [data-workspace-footer]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:64px;padding-block:10px}
  #game-dialog [data-workspace-footer]>:only-child{grid-column:1/-1}
  #game-dialog [data-workspace-actions='3']>.gold-button{grid-column:1/-1}
  #game-dialog [data-workspace-footer]>button{font-size:11px;padding:8px;min-height:44px}
  #game-dialog [data-workspace-footer]>span{grid-column:1/-1;font-size:10px}
  #game-dialog .hero-footer{grid-template-columns:1fr 1fr}
  #game-dialog .collection-footer>span{display:none}
  #game-dialog .workspace-columns{display:flex;flex-direction:column;gap:16px;min-height:0}
  .workspace-columns>section{width:100%}
  .workspace-columns .gear-specimen{gap:12px}
  .workspace-columns .gear-specimen .item-picture{width:72px;height:100px}
  .workspace-columns .stat-improvement{margin-top:16px}
  .workspace-income{display:flex;flex-direction:column}
  .workspace-income>.workspace-recon{order:-1}
  .workspace-chapters{gap:5px;margin-top:10px}
  .workspace-chapters>button{font-size:10px;padding:6px}
  #game-dialog[data-view='buyback'] .buyback-list{grid-template-columns:1fr}
  #game-dialog[data-view='journey'] .region-list{grid-template-columns:1fr}
  #game-dialog .hunt-layout,#game-dialog .camp-layout{grid-template-columns:1fr;gap:12px}
  #game-dialog .hunt-target{min-height:122px}
  #game-dialog .specialization-effect{min-height:0}
  #game-dialog .specialization-perk>small{min-height:0}
}
@media(max-height:500px){
  #game-dialog [data-workspace-head]{padding-block:8px}
  #game-dialog .modal-header h2{font-size:21px}
  #game-dialog .modal-kicker{font-size:10px}
  #game-dialog [data-workspace-footer]{padding-block:8px;min-height:60px}
}
