@font-face {
  font-family: "Inter";
  src: url("/fonts/InterVariable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "PT Serif";
  src: url("/fonts/PTSerif-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --bg:#f6f5f0;
  --surface:#fff;
  --ink:#26332e;
  --muted:#7b8179;
  --line:#e5e7df;
  --green:#315e49;
  --green-dark:#234b38;
  --soft:#eaf0e6;
  --amber:#a17838;
  --amber-soft:#fbf2df;
  --red:#a24a40;
  --radius:14px;
  --font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}

.model-jobs-panel {
  display:grid;
  gap:12px;
  padding:20px clamp(20px, 4vw, 56px) 0;
}

.model-jobs-panel[hidden] {
  display:none;
}

.model-job-notice {
  padding:18px 22px;
  background:var(--surface);
  border:1px solid var(--line);
  border-left:3px solid var(--amber);
  border-radius:var(--radius);
  overflow-wrap:anywhere;
}

.model-job-heading {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:6px 16px;
  margin-bottom:6px;
}

.model-job-heading span {
  color:var(--muted);
  font-size:12px;
}

.model-job-notice details {
  margin:12px 0;
}

.model-job-notice summary {
  color:var(--green);
  cursor:pointer;
}

.model-job-notice blockquote {
  margin:10px 0;
  white-space:pre-wrap;
}

.home-view .model-jobs-panel {
  display:none;
  width:min(1160px, 100%);
  margin:0 auto;
}

.account-tools {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 16px;
}

.quota-summary {
  font-size:12px;
  color:var(--green);
}

.quota-note {
  margin:12px 0;
}

.check-modes {
  display:flex;
  gap:6px;
  margin:20px 0 12px;
  padding:5px;
  width:max-content;
  max-width:100%;
  background:#e9ede4;
  border-radius:12px;
}

.mode-tab {
  border:0;
  border-radius:8px;
  padding:11px 22px;
  color:var(--green);
  background:transparent;
}

.mode-tab.active {
  background:var(--surface);
  box-shadow:0 2px 8px #26332e0d;
  font-weight:600;
}

.mode-description {
  max-width:800px;
  margin:0 0 20px;
  color:#687563;
}

.web-availability {
  margin:0 0 22px;
}

.web-availability a {
  display:inline-block;
  margin-top:8px;
}

.internet-options {
  padding:16px 24px;
  border-top:1px solid var(--line);
  background:#f7f8f3;
  font-size:12px;
}

.internet-options label {
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.internet-options input {
  width:18px;
  height:18px;
  flex:0 0 18px;
  accent-color:var(--green);
}

.web-coverage {
  margin:18px 0;
}

.web-coverage p,.web-coverage details {
  margin-top:12px;
}

.web-coverage summary {
  cursor:pointer;
}

.stat-card.web-uniqueness strong {
  color:var(--green);
  font-size:clamp(26px, 3.2vw, 42px);
}

.match-entry .match-item {
  width:100%;
}

.match-entry > .source-url {
  display:block;
  padding:6px 14px 12px;
  font-size:12px;
}

.check-request-notice {
  margin:12px 0;
}

.auth-layout {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 400px);
  gap:clamp(24px, 5vw, 72px);
  align-items:start;
  max-width:1040px;
  margin:20px auto 32px;
}

.auth-intro h1 {
  margin:16px 0 22px;
  font-size:clamp(30px, 4.2vw, 54px);
}

.auth-intro p + p {
  margin-top:18px;
}

.auth-card h2,.auth-card .field-help,.auth-card form > p {
  margin-bottom:18px;
}

.auth-card form {
  display:grid;
  gap:14px;
}

.auth-card form[hidden] {
  display:none;
}

.auth-card .field {
  width:100%;
}

.auth-card #auth-feedback {
  margin:16px 0;
}

.guest-draft,.auth-loading {
  max-width:1040px;
  margin:20px auto;
}

.guest-draft textarea {
  width:100%;
  min-height:160px;
  margin-top:14px;
  resize:vertical;
}

.profile strong {
  overflow-wrap:anywhere;
}

.auth-view .navigation,.auth-view #model-settings {
  display:none;
}

@media (max-width:760px) {
  .auth-layout {
    grid-template-columns:minmax(0, 1fr);
  }
  .account-tools {
    justify-content:flex-end;
  }
  .topbar {
    flex-wrap:wrap;
    gap:12px;
  }
}

* {
  box-sizing:border-box
}

body {
  margin:0;
  font-family:var(--font);
  font-size:14px;
  background:var(--bg);
  color:var(--ink);
  line-height:1.55
}

button,input,textarea,select {
  font:inherit
}

button,a,input,textarea,select {
  -webkit-tap-highlight-color:transparent
}

button,a {
  touch-action:manipulation
}

button {
  cursor:pointer
}

button:disabled {
  cursor:wait;
  opacity:.55
}

a {
  color:var(--green);
  text-decoration:none
}

a:hover {
  text-decoration:underline
}

button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {
  outline:3px solid #a4bda6;
  outline-offset:3px
}

button {
  color:inherit
}

h1,h2,h3,p {
  margin:0
}

h1 {
  font-size:36px;
  letter-spacing:-1.3px;
  font-weight:550;
  line-height:1.2
}

h2 {
  font-size:19px;
  font-weight:600;
  letter-spacing:-.4px
}

h3 {
  font-size:14px;
  font-weight:600
}

.app-shell {
  display:flex;
  min-height:100vh
}

.sidebar {
  width:236px;
  flex:0 0 236px;
  background:#eeefe7;
  border-right:1px solid #e2e5da;
  padding:38px 22px 0;
  display:flex;
  flex-direction:column;
  position:sticky;
  top:0;
  height:100vh
}

.brand {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:33px;
  font-weight:650;
  letter-spacing:-1.6px;
  color:#253d2f;
  margin:0 8px 57px
}

.brand:hover {
  text-decoration:none
}

.brand-mark {
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--green);
  color:#f3f3df;
  border-radius:10px;
  width:33px;
  height:35px;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:33px;
  line-height:1;
  padding-bottom:8px;
  letter-spacing:-4px;
  padding-right:4px
}

.brand-dot {
  color:#7c9669
}

.workspace-label {
  font-size:9px;
  letter-spacing:1.6px;
  color:#8a9282;
  margin:0 12px 16px;
  font-weight:650
}

.navigation {
  display:flex;
  flex-direction:column;
  gap:6px
}

.nav-link {
  display:flex;
  gap:12px;
  align-items:center;
  padding:12px;
  border-radius:8px;
  color:#72796d;
  font-size:13px;
  font-weight:500;
  min-height:46px
}

.nav-link:hover {
  text-decoration:none;
  background:#e6e9df
}

.nav-link.active {
  background:#dde5d8;
  color:#284b34
}

.nav-icon {
  font-size:22px;
  line-height:1;
  width:20px;
  text-align:center;
  font-weight:400
}

.nav-count {
  margin-left:auto;
  font-size:10px;
  border:1px solid #cbd4c4;
  padding:0 5px;
  border-radius:4px;
  min-width:20px;
  text-align:center
}

.sidebar-bottom {
  margin-top:auto;
  padding:28px 10px 0
}

.local-note {
  display:flex;
  gap:8px;
  align-items:center;
  font-size:12px;
  font-weight:550
}

.status-dot {
  display:inline-block;
  flex-shrink:0;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#64845b
}

.status-dot.muted {
  background:#a9a99a
}

.sidebar-bottom>p {
  font-size:10px;
  color:#8a9182;
  line-height:1.7;
  margin-top:8px
}

.profile {
  margin:28px -10px 0;
  padding:22px 5px;
  display:flex;
  align-items:center;
  gap:10px;
  border-top:1px solid #dce1d4
}

.avatar {
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#dde3d4;
  font-size:12px;
  color:#65745b
}

.profile strong {
  display:block;
  font-size:10px;
  font-weight:550
}

.profile small {
  display:block;
  font-size:9px;
  color:#909584
}

.main-shell {
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column
}

.topbar {
  height:78px;
  border-bottom:1px solid var(--line);
  padding:0 45px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px
}

.breadcrumb {
  font-size:11px;
  color:#93978d;
  display:flex;
  gap:13px
}

.breadcrumb strong {
  font-weight:500;
  color:#5f6b60
}

.breadcrumb>span {
  color:#b2b8a9
}

.model-pill {
  font-size:11px;
  background:transparent;
  border:1px solid #dfe3d6;
  border-radius:7px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  white-space:nowrap
}

.model-pill>span:last-child {
  color:#969e8b;
  margin-left:6px
}

main {
  max-width:1450px;
  width:100%;
  margin:0 auto;
  padding:41px 45px 60px;
  flex:1
}

.page-heading {
  margin-bottom:30px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px
}

.eyebrow {
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:1.7px;
  color:#7c8c72;
  margin-bottom:12px;
  font-weight:600
}

.page-description {
  color:#858b80;
  font-size:13px;
  margin-top:13px;
  max-width:650px;
  line-height:1.7
}

.text-button {
  border:0;
  background:none;
  padding:5px 0;
  font-size:12px;
  color:var(--green);
  display:inline-flex;
  gap:8px;
  align-items:center;
  white-space:nowrap
}

.text-button:hover {
  text-decoration:underline
}

.workspace-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 275px;
  gap:22px;
  align-items:start
}

.card {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden
}

.editor-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 23px;
  border-bottom:1px solid #eef0e8
}

.editor-title {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:12px;
  font-weight:600
}

.document-icon {
  color:#8c9885;
  font-size:18px
}

.mini-label {
  font-size:10px;
  color:#a0a596
}

.file-button {
  cursor:pointer;
  font-size:11px;
  display:flex;
  gap:7px;
  align-items:center;
  color:#7c8676;
  background:#f8f9f5;
  border:1px solid #e8ebdf;
  padding:6px 9px;
  border-radius:5px
}

.file-button input {
  position:absolute;
  width:1px;
  height:1px;
  opacity:0
}

.editor-text {
  width:100%;
  height:330px;
  padding:24px;
  resize:vertical;
  border:0;
  background:#fff;
  color:#364338;
  line-height:1.9;
  font-size:14px;
  display:block;
  min-height:200px;
  outline:none
}

.editor-text::placeholder {
  color:#b0b4a8
}

.editor-meta {
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  margin:0 23px;
  padding:13px 0;
  border-top:1px solid #eef0e8;
  font-size:10px;
  color:#9ca391
}

