:root{
  --midnight-black:#050505;
  --black:#050505;
  --panel:#0b0b0b;
  --soft-white:#f8f5ec;
  --muted:#c8c0ad;
  --slime-green:#b7ff00;
  --slime-deep:#263d00;
  --halloween-orange:#ff6a00;
  --orange-deep:#421700;
  --danger:#ff2f2f;
  --max:760px;
  --page-max:520px;
}

*{box-sizing:border-box}

html{
  min-width:0;
  background:var(--black);
}

body{
  margin:0;
  min-width:0;
  min-height:100vh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 50% -120px,rgba(183,255,0,.14),transparent 330px),
    radial-gradient(circle at 50% 120%,rgba(255,106,0,.1),transparent 360px),
    linear-gradient(180deg,#050505 0%,#0a0a0a 48%,#050505 100%);
  color:var(--soft-white);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.35;
}

a{color:inherit;text-decoration:none}

a:focus-visible,
button:focus-visible,
summary:focus-visible{
  outline:3px solid var(--soft-white);
  outline-offset:4px;
}

.home-screen,
.page-screen{
  width:min(92%,var(--page-max));
  min-height:calc(100vh - 56px);
  margin:0 auto;
  padding:26px 0 28px;
}

.home-screen{
  width:min(92%,var(--max));
  padding-top:34px;
}

.home-header{
  text-align:center;
  padding:4px 0 30px;
}

.simple-page h1,
.today-download h1{
  margin:0;
  color:var(--slime-green);
  font-family:Impact,"Arial Black",Arial,Helvetica,sans-serif;
  font-size:2.7rem;
  font-weight:900;
  line-height:.92;
  letter-spacing:0;
  text-transform:uppercase;
  text-shadow:
    0 2px 0 var(--slime-deep),
    0 5px 0 #111900,
    0 0 16px rgba(183,255,0,.62),
    0 0 32px rgba(183,255,0,.22);
}

.home-header h1{
  position:relative;
  display:block;
  max-width:100%;
  margin:0 auto;
  color:var(--slime-green);
  font-family:Impact,"Arial Black",Arial,Helvetica,sans-serif;
  font-size:3.6rem;
  font-weight:900;
  line-height:.88;
  letter-spacing:0;
  text-transform:uppercase;
  white-space:nowrap;
  text-shadow:
    0 0 6px rgba(183,255,0,.82),
    0 0 16px rgba(183,255,0,.56),
    0 0 30px rgba(183,255,0,.32);
}

.home-header p,
.eyebrow{
  margin:28px auto 0;
  color:var(--halloween-orange);
  max-width:none;
  font-family:Impact,"Arial Black",Arial,Helvetica,sans-serif;
  font-size:1.34rem;
  font-weight:900;
  letter-spacing:0;
  line-height:1.05;
  overflow-wrap:normal;
  text-transform:uppercase;
  text-shadow:0 0 10px rgba(255,106,0,.45);
}

.home-buttons,
.category-buttons{
  display:grid;
  gap:13px;
  padding:6px 0 12px;
}

.home-buttons{
  width:92%;
  margin:0 auto;
  gap:22px;
}

.main-button,
.download-button,
.back-home,
summary{
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  border:3px solid currentColor;
  border-radius:12px;
  padding:15px 16px;
  background:var(--black);
  color:var(--slime-green);
  font-size:1.16rem;
  font-weight:900;
  text-align:center;
  line-height:1.08;
  letter-spacing:0;
  text-transform:uppercase;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.9),
    0 0 13px rgba(183,255,0,.36),
    inset 0 0 18px rgba(183,255,0,.08);
  transition:transform .18s ease,box-shadow .18s ease,color .18s ease,border-color .18s ease;
}

.home-buttons .main-button{
  min-height:128px;
  border-width:5px;
  border-radius:26px;
  font-family:Impact,"Arial Black",Arial,Helvetica,sans-serif;
  font-size:5.25rem;
  font-style:italic;
  line-height:.9;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.9),
    0 0 20px rgba(183,255,0,.52),
    inset 0 0 30px rgba(183,255,0,.08);
}

.main-button:hover,
.download-button:hover,
.back-home:hover,
.main-button:focus-visible,
.download-button:focus-visible,
.back-home:focus-visible,
summary:hover,
summary:focus-visible{
  transform:translateY(-2px) scale(1.02);
  color:#d4ff3d;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.9),
    0 0 24px rgba(183,255,0,.72),
    inset 0 0 22px rgba(183,255,0,.12);
}

.main-button:active,
.download-button:active,
.back-home:active,
summary:active{
  transform:scale(.985);
}

.today-button,
.categories-button,
.premium-button,
.download-button{
  color:var(--slime-green);
}

.month-button,
.popular-button,
.back-home{
  color:var(--halloween-orange);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.9),
    0 0 13px rgba(255,106,0,.36),
    inset 0 0 18px rgba(255,106,0,.08);
}

