:root{
  --bg:#0f1116;
  --panel:#151822;
  --panel2:#1b1f2b;
  --text:#e7e9ee;
  --muted:#aab1c2;
  --border:#2a2f3a;
}

*{ box-sizing:border-box; }
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:var(--bg);
  color:var(--text);
}
a{ color:inherit; text-decoration:none; }

/* mai lat */
.wrap{
  width:min(1440px, 94vw);
  margin:0 auto;
}

/* topbar */
.topbar{
  border-bottom:1px solid var(--border);
  background:#0d0f14;

  height:52px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.brand{
  display:inline-flex;
  align-items:center;
  padding:0;
  height:52px;
}

.brand-logo{
  height:65px;
  width:auto;
  display:block;
  transform:none;
}

/* layout: sidebar mai îngust, content mai larg */
.layout{
  display:grid;
  grid-template-columns: 235px 1fr 220px; /* stânga, content, dreapta */
  gap:16px;
  align-items:start;
  padding:14px 0 60px;
}

/* breakpoint-uri ajustate un pic pentru noua lățime */
@media (max-width: 1100px){
  .layout{ grid-template-columns: 235px 1fr; }
  .rightbar{ display:none; }
}
@media (max-width: 900px){
  .layout{ grid-template-columns: 1fr; }
  .rightbar{ display:block; }
}

/* sidebar */
.sidebar{
  position:sticky;
  top:12px;
  padding:0; /* acum padding pe box-uri separate */
  background:transparent;
  border:none;
  border-radius:0;
}
@media (max-width: 900px){
  .sidebar{ position:relative; top:auto; }
}

/* chenar separat pentru SA / V */
.side-box{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:16px;
  padding:10px;
}
.side-box + .side-box{ margin-top:10px; }

/* titlu compact */
.side-title{
  font-weight:900;
  color:var(--muted);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin:2px 4px 8px;
}

.side-nav{
  display:flex;
  flex-direction:column;
  gap:6px;           /* mai compact */
  padding-left:0;
}

/* item */
.side-item{
  border-radius:12px;
  background:rgba(255,255,255,.02);
}

.side-summary{
  list-style:none;
  cursor:pointer;
  padding:8px 9px;          /* mai mic */
  font-weight:850;          /* puțin mai “tight” */
  font-size:13px;           /* mai mic */
  color:#d7dbe6;

  display:flex;
  align-items:center;
  justify-content:space-between;

  border:1px solid rgba(255,255,255,.06);
  border-radius:12px;
  background:rgba(255,255,255,.02);
}
.side-summary::marker{ content:""; }
.side-summary::-webkit-details-marker{ display:none; }

.side-summary::after{
  content:"▾";
  opacity:.9;
  transform: rotate(-90deg);
  transition: transform 160ms ease;
  font-size:12px;
}
.side-item[open] > .side-summary::after{ transform: rotate(0deg); }
.side-summary:hover{ background:rgba(255,255,255,.05); }

/* “overlay” = submeniul (children) mai mic */
.side-children{
  margin-top:6px;
  padding:7px 7px;           /* mai mic */
  border:1px solid rgba(255,255,255,.06);
  border-radius:12px;
  background:rgba(255,255,255,.02);

  display:flex;
  flex-direction:column;
  gap:5px;
}

.side-link{
  display:block;
  padding:7px 8px;           /* mai mic */
  border-radius:10px;
  color:var(--text);
  font-weight:700;
  font-size:12.5px;          /* mai mic */
}
.side-link:hover{ background:var(--panel2); }

.side-item-link{
  display:block;
  padding:8px 9px;           /* mai mic */
  font-weight:850;
  font-size:13px;            /* mai mic */
  color:#d7dbe6;

  border:1px solid rgba(255,255,255,.06);
  border-radius:12px;
  background:rgba(255,255,255,.02);
}
.side-item-link:hover{ background:rgba(255,255,255,.05); }

/* titlul URL */
.url-title{
  font-size:22px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:.2px;
  margin:8px 0 0;
}

.subtitle{
  color:var(--muted);
  font-weight:800;
  margin:0 0 12px;
}

/* Cards */
.grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
}
@media (max-width: 1200px){ .grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px){ .grid{ grid-template-columns: 1fr; } }