.editor-footer {
  background:#fafbf7;
  border-top:1px solid #edf0e6;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px 23px
}

.editor-footer>p {
  font-size:10px;
  color:#8f9787;
  max-width:240px;
  line-height:1.6
}

.button {
  border:1px solid var(--green);
  background:var(--green);
  color:white;
  padding:11px 17px;
  border-radius:7px;
  display:inline-flex;
  gap:10px;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:550;
  min-height:40px
}

.button:hover {
  background:var(--green-dark)
}

.button.secondary {
  background:white;
  color:var(--green);
  border-color:#d9e1d3
}

.button.secondary:hover {
  background:#f2f6ee
}

.button.small {
  font-size:11px;
  min-height:32px;
  padding:7px 11px
}

.button.danger {
  background:#fff;
  color:var(--red);
  border-color:#e7ccc8
}

.button.danger:hover {
  background:#fff6f4
}

.side-stack {
  display:flex;
  flex-direction:column;
  gap:18px
}

.side-card {
  padding:22px
}

.side-card h2 {
  font-size:13px;
  letter-spacing:0;
  display:flex;
  justify-content:space-between;
  gap:10px
}

.side-card p {
  font-size:11px;
  line-height:1.8;
  color:#8b9383;
  margin:12px 0 17px
}

.scope-badge {
  font-size:9px;
  padding:3px 6px;
  background:#edf2e9;
  color:#749065;
  border-radius:4px;
  white-space:nowrap;
  align-self:center
}

.source-summary {
  border-top:1px solid #edf0e6;
  padding-top:14px;
  margin-top:15px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:11px;
  color:#7c8674
}

.source-summary strong {
  font-size:17px;
  font-weight:500;
  color:#4c6547
}

.side-link {
  font-size:11px;
  display:inline-flex;
  margin-top:16px;
  gap:8px
}

.hint-card {
  background:#eeefe5;
  border:1px solid #e3e6d7;
  border-radius:12px;
  padding:20px 22px
}

.hint-icon {
  font-family:Georgia,serif;
  font-size:25px;
  line-height:1;
  color:#8d9d75;
  margin-bottom:12px
}

.hint-card h3 {
  font-size:12px;
  font-weight:550;
  color:#60704f
}

.hint-card p {
  font-size:11px;
  line-height:1.8;
  color:#8b947c;
  margin-top:9px
}

.coverage-note {
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:#929985;
  font-size:10px;
  margin-top:17px;
  line-height:1.7
}

.coverage-note>span:first-child {
  color:#8ba377;
  font-size:15px
}

.report-section {
  margin-top:36px
}

.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:17px
}

.section-heading h2 {
  font-size:20px;
  font-weight:550
}

.section-heading p {
  font-size:11px;
  color:#919985;
  margin-top:5px
}

.stats-row {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:20px
}

.stat-card {
  border:1px solid var(--line);
  border-radius:10px;
  background:white;
  padding:18px 20px
}

.stat-card strong {
  font-size:27px;
  font-weight:500;
  letter-spacing:-.7px;
  display:block
}

.stat-card span {
  font-size:10px;
  color:#8b9480
}

.report-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 310px;
  gap:20px;
  align-items:start
}

.annotated-text {
  padding:25px;
  white-space:pre-wrap;
  line-height:2;
  font-size:14px;
  overflow-wrap:anywhere
}

.annotated-text mark {
  background:#e4edda;
  color:inherit;
  padding:.42em 0;
  border-radius:2px;
  cursor:pointer
}

.annotated-text mark.selected {
  background:#bfd2a9
}

.annotated-text mark.fuzzy {
  background:#f2e9cf
}

.report-caption {
  font-size:10px;
  color:#8a9380;
  padding:15px 23px;
  border-top:1px solid #edf0e6
}

.match-list {
  display:flex;
  flex-direction:column;
  gap:9px
}

.match-item {
  display:block;
  width:100%;
  text-align:left;
  background:white;
  border:1px solid var(--line);
  border-radius:9px;
  padding:15px 17px
}

.match-item:hover {
  border-color:#b4c3a5
}

.match-item.selected {
  border-color:#86a277;
  background:#f4f8ee
}

.match-item strong {
  font-size:12px;
  display:block;
  margin:6px 0;
  overflow-wrap:anywhere
}

.match-item p {
  font-size:11px;
  color:#8c9483;
  line-height:1.7
}

.match-kicker {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:9px;
  color:#869179
}

.match-kind {
  color:#60844f
}

.match-kind.similar {
  color:#a18746
}

.comparison-card {
  margin-top:20px;
  padding:23px
}

.comparison-columns {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px;
  margin-top:18px
}

.comparison-columns h3 {
  font-size:10px;
  color:#8a947d;
  font-weight:500;
  margin-bottom:8px
}

.comparison-columns blockquote {
  margin:0;
  font-size:12px;
  line-height:1.85;
  color:#52634a;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  border-left:2px solid #d8e2cb;
  padding-left:14px
}

.source-url {
  font-size:10px;
  display:inline-block;
  margin-top:10px;
  overflow-wrap:anywhere
}

.action-row {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  margin-top:20px
}

.judgment,.rewrite-box {
  margin-top:18px;
  background:#f5f7ef;
  border:1px solid #e4ead9;
  border-radius:8px;
  padding:17px;
  font-size:12px;
  line-height:1.8
}

.rewrite-box textarea {
  display:block;
  width:100%;
  min-height:130px;
  border:1px solid #d7dfce;
  border-radius:6px;
  padding:12px;
  margin-top:12px;
  resize:vertical;
  line-height:1.8;
  color:var(--ink);
  background:#fff
}

.subtle {
  font-size:11px;
  color:#929986
}

.empty-state {
  padding:37px 25px;
  text-align:center;
  background:#fafbf6;
  border:1px dashed #dce3d1;
  border-radius:12px
}

.empty-state .empty-symbol {
  font-size:27px;
  color:#92a77e;
  display:block;
  margin-bottom:10px
}

.empty-state h3 {
  font-weight:500;
  font-size:14px
}

.empty-state p {
  color:#909982;
  font-size:11px;
  line-height:1.8;
  max-width:430px;
  margin:8px auto 0
}

.warning {
  border:1px solid #e9debd;
  background:#fcf8ed;
  color:#927a43;
  padding:13px 16px;
  border-radius:8px;
  font-size:11px;
  line-height:1.8;
  margin:15px 0
}

.inline-error {
  border:1px solid #e8cec6;
  background:#fff5f1;
  color:#965c4b;
  padding:13px 16px;
  border-radius:8px;
  font-size:12px;
  line-height:1.7;
  margin:15px 0
}

.form-card {
  padding:24px
}

.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px
}

.field-label {
  display:block;
  font-size:11px;
  color:#6d7c62;
  margin-bottom:7px;
  font-weight:550
}

.field {
  width:100%;
  border:1px solid #dde3d4;
  background:#fcfdf9;
  padding:11px 12px;
  border-radius:6px;
  color:#3d4f35;
  min-height:40px
}

.field::placeholder {
  color:#a6ad9a
}

textarea.field {
  resize:vertical;
  line-height:1.8;
  min-height:170px
}

.form-group {
  margin-bottom:18px
}

.field-help {
  font-size:10px;
  color:#919a82;
  line-height:1.75;
  margin-top:8px
}

.source-list {
  display:flex;
  flex-direction:column;
  gap:13px;
  margin-top:23px
}

.source-card {
  padding:20px 23px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px
}

.source-card h3 {
  font-size:14px;
  font-weight:550
}

.source-card p {
  font-size:11px;
  color:#929a85;
  margin-top:8px;
  line-height:1.75
}

.source-card small {
  font-size:10px;
  color:#9ca48e;
  display:block;
  margin-top:10px
}

.source-card a {
  font-size:10px;
  overflow-wrap:anywhere
}

.icon-button {
  border:0;
  background:transparent;
  width:29px;
  height:29px;
  font-size:22px;
  color:#879579;
  border-radius:5px;
  display:grid;
  place-items:center
}

.icon-button:hover {
  background:#edf2e5
}

.app-footer {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:20px 45px;
  border-top:1px solid var(--line);
  font-size:9px;
  letter-spacing:.3px;
  color:#a0a78f
}

.toast {
  position:fixed;
  bottom:28px;
  left:50%;
  transform:translateX(-50%);
  z-index:50;
  background:#2e4d36;
  color:#fff;
  padding:13px 20px;
  border-radius:9px;
  box-shadow:0 8px 30px #23392120;
  max-width:min(90vw,600px);
  font-size:12px
}

.toast.error {
  background:#8c4b3e
}

dialog {
  border:1px solid #dbe3d0;
  border-radius:14px;
  background:#fdfef9;
  max-width:460px;
  width:calc(100% - 32px);
  padding:0;
  box-shadow:0 20px 90px #263a2a25;
  color:var(--ink)
}

dialog::backdrop {
  background:#233a2930;
  backdrop-filter:blur(3px)
}

.dialog-head {
  padding:20px 23px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid #e6ecdc
}

.dialog-body {
  padding:23px
}

.dialog-body>p {
  font-size:12px;
  line-height:1.8;
  color:#7d8d70;
  margin-bottom:20px
}

select {
  width:100%;
  padding:10px;
  border:1px solid #dce5cf;
  background:#fff;
  border-radius:6px;
  color:var(--ink)
}

.evaluation-top {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:22px
}

.evaluation-top p {
  font-size:11px;
  color:#8a987b;
  margin-top:7px;
  line-height:1.8
}

.dataset-note {
  font-size:11px;
  color:#8a967c;
  margin:17px 0 24px;
  line-height:1.8
}

.example-card {
  padding:22px;
  margin-top:13px
}

.example-title {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px
}

.example-title h3 {
  font-size:12px
}

.tag {
  font-size:9px;
  padding:3px 7px;
  border-radius:4px;
  background:#eff3e7;
  color:#83966d
}

.example-pair {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin:17px 0
}

.example-pair small {
  display:block;
  font-size:9px;
  letter-spacing:.4px;
  color:#98a68a;
  margin-bottom:6px
}

.example-pair p {
  font-size:11px;
  line-height:1.9;
  color:#738265
}

.example-result {
  font-size:11px;
  border-top:1px solid #edf1e4;
  padding-top:13px;
  line-height:1.8
}

