.psst-box {
  --psst-bg: #d01824; --psst-fg: #fff; --psst-button-bg: #fff;
  --psst-button-fg: #d01824; --psst-button-hover: #f3c7cb;
  --psst-heading-size: 46px; --psst-message-size: 23px; --psst-button-size: 19px;
  --psst-padding: 16px; --psst-radius: 4px; --psst-button-radius: 4px;
  --psst-margin: 32px; --psst-max-width: 100%; --psst-align: center;
  box-sizing: border-box; display: block; width: 100%; max-width: var(--psst-max-width);
  margin: var(--psst-margin) auto; padding: var(--psst-padding);
  border: 0; border-radius: var(--psst-radius); background: var(--psst-bg);
  color: var(--psst-fg); text-align: var(--psst-align);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-wrap: anywhere; clear: both; isolation: isolate;
}
.psst-box *, .psst-box *::before, .psst-box *::after { box-sizing: border-box; }
.psst-box .psst-heading {
  margin: 6px 0 3px; padding: 0; border: 0; color: var(--psst-fg);
  font-family: inherit; font-size: var(--psst-heading-size); line-height: 1.16;
  font-weight: 800; letter-spacing: -.025em; text-transform: none;
}
.psst-box .psst-message {
  margin: 0 0 12px; padding: 0; color: var(--psst-fg); font-family: inherit;
  font-size: var(--psst-message-size); line-height: 1.38; font-weight: 450;
  letter-spacing: 0; text-transform: none;
}
.psst-box .psst-button, .psst-box .psst-button:visited {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; min-height: 50px; margin: 0; padding: 11px 16px; border: 0;
  border-radius: var(--psst-button-radius); background: var(--psst-button-bg);
  color: var(--psst-button-fg); font-family: inherit; font-size: var(--psst-button-size);
  line-height: 1.4; font-weight: 750; letter-spacing: .09em;
  text-decoration: none; box-shadow: none; cursor: pointer; text-align: center;
  text-transform: none; transition: background-color .15s ease;
}
.psst-box .psst-button:hover { background: var(--psst-button-hover); color: var(--psst-button-fg); text-decoration: none; }
.psst-box .psst-button::before, .psst-box .psst-button::after { content: none; }
.psst-box .psst-icon { display: inline-block; width: 26px; height: 26px; flex: 0 0 26px; fill: currentColor; }
.psst-box .psst-button:focus-visible, .psst-box .psst-image-choice:focus-visible, .psst-box .psst-close:focus-visible {
  outline: 3px solid #173cc2; outline-offset: 3px; box-shadow: 0 0 0 6px #fff;
}
.psst-box .psst-picker {
  color: #202028; background: #fff; border: 0; border-radius: 16px;
  width: min(760px, calc(100vw - 32px)); max-width: calc(100vw - 32px);
  max-height: 88vh; padding: 24px; margin: auto; text-align: left;
  box-shadow: 0 25px 80px #0004; font-size: 16px; line-height: 1.5;
  overflow-y: auto; overscroll-behavior: contain;
}
.psst-box .psst-picker:not([open]) { display: none; }
.psst-box .psst-picker::backdrop { background: #16131bb3; }
.psst-picker .psst-picker-head { display: flex; align-items: center; gap: 20px; justify-content: space-between; }
.psst-picker .psst-picker-head h2 { font: 750 25px/1.25 system-ui, sans-serif; color: #202028; margin: 0; padding: 0; }
.psst-picker .psst-close { border: 0; border-radius: 50%; background: #f2f2f4; color: #303038; min-width: 44px; min-height: 44px; padding: 4px; margin: 0; font: 28px/1 system-ui, sans-serif; cursor: pointer; }
.psst-picker .psst-picker-note { margin: 8px 0 20px; color: #62626b; font: 400 15px/1.5 system-ui, sans-serif; }
.psst-picker .psst-image-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.psst-picker .psst-image-choice { display: flex; flex-direction: column; color: #8f101a; border: 1px solid #e5e4e7; border-radius: 10px; overflow: hidden; text-decoration: none; background: #fff; }
.psst-picker .psst-image-choice:hover { border-color: #d01824; background: #fff4f4; }
.psst-picker .psst-image-choice img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: contain; background: #f3f2f2; padding: 0; margin: 0; border: 0; border-radius: 0; }
.psst-picker .psst-image-choice > span { padding: 12px 8px; text-align: center; font: 700 14px/1.4 system-ui, sans-serif; }
.psst-box .psst-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 767px) {
  .psst-box.psst-no-mobile { display: none; }
  .psst-box .psst-heading { font-size: clamp(18px, 7.5vw, var(--psst-heading-size)); }
  .psst-box .psst-message { font-size: clamp(12px, 4.5vw, var(--psst-message-size)); }
  .psst-box .psst-image-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .psst-box .psst-picker { padding: 18px; }
}
@media (min-width: 768px) { .psst-box.psst-no-desktop { display: none; } }
@media (prefers-reduced-motion: reduce) { .psst-box .psst-button { transition: none; } }
@media print { .psst-box { display: none !important; } }
