
html
{
    font-family: sans-serif;

    --page-height: 800px;
    --page-width: 1280px;
}

body
{
    margin: 0;
    background-color: #e5e5e5;
    height: var(--page-height);
    width: var(--page-width);
}

.battle-page
{
    display: flex;
    height: var(--page-height);
    width: var(--page-width);
}

.contested-area
{
    position: relative;

    border-color: black;
    border-width: 1px;
    border-top-style: solid;
    border-bottom-style: solid;

    height: 100px;
    display: flex;
}

.contested-area > :first-child
{
    flex-grow: 1;
}

.contested-area .battle-area
{
    height: 100%;
    width: 250px;
    box-sizing: border-box;

    border-left-color: black;
    border-left-width: 1px;
    border-left-style: solid;
}

.contested-area .battle-area .character-battle-area
{
    height: 50%;

    display: flex;
    justify-content: space-between;
}

.contested-area .battle-area .character-battle-area .attack-display,
.contested-area .battle-area .character-battle-area .defense-display
{
    position: relative;
    height: 100%;
    width: 50px;

    border-color: black;
    border-width: 1px;
}


.contested-area .battle-area .character-battle-area:last-child .attack-display,
.contested-area .battle-area .character-battle-area:last-child .defense-display
{
    border-top-style: solid;
}

.contested-area .battle-area .character-battle-area .attack-display:not(:last-child),
.contested-area .battle-area .character-battle-area .defense-display:not(:last-child)
{
    border-right-style: solid;
}

.contested-area .battle-area .character-battle-area .attack-display:not(:first-child),
.contested-area .battle-area .character-battle-area .defense-display:not(:first-child)
{
    border-left-style: solid;
}

.attack-display > img,
.defense-display > img
{
    position: absolute;
    height: 100%;
    width: 100%;
    opacity: 35%;
}

.attack-display > .counter,
.defense-display > .counter
{
    position: absolute;
    height: 100%;
    width: 100%;

    font-size: 200%;

    display: flex;
    justify-content: center;
    align-items: center;
}

.character-area
{
    display: flex;
}

.character-area .dice-tray
{
    width: 850px;
    height: 250px;

    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 3px;
}

.character-area .character-block
{
    border-left-color: black;
    border-left-style: solid;
    border-left-width: 1px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    width: 250px;
    box-sizing: border-box;
}

.character-area .character-block .character-details
{
    position: relative;
    padding: 30px;
}

.character-area .character-block  .character-details .character-name
{
    text-align: center;
    font-size: 200%;
    font-weight: bold;
}

.character-area .character-block  .character-details .character-health
{
    --bar-filled-color: red;
    text-align: center;
}

.character-area .character-block  .character-details .gold-display
{
    position: absolute;
    top: 0;
    right: 0;
}

.character-area .character-block  .character-details .gold-display > img
{
    position: relative;
    width: 20px;
    height: 20px;

    top: 2px;

    opacity: 75%;
}

.character-area .resources-overview
{
    display: flex;
}

.character-area .resources-overview .rolls,
.character-area .resources-overview .pins,
.character-area .resources-overview .energy
{
    position: relative;
    width: 75px;
    height: 75px;
}

.character-area .resources-overview .rolls > img,
.character-area .resources-overview .pins > img,
.character-area .resources-overview .energy > img
{
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 35%;
}

.character-area .resources-overview .rolls > .counter,
.character-area .resources-overview .pins > .counter,
.character-area .resources-overview .energy > .counter
{
    position: absolute;
    height: 100%;
    width: 100%;

    font-size: 300%;

    display: flex;
    justify-content: center;
    align-items: center;
}

.reset-indicator
{
    position: absolute;
    top: 2px;
    right: 15px;
    font-size: 40%;
}

button
{
    padding: 5px;
    margin: 10px;
}

button.die-action
{
    margin: 0;
}

button > img
{
    width: 40px;
    height: 40px;
    box-sizing: border-box;
}

.game-area
{
    display: inline-block;
}

.detail-pane
{
    padding: 20px;
    width: 65px;
    height: 562px;
    display: inline-block;

    border-right-color: black;
    border-right-style: solid;
    border-right-width: 1px;

    display: flex;
    flex-direction: column;
}

.detail-pane > :nth-child(2)
{
    flex-grow: 1;
}

.detail-pane .die-faces
{
    display: flex;
    flex-direction: column;
}

.detail-pane .die-faces .die
{
    margin: 5px;
}

.end-page,
.battle-won-page,
.shop-page,
.die-face-replace-page,
.event-page,
.menu-page
{
    height: var(--page-height);
    width: var(--page-width);

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}

.end-page .end-message,
.battle-won-page .battle-won-message,
.event-page .event-message
.menu-page div
{
    font-size: 250%;
    max-width: 800px;
}

.menu-page h1
{
    font-size: 400%;
    font-weight: bold;
    margin: 5px;
}

.menu-page .credits
{
    font-size: 200%;
    margin-bottom: 30px;
}

.menu-page .game-jam-notice
{
    margin-bottom: 30px;
}

.menu-page .attribution
{
    position: absolute;
    bottom: 0px;
    right: 0px;
}

.end-page button,
.battle-won-page button,
.shop-page button,
.die-face-replace-page button,
.event-page button,
.menu-page button
{
    font-size: 250%;
    padding: 10px 25px;
    margin: 15px;
}

.battle-won-page .battle-won-message .gold-display
{
    font-weight: bold;
}

.battle-won-page .battle-won-message .gold-display > img
{
    position: relative;
    top: 5px;
    left: -7px;

    width: 40px;
    height: 40px;
}

.tutorial-button
{
    position: relative;
    width: 60px;
    height: 60px;
}

.tutorial-button img
{
    width: 100%;
    height: 100%;
}

.tutorial-overlay
{
    position: absolute;
    top: 0;
    left: 0;
}

.abilities-area
{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 15px;
    padding: 15px;
}