.month-button:hover,
.popular-button:hover,
.month-button:focus-visible,
.popular-button:focus-visible,
.back-home:hover,
.back-home:focus-visible{
  color:#ff8a21;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.9),
    0 0 24px rgba(255,106,0,.72),
    inset 0 0 22px rgba(255,106,0,.12);
}

footer{
  padding:16px 8px 22px;
  color:var(--muted);
  text-align:center;
  font-size:.92rem;
  font-weight:800;
  letter-spacing:0;
}

.back-home{
  min-height:54px;
  margin:0 0 24px;
  font-size:1rem;
}

.simple-page,
.today-download{
  text-align:center;
}

.simple-page h1,
.today-download h1{
  font-size:2.7rem;
}

.simple-page p,
.description{
  margin:18px auto 0;
  color:var(--muted);
  font-size:1.12rem;
  font-weight:800;
}

.today-download img{
  width:100%;
  max-height:58vh;
  margin:18px 0 0;
  display:block;
  object-fit:cover;
  border:3px solid var(--slime-green);
  border-radius:12px;
  background:#000;
  box-shadow:
    0 0 16px rgba(183,255,0,.38),
    0 0 0 1px rgba(183,255,0,.22);
}

.file-number{
  margin:12px 0 0;
  color:var(--halloween-orange);
  font-size:1rem;
  font-weight:900;
  letter-spacing:0;
  text-transform:uppercase;
}

.download-button{
  margin-top:18px;
}

details{
  display:block;
}

summary{
  list-style:none;
  cursor:pointer;
}

summary::-webkit-details-marker{display:none}

details:nth-child(even) summary{
  color:var(--halloween-orange);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.9),
    0 0 13px rgba(255,106,0,.36),
    inset 0 0 18px rgba(255,106,0,.08);
}

details p{
  margin:12px 0 6px;
  padding:14px 4px;
  color:var(--muted);
  font-size:1.05rem;
  font-weight:900;
  text-transform:uppercase;
}

.archive-list{
  display:grid;
  gap:18px;
  margin-top:20px;
}

.archive-card{
  padding:14px;
  border:3px solid var(--slime-green);
  border-radius:12px;
  background:var(--panel);
  box-shadow:
    0 0 16px rgba(183,255,0,.28),
    inset 0 0 18px rgba(183,255,0,.05);
  text-align:left;
}

.archive-card:nth-child(even){
  border-color:var(--halloween-orange);
  box-shadow:
    0 0 16px rgba(255,106,0,.25),
    inset 0 0 18px rgba(255,106,0,.05);
}

.archive-card img{
  width:100%;
  max-height:320px;
  display:block;
  object-fit:cover;
  border:2px solid currentColor;
  border-radius:8px;
  background:#000;
}

.archive-card h2{
  margin:14px 0 0;
  color:var(--soft-white);
  font-size:1.42rem;
  line-height:1.08;
  letter-spacing:0;
  text-transform:uppercase;
}

.archive-meta{
  margin:8px 0 0;
  color:var(--halloween-orange);
  font-size:1rem;
  font-weight:900;
  text-transform:uppercase;
}

.archive-description{
  margin:10px 0 0;
  color:var(--muted);
  font-size:1rem;
  font-weight:800;
}

.archive-card .download-button{
  min-height:58px;
  margin-top:14px;
  font-size:1rem;
}

.category-download-list{
  margin:14px 0 6px;
}

.category-page .archive-card{
  margin-bottom:2px;
}

@media(max-width:520px){
  .home-screen{
    width:92%;
    padding-top:30px;
  }

  .home-header{
    padding-bottom:28px;
  }

  .home-header h1{
    font-size:2.86rem;
    line-height:.88;
  }

  .home-header p{
    max-width:100%;
    font-size:1rem;
  }

  .home-buttons{
    width:100%;
    gap:18px;
  }

  .home-buttons .main-button{
    min-height:106px;
    border-width:4px;
    border-radius:22px;
    font-size:3.05rem;
  }

}

@media(max-width:360px){
  .home-header h1{font-size:2.54rem}
  .simple-page h1,.today-download h1{font-size:2.35rem}
  .main-button,.download-button,summary{font-size:1.06rem}
  .home-buttons .main-button{min-height:96px;border-radius:20px;font-size:2.55rem}
  .home-header p,.eyebrow{font-size:.9rem}
}

@media(min-width:700px){
  .home-screen,.page-screen{padding-top:34px}
  .home-header h1{font-size:6.1rem}
  .simple-page h1,.today-download h1{font-size:3.3rem}
  .home-buttons .main-button{min-height:142px;font-size:6.4rem}
  .main-button{min-height:72px;font-size:1.25rem}
  .home-header p{font-size:2rem}
}

@media(min-width:1000px){
  .home-header h1{font-size:7.4rem}
  .home-buttons .main-button{min-height:160px;font-size:7.5rem}
  .home-header p{font-size:2.45rem}
}

@media(prefers-reduced-motion:reduce){
  .main-button,
  .download-button,
  .back-home,
  summary{
    transition:none;
  }
}
