:root{--panel:#263f5c;--panel-ink:#e9edf2;--panel-muted:#a8b7c9;--panel-rule:rgba(255, 255, 255, 0.18)}body{margin:0;font-family:Georgia,times new roman,serif;font-size:17px;line-height:1.6;color:#1a1a1a;background:#fff}a{color:#00468c;text-decoration:none}a:hover{text-decoration:underline}.topbar{background:#1c3049;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif;font-size:12px}.topbar-inner{padding:.45em 1em;display:flex;align-items:center;justify-content:space-between}.topbar a{color:#dfe6ee}.topbar a:hover{color:#fff;text-decoration:none}.topbar .brand{font-weight:700;letter-spacing:.12em}.topbar-nav{display:flex;gap:1.4em}.layout{display:flex;max-width:66em;margin:0 auto;min-height:100vh;gap:2.5em}.sidebar{width:230px;flex-shrink:0;box-sizing:border-box;padding:2.5em 1.6em;background:var(--panel);color:var(--panel-ink);font-size:.95em}.side-sticky{position:sticky;top:2em}.content{flex:1;min-width:0;max-width:44em;padding:2.5em 0 3em}.portrait{width:100%;display:block;box-sizing:border-box}.identity .name{margin:.8em 0 0;font-size:1.15em}.identity .name a{color:#fff}.identity .name a:hover{text-decoration:none}.identity .position{font-style:italic;margin:.1em 0 0;color:var(--panel-muted)}.identity .affiliation{margin:.1em 0 0;color:var(--panel-muted);font-size:.92em}.side-nav,.side-links,.side-toc{margin-top:1.4em;padding-top:1em;border-top:1px solid var(--panel-rule)}.side-nav ul,.side-links ul{list-style:none;margin:0;padding:0}.side-nav li,.side-links li{margin:.3em 0}.sidebar a{color:var(--panel-ink)}.sidebar a:hover{color:#fff}.side-heading{margin:0 0 .4em;font-weight:700;font-size:.92em;color:var(--panel-muted)}.side-toc{font-size:.9em}.side-toc nav ul{list-style:none;margin:0;padding-left:0}.side-toc nav ul ul{padding-left:1em}.side-toc nav li{margin:.25em 0}.rail{width:180px;flex-shrink:0;padding:2.5em 0}.rail-box{position:sticky;top:2em}.tree{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif;font-size:13px;line-height:1.4}.tree,.tree ul{list-style:none;margin:0;padding:0}.tree>li{margin:.5em 0}.folder summary{cursor:pointer;font-weight:600;color:#1a1a1a;user-select:none;padding:.1em 0}.folder summary:hover{color:#00468c}.folder ul{padding-left:1.1em;margin:.25em 0 .6em;border-left:1px dotted #ccc}.folder ul li{margin:0}.folder ul li a{display:block;padding:.22em 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree .locked a{font-weight:600;color:#1a1a1a}.tree .locked a:hover{color:#00468c;text-decoration:none}h1{font-size:1.7em;font-weight:400;margin:0 0 .3em}h2{font-size:1.15em;font-weight:700;margin:1.8em 0 .6em;padding-bottom:.25em;border-bottom:1px solid #ddd}.content>section:first-child h2,.content section:first-of-type h2{margin-top:0}p{margin:.6em 0}ul{margin:.6em 0;padding-left:1.4em}li{margin:.25em 0}hr{border:none;border-top:1px solid #ddd;margin:2em 0 1em}.post-list{list-style:none;padding-left:0}.post-list li{padding:.4em 0;margin:0;border-bottom:1px dotted #ddd}.post-list li:last-child{border-bottom:none}.post-list .date{display:inline-block;min-width:7.5em;color:#666;font-size:.92em}.date{color:#666}.pager{margin:2em 0}.pager span{margin:0 1em;color:#666}.post-content pre{background:#f7f7f7;border:1px solid #ddd;padding:.8em 1em;overflow-x:auto;font-size:.85em;line-height:1.45}.post-content code{font-family:Menlo,Consolas,monospace;font-size:.88em}.post-content pre code{font-size:inherit}.post-content blockquote{margin:.8em 0 .8em 1em;padding-left:1em;border-left:3px solid #ddd;color:#555}.post-content img{max-width:100%}.post-content table{border-collapse:collapse;margin:1em 0}.post-content th,.post-content td{border:1px solid #bbb;padding:.35em .7em}.post-content th{background:#f2f2f2}.pdf-embed{margin-top:2em}.photo-grid{columns:240px;column-gap:1.2em;margin-top:1.5em}.photo-grid figure{margin:0 0 1.4em;break-inside:avoid}.photo-grid img{width:100%;height:auto;display:block}.photo-grid figcaption{margin-top:.35em;font-size:.85em;color:#666}.colophon{color:#666;font-size:.9em}.identity .email{margin:.45em 0 0;font-size:.8em;letter-spacing:-.01em;word-break:break-all}.identity .email a{color:#e4ecf5}.identity .email a:hover{color:#fff}.error-page{padding-top:2em}.error-page .error-code{font-size:6em;line-height:1;margin:0;color:#ddd}.error-page h1{margin-top:.2em}@media(max-width:900px){.rail{display:none}}@media(max-width:700px){.layout{flex-direction:column;gap:0;min-height:0}.sidebar{width:100%;padding:1.5em}.side-sticky{position:static}.portrait{width:140px}.side-toc{display:none}.content{max-width:none;padding:1.5em}}