body {
    margin: 0;
    padding: 0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    color: #ffffff;
    background-color: #050816;
}

a {
    color: #58a6ff;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

.site-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 24px;
    background: rgba(0, 0, 0, 0.7);
    position: sticky;
    top: 0;
    backdrop-filter: blur(10px);
}

.logo a {
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* Remove top site header/nav completely on public pages */
.site-header { display: none !important; }

.main-nav a {
    margin-left: 16px;
    font-size: 0.9rem;
}

.hero-block {
    padding: 80px 24px 40px;
    max-width: 900px;
    margin: 0 auto;
}

.hero-block h1 {
    font-size: 3rem;
    margin-bottom: 12px;
}

.hero-block p {
    font-size: 1.2rem;
    color: #a0a0b8;
}

/* Brand + scrollbar theme shared with cubes */
:root { --brand: 0,198,255; }
.is-mac {} /* noop placeholder: keep diff minimal */
/* Scrollbar theme variables */
:root {
  --scroll-track: rgba(255,255,255,.06);
  --scroll-track-fade: rgba(255,255,255,.03);
  --scroll-thumb: rgba(var(--brand), .55);
  --scroll-thumb-hover: rgba(var(--brand), .7);
  --scroll-glow: rgba(var(--brand), .22);
}

/* Public cube viewer container (visuals for individual cubes come from css/cubes.css) */
.cube-view { position: relative; width: 100%; min-height: 200px; perspective: 1400px;
  margin: 10px 0 24px 0;
}

/* Focus wrapper: lets us add per-cube focus scale/Z without fighting inline JS transforms */
.cube > .focus-wrap {
  transform: translateZ(var(--focus-tz, 0px)) scale(var(--focus-sx, 1), var(--focus-sy, 1));
  transform-style: preserve-3d;
  transition: transform .28s cubic-bezier(.22,.61,.36,1);
}

/* Minimal material scrollbar (public) */
/* Firefox */
html, body, main, .page, #app, .cube-view {
  scrollbar-width: thin;
  scrollbar-color: var(--scroll-thumb) transparent;
}
/* WebKit */
*::-webkit-scrollbar { width: 12px; height: 12px; }
*::-webkit-scrollbar-track {
  background: linear-gradient(180deg, transparent 0%, var(--scroll-track-fade) 50%, transparent 100%);
  border-radius: 999px;
}
*::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--scroll-thumb), rgba(var(--brand), .35));
  border-radius: 999px;
  background-clip: padding-box;
  border: 3px solid transparent; /* thin line feel */
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.06),
    0 6px 14px rgba(0,0,0,.35),
    0 0 10px var(--scroll-glow);
}
*::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, var(--scroll-thumb-hover), rgba(var(--brand), .45));
}
*::-webkit-scrollbar-corner { background: transparent; }

/* Override: hide arrows and remove track background; show only blue line */
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-button { display:none; width:0; height:0 }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb {
  background: rgba(var(--brand), .8);
  border-radius: 999px;
  background-clip: padding-box;
  border: 3px solid transparent; /* makes the visible line thinner */
  box-shadow: none;
}
*::-webkit-scrollbar-thumb:hover { background: rgba(var(--brand), 1); }
/* Extra-hard arrow and resizer removal for all WebKit flavors */
*::-webkit-scrollbar-button,
*::-webkit-scrollbar-button:single-button,
*::-webkit-scrollbar-button:double-button,
*::-webkit-scrollbar-button:vertical,
*::-webkit-scrollbar-button:horizontal,
*::-webkit-scrollbar-button:vertical:increment,
*::-webkit-scrollbar-button:vertical:decrement,
*::-webkit-scrollbar-button:horizontal:increment,
*::-webkit-scrollbar-button:horizontal:decrement { display:none; width:0; height:0; background:transparent }
*::-webkit-resizer { display:none; width:0; height:0; background:transparent }
*::-webkit-scrollbar-corner { background: transparent !important }
