/* Dirac editorial system — shared by every non-homepage route. */
:root {
    color-scheme: dark;
    --ink: #f1e9d9;
    --ink-soft: #c9c0b0;
    --muted: #91897d;
    --faint: #8b8377;
    --desk: #191711;
    --desk-raised: #211f19;
    --desk-deep: #11100d;
    --paper: #f1eadb;
    --paper-bright: #faf6eb;
    --paper-deep: #ded3bf;
    --orange: #ec6a3a;
    --orange-soft: #f39772;
    --green: #75aa8f;
    --red: #df806c;
    --amber: #d9a94c;
    --line: rgba(245, 236, 216, 0.14);
    --line-strong: rgba(245, 236, 216, 0.24);
    --mono: ui-monospace, 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    --serif: 'Iowan Old Style', 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif;
    --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
    --radius-sm: 3px;
    --radius: 7px;
    --radius-lg: 12px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    min-width: 320px;
    scroll-behavior: smooth;
    background: var(--desk);
}

body {
    min-width: 320px;
    min-height: 100svh;
    margin: 0;
    overflow-x: hidden;
    color: var(--ink-soft);
    background:
        radial-gradient(circle at 50% 4%, rgba(255, 244, 214, 0.075), transparent 31rem),
        linear-gradient(112deg, rgba(255, 255, 255, .014) 0 1px, transparent 1px 13px),
        var(--desk);
    font-family: var(--sans);
    text-rendering: optimizeLegibility;
}

::selection {
    color: var(--desk);
    background: var(--orange-soft);
}

a {
    color: inherit;
    text-underline-offset: .22em;
}

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

button,
a {
    -webkit-tap-highlight-color: transparent;
}

img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
}

:focus-visible {
    outline: 3px solid #ff8b5f;
    outline-offset: 3px;
}

code,
pre,
kbd,
samp {
    font-family: var(--mono);
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.skip-link {
    position: fixed;
    z-index: 1000;
    top: 10px;
    left: 12px;
    padding: 10px 14px;
    color: var(--desk);
    background: var(--paper-bright);
    border: 2px solid var(--orange);
    border-radius: var(--radius-sm);
    font: 700 10px/1 var(--mono);
    text-decoration: none;
    text-transform: uppercase;
    transform: translateY(-150%);
    transition: transform 140ms ease;
}

.skip-link:focus {
    transform: translateY(0);
}

.site-width {
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
}

.site-main {
    min-height: 56svh;
}

/* Shared header mirrors the selected field-manual homepage. */
.site-header {
    position: sticky;
    z-index: 100;
    top: 0;
    height: 68px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: clamp(22px, 4vw, 64px);
    align-items: center;
    padding: 0 clamp(18px, 3vw, 52px);
    color: #eee6d5;
    background: rgba(25, 23, 17, .92);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(18px);
}

.wordmark,
.source-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: max-content;
    text-decoration: none;
    min-height: 44px;
}

.wordmark-mark {
    display: block;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    object-fit: contain;
    border-radius: 6px;
}

.wordmark b {
    color: #f2eadb;
    font: 700 13px/1 var(--sans);
    letter-spacing: .19em;
}

.site-nav {
    display: flex;
    justify-content: center;
    gap: clamp(16px, 2.6vw, 38px);
    min-width: 0;
}

.site-nav a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    color: #aaa294;
    font: 650 9px/1 var(--mono);
    letter-spacing: .085em;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 150ms ease;
}

.site-nav a:hover,
.site-nav a[aria-current='page'] {
    color: #fff4dd;
}

.source-link {
    justify-self: end;
    min-width: 44px;
    justify-content: center;
    font: 650 10px/1 var(--mono);
    text-transform: uppercase;
    letter-spacing: .08em;
}

.source-link b {
    color: var(--orange-soft);
    font-weight: 600;
}

.nav-toggle {
    display: none;
}

/* Page architecture */
.page-shell {
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
    padding: clamp(64px, 9vw, 116px) 0 clamp(80px, 11vw, 148px);
}

.page-hero {
    max-width: 790px;
    margin-bottom: clamp(44px, 6vw, 76px);
}

.page-hero--center {
    margin-inline: auto;
    text-align: center;
}

.page-kicker {
    margin: 0 0 15px;
    color: var(--orange-soft);
    font: 700 9px/1 var(--mono);
    letter-spacing: .15em;
    text-transform: uppercase;
}

.page-hero h1,
.error-page h1 {
    margin: 0;
    color: var(--ink);
    font: 600 clamp(38px, 6.2vw, 74px)/1.02 var(--serif);
    letter-spacing: -.045em;
}

.page-hero p:not(.page-kicker) {
    max-width: 64ch;
    margin: 23px 0 0;
    color: var(--muted);
    font-size: clamp(15px, 1.6vw, 19px);
    line-height: 1.72;
}

.page-hero--center p:not(.page-kicker) {
    margin-inline: auto;
}

.rule-label {
    color: var(--faint);
    font: 700 9px/1 var(--mono);
    letter-spacing: .13em;
    text-transform: uppercase;
}

.index-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: var(--line);
}

.index-card {
    position: relative;
    min-height: 280px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(28px, 4vw, 48px);
    overflow: hidden;
    color: var(--ink-soft);
    background: var(--desk-deep);
    text-decoration: none;
    transition: background 180ms ease;
}

