@import url('styles/iconfont.css'); .iconfont { font-family: unset !important; font-size: unset; font-style: unset; -webkit-font-smoothing: unset; -moz-osx-font-smoothing: unset; } .iconfont::before { font-family: 'iconfont' !important; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } * { margin: 0; padding: 0; box-sizing: border-box; } .clearfix::after { content: ''; display: block; clear: both; } @keyframes fadeOut { from { opacity: 1; } to { opacity: 0; bottom: 100%; margin-bottom: auto; } } .background { position: fixed; left:0;right:0;top:0;bottom:0; width: 100vw; height: 100vh; user-select: none; z-index: -10; opacity: 0.3; } @font-face { font-family: 'JetBrains Mono'; src: url('styles/JetBrainsMono-Regular.ttf'); font-weight: normal; } @font-face { font-family: 'JetBrains Mono'; src: url('styles/JetBrainsMono-Bold.ttf'); font-weight: bold; } html { scrollbar-gutter: stable; } body { background-color: hsl(201, 20%, 10%); color: hsl(0, 0%, 100%, 0.95); font-family: 'JetBrains Mono', sans-serif; padding: 10px; text-wrap: pretty; } @keyframes fadeIn { from { transform: translateY(100px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } .container { animation: fadeIn 0.5s forwards; } @keyframes blendIn { from { filter: blur(30px); letter-spacing: 5px; } to { filter: blur(0); letter-spacing: 1px; } } .title-area { margin: 10px; } .title-area h1 { filter: url(#blend); } .title-area h1 span { animation: blendIn 0.8s forwards; } .links { display: flex; gap: 1em; padding-left: 5px; } .return { padding-left: 5px; } .return::before { content: '◀ '; } a { color: inherit; } a:hover { opacity: 0.8; } .container > .cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 20px; margin-top: 1rem; } .container > .cards .card { background-color: hsla(201, 20%, 100%, 0.1); position: relative; border-radius: 8px; height: 270px; overflow: hidden; } .container > .cards .card::before { content: ''; background-image: radial-gradient( closest-side circle, hsla(201, 20%, 100%, 0.4), transparent ); position: absolute; left:0;right:0;top:0;bottom:0; transform: translate(var(--x, -1000px), var(--y, -1000px)); } .container > .cards .card:hover:before { background: hsla(201, 20%, 100%, 0.6); transform: none; } .container > .cards .card .inner { background-color: hsl(201, 20%, 15%); position: absolute; padding: 3px; left:2px;right:2px;top:2px;bottom:2px; border-radius: inherit; } .information { position: absolute; left: 0; bottom: 0; padding: 5px; opacity: 0.5; } .container > .contents { margin: auto; width: 90%; } aside { float: right; width: 300px; margin-left: 10px; } @media screen and (max-width: 600px) { aside { float: unset; width: unset; margin: 10px 0; } } .aside-item { background-color: hsla(201, 20%, 100%, 0.1); border-radius: 8px; padding: 5px; margin-bottom: 10px; } article { box-shadow: 0 0 5px hsla(201, 20%, 100%, 0.4); border-radius: 8px; padding: 5px; overflow: hidden; line-height: 1.5; } .error { font-size: 2em; text-align: center; margin-top: 20vh; } .error .opps { font-size: 1rem; margin-bottom: 10px; letter-spacing: 2px; } .error .message { margin-bottom: 10px; } .error .message samp { font-family: inherit; font-weight: bold; } .error .return { font-size: 1rem; display: block; } .clicks { position: fixed; pointer-events: none; left:0;right:0;top:0;bottom:0; } @keyframes jump { 0% { transform: translate(-50%, 20px); filter: blur(1px); opacity: 0; } 80% { transform: translate(-50%, -20px); filter: blur(0); opacity: 1; } 100% { transform: translate(-50%, -20px); filter: blur(1px); opacity: 0; } } .clicks .click { position: absolute; animation: jump 0.8s forwards; } pre, code { background-color: hsla(201, 20%, 100%, 0.1); padding: 2px 4px; border-radius: 4px; font-family: inherit; font-size: 14px; } code { cursor: pointer; } code:active { background-color: hsla(201, 20%, 100%, 0.2); } p, ul, ol, li { margin-left: 1em; margin-top: 0.5em; margin-bottom: 0.5em; } .banner { position: relative; min-height: 250px; height: 60vh; transition: 0.2s; text-align: center; } .banner .mask { position: absolute; left:0;right:0;top:0;bottom:0; background-color: hsla(201, 20%, 0%, 0.5); transition: 0.2s; } .banner:hover .mask { background-color: transparent; border-top: 8px solid hsl(201, 20%, 100%); border-bottom: 8px solid hsl(201, 20%, 100%); } .banner:hover { text-shadow: 0 0 10px hsla(201, 20%, 0%, 0.5); } .banner h2 { letter-spacing: 2px; font-size: 2em; margin-bottom: 20px; } .banner .contents { position: absolute; left:0;right:0;top:0;bottom:0; z-index: 1; display: flex; justify-content: center; align-items: center; flex-direction: column; font-size: 1.2em; } @keyframes colorful { to { filter: hue-rotate(360deg); } } .banner:last-of-type { animation: colorful 10s infinite; } .carousel { line-height: 1; height: 1.2em; --pos: 0; overflow: hidden; position: relative; list-style: none; margin: 0; } .carousel > * { margin: 0; height: 1.2em; transform: translateY(calc(var(--pos) * -1.2em)); transition: 0.2s; } .carousel.finished > * { transition: none !important; } .information .iconfont::before { margin-right: 2px; } img { max-width: 100%; } 