/* SSDC — plain editorial site, no frameworks or remote style dependencies. */
:root { color-scheme: light; }
* { box-sizing: border-box; }
html { scroll-behavior: auto; }
body { color: #111; background: #fff; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 18px; line-height: 1.65; }
a, a:visited { color: #111; text-decoration: underline; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 2px solid #111; outline-offset: 3px; }
.site-header, .site-footer { padding: 18px max(22px, calc((100% - 980px) / 2)); }
.site-header { border-bottom: 1px solid #333; }
.brand { font: bold 1.05rem/1.3 Arial, Helvetica, sans-serif; letter-spacing: 0.045em; text-decoration: none; display: inline-block; margin-bottom: 12px; }
.site-nav, .site-footer nav { display: flex; gap: 10px 22px; flex-wrap: wrap; font: 0.82rem/1.5 Arial, Helvetica, sans-serif; }
.site-nav a[aria-current="page"] { font-weight: 700; text-decoration-thickness: 2px; }
main { width: min(860px, calc(100% - 44px)); margin: 0 auto; padding: 46px 0 100px; }
article { max-width: 760px; }
article > h1:first-child { margin-top: 0; font-size: clamp(2.3rem, 6vw, 4.4rem); line-height: 1.1; letter-spacing: -0.028em; }
h1, h2, h3, h4 { line-height: 1.19; }
h1 { font-size: clamp(2.2rem, 5vw, 3.5rem); margin: 1.5em 0 .4em; }
h2 { font-size: clamp(1.6rem, 3.5vw, 2.3rem); margin: 2.35em 0 .52em; }
h3 { font-size: 1.34rem; margin: 1.7em 0 .4em; }
h4 { font-size: 1.09rem; margin: 1.4em 0 .35em; }
p { margin: .75em 0 1.15em; }
strong { font-weight: 700; }
blockquote { margin: 1.55em 0 1.75em; border-left: 3px solid #111; padding: .07em 0 .07em 18px; }
blockquote p { margin: .45em 0; }
ul, ol { padding-left: 1.5em; }
li { margin-bottom: .4em; }
hr { border: 0; border-top: 1px solid #333; margin: 3.5em 0; }
small, .eyebrow, .updated { font: .83rem/1.55 Arial, Helvetica, sans-serif; }
.eyebrow { text-transform: uppercase; font-weight: bold; letter-spacing: .09em; margin-bottom: 18px; }
.dek { font-size: 1.2rem; line-height: 1.52; }
.link-line { font-family: Arial, Helvetica, sans-serif; font-size: .93rem; margin-top: 1.8em; }
.link-line a { margin-right: 20px; display: inline-block; margin-bottom: 10px; }
.toc { padding: 18px 20px; border: 1px solid #999; margin: 2.4em 0 3em; }
.toc strong { font: bold .85rem Arial, Helvetica, sans-serif; }
.toc ol { columns: 2; column-gap: 30px; padding-left: 1.3em; font: .83rem/1.6 Arial, Helvetica, sans-serif; margin-bottom: 0; }
.toc li { break-inside: avoid; }
.reading-note { font-size: .92rem; border-top: 1px solid #888; border-bottom: 1px solid #888; padding: 14px 0; margin: 20px 0; }
.site-footer { border-top: 1px solid #333; }
.site-footer p { margin: .8em 0 1em; font-size: .86rem; }
.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; font-size: .9rem; }
th, td { text-align: left; border-bottom: 1px solid #999; padding: 10px 12px 10px 0; vertical-align: top; }
th { border-bottom: 2px solid #111; }
.skip-link { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip-link:focus { position:static; width:auto; height:auto; display:block; padding:10px; }
@media (max-width: 650px) { body { font-size: 17px; } main { padding: 30px 0 72px; } .toc ol { columns: 1; } .site-nav { gap: 8px 15px; } }
@media print { .site-nav, .toc, .skip-link { display: none; } body { font-size: 12pt; } a { color: black; } main { padding: 0; } }

.book-section { padding: 2em 0 6em; border-bottom: 2px solid #111; }
.book-section:last-child { border-bottom: 0; }
.single-nav { display: flex; flex-wrap: wrap; gap: 12px 22px; font: .85rem Arial, sans-serif; }

/* Homepage terms and evidence: compact, unobtrusive, no external assets. */
.ssdc-popover { display:inline; position:relative; white-space:normal; }
.ssdc-pop-trigger { display:inline; padding:0; border:0; border-bottom:1px dotted currentColor; margin:0; background:none; color:inherit; font:inherit; cursor:help; vertical-align:baseline; text-align:inherit; }
.ssdc-pop-trigger:hover { border-bottom-style:solid; }
.ssdc-pop-trigger:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.ssdc-pop-panel { display:none; position:fixed; z-index:200; left:14px; top:14px; width:380px; max-width:calc(100vw - 28px); max-height:min(68vh,570px); overflow-y:auto; overscroll-behavior:contain; color:#111; background:#fff; border:1px solid #111; box-shadow:3px 4px 0 #ddd; padding:20px 21px 19px; font:.88rem/1.5 Arial,Helvetica,sans-serif; text-align:left; font-weight:400; letter-spacing:normal; text-transform:none; }
.ssdc-popover.is-open > .ssdc-pop-panel, .ssdc-popover:focus-within > .ssdc-pop-panel { display:block; }
@media (hover:hover) and (pointer:fine) { .ssdc-popover:not(.ssdc-suppress-hover):hover > .ssdc-pop-panel { display:block; } }
.ssdc-pop-eyebrow { display:block; font-size:.67rem; text-transform:uppercase; letter-spacing:.10em; color:#555; font-weight:bold; margin:0 0 7px; }
.ssdc-pop-title { display:block; font:700 1.05rem/1.25 Georgia,'Times New Roman',serif; margin:0 0 10px; }
.ssdc-pop-definition { display:block; margin:0 0 12px; line-height:1.5; }
.ssdc-pop-sources { display:block; margin:10px 0 0; }
.ssdc-pop-source { display:block; border-top:1px solid #eee; padding:10px 0 0; margin:0 0 6px; }
.ssdc-pop-source a { color:#111; font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.ssdc-source-description { display:block; color:#333; margin-top:3px; line-height:1.42; }
.ssdc-pop-note { display:block; border-top:1px solid #ccc; padding-top:9px; color:#555; font-size:.78rem; margin:8px 0 0; }
#page-index > p:first-of-type { font-size:1.05em; }
#page-index ul { margin:0.5em 0 1.3em; }
#page-index li { margin-bottom:.55em; }
@media (max-width:650px) { .ssdc-pop-panel { width:min(340px,calc(100vw - 28px)); padding:16px 17px; max-height:65vh; font-size:.83rem; } }
@media print { .ssdc-pop-panel { display:none!important; } .ssdc-pop-trigger { border-bottom:0; } }

/* Shared editorial page styles. */




/* About page: compact editorial lists. */
#page-ssdc .ssdc-about-capabilities { columns: 2; column-gap: 2.7em; }
#page-ssdc .ssdc-about-capabilities li { break-inside: avoid; }
#page-ssdc .ssdc-about-recursion li { margin-bottom: .4em; }
@media (max-width:650px) { #page-ssdc .ssdc-about-capabilities { columns: 1; } }

/* Roadmap page: readable phases. */
#page-roadmap .ssdc-roadmap-phases li { margin-bottom: .8em; }

.ssdc-contact-nostr { overflow-wrap:anywhere; word-break:break-word; }
