/* PDF Tool Chest 5.0
   Appearance only: these rules never recolor document previews or exported files.
   Existing --blue/--yellow names are retained so every tool uses the same palette. */
:root {
  --navy:#173d79; --navy2:#102a54;
  --blue:#2459d3; --blue-hover:#1948b7; --blue-light:#e7efff;
  --yellow:#ffcf46; --yellow-hover:#f5be29; --yellow-light:#fff8e2;
  --bg:#edf3ff; --surface:#fff; --surface2:#f4f7ff;
  --ink:#192e4d; --muted:#556a88; --line:#d6e1f2;
  --danger:#b4233e; --success:#26705a;
  --hero-ink:#fff; --hero-copy:#e0eafa; --hero-highlight:var(--yellow);
  --on-accent:#fff; --on-yellow:#162d50;
  --page-art:none; --hero-art:none;
  --shade:rgba(20,42,78,.12); --backdrop:rgba(16,35,64,.5);
  color-scheme:light;
}
:root[data-theme="light"] {
  --navy:#14366b; --navy2:#0e2850;
  --blue:#2459d3; --blue-hover:#1948b7; --blue-light:#eef4ff;
  --yellow:#ffcf46; --yellow-hover:#f5be29; --yellow-light:#fff8e2;
  --bg:#f5f7fa; --surface:#fff; --surface2:#f8fafc;
  --ink:#192e4d; --muted:#5f7087; --line:#e2e8f0;
  --danger:#b4233e; --success:#26705a;
}
:root[data-theme="dark"] {
  --navy:#14284b; --navy2:#0d1d38;
  --blue:#92b5ff; --blue-hover:#abc7ff; --blue-light:#21395a;
  --yellow:#ffcf46; --yellow-hover:#ffdc75; --yellow-light:#3b3420;
  --bg:#101b2c; --surface:#18273d; --surface2:#1c2d45;
  --ink:#eff5ff; --muted:#adc0d8; --line:#30435e;
  --danger:#ff9bad; --success:#92d6bb;
  --on-accent:#10233e; --on-yellow:#162d50;
  --shade:rgba(0,0,0,.28); --backdrop:rgba(0,8,24,.66);
  color-scheme:dark;
}
:root[data-theme="fall"] {
  --navy:#512d20; --navy2:#3c251a;
  --blue:#954418; --blue-hover:#773210; --blue-light:#f8e7d2;
  --yellow:#efbb60; --yellow-hover:#e6a946; --yellow-light:#fcf0d7;
  --bg:#fbf3e7; --surface:#fffaf2; --surface2:#f9eddd;
  --ink:#412d24; --muted:#775d4c; --line:#e8d5bd;
  --danger:#a22f31; --success:#526937;
  --hero-ink:#fff8ee; --hero-copy:#f0dac5; --hero-highlight:#f3c576;
  --on-accent:#fffaf2; --on-yellow:#49301d;
  --page-art:url("fall-leaves.svg"); --hero-art:url("fall-canopy.svg");
  --shade:rgba(72,41,22,.13); --backdrop:rgba(49,29,17,.55);
}
:root[data-theme="starry"] {
  --navy:#252525; --navy2:#141414;
  --blue:#e0e0e0; --blue-hover:#f4f4f4; --blue-light:#333;
  --yellow:#cacaca; --yellow-hover:#e4e4e4; --yellow-light:#343434;
  --bg:#141414; --surface:#222; --surface2:#292929;
  --ink:#f4f4f4; --muted:#bdbdbd; --line:#424242;
  --danger:#ddd; --success:#bcbcbc;
  --hero-ink:#fafafa; --hero-copy:#cdcdcd; --hero-highlight:#e5e5e5;
  --on-accent:#181818; --on-yellow:#1c1c1c;
  --page-art:url("stars.svg"); --hero-art:url("stars.svg");
  --shade:rgba(0,0,0,.35); --backdrop:rgba(0,0,0,.68);
  color-scheme:dark;
}
:root[data-theme="pink"] {
  --navy:#642a43; --navy2:#4f2034;
  --blue:#9b365e; --blue-hover:#80284c; --blue-light:#fce3ed;
  --yellow:#f5b9d0; --yellow-hover:#f0a4c2; --yellow-light:#fce9f1;
  --bg:#fff1f6; --surface:#fffbfd; --surface2:#fff3f8;
  --ink:#4c293b; --muted:#82596d; --line:#eed6e1;
  --danger:#ad2849; --success:#506552;
  --hero-ink:#fff8fb; --hero-copy:#f5dce7; --hero-highlight:#f9c5dc;
  --on-accent:#fff; --on-yellow:#58213a;
  --shade:rgba(87,35,57,.12); --backdrop:rgba(65,28,44,.54);
}
:root[data-theme="green"] {
  --navy:#214d3b; --navy2:#183a2c;
  --blue:#256848; --blue-hover:#1c5338; --blue-light:#deeee1;
  --yellow:#d4e8b5; --yellow-hover:#c5dda1; --yellow-light:#eef5e1;
  --bg:#eef6ef; --surface:#fbfdf9; --surface2:#f1f7ed;
  --ink:#263e2e; --muted:#59725e; --line:#d4e3d1;
  --danger:#a03c3c; --success:#286a47;
  --hero-ink:#f8fff8; --hero-copy:#d8eddb; --hero-highlight:#d4e8b5;
  --on-accent:#fff; --on-yellow:#2a442c;
  --shade:rgba(28,68,40,.12); --backdrop:rgba(22,47,32,.55);
}

