/* Compact, painted battle information. Timers and identities remain live HTML. */
.buff-row{left:50%;bottom:163px;top:auto;transform:translateX(-50%);justify-content:center;align-items:center;gap:7px;max-width:min(760px,calc(100vw - 32px));width:max-content;pointer-events:none;z-index:6}
.buff-indicator{--buff-color:#86c9e9;position:relative;isolation:isolate;display:flex;align-items:center;gap:7px;padding:7px 10px 8px 6px;min-height:43px;color:#d6e8f0;background:linear-gradient(130deg,#102a3df0,#061522eb);border:1px solid color-mix(in srgb,var(--buff-color) 40%,#655c3d);box-shadow:0 3px 9px #0007;pointer-events:auto;cursor:help;animation:buff-acquired .35s ease-out both;overflow:hidden}
.buff-indicator:before{content:'';position:absolute;inset:2px;border:1px solid #d3bb7421;pointer-events:none;z-index:-1}.buff-emblem{display:block;flex:none;width:31px;height:31px;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--buff-color) 30%,transparent))}.buff-emblem img{display:block;width:100%;height:100%;object-fit:contain}.buff-copy{display:grid;gap:4px;min-width:0}.buff-copy b{font:500 10px/1.15 var(--serif);color:#e9ddbf;white-space:nowrap;letter-spacing:0}.buff-copy small{font:500 5px/1 var(--sans);letter-spacing:1.3px;color:#87a6b9}.buff-duration{min-width:25px;margin-left:2px;align-self:center;text-align:right;font:600 10px var(--sans);color:var(--buff-color);font-variant-numeric:tabular-nums}.buff-meter{position:absolute;bottom:2px;left:5px;right:5px;height:2px;background:#bfdbea12}.buff-meter i{display:block;height:100%;width:var(--buff-progress);background:var(--buff-color);box-shadow:0 0 5px color-mix(in srgb,var(--buff-color) 60%,transparent);transition:width .2s linear}.buff-indicator.is-expiring .buff-duration{color:#ffcb9b;animation:buff-expiring 1s ease-in-out infinite}.buff-indicator.is-expiring{border-color:color-mix(in srgb,var(--buff-color) 55%,#d7ac63)}.buff-indicator.is-permanent{padding:5px 7px 6px;gap:4px;min-height:41px}.buff-indicator.is-permanent .buff-copy,.buff-indicator.is-permanent .buff-meter{display:none}.buff-indicator.is-permanent .buff-duration{font-size:9px;min-width:13px;margin:0;color:#e9d59b}.buff-indicator:focus-visible{outline:2px solid #ecd59d;outline-offset:4px}
.killfeed{top:310px;right:15px;width:338px;gap:7px;pointer-events:none;max-width:calc(100vw - 24px)}
.killfeed .feed-entry{--feed-color:#8dd0e6;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);align-items:center;gap:6px;min-height:55px;width:100%;padding:8px 13px;background:url('./assets/ui/asa/combat/feed-plaque.png') center/100% 100% no-repeat;border:0;box-shadow:none;animation:combat-feed-enter .28s ease-out both;filter:drop-shadow(0 3px 6px #0008);font-size:10px}
.killfeed .feed-entry:after{content:'';position:absolute;right:12px;top:12px;bottom:12px;width:2px;background:var(--feed-color);opacity:.7;box-shadow:0 0 6px var(--feed-color)}.killfeed .feed-entry[data-side=enemy]{--feed-color:#ee95aa;border:0}.feed-actor{display:flex;align-items:center;gap:6px;min-width:0}.feed-actor b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font:600 9px/1.3 var(--sans);color:#8ed3e9}.feed-actor.is-enemy b{color:#f0a0b1}.feed-victim{justify-content:flex-end}.feed-portrait{position:relative;flex:none;display:grid;place-items:center;width:29px;height:29px;padding:3px;background:url('./assets/ui/asa/portrait.png') center/100% 100% no-repeat;color:#dfc995;filter:drop-shadow(0 1px 2px #0009)}.feed-portrait canvas{width:100%;height:100%;border-radius:50%;display:block;object-fit:cover}.feed-portrait svg{width:16px;height:16px}.feed-victim .feed-portrait:after{content:'';position:absolute;left:13px;top:4px;bottom:4px;width:2px;background:#e795a7b3;transform:rotate(40deg);box-shadow:0 0 2px #0007}.feed-event{position:relative;display:grid;justify-items:center;gap:1px;align-content:center}.feed-event>img{display:block;width:22px;height:22px;object-fit:contain;filter:drop-shadow(0 1px 2px #0008)}.feed-event small{font:500 6px/1.3 var(--sans);letter-spacing:.4px;white-space:nowrap;text-transform:uppercase;color:#c7b88d;text-align:center}.feed-event em{position:absolute;right:-1px;bottom:-1px;font:700 8px var(--sans);font-style:normal;color:#f2d793;text-shadow:0 1px 3px #000}.feed-entry[data-type=first-blood] .feed-event small,.feed-entry[data-type=legendary] .feed-event small{color:#f1d695}.feed-entry[data-type=triple-kill] .feed-event small,.feed-entry[data-type=quadra-kill] .feed-event small{color:#cdb1ef}
@keyframes buff-acquired{from{opacity:0;transform:translateY(5px) scale(.94)}to{opacity:1;transform:none}}@keyframes buff-expiring{50%{opacity:.55}}@keyframes combat-feed-enter{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
@media(max-width:1180px){.killfeed{top:291px;width:304px}.killfeed .feed-entry{grid-template-columns:minmax(0,1fr) 45px minmax(0,1fr);padding:8px 12px;gap:4px;min-height:51px}.feed-actor{gap:5px}.feed-actor b{font-size:9px}.feed-event small{font-size:6px;letter-spacing:0}.feed-portrait{width:27px;height:27px}.feed-victim .feed-portrait:after{left:12px}.buff-row{bottom:157px;max-width:calc(100vw - 32px);gap:6px}.buff-copy b{font-size:9px}.buff-indicator{padding-right:8px;gap:6px}}
@media(max-width:800px){.buff-row{top:auto;bottom:167px;left:50%;max-width:calc(100vw - 24px);gap:5px}.buff-indicator{gap:4px;padding:5px 7px 7px 5px}.buff-copy b{font-size:8px}.buff-copy small{font-size:5px;letter-spacing:1px}.buff-duration{font-size:9px;min-width:22px}.buff-emblem{width:27px;height:27px}.killfeed{top:266px;right:10px;width:285px}.feed-actor b{font-size:8px}.feed-portrait{width:25px;height:25px;padding:3px}.feed-victim .feed-portrait:after{left:11px}.feed-event small{font-size:6px}.feed-event>img{width:20px;height:20px}.killfeed .feed-entry{min-height:48px;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr)}}
@media(max-width:680px){.buff-row{bottom:174px;max-width:calc(100vw - 20px)}.buff-indicator{display:grid;grid-template-columns:28px;gap:2px;justify-items:center;padding:4px 5px 7px;min-height:48px}.buff-copy{display:none}.buff-duration{font-size:9px;min-width:0;margin:0;text-align:center;line-height:1.2}.buff-emblem{width:28px;height:28px}.buff-indicator.is-permanent{display:grid;grid-template-columns:28px;padding:4px 5px 7px;gap:2px;min-height:48px}.buff-indicator.is-permanent .buff-duration{font-size:9px;line-height:1.2}.killfeed{top:247px;width:273px;right:9px}.killfeed .feed-entry{min-height:47px;padding:8px 11px;gap:4px}.feed-actor{gap:4px}.feed-event small{font-size:6px;line-height:1.3}.feed-event em{font-size:7px;right:0}.feed-portrait{width:24px;height:24px;padding:3px}.feed-victim .feed-portrait:after{left:11px}.feed-portrait svg{width:13px;height:13px}.feed-entry:after{top:12px;bottom:12px}}
@media(max-width:480px){.buff-row{bottom:195px;left:50%;gap:5px;max-width:calc(100vw - 20px)}.match-chat{bottom:258px}.killfeed{top:244px;width:255px;right:8px;gap:5px}.killfeed .feed-entry{min-height:45px;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);padding:7px 10px;gap:3px}.feed-actor b{font-size:8px}.feed-actor{gap:3px}.feed-portrait{width:22px;height:22px;padding:2px}.feed-victim .feed-portrait:after{left:10px;top:3px;bottom:3px}.feed-event>img{width:18px;height:18px}.feed-event small{font-size:5px;letter-spacing:0}.killfeed .feed-entry:after{right:8px;top:11px;bottom:11px}.buff-indicator,.buff-indicator.is-permanent{padding:4px 5px 7px}}
@media(max-width:360px){.killfeed{width:236px}.feed-actor b{font-size:7px}.buff-row{gap:4px}.buff-indicator,.buff-indicator.is-permanent{padding:4px 4px 7px}}
@media(max-height:600px) and (min-width:681px){.buff-row{bottom:151px;max-width:600px}.buff-copy{display:none}.buff-indicator{min-height:39px}.buff-emblem{width:25px;height:25px}.killfeed{top:260px;gap:4px}.killfeed .feed-entry{min-height:45px}}
@media(min-width:481px) and (max-width:800px){.hud:has(.buff-row:not(:empty)) .match-chat{bottom:245px}}
@media(max-width:800px){.hud:has(.announcer.visible) .killfeed{top:calc(26% + 116px)}}
@media(max-width:680px){.killfeed .feed-entry:nth-child(n+4){display:none}}
@media(prefers-reduced-motion:reduce){.buff-indicator,.buff-indicator.is-expiring .buff-duration,.killfeed .feed-entry{animation:none}.buff-meter i{transition:none}}
