body {
  background:var(--bg-deep);
  color:var(--text);
  font-family:'Inter',sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
::selection { background:var(--grass); color:#0d160f; }
.panel {
  background:var(--bg-panel);
  border:1px solid var(--border);
  border-radius:3px;
}
.hoverable { transition:border-color .2s ease, transform .2s ease, background .2s ease; }
.hoverable:hover {
  border-color:rgba(78,222,108,0.5);
  transform:translateY(-2px);
  background:var(--bg-raised);
  box-shadow:0 6px 20px -6px var(--grass-glow);
}
.btn {
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--grass-soft);
  color:var(--text);
  font-size:0.83rem;
  font-weight:600;
  padding:10px 18px;
  border:1px solid rgba(255,255,255,0.1);
  border-radius:3px;
  cursor:pointer;
  transition:background .18s ease, border-color .18s ease, transform .12s ease;
}
.btn.ghost { background:transparent; border-color:var(--border); }
.btn.ghost:hover { background:var(--bg-raised); box-shadow:none; }
.eyebrow {
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:var(--text-dim);
}
.block-icon {
  width:28px;
  height:28px;
  flex:0 0 auto;
  border-radius:2px;
}
.block-icon.grass { background: linear-gradient(180deg, #5fa554 0 42%, #6a5334 42% 100%); }
.block-icon.diamond { background: radial-gradient(circle at 32% 32%, #a9dee6 0 16%, transparent 17%), #386f79; }
.block-icon.redstone { background: radial-gradient(circle at 35% 32%, #d9705c 0 14%, transparent 15%), #5c281f; }
.block-icon.oak { background: repeating-linear-gradient(180deg, #7a5f3c 0 6px, #6c5433 6px 12px); }
.block-icon.gold { background: radial-gradient(circle at 40% 35%, #ecd28a 0 20%, transparent 21%), #a2822f; }
.block-icon.obsidian { background: radial-gradient(circle at 30% 60%, #453a5e 0 18%, transparent 19%), #17141f; }
.scene-wrap {
  position:relative;
  overflow:hidden;
  background:#101917;
  border-radius:3px;
}
.scene-img {
  width:100%;
  height:100%;
  display:block;
}
.scene-day { filter:saturate(0.85) brightness(0.92); }
.scene-dusk { filter:hue-rotate(-18deg) saturate(0.9) brightness(0.8); }
.scene-cave { filter:hue-rotate(180deg) saturate(0.5) brightness(0.42); }
.scene-ore { filter:hue-rotate(300deg) saturate(0.75) brightness(0.55); }
.scene-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(18,25,26,0) 35%, rgba(18,25,26,0.92) 100%);
}
.play-btn {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,0.25);
  background:rgba(18,25,26,0.55);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .2s ease, background .2s ease;
  backdrop-filter:blur(2px);
}
.hoverable:hover .play-btn { transform:translate(-50%,-50%) scale(1.08); background:rgba(95,174,90,0.65); }
.play-btn svg { width:12px; height:12px; }
.gallery-item[data-video-id] { cursor:pointer; }
.video-modal-overlay {
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(10,14,15,0.6);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
}
.video-modal-overlay.open { opacity:1; pointer-events:auto; }
.video-modal {
  width:100%;
  max-width:860px;
  background:var(--bg-panel);
  border:1px solid var(--border);
  border-radius:6px;
  overflow:hidden;
  transform:scale(0.96);
  transition:transform .22s ease;
  box-shadow:0 20px 60px rgba(0,0,0,0.45);
}
.video-modal-overlay.open .video-modal { transform:scale(1); }
.video-modal-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 16px;
  border-bottom:1px solid var(--border-soft);
}
.video-modal-head span {
  font-size:0.85rem;
  font-weight:600;
  color:var(--text-dim);
}
.video-modal-info {
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.video-modal-info #video-modal-caption { color:var(--text); }
.video-modal-player {
  display:flex;
  align-items:center;
  gap:6px;
  font-size:0.76rem !important;
  font-weight:500 !important;
  color:var(--text-dim) !important;
}
.video-modal-player img {
  width:18px;
  height:18px;
  border-radius:3px;
  image-rendering:pixelated;
}
.video-modal-close {
  background:none;
  border:none;
  color:var(--text-dim);
  cursor:pointer;
  font-size:1.1rem;
  line-height:1;
  padding:4px 8px;
  border-radius:3px;
  transition:color .15s ease, background .15s ease;
}
.video-modal-close:hover { color:var(--text); background:var(--bg-raised); }
.video-modal-frame {
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#000;
}
.video-modal-frame iframe {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.video-modal-fallback {
  padding:10px 16px;
  font-size:0.78rem;
  color:var(--text-dim);
  text-align:center;
  border-top:1px solid var(--border-soft);
  background:var(--bg-panel);
}
.video-modal-fallback a { color:var(--grass); text-decoration:underline; }
.news-main-item, .news-card, .feature-banner { cursor:pointer; }
.nav {
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(15,21,22,0.96);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
}
.nav-hamburger {
  display:none;
  width:32px;
  height:32px;
  align-items:center;
  justify-content:center;
  border-radius:3px;
  cursor:pointer;
  background:transparent;
  border:none;
  color:var(--text);
  flex:0 0 auto;
  padding:0;
}
.nav-hamburger svg { width:20px; height:20px; }
.nav-hamburger:hover { background:var(--bg-raised); }
.discord-nav-menu button, .discord-nav-menu a {
  display:block;
  width:100%;
  text-align:left;
  background:none;
  border:none;
  color:var(--text-dim);
  padding:8px 10px;
  border-radius:3px;
  cursor:pointer;
  font-size:0.8rem;
  font-family:'Inter';
}
.discord-nav-menu button:hover, .discord-nav-menu a:hover { background:var(--bg-raised); color:var(--text); }
.vouch-btn {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  background:var(--bg-raised);
  border:1px solid var(--border);
  color:var(--text);
  padding:8px 16px;
  border-radius:20px;
  cursor:pointer;
  font-family:'JetBrains Mono',monospace;
  font-size:0.85rem;
  font-weight:600;
  transition:background .18s ease, border-color .18s ease, transform .12s ease;
}
.vouch-btn svg { width:16px; height:16px; }
.vouch-btn:hover { background:rgba(95,174,90,0.18); border-color:rgba(95,174,90,0.4); }
.vouch-btn:active { transform:translateY(1px); }
.vouch-btn.voted {
  background:rgba(95,174,90,0.22);
  border-color:var(--grass);
  color:var(--grass);
  cursor:default;
}
.vouch-btn:disabled { cursor:default; }
.vouch-btn::after {
  content:attr(data-tooltip);
  position:absolute;
  bottom:calc(100% + 8px);
  left:50%;
  transform:translateX(-50%);
  background:var(--bg-deep);
  border:1px solid var(--border);
  color:var(--text);
  font-family:'Inter';
  font-size:0.7rem;
  font-weight:600;
  padding:5px 9px;
  border-radius:3px;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .15s ease;
}
.vouch-btn:not(.voted):hover::after { opacity:1; }
.section-title {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
}
.section-title h2 {
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:var(--text);
  display:flex;
  align-items:center;
  gap:8px;
}
.section-title h2::before {
  content:'';
  width:5px;
  height:14px;
  background:var(--grass);
  border-radius:1px;
  box-shadow:0 0 8px var(--grass-glow);
}
.section-title .line {
  flex:1;
  height:1px;
  background:linear-gradient(90deg, var(--border) 0%, transparent 100%);
}
.section-title .more {
  font-size:0.78rem;
  color:var(--text-dim);
  font-weight:500;
}
.section-title button.more {
  background:none;
  border:none;
  font-family:inherit;
  cursor:pointer;
  padding:0;
}
.section-title .more:hover { color:var(--grass); }
.feature-row {
  max-width:1240px;
  margin:36px auto;
  padding:0 24px;
  display:grid;
  grid-template-columns:1fr 300px;
  align-items:start;
  gap:20px;
}
.poll-panel { padding:14px 16px; margin-bottom:26px; }
.poll-question {
  font-size:0.8rem;
  font-weight:700;
  color:var(--text);
  margin-bottom:14px;
  line-height:1.4;
}
.poll-option-row {
  display:block;
  width:100%;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px 0;
  border-radius:3px;
  text-align:left;
}
.poll-option-row + .poll-option-row { margin-top:2px; }
.poll-option-row:hover .poll-opt-label { color:var(--text); }
.poll-opt-head {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-bottom:5px;
  gap:8px;
}
.poll-opt-label {
  font-size:0.78rem;
  font-weight:600;
  color:var(--text-dim);
}
.poll-opt-pct {
  font-size:0.76rem;
  font-weight:700;
  font-family:'JetBrains Mono',monospace;
  color:var(--text-faint);
  flex:0 0 auto;
}
.poll-option-row.voted .poll-opt-label { color:var(--grass); }
.poll-option-row.voted .poll-opt-pct { color:var(--grass); }
.poll-opt-track {
  height:5px;
  border-radius:6px;
  background:var(--bg-raised);
  overflow:hidden;
}
.poll-opt-fill {
  height:100%;
  border-radius:6px;
  transition:width .5s ease;
  background:var(--text-faint);
}
.poll-option-row[data-choice="1"] .poll-opt-fill { background:var(--grass); }
.poll-option-row[data-choice="3"] .poll-opt-fill { background:var(--redstone); }
.poll-footer {
  margin-top:10px;
  font-size:0.68rem;
  color:var(--text-faint);
  font-family:'JetBrains Mono',monospace;
}
.poll-footer a { color:var(--grass); text-decoration:underline; }
.feature-banner {
  position:relative;
  min-height:340px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
}
.feature-banner .official {
  position:absolute;
  top:16px;
  left:16px;
  z-index:3;
  font-size:0.68rem;
  font-weight:700;
  letter-spacing:0.8px;
  text-transform:uppercase;
  color:var(--text);
  background:rgba(18,25,26,0.7);
  padding:5px 10px;
  border-radius:20px;
  border:1px solid var(--border);
}
.feature-banner .official[data-tag="NEWS"] { color:var(--diamond); }
.feature-banner .official[data-tag="PVP"] { color:var(--redstone); }
.feature-banner .official[data-tag="REDSTONE"] { color:var(--redstone); }
.feature-banner .official[data-tag="SNAPSHOT"] { color:var(--gold); }
.feature-banner .official[data-tag="COMUNIDAD"] { color:var(--grass); }
.feature-banner .fb-content {
  position:relative;
  z-index:2;
  padding:26px;
}
.feature-banner h3 {
  font-size:1.2rem;
  font-weight:700;
  line-height:1.4;
  max-width:460px;
  margin-bottom:8px;
}
.feature-banner p {
  color:var(--text-dim);
  font-size:0.85rem;
  max-width:420px;
}
.community-activity-outer {
  position:relative;
  overflow:hidden;
  min-height:0;
  max-height:400px;
}
.community-activity {
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:18px;
  height:100%;
  min-height:0;
  overflow-y:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.community-activity::-webkit-scrollbar { display:none; width:0; height:0; }
.ca-scroll-hint {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  justify-content:center;
  padding:16px 0 8px;
  background:linear-gradient(to top, var(--bg-panel) 20%, transparent);
  cursor:pointer;
  border:none;
  font:inherit;
}
.ca-scroll-hint i {
  color:var(--grass);
  font-size:0.85rem;
  animation:caScrollBounce 1.6s ease-in-out infinite;
  transition:transform .15s ease;
}
.ca-scroll-hint:hover i { transform:scale(1.2); }
@keyframes caScrollBounce {
  0%, 100% { transform:translateY(0); opacity:.55; }
  50% { transform:translateY(4px); opacity:1; }
}
.ca-section { display:flex; flex-direction:column; gap:8px; }
.ca-subtitle {
  font-size:0.68rem;
  font-weight:700;
  letter-spacing:0.6px;
  text-transform:uppercase;
  color:var(--text-faint);
}
.ca-loading { padding:10px 2px; font-size:0.78rem; color:var(--text-faint); }
.ca-leaderboard { display:flex; flex-direction:column; gap:2px; }
.ca-lb-row {
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 4px;
  border-radius:4px;
  transition:background .15s ease;
}
.ca-lb-row:hover { background:var(--bg-raised); }
.ca-lb-rank {
  width:16px;
  flex:0 0 auto;
  font-size:0.72rem;
  font-weight:700;
  color:var(--text-faint);
  font-family:'JetBrains Mono',monospace;
  text-align:center;
}
.ca-lb-avatar, .ca-lb-avatar-placeholder {
  width:22px;
  height:22px;
  border-radius:50%;
  flex:0 0 auto;
  background:var(--bg-raised);
}
.ca-lb-name {
  flex:1;
  font-size:0.8rem;
  font-weight:600;
  color:var(--text);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ca-lb-points {
  font-size:0.7rem;
  font-weight:700;
  color:var(--grass);
  font-family:'JetBrains Mono',monospace;
  flex:0 0 auto;
}
.ca-feed {
  display:flex;
  flex-direction:column;
  gap:2px;
}
.ca-feed-row {
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:7px 4px;
  border-radius:4px;
  transition:background .15s ease;
}
.ca-feed-row:hover { background:var(--bg-raised); }
.ca-feed-icon { font-size:0.9rem; flex:0 0 auto; line-height:1.4; }
.ca-feed-text {
  flex:1;
  font-size:0.76rem;
  line-height:1.4;
  color:var(--text-dim);
}
.ca-feed-text strong { color:var(--text); }
.ca-feed-time {
  font-size:0.66rem;
  color:var(--text-faint);
  font-family:'JetBrains Mono',monospace;
  flex:0 0 auto;
  white-space:nowrap;
}
.form-row {
  display:flex;
  gap:5px;
  margin-top:12px;
}
.form-row span {
  width:14px;
  height:14px;
  border-radius:2px;
}
.form-row .w { background:var(--grass); }
.form-row .l { background:var(--redstone); }
.social-row {
  display:flex;
  gap:8px;
  margin-top:6px;
}
.social-row a {
  width:28px;
  height:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--bg-raised);
  border:1px solid var(--border);
  color:var(--text-dim);
  transition:transform .15s ease, color .15s ease, border-color .15s ease;
}
.social-row a:hover {
  transform:translateY(-2px);
  color:var(--text);
  border-color:rgba(255,255,255,0.25);
}
.social-row a svg { width:14px; height:14px; }
.hub-grid {
  max-width:1240px;
  margin:36px auto;
  padding:0 24px;
  display:grid;
  grid-template-columns:230px 1fr 250px;
  gap:20px;
  align-items:start;
}
.rank-list li, .news-side li {
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 4px;
  border-bottom:1px solid var(--border-soft);
  transition:padding-left .2s ease;
}
.rank-list li:hover, .news-side li:hover { padding-left:6px; }
.rank-list li:last-child, .news-side li:last-child { border-bottom:none; }
.rank-num {
  font-family:'JetBrains Mono',monospace;
  font-weight:700;
  font-size:0.82rem;
  width:18px;
  color:var(--text-faint);
}
.rank-list li:nth-child(1) .rank-num { color:var(--gold); }
.crest-dot {
  width:8px;
  height:8px;
  border-radius:50%;
  flex:0 0 auto;
}
.rank-name {
  font-weight:600;
  font-size:0.86rem;
  flex:1;
}
.rank-pts {
  font-family:'JetBrains Mono',monospace;
  font-size:0.75rem;
  color:var(--text-faint);
}
.match-list {
  display:flex;
  flex-direction:column;
  gap:8px;
}
.match-card {
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
}
.match-thumb {
  width:44px;
  height:44px;
  flex:0 0 auto;
}
.match-time {
  font-family:'JetBrains Mono',monospace;
  font-weight:700;
  font-size:0.82rem;
  color:var(--diamond);
  width:44px;
}
.match-teams {
  flex:1;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.match-teams .t {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:0.85rem;
  font-weight:600;
}
.match-teams .t .block-icon { width:18px; height:18px; }
.match-tag {
  font-size:0.68rem;
  font-weight:600;
  color:var(--text-dim);
  background:var(--bg-raised);
  padding:5px 9px;
  border-radius:20px;
  white-space:nowrap;
  display:inline-block;
}
.match-tag[data-tag="NEWS"] { color:var(--diamond); background:rgba(79,184,201,0.12); }
.match-tag[data-tag="PVP"] { color:var(--redstone); background:rgba(184,80,63,0.14); }
.match-tag[data-tag="REDSTONE"] { color:var(--redstone); background:rgba(184,80,63,0.14); }
.match-tag[data-tag="SNAPSHOT"] { color:var(--gold); background:rgba(217,172,76,0.14); }
.match-tag[data-tag="COMUNIDAD"] { color:var(--grass); background:rgba(95,174,90,0.14); }
.match-format {
  font-size:0.72rem;
  color:var(--text-faint);
  font-family:'JetBrains Mono',monospace;
  white-space:nowrap;
}
.news-side li { align-items:center; gap:12px; }
.news-side .thumb {
  width:42px;
  height:42px;
  flex:0 0 auto;
}
.news-side .txt {
  display:flex;
  flex-direction:column;
  gap:4px;
}
.news-side .headline { font-size:0.83rem; font-weight:600; }
.news-side .meta {
  font-size:0.7rem;
  color:var(--text-faint);
  font-family:'JetBrains Mono',monospace;
}
.news-main-list {
  display:flex;
  flex-direction:column;
  gap:12px;
}
.news-main-item {
  display:flex;
  gap:18px;
  padding:18px;
}
.thumb-md {
  width:96px;
  height:96px;
  flex:0 0 auto;
}
.news-main-item .txt {
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:1;
  min-width:0;
}
.news-main-item h3 {
  font-size:1.02rem;
  font-weight:700;
  line-height:1.4;
}
.news-main-item p { font-size:0.85rem; color:var(--text-dim); }
.news-main-item .meta {
  font-size:0.72rem;
  color:var(--text-faint);
  font-family:'JetBrains Mono',monospace;
  margin-top:2px;
}
.match-list-compact {
  display:flex;
  flex-direction:column;
  gap:10px;
}
.match-compact {
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:14px 16px;
}
.match-compact .row-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.match-compact .t {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:0.83rem;
  font-weight:600;
}
.match-compact .t .block-icon { width:18px; height:18px; }
.match-compact .match-format { align-self:flex-end; }
.streamers-panel {
  padding:6px;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.streamer-item {
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:4px;
  transition:background .15s ease;
}
.streamer-item:hover { background:var(--bg-raised); }
.streamer-live-dot {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ff4655;
  flex:0 0 auto;
  box-shadow:0 0 0 3px rgba(255,70,85,0.18);
}
.streamer-rank {
  font-size:0.72rem;
  color:var(--text-faint);
  font-family:'JetBrains Mono',monospace;
  font-weight:700;
  flex:0 0 auto;
  width:14px;
}
.streamer-name {
  font-size:0.85rem;
  font-weight:600;
  color:var(--text);
  flex:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.streamer-viewers {
  font-size:0.72rem;
  color:var(--text-faint);
  font-family:'JetBrains Mono',monospace;
  flex:0 0 auto;
}
.streamer-platform-icon {
  width:15px;
  height:15px;
  flex:0 0 auto;
}
.streamers-empty {
  padding:18px 16px;
  text-align:center;
  color:var(--text-faint);
  font-size:0.82rem;
}
.news-grid-wrap {
  max-width:1240px;
  margin:0 auto 70px;
  padding:0 24px;
}
.news-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.news-card {
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.news-card .thumb-lg { height:120px; }
.news-card .body {
  padding:18px 20px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.news-card h3 {
  font-size:0.95rem;
  font-weight:700;
  line-height:1.45;
}
.news-card p { font-size:0.82rem; color:var(--text-dim); }
.news-card .foot {
  display:flex;
  justify-content:space-between;
  font-size:0.7rem;
  color:var(--text-faint);
  font-family:'JetBrains Mono',monospace;
  border-top:1px solid var(--border-soft);
  padding-top:10px;
}
.comment-count-inline {
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.comment-count-inline svg {
  width:12px;
  height:12px;
  opacity:.75;
  flex:0 0 auto;
}
.tag-chip { align-self:flex-start; }
.gallery-wrap {
  max-width:1240px;
  margin:0 auto 20px;
  padding:0 24px;
}
.gallery-grid {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
}
.gallery-item { aspect-ratio:1/1; position:relative; }
.clip-info {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:8px 10px 10px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.gallery-item .cap {
  font-size:0.68rem;
  font-weight:500;
  color:var(--text);
}
.clip-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
}
.clip-player {
  display:flex;
  align-items:center;
  gap:4px;
  font-size:0.6rem;
  color:var(--text-dim);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  min-width:0;
}
.clip-player img {
  width:16px;
  height:16px;
  border-radius:2px;
  image-rendering:pixelated;
  flex:0 0 auto;
}
.star-btn {
  display:flex;
  align-items:center;
  gap:3px;
  flex:0 0 auto;
  background:rgba(18,25,26,0.55);
  border:1px solid rgba(255,255,255,0.15);
  color:var(--text-dim);
  border-radius:20px;
  padding:3px 7px;
  font-size:0.62rem;
  font-weight:700;
  cursor:pointer;
  backdrop-filter:blur(2px);
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.star-btn svg { width:11px; height:11px; }
.star-btn:hover { background:rgba(217,172,76,0.25); border-color:rgba(217,172,76,0.4); }
.star-btn.active {
  color:var(--gold);
  border-color:rgba(217,172,76,0.5);
  background:rgba(217,172,76,0.18);
}
.star-btn.active svg { fill:var(--gold); }
.reveal {
  opacity:0;
  transform:translateY(14px);
  transition:opacity .55s ease, transform .55s cubic-bezier(.2,.7,.3,1);
}
.reveal.in-view { opacity:1; transform:translateY(0); }
@media (max-width:980px) {
  .hub-grid { grid-template-columns:1fr; }
  .feature-row { grid-template-columns:1fr; }
  .news-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-grid { grid-template-columns:repeat(3,1fr); }
  .nav-hamburger { display:flex; }
  .nav-links {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    gap:2px;
    background:var(--bg-panel);
    border-bottom:1px solid var(--border);
    padding:10px 24px 18px;
    box-shadow:0 16px 28px rgba(0,0,0,0.35);
  }
  .nav-links.show { display:flex; }
  .nav-links a {
    padding:12px 4px;
    border-bottom:1px solid var(--border-soft);
    font-size:0.92rem;
  }
  .nav-links a:last-child { border-bottom:none; }
}
@media (max-width:600px) {
  .news-grid { grid-template-columns:1fr; }
  .gallery-grid { grid-template-columns:repeat(2,1fr); }
  .nav-inner {
    gap:8px;
    padding:12px 14px;
    flex-wrap:nowrap;
  }
  .logo-word { font-size:0.82rem; }
  .logo-badge { height:22px; }
  .nav-icons .ic { width:26px; height:26px; }
  .discord-nav-btn { padding:6px 9px; font-size:0.7rem; }
  .discord-nav-btn span.label { display:none; }
  .discord-nav-who { padding:3px 6px 3px 3px; max-width:96px; }
  .discord-nav-who span {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .discord-nav-who img { width:20px; height:20px; }
  .search-wrap { flex:1 1 auto; min-width:0; }
  .nav-search {
    width:100%;
    min-width:0;
    padding:7px 9px;
    font-size:0.76rem;
  }
  .logo-word { font-size:0.9rem; }
}
@media (prefers-reduced-motion:reduce) {
  * { animation:none !important; transition:none !important; }
}