/* Static decoration: no animation, network services, tracking, or file access. */
html { min-height:100%; }
body { min-height:100vh; position:relative; isolation:isolate; }
body::before {
  content:""; position:fixed; inset:0; z-index:-1;
  background-image:var(--page-art); background-repeat:repeat;
  background-position:center 120px; pointer-events:none;
}
:root[data-theme="starry"] body:not(.home-body)::after {
  content:""; position:fixed; right:17px; bottom:35px; width:42px; height:42px;
  background:url("moon.svg") center/contain no-repeat; z-index:-1; opacity:.7; pointer-events:none;
}

/* Name above the enlarged chest, on every page. */
.site-header { height:118px; padding-top:11px; padding-bottom:11px; }
.brand-link { flex-direction:column; justify-content:center; gap:7px; min-width:160px; }
.brand-name { font-size:19px; letter-spacing:-.5px; line-height:1.15; white-space:nowrap; }
.brand-mark { width:64px; height:64px; border-radius:16px; background:var(--yellow); color:var(--navy2); }
.brand-mark .icon { width:48px; height:48px; stroke-width:1.65; }
.brand-domain { display:none; }
.site-header .top-actions { gap:16px; }
.header-link { font-size:12px; padding:9px 5px; }
.header-link:hover { color:var(--blue); }
.theme-picker { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:12px; }
.theme-picker > span { font-weight:600; }
.theme-picker select {
  min-height:38px; width:135px; max-width:100%; padding:8px 9px;
  border:1px solid var(--line); border-radius:9px;
  background:var(--surface); color:var(--ink); cursor:pointer; font-size:12px;
}
.theme-picker select:hover { border-color:var(--blue); }
select option { color:var(--ink); background:var(--surface); }

/* Homepage: existing columns, spacing, icon tiles and card footprint retained. */
.privacy-hero {
  grid-template-columns:minmax(0,1fr); padding:34px 42px;
  background-color:var(--navy); background-image:var(--hero-art);
  background-position:right center; background-repeat:no-repeat; background-size:cover;
  color:var(--hero-ink);
}
.hero-content { position:relative; z-index:1; }
.hero-kicker { color:var(--hero-copy); margin-bottom:14px; }
.privacy-hero h1 { color:var(--hero-ink); }
.hero-promise { color:var(--hero-highlight); margin-bottom:14px; }
.hero-body { color:var(--hero-copy); max-width:740px; margin-bottom:16px; }
.hero-note { margin:0; color:var(--hero-copy); font-size:11px; }
:root[data-theme="fall"] .hero-content { max-width:920px; padding-right:60px; }
:root[data-theme="starry"] .privacy-hero { background-size:900px 600px; background-repeat:repeat; }
:root[data-theme="starry"] .privacy-hero::after {
  content:""; position:absolute; top:37px; right:44px; width:74px; height:74px;
  background:url("moon.svg") center/contain no-repeat; opacity:.92; pointer-events:none;
}
:root[data-theme="starry"] .hero-content { padding-right:110px; }
.tool-card { min-height:297.171875px; }
.tool-card-icon { width:43px; height:43px; border-radius:12px; }
.tool-card-icon .icon { width:34px; height:34px; stroke-width:1.6; }
.tool-card p { max-width:350px; }
.tool-use { padding-top:13px; font-size:11px; margin-bottom:20px; }
.tool-open { min-height:27px; justify-content:flex-start; }
.tool-card:hover { box-shadow:0 8px 24px var(--shade); }
.tool-card:hover .tool-open { text-decoration:underline; text-underline-offset:3px; }
.home-network-note { font-size:12px; line-height:1.75; color:var(--muted); margin:23px 0 0; }
.home-network-note a { text-underline-offset:3px; }
.footer-note { margin-left:14px; }
.site-footer a:hover { color:var(--blue); }