.result-ok {
  color:#4b7c42
}

.result-fail {
  color:#a27249
}

.review-form {
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:15px;
  flex-wrap:wrap
}

.review-form select {
  width:auto;
  flex:1;
  min-width:180px;
  font-size:11px
}

.review-form input {
  flex:2;
  min-width:150px;
  font-size:11px
}

.history-row {
  padding:21px 23px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  margin-top:12px
}

.history-row h3 {
  font-size:13px;
  font-weight:500
}

.history-row p {
  font-size:11px;
  color:#8e9a80;
  margin-top:7px
}

.history-row small {
  font-size:10px;
  color:#a0a992
}

.spinner {
  display:inline-block;
  width:12px;
  height:12px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  animation:spin .8s linear infinite
}

@keyframes spin {
  to {
    transform:rotate(360deg)
  }
}

[hidden] {
  display:none!important
}

@media(min-width:1500px) {
  .sidebar {
    width:255px;
    flex-basis:255px
  }
  .topbar {
    padding-left:60px;
    padding-right:60px
  }
  main {
    padding-left:60px;
    padding-right:60px
  }
  .workspace-grid {
    grid-template-columns:minmax(0,1fr) 300px
  }
  .editor-text {
    height:380px
  }
}

@media(max-width:1120px) {
  .sidebar {
    width:200px;
    flex-basis:200px;
    padding-left:12px;
    padding-right:12px
  }
  .topbar {
    padding:0 28px
  }
  main {
    padding:32px 28px 45px
  }
  .workspace-grid {
    grid-template-columns:minmax(0,1fr) 230px;
    gap:17px
  }
  .side-card,.hint-card {
    padding:18px
  }
  .report-grid {
    grid-template-columns:minmax(0,1fr) 260px
  }
  .editor-footer {
    padding:17px
  }
  .editor-footer>p {
    max-width:160px
  }
  .app-footer {
    padding:20px 28px
  }
}

@media(max-width:900px) {
  .sidebar {
    width:74px;
    flex-basis:74px;
    padding:27px 10px
  }
  .brand {
    margin:0 10px 47px
  }
  .brand>span:last-child,.workspace-label,.nav-link>span:not(.nav-icon),.sidebar-bottom {
    display:none
  }
  .brand-mark {
    width:32px;
    min-width:32px
  }
  .nav-link {
    font-size:0;
    justify-content:center;
    padding:11px 5px
  }
  .nav-icon {
    font-size:23px
  }
  .navigation {
    gap:12px
  }
  .workspace-grid {
    grid-template-columns:minmax(0,1fr) 220px
  }
  .report-grid {
    grid-template-columns:1fr
  }
  .match-list {
    display:grid;
    grid-template-columns:1fr 1fr
  }
}

@media(max-width:680px) {
  h1 {
    font-size:30px
  }
  .topbar {
    height:63px;
    padding:0 20px
  }
  .breadcrumb {
    font-size:10px;
    gap:8px
  }
  .breadcrumb>strong {
    display:none
  }
  .model-pill {
    font-size:10px
  }
  .model-pill>span:last-child {
    display:none
  }
  main {
    padding:28px 18px 35px
  }
  .sidebar {
    width:58px;
    flex-basis:58px;
    padding:23px 6px
  }
  .brand {
    margin:0 6px 36px
  }
  .brand-mark {
    width:28px;
    min-width:28px;
    height:31px;
    font-size:28px;
    border-radius:8px
  }
  .nav-icon {
    font-size:21px
  }
  .nav-link {
    min-height:40px
  }
  .workspace-grid {
    grid-template-columns:1fr
  }
  .side-stack {
    display:grid;
    grid-template-columns:1fr
  }
  .hint-card {
    display:none
  }
  .page-heading {
    align-items:flex-start;
    flex-direction:column;
    gap:13px;
    margin-bottom:22px
  }
  .page-description {
    font-size:12px
  }
  .editor-header {
    padding:15px
  }
  .editor-text {
    padding:18px;
    height:280px;
    font-size:13px
  }
  .editor-meta {
    margin:0 16px;
    font-size:9px
  }
  .editor-footer {
    padding:15px;
    flex-wrap:wrap
  }
  .editor-footer>.button {
    width:100%
  }
  .editor-footer>p {
    max-width:none
  }
  .side-card {
    padding:18px
  }
  .side-card p {
    margin-bottom:12px
  }
  .stats-row {
    gap:8px
  }
  .stat-card {
    padding:13px 10px
  }
  .stat-card strong {
    font-size:23px
  }
  .stat-card span {
    font-size:9px
  }
  .comparison-columns,.example-pair,.form-grid {
    grid-template-columns:1fr
  }
  .match-list {
    grid-template-columns:1fr
  }
  .comparison-card {
    padding:18px
  }
  .comparison-columns {
    gap:17px
  }
  .section-heading {
    align-items:flex-start;
    flex-wrap:wrap
  }
  .evaluation-top {
    flex-direction:column;
    align-items:flex-start
  }
  .source-card {
    padding:18px
  }
  .source-card .button {
    font-size:10px
  }
  .app-footer {
    padding:17px 18px
  }
  .app-footer>span:last-child {
    display:none
  }
  .history-row {
    padding:18px;
    gap:12px;
    flex-wrap:wrap
  }
  .example-card {
    padding:18px
  }
  .review-form select,.review-form input {
    width:100%
  }
  .annotated-text {
    padding:20px;
    font-size:13px
  }
  .editor-title {
    font-size:11px
  }
  .file-button {
    font-size:10px
  }
}

.direct-compare {
  padding:20px 23px;
  margin-top:18px
}

.direct-compare h2 {
  font-size:13px;
  letter-spacing:0
}

.direct-compare>p {
  font-size:11px;
  color:#89947e;
  line-height:1.8;
  margin:8px 0 14px
}

.direct-compare-controls {
  display:flex;
  gap:9px
}

.direct-compare-controls select {
  font-size:11px;
  min-width:0;
  flex:1;
  width:auto
}

.direct-compare-controls .button {
  white-space:nowrap
}

@media(max-width:680px) {
  .direct-compare {
    padding:18px
  }
  .direct-compare-controls {
    flex-direction:column
  }
}

.finding-review {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.finding-review .field {
  margin-top: 12px;
  font-size: 11px;
}

.finding-review .action-row {
  margin-top: 12px;
}

.finding-badge {
  display: inline-block;
  margin-top: 10px;
  padding: 3px 6px;
  border-radius: 4px;
  background: #e6eddf;
  color: #60764f;
  font-size: 9px;
}

.finding-badge.dismissed {
  background: #f0ece3;
  color: #978365;
}

.source-form {
  margin-top: 21px;
}

.source-list-heading {
  margin-top: 30px;
}

.retrieval-section {
  margin-top: 34px;
}

.retrieval-controls {
  padding: 22px;
}

.retrieval-controls > p {
  color: #819074;
  font-size: 12px;
  line-height: 1.8;
}

.job-status {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  color: #607b50;
  font-size: 12px;
}

.candidate-group {
  margin-top: 14px;
}

.candidate-group summary {
  display: flex;
  align-items: baseline;
  gap: 20px;
  padding: 18px 21px;
  cursor: pointer;
  font-size: 12px;
}

.candidate-group summary::before {
  content: '+';
  color: #819d69;
}

.candidate-group[open] summary::before {
  content: '−';
}

.candidate-group summary > span {
  flex: 1;
}

.candidate-group summary small {
  white-space: nowrap;
  color: #95a085;
  font-size: 10px;
}

.candidate-group-body {
  padding: 0 23px 23px;
}

.candidate-group-body > h3 {
  margin-top: 8px;
  color: #849477;
  font-size: 11px;
  font-weight: 500;
}

.candidate-query {
  background: #f5f7ef;
  padding: 16px;
  border-radius: 6px;
  margin: 10px 0 20px;
  font-size: 12px;
  line-height: 1.9;
  white-space: pre-wrap;
}

.candidate-card {
  padding: 20px 0;
  border-top: 1px solid var(--line);
}

.candidate-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 15px;
}

.candidate-heading h3 {
  font-size: 12px;
}

.candidate-card > blockquote {
  margin: 12px 0 0;
  padding-left: 14px;
  border-left: 2px solid #d6e1ca;
  font-size: 12px;
  line-height: 1.9;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

#stale-report .text-button {
  display: block;
  margin-top: 8px;
}

@media (max-width: 680px) {
  .candidate-group summary {
    gap: 10px;
    padding: 16px;
  }

  .candidate-group summary small {
    display: none;
  }

  .candidate-group-body {
    padding: 0 16px 16px;
  }
}

.replacement-original {
  margin: 14px 0;
  padding: 12px 14px;
  border-left: 2px solid #cbdabf;
  background: #edf2e5;
  border-radius: 4px;
  font-size: 12px;
  line-height: 1.8;
  white-space: pre-wrap;
}

.candidate-check-controls {
  padding: 22px;
  margin: 18px 0 22px;
}

.candidate-check-controls > h3 {
  font-size: 14px;
  font-weight: 550;
}

.candidate-check-controls > p {
  font-size: 11px;
  color: #8c987d;
  line-height: 1.8;
  margin-top: 9px;
}

.candidate-verdict-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 20px;
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid var(--line);
  font-size: 10px;
  color: #869578;
}

.candidate-verdict-counts strong {
  margin-left: 5px;
  font-weight: 600;
  color: #587644;
}

.import-hint {
  margin: 16px 23px 0;
  padding: 10px 13px;
  border: 1px solid #e9debd;
  border-radius: 6px;
  background: #fcf8ed;
  color: #927a43;
  font-size: 11px;
  line-height: 1.8;
}

/* First-visit editorial page. The document workspace keeps its own layout. */
.home-view {
  background: #f7f3e9;
}

.home-view .sidebar,
.home-view .topbar,
.home-view .app-footer {
  display: none;
}

.home-view .main-shell {
  width: 100%;
}

.home-view #main-content {
  max-width: none;
  padding: 0;
}

.home-page {
  --home-forest: #173c2e;
  --home-dark: #123326;
  --home-ivory: #f7f3e9;
  --home-coral: #ef957c;
  --home-line: #dcded0;
  color: var(--home-forest);
  background: var(--home-ivory);
  overflow: hidden;
}

