:root{color-scheme:dark;--paper:#11171c;--ink:#e5e8e8;--muted:#9caab4;--blue:#8ebdff;--line:#2b3944;--mono:"IBM Plex Mono",ui-monospace,monospace;--serif:"Libre Baskerville",Georgia,serif;--header:68px;--sidebar-bg:#0d1216;--surface:#141e27;--header-bg:#16212bf5;--prose:#c0c9cf;--grid:#8ebdff09;--faint:#8ebdff0d;--fill:#8ebdff33;--soft:#8ebdff66}
/* Keep serif text at its designed spacing so adjacent strokes do not overlap. */
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 28px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif)}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}a:focus-visible{outline:2px solid var(--blue);outline-offset:5px}::selection{background:#8ebdff;color:#11171c}.eyebrow,.figure-meta,.caption,.sidebar,.reading-header,.manual-footer,.read-link{font-family:var(--mono)}.eyebrow{font-size:10px;letter-spacing:.1em;line-height:1.7}.blue{color:var(--blue)}.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-180%);z-index:10;background:var(--blue);color:var(--paper);padding:14px}.skip-link:focus{transform:none}
.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--sidebar-bg);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:32px 24px;z-index:4}.wordmark{font-size:26px;font-weight:700;letter-spacing:-2px}.wordmark span{font-size:10px;color:var(--muted);letter-spacing:.08em}.sidebar-body{margin-top:76px}.sidebar-body>.eyebrow{color:var(--muted);font-size:9px}.sidebar-title{font-family:var(--serif);font-size:23px;letter-spacing:normal}.side-note{font-size:11px;line-height:1.9;color:var(--muted);margin-bottom:34px}.sidebar nav{display:grid;gap:8px}.sidebar nav a{display:flex;align-items:baseline;gap:12px;margin:0 -12px;padding:14px 12px;font-size:10px;line-height:1.6;border-left:2px solid transparent}.sidebar nav a span{color:var(--muted)}.sidebar nav a:hover,.sidebar nav a[aria-current="location"]{background:#17232e;border-left-color:var(--blue);color:var(--blue)}.sidebar-foot{margin-top:auto;padding-top:30px;font-size:10px;color:var(--muted)}.sidebar-foot a{display:block;padding:10px 0}.sidebar-foot .eyebrow{border-top:1px solid var(--line);padding-top:20px;color:var(--blue)}.page-body{margin-left:248px;min-width:0}
.cover{min-height:calc(100svh - var(--header));padding:30px 5% 22px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;background:radial-gradient(ellipse at 85% 50%,#1a2a393d,transparent 65%)}.cover-meta,.cover-bottom{display:flex;justify-content:space-between;gap:20px;color:var(--muted)}.edition{color:var(--blue)}.cover-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center;padding:24px 0}.cover-copy h1{font-size:clamp(42px,5.1vw,82px);font-weight:400;letter-spacing:normal;line-height:1.12;margin:25px 0}.title-dot{color:var(--blue)}.cover-deck{font-size:clamp(18px,1.8vw,25px);line-height:1.55;max-width:28ch}.cover-description{color:var(--muted);font-size:13px;line-height:1.95;max-width:39ch}.read-link{display:inline-flex;align-items:center;gap:45px;border-bottom:1px solid var(--blue);padding:18px 0 12px;margin-top:10px;color:var(--blue);font-size:11px}.read-link span{font-size:22px}.cover-plate{min-width:0;padding:18px 12px;background:radial-gradient(circle,#8ebdff22 .6px,transparent .9px) 0 0/8px 8px;border:1px solid var(--line)}.plate-note{text-align:center;color:var(--muted);font-size:8px}.cover-bottom{font-size:9px}.reading-header{position:sticky;top:0;z-index:3;height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 5%;border-block:1px solid #3c5060;background:var(--header-bg);backdrop-filter:blur(16px);font-size:11px}.reading-header nav{display:flex;gap:26px}.header-edition{color:var(--muted);font-size:9px;letter-spacing:.1em}.header-title{white-space:nowrap}
main{max-width:1320px;margin:auto;padding:0 6%}.chapter{padding:76px 0;border-bottom:1px solid var(--line)}.chapter-heading{margin-bottom:38px}h2{font-size:clamp(27px,3vw,43px);font-weight:400;line-height:1.3;letter-spacing:normal;margin:16px 0}.intro-grid,.two-column{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}.large-copy{font-size:25px;line-height:1.65;margin:0;letter-spacing:normal}.prose p{font-size:14px;line-height:1.95;margin:0 0 22px;color:var(--prose)}.prose .large-copy{font-size:24px;line-height:1.6;color:var(--ink)}.system-flow{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-top:35px;background:var(--surface)}.system-flow>div{padding:24px;border-right:1px solid var(--line)}.system-flow>div:last-child{border:0}.system-flow span{color:var(--blue);font-size:9px}.system-flow p{margin:12px 0 0;font-size:22px}.prose .margin-note{font:10px/1.9 var(--mono);color:var(--blue);border-left:2px solid var(--blue);padding:12px 0 12px 18px}.section-intro{max-width:64ch;font-size:15px;line-height:1.9;color:var(--prose);margin-bottom:32px}.section-empty{max-width:64ch;font-size:14px;line-height:1.9;color:var(--muted);border-left:2px solid var(--line);padding:14px 0 14px 18px;margin:0}.figure-plate{margin:0}.figure-meta{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin-bottom:12px}.plate-surface{background:linear-gradient(var(--grid) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/24px 24px,var(--surface);border:1px solid var(--line);padding:20px}.compact{aspect-ratio:1.45;display:grid;align-items:center}.caption{font-size:10px;line-height:1.9;color:var(--muted);margin:16px 0 0;max-width:56ch}.diagram{width:100%;height:auto;display:block}.diagram .line{fill:none;stroke:var(--blue);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.diagram .thick{stroke-width:2}.diagram .soft{stroke:var(--soft);stroke-width:1}.diagram .dash{stroke-dasharray:5 7}.diagram .fill-faint{fill:var(--faint)}.diagram .fill-blue{fill:var(--fill)}.diagram .fill-paper{fill:var(--paper)}.paper-grid{fill:transparent;stroke:#8ebdff12}.svg-label{fill:var(--blue);font:12px var(--mono)}.manual-footer{display:flex;justify-content:space-between;gap:20px;padding:32px 0;color:var(--muted);font-size:10px}
@media(min-width:1600px){.cover-grid{max-width:1320px;width:100%;margin:auto}.cover-copy h1{font-size:88px}}
@media(max-width:1100px){.sidebar{width:210px;padding:24px 18px}.page-body{margin-left:210px}.cover-grid{gap:16px;grid-template-columns:1.1fr 1fr}.cover-copy h1{font-size:48px}.header-edition{display:none}.intro-grid,.two-column{gap:30px}.system-flow>div{padding:16px}.sidebar nav a{font-size:9px}}
@media(max-width:800px){.sidebar{position:relative;inset:auto;width:100%;padding:16px 5%;border-right:0;border-bottom:1px solid var(--line)}.sidebar-body{margin:0}.sidebar-body>p,.sidebar-foot{display:none}.sidebar nav{display:flex;flex-wrap:wrap;gap:0 18px;margin-top:12px}.sidebar nav a{margin:0;padding:8px 0;font-size:10px;border-left:0;border-bottom:1px solid transparent}.sidebar nav a:hover,.sidebar nav a[aria-current="location"]{border-bottom-color:var(--blue);background:transparent}.page-body{margin:0}.cover{min-height:calc(100svh - 205px);padding-top:24px}.cover-copy h1{font-size:clamp(38px,7vw,60px)}.cover-deck{font-size:18px}.cover-description{font-size:12px}.cover-meta{font-size:8px}.reading-header{font-size:10px}.reading-header nav{gap:20px}.chapter{padding:52px 0}.large-copy{font-size:23px}}
@media(max-width:540px){:root{--header:62px}.cover{gap:24px}.cover-grid{grid-template-columns:1fr;padding:0}.cover-copy h1{font-size:clamp(42px,11vw,60px);margin:18px 0}.cover-description{max-width:40ch}.cover-plate{max-width:360px;width:100%;margin:12px auto 0}.cover-plate .diagram{max-height:270px}.cover-meta{flex-wrap:wrap;gap:6px}.cover-bottom{font-size:8px;gap:12px}.header-title{font-size:0}.header-title .blue{font-size:10px}.intro-grid,.two-column{grid-template-columns:1fr;gap:26px}.system-flow{grid-template-columns:1fr 1fr}.system-flow>div:nth-child(2){border-right:0}.system-flow>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.chapter-heading{margin-bottom:26px}.manual-footer{flex-direction:column;font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Reader controls and reserved sidebar column. */
:root[data-theme="light"]{color-scheme:light;--paper:#fbfaf4;--ink:#20282e;--muted:#596772;--blue:#235cb0;--line:#cbd3d7;--sidebar-bg:#f0f0e9;--surface:#f1f4f5;--header-bg:#f0f3f3f5;--prose:#43525c;--grid:#235cb00d;--faint:#235cb010;--fill:#235cb030;--soft:#235cb070}
button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.page-body{margin-left:0}.cover{min-height:calc(100svh - var(--header))}.header-start{display:flex;align-items:center;gap:18px}.icon-button{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line);background:transparent;color:var(--blue)}.icon-button:hover{background:var(--surface)}.hamburger{display:grid;gap:5px;width:18px}.hamburger span{height:1px;background:currentColor}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);height:100dvh;padding:28px 24px;z-index:5;border-right:1px solid var(--line);border-bottom:0;overflow-y:auto;transform:translateX(-100%);visibility:hidden;transition:none;box-shadow:none}.sidebar.is-open{transform:translateX(0);visibility:visible}.sidebar-close{position:absolute;right:16px;top:20px;font-size:24px}.sidebar .wordmark{margin-top:8px;width:fit-content}.sidebar-body{margin-top:60px}.sidebar-body>p,.sidebar-foot{display:block}.sidebar nav{display:grid;gap:8px;margin-top:0}.sidebar nav a{margin:0 -12px;padding:14px 12px;border-left:2px solid transparent;border-bottom:0;font-size:11px}.sidebar nav a:hover,.sidebar nav a[aria-current="location"]{background:var(--surface);border-left-color:var(--blue)}.sidebar-foot{padding-top:24px}.theme-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;margin:8px 0;border:0;background:transparent;font:11px var(--mono);color:var(--ink)}.switch-track{width:40px;height:24px;padding:3px;border:1px solid var(--muted);border-radius:20px;background:var(--surface)}.switch-thumb{display:block;width:16px;height:16px;background:var(--muted);border-radius:50%;transition:transform .18s}.theme-toggle[aria-checked="true"] .switch-track{background:var(--blue);border-color:var(--blue)}.theme-toggle[aria-checked="true"] .switch-thumb{background:var(--paper);transform:translateX(16px)}
@media(max-width:540px){.reading-header{gap:10px}.header-start{gap:10px}.reading-header nav{gap:14px}}
@media(prefers-reduced-motion:reduce){.sidebar,.switch-thumb{transition:none}}

.night-manual{--sidebar-width:280px}.sidebar-open .page-body{margin-left:var(--sidebar-width)}.page-body{container-type:inline-size}.reading-header .theme-toggle{width:auto;min-height:44px;margin:0 0 0 auto;gap:10px;flex-shrink:0}.switch-track{flex-shrink:0}.reading-header{gap:16px}.reading-header nav{margin-left:auto}
@media(max-width:1100px){.night-manual{--sidebar-width:230px}}
@media(max-width:700px){.night-manual{--sidebar-width:160px}.sidebar{padding:22px 14px}.sidebar .wordmark{font-size:23px}.sidebar .wordmark span{display:none}.sidebar-close{right:10px;top:16px}.sidebar-body{margin-top:44px}.sidebar-title{font-size:20px}.sidebar nav a{font-size:10px;gap:8px;margin:0;padding:12px 0}.sidebar-body>.eyebrow{font-size:8px}.side-note{font-size:10px}}
@media(max-width:440px){.night-manual{--sidebar-width:128px}.sidebar{padding:20px 10px}.sidebar-close{width:36px;height:36px}.sidebar .side-note{display:none}.sidebar nav a{display:grid;gap:4px}.sidebar-foot{font-size:9px}}
@container(max-width:850px){.cover-grid{grid-template-columns:1fr}.cover-copy h1{font-size:clamp(32px,8cqi,60px)}.cover-plate{max-width:420px;width:100%;margin:auto}.intro-grid,.two-column{grid-template-columns:1fr}.header-title{font-size:0}.header-title .blue{font-size:10px}.reading-header .theme-toggle>span:first-child{display:none}}
@container(max-width:400px){.reading-header{padding-inline:12px;gap:8px}.header-start{gap:8px}.header-title{display:none}.reading-header nav{gap:10px;font-size:9px}.cover-meta,.cover-bottom{flex-wrap:wrap}.figure-meta{flex-wrap:wrap}.system-flow{grid-template-columns:1fr 1fr}.system-flow>div:nth-child(2){border-right:0}.system-flow>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.manual-footer{flex-direction:column}.cover-copy h1{font-size:clamp(25px,10cqi,42px)}h2{font-size:clamp(22px,8cqi,30px)}.large-copy,.prose .large-copy{font-size:20px}.prose p{font-size:13px}.system-flow>div{padding:12px}.system-flow span{font-size:8px}.system-flow p{font-size:18px}.plate-surface{padding:8px}}
@container(max-width:280px){.reading-header nav{display:none}.cover-description{font-size:11px}.cover-deck{font-size:16px}.read-link{gap:18px;font-size:10px}.chapter{padding:36px 0}.system-flow{grid-template-columns:1fr}.system-flow>div{border-right:0;border-bottom:1px solid var(--line)}}

.project-grid,.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}.project-card{display:block;min-width:0}.project-card h3{font-size:22px;font-weight:400;line-height:1.5}.project-card:hover .plate-surface{border-color:var(--blue)}.project-card .diagram{max-height:230px}.field-note{border-top:1px solid var(--line);padding:24px 0}.field-note summary{cursor:pointer;position:relative;padding-right:28px}.field-note summary::marker{color:var(--blue)}.field-note h3{font-size:24px;font-weight:400;margin:12px 0}.field-note summary p{color:var(--muted);font-size:13px;line-height:1.7}.note-content{max-width:68ch;padding-top:24px}.library-toolbar{display:flex;flex-wrap:wrap;gap:8px}.library-toolbar button{min-height:44px;border:1px solid var(--line);background:var(--surface);padding:10px 16px;font:11px var(--mono)}.library-toolbar button[aria-pressed="true"]{background:var(--blue);color:var(--paper);border-color:var(--blue)}.library-count{color:var(--muted);margin:20px 0}.library-item{min-width:0}.library-item[hidden]{display:none}.library-item .compact{aspect-ratio:1.3}.library-item .diagram{max-height:260px}.drawing-recipe{margin-top:16px;font:10px/1.8 var(--mono);color:var(--muted)}.drawing-recipe summary{cursor:pointer;min-height:36px}.drawing-recipe pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);padding:14px;border:1px solid var(--line);color:var(--blue)}summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
@container(max-width:1000px){.project-grid,.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:620px){.project-grid,.library-grid{grid-template-columns:1fr}.field-note h3{font-size:21px}}

/* Anchor navigation focuses sections without drawing a frame around them. */
.chapter:focus{outline:none}
/* Discrete patterns use solid cells without non-scaling outline noise. */
.diagram .life-cell{fill:var(--blue)}.diagram .life-empty{fill:var(--faint);stroke:var(--line);stroke-width:.5}.diagram .fractal-cell{fill:var(--blue);fill-opacity:.72}

/* Antonio Andara: personal content on the Field Manual's existing visual system. */
.personal-cover .cover-description{max-width:48ch;font-size:14px}.personal-cover .cover-copy h1{font-size:clamp(52px,6vw,88px)}.personal-cover .cover-deck{font-size:clamp(18px,1.8vw,25px);max-width:32ch}.work-feature{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;margin-top:42px;border-top:1px solid var(--line);padding-top:42px}.work-feature h3{font-size:30px;line-height:1.3;font-weight:400;letter-spacing:normal;margin:16px 0 24px}.work-feature .figure-plate .diagram{max-height:340px}.text-links{display:flex;gap:24px;flex-wrap:wrap;font:11px/1.9 var(--mono);color:var(--blue);margin:24px 0 0}.text-links a{padding:10px 0;border-bottom:1px solid var(--line)}.experiment-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.profile-links{display:grid;margin-top:26px}.profile-links>a{display:flex;gap:20px;border-top:1px solid var(--line);padding:18px 0}.profile-links h3{font-family:var(--mono);font-size:14px;font-weight:500;margin:0 0 8px}.profile-links p{font-family:var(--mono);font-size:11px;margin:0}.profile-links>a>span{padding-top:3px}.video-link .plate-surface{transition:border-color .15s}.video-link:hover .plate-surface{border-color:var(--blue)}.site-footer{margin:0 6%;padding-bottom:32px}.sidebar-body{margin-top:44px}.sidebar nav{gap:2px}.sidebar nav a{padding-block:11px}.sidebar-foot{padding-top:16px}.sidebar-foot .eyebrow{font-size:9px}.library-page .cover{min-height:auto}.library-page .cover-grid{padding-block:32px}.library-page .cover-plate{max-width:320px;margin-inline:auto}.library-page .personal-cover .cover-copy h1{font-size:clamp(42px,5vw,70px)}
@container(max-width:850px){.work-feature{grid-template-columns:1fr;gap:28px}.work-feature .figure-plate{max-width:480px;width:100%;margin:auto}.personal-cover .cover-copy h1{font-size:clamp(36px,10cqi,72px)}}
@container(max-width:620px){.experiment-grid{grid-template-columns:1fr}.site-footer{gap:18px}.personal-cover .cover-description{font-size:13px}.profile-links>a{gap:12px}}
@media(max-height:760px){.sidebar-body{margin-top:28px}.sidebar .side-note{display:none}.sidebar nav a{padding-block:8px}}
@media(prefers-reduced-motion:reduce){.video-link .plate-surface{transition:none}}

/* MarkdownBook project preview */
/* The processor drawing needs its full height and room for its labels. */
.plate-surface.compact:has(> .processor-stack){aspect-ratio:auto}
.work-feature .figure-plate .processor-stack{max-height:none}

.lms-feature{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:40px;align-items:center}
.lms-project-copy h3{font-size:clamp(24px,3vw,36px);line-height:1.4;margin:14px 0 22px}
.lms-project-copy>p{color:var(--prose);line-height:1.85}
.lms-project-tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0;font:10px/1.6 var(--mono)}
.lms-project-tags span{padding:5px 8px;border:1px solid var(--line)}
.lms-project-preview{display:block;min-width:0;border:1px solid var(--line);background:var(--surface);text-decoration:none;color:var(--ink)}
.lms-preview-bar{display:flex;justify-content:space-between;gap:12px;padding:13px 16px;font:10px/1.6 var(--mono);border-bottom:1px solid var(--line)}
.lms-project-preview img{width:100%;height:auto;display:block}
.lms-project-preview p{padding:14px 18px;margin:0;font:11px/1.8 var(--mono);color:var(--muted)}
.lms-project-preview:hover{border-color:var(--blue)}
@media(max-width:1000px){.lms-feature{grid-template-columns:1fr;gap:24px}}
