/* Remaining public, learner, tutor and legacy-course surfaces.
   Loaded explicitly: the browser homepage and knowledge base keep their design. */
.paper-content, .learner-paper, .paper-demo {
  --paper-sheet: #FFFAF2;
  --paper-sheet-edge: #DED2BD;
  --paper-ink: #1C1815;
}
.paper-content main, .learner-paper main { min-width: 0; }
.paper-content h1, .learner-paper h1 {
  color: var(--on-surface);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  line-height: 1.15;
}
.paper-content .hero h1 { font-size: clamp(36px, 6vw, 64px); }
.paper-document { width: min(100%, 860px); margin: 0 auto; padding: 48px 24px 72px; box-sizing: border-box; line-height: 1.7; }
.paper-document h1 { font-size: clamp(32px, 5vw, 48px); margin: 0 0 20px; }
.paper-document h2 { margin-top: 32px; font-family: Georgia, serif; font-weight: 500; }
.paper-document .date { color: var(--on-surface-variant); padding-bottom: 24px; border-bottom: 1px solid var(--outline-variant); }
.paper-document a:not(.btn) { color: var(--primary-container); }
.paper-document .btn { margin-top: 20px; }
.paper-content .footer, .learner-paper .footer { background: var(--surface); border-color: var(--outline-variant); }
.paper-content .seo-founder-card, .paper-content .seo-comparison-grid article,
.paper-content .plan-card { background: var(--surface-container-lowest); border-color: var(--outline-variant); box-shadow: none; }
.paper-content .plan-card.is-featured { border-color: var(--primary); }
.paper-content .knowledge-graph-hero h1, .paper-content .seo-guide-hero h1 { font-family: Georgia, serif; font-weight: 500; }
.paper-content .auth-card { border: 0; border-top: 1px solid var(--outline-variant); border-radius: 0; background: transparent; }
.paper-content .learn-stat, .paper-content .learn-map-node { box-shadow: none; }
.paper-content .learn-stat-value { font-family: Georgia, serif; font-weight: 500; }
.paper-content .learn-admin { overflow-x: auto; }
.paper-content .learn-admin-table { width: 100%; border-collapse: collapse; }
.paper-content .learn-admin-table th, .paper-content .learn-admin-table td { padding: 12px; border-bottom: 1px solid var(--outline-variant); text-align: left; }
.paper-content input:not([type=radio]):not([type=checkbox]),
.paper-content textarea, .paper-content select,
.learner-paper input:not([type=radio]):not([type=checkbox]),
.learner-paper textarea, .learner-paper select {
  box-sizing: border-box; min-width: 0; max-width: 100%;
  background: var(--surface-container-lowest); color: var(--on-surface);
  border-color: var(--outline-variant); font-family: inherit;
}
.paper-content input:focus-visible, .paper-content textarea:focus-visible,
.learner-paper input:focus-visible, .learner-paper textarea:focus-visible,
.learner-paper summary:focus-visible { outline: 2px solid var(--primary-container); outline-offset: 3px; }
.paper-content input[type=radio], .paper-content input[type=checkbox],
.learner-paper input[type=radio], .learner-paper input[type=checkbox] { accent-color: var(--primary); }
.learner-paper .dse-panel,
.learner-paper .dse-review-card, .learner-paper .dse-paper-card,
.learner-paper .dse-register-gate-card, .learner-paper .dse-feedback-card,
.learner-paper .dse-node-evidence-card, .learner-paper .tutor-metric-card,
.learner-paper .tutor-problem-card {
  background: var(--surface-container-lowest); border-color: var(--outline-variant); box-shadow: none;
}
.learner-paper .dse-memento-feedback-card { background: transparent; }
.learner-paper .dse-task { background: transparent; box-shadow: none; }
.learner-paper .dse-task h1 { font-size: clamp(23px, 3vw, 32px); line-height: 1.3; }
.learner-paper .dse-task-paper-1, .learner-paper .dse-task-paper-3 { --accent: var(--dashboard-secondary); }
.learner-paper .dse-task-paper-2 { --accent: var(--primary-container); }
.learner-paper .learner-access { background: transparent; border: 0; border-top: 1px solid var(--outline-variant); border-radius: 0; }
.learner-paper .learner-waitlist { border-color: var(--outline-variant); }
.learner-paper .learner-access-error, .learner-paper .pilot-invite-error { color: var(--primary-container); }
.learner-paper .learner-access-success { color: var(--dashboard-secondary); }
.learner-paper .dse-practice-report-summary article { background: transparent; border: 0; border-top: 3px solid var(--primary); border-radius: 0; box-shadow: none; }
.learner-paper .dse-practice-report-summary strong, .learner-paper .tutor-metric-card > strong { font-family: Georgia, serif; font-weight: 500; }
.learner-paper .tutor-product-nav { flex-wrap: wrap; overflow: visible; }
.learner-paper .tutor-heading, .learner-paper .tutor-section-heading { flex-wrap: wrap; }
.learner-paper .tutor-main h1 { font-size: clamp(32px, 5vw, 48px); }
.learner-paper .tutor-main table { width: 100%; }
.learner-paper .tutor-choice, .learner-paper .dse-choice { background: var(--surface-container-lowest); border-color: var(--outline-variant); }
.learner-paper .tutor-choice:has(input:checked) { background: var(--secondary-container); border-color: var(--primary); }
.paper-demo .td-org-mark, .paper-demo .td-top-avatar { background: var(--secondary-container); color: var(--primary-container); }
.paper-demo .td-card, .paper-demo .td-modal-dialog { background: var(--td-bg); border-color: var(--td-line); }
.paper-demo .td-modal input, .paper-demo .td-modal textarea { background: var(--td-soft); color: var(--td-ink); border-color: var(--td-line); }
.paper-demo .td-marking-review, .paper-demo .td-response-sheet { background: var(--td-card); }
@media (max-width: 600px) {
  .paper-document { padding: 32px 20px 48px; }
  .paper-content .auth-shell { padding-inline: 16px; }
  .learner-paper .tutor-product-nav { gap: 12px; padding-inline: 16px; }
  .learner-paper .tutor-product-nav .tutor-academy-link { margin-left: 0; }
  .learner-paper .tutor-main .dse-assignment-form { grid-template-columns: minmax(0, 1fr); }
  .learner-paper .dse-practice-report-summary strong { overflow-wrap: anywhere; }
}
/* Keep inherited form layouts from stacking the radio above its answer. */
.learner-paper .tutor-assignment-problem .tutor-choice {
  display: flex; flex-direction: row; align-items: flex-start; gap: 12px;
  padding: 12px; border: 1px solid var(--outline-variant); border-radius: 12px;
  color: var(--on-surface); font-size: 15px; line-height: 1.5;
}
.learner-paper .tutor-choice input[type=radio] { flex: 0 0 auto; width: auto; margin: 4px 0 0; }
.paper-content .method-final-cta { background: var(--secondary-container); border-color: var(--outline-variant); box-shadow: none; }
.paper-demo .td-search, .paper-demo .td-context-bar,
.paper-demo .td-library-panel .td-toolbar > select,
.paper-demo .td-modal-card, .paper-demo .td-modal-card label > input,
.paper-demo .td-modal-card label > select, .paper-demo .td-modal-card textarea,
.paper-demo .td-tutor-mark input, .paper-demo .td-tutor-mark textarea {
  background: var(--td-card); color: var(--td-ink); border-color: var(--td-line);
}

