:root { color-scheme: light; }
html { font-size: 100%; scroll-behavior: smooth; }
body { line-height: 1.6; color: #172033; background: #f4f7fb; }
h1, h2, h3, h4 { line-height: 1.3; overflow-wrap: anywhere; }
.q-page { width: min(100%, 90rem); margin-inline: auto; background: #fff; }
.q-header, .q-footer { box-shadow: 0 2px 8px rgba(0, 26, 71, .18); }
html[data-vi-font-size="large"] { font-size: 125%; }
html[data-vi-font-size="xlarge"] { font-size: 150%; }
html[data-vi-spacious="true"] body { line-height: 1.9; letter-spacing: .035em; }
html[data-vi-spacious="true"] p,
html[data-vi-spacious="true"] li { margin-block: .65em; }
html[data-vi-contrast="high"] body,
html[data-vi-contrast="high"] .q-page,
html[data-vi-contrast="high"] .q-card,
html[data-vi-contrast="high"] .vi-view-controls,
html[data-vi-contrast="high"] .vi-product-quick { color: #fff !important; background: #000 !important; }
html[data-vi-contrast="high"] .vi-share-install { color: #fff !important; background: #000 !important; border-color: #fff !important; }
html[data-vi-contrast="high"] a { color: #7dd3fc !important; }
html[data-vi-contrast="high"] .q-btn { border: 2px solid #fff !important; }
.vi-skip-link {
  position: fixed; z-index: 100000; top: .5rem; left: .5rem;
  padding: .75rem 1rem; background: #fff; color: #001a47;
  border: 3px solid #001a47; border-radius: .25rem;
  transform: translateY(-160%);
}
.vi-skip-link:focus { transform: translateY(0); }
.vi-sr-only {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important;
}
:focus-visible { outline: 4px solid #ff8c00 !important; outline-offset: 3px !important; }
a, button, [role="button"], input, select, textarea { touch-action: manipulation; }
button, [role="button"], .q-btn { min-height: 44px; }
input, select, textarea { min-height: 44px; font-size: 1rem !important; }
.q-field__native::placeholder { color: #4b5563 !important; opacity: 1; }
.q-tab[aria-selected="true"] { box-shadow: inset 0 -4px 0 #001a47; font-weight: 700; }
.vi-business-link {
  display: inline-flex; align-items: center; justify-content: center; min-height: 40px; margin-left: .35rem;
  padding: .35rem .6rem; border: 1px solid currentColor; border-radius: .3rem;
  color: #fff; background: transparent; text-decoration: none; font-size: .875rem; font-weight: 700;
}
.vi-business-link:hover, .vi-business-link:focus-visible { background: #001a47; text-decoration: underline; }
@media (max-width: 32rem) { .vi-business-link { min-height: 36px; padding: .25rem .45rem; font-size: .78rem; } }
.vi-view-controls {
  display: grid; gap: 1rem; max-width: 52rem; margin: 1.5rem auto 6rem;
  padding: clamp(1rem, 3vw, 1.5rem); border: 2px solid #2a4073; border-radius: .65rem;
  background: #f4f7ff; color: #111827;
}
.vi-view-controls h2 {
  margin: 0;
  color: #172033 !important;
  font-size: clamp(1.35rem, 3vw, 1.7rem);
}
html[data-vi-contrast="high"] .vi-view-controls h2 { color: #fff !important; }
.vi-view-controls-help { margin: -.4rem 0 0; }
.vi-control-group { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.vi-control-group > span { margin-right: .35rem; font-weight: 800; }
.vi-control-toggles { padding-top: 1rem; border-top: 1px solid #9aa8c1; }
.vi-view-controls button {
  min-height: 40px; padding: .35rem .65rem; border: 2px solid #2a4073; border-radius: .25rem;
  background: #fff; color: #172033; font: inherit; font-weight: 700;
}
.vi-view-controls button[aria-pressed="true"] { color: #fff; background: #2a4073; }
.vi-with-blind-register {
  display: inline-flex; align-items: center; min-height: 48px; width: fit-content; margin-block: .75rem;
  padding: .65rem 1rem; border: 2px solid #2a4073; border-radius: .3rem;
  color: #fff; background: #2a4073; font-weight: 800; text-decoration: underline;
}
.vi-product-quick {
  max-width: 64rem; margin: 1.5rem auto; padding: clamp(1rem, 3vw, 1.75rem);
  border: 2px solid #2a4073; border-radius: .75rem; background: #f5f8ff; color: #172033;
  box-shadow: 0 .35rem 1rem rgba(0, 26, 71, .1);
}
.vi-product-quick h2 { margin-block: 0 .5rem; font-size: clamp(1.35rem, 2.5vw, 1.75rem); }
.vi-share-install { margin-block: 1rem; padding: 1rem; border: 2px solid #18794e; border-radius: .5rem; background: #ecfdf5; color: #14532d; }
.vi-share-install h3 { margin: 0 0 .65rem; font-size: 1.15rem; }
.vi-share-install .vi-install-button { background: #14532d; border-color: #14532d; }
.vi-share-install .vi-install-status { margin: .65rem 0 0; font-weight: 650; }
.vi-product-quick form { display: grid; gap: .75rem; }
.vi-product-quick label { display: block; margin-block-end: .25rem; font-weight: 800; }
.vi-product-quick input { width: 100%; min-height: 48px; padding: .65rem .75rem; border: 2px solid #56637a; border-radius: .35rem; background: #fff; color: #172033; }
.vi-product-optional { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.vi-product-quick small { display: block; margin-block-start: .25rem; }
.vi-amazon-search { display: inline-flex; align-items: center; min-height: 44px; font-weight: 800; }
.vi-product-received { padding: .75rem; border: 2px solid #18794e; border-radius: .35rem; background: #ecfdf5; color: #14532d; font-weight: 700; }
.vi-product-quick button { width: fit-content; min-height: 48px; padding: .65rem 1rem; border: 2px solid #2a4073; border-radius: .35rem; color: #fff; background: #2a4073; font: inherit; font-weight: 800; }
.vi-product-quick-status:not(:empty) { padding: .65rem; border-left: .35rem solid #2a4073; background: #fff; }
.q-list.timeline, .q-list.result {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(19rem, 100%), 1fr));
  align-items: stretch;
  gap: 1rem;
}
.q-card.card {
  display: flex; flex-direction: column; width: auto !important; min-width: 0; height: 100% !important; min-height: 0 !important;
  overflow: hidden; border: 1px solid #d7deea; border-radius: .65rem; background: #fff;
  box-shadow: 0 .2rem .65rem rgba(0, 26, 71, .1);
}
.q-card.card > .content { flex: 1 1 auto; width: 100%; }
.q-card.card > .actions { margin-block-start: auto; }
.q-card.card .ellipsis,
.q-card.card .ellipsis-2-lines,
.q-card.card .ellipsis-3-lines { display: block !important; overflow: visible !important; white-space: normal !important; text-overflow: clip !important; -webkit-line-clamp: unset !important; }
.q-card.card a:not([href]) { text-decoration: underline; cursor: pointer; }
.q-card.card .actions { flex-wrap: wrap; gap: .5rem; }
.q-card.card .actions .q-btn { white-space: normal; }
.q-card.card img { max-width: 100%; object-fit: contain; }
.vi-official-comment { margin-block: 1rem; padding: 1rem; border: 2px solid #2a4073; border-radius: .4rem; background: #f5f8ff; }
@media (max-width: 48rem), (min-resolution: 2dppx) {
  .q-list.timeline, .q-list.result { grid-template-columns: minmax(0, 1fr) !important; padding-inline: .75rem !important; }
  .q-card.card { width: 100% !important; max-width: none !important; }
  .vi-product-optional { grid-template-columns: minmax(0, 1fr); }
  .row.form, form.column.form .row { flex-wrap: wrap; }
  form.column.form .input, form.column.form .q-field { flex: 1 1 16rem; min-width: 0; }
}
@media (max-width: 30rem) {
  .vi-view-controls { align-items: stretch; }
  .vi-view-controls, .vi-control-group { flex-direction: column; }
  .vi-view-controls button, .vi-control-group button { width: 100%; }
  .q-tabs__content { overflow-x: auto !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) { :focus-visible { outline: 3px solid CanvasText !important; } }