.home-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  min-height: 98px;
  padding: 22px 6%;
  background: var(--home-forest);
  color: var(--home-ivory);
  border-bottom: 1px solid #ffffff1a;
}

.home-brand {
  display: inline-flex;
  align-items: baseline;
  gap: 0;
  color: inherit;
  font-size: 35px;
  letter-spacing: -1.8px;
  font-weight: 650;
  line-height: 1;
}

.home-brand:hover {
  text-decoration: none;
}

.home-brand-mark {
  width: 27px;
  height: 32px;
  margin-right: 12px;
  border: 1px solid #f7f3e985;
  border-radius: 14px 14px 3px 3px;
  font: italic 30px/22px Georgia, serif;
  padding-left: 3px;
  letter-spacing: -3px;
}

.home-brand-dot {
  color: var(--home-coral);
}

.home-nav nav {
  display: flex;
  gap: 30px;
  margin-left: 25px;
}

.home-nav nav a {
  color: #f5f3e6c9;
  font-size: 12px;
  transition: color .2s;
}

.home-nav nav a:hover {
  color: #fff;
  text-decoration: none;
}

.home-nav-cta {
  display: inline-flex;
  align-items: center;
  gap: 26px;
  border: 1px solid #f5f3e669;
  border-radius: 4px;
  padding: 12px 16px;
  color: #fff8e9;
  font-size: 12px;
  transition: background .2s;
}

.home-nav-cta:hover {
  background: #ffffff0d;
  text-decoration: none;
}

.home-hero {
  position: relative;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 55px;
  align-items: center;
  padding: 76px 8% 112px 6%;
  color: var(--home-ivory);
  background: var(--home-forest);
}

.home-hero-copy {
  position: relative;
  z-index: 1;
}

.home-overline {
  margin: 0 0 30px;
  color: #c0d0b4;
  font-size: 10px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}

.home-hero h1 {
  margin: 0;
  font-size: clamp(60px, 6.4vw, 100px);
  line-height: 1.015;
  letter-spacing: -4.5px;
  font-weight: 480;
}

.home-headline-line {
  display: block;
  white-space: nowrap;
}

.home-hero h1 em {
  font-family: "PT Serif", Georgia, serif;
  font-style: normal;
  font-size: 1.025em;
  font-weight: 400;
  letter-spacing: -5px;
  color: var(--home-coral);
}

.home-hero-description {
  max-width: 380px;
  margin-top: 28px;
  font-size: 15px;
  line-height: 1.85;
  color: #d2ddc8;
}

.home-hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 23px;
  margin-top: 33px;
}

.home-primary {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  padding: 17px 21px;
  border: 1px solid var(--home-coral);
  border-radius: 4px;
  background: var(--home-coral);
  color: #243b2e;
  font-size: 13px;
  font-weight: 600;
  transition: background .2s, transform .2s;
}

.home-primary:hover {
  background: #f2a68f;
  transform: translateY(-2px);
  text-decoration: none;
}

.home-primary span {
  font-size: 19px;
  font-weight: 400;
  line-height: 1;
}

.home-text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border: 0;
  padding: 10px 0;
  background: transparent;
  color: #ebeedd;
  font-size: 12px;
}

.home-text-link:hover {
  color: var(--home-coral);
}

.home-hero-helper {
  margin-top: 14px;
  color: #9fb29c;
  font-size: 10px;
}

.home-draft-note {
  margin-top: 7px;
  color: #bdcbb1;
  font-size: 10px;
}

.home-proof {
  position: relative;
  max-width: 500px;
  width: 100%;
  justify-self: end;
  padding-top: 7px;
}

.home-proof-heading {
  display: flex;
  justify-content: space-between;
  margin: 0 7px 12px;
  color: #bccdb3;
  font-size: 10px;
}

.home-proof-heading > span:last-child {
  color: #93aa8d;
}

.home-proof-paper {
  position: relative;
  padding: 24px 30px 0;
  border-radius: 4px;
  background: #fffdf6;
  color: #4c5545;
  box-shadow: 13px 15px 0 #c6d4b515, 0 12px 40px #06180e26;
  transform: rotate(-1.2deg);
}

.home-paper-top {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 22px;
  padding-bottom: 17px;
  border-bottom: 1px solid #e6e8d9;
  color: #657456;
  font-size: 10px;
}

.home-paper-icon {
  color: #8e9e7d;
  font-size: 19px;
}

.home-proof-paper > p {
  margin: 13px 0;
  font-size: 13px;
  line-height: 1.9;
}

.home-proof-paper mark {
  background: #d9e7b9;
  color: #3d5232;
  padding: 3px 0;
  box-shadow: 3px 0 #d9e7b9, -3px 0 #d9e7b9;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.home-proof-paper .home-paper-faded {
  color: #6b795e;
}

.home-paper-finding {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 22px;
  padding: 14px 0;
  border-top: 1px solid #e8eada;
  color: #6b8155;
  font-size: 10px;
}

.home-finding-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #8aa56d;
}

.home-proof-connector {
  display: flex;
  align-items: center;
  gap: 7px;
  width: 25%;
  margin: 13px 12% 7px auto;
  color: #dfaa82;
  font-family: Georgia, serif;
  font-size: 28px;
  line-height: 1;
  transform: rotate(-12deg);
}

.home-proof-connector span {
  display: block;
  width: 100%;
  border-top: 1px dashed #a7bb985e;
}

.home-proof-source {
  position: relative;
  width: 86%;
  margin-left: -22px;
  padding: 22px 25px 18px;
  border: 1px solid #e0e0ca;
  border-radius: 3px;
  background: #eae8d7;
  color: #43513a;
  box-shadow: 0 10px 35px #0b281e29;
  transform: rotate(1deg);
}

.home-source-eyebrow {
  margin-bottom: 10px;
  color: #627255;
  font-size: 8px;
  letter-spacing: 1.8px;
}

.home-proof-source h2 {
  font-size: 19px;
  font-weight: 550;
  letter-spacing: -.5px;
}

.home-proof-source p {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.8;
  color: #5c6c4f;
}

.home-source-link {
  display: inline-flex;
  align-items: center;
  gap: 19px;
  margin-top: 16px;
  padding: 10px 0 0;
  border: 0;
  border-top: 1px solid #d9dec9;
  background: transparent;
  color: #627951;
  font-size: 10px;
}

.home-hero-bottom {
  position: absolute;
  left: 6%;
  right: 6%;
  bottom: 27px;
  display: flex;
  justify-content: space-between;
  padding-top: 20px;
  border-top: 1px solid #ffffff1c;
  color: #89a382;
  font-size: 10px;
}

.home-hero-bottom a {
  color: #c3d0b8;
}

.home-hero-bottom a span {
  margin-left: 20px;
}

.home-section {
  padding: 92px 8%;
  scroll-margin-top: 25px;
}

.home-section-label {
  color: #627255;
  font-size: 10px;
  letter-spacing: 1.7px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.home-section h2 {
  font-size: clamp(32px, 3.7vw, 54px);
  font-weight: 450;
  letter-spacing: -1.8px;
  line-height: 1.15;
}

.home-how {
  padding-bottom: 78px;
}

.home-workflow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 45px;
  margin-top: 48px;
}

.home-workflow article {
  border-top: 1px solid #cbd4bf;
  padding-top: 23px;
}

.home-step-symbol {
  display: block;
  font-size: 26px;
  font-weight: 400;
  color: #91a276;
  line-height: 1;
  margin-bottom: 22px;
}

.home-workflow h3 {
  font-size: 22px;
  line-height: 1.3;
  letter-spacing: -.6px;
  font-weight: 500;
}

.home-workflow p {
  max-width: 270px;
  margin-top: 16px;
  font-size: 12px;
  line-height: 1.9;
  color: #627255;
}

.home-demo-section {
  padding-top: 42px;
  padding-bottom: 92px;
}

.home-demo-intro {
  display: flex;
  justify-content: space-between;
  gap: 60px;
  align-items: flex-end;
  margin-bottom: 35px;
}

.home-demo-intro > p {
  max-width: 335px;
  margin-bottom: 5px;
  font-size: 12px;
  line-height: 1.9;
  color: #627255;
}

.home-demo-workbench {
  border: 1px solid #dce1ce;
  border-radius: 7px;
  background: #fffdf7;
  overflow: hidden;
  box-shadow: 0 15px 40px #27442908;
}

.home-demo-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 27px;
  border-bottom: 1px solid #e5e9dc;
  background: #f0f2e7;
  color: #607351;
  font-size: 11px;
}

.home-demo-toolbar > span {
  display: flex;
  align-items: center;
  gap: 9px;
}

.home-demo-status-dot {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #829b64;
}

.home-demo-run {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: #476e36;
  font-size: 11px;
}

.home-demo-before,
.home-demo-comparison {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.home-demo-before > div,
.home-demo-comparison > div {
  padding: 32px 34px;
}

.home-demo-before > div + div,
.home-demo-comparison > div + div {
  border-left: 1px solid #e5e8da;
  background: #f9faf2;
}

.home-demo-column-label {
  color: #667658;
  font-size: 8px;
  letter-spacing: 1.4px;
  margin-bottom: 22px;
}

.home-demo-before p:not(.home-demo-column-label),
.home-demo-excerpt {
  color: #66795b;
  font-size: 13px;
  line-height: 2;
  white-space: pre-wrap;
}

.home-demo-before h3,
.home-demo-comparison h3 {
  margin-top: -6px;
  margin-bottom: 12px;
  font-size: 14px;
  font-weight: 550;
  letter-spacing: -.2px;
}

.home-demo-excerpt mark {
  background: #dfeac9;
  padding: 3px 0;
  color: #567146;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.home-demo-result-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 27px;
  border-top: 1px solid #e5e9db;
  color: #667658;
  font-size: 10px;
}

.home-demo-result-footer a {
  color: #648351;
  white-space: nowrap;
}

.home-demo-caption {
  text-align: center;
  color: #667658;
  font-size: 10px;
  margin-top: 18px;
}

.home-demo-matches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 18px 27px 0;
}

.home-demo-matches button {
  padding: 7px 13px;
  border: 1px solid #dfe6d2;
  border-radius: 4px;
  background: #fffdf7;
  color: #667658;
  font-size: 10px;
}

.home-demo-matches button[aria-pressed="true"] {
  border-color: #a7bb91;
  background: #edf3e2;
  color: #54783d;
}

.home-demo-no-matches {
  padding: 40px;
  color: #607351;
  font-size: 13px;
}

