/* Ryo Password Toolkit 1.0.0
 * Theme-resistant full-width visual system for tools.ryo.news.
 */
body.rpw-managed-page,
html body:has(.rpw) {
  background:#050b14 !important;
  overflow-x:hidden !important;
  color-scheme:dark !important;
}
/* Neutralize an unknown theme wrapper that directly contains the toolkit. */
html body :where(div,main,article,section):has(> .rpw) {
  width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important;
  border:0 !important; background:#050b14 !important; box-shadow:none !important; overflow:visible !important;
}
body.rpw-managed-page .entry-title,
body.rpw-managed-page .page-title,
body.rpw-managed-page .entry-header .entry-title,
body.rpw-managed-page .page-header .page-title,
body.rpw-managed-page article.page > header.entry-header { display:none !important; }
body.rpw-managed-page #content,
body.rpw-managed-page .site-content,
body.rpw-managed-page .content-area,
body.rpw-managed-page main,
body.rpw-managed-page main.site-main,
body.rpw-managed-page article.page,
body.rpw-managed-page .site-main > article.page,
body.rpw-managed-page .entry-content,
body.rpw-managed-page .post-content,
body.rpw-managed-page .page-content {
  width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important;
  border:0 !important; background:#050b14 !important; box-shadow:none !important; overflow:visible !important;
}
html body .rpw, html body .rpw *, html body .rpw *::before, html body .rpw *::after { box-sizing:border-box !important; }
html body .rpw {
  --bg:#050b14; --bg-soft:#08111d; --panel:#0b1625; --panel2:#101e30; --panel-blue:#0c1c33;
  --line:#24344a; --line-strong:#385474; --text:#f5f8fc; --text-soft:#dce6f1; --muted:#aebed1;
  --subtle:#8799ad; --blue:#4f8cff; --blue-light:#89b3ff; --green:#55d6a7; --yellow:#ffd27a; --red:#ff8795;
  --radius-xl:26px; --radius-lg:20px; --radius-md:14px; --shadow:0 22px 70px rgba(0,0,0,.28);
  position:relative !important; width:100vw !important; max-width:100vw !important; min-width:0 !important;
  min-height:100vh !important; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important;
  padding:0 !important; overflow-x:clip !important; border:0 !important; border-top:1px solid #17253a !important;
  background:radial-gradient(circle at 50% -12%,rgba(63,118,222,.13),transparent 34%),linear-gradient(180deg,#07111d 0%,#050b14 18%,#050b14 100%) !important;
  color:var(--text) !important; color-scheme:dark !important;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
  font-size:18px !important; font-weight:400 !important; line-height:1.62 !important; text-align:left !important; letter-spacing:0 !important;
  isolation:isolate !important;
}
html:has(body .rpw) { overflow-x:clip !important; background:#050b14 !important; }
html body .rpw :where(h1,h2,h3,h4,p,a,span,strong,b,small,em,label,button,input,select,textarea,summary,dt,dd,th,td,li,output,code) {
  font-family:inherit !important; font-size:16px !important; text-shadow:none !important; opacity:1 !important;
}
html body .rpw h1, html body .rpw h2, html body .rpw h3, html body .rpw h4 { margin:0 !important; padding:0 !important; color:var(--text) !important; font-weight:780 !important; text-transform:none !important; }
html body .rpw h1 { font-size:clamp(2.45rem,5vw,4.25rem) !important; line-height:1.02 !important; letter-spacing:-.045em !important; }
html body .rpw h2 { font-size:clamp(1.7rem,3vw,2.45rem) !important; line-height:1.12 !important; letter-spacing:-.03em !important; }
html body .rpw h3 { font-size:1.24rem !important; line-height:1.28 !important; letter-spacing:-.015em !important; }
html body .rpw p { margin:0 !important; color:var(--muted) !important; font-size:18px !important; line-height:1.7 !important; }
html body .rpw a { color:var(--blue-light) !important; text-decoration:none !important; box-shadow:none !important; }
html body .rpw a:hover { color:#bfd3ff !important; }
html body .rpw svg { width:1em !important; height:1em !important; display:block !important; fill:none !important; stroke:currentColor !important; stroke-width:1.8 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }
html body .rpw [hidden] { display:none !important; }
html body .rpw :focus-visible { outline:3px solid #8bb5ff !important; outline-offset:3px !important; }
html body .rpw code { color:#dce8ff !important; background:#081525 !important; border:1px solid #253a56 !important; padding:2px 6px !important; border-radius:6px !important; }
.rpw-hub-inner,.rpw-page-inner { width:100% !important; min-width:0 !important; margin:0 auto !important; padding:clamp(18px,2.1vw,30px) clamp(18px,2.4vw,34px) 76px !important; }
.rpw-hub-inner { max-width:1388px !important; }
.rpw-page-inner { max-width:1488px !important; }
.rpw-hub-inner > *, .rpw-page-inner > *, .rpw-hub-hero > *, .rpw-tool-grid > *, .rpw-info > *, .rpw-related-grid > *, .rpw-how-grid > * { min-width:0 !important; max-width:100% !important; }

/* Brand */
.rpw-brandbar { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:20px !important; min-height:66px !important; margin:0 0 24px !important; padding:10px 4px 14px !important; border-bottom:1px solid rgba(67,91,122,.55) !important; background:transparent !important; }
.rpw-brand { display:inline-flex !important; align-items:center !important; gap:12px !important; color:var(--text) !important; }
.rpw-brand > span:last-child { display:grid !important; gap:2px !important; }
.rpw-brand strong { color:var(--text) !important; font-size:17px !important; font-weight:800 !important; line-height:1.15 !important; }
.rpw-brand small { color:var(--muted) !important; font-size:16px !important; font-weight:620 !important; line-height:1.15 !important; }
.rpw-brand-links { display:flex !important; align-items:center !important; gap:20px !important; }
.rpw-brand-links a { color:var(--text-soft) !important; font-size:16px !important; font-weight:700 !important; }
.rpw-ryo-mark,.rpw-cta-mark { position:relative !important; display:inline-block !important; width:42px !important; height:42px !important; flex:0 0 42px !important; border-radius:50% !important; background:radial-gradient(circle at 30% 28%,#9fc0ff 0%,#5d96ff 30%,#356fe0 62%,#16408f 100%) !important; box-shadow:0 9px 24px rgba(65,126,242,.28) !important; }
.rpw-ryo-mark i,.rpw-cta-mark i { position:absolute !important; inset:14px !important; display:block !important; border-radius:2px !important; background:#07101b !important; }
.rpw-kicker,.rpw-overline { display:inline-flex !important; align-items:center !important; gap:9px !important; color:var(--blue-light) !important; font-size:16px !important; font-weight:800 !important; line-height:1.3 !important; letter-spacing:.06em !important; text-transform:uppercase !important; }

/* Hub */
.rpw-hub-hero { display:grid !important; grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr) !important; gap:24px !important; align-items:stretch !important; margin:20px 0 24px !important; }
.rpw-hub-copy,.rpw-hub-app-wrap { border:1px solid var(--line) !important; border-radius:var(--radius-xl) !important; background:linear-gradient(145deg,rgba(16,30,48,.96),rgba(8,17,29,.98)) !important; box-shadow:var(--shadow) !important; }
.rpw-hub-copy { min-height:520px !important; padding:clamp(34px,5vw,62px) !important; display:flex !important; flex-direction:column !important; justify-content:center !important; }
.rpw-hub-copy h1 { max-width:860px !important; margin-top:14px !important; }
.rpw-hub-copy > p { max-width:780px !important; margin-top:22px !important; color:var(--text-soft) !important; font-size:20px !important; }
.rpw-hero-badges { display:flex !important; flex-wrap:wrap !important; gap:10px !important; margin-top:28px !important; }
.rpw-hero-badges span { display:inline-flex !important; align-items:center !important; gap:8px !important; padding:9px 12px !important; border:1px solid #314763 !important; border-radius:999px !important; background:#0a1728 !important; color:#d9e6f7 !important; font-size:16px !important; font-weight:700 !important; }
.rpw-hero-badges svg { width:19px !important; height:19px !important; color:var(--green) !important; }
.rpw-hub-app-wrap { padding:22px !important; display:flex !important; align-items:center !important; }
.rpw-proof-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:16px !important; margin:24px 0 62px !important; }
.rpw-proof-grid article { display:grid !important; grid-template-columns:48px minmax(0,1fr) !important; gap:16px !important; align-items:start !important; min-height:158px !important; padding:24px !important; border:1px solid var(--line) !important; border-radius:var(--radius-lg) !important; background:#081421 !important; }
.rpw-proof-grid svg { width:36px !important; height:36px !important; color:var(--blue-light) !important; }
.rpw-proof-grid strong { display:block !important; color:var(--text) !important; font-size:18px !important; font-weight:800 !important; margin-bottom:6px !important; }
.rpw-proof-grid p { font-size:16px !important; line-height:1.55 !important; }
.rpw-directory,.rpw-how,.rpw-info,.rpw-faq,.rpw-related { margin:64px 0 0 !important; }
.rpw-section-heading { display:flex !important; justify-content:space-between !important; align-items:end !important; gap:28px !important; margin:0 0 22px !important; }
.rpw-section-heading > div { display:grid !important; gap:8px !important; }
.rpw-section-heading > p { max-width:580px !important; font-size:17px !important; text-align:right !important; }
.rpw-tool-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:16px !important; }
.rpw-tool-card { position:relative !important; display:grid !important; align-content:start !important; min-height:274px !important; padding:26px !important; border:1px solid var(--line) !important; border-radius:var(--radius-lg) !important; background:linear-gradient(145deg,#0c192a,#08131f) !important; color:var(--text) !important; transition:transform .18s ease,border-color .18s ease,background .18s ease !important; }
.rpw-tool-card:hover { transform:translateY(-3px) !important; border-color:#44688f !important; background:linear-gradient(145deg,#10223a,#091827) !important; }
.rpw-card-icon { display:grid !important; place-items:center !important; width:50px !important; height:50px !important; margin-bottom:20px !important; border:1px solid #31517b !important; border-radius:15px !important; background:#0b203b !important; color:var(--blue-light) !important; }
.rpw-card-icon svg { width:27px !important; height:27px !important; }
.rpw-card-category { color:var(--green) !important; font-size:16px !important; font-weight:800 !important; text-transform:uppercase !important; letter-spacing:.05em !important; }
.rpw-tool-card > strong { display:block !important; margin-top:8px !important; color:var(--text) !important; font-size:22px !important; font-weight:800 !important; }
.rpw-tool-card > p { margin-top:8px !important; font-size:16px !important; line-height:1.55 !important; }
.rpw-tool-card > b { position:absolute !important; right:24px !important; bottom:22px !important; color:var(--blue-light) !important; font-size:25px !important; }
.rpw-editorial { display:grid !important; grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr) !important; gap:18px !important; margin:64px 0 0 !important; }
.rpw-editorial > article,.rpw-editorial-points { padding:34px !important; border:1px solid var(--line) !important; border-radius:var(--radius-xl) !important; background:#081421 !important; }
.rpw-editorial h2 { margin-top:10px !important; }
.rpw-editorial article p { margin-top:16px !important; }
.rpw-editorial-points { display:grid !important; gap:0 !important; }
.rpw-editorial-points > div { padding:18px 0 !important; border-bottom:1px solid var(--line) !important; }
.rpw-editorial-points > div:last-child { border-bottom:0 !important; }
.rpw-editorial-points strong { display:block !important; color:var(--text) !important; font-size:18px !important; font-weight:800 !important; }
.rpw-editorial-points span { color:var(--muted) !important; font-size:16px !important; }

/* Tool page */
.rpw-breadcrumbs { display:flex !important; align-items:center !important; gap:10px !important; color:var(--subtle) !important; margin:6px 0 20px !important; }
.rpw-breadcrumbs a,.rpw-breadcrumbs span { font-size:16px !important; }
.rpw-tool-hero { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(330px,.44fr) !important; gap:24px !important; align-items:stretch !important; margin:18px 0 24px !important; }
.rpw-tool-hero > div,.rpw-hero-privacy { padding:clamp(28px,4vw,46px) !important; border:1px solid var(--line) !important; border-radius:var(--radius-xl) !important; background:linear-gradient(145deg,#0f1f33,#081421) !important; }
.rpw-tool-hero h1 { margin-top:10px !important; }
.rpw-tool-hero > div > p { margin-top:18px !important; max-width:900px !important; color:var(--text-soft) !important; }
.rpw-hero-privacy { display:grid !important; grid-template-columns:50px minmax(0,1fr) !important; gap:16px !important; align-content:center !important; }
.rpw-hero-privacy > span { display:grid !important; place-items:center !important; width:50px !important; height:50px !important; border-radius:15px !important; background:#0a2136 !important; color:var(--green) !important; }
.rpw-hero-privacy svg { width:28px !important; height:28px !important; }
.rpw-hero-privacy strong { display:block !important; color:var(--text) !important; font-size:18px !important; font-weight:800 !important; margin-bottom:5px !important; }
.rpw-hero-privacy p { font-size:16px !important; line-height:1.55 !important; }
.rpw-workspace { margin:0 !important; }

/* App */
.rpw-app { width:100% !important; min-width:0 !important; padding:clamp(22px,3.2vw,38px) !important; border:1px solid #2a3e58 !important; border-radius:var(--radius-xl) !important; background:linear-gradient(180deg,#0c1929 0%,#08131f 100%) !important; box-shadow:var(--shadow) !important; color:var(--text) !important; }
.rpw-app-compact { padding:20px !important; box-shadow:none !important; }
.rpw-app-head { display:flex !important; justify-content:space-between !important; align-items:center !important; gap:18px !important; margin-bottom:20px !important; }
.rpw-app-head > div { display:grid !important; gap:3px !important; }
.rpw-app-head strong { color:var(--text) !important; font-size:20px !important; font-weight:820 !important; }
.rpw-app-head small { color:var(--muted) !important; font-size:16px !important; }
.rpw-ready { display:inline-flex !important; align-items:center !important; gap:7px !important; padding:8px 10px !important; border:1px solid #2d5b52 !important; border-radius:999px !important; background:#0a211f !important; color:#9de4c9 !important; font-size:16px !important; font-weight:800 !important; white-space:nowrap !important; }
.rpw-ready::before { content:"" !important; width:8px !important; height:8px !important; border-radius:50% !important; background:var(--green) !important; box-shadow:0 0 0 4px rgba(85,214,167,.12) !important; }
.rpw-output-card { padding:22px !important; border:1px solid #35506f !important; border-radius:18px !important; background:#06101c !important; }
.rpw-output-top { display:flex !important; justify-content:space-between !important; align-items:center !important; gap:14px !important; margin-bottom:10px !important; }
.rpw-output-top span { color:var(--muted) !important; font-size:16px !important; font-weight:700 !important; }
.rpw-secret { display:block !important; width:100% !important; min-height:64px !important; margin:0 !important; padding:10px 0 !important; color:#f8fbff !important; font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace !important; font-size:clamp(20px,2.3vw,30px) !important; font-weight:700 !important; line-height:1.5 !important; letter-spacing:.02em !important; overflow-wrap:anywhere !important; word-break:break-word !important; user-select:text !important; }
.rpw-secret.is-hidden { filter:blur(9px) !important; user-select:none !important; }
.rpw-output-actions { display:flex !important; gap:10px !important; flex-wrap:wrap !important; margin-top:16px !important; }
.rpw-button, html body .rpw button.rpw-button { display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:8px !important; min-height:48px !important; padding:11px 17px !important; border-radius:12px !important; border:1px solid #355270 !important; background:#10233a !important; color:#f5f8fc !important; font-size:16px !important; font-weight:800 !important; line-height:1.2 !important; cursor:pointer !important; text-decoration:none !important; box-shadow:none !important; appearance:none !important; }
.rpw-button:hover, html body .rpw button.rpw-button:hover { background:#16304f !important; border-color:#4c719a !important; color:#fff !important; }
.rpw-button-primary, html body .rpw button.rpw-button-primary { background:#255fc2 !important; border-color:#3a75d8 !important; color:#fff !important; }
.rpw-button-primary:hover, html body .rpw button.rpw-button-primary:hover { background:#1d52ad !important; }
.rpw-button-quiet, html body .rpw button.rpw-button-quiet { background:#091726 !important; color:#dbe6f4 !important; }
.rpw-button[disabled], .rpw input[disabled], .rpw select[disabled] { opacity:.55 !important; cursor:not-allowed !important; }
.rpw-copy-state { color:var(--green) !important; font-size:16px !important; font-weight:800 !important; align-self:center !important; }
.rpw-metrics { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:10px !important; margin-top:14px !important; }
.rpw-metric { padding:14px !important; border:1px solid #263c56 !important; border-radius:13px !important; background:#0a1624 !important; }
.rpw-metric span { display:block !important; color:var(--subtle) !important; font-size:16px !important; font-weight:700 !important; }
.rpw-metric strong { display:block !important; margin-top:3px !important; color:var(--text) !important; font-size:18px !important; font-weight:820 !important; }
.rpw-control-section { margin-top:22px !important; padding-top:22px !important; border-top:1px solid var(--line) !important; }
.rpw-control-title { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:16px !important; margin-bottom:14px !important; }
.rpw-control-title strong { color:var(--text) !important; font-size:18px !important; font-weight:820 !important; }
.rpw-control-title span { color:var(--blue-light) !important; font-size:16px !important; font-weight:800 !important; }
.rpw-grid-2 { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:14px !important; }
.rpw-grid-3 { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:14px !important; }
.rpw-field { display:grid !important; gap:8px !important; min-width:0 !important; }
.rpw-field > label,.rpw-field-label { color:var(--text-soft) !important; font-size:16px !important; font-weight:760 !important; }
.rpw input[type="text"],.rpw input[type="password"],.rpw input[type="number"],.rpw select,.rpw textarea { width:100% !important; min-height:48px !important; margin:0 !important; padding:11px 13px !important; border:1px solid #3a516e !important; border-radius:11px !important; background:#06111d !important; color:#f7faff !important; font-size:16px !important; font-weight:600 !important; line-height:1.35 !important; box-shadow:none !important; appearance:auto !important; }
.rpw textarea { min-height:116px !important; resize:vertical !important; }
.rpw input::placeholder,.rpw textarea::placeholder { color:#8294a9 !important; opacity:1 !important; }
.rpw input[type="range"] { width:100% !important; accent-color:#5e95ff !important; }
.rpw-check-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
.rpw-check { display:flex !important; align-items:center !important; gap:10px !important; min-height:48px !important; padding:11px 13px !important; border:1px solid #2e445f !important; border-radius:12px !important; background:#091827 !important; color:var(--text-soft) !important; cursor:pointer !important; }
.rpw-check input { width:19px !important; height:19px !important; margin:0 !important; accent-color:#5e95ff !important; }
.rpw-check span { font-size:16px !important; font-weight:700 !important; }
.rpw-advanced { margin-top:12px !important; border:1px solid #2a4059 !important; border-radius:14px !important; background:#081522 !important; overflow:hidden !important; }
.rpw-advanced summary { display:flex !important; justify-content:space-between !important; align-items:center !important; min-height:50px !important; padding:12px 15px !important; color:var(--text-soft) !important; font-size:16px !important; font-weight:800 !important; cursor:pointer !important; }
.rpw-advanced summary::after { content:"+" !important; color:var(--blue-light) !important; font-size:22px !important; }
.rpw-advanced[open] summary::after { content:"−" !important; }
.rpw-advanced > div { padding:0 14px 14px !important; }
.rpw-note { margin-top:12px !important; padding:13px 14px !important; border:1px solid #334862 !important; border-radius:12px !important; background:#091725 !important; color:var(--muted) !important; font-size:16px !important; line-height:1.55 !important; }
.rpw-note strong { color:var(--text-soft) !important; font-size:16px !important; }
.rpw-warning { border-color:#6a5730 !important; background:#211a0d !important; color:#ffe0a0 !important; }
.rpw-error { border-color:#6e3843 !important; background:#241016 !important; color:#ffbdc6 !important; }
.rpw-success { border-color:#275f50 !important; background:#0b211d !important; color:#b5efd9 !important; }
.rpw-privacy-receipt { margin-top:22px !important; padding:18px !important; border:1px solid #2c4964 !important; border-radius:16px !important; background:linear-gradient(145deg,#081a2a,#07141f) !important; }
.rpw-privacy-receipt h3 { display:flex !important; align-items:center !important; gap:9px !important; font-size:19px !important; }
.rpw-receipt-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px 20px !important; margin-top:13px !important; }
.rpw-receipt-row { display:flex !important; justify-content:space-between !important; gap:12px !important; padding:8px 0 !important; border-bottom:1px solid rgba(59,79,105,.45) !important; }
.rpw-receipt-row span { color:var(--muted) !important; font-size:16px !important; }
.rpw-receipt-row strong { color:var(--text-soft) !important; font-size:16px !important; font-weight:800 !important; text-align:right !important; }
.rpw-receipt-row strong.good { color:var(--green) !important; }

/* Strength checker */
.rpw-strength-layout { display:grid !important; grid-template-columns:minmax(0,1.05fr) minmax(340px,.72fr) !important; gap:18px !important; align-items:start !important; }
.rpw-strength-input,.rpw-strength-report { padding:22px !important; border:1px solid #2d435e !important; border-radius:18px !important; background:#071421 !important; }
.rpw-password-input-wrap { position:relative !important; }
.rpw-password-input-wrap input { padding-right:92px !important; font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace !important; }
.rpw-password-input-wrap button { position:absolute !important; right:7px !important; top:7px !important; min-height:34px !important; padding:6px 10px !important; border:1px solid #34506f !important; border-radius:8px !important; background:#10243b !important; color:var(--text-soft) !important; font-size:16px !important; font-weight:800 !important; cursor:pointer !important; }
.rpw-strength-score { display:grid !important; grid-template-columns:auto minmax(0,1fr) !important; gap:16px !important; align-items:center !important; }
.rpw-score-ring { display:grid !important; place-items:center !important; width:92px !important; height:92px !important; border-radius:50% !important; background:conic-gradient(var(--green) var(--score,0%),#1a2b3e 0) !important; position:relative !important; }
.rpw-score-ring::after { content:"" !important; position:absolute !important; inset:9px !important; border-radius:50% !important; background:#071421 !important; }
.rpw-score-ring strong { z-index:1 !important; color:var(--text) !important; font-size:22px !important; }
.rpw-score-text strong { display:block !important; color:var(--text) !important; font-size:23px !important; font-weight:840 !important; }
.rpw-score-text span { color:var(--muted) !important; font-size:16px !important; }
.rpw-analysis-list { display:grid !important; gap:8px !important; margin-top:18px !important; }
.rpw-analysis-item { display:flex !important; align-items:flex-start !important; gap:10px !important; padding:10px 12px !important; border-radius:10px !important; background:#0a1827 !important; color:var(--text-soft) !important; font-size:16px !important; }
.rpw-analysis-item.good::before { content:"✓" !important; color:var(--green) !important; font-weight:900 !important; }
.rpw-analysis-item.warn::before { content:"!" !important; color:var(--yellow) !important; font-weight:900 !important; }
.rpw-hibp { margin-top:18px !important; padding:20px !important; border:1px solid #35506e !important; border-radius:17px !important; background:#081827 !important; }
.rpw-hibp-head { display:flex !important; justify-content:space-between !important; gap:16px !important; align-items:start !important; }
.rpw-hibp-head strong { color:var(--text) !important; font-size:18px !important; font-weight:820 !important; }
.rpw-hibp-head span { color:var(--muted) !important; font-size:16px !important; }
.rpw-hibp-result { margin-top:14px !important; }
.rpw-hibp-credit { margin-top:12px !important; color:var(--subtle) !important; font-size:16px !important; }

/* Info / FAQ / related */
.rpw-how-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:16px !important; }
.rpw-how-grid article { min-height:210px !important; padding:26px !important; border:1px solid var(--line) !important; border-radius:var(--radius-lg) !important; background:#081421 !important; }
.rpw-how-grid article > span { display:inline-flex !important; margin-bottom:24px !important; color:var(--blue-light) !important; font-size:16px !important; font-weight:900 !important; letter-spacing:.08em !important; }
.rpw-how-grid article p { margin-top:10px !important; font-size:16px !important; line-height:1.58 !important; }
.rpw-info { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:16px !important; }
.rpw-info article { padding:32px !important; border:1px solid var(--line) !important; border-radius:var(--radius-xl) !important; background:#081421 !important; }
.rpw-info h2 { margin-top:9px !important; }
.rpw-info p { margin-top:14px !important; }
.rpw-faq-list { display:grid !important; gap:10px !important; }
.rpw-faq-item { border:1px solid var(--line) !important; border-radius:16px !important; background:#081421 !important; overflow:hidden !important; }
.rpw-faq-item summary { display:flex !important; justify-content:space-between !important; align-items:center !important; gap:20px !important; min-height:68px !important; padding:18px 20px !important; color:var(--text) !important; cursor:pointer !important; list-style:none !important; }
.rpw-faq-item summary::-webkit-details-marker { display:none !important; }
.rpw-faq-item summary span { color:var(--text) !important; font-size:18px !important; font-weight:800 !important; }
.rpw-faq-item summary b { width:28px !important; height:28px !important; flex:0 0 28px !important; border:1px solid #3b5677 !important; border-radius:50% !important; position:relative !important; }
.rpw-faq-item summary b::before,.rpw-faq-item summary b::after { content:"" !important; position:absolute !important; left:7px !important; right:7px !important; top:13px !important; height:2px !important; background:#9cbfff !important; }
.rpw-faq-item summary b::after { transform:rotate(90deg) !important; transition:transform .18s ease !important; }
.rpw-faq-item[open] summary b::after { transform:rotate(0deg) !important; }
.rpw-faq-item > div { padding:0 20px 20px !important; }
.rpw-faq-item > div p { font-size:17px !important; }
.rpw-related-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:14px !important; }
.rpw-related-grid > a { display:grid !important; grid-template-columns:48px minmax(0,1fr) auto !important; gap:14px !important; align-items:center !important; min-height:112px !important; padding:18px !important; border:1px solid var(--line) !important; border-radius:16px !important; background:#081421 !important; }
.rpw-related-icon { display:grid !important; place-items:center !important; width:48px !important; height:48px !important; border-radius:13px !important; background:#0b2036 !important; color:var(--blue-light) !important; }
.rpw-related-icon svg { width:25px !important; height:25px !important; }
.rpw-related-grid strong { display:block !important; color:var(--text) !important; font-size:18px !important; font-weight:800 !important; }
.rpw-related-grid small { display:block !important; margin-top:3px !important; color:var(--muted) !important; font-size:16px !important; line-height:1.45 !important; }
.rpw-related-grid b { color:var(--blue-light) !important; font-size:24px !important; }
.rpw-privacy-cta { display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; gap:30px !important; align-items:center !important; margin:68px 0 0 !important; padding:clamp(30px,4vw,48px) !important; border:1px solid #315175 !important; border-radius:var(--radius-xl) !important; background:radial-gradient(circle at 100% 0%,rgba(63,118,222,.16),transparent 40%),linear-gradient(145deg,#0b1e34,#07131f) !important; }
.rpw-privacy-cta h2 { margin-top:9px !important; max-width:880px !important; }
.rpw-privacy-cta p { margin:14px 0 22px !important; max-width:840px !important; }
.rpw-cta-mark { width:96px !important; height:96px !important; flex-basis:96px !important; }
.rpw-cta-mark i { inset:31px !important; }
.rpw-alert { margin:12px 0 !important; padding:14px !important; border:1px solid var(--line) !important; border-radius:12px !important; background:#0a1725 !important; color:var(--text-soft) !important; font-size:16px !important; }
.rpw-alert-error { border-color:#713946 !important; background:#251016 !important; color:#ffc3ca !important; }

@media (max-width:1120px) {
  .rpw-hub-hero,.rpw-tool-hero,.rpw-strength-layout { grid-template-columns:1fr !important; }
  .rpw-hub-copy { min-height:0 !important; }
  .rpw-tool-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .rpw-proof-grid { grid-template-columns:1fr !important; }
  .rpw-proof-grid article { min-height:0 !important; }
  .rpw-editorial { grid-template-columns:1fr !important; }
}
@media (max-width:820px) {
  .rpw-section-heading { display:grid !important; align-items:start !important; }
  .rpw-section-heading > p { text-align:left !important; }
  .rpw-how-grid,.rpw-related-grid,.rpw-info { grid-template-columns:1fr !important; }
  .rpw-grid-3 { grid-template-columns:1fr !important; }
  .rpw-metrics { grid-template-columns:1fr !important; }
  .rpw-privacy-cta { grid-template-columns:1fr !important; }
  .rpw-cta-mark { display:none !important; }
}
@media (max-width:700px) {
  .rpw-hub-inner,.rpw-page-inner { max-width:none !important; padding:14px 14px 54px !important; }
  .rpw-brandbar { align-items:flex-start !important; }
  .rpw-brand-links { display:none !important; }
  .rpw-hub-hero { gap:14px !important; }
  .rpw-hub-copy { padding:28px 22px !important; }
  .rpw-hub-app-wrap { padding:12px !important; }
  .rpw-tool-grid { grid-template-columns:1fr !important; }
  .rpw-tool-card { min-height:230px !important; }
  .rpw-tool-hero > div,.rpw-hero-privacy { padding:24px 20px !important; }
  .rpw-app { padding:18px 14px !important; border-radius:18px !important; }
  .rpw-app-head { align-items:flex-start !important; flex-direction:column !important; }
  .rpw-grid-2,.rpw-check-grid,.rpw-receipt-grid { grid-template-columns:1fr !important; }
  .rpw-output-actions { display:grid !important; grid-template-columns:1fr !important; }
  .rpw-button { width:100% !important; }
  .rpw-secret { font-size:20px !important; }
  .rpw-strength-input,.rpw-strength-report { padding:17px !important; }
  .rpw-strength-score { grid-template-columns:78px minmax(0,1fr) !important; }
  .rpw-score-ring { width:78px !important; height:78px !important; }
  .rpw-hibp-head { display:grid !important; }
}
@media (max-width:430px) {
  html body .rpw h1 { font-size:2.35rem !important; }
  html body .rpw h2 { font-size:1.7rem !important; }
  .rpw-tool-hero,.rpw-hub-hero { margin-top:10px !important; }
  .rpw-proof-grid,.rpw-directory,.rpw-how,.rpw-info,.rpw-faq,.rpw-related,.rpw-editorial { margin-top:48px !important; }
}
@media (prefers-reduced-motion:reduce) {
  .rpw *, .rpw *::before, .rpw *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; }
}
