:root { --bg: #ffffff; --fg: #000000; --acc: #2065d7; /* --acc: #cf2929; */ --alt: #888888; }

* { font-family: "Readex Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; scrollbar-width: none; }
*::-webkit-scrollbar { display: none; }

body { margin: 0; animation: fadein 1s; background: var(--bg); color: var(--fg); }

@keyframes fadein { from { opacity: 0; }
  to { opacity: 1; } }
.bg { width: 100%; height: 100%; position: fixed; background: linear-gradient(315deg, var(--acc) -500%, var(--bg)); z-index: -10; }

.content { width: 70%; margin-left: 15%; }

button { color: white; background-color: var(--acc); border: none; padding: 10px; border-radius: 10px; margin-top: 2rem; }

a { color: var(--acc); }

ion-icon { color: var(--acc); }

header { position: fixed; width: 100%; height: 10vh; padding-top: 1vh; padding-bottom: 10vh; background: linear-gradient(to bottom, var(--bg) 50%, #ffffff00); z-index: 5; pointer-events: none; }
header .content { display: flex; flex-flow: row wrap; justify-content: flex-start; align-items: center; height: 100%; gap: 1rem; }
header a { height: 100%; text-decoration: none; align-items: center; display: flex; }
header img { border-radius: 100%; aspect-ratio: 1; height: 100%; object-fit: cover; }
header h1 { margin: 0; background: linear-gradient(45deg, var(--fg), var(--acc)); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-size: 3vh; }
header * { pointer-events: all; }

.links { text-align: center; display: inline-block; list-style: none; padding: 0; margin: 0; display: flex; margin-left: auto; gap: 2rem; }
.links li { color: var(--acc); max-width: 2rem; display: flex; flex-flow: column nowrap; align-items: center; }
.links li span { position: absolute; opacity: 0; text-align: center; transition: all 0.2s linear; white-space: nowrap; top: calc(6vh + 1rem); }
.links li:hover span { opacity: 1; }

@media (max-width: 820px) { .content { width: 90%; margin-left: 5%; } }
@media (max-width: 1030px) { header .links { gap: 0.5rem; } }
section.first { padding-bottom: 10vh; }

.highlight .c { color: #75715e; }

/* Comment */
.highlight .err { color: #960050; background-color: #1e0010; }

/* Error */
.highlight .k { color: #66d9ef; }

/* Keyword */
.highlight .l { color: #ae81ff; }

/* Literal */
.highlight .n { color: #f8f8f2; }

/* Name */
.highlight .o { color: #f92672; }

/* Operator */
.highlight .p { color: #f8f8f2; }

/* Punctuation */
.highlight .cm { color: #75715e; }

/* Comment.Multiline */
.highlight .cp { color: #75715e; }

/* Comment.Preproc */
.highlight .c1 { color: #75715e; }

/* Comment.Single */
.highlight .cs { color: #75715e; }

/* Comment.Special */
.highlight .ge { font-style: italic; }

/* Generic.Emph */
.highlight .gs { font-weight: bold; }

/* Generic.Strong */
.highlight .kc { color: #66d9ef; }

/* Keyword.Constant */
.highlight .kd { color: #66d9ef; }

/* Keyword.Declaration */
.highlight .kn { color: #f92672; }

/* Keyword.Namespace */
.highlight .kp { color: #66d9ef; }

/* Keyword.Pseudo */
.highlight .kr { color: #66d9ef; }

/* Keyword.Reserved */
.highlight .kt { color: #66d9ef; }

/* Keyword.Type */
.highlight .ld { color: #e6db74; }

/* Literal.Date */
.highlight .m { color: #ae81ff; }

/* Literal.Number */
.highlight .s { color: #e6db74; }

/* Literal.String */
.highlight .na { color: #a6e22e; }

/* Name.Attribute */
.highlight .nb { color: #f8f8f2; }

/* Name.Builtin */
.highlight .nc { color: #a6e22e; }

/* Name.Class */
.highlight .no { color: #66d9ef; }

/* Name.Constant */
.highlight .nd { color: #a6e22e; }

/* Name.Decorator */
.highlight .ni { color: #f8f8f2; }

/* Name.Entity */
.highlight .ne { color: #a6e22e; }

/* Name.Exception */
.highlight .nf { color: #a6e22e; }

/* Name.Function */
.highlight .nl { color: #f8f8f2; }

/* Name.Label */
.highlight .nn { color: #f8f8f2; }

/* Name.Namespace */
.highlight .nx { color: #a6e22e; }

/* Name.Other */
.highlight .py { color: #f8f8f2; }

/* Name.Property */
.highlight .nt { color: #f92672; }

/* Name.Tag */
.highlight .nv { color: #f8f8f2; }

/* Name.Variable */
.highlight .ow { color: #f92672; }

/* Operator.Word */
.highlight .w { color: #f8f8f2; }

/* Text.Whitespace */
.highlight .mf { color: #ae81ff; }

/* Literal.Number.Float */
.highlight .mh { color: #ae81ff; }

/* Literal.Number.Hex */
.highlight .mi { color: #ae81ff; }

/* Literal.Number.Integer */
.highlight .mo { color: #ae81ff; }

/* Literal.Number.Oct */
.highlight .sb { color: #e6db74; }

/* Literal.String.Backtick */
.highlight .sc { color: #e6db74; }

/* Literal.String.Char */
.highlight .sd { color: #e6db74; }

/* Literal.String.Doc */
.highlight .s2 { color: #e6db74; }

/* Literal.String.Double */
.highlight .se { color: #ae81ff; }

/* Literal.String.Escape */
.highlight .sh { color: #e6db74; }

/* Literal.String.Heredoc */
.highlight .si { color: #e6db74; }

/* Literal.String.Interpol */
.highlight .sx { color: #e6db74; }

/* Literal.String.Other */
.highlight .sr { color: #e6db74; }

/* Literal.String.Regex */
.highlight .s1 { color: #e6db74; }

/* Literal.String.Single */
.highlight .ss { color: #e6db74; }

/* Literal.String.Symbol */
.highlight .bp { color: #f8f8f2; }

/* Name.Builtin.Pseudo */
.highlight .vc { color: #f8f8f2; }

/* Name.Variable.Class */
.highlight .vg { color: #f8f8f2; }

/* Name.Variable.Global */
.highlight .vi { color: #f8f8f2; }

/* Name.Variable.Instance */
.highlight .il { color: #ae81ff; }

/* Literal.Number.Integer.Long */
/* Generic Heading & Diff Header */
.highlight .gu { color: #75715e; }

/* Generic.Subheading & Diff Unified/Comment? */
.highlight .gd { color: #f92672; }

/* Generic.Deleted & Diff Deleted */
.highlight .gi { color: #a6e22e; }

/* Generic.Inserted & Diff Inserted */
pre, code { font-family: 'JetBrains Mono', 'Courier New', Courier, monospace; border: 1px solid var(--alt); border-radius: 3px; background-color: #343434; color: white; }

pre * { font-family: 'JetBrains Mono', 'Courier New', Courier, monospace; }

code { padding: 1px 5px; }

pre { padding: 8px 12px; overflow-x: auto; }
pre > code { border: 0; padding-right: 0; padding-left: 0; }

blockquote { color: var(--alt); border-left: 4px solid var(--alt); padding-left: 0.5rem; letter-spacing: -1px; font-style: italic; }
blockquote > :last-child { margin-bottom: 0; }

table { margin-bottom: 1rem; width: 100%; text-align: left; color: var(--fg); border-collapse: collapse; border: 1px solid var(--alt); }
table th, table td { padding: 0.33rem 0.5rem; }
table th { background-color: var(--alt); border: 1px solid #777777; border-bottom-color: #666666; }
table td { border: 1px solid var(--alt); }
