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

693 lines
9.8 KiB

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