/* Shared Ze Jun Docs editorial skin for standalone child pages. */
:root {
  --docs-paper: oklch(96.5% 0.018 82);
  --docs-surface: oklch(99% 0.008 82);
  --docs-ink: oklch(24% 0.02 60);
  --docs-soft: oklch(46% 0.02 60);
  --docs-faint: oklch(64% 0.02 70);
  --docs-line: oklch(86% 0.02 78);
  --docs-accent: oklch(54% 0.17 32);
  --docs-accent-soft: oklch(94% 0.05 32);
  --docs-display: "Fraunces", "Noto Serif SC", Georgia, serif;
  --docs-label: "Archivo", "Noto Sans SC", system-ui, sans-serif;
}
[data-docs-theme="dark"] {
  --docs-paper: oklch(19% 0.015 75);
  --docs-surface: oklch(23% 0.015 75);
  --docs-ink: oklch(92% 0.012 82);
  --docs-soft: oklch(72% 0.02 78);
  --docs-faint: oklch(54% 0.02 75);
  --docs-line: oklch(33% 0.015 75);
  --docs-accent: oklch(70% 0.15 40);
  --docs-accent-soft: oklch(30% 0.06 38);
}
html { scroll-behavior: smooth; }
body {
  background: var(--docs-paper) !important;
  color: var(--docs-ink) !important;
  transition: background .3s ease, color .3s ease;
}
.docs-masthead {
  position: sticky; top: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  min-height: 64px; padding: .75rem clamp(1rem, 4vw, 3rem);
  background: color-mix(in oklch, var(--docs-paper) 90%, transparent);
  backdrop-filter: blur(10px); border-bottom: 1px solid var(--docs-line);
  font-family: var(--docs-label);
}
.docs-brand { display:flex; align-items:baseline; gap:.7rem; color:var(--docs-ink); text-decoration:none; }
.docs-brand strong { font: 700 1.35rem/1 var(--docs-display); letter-spacing:.02em; }
.docs-brand small { color:var(--docs-soft); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; }
.docs-nav { display:flex; align-items:center; gap:.8rem; }
.docs-nav a { color:var(--docs-soft); font-size:.78rem; letter-spacing:.08em; text-decoration:none; }
.docs-nav a:hover { color:var(--docs-accent); }
.docs-theme-toggle { border:1px solid var(--docs-line); border-radius:50%; width:36px; height:36px; background:transparent; color:var(--docs-ink); cursor:pointer; }
.docs-theme-toggle:hover { border-color:var(--docs-accent); color:var(--docs-accent); }
.docs-shell { max-width:1180px; margin:auto; padding: clamp(2rem, 5vw, 5rem) clamp(1rem, 4vw, 3rem); }
.docs-shell h1, .docs-shell h2, .docs-shell h3, .docs-shell h4 { font-family:var(--docs-display); color:var(--docs-ink); }
.docs-shell h1 { font-size:clamp(2.3rem, 5vw, 4.5rem); line-height:1.08; }
.docs-shell h2 { border-top:1px solid var(--docs-line); padding-top:1rem; margin-top:3rem; }
.docs-shell a { color:var(--docs-accent); }
.docs-shell blockquote { border-left:3px solid var(--docs-accent); background:var(--docs-accent-soft); padding:1rem 1.25rem; color:var(--docs-soft); }
.docs-shell table { border-collapse:collapse; width:100%; background:color-mix(in oklch, var(--docs-surface) 70%, transparent); }
.docs-shell th, .docs-shell td { border:1px solid var(--docs-line); padding:.65rem .8rem; text-align:left; }
.docs-shell th { font-family:var(--docs-label); color:var(--docs-accent); }
.docs-shell code { background:var(--docs-accent-soft); padding:.1em .3em; border-radius:3px; }
@media (max-width:640px) { .docs-brand small, .docs-nav a:not(:last-of-type) { display:none; } .docs-masthead { min-height:56px; } }
@media print { .docs-masthead { display:none; } body { background:#fff !important; } }
