.rp-input-help {
  position: fixed;
  z-index: 2147483000;
  width: min(360px, calc(100vw - 24px));
  box-sizing: border-box;
  padding: 14px 16px 13px;
  border: 1px solid #b7893d;
  border-radius: 6px;
  background:
    linear-gradient(135deg, rgba(112, 74, 22, .18), transparent 38%),
    #050908;
  color: #d8b86f;
  font-family: "TH Sarabun New", "Sarabun", sans-serif;
  font-size: 18px;
  line-height: 1.45;
  text-align: left;
  box-shadow:
    inset 0 0 0 3px #020504,
    inset 0 0 0 4px rgba(192, 143, 58, .28),
    0 14px 34px rgba(0, 0, 0, .82),
    0 0 18px rgba(181, 128, 43, .12);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(5px);
  transition: opacity .14s ease, transform .14s ease, visibility .14s ease;
}

.rp-input-help[data-open="true"] {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.rp-input-help::after {
  content: "";
  position: absolute;
  left: var(--rp-help-arrow-left, 28px);
  width: 11px;
  height: 11px;
  border: solid #b7893d;
  background: #050908;
  transform: rotate(45deg);
}

.rp-input-help[data-side="bottom"]::after {
  top: -7px;
  border-width: 1px 0 0 1px;
}

.rp-input-help[data-side="top"]::after {
  bottom: -7px;
  border-width: 0 1px 1px 0;
}

.rp-input-help-title {
  display: block;
  margin: 0 0 3px;
  color: #f0cf82;
  font-size: 20px;
  font-weight: 700;
}

.rp-input-help-description,
.rp-input-help-example {
  display: block;
}

.rp-input-help-example {
  margin-top: 5px;
  color: #bfa05d;
}

.rp-input-help-example strong {
  color: #e1bd6d;
  font-weight: 700;
}

input[data-rp-input-help],
textarea[data-rp-input-help],
select[data-rp-input-help] {
  transition: border-color .16s ease, box-shadow .16s ease, filter .16s ease;
}

input[data-rp-input-help]:hover,
textarea[data-rp-input-help]:hover,
select[data-rp-input-help]:hover,
input[data-rp-input-help]:focus,
textarea[data-rp-input-help]:focus,
select[data-rp-input-help]:focus {
  border-color: #c99a49 !important;
  box-shadow: 0 0 0 2px rgba(201, 154, 73, .18), 0 0 14px rgba(186, 132, 43, .14) !important;
}

@media (max-width: 680px) {
  .rp-input-help {
    width: min(340px, calc(100vw - 20px));
    padding: 12px 14px;
    font-size: 17px;
  }
  .rp-input-help-title { font-size: 19px; }
}

@media (prefers-reduced-motion: reduce) {
  .rp-input-help { transition: none; }
}

input[data-buddhist-date] {
  padding-right: 46px !important;
  cursor: pointer;
  background-image: linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23c89b4b' stroke-width='1.7'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 13px center !important;
}

.buddhist-calendar {
  position: fixed;
  z-index: 2147482990;
  width: min(360px, calc(100vw - 20px));
  box-sizing: border-box;
  padding: 14px;
  border: 1px solid #a87b36;
  border-radius: 5px;
  background: radial-gradient(circle at 50% 0,rgba(133,88,25,.18),transparent 46%),#050908;
  color: #d9b66a;
  font-family: "TH Sarabun New", "Sarabun", sans-serif;
  font-size: 17px;
  box-shadow: inset 0 0 0 3px #020504,inset 0 0 0 4px rgba(174,127,48,.34),0 18px 44px rgba(0,0,0,.84);
  margin: 0;
}

.buddhist-calendar[hidden] { display: none; }
.buddhist-calendar::backdrop{background:transparent}
.buddhist-calendar-head{display:grid;grid-template-columns:40px minmax(0,1.35fr) minmax(0,1.1fr) 40px;gap:7px;align-items:center;margin-bottom:11px}
.buddhist-calendar select,.buddhist-calendar button{min-height:40px;box-sizing:border-box;border:1px solid #6f5226;border-radius:3px;background:#070c0a;color:#e5c478;font:inherit;cursor:pointer;outline:none}
.buddhist-calendar select{width:100%;padding:6px 8px}
.buddhist-calendar select:focus,.buddhist-calendar button:focus-visible{border-color:#d0a352;box-shadow:0 0 0 2px rgba(208,163,82,.2)}
.buddhist-calendar-nav{font-size:27px;line-height:1}
.buddhist-calendar-weekdays,.buddhist-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.buddhist-calendar-weekdays span{padding:4px 0;color:#987d48;text-align:center;font-size:14px}
.buddhist-calendar-days button,.buddhist-calendar-empty{min-width:0;min-height:38px}
.buddhist-calendar-days button{background:#040806;color:#c9a85f}
.buddhist-calendar-days button:hover{border-color:#c79643;background:#171107;color:#f1cf80}
.buddhist-calendar-days button[data-today="true"]{box-shadow:inset 0 0 0 1px #9b7435}
.buddhist-calendar-days button.is-selected{border-color:#e0b660;background:#4b3517;color:#ffe09b;font-weight:700}
.buddhist-calendar-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;padding-top:10px;border-top:1px solid rgba(129,93,35,.42);color:#987f4b;font-size:14px}
.buddhist-calendar-foot button{min-height:36px;padding:5px 15px}

@media(max-width:420px){
  .buddhist-calendar{padding:11px;font-size:16px}
  .buddhist-calendar-head{grid-template-columns:38px minmax(0,1.25fr) minmax(0,1fr) 38px;gap:5px}
  .buddhist-calendar-days button,.buddhist-calendar-empty{min-height:36px}
}

/* Scoped to number explanations; no changes to input/calendar dimensions. */
.rp-number-help{font-family:"Sarabun",sans-serif;font-size:16px;line-height:1.55;overflow-y:auto;overscroll-behavior:contain}
.rp-number-help[data-open="true"]{pointer-events:auto}
.rp-number-help .rp-input-help-title{font-size:19px;line-height:1.4}
.rp-number-help-order,.rp-number-help-instruction{display:block;white-space:pre-line}
.rp-number-help-order{margin-top:9px;color:#cdb276}
.rp-number-help-instruction{margin-top:10px;padding-top:8px;border-top:1px solid #77552766;color:#bda776;font-size:13px}
[data-rp-number-help="ready"]{cursor:help;touch-action:pan-y;-webkit-tap-highlight-color:rgba(220,176,87,.2)}
[data-rp-number-help="ready"]:focus-visible{outline:2px solid #edca7e;outline-offset:3px}
