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

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