.card{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
}

.card-img{
  width:100%;
  aspect-ratio: 16 / 9;
  background:var(--panel2);
  border-bottom:1px solid var(--border);
}
.card-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.card-body{
  padding:10px 10px 9px;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.card-row1{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  color: var(--muted);
  font-size:12px;
}
.card-author::before{ content:"👤 "; }
.card-date{ white-space:nowrap; }

.card-cat{
  color:var(--muted);
  font-size:12.5px;
  margin-top:20px;
}
.card-title{
  margin:0;
  font-size:15px;
  line-height:1.2;
  font-weight:900;
}

.h1{ margin:0 0 12px; font-size:24px; }
.h3{ margin:18px 0 10px; }

.detail{ max-width: 1200px; }
.detail-title{
  margin: 8px 0 10px;
  font-size: 34px;
  line-height: 1.1;
  font-weight: 900;
}
.crumb{ color: var(--muted); font-size: 13px; margin: 0 0 10px; }
.meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  color: var(--muted);
  font-size: 12.5px;
  margin: 6px 0 14px;
}
.meta-left::before{ content:"👤 "; }

.panel{
  margin-top:14px;
  border:1px solid var(--border);
  border-radius:16px;
  background: var(--panel);
  padding:14px;
  white-space:pre-wrap;
}

.btn{
  display:inline-block;
  margin-top:14px;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid #4b89ff55;
  background:#4b89ff22;
  color:var(--text);
  font-weight:900;
}

.preview-grid{
  display:grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap:10px;
}
@media (max-width: 900px){ .preview-grid{ grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 620px){ .preview-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.preview-thumb{
  border-radius:12px;
  overflow:hidden;
  background:var(--panel2);
  cursor:pointer;
}
.preview-thumb img{
  width:100%;
  height:110px;
  object-fit:cover;
  display:block;
}

/* Modal */
.modal{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.74);
  z-index:999;
  padding:18px; /* un pic mai mic */
}
.modal.open{ display:flex; align-items:center; justify-content:center; }
.modal-inner{
  background:transparent;
  border:none;
  border-radius:0;
  overflow:visible;
  max-width: 96vw;
  max-height: 88vh;
}
.modal-inner img{
  width:auto;
  height:auto;
  max-width: 96vw;
  max-height: 88vh;
  object-fit:contain;
  display:block;
}
.modal-hint{
  position:fixed;
  right:18px;
  bottom:12px;
  color:#c7ccda;
  font-size:12px;
}

.side-count{
  float:right;
  color:var(--muted);
  font-weight:800;
}

/* rightbar */
.rightbar{
  position:sticky;
  top:12px;
}

.topbox{
  background: rgba(21,24,34,.55);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:10px;
}

.topbox-title{
  font-weight:900;
  color:var(--muted);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin:2px 2px 10px;
}

.topbox-list{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.topbox-item{
  display:grid;
  grid-template-columns: 18px 1fr auto;
  gap:8px;
  align-items:center;

  padding:8px 9px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.02);
}
.topbox-item:hover{ background:rgba(255,255,255,.05); }

.topbox-rank{
  color:var(--muted);
  font-weight:900;
  font-size:12px;
  text-align:center;
}
.topbox-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  font-weight:850;
  font-size:12.5px;
  color:#d7dbe6;
}
.topbox-views{
  color:var(--muted);
  font-weight:900;
  font-size:12px;
}
.topbox-empty{
  padding:9px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.02);
  color:var(--muted);
  font-weight:800;
  font-size:12px;
}

/* topbar wrap + discord */
.topbar .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.discord-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background: rgba(255,255,255,.06);
}
.discord-link:hover{ background: rgba(255,255,255,.10); }
.discord-link img{ display:block; }

.yt-wrap{
  margin-top:10px;
  position:relative;
  padding-top:56.25%;
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--border);
  background: var(--panel2);
}
.yt-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
