/* Academic web / 1998 UNIX manual; modern semantic markup and responsive layout. */
:root{color-scheme:light;--ink:#242424;--muted:#626262;--rule:#d5d5d5;--paper:#fff;--panel:#f8f8f7;--link:#0645ad;--visited:#551a8b;--mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.68 var(--sans)}a{color:var(--link);text-decoration:underline;text-underline-offset:2px}a:visited{color:var(--visited)}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #a34900;outline-offset:3px}img{max-width:100%;height:auto}.site-wrap{max-width:1500px;padding:0 27px;margin:auto}.masthead{border-bottom:1px solid #989898}.overline{font:11px/1.5 var(--mono);letter-spacing:.04em;text-transform:uppercase;margin:12px 0 20px;color:#555}.overline a{color:inherit;text-decoration:none}.overline .edition{float:right}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px}.brand{font:normal 35px/1.15 var(--serif);color:#202020!important;text-decoration:none}.tagline{font:14px/1.5 var(--serif);color:#646464;margin:7px 0 0}.header-actions{display:flex;gap:11px;align-items:center;font:12px var(--mono);white-space:nowrap}.topnav{display:flex;flex-wrap:wrap;align-items:center;gap:0;border-top:1px solid var(--rule);padding:8px 0}.topnav a{padding:1px 22px 1px 0;font:12px var(--mono);text-decoration:none;color:#333}.topnav a:hover{text-decoration:underline}.layout{display:grid;grid-template-columns:minmax(210px,238px) minmax(0,1fr) minmax(155px,195px);gap:32px;min-height:75vh}.sidebar{border-right:1px solid var(--rule);padding:26px 16px 20px 0}.sidebar-inner{position:sticky;top:15px;max-height:94vh;overflow:auto;padding-bottom:30px;scrollbar-width:thin}.sidebar-caption,.toc-heading{font:700 11px var(--mono);letter-spacing:.06em;color:#555;margin:0 0 10px}.side-index{font-size:12px}.side-group{margin:24px 0}.side-group h2{font:700 12px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.01em;border-bottom:1px solid var(--rule);padding-bottom:6px;margin:0 0 8px}.side-group ul{list-style:none;padding:0;margin:0}.side-group li{line-height:1.35;margin:0 0 9px}.side-group li a{font-size:12px;text-decoration:none}.side-group li a:hover{text-decoration:underline}.side-group a[aria-current="page"]{font-weight:700;color:#141414;border-left:3px solid #666;padding-left:6px;margin-left:-9px}.content{min-width:0;max-width:900px;padding:24px 0 55px}.toc{border-left:1px solid var(--rule);padding:29px 0 0 16px;font-size:11px;line-height:1.5;align-self:start;position:sticky;top:0;max-height:95vh;overflow:auto}.toc ol{list-style:none;padding:0;margin:10px 0}.toc li{margin:0 0 11px}.toc li a{text-decoration:none}.toc li a:hover{text-decoration:underline}.toc-level-3{padding-left:12px}.toc-muted{color:var(--muted);font-size:11px}.breadcrumb{font:11px/1.5 var(--mono);color:#666;margin:0 0 26px;overflow-wrap:anywhere}.content h1{font:normal 34px/1.25 var(--serif);letter-spacing:-.02em;margin:0 0 12px}.content h2{font:normal 26px/1.3 var(--serif);margin:34px 0 11px;padding-bottom:6px;border-bottom:1px solid #d2d2d2}.content h3{font:700 16px/1.45 var(--sans);margin:25px 0 7px}.content p{margin:0 0 16px}.content ul,.content ol{padding-left:24px}.content li{margin-bottom:6px}.lead{font:17px/1.62 var(--serif);color:#525252;max-width:720px}.article-meta{display:flex;flex-wrap:wrap;gap:5px 17px;margin:14px 0 23px;color:#666;font:11px/1.6 var(--mono)}.article-header{border-bottom:1px solid var(--rule);margin-bottom:24px}.prerequisites{font-size:12px;background:#f8f8f6;border:1px solid #e6e6e4;padding:12px;margin:0 0 20px}.article-body{font-size:14px;max-width:78ch}.article-body p{margin-bottom:16px}.article-body strong{font-weight:650}.article-body blockquote{margin:15px 0;border-left:3px solid #888;padding:5px 17px;background:#fafafa}.article-body blockquote p{margin:0}.article-body .anchor{margin-left:9px;color:#bbb;font:11px var(--mono);text-decoration:none}.article-body h2:hover .anchor,.article-body h3:hover .anchor{color:#777}.article-body pre,.code{font:12px/1.6 var(--mono);padding:15px 16px;overflow:auto;background:#f7f7f7;border:1px solid #ddd;border-radius:0;max-width:100%}.article-body code{font:12px var(--mono);overflow-wrap:anywhere;background:#f5f5f5;padding:1px 3px}.article-body pre code{background:transparent;padding:0;overflow-wrap:normal}.article-body table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;font-size:12px;margin:18px 0 24px}.article-body th,.article-body td{border:1px solid #d3d3d3;padding:9px 11px;text-align:left;vertical-align:top;min-width:90px}.article-body th{background:#f3f3f3}.article-body figure{margin:20px 0;padding:11px;border:1px solid #e0e0e0;overflow:auto}.article-body figure img{display:block;margin:auto;max-height:410px}.article-body figcaption{font:12px/1.5 var(--serif);color:#666;margin-top:8px;text-align:center}.citation{font:11px var(--mono)}.references,.related{margin-top:39px}.references ol{font-size:12px;overflow-wrap:anywhere}.references li{padding-bottom:6px}.references small{color:#777}.text-note{background:#fafafa;border-left:3px solid #777;padding:13px 16px;margin:22px 0;font-size:13px}.catalog .category{margin:22px 0 38px}.category h3{border-bottom:1px dotted #999;padding-bottom:6px}.category small{font:12px var(--mono);color:#777}.category p{color:#666;font-size:13px}.chapter-list{list-style:none;padding:0!important;margin:8px 0 22px!important}.chapter-list li{padding:11px 0;border-bottom:1px dotted #ddd;display:flex;flex-direction:column;gap:2px}.chapter-list a{font-weight:600}.chapter-list span{font-size:12px;color:#606060}.quick-search{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:15px 0;margin:25px 0}.quick-search label,#manual-search-form label{display:block;font:12px var(--mono);margin-bottom:8px}.search-inline{display:flex;gap:7px}.search-inline input{min-width:0;flex:1;padding:9px 10px;border:1px solid #bbb;background:#fff;font:13px var(--sans)}.search-inline button{border:1px solid #777;color:#111;background:#eee;padding:7px 13px;cursor:pointer;font:12px var(--mono)}.search-inline button:hover{background:#dedede}.track-section{padding-top:5px}.track-list{list-style:decimal;padding-left:25px!important}.track-item{display:flex;gap:13px;align-items:flex-start;padding:10px 0;border-bottom:1px dotted #ddd}.track-item input{margin:5px 0 0;accent-color:#4c4c4c}.track-item span{display:block}.track-item small{display:block;color:#666;font-size:12px;margin-top:2px}.progress-panel{border:1px solid #d0d0d0;background:#fafafa;padding:14px;margin:20px 0}.progress-info{display:flex;justify-content:space-between;font-size:12px}.progress-bar{height:9px;border:1px solid #999;margin:11px 0;background:white}.progress-bar span{height:100%;background:#555;display:block;width:0}.small{font-size:12px}.muted{color:#676767}.link-button{padding:0;border:0;color:#0645ad;background:none;text-decoration:underline;cursor:pointer;font:inherit}.result-list{list-style:none!important;padding:0!important}.result-list li{border-bottom:1px solid #ddd;padding:13px 0}.result-list a{font-size:16px;font-weight:600}.result-list small{display:block;color:#777}.result-list p{font-size:12px;color:#555}.site-footer{border-top:1px solid #aaa;color:#676767;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start;padding:20px 0 40px;font:11px/1.5 var(--mono)}
.author-signature{display:flex;align-items:flex-start;gap:11px;min-width:0}
.author-signature-photo{display:block;flex:0 0 46px}
.author-signature-photo img{display:block;width:46px;height:46px;object-fit:cover;object-position:center;border-radius:50%;border:1px solid #b9b9b9}
.author-signature-text{display:flex;flex-direction:column;gap:2px;min-width:0;max-width:610px}
.author-signature-label{font:10px/1.4 var(--mono);letter-spacing:.04em;color:#6b6b6b;text-transform:uppercase}
.author-signature-name{font:700 12px/1.45 var(--sans);color:#242424}
.author-signature-role,.author-signature-education{font:11px/1.5 var(--sans);color:#555}
.site-footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;white-space:nowrap}
.site-footer-meta nav{font:11px/1.5 var(--mono)}
@media(max-width:930px){.site-footer{grid-template-columns:1fr;gap:16px}.site-footer-meta{align-items:flex-start;white-space:normal}}
.skip-link{position:absolute;left:-999px;top:10px;z-index:10}.skip-link:focus{left:12px;padding:8px;background:white}.mobile-sidebar{display:none}.language-gateway{max-width:750px;margin:13vh auto;padding:26px;font:17px/1.6 var(--serif)}.language-gateway h1{font:45px var(--serif)}.language-gateway ul{margin-top:25px}
@media (max-width:1100px){.layout{grid-template-columns:205px minmax(0,1fr)}.toc{display:none}.content{max-width:780px}}
@media (max-width:720px){.site-wrap{padding:0 17px}.brand{font-size:29px}.brand-row{align-items:flex-start;flex-direction:column;gap:11px}.header-actions{padding-top:0}.tagline{font-size:12px}.overline{font-size:9px}.edition{display:none}.layout{display:block}.sidebar{padding:10px 0;border-right:0;border-bottom:1px solid var(--rule)}.mobile-sidebar{display:block}.mobile-sidebar summary{font:12px var(--mono);cursor:pointer;padding:4px 0}.mobile-only{padding-top:9px;max-height:48vh;overflow:auto}.desktop-only{display:none}.content{padding-top:25px}.content h1{font-size:31px}.content h2{font-size:24px}.lead{font-size:16px}.topnav a{padding-right:14px;margin:2px 0}.site-footer{grid-template-columns:1fr;gap:16px}.site-footer-meta{align-items:flex-start;white-space:normal}}
@media print{.masthead .header-actions,.topnav,.sidebar,.toc,.quick-search,.skip-link,.progress-panel{display:none!important}.layout{display:block}.site-wrap{max-width:none}.content{max-width:none}.article-body{max-width:none;font-size:11pt}a{color:#111!important}.site-footer{padding-top:10px}h2,h3{break-after:avoid}pre,table,figure{break-inside:avoid}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