/* Diagnostics and practice use the established green-teal reading accent.
   Branding, dashboards and account pages retain their own palette. */
:is(.learner-paper, .learn-page.paper-ui):has(
  .dse-task, .dse-practice-setup, .dse-practice-break,
  .dse-practice-summary, .dse-results-hero, [data-results-shell],
  .dse-grading-wait, .dse-marking-wait, .pilot-results-page,
  .pilot-essay-form, .tutor-assignment-problem,
  .learn-lesson, .learn-review, .learn-diagnostic
) {
  --primary: #12756B;
  --primary-container: #0D5B53;
  --secondary-container: #DFF1E7;
  --on-secondary-container: #0D5B53;
  --accent-highlight: #DFF1E7;
  --dashboard-accent-hover: #16877B;
  --dashboard-accent-edge: #094C46;
  --error: #B34A4A;
}
.learner-paper .dse-task { --accent: var(--primary); }

.learn-page.paper-ui:has(.learn-lesson, .learn-review, .learn-diagnostic) .btn.btn-primary {
  --button-face: var(--primary);
  --button-hover: var(--dashboard-accent-hover);
  --button-edge: var(--dashboard-accent-edge);
  --button-rule: var(--primary);
}
.learner-paper .dse-practice-setup-card .btn-primary { box-shadow: 0 4px 0 var(--dashboard-accent-edge); }
.learner-paper .dse-practice-setup-card .btn-primary:hover:not(:disabled) { background: var(--dashboard-accent-hover); }
.learner-paper .dse-pill-group input:checked + .dse-pill { box-shadow: 0 1px 0 var(--dashboard-accent-edge); }
.learner-paper .dse-choice:has(input:checked) { border-color: var(--primary); background: var(--secondary-container); }
