@import "tailwindcss";

/* --- mobile-first :root --- */
:root {
  font-family: "Inter", sans-serif;
  font-feature-settings: "zero", "liga", "ss01";
  font-variation-settings: "wght" 200 400 600 800;
}

@supports (font-variation-settings: normal) {
  :root { font-family: "InterVariable", "Inter", sans-serif; font-optical-sizing: auto; }
}

@theme {
  --font-sans: "Inter", sans-serif;
  --font-mono: "XanhMono", sans-serif;
}

@font-face {
  font-family: "InterVariable";
  font-style: normal;
  font-weight: 200 400 600 800;
  font-display: swap;
  src: url("assets/fonts/InterVariable.woff2") format("woff2");
}

@font-face {
  font-family: "XanhMono";
  font-style: normal;
  src: url("assets/fonts/XanhMono-Regular.ttf") format("truetype");
}

body {
  background: rgb(237, 237, 237);
}

a {
  color: rgb(106, 0, 255);
}

h2 {
  font-weight: 300;
}

p {
  font-weight: 300;
}

ul {
  padding-top: 5px;
  padding-bottom: 5px;
}

li {
  display: inline-block;
  position: relative;
}

li:before {
  content: "•";
  position: relative;
  margin-right: 0.3rem;
  
}

.container {
  @apply max-w-7xl w-full mx-auto px-6 m-1.5; /* 7xl = 80rem, px-6 = 1.5rem */
}


/* Background Layer */
.bg-layer {
  position: fixed;
  inset: 0;                     /* top:0; right:0; bottom:0; left:0 */
  pointer-events: none;
  opacity: 0.25;
  mix-blend-mode: normal;                 
  overflow: hidden;
}

.bg-texture {
  --dot-color: rgb(0, 0, 0);
  --dot-size: 0.2px;    /* dot radius/diameter tweak */
  --dot-gap: 3.5rem;    /* spacing between dots */
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, var(--dot-color) var(--dot-size), transparent calc(var(--dot-size) + 1px));
  background-size: var(--dot-gap) var(--dot-gap);
  background-repeat: repeat;
  mix-blend-mode: normal;
  opacity: 1;
}

/* Slideshow */
.slideshow-container {
  position: relative;
  overflow: hidden;
}

.slide {
  width: 100%;
  height: 100%;
  opacity: 1;
  transition: opacity 1s ease-in-out;
  padding: 5px;
}
 
.slide.active {
  opacity: 1;
}

/* Accordion */
.accordion {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  display: block;
}

.accordion-item {
  margin-top: 6px;
  padding-bottom: 6px;
  border-bottom: 1px solid rgb(39, 39, 39);
}

.accordion-trigger {
  display: inline-flex;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  padding: 3px 0px;
  cursor: pointer;
  transition: background 150ms ease;
}

.accordion-trigger::after {
  content: "▾";
  display: inline-flex;
  font-size: 0.9rem;
  transform-origin: center;
  transition: transform 180ms ease;
  color: rgb(39,39,39);
}

.accordion-trigger[aria-expanded="true"]::after {
  transform: rotate(-180deg);
}

/* Panel uses max-height to animate; keep overflow hidden */
.accordion-panel {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  /* transition: max-height 280ms cubic-bezier(.2,.9,.2,1), opacity 220ms ease; */
}

/* expanded state helper (added/controlled by JS via inline style) */
.accordion-panel.is-open {
  opacity: 1;
}

.accordion-labels {
  display: grid;
  grid-template-columns: repeat(0, 1fr);
}

.accordion-labels col-span-2 {
  grid-column: span 2;
}

/* Columns */
.column {
  columns: auto;
  column-gap: normal;
  column-count: 2;
}