.home-privacy {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  align-items: start;
  background: #e9eddf;
  border-top: 1px solid #dee4d1;
  border-bottom: 1px solid #dee4d1;
}

.home-privacy .home-section-label {
  color: #627255;
}

.home-privacy-copy {
  padding-top: 39px;
  max-width: 400px;
}

.home-privacy-copy p {
  font-size: 13px;
  line-height: 1.9;
  color: #5d704e;
}

.home-privacy-copy p + p {
  margin-top: 19px;
}

.home-privacy-copy a {
  display: inline-flex;
  gap: 25px;
  margin-top: 24px;
  font-size: 11px;
  color: #55733f;
}

.home-final {
  padding-top: 88px;
  padding-bottom: 88px;
  text-align: center;
}

.home-final .home-primary {
  margin-top: 31px;
}

.home-final > p:last-child {
  font-size: 10px;
  margin-top: 19px;
  color: #627255;
}

.home-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin: 0 6%;
  padding: 28px 0 34px;
  border-top: 1px solid #dae1ce;
  color: #627255;
}

.home-footer .home-brand {
  color: #46613a;
  font-size: 26px;
}

.home-footer > span,
.home-footer > a:last-child {
  font-size: 10px;
}

.home-footer > a:last-child {
  color: #688653;
}

.home-reveal {
  animation: home-enter .8s cubic-bezier(.2,.7,.3,1) both;
}

.home-motion-line {
  margin:20px 0 0;
  color:var(--home-coral);
  font-size:clamp(17px, 1.7vw, 23px);
  letter-spacing:-.4px;
}

.home-roadmap-note {
  max-width:380px;
  margin-top:10px;
  color:#d2dacc;
  font-size:11px;
  line-height:1.7;
}

.home-facts {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  padding:36px 8%;
  border-bottom:1px solid var(--home-line);
  background:#eeedde;
  gap:28px;
}

.home-fact {
  display:flex;
  gap:16px;
  align-items:flex-start;
}

.home-fact > strong {
  font-size:clamp(34px, 3.5vw, 50px);
  font-weight:450;
  line-height:1;
  letter-spacing:-2px;
  white-space:nowrap;
}

.home-fact > span {
  font-size:13px;
  line-height:1.5;
}

.home-fact small {
  display:block;
  margin-top:7px;
  color:#68745e;
  font-size:10px;
  line-height:1.6;
}

@media (max-width:760px) {
  .home-facts {
    grid-template-columns:1fr;
    padding:30px 8%;
    gap:24px;
  }
}

.home-proof.home-reveal {
  animation-delay: .14s;
}

@keyframes home-enter {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (min-width: 1500px) {
  .home-nav {
    padding-left: max(6%, calc((100% - 1320px) / 2));
    padding-right: max(6%, calc((100% - 1320px) / 2));
  }

  .home-hero {
    padding-left: max(6%, calc((100% - 1320px) / 2));
    padding-right: max(8%, calc((100% - 1260px) / 2));
  }

  .home-section {
    padding-left: max(8%, calc((100% - 1260px) / 2));
    padding-right: max(8%, calc((100% - 1260px) / 2));
  }
}

@media (max-width: 1120px) {
  .home-nav {
    padding-left: 5%;
    padding-right: 5%;
  }

  .home-nav nav {
    gap: 21px;
    margin-left: 0;
  }

  .home-hero {
    padding: 62px 6% 103px;
    gap: 34px;
    grid-template-columns: 1.04fr 1fr;
  }

  .home-hero h1 {
    font-size: 68px;
    letter-spacing: -3.8px;
  }

  .home-hero h1 em {
    letter-spacing: -4px;
  }

  .home-proof-paper {
    padding: 20px 22px 0;
  }

  .home-proof-paper > p {
    font-size: 12px;
  }

  .home-proof-source {
    width: 94%;
    margin-left: -9px;
  }

  .home-hero-actions {
    gap: 12px;
    align-items: flex-start;
    flex-direction: column;
  }

  .home-hero-description {
    font-size: 13px;
  }

  .home-section {
    padding-left: 6%;
    padding-right: 6%;
  }

  .home-workflow {
    gap: 30px;
  }
}

@media (max-width: 850px) {
  .home-nav nav {
    display: none;
  }

  .home-nav {
    min-height: 84px;
  }

  .home-hero {
    grid-template-columns: 1fr;
    gap: 55px;
    padding: 57px 8% 103px;
  }

  .home-hero h1 {
    font-size: clamp(62px, 10.5vw, 83px);
  }

  .home-hero-description {
    max-width: 450px;
    font-size: 14px;
  }

  .home-hero-actions {
    flex-direction: row;
    align-items: center;
    gap: 24px;
  }

  .home-proof {
    max-width: 480px;
    justify-self: center;
    margin-left: 15px;
  }

  .home-proof-source {
    width: 88%;
    margin-left: -22px;
  }

  .home-proof-paper > p {
    font-size: 13px;
  }

  .home-section {
    padding: 66px 8%;
  }

  .home-demo-section {
    padding-top: 25px;
  }

  .home-demo-intro {
    align-items: flex-start;
    flex-direction: column;
    gap: 23px;
  }

  .home-demo-intro > p {
    max-width: 460px;
  }

  .home-workflow {
    gap: 23px;
    margin-top: 35px;
  }

  .home-workflow h3 {
    font-size: 18px;
  }

  .home-workflow p {
    font-size: 11px;
  }

  .home-privacy {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .home-privacy-copy {
    padding-top: 0;
    max-width: 550px;
  }
}

@media (max-width: 540px) {
  .home-nav {
    padding: 22px 7%;
  }

  .home-brand {
    font-size: 30px;
  }

  .home-brand-mark {
    height: 29px;
    width: 24px;
    font-size: 27px;
    margin-right: 10px;
  }

  .home-nav-cta {
    font-size: 10px;
    padding: 10px 12px;
    gap: 15px;
  }

  .home-hero {
    padding: 46px 7% 90px;
    gap: 44px;
  }

  .home-overline {
    font-size: 8px;
    letter-spacing: 1.3px;
    margin-bottom: 25px;
  }

  .home-hero h1 {
    font-size: clamp(39px, 11.2vw, 61px);
    letter-spacing: -2.6px;
    line-height: 1.03;
  }

  .home-hero h1 em {
    letter-spacing: -3px;
  }

  .home-hero-description {
    font-size: 12px;
    line-height: 1.9;
    margin-top: 22px;
  }

  .home-hero-actions {
    gap: 13px;
    margin-top: 26px;
    align-items: flex-start;
    flex-direction: column;
  }

  .home-primary {
    padding: 15px 18px;
    gap: 35px;
    font-size: 12px;
  }

  .home-text-link {
    font-size: 11px;
  }

  .home-proof {
    width: calc(100% - 7px);
    margin-left: 7px;
  }

  .home-proof-heading {
    font-size: 9px;
  }

  .home-proof-paper {
    padding: 19px 20px 0;
  }

  .home-proof-paper > p {
    font-size: 11px;
    line-height: 1.85;
  }

  .home-paper-top {
    margin-bottom: 17px;
    padding-bottom: 14px;
    font-size: 9px;
  }

  .home-paper-finding {
    font-size: 9px;
  }

  .home-proof-source {
    width: 94%;
    margin-left: -13px;
    padding: 18px 20px;
  }

  .home-proof-source h2 {
    font-size: 17px;
  }

  .home-proof-source p {
    font-size: 11px;
  }

  .home-hero-bottom {
    left: 7%;
    right: 7%;
    bottom: 22px;
    font-size: 8px;
  }

  .home-section {
    padding: 55px 7%;
  }

  .home-section h2 {
    font-size: 34px;
    letter-spacing: -1.3px;
  }

  .home-section-label {
    font-size: 8px;
    letter-spacing: 1.3px;
    margin-bottom: 16px;
  }

  .home-workflow {
    grid-template-columns: 1fr;
    gap: 27px;
    margin-top: 31px;
  }

  .home-workflow article {
    position: relative;
    padding: 21px 0 0 40px;
  }

  .home-step-symbol {
    position: absolute;
    left: 0;
    top: 22px;
    font-size: 22px;
  }

  .home-workflow h3 {
    font-size: 20px;
  }

  .home-workflow h3 br {
    display: none;
  }

  .home-workflow p {
    max-width: none;
    margin-top: 12px;
    font-size: 12px;
  }

  .home-demo-section {
    padding-top: 24px;
  }

  .home-demo-intro {
    gap: 20px;
    margin-bottom: 27px;
  }

  .home-demo-toolbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
    padding: 17px 19px;
    font-size: 9px;
  }

  .home-demo-run {
    font-size: 10px;
  }

  .home-demo-before,
  .home-demo-comparison {
    grid-template-columns: 1fr;
  }

  .home-demo-before > div,
  .home-demo-comparison > div {
    padding: 25px 20px;
  }

  .home-demo-before > div + div,
  .home-demo-comparison > div + div {
    border-left: 0;
    border-top: 1px solid #e5e8da;
  }

  .home-demo-before p:not(.home-demo-column-label),
  .home-demo-excerpt {
    font-size: 12px;
  }

  .home-demo-column-label {
    margin-bottom: 18px;
  }

  .home-demo-result-footer {
    align-items: flex-start;
    flex-direction: column;
    padding: 17px 20px;
    font-size: 9px;
    gap: 10px;
  }

  .home-demo-caption {
    font-size: 9px;
    line-height: 1.8;
    text-align: left;
  }

  .home-demo-matches {
    padding: 17px 19px 0;
  }

  .home-demo-matches button {
    font-size: 9px;
  }

  .home-privacy {
    gap: 23px;
  }

  .home-privacy-copy p {
    font-size: 12px;
  }

  .home-footer {
    margin: 0 7%;
    padding: 23px 0 28px;
    flex-wrap: wrap;
    gap: 20px;
  }

  .home-footer > span {
    order: 3;
    flex-basis: 100%;
    font-size: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-reveal {
    animation: none;
  }

  .home-page a,
  .home-page button {
    transition: none;
  }

  .home-primary:hover {
    transform: none;
  }
}

.source-packs-section {
  padding: 23px;
  margin-bottom: 22px;
  background: #edf2e5;
}

.source-pack-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
}

.source-pack-card + .source-pack-card {
  border-top: 1px solid #dce5cf;
  margin-top: 20px;
  padding-top: 20px;
}

.source-pack-card h2 {
  font-size: 15px;
  font-weight: 550;
  letter-spacing: -.25px;
}

.source-pack-card p {
  margin-top: 8px;
  max-width: 540px;
  font-size: 11px;
  color: #839474;
  line-height: 1.8;
}

.source-pack-card small {
  display: block;
  margin-top: 10px;
  font-size: 9px;
  color: #97a789;
}

.source-pack-card .button {
  flex-shrink: 0;
}

.source-provenance {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 8px;
  font-size: 10px;
  color: #91a17f;
}

.source-provenance .source-url {
  margin-top: 0;
}

.source-attribution {
  max-width: 600px;
  margin-top: 10px;
  color: #98a88a;
  font-size: 10px;
}

.source-attribution summary {
  cursor: pointer;
}

.source-attribution p {
  font-size: 10px;
}

.source-attribution .source-url {
  margin-right: 14px;
}

@media (max-width: 680px) {
  .source-pack-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 17px;
  }

  .source-packs-section {
    padding: 18px;
  }
}

