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

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