/* GO3D master theme: shared by the Project Desk and GO3D modules. */
:root {
  color-scheme: dark;
  --go3d-navy: #0a1722;
  --go3d-blue: #087cff;
  --go3d-cyan: #69d3ed;
  --go3d-cyan-strong: #69d3ed;
  --go3d-ice: #152a3a;
  --go3d-paper: #0a1722;
  --go3d-white: #101f2d;
  --go3d-line: #314758;
  --go3d-ink: #f0f6fa;
  --go3d-muted: #afc0ce;
  --go3d-amber: #f2c674;
  --go3d-surface-2: #15212d;
  --go3d-font-ui: Inter, "Segoe UI", Arial, sans-serif;
  --go3d-radius-control: 4px;
  --go3d-radius-card: 8px;
  --go3d-shadow: 0 20px 65px #0003;

  /* Legacy module variables map to the shared GO3D palette. */
  --ink: var(--go3d-ink);
  --muted: var(--go3d-muted);
  --line: var(--go3d-line);
  --paper: var(--go3d-paper);
  --white: var(--go3d-white);
  --blue: var(--go3d-blue);
  --lime: var(--go3d-cyan);
  --amber: var(--go3d-amber);
}

body {
  color: var(--go3d-ink);
  background: var(--go3d-paper);
  font-family: var(--go3d-font-ui);
}

/* Keep the brand typography local to the user's system; no external font fetches. */
body * {
  font-family: var(--go3d-font-ui) !important;
}

.topbar .brand-wordmark {
  color: #f3f7f9;
  font: 700 18px/1.15 var(--go3d-font-ui);
  letter-spacing: -.35px;
  white-space: nowrap;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--go3d-cyan);
  outline-offset: 2px;
}

/* Project Desk */
.rail {
  background: #f5f9fb;
  border-right-color: var(--go3d-line);
}

.rail .brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 25px;
  padding: 14px 13px 13px;
  border: 1px solid #193546;
  border-radius: 13px;
  background: var(--go3d-navy);
  color: #fff;
  letter-spacing: 0;
}

.rail .brand-wordmark {
  display: block;
  max-width: 100%;
  color: #fff;
  font: 700 17px/1.15 var(--go3d-font-ui);
  letter-spacing: -.35px;
}

.rail .brand-product {
  margin: 0;
  color: #8bdcf3;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.7px;
}

.rail-label,
.eyebrow {
  color: #648394;
}

.nav-item {
  color: #4f6876;
}

.nav-item span {
  color: #6b8796;
}

.nav-item:hover {
  background: #eaf4f8;
}

.nav-item.selected {
  background: var(--go3d-ice);
  color: var(--go3d-navy);
}

.nav-item.selected span {
  color: var(--go3d-blue);
}

.nav-item b {
  color: #6e8793;
}

.topbar {
  border-bottom-color: var(--go3d-line);
  box-shadow: 0 2px 12px #071a2808;
}

.breadcrumbs,
.breadcrumbs b {
  color: var(--go3d-muted);
}

.breadcrumbs b {
  color: var(--go3d-navy);
}

.add-button,
.focus-actions .focus-done {
  background: var(--go3d-navy);
  border-color: var(--go3d-navy);
}

.add-button:hover,
.focus-actions .focus-done:hover {
  background: var(--go3d-blue);
  border-color: var(--go3d-blue);
}

.content > .eyebrow,
.register-note {
  color: var(--go3d-muted);
}

.focus-card,
.summary-card,
.project-card,
.empty {
  border-color: var(--go3d-line);
  box-shadow: 0 5px 18px #102c3a08;
}

.focus-card {
  border-left: 3px solid var(--go3d-cyan);
}

.focus-kicker,
.sum-top,
.section-head p,
.project-next,
.project-meta,
.subtitle {
  color: var(--go3d-muted);
}

.focus-next,
.focus-project,
.section-head h2,
.project-name,
.sum-number {
  color: var(--go3d-navy);
}

.pulse,
.sum-dot,
.process-dot {
  background: var(--go3d-blue);
}

.sum-dot,
.summary-card:nth-child(2) .sum-dot,
.summary-card:nth-child(3) .sum-dot {
  background: var(--go3d-cyan-strong);
}

