#battle { user-select: none; min-height: 300px; padding: 0.5rem; display: flex; flex-direction: column; justify-content: space-between; background-size: cover; } #battle__opponent { position: relative; cursor: pointer; flex-grow: 1; } .battle__monster { display: flex; justify-content: space-between; align-items: center; } .battle__monster-info { border: 2px solid #000; background-color: beige; flex-grow: 1; flex-basis: 50%; } .battle__monster-info-box { display: flex; flex-direction: column; padding: 0.25rem; } .battle__monster-info__gender { line-height: 1em; } .battle__monster-info-box__status { display: flex; justify-content: space-between; /* align-items: center; */ } .battle__monster-info__status { /* flex-basis: 5%; */ flex-basis: calc(1rem + 0.25rem); /* text-align: center; */ } .battle__monster-info__status img { width: 1rem; height: 1rem; } .battle__monster-info-exp { display: flex; align-items: center; padding: 0.25rem; background-color: #000; color: yellow; } .exp-label { margin-right: 0.5rem; } .battle__monster-visual { flex-grow: 1; flex-basis: 50%; position: relative; text-align: center; } .battle__monster-sprite { cursor: pointer; transition-property: filter; width: 90px; } .battle__monster-sprite.damaged { filter: brightness(2); } .battle__trainer-visual { position: absolute; top: 0; right: 0; } .battle__trainer-sprite { width: 120px; max-width: 25vw; } .battle__technique-animation { position: fixed; z-index: 10; } .battle__monster-technique { background-color: beige; border: 2px solid #000; padding: 0.25rem; display: inline-flex; align-items: center; cursor: pointer; } .battle__monster--opponent { align-items: flex-start; } .battle__monster--opponent .battle__monster-info-exp, .battle__monster--opponent .battle__monster-technique { display: none; } @media (max-width: 600px) { .battle__monster--has-trainer-sprite .battle__monster-visual { text-align: left; } } .battle__monster--player { flex-direction: row-reverse; align-items: flex-end; } .exp-bar { width: 100%; } .exp-bar__bar-wrap { width: 100%; border: 1px solid rgba(0, 0, 0, 0.5); background-color: lightgray; } .exp-bar__bar { background-color: blue; height: 7px; transition: background-color; width: 0%; } .hp-bar { flex-grow: 1; } .hp-bar__bar-wrap { width: 100%; border: 1px solid rgba(0, 0, 0, 0.5); } .hp-bar__bar { background-color: green; height: 10px; transition: background-color; } .moveset__list { padding: 0 0.5rem; } .moveset__item { font-size: 1.5rem; border: 1px solid #000; padding: 0.5em 0.75em; margin: 0.5em 0; line-height: 1em; cursor: pointer; background-color: rgba(255, 255, 255, 0.5); /* display: flex; */ /* align-items: center; */ } .moveset__item:hover { background-color: rgba(0, 0, 0, 0.1); } .moveset__item[disabled] { filter: grayscale(100%); opacity: 0.5; } .moveset__item[selected] { border-color: var(--color-success); color: var(--color-success); background-color: rgba(255, 255, 255, 0.75); } .moveset__item img { height: 1em; width: 1em; } #techniques { display: grid; grid-template-columns: 1fr 1fr; background: beige; } .techniques__technique { user-select: none; border: 1px solid #000; padding: 0.25rem; cursor: pointer; } .techniques__technique:hover, .techniques__technique:active { background-color: rgba(0, 0, 0, 0.05); } .techniques__technique[disabled] { filter: grayscale(100%); opacity: 0.5; } .techniques__technique > div { display: flex; justify-content: space-between; align-items: center; } .techniques__technique > div + div { margin-top: 0.25rem; } .techniques__technique [data-template-slot="name"] { font-size: 1.5rem; } #log { height: 20vh; background-color: #fff; border: 0.5rem solid rgba(0, 0, 0, 0.75); padding: 0.5rem; line-height: 1.75rem; font-size: 1.25rem; overflow-y: scroll; transition-property: height, border-width, padding; transition-duration: 0.25s; } #log.log--is-hidden { height: 0; border-width: 0; padding: 0; } .action-feedback { position: absolute; z-index: 11; animation: float-up-and-disappear; } .action-feedback.recharge { font-size: 0.75rem; color: rgba(0, 0, 0, 0.25); } @keyframes float-up-and-disappear { from { opacity: 1; } to { top: 0; opacity: 0; font-size: 0; } }