/* Public website finishing layer. No editor, canvas, payment or upload behavior. */
body.rs-public-refresh {
  --rs-finish-font: "Manrope", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  --rs-finish-ink: #17243d;
  --rs-finish-muted: #576680;
  --rs-finish-line: #dce3ee;
  --rs-finish-surface: #fff;
  --rs-finish-soft: #f3f5fb;
  --rs-finish-accent: #0b57d0;
  font-family: var(--rs-finish-font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
:is([data-theme=dark] body.rs-public-refresh, body.rs-public-refresh[data-theme=dark],body.rs-public-refresh.rs-workspace-dark,body.rs-public-refresh.studio-dark) {
  --rs-finish-ink: #edf1ff;
  --rs-finish-muted: #bcc7dc;
  --rs-finish-line: #35425b;
  --rs-finish-surface: #182238;
  --rs-finish-soft: #202c43;
  --rs-finish-accent: #b6d3ff;
}
/* A resilient local fallback keeps headings readable when web fonts are blocked. */
.rs-public-refresh :is(h1,h2,h3,h4,button,input,select,textarea) {font-family: var(--rs-finish-font)}
.rs-public-refresh :is(p,li) {text-wrap: pretty}
.rs-public-refresh :is(h1,h2,h3) {text-wrap: balance}
.rs-public-refresh :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 3px solid #76a6ee; outline-offset: 4px;
}
.rs-public-refresh :is(.rs-tool-trail,.rs-breadcrumb) {font-family: var(--rs-finish-font); font-size: 12px}
.rs-public-refresh .rs-tool-trail {margin-bottom: 24px}
.rs-public-refresh .rs-tool-trail a {text-underline-offset: 4px}
.rs-public-refresh .rs-tool-trail a:hover {color: var(--rs-finish-accent)}
/* Tool headers and content share the same content edges at every viewport. */
body.rs-public-refresh.rs-tools-ui > header {
  box-sizing: border-box; display: flex; align-items: center; justify-content: space-between;
  width: 100%; max-width: none; min-height: 80px; margin: 0;
  padding: 16px max(24px, calc((100% - 1280px) / 2)); gap: 16px;
  background: var(--rs-finish-surface); border-bottom: 1px solid var(--rs-finish-line);
}
body.rs-public-refresh.rs-tools-ui > main,
body.rs-public-refresh.rs-tools-ui > footer {
  box-sizing: border-box; width: 100%; max-width: 1376px; margin-inline: auto;
  padding-inline: 48px;
}
.rs-public-refresh > header .brand {font-family: var(--rs-finish-font); letter-spacing: -.8px}
.rs-public-refresh > .rs-simple-header {
  box-sizing: border-box; display: flex; justify-content: space-between; align-items: center;
  max-width: none; width: 100%; margin: 0; min-height: 80px;
  padding: 16px max(24px, calc((100% - 1280px) / 2)); gap: 16px;
  background: var(--rs-finish-surface); border-bottom: 1px solid var(--rs-finish-line);
}
.rs-public-refresh > .rs-simple-header > a:first-child {color: var(--rs-finish-ink); text-decoration: none; font-weight: 800}
.rs-public-refresh > .rs-simple-header .rs-public-nav {justify-content: flex-end}
.rs-public-refresh > header .rs-brand-copy small {font-size: 10px; letter-spacing: .15px}
.rs-public-refresh .rs-public-nav {display: flex; align-items: center; gap: 8px; flex-wrap: wrap}
.rs-public-refresh .rs-public-nav a {
  display: inline-flex; align-items: center; min-height: 42px; padding: 8px 13px;
  border-radius: 9px; color: var(--rs-finish-muted); font: 650 13px/1.4 var(--rs-finish-font);
  text-decoration: none; white-space: nowrap;
}
.rs-public-refresh .rs-public-nav a:hover {background: var(--rs-finish-soft); color: var(--rs-finish-ink)}
.rs-public-refresh .rs-public-nav a[aria-current=page] {background: var(--rs-finish-soft); color: var(--rs-finish-accent)}
.rs-public-refresh > footer {font-family: var(--rs-finish-font); line-height: 1.8}
.rs-public-refresh .rs-tool-purpose {margin-bottom: 24px; padding-bottom: 20px}
.rs-public-refresh .rs-tool-purpose p {max-width: 75ch; color: var(--rs-finish-muted)}
.rs-public-refresh .rs-processing-note {border-radius: 12px; font-family: var(--rs-finish-font)}
.rs-public-refresh :is(.rs-product-recommendation,.related) {font-family: var(--rs-finish-font)}
.rs-public-refresh .rs-product-recommendation {padding: 28px; border-radius: 20px}
/* Avoid bright control islands inside a dark workspace. Keep canvas pixels alone. */
:is([data-theme=dark] .rs-public-refresh,.rs-public-refresh[data-theme=dark],.rs-public-refresh.rs-workspace-dark) main :is(.workspace,.settings,.toolbar,.controls,.dev-controls,.dev-footer,.dev-studio) {
  background-color: var(--rs-finish-surface); color: var(--rs-finish-ink); border-color: var(--rs-finish-line);
}
:is([data-theme=dark] .rs-public-refresh,.rs-public-refresh[data-theme=dark],.rs-public-refresh.rs-workspace-dark) main :is(.workspace,.settings,.toolbar,.controls) label {color: var(--rs-finish-ink)}
/* Keep a single, relevant showcase ahead of the actual tool. */
.rs-public-refresh .pdf-showcase-hero > .rs-photo-hero {display: none}
.rs-public-refresh .pdf-showcase-hero {gap: 32px; padding: 28px; margin-bottom: 24px}
.rs-public-refresh .pdf-showcase-hero .pdf-demo-art {height: 120px}
.rs-public-refresh .dev-showcase .rs-result-card pre {max-height: 145px; overflow: auto; min-height: 80px}
/* Marketing: readable navigation, more considered spacing and quieter surfaces. */
.rs-public-refresh.rs-site .rs-header__inner {min-height: 84px; gap: 24px}
.rs-public-refresh.rs-site .rs-nav {gap: 22px}
.rs-public-refresh.rs-site .rs-nav a {font-size: 13px; padding-block: 12px}
.rs-public-refresh.rs-site .rs-header__link {font-size: 12px}
.rs-public-refresh.rs-site .rs-brand__tagline {font-size: 10px; letter-spacing: .2px}
.rs-public-refresh.rs-site .rs-btn {border-radius: 11px; min-height: 46px; font-size: 14px}
.rs-public-refresh.rs-site .rs-btn--primary {box-shadow: 0 4px 12px #0b57d01a}
.rs-public-refresh.rs-site .rs-home-hero {padding-block: 46px 54px; gap: 54px}
.rs-public-refresh.rs-site .rs-home-copy h1 {font-size: clamp(38px,4.1vw,60px); line-height: 1.1; letter-spacing: -2.4px}
.rs-public-refresh.rs-site .rs-home-copy > p {font-size: 17px; line-height: 1.8; max-width: 53ch}
.rs-public-refresh.rs-site .rs-home-meta {font-size: 12px; gap: 12px 20px}
.rs-public-refresh.rs-site .rs-home-trust p {font-size: 11px; letter-spacing: 1px}
.rs-public-refresh.rs-site .rs-home-trust div > strong {font-size: 28px; font-weight: 750}
.rs-public-refresh.rs-site .rs-home-trust div > span {font-size: 13px}
.rs-public-refresh.rs-site .rs-home-trust a {font-size: 13px}
.rs-public-refresh.rs-site :is(.rs-family-card,.rs-card--link) {border-radius: 18px; box-shadow: 0 4px 20px #17243d03}
.rs-public-refresh.rs-site .rs-family-card {padding: 24px}
.rs-public-refresh.rs-site .rs-family-card h3 {font-size: 21px; line-height: 1.4}
.rs-public-refresh.rs-site .rs-family-card p {font-size: 15px; line-height: 1.8}
.rs-public-refresh.rs-site .rs-family-bottom {font-size: 14px; padding-bottom: 14px}
.rs-public-refresh.rs-site .rs-page-header {padding-block: 36px 44px}
.rs-public-refresh.rs-site .rs-page-header .rs-subtitle {font-size: 17px; line-height: 1.8}
.rs-public-refresh.rs-site .rs-home-section-head > p {font-size: 15px}
.rs-public-refresh.rs-site .rs-footer {border-top: 1px solid var(--rs-border)}
.rs-public-refresh.rs-site .rs-footer-main {gap: 32px}
.rs-public-refresh.rs-site .rs-footer-main nav a {font-size: 14px; padding-block: 5px}
/* Tools directory: purposeful first screen and consistent cards. */
.rs-public-refresh.rs-directory {background: #f7f8fc; color: var(--rs-finish-ink)}
[data-theme=dark] .rs-public-refresh.rs-directory {background: #10182a}
.rs-directory .directory-hero {margin: 12px 0 28px; gap: 40px}
.rs-directory .directory-icon {display: none}
.rs-directory .directory-intro {gap: 0}
.rs-directory .directory-kicker {font-size: 11px; font-weight: 800; letter-spacing: 1.8px; color: var(--rs-finish-accent); margin: 0 0 10px}
.rs-directory.rs-tools-ui .directory-hero h1 {font-size: clamp(34px,3.9vw,54px); letter-spacing: -1.8px; line-height: 1.12; margin: 0 0 16px}
.rs-directory .directory-intro p:not(.directory-kicker) {font-size: 17px; max-width: 58ch; color: var(--rs-finish-muted); line-height: 1.7}
.rs-directory .directory-benefits {gap: 10px 20px; font-size: 12px; margin-top: 16px}
.rs-directory .directory-tip {background: var(--rs-finish-surface); border: 1px solid var(--rs-finish-line); padding: 22px; max-width: 300px}
.rs-directory .directory-tip strong {font-size: 15px; color: var(--rs-finish-ink)}
.rs-directory .directory-tip p {color: var(--rs-finish-muted); font-size: 13px}
.rs-directory .directory-search {background: var(--rs-finish-surface); border-radius: 18px; padding: 24px; box-shadow: 0 8px 30px #17243d04}
.rs-directory .directory-search-title h2 {font-size: 18px}
.rs-directory .finder input {min-height: 52px; border-radius: 11px; background: var(--rs-finish-soft)}
.rs-directory .jump {gap: 8px; margin-top: 18px}
.rs-directory .jump a {font-size: 12px; padding: 8px 12px; line-height: 1.5; background: var(--rs-finish-soft); border-color: var(--rs-finish-line)}
.rs-directory .directory-featured {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 0 0 36px}
.rs-directory .directory-feature {
  display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 18px; align-items: center;
  padding: 20px; color: var(--rs-finish-ink); text-decoration: none; border: 1px solid var(--rs-finish-line);
  background: var(--rs-finish-surface); border-radius: 16px; transition: border-color .16s,box-shadow .16s;
}
.rs-directory .directory-feature:hover {border-color: #9cbbe9; box-shadow: 0 8px 22px #0b57d010}
.rs-directory .directory-feature h2 {font-size: 17px; line-height: 1.35; margin: 0 0 6px; text-wrap: initial}
.rs-directory .directory-feature p {font-size: 12px; line-height: 1.6; color: var(--rs-finish-muted); margin: 0}
.rs-directory .directory-feature small {display: block; color: var(--rs-finish-accent); font-size: 12px; font-weight: 750; margin-top: 9px}
.rs-directory .directory-demo {position: relative; height: 100px; overflow: hidden; border-radius: 12px; background: #edf4ff; display: grid; place-items: center}
.rs-directory .directory-demo img {width: 100%; height: 100%; object-fit: cover}
.rs-directory .directory-demo code {white-space: pre; font: 11px/1.7 ui-monospace,Consolas,monospace; color: #4072be}
.rs-directory .demo-paper {display: block; width: 45px; height: 60px; padding: 14px 7px; border-radius: 5px; background: white; color: #0b57d0; font: 800 11px/1.5 var(--rs-finish-font); box-shadow: 8px -5px 0 #cfe1fb,-8px 6px 0 #dde7f5}
.rs-directory .category {padding-bottom: 34px; scroll-margin-top: 24px}
.rs-directory .section-heading {margin-bottom: 18px; align-items: baseline}
.rs-directory .section-heading h2,.rs-directory .category > h2 {font-size: 24px; letter-spacing: -.6px}
.rs-directory .section-heading p {font-size: 13px; line-height: 1.6; max-width: 55ch}
.rs-directory .grid {gap: 18px; grid-template-columns: repeat(3,minmax(0,1fr))}
.rs-directory .card {padding: 22px; border: 1px solid var(--rs-finish-line); border-radius: 16px; box-shadow: none; color: var(--rs-finish-ink); background: var(--rs-finish-surface)}
.rs-directory .card h3 {font-size: 18px; line-height: 1.4; margin: 14px 0 10px}
.rs-directory .card p {font-size: 14px; line-height: 1.75; color: var(--rs-finish-muted); margin-bottom: 20px}
.rs-directory .card .open {font-size: 13px; color: var(--rs-finish-accent); border-color: var(--rs-finish-line); padding-top: 16px}
.rs-directory .card .tool-thumb {height: 132px; border-radius: 10px}
.rs-directory .card .badge {font-size: 11px; padding: 3px 8px; line-height: 1.5}
.rs-directory .card:hover {transform: none; border-color: #9cbbe9; box-shadow: 0 6px 20px #0b57d008}
.rs-directory #empty {padding: 28px; border: 1px dashed var(--rs-finish-line); border-radius: 14px; text-align: center}
.rs-directory .note {padding: 24px; background: var(--rs-finish-soft); border: 1px solid var(--rs-finish-line); color: var(--rs-finish-muted)}
.rs-directory .note h2 {color: var(--rs-finish-ink)}
.rs-directory .directory-featured[hidden] {display: none}
@media (max-width:1100px) {
  .rs-public-refresh.rs-site .rs-header__inner {gap: 18px}
  .rs-public-refresh.rs-site .rs-nav {gap: 14px}
  .rs-directory .directory-feature {grid-template-columns: 72px minmax(0,1fr); padding: 16px; gap: 12px}
  .rs-directory .directory-demo {height: 84px}
}
@media (max-width:900px) {
  .rs-directory .grid {grid-template-columns: repeat(2,minmax(0,1fr))}
  .rs-directory .directory-featured {grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px}
  .rs-directory .directory-feature {display: block}
  .rs-directory .directory-demo {height: 82px; margin-bottom: 14px}
}
@media (max-width:760px) {
  .rs-public-refresh .pdf-showcase-hero {padding: 20px; gap: 22px}
  .rs-public-refresh > .rs-simple-header {padding: 14px 20px; min-height: 76px; flex-wrap: wrap; gap: 8px 16px}
  body.rs-public-refresh.rs-tools-ui > header {padding: 14px 20px; min-height: 76px; flex-wrap: wrap; gap: 8px 16px}
  body.rs-public-refresh.rs-tools-ui > main,body.rs-public-refresh.rs-tools-ui > footer {padding-inline: 20px}
  .rs-public-refresh .rs-public-nav {gap: 3px}
  .rs-public-refresh .rs-public-nav a {padding: 8px 10px; min-height: 40px; font-size: 12px}
  .rs-public-refresh.rs-site .rs-home-hero {padding-block: 28px 36px; gap: 28px}
  .rs-public-refresh.rs-site .rs-home-copy h1 {font-size: 40px; letter-spacing: -1.7px}
  .rs-public-refresh.rs-site .rs-home-copy > p {font-size: 16px}
  .rs-public-refresh.rs-site .rs-page-header .rs-subtitle {font-size: 16px}
  .rs-public-refresh.rs-site .rs-family-card {padding: 22px}
  .rs-public-refresh .rs-product-recommendation {padding: 22px}
  .rs-directory .directory-hero {margin-top: 6px; margin-bottom: 24px}
  .rs-directory .directory-intro p:not(.directory-kicker) {font-size: 15px}
  .rs-directory .directory-search {padding: 18px; margin-bottom: 20px}
  .rs-directory .directory-featured {gap: 10px; margin-bottom: 28px}
  .rs-directory .directory-feature {padding: 14px 12px; border-radius: 12px}
  .rs-directory .directory-feature h2 {font-size: 14px}
  .rs-directory .directory-feature p {font-size: 12px}
  .rs-directory .directory-demo {height: 70px}
}
@media (max-width:560px) {
  .rs-directory .grid {grid-template-columns: minmax(0,1fr)}
  .rs-directory .directory-featured {grid-template-columns: minmax(0,1fr)}
  .rs-directory .directory-feature {display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 16px; padding: 14px}
  .rs-directory .directory-demo {height: 82px; margin: 0}
  .rs-directory .directory-feature h2 {font-size: 16px}
  .rs-directory .directory-feature small {margin-top: 5px}
  .rs-directory .section-heading h2 {font-size: 22px}
  .rs-directory .card {padding: 20px}
  .rs-directory .directory-benefits {gap: 8px 14px}
  .rs-public-refresh.rs-tools-ui > header .rs-brand-copy small {display: none}
}
@media (prefers-reduced-motion:reduce) {
  .rs-public-refresh :is(.directory-feature,.card,.rs-btn) {transition: none; transform: none}
}
@media print {
  .rs-public-refresh .rs-public-nav,.rs-directory .directory-featured {display: none}
}