.status-pill:not(.month):not(.shelf):not(.archive) {
  background: var(--go3d-ice);
  color: #14506a;
}

.project-card:hover {
  border-color: #86cfe4;
  box-shadow: 0 8px 24px #102c3a10;
}

.card-actions button,
.focus-actions button,
.cancel-btn,
.filter,
.search,
.field-label input,
.field-label textarea,
.field-label select {
  border-color: var(--go3d-line);
}

.card-actions button:hover,
.focus-actions button:hover {
  border-color: #8dcde0;
  color: var(--go3d-blue);
  background: #f3fbfd;
}

.card-actions .resume {
  border-color: #d0eaf2;
  background: var(--go3d-ice);
  color: #14506a;
}

.field-label input:focus,
.field-label textarea:focus,
.field-label select:focus,
.search:focus-within {
  outline: 2px solid #a8dfef;
  outline-offset: 1px;
}

.avatar {
  background: var(--go3d-navy);
  color: #fff;
}

.process-metric,
.email-tools {
  border-color: var(--go3d-line);
}

.process-metric strong,
.email-tools h2 {
  color: var(--go3d-navy);
}

.process-tabs button[aria-pressed="true"] {
  border-color: var(--go3d-navy);
  background: var(--go3d-navy);
}

.process-tabs button:hover,
.process-open {
  color: var(--go3d-blue);
}

.email-tools {
  background: #f0f8fb;
}

.email-kicker {
  color: #587b8b;
}

.command-examples span {
  border-color: #d4e8ef;
  color: #285568;
}

.rail-bottom {
  border-top-color: var(--go3d-line);
}

footer {
  color: #7b909b;
}

dialog {
  box-shadow: 0 22px 70px #071a2833;
}

.field-label input,
.field-label textarea,
.field-label select {
  outline-color: #84cde2;
}

/* Dark surface adapters for the shared Project Desk and module components. */
.rail,
.topbar,
.topbar .brand,
.focus-card,
.summary-card,
.project-card,
.empty,
.card,
.panel,
.step-content,
.lesson,
.character,
.field-label input,
.field-label textarea,
.field-label select,
.search,
.filter,
.cancel-btn,
.card-actions button,
.focus-actions button,
dialog {
  background-color: var(--go3d-white);
  color: var(--go3d-ink);
}

.rail .brand,
.scan-to-cad-module .topbar,
.avatar,
.add-button,
.focus-actions .focus-done,
.product,
.process-tabs button[aria-pressed="true"] {
  background-color: var(--go3d-navy);
  color: var(--go3d-ink);
}

.rail,
.topbar,
.focus-card,
.summary-card,
.project-card,
.empty,
.panel,
.step-content,
.lesson,
.character,
.card-actions button,
.focus-actions button,
.field-label input,
.field-label textarea,
.field-label select,
.search,
.filter,
.cancel-btn,
dialog {
  border-color: var(--go3d-line);
  box-shadow: none;
}

.rail-label,
.eyebrow,
.nav-item,
.nav-item span,
.breadcrumbs,
.breadcrumbs b,
.focus-kicker,
.sum-top,
.section-head p,
.project-next,
.project-meta,
.subtitle,
.email-kicker,
.email-tools p,
.quiet,
.caption,
footer {
  color: var(--go3d-muted);
}

.nav-item:hover,
.card-actions button:hover,
.focus-actions button:hover,
.card-actions .resume,
.process-tabs button:hover,
.process-open,
.chips span,
.step.current {
  background-color: var(--go3d-surface-2);
  border-color: var(--go3d-line);
  color: var(--go3d-cyan);
}

.nav-item.selected,
.status-pill:not(.month):not(.shelf):not(.archive),
.process-metric,
.email-tools,
.next-action {
  background-color: var(--go3d-ice);
  border-color: var(--go3d-line);
  color: var(--go3d-ink);
}

.focus-next,
.focus-project,
.section-head h2,
.project-name,
.sum-number,
.process-metric strong,
.email-tools h2,
.scan-to-cad-module .hero h1,
.scan-to-cad-module .panel h2,
.scan-to-cad-module .panel h3,
.scan-to-cad-module .section-title,
.scan-to-cad-module .character-name {
  color: var(--go3d-ink);
}

