Luigit
repositories / bugabinga.net

bugabinga.net

personal infrastructure for bugabinga!

owned by admin

sites/personal/style.css

Raw
@import "nugu.css";

* { box-sizing: border-box; }

:root { color-scheme: light dark; }

body {
  margin: 0;
  min-height: 100svh;
  padding: clamp(1.25rem, 6vw, 6rem);
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--nugu-ui-normal) 10%, transparent) 1px, transparent 1px),
    linear-gradient(color-mix(in srgb, var(--nugu-ui-normal) 10%, transparent) 1px, transparent 1px),
    var(--nugu-content-backdrop);
  background-size: 24px 24px;
  color: var(--nugu-content-normal);
  font: 16px/1.5 system-ui, sans-serif;
}

.sheet {
  width: min(72rem, 100%);
  margin: auto;
  border: 2px solid var(--nugu-ui-normal);
  background: var(--nugu-ui-backdrop);
  box-shadow: 8px 8px 0 var(--nugu-ui-accent);
}

header {
  padding: clamp(2rem, 6vw, 4rem);
  border-bottom: 2px solid var(--nugu-ui-normal);
}

.logo {
  display: block;
  width: clamp(8rem, 24vw, 15rem);
  height: auto;
  margin-block-end: clamp(2.5rem, 7vw, 5rem);
}

h1,
h2,
p {
  margin: 0;
}

.eyebrow {
  margin-block-end: 1rem;
  color: var(--nugu-ui-accent);
  font: 700 .9rem/1 ui-monospace, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

h1 {
  max-width: 11ch;
  font-size: clamp(3rem, 11vw, 8rem);
  line-height: .92;
  letter-spacing: -.06em;
}

.profile {
  padding: clamp(1.5rem, 4vw, 2.25rem);
  border-bottom: 2px solid var(--nugu-ui-normal);
}

.profile p {
  max-width: 54rem;
  color: var(--nugu-content-normal);
  font-size: clamp(1.15rem, 2.3vw, 1.65rem);
}

h2 {
  padding: 1rem clamp(1.25rem, 4vw, 2rem);
  border-bottom: 2px solid var(--nugu-ui-normal);
  background: var(--nugu-content-backdrop);
  color: var(--nugu-ui-accent);
  font: 800 1rem/1 ui-monospace, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.links,
.cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

a,
article {
  min-width: 0;
  display: grid;
  gap: .65rem;
  padding: clamp(1.5rem, 4vw, 2.25rem);
  border-right: 2px solid var(--nugu-ui-normal);
  border-bottom: 2px solid var(--nugu-ui-normal);
  color: var(--nugu-content-normal);
  text-decoration: none;
}

a:nth-child(2n),
article:nth-child(2n) {
  border-right: 0;
}

a:hover,
a:focus-visible {
  background: var(--nugu-ui-accent);
  color: var(--nugu-content-backdrop);
  outline: 3px solid var(--nugu-ui-focus);
  outline-offset: -5px;
}

b {
  font-size: clamp(1.25rem, 3vw, 2rem);
  line-height: 1;
  letter-spacing: -.03em;
}

span {
  color: var(--nugu-content-normal);
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  overflow-wrap: anywhere;
}

a b::after {
  content: " →";
  color: var(--nugu-ui-accent);
}

a:hover b::after,
a:focus-visible b::after {
  color: var(--nugu-content-backdrop);
}

a:hover span,
a:focus-visible span {
  color: var(--nugu-content-backdrop);
}

@media (prefers-color-scheme: dark) {
  .logo { filter: invert(1); }
}

@media (max-width: 760px) {
  body { padding: 1.25rem; }

  .links,
  .cards {
    grid-template-columns: 1fr;
  }

  a,
  article,
  a:nth-child(2n),
  article:nth-child(2n) {
    border-right: 0;
  }
}