/* The battlefield is the primary play surface; classic sprites are the WebGL fallback. */
.model-portrait{object-fit:contain;image-rendering:auto;filter:drop-shadow(0 3px 3px #0005)}
.ico.model-portrait{width:1.35em;height:1.35em;vertical-align:-.28em;shape-rendering:auto}
.ico.md.model-portrait{width:25px;height:25px}.ico.lg.model-portrait{width:44px;height:44px}.ico.xl.model-portrait{width:90px;height:90px}
.swdwrap .swd.model-portrait{width:100%;height:100%;object-fit:contain}.srow .art .model-portrait{width:64px;height:64px;max-width:100%}
.gacha>.big{min-height:112px;display:grid;place-items:center;margin:5px auto 12px;padding:8px}.gacha .big .ico{width:100px;height:100px}
.battle-stage{position:relative;isolation:isolate}.battle-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:22px 26px 8px;position:absolute;inset:0 0 auto;z-index:2;pointer-events:none}.battle-kicker{color:#bda3c9;font-size:9px;font-weight:700;letter-spacing:3px}.battle-heading h3{font-size:24px;font-weight:700;letter-spacing:1px;color:#eee8ef;margin-top:3px}.battle-live{font-size:11px;color:#b8c9c3;display:flex;align-items:center;gap:7px;border:1px solid #a8c8b52b;background:#16212a80;padding:6px 10px;border-radius:20px}.battle-live i{width:5px;height:5px;background:#9bd4b7;border-radius:50%;box-shadow:0 0 8px #9bd4b7}
.battle-viewport{height:clamp(390px,calc(100dvh - 245px),570px);position:relative;overflow:hidden;background:#0d101b;border-radius:18px 18px 0 0}.battle-viewport canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:pan-y}.battle-viewport canvas:active{cursor:grabbing}.battle-viewport canvas:focus-visible{outline:2px solid #d9b976;outline-offset:-4px}.battle-viewport::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 65px 15px #0d101b4d;background:linear-gradient(0deg,#0d101b80,transparent 13%,transparent 87%,#0d101b55)}
.battle-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}.battle-player{position:absolute;top:0;left:0;text-align:center;white-space:nowrap;line-height:1.4;font-size:10px;color:#dad6e4;background:#111420cc;border:1px solid #b7aec126;border-radius:6px;padding:3px 7px;box-shadow:0 3px 10px #0003;will-change:transform}.battle-player b{font-weight:500;display:block}.battle-player span{font-size:9px;color:#aab0bf}.battle-player.me{border-color:#d8b46570}.battle-player.me b{color:#f1d397}.battle-player.demo{background:#11142099}.battle-player.demo b{color:#aca5ba}
.battle-player.crowded:not(.me){font-size:8px;max-width:65px;padding:2px 4px}.battle-player.crowded:not(.me) b{overflow:hidden;text-overflow:ellipsis}.battle-player.crowded:not(.me) span{display:none}
.battle-boss-label{position:absolute;top:82px;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;text-shadow:0 2px 10px #000;white-space:nowrap}.battle-boss-label span{display:block;color:#9676a5;font-size:8px;letter-spacing:2px}.battle-boss-label b{font-weight:500;color:#dbb3d0;font-size:13px;letter-spacing:3px}.battle-hint{position:absolute;bottom:12px;left:22px;font-size:10px;color:#9092a5;pointer-events:none;z-index:2}.battle-loading{position:absolute;inset:0;display:grid;place-items:center;background:#0d101b;z-index:4;color:#c3aecf}.battle-loading[hidden]{display:none}
.battle-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:13px 20px;background:#121620;border-top:1px solid #ffffff08}.battle-party-count{font-size:11px;color:#b6b0c3}.battle-controls{display:flex;flex-wrap:wrap;gap:5px}.battle-controls button{min-height:32px;min-width:32px;background:#1f2330;color:#aaaabb;border:1px solid #ffffff0a;border-radius:6px;padding:5px 9px;font-size:10px;font-family:inherit;cursor:pointer}.battle-controls button:hover{color:#eee2cb;border-color:#d6b57755}.battle-controls button[aria-pressed=true]{background:#45374d;color:#e7cbed}.battle-controls button:disabled{opacity:.4;cursor:default}.battle-demo-note{font-size:10px;color:#9990aa;padding:0 20px 12px;background:#121620;margin:0}
#demon.has-battle3d{padding:0;background:#141721;overflow:hidden;border:1px solid #94819f33;box-shadow:0 16px 60px #0003}
.has-battle3d>.top{padding:17px 22px!important;border-top:1px solid #ffffff0b;background:linear-gradient(90deg,#1f1a29,#171d28);display:block}.has-battle3d .top .inf{width:100%}.has-battle3d .top .arena,.has-battle3d #dm-mates{display:none!important}.has-battle3d .top .stat{display:inline-flex;margin-right:22px;font-size:11px}.has-battle3d .top .hpz{max-width:none;height:5px}.has-battle3d .top .hpz i{background:linear-gradient(90deg,#70416d,#d579aa)}.has-battle3d .top .hpz.gold i{background:linear-gradient(90deg,#8a6a12,var(--glow))}.has-battle3d>.fl{z-index:4;font-size:14px!important;left:50%!important;top:44%!important;pointer-events:none}.has-battle3d>.loot{display:none}.battle-fallback{padding:14px;color:#e1b784;font-size:12px}
#t-main.on{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:start}
#t-main>.page-intro{grid-column:1/-1;order:0;margin:0}#t-main>#demon{grid-column:1/-1;grid-row:auto;order:1;margin:0}#t-main>#tut{grid-column:1/-1;order:2;margin:0}#t-main>#forge{grid-column:1;grid-row:auto;order:3;margin:0}#t-main>#smith{grid-column:2;order:3;margin:0}#t-main>#feed{grid-column:1/-1;order:4;margin:0}#t-main>#chat{grid-column:1/-1;order:5;margin:0}
.world-3d #t-main>.page-intro{display:none}.world-3d .forge #f-img{min-width:120px}.world-3d .forge #f-img .swdwrap{width:90px;height:175px}.world-3d .forge .fx{min-height:200px}.world-3d .forge::before{content:'THE ARMORY  /  무기 강화'}
@media(max-width:700px){#t-main.on{grid-template-columns:minmax(0,1fr);gap:14px}#t-main>#forge,#t-main>#smith{grid-column:1}#t-main>#smith{order:4}#t-main>#feed{order:5}#t-main>#chat{order:6}.battle-viewport{height:465px}.battle-heading{padding:17px 16px}.battle-heading h3{font-size:21px}.battle-kicker{font-size:8px;letter-spacing:2px}.battle-live{font-size:9px;padding:4px 7px}.battle-boss-label{top:78px}.battle-boss-label b{font-size:11px}.battle-toolbar{padding:10px 12px;gap:8px}.battle-controls{width:100%;justify-content:space-between}.battle-controls button{min-height:36px;font-size:10px;padding:5px 8px}.battle-player{font-size:8px;padding:2px 4px}.battle-player span{font-size:8px}.battle-demo-note{padding:0 12px 10px;font-size:9px}.has-battle3d>.top{padding:14px!important}.has-battle3d .top .stat{font-size:10px;margin-right:8px}.battle-hint{font-size:9px;left:14px}.world-3d .forge #f-img{min-width:90px}.world-3d .forge #f-img .swdwrap{width:65px;height:145px}.world-3d .forge .fx{min-height:160px}}
@media(prefers-reduced-motion:reduce){.battle-player{will-change:auto}.battle-live i{box-shadow:none}}
