:root{
    --color-link:#5f5f5f;
    --color-link-hover:#5f5f5f;
    --color-enter:#fff;
    --color-title:#fff;
    --color-content:#222325;
    --font-base: "Comic Sans MS", "Helvetica Neue", "Microsoft Yahei", -apple-system, sans-serif;
    --font-marker: "Comic Sans MS", "Chalkboard SE", "Comic Neue", cursive;
}

.fade{opacity:0;transition:all 1s;transform:translateY(200px)}.fade.in{opacity:1;transform:none}
*{box-sizing:border-box;-webkit-text-size-adjust:none}
html{font-size:20px}

body,html{height:100%;margin:0;padding:0;border:0;background-color:#1e1f21}

body{
    font-family: var(--font-base) !important;
    -ms-flex-align:center;
    align-items:center;
    -ms-flex-pack:center;
    justify-content:center;
    min-height:100vh;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    -webkit-touch-callout:none
}

ul{margin:0;padding:0}
img{border:0;vertical-align:middle}
body{cursor:url("../assets/cursor-default.cur"),auto!important}
a,img{cursor:url("../assets/cursor-pointer.cur"),auto!important}
a{text-decoration:none;color:var(--color-link);outline:0}

.noscript-warning{
    position:fixed;
    top:0;
    width:100%;
    background:#e74c3c;
    color:#fff;
    text-align:center;
    padding:10px;
    z-index:9999
}

main{overflow:hidden}.content,main{height:100vh;width:100%;position:relative}.content{background:0 0}.content-intro{z-index:100;height:200vh}.content-main{position:fixed;top:0;left:0;background:#060606}.content-inner{position:relative}.content-inner,.wrap{width:100%;height:100vh}.wrap{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-align:center}.grid-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.content-intro .content-inner{background:0 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.shape{height:100vh;width:100%;display:block;background:0 0}.shape-wrap{position:relative;z-index:0;margin:-5px 0 0;will-change:scroll-position;background:0 0}.shape path{fill:#151515}

.content-title{
    font-family: var(--font-marker) !important;
    font-weight: normal !important; 
    font-size: 4.7rem;
    color:#fff;
    line-height:1;
    margin-top:.8em;
    margin-bottom:.3em;
    animation:whiteShadow 1.5s ease-in-out infinite alternate;
    text-shadow:#452d2d 0 0 1px,#fffffb 0 0 1px,#fffffb 0 0 2px
}

@media screen and (max-width:50em){.content-title{font-size:2rem}}
@keyframes whiteShadow{0%{text-shadow:0 0 1px #fff,0 0 2px #fff,0 0 3px #fff,0 0 5px #333,0 0 8px #333,0 0 9px #333,0 0 10px #333,0 0 15px #333}to{text-shadow:0 0 .5px #fff,0 0 1px #fff,0 0 1.5px #fff,0 0 2px #333,0 0 4px #333,0 0 5px #333,0 0 6px #333,0 0 8px #333}}

.content-subtitle{color:#fff;font-family: var(--font-base);font-size:1.2rem;font-weight:200;margin-bottom:2em;text-shadow:0 0 4px #fff}
@media screen and (max-width:1024px){.content-subtitle{font-size:1rem}}

.enter{color:#fff;font-size:.8rem;letter-spacing:3px;white-space:pre;pointer-events:auto;transition:all .4s;z-index:999;position:relative;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.7),transparent);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 2s linear infinite;text-shadow:0 0 10px hsla(0,0%,100%,.3);-webkit-user-drag:none;user-select:none;}
.enter:focus,.enter:hover{color:#5f5f5f}
@keyframes shimmer{0%{background-position:200%;text-shadow:0 0 10px hsla(0,0%,100%,.3)}50%{text-shadow:0 0 20px hsla(0,0%,100%,.6)}to{background-position:-200%;text-shadow:0 0 10px hsla(0,0%,100%,.3)}}

.arrow{position:absolute;left:49.5%;top:95%;transform-origin:50% 50%;transform:translate3d(-50%,0,0)}
.arrow-1{animation:arrow-movement 2s ease-in-out infinite}.arrow-2{animation:arrow-movement 2s 1s ease-in-out infinite}
.arrow:after,.arrow:before{background:#fff;content:"";display:block;height:3px;position:absolute;top:0;left:0;width:13px;box-shadow:1px 1px 20px 0 #fff}
.arrow:before{transform:rotate(45deg) translateX(-10%);transform-origin:top left}
.arrow:after{transform:rotate(-45deg) translateX(10%);transform-origin:top right}
@keyframes arrow-movement{0%{opacity:0;top:92%}70%{opacity:1}to{opacity:0}}

.content-subtitle span{animation:letter-glow .7s 0s ease both}
@keyframes letter-glow{0%{opacity:0;text-shadow:0 0 1px hsla(0,0%,100%,.1)}66%{opacity:1;text-shadow:0 0 20px hsla(0,0%,100%,.9)}77%{opacity:1}to{opacity:.7;text-shadow:0 0 20px hsla(0,0%,100%,.2)}}

#background{position:absolute;width:100%;height:100%;z-index:-1}
#background[data-webgl-disabled="true"]{display:none}
.no-webgl .content-intro .content-inner{background:unset}
.no-webgl .shape path{fill:#1e1f21}
#card{position:relative;width:100vw;height:100vh;color:#93979e;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;text-align:center;transition:width .5s ease,height .5s ease}
#card .card-inner{padding:0;border:0;width:35%}
@media screen and (max-width:1024px){#card .card-inner{width:45%}}
@media screen and (max-width:768px){#card .card-inner{width:50%}}
@media screen and (max-width:540px){#card .card-inner{width:60%!important}#card .card-inner header h1{font-size:1.2rem!important}#card .card-inner header h2{font-size:.8rem!important}}
@media screen and (max-width:480px){#card .card-inner{width:90%!important}}
#card .card-inner header{margin-bottom:40px}
#card .card-inner header img{transition:.4s ease-in-out;z-index:2;position:relative}

#card .card-inner header h1{
    font-family: var(--font-marker) !important;
    font-weight: normal !important;
    margin:15px 15px 0;
    color:#fff;
    font-size:2rem;
    line-height:1.2em;
    z-index:2;
    position:relative
}

#card .card-inner header h2{color:#ccc;letter-spacing:3px;font-size:.8rem;font-weight:lighter;z-index:2;position:relative}

.arrow, .enter, .content-subtitle span { will-change: transform, opacity; }
#card .card-inner header img { will-change: transform; transform: translateZ(0); }

.button-group {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 30px;
    position: relative; 
    z-index: 999;
    pointer-events: auto;
}

.btn-rect {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 34px;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease, color .3s ease, transform .3s ease;
    min-width: 120px;
    box-sizing: border-box;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    position: relative;
    z-index: 999; 
    cursor: pointer;
    letter-spacing: 1px;
    line-height: 1;
    overflow: hidden;
}

.btn-login, .btn-register {
    background-color: rgba(255, 255, 255, .04); 
    color: #ffffff; 
    border: 1px solid rgba(255, 255, 255, .78);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 10px 30px rgba(0, 0, 0, .18);
}

.btn-login:hover, .btn-register:hover {
    background-color: rgba(255, 255, 255, .94);
    border-color: #ffffff;
    color: #1e1f21;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(255, 255, 255, .22);
}

.btn-login:focus-visible, .btn-register:focus-visible {
    outline: 2px solid rgba(255, 255, 255, .9);
    outline-offset: 4px;
}

.btn-login:active, .btn-register:active {
    transform: translateY(0);
}

@media screen and (max-width:360px){
    #card .card-inner{width:calc(100% - 32px)!important;max-width:320px}
    #card .card-inner header h2{letter-spacing:2px}
    .button-group{gap:14px}
    .btn-rect{min-width:112px;padding:12px 26px}
}
