Spaces:
Sleeping
Sleeping
| @tailwind base; | |
| @tailwind components; | |
| @tailwind utilities; | |
| @font-face { | |
| font-family: 'Upheaval Pro'; | |
| src: url(/assets/fonts/upheaval_pro.ttf); | |
| } | |
| @font-face { | |
| font-family: 'VCR OSD Mono'; | |
| src: url(/assets/fonts/vcr_osd_mono.ttf); | |
| } | |
| .font-display { | |
| font-family: 'Upheaval Pro', 'sans-serif'; | |
| } | |
| .font-body { | |
| font-family: 'VCR OSD Mono', 'monospace'; | |
| } | |
| .font-system { | |
| font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; | |
| } | |
| :root { | |
| --foreground-rgb: 0, 0, 0; | |
| --background-start-rgb: 214, 219, 220; | |
| --background-end-rgb: 255, 255, 255; | |
| } | |
| @media (prefers-color-scheme: dark) { | |
| :root { | |
| --foreground-rgb: 255, 255, 255; | |
| --background-start-rgb: 0, 0, 0; | |
| --background-end-rgb: 0, 0, 0; | |
| } | |
| } | |
| body { | |
| color: rgb(var(--foreground-rgb)); | |
| background: linear-gradient(to bottom, transparent, rgb(var(--background-end-rgb))) rgb(var(--background-start-rgb)); | |
| } | |
| .game-background { | |
| background: linear-gradient(rgba(41, 41, 41, 0.8), rgba(41, 41, 41, 0.8)), | |
| url(../assets/background.webp); | |
| background-blend-mode: hard-light; | |
| background-position: center; | |
| background-repeat: no-repeat; | |
| background-size: cover; | |
| background-attachment: fixed; | |
| } | |
| .game-title { | |
| background: linear-gradient(to bottom, #fec742, #dd7c42); | |
| background-clip: text; | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| filter: drop-shadow(0px 0.08em 0px #6e2146); | |
| } | |
| .game-frame { | |
| border-width: 36px; | |
| border-image-source: url(../assets/ui/frame.svg); | |
| border-image-repeat: stretch; | |
| border-image-slice: 25%; | |
| } | |
| .game-progress-bar { | |
| border: 5px solid rgb(23, 20, 33); | |
| } | |
| @keyframes moveStripes { | |
| to { | |
| background-position: calc(100% + 28px) 0; | |
| } | |
| } | |
| .game-progress-bar-progress { | |
| background: repeating-linear-gradient(135deg, white, white 10px, #dfdfdf 10px, #dfdfdf 20px); | |
| background-size: 200% 100%; | |
| background-position: 100% 0; | |
| animation: moveStripes 0.5s linear infinite; | |
| } | |
| @media screen and (min-width: 640px) { | |
| .game-frame { | |
| border-width: 48px; | |
| } | |
| } | |
| .shadow-solid { | |
| text-shadow: 0 0.1em 0 rgba(0, 0, 0, 0.5); | |
| } | |
| .bubble { | |
| border-width: 30px; | |
| border-image-source: url(../assets/ui/bubble-left.svg); | |
| border-image-repeat: stretch; | |
| border-image-slice: 20%; | |
| } | |
| .bubble-mine { | |
| border-image-source: url(../assets/ui/bubble-right.svg); | |
| } | |
| .box { | |
| border-width: 12px; | |
| border-image-source: url(../assets/ui/box.svg); | |
| border-image-repeat: stretch; | |
| border-image-slice: 12.5%; | |
| } | |
| .desc { | |
| border-width: 56px; | |
| border-image-source: url(../assets/ui/desc.svg); | |
| border-image-repeat: stretch; | |
| border-image-slice: 28%; | |
| } | |
| .chats { | |
| border-width: 24px; | |
| border-image-source: url(../assets/ui/chats.svg); | |
| border-image-repeat: stretch; | |
| border-image-slice: 40%; | |
| } | |
| .login-prompt { | |
| border-width: 48px; | |
| border-image-source: url(../assets/ui/jewel_box.svg); | |
| border-image-repeat: stretch; | |
| border-image-slice: 40%; | |
| } | |
| .button { | |
| border-width: 1em; | |
| border-image-source: url(../assets/ui/button.svg); | |
| border-image-repeat: stretch; | |
| border-image-slice: 25%; | |
| cursor: pointer; | |
| } | |
| .button span { | |
| display: inline-block; | |
| transform: translateY(-15%); | |
| } | |
| .button-selected { | |
| border-image-source: url(../assets/ui/button_pressed.svg); | |
| } | |
| @media (max-width: 640px) { | |
| .button { | |
| height: 40px; | |
| border-width: 0.75em; | |
| font-size: 16px; | |
| } | |
| .button>div, | |
| .button>span { | |
| vertical-align: top; | |
| line-height: 1; | |
| } | |
| } | |
| .button:hover { | |
| opacity: 0.8; | |
| } | |
| .button:active { | |
| /* Inlining this image to avoid flashing during loading */ | |
| border-image-source: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='2' width='14' height='13' fill='%23181425'/%3E%3Crect x='2' y='1' width='12' height='15' fill='%23181425'/%3E%3Crect y='3' width='16' height='11' fill='%23181425'/%3E%3Crect x='2' y='14' width='12' height='1' fill='%23262B44'/%3E%3Crect x='1' y='3' width='14' height='11' fill='%233A4466'/%3E%3Crect x='2' y='2' width='12' height='9' fill='%233A4466'/%3E%3Crect x='1' y='13' width='1' height='1' fill='%23262B44'/%3E%3Crect x='14' y='13' width='1' height='1' fill='%23262B44'/%3E%3C/svg%3E%0A"); | |
| } | |
| .button:active span { | |
| transform: none; | |
| } | |
| p[contenteditable='true']:empty::before { | |
| content: attr(placeholder); | |
| color: #aaa; | |
| } | |
| .shape-top-left-corner { | |
| clip-path: polygon(0 0, 100% 0, 0 100%); | |
| } |