.index-card:hover {
    background: #181610;
}

.index-card__number {
    color: var(--orange-soft);
    font: 700 10px/1 var(--mono);
    letter-spacing: .1em;
}

.index-card h2 {
    margin: auto 0 13px;
    color: var(--ink);
    font: 600 clamp(25px, 3vw, 35px)/1.08 var(--serif);
    letter-spacing: -.025em;
}

.index-card p {
    max-width: 43ch;
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.65;
}

.index-card__arrow {
    position: absolute;
    top: 31px;
    right: 34px;
    color: var(--orange);
    font: 500 21px/1 var(--mono);
    transition: transform 160ms ease;
}

.index-card:hover .index-card__arrow {
    transform: translateX(4px);
}

.feature-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    margin-bottom: 34px;
    padding: 24px 26px;
    border: 1px solid var(--line);
    background: rgba(17, 16, 13, .7);
}

.feature-note__mark {
    color: var(--orange);
    font: 600 26px/1 var(--serif);
}

.feature-note h2 {
    margin: 0 0 6px;
    color: var(--ink);
    font: 600 22px/1.15 var(--serif);
}

.feature-note p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;
}

.feature-note code {
    max-width: 390px;
    padding: 11px 13px;
    overflow: hidden;
    color: var(--orange-soft);
    background: #11100d;
    border: 1px solid var(--line);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Buttons and panels */
.btn-primary,
.btn-secondary,
.action-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 11px 16px;
    border-radius: var(--radius-sm);
    font: 700 10px/1 var(--mono);
    letter-spacing: .04em;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.btn-primary {
    color: #211b14;
    background: var(--orange);
    border: 1px solid var(--orange);
}

.btn-secondary {
    color: var(--ink);
    background: transparent;
    border: 1px solid var(--line-strong);
}

.btn-primary:hover {
    background: var(--orange-soft);
}

.btn-secondary:hover {
    border-color: var(--orange-soft);
}

.btn-primary:active,
.btn-secondary:active {
    transform: translateY(1px);
}

.card {
    padding: 28px;
    color: var(--ink-soft);
    background: var(--desk-deep);
    border: 1px solid var(--line);
    border-radius: var(--radius);
}

/* Flash messages */
.flash-stack {
    padding-top: 20px;
}

.flash {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 16px;
    color: var(--ink-soft);
    background: var(--desk-deep);
    border: 1px solid var(--line);
    font-size: 13px;
}

.flash+.flash {
    margin-top: 8px;
}

.flash--success {
    border-left: 3px solid var(--green);
}

.flash--error {
    border-left: 3px solid var(--red);
}

.flash--info {
    border-left: 3px solid var(--orange);
}

.flash button {
    padding: 0;
    color: var(--muted);
    background: transparent;
    border: 0;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
}

/* Documentation field manual */
.docs-shell {
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
    padding: clamp(52px, 7vw, 92px) 0 clamp(90px, 12vw, 160px);
    overflow: visible;
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 42px;
    color: var(--faint);
    font: 600 9px/1.3 var(--mono);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.breadcrumb a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    color: var(--muted);
    text-decoration: none;
}

.breadcrumb a:hover {
    color: var(--ink);
}

.breadcrumb span:last-child {
    color: var(--orange-soft);
}

.docs-layout {
    display: grid;
    grid-template-columns: 210px minmax(0, 780px);
    justify-content: center;
    gap: clamp(42px, 7vw, 90px);
    align-items: start;
}

.docs-sidebar {
    position: sticky;
    top: 100px;
}

.docs-sidebar h2 {
    margin: 0 0 15px;
    color: var(--faint);
    font: 700 8px/1 var(--mono);
    letter-spacing: .14em;
    text-transform: uppercase;
}

.docs-sidebar nav {
    display: grid;
    gap: 4px;
}

.docs-sidebar a {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 9px 12px;
    color: var(--muted);
    border-left: 2px solid transparent;
    font: 650 10px/1.3 var(--mono);
    text-decoration: none;
}

.docs-sidebar a:hover {
    color: var(--ink);
    background: rgba(245, 236, 216, .035);
}

.docs-sidebar a[aria-current='page'] {
    color: var(--ink);
    background: rgba(236, 106, 58, .075);
    border-left-color: var(--orange);
}

.docs-article {
    min-width: 0;
    overflow: visible;
}

.manual-header {
    margin-bottom: 42px;
}

.manual-eyebrow,
.manual-label {
    margin: 0 0 13px;
    color: var(--orange-soft);
    font: 700 9px/1.3 var(--mono);
    letter-spacing: .13em;
    text-transform: uppercase;
}

.manual-header h1 {
    max-width: 15ch;
    margin: 0 0 24px;
    color: var(--ink);
    font: 600 clamp(36px, 5vw, 58px)/1.04 var(--serif);
    letter-spacing: -.04em;
    text-wrap: balance;
}

.manual-header>p:last-child {
    max-width: 66ch;
    margin: 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.75;
}

.manual-callout {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 20px;
    margin: 0 0 20px;
    padding: clamp(24px, 4vw, 36px);
    overflow: hidden;
    background: #11100d;
    border: 1px solid var(--line);
    border-left: 3px solid var(--orange);
    border-radius: var(--radius);
}

.manual-callout__mark {
    color: var(--orange);
    font: 600 31px/1 var(--serif);
}

.manual-callout h2 {
    margin: 0 0 12px;
    color: var(--ink);
    font: 600 25px/1.15 var(--serif);
    letter-spacing: -.02em;
}

.manual-callout p:not(.manual-label) {
    margin: 0;
    color: var(--ink-soft);
    font-size: 14px;
    line-height: 1.72;
}

.manual-example {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    margin-top: 20px;
}

.manual-example code {
    max-width: 100%;
    padding: 11px 13px;
    color: var(--orange-soft);
    background: #0b0a08;
    border: 1px solid var(--line);
    border-radius: 3px;
    font-size: 11px;
    overflow-wrap: anywhere;
}

.manual-example span {
    color: var(--faint);
    font: italic 10px/1.4 var(--sans);
}

.manual-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 11px;
    margin: 20px 0 36px;
    padding: 17px 19px;
    color: var(--ink-soft);
    background: rgba(236, 106, 58, .055);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
}

