/* The map is always in the same central place, clear of controls and safe areas. */
body #region-hud #name{display:none}
body #region-hud #minimap{position:fixed;left:50%;right:auto;top:calc(env(safe-area-inset-top,0px) + 5px);transform:translateX(-50%);width:124px;height:82px;border-radius:10px;opacity:.92}
body #minimap .minimap-title{position:absolute;left:0;right:0;top:0;padding:3px 5px;background:var(--ui-hud-a32-minimap-minimap-title-background);color:var(--ui-hud-a32-minimap-minimap-title-text);font-size:11px;line-height:15px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}
body .volume-control{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;color:inherit;padding:8px}
body .volume-control input{grid-column:1/-1;width:100%;min-height:36px;touch-action:pan-x;accent-color:var(--ui-panel-a32-volume-control-accent-color)}
body .bag-tabs{display:flex;gap:5px;margin:8px 0;flex-wrap:wrap}
body .bag-tabs button{flex:1;padding:7px;font-size:12px;min-height:36px;border-radius:8px}
body .bag-tabs button[aria-pressed=true]{background:var(--ui-panel-a32-bag-tabs-true-background);color:var(--ui-panel-a32-bag-tabs-true-text)}
body #consume-button{position:fixed;right:calc(env(safe-area-inset-right,0px) + 12px);bottom:calc(env(safe-area-inset-bottom,0px) + 175px);z-index:6;min-width:48px;min-height:40px;font-size:12px;border-radius:12px;background:var(--ui-panel-a32-consume-button-background);color:var(--ui-panel-a32-consume-button-text);border:1px solid var(--ui-panel-a32-consume-button-border)}
body button,body a,body summary,body select{touch-action:manipulation}
body #world,body #stick,body #combat-controls,body #skill-button{touch-action:none}
body .map-place,body #map-viewport{touch-action:none}
body #interact.destination-button{width:auto;max-width:min(70vw,320px);padding:11px 24px;border-radius:6px 20px 20px 6px;background:var(--ui-hud-a32-interact-destination-button-background);color:var(--ui-hud-a32-interact-destination-button-text);border:1px solid var(--ui-hud-a32-interact-destination-button-border);box-shadow:0 3px 10px var(--ui-hud-a32-interact-destination-button-shadow)}
body #interact.destination-button::after{content:' ›';font-size:18px;margin-left:8px}
body input[type=text],body input:not([type]),body textarea{font-size:16px}
body .training-card{padding:12px;border:1px solid var(--ui-panel-a32-training-card-border);border-radius:10px;background:var(--ui-panel-a32-training-card-background);color:var(--ui-panel-a32-training-card-text);margin-bottom:14px}
body .training-card h3{margin:0 0 8px}body .training-card p{margin:6px 0;line-height:1.5}
/* Read-only skill roles share the existing training surface, not combat controls. */
body .training-skills{margin:0 0 14px;padding:10px;border:1px solid var(--ui-panel-a32-training-skills-border);border-radius:10px;background:var(--ui-panel-a32-training-skills-background);color:var(--ui-panel-a32-training-skills-text);min-width:0}
body .training-skills[hidden]{display:none}
body .training-skills summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:bold;overflow-wrap:anywhere}
body .training-skills summary::before{content:'▸'}body .training-skills[open] summary::before{content:'▾'}
body .skill-role-card{margin:10px 0;padding:10px;border:1px solid var(--ui-panel-a32-skill-role-card-border);border-radius:8px;background:var(--ui-panel-a32-skill-role-card-background);min-width:0;overflow-wrap:anywhere}
body .skill-role-card.locked{border-style:dashed}
body .skill-role-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:1em}
body .skill-role-state{font-size:.85em;padding:2px 6px;border:1px solid var(--ui-panel-a32-skill-role-state-border);border-radius:5px}
body .training-skills p{margin:6px 0;font-size:14px;line-height:1.65}
body .skill-role-placement,body .skill-role-hint{color:var(--ui-panel-a32-skill-role-placement-skill-role-hint-text)}
body #job-dialog{max-width:min(92vw,520px);max-height:85dvh;overflow:auto;background:var(--ui-panel-a32-job-dialog-background);color:var(--ui-panel-a32-job-dialog-text);border:2px solid var(--ui-panel-a32-job-dialog-border);border-radius:16px;padding:18px}
body #job-dialog::backdrop{background:var(--ui-panel-a32-job-dialog-background-2)}
body .job-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}
body .job-options button{padding:12px;display:flex;flex-direction:column;gap:8px;white-space:normal;line-height:1.5;border-radius:9px}
body .job-options span{font-size:12px;min-width:0;max-width:100%;overflow-wrap:anywhere}
body #quest-tracker{min-height:0;border:1px solid var(--ui-hud-a32-quest-tracker-border);border-image:none;border-radius:8px;background:var(--ui-hud-a32-quest-tracker-background);color:var(--ui-hud-a32-quest-tracker-text);padding:4px 8px;font-size:11px;pointer-events:none}
body #quest-tracker button{pointer-events:auto}
@media(orientation:landscape) and (max-height:500px){body #quest-tracker{font-size:10px}}
@media(orientation:landscape) and (max-height:500px){body #region-hud #minimap{width:112px;height:70px}body #consume-button{bottom:calc(env(safe-area-inset-bottom,0px) + 125px);right:calc(env(safe-area-inset-right,0px) + 100px)}}
/* F238: 집 안 나가기 단추 등 #interact 의 한국어 글은 낱말 가운데("들어/가기")서 꺾지 않음 — 가로 폰 폭 112px 은 그대로, 일본어는 손대지 않음 */
html:lang(ko) body #interact{word-break:keep-all;overflow-wrap:break-word}
