body:has(.viewer-page) .side-controls button:nth-child(n+3) {
  display: none !important;
}

body:has(.viewer-page) .desktop-progress-pill,
body:has(.viewer-page) .mobile-count-pill,
body:has(.viewer-page) .info-panel .panel-kicker {
  display: none !important;
}

body:has(.viewer-page)::before {
  content: "" !important;
  position: fixed !important;
  top: 16px !important;
  left: 20px !important;
  z-index: 60 !important;
  width: 214px !important;
  height: 52px !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: contain !important;
  background-image: url("data:image/svg+xml,%3Csvg width='428' height='104' viewBox='0 0 428 104' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='428' height='104' fill='none'/%3E%3Cpath d='M62 14L32 25V48C32 68 45 85 62 92C79 85 92 68 92 48V25L62 14Z' fill='%230A2D62'/%3E%3Cpath d='M62 30C51.5 30 43 38.4 43 48.7C43 63.8 62 79 62 79C62 79 81 63.8 81 48.7C81 38.4 72.5 30 62 30Z' fill='%23ff4b55'/%3E%3Ccircle cx='62' cy='48' r='6.7' fill='white'/%3E%3Ctext x='116' y='69' font-family='Inter, Arial, sans-serif' font-size='54' font-weight='900' letter-spacing='-4'%3E%3Ctspan fill='%230A2D62'%3ECase%3C/tspan%3E%3Ctspan fill='%23ff3f48'%3ETrace%3C/tspan%3E%3C/text%3E%3C/svg%3E") !important;
  pointer-events: none !important;
  filter: drop-shadow(0 14px 28px rgba(0,0,0,.28)) !important;
}

@keyframes desktopViewerHintFade {
  0%, 78% {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
  }
  100% {
    opacity: 0;
    transform: translateX(-50%) translateY(6px) scale(.98);
    visibility: hidden;
  }
}

@media (min-width: 901px) {
  body:has(.viewer-page) .desktop-hint {
    animation: desktopViewerHintFade 10s ease forwards !important;
    pointer-events: none !important;
  }

  body:has(.viewer-page) .desktop-frame {
    grid-template-columns: minmax(480px, 1.22fr) minmax(330px, .78fr) !important;
    gap: 16px !important;
    padding-right: 0 !important;
  }

  body:has(.viewer-page) .info-panel {
    padding: 24px !important;
    border-radius: 28px !important;
    border: 1px solid rgba(255,255,255,.075) !important;
    background: linear-gradient(180deg, rgba(15,23,42,.72), rgba(8,11,16,.82)) !important;
    box-shadow: 0 22px 68px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.035) !important;
    backdrop-filter: blur(14px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(112%) !important;
  }

  body:has(.viewer-page) .info-panel h1 {
    font-size: clamp(38px, 4.15vw, 68px) !important;
    line-height: .92 !important;
    letter-spacing: -.068em !important;
  }

  body:has(.viewer-page) .info-panel p {
    margin-top: 14px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: rgba(255,255,255,.68) !important;
    max-height: 118px !important;
  }

  body:has(.viewer-page) .info-panel .case-meta {
    margin-bottom: 8px !important;
    color: rgba(255,255,255,.58) !important;
  }

  body:has(.viewer-page) .info-panel .action-row {
    margin-top: 18px !important;
    gap: 8px !important;
  }

  body:has(.viewer-page) .info-panel .primary-btn,
  body:has(.viewer-page) .info-panel .secondary-btn {
    padding: 10px 15px !important;
    font-size: 12px !important;
  }

  body:has(.viewer-page) .info-panel .viewer-note {
    margin-top: 16px !important;
    padding: 10px 12px !important;
    border-radius: 16px !important;
    background: rgba(239,68,68,.06) !important;
    border-color: rgba(239,68,68,.13) !important;
    color: rgba(255,215,215,.82) !important;
    font-size: 12.5px !important;
  }

  body:has(.viewer-page) .side-controls {
    position: fixed !important;
    right: 26px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 62 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    width: auto !important;
    pointer-events: auto !important;
  }

  body:has(.viewer-page) .side-controls button {
    width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    background: rgba(10,16,28,.46) !important;
    color: rgba(255,255,255,.94) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05) !important;
    backdrop-filter: blur(16px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, opacity 160ms ease !important;
  }

  body:has(.viewer-page) .side-controls button:first-child::before,
  body:has(.viewer-page) .side-controls button:nth-child(2)::before {
    content: "" !important;
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    border-top: 3px solid currentColor !important;
    border-left: 3px solid currentColor !important;
    border-radius: 2px !important;
  }

  body:has(.viewer-page) .side-controls button:first-child::before {
    transform: translateY(4px) rotate(45deg) !important;
  }

  body:has(.viewer-page) .side-controls button:nth-child(2)::before {
    transform: translateY(-4px) rotate(225deg) !important;
  }

  body:has(.viewer-page) .side-controls button span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }

  body:has(.viewer-page) .side-controls button:hover {
    transform: translateY(-1px) scale(1.035) !important;
    background: rgba(16,24,40,.62) !important;
    border-color: rgba(255,95,110,.42) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.34), 0 0 0 1px rgba(255,95,110,.16), 0 0 24px rgba(255,72,92,.16) !important;
  }

  body:has(.viewer-page) .side-controls button:active {
    transform: scale(.97) !important;
  }
}

@media (max-width: 900px) {
  body:has(.viewer-page)::before {
    display: none !important;
  }

  body:has(.viewer-page) .side-controls {
    display: none !important;
  }
}

@media (max-width: 1180px) and (min-width: 901px) {
  body:has(.viewer-page) .desktop-frame {
    grid-template-columns: minmax(430px, 1.08fr) minmax(300px, .92fr) !important;
  }

  body:has(.viewer-page) .info-panel {
    padding: 22px !important;
  }
}