/* Qunti v0.9.4 */
.brand { gap: 8px; min-width: 0; padding: 6px 12px; border-radius: 14px; background: linear-gradient(135deg, rgba(10,12,16,.88), rgba(19,23,29,.74)); border: 1px solid color-mix(in srgb, var(--line) 68%, transparent); box-shadow: 0 8px 26px rgba(0,0,0,.14); position: relative; overflow: hidden; }
.brand-word { display:inline-flex; align-items:center; gap:0; font-size: 22px; font-weight: 860; color: #fff; letter-spacing: -.045em; }
.brand-word b { color: #ff74bc; font-weight: 900; }
.brand-word > span { color: #fff; }
.brand-leaf { width: 14px; height: 11px; border-radius: 80% 8% 80% 8%; background: linear-gradient(145deg, #f7b6d6, #dd8db9); box-shadow: inset 0 -1px 0 rgba(160,64,110,.32), 0 3px 10px rgba(228,144,185,.18); position: relative; transform: rotate(-24deg); flex: 0 0 auto; opacity: .92; }
.brand-leaf::after { content:""; position:absolute; width:1px; height:10px; left:6px; top:1px; background: rgba(132,73,95,.45); transform: rotate(38deg); transform-origin: top center; }
.brand-leaf.leaf-right { transform: rotate(18deg); }
.footer-brand-q { color:#ff74bc; }
.leaf-rain { position: fixed; inset: 0; pointer-events: none; overflow: hidden; z-index: 0; }
.leaf { position: absolute; top: -10%; width: 16px; height: 13px; border-radius: 85% 10% 85% 10%; background: linear-gradient(145deg, rgba(255,191,220,.82), rgba(232,136,187,.92)); box-shadow: inset 0 -1px 0 rgba(150,72,104,.28), 0 6px 16px rgba(238,163,202,.08); opacity: .58; animation: leaf-fall linear infinite; }
.leaf::after { content:""; position:absolute; left:7px; top:1px; width:1px; height:11px; background: rgba(139,81,101,.32); transform: rotate(36deg); transform-origin: top center; }
.leaf-1{ left:6%; animation-duration:22s; animation-delay:-2s; transform:scale(.9) rotate(-14deg);}
.leaf-2{ left:18%; animation-duration:28s; animation-delay:-11s; transform:scale(1.05) rotate(12deg);}
.leaf-3{ left:31%; animation-duration:19s; animation-delay:-6s; transform:scale(.78) rotate(-20deg);}
.leaf-4{ left:48%; animation-duration:24s; animation-delay:-16s; transform:scale(.96) rotate(18deg);}
.leaf-5{ left:63%; animation-duration:27s; animation-delay:-8s; transform:scale(.82) rotate(-10deg);}
.leaf-6{ left:75%; animation-duration:21s; animation-delay:-14s; transform:scale(1.08) rotate(22deg);}
.leaf-7{ left:87%; animation-duration:26s; animation-delay:-4s; transform:scale(.88) rotate(-18deg);}
.leaf-8{ left:94%; animation-duration:31s; animation-delay:-19s; transform:scale(.72) rotate(14deg);}
@keyframes leaf-fall { 0% { transform: translate3d(0, -8vh, 0) rotate(0deg); opacity: 0; } 12% { opacity: .58; } 50% { transform: translate3d(26px, 45vh, 0) rotate(130deg); } 100% { transform: translate3d(-24px, 115vh, 0) rotate(280deg); opacity: 0; } }
main, .topbar, .footer, .drawer, .drawer-backdrop, .lightbox, .toast, .select-popover { position: relative; z-index: 1; }
.info-tags.server-info-tags .tag { max-width: none; white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.3; word-break: break-word; }
.server-kpi small { display: none !important; }
.server-chart-head span { display:none; }
.server-connect-box { max-width: 520px; }
.detail-server-refresh-top { position: fixed; z-index: 8; top: 14px; right: 188px; min-height: 38px; height: 38px; margin: 0; padding: 0 12px; border-color: var(--line); background: color-mix(in srgb, var(--surface) 88%, transparent); color: var(--text-soft); backdrop-filter: blur(12px); }
.detail-server-refresh-top:hover { border-color: color-mix(in srgb, var(--line) 62%, var(--text-soft)); background: var(--surface-2); color: var(--text); }
.detail-server-refresh-top.cooldown, .detail-server-refresh-top:disabled { opacity: .72; cursor: default; }
.lightbox-close { position: fixed; top: 14px; right: 28px; z-index: 10; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 10px; background: color-mix(in srgb, var(--surface) 88%, transparent); color: var(--text-soft); backdrop-filter: blur(12px); }
.lightbox-close:hover { border-color: color-mix(in srgb, var(--line) 62%, var(--text-soft)); background: var(--surface-2); color: var(--text); }
.lightbox-open .drawer-close { opacity: 0; pointer-events: none; }
@media (max-width: 900px) { .detail-server-refresh-top { right: 62px; top: 58px; } }
@media (max-width: 680px) { .brand { padding: 5px 10px; } .brand-word { font-size: 19px; } .brand-leaf { width: 12px; height: 9px; } .leaf { opacity: .42; } }


/* Qunti v0.9.5 */
.brand { background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; padding: 0 !important; overflow: visible !important; gap: 8px !important; }
.brand-word { font-size: 22px; font-weight: 860; }
.brand-leaf { width: 16px !important; height: 16px !important; background: url('/minecraft_cherry_leaf.png') center/contain no-repeat !important; box-shadow: none !important; border-radius: 0 !important; image-rendering: pixelated; transform: rotate(-18deg); opacity: 1; }
.brand-leaf::after { display: none !important; }
.leaf-rain { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.leaf {
  position: absolute;
  top: -10vh;
  width: 22px;
  height: 22px;
  background: url('/minecraft_cherry_leaf.png') center/contain no-repeat;
  image-rendering: pixelated;
  opacity: .72;
  transform-origin: center;
  animation-name: leaf-fall-pixel;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.06));
}
.leaf::after { display: none !important; }
.leaf-1 { left: 4%;  --drift: 26px; --spin: 260deg; --scale: 1.0; animation-duration: 20s; animation-delay: -2s; }
.leaf-2 { left: 11%; --drift: -32px; --spin: -310deg; --scale: 1.15; animation-duration: 25s; animation-delay: -8s; }
.leaf-3 { left: 18%; --drift: 30px; --spin: 290deg; --scale: .95; animation-duration: 18s; animation-delay: -5s; }
.leaf-4 { left: 27%; --drift: -24px; --spin: -280deg; --scale: 1.08; animation-duration: 22s; animation-delay: -13s; }
.leaf-5 { left: 36%; --drift: 34px; --spin: 340deg; --scale: .88; animation-duration: 24s; animation-delay: -4s; }
.leaf-6 { left: 45%; --drift: -28px; --spin: -250deg; --scale: 1.05; animation-duration: 19s; animation-delay: -16s; }
.leaf-7 { left: 54%; --drift: 22px; --spin: 300deg; --scale: 1.18; animation-duration: 27s; animation-delay: -9s; }
.leaf-8 { left: 62%; --drift: -35px; --spin: -330deg; --scale: .92; animation-duration: 23s; animation-delay: -1s; }
.leaf-9 { left: 71%; --drift: 28px; --spin: 280deg; --scale: 1.1; animation-duration: 21s; animation-delay: -11s; }
.leaf-10 { left: 79%; --drift: -22px; --spin: -270deg; --scale: .84; animation-duration: 26s; animation-delay: -6s; }
.leaf-11 { left: 88%; --drift: 24px; --spin: 320deg; --scale: 1.06; animation-duration: 29s; animation-delay: -14s; }
.leaf-12 { left: 95%; --drift: -18px; --spin: -240deg; --scale: .9; animation-duration: 17s; animation-delay: -3s; }
@keyframes leaf-fall-pixel {
  0% { transform: translate3d(0, -12vh, 0) rotate(0deg) scale(var(--scale)); opacity: 0; }
  8% { opacity: .78; }
  35% { transform: translate3d(calc(var(--drift) * .45), 33vh, 0) rotate(calc(var(--spin) * .35)) scale(var(--scale)); }
  68% { transform: translate3d(calc(var(--drift) * -.25), 70vh, 0) rotate(calc(var(--spin) * .72)) scale(var(--scale)); }
  100% { transform: translate3d(var(--drift), 112vh, 0) rotate(350deg) scale(var(--scale)); opacity: 0; }
}
.topbar, main, .footer { position: relative; z-index: 1; }
.drawer { position: fixed !important; top: 0; right: 0; left: auto; bottom: 0; z-index: 80; }
.drawer-backdrop { position: fixed !important; inset: 0; z-index: 70; }
.lightbox {
  position: fixed !important;
  inset: 0;
  z-index: 200;
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  padding: 28px 86px 44px;
}
.lightbox-figure {
  grid-area: 1 / 1;
  display: flex;
  width: auto;
  max-width: calc(100vw - 172px);
  max-height: calc(100vh - 62px);
  margin: 0;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  pointer-events: none;
}
.lightbox-figure img {
  width: auto;
  height: auto;
  max-width: calc(100vw - 172px);
  max-height: calc(100vh - 78px);
  margin: 0 auto;
  object-fit: contain;
  pointer-events: auto;
}
.lightbox-figure figcaption {
  width: min(900px, 100%);
  margin: 8px auto 0;
  pointer-events: none;
}
.lightbox-arrow {
  position: fixed;
  z-index: 9;
  top: 50%;
  transform: translateY(-50%);
}
.lightbox-prev { left: 24px; }
.lightbox-next { right: 24px; }
@media (max-width: 760px) {
  .lightbox { padding: 22px 54px 64px; }
  .lightbox-figure { max-width: calc(100vw - 108px); max-height: calc(100vh - 72px); }
  .lightbox-figure img { max-width: calc(100vw - 108px); max-height: calc(100vh - 96px); }
  .lightbox-prev { left: 8px; }
  .lightbox-next { right: 8px; }
}
.toast { position: fixed !important; z-index: 120; }
.select-popover { position: fixed !important; z-index: 1000; }
@media (max-width: 680px) { .brand-word { font-size: 19px; } .brand-leaf { width: 14px !important; height: 14px !important; } .leaf { width: 19px; height: 19px; opacity: .62; } }

/* Qunti v0.9.6 — theme-aware brand, Minecraft petals and scoped scrollbars */
.brand-word > span {
  color: var(--text) !important;
}

.brand-leaf {
  width: 20px !important;
  height: 20px !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

.leaf {
  width: 34px;
  height: 34px;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  background-color: transparent !important;
}

/* Scrollbars deliberately scale with the size of the scroll surface. */
:root {
  --qunti-scroll-track: color-mix(in srgb, var(--surface-2) 52%, transparent);
  --qunti-scroll-thumb: color-mix(in srgb, var(--text-faint) 72%, var(--surface-3));
  --qunti-scroll-thumb-hover: color-mix(in srgb, #ff74bc 34%, var(--text-soft));
  --qunti-scroll-thumb-active: color-mix(in srgb, #ff74bc 52%, var(--text-soft));
}

html,
body {
  scrollbar-width: auto;
  scrollbar-color: var(--qunti-scroll-thumb) var(--qunti-scroll-track);
}

#drawerContent {
  scrollbar-width: auto;
  scrollbar-color: var(--qunti-scroll-thumb) var(--qunti-scroll-track);
}

.filters,
.filters-scroll,
.select-popover,
.gallery,
.markdown pre,
.quick-row,
.download-version-list {
  scrollbar-width: thin;
  scrollbar-color: var(--qunti-scroll-thumb) var(--qunti-scroll-track);
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  width: 15px;
  height: 15px;
}

#drawerContent::-webkit-scrollbar {
  width: 11px;
  height: 11px;
}

.filters::-webkit-scrollbar,
.filters-scroll::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}

.select-popover::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}

.gallery::-webkit-scrollbar,
.markdown pre::-webkit-scrollbar,
.download-version-list::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}

.quick-row::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
#drawerContent::-webkit-scrollbar-track,
.filters::-webkit-scrollbar-track,
.filters-scroll::-webkit-scrollbar-track,
.select-popover::-webkit-scrollbar-track,
.gallery::-webkit-scrollbar-track,
.markdown pre::-webkit-scrollbar-track,
.quick-row::-webkit-scrollbar-track,
.download-version-list::-webkit-scrollbar-track {
  background: var(--qunti-scroll-track) !important;
  border-radius: 999px;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
#drawerContent::-webkit-scrollbar-thumb,
.filters::-webkit-scrollbar-thumb,
.filters-scroll::-webkit-scrollbar-thumb,
.select-popover::-webkit-scrollbar-thumb,
.gallery::-webkit-scrollbar-thumb,
.markdown pre::-webkit-scrollbar-thumb,
.quick-row::-webkit-scrollbar-thumb,
.download-version-list::-webkit-scrollbar-thumb {
  min-width: 28px;
  min-height: 28px;
  border-radius: 999px;
  background: var(--qunti-scroll-thumb) !important;
  background-clip: padding-box !important;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
  border: 4px solid transparent !important;
}

#drawerContent::-webkit-scrollbar-thumb {
  border: 3px solid transparent !important;
}

.filters::-webkit-scrollbar-thumb,
.filters-scroll::-webkit-scrollbar-thumb {
  border: 2px solid transparent !important;
}

.select-popover::-webkit-scrollbar-thumb,
.gallery::-webkit-scrollbar-thumb,
.markdown pre::-webkit-scrollbar-thumb,
.quick-row::-webkit-scrollbar-thumb,
.download-version-list::-webkit-scrollbar-thumb {
  border: 1px solid transparent !important;
}

html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover,
#drawerContent::-webkit-scrollbar-thumb:hover,
.filters::-webkit-scrollbar-thumb:hover,
.filters-scroll::-webkit-scrollbar-thumb:hover,
.select-popover::-webkit-scrollbar-thumb:hover,
.gallery::-webkit-scrollbar-thumb:hover,
.markdown pre::-webkit-scrollbar-thumb:hover,
.quick-row::-webkit-scrollbar-thumb:hover,
.download-version-list::-webkit-scrollbar-thumb:hover {
  background: var(--qunti-scroll-thumb-hover) !important;
  background-clip: padding-box !important;
}

html::-webkit-scrollbar-thumb:active,
body::-webkit-scrollbar-thumb:active,
#drawerContent::-webkit-scrollbar-thumb:active,
.filters::-webkit-scrollbar-thumb:active,
.filters-scroll::-webkit-scrollbar-thumb:active,
.select-popover::-webkit-scrollbar-thumb:active,
.gallery::-webkit-scrollbar-thumb:active,
.markdown pre::-webkit-scrollbar-thumb:active,
.quick-row::-webkit-scrollbar-thumb:active,
.download-version-list::-webkit-scrollbar-thumb:active {
  background: var(--qunti-scroll-thumb-active) !important;
  background-clip: padding-box !important;
}

*::-webkit-scrollbar-button,
*::-webkit-scrollbar-button:single-button,
*::-webkit-scrollbar-button:vertical:decrement,
*::-webkit-scrollbar-button:vertical:increment,
*::-webkit-scrollbar-button:horizontal:decrement,
*::-webkit-scrollbar-button:horizontal:increment {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

@media (max-width: 680px) {
  .brand-leaf {
    width: 17px !important;
    height: 17px !important;
  }
  .leaf {
    width: 29px;
    height: 29px;
  }
}

/* Qunti v0.9.7 — independent logo scale and collision-free drawer tools */
.brand-word {
  font-size: 26px !important;
  line-height: 1 !important;
}
.brand-leaf {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  background-image: url('/minecraft_cherry_leaf_cropped.png') !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  image-rendering: pixelated;
}

/* Falling petals use their own size; changing the logo no longer affects them. */
.leaf {
  width: 28px !important;
  height: 28px !important;
  background-image: url('/minecraft_cherry_leaf_cropped.png') !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  image-rendering: pixelated;
}

.detail-top-actions {
  position: fixed;
  z-index: 8;
  top: 14px;
  right: 62px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  max-width: calc(100vw - 150px);
}
.detail-top-actions .detail-translate-top,
.detail-top-actions .detail-server-refresh-top {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  bottom: auto !important;
  flex: 0 0 auto;
  margin: 0 !important;
}

@media (max-width: 900px) {
  .detail-top-actions {
    top: 58px;
    right: 12px;
    max-width: calc(100vw - 24px);
    flex-wrap: wrap;
  }
}

@media (max-width: 680px) {
  .brand-word { font-size: 23px !important; }
  .brand-leaf {
    width: 17px !important;
    height: 17px !important;
    flex-basis: 17px !important;
  }
  .leaf {
    width: 25px !important;
    height: 25px !important;
  }
}

/* Qunti v0.9.8 — file security, steadier petals, range filters and denser detail UX */
.brand-leaf {
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 17px !important;
  transform: rotate(232deg) !important;
}

.leaf-rain { z-index: 0; }
.leaf {
  width: 30px !important;
  height: 30px !important;
  opacity: .7;
  animation-name: quntiLeafFall !important;
  animation-duration: 24s !important;
  animation-timing-function: linear !important;
  animation-iteration-count: infinite !important;
  animation-delay: var(--leaf-delay, 0s) !important;
  transform-origin: 50% 50%;
  will-change: transform, opacity;
}
.leaf-1  { left: 3%;  --leaf-delay:-1.6s;  --x1:24px;  --x2:-18px; --x3:31px;  --spin:290deg; }
.leaf-2  { left: 10%; --leaf-delay:-3.2s;  --x1:-28px; --x2:17px;  --x3:-21px; --spin:-330deg; }
.leaf-3  { left: 17%; --leaf-delay:-4.8s;  --x1:19px;  --x2:-31px; --x3:12px;  --spin:260deg; }
.leaf-4  { left: 24%; --leaf-delay:-6.4s;  --x1:-22px; --x2:28px;  --x3:-34px; --spin:-300deg; }
.leaf-5  { left: 31%; --leaf-delay:-8s;    --x1:32px;  --x2:7px;   --x3:-19px; --spin:345deg; }
.leaf-6  { left: 39%; --leaf-delay:-9.6s;  --x1:-18px; --x2:-35px; --x3:25px;  --spin:-275deg; }
.leaf-7  { left: 47%; --leaf-delay:-11.2s; --x1:27px;  --x2:-11px; --x3:35px;  --spin:315deg; }
.leaf-8  { left: 55%; --leaf-delay:-12.8s; --x1:-31px; --x2:22px;  --x3:-14px; --spin:-350deg; }
.leaf-9  { left: 63%; --leaf-delay:-14.4s; --x1:16px;  --x2:34px;  --x3:-27px; --spin:280deg; }
.leaf-10 { left: 70%; --leaf-delay:-16s;   --x1:-25px; --x2:-9px;  --x3:29px;  --spin:-310deg; }
.leaf-11 { left: 77%; --leaf-delay:-17.6s; --x1:34px;  --x2:-24px; --x3:17px;  --spin:335deg; }
.leaf-12 { left: 84%; --leaf-delay:-19.2s; --x1:-16px; --x2:30px;  --x3:-31px; --spin:-285deg; }
.leaf-13 { left: 90%; --leaf-delay:-20.8s; --x1:23px;  --x2:-33px; --x3:11px;  --spin:305deg; }
.leaf-14 { left: 95%; --leaf-delay:-22.4s; --x1:-29px; --x2:14px;  --x3:33px;  --spin:-325deg; }
.leaf-15 { left: 58%; --leaf-delay:-24s;   --x1:13px;  --x2:29px;  --x3:-23px; --spin:270deg; }
@keyframes quntiLeafFall {
  0%   { transform: translate3d(0,-12vh,0) rotate(0deg) scale(.88); opacity:0; }
  7%   { opacity:.72; }
  25%  { transform: translate3d(var(--x1),22vh,0) rotate(72deg) scale(1); }
  50%  { transform: translate3d(var(--x2),52vh,0) rotate(164deg) scale(.94); }
  75%  { transform: translate3d(var(--x3),82vh,0) rotate(258deg) scale(1.02); opacity:.68; }
  100% { transform: translate3d(0,112vh,0) rotate(350deg) scale(.9); opacity:0; }
}

.detail-top-actions {
  right: 70px !important;
  max-width: calc(100% - 152px) !important;
  flex-wrap: nowrap !important;
}
.detail-top-actions .detail-translate-top,
.detail-top-actions .detail-server-refresh-top {
  white-space: nowrap;
  max-width: 230px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.version-range-filter {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}
.version-range-filter > label { min-width: 0; }
.version-range-filter > label > span {
  display: block;
  margin-bottom: 5px;
  color: var(--text-faint);
  font-size: 8px;
  font-weight: 700;
}
.version-range-filter .custom-select-trigger { min-height: 34px; }

.detail-security-main {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid color-mix(in srgb, #e4b84f 64%, var(--line));
  border-radius: 10px;
  background: color-mix(in srgb, #e4b84f 15%, var(--surface));
  color: color-mix(in srgb, #e4b84f 80%, var(--text));
  font-size: 10px;
  font-weight: 850;
  cursor: pointer;
  transition: border-color .15s, background .15s, transform .15s;
}
.detail-security-main:hover {
  border-color: #e4b84f;
  background: color-mix(in srgb, #e4b84f 22%, var(--surface));
  transform: translateY(-1px);
}
.detail-download-main.loading,
.detail-security-main.loading {
  position: relative;
  overflow: hidden;
  cursor: wait;
  pointer-events: none;
  opacity: .88;
}
.detail-download-main.loading::after,
.detail-security-main.loading::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.23), transparent);
  animation: detailButtonLoadingSweep 1.15s ease-in-out infinite;
}
@keyframes detailButtonLoadingSweep { to { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) {
  .detail-download-main.loading::after,
  .detail-security-main.loading::after { animation: none; opacity: .35; transform: none; }
}
.detail-security-main svg,
.file-security-action svg,
.icon-only-action svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.file-security-action,
.icon-only-action {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 32px;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text-soft);
  text-decoration: none;
  cursor: pointer;
  flex: 0 0 auto;
}
.file-security-action.pending {
  border-color: color-mix(in srgb, #e4b84f 52%, var(--line));
  background: color-mix(in srgb, #e4b84f 10%, var(--surface));
  color: #c99a2f;
}
.file-security-action.pending:hover {
  border-color: #d8a93a;
  background: color-mix(in srgb, #e4b84f 16%, var(--surface));
}
.file-security-action.clean {
  border-color: color-mix(in srgb, #43b86f 50%, var(--line));
  background: color-mix(in srgb, #43b86f 10%, var(--surface));
  color: #3ca966;
  cursor: default;
}
.file-security-action.detected {
  border-color: color-mix(in srgb, #dc6670 54%, var(--line));
  background: color-mix(in srgb, #dc6670 10%, var(--surface));
  color: #d1535e;
  cursor: help;
}
.file-security-action.checking { color:#c99a2f; cursor:wait; }
.file-security-action.checking svg { animation: securityPulse 1s ease-in-out infinite; }
@keyframes securityPulse { 50% { opacity:.38; transform:scale(.86); } }
.file-security-action > span { white-space: nowrap; font-size: 9px; font-weight: 800; }

.file-row-actions,
.version-row-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}
.version-row-actions { min-width: 70px; }
.version-download.icon-only-action,
.download-version-action.icon-only-action {
  min-width: 32px;
  width: 32px;
  height: 32px;
  padding: 0;
  border-color: color-mix(in srgb, var(--positive) 38%, var(--line));
  background: var(--positive-soft);
  color: color-mix(in srgb, var(--positive) 76%, var(--text));
}
.version-download.icon-only-action:hover,
.download-version-action.icon-only-action:hover {
  border-color: color-mix(in srgb, var(--positive) 62%, var(--line));
  background: color-mix(in srgb, var(--positive) 16%, var(--surface));
}

.security-dialog-layer {
  position: absolute;
  z-index: 92;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: color-mix(in srgb, var(--drawer-base) 70%, transparent);
  backdrop-filter: blur(8px);
}
.security-dialog-layer.hidden { display:none; }
.security-dialog {
  position: relative;
  width: min(520px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: var(--panel);
  box-shadow: 0 28px 90px rgba(0,0,0,.42);
}
.security-dialog .download-dialog-kicker { color:#c99a2f; }
.security-dialog h3 { margin:0; padding-right:116px; color:var(--text); font-size:20px; line-height:1.2; }
.security-dialog > p { margin:7px 0 19px; color:var(--text-faint); font-size:10px; line-height:1.5; }
.download-dialog-top-actions {
  position:absolute;
  z-index:3;
  top:12px;
  right:12px;
  display:flex;
  align-items:center;
  gap:6px;
}
.download-dialog-top-actions .download-dialog-close { position:static; inset:auto; }
.security-latest-action.file-security-action.pending {
  width:auto;
  min-width:34px;
  padding:0 9px;
}
.security-latest-status.clean { color:#3ca966; }
.security-latest-status.detected { color:#d1535e; }
.security-latest-status.pending { color:var(--text-faint); }

.install-guide-title {
  display:flex;
  align-items:center;
  gap:6px;
}
.install-guide-collapse {
  display:grid !important;
  place-items:center;
  width:26px !important;
  min-width:26px !important;
  height:26px !important;
  min-height:26px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:7px !important;
  background:transparent !important;
  color:var(--text-faint) !important;
  cursor:pointer;
}
.install-guide-collapse:hover { background:var(--surface-2) !important; color:var(--text) !important; }
.install-guide-collapse .chevron-icon {
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  transition:transform .2s ease;
}
.install-guide-collapse.collapsed .chevron-icon { transform:rotate(180deg); }

.detail-grid.server-metadata-only .detail-sidebar {
  display:block !important;
  column-count:2;
  column-gap:12px;
}
.detail-grid.server-metadata-only .detail-sidebar > .info-card {
  display:inline-block;
  width:100%;
  margin:0 0 12px;
  break-inside:avoid;
  vertical-align:top;
}

.detail-skeleton { min-height:100%; }
.detail-skeleton-hero {
  min-height:330px;
  padding:82px 32px 28px;
  border-bottom:1px solid var(--border-soft);
  background:var(--drawer-base);
}
.detail-skeleton-head { display:flex; align-items:center; gap:16px; width:min(520px,76%); }
.detail-skeleton-head > div { flex:1; }
.detail-skeleton-icon,
.detail-skeleton-line,
.detail-skeleton-stats > i,
.detail-skeleton-side > i {
  display:block;
  border-radius:9px;
  background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 45%, var(--surface-2) 68%);
  background-size:280% 100%;
  animation:detailSkeletonShimmer 1.35s ease-in-out infinite;
}
.detail-skeleton-icon { width:68px; height:68px; border-radius:15px; flex:0 0 auto; }
.detail-skeleton-line.title { width:62%; height:20px; }
.detail-skeleton-line.author { width:35%; height:9px; margin-top:10px; }
.detail-skeleton-line.desc { width:min(610px,78%); height:11px; margin-top:28px; }
.detail-skeleton-line.desc.short { width:min(430px,56%); margin-top:9px; }
.detail-skeleton-stats { display:grid; grid-template-columns:repeat(4,minmax(90px,1fr)); gap:9px; width:min(650px,90%); margin-top:38px; }
.detail-skeleton-stats > i { height:58px; }
.detail-skeleton-body { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:22px; padding:28px 32px 48px; }
.detail-skeleton-main { min-width:0; }
.detail-skeleton-line.section { width:180px; height:17px; margin-bottom:21px; }
.detail-skeleton-line.paragraph { width:100%; height:11px; margin-top:10px; }
.detail-skeleton-line.paragraph.short { width:72%; }
.detail-skeleton-side { display:grid; gap:10px; }
.detail-skeleton-side > i { height:86px; }
@keyframes detailSkeletonShimmer { 0% { background-position:100% 0; } 100% { background-position:-80% 0; } }

@media (max-width: 900px) {
  .detail-top-actions { right:12px !important; top:58px; max-width:calc(100% - 24px) !important; flex-wrap:wrap !important; }
}
@media (max-width: 760px) {
  .detail-grid.server-metadata-only .detail-sidebar { column-count:1; }
  .security-dialog-layer { padding:16px; }
  .security-dialog { padding:21px 17px 17px; }
  .security-dialog h3 { padding-right:92px; }
  .detail-skeleton-hero { padding:88px 18px 22px; }
  .detail-skeleton-stats { grid-template-columns:1fr 1fr; width:100%; }
  .detail-skeleton-body { grid-template-columns:1fr; padding:22px 18px 40px; }
}
@media (max-width: 680px) {
  .brand-leaf { width:15px !important; height:15px !important; flex-basis:15px !important; }
  .leaf { width:27px !important; height:27px !important; }
  .version-range-filter { grid-template-columns:1fr; }
}
.file-security-action.partial {
  border-color: color-mix(in srgb, #d7a63d 54%, var(--line));
  background: color-mix(in srgb, #d7a63d 9%, var(--surface));
  color: #c79428;
  cursor: help;
}
.security-latest-status.partial { color:#c79428; }
.detail-hero:not(.server-detail-hero) { min-height: 410px; }


/* Qunti v0.9.8 final — security dialog scrollbar */
.security-dialog {
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--text-faint) 58%, transparent) transparent;
}
.security-dialog::-webkit-scrollbar { width: 7px; height: 7px; }
.security-dialog::-webkit-scrollbar-track { background: transparent; }
.security-dialog::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: color-mix(in srgb, var(--text-faint) 52%, transparent);
  background-clip: padding-box;
}
.security-dialog::-webkit-scrollbar-thumb:hover { background: color-mix(in srgb, var(--accent) 46%, var(--text-faint)); background-clip: padding-box; }
.security-dialog::-webkit-scrollbar-button { display: none; width: 0; height: 0; }


/* Qunti v0.9.9 — security UX, anti-spam polish, install spacing, scrollbars */
.brand-leaf {
  width: 14.5px !important;
  height: 14.5px !important;
  flex: 0 0 14.5px !important;
  transform: rotate(284deg) !important;
}
.detail-security-main { min-height: 31px !important; height: 31px; }
.security-latest-action.file-security-action { max-width: 132px; overflow: hidden; }
.security-latest-action.file-security-action.checking { width: 34px !important; min-width: 34px !important; padding: 0 !important; }

.security-detected-file {
  border-color: color-mix(in srgb, #dc5a67 70%, var(--line)) !important;
  background: color-mix(in srgb, #dc5a67 5%, var(--surface)) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #dc5a67 12%, transparent);
}
.security-detected-file:hover { border-color: color-mix(in srgb, #dc5a67 88%, var(--line)) !important; }
.download-latest-file.security-detected-file strong { color: color-mix(in srgb, #dc5a67 78%, var(--text)); }

.danger-download-layer {
  position: absolute;
  z-index: 96;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: color-mix(in srgb, var(--drawer-base) 72%, transparent);
  backdrop-filter: blur(9px);
}
.danger-download-layer.hidden { display:none; }
.danger-download-dialog {
  position: relative;
  width: min(500px, 100%);
  padding: 25px;
  border: 1px solid color-mix(in srgb, #dc5a67 55%, var(--line));
  border-radius: 17px;
  background: var(--panel);
  box-shadow: 0 28px 90px rgba(0,0,0,.42);
}
.danger-download-icon {
  display:grid; place-items:center; width:42px; height:42px; margin-bottom:14px;
  border:1px solid color-mix(in srgb,#dc5a67 52%,var(--line)); border-radius:12px;
  background:color-mix(in srgb,#dc5a67 10%,var(--surface)); color:#d1535e;
}
.danger-download-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.danger-download-dialog h3 { margin:0 44px 10px 0; color:var(--text); font-size:19px; }
.danger-download-dialog p { margin:7px 0; color:var(--text-soft); font-size:12px; line-height:1.55; }
.danger-download-dialog p strong { color:#d1535e; }
.danger-download-close { top:12px !important; right:12px !important; }
.danger-download-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:20px; }
.danger-download-cancel, .danger-download-confirm {
  display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 14px;
  border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--text-soft);
  font-size:10px; font-weight:800; text-decoration:none; cursor:pointer;
}
.danger-download-confirm { border-color:color-mix(in srgb,#dc5a67 58%,var(--line)); background:color-mix(in srgb,#dc5a67 11%,var(--surface)); color:#d1535e; min-width:145px; }
.danger-download-confirm:disabled { opacity:.52; cursor:not-allowed; }
.danger-download-confirm.ready:hover { background:color-mix(in srgb,#dc5a67 18%,var(--surface)); }

.install-main-project { margin-top: 7px !important; }
.install-main-project .install-guide-label { margin-bottom: 5px !important; }
.install-file-row.project { margin-top: 0 !important; }
.install-dependencies .install-guide-label { margin-bottom: 5px !important; }

/* Distinct scrollbar sizes. Windows Chromium/Opera needs explicit button states to remove native arrows. */
:root {
  --qunti-scroll-track-v2: color-mix(in srgb, var(--surface-2) 58%, transparent);
  --qunti-scroll-thumb-v2: #8b7581;
  --qunti-scroll-hover-v2: #b56f94;
  --qunti-scroll-active-v2: #d05d99;
}
html[data-theme="light"] {
  --qunti-scroll-track-v2: color-mix(in srgb, #dfe3e7 68%, transparent);
  --qunti-scroll-thumb-v2: #b9a4af;
  --qunti-scroll-hover-v2: #b87b9b;
  --qunti-scroll-active-v2: #a85f85;
}
* { scrollbar-color: var(--qunti-scroll-thumb-v2) var(--qunti-scroll-track-v2); }
*::-webkit-scrollbar { width:10px; height:10px; }
html::-webkit-scrollbar, body::-webkit-scrollbar { width:14px; height:14px; }
#drawerContent::-webkit-scrollbar { width:11px; height:11px; }
.filters::-webkit-scrollbar, .filters-scroll::-webkit-scrollbar { width:9px; height:9px; }
.select-popover::-webkit-scrollbar { width:7px; height:7px; }
.gallery::-webkit-scrollbar, .markdown pre::-webkit-scrollbar, .download-version-list::-webkit-scrollbar, .security-dialog::-webkit-scrollbar { width:7px; height:7px; }
.quick-row::-webkit-scrollbar { width:6px; height:6px; }
*::-webkit-scrollbar-track { background:var(--qunti-scroll-track-v2) !important; border-radius:999px !important; }
*::-webkit-scrollbar-thumb { border:2px solid transparent !important; border-radius:999px !important; background:var(--qunti-scroll-thumb-v2) !important; background-clip:padding-box !important; min-width:24px; min-height:24px; }
html::-webkit-scrollbar-thumb, body::-webkit-scrollbar-thumb { border-width:4px !important; }
#drawerContent::-webkit-scrollbar-thumb { border-width:3px !important; }
.select-popover::-webkit-scrollbar-thumb, .gallery::-webkit-scrollbar-thumb, .markdown pre::-webkit-scrollbar-thumb, .download-version-list::-webkit-scrollbar-thumb, .security-dialog::-webkit-scrollbar-thumb, .quick-row::-webkit-scrollbar-thumb { border-width:1px !important; }
*::-webkit-scrollbar-thumb:hover { background:var(--qunti-scroll-hover-v2) !important; background-clip:padding-box !important; }
*::-webkit-scrollbar-thumb:active { background:var(--qunti-scroll-active-v2) !important; background-clip:padding-box !important; }
*::-webkit-scrollbar-button,
*::-webkit-scrollbar-button:single-button,
*::-webkit-scrollbar-button:vertical:start:decrement,
*::-webkit-scrollbar-button:vertical:end:increment,
*::-webkit-scrollbar-button:horizontal:start:decrement,
*::-webkit-scrollbar-button:horizontal:end:increment,
*::-webkit-scrollbar-button:vertical:decrement,
*::-webkit-scrollbar-button:vertical:increment,
*::-webkit-scrollbar-button:horizontal:decrement,
*::-webkit-scrollbar-button:horizontal:increment {
  display:none !important; width:0 !important; height:0 !important; min-width:0 !important; min-height:0 !important; background:transparent !important; border:0 !important;
}

@media (max-width:760px) { .danger-download-layer { padding:16px; } .danger-download-dialog { padding:21px 17px 17px; } }

/* Chromium/Opera: let the WebKit pseudo-elements above control the geometry instead of native thin scrollbars. */
@supports selector(::-webkit-scrollbar) {
  * {
    scrollbar-width: auto !important;
    scrollbar-color: auto !important;
  }
}


/* Qunti v0.9.10 — natural petals and single-blur danger confirmation */
.brand-leaf {
  width: 19.6px !important;
  height: 19.6px !important;
  flex: 0 0 19.6px !important;
  transform: rotate(209deg) !important;
}

.leaf-rain {
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}
.leaf-rain .leaf {
  position: absolute;
  top: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: url('/minecraft_cherry_leaf_cropped.png') center/contain no-repeat !important;
  box-shadow: none !important;
  filter: none !important;
  image-rendering: pixelated;
  opacity: 0;
  animation: none !important;
  will-change: transform, opacity;
}

/* The parent download/security dialog already blurs the page. Do not blur it a second time. */
.danger-download-layer.nested-dialog-warning {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

@media (max-width: 680px) {
  .brand-leaf {
    width: 18px !important;
    height: 18px !important;
    flex-basis: 18px !important;
  }
}


/* Qunti v0.9.24 — current polish layer */
.brand-leaf {
  transform: rotate(240deg) !important;
}
.filter-text-input {
  width:100%;
  min-height:36px;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:9px;
  outline:0;
  background:var(--surface);
  color:var(--text);
  font:inherit;
  font-size:11px;
  transition:border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.filter-text-input::placeholder { color:var(--text-faint); }
.filter-text-input:focus {
  border-color:color-mix(in srgb,var(--accent) 55%,var(--line));
  background:var(--surface-2);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent);
}
.server-chart-frame { position:relative; }
.server-history-chart { overflow:visible; }
.server-chart-y-label,
.server-chart-x-label {
  fill:var(--text-faint);
  font-size:9px;
  font-weight:650;
  pointer-events:none;
}
.server-chart-point { fill:color-mix(in srgb,var(--accent) 72%,var(--text)); opacity:.72; pointer-events:none; }
.server-chart-point.offline { opacity:0; }
.server-chart-hover-line {
  stroke:color-mix(in srgb,var(--text-soft) 48%,transparent);
  stroke-width:1;
  stroke-dasharray:3 3;
  opacity:0;
  pointer-events:none;
}
.server-chart-hover-line.visible { opacity:1; }
.server-chart-hover-dot {
  fill:var(--surface);
  stroke:color-mix(in srgb,var(--accent) 76%,var(--text));
  stroke-width:2;
  opacity:0;
  pointer-events:none;
}
.server-chart-hover-dot.visible { opacity:1; }
.server-chart-tooltip {
  position:absolute;
  z-index:4;
  display:grid;
  gap:3px;
  min-width:125px;
  max-width:210px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:color-mix(in srgb,var(--panel) 96%,transparent);
  box-shadow:0 8px 25px rgba(0,0,0,.18);
  pointer-events:none;
  backdrop-filter:blur(9px);
}
.server-chart-tooltip.hidden { display:none; }
.server-chart-tooltip strong { color:var(--text); font-size:10px; font-weight:820; }
.server-chart-tooltip span { color:var(--text-faint); font-size:9px; white-space:nowrap; }
html[data-theme="light"] {
  --qunti-scroll-track-v2:color-mix(in srgb,#f1f3f5 88%,transparent);
  --qunti-scroll-thumb-v2:#d2c7cd;
  --qunti-scroll-hover-v2:#c7a5b7;
  --qunti-scroll-active-v2:#b886a0;
}
html[data-theme="dark"] {
  --qunti-scroll-track-v2:color-mix(in srgb,#11151a 82%,transparent);
  --qunti-scroll-thumb-v2:#5e555b;
  --qunti-scroll-hover-v2:#7a5e6e;
  --qunti-scroll-active-v2:#94617c;
}


/* Qunti v0.9.12 — generic author UX, icon copy, stricter warnings, visible scrollbars */
.brand-leaf {
  transform: rotate(310deg) !important;
}
.copy-icon-button {
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  margin-left:auto;
  color:var(--text-faint);
}
.copy-icon-button svg,
.icon-only-action svg {
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.card-server-address:hover .copy-icon-button { color:var(--text); }
.icon-only-action {
  width:38px !important;
  min-width:38px !important;
  padding:0 !important;
}

:root {
  --qunti-scroll-track-v3:#151a20;
  --qunti-scroll-thumb-v3:#46515d;
  --qunti-scroll-hover-v3:#65717d;
  --qunti-scroll-active-v3:#d46a9f;
}
html[data-theme="light"] {
  --qunti-scroll-track-v3:#edf0f3;
  --qunti-scroll-thumb-v3:#aeb7c1;
  --qunti-scroll-hover-v3:#8f9aa6;
  --qunti-scroll-active-v3:#bd6d96;
}
html[data-theme="dark"] {
  --qunti-scroll-track-v3:#10151a;
  --qunti-scroll-thumb-v3:#3c4651;
  --qunti-scroll-hover-v3:#56616d;
  --qunti-scroll-active-v3:#a8567f;
}
* {
  scrollbar-color:var(--qunti-scroll-thumb-v3) var(--qunti-scroll-track-v3) !important;
}
*::-webkit-scrollbar { width:11px !important; height:11px !important; background:var(--qunti-scroll-track-v3) !important; }
html::-webkit-scrollbar, body::-webkit-scrollbar { width:16px !important; height:16px !important; }
#drawerContent::-webkit-scrollbar { width:12px !important; height:12px !important; }
.filters::-webkit-scrollbar, .filters-scroll::-webkit-scrollbar { width:10px !important; height:10px !important; }
.select-popover::-webkit-scrollbar { width:8px !important; height:8px !important; }
.gallery::-webkit-scrollbar, .markdown pre::-webkit-scrollbar, .download-version-list::-webkit-scrollbar, .security-dialog::-webkit-scrollbar { width:8px !important; height:8px !important; }
.quick-row::-webkit-scrollbar { width:6px !important; height:6px !important; }
*::-webkit-scrollbar-track {
  background:var(--qunti-scroll-track-v3) !important;
  border-radius:999px !important;
}
*::-webkit-scrollbar-thumb {
  min-width:28px !important;
  min-height:28px !important;
  border:2px solid var(--qunti-scroll-track-v3) !important;
  border-radius:999px !important;
  background:var(--qunti-scroll-thumb-v3) !important;
  background-clip:padding-box !important;
}
html::-webkit-scrollbar-thumb, body::-webkit-scrollbar-thumb { border-width:3px !important; }
*::-webkit-scrollbar-thumb:hover { background:var(--qunti-scroll-hover-v3) !important; background-clip:padding-box !important; }
*::-webkit-scrollbar-thumb:active { background:var(--qunti-scroll-active-v3) !important; background-clip:padding-box !important; }
*::-webkit-scrollbar-button,
*::-webkit-scrollbar-button:single-button,
*::-webkit-scrollbar-button:vertical:decrement,
*::-webkit-scrollbar-button:vertical:increment,
*::-webkit-scrollbar-button:horizontal:decrement,
*::-webkit-scrollbar-button:horizontal:increment,
*::-webkit-scrollbar-button:start,
*::-webkit-scrollbar-button:end {
  display:none !important;
  width:0 !important;
  height:0 !important;
  min-width:0 !important;
  min-height:0 !important;
  border:0 !important;
  background:transparent !important;
}

/* Chromium/Opera must use the scoped WebKit geometry above; standard colors would override it. */
@supports selector(::-webkit-scrollbar) {
  * {
    scrollbar-width:auto !important;
    scrollbar-color:auto !important;
  }
}
@supports not selector(::-webkit-scrollbar) {
  * {
    scrollbar-color:var(--qunti-scroll-thumb-v3) var(--qunti-scroll-track-v3) !important;
  }
}
