:root{color:#222;font-synthesis:none;--accent:#246b4b;--line:#dedede;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Noto Sans JP,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-size:16px;line-height:1.8}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}a:focus-visible{outline-offset:5px;outline:3px solid #e9b547}header,main,footer{width:min(100% - 3rem,980px);margin:auto}header{border-bottom:2px solid #222;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2rem;padding:2.4rem 0 1.2rem;display:flex}.brand{color:#222;letter-spacing:-.055em;font-size:2rem;font-weight:750;text-decoration:none}nav{flex-wrap:wrap;gap:1.5rem;display:flex}header nav a{color:#333;font-size:1rem;text-decoration:none}main{min-height:55vh;padding:3.5rem 0 5rem}.article,.archive{max-width:760px}h1{letter-spacing:-.025em;overflow-wrap:anywhere;margin:0 0 2rem;font-size:clamp(1.8rem,4vw,2.65rem);line-height:1.45}.eyebrow{color:#666;gap:1.3rem;margin-bottom:1rem;font-size:.875rem;display:flex}.prose{overflow-wrap:anywhere;line-height:2}.prose p{margin:0 0 1.5rem}.prose img{max-width:100%;height:auto}.prose img[src$="/media/pending.svg"]{width:360px;max-width:100%;margin:1.5rem 0;display:block}.prose pre{background:#f3f5f6;padding:1.3rem;font-size:.875rem;line-height:1.7;overflow:auto}.prose code{font-family:ui-monospace,monospace}.prose blockquote{border-left:3px solid var(--accent);color:#444;margin-left:0;padding-left:1.3rem}.prose table{border-collapse:collapse;display:block;overflow:auto}.prose td,.prose th{border:1px solid var(--line);padding:.5rem}.prose h2{font-size:1.5rem}.terms{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.3rem;font-size:.875rem}.entries{padding:0;list-style:none}.entries li{border-bottom:1px solid var(--line);grid-template-columns:7rem 1fr;gap:1.5rem;padding:1.6rem 0;display:grid}.entries time{color:#666;font-size:.875rem}.entries h2{margin:0;font-size:1.3rem;line-height:1.5}.entries p{color:#555;margin:.75rem 0 0}.entries h2 a{text-decoration:none}.pagination{justify-content:space-between;margin:2rem 0}.pagination span{color:#555;font-size:.875rem}aside{border-top:2px solid #222;margin-top:3rem;padding-top:1rem}aside h2{font-size:1rem}.years{flex-wrap:wrap;gap:1rem;display:flex}footer{border-top:1px solid var(--line);flex-wrap:wrap;gap:1.5rem;padding:2rem 0;font-size:.875rem;display:flex}footer span{color:#666;margin-left:auto}.skip{z-index:10;background:#fff;padding:1rem;position:absolute;top:-5rem;left:1rem}.skip:focus{top:0}@media (width<=600px){header,main,footer{width:calc(100% - 2rem)}header{gap:.8rem;padding-top:1.5rem}header nav{gap:1.2rem}main{padding-top:2rem}.entries li{grid-template-columns:1fr;gap:.35rem}footer span{margin-left:0}}.site-header{border:0;width:100%;padding:0;display:block}.header-photo{background:#111;height:320px;position:relative;overflow:hidden}.header-photo>img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.header-photo:after{content:"";pointer-events:none;background:linear-gradient(#0000,#00000080);position:absolute;inset:35% 0 0}.branding{z-index:1;flex-direction:column;justify-content:flex-end;align-items:flex-start;width:min(100% - 3rem,980px);height:100%;margin:auto;padding-bottom:3rem;display:flex;position:relative}.branding .brand{color:#fff;letter-spacing:-.035em;text-shadow:0 1px 4px #000;font-size:2.75rem;font-weight:750;line-height:1.25}.is-home .header-photo{height:calc(100svh - 74px);min-height:420px}.site-description{color:#fff;text-shadow:0 1px 4px #000;margin:.5rem 0 0;font-size:1rem;line-height:1.6}.is-home .header-photo>img{height:100svh;position:fixed}.site-content{background:#fff;position:relative}.navigation-wrap{z-index:2;background:#fff;border-bottom:1px solid #eee;position:relative}.navigation-wrap>nav{align-items:center;gap:2.4rem;width:min(100% - 3rem,980px);min-height:74px;margin:auto;font-weight:650}.navigation-wrap a{padding:1rem 0;display:block}.site-footer{border-top:1px solid #eee;width:100%;padding:2.2rem 0;display:block}.footer-wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;width:min(100% - 3rem,980px);margin:auto;display:flex}.social-navigation ul{gap:16px;margin:0;padding:0;list-style:none;display:flex}.social-navigation a{color:#fff;background:#767676;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.social-navigation svg{fill:currentColor;width:16px;height:16px}.site-credit{color:#666;margin:0;font-size:.875rem}.breadcrumbs{gap:.7rem;margin-bottom:2rem;font-size:.875rem}.project-summary{border-bottom:1px solid #ddd;margin-bottom:2rem;padding:1.5rem 0 2rem}.project-summary h2{margin:.25rem 0}.project-summary p{margin:.5rem 0}.app-reading{letter-spacing:.12em;margin-top:.75rem;font-size:1rem;font-weight:400;display:block}.app-lead{font-size:1.4rem}.policy-link{font-weight:650}@media (width<=600px){.header-photo{height:240px}.is-home .header-photo{height:68svh;min-height:340px}.branding{width:calc(100% - 2rem);padding-bottom:2rem}.branding .brand{font-size:2rem}.navigation-wrap>nav{align-items:flex-start;gap:1.2rem;width:calc(100% - 2rem);min-height:64px;font-size:.9rem}.footer-wrap{width:calc(100% - 2rem)}}.navigation-wrap a:hover,.navigation-wrap a:focus-visible,.prose h2{color:var(--accent)}.research-profile{border-top:2px solid var(--accent);margin-top:3rem;padding-top:1.5rem}.social-navigation a:hover,.social-navigation a:focus-visible{background:var(--accent)}.entries p.read-more{margin-top:1.8em}.entry-summary{min-width:0;display:flow-root}.entry-thumbnail{float:right;width:160px;margin:0 0 1rem 1.25rem;display:block}.entry-thumbnail img{border:1px solid var(--line);background:#fff;border-radius:4px;width:100%;height:auto;display:block}.entry-summary h2,.entry-summary p{overflow-wrap:anywhere}@media (width<=600px){.entry-thumbnail{width:104px;margin-left:.8rem}}@media (width<=360px){.entry-thumbnail{width:80px;margin-left:.6rem}}.navigation-wrap>nav{flex-wrap:nowrap;align-items:center;gap:.9rem}.navigation-wrap nav>a{border-bottom:3px solid #0000;margin-top:2rem;padding:0 .7rem;transition:background-color .15s,color .15s,border-color .15s}.navigation-wrap nav>a:hover,.navigation-wrap nav>a:focus-visible{color:var(--accent);border-bottom-color:var(--accent);background:#edf5ef}.navigation-wrap nav>a.is-active{border-bottom-color:var(--accent)}.navigation-wrap .menu-divider{color:#87988d;user-select:none;flex:none;transform:translateY(1rem)}@media (width<=600px){.navigation-wrap>nav{gap:.35rem}.navigation-wrap nav>a{padding:0 .45rem}}
