:root{
  --body-text:#ffffff; --body-bg:#ffffff;
  --card-background:rgb(255, 84, 0); --card-border:rgba(251, 228, 7, .35);
  --link-background:#fdfdfd; --link-text:black; --link-hover-background:transparent; --link-hover-text:#fffde5;
  --accent:#feeb04; --muted:#b8e6c8;
  --link-radius:24px; --container-max:1180px;
  --title-gradient: linear-gradient(135deg, #19dd7d 0%, #13b666 55%, #97ff42 100%);
  --shadow-sm:0 6px 16px rgba(0,0,0,.25);

  /*Unified control of header size*/
  --header-height: 68px;
  --header-pad-y: 10px;

  /*Type scale: fluid + device-adaptive*/
  --font-base: 1rem; /* = html font-size */
  --font-sm:   0.875rem;
  --font-lg:   clamp(1rem, 0.3vw + 0.95rem, 1.15rem);
  --font-h2:   clamp(1.1rem, 0.6vw + 1rem, 1.4rem);
  --font-h1:   clamp(1.2rem, 0.9vw + 1rem, 1.8rem);

  /*For button text used by components*/
  --link-text-font-size: var(--font-lg);
}

/*Device-aware base font size*/
html{ font-size: clamp(15px, 0.6vw + 13px, 17px); }
html[data-device="tablet"]{ font-size: clamp(14px, 1vw + 11px, 16px); }
html[data-device="mobile"]{ font-size: clamp(13px, 1.2vw + 10px, 15px); }

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;color:var(--body-text);background:var(--body-bg);
  font: var(--font-base)/1.6 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.container{max-width:var(--container-max);margin-inline:auto;padding:0 16px}

/* Header */
.site-header{
  position:sticky;top:0;z-index:30;
  background:linear-gradient(to bottom,#1a2fe1, #0900b3);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.08)
}
html.no-backdrop .site-header{background:linear-gradient(to bottom,#113128,#16463e)}
.site-header .container{
  display:flex;align-items:center;gap:12px;
  min-height: var(--header-height);
  padding: var(--header-pad-y) 16px;
}
.brand{display:flex;align-items:center;gap:8px;margin-left:0}
.brand__logo{height:65px;width:auto;object-fit:contain}
.brand__title{
  font-size: var(--font-h1);
  font-weight:800;background:var(--title-gradient);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent
}

/*Mobile menu button; hidden on desktop*/
.menu-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:#fff}
.menu-btn:active{transform:scale(.98)}
@media (max-width:980px){
  .menu-btn{display:flex}
  .brand__logo{height:55px}
  .brand__title{font-size: clamp(1.1rem, 1.6vw + .9rem, 1.5rem)}
  :root{ --header-height: 60px; --header-pad-y: 8px; }
}

/*Main layout*/
.site-main{display:grid;grid-template-columns:260px 1fr;gap:18px;margin:18px 0}
@media (max-width:980px){ .site-main{grid-template-columns:1fr} }

/*Sidebar: visible on desktop, hidden on mobile*/
.sidebar{
  position:sticky;
  top: calc(var(--header-height) + 12px);
  align-self:start;background:var(--card-background);
  border:1px solid var(--card-border);border-radius:14px;padding:12px;box-shadow:var(--shadow-sm)
}
@media (max-width:980px){ .sidebar{display:none} }
.category{display:flex;align-items:center;gap:10px;color:#ffffff;background:transparent;border:0;width:100%;padding:10px 12px;border-radius:10px;cursor:pointer}
.category:hover{background:rgba(255,255,255,.05)}
.category.is-active{background:var(--accent);color:#01240a}
.category__icon{width:18px;height:18px;opacity:.9}

/*Content panels*/
.panel{background:var(--card-background);border:1px solid var(--card-border);border-radius:14px;padding:14px;margin-bottom:16px;box-shadow:var(--shadow-sm)}
.panel__title{margin:0 0 10px;font-size:var(--font-h2);font-weight:800}

/*Trending list / Hot list*/
.hot-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:640px){.hot-list{grid-template-columns:1fr}}
.hot-item{
  display:flex;align-items:center;gap:10px;
  padding:12px 14px;border-radius:12px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--card-border);
  color:#ffffff;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.hot-item:hover{background:rgba(255,255,255,.06);transform:translateY(-1px)}
.hot-item__no{width:22px;height:22px;border-radius:6px;background:#0b1323;display:grid;place-items:center;font-size:var(--font-sm);color:white;}

/* === Featured/highlighted hot items (top four) === */
.hot-item--featured{
  background: linear-gradient(90deg, rgb(231 140 25 / 13%), rgb(255 226 35));
  border: 1px solid rgb(241 127 32 / 80%);
  box-shadow:
    0 8px 24px rgba(22,139,212,.25),
    inset 0 1px 0 rgba(255,255,255,.08);
  transform: translateZ(0);
}
.hot-item--featured:hover{
  transform: translateY(-2px);
  box-shadow:
    0 12px 28px rgba(22,139,212,.32),
    inset 0 1px 0 rgba(255,255,255,.1);
}
.hot-item--featured .hot-item__no{
  width: 26px; height: 26px;
  border-radius: 8px;
  background: linear-gradient(135deg, #e90505 0%, #ff0000 55%, #c70000 100%);
  color: #fff;
  font-weight: 800;
  box-shadow: 0 4px 10px rgba(167,139,250,.35);
}
.hot-item--featured strong{
  font-size: clamp(1rem, 0.35vw + 0.95rem, 1.2rem);
  letter-spacing: .2px;
}

/*make hot-list headings pop*/
.panel .panel__title{color:#ffffff}

/*Section + cards, desktop style*/
.section{margin-bottom:16px}
.section__hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.section__title{font-size:var(--font-h2);font-weight:800}
.site-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:1100px){.site-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.site-grid{grid-template-columns:1fr}}

.link-button{display:flex;align-items:center;background:var(--link-background);color:var(--link-text);padding:12px 16px;border-radius:var(--link-radius);font-size:var(--link-text-font-size);font-weight:600;border:2px solid var(--link-background);transition:all .25s ease;width:100%;max-width:320px;min-height:64px}
.link-button:hover{background:var(--link-hover-background);color:var(--link-hover-text);border-color:var(--link-hover-text)}
.link-button img{width:40px;height:40px;margin-right:12px;flex-shrink:0}
.link-button .button-text{flex:1;text-align:left}
.link-button .button-desc{display:block;font-size:var(--font-sm);color:#334155;opacity:.9}

/*Mobile “capsule” layout: small icon + text, 3 columns*/
@media (max-width: 640px){
  .site-grid{grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;}
  .link-button{
    max-width:100%; min-height:auto; padding:10px 10px; border-radius:12px;
    background:#ffffff; color:#0f172a; border:1px solid #e5e7eb;
    justify-content:flex-start;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.5), 0 1px 1px rgba(0,0,0,.04);
  }
  .link-button:hover{background:#f8fafc;color:#0f172a;border-color:#dbeafe}
  .link-button img{display:block; width:18px; height:18px; margin:0 6px 0 0;}
  .link-button .button-desc{display:none}
  .link-button .button-text{
    flex:1; min-width:0; text-align:left; font-size:14px; font-weight:600;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
}

/*Friend links*/
.friend-links{display:flex;flex-wrap:wrap;gap:10px}
.friend-links a{color:#ffffff;padding:6px 10px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid var(--card-border)}
.friend-links a:hover{color:#fff;background:rgba(255,255,255,.1)}

/*footer*/
.site-footer{border-top:1px solid rgba(255,255,255,.08);margin-top:24px}
.footer__inner{display:flex;justify-content:space-between;align-items:center;padding:16px 0;gap:10px}
.back-top{color:#000000;text-decoration:none}
.back-top:hover{text-decoration:underline}

/*Mobile left drawer menu*/
.drawer-mask{position:fixed;inset:0;background:rgba(2,6,23,.5);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:.2s}
.drawer{position:fixed;left:0;top:0;bottom:0;width:78vw;max-width:320px;background:var(--card-background);border-right:1px solid var(--card-border);transform:translateX(-100%);transition:transform .25s ease;z-index:40}
.drawer__hd{display:flex;align-items:center;justify-content:space-between;padding:12px 12px;border-bottom:1px solid var(--card-border)}
.drawer__title{font-weight:800}
.drawer__list{padding:10px}
.drawer-open .drawer{transform:translateX(0)}
.drawer-open .drawer-mask{opacity:1;pointer-events:auto}
@media (min-width:981px){ .drawer, .drawer-mask, .menu-btn{display:none} }
