@import "base"; @import "icons"; * { box-sizing: border-box; } body { margin: 0; height: 100vh; width: 100%; display: flex; flex-direction: column; position: relative; overflow: auto; header { text-align: center; width: 100%; height: fit-content; flex-grow: 0; @media (max-width: $breakpoint-mobile) { margin-top: $mobile-navigation-height; } .header-image { height: 200px; width: fit-content; max-width: 100%; object-fit: contain; } #backToWiki > img { transition: transform 200ms; } #backToWiki:hover > img { transform: scale(1.05); } } .main-title, h1, .h1, h2, .h2, h3, .h3, h4, .h4 { filter: var(--text-glow-primary); color: var(--color-glow-primary); } > div { display: flex; gap: 1rem; flex-grow: 1; flex-direction: column; @media (min-width: $breakpoint-mobile) { flex-direction: row; } nav { display: flex; flex-direction: column; flex-shrink: 0; position: sticky; top: 0; padding: 0 1rem; background-color: var(--color-background); z-index: 20; overflow: hidden; width: 100%; height: $mobile-navigation-height; transition: height 200ms; @media (min-width: $breakpoint-mobile) { max-width: 15rem; width: fit-content; top: 1rem; height: fit-content; overflow: visible; button { display: none; } } @media (max-width: $breakpoint-mobile) { position: fixed; &:not(.visible) { ul { display: none; } } &.visible { height: 100vh; } } button { background-color: transparent; border: none; color: var(--color-foreground); font-size: 2rem; cursor: pointer; transition: filter 400ms ease-in; padding: 1rem 0; width: 2rem; height: 2rem; box-sizing: content-box; &:hover { filter: var(--filter-glow-primary); transition: var(--transition-glow); } } ul { display: flex; flex-direction: column; gap: 0.75rem; list-style-type: none; padding: 0; margin: 0; li { border-radius: 0.5rem; background-color: var(--color-shade-1); transition: background-color 150ms; &.link-back { background-color: var(--color-background); } &.active { background-color: var(--color-shade-2); } &.link-back, &.active { a { border-color: var(--color-shade-4); } } > a, label { display: flex; align-items: center; gap: 0.5rem; border-radius: 0.5rem; border: solid 0.1em var(--color-shade-1); padding: 0.4rem 1rem; color: var(--color-foreground); text-decoration: none; font-size: 1.2em; box-sizing: border-box; transition-property: filter, border-color; transition-duration: 400ms; transition-timing-function: ease-in; &:visited, &:focus, &:active, &:hover { color: var(--color-foreground); } } &:hover, &:focus-within { background-color: transparent; a, label { border: solid 0.1em var(--color-glow-primary); background-color: transparent; filter: var(--filter-glow-primary); transition: var(--transition-glow); &:visited, &:focus, &:active, &:hover { color: var(--color-glow-primary); } } &.link-back a { border: solid 0.1em var(--color-glow-secondary); filter: var(--filter-glow-secondary); &:visited, &:focus, &:active, &:hover { color: var(--color-glow-secondary); } } } } li:not(.themeToggle) { i[data-icon] { padding-right: 0.5em; padding-top: 0.2em; padding-bottom: 0.2em; border-right: solid 0.1em currentColor; } } li.themeToggle { font-size: 1.4em; width: fit-content; input { width: 0; height: 0; margin: 0; padding: 0; display: block; opacity: 0; } label { justify-content: center; padding: 0.25em; } } } } main { max-width: min(var(--container-4xl), 100vw); width: 100%; padding: 0 1rem; @media (min-width: $breakpoint-mobile) { padding-left: 2rem; border-left: dashed 0.25rem var(--color-shade-4); } } } } .background { background-color: var(--color-background); } a { &.a-regular, &.a-regular:hover, &.a-regular:active, &.a-regular:focus, &.a-regular:visited { color: var(--color-accent-1); text-decoration: underline; } &.a-hover, &.a-hover:visited { color: var(--color-accent-3); text-decoration: none; } &.a-visited, &.a-visited:hover, &.a-visited:active, &.a-visited:focus { color: var(--color-accent-2); text-decoration: underline; } } .alert { background-color: var(--color-shade-1); padding: 1rem 1.5rem; border-radius: 1rem; position: relative; display: flex; flex-direction: row; gap: 1.5rem; margin: 2rem 0; i[data-icon] { padding-top: 0.5rem; font-size: var(--text-5xl); filter: var(--filter-glow-primary); color: var(--color-glow-primary); } strong { font-size: var(--text-xl); display: block; } p { margin: 0; } &::before { content: ""; position: absolute; inset: 0; border-radius: 1rem; border: solid 0.125rem var(--color-glow-primary); filter: var(--filter-glow-primary); } } pre, .code { max-width: 100%; overflow-x: auto; } .layout-column { display: flex; width: 100%; & > * { width: 100%; } @media (max-width: $breakpoint-mobile) { flex-wrap: wrap; & > * { width: 100%; } } } .flex-wrap-md { display: flex; align-items: center; & > * { width: 100%; } @media (max-width: $breakpoint-xl) { flex-wrap: wrap; justify-content: center; & > * { width: 100%; } } } main > div.generator { display: flex; flex-direction: column; gap: 1em; align-items: center; img { width: 400px; height: 300px; object-fit: contain; filter: drop-shadow(0 0 0.0625em var(--color-white)) drop-shadow(0 0 0.125em var(--color-primary)) drop-shadow(0 0 0.25em var(--color-primary)); } i { font-size: 3em; filter: drop-shadow(0 0 0.0625em var(--color-white)) drop-shadow(0 0 0.125em var(--color-primary)) drop-shadow(0 0 0.25em var(--color-primary)); } } .icon-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(var(--text-5xl), 1fr)); align-items: center; justify-items: center; gap: 2rem; div { width: var(--text-5xl); height: var(--text-5xl); display: flex; align-items: center; justify-content: center; box-sizing: content-box; padding: 0.5rem; border-radius: 0.3rem; cursor: pointer; &:hover, &:focus { background-color: var(--color-shade-2); i[data-icon]::after { content: attr(data-icon); font-size: var(--text-xl); background-color: var(--color-shade-2); padding: 0.5rem; z-index: 10; position: absolute; bottom: calc((var(--text-xl) * -1) - 2rem); border-radius: 0.3rem; } } i[data-icon] { font-size: var(--text-5xl); position: relative; &.icon-small { font-size: var(--text-3xl); } } } } .swatch-grid { background-color: var(--color-background); color: var(--color-foreground); padding: 1rem; section { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; & > span { width: 100%; font-size: var(--text-xl); } .swatch-container { display: inline-flex; flex-direction: column; align-items: end; gap: 0.25rem; background-color: var(--color-background); border-radius: 1rem; padding: 0.5rem; border: 0.125rem solid var(--color-foreground); .swatch { background-color: var(--swatch-color); width: 8rem; height: 8rem; border-radius: 0.5rem; } span { font-family: "Departure Mono", ui-monospace, monospace; color: var(--color-foreground); line-height: 1.5; } } } } .glow-16-primary { font-family: "Argon Glow", ui-sans, sans-serif; font-weight: 400; font-size: 16px; color: var(--color-white); filter: url("glows.svg#textBlur16Primary"); } .glow-18-primary { font-family: "Argon Glow", ui-sans, sans-serif; font-weight: 400; font-size: 18px; color: var(--color-white); filter: url("glows.svg#textBlur18Primary"); } .glow-24-primary { font-family: "Argon Glow", ui-sans, sans-serif; font-weight: 400; font-size: 24px; color: var(--color-white); filter: url("glows.svg#textBlur24Primary"); } .glow-32-primary { font-family: "Argon Glow", ui-sans, sans-serif; font-weight: 400; font-size: 32px; color: var(--color-white); filter: url("glows.svg#textBlur32Primary"); } .glow-48-primary { font-family: "Argon Glow", ui-sans, sans-serif; font-weight: 400; font-size: 48px; color: var(--color-white); filter: url("glows.svg#textBlur48Primary"); } .glow-72-primary { font-family: "Argon Glow", ui-sans, sans-serif; font-weight: 400; font-size: 72px; color: var(--color-white); filter: url("glows.svg#textBlur72Primary"); } .glow-160-primary { font-family: "Argon Glow", ui-sans, sans-serif; font-weight: 400; font-size: 160px; color: var(--color-white); filter: url("glows.svg#textBlur160Primary"); } .glow-16-secondary { font-family: "Argon Glow", ui-sans, sans-serif; font-weight: 400; font-size: 16px; color: var(--color-white); filter: url("glows.svg#textBlur16Secondary"); } .glow-18-secondary { font-family: "Argon Glow", ui-sans, sans-serif; font-weight: 400; font-size: 18px; color: var(--color-white); filter: url("glows.svg#textBlur18Secondary"); } .glow-24-secondary { font-family: "Argon Glow", ui-sans, sans-serif; font-weight: 400; font-size: 24px; color: var(--color-white); filter: url("glows.svg#textBlur24Secondary"); } .glow-32-secondary { font-family: "Argon Glow", ui-sans, sans-serif; font-weight: 400; font-size: 32px; color: var(--color-white); filter: url("glows.svg#textBlur32Secondary"); } .glow-48-secondary { font-family: "Argon Glow", ui-sans, sans-serif; font-weight: 400; font-size: 48px; color: var(--color-white); filter: url("glows.svg#textBlur48Secondary"); } .glow-72-secondary { font-family: "Argon Glow", ui-sans, sans-serif; font-weight: 400; font-size: 72px; color: var(--color-white); filter: url("glows.svg#textBlur72Secondary"); } .glow-160-secondary { font-family: "Argon Glow", ui-sans, sans-serif; font-weight: 400; font-size: 160px; color: var(--color-white); filter: url("glows.svg#textBlur160Secondary"); }