body { outline: 4px solid red; }
:root{
  --bg:#07090d;
  --panel:#13161b;
  --panel2:#171b21;
  --line:#252b34;
  --text:#e7eaee;
  --muted:#9aa3ad;
  --green:#88a800;
  --green-dark:#6f8f00;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background: radial-gradient(circle at top right, #0f1624 0%, #07090d 45%, #07090d 100%);
  color: var(--text);
  font-family: Arial, Helvetica, sans-serif;
}

.wrap{
  width:min(1180px, calc(100% - 24px));
  margin:0 auto;
}

/* Top header */
.top-header{
  background:#17191c;
  border-bottom:1px solid #0e1013;
}
.top-header-inner{
  min-height:44px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:6px 0;
}
.logo{
  color:var(--green);
  font-weight:700;
  font-size:18px;
  letter-spacing:.4px;
}

.search{
  margin-left:auto;
  width:min(360px, 48vw);
  height:28px;
  background:#23262b;
  border:1px solid #2d3138;
  border-radius:4px;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.search input{
  flex:1;
  min-width:0;
  background:transparent;
  border:none;
  outline:none;
  color:#dfe3e8;
  padding:0 10px;
  font-size:12px;
}
.search input::placeholder{color:#8c949e}
.search button{
  width:34px;
  height:100%;
  border:none;
  background:#2a2e34;
  color:#b7bec7;
  cursor:pointer;
}

.top-icons{
  display:flex;
  gap:6px;
  color:#b8c0ca;
  font-size:10px;
}
.top-icons span{
  width:18px;height:18px;
  display:grid;place-items:center;
  background:#22262c;
  border:1px solid #2d323a;
  border-radius:50%;
}

/* Green nav */
.green-nav{
  background: linear-gradient(180deg, var(--green), var(--green-dark));
  border-bottom:1px solid rgba(0,0,0,.35);
}
.nav-inner{
  min-height:28px;
  display:flex;
  align-items:center;
  gap:14px;
  overflow:auto;
  white-space:nowrap;
}
.nav-inner a{
  color:#eff5d7;
  text-decoration:none;
  font-size:12px;
  line-height:1;
  opacity:.92;
}
.nav-inner a:hover,
.nav-inner a.active{
  color:#fff;
  opacity:1;
  font-weight:700;
}

/* Main */
.page{
  padding:12px 0 24px;
}

.hero{
  position:relative;
  height:260px;
  background:#111;
  border-radius:10px;
  overflow:hidden;
  border:1px solid #1d2229;
}
.hero img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.hero-overlay{
  position:absolute; inset:0;
  background: linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,.1) 45%, rgba(0,0,0,.18));
}
.hero-content{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
}
.hero-content h1{
  margin:0 0 6px;
  font-size:16px;
  font-weight:700;
  color:#fff;
}
.hero-meta{
  display:flex;
  gap:10px;
  align-items:center;
  font-size:11px;
  color:#d0d6dc;
}
.hero-meta .hero-date{
  margin-left:auto;
  color:#c5cad1;
}

.hero-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:24px;height:24px;
  border:none;
  border-radius:50%;
  background:rgba(35,38,44,.85);
  color:#ddd;
  cursor:pointer;
  z-index:2;
}
.hero-arrow.left{left:8px}
.hero-arrow.right{right:8px}

.hero-dots{
  position:absolute;
  bottom:8px;
  left:50%;
  transform:translateX(-50%);
  display:flex; gap:4px;
}
.hero-dots span{
  width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,.35);
}
.hero-dots span.active{background:#fff}

/* Content grid */
.content-grid{
  margin-top:12px;
  display:grid;
  grid-template-columns: minmax(0,1fr) 250px;
  gap:12px;
}

.panel{
  background: linear-gradient(180deg, var(--panel2), var(--panel));
  border:1px solid #1f242c;
  border-radius:8px;
  padding:10px;
}

.panel-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
}
.accent-line{
  width:4px;
  height:18px;
  border-radius:3px;
  background:var(--green);
}
.panel-title h2{
  margin:0;
  font-size:14px;
  font-weight:700;
}

/* Mod cards */
.mods-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:10px;
}
.mod-card{
  background:#12161b;
  border:1px solid #232933;
  border-radius:6px;
  overflow:hidden;
}
.mod-card:hover{
  border-color:#303744;
}
.thumb{
  height:118px;
  background:#0f1216;
}
.thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.mod-info{
  padding:8px;
  position:relative;
}
.mod-info h3{
  margin:0 0 4px;
  font-size:12px;
  color:#fff;
}
.mod-info .sub{
  font-size:10px;
  color:#c2c9d1;
}
.mod-info .date{
  margin-top:4px;
  font-size:9px;
  color:#9aa3ad;
}

/* Sidebar */
.side-col{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.side-panel{ padding:10px; }

.promo-card{
  background:#20242b;
  border:1px solid #2a3038;
  border-radius:6px;
  overflow:hidden;
}
.promo-header{
  background:#3a3f48;
  color:#f0f2f4;
  font-size:10px;
  font-weight:700;
  text-align:center;
  padding:6px;
}
.promo-body{
  padding:8px;
}
.promo-cover{
  height:120px;
  border-radius:4px;
  background:
    linear-gradient(140deg, rgba(136,168,0,.35), rgba(136,168,0,.06)),
    linear-gradient(180deg,#353b45,#262b33);
  border:1px solid #39404b;
  margin-bottom:8px;
}
.promo-code,.promo-brand,.promo-price{
  text-align:center;
  font-weight:700;
}
.promo-code{font-size:9px;color:#d8dce1}
.promo-brand{margin-top:2px;font-size:16px;color:#fff}
.promo-price{
  margin-top:6px;
  background:#111419;
  border:1px solid #2b313a;
  border-radius:4px;
  padding:6px;
  font-size:14px;
  color:#fff;
}

.side-title{
  font-size:12px;
  font-weight:700;
  margin-bottom:8px;
}
.side-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.side-list a{
  display:block;
  text-decoration:none;
  color:#c7cfd8;
  font-size:11px;
  padding:7px 8px;
  border:1px solid #252b33;
  border-radius:4px;
  background:#14181e;
}
.side-list a:hover{
  border-color:#343c48;
  color:#fff;
}

/* Responsive */
@media (max-width: 920px){
  .content-grid{
    grid-template-columns:1fr;
  }
  .mods-grid{
    grid-template-columns:1fr;
  }
  .hero{
    height:220px;
  }
  .top-icons{
    display:none;
  }
}

@media (max-width: 560px){
  .top-header-inner{
    flex-wrap:wrap;
  }
  .search{
    order:3;
    width:100%;
    margin-left:0;
  }
  .nav-inner a{
    font-size:11px;
  }
}