big steppy
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

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