.characterStatus { height: 7.5em; width: 27.25em; position: relative; box-sizing: content-box; } .characterStatus.minion { margin-left: 6.8125em; font-size: 0.80em; } .characterHeader { position: absolute; left: 10.25em; bottom: 2.75em; z-index: 4; } .characterLevel { display: inline; color: white; -webkit-text-stroke: 0.05em rgba(0, 0, 0, 0.2); text-shadow: 0 0 0.1em black; margin-right: 0.2em; user-select: none; } .characterLevelLabel { font-size: 0.65em; font-variant: small-caps; user-select: none; } .characterName { display: inline; color: white; font-family: sans-serif; font-weight: bold; font-size: 1.5em; text-align: left; -webkit-text-stroke: 0.0333em rgba(0, 0, 0, 0.5); text-shadow: 0.0333em 0.0333em 0.0667em rgba(0, 0, 0, 0.5); user-select: none; } .characterHpBar, .characterMpBar, .characterIpBar { box-shadow: 0.1em 0.1em 0.1em rgba(0, 0, 0, 0.5); border: 0.1em solid black; transform: skewX(-30deg) translateX(0.75em); border-radius: 0.25em; position: absolute; width: calc(100% - 1.5em); margin: 0.1em 0.1em 0.4em 0.25em; bottom: 0; box-sizing: content-box; } .characterHpValue, .characterMpValue, .characterIpValue, .characterHealthText { color: white; font-family: sans-serif; font-weight: bold; font-style: italic; text-align: right; position: absolute; bottom: 0; pointer-events: none; user-select: none; } .characterHp { position: absolute; height: 3em; left: 7.85em; right: 0; bottom: 1.4em; overflow: visible; z-index: 1; box-sizing: content-box; } .characterHpBar { height: 1.25em; } .characterHpValue { font-size: 3em; right: 0.0833em; -webkit-text-stroke: 0.01667em black; text-shadow: 0.0333em 0.0333em rgba(0, 0, 0, 0.5); transition: color 0.3s ease-in; } .characterHealthText { font-size: 1.5em; right: 0.1667em; bottom: 0.5em; transition: color 0.3s ease-in; } .characterMp, .characterIp { position: absolute; bottom: 0; height: 2em; box-sizing: content-box; } .characterMp { left: 7em; right: 7.75em; z-index: 3; } .characterIp { width: 7.5em; right: 1em; z-index: 2; } .characterMpBar, .characterIpBar { height: 1em; } .characterMpValue, .characterIpValue { font-size: 2em; -webkit-text-stroke: 0.025em black; text-shadow: 0.05em 0.05em rgba(0, 0, 0, 0.5); right: 0.25em; } .characterPortrait { position: absolute; top: 0.5em; bottom: 0.75em; left: 4.5em; width: 6.25em; background-repeat: no-repeat; background-position: center; background-size: cover; background-blend-mode: soft-light; z-index: 0; } .characterZeroGauge { position: absolute; top: 0.25em; bottom: 0.5em; left: 2.5em; width: 3.75em; } .characterZeroBar, .characterZeroBarBack, .characterZeroBarPulse{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; background-repeat: no-repeat; background-position: left bottom; background-size: auto 6.75em; z-index: 0; } .characterZeroBarBack { background-image: url("./zero-bar-empty.svg"); } .characterZeroBar { background-image: url("./zero-bar.svg"); } @keyframes zeroBarPulse { from { opacity: 75%; transform: scaleX(100%) scaleY(100%) translateX(1%); } 50% { opacity: 60%; transform: scaleX(120%) scaleY(110%) translateX(-3%); } to { opacity: 0; transform: scaleX(150%) scaleY(120%) translateX(-6%); } } .characterZeroBarPulse { background-image: url("./zero-bar-full-pulse.svg"); transform-origin: 10% 50%; opacity: 0; pointer-events: none; transition: opacity 0.5s; } .characterZeroBarPulse.active { animation: 0.75s ease-out infinite zeroBarPulse; pointer-events: none; } .characterKOBar { position: absolute; top: 1.592em; bottom: 2.518em; left: 3.333em; width: 4.629em; background-color: black; z-index: 0; transform: rotate(-20deg); text-align: center; font-size: 1.35em; line-height: 1.5; font-weight: bold; color: white; user-select: none; border-radius: 0.555em 0; } .characterTurns { position: absolute; top: 0.125em; left: 0.125em; width: 1em; height: 1em; font-size: 2em; font-weight: bold; -webkit-text-stroke: 0.05em black; text-shadow: 0.05em 0.05em 0.05em black; line-height: 1; text-align: center; box-sizing: border-box; border: 0.05em solid black; border-radius: 0.225em 0; color: white; transition: background-color 0.3s; user-select: none; } .characterTurnsNone { display: none; } .characterTurnsReady { background-color: deepskyblue; } .characterTurnsDone { background-color: mediumblue; } .characterTurnsDowned { background-color: #333; } .characterTurnsCantAct { background-color: #666; } .characterTurnsActive { background-color: mediumspringgreen; } .characterTurnsHighTurns { background-color: paleturquoise; } .characterSp, .characterBp { position: absolute; color: white; line-height: 1.333; -webkit-text-stroke: 0.06667em black; text-shadow: 0.06667em 0.06667em 0.06667em black; font-size: 1.5em; letter-spacing: -0.1em; text-align: center; font-weight: bold; user-select: none; left: 0.16667em; width: 1.3333em; height: 1.3333em; opacity: 50%; transition: opacity 0.3s ease-out; } .characterBp { top: 3.16667em; background: url("blood-points.svg") } .characterSp { top: 1.6667em; } .characterSpFabula { background: url("fabula-points.svg"); } .characterSpUltima { background: url("ultima-points.svg"); } .characterSp:hover, .characterBp:hover { opacity: 100%; } .characterStatuses { position: absolute; top: 0.25em; right: 0.25em; left: 11.25em; display: flex; flex-direction: row; flex-wrap: nowrap; overflow-x: auto; } .characterStatusIcon { position: relative; flex: 0 0 1.8em; width: 1.8em; height: 2.4em; background-size: contain; background-repeat: no-repeat; margin-left: 0.25em; overflow: visible; } .characterStatusIconCountBadge { display: block; color: white; text-shadow: 0.08em 0.08em 0 black; -webkit-text-stroke: 0.04em black; font-size: 1.25em; letter-spacing: -0.15em; text-align: center; font-weight: bold; position: absolute; top: 0; right: 0; user-select: none; pointer-events: none; } .characterStatusName, .characterHelpName { font-weight: bold; } .characterStatusCount, .characterHelpValue { margin-left: 0.3125em; font-style: italic; font-size: 0.8rem; } .characterStatusHeader, .characterHelpHeader { text-align: left; } .characterStatusDescription, .characterHelpDescription { text-align: left; font-size: 0.8em; } .characterStatusCount::before, .characterHelpValue::before { content: "(" } .characterStatusCount::after, .characterHelpValue::after { content: ")" }