:root { color-scheme: light; --ink:#18181b; --muted:#565d6a; --blue:#245bc2; --blue-hover:#194799; --line:#dce1e9; --paper:#fff; --soft:#f5f8fc; --danger:#a12228; font-family:Arial,Helvetica,sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; }
body { margin:0; font-size:16px; line-height:1.6; }
[hidden] { display:none!important; }
button,select,textarea,input { font:inherit; }
button,select,summary { cursor:pointer; }
button { min-height:44px; border-radius:10px; padding:10px 18px; font-weight:600; line-height:1.35; }
button:disabled { cursor:not-allowed; color:#687184; background:#edf0f5; border-color:#dce1e9; }
.primary { background:var(--blue); color:white; border:1px solid transparent; }
.primary:hover:not(:disabled) { background:var(--blue-hover); }
.secondary { background:var(--paper); color:var(--blue); border:1px solid var(--line); }
.secondary:hover:not(:disabled) { background:#edf3fe; }
.text-button { border:0; background:transparent; color:var(--blue); padding:8px 4px; text-decoration:underline; text-underline-offset:4px; font-size:14px; }
.text-button:disabled { background:transparent; text-decoration:none; }
::selection { background:#cce0ff; color:#12336a; }
:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
textarea { display:block; width:100%; resize:vertical; min-height:120px; padding:18px; border:1px solid #b9c3d3; border-radius:12px; color:var(--ink); background:var(--paper); font:16px/1.7 Arial,Helvetica,sans-serif; caret-color:var(--blue); scrollbar-color:#a2b4cc #f5f8fc; }
textarea::placeholder { color:#657084; }
textarea[readonly] { background:var(--soft); }
a { color:var(--blue); text-underline-offset:4px; }
svg { fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:20px; max-width:1200px; padding:22px 32px; margin:auto; border-bottom:1px solid var(--line); }
.brand { display:flex; gap:0; align-items:center; color:var(--ink); font-size:23px; font-weight:700; text-decoration:none; letter-spacing:-.03em; }
.brand span { color:var(--blue); }.brand svg { margin-left:12px; color:var(--blue); }
.header-actions { display:flex; align-items:center; gap:24px; }
.local-label { font-size:14px; color:var(--muted); }
select { min-height:44px; border:1px solid var(--line); background:white; border-radius:8px; padding:8px 10px; font-size:14px; }
main,footer { width:min(100% - 64px,1136px); margin:auto; }
.intro { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:64px; padding:46px 0 36px; }
h1 { font-size:clamp(32px,3.5vw,46px); line-height:1.14; letter-spacing:-.035em; font-weight:600; margin:0 0 20px; text-wrap:balance; white-space:pre-line; }
.lead { margin:0; max-width:58ch; color:var(--muted); line-height:1.75; }
.privacy-note { display:flex; align-items:start; gap:16px; padding:24px; background:#eff5ff; border-radius:14px; color:#234575; }
.privacy-note strong { font-weight:600; }.privacy-note p { margin:8px 0 0; font-size:14px; line-height:1.75; }
.workflow { display:flex; gap:32px; padding:15px 0; border-block:1px solid var(--line); color:var(--muted); font-size:14px; }
.workflow span[aria-current] { color:var(--blue); font-weight:700; }
.status { min-height:25px; margin:16px 0 10px; font-size:14px; color:var(--blue); }
.error { padding:14px 18px; background:#fff0f0; color:var(--danger); border-radius:10px; font-size:14px; }
.workspace { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:36px; align-items:start; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:12px; min-height:44px; }
h2 { margin:0; font-size:22px; font-weight:600; letter-spacing:-.025em; line-height:1.3; text-wrap:balance; }
.under-editor { display:flex; justify-content:space-between; gap:16px; margin-top:8px; font-size:12px; color:var(--muted); }
.under-editor p { margin:0; }#text-count { white-space:nowrap; font-variant-numeric:tabular-nums; }
.editor-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:18px; }
.manual { border-top:1px solid var(--line); margin-top:22px; padding-top:16px; font-size:14px; color:var(--muted); }.manual p { margin:0 0 4px; }
.profile-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-size:14px; margin:12px 0; }.profile-row label { font-weight:600; }.profile-row select { flex:1; min-width:0; }
.settings { margin:16px 0; border-block:1px solid var(--line); font-size:14px; }.settings summary,.bulk-settings summary { min-height:44px; padding:10px 0; font-weight:600; color:var(--ink); }.settings>div { padding:8px 0 16px; }.settings textarea { min-height:100px; margin-top:8px; padding:12px; font-size:14px; }.settings label:not(.review-confirm) { display:block; }.settings fieldset { border:0; padding:0; margin:0; }.settings legend { font-weight:600; padding:0; }.categories { display:grid; grid-template-columns:1fr 1fr; gap:2px 12px; }.categories .review-confirm { margin:2px 0; }.settings .field-note { margin:8px 0 14px; }
.bulk-settings { margin-top:12px; }.bulk-settings .review-confirm { margin:8px 0; }.bulk-settings>div { padding-bottom:12px; }.bulk-preview { border-top:1px solid var(--line); padding-top:12px; margin-top:12px; }.bulk-preview>p { color:var(--ink); }.occurrences { max-height:300px; overflow:auto; }.occurrences .finding { color:var(--ink); }.occurrence-context { font-size:13px; display:block; overflow-wrap:anywhere; white-space:pre-wrap; }.conflict-note { font-size:12px; color:var(--danger); display:block; }.finding-context { font-size:12px; color:var(--danger); display:block; }
input[type=file],input[type=password] { display:block; width:100%; min-height:44px; margin:8px 0 16px; padding:8px; border:1px solid #b9c3d3; border-radius:8px; background:var(--paper); color:var(--ink); font-size:14px; }
input[type=file]::file-selector-button { min-height:36px; margin-right:12px; border:1px solid var(--line); border-radius:6px; background:var(--soft); color:var(--ink); padding:6px 10px; cursor:pointer; }
.recovery-export { border-top:1px solid var(--line); padding-top:16px; margin-top:24px; max-width:78ch; }.recovery-export h3 { margin:0; font-size:18px; }.recovery-export label { display:block; margin:16px 0 8px; font-size:14px; }.recovery-export textarea { min-height:64px; }.recovery-export>#download-protected { margin-top:16px; }
.review-pane { min-width:0; background:var(--soft); padding:20px 24px 24px; border-radius:14px; }
.count { display:inline-flex; min-width:28px; justify-content:center; font-size:14px; font-variant-numeric:tabular-nums; font-weight:600; color:var(--blue); }
.review-hint { margin:0 0 18px; color:var(--muted); font-size:14px; }
.findings { max-height:365px; overflow:auto; scrollbar-color:#a2b4cc var(--soft); }
.finding { display:flex; align-items:start; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); cursor:pointer; }
input[type=checkbox] { flex-shrink:0; width:20px; height:20px; margin:5px 0 0; accent-color:var(--blue); }
.finding-body { min-width:0; }.finding-kind { display:block; color:var(--muted); font-size:12px; font-weight:600; }.finding-value { display:block; font-size:14px; overflow-wrap:anywhere; white-space:pre-wrap; }
.coverage { color:var(--muted); font-size:13px; line-height:1.7; margin:20px 0 12px; }
.review-confirm { display:flex; align-items:start; gap:12px; font-size:14px; margin:16px 0; cursor:pointer; min-height:44px; }
.review-footer>.primary { width:100%; }
.results { border-top:1px solid var(--line); margin-top:38px; padding-top:30px; scroll-margin-top:20px; }
.results textarea { min-height:160px; }
.field-note { color:var(--muted); font-size:13px; line-height:1.7; }
.restore-heading { margin:34px 0 20px; }.restore-heading p { color:var(--muted); margin:10px 0 0; font-size:14px; }
.restore-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
.restore-grid label:not(.review-confirm) { display:block; margin-bottom:8px; font-size:14px; font-weight:600; }
#copy-restored { margin-top:16px; }
.details { margin:38px 0; border-block:1px solid var(--line); font-size:14px; }.details summary { min-height:58px; padding:16px 0; font-weight:600; }.details>div { max-width:78ch; color:var(--muted); padding:0 0 18px; }.details p { margin:0 0 12px; }
footer { display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between; padding:0 0 32px; font-size:12px; color:var(--muted); }footer strong { color:var(--ink); font-size:16px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip { position:fixed; top:12px; left:12px; clip-path:inset(50%); padding:12px 18px; z-index:5; background:var(--blue); color:white; border-radius:8px; }.skip:focus { clip-path:none; }
@media(max-width:850px) { .intro { gap:28px; grid-template-columns:1fr; padding:32px 0 24px; }.privacy-note { max-width:70ch; }.workspace { gap:24px; grid-template-columns:1fr; }.restore-grid { grid-template-columns:1fr; }.local-label { display:none; }.workflow { gap:20px; }.review-pane { padding:18px; }.findings { max-height:310px; } }
@media(max-width:480px) { main,footer { width:calc(100% - 32px); }.site-header { padding:16px; }.brand { font-size:21px; }.workflow { font-size:12px; gap:16px; }.intro { padding-top:26px; }.privacy-note { padding:18px; }h1 { font-size:32px; }.section-heading { gap:12px; flex-wrap:wrap; }h2 { font-size:20px; }.lead { font-size:15px; }.under-editor { font-size:12px; }.editor-actions { flex-direction:column; }.editor-actions button { width:100%; }.results .section-heading button { width:100%; } }
@media(prefers-reduced-motion:reduce) { * { transition:none!important; scroll-behavior:auto!important; } }

/* Layout adapter for the original app theme. Processing controls and copy stay intact. */
body { background:#fff; }
.app-frame { display:grid; min-height:100vh; }
.sidebar { position:sticky; top:0; display:flex; height:100vh; flex-direction:column; }
.nav-list { display:grid; }
.nav-list a { text-decoration:none; }
.guest-content { min-width:0; }
.guest-content .site-header { max-width:none; margin:0 40px; padding:16px 0; }
.guest-content main { width:100%; margin:0; }
.guest-content footer { width:auto; margin:0 40px; }
.root { --soft:light-dark(#f5f8fc,#111821); --blue-hover:light-dark(#194799,#a6caff); }
.root .brand span { color:inherit; }
.root .brand svg { margin-left:0; }
.root textarea { font-family:var(--v3-sans),Arial,sans-serif; font-size:14px; border-radius:8px; padding:16px; border-color:light-dark(#aebbcf,#697b92); }
.root textarea::placeholder { color:light-dark(#697687,#a3b1c5); }
.root select { background:var(--paper); color:var(--ink); }
.root .intro { padding:0; margin-bottom:32px; gap:32px; }
.root .intro .lead { font-size:14px; }
.root .privacy-note { background:light-dark(#f0f6ff,#1d2e45); color:light-dark(#254e79,#bdd7fc); border-radius:8px; padding:16px; }
.root .privacy-note p { font-size:12px; }
.root .workflow { font-size:12px; }
.root .review-pane { border-radius:12px; }
.root .finding-value { font-size:13px; }
.root .error { background:light-dark(#fff0ee,#312321); }
.root .secondary:hover:not(:disabled) { background:light-dark(#f1f6fe,#283a50); }
.root .primary:disabled { color:white; }
.root .text-button { color:var(--blue-dark); }
.root .status,.root .count,.root .workflow span[aria-current] { color:var(--blue-dark); }
.app-menu-toggle { display:none; }
@media(max-width:860px) {
  .sidebar { display:grid; grid-template-columns:1fr auto; align-items:center; gap:0 16px; }
  .app-menu-toggle { display:block; }
  .sidebar .nav-list { display:none; grid-column:1/-1; }
  .sidebar.menu-open .nav-list { display:grid; }
  .guest-content .site-header { margin:0 24px; }
  .guest-content footer { margin:0 24px; }
  .root .intro { display:grid; grid-template-columns:1fr; }
}
@media(max-width:560px) {
  .guest-content .site-header,.guest-content footer { margin-inline:18px; }
}
