@font-face { font-family:'Bebas Neue'; src:url('../fnt/BebasNeue-Regular.ttf') format('truetype'); font-weight:400; font-display:block; }
@font-face { font-family:'Space Mono'; src:url('../fnt/SpaceMono-Regular.ttf') format('truetype'); font-weight:400; font-display:block; }
@font-face { font-family:'Space Mono'; src:url('../fnt/SpaceMono-Bold.ttf') format('truetype'); font-weight:700; font-display:block; }

* { margin:0; padding:0; box-sizing:border-box; }
html, body { width:100%; height:100%; overflow:hidden; }
body { cursor:default; }
.bb-wrap, .bb-wrap * { user-select:none; -webkit-user-select:none; }
a.bb-enter { cursor:pointer; }

.bb-wrap {
  width:100vw; height:100vh;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}

canvas.bb-canvas { position:absolute; inset:0; pointer-events:none; }

.bb-center {
  position:relative; z-index:10;
  display:flex; flex-direction:column; align-items:center;
}

.bb-above {
  font-family:'Space Mono', monospace;
  font-size:11px; letter-spacing:0.42em; text-transform:uppercase;
  margin-bottom:28px; display:flex; align-items:center; gap:8px;
  opacity:0; transition:opacity 0.8s ease;
}
.bb-above.vis { opacity:1; }
.bb-above-dot { display:inline-block; width:3px; height:3px; border-radius:50%; }

.bb-tm {
  font-family:'Space Mono', monospace;
  font-size:13px; font-weight:700;
  opacity:0; line-height:1; margin-top:10px; margin-left:2px;
  transition:opacity 0.6s ease; user-select:none;
}
.bb-tm.vis { opacity:1; }

.bb-title-wrap {
  display:flex; align-items:flex-start;
  opacity:0; transition:opacity 0.8s ease;
}
.bb-title-wrap.vis { opacity:1; }

.bb-divider {
  width:0; height:1px; margin-top:28px;
  transition:width 1.2s ease;
}
.bb-divider.vis { width:300px; }

.bb-below {
  font-family:'Space Mono', monospace;
  font-size:9px; letter-spacing:0.38em; text-transform:uppercase;
  margin-top:16px; opacity:0; transition:opacity 1.2s ease;
  text-align:center; line-height:1.8;
}
.bb-below.vis { opacity:1; }

.bb-enter {
  font-family:'Space Mono', monospace;
  font-size:11px; font-weight:700; letter-spacing:0.35em; text-transform:uppercase;
  margin-top:32px; opacity:0; padding:12px 32px; border-radius:2px;
  transition:opacity 0.8s ease, background 0.3s, box-shadow 0.3s;
  text-decoration:none; display:inline-block;
}
.bb-enter.vis { opacity:1; }

.bb-copyright {
  position:fixed;
  bottom:62px;
  left:50%;
  transform:translateX(-50%);
  font-family:'Space Mono', monospace;
  font-size:8px;
  letter-spacing:0.25em;
  text-transform:uppercase;
  white-space:nowrap;
  opacity:0;
  transition:opacity 1.5s ease;
  z-index:20;
}
.bb-copyright.vis { opacity:1; }
