big steppy
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 

979 lignes
15 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-preset-categories {
  12. font-size: 24px;
  13. }
  14. #character-presets {
  15. font-size: 24px;
  16. }
  17. #export-area {
  18. max-width: 80%;
  19. width: 80%;
  20. }
  21. body.dark input {
  22. color: #eee;
  23. background: #444;
  24. background-color: rgba(0, 0, 0, 0.3);
  25. }
  26. body.dark select {
  27. color: #eee;
  28. background: #444;
  29. background-color: rgba(0, 0, 0, 0.3);
  30. }
  31. body.light button {
  32. color: #000;
  33. background: #ddd;
  34. border-width: 1px;
  35. border-color: #000;
  36. background-color: rgba(255, 255, 255, 0.3);
  37. }
  38. body.dark button {
  39. color: #eee;
  40. background: #111;
  41. border-width: 1px;
  42. background-color: rgba(0, 0, 0, 0.4);
  43. }
  44. body.dark div {
  45. background-color: transparent;
  46. }
  47. .game-area {
  48. display: flex;
  49. margin: auto;
  50. }
  51. @media (max-aspect-ratio: 1/1){
  52. .game-area {
  53. width: 100%;
  54. height: 60%;
  55. }
  56. #stat-container {
  57. position: fixed;
  58. top: 0%;
  59. left: 0%;
  60. max-width: 50%;
  61. max-height: 50%;
  62. }
  63. #action-panel {
  64. position: fixed;
  65. right: 0%;
  66. top: 0%;
  67. max-width: 50%;
  68. max-height: 50%;
  69. }
  70. #log {
  71. position: fixed;
  72. left: 0%;
  73. bottom: 0%;
  74. width: 48%;
  75. height: 50%;
  76. max-height: 50%;
  77. margin-left: 1vw;
  78. }
  79. #react-log {
  80. position: fixed;
  81. right: 0%;
  82. bottom: 0%;
  83. width: 48%;
  84. height: 50%;
  85. max-height: 50%;
  86. margin-right: 1vw;
  87. }
  88. .growth-part {
  89. width: 100px !important;
  90. }
  91. #growth-part-select {
  92. width: 100px !important;
  93. }
  94. .growth-amount {
  95. width: 100px !important;
  96. }
  97. .action-part-button {
  98. width: 33% !important;
  99. }
  100. .action-part-container {
  101. width: 50vw !important;
  102. }
  103. .action-button {
  104. width: 16.6667vw !important;
  105. }
  106. }
  107. @media (min-aspect-ratio: 1/1){
  108. .game-area {
  109. width: 90%
  110. }
  111. #log {
  112. float: left;
  113. height: 75vh;
  114. width: 48%;
  115. }
  116. #react-log {
  117. float: right;
  118. height: 75vh;
  119. width: 48%;
  120. }
  121. }
  122. #log-area {
  123. flex: 5;
  124. display:none;
  125. }
  126. .log {
  127. overflow: auto;
  128. padding: 25px;
  129. box-sizing: border-box;
  130. }
  131. body.light #react-log {
  132. color: #000;
  133. background-color: rgba(240, 240, 255, 0.3);
  134. }
  135. body.light #react-log div {
  136. background-color: transparent;
  137. }
  138. body.dark #react-log {
  139. color: #eee;
  140. background-color: rgba(0, 0, 0, 0.4);
  141. }
  142. body.dark #react-log div {
  143. background-color: transparent;
  144. }
  145. body.light #log {
  146. color: #000;
  147. background-color: rgba(240, 240, 255, 0.3);
  148. }
  149. body.light #log div {
  150. background-color: transparent;
  151. }
  152. body.dark #log {
  153. color: #eee;
  154. background-color: rgba(0, 0, 0, 0.4);
  155. }
  156. body.dark #log div {
  157. background-color: transparent;
  158. }
  159. .stat-header-self {
  160. font-weight: bold;
  161. font-size: 150%;
  162. min-width:250px;
  163. }
  164. .stat-header {
  165. font-weight: bold;
  166. font-size: 150%;
  167. min-width:130px;
  168. }
  169. .stat-line {
  170. font-weight: normal;
  171. font-size: 12pt;
  172. }
  173. .stat-line-hidden {
  174. font-weight: normal;
  175. font-size: 12pt;
  176. }
  177. .stat-line-hidden {
  178. display: none;
  179. position: relative;
  180. }
  181. .stat-line-hidden:before {
  182. content: attr(data-stat);
  183. position: absolute;
  184. text-align: center;
  185. top: 5px;
  186. left: 0;
  187. right: 0;
  188. }
  189. .stat-line-hidden .value {
  190. background-color: #0f0;
  191. display: inline-block;
  192. height: 24px;
  193. width: attr(data-percent percentage);
  194. }
  195. progress {
  196. background: blue;
  197. }
  198. .stat-percent-full {
  199. background: #f00;
  200. }
  201. .sidebar {
  202. display: none;
  203. flex-wrap: wrap;
  204. flex-direction: column;
  205. text-align: right;
  206. min-width: 250px;
  207. flex: 1;
  208. padding: 25px;
  209. }
  210. .preset-selector {
  211. height: 25px;
  212. }
  213. .option-container {
  214. margin: auto;
  215. }
  216. .button-container {
  217. flex-wrap: wrap;
  218. flex-direction: column;
  219. flex: 1;
  220. }
  221. .stat-container {
  222. width: 100%;
  223. display: flex;
  224. flex-wrap: wrap;
  225. flex-direction: row;
  226. flex: 1
  227. }
  228. .action-part-container {
  229. max-height: 1000px;
  230. display: flex;
  231. flex-wrap: wrap;
  232. }
  233. #action-panel {
  234. display: none;
  235. }
  236. .option-button {
  237. font-size: 20px;
  238. width: 120px;
  239. height: 75px;
  240. }
  241. #button-start {
  242. width:300px;
  243. height:200px;
  244. font-size: 50px;
  245. }
  246. .option-form {
  247. font-size: 16px;
  248. width: 300px;
  249. height: 100px;
  250. }
  251. .stat-button {
  252. font-size: 18px;
  253. width: 50%;
  254. height: 75px;
  255. }
  256. .action-button {
  257. font-size: 18px;
  258. width: 50%;
  259. height: 75px;
  260. display: none;
  261. }
  262. body.light .action-button-disabled {
  263. color: #777 !important;
  264. background-color: rgba(150, 0, 0, 0.25);
  265. }
  266. body.dark .action-button-disabled {
  267. color: #aaa !important;
  268. background-color: rgba(150, 0, 0, 0.25);
  269. }
  270. #victim-table {
  271. display: none;
  272. margin: auto;
  273. width: 80%;
  274. }
  275. .victim-table-cell {
  276. width: 10%;
  277. }
  278. .reveal-if-active {
  279. opacity: 0;
  280. max-height: 0;
  281. overflow: hidden;
  282. }
  283. input[type="radio"]:checked ~ .reveal-if-active,
  284. input[type="checkbox"]:checked ~ .reveal-if-active {
  285. opacity: 1;
  286. max-height: 500000px; /* little bit of a magic number :( */
  287. overflow: visible;
  288. }
  289. .flex-outer {
  290. width: 100%;
  291. display: flex;
  292. flex-direction: row;
  293. flex-wrap: wrap;
  294. text-align: center;
  295. justify-content: center;
  296. padding: 0px;
  297. }
  298. .custom-category {
  299. text-align: center;
  300. margin: 10px;
  301. width: 500px;
  302. }
  303. body.dark .custom-category.wide-category,
  304. body.light .custom-category.wide-category {
  305. width: 90%;
  306. background: none;
  307. }
  308. .custom-category-sub {
  309. text-align: center;
  310. margin: 10px;
  311. width: 100%;
  312. padding: 0px;
  313. }
  314. body.light .custom-category {
  315. background: #ddd;
  316. background-color: rgba(255, 255, 255, 0.4);
  317. }
  318. body.dark .custom-category {
  319. background: #222;
  320. background-color: rgba(0, 0, 0, 0.4);
  321. }
  322. body.dark .custom-category div {
  323. background: #222;
  324. background-color: transparent;
  325. }
  326. .custom-header-static {
  327. user-select: none;
  328. font-size: 250%;
  329. margin: 10px;
  330. display: inline-block;
  331. }
  332. body.light .custom-header-static {
  333. background: #ddd;
  334. }
  335. body.dark .custom-header-static {
  336. background: #555;
  337. }
  338. .custom-header {
  339. user-select: none;
  340. font-size: 250%;
  341. margin: 10px;
  342. display: inline-block;
  343. border-style: dotted;
  344. border-width: 1px;
  345. border-radius: 5px;
  346. }
  347. .custom-category-sub .custom-header {
  348. font-size: 200%;
  349. }
  350. .custom-category-sub .custom-category-sub .custom-header {
  351. font-size: 150%;
  352. }
  353. body.light .custom-header {
  354. color: #aaa;
  355. background-color: rgba(255, 255, 255, 0.3);
  356. border-width: 1px;
  357. padding-left: 10px;
  358. padding-right: 10px;
  359. border-color: #000;
  360. }
  361. body.dark .custom-header {
  362. color: #555;
  363. background-color: rgba(0, 0, 0, 0.3);
  364. padding: 5px;
  365. padding-left: 10px;
  366. padding-right: 10px;
  367. }
  368. body.light input[type="checkbox"]:checked+
  369. .custom-header {
  370. color: #000;
  371. border-style: solid;
  372. background-color: rgba(230, 230, 230, 0.3);
  373. }
  374. body.dark input[type="checkbox"]:checked+
  375. .custom-header {
  376. color: #fff;
  377. border-style: solid;
  378. background-color: rgba(0, 0, 0, 0.3);
  379. }
  380. .custom-header-checkbox {
  381. display: none;
  382. }
  383. .flex-outer li {
  384. display: flex;
  385. flex-wrap: wrap;
  386. align-items: center;
  387. text-align: center;
  388. width: 500px;
  389. margin: 10px auto;
  390. }
  391. .flex-outer input[type="radio"],
  392. .flex-outer input[type="checkbox"] {
  393. display: none;
  394. }
  395. .flex-outer input[type="radio"] + label:not(.custom-header),
  396. .flex-outer input[type="checkbox"] + label:not(.custom-header) {
  397. user-select: none;
  398. flex: 1 0 100%;
  399. font-size: 24px;
  400. }
  401. body.dark .flex-outer input[type="radio"] + label:not(.custom-header),
  402. body.dark .flex-outer input[type="checkbox"] + label:not(.custom-header) {
  403. color: #888;
  404. background: #311;
  405. }
  406. body.dark .flex-outer input[type="radio"]:checked + label:not(.custom-header),
  407. body.dark .flex-outer input[type="checkbox"]:checked + label:not(.custom-header) {
  408. color: #fff;
  409. background: #131;
  410. }
  411. body.light .flex-outer input[type="radio"] + label:not(.custom-header),
  412. body.light .flex-outer input[type="checkbox"] + label:not(.custom-header) {
  413. color: #555;
  414. background: #faa;
  415. }
  416. body.light .flex-outer input[type="radio"]:checked + label:not(.custom-header),
  417. body.light .flex-outer input[type="checkbox"]:checked + label:not(.custom-header) {
  418. color: #111;
  419. background: #afa;
  420. }
  421. .flex-outer {
  422. user-select: none;
  423. }
  424. .flex-outer label {
  425. flex: 0 1 40%;
  426. text-align: right;
  427. margin-right: 12pt;
  428. }
  429. .flex-outer label.solo {
  430. text-align: center;
  431. }
  432. .flex-outer label + * {
  433. flex: 1 1 20%;
  434. }
  435. .preview {
  436. flex: 1 1 10%;
  437. }
  438. .flex-outer-sub {
  439. padding: 0px;
  440. align-items: center;
  441. }
  442. .flex-outer-sub li {
  443. display: flex;
  444. flex-wrap: nowrap;
  445. align-items: center;
  446. margin: 5px auto;
  447. width: 90%;
  448. }
  449. body.light .flex-outer-sub {
  450. background: #c8c8c8;
  451. }
  452. body.light .flex-outer-sub .flex-outer-sub {
  453. background: #c0c0c0;
  454. }
  455. body.dark .flex-outer-sub {
  456. background: #181818;
  457. }
  458. body.dark .flex-outer-sub .flex-outer-sub {
  459. background: #202020;
  460. }
  461. body.light .has-tooltip {
  462. position: relative;
  463. display: inline-block;
  464. border-bottom: 1px dotted #777;
  465. }
  466. body.dark .has-tooltip {
  467. position: relative;
  468. display: inline-block;
  469. border-bottom: 1px dotted #777;
  470. }
  471. body.light a {
  472. color: #0000FF;
  473. text-decoration: none;
  474. }
  475. body.light a:visited {
  476. color: #0000ff;
  477. }
  478. body.light a:hover {
  479. color: #2222EE;
  480. }
  481. body.dark a {
  482. color: #8888FF;
  483. text-decoration: none;
  484. }
  485. body.dark a:visited {
  486. color: #8888DD;
  487. }
  488. body.dark a:hover {
  489. color: #AAAAEE;
  490. }
  491. a:hover {
  492. text-shadow: 0px 0px 5px #eeeeff;
  493. text-decoration: none;
  494. }
  495. .character-build {
  496. margin: 50px;
  497. width: 90%;
  498. text-align: center;
  499. }
  500. #grow-panel {
  501. width: 100%;
  502. }
  503. th {
  504. font-weight: normal;
  505. }
  506. ul {
  507. list-style: none;
  508. }
  509. .action-tab {
  510. flex-wrap: wrap;
  511. display: none;
  512. width: 100%;
  513. }
  514. .action-part-button {
  515. border: 1px;
  516. font-size: 30px;
  517. width: 50%;
  518. height: 70px;
  519. display: none;
  520. }
  521. @media (max-aspect-ratio: 1) {
  522. .action-part-button {
  523. width: 33%;
  524. }
  525. }
  526. body.light .action-part-button.active {
  527. background: #ccc;
  528. }
  529. body.dark .action-part-button.active {
  530. background: #555;
  531. }
  532. /* SRC: https://stackoverflow.com/questions/29738787/filling-water-animation/29740828 */
  533. .meter {
  534. border-radius: 0%;
  535. width: 10%;
  536. height: 150px;
  537. overflow: hidden;
  538. backface-visibility: hidden;
  539. transform: translate3d(0, 0, 0);
  540. display: inline-block;
  541. }
  542. body.light .meter {
  543. background: #ccc !important;
  544. }
  545. body.dark .meter {
  546. background: #222 !important;
  547. }
  548. .meter .meterLabel {
  549. z-index: 1;
  550. writing-mode: vertical-lr;
  551. text-orientation: upright;
  552. background: none;
  553. transform: rotate(0deg);
  554. font-size: 12px;
  555. text-align: center;
  556. position: absolute;
  557. left: 50%;
  558. top: 50%;
  559. transform: translate(-50%, -50%);
  560. }
  561. body.light .meterLabel {
  562. color: #000;
  563. }
  564. body.dark .meterLabel {
  565. color: #fff;
  566. mix-blend-mode: exclusion;
  567. }
  568. .meter {
  569. display: none
  570. }
  571. .meter .fill {
  572. position: absolute;
  573. top: 0;
  574. left: 0;
  575. background: none;
  576. pointer-events: none;
  577. }
  578. .meter #waveShape {
  579. animation-name: waveAction;
  580. animation-iteration-count: infinite;
  581. animation-timing-function: linear;
  582. animation-duration: 0.5s;
  583. width:300px;
  584. height: 150px;
  585. fill: #04ACFF;
  586. }
  587. .meter#arousalMeter #waveShape {
  588. fill: #FF0000;
  589. }
  590. .meter#orgasmMeter #waveShape {
  591. fill: #FFFFFF;
  592. }
  593. .meter#edgeMeter #waveShape {
  594. fill: #FF6600;
  595. }
  596. .meter#cumMeter #waveShape {
  597. fill: #EEEEEE;
  598. }
  599. .meter#femcumMeter #waveShape {
  600. fill: #999999;
  601. }
  602. .meter#milkMeter #waveShape {
  603. fill: #FFFFFF;
  604. }
  605. .meter#gasMeter #waveShape {
  606. fill: #33FF33;
  607. }
  608. .meter#pissMeter #waveShape {
  609. fill: #FFFF33;
  610. }
  611. .meter#scatMeter #waveShape {
  612. animation-duration: 2s;
  613. fill: #552222;
  614. }
  615. @keyframes fillAction {
  616. 0% {
  617. transform: translate(0, 150px);
  618. }
  619. 100% {
  620. transform: translate(0, -5px);
  621. }
  622. }
  623. @keyframes waveAction {
  624. 0% {
  625. transform: translate(-150px, 0);
  626. }
  627. 100% {
  628. transform: translate(0, 0);
  629. }
  630. }
  631. /* stolen directly from w3schools lol */
  632. .shaking {
  633. animation: shake 1s;
  634. animation-iteration-count: infinite;
  635. }
  636. @keyframes shake {
  637. 0% { transform: translate(0px, 0px); }
  638. 10% { transform: translate(0px, -2px); }
  639. 25% { transform: translate(0px, 0px); }
  640. 100% { transform: translate(0px, 0px); }
  641. }
  642. .growth-box {
  643. width: 100%;
  644. display: flex;
  645. flex-wrap: wrap;
  646. flex-direction: column;
  647. text-align: left;
  648. flex: 0 1 400px;
  649. }
  650. .growth-box > div > * {
  651. margin: 0px;
  652. width: 100%;
  653. height: 50px;
  654. }
  655. #growth-box-left {
  656. height: 100%;
  657. }
  658. #growth-part-select {
  659. display: block;
  660. height: 100px;
  661. font-size: 20px;
  662. }
  663. .growth-part {
  664. display: none;
  665. }
  666. .growth-part-active {
  667. background: #555 !important;
  668. }
  669. .growth-amount {
  670. display: block;
  671. }
  672. .save-version {
  673. display: none;
  674. }
  675. #custom-characters {
  676. font-size: 24px;
  677. }
  678. .intro-text {
  679. font-size: 18px;
  680. }
  681. .log::-webkit-scrollbar {
  682. width: 3px;
  683. height: 2px;
  684. }
  685. .log::-webkit-scrollbar-button {
  686. width: 0px;
  687. height: 0px;
  688. }
  689. .log::-webkit-scrollbar-thumb {
  690. background: #e1e1e1;
  691. border: 0px none #ffffff;
  692. border-radius: 50px;
  693. }
  694. .log::-webkit-scrollbar-thumb:hover {
  695. background: #ffffff;
  696. }
  697. .log::-webkit-scrollbar-thumb:active {
  698. background: #000000;
  699. }
  700. .log::-webkit-scrollbar-track {
  701. background: #666666;
  702. border: 0px none #ffffff;
  703. border-radius: 50px;
  704. }
  705. .log::-webkit-scrollbar-track:hover {
  706. background: #666666;
  707. }
  708. .log::-webkit-scrollbar-track:active {
  709. background: #333333;
  710. }
  711. .log::-webkit-scrollbar-corner {
  712. background: transparent;
  713. }
  714. .custom-label {
  715. text-align: center;
  716. font-size: 30px;
  717. margin: auto;
  718. padding-top: 6px;
  719. padding-bottom: 6px;
  720. user-select: none;
  721. }
  722. .log {
  723. --fade-animation: none;
  724. scrollbar-color: #e1e1e1 #888;
  725. scrollbar-width: thin;
  726. }
  727. .log > div {
  728. animation: var(--fade-animation);
  729. animation-fill-mode: forwards;
  730. }
  731. @keyframes log-dim {
  732. 0% {
  733. opacity: 1;
  734. }
  735. 70% {
  736. opacity: 1;
  737. }
  738. 100% {
  739. opacity: 0.6;
  740. }
  741. }
  742. @keyframes log-fade {
  743. 0% {
  744. opacity: 1;
  745. }
  746. 70% {
  747. opacity: 1;
  748. height: auto;
  749. }
  750. 99% {
  751. opacity: 0;
  752. height: auto;
  753. }
  754. 100% {
  755. opacity: 0;
  756. height: 0;
  757. }
  758. }
  759. body {
  760. --main-order: 1;
  761. --body-part-order-banner: 2;
  762. --body-part-order: 3;
  763. --nsfw-order-banner: 4;
  764. --nsfw-order: 5;
  765. --alt-vore-order-banner: 6;
  766. --alt-vore-order: 7;
  767. --gross-order-banner: 8;
  768. --gross-order: 9;
  769. --magic-order-banner: 10;
  770. --magic-order: 11;
  771. }
  772. .sheet-group-main {
  773. order: var(--main-order);
  774. }
  775. .sheet-group-body-part {
  776. order: var(--body-part-order);
  777. }
  778. .group-banner.sheet-group-body-part {
  779. order: var(--body-part-order-banner);
  780. }
  781. .sheet-group-nsfw {
  782. order: var(--nsfw-order);
  783. }
  784. .group-banner.sheet-group-nsfw {
  785. order: var(--nsfw-order-banner);
  786. }
  787. .sheet-group-alt-vore {
  788. order: var(--alt-vore-order);
  789. }
  790. .group-banner.sheet-group-alt-vore {
  791. order: var(--alt-vore-order-banner);
  792. }
  793. .sheet-group-gross {
  794. order: var(--gross-order);
  795. }
  796. .group-banner.sheet-group-gross {
  797. order: var(--gross-order-banner);
  798. }
  799. .sheet-group-magic {
  800. order: var(--magic-order);
  801. }
  802. .group-banner.sheet-group-magic {
  803. order: var(--magic-order-banner);
  804. }
  805. .group-banner {
  806. min-width: 80vw;
  807. min-height: 7vh;
  808. font-size: 6vh;
  809. margin: auto;
  810. }
  811. body.dark div.group-banner {
  812. background-color: #333;
  813. }
  814. body.light div.group-banner {
  815. background-color: #ccc;
  816. }
  817. label.group-toggle {
  818. font-size: 30pt !important;
  819. }