/* Source binding sizes/colors are projected by vitals-ui.js. WEB_POLICY vitals.css
   owns compact web mount/fitting; these rules add no numerical game state. */
.player-vitals{position:fixed;left:var(--vitals-host-left);top:var(--vitals-host-top);max-width:var(--vitals-host-max-width);width:var(--vitals-host-mobile-width);z-index:4;pointer-events:none;user-select:none}
/* WEB_POLICY vitals.css: compact icon/arrow fitting and text shadow. */
.vitals-gauges{display:flex;flex-direction:column;padding-left:var(--vitals-host-padding-left);padding-right:var(--vitals-host-padding-right)}
.vitals-row{position:relative;width:min(100%,var(--vitals-width));height:var(--vitals-height);font-size:var(--vitals-font-size);line-height:var(--vitals-height);isolation:isolate}
.vitals-background,.vitals-current,.vitals-maximum{position:absolute;left:0;width:100%;mask-image:var(--vitals-art);mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:var(--vitals-art);-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}
.vitals-maximum{z-index:1}.vitals-current{z-index:2}.vitals-icon{position:absolute;right:calc(100% + var(--vitals-host-icon-gap));top:50%;transform:translateY(-50%)}
.vitals-label{position:absolute;inset:0;z-index:3;white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums;text-shadow:var(--vitals-host-label-shadow)}
.vitals-arrows{position:absolute;left:calc(100% + var(--vitals-host-arrow-offset));top:0;height:100%;display:flex;gap:var(--vitals-host-arrow-gap)}.vitals-arrow{display:block;mask:url('assets/native-vitals/bg_rc_triangle.webp') center/100% 100% no-repeat}
.vitals-arrows[data-direction=down]{transform:rotate(180deg)}
.player-vitals[data-mode=pc] .vitals-gauges{padding-left:var(--vitals-host-pc-padding-left)}.player-vitals[data-mode=pc] .vitals-icon{display:none}
.player-vitals [hidden]{display:none!important}.vitals-warning-modal{pointer-events:auto;text-shadow:none}.vitals-warning-popup{pointer-events:auto}
/* WEB_POLICY vitals.warningMotion: alternate CSS approximation of UIVibrator;
   amplitude/period/duration themselves come from original39245, not a blink. */
.vitals-row[data-energy-warning=true][data-warning-motion=css-alternate-source-vibration]{animation:vitals-energy-warning var(--vitals-vibration-period) linear var(--vitals-vibration-count) alternate}
@keyframes vitals-energy-warning{from{transform:translateX(calc(-1 * var(--vitals-vibration-amplitude)))}to{transform:translateX(var(--vitals-vibration-amplitude))}}
@media(prefers-reduced-motion:reduce){.vitals-row[data-energy-warning=true]{animation:none}}
