big steppy
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 

760 строки
11 KiB

  1. .light {
  2. color: #000;
  3. background: #dbdbdb;
  4. font-family: Arial;
  5. }
  6. .dark {
  7. color: #eee;
  8. font-family: Arial;
  9. background: #111;
  10. }
  11. #character-presets {
  12. font-size: 24px;
  13. }
  14. #export-area {
  15. max-width: 80%;
  16. width: 80%;
  17. }
  18. body.dark input {
  19. color: #eee;
  20. background: #444;
  21. background-color: rgba(0, 0, 0, 0.3);
  22. }
  23. body.dark select {
  24. color: #eee;
  25. background: #444;
  26. background-color: rgba(0, 0, 0, 0.3);
  27. }
  28. body.light button {
  29. color: #000;
  30. background: #ddd;
  31. border-width: 1px;
  32. border-color: #000;
  33. background-color: rgba(255, 255, 255, 0.3);
  34. }
  35. body.dark button {
  36. color: #eee;
  37. background: #111;
  38. border-width: 1px;
  39. background-color: rgba(0, 0, 0, 0.4);
  40. }
  41. body.dark div {
  42. background-color: transparent;
  43. }
  44. .game-area {
  45. display: flex;
  46. margin: auto;
  47. }
  48. @media (max-aspect-ratio: 16/9){
  49. .game-area {
  50. width: 100%
  51. height: 60%;
  52. }
  53. #log {
  54. height: 80vh;
  55. max-height: 50vh;
  56. margin: 0 0 1vh 0;
  57. }
  58. #react-log {
  59. margin: 1vh 0 0 0;
  60. height: 40vh;
  61. }
  62. }
  63. @media (min-aspect-ratio: 16/10){
  64. .game-area {
  65. width: 90%
  66. }
  67. #log {
  68. float: left;
  69. height: 75vh;
  70. width: 48%;
  71. }
  72. #react-log {
  73. float: right;
  74. height: 75vh;
  75. width: 48%;
  76. }
  77. }
  78. #log-area {
  79. flex: 5;
  80. display:none;
  81. }
  82. .log {
  83. overflow: auto;
  84. padding: 25px;
  85. box-sizing: border-box;
  86. }
  87. body.light #react-log {
  88. color: #000;
  89. background-color: rgba(240, 240, 255, 0.3);
  90. }
  91. body.light #react-log div {
  92. background-color: transparent;
  93. }
  94. body.dark #react-log {
  95. color: #eee;
  96. background-color: rgba(0, 0, 0, 0.4);
  97. }
  98. body.dark #react-log div {
  99. background-color: transparent;
  100. }
  101. body.light #log {
  102. color: #000;
  103. background-color: rgba(240, 240, 255, 0.3);
  104. }
  105. body.light #log div {
  106. background-color: transparent;
  107. }
  108. body.dark #log {
  109. color: #eee;
  110. background-color: rgba(0, 0, 0, 0.4);
  111. }
  112. body.dark #log div {
  113. background-color: transparent;
  114. }
  115. .stat-header-self {
  116. font-weight: bold;
  117. font-size: 150%;
  118. min-width:250px;
  119. }
  120. .stat-header {
  121. font-weight: bold;
  122. font-size: 150%;
  123. min-width:130px;
  124. }
  125. .stat-line {
  126. font-weight: normal;
  127. font-size: 12pt;
  128. }
  129. .stat-line-hidden {
  130. font-weight: normal;
  131. font-size: 12pt;
  132. }
  133. .stat-line-hidden {
  134. display: none;
  135. position: relative;
  136. }
  137. .stat-line-hidden:before {
  138. content: attr(data-stat);
  139. position: absolute;
  140. text-align: center;
  141. top: 5px;
  142. left: 0;
  143. right: 0;
  144. }
  145. .stat-line-hidden .value {
  146. background-color: #0f0;
  147. display: inline-block;
  148. height: 24px;
  149. width: attr(data-percent percentage);
  150. }
  151. progress {
  152. background: blue;
  153. }
  154. .stat-percent-full {
  155. background: #f00;
  156. }
  157. .sidebar {
  158. display: none;
  159. flex-wrap: wrap;
  160. flex-direction: column;
  161. text-align: right;
  162. min-width: 250px;
  163. flex: 1;
  164. padding: 25px;
  165. }
  166. .preset-selector {
  167. height: 25px;
  168. }
  169. .option-container {
  170. margin: auto;
  171. }
  172. .button-container {
  173. flex-wrap: wrap;
  174. flex-direction: column;
  175. flex: 1;
  176. }
  177. .stat-container {
  178. width: 100%;
  179. display: flex;
  180. flex-wrap: wrap;
  181. flex-direction: row;
  182. flex: 1
  183. }
  184. .action-part-container {
  185. max-height: 1000px;
  186. display: flex;
  187. flex-wrap: wrap;
  188. }
  189. #action-panel {
  190. display: none;
  191. }
  192. .option-button {
  193. font-size: 20px;
  194. width: 120px;
  195. height: 75px;
  196. }
  197. #button-start {
  198. width:200px;
  199. height:100px;
  200. font-size: 32px;
  201. }
  202. .option-form {
  203. font-size: 16px;
  204. width: 300px;
  205. height: 100px;
  206. }
  207. .stat-button {
  208. font-size: 18px;
  209. width: 50%;
  210. height: 75px;
  211. }
  212. .action-button {
  213. font-size: 18px;
  214. width: 50%;
  215. height: 75px;
  216. display: none;
  217. }
  218. body.light .action-button-disabled {
  219. color: #777 !important;
  220. background-color: rgba(150, 0, 0, 0.25);
  221. }
  222. body.dark .action-button-disabled {
  223. color: #aaa !important;
  224. background-color: rgba(150, 0, 0, 0.25);
  225. }
  226. #victim-table {
  227. display: none;
  228. margin: auto;
  229. width: 80%;
  230. }
  231. .victim-table-cell {
  232. width: 10%;
  233. }
  234. .reveal-if-active {
  235. opacity: 0;
  236. max-height: 0;
  237. overflow: hidden;
  238. }
  239. input[type="radio"]:checked ~ .reveal-if-active,
  240. input[type="checkbox"]:checked ~ .reveal-if-active {
  241. opacity: 1;
  242. max-height: 500000px; /* little bit of a magic number :( */
  243. overflow: visible;
  244. }
  245. .flex-outer {
  246. width: 100%;
  247. display: flex;
  248. flex-direction: row;
  249. flex-wrap: wrap;
  250. text-align: center;
  251. justify-content: center;
  252. padding: 0px;
  253. }
  254. .custom-category {
  255. text-align: center;
  256. margin: 10px;
  257. width: 500px;
  258. }
  259. .custom-category-sub {
  260. text-align: center;
  261. margin: 10px;
  262. width: 400px;
  263. padding: 0px;
  264. margin: 0px 50px;
  265. }
  266. body.light .custom-category {
  267. background: #ddd;
  268. background-color: rgba(255, 255, 255, 0.4);
  269. }
  270. body.dark .custom-category {
  271. background: #222;
  272. background-color: rgba(0, 0, 0, 0.4);
  273. }
  274. body.dark .custom-category div {
  275. background: #222;
  276. background-color: transparent;
  277. }
  278. .custom-header-static {
  279. user-select: none;
  280. font-size: 250%;
  281. margin: 10px;
  282. display: inline-block;
  283. }
  284. body.light .custom-header-static {
  285. background: #ddd;
  286. }
  287. body.dark .custom-header-static {
  288. background: #555;
  289. }
  290. .custom-header {
  291. user-select: none;
  292. font-size: 250%;
  293. margin: 10px;
  294. display: inline-block;
  295. border-style: dotted;
  296. border-width: 1px;
  297. border-length: 5px;
  298. }
  299. .custom-category-sub .custom-header {
  300. font-size: 200%;
  301. }
  302. body.light .custom-header {
  303. color: #aaa;
  304. background-color: rgba(255, 255, 255, 0.3);
  305. border-width: 1px;
  306. padding-left: 10px;
  307. padding-right: 10px;
  308. border-color: #000;
  309. }
  310. body.dark .custom-header {
  311. color: #555;
  312. background-color: rgba(0, 0, 0, 0.3);
  313. padding: 5px;
  314. padding-left: 10px;
  315. padding-right: 10px;
  316. }
  317. body.light input[type="checkbox"]:checked+
  318. .custom-header {
  319. color: #000;
  320. border-style: solid;
  321. margin: 10px;
  322. background-color: rgba(230, 230, 230, 0.3);
  323. }
  324. body.dark input[type="checkbox"]:checked+
  325. .custom-header {
  326. color: #fff;
  327. border-style: solid;
  328. margin: 10px;
  329. background-color: rgba(0, 0, 0, 0.3);
  330. }
  331. .custom-header-checkbox {
  332. display: none;
  333. }
  334. .flex-outer li {
  335. display: flex;
  336. flex-wrap: wrap;
  337. align-items: center;
  338. text-align: center;
  339. width: 500px;
  340. }
  341. .flex-outer input[type="radio"],
  342. .flex-outer input[type="checkbox"] {
  343. display: none;
  344. }
  345. .flex-outer input[type="radio"] + label:not(.custom-header),
  346. .flex-outer input[type="checkbox"] + label:not(.custom-header) {
  347. user-select: none;
  348. flex: 1 0 400px;
  349. font-size: 24px;
  350. }
  351. body.dark .flex-outer input[type="radio"] + label:not(.custom-header),
  352. body.dark .flex-outer input[type="checkbox"] + label:not(.custom-header) {
  353. color: #888;
  354. background: #311;
  355. }
  356. body.dark .flex-outer input[type="radio"]:checked + label:not(.custom-header),
  357. body.dark .flex-outer input[type="checkbox"]:checked + label:not(.custom-header) {
  358. color: #fff;
  359. background: #131;
  360. }
  361. body.light .flex-outer input[type="radio"] + label:not(.custom-header),
  362. body.light .flex-outer input[type="checkbox"] + label:not(.custom-header) {
  363. color: #555;
  364. background: #faa;
  365. }
  366. body.light .flex-outer input[type="radio"]:checked + label:not(.custom-header),
  367. body.light .flex-outer input[type="checkbox"]:checked + label:not(.custom-header) {
  368. color: #111;
  369. background: #afa;
  370. }
  371. .flex-outer label {
  372. flex: 0 1 40%;
  373. }
  374. .flex-outer label + * {
  375. flex: 1 1 20%;
  376. }
  377. .preview {
  378. flex: 1 1 10%;
  379. }
  380. .flex-outer-sub {
  381. padding: 0px;
  382. align-items: center;
  383. }
  384. .flex-outer-sub li {
  385. display: flex;
  386. flex-wrap: wrap;
  387. align-items: center;
  388. width: 400px;
  389. }
  390. body.light .has-tooltip {
  391. position: relative;
  392. display: inline-block;
  393. border-bottom: 1px dotted black;
  394. }
  395. body.dark .has-tooltip {
  396. position: relative;
  397. display: inline-block;
  398. border-bottom: 1px dotted white;
  399. }
  400. body.light a {
  401. color: #0000FF;
  402. text-decoration: none;
  403. }
  404. body.light a:visited {
  405. color: #0000ff;
  406. }
  407. body.light a:hover {
  408. color: #2222EE;
  409. }
  410. body.dark a {
  411. color: #8888FF;
  412. text-decoration: none;
  413. }
  414. body.dark a:visited {
  415. color: #8888DD;
  416. }
  417. body.dark a:hover {
  418. color: #AAAAEE;
  419. }
  420. a:hover {
  421. text-shadow: 0px 0px 5px #eeeeff;
  422. text-decoration: none;
  423. }
  424. .character-build {
  425. margin: 50px;
  426. width: 90%;
  427. text-align: center;
  428. }
  429. #grow-panel {
  430. width: 100%;
  431. }
  432. th {
  433. font-weight: normal;
  434. }
  435. ul {
  436. list-style: none;
  437. }
  438. .action-tab {
  439. flex-wrap: wrap;
  440. display: none;
  441. width: 100%;
  442. }
  443. .action-part-button {
  444. border: 1px;
  445. font-size: 30px;
  446. width: 50%;
  447. height: 70px;
  448. display: none;
  449. }
  450. .action-part-button.active {
  451. background: #555;
  452. }
  453. /* SRC: https://stackoverflow.com/questions/29738787/filling-water-animation/29740828 */
  454. .meter {
  455. border-radius: 0%;
  456. width: 10%;
  457. height: 150px;
  458. overflow: hidden;
  459. backface-visibility: hidden;
  460. transform: translate3d(0, 0, 0);
  461. display: inline-block;
  462. }
  463. body.light .meter {
  464. background: #ddd !important;
  465. }
  466. body.dark .meter {
  467. background: #222 !important;
  468. }
  469. .meter .meterLabel {
  470. z-index: 1;
  471. writing-mode: vertical-lr;
  472. text-orientation: upright;
  473. background: none;
  474. transform: rotate(0deg);
  475. font-size: 12px;
  476. text-align: center;
  477. position: absolute;
  478. left: 50%;
  479. top: 50%;
  480. transform: translate(-50%, -50%);
  481. }
  482. body.light .meterLabel {
  483. color: #000;
  484. }
  485. body.dark .meterLabel {
  486. color: #fff;
  487. mix-blend-mode: exclusion;
  488. }
  489. .meter {
  490. display: none
  491. }
  492. .meter .fill {
  493. position: absolute;
  494. top: 0;
  495. left: 0;
  496. background: none;
  497. pointer-events: none;
  498. }
  499. .meter #waveShape {
  500. animation-name: waveAction;
  501. animation-iteration-count: infinite;
  502. animation-timing-function: linear;
  503. animation-duration: 0.5s;
  504. width:300px;
  505. height: 150px;
  506. fill: #04ACFF;
  507. }
  508. .meter#arousalMeter #waveShape {
  509. fill: #FF0000;
  510. }
  511. .meter#orgasmMeter #waveShape {
  512. fill: #FFFFFF;
  513. }
  514. .meter#edgeMeter #waveShape {
  515. fill: #FF6600;
  516. }
  517. .meter#cumMeter #waveShape {
  518. fill: #EEEEEE;
  519. }
  520. .meter#femcumMeter #waveShape {
  521. fill: #999999;
  522. }
  523. .meter#milkMeter #waveShape {
  524. fill: #FFFFFF;
  525. }
  526. .meter#gasMeter #waveShape {
  527. fill: #33FF33;
  528. }
  529. .meter#pissMeter #waveShape {
  530. fill: #FFFF33;
  531. }
  532. .meter#scatMeter #waveShape {
  533. animation-duration: 2s;
  534. fill: #552222;
  535. }
  536. @keyframes fillAction {
  537. 0% {
  538. transform: translate(0, 150px);
  539. }
  540. 100% {
  541. transform: translate(0, -5px);
  542. }
  543. }
  544. @keyframes waveAction {
  545. 0% {
  546. transform: translate(-150px, 0);
  547. }
  548. 100% {
  549. transform: translate(0, 0);
  550. }
  551. }
  552. /* stolen directly from w3schools lol */
  553. .shaking {
  554. animation: shake 1s;
  555. animation-iteration-count: infinite;
  556. }
  557. @keyframes shake {
  558. 0% { transform: translate(0px, 0px); }
  559. 10% { transform: translate(0px, -2px); }
  560. 25% { transform: translate(0px, 0px); }
  561. 100% { transform: translate(0px, 0px); }
  562. }
  563. .growth-box {
  564. width: 100%;
  565. display: flex;
  566. flex-wrap: wrap;
  567. flex-direction: column;
  568. flex: 0 1 400px;
  569. }
  570. .growth-box > div > * {
  571. margin: 0px;
  572. width: 100%;
  573. height: 50px;
  574. }
  575. #growth-box-left {
  576. height: 100%;
  577. }
  578. #growth-box-right {
  579. height: 100%;
  580. }
  581. .growth-part {
  582. display: none;
  583. }
  584. .growth-part-active {
  585. background: #555 !important;
  586. }
  587. .growth-amount {
  588. display: block;
  589. }
  590. .save-version {
  591. display: none;
  592. }
  593. #custom-characters {
  594. font-size: 24px;
  595. }
  596. .intro-text {
  597. font-size: 18px;
  598. }
  599. .log::-webkit-scrollbar {
  600. width: 3px;
  601. height: 2px;
  602. }
  603. .log::-webkit-scrollbar-button {
  604. width: 0px;
  605. height: 0px;
  606. }
  607. .log::-webkit-scrollbar-thumb {
  608. background: #e1e1e1;
  609. border: 0px none #ffffff;
  610. border-radius: 50px;
  611. }
  612. .log::-webkit-scrollbar-thumb:hover {
  613. background: #ffffff;
  614. }
  615. .log::-webkit-scrollbar-thumb:active {
  616. background: #000000;
  617. }
  618. .log::-webkit-scrollbar-track {
  619. background: #666666;
  620. border: 0px none #ffffff;
  621. border-radius: 50px;
  622. }
  623. .log::-webkit-scrollbar-track:hover {
  624. background: #666666;
  625. }
  626. .log::-webkit-scrollbar-track:active {
  627. background: #333333;
  628. }
  629. .log::-webkit-scrollbar-corner {
  630. background: transparent;
  631. }