.manual-note strong {
    color: var(--orange-soft);
    font: 700 10px/1.7 var(--mono);
    text-transform: uppercase;
}

.manual-note p {
    margin: 0;
    color: var(--ink-soft);
    font-size: 12px;
    line-height: 1.7;
}

.manual-note--quiet {
    margin-top: 30px;
    background: rgba(245, 236, 216, .025);
}

.manual-contents {
    margin: 44px 0 8px;
    padding: 24px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.manual-contents ol {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.manual-contents a {
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 11px;
    color: var(--ink-soft);
    border-bottom: 1px solid rgba(245, 236, 216, .07);
    font-size: 12px;
    text-decoration: none;
}

.manual-contents a:hover {
    color: var(--orange-soft);
}

.manual-contents a span {
    color: var(--faint);
    font: 650 9px/1 var(--mono);
}

.manual-section {
    margin-top: 72px;
    scroll-margin-top: 94px;
}

.manual-section__heading {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 12px;
    align-items: baseline;
    margin-bottom: 28px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--line);
}

.manual-section__heading>span {
    color: var(--orange);
    font: 700 9px/1 var(--mono);
    letter-spacing: .1em;
}

.manual-section h2 {
    margin: 0;
    color: var(--ink);
    font: 600 30px/1.1 var(--serif);
    letter-spacing: -.025em;
}

.manual-section h3 {
    margin: 38px 0 13px;
    color: var(--ink);
    font: 600 20px/1.3 var(--serif);
}

.manual-section>h3:first-of-type {
    margin-top: 0;
}

.manual-section p,
.manual-section li,
.manual-section dd {
    color: var(--ink-soft);
    font-size: 14px;
    line-height: 1.75;
}

.manual-section p {
    margin: 0 0 18px;
}

.manual-section strong {
    color: var(--ink);
}

.docs-article pre {
    margin: 18px 0 28px;
    padding: 20px;
    overflow: auto;
    color: #e7dfd0;
    background: #0e0d0a;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    font: 500 12px/1.75 var(--mono);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.docs-article pre code {
    color: inherit;
    font: inherit;
}

.docs-article :not(pre)>code {
    padding: .16em .36em;
    color: var(--orange-soft);
    background: rgba(245, 236, 216, .055);
    border: 1px solid var(--line);
    border-radius: 3px;
    font-size: .88em;
    overflow-wrap: anywhere;
}

.manual-code-comment {
    color: var(--faint);
}

.manual-table-wrap {
    max-width: 100%;
    margin: 20px 0 34px;
    overflow-x: auto;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.manual-table-wrap:focus-visible {
    outline-offset: 4px;
}

.docs-article table {
    width: 100%;
    min-width: 500px;
    border-collapse: collapse;
    font-size: 12px;
}

.manual-table-wrap--wide table {
    min-width: 650px;
}

.docs-article th,
.docs-article td {
    padding: 14px 11px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
}

.docs-article thead th {
    color: var(--muted);
    font: 700 9px/1.3 var(--mono);
    letter-spacing: .07em;
    text-transform: uppercase;
}

.docs-article tbody th {
    color: var(--ink);
    font-weight: 600;
}

.docs-article td {
    color: var(--ink-soft);
}

.docs-article tbody tr:last-child>* {
    border-bottom: 0;
}

.manual-command-list,
.manual-card-grid,
.manual-settings {
    margin: 0;
}

.manual-command-list>div {
    display: grid;
    grid-template-columns: minmax(190px, .8fr) minmax(0, 1.6fr);
    gap: 20px;
    padding: 17px 0;
    border-bottom: 1px solid var(--line);
}

.manual-command-list dt,
.manual-command-list dd {
    margin: 0;
}

.manual-command-list dd {
    font-size: 13px;
    line-height: 1.65;
}

.manual-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: var(--line);
}

.manual-card-grid>div {
    min-height: 150px;
    padding: 22px;
    background: #11100d;
}

.manual-card-grid dt {
    margin: 0 0 12px;
    color: var(--ink);
    font: 600 16px/1.3 var(--serif);
}

.manual-card-grid dd {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.65;
}

.manual-card-grid>div:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    min-height: 120px;
}

