/* V5.0.60 page standards: shared geometry and accessibility.
   V5.0.62: typography belongs to each page again; this layer must not replace it. */
html.xls-page-standard-v560 {
  --v560-page-max: 1200px;
  --v560-page-x: clamp(12px, 3vw, 24px);
  --v560-space-1: 6px;
  --v560-space-2: 10px;
  --v560-space-3: 14px;
  --v560-space-4: 18px;
  --v560-space-5: 24px;
  --v560-radius-sm: 12px;
  --v560-radius-md: 18px;
  --v560-radius-lg: 24px;
  --v560-control-h: 44px;
  --v560-text: #17324f;
  --v560-muted: #6f8298;
  --v560-line: #dce6f0;
  --v560-surface: #fff;
  --v560-focus: #2574df;
  color-scheme: light;
  width: 100%;
  min-width: 0;
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: calc(76px + env(safe-area-inset-top, 0px));
}

html.xls-page-standard-v560 *,
html.xls-page-standard-v560 *::before,
html.xls-page-standard-v560 *::after { box-sizing: border-box; }

html.xls-page-standard-v560 body.xls-page-standard-v560 {
  width: 100%;
  min-width: 0;
  min-height: 100vh;
  min-height: 100svh;
  margin: 0;
  overflow-x: clip;
  color: var(--v560-text);
}

html.xls-page-standard-v560 body :where(h1, h2, h3, h4) {
  max-width: 100%;
  overflow-wrap: break-word;
  text-wrap: balance;
}

html.xls-page-standard-v560 body :where(p, li, dd, td, th, label) {
  overflow-wrap: break-word;
}

html.xls-page-standard-v560 body :where(p, li) { line-height: 1.7; }

html.xls-page-standard-v560 body :where(img, video, canvas, svg) {
  max-width: 100%;
}

html.xls-page-standard-v560 body img {
  height: auto;
  image-rendering: auto;
}

html.xls-page-standard-v560 body :where(button, input, select, textarea) {
  max-width: 100%;
  font: inherit;
}

html.xls-page-standard-v560 body :where(button, [role="button"], a, input, select, textarea) {
  -webkit-tap-highlight-color: transparent;
}

html.xls-page-standard-v560 body :where(button, [role="button"], input[type="button"], input[type="submit"], input[type="reset"]) {
  min-height: var(--v560-control-h);
  touch-action: manipulation;
}

html.xls-page-standard-v560 body :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select) {
  min-height: var(--v560-control-h);
  min-width: 0;
}

html.xls-page-standard-v560 body textarea {
  min-width: 0;
  line-height: 1.6;
  resize: vertical;
}

html.xls-page-standard-v560 body :where(input, select, textarea) { accent-color: var(--v560-focus); }

html.xls-page-standard-v560 body :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid rgba(37, 116, 223, .35);
  outline-offset: 3px;
}

@supports (outline-color: color-mix(in srgb, #000 30%, transparent)) {
  html.xls-page-standard-v560 body :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline-color: color-mix(in srgb, var(--v560-focus) 32%, transparent);
  }
}

html.xls-page-standard-v560 body :where(a, button) { text-underline-offset: 3px; }
html.xls-page-standard-v560 body :target { scroll-margin-top: calc(82px + env(safe-area-inset-top, 0px)); }
html.xls-page-standard-v560 body ::selection { background: rgba(37, 116, 223, .18); color: #102f52; }

html.xls-page-standard-v560 body .xls-v560-skip-link {
  position: fixed;
  z-index: 2147483600;
  top: max(8px, env(safe-area-inset-top, 0px));
  left: max(8px, env(safe-area-inset-left, 0px));
  padding: 10px 14px;
  border-radius: 12px;
  background: #123c68;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  transform: translateY(-160%);
  transition: transform .16s ease;
}

html.xls-page-standard-v560 body .xls-v560-skip-link:focus { transform: translateY(0); }

html.xls-page-standard-v560 body :where(.table-wrap, .table-container, .data-table-wrap, [data-table-scroll]) {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}

html.xls-page-standard-v560 body table {
  font-variant-numeric: tabular-nums;
}

html.xls-page-standard-v560 body :where(.card, .panel, .section-card, .tool-card, .feature-card, .stat-card, .mock-card) {
  min-width: 0;
  overflow-wrap: anywhere;
}

html.xls-page-standard-v560 body :where(.modal, .dialog, .dialog-card, .modal-card, .drawer-panel, dialog) {
  max-width: calc(100vw - (var(--v560-page-x) * 2));
  max-height: calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  overscroll-behavior: contain;
}

html.xls-page-standard-v560 body .site-icp-footer {
  max-width: var(--v560-page-max);
  margin-inline: auto;
  padding-inline: var(--v560-page-x);
}

@media (max-width: 820px) {
  html.xls-page-standard-v560 {
    --v560-page-x: 12px;
    --v560-radius-md: 18px;
    --v560-radius-lg: 22px;
    scroll-padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px));
  }

  html.xls-page-standard-v560 body :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea) {
    font-size: 16px !important;
  }

  html.xls-page-standard-v560 body :where(.app, .container, .page-container, .page-shell, .main-container, main) {
    min-width: 0;
    max-width: 100%;
  }

  html.xls-page-standard-v560 body:not(.xls-v560-exam-page):not(.xls-v560-mindmap-detail-page) :where(.card, .panel, .section-card, .tool-card, .feature-card, .stat-card, .mock-card) {
    border-radius: var(--v560-radius-md);
  }

  html.xls-page-standard-v560 body :where(h1) { line-height: 1.18; }
  html.xls-page-standard-v560 body :where(h2, h3) { line-height: 1.28; }

  html.xls-page-standard-v560 body .site-icp-footer {
    padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
  }

  html.xls-page-standard-v560 body.xls-v560-exam-page .site-icp-footer,
  html.xls-page-standard-v560 body.xls-v560-auth-page .site-icp-footer {
    padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  }

  html.xls-page-standard-v560 body :where(.drawer, .modal-mask, .feedback-mask, [data-modal-mask]) {
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
}

@media (min-width: 821px) {
  html.xls-page-standard-v560 body :where(button, [role="button"], input[type="button"], input[type="submit"], input[type="reset"]) {
    min-height: 40px;
  }

  html.xls-page-standard-v560 body .site-icp-footer { padding-bottom: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  html.xls-page-standard-v560 *,
  html.xls-page-standard-v560 *::before,
  html.xls-page-standard-v560 *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (forced-colors: active) {
  html.xls-page-standard-v560 body :where(button, input, select, textarea, .card, .panel) {
    border: 1px solid CanvasText;
  }
}
