Spaces:
Running
on
T4
Running
on
T4
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |
| <title>Server Status</title> | |
| <style> | |
| @import url("https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;1,500&display=swap"); | |
| body { | |
| background: linear-gradient(#3800e7, #8a15ff); | |
| height: 100vh; | |
| font-size: calc(14px + (26 - 14) * ((100vw - 300px) / (1600 - 300))); | |
| font-family: "DM Mono", monospace; | |
| font-weight: 300; | |
| overflow: hidden; | |
| color: white; | |
| text-align: center; | |
| } | |
| h1 { | |
| font-size: 3em; | |
| margin-bottom: 0.2em; | |
| } | |
| h2 { | |
| font-size: 2em; | |
| } | |
| .main { | |
| height: 100vh; | |
| display: flex; | |
| flex-direction: column; | |
| flex-wrap: wrap; | |
| position: relative; | |
| justify-content: center; | |
| align-items: center; | |
| } | |
| .main:before, | |
| .main:after { | |
| content: ""; | |
| display: block; | |
| position: absolute; | |
| z-index: -3; | |
| } | |
| .main:before { | |
| right: 0; | |
| bottom: -19; | |
| height: 30em; | |
| width: 30em; | |
| border-radius: 30em; | |
| background: linear-gradient(#3800e7, #8a15ff); | |
| align-self: flex-end; | |
| animation: gradient-fade 8s ease-in-out 3s infinite alternate; | |
| } | |
| .main:after { | |
| top: 0; | |
| left: 30; | |
| height: 10em; | |
| width: 10em; | |
| border-radius: 10em; | |
| background: linear-gradient(#3800e7, #8a15ff); | |
| animation: gradient-fade-alt 6s ease-in-out 3s infinite alternate; | |
| } | |
| .main__text-wrapper { | |
| position: relative; | |
| padding: 2em; | |
| } | |
| .main__text-wrapper:before, | |
| .main__text-wrapper:after { | |
| content: ""; | |
| display: block; | |
| position: absolute; | |
| } | |
| .main__text-wrapper:before { | |
| z-index: -1; | |
| top: -3em; | |
| right: -3em; | |
| width: 13em; | |
| height: 13em; | |
| opacity: 0.7; | |
| border-radius: 13em; | |
| background: linear-gradient(#15e0ff, #8a15ff); | |
| animation: rotation 7s linear infinite; | |
| } | |
| .main__text-wrapper:after { | |
| z-index: -1; | |
| bottom: -20em; | |
| width: 20em; | |
| height: 20em; | |
| border-radius: 20em; | |
| background: linear-gradient(#d000c5, #8a15ff); | |
| animation: rotation 7s linear infinite; | |
| } | |
| .arrow { | |
| z-index: 1000; | |
| opacity: 0.5; | |
| position: absolute; | |
| } | |
| .arrow--top { | |
| top: 0; | |
| left: -5em; | |
| } | |
| .arrow--bottom { | |
| bottom: 0; | |
| right: 3em; | |
| } | |
| .circle { | |
| transform: translate(50%, -50%) rotate(0deg); | |
| transform-origin: center; | |
| } | |
| .circle--ltblue { | |
| height: 20em; | |
| width: 20em; | |
| border-radius: 20em; | |
| background: linear-gradient(#15e0ff, #3800e7); | |
| } | |
| .backdrop { | |
| position: absolute; | |
| width: 100vw; | |
| height: 100vh; | |
| display: block; | |
| background-color: pink; | |
| } | |
| .dotted-circle { | |
| position: absolute; | |
| top: 0; | |
| right: 0; | |
| opacity: 0.3; | |
| animation: rotation 38s linear infinite; | |
| } | |
| .draw-in { | |
| stroke-dasharray: 1000; | |
| stroke-dashoffset: 10; | |
| animation: draw 15s ease-in-out alternate infinite; | |
| } | |
| @keyframes draw { | |
| from { | |
| stroke-dashoffset: 1000; | |
| } | |
| to { | |
| stroke-dashoffset: 0; | |
| } | |
| } | |
| .item-to { | |
| animation-duration: 10s; | |
| animation-iteration-count: infinite; | |
| transform-origin: bottom; | |
| } | |
| .bounce-1 { | |
| animation-name: bounce-1; | |
| animation-timing-function: ease; | |
| } | |
| .bounce-2 { | |
| animation-name: bounce-2; | |
| animation-timing-function: ease; | |
| } | |
| .bounce-3 { | |
| animation-name: bounce-3; | |
| animation-timing-function: ease; | |
| } | |
| @keyframes bounce-1 { | |
| 0% { | |
| transform: translateY(0); | |
| } | |
| 50% { | |
| transform: translateY(50px); | |
| } | |
| 100% { | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes bounce-2 { | |
| 0% { | |
| transform: translateY(0); | |
| } | |
| 50% { | |
| transform: translateY(-30px); | |
| } | |
| 100% { | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes bounce-3 { | |
| 0% { | |
| transform: translateY(0); | |
| } | |
| 50% { | |
| transform: translateY(30px); | |
| } | |
| 100% { | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes rotation { | |
| from { | |
| transform: rotate(0deg); | |
| } | |
| to { | |
| transform: rotate(360deg); | |
| } | |
| } | |
| @keyframes gradient-fade { | |
| from { | |
| transform: translate(10%, -10%) rotate(0deg); | |
| } | |
| to { | |
| transform: translate(50%, -50%) rotate(360deg); | |
| } | |
| } | |
| @keyframes gradient-fade-alt { | |
| from { | |
| transform: translate(-20%, 20%) rotate(0deg); | |
| } | |
| to { | |
| transform: translate(-60%, 60%) rotate(360deg); | |
| } | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="arrow arrow--top"> | |
| <svg | |
| xmlns="http://www.w3.org/2000/svg" | |
| width="270.11" | |
| height="649.9" | |
| overflow="visible" | |
| > | |
| <style> | |
| .geo-arrow { | |
| fill: none; | |
| stroke: #fff; | |
| stroke-width: 2; | |
| stroke-miterlimit: 10; | |
| } | |
| </style> | |
| <g class="item-to bounce-1"> | |
| <path | |
| class="geo-arrow draw-in" | |
| d="M135.06 142.564L267.995 275.5 135.06 408.434 2.125 275.499z" | |
| /> | |
| </g> | |
| <circle | |
| class="geo-arrow item-to bounce-2" | |
| cx="194.65" | |
| cy="69.54" | |
| r="7.96" | |
| /> | |
| <circle class="geo-arrow draw-in" cx="194.65" cy="39.5" r="7.96" /> | |
| <circle | |
| class="geo-arrow item-to bounce-3" | |
| cx="194.65" | |
| cy="9.46" | |
| r="7.96" | |
| /> | |
| <g class="geo-arrow item-to bounce-2"> | |
| <path | |
| class="st0 draw-in" | |
| d="M181.21 619.5l13.27 27 13.27-27zM194.48 644.5v-552" | |
| /> | |
| </g> | |
| </svg> | |
| </div> | |
| <div class="arrow arrow--bottom"> | |
| <svg | |
| xmlns="http://www.w3.org/2000/svg" | |
| width="31.35" | |
| height="649.9" | |
| overflow="visible" | |
| > | |
| <style> | |
| .geo-arrow { | |
| fill: none; | |
| stroke: #fff; | |
| stroke-width: 2; | |
| stroke-miterlimit: 10; | |
| } | |
| </style> | |
| <g class="item-to bounce-1"> | |
| <circle | |
| class="geo-arrow item-to bounce-3" | |
| cx="15.5" | |
| cy="580.36" | |
| r="7.96" | |
| /> | |
| <circle class="geo-arrow draw-in" cx="15.5" cy="610.4" r="7.96" /> | |
| <circle | |
| class="geo-arrow item-to bounce-2" | |
| cx="15.5" | |
| cy="640.44" | |
| r="7.96" | |
| /> | |
| <g class="item-to bounce-2"> | |
| <path | |
| class="geo-arrow draw-in" | |
| d="M28.94 30.4l-13.26-27-13.27 27zM15.68 5.4v552" | |
| /> | |
| </g> | |
| </g> | |
| </svg> | |
| </div> | |
| <div class="main"> | |
| <div class="main__text-wrapper"> | |
| <h1 class="main__title">Backend Server</h1> | |
| <h2>Up and Running</h2> | |
| <svg | |
| xmlns="http://www.w3.org/2000/svg" | |
| class="dotted-circle" | |
| width="352" | |
| height="352" | |
| overflow="visible" | |
| > | |
| <circle | |
| cx="176" | |
| cy="176" | |
| r="174" | |
| fill="none" | |
| stroke="#fff" | |
| stroke-width="2" | |
| stroke-miterlimit="10" | |
| stroke-dasharray="12.921,11.9271" | |
| /> | |
| </svg> | |
| </div> | |
| </div> | |
| </body> | |
| </html> | |