.manual-steps {
    display: grid;
    gap: 1px;
    margin: 0;
    padding: 1px;
    background: var(--line);
    list-style: none;
}

.manual-steps li {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 14px;
    align-items: center;
    padding: 16px 18px;
    background: #11100d;
}

.manual-steps li>span {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    color: var(--orange-soft);
    border: 1px solid var(--line);
    font: 700 9px/1 var(--mono);
}

.manual-steps p {
    margin: 0;
}

.manual-checklist {
    margin: 0;
    padding: 0;
    list-style: none;
}

.manual-checklist li {
    position: relative;
    padding: 10px 0 10px 28px;
    border-bottom: 1px solid var(--line);
}

.manual-checklist li::before {
    position: absolute;
    left: 4px;
    color: var(--orange);
    content: '—';
}

.manual-settings {
    border-top: 1px solid var(--line);
}

.manual-settings>div {
    display: grid;
    grid-template-columns: minmax(150px, .7fr) minmax(0, 1.3fr);
    gap: 20px;
    padding: 17px 0;
    border-bottom: 1px solid var(--line);
}

.manual-settings dt {
    color: var(--ink);
    font-weight: 650;
}

.manual-settings dd {
    margin: 0;
    font-size: 13px;
}

.manual-tool-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    padding: 1px;
    background: var(--line);
    list-style: none;
}

.manual-tool-list li {
    min-height: 72px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px;
    color: var(--ink-soft);
    background: #11100d;
}

.manual-tool-list li span {
    color: var(--orange);
    font: 700 9px/1 var(--mono);
}

.docs-nav {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 24px;
    margin-top: 78px;
    padding-top: 28px;
    border-top: 1px solid var(--line);
}

.docs-nav__link {
    min-height: 58px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: var(--ink-soft);
    text-decoration: none;
}

.docs-nav__link--next {
    align-items: flex-end;
    text-align: right;
}

.docs-nav__link>span {
    margin-bottom: 6px;
    color: var(--faint);
    font: 700 8px/1 var(--mono);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.docs-nav__link strong {
    color: var(--ink);
    font: 600 14px/1.3 var(--sans);
}

.docs-nav__link:hover strong {
    color: var(--orange-soft);
}

/* Posts */
.report-ledger {
    border-top: 1px solid var(--line);
}

.report-ledger__header {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: baseline;
    padding: 24px 0 18px;
}

.report-ledger__header p {
    margin: 0;
}

.report-ledger__header h2 {
    margin: 0;
    color: var(--ink);
    font: 600 24px/1.15 var(--serif);
}

.report-list {
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--line);
    list-style: none;
}

.report-list>li {
    margin: 0;
}

.report-card {
    position: relative;
    min-height: 190px;
    display: grid;
    grid-template-columns: minmax(130px, 170px) minmax(0, 1fr) 32px;
    grid-template-rows: auto 1fr;
    gap: 13px clamp(24px, 4vw, 52px);
    align-items: start;
    padding: clamp(26px, 4vw, 42px) 4px;
    color: var(--ink-soft);
    border-bottom: 1px solid var(--line);
    text-decoration: none;
    transition: background 160ms ease, padding 160ms ease;
}

.report-card:hover {
    padding-inline: 18px;
    background: rgba(17, 16, 13, .55);
}

.report-card time {
    grid-row: 1 / 3;
    color: var(--orange-soft);
    font: 700 9px/1.5 var(--mono);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.report-card__meta {
    grid-column: 2;
    color: var(--faint);
    font: 700 10px/1.4 var(--mono);
    letter-spacing: .06em;
    text-transform: uppercase;
}

.report-card h3 {
    margin: 0;
    color: var(--ink);
    font: 600 clamp(24px, 3vw, 35px)/1.08 var(--serif);
    letter-spacing: -.025em;
    text-wrap: balance;
}

.report-card p {
    max-width: 58ch;
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.7;
}

.report-card h3,
.report-card p {
    grid-column: 2;
}

.report-card__arrow {
    grid-column: 3;
    grid-row: 1 / 3;
    align-self: center;
    color: var(--orange);
    font: 500 21px/1 var(--mono);
    transition: transform 160ms ease;
}

.report-card:hover .report-card__arrow {
    transform: translateX(4px);
}

.report-empty {
    min-height: 180px;
    display: grid;
    place-items: center;
    color: var(--muted);
    border: 1px solid var(--line);
    border-top: 0;
}

.report-empty p {
    margin: 0;
}


.post-shell {
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
    padding: clamp(52px, 7vw, 92px) 0 clamp(90px, 12vw, 160px);
}

.post-layout {
    display: grid;
    grid-template-columns: minmax(0, 220px) minmax(0, 780px);
    justify-content: center;
    gap: clamp(42px, 7vw, 88px);
    align-items: start;
}

.post-layout>.post-column:first-child {
    grid-column: 1 / -1;
    width: min(780px, 100%);
    justify-self: center;
}

.post-layout>aside {
    display: block;
    width: auto;
}

.post-layout>aside>div {
    position: sticky;
    top: 100px;
}

.post-layout>aside h4 {
    margin: 0 0 15px;
    color: var(--faint);
    font: 700 8px/1 var(--mono);
    letter-spacing: .14em;
    text-transform: uppercase;
}

.post-layout>aside nav {
    display: grid;
    gap: 2px;
}

.post-layout>aside nav a {
    display: block;
    padding: 5px 9px;
    color: var(--muted);
    border-left: 1px solid var(--line);
    font-size: 11px;
    line-height: 1.4;
    text-decoration: none;
}

.post-layout>aside nav a:hover {
    color: var(--orange-soft);
    border-left-color: var(--orange);
}

.post-column {
    min-width: 0;
}

.post-header {
    margin: 0 0 45px;
}

.post-header h1 {
    max-width: 17ch;
    margin: 0 0 22px;
    color: var(--ink);
    font: 600 clamp(38px, 5.5vw, 64px)/1.02 var(--serif);
    letter-spacing: -.045em;
    text-wrap: balance;
}

.post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    align-items: center;
    color: var(--orange-soft);
    font: 600 9px/1.3 var(--mono);
    letter-spacing: .07em;
    text-transform: uppercase;
}

