big steppy
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

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