:root {
  --yps-blue: #0876b9;
  --yps-blue-dark: #075c91;
  --yps-navy: #0b2b42;
  --yps-ink: #142d3f;
  --yps-muted: #60717e;
  --yps-line: #dce6ed;
  --yps-soft: #f4f8fb;
  --yps-orange: #f57c00;
  --yps-green: #16a34a;
}

/* On-site technical library. No external scripts or fonts are required. */
.yihui-resource-hub-hero .yihui-ps-button { margin-top: 28px; }
.yihui-resource-categories {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  padding-top: 34px;
}
.yihui-resource-category {
  display: flex;
  flex-direction: column;
  padding: 26px 23px;
  background: #fff;
  border: 1px solid var(--yps-line);
  border-top: 3px solid var(--yps-blue);
  color: var(--yps-ink) !important;
  text-decoration: none !important;
}
.yihui-resource-category > span { color: var(--yps-blue); font-size: 13px; font-weight: 800; }
.yihui-ps-page .yihui-resource-category h2 { font-size: 21px; line-height: 1.25; margin: 19px 0 12px; }
.yihui-resource-category p { margin: 0 0 23px; font-size: 14px; line-height: 1.6; color: var(--yps-muted); }
.yihui-resource-category strong { margin-top: auto; font-size: 11px; letter-spacing: .04em; color: var(--yps-blue-dark); }
.yihui-resource-category:hover { border-color: var(--yps-blue); background: var(--yps-soft); }
.yihui-resource-category:focus-visible,
.yihui-resource-home-types a:focus-visible,
.yihui-resource-pagination a:focus-visible { outline: 3px solid var(--yps-orange); outline-offset: 4px; }
.yihui-resource-directory { scroll-margin-top: 100px; }
.yihui-resource-filters { display: grid; grid-template-columns: 2fr 1fr 1.3fr auto; gap: 14px; align-items: end; padding: 24px; background: var(--yps-soft); border: 1px solid var(--yps-line); }
.yihui-resource-filters label { display: block; min-width: 0; margin: 0; }
.yihui-resource-filters label > span { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 700; }
.yihui-resource-filters input[type="search"],
.yihui-resource-filters select { width: 100%; height: 48px; min-width: 0; margin: 0; padding: 10px 12px; border: 1px solid #b6c8d5; border-radius: 3px; background: #fff; color: var(--yps-ink); font-size: 14px; }
.yihui-resource-filters button { height: 48px; padding: 10px 22px; border: 0; border-radius: 3px; background: var(--yps-blue); color: #fff; font-size: 12px; font-weight: 800; }
.yihui-resource-filters input:focus-visible,
.yihui-resource-filters select:focus-visible,
.yihui-resource-filters button:focus-visible { outline: 3px solid var(--yps-orange); outline-offset: 2px; }
.yihui-resource-result-summary { display: flex; justify-content: space-between; gap: 15px; align-items: center; padding: 22px 0 16px; font-size: 14px; }
.yihui-resource-result-summary p { margin: 0; overflow-wrap: anywhere; }
.yihui-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.yihui-resource-card { display: flex; flex-direction: column; border: 1px solid var(--yps-line); background: #fff; min-width: 0; }
.yihui-resource-card-image { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--yps-soft); }
.yihui-resource-card-image img { width: 100%; height: 100%; object-fit: cover; }
.yihui-resource-card-body { display: flex; flex: 1; flex-direction: column; padding: 26px; }
.yihui-resource-card .yihui-ps-kicker { color: var(--yps-blue-dark); font-size: 10px; }
.yihui-resource-card h3 { margin: 12px 0; font-size: 22px; line-height: 1.3; overflow-wrap: anywhere; }
.yihui-resource-card h3 a { color: var(--yps-navy); text-decoration: none; }
.yihui-resource-card p { font-size: 14px; color: var(--yps-muted); }
.yihui-resource-card .yihui-resource-card-model { color: var(--yps-blue-dark); font-weight: 700; }
.yihui-resource-card-end { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; justify-content: space-between; border-top: 1px solid var(--yps-line); padding-top: 20px; margin-top: auto; font-size: 11px; font-weight: 700; }
.yihui-resource-empty { padding: 38px; border: 1px dashed #b6c8d5; background: #fbfdfe; }
.yihui-resource-empty h3 { margin: 0 0 12px; font-size: 23px; }
.yihui-resource-empty p { color: var(--yps-muted); max-width: 750px; }
.yihui-resource-empty a { font-size: 12px; font-weight: 800; }
.yihui-resource-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 32px; }
.yihui-resource-pagination .page-numbers { padding: 10px 16px; border: 1px solid var(--yps-line); color: var(--yps-blue-dark); }
.yihui-resource-pagination .current { background: var(--yps-blue); color: #fff; }
.yihui-ps-contact-band { background: var(--yps-soft); border-top: 1px solid var(--yps-line); }
.yihui-ps-contact-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.yihui-ps-contact-inner > div:first-child { max-width: 770px; }
.yihui-ps-contact-inner .yihui-ps-kicker { color: var(--yps-blue-dark); }
.yihui-ps-contact-inner h2 { font-size: clamp(28px, 3vw, 38px); margin: 0 0 16px; }
.yihui-ps-contact-inner p:last-child { margin: 0; color: var(--yps-muted); }
.yihui-resource-home-types { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; margin: 30px 0; }
.yihui-resource-home-types a { display: flex; flex-direction: column; gap: 18px; padding: 23px; border: 1px solid #3c627e; color: #fff; text-decoration: none; }
.yihui-resource-home-types a:hover { background: #154967; }
.yihui-resource-home-types span { color: #65c9fb; font-size: 12px; }
.yihui-resource-home-types strong { font-size: 18px; line-height: 1.35; }
.yihui-resource-home-types b { margin-top: auto; }
.yihui-resource-primary { width: 100%; }
.yihui-resource-single .yihui-ps-hero a { color: #a0dcff; font-size: 12px; font-weight: 700; }
.yihui-resource-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0 0 38px; border: 1px solid var(--yps-line); background: var(--yps-line); }
.yihui-resource-facts > div { padding: 20px; background: var(--yps-soft); min-width: 0; }
.yihui-resource-facts dt { font-size: 11px; letter-spacing: .04em; color: var(--yps-muted); font-weight: 700; }
.yihui-resource-facts dd { margin: 7px 0 0; font-size: 16px; color: var(--yps-ink); overflow-wrap: anywhere; }
.yihui-resource-content { max-width: 930px; font-size: 17px; line-height: 1.8; overflow-wrap: anywhere; }
.yihui-resource-content h2 { font-size: 30px; margin: 35px 0 18px; }
.yihui-resource-content h3 { font-size: 24px; }
.yihui-resource-content table { display: block; max-width: 100%; overflow-x: auto; }
.yihui-resource-viewer { margin-top: 42px; padding-top: 32px; border-top: 1px solid var(--yps-line); }
.yihui-resource-viewer .yihui-ps-actions { margin: 25px 0; }
.yihui-resource-pdf { display: block; width: 100%; height: 76vh; min-height: 420px; border: 1px solid var(--yps-line); }
.yihui-resource-image { display: block; max-width: 100%; height: auto; }
.yihui-resource-video { display: block; width: 100%; max-height: 80vh; background: #071d30; }
.yihui-resource-viewer-note { color: var(--yps-muted); font-size: 13px; }
.yihui-resource-footer { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--yps-line); }
.yihui-resource-footer > p { font-size: 12px; font-weight: 700; }
.yihui-resource-contact-actions { margin: 24px 0; }
.yihui-resource-hub-hero .yihui-resource-contact-actions .yihui-ps-button { margin-top: 0; }
.yihui-ps-page .yihui-resource-wa { background: #146c36; border-color: #146c36; color: #fff !important; min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.yihui-ps-page .yihui-resource-wa:hover { background: #10572c; border-color: #10572c; color: #fff !important; }
.yihui-resource-single .yihui-ps-hero .yihui-ps-button { font-size: 12px; font-weight: 900; line-height: 1.25; color: #fff !important; }
.yihui-resource-card-wa { flex-basis: 100%; width: 100%; }
.yihui-resource-card-image-preview img { object-fit: contain; object-position: center top; }
.yihui-resource-preview-layout { min-width: 0; }
.yihui-resource-preview-layout.has-cover { display: grid; grid-template-columns: minmax(180px, 280px) minmax(0, 1fr); gap: 32px; align-items: start; }
.yihui-resource-preview-layout figure { margin: 0; min-width: 0; }
.yihui-resource-preview-layout figcaption { margin-top: 12px; color: var(--yps-muted); font-size: 13px; line-height: 1.5; }
.yihui-resource-preview-cover { max-width: 280px; padding: 18px; border: 1px solid var(--yps-line); background: var(--yps-soft); }
.yihui-resource-preview-cover img { width: auto; max-width: 100%; height: auto; max-height: 420px; object-fit: contain; margin-inline: auto; }
.yihui-resource-preview-technical img { width: 100%; height: auto; }
@media (max-width: 767px) {
  .yihui-resource-single .yihui-resource-contact-actions,
  .yihui-ps-library .yihui-resource-contact-actions { width: 100%; flex-direction: column; align-items: stretch; }
  .yihui-resource-single .yihui-resource-contact-actions .yihui-ps-button,
  .yihui-ps-library .yihui-resource-contact-actions .yihui-ps-button,
  .yihui-resource-single .yihui-resource-footer .yihui-ps-button { width: 100%; min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .yihui-resource-preview-layout.has-cover { display: flex; flex-direction: column; gap: 24px; }
  .yihui-resource-preview-technical { order: -1; width: 100%; }
  .yihui-resource-preview-cover { max-width: 220px; }
  .yihui-resource-preview-cover img { max-height: 260px; }
}
@media (max-width: 1024px) {
  .yihui-resource-categories, .yihui-resource-home-types, .yihui-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yihui-resource-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yihui-resource-filters > label:first-child { grid-column: 1 / -1; }
  .yihui-resource-filters button { grid-column: 1 / -1; }
  .yihui-ps-contact-inner { flex-direction: column; align-items: flex-start; gap: 22px; }
}
@media (max-width: 600px) {
  .yihui-resource-categories, .yihui-resource-grid { grid-template-columns: 1fr; }
  .yihui-resource-category { padding: 22px; }
  .yihui-ps-page .yihui-resource-category h2 { margin-top: 10px; }
  .yihui-resource-category p { margin-bottom: 15px; }
  .yihui-resource-filters { padding: 18px; grid-template-columns: 1fr; }
  .yihui-resource-empty { padding: 25px; }
  .yihui-resource-home-types a { padding: 18px; }
  .yihui-resource-home-types strong { font-size: 16px; }
  .yihui-resource-facts { grid-template-columns: 1fr; }
  .yihui-resource-viewer .yihui-ps-button { width: 100%; text-align: center; }
  .yihui-resource-pdf { height: 65vh; min-height: 320px; }
}

.yihui-ps-page *,
.yihui-ps-home *,
.yihui-ps-product-support * {
  box-sizing: border-box;
}

.yihui-ps-wrap {
  width: min(1200px, calc(100% - 40px));
  margin-inline: auto;
}

.yihui-ps-kicker {
  margin: 0 0 9px;
  color: #55bff4;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .15em;
  line-height: 1.4;
  text-transform: uppercase;
}

.yihui-ps-home {
  padding: 82px 0;
  color: #fff;
  background:
    radial-gradient(circle at 90% 4%, rgba(38, 157, 220, .32), transparent 32%),
    linear-gradient(125deg, #071e31 0%, #0b3553 68%, #075f94 100%);
}

.yihui-ps-home-heading {
  max-width: 820px;
}

.yihui-ps-home-heading h2,
.yihui-ps-hero h1,
.yihui-ps-page h2,
.yihui-ps-cta h2,
.yihui-ps-product-support h2 {
  color: inherit;
  line-height: 1.12;
}

.yihui-ps-home-heading h2 {
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(34px, 4vw, 52px);
}

.yihui-ps-home-heading > p:last-child {
  max-width: 780px;
  margin: 0;
  color: rgba(255, 255, 255, .76);
  font-size: 17px;
}

.yihui-ps-home-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 38px;
}

.yihui-ps-home-grid article {
  min-width: 0;
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, .16);
  background: rgba(6, 30, 48, .48);
}

.yihui-ps-home-grid article > span {
  color: #5dc7fb;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
}

.yihui-ps-home-grid h3 {
  margin: 25px 0 9px;
  color: #fff;
  font-size: 21px;
}

.yihui-ps-home-grid p {
  min-height: 75px;
  margin: 0 0 20px;
  color: rgba(255, 255, 255, .7);
  font-size: 14px;
}

.yihui-ps-home-grid a {
  color: #fff !important;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .055em;
  text-decoration: none !important;
}

.yihui-ps-home-grid a:hover,
.yihui-ps-home-grid a:focus-visible {
  color: #74d1ff !important;
}

.yihui-ps-home-search {
  display: grid;
  grid-template-columns: 1fr minmax(360px, 1.25fr) auto;
  gap: 20px;
  align-items: center;
  margin-top: 22px;
  padding: 22px 24px;
  background: #fff;
  color: var(--yps-ink);
}

.yihui-ps-home-search strong,
.yihui-ps-home-search small {
  display: block;
}

.yihui-ps-home-search small {
  margin-top: 3px;
  color: var(--yps-muted);
  font-size: 11px;
}

.yihui-ps-home-search form {
  display: flex;
  margin: 0;
}

.yihui-ps-home-search input[type="search"] {
  min-width: 0;
  height: 48px;
  flex: 1;
  margin: 0;
  border: 1px solid var(--yps-line);
  border-radius: 3px 0 0 3px;
  background: #fff;
  color: var(--yps-ink);
  box-shadow: none;
}

.yihui-ps-home-search button {
  min-width: 128px;
  height: 48px;
  border: 0;
  border-radius: 0 3px 3px 0;
  background: var(--yps-orange);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.yihui-ps-wa-link {
  color: var(--yps-green) !important;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
  text-decoration: none !important;
}

.yihui-ps-hero {
  padding: 88px 0 80px;
  color: #fff;
  background:
    radial-gradient(circle at 85% 20%, rgba(35, 152, 213, .37), transparent 34%),
    linear-gradient(120deg, #071d30, #0c3e61 72%, #0876b9);
}

.yihui-ps-hero h1 {
  max-width: 940px;
  margin: 8px 0 20px;
  color: #fff;
  font-size: clamp(42px, 5.2vw, 68px);
  letter-spacing: -.025em;
}

.yihui-ps-lead {
  max-width: 810px;
  margin: 0;
  color: rgba(255, 255, 255, .82);
  font-size: 19px;
  line-height: 1.7;
}

.yihui-ps-status {
  display: inline-flex;
  margin-top: 24px;
  padding: 9px 13px;
  border: 1px solid rgba(255, 255, 255, .25);
  background: rgba(6, 28, 45, .56);
  color: #8dd9ff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}

.yihui-ps-section {
  padding: 78px 0;
  color: var(--yps-ink);
}

.yihui-ps-soft {
  background: var(--yps-soft);
}

.yihui-ps-heading {
  max-width: 820px;
  margin-bottom: 38px;
}

.yihui-ps-heading .yihui-ps-kicker,
.yihui-ps-section .yihui-ps-kicker {
  color: var(--yps-blue);
}

.yihui-ps-page h2 {
  margin: 0 0 14px;
  color: var(--yps-ink);
  font-size: clamp(30px, 3.4vw, 44px);
}

.yihui-ps-heading > p:last-child,
.yihui-ps-section p {
  color: var(--yps-muted);
}

.yihui-ps-split {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: 64px;
  align-items: start;
}

.yihui-ps-check-list {
  display: grid;
  gap: 10px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.yihui-ps-check-list li {
  position: relative;
  padding-left: 27px;
  color: #304a5c;
}

.yihui-ps-check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--yps-blue);
  font-weight: 900;
}

.yihui-ps-quick-search,
.yihui-ps-request-card,
.yihui-ps-contact-card {
  padding: 34px;
  border-top: 4px solid var(--yps-blue);
  background: var(--yps-soft);
  box-shadow: 0 12px 32px rgba(15, 48, 70, .08);
}

.yihui-ps-quick-search h3,
.yihui-ps-request-card h3,
.yihui-ps-contact-card h2 {
  margin-top: 0;
  color: var(--yps-ink);
}

.yihui-ps-quick-search label,
.yihui-ps-form label {
  display: block;
  color: #263f50;
  font-size: 13px;
  font-weight: 800;
}

.yihui-ps-quick-search input,
.yihui-ps-form input,
.yihui-ps-form select,
.yihui-ps-form textarea {
  width: 100%;
  margin-top: 7px;
  border: 1px solid #cfdce4;
  border-radius: 3px;
  background: #fff;
  color: var(--yps-ink);
  box-shadow: none;
}

.yihui-ps-quick-search input {
  height: 50px;
}

.yihui-ps-quick-search button,
.yihui-ps-form > button {
  width: 100%;
  min-height: 50px;
  margin-top: 14px;
  border: 0;
  border-radius: 3px;
  background: var(--yps-orange);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .045em;
}

.yihui-ps-quick-search small {
  display: block;
  margin-top: 12px;
  color: #71818c;
  line-height: 1.5;
}

.yihui-ps-three-cards,
.yihui-ps-system-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.yihui-ps-three-cards article,
.yihui-ps-system-grid article {
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--yps-line);
  background: #fff;
}

.yihui-ps-three-cards article > span {
  color: var(--yps-blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
}

.yihui-ps-three-cards h3,
.yihui-ps-system-grid h3 {
  margin: 20px 0 9px;
  color: var(--yps-ink);
  font-size: 20px;
}

.yihui-ps-system-grid h3 {
  margin-top: 0;
}

.yihui-ps-three-cards p,
.yihui-ps-system-grid p {
  font-size: 14px;
}

.yihui-ps-three-cards strong {
  display: block;
  margin-top: 19px;
  color: var(--yps-blue-dark);
  font-size: 12px;
}

.yihui-ps-process {
  color: #fff;
  background: var(--yps-navy);
}

.yihui-ps-process h2,
.yihui-ps-process .yihui-ps-heading .yihui-ps-kicker {
  color: #fff;
}

.yihui-ps-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .13);
  background: rgba(255, 255, 255, .13);
  list-style: none;
}

.yihui-ps-steps li {
  padding: 28px;
  background: #103a56;
}

.yihui-ps-steps li > span {
  color: #68c8f7;
  font-size: 12px;
  font-weight: 900;
}

.yihui-ps-steps h3 {
  margin: 30px 0 9px;
  color: #fff;
  font-size: 18px;
}

.yihui-ps-steps p {
  margin: 0;
  color: rgba(255, 255, 255, .65);
  font-size: 13px;
}

.yihui-ps-sample {
  background: #eaf3f8;
}

.yihui-ps-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.yihui-ps-button {
  display: inline-flex;
  min-height: 48px;
  padding: 11px 19px;
  align-items: center;
  justify-content: center;
  border: 2px solid transparent;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1.25;
  text-align: center;
  text-decoration: none !important;
}

.yihui-ps-button-primary {
  background: var(--yps-blue);
  color: #fff !important;
}

.yihui-ps-button-outline {
  border-color: var(--yps-blue);
  color: var(--yps-blue) !important;
}

.yihui-ps-button-outline-dark {
  border-color: var(--yps-navy);
  color: var(--yps-navy) !important;
}

.yihui-ps-button-wa {
  background: var(--yps-green);
  color: #fff !important;
}

.yihui-ps-button-orange {
  background: var(--yps-orange);
  color: #fff !important;
}

.yihui-ps-button-light {
  border-color: #fff;
  color: #fff !important;
}

.yihui-ps-button:hover,
.yihui-ps-button:focus-visible,
.yihui-ps-home-search button:hover,
.yihui-ps-home-search button:focus-visible,
.yihui-ps-quick-search button:hover,
.yihui-ps-quick-search button:focus-visible,
.yihui-ps-form > button:hover,
.yihui-ps-form > button:focus-visible {
  filter: brightness(.92);
  transform: translateY(-1px);
}

.yihui-ps-cta {
  padding: 62px 0;
  color: #fff;
  background: linear-gradient(115deg, var(--yps-blue-dark), var(--yps-blue));
}

.yihui-ps-cta-inner {
  display: flex;
  justify-content: space-between;
  gap: 50px;
  align-items: center;
}

.yihui-ps-cta h2 {
  max-width: 680px;
  margin: 0 0 9px;
  color: #fff;
  font-size: clamp(29px, 3vw, 42px);
}

.yihui-ps-cta p:not(.yihui-ps-kicker) {
  margin: 0;
  color: rgba(255, 255, 255, .72);
}

.yihui-ps-notice {
  padding: 22px 0;
  border-bottom: 1px solid #f1d08d;
  background: #fff7df;
}

.yihui-ps-notice strong {
  display: block;
  color: #7a4c00;
}

.yihui-ps-notice p {
  margin: 4px 0 0;
  color: #6b562e;
  font-size: 14px;
}

.yihui-ps-data-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--yps-line);
  background: var(--yps-line);
}

.yihui-ps-data-grid > div {
  min-width: 0;
  padding: 22px;
  background: #fff;
}

.yihui-ps-data-grid small,
.yihui-ps-data-grid strong,
.yihui-ps-data-grid em {
  display: block;
}

.yihui-ps-data-grid small {
  color: #73838e;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}

.yihui-ps-data-grid strong {
  margin: 7px 0 4px;
  color: var(--yps-ink);
  font-size: 16px;
}

.yihui-ps-data-grid em {
  color: #8a7447;
  font-size: 11px;
  font-style: normal;
}

.yihui-ps-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--yps-line);
  background: #fff;
  -webkit-overflow-scrolling: touch;
}

.yihui-ps-table-wrap:focus-visible {
  outline: 3px solid rgba(8, 118, 185, .28);
  outline-offset: 2px;
}

.yihui-ps-table-wrap table {
  width: 100%;
  min-width: 760px;
  margin: 0;
  border: 0;
  border-collapse: collapse;
}

.yihui-ps-table-wrap th,
.yihui-ps-table-wrap td {
  padding: 16px 18px;
  border: 0;
  border-bottom: 1px solid var(--yps-line);
  color: #405666;
  font-size: 13px;
  text-align: left;
  vertical-align: top;
}

.yihui-ps-table-wrap th {
  background: var(--yps-navy);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.yihui-ps-table-wrap tbody tr:last-child td {
  border-bottom: 0;
}

.yihui-ps-copyright-note {
  margin: 16px 0 0;
  padding: 14px 17px;
  border-left: 3px solid var(--yps-blue);
  background: #fff;
  font-size: 13px;
}

.yihui-ps-request-card ol,
.yihui-ps-contact-card ol {
  margin: 18px 0 24px 20px;
}

.yihui-ps-request-card li,
.yihui-ps-contact-card li {
  margin-bottom: 8px;
  color: #486070;
}

.yihui-ps-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.yihui-ps-product-card {
  border: 1px solid var(--yps-line);
  background: #fff;
}

.yihui-ps-product-image {
  display: block;
}

.yihui-ps-product-image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.yihui-ps-product-card > div {
  padding: 20px;
}

.yihui-ps-product-card h3 {
  margin: 0 0 9px;
  font-size: 18px;
}

.yihui-ps-product-card h3 a {
  color: var(--yps-ink) !important;
  text-decoration: none !important;
}

.yihui-ps-product-card p {
  margin: 0 0 17px;
  font-size: 12px;
}

.yihui-ps-product-card > div > a,
.yihui-ps-empty-state a {
  color: var(--yps-blue) !important;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none !important;
}

.yihui-ps-empty-state {
  padding: 28px;
  border: 1px dashed #abc1cf;
  background: #fff;
}

.yihui-ps-empty-state p {
  margin: 5px 0 15px;
}

.yihui-ps-disclaimer {
  padding: 24px 0;
  border-top: 1px solid var(--yps-line);
  background: #fff;
}

.yihui-ps-disclaimer strong {
  color: var(--yps-ink);
  font-size: 12px;
}

.yihui-ps-disclaimer p {
  margin: 4px 0 0;
  color: #7b8993;
  font-size: 11px;
}

.yihui-ps-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr);
  gap: 42px;
  align-items: start;
}

.yihui-ps-form {
  position: relative;
  margin-top: 28px;
  padding: 32px;
  border: 1px solid var(--yps-line);
  background: #fff;
}

.yihui-ps-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 18px;
}

.yihui-ps-form > label {
  margin-bottom: 18px;
}

.yihui-ps-form input,
.yihui-ps-form select {
  min-height: 48px;
}

.yihui-ps-form textarea {
  resize: vertical;
}

.yihui-ps-consent {
  display: flex !important;
  gap: 10px;
  align-items: flex-start;
  font-weight: 500 !important;
}

.yihui-ps-consent input {
  width: auto;
  min-height: 0;
  margin-top: 4px;
}

.yihui-ps-form-footnote {
  margin: 14px 0 0;
  font-size: 11px;
}

.yihui-ps-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.yihui-ps-form-notice {
  margin-top: 20px;
  padding: 15px 17px;
  border-left: 4px solid;
}

.yihui-ps-form-notice.is-success {
  border-color: var(--yps-green);
  background: #ecfdf3;
  color: #166534;
}

.yihui-ps-form-notice.is-error {
  border-color: #dc2626;
  background: #fef2f2;
  color: #991b1b;
}

.yihui-ps-contact-card {
  position: sticky;
  top: 30px;
}

.yihui-ps-contact-lines {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--yps-line);
}

.yihui-ps-contact-lines small,
.yihui-ps-contact-lines a {
  display: block;
}

.yihui-ps-contact-lines small {
  color: #73838e;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}

.yihui-ps-contact-lines a {
  color: var(--yps-blue) !important;
  font-weight: 800;
  text-decoration: none !important;
}

.yihui-ps-product-support {
  clear: both;
  margin: 48px 0 0;
  padding: 38px;
  border: 1px solid var(--yps-line);
  border-top: 5px solid var(--yps-blue);
  background: #f8fbfd;
  color: var(--yps-ink);
}

.yihui-ps-product-support-head {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: flex-start;
}

.yihui-ps-product-support h2 {
  margin: 0 0 11px;
  color: var(--yps-ink);
  font-size: clamp(28px, 3vw, 39px);
}

.yihui-ps-product-support-head p:not(.yihui-ps-kicker) {
  max-width: 760px;
  margin: 0;
  color: var(--yps-muted);
}

.yihui-ps-product-support-head > span {
  flex: 0 0 auto;
  padding: 8px 11px;
  border: 1px solid #ecd197;
  background: #fff8e5;
  color: #76521a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
}

.yihui-ps-product-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 28px;
  border: 1px solid var(--yps-line);
  background: var(--yps-line);
}

.yihui-ps-product-facts > div {
  min-width: 0;
  padding: 17px;
  background: #fff;
}

.yihui-ps-product-facts small,
.yihui-ps-product-facts strong {
  display: block;
}

.yihui-ps-product-facts small {
  color: #72828d;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .075em;
}

.yihui-ps-product-facts strong {
  margin-top: 5px;
  color: var(--yps-ink);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.yihui-ps-product-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 18px 0 24px;
}

.yihui-ps-product-columns > div {
  padding: 21px;
  border-left: 3px solid var(--yps-blue);
  background: #fff;
}

.yihui-ps-product-columns h3 {
  margin: 0 0 8px;
  color: var(--yps-ink);
  font-size: 17px;
}

.yihui-ps-product-columns p {
  margin: 0 0 13px;
  color: var(--yps-muted);
  font-size: 13px;
}

.yihui-ps-product-columns strong {
  color: var(--yps-blue-dark);
  font-size: 11px;
}

.yihui-parts-support-menu > .sub-menu {
  min-width: 265px;
}

.yihui-parts-support-menu > .sub-menu a {
  white-space: normal;
}

.yihui-ps-page a:focus-visible,
.yihui-ps-home a:focus-visible,
.yihui-ps-product-support a:focus-visible,
.yihui-ps-page input:focus-visible,
.yihui-ps-page select:focus-visible,
.yihui-ps-page textarea:focus-visible,
.yihui-ps-home input:focus-visible,
.yihui-ps-page button:focus-visible,
.yihui-ps-home button:focus-visible {
  outline: 3px solid rgba(8, 118, 185, .35);
  outline-offset: 2px;
}

@media (max-width: 1024px) {
  .yihui-ps-home-grid,
  .yihui-ps-three-cards,
  .yihui-ps-system-grid,
  .yihui-ps-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .yihui-ps-home-search {
    grid-template-columns: 1fr 1.5fr;
  }

  .yihui-ps-wa-link {
    grid-column: 1 / -1;
  }

  .yihui-ps-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .yihui-ps-product-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .yihui-ps-wrap {
    width: min(100% - 28px, 1200px);
  }

  .yihui-ps-home,
  .yihui-ps-section {
    padding: 58px 0;
  }

  .yihui-ps-hero {
    padding: 65px 0 58px;
  }

  .yihui-ps-hero h1 {
    font-size: 40px;
  }

  .yihui-ps-lead {
    font-size: 17px;
  }

  .yihui-ps-home-grid,
  .yihui-ps-three-cards,
  .yihui-ps-system-grid,
  .yihui-ps-product-grid,
  .yihui-ps-split,
  .yihui-ps-form-layout,
  .yihui-ps-form-grid,
  .yihui-ps-product-columns {
    grid-template-columns: 1fr;
  }

  .yihui-ps-home-grid p {
    min-height: 0;
  }

  .yihui-ps-home-search {
    grid-template-columns: 1fr;
  }

  .yihui-ps-home-search form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .yihui-ps-home-search input[type="search"],
  .yihui-ps-home-search button {
    width: 100%;
    border-radius: 3px;
  }

  .yihui-ps-split {
    gap: 34px;
  }

  .yihui-ps-steps {
    grid-template-columns: 1fr;
  }

  .yihui-ps-steps h3 {
    margin-top: 18px;
  }

  .yihui-ps-cta-inner,
  .yihui-ps-product-support-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .yihui-ps-data-grid,
  .yihui-ps-product-facts {
    grid-template-columns: 1fr;
  }

  .yihui-ps-form {
    padding: 22px;
  }

  .yihui-ps-contact-card {
    position: static;
  }

  .yihui-ps-product-support {
    margin-top: 38px;
    padding: 26px 20px;
  }

  .yihui-ps-product-support .yihui-ps-actions,
  .yihui-ps-request-card .yihui-ps-actions,
  .yihui-ps-cta .yihui-ps-actions {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  .yihui-ps-product-support .yihui-ps-button,
  .yihui-ps-request-card .yihui-ps-button,
  .yihui-ps-cta .yihui-ps-button {
    width: 100%;
  }

}

@media (max-width: 420px) {
  .yihui-ps-hero h1 {
    font-size: 34px;
  }

  .yihui-ps-home-grid article,
  .yihui-ps-three-cards article,
  .yihui-ps-system-grid article,
  .yihui-ps-quick-search,
  .yihui-ps-request-card,
  .yihui-ps-contact-card {
    padding: 22px;
  }
}
