@import url('https://fonts.googleapis.com/css2?family=Alegreya:wght@500;700&family=IBM+Plex+Mono:wght@400;600&display=swap');
:root{--paper:#e9e1cf;--ink:#24332e;--leaf:#315f50;--rust:#b85c3c;--line:#b8ad96}*{box-sizing:border-box}body{margin:0;background:#cfc4ae;color:var(--ink);font:17px/1.65 Alegreya,serif;background-image:repeating-linear-gradient(0deg,transparent 0,transparent 31px,rgba(49,95,80,.1) 32px)}a{color:inherit}.fnx-cap{display:flex;justify-content:space-between;padding:14px 4vw;background:var(--ink);color:var(--paper);font:600 13px 'IBM Plex Mono';letter-spacing:.08em}.fnx-cap a{text-decoration:none}.fnx-book{max-width:1200px;margin:34px auto;display:grid;grid-template-columns:230px 1fr;align-items:start}.fnx-index{position:sticky;top:25px;display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--leaf);color:#fff;box-shadow:9px 9px 0 var(--rust);font-family:'IBM Plex Mono'}.fnx-index a:last-child{margin-top:20px;padding:12px;background:var(--paper);color:var(--ink);text-decoration:none}.fnx-pages{background:var(--paper);padding:36px 50px;box-shadow:0 12px 40px #665c4a66}.fnx-cover{min-height:520px;display:flex;flex-direction:column;justify-content:flex-end;border:2px solid var(--ink);padding:42px;background:linear-gradient(115deg,transparent 55%,rgba(49,95,80,.12) 55%)}h1,h2{line-height:1.05}h1{font-size:clamp(44px,7vw,82px);margin:12px 0 20px}h2{font-size:clamp(30px,4vw,48px);margin:8px 0 18px}.fnx-code,.fnx-date{font:600 13px 'IBM Plex Mono';letter-spacing:.12em;color:var(--rust)}.fnx-cover>a,.fnx-entry>a,.fnx-faq>a{display:inline-flex;align-items:center;min-height:46px;width:max-content;padding:0 18px;background:var(--leaf);color:#fff;text-decoration:none;font-family:'IBM Plex Mono'}.fnx-entry{padding:48px 4px;border-bottom:1px solid var(--line)}.fnx-specimens{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.fnx-specimens section{padding:18px;border:1px solid var(--line);background:#f3edde}.fnx-specimens span{font-family:'IBM Plex Mono';color:var(--rust)}.fnx-dark{margin-inline:-50px;padding-inline:50px;background:var(--ink);color:var(--paper)}.fnx-dark .fnx-date{color:#e19b77}.fnx-entry dl div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px dotted var(--line)}.fnx-entry dt,.fnx-entry dd{margin:0}.fnx-faq details{padding:13px 0;border-bottom:1px dotted var(--line)}.fnx-faq summary{cursor:pointer;font-family:'IBM Plex Mono';font-weight:600}.fnx-author{margin:32px 0;padding:24px;border:2px solid var(--rust);transform:rotate(-.3deg)}.fnx-foot{padding:30px;text-align:center;background:var(--ink);color:var(--paper);font-family:'IBM Plex Mono'}@media(max-width:780px){.fnx-cap span{display:none}.fnx-book{display:block;margin:0}.fnx-index{position:static;box-shadow:none}.fnx-pages{padding:22px}.fnx-cover{min-height:560px;padding:22px}.fnx-dark{margin-inline:-22px;padding-inline:22px}.fnx-specimens{grid-template-columns:1fr}}

/* batch identity: provider-fieldnotes / pf560 */
body.pf560{--batch-bg:#e9e1cf;--batch-accent:#315f50;--batch-accent-2:#b85c3c;background-color:#e9e1cf}
body.pf560::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.045;background:repeating-linear-gradient(63deg,transparent 0,transparent 9px,#315f50 10px,transparent 11px)}
.pf560-focus{max-width:72ch;padding:14px 16px;border-left:3px solid #315f50;background:color-mix(in srgb,#e9e1cf 70%,#315f50 12%);line-height:1.6}
.pf560-extra,.pf560-faq-extra{max-width:1160px;margin:24px auto;padding:24px;border:1px solid #315f50;background:#e9e1cf}
.pf560-action-dock{display:flex;flex-wrap:wrap;gap:10px;max-width:1160px;margin:24px auto;padding:18px;background:#e9e1cf}
.pf560-action-dock a{display:inline-flex;min-height:46px;align-items:center;padding:0 18px;background:#315f50;color:#e9e1cf;text-decoration:none;font-weight:700}
@media(max-width:640px){.pf560-action-dock{margin:14px 10px}.pf560-action-dock a{width:100%;justify-content:center}}
