/* Painted elemental medallions: type and rarity are independent. */
.element-badge{display:inline-block;flex:none;width:var(--badge-size,26px);height:var(--badge-size,26px);background:url('/assets/art/elements-018.webp') var(--element-x) var(--element-y)/400% 200% no-repeat;vertical-align:middle;filter:drop-shadow(0 1px 2px #0009);border:0;border-radius:50%;pointer-events:none}
.element-badges{display:inline-flex;align-items:center;gap:2px}.item-art>.element-badge{position:absolute;right:-1px;bottom:-1px;z-index:2;--badge-size:24px}.backpack-grid .item-art>.element-badge{--badge-size:21px}.item-popup .item-art>.element-badge{--badge-size:26px}
.enemy-portrait{position:relative;overflow:visible}.portrait-types{position:absolute;right:-2px;bottom:-3px;z-index:2;--badge-size:22px;gap:0;line-height:0}.initiative .portrait-types,.chooser-owner .portrait-types{display:none}
.game-focus.battle-layout .compact-card .figure-art{width:min(100%,84px)}
.game-focus.battle-layout .compact-card.active{border-width:1px;outline:1px solid #f4cf7f;outline-offset:-2px}
.game-focus.battle-layout .compact-card .portrait{width:100%!important;height:auto!important;aspect-ratio:1;max-width:84px;border-radius:10px;margin-bottom:3px}
.game-focus.battle-layout:has(.action-preview) .compact-card .figure-art{width:min(100%,60px)}
.battle-layout .summon-place{width:100%;height:100%;min-height:100px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:2px dashed #b4d994;background:radial-gradient(ellipse,#577c3d66,#14241cbb);color:#e4f4d6;cursor:pointer;animation:summon-place-glow 1.7s ease-in-out infinite}
.summon-place small{font-size:10px}.summon-place .action-art{width:42px;height:42px}.summon-place:focus-visible{outline:3px solid #ffe2a0;outline-offset:-4px}
@keyframes summon-place-glow{50%{box-shadow:inset 0 0 18px #afdc6d44,0 0 9px #b4d99455;border-color:#e7ffc9}}
@media(prefers-reduced-motion:reduce){.battle-layout .summon-place{animation:none}}
.reduce-motion .battle-layout .summon-place{animation:none}
.figure-info-popup{width:min(440px,100%)}.figure-info-popup>header{align-items:flex-start;margin-bottom:5px}.figure-info-popup header button{position:sticky;top:0;align-self:flex-start;border-radius:8px;background:#15241be8;z-index:3}
.figure-illustration{display:flex;flex-direction:column;align-items:center;gap:10px;margin:8px 0 14px}.figure-illustration>.portrait{width:min(184px,30dvh);height:min(184px,30dvh);margin:0;border:2px solid #ae8e51;border-radius:15px;box-shadow:0 5px 20px #0007}.figure-illustration .portrait-types{--badge-size:36px;bottom:-5px;right:-5px;gap:2px}.figure-type-names{font-size:12px;letter-spacing:.07em;color:#e5d3ab}.figure-info-line>.figure-element{background:transparent;border:0;--badge-size:32px}.figure-attack{display:flex;align-items:center;gap:6px;font-size:12px;color:#c8c8b3;margin:8px 0}.figure-attack .element-badge{--badge-size:24px}
.quest-illustration{position:relative;isolation:isolate}.quest-illustration .quest-picture{margin:0}.quest-illustration:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#10180ceb);pointer-events:none;z-index:0}.quest-level{position:absolute;top:9px;right:9px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 10px;background:linear-gradient(135deg,#ecd39b,#c59a53);color:#342413;border:1px solid #ffe1a3;border-radius:5px;box-shadow:0 2px 7px #0008;font:700 18px/1.15 Georgia;z-index:1}.quest-level small{font:700 8px/1.3 system-ui;letter-spacing:.08em}.quest-enemy-types{position:absolute;left:10px;bottom:8px;z-index:1;display:flex;align-items:flex-end;gap:10px}.quest-type{display:flex;align-items:center;gap:4px;color:#f6e7cb;font:600 11px/1.1 system-ui;text-shadow:0 1px 4px #000}.quest-type .element-badge{--badge-size:31px}.quest-body .quest-goal{margin-bottom:13px}
.quest-paper>.wax-seal{display:none}.quest-paper .quest-level small{color:#513611;font-size:9px}
@media(max-width:359px){.quest-enemy-types{gap:6px}.quest-type{font-size:10px}.quest-type .element-badge{--badge-size:27px}.figure-illustration>.portrait{width:min(156px,28dvh);height:min(156px,28dvh)}}
