@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

/* Shared type and surfaces, based on the requested reference's visual rhythm. */
:root {
  --ui-font: "Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ui-bg:#f4f6f8; --ui-surface:#fff; --ui-soft:#edf0f4; --ui-field:#fff;
  --ui-border:#d7dce4; --ui-ink:#161f2c; --ui-muted:#525e6e;
  --ui-accent:#0b57d0; --ui-link:#0b57d0; --ui-hover:#0842a0;
  color-scheme:light;
}
@media(prefers-color-scheme:dark) {
  :root { --ui-bg:#0e131b; --ui-surface:#161d26; --ui-soft:#1d2632; --ui-field:#121923;
    --ui-border:#303a47; --ui-ink:#e3e8ef; --ui-muted:#b0b8c4; --ui-link:#8ab4f8; color-scheme:dark; }
}
:is(html[data-theme=dark],body[data-theme=dark],body.dark,body.rs-workspace-dark) {
  --ui-bg:#0e131b; --ui-surface:#161d26; --ui-soft:#1d2632; --ui-field:#121923;
  --ui-border:#303a47; --ui-ink:#e3e8ef; --ui-muted:#b0b8c4; --ui-link:#8ab4f8; color-scheme:dark;
}
:is(html[data-theme=light],body[data-theme=light]) {
  --ui-bg:#f4f6f8; --ui-surface:#fff; --ui-soft:#edf0f4; --ui-field:#fff;
  --ui-border:#d7dce4; --ui-ink:#161f2c; --ui-muted:#525e6e; --ui-link:#0b57d0; color-scheme:light;
}
body,body.rp-tool-page {
  --ink:var(--ui-ink); --muted:var(--ui-muted); --blue:var(--ui-link); --green:var(--ui-link);
  --line:var(--ui-border); --paper:var(--ui-bg); --rp-ink:var(--ui-ink); --rp-muted:var(--ui-muted);
  --rp-line:var(--ui-border); --rp-soft:var(--ui-soft); --rp-paper:var(--ui-bg);
  --bg:var(--ui-bg); --card:var(--ui-surface); --surface:var(--ui-surface); --border:var(--ui-border);
  --text:var(--ui-ink); --accent:var(--ui-accent); --primary:var(--ui-accent);
  background:var(--ui-bg)!important; color:var(--ui-ink); font:400 16px/1.6 var(--ui-font);
}
body.rp-tool-page {
  --rp-ink:var(--ui-ink)!important; --rp-muted:var(--ui-muted)!important;
  --rp-line:var(--ui-border)!important; --rp-soft:var(--ui-soft)!important; --rp-paper:var(--ui-bg)!important;
  --rs-ui-accent:var(--ui-link)!important; --rs-ui-line:var(--ui-border)!important;
  --rs-ui-muted:var(--ui-muted)!important; --rs-ui-surface:var(--ui-surface)!important;
  --rs-ui-field:var(--ui-field)!important; --rs-ui-ink:var(--ui-ink)!important; --rs-ui-soft:var(--ui-soft)!important;
}
body :is(h1,h2,h3,h4,button,input,select,textarea,label,summary),
.rp-tool-page :is(.rp-tool-context,.rp-kicker,.rp-related-grid a,.rp-tool-photo figcaption),
.rp-tool-page>.rp-tool-header>nav>a {
  font-family:var(--ui-font)!important;
}
body :is(h1,h2,h3) {color:var(--ui-ink);font-weight:800;line-height:1.2;letter-spacing:-.025em}
body h1 {font-size:clamp(30px,4.8vw,52px);letter-spacing:-.05em}
body h2 {font-size:26px} body h3 {font-size:18px}
.wrap {width:min(1380px,calc(100% - 80px))}
.topbar {display:none}
.nav {padding:20px 0; border-bottom:1px solid var(--ui-border);gap:22px}
.brand,.nav .brand,.rp-tool-page>header .brand {font-size:17px;letter-spacing:-.6px;color:var(--ui-ink)!important;gap:10px}
.brand-mark,.rp-tool-header .rp-brand-mark {background:var(--ui-accent)!important;border-radius:8px;box-shadow:none}
.nav-links,.nav-actions {font-size:13px;gap:20px}
.nav-links a,.nav-links .primary-tool,.nav .tools-toggle,.nav-actions .lang {color:var(--ui-muted)}
.nav-links a:hover,.nav-links a.active,.nav .tools-toggle[aria-expanded=true] {color:var(--ui-link)}
.button,.button.blue,.cta .button {background:var(--ui-accent);color:white;border-color:transparent;border-radius:8px;font-size:14px;padding:12px 22px;box-shadow:none}
.button:hover,.button.blue:hover {background:var(--ui-hover);transform:none}
.button.secondary,.filter,.search,.tool-select,.field input {background:var(--ui-surface);border-color:var(--ui-border);color:var(--ui-ink);border-radius:8px}
.button.secondary:hover,.filter:hover {background:var(--ui-soft);color:var(--ui-link)}
.button.small {font-size:13px;padding:9px 17px}
.filter {font-size:13px;padding:8px 14px}.filter.active {background:var(--ui-accent);border-color:var(--ui-accent);color:white}
.eyebrow,.rp-tool-page main>.hero .eyebrow,.rp-kicker {color:var(--ui-link);font-size:11px;font-weight:800;letter-spacing:.14em}
.eyebrow:before {display:none}
.home-hero {display:block;text-align:center;padding:60px 0 30px}
.hero-copy {max-width:900px;margin:auto}
.hero-copy h1 {font-size:clamp(32px,4.8vw,54px);font-weight:800;line-height:1.13;letter-spacing:-.055em;margin:20px 0}
.hero-copy h1 em {font-weight:800;color:var(--ui-link)}
.hero-copy .lead {font-size:16px;line-height:1.8;max-width:700px;margin:auto;color:var(--ui-muted)}
.hero-copy .hero-actions {justify-content:center;gap:14px;margin:28px 0 18px}
.hero-copy .hero-actions .button {font-size:16px;padding:13px 28px}
.hero-footnote {justify-content:center;font-size:12px;color:var(--ui-muted)}
.text-link {color:var(--ui-link);font-size:13px}
.home-workflow {list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:22px 0 34px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface)}
.home-workflow li {display:flex;align-items:center;gap:14px;padding:22px 24px}
.home-workflow li+li {border-left:1px solid var(--ui-border)}
.home-workflow li>span {display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--ui-soft);color:var(--ui-link);font:600 12px ui-monospace,Consolas,monospace}
.home-workflow strong {display:block;font-size:13px}.home-workflow small {font-size:12px;color:var(--ui-muted)}
.task-finder {border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);padding:28px;gap:32px}
.task-finder h2 {font-size:23px;letter-spacing:-.03em}.task-finder p {font-size:14px}
.task-finder .assistant-input,.task-finder .assistant-results {background:var(--ui-field);color:var(--ui-ink);border-color:var(--ui-border);border-radius:8px}
.task-finder .assistant-input {font-size:15px}.task-finder .filter {font-size:12px;border-color:var(--ui-border);color:var(--ui-muted)}
.section {padding:40px 0}.section-heading h2,.workspace-explainer h2,.home-faq h2 {font-size:28px;line-height:1.25;letter-spacing:-.035em}
.section-heading p,.workflow-card p,.workspace-explainer p {font-size:14px;color:var(--ui-muted);line-height:1.75}
.workflow-card,.workflow-card.business,.workflow-card.numbers,.tool-card,.tool-card.featured,
.workspace-explainer,.account-card,.prose,.price-card,.price-card.highlight,.stat,.calc-card,.split,.cta {
  background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;box-shadow:none;color:var(--ui-ink);
}
.workflow-card {padding:26px}.workflow-card:hover,.tool-card:hover {border-color:var(--ui-link);transform:none;box-shadow:none}
.workflow-number,.business .workflow-number,.numbers .workflow-number {color:var(--ui-muted);font-size:10px}
.workflow-card h3 {font:800 20px/1.3 var(--ui-font);letter-spacing:-.025em}
.workflow-icon svg,.business .workflow-icon svg,.numbers .workflow-icon svg {color:var(--ui-link);width:30px;height:30px}
.workflow-icon {margin:22px 0 18px}.workflow-link {font-size:12px;color:var(--ui-link)}
.icon-box,.tool-card:nth-child(3n+2) .icon-box,.tool-card:nth-child(3n) .icon-box {background:var(--ui-soft);color:var(--ui-link);border-radius:8px}
.home-directory .assistant-group {border-top:1px solid var(--ui-border)}
.home-directory .assistant-group h3 {font-size:14px}.home-directory .assistant-group a {font-size:13px;color:var(--ui-muted)}
.home-steps li>span {background:var(--ui-soft);border-color:var(--ui-border);color:var(--ui-link)}
.tools-menu,.menu-footer,.assistant-results,.assistant-group,.backup-card,.chat-shell,.chat-toolbar {
  background:var(--ui-surface);border-color:var(--ui-border);color:var(--ui-ink);
}
.tools-menu {box-shadow:0 18px 40px #0003}.menu-intro {border-color:var(--ui-border)}
.menu-intro h2 {font-size:24px}.menu-columns h3 {font-size:11px;color:var(--ui-muted)}
.menu-columns a:hover {background:var(--ui-soft)}.menu-footer {background:var(--ui-soft)}
.menu-columns a,.menu-all,.menu-footer a {color:var(--ui-link)}
.tag,.notice,.calc-headline {background:var(--ui-soft);border-color:var(--ui-border);color:var(--ui-muted)}
.page-title h1,.account-story h1 {font-size:clamp(30px,4.5vw,46px);font-weight:800;letter-spacing:-.045em}
.page-title p,.prose p,.prose li {font-size:15px;color:var(--ui-muted)}
.price {font:800 38px/1.4 var(--ui-font)}.price small {font-family:var(--ui-font)}
.tool-card h3 {font-size:18px}.tool-card p {font-size:14px;line-height:1.75}
.field input,.search,.calc-grid :is(input,select),.chat-form textarea {background:var(--ui-field);color:var(--ui-ink);border-color:var(--ui-border)}
.home-faq details {border-color:var(--ui-border)}.home-faq summary {font-size:15px;font-weight:600}.home-faq details p {font-size:14px}
.footer {background:var(--ui-surface);border-color:var(--ui-border);font-size:12px}.footer .brand {color:var(--ui-ink)}

/* Tool controls share the same design without changing editor or export geometry. */
.rp-tool-page>header.rp-tool-header {max-width:1120px;background:transparent;border-color:var(--ui-border)}
.rp-tool-page .pilot-toolbar {background:var(--ui-surface);color:var(--ui-ink);border-color:var(--ui-border);font-family:var(--ui-font);box-shadow:none}
.rp-tool-page .pilot-toolbar :is(a,button,[role=status]) {color:var(--ui-ink)}
.rp-tool-page .pilot-toolbar button {background:var(--ui-soft)!important;color:var(--ui-ink)!important;border-color:var(--ui-border)!important}
.rp-tool-page main {max-width:1120px}
.rp-tool-page>.rp-tool-header>nav>a {font-size:13px;color:var(--ui-muted)}
.rp-tool-page .rp-tool-context {font-size:12px}.rp-tool-context a,.rp-kicker {color:var(--ui-link)}
.rp-tool-context>span {background:var(--ui-surface);color:var(--ui-muted);border-color:var(--ui-border);border-radius:6px;font-size:11px}
.rp-tool-page main>.hero h1,.rp-tool-page .rp-tool-hero h1 {font:800 clamp(30px,4.4vw,46px)/1.13 var(--ui-font);letter-spacing:-.05em;color:var(--ui-ink)}
.rp-tool-page main>.hero h1 em {color:var(--ui-link)}
.rp-tool-page main>.hero p,.rp-tool-page .rp-tool-hero>p {font-size:16px;line-height:1.8;color:var(--ui-muted)}
.rp-tool-page main>.hero :is(.badge,.privacy,.price),.rp-tool-page .pills span,.rp-tool-page .badges span {background:var(--ui-soft);color:var(--ui-muted);border-color:var(--ui-border)}
.rp-tool-page .rp-tool-photo {border-color:var(--ui-border);border-radius:12px}
.rp-tool-steps {background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;padding:16px 8px}
.rp-tool-steps a,.rp-tool-steps a:first-child {padding:5px 16px;color:var(--ui-muted);font-size:12px}
.rp-tool-steps a>span {background:var(--ui-soft);border:0;color:var(--ui-link);font:600 12px ui-monospace,Consolas,monospace}
.rp-tool-page main :is(.panel,.card,.calc-card,.tool-panel,.control-panel,.result-panel,.rs-dev-guide,.guide,.rp-related) {
  background:var(--ui-surface)!important;color:var(--ui-ink);border-color:var(--ui-border)!important;box-shadow:none;border-radius:12px!important;
}
.rp-tool-page main :is(.panel,.card,.calc-card) h2 {font-size:18px;font-weight:800;letter-spacing:-.025em;color:var(--ui-ink)}
.rp-tool-page main :is(label,summary) {color:var(--ui-ink)}
.rp-tool-page main :is(.hint,.small,.note,.scope,.field-hint,.money-note,.result-note,.rs-dev-guide p,.rs-dev-guide li,.stat small,.stats small) {color:var(--ui-muted)}
.rp-tool-page main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea) {
  background:var(--ui-field)!important;color:var(--ui-ink)!important;border-color:var(--ui-border)!important;border-radius:8px;font-family:var(--ui-font)!important;
}
.rp-tool-page :is(button,.file-button,.button) {font-family:var(--ui-font)!important;background:var(--ui-soft);color:var(--ui-ink);border-color:var(--ui-border);border-radius:8px}
.rp-tool-page main :is(button.primary,a.primary,.primary.link,.button.primary),.rp-tool-page .primary:not(:disabled) {background:var(--ui-accent)!important;color:#fff!important;border-color:var(--ui-accent)!important}
.rp-tool-page :is(.tabs button.active,.tabs button[aria-selected=true]) {background:var(--ui-accent);color:#fff}
.rp-tool-page main :is(th,.toolbar,.section-head,.preview-head,.panel-heading,.period-selector,.metrics>div,.stats>div,.money-stats>div) {background:var(--ui-soft);color:var(--ui-ink);border-color:var(--ui-border)}
.rp-tool-page main :is(td,th,table,.items-scroll,.table-wrap) {border-color:var(--ui-border)}
.rp-tool-page main .headline {background:var(--ui-accent);color:#fff}
.rp-tool-page main .step {color:var(--ui-link)}
.rp-tool-page main a:not(.primary):not(.button):not(.room-card):not(.style-card) {color:var(--ui-link)}
.rp-tool-page main :is(.hero-demo,.feature-card,.photo-guide,.local-preview-library,.decision,.decision-card,.sharing-guide,.review-guide,.review-grid>article,.photo-card,.source,.calc-note,.group,.readiness,.viewer,#preview-empty,.rs-upload-zone,.au-dropzone-content) {
  background:var(--ui-surface)!important;color:var(--ui-muted);border-color:var(--ui-border)!important;
}
.rp-tool-page main :is(.hero-demo,.feature-card,.photo-guide,.decision,.decision-card,.sharing-guide,.review-guide,.readiness) :is(p,small,li,dt,dd) {color:var(--ui-muted)}
.rp-tool-page main :is(.hint,.fine,.feature-caption,.showcase-caption,.recent-note,.proportion-note,.readiness li,.inspect-help) {color:var(--ui-muted)}
.rp-tool-page main #status:not(.error) {background:var(--ui-soft);color:var(--ui-muted);border-color:var(--ui-border)}
.rp-tool-page main :is(.scope,.money-note,.result-note) {background:var(--ui-soft);border-color:var(--ui-border)}
.rp-tool-page :is(#calc-status,.money-status,.field-hint) {color:var(--ui-muted)}
.rp-tool-page main :is(.stat>span,.money-stats small,.metrics small,.check small,.chart-legend,.chart-legend span,.table-wrap caption) {color:var(--ui-muted)}
.rp-tool-page main :is(caption,.table-wrap caption) {background:var(--ui-soft);color:var(--ui-ink)}
.rp-tool-page :is(#breakdown-chart>span:first-child,#chart-legend>span:first-child i) {background-color:#0b57d0!important}
.rp-tool-page :is(#breakdown-chart>span:nth-child(2),#chart-legend>span:nth-child(2) i) {background-color:#789aca!important}
.rp-tool-page main .rp-related h2 {font:800 24px/1.25 var(--ui-font);color:var(--ui-ink);letter-spacing:-.03em}
.rp-tool-page .rp-related-grid a {background:var(--ui-soft)!important;color:var(--ui-ink)!important;border-color:var(--ui-border)!important;font-size:13px}
.rp-tool-page .rs-dev-guide :is(h2,h3) {color:var(--ui-ink)}
:is(a,button,input,select,textarea,summary):focus-visible {outline:2px solid var(--ui-link)!important;outline-offset:3px}

@media(max-width:1000px) {.nav {flex-wrap:wrap}.nav-links {gap:22px}.home-hero {padding-top:48px}.nav-actions {gap:14px}}
@media(max-width:700px) {
  .wrap {width:calc(100% - 36px)}.nav {padding:17px 0;gap:14px}.nav .brand {font-size:17px}.nav .nav-actions {font-size:12px;gap:10px}
  .nav-actions .button.small {font-size:11px;padding:9px 12px}.nav-links {font-size:12px;gap:15px;justify-content:flex-start}
  .home-hero {padding:36px 0 22px}.hero-copy .eyebrow {font-size:10px}.hero-copy h1 {font-size:clamp(32px,8.5vw,46px);letter-spacing:-.05em}
  .hero-copy .lead {font-size:15px}.hero-copy .hero-actions .button {font-size:14px;padding:12px 18px}
  .hero-footnote {display:flex;font-size:11px;gap:7px}.hero-footnote span {padding:0}
  .home-workflow {grid-template-columns:1fr;margin:16px 0 28px}.home-workflow li {padding:16px 20px}.home-workflow li+li {border-left:0;border-top:1px solid var(--ui-border)}
  .task-finder {padding:22px;gap:20px}.task-finder h2 {font-size:23px}.section-heading h2,.workspace-explainer h2,.home-faq h2 {font-size:26px}
  .workflow-card h3 {font-size:20px}.workflow-card p {font-size:14px}.home-directory .assistant-group a {font-size:13px}
  .rp-tool-page main>.hero h1,.rp-tool-page .rp-tool-hero h1 {font-size:clamp(30px,8vw,38px)}
  .rp-tool-page main>.hero p,.rp-tool-page .rp-tool-hero>p {font-size:15px}.rp-tool-page main :is(input,select,textarea) {font-size:16px}
  .rp-tool-steps {padding:10px 0}.rp-tool-steps a,.rp-tool-steps a:first-child {padding:6px 16px}
}
@media print {
  :root,body,body.rp-tool-page {--ui-bg:#fff;--ui-surface:#fff;--ui-soft:#f4f4f4;--ui-ink:#161f2c;--ui-muted:#525e6e;--ui-border:#d7dce4;--ui-field:#fff;color-scheme:light;background:#fff!important;color:#161f2c!important}
  .rp-tool-page main :is(.panel,.card) {background:#fff!important;color:#161f2c!important}
}
.pilot-auth-dialog {width:min(480px,calc(100% - 36px));padding:28px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);color:var(--ui-ink);font-family:var(--ui-font)}
.pilot-auth-dialog::backdrop {background:#061215b8;backdrop-filter:blur(4px)}
.pilot-auth-dialog h2 {font:800 24px/1.25 var(--ui-font);margin:0 0 14px;color:var(--ui-ink)}
.pilot-auth-dialog p {color:var(--ui-muted);font-size:14px;line-height:1.7}
.pilot-auth-dialog .actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.pilot-auth-dialog button {padding:10px 16px;background:var(--ui-soft);color:var(--ui-ink);border:1px solid var(--ui-border);border-radius:8px;font:600 13px var(--ui-font);cursor:pointer}