.post-meta i {
    width: 22px;
    height: 1px;
    background: var(--line-strong);
}

.post-footer-nav {
    margin-top: 72px;
    padding-top: 28px;
    border-top: 1px solid var(--line);
}

/* Contact directory and error recovery */
.contact-directory {
    max-width: 980px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin-inline: auto;
    padding: 1px;
    background: var(--line);
}

.contact-route {
    min-height: 250px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(24px, 4vw, 36px);
    color: var(--ink-soft);
    background: var(--desk-deep);
    text-decoration: none;
    transition: background 160ms ease;
}

a.contact-route:hover {
    background: #181610;
}

.contact-route--primary {
    min-height: 330px;
    grid-column: 1 / -1;
    align-items: center;
    justify-content: center;
    color: #393229;
    background: var(--paper);
    text-align: center;
}

.contact-route__label {
    margin: 0 0 auto;
    color: var(--faint);
    font: 700 8px/1.4 var(--mono);
    letter-spacing: .13em;
    text-transform: uppercase;
}

.contact-route--primary .contact-route__label {
    width: 100%;
    margin: 0 0 25px;
    color: #6b6255;
}

.contact-route__mark {
    color: var(--orange);
    font: 700 40px/1 var(--serif);
}

.contact-route h2 {
    margin: auto 0 13px;
    color: var(--ink);
    font: 600 25px/1.15 var(--serif);
}

.contact-route--primary h2 {
    margin: 15px 0 12px;
    color: #201c16;
    font-size: clamp(27px, 4vw, 36px);
}

.contact-route p:not(.contact-route__label) {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.65;
}

.contact-route--primary p:not(.contact-route__label) {
    margin-top: 17px;
    color: #716758;
}

.contact-route__email {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    color: #8f3f27;
    font: 600 clamp(24px, 5vw, 43px)/1.2 var(--serif);
    overflow-wrap: anywhere;
}

.contact-route__action {
    min-height: 44px;
    display: flex;
    align-items: flex-end;
    margin-top: auto;
    padding-top: 16px;
    color: var(--orange-soft);
    font: 700 9px/1.3 var(--mono);
    letter-spacing: .06em;
    text-transform: uppercase;
}

.error-page {
    min-height: 67svh;
    display: grid;
    place-items: center;
    width: min(980px, calc(100% - 48px));
    margin-inline: auto;
    padding: clamp(70px, 10vw, 120px) 0;
    text-align: center;
}

.error-page__panel {
    width: 100%;
}

.error-page__code {
    margin: 0;
    color: var(--orange);
    font: 700 10px/1 var(--mono);
    letter-spacing: .17em;
}

.error-page h1 {
    max-width: 850px;
    margin: 17px auto 0;
    font-size: clamp(52px, 9vw, 92px);
    text-wrap: balance;
}

.error-page__intro {
    max-width: 48ch;
    margin: 24px auto 38px;
    color: var(--muted);
    line-height: 1.7;
}

.recovery-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: var(--line);
    text-align: left;
}

.recovery-link {
    min-height: 124px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 21px;
    color: var(--ink-soft);
    background: var(--desk-deep);
    text-decoration: none;
}

.recovery-link--primary {
    grid-column: 1 / -1;
    min-height: 100px;
    color: #281f17;
    background: var(--orange);
}

.recovery-link>span {
    color: var(--faint);
    font: 700 8px/1.3 var(--mono);
    letter-spacing: .1em;
    text-transform: uppercase;
}

.recovery-link--primary>span {
    color: #392118;
}

.recovery-link strong {
    color: var(--ink);
    font: 600 17px/1.3 var(--serif);
}

.recovery-link--primary strong {
    color: #281f17;
    font-size: 20px;
}

.recovery-link:not(.recovery-link--primary):hover {
    background: #181610;
}

.recovery-link:hover strong span {
    display: inline-block;
    transform: translateX(3px);
}

/* Market research page hooks */
.research-page {
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
    padding: clamp(60px, 8vw, 105px) 0 clamp(90px, 12vw, 150px);
}

.research-page>header {
    max-width: 850px;
    margin-bottom: 58px;
}

.research-page>header h1 {
    margin: 0;
    color: var(--ink);
    font: 600 clamp(37px, 5.5vw, 65px)/1.02 var(--serif);
    letter-spacing: -.04em;
}

