.App-logo{height:40vmin;pointer-events:none}.container{margin:6em auto;width:60%;max-width:750px}body{overflow-x:hidden}#gradient-canvas{position:absolute;transform:translateY(-115.5%);--gradient-color-1: #a960ee;--gradient-color-2: #ff333d;--gradient-color-3: #90e0ff;--gradient-color-4: #ffcb57}.footer{color:#aaa;transition:color .3s ease;margin-top:6em;margin-bottom:2em;text-align:center;font-size:.9em;letter-spacing:.3px}.footer img{float:right;height:25px;width:25px}body.light-mode .footer{color:#000;opacity:.7}ul{list-style-type:none;padding:0;margin:0}li{margin-top:.5em}.intro{text-shadow:0 0 1px #cccccc,0 0 3px #bbbbbb;transition:color .3s ease,text-shadow .3s ease}img{width:50px;margin-bottom:1em;display:block}.head{overflow:auto;margin-bottom:1em}hr{transition:border-color .3s ease;margin:1.5em 0}span.glow-green a{color:#3ddc97;text-shadow:0 0 1px #3ddc97,0 0 3px #3ddc97;text-decoration:none;transition:color .3s ease,text-shadow .3s ease}span.glow-blue a{color:#87f1ff;text-shadow:0 0 1px #87f1ff,0 0 3px #87f1ff;text-decoration:none;transition:color .3s ease,text-shadow .3s ease}span.glow-darkblue a{color:#87cfff;text-shadow:0 0 1px #87f1ff,0 0 3px #87f1ff;text-decoration:none;transition:color .3s ease,text-shadow .3s ease}span.glow-yellow a{color:#ffd23f;text-shadow:0 0 1px #ffd23f,0 0 3px #ffd23f;text-decoration:none;transition:color .3s ease,text-shadow .3s ease}span.glow-brown a{color:#d8a149;text-shadow:0 0 1px #91662a,0 0 3px #91662a;text-decoration:none;transition:color .3s ease,text-shadow .3s ease}span a:hover{color:#87f1ff}span.glow-pink{color:#da0b37;text-shadow:0 0 1px #ee4266,0 0 3px #ee4266;transition:color .3s ease,text-shadow .3s ease}span.glow-green{color:#73d94a;text-shadow:0 0 1px #ee4266,0 0 3px #ee4266;transition:color .3s ease,text-shadow .3s ease}span.glow-white{text-shadow:0 0 1px #cccccc,0 0 3px #bbbbbb;transition:text-shadow .3s ease}.desc{margin-top:2em;margin-bottom:3em;transition:color .3s ease;line-height:1.8}.desc p{margin-bottom:1.5em}.desc a{color:#ddd;text-decoration:none;transition:color .3s ease}.nav-tabs{margin-top:1.5em;margin-bottom:2em;font-family:Space Mono,Menlo,Monaco,Consolas,Courier New,monospace}.nav-tabs a{color:#aaa;text-decoration:none;transition:color .3s ease;margin-right:1em}.nav-tabs a:hover{color:#87f1ff}.nav-tabs a.active{color:#87f1ff;font-weight:700}.home-content{margin-top:3em;margin-bottom:8em;text-align:center}.home-content p{margin:1.2em 0}.nav-link{color:#aaa;text-decoration:none;transition:all .3s ease;font-family:Space Mono,Menlo,Monaco,Consolas,Courier New,monospace;border-bottom:1px dotted #aaaaaa;padding-bottom:2px}.nav-link:hover{color:#87f1ff;border-bottom-color:#87f1ff;border-bottom-style:solid}.nav-separator{margin:0 .3em;color:#aaa}body.light-mode .nav-separator{color:#000;opacity:.5}.links a{text-decoration:none;color:#aaa;transition:color .3s ease}a.links:visited{color:#aaa}a:hover{color:#87f1ff}.light-mode-toggle{background:none;border:none;cursor:pointer;font-size:1em;font-family:Space Mono,Menlo,Monaco,Consolas,Courier New,monospace;padding:0;margin-left:.5em;color:#aaa;text-decoration:none;transition:color .3s ease}.light-mode-toggle:hover{color:#87f1ff}body.light-mode .intro{color:#000;text-shadow:none}body.light-mode hr{border-color:#000;transition:border-color .3s ease}body.light-mode .desc,body.light-mode .desc a,body.light-mode .links a{color:#000;transition:color .3s ease}body.light-mode .links a:hover{color:#000;opacity:.7}body.light-mode .light-mode-toggle{color:#000;transition:color .3s ease}body.light-mode .light-mode-toggle:hover{color:#000;opacity:.7}body.light-mode .nav-tabs a{color:#000;transition:color .3s ease}body.light-mode .nav-tabs a:hover,body.light-mode .nav-tabs a.active{color:#000;opacity:.7}body.light-mode .nav-link{color:#000;transition:all .3s ease;border-bottom:1px dotted #000000;opacity:.7}body.light-mode .nav-link:hover{color:#000;opacity:1;border-bottom-color:#000;border-bottom-style:solid}body.light-mode span.glow-green{color:#000;text-shadow:none;background-color:#3ddc9740;padding:1px 3px;border-radius:3px;transition:background-color .2s ease;display:inline-block}body.light-mode span.glow-green a{color:#000;text-shadow:none;background-color:transparent;text-decoration:none}body.light-mode span.glow-green:hover{background-color:#3ddc9766}body.light-mode span.glow-green:hover a{color:#000}body.light-mode span.glow-blue{color:#000;text-shadow:none;background-color:#87f1ff40;padding:1px 3px;border-radius:3px;transition:background-color .2s ease;display:inline-block}body.light-mode span.glow-blue a{color:#000;text-shadow:none;background-color:transparent;text-decoration:none}body.light-mode span.glow-blue:hover{background-color:#87f1ff66}body.light-mode span.glow-blue:hover a{color:#000}body.light-mode span.glow-darkblue{color:#000;text-shadow:none;background-color:#87cfff40;padding:1px 3px;border-radius:3px;transition:background-color .2s ease;display:inline-block}body.light-mode span.glow-darkblue a{color:#000;text-shadow:none;background-color:transparent;text-decoration:none}body.light-mode span.glow-darkblue:hover{background-color:#87cfff66}body.light-mode span.glow-darkblue:hover a{color:#000}body.light-mode span.glow-yellow{color:#000;text-shadow:none;background-color:#ffd23f40;padding:1px 3px;border-radius:3px;transition:background-color .2s ease;display:inline-block}body.light-mode span.glow-yellow a{color:#000;text-shadow:none;background-color:transparent;text-decoration:none}body.light-mode span.glow-yellow:hover{background-color:#ffd23f66}body.light-mode span.glow-yellow:hover a{color:#000}body.light-mode span.glow-brown{color:#000;text-shadow:none;background-color:#d8a14940;padding:1px 3px;border-radius:3px;transition:background-color .2s ease;display:inline-block}body.light-mode span.glow-brown a{color:#000;text-shadow:none;background-color:transparent;text-decoration:none}body.light-mode span.glow-brown:hover{background-color:#d8a14966}body.light-mode span.glow-brown:hover a{color:#000}body.light-mode span.glow-pink{color:#000;text-shadow:none;background-color:#ee426640;padding:1px 3px;border-radius:3px;transition:background-color .2s ease;display:inline-block}body.light-mode span.glow-pink:hover{background-color:#ee426666}body.light-mode span.glow-white{color:#000;text-shadow:0 0 1px #cccccc,0 0 3px #bbbbbb}body.light-mode span a:hover{color:#87f1ff}body.light-mode span.glow-green a:hover,body.light-mode span.glow-blue a:hover,body.light-mode span.glow-darkblue a:hover,body.light-mode span.glow-yellow a:hover,body.light-mode span.glow-brown a:hover,body.light-mode span.glow-pink a:hover{color:#000;background-color:transparent}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-vietnamese-400-normal.98337a83.woff2) format("woff2"),url(/assets/space-mono-all-400-normal.19b2d821.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-ext-400-normal.bbca7630.woff2) format("woff2"),url(/assets/space-mono-all-400-normal.19b2d821.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-400-normal.db98df23.woff2) format("woff2"),url(/assets/space-mono-all-400-normal.19b2d821.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#121619;color:#ddd;transition:background-color .3s ease,color .3s ease}body.light-mode{background-color:#fff;color:#000}code{font-family:Space Mono,Menlo,Monaco,Consolas,Courier New,monospace}