.product p:not(.eyebrow),
.layer p,
.lesson p,
.character small,
.character-detail > p,
.step-content > p:not(.step-kicker),
.step-content ul,
.next-action {
  color: var(--go3d-muted);
}

.focus-card,
.summary-card,
.project-card,
.panel,
.step-content,
.lesson,
.character {
  border-radius: var(--go3d-radius-card);
}

button,
input,
select,
textarea,
.btn {
  border-radius: var(--go3d-radius-control);
}

.scan-to-cad-module .topbar .brand-wordmark,
.scan-to-cad-module .top-links a {
  color: var(--go3d-ink);
}


/* Scan-to-CAD uses the same palette with a restrained dark product header. */
body.scan-to-cad-module {
  background: var(--go3d-paper);
}

.scan-to-cad-module .topbar {
  background: var(--go3d-navy);
  border-bottom: 1px solid #244153;
}

.product-mark {
  color: #8bdcf3;
}

.top-links a:hover {
  color: #fff;
}

.top-links span {
  color: #9bb3be;
}

.scan-to-cad-module .hero h1,
.scan-to-cad-module .panel h2,
.scan-to-cad-module .panel h3,
.scan-to-cad-module .section-title,
.scan-to-cad-module .character-name {
  color: var(--go3d-navy);
}

.scan-to-cad-module .hero h1 em,
.scan-to-cad-module .eyebrow,
.scan-to-cad-module .lesson-no,
.scan-to-cad-module .layer-no {
  color: var(--go3d-blue);
}

.scan-to-cad-module .chips span,
.scan-to-cad-module .character,
.scan-to-cad-module .panel,
.scan-to-cad-module .step-content,
.scan-to-cad-module .lesson {
  border-color: var(--go3d-line);
}

.scan-to-cad-module .chips span {
  background: var(--go3d-white);
  color: #3c677b;
}

.scan-to-cad-module .panel,
.scan-to-cad-module .character,
.scan-to-cad-module .step-content,
.scan-to-cad-module .lesson {
  box-shadow: 0 5px 18px #102c3a08;
}

.scan-to-cad-module .character:hover,
.scan-to-cad-module .step:hover {
  border-color: #8dcde0;
  background: #f3fbfd;
}

.scan-to-cad-module .character.active,
.scan-to-cad-module .step.current {
  border-color: #8dcde0;
  background: var(--go3d-ice);
}

.scan-to-cad-module .step.complete span {
  border-color: var(--go3d-cyan-strong);
  background: var(--go3d-cyan-strong);
  color: var(--go3d-white);
}

.scan-to-cad-module .notice {
  border-color: #b9deea;
  background: #edf8fb;
}

.scan-to-cad-module .notice-tag {
  color: #276a83;
}

.scan-to-cad-module .step-actions .primary,
.scan-to-cad-module .primary {
  border-color: var(--go3d-navy);
  background: var(--go3d-navy);
}

.scan-to-cad-module .step-actions .primary:hover,
.scan-to-cad-module .primary:hover {
  border-color: var(--go3d-blue);
  background: var(--go3d-blue);
}

.scan-to-cad-module .secondary:focus-visible,
.scan-to-cad-module .step-actions button:focus-visible {
  outline-color: var(--go3d-cyan);
}

.scan-to-cad-module .product {
  border: 1px solid #244153;
  background: var(--go3d-navy);
}

.scan-to-cad-module .product .eyebrow,
.scan-to-cad-module .layer-no {
  color: #8bdcf3;
}

.scan-to-cad-module .notice {
  border-color: #b9deea;
  background: var(--go3d-ice);
  color: var(--go3d-ink);
}

.scan-to-cad-module .notice h2 {
  color: var(--go3d-navy);
}

.scan-to-cad-module .notice p {
  color: var(--go3d-ink);
}

.scan-to-cad-module .lesson-no {
  color: var(--go3d-blue);
}

.scan-to-cad-module .step-warning {
  border-color: #edcf9c;
}

@media (max-width: 680px) {
  .rail .brand {
    border-radius: 10px;
  }

  .rail .brand-wordmark { font-size: 14px; }
}

/* Dark-theme contrast correction, 30 October 2026. */
.scan-to-cad-module .hero h1,.scan-to-cad-module .panel h2,.scan-to-cad-module .panel h3,.scan-to-cad-module .notice h2{color:var(--go3d-ink)}