.research-page>header p {
    max-width: 64ch;
    color: var(--muted);
    line-height: 1.7;
}

.research-section {
    margin-top: 64px;
}

.research-section>header {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: end;
    margin-bottom: 17px;
}

.research-section h2 {
    margin: 0;
    color: var(--ink);
    font: 600 clamp(24px, 3vw, 34px)/1.1 var(--serif);
}

.research-section>p,
.research-methodology {
    max-width: 72ch;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.7;
}

/* Shared footer */
.site-footer {
    margin-top: clamp(70px, 9vw, 130px);
    color: var(--muted);
    background: var(--desk-deep);
    border-top: 1px solid var(--line);
}

.site-footer__inner {
    display: grid;
    grid-template-columns: minmax(230px, .8fr) minmax(0, 1.4fr);
    gap: clamp(50px, 8vw, 110px);
    padding-top: clamp(48px, 7vw, 80px);
    padding-bottom: 42px;
}

.site-footer__brand>p {
    max-width: 40ch;
    margin: 20px 0 0;
    font-size: 12px;
    line-height: 1.65;
}

.site-footer__brand .site-footer__provenance {
    color: var(--faint);
    font: 500 8px/1.6 var(--mono);
    letter-spacing: .06em;
    text-transform: uppercase;
}

.site-footer__nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}

.site-footer__nav h2 {
    margin: 0 0 16px;
    color: var(--faint);
    font: 700 8px/1 var(--mono);
    letter-spacing: .14em;
    text-transform: uppercase;
}

.site-footer__nav a {
    display: block;
    width: max-content;
    max-width: 100%;
    padding: 5px 0;
    color: var(--ink-soft);
    font-size: 12px;
    text-decoration: none;
}

.site-footer__nav a {
    min-height: 44px;
    display: flex;
    align-items: center;
}

.site-footer__nav a:hover {
    color: var(--orange-soft);
}

.site-footer__nav a span {
    color: var(--orange);
}

