:root{--paper:#f6f3eb;--ink:#302f29;--muted:#6e6a60;--line:#d9d4c7;--accent:#83533e;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--small:12px;--body:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;background:var(--paper);color:var(--ink);font:var(--body)/1.6 var(--sans)}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #83533e;outline-offset:5px}button{cursor:pointer}h1,h2,h3{text-wrap:balance;font-weight:400}p{text-wrap:pretty}header,main,footer{max-width:1280px;margin:auto}header{padding:29px 56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font:19px var(--serif)}.monogram{font:italic 32px var(--serif);letter-spacing:-3px;margin-right:5px}nav{display:flex;gap:30px;font-size:13px}nav .active{border-bottom:1px solid var(--ink)}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.skip{position:fixed;left:20px;top:-100px;z-index:10;background:var(--paper);padding:10px}.skip:focus{top:10px}.eyebrow,.catalog-label,.book-series,.book-number,.book-imprint,.book-caption,.chapter-kicker{font:12px/1.5 var(--sans);letter-spacing:1.3px;text-transform:uppercase}.eyebrow{color:var(--accent)}.library-intro{padding:75px 56px 64px;position:relative}.library-intro .eyebrow{margin-bottom:24px}h1{font:clamp(48px,5.9vw,76px)/1.07 var(--serif);letter-spacing:-2.7px;margin:0 0 25px}h1 em{color:var(--accent);font-weight:400}.lede{font:18px/1.7 var(--sans);color:var(--muted);max-width:620px}.editor-note{position:absolute;right:66px;bottom:77px;display:flex;align-items:center;gap:20px;font:italic 17px/1.6 var(--serif);color:var(--muted)}.asterisk{font-size:55px;color:#9b8a58}.collection,.field-notes{padding:35px 56px 60px}.collection-top{display:flex;justify-content:space-between;align-items:end;gap:20px}.collection-top h2{font:34px/1.2 var(--serif);letter-spacing:-.8px;margin:10px 0 0}.catalog-label{color:var(--muted);font-size:11px;letter-spacing:.8px}.library-controls{border-top:1px solid var(--line);margin-top:26px;padding-top:15px}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{font-size:12px;padding:7px 12px;border:1px solid transparent;background:none;color:var(--muted);border-radius:20px}.filters button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}.book-search{display:flex;align-items:center;gap:12px;margin-top:15px;border-bottom:1px solid var(--line);padding:12px 0;color:var(--muted)}input{background:transparent;border:0;border-radius:0;color:var(--ink);min-width:0}.book-search input{flex:1;font-size:14px;outline:none}.book-search:focus-within{border-color:var(--accent)}.search-hint{font:italic 13px var(--serif)}.bookshelf{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 66px;padding:42px 20px 30px}.book-item{min-width:0}.book{position:relative;display:flex;flex-direction:column;width:100%;aspect-ratio:.7;padding:25px 26px 23px 31px;background:var(--cover);color:var(--cover-ink);border-radius:2px 5px 5px 2px;box-shadow:2px 2px 0 #c9bfae,4px 4px 0 #e1dacc,6px 6px 0 #c7bfae,8px 10px 12px #30271920,15px 20px 27px #30271914;transition:transform .25s,box-shadow .25s;isolation:isolate}.book:before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(90deg,#0002,transparent 3%,#fff2 4%,#0001 5%,transparent 8%),repeating-linear-gradient(0deg,#fff0 0px,#fff0 2px,#00000004 3px,#fff0 4px);z-index:-1}.book:after{content:'';position:absolute;inset:12px 12px 12px 18px;border:1px solid currentColor;opacity:.16;pointer-events:none}.book:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:2px 2px 0 #c9bfae,4px 4px 0 #e1dacc,6px 6px 0 #c7bfae,10px 17px 20px #30271925,20px 30px 35px #30271918}.rust{--cover:#a34e36;--cover-ink:#fff1d7}.olive{--cover:#d7d8ba;--cover-ink:#394431}.blue{--cover:#3d586b;--cover-ink:#f5e8cf}.ochre{--cover:#d8b66d;--cover-ink:#4e3b27}.plum{--cover:#655063;--cover-ink:#f4e6cf}.forest{--cover:#36554c;--cover-ink:#f2e7cc}.book-series{font-size:9px;letter-spacing:1.4px}.book-number{font-size:10px;margin-top:21px;opacity:.85}.book h3{font:clamp(25px,2.6vw,36px)/1.08 var(--serif);letter-spacing:-1px;margin:10px 0 0;min-height:2.16em}.art{background-image:url('assets/cover-illustrations.png');background-size:300% 200%;background-repeat:no-repeat}.art-0{background-position:0% 0%}.art-1{background-position:50% 0%}.art-2{background-position:100% 0%}.art-3{background-position:0% 100%}.art-4{background-position:50% 100%}.art-5{background-position:100% 100%}.cover-art{display:block;width:65%;aspect-ratio:1;margin:18px auto 15px;border-radius:50%;mix-blend-mode:luminosity;opacity:.95}.book-subtitle{font:italic 14px/1.5 var(--serif);text-align:center;max-width:22ch;align-self:center;margin-top:auto}.book-imprint{text-align:center;font-size:8px;letter-spacing:1.6px;border-top:1px solid #ffffff40;padding-top:12px;margin-top:18px}.book-caption{display:flex;justify-content:space-between;gap:12px;margin:20px 0 0;font-size:9px;letter-spacing:.7px;color:var(--muted)}.book-caption span:last-child{text-transform:none;letter-spacing:0}.catalog-footnote{font:italic 14px/1.6 var(--serif);color:var(--muted);margin-top:10px}.catalog-footnote span{margin-right:10px}.featured{margin:15px 56px 60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0;display:grid;grid-template-columns:120px 1fr 230px;gap:25px;align-items:center}.chapter-number{font:64px var(--serif);color:#b0a68e}.featured h2{font:36px/1.15 var(--serif);letter-spacing:-1px;margin:0 0 18px}.featured p:not(.eyebrow){max-width:450px;font-size:14px;color:var(--muted)}.text-link{display:inline-block;font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:4px;margin-top:14px}.text-link span{margin-left:20px}.feature-sketch{width:220px;aspect-ratio:1;mix-blend-mode:multiply}.section-description{color:var(--muted);font-size:14px}.pattern-search{display:block;border-bottom:1px solid var(--line);padding:12px 0;margin:20px 0 12px}.pattern-search input{width:100%;font-size:14px;outline:none}.pattern-search:focus-within{border-color:var(--accent)}.pattern-list{display:grid;grid-template-columns:1fr 1fr;column-gap:45px}.card{display:grid;grid-template-columns:1fr auto;text-align:left;border:0;border-top:1px solid var(--line);padding:21px 0;background:none;color:var(--ink);width:100%}.card .eyebrow{grid-column:1;font-size:10px;margin:0 0 9px}.card h3{font:23px/1.2 var(--serif);margin:0 0 8px;grid-column:1}.card p{font-size:13px;color:var(--muted);margin:0;grid-column:1}.card .arrow{grid-column:2;grid-row:2;font-size:0;margin-left:15px}.card .arrow:after{content:'↗';font-size:18px}.card:hover h3{color:var(--accent)}.newsletter{text-align:center;border-top:1px solid var(--line);padding:60px 25px 75px}.newsletter h2{font:48px/1.1 var(--serif);letter-spacing:-1.4px;margin:20px 0}.newsletter p{color:var(--muted);font-size:14px}footer{display:flex;justify-content:space-between;align-items:center;padding:28px 56px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}dialog{max-width:680px;width:calc(100% - 32px);max-height:85vh;border:1px solid var(--line);background:var(--paper);padding:45px;color:var(--ink)}dialog::backdrop{background:#24241f80}dialog h2{font:36px/1.1 var(--serif);margin:20px 0}dialog h3{font:23px var(--serif);margin:28px 0 8px}dialog p{color:var(--muted)}#close{position:absolute;right:15px;top:12px;background:none;border:0;padding:8px}.detail-status{font-size:12px}::selection{background:#dfcfaa;color:#302f29}
/* The reading room */
.reader-header{max-width:none;padding-inline:40px}.reading-layout{display:grid;grid-template-columns:230px minmax(0,1fr);max-width:1260px;margin:auto}.contents{padding:45px 26px 40px 40px;border-right:1px solid var(--line);position:sticky;top:0;height:100vh;overflow:auto}.contents .eyebrow{font-size:10px}.contents a{display:block;font-size:13px;line-height:1.5;padding:12px 0;color:var(--muted);border-bottom:1px solid var(--line)}.contents a:hover,.contents a.current{color:var(--accent)}.contents small{display:block;margin:25px 0;color:var(--muted);font-size:12px}.reading-main{padding:56px 70px 90px;max-width:890px}.reading-main h1{font-size:60px}.reader-deck{font:21px/1.5 var(--serif);color:var(--muted);max-width:44ch}.reader-meta{font-size:12px;color:var(--muted);padding:20px 0;border-bottom:1px solid var(--line)}.chapter{padding-top:42px;max-width:65ch;scroll-margin-top:30px}.chapter h2{font:34px/1.15 var(--serif);letter-spacing:-.7px;margin:10px 0 24px}.chapter h3{font:25px/1.2 var(--serif);margin:30px 0 15px}.chapter p,.chapter li{font-size:17px;line-height:1.75}.chapter li{margin-bottom:10px}.chapter ul,.chapter ol{padding-left:23px}.chapter a{text-decoration:underline;text-underline-offset:3px}.callout{border-left:3px solid #909971;background:#eaeadd;padding:20px 24px;margin:28px 0}.callout p{margin:0;font-size:16px}.callout strong{display:block;margin-bottom:7px}.chapter pre{background:#eae7de;border:1px solid var(--line);padding:22px;overflow:auto;font:13px/1.7 ui-monospace,monospace;white-space:pre;tab-size:2}.chapter code{font-family:ui-monospace,monospace;font-size:.82em}.chapter table{width:100%;border-collapse:collapse;font-size:14px;margin:24px 0}.chapter th,.chapter td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:top}.chapter th{font-weight:600}.reader-pagination{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;margin-top:50px;font-size:13px}.outline-status{padding:15px 20px;background:#eaeadd;font-size:14px}.table-scroll{overflow-x:auto}.reading-main .art{width:140px;aspect-ratio:1;mix-blend-mode:multiply;float:right;margin:0 0 20px 25px}.checklist label{display:flex;gap:12px;align-items:baseline;padding:10px 0;font-size:16px}.checklist input{accent-color:var(--accent)}
@media(min-width:1300px){.book{min-height:425px}}@media(max-width:1000px){.bookshelf{gap:40px}.editor-note{display:none}.featured{grid-template-columns:80px 1fr 160px}.feature-sketch{width:160px}.book-series{font-size:8px}.reading-main{padding:45px 40px}.reader-header nav{gap:15px}}@media(max-width:760px){header{padding:20px 24px}.brand{font-size:17px}nav{gap:16px;font-size:12px}nav a:nth-child(2){display:none}.library-intro{padding:50px 24px 35px}h1{font-size:54px;letter-spacing:-2px}.lede{font-size:16px}.collection,.field-notes{padding:30px 24px 40px}.collection-top{align-items:start;flex-direction:column;gap:12px}.bookshelf{grid-template-columns:repeat(2,1fr);gap:35px 30px;padding:30px 3px}.book{padding:20px 20px 18px 25px}.book h3{font-size:30px}.book-number{margin-top:15px}.cover-art{margin:12px auto}.book-subtitle{font-size:13px}.book-caption{font-size:9px;flex-direction:column;gap:3px}.book-imprint{font-size:7px}.search-hint{display:none}.featured{margin:10px 24px 30px;grid-template-columns:1fr 120px;gap:15px}.feature-label{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.chapter-number{font-size:36px}.feature-label .eyebrow{margin:0}.featured h2{font-size:30px}.feature-sketch{width:120px}.pattern-list{grid-template-columns:1fr}.newsletter h2{font-size:42px}footer{padding:25px 24px;flex-wrap:wrap;gap:20px}footer>span{order:3;width:100%}.reading-layout{display:block}.contents{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:25px}.contents nav{display:flex;overflow:auto;gap:20px}.contents a{flex:0 0 160px;font-size:12px}.contents small{margin:10px 0 0}.reading-main{padding:35px 25px 60px}.reading-main h1{font-size:46px}.reader-header{padding:18px 25px}.reader-header nav a{display:none}.reader-header nav a:last-child{display:block}.chapter p,.chapter li{font-size:16px}.chapter h2{font-size:30px}.reading-main .art{width:90px}}
@media(max-width:420px){.book h3{font-size:25px}.book{padding:17px 17px 16px 22px}.book-series{font-size:7px;letter-spacing:.7px}.book-number{font-size:9px;margin-top:12px}.book-subtitle{font-size:12px}.book-imprint{font-size:6px;letter-spacing:1px;padding-top:8px;margin-top:10px}.cover-art{width:60%;margin:10px auto}.bookshelf{gap:32px 22px}.featured{grid-template-columns:1fr}.feature-sketch{display:none}nav{gap:12px}.brand{font-size:15px}.library-intro h1{font-size:46px}.filters{gap:3px}.filters button{padding:6px 9px}.reader-meta{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.book{transition:none}.book:hover{transform:none}}
.book-item:nth-child(3n+1) .book{rotate:-1.1deg}.book-item:nth-child(3n+2) .book{rotate:1deg}.book-item:nth-child(3n) .book{rotate:-.4deg}.book:focus-visible{rotate:0deg}.reading-layout{background:#faf7ef;box-shadow:inset 7px 0 10px #3c302508,inset -4px 0 0 #ded6c5}.contents h2{font:25px/1.2 var(--serif);margin:15px 0 25px}.filters button{min-height:44px}.book-caption{font-size:11px}.book-series{font-size:10px}.book-imprint{font-size:9px}.reader-header nav a{min-height:44px;display:flex;align-items:center}@media(max-width:600px){input{font-size:16px!important}.book-series{font-size:8px}.book-imprint{font-size:7px}.book-caption{font-size:10px}}@media(prefers-reduced-motion:reduce){.book-item .book{rotate:0deg}}@media print{header,footer,.contents,.reader-pagination,.skip{display:none}.reading-layout{display:block;box-shadow:none;background:white}.reading-main{max-width:none;padding:0}.chapter{break-inside:auto}.chapter pre{white-space:pre-wrap}.chapter{padding-top:20px}body{background:white;color:black}}
.contents nav{display:block}.contents nav a{display:block}@media(max-width:760px){.contents nav{display:flex}.contents nav a{display:block}}

/* A quiet, book-first library. */
.library-page header{padding-block:22px}
.library-page main{width:100%;flex:1}
.library-page{min-height:100vh;display:flex;flex-direction:column}
.library-page .collection{padding-top:30px;padding-bottom:50px}
.shelf-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.shelf-heading h1{font:30px/1.2 var(--serif);letter-spacing:-.6px;margin:0}
.shelf-heading .book-search{margin:0;padding:7px 0;width:230px}
.library-page .bookshelf{padding-top:32px}
.library-page .book h3{margin-top:12px;min-height:2.16em}
.library-page .cover-art{width:76%;margin:24px auto}
.library-page .book-subtitle{margin-bottom:20px}
.library-page .book-caption{justify-content:flex-end;font-size:12px}
.library-page footer{width:100%;padding-block:22px}
@media(max-width:760px){.library-page .collection{padding-top:24px}.shelf-heading h1{font-size:26px}.shelf-heading .book-search{width:160px}.library-page .bookshelf{padding-top:28px}.library-page .cover-art{margin:16px auto}.library-page .book-subtitle{margin-bottom:8px}.library-page footer>span{order:0;width:auto}.library-page nav a{display:block}}

.library-page header{width:100%;gap:24px}.library-page header .brand{flex-shrink:0}
/* Field-guide tools use the same paper and ink as the reader. */
.reader-tools{display:flex;flex-wrap:wrap;align-items:center;gap:18px;font-size:12px;padding:15px 0;border-bottom:1px solid var(--line)}.reader-tools button,.text-button{border:0;border-bottom:1px solid var(--accent);background:none;color:var(--accent);padding:8px 0;font-size:13px}.reader-tools span{color:var(--muted)}.editorial-note{font-size:13px;color:var(--muted)}.contents input{width:100%;border-bottom:1px solid var(--line);padding:10px 0;font-size:13px}.contents a[hidden]{display:none}.workbench{padding:24px 0;border-block:1px solid var(--line);margin-top:30px}.workbench h2{font:28px/1.2 var(--serif);margin:10px 0}.workbench p{font-size:14px}.budget-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.budget-fields label{font-size:12px}.budget-fields input{display:block;width:100%;border:1px solid var(--line);padding:10px;margin-top:6px;background:var(--paper);font-size:17px}.workbench output{display:block;font:20px/1.5 var(--serif);color:var(--accent)}.failure-notes{border-block:1px solid var(--line);margin:26px 0;padding:18px 0}.failure-notes summary{cursor:pointer;font:20px var(--serif)}.exercise{min-width:0;border:1px solid var(--line);padding:20px;margin:32px 0}.exercise legend{font:italic 22px var(--serif);padding:0 10px}.exercise button{display:block;width:100%;text-align:left;padding:12px;margin:10px 0;background:transparent;border:1px solid var(--line);color:var(--ink);font-size:14px}.exercise button[aria-pressed=true]{border-color:var(--accent);background:#eee5d5}.exercise .exercise-feedback{font-size:14px;color:var(--accent)}.chapter-sources{border-top:1px solid var(--line);margin-top:32px;padding-top:8px}.chapter-sources h3{font-size:21px}.chapter-sources li{font-size:14px}.chapter-sources li p{font-size:13px;color:var(--muted);margin-top:5px}.checklist input{flex-shrink:0;min-width:16px;min-height:16px}.text-button+span{margin-left:12px;font-size:12px}@media(max-width:500px){.budget-fields{grid-template-columns:1fr}.reader-tools{gap:12px}.exercise{padding:15px}}@media print{.reader-tools,.workbench,.exercise,.text-button{display:none}.chapter-sources a:after{content:' (' attr(href) ')';font-size:10px;overflow-wrap:anywhere}.failure-notes{display:block}.chapter-sources{break-inside:avoid}}
