/* Visible body is normalized from alpha bounds without rewriting approved images. */
.combat-screen .enemy .enemy-art{container-type:size;height:min(180px,calc((100% - 120px)*.6));pointer-events:none}
.combat-screen .enemy.tier-elite .enemy-art{height:min(270px,calc((100% - 120px)*.9));max-height:none}
.combat-screen .enemy.tier-boss .enemy-art{height:min(400px,calc(100% - 70px));max-height:none}
.monster-target{position:relative;display:block;align-self:end;justify-self:center;flex:none;border:0;border-radius:0;padding:0;background:none;box-shadow:none;overflow:visible;min-width:44px;min-height:44px;max-width:100%;height:min(100cqh,calc(100cqw / var(--body-ratio)));width:min(100cqw,calc(100cqh * var(--body-ratio)));pointer-events:auto;cursor:crosshair;isolation:isolate}
.combat-screen .enemy .monster-target,.combat-screen .enemy .monster-target[aria-pressed=true]{border:0!important;background:transparent!important;box-shadow:none!important;outline:0;border-radius:0;padding:0!important;box-sizing:border-box}
.combat-screen .enemy .monster-target .approved-monster-art{position:absolute!important;left:var(--image-x)!important;top:var(--image-y)!important;width:var(--image-w)!important;height:var(--image-h)!important;max-height:none!important;max-width:none!important;min-width:0!important;object-fit:fill!important;object-position:initial;transform:none!important;pointer-events:none;filter:drop-shadow(0 7px 5px #000a)}
.combat-screen .enemy .monster-target:focus-visible{outline:3px dashed #fff0ab;outline-offset:4px;border-radius:30%}
.enemy.selected .monster-target{filter:drop-shadow(0 0 5px #ffdb9466)}
.combat-screen .enemy.tier-boss .intent{z-index:8;left:-20%;width:140px;max-width:140px;transform:none;background:linear-gradient(90deg,transparent,#161d2bf5 15%,#161d2bf5 85%,transparent)}
.combat-screen .enemy.tier-boss .intent::before{content:'보스 예고';position:absolute;left:3px;top:-12px;font-size:10px;letter-spacing:1px;color:#dfc390}
.combat-screen .enemy.tier-boss .intent::after{content:'';position:absolute;left:100%;top:50%;bottom:auto;width:24px;height:0;background:transparent;border:0;border-top:1px solid #c2a37977;transform:none;clip-path:none;pointer-events:none}
.combat-screen .enemy.tier-boss::before{inset:12% -5% 48px;background:radial-gradient(ellipse at 50% 65%,#bb8d8e40,transparent 70%)}
.combat-screen .enemy.tier-boss::after{bottom:60px;height:24px;left:2%;right:2%;border-color:#dfbd8aaa;box-shadow:0 0 23px #e9b59233,inset 0 0 15px #ffe0a411}
.combat-screen .enemy .intent{pointer-events:auto}
.combat-screen .enemy .actor-title,.combat-screen .enemy .actor-health{pointer-events:none}
.combat-screen .enemy .actor-health{left:0;right:0;width:90%;max-width:220px;margin:0 auto;box-sizing:border-box}
.combat-screen .enemy.tier-elite .actor-health{max-width:260px}.combat-screen .enemy.tier-boss .actor-health{max-width:300px}
.combat-screen .enemy .target-preview{bottom:68px;left:2%;right:2%;height:auto;z-index:10;transform:none;max-height:30px;pointer-events:none}
.combat-screen .enemy.tier-boss .actor-title{z-index:7}
.combat-screen .enemy.tier-boss.boss-arrival .monster-target{animation:boss-presence .42s ease-out both}
.combat-screen .enemy.tier-boss.hit .monster-target{animation:boss-impact .3s ease-out both}
.combat-screen .enemy.tier-boss.defeated .monster-target{animation:boss-fall .7s ease-out both}
.combat-screen .boss-transition{inset:5px 20% auto;z-index:14;background:#182635e8;box-shadow:0 0 25px #dfc38522;font-size:18px}
.combat-screen .tier-boss.enemy-casting .monster-target{filter:drop-shadow(0 0 13px #d9ad7f88)}
@keyframes boss-presence{from{opacity:.4;translate:0 9px;filter:brightness(.65)}to{opacity:1;translate:0 0;filter:brightness(1)}}
@keyframes boss-impact{0%,100%{translate:0 0}25%{translate:5px 1px;filter:brightness(1.18)}60%{translate:2px 0}}
@keyframes boss-fall{from{opacity:1;translate:0 0}to{opacity:.18;translate:0 12px;filter:saturate(.3)}}
.motion-reduced .monster-target{animation:none!important;translate:none!important}
/* A full, readable information surface. Header never scrolls away. */
.overlay.intent-large{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#020a13b8;overscroll-behavior:contain}
.intent-large .modal.help-modal{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(820px,96vw);height:min(760px,85dvh);max-width:840px;max-height:85dvh;min-height:0;margin:0;padding:0;overflow:hidden;transform:none;inset:auto;border:1px solid #cab385;border-radius:18px;background:linear-gradient(135deg,#183842,#102331);box-shadow:0 18px 60px #0009;text-align:left;color:#e7eee6;font-size:17px}
.help-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #b6a47955;background:#122a35;min-height:84px;box-sizing:border-box;z-index:2}
.help-top small{font-size:12px;color:#c7d6c9}.help-top h2{font-size:25px;line-height:1.2;margin:5px 0 0;padding:0;color:#f4dfaf}
.help-top .close-modal{position:static;inset:auto;flex:0 0 auto;min-width:70px;min-height:44px;padding:8px 12px;border:1px solid #c8bb91;background:#23444c;border-radius:9px;font-size:17px}.help-top .close-modal span{font-size:12px}
.help-scroll{overflow:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin;scrollbar-color:#95aba5 #122b35;padding:22px}
.help-grid{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:start;min-width:0}
.help-visual{position:sticky;top:0;min-width:0;text-align:center;padding:12px;background:radial-gradient(ellipse at 50% 25%,#ad9d6e22,transparent 70%);border-bottom:1px solid #bba77b66}.help-visual b{color:#f7ddb2;font-size:19px}.help-visual p{font-size:14px!important;line-height:1.35!important;margin:8px 0}.help-visual small{font-size:13px;color:#bdcfc7}
.help-portrait{position:relative;container-type:size;width:100%;height:190px;margin-bottom:18px}
.portrait-ink{position:absolute;left:50%;bottom:0;translate:-50% 0;display:block;width:min(100cqw,calc(100cqh * var(--body-ratio)));height:min(100cqh,calc(100cqw / var(--body-ratio)))}
.help-portrait img{position:absolute;left:var(--image-x);top:var(--image-y);width:var(--image-w);height:var(--image-h);max-width:none;max-height:none;object-fit:fill;pointer-events:none}
.help-portrait{overflow:visible;width:130px;height:140px;margin:15px auto 25px}
.help-sections{min-width:0}.help-sections section{margin-bottom:24px}.help-sections h3{display:flex;gap:9px;align-items:center;margin:0 0 12px;font-size:20px;color:#f5db9c}.help-sections h3>span{display:inline-grid;place-items:center;width:27px;height:27px;border:1px solid #bfa77b;border-radius:50%;font-size:14px;flex:none}
.help-sections p,.help-sections li{font-size:17px!important;line-height:1.6!important;word-break:keep-all;overflow-wrap:anywhere}.help-sections ul{padding-left:20px}.help-sections li{margin:9px 0}.help-action{font-weight:800;color:#ffd2b3}.help-chips{display:flex;flex-wrap:wrap;gap:6px}.help-chips>span{padding:5px 9px;border:1px solid #758e8a;border-radius:7px;background:#20404b;font-size:15px}.help-muted{color:#c4d4cf}.help-numbers{display:grid;grid-template-columns:1fr 1fr;gap:9px}.help-numbers>div{padding:11px;background:#0d222c;border:1px solid #798f8266;border-radius:9px}.help-numbers small{display:block;font-size:13px}.help-numbers b{display:block;font-size:31px;color:#ffe1a0;line-height:1.25;margin-top:5px}.help-tip{border-left:3px solid #d6c086;padding:8px 12px;background:#24444b55}.help-footnote{font-size:13px!important;color:#bccdc6}.intent-large .intent-technical summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-size:16px}.intent-large .intent-technical{border:1px solid #7c938b;border-radius:8px;padding:5px 12px}.help-sections small{font-size:13px;color:#bcd1c6}
@media(max-width:650px){
 .combat-screen .enemy .target-preview{bottom:65px}
 .combat-screen .enemy .enemy-art{height:min(150px,calc((100% - 120px)*.6))}
 .combat-screen .enemy.tier-elite .enemy-art{height:min(225px,calc((100% - 120px)*.9))}
 .combat-screen .enemy.tier-boss .enemy-art{height:min(345px,calc(100% - 82px))}
 .combat-screen .enemy.tier-boss .intent{left:-45%;top:-8px;width:100px;max-width:100px;height:49px}
 .combat-screen .enemy.tier-boss .intent .threat-title{font-size:15px}.combat-screen .enemy.tier-boss .intent .threat-meta{font-size:10px;white-space:normal;max-height:22px;overflow:hidden}
 /* The winged B02 is wider: borrow safe empty space, rather than shrinking its body. */
 .combat-screen .enemy-team.count-1 .enemy:has(.monster-B02) .monster-target{width:min(calc(100cqw + 26px),calc(100cqh * var(--body-ratio)));height:min(100cqh,calc((100cqw + 26px) / var(--body-ratio)));max-width:calc(100% + 26px);margin-left:-20px}
 .combat-screen .enemy-team.count-1 .enemy:has(.monster-B02) .intent{width:80px;max-width:80px}
 .combat-screen .enemy-team.count-1 .enemy:has(.monster-B02) .intent .threat-title{font-size:13px;white-space:normal;line-height:1.1}
 .combat-screen .encounter-boss .player .actor-title{visibility:hidden}
 .combat-screen .enemy-team:not(.count-1) .enemy-art{height:calc((100% - 135px)*.48)}
 .combat-screen .enemy-team:not(.count-1) .tier-elite .enemy-art{height:calc((100% - 135px)*.72)}
 .combat-screen .enemy-team:not(.count-1) .tier-boss .enemy-art{height:calc(100% - 135px)}
 .intent-large .modal.help-modal{width:96vw;max-width:96vw;height:87dvh;max-height:87dvh;border-radius:16px}
 .help-top{padding:12px;min-height:78px;gap:8px}.help-top h2{font-size:21px}.help-top small{font-size:11px}.help-top .close-modal{min-width:54px;padding:7px 10px}.help-top .close-modal span{display:none}
 .help-scroll{padding:16px 14px calc(16px + env(safe-area-inset-bottom))}.help-grid{grid-template-columns:1fr;gap:18px}.help-visual{position:static;display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;text-align:left;padding:0 0 14px;align-items:center}.help-portrait{width:64px;height:76px;margin:12px auto}.help-visual b{font-size:18px}.help-visual p{font-size:13px!important;margin:5px 0}.help-visual small{display:none}.help-sections h3{font-size:19px}.help-sections p,.help-sections li{font-size:16px!important;line-height:1.55!important}.help-numbers small{font-size:12px}.help-numbers b{font-size:28px}.help-chips>span{font-size:14px}.help-sections section{margin-bottom:21px}
}
@media(prefers-reduced-motion:reduce){.monster-target{animation:none!important;translate:none!important}}
