:root {
    color-scheme: dark;
    --bg: #000;
    --fg: #ffffff;
    --fg-dim: rgba(255, 255, 255, 0.7);
    --green: #00ff66;
    --red: #ff3b30;
    --yellow: #ffd60a;
    --purple: #bf5af2;
    --status: #9aa0a6;
    --border: rgba(255, 255, 255, 0.18);
    --pad: 14px;
    --font:
        ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
        "Liberation Mono", "Courier New", monospace;
}

* {
    box-sizing: border-box;
}

html,
body {
    height: 100%;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--fg);
    font-family: var(--font);
}

#terminal {
    min-height: 100vh;
    padding: var(--pad);
    padding-bottom: calc(var(--pad) + env(safe-area-inset-bottom, 0px));
}

#output {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    line-height: 1.35;
}

.line {
    padding: 2px 0;
}

.dim {
    color: inherit;
}

.status {
    color: inherit;
}

.card {
    color: inherit;
}

.optionKey {
    color: inherit;
}

body[data-colored-text="on"] .dim {
    color: var(--fg-dim);
}

body[data-colored-text="on"] .status {
    color: var(--status);
}

body[data-colored-text="on"] .optionKey {
    color: var(--green);
}

body[data-colored-text="on"] .card.weapon,
body[data-colored-text="on"] .card.potion {
    color: var(--red);
}

body[data-colored-text="on"] .card.toolkit {
    color: var(--yellow);
}

body[data-colored-text="on"] .card.poison {
    color: var(--purple);
}

body[data-colored-text="on"] .card.enemy {
    color: var(--fg);
}

.optionBtn {
    display: block;
    width: 100%;
    text-align: left;
    background: transparent;
    color: var(--fg);
    border: none;
    padding: 2px 0;
    font: inherit;
    cursor: pointer;
}

.optionBtn:hover {
    text-decoration: underline;
}

.optionBtn.disabled {
    color: inherit;
    cursor: default;
    text-decoration: none;
}

body[data-colored-text="on"] .optionBtn.disabled {
    color: var(--fg-dim);
}

body[data-colored-text="on"] .optionBtn.disabled .optionKey {
    color: var(--fg-dim);
}

.srOnly {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
