/* QPal center-FAB dock refinement and Saved Questions compact layout.
   Presentation only: no assessment, bookmark persistence, navigation, or cloud logic changes. */

@media (max-width: 620px) {
  body.qpal-persistent-dashboard-shell .qpal-dashboard-dock[data-qpal-five-action-dock="true"] {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    min-height: 72px !important;
    margin: 0 !important;
    padding:
      8px
      max(6px, env(safe-area-inset-right, 0px))
      max(6px, env(safe-area-inset-bottom, 0px))
      max(6px, env(safe-area-inset-left, 0px)) !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: visible !important;
    isolation: isolate;
  }

  body.qpal-persistent-dashboard-shell .qpal-dashboard-dock[data-qpal-five-action-dock="true"]::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    content: "";
    pointer-events: none;
    background:
      linear-gradient(
        135deg,
        color-mix(in srgb, var(--surface-elevated) 88%, transparent),
        color-mix(in srgb, var(--surface-muted) 76%, transparent)
      );
    border-top: 1px solid color-mix(in srgb, var(--border-strong) 54%, transparent);
    border-radius: 26px 26px 0 0;
    box-shadow:
      0 -10px 32px rgba(20, 12, 8, .12),
      inset 0 1px 0 rgba(255, 255, 255, .38);
    backdrop-filter: blur(18px) saturate(122%);
    -webkit-backdrop-filter: blur(18px) saturate(122%);
    -webkit-mask: radial-gradient(
      circle 44px at 50% 6px,
      transparent 0 41px,
      #000 42px
    );
    mask: radial-gradient(
      circle 44px at 50% 6px,
      transparent 0 41px,
      #000 42px
    );
  }

  html.dark-mode body.qpal-persistent-dashboard-shell .qpal-dashboard-dock[data-qpal-five-action-dock="true"]::before {
    background:
      linear-gradient(
        135deg,
        color-mix(in srgb, var(--surface-elevated) 84%, transparent),
        color-mix(in srgb, var(--surface-muted) 70%, transparent)
      );
    box-shadow:
      0 -12px 34px rgba(0, 0, 0, .34),
      inset 0 1px 0 rgba(255, 255, 255, .08);
  }

  body.qpal-persistent-dashboard-shell .qpal-dashboard-dock[data-qpal-five-action-dock="true"] .qpal-dashboard-dock-indicator {
    z-index: 1;
  }

  body.qpal-persistent-dashboard-shell .qpal-dashboard-dock[data-qpal-five-action-dock="true"] .qpal-dashboard-dock-action {
    z-index: 2;
    min-height: 56px !important;
  }

  body.qpal-persistent-dashboard-shell .qpal-dashboard-dock[data-qpal-five-action-dock="true"] .qpal-dashboard-dock-action.is-primary .qpal-dashboard-dock-icon {
    width: 60px !important;
    height: 60px !important;
    transform: translateY(-18px) !important;
  }

  body.qpal-persistent-dashboard-shell .qpal-dashboard-dock[data-qpal-five-action-dock="true"] .qpal-dashboard-dock-action.is-primary:hover .qpal-dashboard-dock-icon,
  body.qpal-persistent-dashboard-shell .qpal-dashboard-dock[data-qpal-five-action-dock="true"] .qpal-dashboard-dock-action.is-primary:focus-visible .qpal-dashboard-dock-icon {
    transform: translateY(-20px) scale(1.025) !important;
  }
}

/* Saved Questions: keep the same information and answer indication while
   reducing unnecessary vertical padding and inter-card whitespace. */
.qpal-saved-questions-shell {
  width: min(100%, 760px);
  padding:
    max(12px, env(safe-area-inset-top))
    max(12px, env(safe-area-inset-right))
    max(22px, env(safe-area-inset-bottom))
    max(12px, env(safe-area-inset-left));
}

.qpal-saved-questions-header {
  gap: 8px;
  padding: 4px 0 9px;
}

.qpal-saved-questions-content {
  padding-top: 2px;
}

.qpal-saved-questions-list {
  gap: 8px;
}

.qpal-saved-question-card {
  padding: 11px 12px;
  border-radius: 15px;
  box-shadow:
    0 7px 18px color-mix(in srgb, #000 8%, transparent),
    var(--inner-highlight);
}

.qpal-saved-question-card-header {
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.qpal-saved-question-context {
  font-size: 10px;
  line-height: 1.2;
}

.qpal-saved-question-date {
  margin-top: 1px;
  font-size: 9px;
  line-height: 1.25;
}

.qpal-saved-question-remove {
  width: 32px;
  height: 32px;
  border-radius: 10px;
}

.qpal-saved-question-remove svg {
  width: 18px;
  height: 18px;
}

.qpal-saved-question-card h2 {
  gap: 6px;
  margin: 0 0 8px;
  font-size: clamp(15px, 3.35vw, 18px);
  line-height: 1.27;
}

.qpal-saved-question-choices {
  gap: 4px;
}

.qpal-saved-question-choice {
  grid-template-columns: 23px minmax(0, 1fr) auto;
  gap: 6px;
  min-height: 0;
  padding: 7px 9px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.28;
}

.qpal-saved-question-choice small {
  font-size: 8px;
  line-height: 1.1;
}

@media (max-width: 520px) {
  .qpal-saved-questions-shell {
    padding-inline:
      max(10px, env(safe-area-inset-right))
      max(10px, env(safe-area-inset-left));
  }

  .qpal-saved-questions-header {
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    padding-bottom: 7px;
  }

  .qpal-saved-questions-back {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  .qpal-saved-questions-count {
    width: 36px;
    height: 30px;
  }

  .qpal-saved-question-card {
    padding: 10px;
    border-radius: 14px;
  }

  .qpal-saved-question-card h2 {
    font-size: 15px;
  }

  .qpal-saved-question-choice {
    grid-template-columns: 22px minmax(0, 1fr) auto;
    padding: 6px 8px;
    font-size: 13px;
  }

  .qpal-saved-question-choice small {
    grid-column: auto;
    justify-self: end;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.qpal-persistent-dashboard-shell .qpal-dashboard-dock[data-qpal-five-action-dock="true"] .qpal-dashboard-dock-action.is-primary .qpal-dashboard-dock-icon {
    transition: none !important;
  }
}
