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

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