.site-footer__copyright {
    margin-top: 0;
    margin-bottom: 0;
    padding: 20px 0 25px;
    color: var(--faint);
    border-top: 1px solid var(--line);
    font: 500 8px/1 var(--mono);
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* Compact utility compatibility for article and legacy content markup. */
.flex {
    display: flex;
}

.inline-flex {
    display: inline-flex;
}

.grid {
    display: grid;
}

.block {
    display: block;
}

.inline-block {
    display: inline-block;
}

.hidden {
    display: none !important;
}

.flex-col {
    flex-direction: column;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-grow {
    flex-grow: 1;
}

.flex-shrink-0,
.shrink-0 {
    flex-shrink: 0;
}

.items-center {
    align-items: center;
}

.items-start {
    align-items: flex-start;
}

.items-end {
    align-items: flex-end;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

.gap-1 {
    gap: .25rem;
}

.gap-1\.5 {
    gap: .375rem;
}

.gap-2 {
    gap: .5rem;
}

.gap-3 {
    gap: .75rem;
}

.gap-4 {
    gap: 1rem;
}

.gap-6 {
    gap: 1.5rem;
}

.gap-8 {
    gap: 2rem;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.sticky {
    position: sticky;
}

.top-0 {
    top: 0;
}

.top-32 {
    top: 8rem;
}

.left-0 {
    left: 0;
}

.right-0 {
    right: 0;
}

.bottom-0 {
    bottom: 0;
}

.w-full {
    width: 100%;
}

.h-full {
    height: 100%;
}

.h-auto {
    height: auto;
}

.max-w-none {
    max-width: none;
}

.max-w-2xl {
    max-width: 42rem;
}

.max-w-4xl {
    max-width: 56rem;
}

.min-w-full {
    min-width: 100%;
}

.overflow-hidden {
    overflow: hidden;
}

.overflow-x-auto {
    overflow-x: auto;
}

.overflow-y-auto {
    overflow-y: auto;
}

.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-xs {
    font-size: .75rem;
}

.text-sm {
    font-size: .875rem;
}

.text-lg {
    font-size: 1.125rem;
}

.text-xl {
    font-size: 1.25rem;
}

.text-2xl {
    font-size: 1.5rem;
}

.text-3xl {
    font-size: 1.875rem;
}

.font-mono {
    font-family: var(--mono);
}

.font-medium {
    font-weight: 500;
}

.font-semibold {
    font-weight: 600;
}

.font-bold,
.font-extrabold {
    font-weight: 700;
}

.italic {
    font-style: italic;
}

.not-italic {
    font-style: normal;
}

.leading-relaxed {
    line-height: 1.7;
}

.tracking-wide {
    letter-spacing: .03em;
}

.tracking-wider {
    letter-spacing: .06em;
}

.tracking-widest {
    letter-spacing: .12em;
}

.uppercase {
    text-transform: uppercase;
}

.text-white,
.text-gray-100,
.text-gray-200 {
    color: var(--ink);
}

.text-gray-300,
.text-gray-400 {
    color: var(--ink-soft);
}

.text-gray-500,
.text-gray-600,
.text-gray-700 {
    color: var(--muted);
}

.text-dirac-purple,
.text-dirac-purple-light,
.text-purple-400,
.text-purple-300 {
    color: var(--orange-soft);
}

.text-green-400,
.text-green-500,
.text-emerald-400 {
    color: var(--green);
}

.text-red-400,
.text-red-500 {
    color: var(--red);
}

.text-amber-400 {
    color: var(--amber);
}

.bg-black,
.bg-midnight,
.bg-midnight-card,
.bg-white\/5,
.bg-white\/[0\.035],
.bg-white\/[0\.025],
.bg-white\/[0\.02] {
    background: var(--desk-deep);
}

.bg-dirac-purple\/5,
.bg-dirac-purple\/10,
.bg-dirac-purple\/20 {
    background: rgba(236, 106, 58, .08);
}

.border {
    border: 1px solid var(--line);
}

.border-t {
    border-top: 1px solid var(--line);
}

.border-b {
    border-bottom: 1px solid var(--line);
}

.border-l {
    border-left: 1px solid var(--line);
}

.border-l-2 {
    border-left: 2px solid var(--orange);
}

.border-border-dim,
.border-white\/10,
.border-white\/5,
.border-dirac-purple\/20,
.border-dirac-purple\/30,
.border-dirac-purple\/40 {
    border-color: var(--line);
}

.rounded {
    border-radius: 3px;
}

.rounded-lg {
    border-radius: var(--radius);
}

.rounded-xl {
    border-radius: var(--radius-lg);
}

.rounded-2xl,
.rounded-3xl {
    border-radius: 14px;
}

.rounded-full {
    border-radius: 999px;
}

.p-3 {
    padding: .75rem;
}

.p-4 {
    padding: 1rem;
}

.p-6 {
    padding: 1.5rem;
}

.p-8 {
    padding: 2rem;
}

.px-3 {
    padding-inline: .75rem;
}

.px-4 {
    padding-inline: 1rem;
}

.px-5 {
    padding-inline: 1.25rem;
}

.px-6 {
    padding-inline: 1.5rem;
}

.py-1 {
    padding-block: .25rem;
}

.py-3 {
    padding-block: .75rem;
}

.py-4 {
    padding-block: 1rem;
}

.m-0 {
    margin: 0;
}

.mx-auto {
    margin-inline: auto;
}

.my-6 {
    margin-block: 1.5rem;
}

.my-8 {
    margin-block: 2rem;
}

.my-10 {
    margin-block: 2.5rem;
}

.my-12 {
    margin-block: 3rem;
}

.my-16 {
    margin-block: 4rem;
}

.mt-1 {
    margin-top: .25rem;
}

.mt-2 {
    margin-top: .5rem;
}

.mt-3 {
    margin-top: .75rem;
}

.mt-4 {
    margin-top: 1rem;
}

.mt-8 {
    margin-top: 2rem;
}

.mt-10 {
    margin-top: 2.5rem;
}

.mt-12 {
    margin-top: 3rem;
}

.mt-14 {
    margin-top: 3.5rem;
}

.mt-16 {
    margin-top: 4rem;
}

.mb-0 {
    margin-bottom: 0;
}

.mb-1 {
    margin-bottom: .25rem;
}

.mb-2 {
    margin-bottom: .5rem;
}

.mb-3 {
    margin-bottom: .75rem;
}

.mb-4 {
    margin-bottom: 1rem;
}

.mb-5 {
    margin-bottom: 1.25rem;
}

.mb-6 {
    margin-bottom: 1.5rem;
}

.mb-8 {
    margin-bottom: 2rem;
}

.mb-10 {
    margin-bottom: 2.5rem;
}

.mb-12 {
    margin-bottom: 3rem;
}

.pl-0 {
    padding-left: 0;
}

.pl-1 {
    padding-left: .25rem;
}

.pl-4 {
    padding-left: 1rem;
}

.pl-5 {
    padding-left: 1.25rem;
}

.pl-16 {
    padding-left: 4rem;
}

.space-y-1>*+* {
    margin-top: .25rem;
}

.space-y-2>*+* {
    margin-top: .5rem;
}

.space-y-3>*+* {
    margin-top: .75rem;
}

.space-y-4>*+* {
    margin-top: 1rem;
}

.space-y-8>*+* {
    margin-top: 2rem;
}

.space-y-12>*+* {
    margin-top: 3rem;
}

.list-none {
    list-style: none;
}

.list-disc {
    list-style: disc;
}

.list-decimal {
    list-style: decimal;
}

.border-collapse {
    border-collapse: collapse;
}

.shadow-xl,
.shadow-2xl {
    box-shadow: var(--shadow);
}

.object-cover {
    object-fit: cover;
}

.cursor-pointer {
    cursor: pointer;
}

.select-none {
    user-select: none;
}

.select-all {
    user-select: all;
}

.aspect-video {
    aspect-ratio: 16 / 9;
}

.aspect-video iframe {
    width: 100%;
    height: 100%;
}

.h-\[180px\] {
    height: 180px;
}

.h-\[300px\] {
    height: 300px;
}

.h-\[400px\] {
    height: 400px;
}

.h-\[500px\] {
    height: 500px;
}

.grid-cols-1 {
    grid-template-columns: 1fr;
}

.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 900px) {
    .site-nav {
        gap: 15px;
    }

    .site-nav a {
        font-size: 8px;
    }

    .docs-layout,
    .post-layout {
        grid-template-columns: 1fr;
    }

    .docs-sidebar {
        position: static;
    }

    .docs-sidebar nav {
        display: flex;
        overflow-x: auto;
        border-bottom: 1px solid var(--line);
    }

    .docs-sidebar a {
        flex: 0 0 auto;
        border-left: 0;
        border-bottom: 2px solid transparent;
    }

    .docs-sidebar a[aria-current='page'] {
        border-bottom-color: var(--orange);
    }

    .post-layout>aside {
        display: none;
    }

    .site-footer__inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {

    .site-width,
    .page-shell,
    .docs-shell,
    .post-shell,
    .research-page {
        width: calc(100% - 32px);
    }

    .site-header {
        min-height: 62px;
        height: auto;
        grid-template-columns: 1fr auto;
        gap: 0 14px;
        padding: 0 16px;
    }

    .wordmark b {
        font-size: 11px;
    }

    .source-link {
        justify-self: end;
    }

    .source-link>span {
        display: inline;
    }

    .nav-toggle {
        position: relative;
        display: none;
        width: 44px;
        height: 44px;
        place-items: center;
        padding: 0;
        color: var(--ink);
        background: transparent;
        border: 1px solid var(--line-strong);
        border-radius: 3px;
        cursor: pointer;
    }

    .nav-toggle i,
    .nav-toggle i::before,
    .nav-toggle i::after {
        display: block;
        width: 14px;
        height: 1px;
        background: currentColor;
        content: '';
        transition: transform 150ms ease, opacity 150ms ease;
    }

    .nav-toggle i::before {
        transform: translateY(-5px);
    }

    .nav-toggle i::after {
        transform: translateY(4px);
    }

    .nav-toggle[aria-expanded='true'] i {
        background: transparent;
    }

    .nav-toggle[aria-expanded='true'] i::before {
        transform: translateY(0) rotate(45deg);
    }

    .nav-toggle[aria-expanded='true'] i::after {
        transform: translateY(-1px) rotate(-45deg);
    }

    .site-nav {
        position: static;
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        width: 100%;
        padding: 4px 0 12px;
        background: var(--desk-deep);
        border-top: 1px solid var(--line);
    }

    .site-nav a {
        min-height: 44px;
        display: flex;
        align-items: center;
        padding: 0 5px;
        border-bottom: 1px solid rgba(245, 236, 216, .08);
        font-size: 9px;
    }

    .has-js .site-header {
        height: 62px;
        min-height: 62px;
        grid-template-columns: 1fr auto auto;
    }

    .has-js .nav-toggle {
        display: grid;
    }

    .has-js .site-nav {
        position: fixed;
        inset: 62px 0 auto;
        display: none;
        width: auto;
        padding: 10px 16px 18px;
        background: rgba(17, 16, 13, .98);
        border-top: 0;
        border-bottom: 1px solid var(--line);
        box-shadow: 0 18px 40px rgba(0, 0, 0, .3);
    }

    .has-js .site-nav.is-open {
        display: grid;
    }

    .page-shell {
        padding-top: 60px;
    }

    .index-grid {
        grid-template-columns: 1fr;
    }

    .index-card {
        min-height: 240px;
    }

    .feature-note {
        grid-template-columns: auto 1fr;
    }

    .feature-note code {
        grid-column: 1 / -1;
        width: 100%;
        max-width: none;
    }

    .manual-contents ol,
    .manual-card-grid,
    .manual-tool-list,
    .grid-cols-2,
    .grid-cols-3 {
        grid-template-columns: 1fr;
    }

    .manual-section h2 {
        font-size: 25px;
    }

    .manual-command-list>div,
    .manual-settings>div {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .docs-article table {
        min-width: 500px;
    }

    .post-header h1 {
        font-size: clamp(37px, 12vw, 53px);
    }

    .site-footer__nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-footer__nav section:last-child {
        grid-column: 1 / -1;
    }

    .research-section>header {
        display: block;
    }

    .contact-directory,
    .recovery-links {
        grid-template-columns: 1fr;
    }

    .contact-route--primary,
    .recovery-link--primary {
        grid-column: auto;
    }

    .contact-route {
        min-height: 220px;
    }

    .report-ledger__header {
        display: block;
    }

    .report-ledger__header h2 {
        margin-top: 9px;
    }

    .report-card {
        min-height: 220px;
        display: block;
        padding: 25px 3px;
    }

    .report-card:hover {
        padding-inline: 12px;
    }

    .report-card h3 {
        margin: 18px 36px 12px 0;
    }

    .report-card__arrow {
        position: absolute;
        top: 47px;
        right: 7px;
    }

}

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

@media (prefers-contrast: more) {
    :root {
        --muted: #b9b0a2;
        --faint: #9d958a;
        --line: rgba(245, 236, 216, .34);
        --line-strong: rgba(245, 236, 216, .55);
    }
}

@media (forced-colors: active) {
    .wordmark-mark {
        forced-color-adjust: none;
    }

    .site-header,
    .site-footer,
    .card,
    .index-card,
    .manual-callout,
    .contact-route,
    .recovery-link {
        border: 1px solid CanvasText;
    }
}