/* Quiet workspaces; useful icon-only page-editing controls stay intact. */
.site-nav .nav-btn { gap:0; }
.site-nav .nav-btn.active { color:var(--hero-ink); }
.privacy-inline { border-left:3px solid var(--blue); gap:16px; }
.privacy-inline a { font-size:12px; }
.session-note { line-height:1.6; }
.upload-zone { border-color:color-mix(in srgb,var(--blue) 40%,var(--line)); min-height:278px; padding:34px 24px; gap:16px; }
.upload-icon { width:44px; height:44px; border-radius:12px; }
.upload-icon .icon { width:24px; height:24px; }
.file-types { gap:5px; }
.file-types span { border:0; background:var(--surface2); font-size:10px; padding:3px 8px; }
.upload-copy p { max-width:580px; line-height:1.65; }
.caption-strip { justify-content:flex-end; }
.help-technical { margin-top:18px; color:var(--muted); font-size:12px; }
.help-technical summary { cursor:pointer; font-weight:600; color:var(--ink); }
.help-technical p { margin:10px 0 0; }
.privacy-callout { background:var(--navy); color:var(--hero-ink); }
.privacy-callout h2 { color:var(--hero-highlight); }
.privacy-callout p { color:var(--hero-copy); }

/* Remove hard-coded blue/yellow accents from application chrome. Paper stays paper. */
.btn-blue { color:var(--on-accent); }
.btn-yellow { color:var(--on-yellow); }
.btn-blue:hover:not(:disabled) { background:var(--blue-hover); }
.btn-yellow:hover:not(:disabled) { background:var(--yellow-hover); }
.page-no, .mini-number { color:var(--on-yellow); }
.page-card.group-yellow { border-color:var(--yellow); }
.placeholder-icon { color:var(--muted); opacity:.6; }
.file-drag-overlay { background:var(--navy); color:var(--hero-ink); opacity:.97; }
.modal::backdrop { background:var(--backdrop); }
.toast { box-shadow:0 5px 20px var(--shade); color:var(--hero-ink); }
.toast.error { border-left-color:var(--danger); }
.toast button { color:var(--hero-ink); }
.skip-link { color:var(--on-yellow); }
.ad-slot iframe { background:var(--surface2); color-scheme:inherit; }
:root[data-theme="starry"] .empty-paper { border-color:var(--line); }
:root[data-theme="starry"] .empty-dot { color:var(--on-yellow); }

@media (max-width:1000px) {
  .privacy-hero { padding:30px 32px; }
  :root[data-theme="fall"] .hero-content { padding-right:70px; }
  .site-header .top-actions { gap:10px; }
}
@media (max-width:800px) {
  .brand-link { min-width:150px; }
  .tool-card { min-height:297.171875px; }
  :root[data-theme="starry"] .privacy-hero::after { width:56px; height:56px; right:25px; top:26px; }
  :root[data-theme="starry"] .hero-content { padding-right:72px; }
  :root[data-theme="fall"] .hero-content { padding-right:0; }
  :root[data-theme="fall"] .privacy-hero { background-position:left center; }
}
@media (max-width:600px) {
  .site-header { height:109px; padding:10px 16px; gap:10px; }
  .brand-link { min-width:128px; gap:6px; }
  .brand-name { font-size:16px; letter-spacing:-.4px; }
  .brand-mark { width:58px; height:58px; border-radius:14px; }
  .brand-mark .icon { width:44px; height:44px; }
  .site-header .top-actions { gap:8px; }
  .theme-picker { align-items:flex-start; flex-direction:column; gap:3px; font-size:10px; }
  .theme-picker select { width:118px; min-height:36px; font-size:12px; }
  .site-header #helpBtn { font-size:11px; padding:8px; min-height:36px; align-self:flex-end; }
  .privacy-hero { padding:26px 23px; }
  .hero-body { line-height:1.75; }
  .hero-note { font-size:10px; }
  :root[data-theme="starry"] .hero-content { padding-right:0; }
  :root[data-theme="starry"] .privacy-hero::after { width:32px; height:32px; top:auto; right:22px; bottom:20px; }
  .tool-card { min-height:283px; }
  .tool-card-icon .icon { width:34px; height:34px; }
  .tool-use { margin-bottom:15px; }
  .upload-zone { min-height:264px; padding:30px 20px; }
  .home-network-note { font-size:11px; }
  .footer-note { margin-left:10px; }
  .privacy-inline { line-height:1.7; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
@media print {
  body::before, body::after, .privacy-hero::after { display:none !important; }
  .theme-picker { display:none; }
}

/* Transient states follow the selected palette too. */
.task-backdrop { background:var(--backdrop); }
.report { border-color:var(--yellow); }
.selection-mark { border-color:var(--line); }
.selected .selection-mark { color:var(--on-accent); }
:root[data-theme="starry"] .crop-frame { background:repeating-conic-gradient(#dedede 0% 25%,#fff 0% 50%) 50%/16px 16px; }
/* Help stays readable after decorative icons are removed, including on phones. */
#helpBtn span { display:inline; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, [tabindex]:focus-visible { outline-color:var(--blue); }
@media (max-width:600px) {
  .site-header .top-actions { position:relative; }
  .theme-picker { gap:6px; }
  .theme-picker > span { min-height:20px; display:flex; align-items:center; }
  .site-header #helpBtn {
    position:absolute; top:-2px; right:0; min-height:24px; min-width:38px;
    padding:2px 0; border:0; background:none; justify-content:flex-end; font-size:11px;
  }
}
