/* Dual-theme revision: 2026-10-01-quiet | B Quiet Slate */
/* Presentation only: content, document order, routes, and responsive layout are inherited. */
html[data-theme="b"] {
  --paper: #f7f8fa;
  --surface: #ffffff;
  --surface-muted: #edf1f5;
  --ink: #243449;
  --ink-soft: #4b5b70;
  --ink-faint: #617086;
  --line: #dce3eb;
  --line-strong: #a7b4c4;
  --blue: #315d88;
  --blue-soft: #eaf1f8;
  --green: #27664f;
  --green-soft: #edf5f0;
  --amber: #805b25;
  --amber-soft: #f8f1e6;
  --red: #9a4144;
  --red-soft: #faeded;
  --focus: #315d88;
  --contact-copy: #4b5b70;
  --career-marker-gutter: 18px;
  --footer-muted-copy: #4b5b70;
  --footer-link-copy: #315d88;
  --footer-faint-copy: #617086;
  --project-meta-copy: #4b5b70;
  --warning-result-copy: #805b25;
  --pagination-label-copy: #617086;
  --graphite: #243449;
  --graphite-soft: #34465d;
  --shadow: none;
  --radius: 6px;
  --sans: "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", system-ui, sans-serif;
  --mono: "Cascadia Code", "JetBrains Mono", "SFMono-Regular", Consolas, "Malgun Gothic", monospace;
  color-scheme: light;
  scrollbar-color: #a7b4c4 #f7f8fa;
}

html[data-theme="b"] body {
  background: var(--paper);
  font-family: var(--sans);
  font-synthesis: none;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}

html[data-theme="b"] ::selection {
  background: #dce9f5;
  color: #243449;
}

html[data-theme="b"] :focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 4px;
}

html[data-theme="b"] h1,
html[data-theme="b"] h2,
html[data-theme="b"] h3,
html[data-theme="b"] h4 {
  font-weight: 650;
  letter-spacing: -.02em;
  word-break: keep-all;
  text-wrap: balance;
}

html[data-theme="b"] .site-header {
  border-bottom-color: var(--line);
  background: var(--surface);
  color: var(--ink);
  backdrop-filter: none;
  box-shadow: none;
}

html[data-theme="b"] .wordmark::before {
  width: 3px;
  background: var(--blue);
  box-shadow: none;
}

html[data-theme="b"] .wordmark-role {
  color: var(--ink-faint);
  border-left-color: var(--line);
  font-weight: 500;
}

html[data-theme="b"] .desktop-nav a {
  color: var(--ink-soft);
  font-size: 16px;
  font-weight: 600;
}

html[data-theme="b"] .desktop-nav a:hover,
html[data-theme="b"] .desktop-nav a[aria-current="page"] {
  color: var(--blue);
}

html[data-theme="b"] .desktop-nav a[aria-current="page"]::after {
  height: 2px;
}

html[data-theme="b"] .menu-button {
  border-color: var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  box-shadow: none;
}

html[data-theme="b"] .mobile-nav {
  border-color: var(--line);
  background: var(--surface);
}

html[data-theme="b"] .mobile-nav a {
  font-weight: 600;
}

html[data-theme="b"] .hero,
html[data-theme="b"] .page-intro,
html[data-theme="b"] .project-hero {
  border-bottom-color: var(--line);
  background: #f0f4f8;
  color: var(--ink);
}

html[data-theme="b"] .hero::after,
html[data-theme="b"] .page-intro::after,
html[data-theme="b"] .project-hero::after {
  content: none;
}

html[data-theme="b"] .hero-person img {
  border: 1px solid #d3dce6;
  filter: none;
  box-shadow: none;
}

html[data-theme="b"] .hero-role {
  color: var(--blue);
  font-family: var(--sans);
  font-weight: 650;
  letter-spacing: 0;
}

html[data-theme="b"] .hero-subtitle {
  color: var(--ink-soft);
  font-weight: 500;
}

html[data-theme="b"] .hero h1,
html[data-theme="b"] .page-intro h1,
html[data-theme="b"] .project-hero h1 {
  color: var(--ink);
  text-shadow: none;
}

html[data-theme="b"] .hero-statement {
  color: var(--ink);
  font-weight: 650;
}

html[data-theme="b"] .hero-highlights,
html[data-theme="b"] .hero-closing,
html[data-theme="b"] .page-intro .lede,
html[data-theme="b"] .project-hero .project-lede,
html[data-theme="b"] .project-hero .back-link {
  color: var(--ink-soft);
}

html[data-theme="b"] .hero-highlights li::marker {
  color: #899bb0;
}

html[data-theme="b"] .hero-statement,
html[data-theme="b"] .hero-closing,
html[data-theme="b"] .project-summary,
html[data-theme="b"] .project-lede,
html[data-theme="b"] .experience-entry p {
  overflow-wrap: break-word;
  text-wrap: pretty;
}

html[data-theme="b"] .button {
  border-width: 1px;
  border-radius: var(--radius);
  font-weight: 600;
  letter-spacing: 0;
  box-shadow: none;
  transition: background-color 160ms ease-out, border-color 160ms ease-out, color 160ms ease-out;
}

html[data-theme="b"] .button:hover {
  transform: none;
  box-shadow: none;
}

html[data-theme="b"] .hero-actions .button:first-child {
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
}

html[data-theme="b"] .hero-actions .button:first-child:hover {
  border-color: var(--blue);
  background: var(--blue);
}

html[data-theme="b"] .hero-actions .button:nth-child(2),
html[data-theme="b"] .hero-actions .button--secondary {
  border-color: var(--line-strong);
  background: var(--surface);
  color: var(--ink);
}

