.characterStatus { height: 150px; width: 545px; position: relative; box-sizing: content-box; } .characterHeader { position: absolute; left: 205px; bottom: 55px; z-index: 4; } .characterLevel { display: inline; color: white; -webkit-text-stroke: 1px rgba(0, 0, 0, 0.2); text-shadow: 0 0 2px black; margin-right: 0.25em; user-select: none; } .characterLevelLabel { font-size: smaller; font-variant: small-caps; user-select: none; } .characterName { display: inline; color: white; font-family: sans-serif; font-weight: bold; font-size: 30px; text-align: left; -webkit-text-stroke: 1px rgba(0, 0, 0, 0.5); text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); user-select: none; } .characterHpBar, .characterMpBar, .characterIpBar { box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5); border: 2px solid black; transform: skewX(-30deg) translateX(15px); border-radius: 5px; position: absolute; width: calc(100% - 30px); margin: 2px 2px 8px 5px; 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; -webkit-text-stroke: 1px black; text-shadow: 2px 2px rgba(0, 0, 0, 0.5); position: absolute; bottom: 0; pointer-events: none; user-select: none; } .characterHp { position: absolute; height: 60px; left: 157px; right: 0; bottom: 28px; overflow: visible; z-index: 1; box-sizing: content-box; } .characterHpBar { height: 25px; } .characterHpValue, .characterHealthText { right: 5px; transition: color 0.3s ease-in; } .characterHpValue { font-size: 60px; } .characterHealthText { font-size: 30px; right: 5px; bottom: 15px; transition: color 0.3s ease-in; } .characterMp, .characterIp { position: absolute; bottom: 0; height: 40px; box-sizing: content-box; } .characterMp { left: 140px; right: 155px; z-index: 3; } .characterIp { width: 150px; right: 20px; z-index: 2; } .characterMpBar, .characterIpBar { height: 20px; } .characterMpValue, .characterIpValue { font-size: 40px; right: 10px; } .characterPortrait { position: absolute; top: 10px; bottom: 15px; left: 90px; width: 125px; background-repeat: no-repeat; background-position: center; background-size: cover; background-blend-mode: soft-light; z-index: 0; } .characterZeroGauge { position: absolute; top: 5px; bottom: 10px; left: 50px; width: 65px; } .characterZeroBar, .characterZeroBarBack, .characterZeroBarPulse{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; background-repeat: no-repeat; background-position: left bottom; background-size: auto 135px; z-index: 0; } .characterZeroBarBack { background-image: url("./zero-bar-empty.svg"); } .characterZeroBar { background-image: url("./zero-bar.svg"); } @keyframes zeroBarPulse { from { opacity: 0; } 50% { opacity: 80%; 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: 1s ease-out infinite zeroBarPulse; pointer-events: none; } .characterKOBar { position: absolute; top: 43px; bottom: 68px; left: 90px; width: 125px; background-color: black; z-index: 0; transform: rotate(-20deg); text-align: center; font-size: 27px; line-height: 42px; font-weight: bold; color: white; user-select: none; border-radius: 15px 0; } .characterTurns { position: absolute; top: 5px; left: 5px; width: 40px; height: 40px; font-size: 40px; font-weight: bold; -webkit-text-stroke: 2px black; text-shadow: 2px 2px 2px black; line-height: 40px; text-align: center; box-sizing: border-box; border: 2px solid black; border-radius: 9px 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 { position: absolute; color: white; line-height: 40px; -webkit-text-stroke: 2px black; text-shadow: 2px 2px 2px black; font-size: 30px; letter-spacing: -3px; text-align: center; font-weight: bold; top: 50px; left: 5px; width: 40px; height: 40px; user-select: none; } .characterSpFabula { background: url("fabula-points.svg"); } .characterSpUltima { background: url("ultima-points.svg"); } .characterBp { position: absolute; color: white; line-height: 40px; -webkit-text-stroke: 2px black; text-shadow: 2px 2px 2px black; font-size: 30px; letter-spacing: -3px; text-align: center; font-weight: bold; top: 95px; left: 5px; width: 40px; height: 40px; user-select: none; background: url("blood-points.svg") } .characterSp, .characterBp { opacity: 50%; transition: opacity 0.3s ease-out; } .characterSp:hover, .characterBp:hover { opacity: 100%; } .characterStatuses { position: absolute; top: 5px; right: 5px; left: 225px; display: flex; flex-direction: row; flex-wrap: nowrap; overflow-x: auto; } .characterStatusIcon { position: relative; flex: 0 0 36px; width: 36px; height: 48px; background-size: contain; background-repeat: no-repeat; margin-left: 5px; overflow: visible; } .characterStatusIconCountBadge { display: block; color: white; text-shadow: 2px 2px 0 black; -webkit-text-stroke: 1px black; font-size: 25px; letter-spacing: -3px; 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: 5px; font-style: italic; font-size: smaller; } .characterStatusHeader, .characterHelpHeader { text-align: left; } .characterStatusDescription, .characterHelpDescription { text-align: left; font-size: smaller; } .characterStatusCount::before, .characterHelpValue::before { content: "(" } .characterStatusCount::after, .characterHelpValue::after { content: ")" }