/* Sgt. Ronpuski help chat. Self-contained: works on every page, whatever its own styles. */
.rp{--rp-blue:#1476ff;--rp-ink:#060b18;--rp-panel:#0b1326;--rp-line:#22314f;--rp-fg:#eef3ff;--rp-dim:#9aa6bd;font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--rp-fg)}
.rp *,.rp *::before,.rp *::after{box-sizing:border-box}
.rp button,.rp input,.rp textarea{font:inherit;color:inherit}
.rp-fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:900;display:flex;align-items:center;gap:8px;padding:10px 16px 10px 12px;border:1px solid rgba(20,118,255,.6);border-radius:999px;background:linear-gradient(180deg,#0f1d3d,#0a1328);color:var(--rp-fg);font-weight:700;letter-spacing:.02em;cursor:pointer;box-shadow:0 10px 30px -8px #000,0 0 22px rgba(20,118,255,.35)}
.rp-fab svg{width:26px;height:26px;color:#5aa0ff}
.rp-fab:hover{border-color:var(--rp-blue)}
.rp-fab:focus-visible,.rp button:focus-visible,.rp textarea:focus-visible,.rp input:focus-visible{outline:2px solid var(--rp-blue);outline-offset:2px}
.rp-open .rp-fab{display:none}
.rp-panel{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:901;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100dvh - 32px));display:flex;flex-direction:column;background:var(--rp-ink);border:1px solid var(--rp-line);border-radius:14px;overflow:hidden;box-shadow:0 24px 60px -12px #000}
.rp-panel[hidden]{display:none}
.rp-head{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;background:linear-gradient(180deg,#0f1d3d,#0b1430);border-bottom:1px solid var(--rp-line)}
.rp-head svg{width:30px;height:30px;color:#5aa0ff;flex:none}
.rp-head div{flex:1;min-width:0;display:grid}
.rp-head b{font-size:15px}.rp-head small{color:var(--rp-dim);font-size:12px}
.rp-x{background:none;border:0;font-size:26px;line-height:1;padding:4px 8px;cursor:pointer;color:var(--rp-dim)}
.rp-x:hover{color:var(--rp-fg)}
.rp-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.rp-msg{max-width:88%;padding:10px 12px;border-radius:12px;overflow-wrap:anywhere}
.rp-rp{align-self:flex-start;background:var(--rp-panel);border:1px solid var(--rp-line);border-top-left-radius:4px}
.rp-me{align-self:flex-end;background:var(--rp-blue);color:#fff;border-top-right-radius:4px}
.rp-err{align-self:flex-start;background:#cf4a3322;border:1px solid #cf4a3366;color:#ffb3a5}
.rp-hint{border-color:rgba(20,118,255,.6);background:rgba(20,118,255,.12);font-size:16px}
.rp-typing{display:flex;gap:4px;padding:14px}
.rp-typing i{width:7px;height:7px;border-radius:50%;background:var(--rp-dim);animation:rp-dot 1s infinite}
.rp-typing i:nth-child(2){animation-delay:.15s}.rp-typing i:nth-child(3){animation-delay:.3s}
@keyframes rp-dot{0%,80%,100%{opacity:.3}40%{opacity:1}}
@media (prefers-reduced-motion:reduce){.rp-typing i{animation:none}}
.rp-choices{display:grid;gap:8px}
.rp-choices button{display:grid;gap:2px;text-align:left;padding:12px 14px;border-radius:10px;border:1px solid var(--rp-line);background:var(--rp-panel);cursor:pointer}
.rp-choices button:hover{border-color:var(--rp-blue)}
.rp-choices small{color:var(--rp-dim);font-size:13px}
.rp-row{grid-template-columns:1fr auto}
.rp-row button{text-align:center;font-weight:700}
.rp-main{background:var(--rp-blue)!important;border-color:var(--rp-blue)!important;color:#fff}
.rp-choices button:disabled{opacity:.6;cursor:wait}
.rp-back{align-self:flex-start;background:none;border:0;color:#5aa0ff;cursor:pointer;padding:0;font-weight:600}
.rp-in{display:flex;gap:8px;padding:10px;border-top:1px solid var(--rp-line);background:#08101f}
.rp-in[hidden]{display:none}
.rp-in textarea,.rp-ticket input,.rp-ticket textarea{flex:1;min-width:0;resize:none;padding:10px 12px;border-radius:10px;border:1px solid var(--rp-line);background:var(--rp-panel);font-size:16px}
.rp-in button,.rp-ticket button{padding:0 16px;border-radius:10px;border:0;background:var(--rp-blue);color:#fff;font-weight:700;cursor:pointer}
.rp-ticket{display:grid;gap:8px}
.rp-ticket button{padding:11px 16px}
.rp-ticket button:disabled{opacity:.6}
.rp-note{margin:0;color:#ffb3a5;font-size:13px}
@media (max-width:520px){
  .rp-fab span{display:none}
  .rp-fab{padding:12px}
  .rp-panel{inset:0;width:100%;height:100dvh;border-radius:0;border:0}
}