html[data-theme="b"] .hero-actions .button:nth-child(2):hover,
html[data-theme="b"] .hero-actions .button--secondary:hover {
  border-color: var(--blue);
  background: var(--blue-soft);
  color: var(--blue);
}

html[data-theme="b"] .section--surface,
html[data-theme="b"] .archive-note {
  background: var(--surface);
  border-color: var(--line);
}

html[data-theme="b"] .section-heading {
  border-top: 0;
}

html[data-theme="b"] .section-heading h2 {
  border-bottom: 0;
}

html[data-theme="b"] body .section-link,
html[data-theme="b"] .project-row .project-links a {
  color: var(--blue);
  font-weight: 650;
  text-decoration: none;
}

html[data-theme="b"] body .section-link:hover,
html[data-theme="b"] .project-row .project-links a:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

html[data-theme="b"] .career-list {
  border-top: 0;
}

html[data-theme="b"] .career-list li::before {
  position: absolute;
  top: 30px;
  left: -5px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--blue);
  content: "";
}

@media (min-width: 640px) {
  html[data-theme="b"] .career-list li::before {
    left: -16px;
  }
}

html[data-theme="b"] .project-row:first-child {
  border-top: 0;
}

html[data-theme="b"] .project-row:last-child {
  border-bottom: 0;
}

html[data-theme="b"] .domain,
html[data-theme="b"] .case-study,
html[data-theme="b"] .tag,
html[data-theme="b"] .scope-badge {
  border-radius: 4px;
  font-family: var(--sans);
  letter-spacing: 0;
  font-weight: 600;
}

html[data-theme="b"] .domain,
html[data-theme="b"] .scope-badge {
  border-color: var(--line);
  background: var(--blue-soft);
  color: var(--blue);
}

html[data-theme="b"] .tag {
  border-color: var(--line);
  background: var(--surface);
  color: var(--ink-soft);
}

html[data-theme="b"] .filter-bar {
  padding-bottom: 0;
  border-bottom: 0;
}

html[data-theme="b"] .filter-buttons {
  border-width: 1px;
  border-radius: 6px;
  background: var(--surface-muted);
}

html[data-theme="b"] .filter-option {
  font-family: var(--sans);
  border-radius: 4px;
}

html[data-theme="b"] .filter-buttons input:checked + .filter-option {
  background: var(--surface);
  color: var(--blue);
  box-shadow: none;
}

html[data-theme="b"] .project-proof {
  border-left-width: 1px;
  background: var(--green-soft);
}

html[data-theme="b"] .project-toc {
  --ink-faint: var(--ink-soft);
  border-left: 1px solid var(--line);
}

html[data-theme="b"] .project-toc nav a[aria-current="location"] {
  color: var(--blue);
  background: var(--blue-soft);
  box-shadow: none;
}

html[data-theme="b"] .resume-section h2 {
  border-bottom: 0;
}

html[data-theme="b"] .experience-section h2::after {
  display: none;
}

html[data-theme="b"] .experience-list,
html[data-theme="b"] .resume-experience {
  border-top: 0 !important;
}

html[data-theme="b"] .experience-entry,
html[data-theme="b"] .resume-job {
  margin-block: 16px;
  padding: 22px;
  border: 1px solid var(--line);
  background: var(--surface);
}

html[data-theme="b"] .signal,
html[data-theme="b"] .decision-item,
html[data-theme="b"] .scope-grid > div,
html[data-theme="b"] .project-resources,
html[data-theme="b"] .code-panel,
html[data-theme="b"] .evidence {
  border-radius: 6px;
  box-shadow: none;
}

html[data-theme="b"] .project-pagination,
html[data-theme="b"] .contact-band {
  background: var(--surface-muted);
  color: var(--ink);
  border-color: var(--line);
}

html[data-theme="b"] .pagination-grid a {
  border-color: var(--line);
  background: var(--surface);
}

html[data-theme="b"] .signal--warning .signal-result {
  color: #805b25;
}

html[data-theme="b"] .wordmark-role,
html[data-theme="b"] .domain,
html[data-theme="b"] #filter-status,
html[data-theme="b"] .project-meta dt,
html[data-theme="b"] .project-toc > p,
html[data-theme="b"] .toc-stack > p,
html[data-theme="b"] .decision-item dt,
html[data-theme="b"] .evidence-count,
html[data-theme="b"] .evidence-context h4,
html[data-theme="b"] .verification-table thead th,
html[data-theme="b"] .pagination-grid a span {
  font-family: var(--sans);
}

html[data-theme="b"] .site-footer {
  border-top: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
}

html[data-theme="b"] .footer-base {
  border-top-color: var(--line);
  font-family: var(--sans);
}

@media (max-width: 959px) {
  html[data-theme="b"] .project-toc {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding-inline: 16px;
    background: var(--surface-muted);
  }
}

@media (max-width: 639px) {
  html[data-theme="b"] .filter-bar {
    border-bottom-width: 0;
  }

  html[data-theme="b"] .experience-entry,
  html[data-theme="b"] .resume-job {
    padding: 16px;
  }

  html[data-theme="b"] .project-toc,
  html[data-theme="b"] .verification-table,
  html[data-theme="b"] .code-panel {
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme="b"] .button {
    transition: none;
  }
}

@media (forced-colors: active) {
  html[data-theme="b"] .hero,
  html[data-theme="b"] .page-intro,
  html[data-theme="b"] .project-hero,
  html[data-theme="b"] .project-pagination,
  html[data-theme="b"] .pagination-grid a {
    border: 1px solid CanvasText;
    background: Canvas;
    color: CanvasText;
  }
}