.candidate-uncertain {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid #e0d5b4;
  border-radius: 7px;
  background: #faf6e9;
  color: #7f6b38;
  font-size: 11px;
  line-height: 1.8;
}

.candidate-uncertain > h3 {
  font-size: 13px;
  margin-bottom: 10px;
  color: #78632f;
}

.candidate-uncertain > p + p {
  margin-top: 8px;
}

.candidate-uncertain .uncertain-explanation {
  padding-top: 10px;
  border-top: 1px solid #e6ddc2;
}

.candidate-uncertain .comparison-columns h3 {
  color: #8c7d53;
}

.candidate-uncertain .comparison-columns blockquote {
  color: #6b634b;
  border-left-color: #d3c7a4;
}

.source-pack-installed {
  display: inline-flex;
  gap: 15px;
  align-items: center;
  flex-shrink: 0;
  color: #5e7a47;
  font-size: 11px;
}

/* Light product page: document preview, real checker, and source-first reporting. */
.home-view { background:#fbfcfa; }
.home-page.home-v3 {
  --home-forest:#24583f; --home-dark:#173c2c; --home-ivory:#fbfcfa;
  --home-coral:#739b73; --home-line:#dfe7df;
  color:#1f3026; background:#fbfcfa; overflow:clip;
}
.home-v3 [hidden] { display:none !important; }
.home-v3 .home-nav {
  position:sticky; top:0; z-index:30; min-height:80px;
  padding:18px max(32px,calc((100vw - 1160px)/2));
  color:#223b2b; background:#ffffffed; border-bottom:1px solid #e5ebe4;
  backdrop-filter:blur(16px);
}
.home-v3 .home-brand { display:inline-flex; align-items:center; font-size:31px; font-weight:700; letter-spacing:-1.6px; color:#20372a; white-space:nowrap; }
.home-logo { display:inline-flex; align-items:center; justify-content:center; width:33px; height:35px; margin-right:9px; padding:0 3px 7px 0; border-radius:10px; background:#285b43; color:#fff; font:italic 33px/1 Georgia,serif; }
.home-v3 .home-brand-dot { color:#71986d; }
.home-v3 .home-nav nav { margin:0 0 0 30px; gap:28px; }
.home-v3 .home-nav nav a { color:#66736a; font-size:12px; }
.home-v3 .home-nav nav a:hover { color:#24583f; }
.home-v3 .home-nav-cta { color:#28583f; border:1px solid #d4dfd4; border-radius:8px; padding:11px 15px; font-size:12px; font-weight:550; gap:22px; background:#fff; white-space:nowrap; }
.home-v3 .home-nav-cta:hover { background:#f0f6ef; border-color:#afc7b2; }
.landing-section { width:calc(100% - 96px); max-width:1160px; margin:0 auto; }
.landing-hero { background:radial-gradient(ellipse at 84% 55%,#eaf2e7 0%,#f6f9f2 35%,#fbfcfa 68%); border-bottom:1px solid #e5ebe1; }
.landing-hero-inner { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:55px; width:calc(100% - 96px); max-width:1160px; min-height:625px; margin:auto; padding:66px 0 82px; }
.landing-copy { position:relative; z-index:2; }
.landing-eyebrow,.landing-label { color:#74836e; font:500 10px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:1.35px; }
.landing-eyebrow { display:flex; align-items:center; gap:9px; margin-bottom:25px; }
.landing-eyebrow > span { width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:#70926a; }
.landing-title { margin:0; font-size:clamp(43px,4.75vw,69px); font-weight:650; line-height:1.08; letter-spacing:-.052em; }
.landing-title > span { color:#3c7250; }
.landing-description { max-width:430px; margin-top:25px; font-size:16px; line-height:1.8; color:#6a766d; }
.landing-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:30px; }
.landing-button { display:inline-flex; justify-content:space-between; align-items:center; gap:35px; padding:15px 22px; color:#fff; background:#285b43; border:1px solid #285b43; border-radius:8px; font-size:13px; font-weight:600; box-shadow:0 4px 10px #315d4110; transition:background .18s,transform .18s; }
.landing-button > span { font-size:20px; font-weight:400; line-height:1; }
.landing-button:hover { color:#fff; background:#1d4833; text-decoration:none; transform:translateY(-1px); }
.landing-text-link { display:inline-flex; align-items:center; gap:12px; font-size:12px; color:#5f7063; }
.landing-formats { margin-top:13px; font-size:10px; color:#889183; }
.landing-benefits { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:32px; color:#6b786d; font-size:10px; }
.landing-benefits > span { display:flex; align-items:center; gap:6px; }
.landing-benefits i { display:flex; align-items:center; justify-content:center; width:15px; height:15px; font-size:9px; font-style:normal; border-radius:50%; color:#4e7651; background:#e6efdf; }
.landing-preview { position:relative; min-width:0; height:444px; }
.preview-grid { position:absolute; inset:-42px -36px; background-image:linear-gradient(#809b7310 1px,transparent 1px),linear-gradient(90deg,#809b7310 1px,transparent 1px); background-size:28px 28px; mask-image:radial-gradient(ellipse,#000 15%,transparent 70%); }
.preview-note { position:absolute; right:7px; top:-1px; z-index:5; display:flex; align-items:center; gap:10px; padding:13px 17px; border:1px solid #dce7d8; border-radius:11px; background:#fffffff5; box-shadow:0 6px 22px #335e3c09; transform:rotate(2deg); }
.preview-check { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#e9f3df; color:#47783c; font-size:15px; }
.preview-note strong { display:block; color:#42613e; font-size:11px; font-weight:600; }
.preview-note div > span { display:block; margin-top:3px; color:#94a08c; font-size:9px; }
.preview-paper-back { position:absolute; inset:36px 36px 40px 52px; background:#eaf0df; border:1px solid #d5dfcd; border-radius:12px; transform:rotate(5deg); }
.preview-document { position:absolute; inset:45px 17px 35px 7px; z-index:2; border:1px solid #dce4d9; border-radius:12px; background:#fff; box-shadow:0 15px 38px #345a3c12; transform:rotate(-2deg); overflow:hidden; }
.preview-toolbar { display:flex; align-items:center; gap:8px; height:42px; padding:0 18px; color:#899285; background:#fafcf8; border-bottom:1px solid #e9eee4; font:10px ui-monospace,SFMono-Regular,Consolas,monospace; }
.preview-file-icon { display:grid; place-items:center; width:19px; height:23px; border:1px solid #cddac6; border-radius:3px; color:#577d50; font-size:10px; }
.preview-example { margin-left:auto; color:#9ca692; font:9px var(--font); }
.preview-doc-body { padding:25px 29px 15px; }
.preview-doc-kicker { color:#a0aa97; font:8px ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:1px; }
.preview-doc-body h2 { margin-top:10px; color:#53654f; font-size:22px; line-height:1.22; font-weight:550; letter-spacing:-.8px; }
.preview-text-lines { display:grid; gap:7px; margin:18px 0 14px; }
.preview-text-lines i { display:block; height:4px; border-radius:4px; background:#edf0e9; }
.preview-text-lines i:last-child { width:81%; }
.preview-text-lines.short { width:77%; margin-top:14px; }
.preview-highlight { padding:8px 10px; border-left:2px solid #a5c57e; border-radius:0 4px 4px 0; background:#eaf3da; color:#617449; font-size:11px; line-height:1.7; }
.preview-doc-paragraph { max-width:76%; margin-top:13px; color:#9aa491; font-size:10px; line-height:1.7; }
.preview-doc-footer { display:flex; align-items:center; justify-content:space-between; padding:11px 18px; border-top:1px solid #edf0e8; color:#9aa68f; font:8px ui-monospace,SFMono-Regular,Consolas,monospace; }
.preview-doc-footer span:first-child { display:flex; align-items:center; gap:6px; }
.preview-doc-footer i { width:5px; height:5px; border-radius:50%; background:#a7c17c; }
.preview-source { position:absolute; z-index:4; right:-12px; bottom:-7px; width:310px; padding:17px 19px; background:#fff; border:1px solid #d9e4d2; border-radius:10px; box-shadow:0 14px 35px #34563e13; transform:rotate(1.5deg); }
.preview-source-top { display:flex; align-items:center; gap:7px; color:#93a085; font:7px ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.4px; }
.preview-source-icon { font:14px var(--font); color:#719361; }
.preview-source-tag { margin-left:auto; padding:3px 6px; background:#eff5e7; border-radius:4px; color:#72935b; font:8px var(--font); letter-spacing:0; }
.preview-source > strong { display:block; margin-top:13px; font-size:12px; color:#4a6342; font-weight:600; }
.preview-source > p { margin-top:7px; font-size:10px; line-height:1.75; color:#819172; }
.preview-source-caption { display:block; margin-top:10px; color:#a3ad9b; font-size:8px; }
.landing-how { padding:83px 0 90px; }
.landing-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:35px; }
.landing-section-heading h2,.landing-check-copy h2,.landing-faq h2 { margin-top:14px; font-size:clamp(30px,3.4vw,43px); line-height:1.18; font-weight:550; letter-spacing:-1.7px; }
.landing-section-heading > p { padding-bottom:4px; color:#81907e; font-size:12px; line-height:1.8; }
.landing-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.landing-steps article { padding:26px; border:1px solid #e0e8dc; border-radius:12px; background:#fff; }
.step-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:38px; color:#89a07a; font:11px ui-monospace,SFMono-Regular,Consolas,monospace; }
.step-top > span:last-child { display:grid; place-items:center; width:31px; height:31px; border:1px solid #e3ecdc; border-radius:50%; font:18px var(--font); }
.landing-steps h3 { font-size:17px; font-weight:550; letter-spacing:-.4px; }
.landing-steps p { margin-top:12px; color:#68775f; font-size:12px; line-height:1.85; }
.landing-check-section { border-top:1px solid #e0e8db; border-bottom:1px solid #e0e8db; background:#f0f5eb; scroll-margin-top:90px; }
.landing-check-layout { display:grid; grid-template-columns:.82fr 1.18fr; align-items:start; gap:85px; padding:80px 0; }
.landing-check-copy { padding-top:23px; }
.landing-check-copy > p:not(.landing-label):not(.home-v2-status):not(.home-existing-draft) { margin-top:22px; max-width:320px; color:#77876d; font-size:13px; line-height:1.9; }
.landing-check-note { display:flex; align-items:center; gap:12px; margin-top:34px; color:#739268; }
.landing-check-note > span { display:grid; place-items:center; width:38px; height:38px; border:1px solid #cdddc2; border-radius:9px; font-size:22px; }
.landing-check-note p { font-size:11px; line-height:1.9; color:#87977b; }
.landing-check-note a { color:#446c3d; }
.home-v3 .home-v2-status { display:inline-block; margin-top:33px; padding:6px 9px; border:1px solid #d9e3d0; border-radius:5px; font-size:9px; color:#7b8c70; background:#ffffff50; }
.home-v3 .home-existing-draft { margin-top:13px; font-size:10px; line-height:1.8; color:#8b9982; }
.home-v3 .home-existing-draft a { color:#5d7f4f; }
.home-v3 .home-checker { position:relative; padding:26px; border:1px solid #dbe5d3; border-radius:15px; background:#fff; box-shadow:0 8px 30px #355a3d06; }
.home-v3 .home-checker-heading,.home-v3 .home-input-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.home-v3 .home-checker-heading > label { font-size:14px; font-weight:600; letter-spacing:-.3px; }
.landing-format-tag { padding:4px 7px; color:#89967c; border:1px solid #e4eadf; border-radius:4px; font:9px ui-monospace,SFMono-Regular,Consolas,monospace; }
.home-v3 .home-checker textarea { width:100%; height:210px; min-height:140px; margin-top:18px; padding:17px; border:1px solid #e0e7db; border-radius:9px; resize:vertical; background:#fcfdf9; color:#364a32; font-size:13px; line-height:1.8; }
.home-v3 .home-checker textarea::placeholder { color:#a4ae9b; }
.home-v3 .home-checker textarea:focus { outline:2px solid #dce9cf; outline-offset:2px; border-color:#a9c28f; }
.home-v3 .home-input-meta { margin-top:8px; color:#7a8870; font-size:10px; }
.landing-dropzone { position:relative; display:flex; align-items:center; gap:13px; margin:18px 0 20px; padding:14px 16px; border:1px dashed #c7d7bc; border-radius:8px; background:#fafcf7; color:#6c805b; font-size:12px; cursor:pointer; transition:background .16s,border-color .16s; }
.landing-dropzone:hover,.landing-dropzone.is-dragover { background:#edf5e4; border-color:#7fa166; }
.landing-dropzone strong { color:#5a7c49; font-weight:600; }
.landing-dropzone small { display:block; margin-top:3px; font-size:9px; color:#7a8b6c; }
.dropzone-icon { display:grid; place-items:center; width:30px; height:30px; border:1px solid #e0e9d8; border-radius:7px; background:#fff; color:#75945f; font-size:19px; }
.home-v3 .landing-dropzone input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.home-v3 .home-consent { display:flex; align-items:flex-start; gap:9px; color:#68785d; font-size:11px; line-height:1.65; cursor:pointer; }
.home-v3 .home-consent input { flex:0 0 15px; width:15px; height:15px; margin:1px 0 0; accent-color:#547d43; }
.home-v3 .home-primary { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:49px; gap:12px; padding:13px 17px; margin-top:18px; border:1px solid #285b43; border-radius:7px; color:#fff; background:#285b43; font-size:12px; font-weight:600; }
.home-v3 .home-primary > span { font-size:20px; font-weight:400; }
.home-v3 .home-primary:hover:not(:disabled) { background:#1e4934; }
.home-v3 .home-primary:disabled { opacity:1; cursor:not-allowed; background:#e5ebdf; border-color:#e5ebdf; color:#99a68d; }
.home-v3 .home-secondary-check { display:flex; justify-content:center; gap:16px; margin-top:17px; padding-top:16px; border-top:1px solid #edf0e7; color:#627e50; font-size:11px; }
.home-v3 .home-connect-note,.home-v3 .home-check-progress,.home-v3 .home-quota,.home-v3 .home-setup-link { display:block; margin-top:10px; font-size:11px; line-height:1.65; }
.home-v3 .home-checker .inline-error:empty { display:none; }
.home-v3 .home-checker .inline-error:not(:empty) { margin-top:12px; font-size:12px; }
.home-report-result { width:calc(100% - 96px); max-width:1160px; margin:30px auto 60px; padding:0; }
.home-result-card { padding:28px; border:1px solid #dfe7d9; border-radius:14px; background:#fff; }
.home-result-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:24px; }
.home-result-heading h2 { font-size:clamp(34px,5vw,60px); font-weight:500; letter-spacing:-2px; }
.home-result-heading a { font-size:11px; }
.home-result-sources article { padding:20px 0; border-top:1px solid var(--line); }
.home-result-sources blockquote { margin:12px 0; font-size:13px; white-space:pre-wrap; }
.home-section-label { color:#7f9275; font:10px ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:1px; margin-bottom:10px; }
.landing-features { padding:90px 0; }
.landing-feature-grid { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:18px; }
.landing-feature-grid > article { position:relative; padding:26px; border:1px solid #e0e8db; border-radius:12px; background:#fff; }
.feature-symbol { display:grid; place-items:center; width:35px; height:35px; margin-bottom:22px; border:1px solid #dce8d2; border-radius:9px; background:#f5f9ef; color:#6e925a; font-size:20px; }
.landing-feature-grid h3 { font-size:16px; font-weight:550; letter-spacing:-.35px; }
.landing-feature-grid p { margin-top:11px; color:#6d7c62; font-size:12px; line-height:1.85; }
.landing-feature-grid .feature-main { grid-row:span 2; background:#f3f7ee; }
.feature-source-list { display:grid; gap:9px; margin-top:35px; }
.feature-source-list > span { display:flex; align-items:center; gap:9px; padding:11px 12px; color:#8c9d7d; border:1px solid #e0e8d7; border-radius:7px; background:#ffffffa6; font-size:10px; }
.feature-source-list i { display:grid; place-items:center; width:19px; height:19px; border:1px solid #dbe6d0; border-radius:4px; color:#8aa275; font-style:normal; }
.feature-source-list b { margin-left:auto; color:#a0b18e; font-weight:400; }
.landing-feature-grid .feature-library { grid-column:span 2; }
.feature-library .feature-symbol { float:right; margin-bottom:0; }
.feature-library p { max-width:340px; }
.feature-library > a { display:inline-flex; gap:30px; margin-top:17px; color:#63854e; font-size:11px; }
.feature-library > small { display:block; margin-top:11px; color:#a1ad95; font-size:9px; }
.feature-library > small strong { font-weight:500; }
.landing-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:85px; padding:30px 0 100px; scroll-margin-top:100px; }
.landing-faq > div:first-child > p:last-child { margin-top:22px; color:#8a987f; font-size:12px; line-height:1.85; }
.landing-faq-list { border-top:1px solid #dce6d5; }
.landing-faq details { border-bottom:1px solid #dfe8d8; }
.landing-faq summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:21px 0; list-style:none; color:#526a46; font-size:13px; font-weight:500; cursor:pointer; }
.landing-faq summary::-webkit-details-marker { display:none; }
.landing-faq summary > span { color:#9caf8b; font-size:20px; font-weight:300; transition:transform .16s; }
.landing-faq details[open] summary > span { transform:rotate(45deg); }
.landing-faq details > p { padding:0 32px 22px 0; color:#6d7d60; font-size:12px; line-height:1.9; }
.landing-faq details strong { font-weight:500; }
.landing-final { display:flex; justify-content:space-between; align-items:center; gap:30px; width:calc(100% - 96px); max-width:1160px; margin:0 auto 85px; padding:36px 40px; border:1px solid #dce8d2; border-radius:14px; background:#f0f6e8; }
.landing-final h2 { margin-top:13px; color:#476439; font-size:35px; line-height:1.2; letter-spacing:-1.25px; font-weight:500; }
.home-v3 .home-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:32px max(32px,calc((100vw - 1160px)/2)); background:#fff; border-top:1px solid #e5ebe0; color:#8c9e7e; font-size:10px; }
.home-v3 .home-footer .home-brand { font-size:28px; }
.home-v3 .home-footer > div { display:flex; gap:23px; }
.home-v3 .home-footer a { color:#6a8757; }
.home-v3 [id] { scroll-margin-top:100px; }
.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; }

/* The workspace shares the light palette without changing its document layout. */
:root { --bg:#f6f8f5; --ink:#25372a; --muted:#7a8972; --line:#dfe7d9; --green:#285b43; --green-dark:#1d4833; --soft:#eef4e7; --radius:14px; }
body:not(.home-view) .sidebar { background:#fff; border-color:#e0e8da; }
body:not(.home-view) .topbar { background:#ffffffd9; border-color:#e0e8da; }
body:not(.home-view) .nav-link { border:1px solid transparent; }
body:not(.home-view) .nav-link.active { background:#edf4e6; border-color:#dfe9d4; color:#3b6630; }
body:not(.home-view) .nav-link:hover { background:#f2f6ed; }
body:not(.home-view) .card { background:#fff; border-color:#dfe8d8; box-shadow:0 3px 14px #315a3d03; }
body:not(.home-view) .check-modes { background:#eaf1e2; }
body:not(.home-view) .model-pill { background:#fff; border-color:#dce6d4; }
body:not(.home-view) .editor-header { background:#fcfdf9; }
body:not(.home-view) .button:not(.secondary) { background:#285b43; }
body:not(.home-view) .button.secondary { background:#fff; border-color:#d8e3cf; }
.web-stats .coverage-status { font-size:clamp(1.1rem,3vw,1.75rem); }
@media (max-width:480px) {
  .web-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .web-stats > .stat-card:last-child { grid-column:1 / -1; }
  .check-modes { width:100%; }
  .mode-tab { flex:1; min-width:0; padding-inline:12px; }
}
.home-source-comparison { margin-block:18px; }
.web-score-label { margin-block:12px; }
#comparison-area,#home-fragments { scroll-margin-block-start:1rem; }

@media (max-width:1050px) {
  .home-v3 .home-nav nav { gap:20px; margin-left:0; }
  .home-v3 .home-nav-cta { font-size:11px; gap:12px; }
  .landing-hero-inner { gap:35px; }
  .landing-title { font-size:clamp(41px,5.1vw,56px); }
  .landing-description { font-size:14px; }
  .landing-preview { height:400px; }
  .preview-doc-body { padding:22px; }
  .preview-doc-body h2 { font-size:19px; }
  .preview-source { width:270px; right:-5px; }
  .preview-note { right:0; padding:11px; }
  .preview-note strong { font-size:10px; }
  .preview-example { font-size:8px; }
  .landing-actions { gap:18px; }
  .landing-check-layout,.landing-faq { gap:50px; }
  .landing-feature-grid > article { padding:22px; }
}
@media (max-width:760px) {
  .home-v3 .home-nav { min-height:68px; padding:16px 24px; gap:18px; }
  .home-v3 .home-nav nav { display:none; }
  .home-v3 .home-brand { font-size:28px; }
  .home-logo { width:28px; height:30px; font-size:29px; border-radius:8px; }
  .home-v3 .home-nav-cta { font-size:10px; padding:9px 10px; gap:12px; }
  .landing-section,.landing-hero-inner,.landing-final,.home-report-result { width:calc(100% - 44px); }
  .landing-hero-inner { grid-template-columns:1fr; gap:55px; padding:46px 0 60px; }
  .landing-copy { max-width:520px; }
  .landing-eyebrow { font-size:8px; letter-spacing:1px; margin-bottom:20px; }
  .landing-title { font-size:clamp(40px,8.5vw,60px); }
  .landing-description { max-width:390px; margin-top:23px; font-size:14px; }
  .landing-actions { margin-top:25px; }
  .landing-benefits { margin-top:24px; gap:9px 16px; }
  .landing-preview { width:100%; max-width:520px; margin:0 auto; height:408px; }
  .preview-document { left:0; right:12px; }
  .preview-source { right:-2px; bottom:-5px; width:280px; }
  .preview-note { top:-13px; right:0; }
  .landing-how,.landing-features { padding:58px 0; }
  .landing-section-heading { display:block; margin-bottom:25px; }
  .landing-section-heading h2,.landing-check-copy h2,.landing-faq h2 { font-size:32px; letter-spacing:-1.2px; }
  .landing-section-heading > p { margin-top:17px; font-size:12px; }
  .landing-steps { grid-template-columns:1fr; gap:12px; }
  .landing-steps article { padding:22px; }
  .step-top { margin-bottom:25px; }
  .landing-steps p { max-width:400px; }
  .landing-check-layout { grid-template-columns:1fr; gap:28px; padding:45px 0; }
  .landing-check-copy { padding-top:0; }
  .landing-check-copy > p:not(.landing-label):not(.home-v2-status):not(.home-existing-draft) { max-width:400px; margin-top:17px; }
  .landing-check-note { display:none; }
  .home-v3 .home-v2-status { margin-top:20px; }
  .home-v3 .home-checker { padding:20px; }
  .home-v3 .home-checker textarea { height:190px; }
  .landing-feature-grid { grid-template-columns:1fr 1fr; gap:12px; }
  .landing-feature-grid .feature-main { grid-column:span 2; grid-row:auto; }
  .feature-source-list { margin-top:20px; }
  .landing-feature-grid .feature-library { grid-column:span 2; }
  .landing-feature-grid > article { padding:22px; }
  .landing-faq { grid-template-columns:1fr; gap:25px; padding:12px 0 58px; }
  .landing-faq > div:first-child > p:last-child { display:none; }
  .landing-faq summary { font-size:12px; padding:19px 0; }
  .landing-final { margin-bottom:45px; padding:28px; flex-direction:column; align-items:flex-start; }
  .landing-final h2 { font-size:30px; }
  .landing-final .landing-button { margin-top:5px; }
  .home-v3 .home-footer { flex-wrap:wrap; padding:26px 22px; gap:20px; }
  .home-v3 .home-footer > span { margin-left:auto; font-size:9px; }
  .home-v3 .home-footer > div { width:100%; justify-content:space-between; }
  .home-result-heading { flex-direction:column; }
  .home-result-card { padding:20px; }
  .home-v3 [id] { scroll-margin-top:84px; }
}
@media (max-width:380px) {
  .home-v3 .home-nav { padding:14px 18px; }
  .home-v3 .home-nav-cta { gap:6px; font-size:9px; }
  .landing-title { font-size:37px; }
  .landing-actions { gap:18px; }
  .landing-button { font-size:12px; gap:25px; padding:14px 18px; }
  .landing-preview { height:390px; }
  .preview-document { right:7px; }
  .preview-toolbar { padding:0 12px; font-size:9px; }
  .preview-example { font-size:7px; }
  .preview-source { width:250px; }
  .preview-note strong { font-size:9px; }
  .preview-note div > span { font-size:8px; }
  .landing-feature-grid { grid-template-columns:1fr; }
  .landing-feature-grid > article,.landing-feature-grid .feature-main,.landing-feature-grid .feature-library { grid-column:auto; }
}
@media (prefers-reduced-motion:reduce) {
  .landing-button,.landing-faq summary > span,.landing-dropzone { transition:none; }
  .landing-button:hover { transform:none; }
}

/* Account actions remain reachable when the narrow sidebar hides its footer. */
#owner-link, #logout-button, .home-owner-link { font-size:12px; white-space:nowrap; }
@media(max-width:680px) {
  .topbar { height:auto; min-height:63px; flex-wrap:wrap; gap:8px; padding:12px 14px; }
  .account-tools { gap:6px 10px; }
  .home-owner-link { margin-left:auto; }
}
@media(max-width:680px) {
  .home-v3 .home-nav { flex-wrap:wrap; }
  .home-v3 .home-nav-cta { flex-basis:100%; justify-content:center; }
}
.home-checker-heading { flex-wrap:wrap; gap:8px; }
.text-statistics { margin-top:16px; }
.text-statistics summary { cursor:pointer; font-weight:600; }
.text-statistics p { overflow-wrap:anywhere; }

/* Personal data dashboard: bounded previews and reversible actions. */
.data-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:20px 0}
.data-metric{display:flex;flex-direction:column;gap:7px;padding:22px}.data-metric strong{font-size:30px;font-weight:600;color:var(--green,#173c2e)}.data-metric span{font-size:13px;color:#69726b}
.data-controls{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.data-controls p{line-height:1.65}.data-controls .button{margin-top:8px}
.data-toolbar{display:flex;align-items:end;gap:20px;flex-wrap:wrap}.data-toolbar h2{margin-right:auto}.data-toolbar label{display:grid;gap:6px;font-size:13px}.data-toolbar input,.data-toolbar select{max-width:100%;padding:10px;border:1px solid #d9dfd7;border-radius:8px;background:#fff;color:#24372a}
.data-row{display:flex;align-items:center;gap:20px;padding:20px 0;border-top:1px solid #e5e9e2}.data-row>div:first-child{flex:1;min-width:0}.data-row h3{font-size:15px;line-height:1.6;margin:5px 0;overflow-wrap:anywhere;font-weight:500}.data-row p{font-size:12px;overflow-wrap:anywhere}.data-row small{color:#69726b}.data-row-actions{display:flex;gap:12px;align-items:center;flex-shrink:0}
#owner-statistics{margin-top:24px}
@media(max-width:650px){.data-controls{grid-template-columns:1fr;gap:6px}.data-row{align-items:start;flex-direction:column;gap:8px}.data-row-actions{flex-wrap:wrap}.data-toolbar{gap:12px}.data-toolbar h2{width:100%;margin-bottom:0}.data-toolbar label{width:100%}.data-metrics{grid-template-columns:1fr}.data-metric{padding:16px}}

.proofreader{border:1px solid #e2e6dc;border-radius:10px;padding:14px;margin:12px 0;background:#fafbf7}.proofreader summary,.data-dictionary summary{cursor:pointer;font-weight:500}.proofreader .field-help{line-height:1.6}.proofread-issue{padding:12px 0;border-top:1px solid #e2e6dc}.proofread-issue p{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.proofread-issue mark{padding:2px 4px;background:#f4e6bd;color:#483b18}.proofread-actions{display:flex;flex-wrap:wrap;gap:8px}.proofread-actions button{max-width:100%;overflow-wrap:anywhere}.proofread-frequencies{margin-top:18px}.proofread-frequencies ul{font-size:13px;line-height:1.8;padding-left:20px}.data-dictionary{margin-top:24px}.dictionary-words{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;max-height:300px;overflow:auto}.dictionary-words li{display:flex;align-items:center;gap:10px;padding:4px 10px;border:1px solid #e2e6dc;border-radius:8px;font-size:13px}

.data-controls,.data-records,.data-dictionary,#owner-statistics{padding:24px}@media(max-width:650px){.data-controls,.data-records,.data-dictionary,#owner-statistics{padding:16px}}
.data-api{padding:24px;margin-top:24px}.data-api summary{cursor:pointer;font-weight:500}.api-key-scopes{display:grid;gap:10px;border:1px solid #e2e6dc;border-radius:8px;margin:18px 0;padding:14px}.api-key-scopes label{display:flex;align-items:start;gap:10px;font-size:13px;line-height:1.6}.api-key-scopes input{width:auto;margin-top:4px}.api-secret-label{display:grid;gap:8px;margin:14px 0}.api-secret-label input{width:100%;min-width:0;box-sizing:border-box;padding:12px}.data-api p{line-height:1.7;overflow-wrap:anywhere}@media(max-width:650px){.data-api{padding:16px}.data-api .data-toolbar input{width:100%;box-sizing:border-box}}
