/* NPC service chrome uses the existing RPG window palette and spacing.
   Keep service layouts, item grade colors, native icons and forge effects. */
.npc-service-switches{display:flex;gap:6px;margin-left:auto;flex:none}
:is(#shop-window,#workshop-window)>.window-title .npc-service-switches button{min-height:34px;min-width:76px;padding:5px 12px;font-size:12px}
:is(#shop-window,#workshop-window) .npc-service-switches button[aria-pressed=true]{color:var(--gold);background:var(--selection);border-color:var(--gold)}
#workshop-window.refining-active{width:min(700px,calc(100vw - 32px))}
#workshop-refining-panel .service-primary{min-height:44px}
.soul-transfer-summary{margin-top:14px;padding:14px;background:var(--field);border:1px solid var(--line);border-radius:6px}
.soul-transfer-summary h3{margin:0 0 10px;color:var(--gold);font-size:14px}
.soul-transfer-warning{padding:10px;border:1px solid #c58458;border-radius:5px;color:#f0c89e;line-height:1.7}
.soul-transfer-columns .appearance-items{height:224px;max-height:224px}
@media(max-width:560px){
  :is(#shop-window,#workshop-window)>.window-title{flex-wrap:wrap;gap:8px}
  :is(#shop-window,#workshop-window)>.window-title h2{flex:1 1 140px}
  :is(#shop-window,#workshop-window)>.window-title .npc-service-switches{order:3;flex:1 0 100%;margin:0}
  :is(#shop-window,#workshop-window)>.window-title .npc-service-switches button{flex:1;min-height:44px}
  .soul-transfer-columns{grid-template-columns:minmax(0,1fr);gap:12px}
  .soul-transfer-columns .appearance-items{height:156px;max-height:156px}
}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window,.quest-dialogue,.quest-journal,.quest-puzzle,#dungeon-dialog,#field-channel-dialog){
  --npc-text:#e1dfd4;
  --npc-warning:#e5ac98;
  --npc-positive:#b4ce9c;
  --npc-space:14px;
  color:var(--npc-text);
  background:var(--floating);
  background-image:none;
  border:1px solid var(--surface-border);
  border-radius:var(--radius);
  box-shadow:0 16px 40px #0006;
  font:12px/1.55 "Malgun Gothic","Apple SD Gothic Neo",sans-serif;
  scrollbar-color:#74756a #090a0c;
  scrollbar-width:thin;
}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window){padding:var(--npc-space)}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window)>.window-title{
  gap:12px;
  padding:0 0 10px;
  margin:0 0 var(--npc-space);
  background:transparent;
  border-bottom:1px solid var(--line);
  border-radius:0;
}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window,.quest-dialogue,.quest-journal,#dungeon-dialog,#field-channel-dialog) :is(.window-title h2,header h2){
  min-width:0;
  margin:0;
  color:var(--gold);
  font-size:16px;
  font-weight:600;
  line-height:1.5;
  letter-spacing:1px;
  overflow-wrap:anywhere;
}
:is(.quest-dialogue,.quest-journal,#dungeon-dialog,#field-channel-dialog)>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px var(--npc-space);
  background:transparent;
  border-bottom:1px solid var(--line);
}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window,.quest-dialogue,.quest-journal,.quest-puzzle,#dungeon-dialog,#field-channel-dialog) button{
  color:var(--npc-text);
  background:var(--field);
  border-color:var(--line);
  border-radius:5px;
  font:inherit;
  min-height:40px;
  padding:7px 11px;
}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window,.quest-dialogue,.quest-journal,.quest-puzzle,#dungeon-dialog,#field-channel-dialog) button:not(:disabled):hover{
  color:var(--gold);
  background:var(--selection);
  border-color:var(--gold);
}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window,.quest-dialogue,.quest-journal,.quest-puzzle,#dungeon-dialog,#field-channel-dialog) :is(button:disabled,input:disabled,select:disabled){
  color:var(--muted);
  background:var(--field);
  border-color:var(--line);
  opacity:.65;
  cursor:default;
}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window,.quest-dialogue,.quest-journal,#dungeon-dialog,#field-channel-dialog)[aria-busy=true] button:disabled{cursor:progress}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window,.quest-dialogue,.quest-journal,.quest-puzzle,#dungeon-dialog,#field-channel-dialog) :is(button,input,select):focus-visible{
  outline:2px solid var(--gold);
  outline-offset:2px;
}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window) .window-title [data-close-rpg],
:is(.quest-dialogue,.quest-journal,#dungeon-dialog,#field-channel-dialog)>header :is([data-close],button[aria-label*="닫기"]){
  flex:none;
  min-width:32px;
  min-height:32px;
  padding:3px 7px;
  font-size:21px;
  line-height:1;
  color:var(--muted);
  background:transparent;
  border-color:transparent;
}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window,.quest-dialogue,.quest-journal,.quest-puzzle,#dungeon-dialog,#field-channel-dialog) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select){
  min-width:0;
  min-height:40px;
  max-width:100%;
  padding:8px 10px;
  color:var(--npc-text);
  background:var(--field);
  border:1px solid var(--line);
  border-radius:5px;
  font:inherit;
}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window) :is(input[type=range],input[type=checkbox],input[type=radio]){accent-color:var(--gold)}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window,.quest-dialogue,.quest-journal,#dungeon-dialog,#field-channel-dialog) :is(label,legend,small,.service-note,.appearance-empty,.limit-break-empty,.accessory-growth-empty,.market-empty,.quest-empty,.dungeon-note){color:var(--muted)}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window,.quest-dialogue,.quest-journal,#dungeon-dialog,#field-channel-dialog) :is(h3,h4){color:var(--gold)}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window,.quest-dialogue,.quest-journal,.quest-puzzle,#dungeon-dialog,#field-channel-dialog) :is(.service-primary,.dungeon-primary,#shop-buy,#workshop-action,#market-search-button,#market-register-submit,#market-action,#warehouse-move,#accessory-growth-action,[data-accept]):not(:disabled){
  color:#19170d;
  background:var(--gold);
  border-color:var(--gold);
  font-weight:600;
}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window,.quest-dialogue,.quest-journal,.quest-puzzle,#dungeon-dialog,#field-channel-dialog) :is(.service-primary,.dungeon-primary,#shop-buy,#workshop-action,#market-search-button,#market-register-submit,#market-action,#warehouse-move,#accessory-growth-action,[data-accept]):not(:disabled):hover{color:#19170d;background:var(--gold);filter:brightness(1.08)}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window,.quest-dialogue,.quest-journal,.quest-puzzle,#dungeon-dialog,#field-channel-dialog) :is(button[aria-pressed=true],button[aria-selected=true],.chosen,.skill-button.selected,.market-row.chosen){
  background:var(--selection);
  border-color:var(--gold);
  box-shadow:none;
}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window) :is(.shop-tabs,.market-tabs,.workshop-tabs,.trainer-tabs,.smith-tabs,.limit-break-tabs,.warehouse-tabs){gap:8px}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window) :is(.shop-tabs,.market-tabs,.workshop-tabs,.trainer-tabs,.smith-tabs,.limit-break-tabs,.warehouse-tabs) button{min-height:36px}
:is(#workshop-window,#appearance-window,#limit-break-window,#accessory-growth-window) :is(.workshop-item,.appearance-item,.limit-break-item,.accessory-growth-target){
  padding:8px;
  gap:10px;
  border:1px solid var(--line);
  background:var(--field);
  text-align:left;
}
:is(#workshop-window,#appearance-window,#limit-break-window,#accessory-growth-window) :is(.workshop-item,.appearance-item,.limit-break-item,.accessory-growth-target):is(.chosen,[aria-pressed=true]){background:var(--selection);border-color:var(--gold)}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#warehouse-window,#appearance-window,#limit-break-window) :is(.shop-tabs,.market-tabs,.workshop-tabs,.trainer-tabs,.warehouse-tabs,.smith-tabs,.limit-break-tabs) :is(button[aria-pressed=true],button[aria-selected=true]){color:var(--gold)}
:is(#bank-window,#promotion-window,#appearance-window,#limit-break-window,#accessory-growth-window) :is(.service-values>div,.appearance-reset-section,.appearance-haze-section,.limit-break-values>div){border-color:var(--line)}
#market-window :is(.market-search-panel,fieldset,.market-register-form),
#accessory-growth-window :is(.accessory-growth-item-card,.accessory-growth-material,.accessory-growth-total,.accessory-growth-set,.accessory-growth-status,.accessory-growth-configuration,.accessory-growth-preservation),
#limit-break-window :is(.limit-break-details,.limit-break-option-help,.limit-break-help-part),
#promotion-window .promotion-preview{
  color:var(--npc-text);
  background:var(--field);
  border-color:var(--line);
  border-radius:5px;
}
#accessory-growth-window :is(.accessory-growth-body,.accessory-growth-footer){padding:0}
#accessory-growth-window .accessory-growth-footer{padding-top:12px;border-top:1px solid var(--line);background:var(--floating)}
#accessory-growth-window :is(.accessory-growth-configuration,.accessory-growth-preservation,.accessory-growth-investment,.accessory-growth-base-effects dt,.accessory-growth-total summary,.accessory-growth-booster small){color:var(--muted)}
#accessory-growth-window :is(.accessory-growth-arrow,.accessory-growth-item-level,.accessory-growth-chance,.accessory-growth-pity,.accessory-growth-base-effects dd){color:var(--gold)}
#accessory-growth-window progress{accent-color:var(--gold)}
#market-window :is(.market-row,.market-columns,.market-table-scroll){border-color:var(--line)}
#market-window .market-row:not(.market-columns){background:var(--field)}
#market-window .market-columns{color:var(--muted);background:var(--field)}
#market-window :is(.market-search-panel small,.market-recent-price,.market-history-state,.market-status){color:var(--muted)}
#market-window :is(.market-total,.market-unit){color:var(--gold)}
#market-window :is(.market-row.chosen,.market-row:not(.market-columns):hover){background:var(--selection)}
#market-window .market-row.chosen{box-shadow:inset 3px 0 var(--gold)}
#market-window .market-row:focus-visible{outline-color:var(--gold)}
#limit-break-window :is(.limit-break-state,.limit-break-help-note,.limit-break-lock-cost){color:var(--muted)}
:is(.quest-dialogue,.quest-journal,#dungeon-dialog,#field-channel-dialog) :is(.quest-dialogue-copy,.quest-dialogue-detail,.quest-detail-objective,.dungeon-detail){background:var(--field);border-color:var(--line)}
:is(.quest-dialogue,.quest-journal,#dungeon-dialog,#field-channel-dialog) footer{gap:8px;padding:12px var(--npc-space);background:transparent;border-color:var(--line)}
:is(#dungeon-dialog,#field-channel-dialog) :is(th,td){border-color:var(--line)}
:is(#dungeon-dialog,#field-channel-dialog) :is(dt,th,.dungeon-mode){color:var(--muted)}
:is(#dungeon-dialog,#field-channel-dialog) dd{color:var(--npc-text)}
:is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window,.quest-dialogue,.quest-journal,#dungeon-dialog,#field-channel-dialog) :is(.shop-data-error,.dungeon-error,.field-channel-error,[data-error],.insufficient,.is-shortage){color:var(--npc-warning)}
#accessory-growth-window .accessory-growth-material.insufficient{border-color:var(--npc-warning)}
.warehouse-split-dialog{
  color:#e1dfd4;
  background:var(--floating);
  border:1px solid var(--surface-border);
  border-radius:var(--radius);
  padding:14px;
  font:12px/1.55 "Malgun Gothic","Apple SD Gothic Neo",sans-serif;
}
.warehouse-split-dialog :is(input,button){min-height:40px;border-radius:5px;border:1px solid var(--line);background:var(--field);color:#e1dfd4;padding:8px 10px;font:inherit}
.warehouse-split-dialog button[type=submit]{background:var(--gold);border-color:var(--gold);color:#19170d;font-weight:600}
.warehouse-split-dialog form>strong,.quest-puzzle>header h3{font-size:16px;font-weight:600;line-height:1.5;letter-spacing:1px;color:var(--gold)}
.warehouse-split-dialog form>strong{display:block;padding-bottom:10px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.warehouse-split-dialog label{color:var(--muted)}
.quest-puzzle>header{gap:12px;margin:0 0 14px;padding:0 0 10px;border-bottom:1px solid var(--line)}
.quest-puzzle{box-sizing:border-box;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto}
.quest-puzzle>header h3{margin:0}
.quest-puzzle>header button{min-width:32px;min-height:32px;padding:3px 7px;font-size:21px;line-height:1;background:transparent;border-color:transparent;color:var(--muted)}
.quest-dialogue-copy p{font-size:14px;line-height:1.65}
.warehouse-split-dialog::backdrop,:is(.quest-journal,#dungeon-dialog,#field-channel-dialog)::backdrop{background:#02060499}
/* Slots and effect controls retain the native geometry required by their renderers. */
#warehouse-window :is(.item-slot,.warehouse-slot),#market-window .item-slot{min-height:0;padding:1px}
#promotion-window .skill-button{padding:8px}
@media(max-width:740px){
  :is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window){
    /* Desktop dragging stores inline positions; a narrow viewport must fit. */
    left:8px!important;
    right:8px!important;
    top:max(8px,env(safe-area-inset-top))!important;
    bottom:auto;
    width:calc(100vw - 16px);
    max-width:calc(100vw - 16px);
    max-height:calc(100dvh - max(8px,env(safe-area-inset-top)) - 16px);
    transform:none;
    overflow:auto;
    --npc-space:12px;
  }
  :is(#workshop-window,#appearance-window,#accessory-growth-window) :is(.workshop-columns,.appearance-columns,.accessory-growth-layout){grid-template-columns:minmax(0,1fr);gap:12px}
  #workshop-window #workshop-items{max-height:220px}
  #market-window .market-content{grid-template-columns:minmax(0,1fr)}
  #market-window .market-search-panel{border-right:0;border-bottom:1px solid var(--line)}
  :is(.quest-dialogue,.quest-journal,#dungeon-dialog,#field-channel-dialog){--npc-space:12px;max-width:calc(100vw - 16px)}
  :is(.quest-dialogue,.quest-journal,#dungeon-dialog,#field-channel-dialog)>header h2{font-size:16px}
  #dungeon-dialog .dungeon-body{grid-template-columns:minmax(0,1fr)}
  #dungeon-dialog .dungeon-list{max-height:180px}
}
@media(pointer:coarse){
  .touch-ui :is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window){
    left:8px!important;
    right:8px!important;
    top:max(8px,env(safe-area-inset-top))!important;
    bottom:auto;
    width:calc(100vw - 16px);
    max-width:calc(100vw - 16px);
    max-height:calc(var(--touch-height,100dvh) - max(8px,env(safe-area-inset-top)) - 16px);
    overflow:auto;
    transform:none;
  }
  :is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window,.quest-dialogue,.quest-journal,.quest-puzzle,#dungeon-dialog,#field-channel-dialog,.warehouse-split-dialog) :is(button,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select){min-height:44px}
  #warehouse-window :is(.item-slot,.warehouse-slot),#market-window .item-slot{min-height:0}
  :is(#shop-window,#market-window,#workshop-window,#promotion-window,#bank-window,#warehouse-window,#appearance-window,#limit-break-window,#accessory-growth-window,.quest-dialogue,.quest-journal,#dungeon-dialog,#field-channel-dialog,.warehouse-split-dialog) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select){font-size:16px}
}
