:root{
  --bg: #111;
  --text: #eee;
  --panel: rgba(0,0,0,0.7);
  --accent: #fff;
  --border-img: url("https://i.imgur.com/NJa4bp2.png");
  --font: "Kosugi Maru", sans-serif;
}

*{box-sizing:border-box}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
}
a{color:var(--accent)}

#page{
  max-width:1100px;
  margin:0 auto;
  padding:10px;
}

/* HEADER */
#banner{
  background:#000;
  padding:20px;
  text-align:center;
  border-width:7px;
  border-style:solid;
  border-image: var(--border-img) 8 fill round;
}
#banner h1{margin:0;font-size:32px;text-transform:uppercase}
.subtitle{font-size:14px;color:#bbb}

/* LAYOUT: main + sidebar */
#layout{
  display:grid;
  grid-template-columns: 1fr 300px; /* sidebar on right */
  gap:15px;
  margin-top:15px;
}

/* BOXES */
.box{
  background:var(--panel);
  border-width:7px;
  border-style:solid;
  border-image: var(--border-img) 8 fill round;
  padding:12px;
  margin-bottom:15px;
}
.box h2{margin-top:0;font-size:18px;text-align:center}

/* Scrollable variant */
.scroll{
  max-height:200px;
  overflow:auto;
}
.scroll::-webkit-scrollbar{width:8px}
.scroll::-webkit-scrollbar-thumb{background:#555;border-radius:8px}
.scroll{scrollbar-color:#555 transparent}

/* DEVICE PLAYER */
#device{
  margin:20px auto;
  max-width:400px;
  background:#222;
  border-radius:20px;
  border:7px solid transparent;
  border-image: var(--border-img) 8 fill round;
  text-align:center;
  padding:15px;
}
#device .screen{
  background:#000;
  padding:10px;
  border-radius:10px;
}
#device .tag{
  font-size:12px;
  margin-top:6px;
  color:#999;
}

/* FOOTER */
#footer{
  text-align:center;
  margin-top:20px;
  font-size:13px;
  color:#777;
}

/* RESPONSIVE */
@media (max-width:800px){
  #layout{grid-template-columns:1fr}
}
