.light { color: #000; background: #dbdbdb; font-family: Arial; } .dark { color: #eee; font-family: Arial; background: #111; } #character-presets { font-size: 24px; } #export-area { max-width: 80%; width: 80%; } body.dark input { color: #eee; background: #444; background-color: rgba(0, 0, 0, 0.3); } body.dark select { color: #eee; background: #444; background-color: rgba(0, 0, 0, 0.3); } body.light button { color: #000; background: #ddd; border-width: 1px; border-color: #000; background-color: rgba(255, 255, 255, 0.3); } body.dark button { color: #eee; background: #111; border-width: 1px; background-color: rgba(0, 0, 0, 0.4); } body.dark div { background-color: transparent; } .game-area { display: flex; margin: auto; } @media (max-aspect-ratio: 1/1){ .game-area { width: 100%; height: 60%; } #stat-container { position: fixed; top: 0%; left: 0%; max-width: 50%; max-height: 50%; } #action-panel { position: fixed; right: 0%; top: 0%; max-width: 50%; max-height: 50%; } #log { position: fixed; left: 0%; bottom: 0%; width: 48%; height: 50%; max-height: 50%; margin-left: 1vw; } #react-log { position: fixed; right: 0%; bottom: 0%; width: 48%; height: 50%; max-height: 50%; margin-right: 1vw; } .growth-part { width: 100px !important; } #growth-part-select { width: 100px !important; } .growth-amount { width: 100px !important; } .action-part-button { width: 33% !important; } .action-button { width: 100px !important; } } @media (min-aspect-ratio: 1/1){ .game-area { width: 90% } #log { float: left; height: 75vh; width: 48%; } #react-log { float: right; height: 75vh; width: 48%; } } #log-area { flex: 5; display:none; } .log { overflow: auto; padding: 25px; box-sizing: border-box; } body.light #react-log { color: #000; background-color: rgba(240, 240, 255, 0.3); } body.light #react-log div { background-color: transparent; } body.dark #react-log { color: #eee; background-color: rgba(0, 0, 0, 0.4); } body.dark #react-log div { background-color: transparent; } body.light #log { color: #000; background-color: rgba(240, 240, 255, 0.3); } body.light #log div { background-color: transparent; } body.dark #log { color: #eee; background-color: rgba(0, 0, 0, 0.4); } body.dark #log div { background-color: transparent; } .stat-header-self { font-weight: bold; font-size: 150%; min-width:250px; } .stat-header { font-weight: bold; font-size: 150%; min-width:130px; } .stat-line { font-weight: normal; font-size: 12pt; } .stat-line-hidden { font-weight: normal; font-size: 12pt; } .stat-line-hidden { display: none; position: relative; } .stat-line-hidden:before { content: attr(data-stat); position: absolute; text-align: center; top: 5px; left: 0; right: 0; } .stat-line-hidden .value { background-color: #0f0; display: inline-block; height: 24px; width: attr(data-percent percentage); } progress { background: blue; } .stat-percent-full { background: #f00; } .sidebar { display: none; flex-wrap: wrap; flex-direction: column; text-align: right; min-width: 250px; flex: 1; padding: 25px; } .preset-selector { height: 25px; } .option-container { margin: auto; } .button-container { flex-wrap: wrap; flex-direction: column; flex: 1; } .stat-container { width: 100%; display: flex; flex-wrap: wrap; flex-direction: row; flex: 1 } .action-part-container { max-height: 1000px; display: flex; flex-wrap: wrap; } #action-panel { display: none; } .option-button { font-size: 20px; width: 120px; height: 75px; } #button-start { width:200px; height:100px; font-size: 32px; } .option-form { font-size: 16px; width: 300px; height: 100px; } .stat-button { font-size: 18px; width: 50%; height: 75px; } .action-button { font-size: 18px; width: 50%; height: 75px; display: none; } body.light .action-button-disabled { color: #777 !important; background-color: rgba(150, 0, 0, 0.25); } body.dark .action-button-disabled { color: #aaa !important; background-color: rgba(150, 0, 0, 0.25); } #victim-table { display: none; margin: auto; width: 80%; } .victim-table-cell { width: 10%; } .reveal-if-active { opacity: 0; max-height: 0; overflow: hidden; } input[type="radio"]:checked ~ .reveal-if-active, input[type="checkbox"]:checked ~ .reveal-if-active { opacity: 1; max-height: 500000px; /* little bit of a magic number :( */ overflow: visible; } .flex-outer { width: 100%; display: flex; flex-direction: row; flex-wrap: wrap; text-align: center; justify-content: center; padding: 0px; } .custom-category { text-align: center; margin: 10px; width: 500px; } .custom-category-sub { text-align: center; margin: 10px; width: 100%; padding: 0px; } body.light .custom-category { background: #ddd; background-color: rgba(255, 255, 255, 0.4); } body.dark .custom-category { background: #222; background-color: rgba(0, 0, 0, 0.4); } body.dark .custom-category div { background: #222; background-color: transparent; } .custom-header-static { user-select: none; font-size: 250%; margin: 10px; display: inline-block; } body.light .custom-header-static { background: #ddd; } body.dark .custom-header-static { background: #555; } .custom-header { user-select: none; font-size: 250%; margin: 10px; display: inline-block; border-style: dotted; border-width: 1px; border-radius: 5px; } .custom-category-sub .custom-header { font-size: 200%; } .custom-category-sub .custom-category-sub .custom-header { font-size: 150%; } body.light .custom-header { color: #aaa; background-color: rgba(255, 255, 255, 0.3); border-width: 1px; padding-left: 10px; padding-right: 10px; border-color: #000; } body.dark .custom-header { color: #555; background-color: rgba(0, 0, 0, 0.3); padding: 5px; padding-left: 10px; padding-right: 10px; } body.light input[type="checkbox"]:checked+ .custom-header { color: #000; border-style: solid; background-color: rgba(230, 230, 230, 0.3); } body.dark input[type="checkbox"]:checked+ .custom-header { color: #fff; border-style: solid; background-color: rgba(0, 0, 0, 0.3); } .custom-header-checkbox { display: none; } .flex-outer li { display: flex; flex-wrap: wrap; align-items: center; text-align: center; width: 500px; margin: 10px auto; } .flex-outer input[type="radio"], .flex-outer input[type="checkbox"] { display: none; } .flex-outer input[type="radio"] + label:not(.custom-header), .flex-outer input[type="checkbox"] + label:not(.custom-header) { user-select: none; flex: 1 0 100%; font-size: 24px; } body.dark .flex-outer input[type="radio"] + label:not(.custom-header), body.dark .flex-outer input[type="checkbox"] + label:not(.custom-header) { color: #888; background: #311; } body.dark .flex-outer input[type="radio"]:checked + label:not(.custom-header), body.dark .flex-outer input[type="checkbox"]:checked + label:not(.custom-header) { color: #fff; background: #131; } body.light .flex-outer input[type="radio"] + label:not(.custom-header), body.light .flex-outer input[type="checkbox"] + label:not(.custom-header) { color: #555; background: #faa; } body.light .flex-outer input[type="radio"]:checked + label:not(.custom-header), body.light .flex-outer input[type="checkbox"]:checked + label:not(.custom-header) { color: #111; background: #afa; } .flex-outer { user-select: none; } .flex-outer label { flex: 0 1 40%; text-align: right; margin-right: 12pt; } .flex-outer label.solo { text-align: center; } .flex-outer label + * { flex: 1 1 20%; } .preview { flex: 1 1 10%; } .flex-outer-sub { padding: 0px; align-items: center; } .flex-outer-sub li { display: flex; flex-wrap: nowrap; align-items: center; margin: 5px auto; width: 90%; } body.light .flex-outer-sub { background: #c8c8c8; } body.light .flex-outer-sub .flex-outer-sub { background: #c0c0c0; } body.dark .flex-outer-sub { background: #181818; } body.dark .flex-outer-sub .flex-outer-sub { background: #202020; } body.light .has-tooltip { position: relative; display: inline-block; border-bottom: 1px dotted #777; } body.dark .has-tooltip { position: relative; display: inline-block; border-bottom: 1px dotted #777; } body.light a { color: #0000FF; text-decoration: none; } body.light a:visited { color: #0000ff; } body.light a:hover { color: #2222EE; } body.dark a { color: #8888FF; text-decoration: none; } body.dark a:visited { color: #8888DD; } body.dark a:hover { color: #AAAAEE; } a:hover { text-shadow: 0px 0px 5px #eeeeff; text-decoration: none; } .character-build { margin: 50px; width: 90%; text-align: center; } #grow-panel { width: 100%; } th { font-weight: normal; } ul { list-style: none; } .action-tab { flex-wrap: wrap; display: none; width: 100%; } .action-part-button { border: 1px; font-size: 30px; width: 50%; height: 70px; display: none; } @media (max-aspect-ratio: 1) { .action-part-button { width: 33%; } } body.light .action-part-button.active { background: #ccc; } body.dark .action-part-button.active { background: #555; } /* SRC: https://stackoverflow.com/questions/29738787/filling-water-animation/29740828 */ .meter { border-radius: 0%; width: 10%; height: 150px; overflow: hidden; backface-visibility: hidden; transform: translate3d(0, 0, 0); display: inline-block; } body.light .meter { background: #ccc !important; } body.dark .meter { background: #222 !important; } .meter .meterLabel { z-index: 1; writing-mode: vertical-lr; text-orientation: upright; background: none; transform: rotate(0deg); font-size: 12px; text-align: center; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); } body.light .meterLabel { color: #000; } body.dark .meterLabel { color: #fff; mix-blend-mode: exclusion; } .meter { display: none } .meter .fill { position: absolute; top: 0; left: 0; background: none; pointer-events: none; } .meter #waveShape { animation-name: waveAction; animation-iteration-count: infinite; animation-timing-function: linear; animation-duration: 0.5s; width:300px; height: 150px; fill: #04ACFF; } .meter#arousalMeter #waveShape { fill: #FF0000; } .meter#orgasmMeter #waveShape { fill: #FFFFFF; } .meter#edgeMeter #waveShape { fill: #FF6600; } .meter#cumMeter #waveShape { fill: #EEEEEE; } .meter#femcumMeter #waveShape { fill: #999999; } .meter#milkMeter #waveShape { fill: #FFFFFF; } .meter#gasMeter #waveShape { fill: #33FF33; } .meter#pissMeter #waveShape { fill: #FFFF33; } .meter#scatMeter #waveShape { animation-duration: 2s; fill: #552222; } @keyframes fillAction { 0% { transform: translate(0, 150px); } 100% { transform: translate(0, -5px); } } @keyframes waveAction { 0% { transform: translate(-150px, 0); } 100% { transform: translate(0, 0); } } /* stolen directly from w3schools lol */ .shaking { animation: shake 1s; animation-iteration-count: infinite; } @keyframes shake { 0% { transform: translate(0px, 0px); } 10% { transform: translate(0px, -2px); } 25% { transform: translate(0px, 0px); } 100% { transform: translate(0px, 0px); } } .growth-box { width: 100%; display: flex; flex-wrap: wrap; flex-direction: column; text-align: left; flex: 0 1 400px; } .growth-box > div > * { margin: 0px; width: 100%; height: 50px; } #growth-box-left { height: 100%; } #growth-part-select { display: block; height: 100px; font-size: 20px; } .growth-part { display: none; } .growth-part-active { background: #555 !important; } .growth-amount { display: block; } .save-version { display: none; } #custom-characters { font-size: 24px; } .intro-text { font-size: 18px; } .log::-webkit-scrollbar { width: 3px; height: 2px; } .log::-webkit-scrollbar-button { width: 0px; height: 0px; } .log::-webkit-scrollbar-thumb { background: #e1e1e1; border: 0px none #ffffff; border-radius: 50px; } .log::-webkit-scrollbar-thumb:hover { background: #ffffff; } .log::-webkit-scrollbar-thumb:active { background: #000000; } .log::-webkit-scrollbar-track { background: #666666; border: 0px none #ffffff; border-radius: 50px; } .log::-webkit-scrollbar-track:hover { background: #666666; } .log::-webkit-scrollbar-track:active { background: #333333; } .log::-webkit-scrollbar-corner { background: transparent; } .custom-label { text-align: center; font-size: 30px; margin: auto; padding-top: 6px; padding-bottom: 6px; user-select: none; } .log { --fade-animation: none; scrollbar-color: #e1e1e1 #888; scrollbar-width: thin; } .log > div { animation: var(--fade-animation); animation-fill-mode: forwards; } @keyframes log-dim { 0% { opacity: 1; } 70% { opacity: 1; } 100% { opacity: 0.6; } } @keyframes log-fade { 0% { opacity: 1; } 70% { opacity: 1; height: auto; } 99% { opacity: 0; height: auto; } 100% { opacity: 0; height: 0; } }