/* @import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro&display=swap'); */

:root {
    --fp-primary: #0F0;
    --fp-primary-dim: #0A0;
    --fp-primary-dimmer: #050;
    --fp-background: #000;
    --fp-secondary: #0FF;
    --fp-secondary-dim: #0AA;
    --fp-secondary-dimmer: #055;
    --fp-visited: #F0F;
    --fp-visited-dim: #A0A;
    --fp-visited-dimmer: #505;
    --fp-danger: #F00;
    --fp-danger-dim: #A00;
    --fp-danger-dimmer: #500;
    --fp-code: #111;
    --fp-button: #222;
    --fp-button-dim: #111;
    --fp-white: #FFF;
    --yellow: #FF0;
    --cyan: #0FF;
    --pink: #F0F;
    --gray: #999;
    --red: #F00;
    --green: #0F0;
}

@font-face {
    font-family: 'Source Code Pro';
    src: url('/fonts/SourceCodePro.ttf');
}

* {
    color-scheme: light dark;
    font-family: 'Source Code Pro', monospace !important;
    color: var(--fp-primary);
    margin: 0;
    padding: 0;
}

html, body {
    height: 100%;
    width: 100%;
    font-family: 'Source Code Pro', monospace !important;
}

card, button, table tr, a, .switch-container {
  position: relative;
}

html {
    background-color: var(--fp-background);
}

h1 {
    font-size: 64px;
    line-height: 128px;
}

h2 {
    font-size: 48px;
    line-height: 96px;
}

h3 {
    font-size: 32px;
    line-height: 64px;
}

h4 {
    font-size: 24px;
    line-height: 48px;
}

h5 {
    font-size: 20px;
    line-height: 40px;
}

h6 {
    font-size: 16px;
    line-height: 32px;
}

.warning {
    color: var(--fp-danger);
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.block {
    width: 100%;
}

footer {
    margin-top: auto;
    text-align: center;
}

a:has(button) {
    box-shadow: none !important;
    transform: none !important;
}

a {
    text-decoration: none;
    border: none;
    border-radius: 2px;
    padding: 2px 4px;
    margin-top: 6px !important;
    margin-bottom: 2px !important;
    background: var(--fp-button);
    color: var(--fp-secondary);
    display: inline-block;
}

a:hover, a:focus-visible {
    outline: 1px solid var(--fp-secondary);
    transform: translateX(4px) translateY(-4px);
    box-shadow: -4px 4px 0 0 var(--fp-button-dim), -4px 4px 0 1px var(--fp-secondary-dimmer);
}

a:active {
    outline: 1px solid var(--fp-secondary);
    transform: translateX(2px) translateY(-2px);
    box-shadow: -2px 2px 0 0 var(--fp-button-dim), -2px 2px 0 1px var(--fp-secondary-dimmer);
}

a:visited {
    color: var(--fp-visited);
}

a:hover:visited, a:focus-visible:visited, a:active:visited {
    outline: 1px solid var(--fp-visited);
}

button:disabled, button:hover:disabled, button:focus-visible:disabled, button:active:disabled {
    cursor: not-allowed;
    transform: none;
    background: var(--fp-secondary-dim);
    color: var(--fp-button-dim);
    outline: 1px solid var(--fp-danger-dim);
    box-shadow: none;
}

button {
    font-size: 16px;
    line-height: 24px;
    cursor: pointer;
    border: none;
    border-radius: 2px;
    padding: 4px 16px;
    margin-top: 6px !important;
    margin-bottom: 2px !important;
    background: var(--fp-secondary);
    color: var(--fp-button);
    outline: 1px solid var(--fp-dim);
}

button:hover, button:focus-visible {
    outline: 1px solid var(--fp-danger);
    transform: translateX(4px) translateY(-4px);
    box-shadow: -4px 4px 0 0 var(--fp-secondary-dimmer), -4px 4px 0 1px var(--fp-danger-dimmer);
}

button:active {
    outline: 1px solid var(--fp-danger);
    transform: translateX(2px) translateY(-2px);
    box-shadow: -2px 2px 0 0 var(--fp-secondary-dimmer), -2px 2px 0 1px var(--fp-danger-dimmer);
}

#replit-badge {
    box-shadow: none;
    transform: none;
    outline: none;
    background: var(--fp-background);
}

.center {
    display: block;
    margin: 0 auto;
    text-align: center;
}

.card {
    display: flex;
    gap: 2px;
    padding: 2px;
    flex-direction: row;
    border: 1px solid var(--fp-primary);
    width: 518px;
    word-wrap: break-word;
}

.card-text {
    line-height:1.5em;
    border: 1px solid var(--fp-primary);
    width: 256px;
    word-wrap: break-word;
    text-align: left;
}

.card-notice {
    line-height:1.5em;
    padding: 2px;
    border: 1px solid var(--fp-primary);
    word-wrap: break-word;
    text-align: left;
}

.card-img {
    border: 1px solid var(--fp-primary);
    width: 256px;
    aspect-ratio: 1 / 1;
    height: 256px;
}

.card-line {
    margin: 2px;
}

.card-sep {
    margin: 8px 0px;
    background-color:red;
}

.card-name {
    color: var(--cyan);
}

.card-pronouns {
    color: var(--pink);
}

.card-type {
    color: var(--cyan);
}

.card-gender {
    color: var(--yellow);
}

.card-attraction {
    color: var(--pink);
}

.card-credit {
    color: var(--cyan);
}

.card-true {
    color: var(--pink);
}

.card-false {
    color: var(--red);
}

.card-unknown {
    color: var(--yellow);
}

.fixed-half-width {
    min-width: 256px;
    max-width: 256px;
    word-wrap: break-word;
}

.fixed-full-width {
    min-width: 512px;
    max-width: 512px;
    word-wrap: break-word;
}

.real-half-width {
    min-width: 50vw;
    max-width: 50vw;
    word-wrap: break-word;
}

.real-full-width {
    min-width: 100vw;
    max-width: 100vw;
    word-wrap: break-word;
}

hr {
    display: block;
    height: 1px;
    background-color: var(--fp-primary);
    border: none;
}

.outline {
    border: 1px solid var(--fp-primary);
}

label input {
    display: inline;
}

.inline {
    display: inline;
}

.left {
    text-align: left;
}

.right {
    text-align: right;
}

.rainbow {
    background: linear-gradient(to right, var(--red) 0%, var(--pink) 10%, var(--cyan) 30%, var(--green) 50%, var(--red) 90%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}

.color {
    color: var(--fp-primary);
}

/*
.force-color {
    background: var(--fp-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}
*/

.no-special {
    box-shadow: none !important;
    border-radius: unset !important;
    outline: none !important;
    transition: none !important;
}

pre {
    background: var(--fp-code);
    width: 100%;
    max-width: 100%;
    min-width: 100%;
}

code {
    overflow-x: auto;
    display: block;
    margin: 0ch 1ch;
}

.eruda-search-highlight-block .eruda-keyword {
    background: #ffe !important;
    color: #550 !important;
}

.yellow {
    color: var(--yellow);
}

.cyan {
    color: var(--cyan);
}

.pink {
    color: var(--pink);
}

.gray {
    color: var(--gray);
}

.red {
    color: var(--red);
}

